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
\symtt
está 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}
Dependendo de suas preferências ou da fonte escolhida, você pode trocar os caracteres gregos por \phi
e \varphi
.
Responder3
\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}