我正在使用带有无衬线字体的(必需)模板,但我想保留算法的默认字体。
我正在使用带有多个字母的变量的伪代码,因此我在 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}