
Сначала рассмотрим минимальный рабочий образец.
\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-код &
. Поскольку мне лень искать последний, я использую простую арифметику.