我用它setspace
来改变文本的间距。
\usepackage{setspace}
\setstretch{1.435}
可以通过改变方程中的间距来管理\arraystretch
@egreg 的方法这里
\usepackage{etoolbox}
\pretocmd{\array}{\renewcommand{\arraystretch}{0.69686}}{}{} % 1/1.435=0.69686
或@campa 的方法这里
\usepackage[nodisplayskipstretch]{setspace}
\setstretch{1.435}
\everydisplay=\expandafter{\the\everydisplay\setstretch{1.0}}
\arraystretch
然而,无论哪种方式,表中的行间距都是信号间距,不能通过改变或中的值来改变\setstretch
。
我更愿意稍微增加表格中的行间距而不是信号间距。我该怎么做?
\documentclass{article}
\usepackage{lipsum} % just for this example
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{setspace}
\setstretch{1.435}
\usepackage{etoolbox}
\pretocmd{\array}{\renewcommand{\arraystretch}{1}}{}{} % increase a little for the row spacing in equations
\begin{document}
\lipsum*[1]
\begin{equation}
X=\begin{cases}
\frac{1}{2}, & \text{if $a=1$} \\
\frac{3}{2} & \text{otherwise}
\end{cases}
\end{equation}
\begin{table}[htbp]
\centering
\caption{Changing the row spacing in the table}
\begin{tabular}{ c c c }
\toprule
cell1 & cell2 & cell3 \\
\midrule
cell4 & cell5 & cell6 \\
cell7 & cell8 & cell9 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案1
对于多行方程的间距,可以使用 的spreadlines
环境mathtools
。它不适用于普通cases
环境,但您可以使用 引入的此环境的变体mathtools
。
对于表格,您可以使用cellspace
,它定义了以字母为前缀的说明符的列中单元格顶部和底部的最小垂直间距S
(或者C
如果您加载siunitx
)。最后,我建议加载caption
包,它使您能够设置标题和浮动之间的跳过。
下面是一个夸张的示例代码:
\documentclass{article}
\usepackage{lipsum} % just for this example
\usepackage{mathtools, empheq, nccmath}
\usepackage{booktabs, caption}
\captionsetup{skip=20pt}
\usepackage[math]{cellspace}
\renewcommand{\cellspacetoplimit}{10pt}
\renewcommand{\cellspacebottomlimit}{10pt}
\usepackage{etoolbox}
\BeforeBeginEnvironment{equation}{\begin{spreadlines}{20pt}}%{\spreadlines{20pt}}%
\AfterEndEnvironment{equation}{\end{spreadlines}}
\BeforeBeginEnvironment{empheq}{\begin{spreadlines}{20pt}}%{\spreadlines{20pt}}%
\AfterEndEnvironment{empheq}{\end{spreadlines}}
\usepackage{setspace}
\setstretch{1.435}
\pretocmd{\array}{\renewcommand{\arraystretch}{1}}{}{} % increase a little for the row spacing in equations
\begin{document}
\lipsum*[1]
\begin{equation}
X=\begin{cases*}
\mfrac{1}{2}, & \text{if $a=1$} \\
\mfrac{3}{2} & \text{otherwise}
\end{cases*}
\end{equation}
\begin{empheq}[left ={ X = \empheqlbrace}]{alignat*=2}
& \mfrac{1}{2}, &\quad & \text{if $a=1$} \\
& \mfrac{3}{2} & & \text{otherwise}
\end{empheq}
\begin{table}[htbp]
\centering
\caption{Changing the row spacing in the table}
\begin{tabular}{ Sc c c }
\toprule
cell1 & cell2 & cell3 \\
\midrule
cell4 & cell5 & cell6 \\
cell7 & cell8 & cell9 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}