Текст в математической среде в algorithm2e имеет различную типографику при помещении внутрь цикла for

Текст в математической среде в algorithm2e имеет различную типографику при помещении внутрь цикла for

Следующие МВЭ:

% 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набраны курсивом.

В любом случае, ваш «макс» не является текстовой вставкой и долженвсегдабыть введено как \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}

введите описание изображения здесь

Связанный контент