我正在用 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]”的内容。