Wie kann der Zeilenabstand in LaTex-Tabellen verringert werden?

Wie kann der Zeilenabstand in LaTex-Tabellen verringert werden?

Ich habe eine Tabelle mit dem \booktabs-Paket erstellt und das Ergebnis ist wie folgt

Bildbeschreibung hier eingeben

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:

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

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 \arraystretchsollte 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 \arraystretchwird 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}

Ergebnis

verwandte Informationen