tabularray:缩短 vline

tabularray:缩短 vline

是否可以缩短 `tabularray 中的垂直线?我想将其用于增强矩阵,如下所示,但我发现线太长了:

\documentclass[a4paper]{article} 
\usepackage{amsmath}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}

\begin{document}
\begin{equation*}
M =
\begin{+pmatrix}[vline{Y,Y} = {1,Z}{.1pt}]
123 & 2  & 9    & 3 \\
1   & -3 & -600 & 3 \\
\end{+pmatrix}
\end{equation*}
\end{document}

在此处输入图片描述

答案1

您可以使用选项aboveposbelowpos。使用值 时-1,“vline 被修剪rowsep”,如手册中所述。但是,您需要为上行和下行分别定义它:

\documentclass[a4paper]{article} 
\usepackage{amsmath}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}

\begin{document}
\begin{equation*}
M =
\begin{+pmatrix}[
        vline{Y} = {1}{abovepos = -1}, 
        vline{Y} = {Z}{belowpos = -1}
    ]
123 & 2  & 9    & 3 \\
1   & -3 & -600 & 3 \\
\end{+pmatrix}
\end{equation*}
\end{document}

在此处输入图片描述

如果您想添加第三行或更多行,您还需要定义这些中间行:

\documentclass[a4paper]{article} 
\usepackage{amsmath}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}

\begin{document}
\begin{equation*}
M =
\begin{+pmatrix}[
        vline{Y} = {1}{abovepos = -1}, 
        vline{Y} = {2-Y}{},
        vline{Y} = {Z}{belowpos = -1}
    ]
123 & 2  & 9    & 3 \\
1   & -3 & -600 & 3 \\
1   & -3 & -600 & 3 \\
1   & -3 & -600 & 3 \\
\end{+pmatrix}
\end{equation*}
\end{document}

在此处输入图片描述

我将线宽改为默认的 0.4 pt,因为我认为 0.1 pt 有点太细了。不过您可以随意更改vline{Y} = {1}{0.1pt, abovepos = -1}或更改成您喜欢的任何值。

答案2

在矩阵之间有一个有趣的包,叫做spalign。用法:\spalignaugmatn [column alignment]{augmented columns}{text} 生成一个矩阵,其中垂直分隔线位于矩阵右侧的增强列。列对齐被解释为\spalignmat;默认值为r。结果很好,它是nicematrixtabularray

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{spalign}


\begin{document}
\[\spalignaugmatn[l]{1}{123 2 9 3;1 -3 -600 3}\]
\[\spalignaugmatn[c]{1}{123 2 9 3;1 -3 -600 3}\]
\[\spalignaugmatn[r]{1}{123 2 9 3;1 -3 -600 3}\]
\end{document}

在此处输入图片描述

相关内容