algorithm2e if 子句中没有斜体

algorithm2e if 子句中没有斜体

为什么algorithm2e变量anychangedone斜体排版,我该如何关闭它?如何删除 -clause 后面的done分号until

在此处输入图片描述

$\textsf{anychange} \gets \textsf{false}$ \\
\Repeat{$\textsf{done}$}{

    $\textsf{done} \gets \textsf{true}$ \\
    \ParallelFor{$u \in V$} {
        $\delta \gets \max_{v \in N(u)} \left \{ \Delta mod(v, \zeta(u) \rightarrow \zeta(v)) \right \} $\\
        $C \gets \zeta(\arg\max_{v \in N(u)} \left \{ \Delta mod(v, \zeta(u) \rightarrow \zeta(v)) \right \} ) $\\
        \If{$\delta > 0$}{
            $\zeta(u) \leftarrow C$ \\
            $\textsf{done} \gets \textsf{false}$ \\
            $\textsf{anychange} \gets \textsf{true}$ \\
        }
    }
}
\If{$\textsf{anychange}$}{
    $G' \leftarrow$ \textsf{contract}$(G, \zeta)$ \\
    $\zeta \gets$ \textsf{prolong(PLM$(G')$)} \\
}

答案1

algorithm2e避免在语句末尾\DontPrintSemicolon打印;。结构的条件参数设置在斜体。您可以根据需要使用以下方法覆盖此设置\upshape

在此处输入图片描述

\documentclass{article}
\usepackage{algorithm2e}% http://ctan.org/pkg/algorithm2e
\begin{document}
\begin{algorithm}
\DontPrintSemicolon
$\textsf{anychange} \gets \textsf{false}$ \\
\Repeat{$\textsf{\upshape done}$}{

    $\textsf{done} \gets \textsf{true}$ \\
    \For{$u \in V$} {
        $\delta \gets \max_{v \in N(u)} \left \{ \Delta mod(v, \zeta(u) \rightarrow \zeta(v)) \right \} $\\
        $C \gets \zeta(\arg\max_{v \in N(u)} \left \{ \Delta mod(v, \zeta(u) \rightarrow \zeta(v)) \right \} ) $\\
        \If{$\delta > 0$}{
            $\zeta(u) \leftarrow C$ \\
            $\textsf{done} \gets \textsf{false}$ \\
            $\textsf{anychange} \gets \textsf{true}$ \\
        }
    }
}
\If{$\textsf{\upshape anychange}$}{
    $G' \leftarrow$ \textsf{contract}$(G, \zeta)$ \\
    $\zeta \gets$ \textsf{prolong(PLM$(G')$)} \\
}
\end{algorithm}
\end{document}

相关内容