如何使用 调整序言中矩阵的行距和列距\setstretch
?
我的原始代码是:
\documentclass{article}
\usepackage{mathtools}
\usepackage{setspace}
\setstretch{1.5}
\everydisplay\expandafter{\the\everydisplay\def
\baselinestretch{1.5}
\setlength\arraycolsep{3.5pt}\selectfont}
\renewcommand{\arraystretch}{0.68}
\begin{document}
\[ \begin{pmatrix*}
a & b \\
c & d
\end{pmatrix*} \]
\end{document}
我不知道代码哪里出错了,所以请求帮助。首先,代码中只有公式,但是\setstretch{1.5}
为了文本的可读性而使用的。但是,这个命令也影响了矩阵的行距,所以我曾经\renewcommand{\arraystretch}{0.68}
调整过行距。我曾经\setlength\arraycolsep{3.5pt}
调整过矩阵中的列距,但奇怪的是,如果没有前面的 ,这个代码就不起作用\baselinestretch
。
答案1
我建议您加载该etoolbox
包并在每次启动环境时使用它的\AtBeginEnvironment
宏作为指令的前缀。希望您的文档只有少数几个需要关注的矩阵式环境。\setstretch{1.0}
pmatrix*
我进一步建议您\setlength\arraycolsep{3.5pt}
在序言中运行一次,以使此设置成为全局设置。最后,我认为您应该setspace
使用选项加载包nodisplayskipstretch
。
\documentclass{article}
\usepackage{lipsum}
\usepackage{mathtools} % for 'pmatrix*' environment
\usepackage[nodisplayskipstretch]{setspace} % note the 'nodisplayskipstretch' option
\setstretch{1.5}
\usepackage{etoolbox} % for '\AtBeginEnvironment' directive
\AtBeginEnvironment{array}{\setstretch{1.0}}
\AtBeginEnvironment{pmatrix}{\setstretch{1.0}}
\AtBeginEnvironment{pmatrix*}{\setstretch{1.0}}
% etc for other matrix-like envionments that may be in your document
\setlength\arraycolsep{3.5pt} % make this choice global
\begin{document}
\lipsum[2] % filler text
\[
\left(\begin{array}{@{} cc @{}} a & b \\ c & d \end{array}\right)
\qquad
\begin{pmatrix} a & b \\ c & d \end{pmatrix}
\qquad
\begin{pmatrix*} a & b \\ c & d \end{pmatrix*}
\]
\lipsum[2] % more filler text
\end{document}