在整个文档中,我对整个文档使用了 \renewcommand{\baselinestretch}{1.5}。现在我想仅将 \usepackage{algorithm2e} 中的算法环境设置为正常间距,我该怎么做?
\documentclass{article}
\usepackage{algorithm2e}
\begin{document}
%\renewcommand{\baselinestretch}{1.5}
\RestyleAlgo{ruled}
I want my main text to be baselinestretch 1.5. by using renewcommand{baselinestretch}{1.5}
\begin{algorithm}
\caption{Triple Rapid}\label{alg:three}
%\KwData{Write here the required data}
%\KwResult{Write here the expected result}
Initialization: A list of distinct integers $x = \{x_1,x_2,\dots,x_n\}$\;
\eIf{$n\leq 1$}{
Return $x$
}{
Set Pivot $p = x$\;
Extract list of elements $x'$ less than $p$\;
Extract list of elements $x''$ greater than $p$\;
Return (\text{TripleRapid}($x'$), $p$, \text{TripleRapid}($x''$))\;
}
\end{algorithm}
\end{document}
如果我使用\renewcommand{\baselinestretch}{1.5}
,算法将给出类似这样的结果
但是我想要像这样的东西
答案1
而不是在使用\baselinestretch
之后进行更改\begin{document}
\linespread{1.5}
前它。
setspace
无论如何,如果您确实需要扩大行间空间及其\onehalfspacing
命令,我建议使用。
\documentclass{article}
\usepackage{algorithm2e}
\usepackage{setspace}
\usepackage{lipsum} % for mock text
\RestyleAlgo{ruled}
\AtBeginEnvironment{algorithm}{%
\singlespacing
\renewcommand{\arraystretch}{1}%
}
\onehalfspacing
\renewcommand{\arraystretch}{0.8} % because \baselinestretch is 1.25
\begin{document}
\lipsum[3]
\begin{algorithm}
\caption{Triple Rapid}\label{alg:three}
%\KwData{Write here the required data}
%\KwResult{Write here the expected result}
Initialization: A list of distinct integers $x = \{x_1,x_2,\dots,x_n\}$\;
\eIf{$n\leq 1$}{
Return $x$
}{
Set Pivot $p = x$\;
Extract list of elements $x'$ less than $p$\;
Extract list of elements $x''$ greater than $p$\;
Return $(\mathrm{TripleRapid}(x'), p, \mathrm{TripleRapid}(x''))$\;
}
\end{algorithm}
\lipsum[3]
\end{document}
的重新定义\arraystretch
确保矩阵不会因扩大而受到破坏\baselinestretch
。
如果您确实想要1.5
,请说\setstretch{1.5}
和,而不是0.8
使用0.66667
。
请注意我对第二行“返回”所做的更改:您应该有一个数学公式。