我用来longtable
呈现符号列表,代码如下。
\documentclass[10pt]{book}
\usepackage{newpxtext,newpxmath}
\linespread{1.05}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{lipsum} % just for dummy text- not needed for a longtable
\setlength{\parindent}{0pt}
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{document}
\par a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
\vspace{10pt} \par
\begin{longtable}{@{\extracolsep{\fill}}p{0.2\textwidth}p{0.6\textwidth}w{r}{0.2\textwidth}}
\multicolumn{3}{l}{\textbf{List of Notations}\vspace{1mm}}\\
notation 1& explain of the notation 1 & unit 1 \\
notation 2& explain of the notation 2 & unit 2 \\
\end{longtable}
\par a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
\end{document}
输出如下。
它通常可以显示我所期望的内容,但是存在两个问题。
三列的长度分别设置为
0.2\textwidth
、0.6\textwidth
和0.2\textwidth
,但表格的总长度比文本宽度要长。有什么解决方案可以确保表格的长度与文本宽度完全相同吗?也许如果我设置第一列和第二列的长度,那么第三列的长度会自动设置为适合长度?表格第一行的“符号列表”文本有左边距,这是我不想要的。有什么解决方案可以将其设置为零边距吗?
答案1
两个问题的答案相同,您可以设置\setlength\tabcolsep{0pt}
单元格填充为 0,或者使用以下方法删除每个案例
\multicolumn{3}{@{}l@{}}{
和
{@{\extracolsep{\fill}}
p{0.2\textwidth}
@{}
p{0.6\textwidth}
@{}
w{r}{0.2\textwidth}
@{}
}
答案2
w{r}{0.2\textwidth}
指定手头表格第三列的列类型毫无意义。相反,只需使用r
。
\documentclass[10pt]{book}
\usepackage{newpxtext,newpxmath}
\linespread{1.05}
\usepackage{longtable}
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\setlength{\parindent}{0pt}
\begin{document}
\begin{longtable}{@{\extracolsep{\fill}}
p{0.2\textwidth}
p{0.6\textwidth}
r @{}}
% headers and footers
\hline
\multicolumn{2}{@{}l}{\textbf{List of Notations}} &
\textbf{Units}\\[1ex]
\endhead
\hline
\endfoot
% body of table
notation 1 & explanation of notation 1 & unit 1 \\
notation 2 & explanation of notation 2 & unit 2 \\
\end{longtable}
\end{document}