我使用具有该功能的 OpenType 字体tnum
,并且我想使用漂亮的等宽数字制作表格,如下所示:
\def\tabnumbers{\addfontfeatures{Numbers=Monospaced}}
\begin{tabular}{l>{\tabnumbers}r}
Name & Value\\
One & 1\\
Ten & 10\\
Eleven & 11\\
\end{tabular}
{Numbers=Monospaced}
根据需要,这会在每个数字输入前插入字体特征。然而,它会重复执行此操作:到第三行时,fontspec
正在创建第三个字体系列,其特点是{Numbers=Monospaced,Numbers=Monospaced,Numbers=Monospaced}
。
在实际示例中,这会导致编译极其缓慢。我该如何禁用这种重复的字体功能添加?我尝试了一些简单的解决方法,\def\tabnumbers{\rmfamily \addfontfeature{Numbers=Monospaced}}
但结果是一样的。
我可能只为该功能定义一个全新的字体系列并在数字列中调用它,但这会使整个设置取决于\begin{tabular}
调用时哪种字体是当前的......我也想\tabnumbers
在其他适当的上下文中使用,例如在事项表和版本历史记录中,所以我更喜欢使用简单的宏来修改过多的表格设置。