Я создал таблицу с помощью пакета \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}