O texto no ambiente matemático no algoritmo2e tem tipografia diferente quando colocado dentro de um loop for

O texto no ambiente matemático no algoritmo2e tem tipografia diferente quando colocado dentro de um loop for

O seguinte 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}

resulta em: insira a descrição da imagem aqui

Como você pode ver, o texto maxpossui duas tipografias diferentes. Na forinstrução de loop, está em itálico enquanto eu quero que permaneça como na linha 1 do algoritmo.

Tentei colocar \displaystylemas não mudou. Remover o comando \textna linha dois também não funciona.

Responder1

O comando \textserve para inserções textuais em fórmulas, respeitando a fonte vigente fora da fórmula.

O texto interno \Fore outros comandos semelhantes algorithm2esão escritos em itálico.

De qualquer forma, o seu “max” não é uma inserção textual e devesempreser digitado como \mathrm{max}(ou, com um leve abuso, \max).

Aqui utilizo ambos, apenas para mostrar que o resultado é o mesmo, mas \mathrm{max}é conceitualmente melhor (e se aplica a outras abreviações semelhantes em fórmulas).

\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}

insira a descrição da imagem aqui

informação relacionada