如何在数组中添加虚线或彩色垂直线,但不使用“arydshln”?

如何在数组中添加虚线或彩色垂直线,但不使用“arydshln”?

我需要使用 来制作所谓的增广矩阵array。这需要在最后一列之前添加一条垂直线。

使用答案不使用数组,向增强矩阵添加垂直线等号 演示如何添加垂直线。以下是答案:

\documentclass[12pt]{report}
\usepackage{array}
\begin{document}
\[
\left[\begin{array}{@{}ccc|c@{}}
1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4
\end{array}\right]
\]
\end{document}

效果很好。我只是喜欢垂直线,无论是虚线还是彩色线,比如红色,以使其更清晰。

在此处输入图片描述

我不能使用 arydshln因为这个包破坏了很多东西。例如,它在加载 longtable 时不起作用,并且它不能与 tex4ht 一起使用。

但是数组本身是可以工作的。我只是不知道如何就地或在序言中添加宏来告诉它使那条垂直线变成虚线或不同的颜色。我更喜欢不使用 tikz 的答案,只是为了保持简单。如果可能的话,我希望答案可以在 lualatex 和 tex4ht 中工作,因为我将相同的源代码编译为 PDF 和 HTML。

但如果它只适用于 PDF(即使用 lualatex),那也可以。

TL 2020

答案1

以下是彩色垂直规则的解决方案:

\documentclass[12pt]{report}

\usepackage{xcolor, array, bigstrut}

\begin{document}
\[
\left[\begin{array}{@{}ccc!{\color{red}\vline width 0.6pt}c@{}}
1 & 2 & 3 & 4 \bigstrut[t]\\
1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4
\end{array}\right]
\]
\end{document}

在此处输入图片描述

答案2

该包提供了垂直虚线的nicematrix说明符。该包加载 PGF。:

\documentclass[12pt]{report}    
\usepackage{nicematrix, bigstrut}    
\begin{document}
\[
\begin{bNiceArray}{ccc:c}
1 & 2 & 3 & 4 \bigstrut[t]\\
1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4 \\
1 & 2 & 3 & 4
\end{bNiceArray}
\]
\end{document}

上述代码的输出

相关内容