在表格内的水平线和文本之间添加空格 - LaTeX

在表格内的水平线和文本之间添加空格 - LaTeX

我正在 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}

相关内容