Как отрегулировать вертикальное положение слова «Текст» по центру?

Как отрегулировать вертикальное положение слова «Текст» по центру?
\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}

решение1

Просто несколько заметок на вашем столе:

  1. Вместо того, чтобы повторять \smallвезде, просто добавьте smallв начале. Также \smallпереключатель не является командой, у него нет {}.

  2. Столбцы 2–4 в основном содержат числовые данные, поэтому лучше всего перевести их в математический режим, добавив >{$}c<{$}в качестве спецификации столбца.

  3. Один и тот же заголовок столбца Qgc [MVar]повторяется три раза, поэтому этого \multicolumn{3}{c}{Qgc [MVar]}будет достаточно.

  4. Удаление всех вертикальных линий и использование booktabsможет еще больше улучшить читабельность.

  5. Лучше оставить LaTeX решать, где лучше разместить таблицу, вместо того, чтобы заставлять этот [h]спецификатор здесь. Однако при окончательной редакции вы можете переместить часть кода таблицы вверх или вниз в тексте, чтобы изменить положение, в котором она появляется.

.

\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}

введите описание изображения здесь

решение2

Предварительный комментарий: Вы \smallнеправильно используете директиву: она...нетпринимает аргумент. Следовательно, внутри ячейки таблицы \small{Qgc}делает то же самое, что и \small Qgc. Лучше сократить беспорядок в коде, не так ли?

Во-вторых, поскольку содержимое каждой отдельной ячейки среды tabularдолжно отображаться в \small, предпочтительнее просто выдать \smallдирективудозапуск tabularсреды (и удаление \smallдиректив из отдельных ячеек).

В-третьих, если вы собираетесь сделать содержимое среды tabularменьше, хорошей идеей, с точки зрения типографики, будет \captionтакже сделать меньше связанный с ним материал. Простой способ добиться этого — загрузить пакет captionи выдать соответствующую \captionsetupдирективу непосредственно перед \captionоператором.

Также не забудьте набирать отрицательные числа в математическом режиме, чтобы создавать типографски приемлемые -знаки («минус» математического режима), а не простые тире.

Последнее (и, возможно, наименее важное, на мой взгляд), используйте \multirowинструкцию (предоставляемую пакетом multirow) для вертикального центрирования надписи «Текст».

введите описание изображения здесь

\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}

решение3

Решение без многострочных и многостолбцовых функций, но со mстолбцами.

Вторая таблица рассматривает случай, когда другие столбцы должны быть другого типа (с выравниванием по десятичному знаку в этом случае, обратите внимание на правильный знак «-100» в столбцах Sпакета siunitx) с использованием a \parboxдля разрешения переносов строк в заголовках.

Обратите внимание, что в этом случае ширина столбца может быть обусловлена ​​шириной \parboxили пространством, зарезервированным для цифр до/после десятичной точки (случай примера).

мве

\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}

решение4

Переместитесь Textв положение с помощью \raiseboxили используйте \makecellразмещение по умолчанию (вертикальное/горизонтальное cмежду):

введите описание изображения здесь

\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}

Связанный контент