排版算法时定理中的正常字体

排版算法时定理中的正常字体

我使用amsthmclrscode排版算法。我希望我的算法有编号,所以我这样做:

\theoremstyle{plain}
\newtheorem{algorithm}[equation]{Algorithm}

\begin{algorithm}
The folowing algorithm does something. This text should stay in italics.

\begin{codebox}
\Procname{$\proc{Do-Something}(x,y)$}
\li \Return $0$ \Comment{here italics should be disabled}
\end{codebox}

\end{algorithm}

普通定理样式将定理名称和编号用粗体显示,我喜欢这种样式,并将定理陈述用斜体显示,我也喜欢这种样式。不幸的是,对于算法,整个算法都用斜体显示,这看起来很糟糕。所以,对于算法,我想关闭斜体。

我该怎么做?是否有任何环境可用于暂时禁用斜体codebox?如果可能的话,我不想创建任何新的定理样式。

答案1

宏在环境\code@init开始时运行codebox。您可以\normalfont向其中添加内容,这也会禁用之前设置的斜体模式:

\makeatletter
\g@addto@macro\code@init\normalfont
\makeatother

\normalfont分别\code@init在这里本地工作,所以在代码框结束后斜体形状将恢复。

算法示例

相关内容