我对 Latex 还很陌生,正在尝试编写一个总矩阵的解决方案。我使用过这个:
\end{array}\right)$$=$$\left(\begin{array}{cccc|c}
1 & 0 & 0 & -\frac{1}{2}t & 0\\
0 & 0 & 0 & -\frac{1}{4}t & 0\\
0 & 0 & 1 & \frac{1}{4}t & 0\\
0 & 0 & 0 & 0 & 0
\end{array}\right)$\\\\
\end{array}\right)$$=$$\left(\begin{array}{cccc|c}
1 & 0 & 0 & -\frac{1}{2}t & 0\\
0 & 0 & 0 & -\frac{1}{4}t & 0\\
0 & 0 & 1 & 28978 & 0\\
0 & 0 & 0 & 0 & 0
\end{array}\right)$\\\\
问题是我有一大堆这样的,有些比其他的宽,看起来不太好看。
有什么方法可以声明我创建的所有数组的特定大小吗?
答案1
(在收到 OP 的进一步信息后彻底修改了这个答案)
我不确定我是否理解了您的array
环境的性质。它们似乎都有五列,并且第四列可以包含宽度相差很大的条目。此外,假设任何数组的第四列中最宽的单个条目是数字“28978”。如果是这样,只需将可变宽度的c
列类型替换为固定宽度的列类型即可,如下面的代码所示。
\documentclass{article}
\newlength\mylen
\settowidth{\mylen}{$28978$} % calculate width of widest element
\usepackage{array} % for "\newcolumntype" macro
\newcolumntype{Q}{>{\centering$}p{\mylen}<{$}}
\begin{document}
\renewcommand\arraystretch{1.33}
\[
\left(\begin{array}{cccQ|c}
1 & 0 & 0 & -\frac{1}{2}t & 0\\
0 & 0 & 0 & -\frac{1}{4}t & 0\\
0 & 0 & 1 & \frac{1}{4}t & 0\\
0 & 0 & 0 & 0 & 0
\end{array}\right)
\]
\[
\left(\begin{array}{cccQ|c}
1 & 0 & 0 & -\frac{1}{2}t & 0\\
0 & 0 & 0 & -\frac{1}{4}t & 0\\
0 & 0 & 1 & 28978 & 0\\
0 & 0 & 0 & 0 & 0
\end{array}\right)
\]
\end{document}
答案2
您可以使用tabularx
来修复总宽度
\begin{tabularx}{8cm}{|l|X|l|X|}
\hline A&B&C&D\\
\hline
\end{tabularx}
答案3
如果您接受将两个矩阵放在同一个数组中,则可以{NiceArray}
使用nicematrix
。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\NiceMatrixOptions{cell-space-limits=2pt,vlines-in-sub-matrix=I}
$\begin{NiceArray}{ccccIc}
1 & 0 & 0 & -\frac{1}{2}t & 0 \\
0 & 0 & 0 & -\frac{1}{4}t & 0 \\
0 & 0 & 1 & \frac{1}{4}t & 0 \\
0 & 0 & 0 & 0 & 0 \\[5mm]
1 & 0 & 0 & -\frac{1}{2}t & 0 \\
0 & 0 & 0 & -\frac{1}{4}t & 0 \\
0 & 0 & 1 & 28978 & 0 \\
0 & 0 & 0 & 0 & 0 \\
\CodeAfter
\SubMatrix({1-1}{4-5})
\SubMatrix({5-1}{8-5})
\end{NiceArray}$
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。