Как создать устойчивый математический символ в шрифте пишущей машинки?

Как создать устойчивый математический символ в шрифте пишущей машинки?

Сначала рассмотрим минимальный рабочий образец.

\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, где "xx— ASCII-код &. Поскольку мне лень искать последний, я использую простую арифметику.

Связанный контент