Как уменьшить интервал между строками в таблицах LaTex?

Как уменьшить интервал между строками в таблицах LaTex?

Я создал таблицу с помощью пакета \booktabs и результат получился следующим:

введите описание изображения здесь

с кодом:

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

Однако я хочу, чтобы таблица не выглядела так растянутой по вертикали, т.е. уменьшить расстояние между строками. Что-то вроде этого:

введите описание изображения здесь

Как мне это сделать? Спасибо!

решение1

Расстояние между строками таблицы можно контролировать с помощью \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}

решение2

введите описание изображения здесь

Настройка второй таблицы на самом деле является настройкой по умолчанию, но это показывает, как можно вернуть растяжение массива к 1, если оно было увеличено ранее в документе. В комментариях вы указали, что не знаете, какая часть вашего кода устанавливает его или какое значение оно имеет, поэтому я показываю здесь один из способов печати его в заголовке (или где-либо еще) просто для отладки. Для большинства шрифтов \arraystretchне следует устанавливать значение меньше 1, так как это сделает строки таблицы достаточно высокими, чтобы вместить их содержимое; обычно поддерживается постоянный минимальный интервал между строками, даже если строка полностью состоит из строчных букв или пустого содержимого.

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

решение3

Проблема с \arraystretchуже объяснена в других ответах. Дополнения:

  • Числа можно выровнять по десятичному разделителю с помощью пакета siunitx.
  • Всего две колонки.
  • Горизонтально центрированную таблицу, которая не является плавающим объектом и не имеет заголовка, проще задать с помощью environment center.

Полный пример файла:

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

Результат

Связанный контент