我正在尝试创建一个pmatrix
其组成部分是相当复杂的分数(克里斯托费尔符号)的内容,并且行距太小导致整个内容有点拥挤且难以阅读。
有没有什么简单的方法可以增加间距(默认值大约 1.5 就很完美了)?
答案1
您可以重新定义\arraystretch
。这可以在本地、组或环境内进行。例如:
\begingroup
\renewcommand*{\arraystretch}{1.5}
% your pmatrix expression
\endgroup
但是您也可以在序言中这样做,然后它会对所有矩阵和数组产生影响。
这里重新定义了一个内部amsmath
LaTeX 宏,用于根据需要任意定制特定矩阵中的行距:
\makeatletter
\renewcommand*\env@matrix[1][\arraystretch]{%
\edef\arraystretch{#1}%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{*\c@MaxMatrixCols c}}
\makeatother
把这句话写进序言后,你可以这样写
\begin{pmatrix}[1.5]
...
pmatrix
使用、vmatrix
和类似方法随意改变值bmatrix
,或者像平常一样不使用可选参数使用它。
我在我的博客几年前。
完整的小例子来显示差异:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\renewcommand*\env@matrix[1][\arraystretch]{%
\edef\arraystretch{#1}%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{*\c@MaxMatrixCols c}}
\makeatother
\begin{document}
\[
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}
=
\begin{pmatrix}[1.5]
1 & 0 \\
0 & 1
\end{pmatrix}
\]
\end{document}
答案2
通过重新定义,\arraystretch
您可以更改所有行之间的垂直空间;使用可选参数,\\
您可以控制各个行的垂直空间:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\begin{pmatrix}
\dfrac{a}{b} & c\\
\dfrac{a}{b} & d\\
\dfrac{a}{b} & e
\end{pmatrix}
\]
\[
\renewcommand\arraystretch{2}
\begin{pmatrix}
\dfrac{a}{b} & c\\
\dfrac{a}{b} & d\\
\dfrac{a}{b} & e
\end{pmatrix}
\]
\[
\begin{pmatrix}
\dfrac{a}{b} & c \\[1em]
\dfrac{a}{b} & d\\[2em]
\dfrac{a}{b} & e
\end{pmatrix}
\]
\end{document}