Caracteres de máquina de escrever gregos com \symtt (ou \mathtt)

Caracteres de máquina de escrever gregos com \symtt (ou \mathtt)

Quero ter caracteres de máquina de escrever gregos no modo matemático, usando unicode-math.

Eu uso uma fonte com caracteres gregos:

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

mas nenhum dos seguintes funciona: \symtt{\Omega}, \symtt{Ω}(estes dois produzem o Omega normal), \mathtt{\Omega}(este produz uma caixa ?como se o personagem estivesse faltando).

Adicionando isto:

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

não ajuda.

Responder1

insira a descrição da imagem aqui

\symttestá restrito ao conjunto infelizmente restrito de caracteres especificado pelo Unicode, mas você pode declarar a fonte como um 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}

Responder2

Você pode definir um alfabeto matemático. Aqui também apresento como suportar os nomes padrão na entrada, para não ser forçado a usar caracteres gregos.

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

insira a descrição da imagem aqui

Dependendo de suas preferências ou da fonte escolhida, você pode trocar os caracteres gregos por \phie \varphi.

Responder3

insira a descrição da imagem aqui

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

informação relacionada