禁用 algorithm2e 程序名称中的斜体

禁用 algorithm2e 程序名称中的斜体

我想全局禁用程序名称中的斜体样式。

我见过这个帖子这是关于一个类似的问题,建议使用\SetArgSty{upshape}在 algorithm2e 的 if 条件中全局禁用斜体。我想做同样的事情,但针对程序名称。在algorithm2e 手册,我看到存在类似的\SetProgSty命令,但它似乎不能解决我的问题:

\documentclass{article}
\usepackage[vlined,boxed,linesnumbered]{algorithm2e}
\SetProgSty{upshape}
\SetKwProg{Operation}{operation}{ is}{}

\begin{document}
\begin{algorithm}[ht]
    \Operation{add\_one$(x)$}{\textsf{return} $x+1$}
\end{algorithm}
\end{document}

我得到的是:

假发

我想要的是:

无线网

我尝试了所有其他\Set...Sty命令,并且也尝试了relaxtextnormal而不是upshape,但似乎没有任何效果。

请问该怎么做?

答案1

\documentclass{article}
\usepackage[vlined,boxed,linesnumbered]{algorithm2e}
\SetProgSty{upshape}
\SetKwProg{Operation}{operation}{ is}{}

\renewcommand{\ProgSty}[1]{\textnormal{#1}\unskip} % removed \emph{}

\begin{document}
\begin{algorithm}[ht]
    \Operation{add\_one$(x)$}{\textsf{return} $x+1$}
\end{algorithm}
\end{document}

在此处输入图片描述

相关内容