
\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
テーブルにいくつかのメモがあります:
どこでも繰り返すのではなく
\small
、small
先頭に追加します。また、\small
スイッチはコマンドではないので、 はありません{}
。>{$}c<{$}
列 2 から 4 は主に数値データなので、列仕様として を追加して数式モードにするのが最適です。同じ列ヘッダー
Qgc [MVar]
が 3 回繰り返されるので、これで\multicolumn{3}{c}{Qgc [MVar]}
十分です。垂直線をすべて削除して使用すると、
booktabs
読みやすさがさらに向上します。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}