「テキスト」という単語の垂直位置を中央に調整するにはどうすればいいですか?

「テキスト」という単語の垂直位置を中央に調整するにはどうすればいいですか?
\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. どこでも繰り返すのではなく\smallsmall先頭に追加します。また、\smallスイッチはコマンドではないので、 はありません{}

  2. >{$}c<{$}列 2 から 4 は主に数値データなので、列仕様として を追加して数式モードにするのが最適です。

  3. 同じ列ヘッダーQgc [MVar]が 3 回繰り返されるので、これで\multicolumn{3}{c}{Qgc [MVar]}十分です。

  4. 垂直線をすべて削除して使用すると、booktabs読みやすさがさらに向上します。

  5. this here 指定子を強制するのではなく、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個々のセルからディレクティブを削除します)。

3 番目に、環境のコンテンツを小さくする場合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

2 番目の表は、ヘッダーで改行を可能にするためにを使用して、他の列が別のタイプでなければならないケースを扱っています (この場合は小数点揃えで、パッケージSの列の正しい符号は「-100」であることに注意してくださいsiunitx) 。\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}

関連情報