アルゴリズムの条件は下線で示されます

アルゴリズムの条件は下線で示されます

私は擬似コードのタイプセットに algorithm2e を使用しています。 全体的には使いやすいのですが、while ループや for ループ、if ステートメント内の条件に下線を引く設定が見つからないようです。

\begin{algorithm}[H]
\LinesNumbered
\SetAlgoNoLine
\DontPrintSemicolon
\KwData{New relation $m_i(r_{new})m_j$}
\KwResult{An updated network where consequences of the new relation is inferred.}
\BlankLine
Add $(i,j)$ to Q\;
\While{Q is not empty} {

  (i, j) $\leftarrow$ Q.dequeue\;

  \For{k $\leftarrow$ 0 $\KwTo$ n} {
    $m_k(r_{new})m_j$ $\leftarrow$ $m_k(r)m_j \cup (m_k(r)m_i \circ m_i(r_{new})m_j)$\;
    \If {$m_k(r_{new})m_j \subset m_k(r)m_j$} {
      Q.enqueue($(k,j)$)\;
    }
  }

  \For{k $\leftarrow$ 0 $\KwTo$ n} {
    $m_i(r_{new})m_k$ $\leftarrow$ $m_i(r)m_k \cup (m_i(r_{new})m_j \circ m_j(r)m_k)$\;
    \If {$m_i(r_{new})m_k \subset m_i(r)m_k$} {
      Q.enqueue($(i,k)$)\;
    }
  }
}
\caption{Allen's Path Consistency}
\end{algorithm}

次のような結果になります:

ここに画像の説明を入力してください

基本的に、条件の下線を無効にしたいのですが、何か提案はありますか?

答え1

実際には、パッケージを削除する必要はありません。ulemパッケージは他の場所で役立つ可能性があるからです。パッケージによって提供されるコマンド\normalemとコマンドを使用してください。\ULforemulem

algorithm2eパッケージの条件は強調したulemパッケージデフォルトで斜体を下線に置き換える全て強調されたテキストなので、algorithm2eulemパッケージを一緒に使用すると下線が自動的に表示されます。

しかし幸いなことに、ulemパッケージには\normalemこのデフォルト機能を無効にするコマンド/オプションと、\ULforem有効にするコマンド/オプションが用意されています。これが私の解決策です:

\normalem %%%% disable auto underline

\begin{algorithm}[H]
    algorithms goes here ...
\end{algorithm}[H]

\ULforem %%%% enable auto underline

参照:

ulemマニュアル翻訳元: http://texdoc.net/texmf-dist/doc/generic/ulem/ulem.pdf

そして、これに似た例:ulem をロードした後、\emph を正常に戻す

答え2

どうやら、取り消し線に使用していたパッケージを削除するとulem、うまくいったようです。これで、期待どおりの形式でタイプセットされます。

関連情報