& 符号算法环境

& 符号算法环境

如何在算法环境中制作一个看起来“正常”的“&”符号?

我正在使用\&但这会导致出现如下所示的奇怪字符:

enter image description here

下面是我如何使用 & 符号的简单示例

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ruled,linesnumbered]{algorithm2e}

\begin{document}
    \begin{algorithm}[H]
      \If{$b$ \& $0x01$} {
        $p \leftarrow p \oplus a$\;  
      }
    \end{algorithm}
\end{document}

答案1

这就是你使用的 Computer Modern 字体中斜体 & 符号的样子。如果你不喜欢它,可以强制它向上右:\textup{\&}。或者,您可以使用\textsl{\&}来获取斯洛文尼亚倾斜的外观,类似于直立版本,但倾斜以看起来类似于斜体文本:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ruled,linesnumbered]{algorithm2e}

\begin{document}
    \begin{algorithm}[H]
      \If{$b$ \textup\& $0x01$ or $b$ \textsl\& $0x80$} {
        $p \leftarrow p \oplus a$\;  
      }
    \end{algorithm}
\end{document}

output

答案2

如果您打算将其用作&数学符号,则当它出现在数学公式中时,这样定义它会很方便:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ruled,linesnumbered]{algorithm2e}

\DeclareMathSymbol{\mathampersand}{\mathrel}{operators}{`&}
\let\textampersand\&
\DeclareRobustCommand{\&}{%
  \ifmmode
    \mathampersand
  \else
    \textampersand
  \fi
}

\begin{document}

\begin{algorithm}[H]
\caption{Foo \& bar}

\If{$b \& \mathtt{0x01}$} {
  $p \leftarrow p \oplus a$\;
}
\end{algorithm}

\end{document}

enter image description here

相关内容