Греческие символы пишущей машинки с \symtt (или \mathtt)

Греческие символы пишущей машинки с \symtt (или \mathtt)

Я хочу иметь греческие символы пишущей машинки в математическом режиме, используя 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}

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