在普通表格中,可以使用\hline
命令绘制水平线。我试图将这条线变成虚线水平线。
我找到了包裹dashrule
通过这个答案,但这仅适用于\rule
以下情况;即它不能直接用作表格中的一行,并且 LaTeX 不会编译它。相反,我尝试将 包装\hdashrule
在多列中:
\multicolumn{5}{|c|}{\hdashrule{130mm}{1pt}{4pt}} \
但是,表格单元格周围的填充会破坏表格的流畅性,并且水平规则不会与\hline
表格的其他部分对齐。(这也意味着必须手动指定规则宽度。)
有没有办法\hline
不用表内表就能制作虚线?能否强制单个表格单元格没有垂直或水平边距和填充?
答案1
这芳基化物软件包为您提供了\hdashline
和命令,它们分别是和\cdashline
的虚线对应部分。一个小例子(还包括一条垂直虚线):\hline
\cline
\documentclass{report}
\usepackage{arydshln}
\begin{document}
\begin{tabular}{c:cc}
column1a & column2a & column3a \\
column1b & column2b & column3b\\ \hdashline
column1c & column2c & column3c \\ \cdashline{1-2}
column1d & column2d & column3d \\
\end{tabular}
\end{document}
您还可以通过指定比例来指定虚线的宽度。对于虚线,请写入
\hdashline[0.5pt/5pt]
答案2
tblr
环境虚线的替代解决方案tabularray
包裹:
\documentclass{report}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{c|[dashed]cc}
column1a & column2a & column3a \\
column1b & column2b & column3b \\
\hline[dashed]
column1c & column2c & column3c \\
\cline[dashed]{1-2}
column1d & column2d & column3d \\
\end{tblr}
\end{document}
答案3
使用该包,您可以创建使用Tikznicematrix
在您的环境中绘制规则的工具:可以使用 Tikz 的所有样式......{NiceTabular}
nicematrix
\documentclass{article}
\usepackage{nicematrix,tikz}
\NiceMatrixOptions
{
custom-line =
{
letter = : ,
command = dashedline ,
ccommand = cdashedline ,
tikz = dashed
}
}
\begin{document}
\renewcommand{\arraystretch}{1.4}
\begin{NiceTabular}{c:cc}
column1a & column2a & column3a \\
column1b & column2b & column3b \\
\dashedline
column1c & column2c & column3c \\
\cdashedline{1-2}
column1d & column2d & column3d \\
\end{NiceTabular}
\end{document}