我使用amsthm
和clrscode
排版算法。我希望我的算法有编号,所以我这样做:
\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
在这里本地工作,所以在代码框结束后斜体形状将恢复。