タイプライターフォントで安定した数学記号 & を作成するにはどうすればよいでしょうか?

タイプライターフォントで安定した数学記号 & を作成するにはどうすればよいでしょうか?

まず、最小限の動作サンプルは次のとおりです。

\documentclass{article}

\newcommand*\ttand{\mathord{\texttt{\&}}}

\begin{document}

$\ttand$

\itshape$\ttand$

\end{document}

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

ご覧のとおり、私は数学記号 & をタイプライターフォントで定義しました。しかし、 などの影響を受ける可能性があるため、これは安定していません\itshape。さらに、 は& では機能しないため、を に\bfseries置き換えても機能しません。\texttt\mathtt\mathttタイプライターフォントで安定した数学記号とを作成するにはどうすればよいでしょうか?

答え1

同じスコープ内の他のフォント コマンドによる干渉を防ぐために、アンパサンドを で囲み\textnormal、内部のフォントを等幅フォントに変更することを検討してください。これにより、アンパサンドが常に中程度の太さ、直立、等幅でタイプセットされるようになります。

\documentclass{article}

\newcommand*{\ttand}{\mathord{\textnormal{\ttfamily\&}}}

\begin{document}

\itshape $\ttand$ % shape

\bfseries$\ttand$ % weight

\sffamily$\ttand$ % family

\sffamily\scshape\bfseries$\ttand$ % or even all three!

\end{document}

答え2

私は を使います\mathtt

\documentclass{article}

\newcommand*\ttand{\mathtt{\mathchar\inteval{"7000+`\&}}}

\begin{document}

text $\ttand$ text

\textit{text $\ttand$ text}

\end{document}

説明: 現在の数学グループを尊重するシンボルを取得したいので、その数学コードは で"70xx、 は の"xxASCII コードです&。後者を調べるのが面倒なので、単純な算術を使用します。

関連情報