LaTeX 中表格单元格顶部的填充

LaTeX 中表格单元格顶部的填充

我有一个简单的 LaTeXtabular表:

\begin{tabular}{|l|l|l|}
  \hline
  A  & B  & C \\
  \hline
  A1 & B1 & C1 \\
  \hline
  A2 & B2 & C2 \\
  \hline
\end{tabular}

呈现的表格

现在单元格顶部的填充比底部的填充小得多,我猜是因为保留了降部空间。它使文本看起来不对齐。如何在表格单元格顶部添加一些填充?我试过了,\arraystretch但它也会在底部添加填充。

答案1

在使用垂直线的同时获得更好看的表格的一种方法是在选定的行中插入“支柱”以改善水平线周围的间距。(这是 Claudio Beccari 在 1993 年发表的一篇文章中提出的TeX 和 TUG 新闻)这个想法是,在上方有 的行中插入“顶部支撑” \hline,在下方有 的行中插入“底部支撑” ,在上方和下方\hline都有 的行(例如标题行)中插入顶部和底部支撑:\hline

在此处输入图片描述

\documentclass{article}
% Define "struts" as suggested by Claudio Beccari in
% a piece in TeX and TUG News, Vol. 2, 1993.
\newcommand\Tstrut{\rule{0pt}{2.6ex}}       % "top" strut
\newcommand\Bstrut{\rule[-0.9ex]{0pt}{0pt}} % "bottom" strut
\newcommand{\TBstrut}{\Tstrut\Bstrut} % top&bottom struts
\begin{document}
\begin{tabular}{|l|l|l|}
  \hline
  A  & B  & C \TBstrut\\ % top and bottom struts
  \hline
  A1 & B1 & C1 \Tstrut\\ % top strut only
  A2 & B2 & C2 \Bstrut\\ % bottom strut only
  \hline
\end{tabular}
\end{document}

尽管如此,我相信如果 (i) 根本不使用垂直线,并且 (ii) 使用书签包及其命令\toprule\midrule\bottomrule代替\hline来创建水平线。请注意,\[xxx]rule线条的宽度并不都相同,并且线条周围留有适当的间距。

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{lll}
  \toprule
  A  & B  & C \\
  \midrule
  A1 & B1 & C1 \\
  A2 & B2 & C2 \\
  \bottomrule
\end{tabular}
\end{document}

答案2

\extrarowheight您可以使用包中的功能在顶部添加额外的垂直间距array;以下示例提供了三个选项:第一个,您的表格;第二个,相同的表格,但设置\extrarowheight2pt,增加2pt每一行的高度,但保持深度不变;第三个选项,使用包booktabs(默认情况下间距现在好多了,但没有垂直规则):

\documentclass{article}
\usepackage{array}
\usepackage{booktabs}

\begin{document}

\noindent\begin{tabular}{|l|l|l|}
  \hline
  A  & B  & C \\
  \hline
  A1 & B1 & C1 \\
  \hline
  A2 & B2 & C2 \\
  \hline
\end{tabular}

\vspace{1cm}

{
\setlength\extrarowheight{2pt}
\noindent\begin{tabular}{|l|l|l|}
  \hline
  A  & B  & C \\
  \hline
  A1 & B1 & C1 \\
  \hline
  A2 & B2 & C2 \\
  \hline
\end{tabular}
}

\vspace{1cm}

\noindent\begin{tabular}{lll}
  \toprule
  A  & B  & C \\
  \midrule
  A1 & B1 & C1 \\
  A2 & B2 & C2 \\
  \bottomrule
\end{tabular}

\end{document}

在此处输入图片描述

答案3

我建议使用cals软件包,它虽然冗长,但可以自动完成许多事情:

简单 cals 表

\documentclass{article}
\usepackage{cals}
\begin{document}
\begin{calstable}
\colwidths{{1cm}{1cm}{1cm}}
\brow \cell{A} \cell{B} \cell{C}  \erow
\brow \cell{A1}\cell{B1}\cell{C1} \erow
\brow \cell{A2}\cell{B2}\cell{C2} \erow
\end{calstable}
\end{document}

相关内容