这是我的代码:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Numbers={OldStyle,Proportional}]{EBGaramond-Regular}
\newcommand{\dml}{\addfontfeature{Numbers=Monospaced, Lowercase}}
\newcommand{\dmu}{\addfontfeature{Numbers=Monospaced, Uppercase}}
\newcommand{\dpl}{\addfontfeature{Numbers=Proportional, Lowercase}}
\newcommand{\dpu}{\addfontfeature{Numbers=Proportional, Uppercase}}
\begin{document}
\dml~ 0123456789
\smallskip
\dmu~ 0123456824789
\smallskip
\dpl~ 012322456789
\smallskip
\dpu~ 012322456789
\end{document}
我正在尝试找出一种可靠的方法,根据具体情况在小写/大写数字与等宽/比例数字之间切换。
XeLaTeX 抛出一个错误,抱怨:
LaTeX3 错误:键“fontspec-opentype/Lowercase”未知且被忽略。
我正在查看fontspec
文档,它指出我所使用的功能已通过otfinfo
针对EBGaramond
此 Debian 稳定系统上的字体运行验证是有效的。
我怎样才能解决这个问题?
2020年8月22日更新:
解决方法如下:
\documentclass{article}
\usepackage{fontspec}
% \setmainfont[Numbers={OldStyle,Proportional}]{EBGaramond-Regular}
\setmainfont{Minion Pro}
\newcommand{\mon}{\addfontfeature{Numbers=Monospaced}}
\newcommand{\pro}{\addfontfeature{Numbers=Proportional}}
\newcommand{\dml}{\addfontfeature{Numbers={Monospaced, Lowercase}}}
\newcommand{\dmu}{\addfontfeature{Numbers={Monospaced, Uppercase}}}
\newcommand{\dpl}{\addfontfeature{Numbers={Proportional, Lowercase}}}
\newcommand{\dpu}{\addfontfeature{Numbers={Proportional, Uppercase}}}
\begin{document}
\LARGE
\begin{tabular}{ | l | l | }
Monospaced, lowercase & \dml 0123456780 \\
Proportional, lowercase & \dpl 0123456780 \\
Monospaced, UPPERCASE & \dmu 0123456780 \\
Proportional, UPPERCASE & \dpu 0123456780 \\
\end{tabular}
\normalsize
\end{document}
笔记:
- 使用的字体需要支持以下功能:{lnum、onum、pnum、tnum} — 参见 $ otfinfo -f <fontfile_name.otf>
- 看起来如果你想在同一个命令中设置多个功能,你必须使用一对额外的括号 - 参见...Numbers={Monospaced, Uppercase}
通过“xelatex sample.tex”命令运行上述示例以查看结果。