我正在使用这个代码:
\documentclass{article}
\usepackage{array}
\begin{document}
\newcolumntype{?}{!{\vrule width 1.5pt}}
\scalebox{1.1}{
\begin{tabular}{|c?c|c|c?c|} \hline
& & & & \\ \specialrule{.13em}{.2em}{.2em}
$b_1$ &$a_1$ & $b_2$ &$a_2$& \\ \specialrule{.15em}{.2em}{.2em}
\end{tabular}
\end{document}
但是,我只希望第二行中间的三个单元格被较粗的线条包围,其他地方我需要较细的线条。我目前得到的输出如下所示,较粗的线条超出了底部的三个单元格。
答案1
答案2
您的代码有两个问题:
\usepackage
应在序言中、之前使用\begin{document}
。\specialrule
是 tbe 包提供的命令,booktabs
但您在示例中未加载该命令,因此会出现错误。请注意,该booktabs
包不适用于具有垂直规则的表格材料,但您可以\specialrule
通过将第二和第三个参数设置为 将命令的垂直间距设置为零0pt
。
因此,您可以执行以下操作:
\documentclass{article}
\usepackage{array, booktabs}
\newcolumntype{?}{!{\vrule width 1.5pt}}
\begin{document}
\begin{tabular}{ | c ? c | c | c ? c |}
\hline
& & & & \\ \specialrule{.13em}{0pt}{0pt}
$b_1$ & $a_1$ & $b_2$ & $a_2$ & \\ \specialrule{.13em}{0pt}{0pt}
\end{tabular}
\end{document}
但对于您真正想要的,一种现代且更灵活的方法是使用包tabularray
:
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{
colspec={ c c c c c },
hlines,
vlines,
hline{2,3}={2-4}{2pt},
vline{2,5}={2-4}{2pt}
}
& & & & \\
$b_1$ & $a_1$ & $b_2$ & $a_2$ & \\
\end{tblr}
\end{document}