删除表中的 \midrule

删除表中的 \midrule

我正在用 markdown 写一篇论文,并使用 pandoc 和 latex 模板来呈现 pdf。我有表格,我需要没有线条。我在网上找到了如何使用以下方法删除表格的顶部和底部线条:

\usepackage{etoolbox} %% For patchcmd
%% Remove top and bottom horizontal lines from tables:
\newlength{\toprulewidth}
\setlength{\toprulewidth}{0.ex}
\patchcmd{\toprule}% <cmd>
  {\heavyrulewidth}{\toprulewidth}% <search><replace>
  {}{}% <success><failure>

\newlength{\bottomrulewidth}
\setlength{\bottomrulewidth}{0.ex}
\patchcmd{\bottomrule}% <cmd>
  {\heavyrulewidth}{\bottomrulewidth}% <search><replace>
  {}{}% <success><failure>

这很好用,但是当我创建某些多行表格时,第一行上方(标题文本下方)也会添加一条水平线。我查看了 pandoc 的 tex 输出,看到了 \midrule,我将其解释为线条的绘制方式。因此,我尝试将上面的代码调整为 midrule:

\newlength{\midrulewidth}
\setlength{\midrulewidth}{0.ex}
\patchcmd{\midrule}% <cmd>
  {\heavyrulewidth}{\midrulewidth}% <search><replace>
  {}{}% <success><failure>

但这不起作用。我怎样才能从表格中删除此行?

答案1

您显示的代码似乎不必要地复杂。如果您需要做的只是禁用\toprule\bottomrule\midrule,则应该编写

\def\toprule{}
\def\bottomrule{}
\def\midrule{}

在序言中。

答案2

\toprule\bottomrule\midrule每个都有一个可选参数来设置规则宽度。如果你确定它们没有被使用,那么 Micos 答案就是可行的方法。如果不是,你应该将它们重新定义为

\renewcommand*{\toprule}[1][]{}
\renewcommand*{\bottomrule}[1][]{}
\renewcommand*{\midrule}[1][]{}

也删除可选参数。否则,您可能会在 PDF 文件中发现类似“[1pt]”的内容。

相关内容