Caracteres de máquina de escribir griega con \symtt (o \mathtt)

Caracteres de máquina de escribir griega con \symtt (o \mathtt)

Quiero tener caracteres de máquina de escribir griega en modo matemático, usando unicode-math.

Utilizo una fuente que tiene caracteres griegos:

\setmonofont{NewCMMono10}[
    Extension           = .otf,
    UprightFont         = *-Regular,
    ItalicFont          = *-Italic.otf,
    BoldFont            = *-Bold.otf,
    BoldItalicFont      = *-BoldOblique.otf,
    SmallCapsFeatures   = {Numbers=OldStyle}
]

pero ninguno de los siguientes funciona: \symtt{\Omega}, \symtt{Ω}(estos dos producen el Omega normal), \mathtt{\Omega}(este produce un cuadro ?como si faltara el carácter).

Agregando esto:

\setmathfont{NewCMMono10-Regular.otf}[
    range               = {tt},
]

no ayuda.

Respuesta1

ingrese la descripción de la imagen aquí

\symttestá restringido al lamentablemente restringido conjunto de caracteres especificado por Unicode, pero puedes declarar la fuente como un alfabeto matemático:

\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}

Respuesta2

Puedes definir un alfabeto matemático. Aquí también presento cómo admitir los nombres estándar en la entrada, para no verse obligado a utilizar caracteres griegos.

\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}

ingrese la descripción de la imagen aquí

Dependiendo de tus preferencias o de la fuente elegida, es posible que quieras cambiar los caracteres griegos por \phiy \varphi.

Respuesta3

ingrese la descripción de la imagen aquí

\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}

información relacionada