我有一个文档,其主要字体是 Gotham Narrow Book,但数字设置为 Gotham Narrow Light,这是使用mathspec
包。我想排版一个表格,其中的数字来自等宽字体,以便它们能够更好地排列。但我的调用\setmathtt
没有效果。
这是我的示例文档:
\documentclass{article}
\usepackage{mathspec}
\setmainfont[BoldFont=Gotham Narrow Medium]{Gotham Narrow Book}
\setmathrm{Gotham Book}
\setmathfont(Latin){Gotham Narrow Book}
\setmathfont(Digits){Gotham Narrow Light}
%:FIXME seems to have no effect
\setmathtt{Courier}
\begin{document}
\begin{tabular}{cc}
Normal & TT \\
$123456789$ & $\mathtt{123456789}$ \\
$111111111$ & $\mathtt{111111111}$
\end{tabular}
\end{document}
是否\setmathfont(Digits){Gotham Narrow Light}
排除\setmathtt{Courier}
?
答案1
mathspec 中似乎有一个错误;如果我要求
\showthe\mathcode`1
我得到1841
,即"0731
。这似乎7
是 Gotham Narrow Light 的数学组,因此数学代码应该是"7731
。事实上,如果我说
\mathcode`\0=\numexpr\mathcode`0+"7000\relax
\mathcode`\1=\numexpr\mathcode`1+"7000\relax
\mathcode`\2=\numexpr\mathcode`2+"7000\relax
\mathcode`\3=\numexpr\mathcode`3+"7000\relax
\mathcode`\4=\numexpr\mathcode`4+"7000\relax
\mathcode`\5=\numexpr\mathcode`5+"7000\relax
\mathcode`\6=\numexpr\mathcode`6+"7000\relax
\mathcode`\7=\numexpr\mathcode`7+"7000\relax
\mathcode`\8=\numexpr\mathcode`8+"7000\relax
\mathcode`\9=\numexpr\mathcode`9+"7000\relax
我得到了期望的行为。
答案2
它可以与\setmathtt{Courier New}
类似的东西一起工作\mathtt{f(x)}
,因为数字是用 Gotham 设置的。