algorithm2e 中数学环境中的文本在放入 for 循环中时会显示不同的排版

algorithm2e 中数学环境中的文本在放入 for 循环中时会显示不同的排版

以下 MWE:

% Created 2016-07-04 Mon 15:02
\documentclass[a4paper, 12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathtools, nccmath}

\usepackage[ruled, vlined, linesnumbered]{algorithm2e}

\begin{document}



\begin{algorithm}
    \DontPrintSemicolon
    $D_b^{\text{max}}$

    \For{${D_b^{\text{max}}}$}
    {
    }
  \end{algorithm}



\end{document}

结果是: 在此处输入图片描述

如您所见,文本max有两种不同的排版。在for循环指令中,它以斜体显示,而我希望它保持与算法第 1 行中的一样。

我尝试放入\displaystyle,但没有任何变化。删除\text第二行的命令也不起作用。

答案1

该命令\text用于在公式中插入文本,尊重公式外部的当前字体。

里面的文本\For和其他类似的命令algorithm2e以斜体印刷。

无论如何,你的“max”不是文本插入,应该总是可以输入为\mathrm{max}(或者,略带滥用,\max)。

这里我同时使用两者,只是为了表明结果相同,但\mathrm{max}概念上更好(并且适用于公式中的其他类似缩写)。

\documentclass[a4paper, 12pt]{article}
\usepackage{amsmath}

\usepackage[ruled, vlined, linesnumbered]{algorithm2e}

\begin{document}

\begin{algorithm}
    \DontPrintSemicolon
    $D_b^{\mathrm{max}}$

    \For{${D_b^{\max}}$}
    {
    }
  \end{algorithm}

\end{document}

在此处输入图片描述

相关内容