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
\symtt
está 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}
Dependiendo de tus preferencias o de la fuente elegida, es posible que quieras cambiar los caracteres griegos por \phi
y \varphi
.
Respuesta3
\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}