¿Cómo ajustar la posición vertical de la palabra "Texto" al centro?

¿Cómo ajustar la posición vertical de la palabra "Texto" al centro?
\begin{table}[h]
\centering
\caption{My Caption}
\label{my-label}\smallskip
\begin{tabular}{c|c c c}
\small{Text} & \small{Qgc} & \small{Qgc} & \small{Qgc}  \\  & \small{{[}MVar{]}} & \small{{[}MVar{]}} & \small{{[}MVar{]}}  \\ \hline
\small{A}           & \small{-100}                        & \small{100.00}                  & \small{100}                         \\
\small{B}           & \small{-100}                        & \small{100}                     & \small{100}                         \\
\small{C}           & \small{-100}                        & \small{100}                     & \small{100}                         \\
\end{tabular}
\end{table}

Respuesta1

Sólo algunas notas sobre tu mesa:

  1. En lugar de repetir \smallen todas partes, simplemente agréguelo smallal principio. Además, \smalles un interruptor, no un comando, no tiene {}.

  2. Las columnas 2 a 4 son principalmente datos numéricos, por lo que es mejor ponerlas en modo matemático agregando >{$}c<{$}como especificación de columna.

  3. El mismo encabezado de columna Qgc [MVar]se repite tres veces, por lo que \multicolumn{3}{c}{Qgc [MVar]}será suficiente.

  4. Eliminar todas las reglas verticales y usarlas booktabspuede mejorar aún más la legibilidad.

  5. Es mejor dejar que LaTeX decida el mejor lugar para colocar su mesa en lugar de forzar este [h]especificador aquí. Sin embargo, en una revisión final, puede mover la parte del código de la tabla hacia arriba o hacia abajo en el texto para cambiar la posición donde aparece la tabla.

.

\documentclass{article}
\usepackage{booktabs}

\begin{document}

\begin{table}[htbp]
\small\centering
\caption{My Caption}
\label{my-label}
\begin{tabular}{@{}c *3{>{$}c<{$}}@{}}
\toprule
Text     & \multicolumn{3}{c}{Qgc [MVar]}   \\ \cmidrule(r){1-1} \cmidrule(l){2-4}
A        & -100       & 100.00      & 100   \\
B        & -100       & 100         & 100   \\
C        & -100       & 100         & 100   \\ \bottomrule
\end{tabular}
\end{table}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Un comentario desde el principio: no estás utilizando la \smalldirectiva correctamente: sínotomar un argumento. Por lo tanto, dentro de una celda de la tabla, \small{Qgc}hace lo mismo que \small Qgc. Es mejor reducir el desorden de códigos, ¿verdad?

En segundo lugar, dado que se supone que el contenido de cada celda del tabularentorno se representa en \small, es preferible simplemente emitir una \smalldirectiva.antesiniciar el tabularentorno (y eliminar las \smalldirectivas de las células individuales).

En tercer lugar, si va a reducir el tamaño del contenido del tabularentorno, es una buena idea, hablando tipográficamente, reducir \captiontambién el material asociado. Una manera fácil de lograr esto es cargar el captionpaquete y emitir una \captionsetupdirectiva adecuada inmediatamente antes de la \captiondeclaración.

También recuerde escribir números negativos en el modo matemático para generar -signos tipográficamente apropiados (modo matemático "menos"), en lugar de simples guiones.

Por último (y posiblemente lo menos, en mi opinión), utilice una \multirowdeclaración (proporcionada por el multirowpaquete) para centrar la etiqueta "Texto" verticalmente.

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{multirow}
\usepackage[skip=0.333\baselineskip]{caption}
\begin{document}

\begin{table}[h]
\centering

\caption{Original version}
\label{version:one}
\begin{tabular}{c|c c c}
\small{Text} & \small{Qgc} & \small{Qgc} & \small{Qgc}  \\  
             & \small{{[}MVar{]}} & \small{{[}MVar{]}} & \small{{[}MVar{]}}  \\ 
\hline
\small{A}           & \small{-100}     & \small{100.00}    & \small{100}   \\
\small{B}           & \small{-100}     & \small{100}       & \small{100}   \\
\small{C}           & \small{-100}     & \small{100}       & \small{100}   \\
\end{tabular}

\bigskip

\captionsetup{font=small}
\caption{Modified Version}
\label{version:two}
\small
\begin{tabular}{c|c c c}
\multirow{2}{*}{Text} &   Qgc  &   Qgc  &   Qgc   \\  
                      & [MVar] & [MVar] & [MVar]  \\ 
\hline
A       & $-100$  & 100.00  & 100  \\
B       & $-100$  & 100     & 100  \\
C       & $-100$  & 100     & 100  \\
\end{tabular}
\end{table}
\end{document}

Respuesta3

Una solución sin multifilas ni multicolumnas pero con mcolumnas.

La segunda tabla trata el caso de que otras columnas deben ser de otro tipo (con alineación decimal en este caso, fíjate en el signo correcto en "-100" con las Scolumnas del siunitxpaquete) usando a \parboxpara permitir saltos de línea en los encabezados.

Tenga en cuenta también que en este caso el ancho de la columna podría deberse al \parboxancho o al espacio reservado para los dígitos antes/después del punto decimal (caso del ejemplo).

mwe

\documentclass{article}
\usepackage{array,siunitx,booktabs}
\newcolumntype{T}{>{\centering\arraybackslash}m{3em}}
\newcolumntype{U}{S[table-format=4.2]}
\setlength{\belowcaptionskip}{1em}
\begin{document}
\begin{table}
\centering
\caption{My Caption}
\label{my-label}
\small
\begin{tabular}{TTTT}\toprule
Text & Qgc [MVar] & Qgc [MVar] & Qgc [MVar] \\\midrule
A & -100 & 100.00 & 100\\
B & -100 & 100    & 100\\
C & -100 & 100    & 100\\\bottomrule
\end{tabular}
\caption{My Caption}
\begin{tabular}{TUUU}\toprule
Text & 
\parbox{3em}{\centering Qgc [MVar]} &
\parbox{3em}{\centering Qgc [MVar]} &
\parbox{3em}{\centering Qgc [MVar]}\\\midrule
A & -100 & 100.00 & 100\\
B & -100 & 10    & 100\\
C & -100 & 1.0    & 100\\\bottomrule
\end{tabular}
\end{table}
\end{document}

Respuesta4

Muévase Texta su posición con \raiseboxo use \makecellla ubicación predeterminada de ( centre vertical/horizontal):

ingrese la descripción de la imagen aquí

\documentclass{article}

\usepackage{booktabs,makecell}

\begin{document}

\begin{table}
  \centering
  \begin{tabular}{c c c c}
    \toprule
    \raisebox{-.5\normalbaselineskip}[0pt][0pt]{Text} 
            &   Qgc  &   Qgc  &   Qgc  \\  
            & [MVar] & [MVar] & [MVar] \\ 
    \midrule
    A       & $-100$  & 100.00  & 100  \\
    B       & $-100$  & 100     & 100  \\
    C       & $-100$  & 100     & 100  \\
    \bottomrule
  \end{tabular}

  \bigskip

  \begin{tabular}{c c c c}
    \toprule
    Text    & \makecell{Qgc \\{}[MVar]} & \makecell{Qgc \\{}[MVar]} & \makecell{Qgc \\{}[MVar]} \\
    \midrule
    A       & $-100$  & 100.00  & 100  \\
    B       & $-100$  & 100     & 100  \\
    C       & $-100$  & 100     & 100  \\
    \bottomrule
  \end{tabular}

\end{table}

\end{document}

información relacionada