我想要排版以下一组方程式:
...但在列向量中有连续的垂直虚线,使得矩阵和向量的顶行和底行很好地对齐。
\vdots
在这里似乎不是正确的选择,因为我用它来制作上面的图形。代码如下:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{pmatrix}
a_1 & b_1 & & & &\\
c_2 & a_2 & b_2 & & &\\
& c_3 & a_3 & b_3 & &\\
& & c_4 & a_4 & b_4 &\\
& & & c_5 & a_5 & b_5\\
& & & & c_6 & a_6
\end{pmatrix}
\begin{pmatrix}
T_1\\
\vdots\\
\vdots\\
\vdots\\
\vdots\\
T_6
\end{pmatrix}=
\begin{pmatrix}
d_1\\
\vdots\\
\vdots\\
\vdots\\
\vdots\\
d_6
\end{pmatrix}
\end{equation}
\end{document}
如果这不是数学符号约定方面的好风格(我不知道),那么我当然会写出向量的元素。欢迎澄清。
答案1
你可以这样做,只要你的主矩阵没有异常大的对象(否则你可以使用第一个参数来\dottedcolumn
接受十进制数)。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\dottedcolumn}[3]{%
\settowidth{\dimen0}{$#1$}
\settowidth{\dimen2}{$#2$}
\ifdim\dimen2>\dimen0 \dimen0=\dimen2 \fi
\begin{pmatrix}\,
\vcenter{
\kern.6ex
\vbox to \dimexpr#1\normalbaselineskip-1.2ex{
\hbox{$#2$}
\kern3pt
\xleaders\vbox{\hbox to \dimen0{\hss.\hss}\vskip4pt}\vfill
\kern1pt
\hbox{$#3$}
}\kern.6ex}\,
\end{pmatrix}
}
\begin{document}
\begin{equation}
\begin{pmatrix}
a_1 & b_1 & & & &\\
c_2 & a_2 & b_2 & & &\\
& c_3 & a_3 & b_3 & &\\
& & c_4 & a_4 & b_4 &\\
& & & c_5 & a_5 & b_5\\
& & & & c_6 & a_6
\end{pmatrix}
\dottedcolumn{6}{T_1}{T_6}=\dottedcolumn{6}{d_1}{d_6}
\end{equation}
\end{document}
答案2
从中获取一些代码如何得到好的“被整除”符号?,您可以创建自己的\vdots
具有任意数量预定义点的点。在这里我定义了\sixvdots
:
\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newcommand{\sixvdots}{%
\vbox{\baselineskip1ex\lineskiplimit0pt%
\hbox{.}\hbox{.}\hbox{.}\hbox{.}\hbox{.}\hbox{.}}}
\begin{document}
\begin{equation}
\begin{pmatrix}
a_1 & b_1 & & & &\\
c_2 & a_2 & b_2 & & &\\
& c_3 & a_3 & b_3 & &\\
& & c_4 & a_4 & b_4 &\\
& & & c_5 & a_5 & b_5\\
& & & & c_6 & a_6
\end{pmatrix}
\begin{pmatrix}
T_1\\
\sixvdots\\
T_6
\end{pmatrix}=
\begin{pmatrix}
d_1\\
\sixvdots\\
d_6
\end{pmatrix}
\end{equation}
\end{document}
增加值会\baselineskip
拉伸点。
答案3
nicematrix
我建议使用具有专门针对此问题的功能的软件包。
只需在序言中添加:
\usepackage{nicematrix}
\NiceMatrixOptions{renew-dots,renew-matrix,nullify-dots}
这是完整的代码。
\documentclass{article}
\usepackage{amsmath}
\usepackage{nicematrix}
\NiceMatrixOptions{renew-dots,renew-matrix,nullify-dots}
\begin{document}
\begin{equation}
\begin{pmatrix}
a_1 & b_1 & & & &\\
c_2 & a_2 & b_2 & & &\\
& c_3 & a_3 & b_3 & &\\
& & c_4 & a_4 & b_4 &\\
& & & c_5 & a_5 & b_5\\
& & & & c_6 & a_6
\end{pmatrix}
\begin{pmatrix}
T_1\\
\vdots\\
\vdots\\
\vdots\\
\vdots\\
T_6
\end{pmatrix}=
\begin{pmatrix}
d_1\\
\vdots\\
\vdots\\
\vdots\\
\vdots\\
d_6
\end{pmatrix}
\end{equation}
\end{document}