Ich habe eine Tabelle mit dem \booktabs-Paket erstellt und das Ergebnis ist wie folgt
mit dem Code:
\begin{table}[h!]
\centering
\begin{tabular}{@{}lll@{}}
\toprule
Process & Cross section\\
\midrule
GGF & 43.92 \\
VBF & 3.748 \\
WH & 1.380 \\
ZH & 0.9753 \\
ttH & 0.5085 \\
bbH & 0.5116 \\
\bottomrule
\end{tabular}
\end{table}
Ich möchte jedoch, dass die Tabelle vertikal nicht so ausgebreitet aussieht, d. h. den Abstand zwischen den Zeilen verringern. Etwa so:
Wie kann ich das machen? Danke!
Antwort1
Der Abstand zwischen den Tabellenzeilen kann mithilfe von gesteuert werden \def\arraystretch{0.50}
.
\documentclass[english]{article}
\usepackage{booktabs}
\begin{document}
\begingroup
\tabcolsep = 15.0pt
\def\arraystretch{0.50}
\begin{table}[h!]
\centering
\begin{tabular}{@{}lll@{}}
\toprule
Process & Cross section\\
\midrule
GGF & 43.92 \\
VBF & 3.748 \\
WH & 1.380 \\
ZH & 0.9753 \\
ttH & 0.5085 \\
bbH & 0.5116 \\
\bottomrule
\end{tabular}
\end{table}
\endgroup
\end{document}
Antwort2
Die Einstellung der zweiten Tabelle ist tatsächlich die Standardeinstellung, aber dies zeigt, wie die Array-Streckung auf 1 zurückgesetzt werden kann, wenn sie zuvor im Dokument vergrößert wurde. In Kommentaren haben Sie angegeben, dass Sie nicht wissen, welcher Teil Ihres Codes sie festlegt oder welchen Wert sie hat, daher zeige ich hier eine Möglichkeit, sie in der Überschrift (oder anderswo) auszudrucken, nur zum Debuggen. Bei den meisten Schriftarten \arraystretch
sollte sie nicht kleiner als 1 eingestellt werden, da die Zeilen der Tabelle dann gerade hoch genug sind, um ihren Inhalt aufzunehmen. Normalerweise wird ein gleichbleibender minimaler Zeilenabstand beibehalten, selbst wenn eine Zeile nur Kleinbuchstaben oder leeren Inhalt hat.
\documentclass{article}
\usepackage{booktabs}
\renewcommand\arraystretch{3}
\begin{document}
\begin{table}[htp]% never use h on its own like: [h!]
\centering
\caption{with \arraystretch}
\begin{tabular}{@{}lll@{}}
\toprule
Process & Cross section\\
\midrule
GGF & 43.92 \\
VBF & 3.748 \\
WH & 1.380 \\
ZH & 0.9753 \\
ttH & 0.5085 \\
bbH & 0.5116 \\
\bottomrule
\end{tabular}
\end{table}
\renewcommand\arraystretch{1}
\begin{table}[htp]% never use h on its own like: [h!]
\centering
\caption{with \arraystretch}
\begin{tabular}{@{}lll@{}}
\toprule
Process & Cross section\\
\midrule
GGF & 43.92 \\
VBF & 3.748 \\
WH & 1.380 \\
ZH & 0.9753 \\
ttH & 0.5085 \\
bbH & 0.5116 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
Antwort3
Das Problem mit \arraystretch
wird bereits in anderen Antworten erklärt. Ergänzungen:
- Die Zahlen können über das Paket am Dezimaltrennzeichen ausgerichtet werden
siunitx
. - Es gibt nur zwei Spalten.
- Eine horizontal zentrierte Tabelle, die kein schwebendes Objekt ist und keine Überschrift hat, lässt sich einfacher mit der Umgebung festlegen
center
.
Vollständige Beispieldatei:
\documentclass{article}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{center}
\renewcommand*{\arraystretch}{1}% reset to default
\begin{tabular}{lS[table-format=2.4]}
\toprule
Process & {Cross section [\si{\pico\barn}]}\\
\midrule
GGF & 43.92 \\
VBF & 3.748 \\
WH & 1.380 \\
ZH & 0.9753 \\
ttH & 0.5085 \\
bbH & 0.5116 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}