将 \toprule 重新定义为表格中使用的默认线条粗细

将 \toprule 重新定义为表格中使用的默认线条粗细

如何将表格中线的宽度更改为\toprule默认的 0.25em?

我知道它会是类似的内容,\renewcommand{\toprule}{??}但是参数括号中会是什么呢?

\toprule[0.25ex]或者简单地使用每个表是否更容易?

答案1

我假设如果你想改变 的宽度\toprule,你也想改变 的宽度\bottomrule。如果是这样,只需发出指令

\setlength\heavyrulewidth{0.25ex}

booktabs在加载后的序言中。

答案2

\toprule你应该看看内部的定义booktabs.sty

\def\toprule{\noalign{\ifnum0=`}\fi
  \@aboverulesep=\abovetopsep
  \global\@belowrulesep=\belowrulesep %global cos for use in the next noalign
  \global\@thisruleclass=\@ne
  \@ifnextchar[{\@BTrule}{\@BTrule[\heavyrulewidth]}}

设置一些预定义宏后,如果不指定可选参数,\toprule则使用。因此,您可以重新定义长度(默认为;这也会影响其他规则)。更好的是,创建一个新的并使用补丁将其替换在里面:\@BTrule[\heavyrulewidth]\heavyrulewidth.08em\bottomrule\toprulewidth\toprule

在此处输入图片描述

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

\newlength{\toprulewidth}
\setlength{\toprulewidth}{0.25ex}
\patchcmd{\toprule}% <cmd>
  {\heavyrulewidth}{\toprulewidth}% <search><replace>
  {}{}% <success><failure>

\begin{document}

\begin{tabular}{ccc}
  \toprule
  A & B & C \\
  \midrule
  1 & 2 & 3 \\
  \bottomrule
\end{tabular}
\end{document}

相关内容