如何將“Text”一詞的垂直位置調整到中心?

如何將“Text”一詞的垂直位置調整到中心?
\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

第二個表處理其他列必須是另一種類型的情況(在這種情況下採用小數對齊,請注意包S中列的“-100”中的正確符號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}

相關內容