多列字段内的水平规则/线

多列字段内的水平规则/线

我需要在多列单元格内添加一条水平线。当水平线仅在一个单元格中时,这是没有问题的,当使用多列跨越 2 个单元格时,我会收到一条错误消息:

! You can't use `\hrule' here except with leaders.
<argument> \hrule

l.22 \end{longtabu}

我的 MWE:

\documentclass[twoside]{book}

\usepackage{tabu}
\usepackage{longtable}

\begin{document}

\begin{longtabu}spread 0pt [c]{*{3}{|X[-1]}|}
\hline
Column 1&Column 2&Column 3 \\\cline{1-3}
Column 1&\hrule
&Column 3 \\\cline{1-3}
Column 1&Column 2&Column 3 \\\cline{1-3}
\end{longtabu}

\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
\hline
Column 1&Column 2&Column 3 &Column4 \\\cline{1-4}
Column 1&\multicolumn{2}{l|}{\hrule
 }&Column4 \\\cline{1-4}
Column 1&Column 2&Column 3 &Column4 \\\cline{1-4}
\end{longtabu}

\end{document}

生成的图像(出错时进入批处理模式):

在此处输入图片描述

在第二个表格的第二行中,我想要合并第 2 列和第 3 列中的一行,就像第一个表格的第 2 行第 2 列中所示的那样。

我使用 tabu 包,我知道这个包存在一些问题,但我使用的是旧版本的 Tex Live,而对于 2019 版本,我使用“已保存的”tabu 包(和朋友)。

答案1

请使用\hrulefill而不是\hrule

\documentclass[twoside]{book}

\usepackage{tabu}
\usepackage{longtable}

\begin{document}

\begin{longtabu}spread 0pt [c]{*{3}{|X[-1]}|}
\hline
Column 1&Column 2&Column 3 \\\cline{1-3}
Column 1&\hrule
&Column 3 \\\cline{1-3}
Column 1&Column 2&Column 3 \\\cline{1-3}
\end{longtabu}

\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
\hline
Column 1&Column 2&Column 3 &Column4 \\\cline{1-4}
Column 1&\multicolumn{2}{c|}{\hrulefill} &Column4 \\\cline{1-4}
Column 1&Column 2&Column 3 &Column4 \\\cline{1-4}
\end{longtabu}

\end{document}

在此处输入图片描述

相关内容