长表的长度和对齐左边距

长表的长度和对齐左边距

我用来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}

输出如下。

在此处输入图片描述

它通常可以显示我所期望的内容,但是存在两个问题。

  1. 三列的长度分别设置为0.2\textwidth0.6\textwidth0.2\textwidth,但表格的总长度比文本宽度要长。有什么解决方案可以确保表格的长度与文本宽度完全相同吗?也许如果我设置第一列和第二列的长度,那么第三列的长度会自动设置为适合长度?

  2. 表格第一行的“符号列表”文本有左边距,这是我不想要的。有什么解决方案可以将其设置为零边距吗?

答案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}

相关内容