如何将**第一个**`@{}`替换为`@{ \extracolsep{\fill} }`

如何将**第一个**`@{}`替换为`@{ \extracolsep{\fill} }`

我只想更换第一的 @{}如图@{ \extracolsep{\fill} }所示MWE 的评论。尝试使用时\patchcmd,失败!

你知道,我的文档中有很多这种样式表。所以我想用一些自动代码来完成这个修补工作。

提前谢谢您!

梅威瑟:

\documentclass{article}
\usepackage{longtable,booktabs}

\setlength\LTleft{0pt}       
\setlength\LTright{0pt}   

\begin{document}

\begin{longtable}[]{@{}llll@{}}
%\begin{longtable}[]{@{\extracolsep{\fill}}llll@{}}
\caption{\label{tab:simple-table} A Table}\tabularnewline
\toprule
Name & Income & Job & Color \\
\midrule
\endfirsthead
\toprule
Name & Income & Job & Color \\
\midrule
\endhead
Jane & 123456 & Research Assistant & red \\
John & 50 & N/A & blue \\
William & 3200 & Cleaner & blue \\
\bottomrule
\end{longtable}

\end{document}

答案1

我不确定我是否理解了您想要实现的目标。无论如何,我想说,除了修改指令的参数之外\begin{longtable},您还应该提供\endfoot\endlastfoot指令,并考虑S为第二列使用列类型,以便数字可以在其各自的(隐含的)小数标记上对齐。

在此处输入图片描述

\documentclass{article}
\usepackage{longtable,booktabs,siunitx}

\setlength\LTleft{0pt}       
\setlength\LTright{0pt}   

\begin{document}

\begin{longtable}{@{\extracolsep{\fill}} 
                  l
                  S[table-format=6.0,group-minimum-digits=4]
                  ll @{}}

%% headers and footers:

\caption{A Table} \label{tab:simple-table} \\
\toprule
Name & {Income} & Job & Color \\
\midrule
\endfirsthead

\multicolumn{4}{@{}l}{\tablename\ \thetable, continued}\\[0.5ex]
\toprule
Name & {Income} & Job & Color \\
\midrule
\endhead

\midrule
\multicolumn{4}{r@{}}{\small (continued on following page)} \\
\endfoot

\bottomrule
\endlastfoot


%% body of table:

Jane & 123456 & Research Assistant & red \\
John & 50 & N/A & blue \\
William & 3200 & Cleaner & blue \\

\end{longtable}

\end{document}

相关内容