我在文档中使用了比例数字。但在gb4e
的示例数字,我希望有等宽数字,以便示例括号的宽度在整个文档中保持不变。
在下面的 MWE 中,换句话说,我希望示例数字(1)
和(2)
等宽字体,以便它们的宽度相同,但数字序列021345
应该使用比例数字。
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Numbers = {OldStyle, Proportional}]{Linux Libertine O}
\usepackage{gb4e}
\exewidth{(9)} % change the default (999) to one digit (9)
\begin{document}
\begin{exe}
\ex 012345
\ex 012345
\end{exe}
\end{document}
答案1
您可以pnum
在创建标签时禁用该功能:
\documentclass{article}
\usepackage{fontspec}
\usepackage{gb4e}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@exe}
{(\thexnumi)}
{(\addfontfeatures{RawFeature=-pnum}\thexnumi)}
{}{}
\makeatother
\setmainfont[Numbers = {OldStyle, Proportional}]{Linux Libertine O}
\exewidth{(9)} % change the default (999) to one digit (9)
\begin{document}
\begin{exe}
\ex 012345
\ex 012345
\end{exe}
\end{document}
答案2
我不是专家,gb4e
而且它看起来很复杂,这个解决方案可能会在更现实的文档中引起问题,但它适用于您的示例。
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Numbers = {OldStyle, Proportional}]{Linux Libertine O}
\usepackage{gb4e}
\exewidth{(9)} % change the default (999) to one digit (9)
% ----------------------------
\makeatletter
\renewcommand{\thexnumi}{\makebox[.6em][c]{\@xsi{xnumi}}}
\makeatother
% ----------------------------
\begin{document}
\begin{exe}
\ex 012345
\ex 012345
\end{exe}
\end{document}
这个想法是将示例数字放入固定宽度的框中。