es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Centrar un elemento en una tabla LaTeX con ancho de columna fijo.

Estoy teniendo algunos problemas con las tablas de LaTeX. En particular, tengo el siguiente código:

\begin{table}[ht]
    \centering
    \setlength{\tabcolsep}{2pt}
    \renewcommand{\arraystretch}{1.5}
    \begin{tabular}{|p{0.15\textwidth}>{\centering}p{0.15\textwidth}>{\centering}p{0.15\textwidth}>{\centering}p{0.15\textwidth}>{\centering}p{0.15\textwidth}p{0.15\textwidth}|}
        \hline
         & \textbf{Virtual Reality Experience} & \textbf{First Person Experience} & \textbf{Multimedia Presentation Experience} & \multicolumn{2}{c|}{\textbf{Full sample}} \\ 
         \hline
         & \textit{n} & \textit{n} & \textit{n} & \textit{n} & \textit{\%} \\
         \hline
         \textbf{Gender} &&&&& \\
         Female & 12 & 10 & 18 & 40 & 52.6 \\
         Male & 10 & 13 & 13 & 36 & 47.4 \\
         \hline
         \textbf{Educational level} &&&&& \\
         High School & 8 & 5 & 6 & 19 & 25.0 \\
         Bachelor's Degree & 13 & 9 & 19 & 41 & 53.9 \\
         Master's Degree & 1 & 8 & 6 & 15 & 19.7 \\
         PhD & 0 & 1 & 0 & 1 & 1.3 \\
         \hline \hline
         \textbf{Age} &&&&& \\
         Mean & 23.6 & 24.6 & 24 & \multicolumn{2}{c|}{24.1} \\
         Median & 23.6 & 24.6 & 24 & \multicolumn{2}{c|}{24.1} \\
         \hline
    \end{tabular}
    \caption{Información demográfica de los participantes}
    \label{tab:demographic}
\end{table}

Este código me da la siguiente salida:

generated table

Me gustaría centrar también la última columna (usando, como en las otras columnas, >{\centering}). Sin embargo, cuando intento hacerlo, tengo muchos errores:

  • Misplaced \noalign – Has utilizado un comando \hline en el lugar equivocado, probablemente fuera de una tabla. Si el comando \hline está escrito dentro de una tabla, intenta incluir \\ antes de él (en el tercer \hline).
  • Extra alignment tab has been changed to \cr – Has escrito demasiadas pestañas de alineación en una tabla, lo que causa que una de ellas se convierta en un salto de línea. Asegúrate de haber especificado el número correcto de columnas en tu tabla (en la línea \textbf{Gender}).
  • LaTeX Error: There’s no line here to end – Has utilizado un comando \\ o \newline donde LaTeX no lo esperaba. Asegúrate de que solo uses saltos de línea después de bloques de texto, y ten cuidado al usar saltos de línea dentro de listas y otros entornos (en la línea \textbf{Gender}).

¿Alguien podría ayudarme? La tabla es mucho más bonita si logro centrar también la última columna.

Tags:  

Answer

  1. Avatar for davy.ai

    Para centrar la última columna de la tabla, debes usar el comando \multicolumn{1}{c}{...} en lugar de \multicolumn{2}{c|}{...}. El código modificado se verá así:

    \begin{table}[ht]
        \centering
        \setlength{\tabcolsep}{2pt}
        \renewcommand{\arraystretch}{1.5}
        \begin{tabular}{|p{0.15\textwidth}|>{\centering}p{0.15\textwidth}|>{\centering}p{0.15\textwidth}|>{\centering}p{0.15\textwidth}|>{\centering}p{0.15\textwidth}|>{\centering\arraybackslash}p{0.15\textwidth}|}
            \hline
             & \textbf{Experiencia de realidad virtual} & \textbf{Experiencia de primera persona} & \textbf{Experiencia de presentación multimedia} & \multicolumn{1}{c|}{\textbf{Muestra completa}} &  \\ 
             \hline
             & \textit{n} & \textit{n} & \textit{n} & \textit{n} & \textit{\%} \\
             \hline
             \textbf{Género} &&&&& \\
             Femenino & 12 & 10 & 18 & 40 & 52.6 \\
             Masculino & 10 & 13 & 13 & 36 & 47.4 \\
             \hline
             \textbf{Nivel educativo} &&&&& \\
             Escuela secundaria & 8 & 5 & 6 & 19 & 25.0 \\
             Licenciatura & 13 & 9 & 19 & 41 & 53.9 \\
             Maestría & 1 & 8 & 6 & 15 & 19.7 \\
             Doctorado & 0 & 1 & 0 & 1 & 1.3 \\
             \hline \hline
             \textbf{Edad} &&&&& \\
             Media & 23.6 & 24.6 & 24 & \multicolumn{1}{c|}{24.1} & \\
             Mediana & 23.6 & 24.6 & 24 & \multicolumn{1}{c|}{24.1} & \\
             \hline
        \end{tabular}
        \caption{Información demográfica de los participantes}
        \label{tab:demographic}
    \end{table}
    

    Como puedes ver, la especificación de la última columna ha cambiado a >{\centering\arraybackslash}p{0.15\textwidth} y el comando \multicolumn ha cambiado a \multicolumn{1}{c|}{...}.

    Después de las modificaciones, la tabla se verá así:

    tabla modificada

Comments are closed.