基本上,我想要一个\vdotsfor
命令,它可以\hdotsfor
执行垂直点以外的操作。需要增加两行上的点间距,这样看起来会很漂亮,而不必\vdots
在两行上都使用两个。(与此相关的另一个线程有一些代码,但它对我没有任何作用。)
答案1
我不确定这是否是原帖作者想要的:基本上,我在\multirow
命令中放置了垂直点,使跨度适应跨度行数。间距不起作用,所以我提供了一个额外的参数来垂直移动它。
\documentclass{article}
\usepackage{multirow}
\newcommand{\vdotrows}[2][-15pt]{%
\multirow{#2}{*}{%
\vbox {%
\baselineskip = \dimexpr 2pt\relax
\multiply\baselineskip by #2\relax
\advance\baselineskip by 2pt\relax
\lineskiplimit = 0pt\relax
\kern 6pt\relax
\vskip #1\relax%
\hbox {.}\hbox {.}\hbox {.}}%
}%
}
\begin{document}
\[
\left(
\begin{array}{ccccc}
1 & 2 & \cdots & 2 & 2 \\
\vdotrows[4pt]{3} & 1 & & & 2 \\
& \vdotrows{2} & \ddots & & \vdots \\
& & & 1 & 2 \\
1 & 1 & \cdots & 1 & 1 \\
\end{array}
\right)
\]
\end{document}
答案2
在其环境中,该包提供了类似于的nicematrix
命令。可以自定义该点规则。\vdotsfor
\hdotsfor
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{gather}
\begin{pNiceArray}{ccccc}
1 & 2 & \cdots & 2 & 2 \\
\Vdotsfor{3} & 1 & & & 2 \\
& \Vdotsfor{2} & \ddots & & \vdots \\
& & & 1 & 2 \\
1 & 1 & \cdots & 1 & 1 \\
\end{pNiceArray} \\
\begin{pNiceArray}{ccccc}[xdots/shorten=3mm]
1 & 2 & \cdots & 2 & 2 \\
\Vdotsfor{3} & 1 & & & 2 \\
& \Vdotsfor{2} & \ddots & & \vdots \\
& & & 1 & 2 \\
1 & 1 & \cdots & 1 & 1 \\
\end{pNiceArray}
\end{gather}
\end{document}