algorithm2e 程序中打字机字体的不同外观

algorithm2e 程序中打字机字体的不同外观

假设我们有一个过程,在这个过程中,我们想要迭代一个对象,并且希望通过在texttt字体中写入来指定该对象的数据类型。我试过

\documentclass{article}

\usepackage{algorithm2e}
\usepackage{amsmath}

\begin{document}

\begin{procedure}
      \For{$x\in\texttt{myArray}$}{
        $\texttt{MyArray}\gets\texttt{MyArray}.\text{append}(x)$} 
    \caption{MyProcedure()}
\end{procedure}\DecMargin{1em}

\end{document}

代码输出

但是,\texttt{MyArray}在 for 循环和循环主体中看起来不同。我们怎样才能让它两次都看起来像在循环主体中一样?我已经尝试将其置于数学模式之外,但它没有改变。

答案1

您可以使用\mathtt

在此处输入图片描述

\documentclass{article}

\usepackage{algorithm2e}
\usepackage{amsmath}

\begin{document}

\begin{procedure}
      \For{$x\in\mathtt{myArray}$}{
        $\mathtt{MyArray} \gets \mathtt{MyArray}.\text{append}(x)$} 
    \caption{MyProcedure()}
\end{procedure}\DecMargin{1em}

\end{document}

答案2

您可以切换到直立字体:

\documentclass{article}

\usepackage{algorithm2e}
\usepackage{amsmath}

\begin{document}

\begin{procedure}
      \For{$x\in$ \upshape\texttt{myArray}}{
        \texttt{MyArray} $\gets$ \texttt{MyArray}.append(x)} 
    \caption{MyProcedure()}
\end{procedure}\DecMargin{1em}

\end{document}

在此处输入图片描述

相关内容