表格超过 9 列时 hhline 出现问题

表格超过 9 列时 hhline 出现问题

我发现当参数大于时,hhline 不会打印行,就像9这样。相反,如果按照以下文件所示\hhline{|*14{-}|}操作,效果会很好:\hhline{|*9{-}*5{-}|}

\documentclass{article}

\usepackage{hhline}
\usepackage{colortbl}

\begin{document}

\begin{center}
\small\sf
\begin{tabular}{|c|c|c|c|c|c|c|c|c|} \hhline{|*9{-}|}
\rowcolor[gray]{.8} & & \multicolumn{7}{c|}{Year} \\ \hhline{|*9{-}|}
a & a & a & a & a & a & a & a & a \\ \hhline{|*9{-}|}
\end{tabular} 
\end{center}

\begin{center}
\small\sf
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|} \hhline{|*9{-}*5{-}|}
\rowcolor[gray]{.8} & & \multicolumn{12}{c|}{Year} \\ \hhline{|*9{-}*5{-}|}
a & a & a & a & a & a & a & a & a & a & a & a & a & a \\ \hhline{|*9{-}*5{-}|}
\end{tabular} 
\end{center}

\begin{center}
\small\sf
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|} \hhline{|*14{-}|}
\rowcolor[gray]{.8} & & \multicolumn{12}{c|}{Year} \\ \hhline{|*14{-}|}
a & a & a & a & a & a & a & a & a & a & a & a & a & a \\ \hhline{|*14{-}|}
\end{tabular} 
\end{center}

\end{document}

这是预期的行为吗?

答案1

预期的事情是将数字放入{...}\hhline{|*{14}{-}|}。如​​果你只这样做\hhline{|*14{-}|},LaTeX 实际上会认为你想要复制1字符串的时间4,而不是14字符串的乘积-

它在一位数上正确地工作,这一事实有点不幸,因为人们认为它是正确的语法;但事实并非如此。

附注:请不要使用\sf\sffamily而应使用 。原因在问题中解释:\textit我使用或\it\bfseries等有关系吗\bf

相关内容