
\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}
Antwort1
Nur einige Anmerkungen zu Ihrer Tabelle:
Anstatt es
\small
überall zu wiederholen, fügen Sie es einfachsmall
am Anfang hinzu. Außerdem\small
ist ein Schalter kein Befehl, er hat kein{}
.Die Spalten 2 bis 4 enthalten hauptsächlich numerische Daten. Sie lassen sich daher am besten in den Mathematikmodus versetzen, indem
>{$}c<{$}
Sie als Spaltenspezifikation hinzufügen.Die gleiche Spaltenüberschrift
Qgc [MVar]
wird dreimal wiederholt, daher\multicolumn{3}{c}{Qgc [MVar]}
reicht es aus, einfach Folgendes anzugeben.Durch das Entfernen aller vertikalen Linien und die Verwendung
booktabs
kann die Lesbarkeit weiter verbessert werden.Überlassen Sie lieber LaTeX die Entscheidung, wo Ihre Tabelle am besten platziert wird, anstatt diesen
[h]
Spezifizierer hier zu erzwingen. Bei einer abschließenden Überarbeitung können Sie den Tabellencodeteil jedoch im Text nach oben oder unten verschieben, um die Position zu ändern, an der die Tabelle angezeigt wird.
.
\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}
Antwort2
Eine Anmerkung vorweg: Sie verwenden die \small
Direktive nicht richtig: Sienichtnimmt ein Argument an. Daher macht in einer Tabellenzelle \small{Qgc}
dasselbe wie \small Qgc
. Das reduziert doch besser den Code-Wirrwarr, oder?
Zweitens, da der Inhalt jeder einzelnen Zelle der tabular
Umgebung in gerendert werden soll \small
, ist es vorzuziehen, einfach eine \small
Direktive auszugebenVorStarten der tabular
Umgebung (und Entfernen der \small
Anweisungen aus den einzelnen Zellen).
Drittens: Wenn Sie den Inhalt der Umgebung verkleinern möchten tabular
, ist es aus typografischer Sicht eine gute Idee, \caption
auch das zugehörige Material zu verkleinern. Dies lässt sich auf einfache Weise erreichen, indem Sie das Paket laden und unmittelbar vor der Anweisung caption
eine entsprechende Anweisung ausgeben .\captionsetup
\caption
Denken Sie auch daran, negative Zahlen im Mathematikmodus so zu setzen, dass typografisch korrekte -
Zeichen (Minuszeichen im Mathematikmodus) anstelle einfacher Bindestriche erzeugt werden.
Zuletzt (und meiner Meinung nach möglicherweise am wenigsten wichtig) verwenden Sie eine \multirow
Anweisung (vom multirow
Paket bereitgestellt), um die Beschriftung „Text“ vertikal zu zentrieren.
\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}
Antwort3
Eine Lösung ohne Mehrfachzeilen oder Mehrfachspalten, aber mit m
Spalten.
Die zweite Tabelle befasst sich mit dem Fall, dass andere Spalten von einem anderen Typ sein müssen (in diesem Fall mit Dezimalausrichtung, beachten Sie das richtige Vorzeichen bei „-100“ bei den S
Spalten des siunitx
Pakets), und verwendet dabei einen , \parbox
um Zeilenumbrüche in den Kopfzeilen zu ermöglichen.
Beachten Sie auch, dass in diesem Fall die Spaltenbreite von der \parbox
Breite abhängen könnte, oder vom für Ziffern vor/nach dem Dezimalpunkt reservierten Platz (Fall des Beispiels).
\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}
Antwort4
Bewegen Sie sich Text
mit in die gewünschte Position \raisebox
oder verwenden Sie \makecell
die Standardplatzierung von (vertikaler/horizontaler c
Eintrag):
\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}