考虑这个例子
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\noindent\lipsum[1][1-2]
\noindent
\begin{tabular}{ll}
A & B
\end{tabular}
{
\setlength{\tabcolsep}{0pt}
\noindent
\begin{tabular}{ll}
C & D
\end{tabular}
}
\end{document}
它的输出为:
我想将表格中文本的开头与正文的开头对齐。
在第二个表格中,我尝试使用\setlength{\tabcolsep}{0pt}
它来实现这种效果,但表格列之间的分隔消失了,这是不理想的结果。
有什么更好的解决办法?
答案1
要保持\tabcolsep
其他地方不变但删除它,可以使用符号@{...}
。从第 2.11.6 节LaTeX2ε 的简短介绍(texdoc lshort
):
在您的文档中:
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\noindent\lipsum[1][1-2]
\noindent
\begin{tabular}{ll}
A & B
\end{tabular}
{
\setlength{\tabcolsep}{0pt}
\noindent
\begin{tabular}{ll}
C & D
\end{tabular}
}
\noindent
\begin{tabular}{@{}ll}
A & B
\end{tabular}
\end{document}
答案2
根据 的具体情况tabular
,表格堆栈可能是理想的选择。堆栈上永远不会有任何前导或尾随间隙;但是,列间间隙是完全可设置的。
\documentclass{article}
\usepackage{lipsum,tabstackengine}
\strutlongstacks{T}
\begin{document}
\noindent\lipsum[1]
\noindent
\tabularLongunderstack{ll}{ Aa & B\\C & Dd}
\noindent
\setstacktabulargap{2em}%
\tabularLongunderstack{ll}{ Aa & B\\C & Dd}
\end{document}