重置 algoritm2e 的默认字体和样式

重置 algoritm2e 的默认字体和样式

我正在使用带有无衬线字体的(必需)模板,但我想保留算法的默认字体。

我正在使用带有多个字母的变量的伪代码,因此我在 algorithm2e 中使用该变量名定义了一个数据类型,因为我被告知在数学模式下,LaTeX 将没有空格的多个变量理解为几个单字母变量的乘积,而不是变量的长名称。

但是,由于我必须使用无衬线字体,所以我的变量也使用该字体,而且看起来不太好,因为它与单个变量不同。

我尝试使用斜体 Computer Modern 字体......

我的代码:

\documentclass[10pt,a4paper,twoside]{report}

\usepackage[linesnumbered,ruled,vlined,algochapter]{algorithm2e}
\DontPrintSemicolon
\SetAlFnt{crm}
\SetDataSty{it}

\SetKwData{Result}{result}

% Use Arial font as default
\renewcommand{\rmdefault}{phv}
\renewcommand{\sfdefault}{phv}

\begin{document}

\begin{algorithm}
  \KwIn{ \(x\) and \(y\)  }
  \KwOut{ \Result }

  \( \Result \leftarrow x + y \) \;

  \Return{ \Result  }

  \caption{ This is a caption }
\end{algorithm}

In here I talk about the \Result of \(x + y \).
\end{document}

外观:

结果

我希望它看起来如何:

预期结果

(“结果”看起来与“x”和“y”的字体相同,但标题也发生了变化……)

答案1

看来我成功了,因为我找到了关于 algorithm2e 中的排版和关于默认数学模式字体。

\newcommand{\myargfont}{\itshape\fontfamily{lmr}\selectfont}
\SetDataSty{myargfont}

我不太确定字体(因为链接谈论的是拉丁现代数学,而不是我在这里使用的拉丁现代罗马字体),所以如果有人想纠正我,请这样做!

完整代码:

\documentclass[10pt,a4paper,twoside]{report}

\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
\DontPrintSemicolon
\newcommand{\myargfont}{\itshape\fontfamily{lmr}\selectfont}
\SetDataSty{myargfont}
\SetKwData{Result}{result}    
% Use Arial font as default
%
\renewcommand{\rmdefault}{phv}
\renewcommand{\sfdefault}{phv}

\begin{document}

\begin{algorithm}
  \KwIn{\(x\) and \(y\)}
  \KwOut{\Result}
  \(\Result\leftarrow x + y\) \;
  \Return{\Result}
  \caption{ This is a caption }
\end{algorithm}

In here I talk about the \Result of \(x + y\).
\end{document}

相关内容