Я большой поклонник амперсандов - настолько, что прислушался к совету SimpleBits «использовать самый лучший из доступных амперсандов» весьма религиозно.
Для этой цели в LaTeX я определил следующий ярлык:
\let\amp\&
\renewcommand\&{{\scalebox{1.2}{\textnormal{\fontspec{Baskerville}\itshape\amp}}}}
Короче говоря, это меняет все виды использования «нормального» амперсанда на стильный вариант, например ::10000
This is a text \& it contains an ampersand.
(Использование \&
вместо &
, поскольку так работает LaTeX - последний уже зарезервирован для разделения столбцов в табличных средах.)
Однако здесь всегда используется один и тот же шрифт - здесь, Баскервиль - независимо от того, подходит он или нет. Я хотел бы использовать другой шрифт в зависимости от используемого семейства шрифтов. То есть я хочу использовать другой амперсанд в сочетании с текстом без засечек, и, в частности, я хочу предотвратить перезапись амперсанда в моноширинном контексте. Поэтому в следующих двух контекстах я не хочу запускать приведенное выше определение:
{\sffamily a \& b}
{\ttfamily a \& b}
Как мне это сделать?
Я представляю что-то вроде следующего:
\renewcommand\&{
\ifsans
{\fontspec{Trebuchet MS}{\textnormal{\itshape\amp}}}
\else
\ifmono
\amp
\else
{\fontspec{Baskerville}\scalebox{1.2}{\textnormal{\itshape\amp}}}
\fi
\fi}