我正在 LaTeX 文档中创建表格。为了使表格适合某些受限空间,我不得不使用 pbox 包将较长的文本在其单元格内分成两行。现在,文本与我在表格第一行上方添加的水平线相接触。我怎样才能增加这条线和文本的距离,以便它们不再接触?
\documentclass[twoside, a4paper, 11pt]{article}
\usepackage{pbox}
\begin{document}
\begin{table}
\footnotesize
\begin{tabular*}{\linewidth}{lllll}
\hline
\pbox{1.5cm}{\textbf{Collect}} & \pbox{1.5cm}{\textbf{Month}} & \pbox{1.5cm}{\textbf{Temp}\\\textbf{(°C)}} & \pbox{1.5cm}{\textbf{Pluviosity}\\\textbf{(mm)}} & \pbox{1.5cm}{\textbf{Specimens}\\\textbf{(Nº)}} \\
\hline
1 & July & 12.4 & 68 & 6 \\
2 & July & 14.1 & 85 & 4 \\
3 & August & 10.2 & 54 & 9 \\
4 & August & 12.2 & 72 & 6 \\
5 & September & 14.7 & 82 & 14 \\
6 & September & 15.4 & 65 & 9 \\
\hline
\end{tabular*}
\end{table}
\end{document}
答案1
您不需要手动添加换行符,而是可以使用固定列,例如,p{2cm}
或者使用tabularx
包自动添加换行符:
\documentclass[twoside, a4paper, 11pt]{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage[hmargin=5.5cm]{geometry}% <- just to make the page small enough to force line breaks
\begin{document}
\begin{table}
\footnotesize
\begin{tabularx}{\linewidth}{llXXX}
\toprule
\textbf{Collect} & \textbf{Month} & \textbf{Temp} \textbf{(°C)} & \textbf{Pluviosity} \textbf{(mm)} & \textbf{Specimens} \textbf{(Nº)} \\
\midrule
1 & July & 12.4 & 68 & 6 \\
2 & July & 14.1 & 85 & 4 \\
3 & August & 10.2 & 54 & 9 \\
4 & August & 12.2 & 72 & 6 \\
5 & September & 14.7 & 82 & 14 \\
6 & September & 15.4 & 65 & 9 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
答案2
假设您想继续使用\pbox
指令,我可以想到两个解决方案:(a)停止使用\hline
并开始使用\toprule
,,\midrule
和\bottomrule
,三个由提供的宏书签包;(b)手动插入印刷支柱。这些方法的结果在下面的屏幕截图中的第二张和第三张表中说明。(第一张表复制了 OP 的代码,只是没有\footnotesize
使用任何指令。
您可能还想重新考虑使用\pbox
指令。另一种方法是使用\makecell
宏,由制造细胞包裹。
下面的代码采用的是tabular
而不是tabular*
环境。
\documentclass[twoside, a4paper, 11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{pbox}
\usepackage{booktabs} % for \toprule, \midrule, and \bottomrule macros
%% Define a few typographic struts
%% (Claudio Beccari, TeX and TUG News, Vol. 2, 1993)
\newcommand\Tstrut{\rule{0pt}{2.6ex}} % "top" strut
\newcommand\Bstrut{\rule[-1.1ex]{0pt}{0pt}}% "bottom" strut
\begin{document}
\begin{tabular}{lllll}
\hline
\pbox{1.5cm}{\textbf{Collect}} &
\pbox{1.5cm}{\textbf{Month}} &
\pbox{1.5cm}{\textbf{Temp}\\ (°C)} &
\pbox{1.75cm}{\textbf{Pluviosity}\\ (mm)} &
\pbox{1.85cm}{\textbf{Specimens}\\ (Nº)} \\
\hline
1 & July & 12.4 & 68 & 6 \\
2 & July & 14.1 & 85 & 4 \\
3 & August & 10.2 & 54 & 9 \\
4 & August & 12.2 & 72 & 6 \\
5 & September & 14.7 & 82 & 14 \\
6 & September & 15.4 & 65 & 9 \\
\hline
\end{tabular}
\vspace{1cm}
\begin{tabular}{lllll}
\toprule
\pbox{1.5cm}{\textbf{Collect}} &
\pbox{1.5cm}{\textbf{Month}} &
\pbox{1.5cm}{\textbf{Temp}\\\textbf{(°C)}} &
\pbox{1.75cm}{\textbf{Pluviosity}\\\textbf{(mm)}} &
\pbox{1.85cm}{\textbf{Specimens}\\\textbf{(Nº)}} \\
\midrule
1 & July & 12.4 & 68 & 6 \\
2 & July & 14.1 & 85 & 4 \\
3 & August & 10.2 & 54 & 9 \\
4 & August & 12.2 & 72 & 6 \\
5 & September & 14.7 & 82 & 14 \\
6 & September & 15.4 & 65 & 9 \\
\bottomrule
\end{tabular}
\vspace{1cm}
\begin{tabular}{lllll}
\hline
\pbox{1.5cm}{\textbf{Collect}} &
\pbox{1.5cm}{\textbf{Month}} &
\pbox{1.5cm}{\textbf{Temp\Tstrut}\\ (°C\Bstrut)} &
\pbox{1.75cm}{\textbf{Pluviosity\Tstrut}\\ (mm\Bstrut)} &
\pbox{1.85cm}{\textbf{Specimens\Tstrut}\\ (Nº\Bstrut)} \\
\hline
1 & July & 12.4 & 68 & 6\Tstrut \\
2 & July & 14.1 & 85 & 4 \\
3 & August & 10.2 & 54 & 9 \\
4 & August & 12.2 & 72 & 6 \\
5 & September & 14.7 & 82 & 14 \\
6 & September & 15.4 & 65 & 9\Bstrut \\
\hline
\end{tabular}
\end{document}