Я хочу иметь греческие символы пишущей машинки в математическом режиме, используя unicode-math
.
Я использую шрифт с греческими символами:
\setmonofont{NewCMMono10}[
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Italic.otf,
BoldFont = *-Bold.otf,
BoldItalicFont = *-BoldOblique.otf,
SmallCapsFeatures = {Numbers=OldStyle}
]
но ни один из следующих вариантов не работает: \symtt{\Omega}
, \symtt{Ω}
(эти два варианта создают обычного Омегу), \mathtt{\Omega}
(этот вариант создает рамку, ?
как будто символ отсутствует).
Добавляем это:
\setmathfont{NewCMMono10-Regular.otf}[
range = {tt},
]
не помогает.
решение1
\symtt
ограничен, к сожалению, ограниченным набором символов, указанным в Unicode, но вы можете объявить шрифт как математический алфавит:
\documentclass{article}
\usepackage{unicode-math}
\setmonofont{NewCMMono10}[
NFSSFamily=ncmtt,
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Italic.otf,
BoldFont = *-Bold.otf,
BoldItalicFont = *-BoldOblique.otf,
SmallCapsFeatures = {Numbers=OldStyle}
]
\SetMathAlphabet\mathtt{normal}{TU}{ncmtt}{m}{n}
\DeclareMathAlphabet\mathttit{TU}{ncmtt}{m}{it}
\begin{document}
\showoutput
$\mathtt{abc αβγ}$
$\mathttit{abc αβγ}$
\end{document}
решение2
Вы можете определить математический алфавит. Здесь я также показываю, как поддерживать стандартные имена во входных данных, чтобы не быть вынужденным использовать греческие символы.
\documentclass{article}
\usepackage{unicode-math}
\setmonofont{NewCMMono10}[
NFSSFamily = ncmtt,
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Italic.otf,
BoldFont = *-Bold.otf,
BoldItalicFont = *-BoldOblique.otf,
SmallCapsFeatures = {Numbers=OldStyle}
]
\DeclareMathAlphabet{\mathttinner}{TU}{ncmtt}{m}{n}
\ExplSyntaxOn
\NewDocumentCommand{\xmathtt}{m}
{
\mathttinner { \tl_map_function:nN { #1 } \sparusaurata_mathtt:n }
}
\cs_new_protected:Nn \sparusaurata_mathtt:n
{
\str_case:nnF { #1 }
{
{\Alpha}{Α} {\Beta}{Β} {\Gamma}{Γ} {\Delta}{Δ}
{\Epsilon}{Ε} {\Zeta}{Ζ} {\Eta}{Η} {\Theta}{Θ}
{\Iota}{Ι} {\Kappa}{Κ} {\Lambda}{Λ} {\Mu}{Μ}
{\Nu}{Ν} {\Xi}{Ξ} {\Omicron}{Ο} {\Pi}{Π}
{\Rho}{Ρ} {\Sigma}{Σ} {\Tau}{Τ} {\Upsilon}{Υ}
{\Phi}{Φ} {\Chi}{Χ} {\Psi}{Ψ} {\Omega}{Ω}
{\alpha}{α} {\beta}{β} {\gamma}{γ} {\delta}{δ}
{\epsilon}{ε} {\zeta}{ζ} {\eta}{η} {\theta}{θ}
{\iota}{ι} {\kappa}{κ} {\lambda}{λ} {\mu}{μ}
{\nu}{ν} {\xi}{ξ} {\omicron}{ο} {\pi}{π}
{\rho}{ρ} {\sigma}{σ} {\tau}{τ} {\upsilon}{υ}
{\phi}{φ} {\chi}{χ} {\psi}{ψ} {\omega}{ω}
{\vartheta}{ϑ}
{\varsigma}{ς}
{\varphi}{ϕ}
{\varpi}{ϖ}
}
{#1}
}
\ExplSyntaxOff
\begin{document}
$\xmathtt{abcαβγφϕΩ\alpha\beta\gamma\phi\varphi\Omega\varsigma}$
\end{document}
В зависимости от ваших предпочтений или выбранного шрифта вы можете заменить греческие символы на \phi
и \varphi
.
решение3
\documentclass{article}
\usepackage{unicode-math}
\setmonofont{NewCMMono10}[
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Italic.otf,
BoldFont = *-Bold.otf,
BoldItalicFont = *-BoldOblique.otf,
SmallCapsFeatures = {Numbers=OldStyle}
]
% Define a custom command for Greek typewriter characters
\newcommand{\greektexttt}[1]{\ensuremath{\text{\texttt{#1}}}}
\begin{document}
In math mode: $\greektexttt{abcαβγφϕΩΞεϖρ}$
\end{document}