比例 - 等宽 - 大写 - 小写数字

比例 - 等宽 - 大写 - 小写数字

这是我的代码:

\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}

笔记:

  1. 使用的字体需要支持以下功能:{lnum、onum、pnum、tnum} — 参见 $ otfinfo -f <fontfile_name.otf>
  2. 看起来如果你想在同一个命令中设置多个功能,你必须使用一对额外的括号 - 参见...Numbers={Monospaced, Uppercase}

通过“xelatex sample.tex”命令运行上述示例以查看结果。

相关内容