在伪代码中调整行大小和除法操作数

在伪代码中调整行大小和除法操作数

我刚开始使用乳胶(今天),因为我想用专业的方式格式化论文所需的一些伪代码。所以这可能是一个蹩脚的问题,但找不到任何相关的东西。

我的问题是,当使用\frac命令算法包中,行高恒定使得分数很小,难以阅读。以下是示例:

有没有办法放大行高和缩小的部分?我还注意到,其他作者使用 / 运算符代替\fract,但我宁愿不这样做,我的公式很长,这会使它们更难阅读,而不是因为字体大小。我不需要恒定的行高,而是需要可读的代码。

答案1

如果你加载数学你可以写;否则可以使用\dfrac{A}{\sqrt{h}}几乎等效的代码。但是{\displaystyle\frac{A}{\sqrt{h}}数学有许多其他功能,当文档中的数学运算不仅仅是几个简单的公式时,这些功能就派上用场了。

答案2

如果您希望特定行之间有更多的垂直空间,您可以打破算法,引入所需的空间,然后恢复算法,如 algorithmx 文档中所述(5.2分解算法)。一个小例子(注意第二行周围的额外垂直空间):

\documentclass{book}
\usepackage{amsmath}
\usepackage{algorithmicx}

\begin{document}

\begin{algorithmic}[1]
  \State $sum\gets 0$
  \algstore{bkbreak}
\end{algorithmic}\vskip0.3em
\begin{algorithmic}[1]
  \algrestore{bkbreak}
  \State $i\gets \dfrac{A}{\sqrt{h}}$
  \algstore{bkbreak}
\end{algorithmic}\vskip0.3em
\begin{algorithmic}[1]
  \algrestore{bkbreak}
  \State $sum\gets sum+i$
  \State $i\gets i+1$
\end{algorithmic}

\end{document}

编辑:这是相同的示例算法,但带有标题:

\documentclass{book}
\usepackage{amsmath}
\usepackage{algorithmicx,algorithm}

\begin{document}

\begin{algorithm}
\caption{A test algorithm}
\begin{algorithmic}[1]
  \State $sum\gets 0$
  \algstore{bkbreak}
\end{algorithmic}\vskip0.3em
\begin{algorithmic}[1]
  \algrestore{bkbreak}
  \State $i\gets \dfrac{A}{\sqrt{h}}$
  \algstore{bkbreak}
\end{algorithmic}\vskip0.3em
\begin{algorithmic}[1]
  \algrestore{bkbreak}
  \State $sum\gets sum+i$
  \State $i\gets i+1$
\end{algorithmic}
\end{algorithm}

\end{document}

相关内容