表格中可以包含水平虚线吗?

表格中可以包含水平虚线吗?

在普通表格中,可以使用\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}

上述代码的输出

相关内容