Linguex Exlabelwidth/sep 不适用于 Brill 字体

Linguex Exlabelwidth/sep 不适用于 Brill 字体

linguex.sty和 Brill Roman 字体的组合fontspec.sty阻止了示例正确对齐。当标签太宽时(例如(108)),示例文本会直接出现在标签后面,而不是远离标签。这应该由\Exlabelwidth和控制\Exlabelsep,但对它们进行修改并不像对 Computer Modern 那样有效。有没有直接的解决方案(或者我必须做一些奇怪的事情,比如将示例标签放在无宽度的框中)?

\documentclass[12pt]{article}
\usepackage{fontspec, linguex} 
\setmainfont{Brill Roman}
\AtBeginDocument{\settowidth{\Exlabelwidth}{(000)}}
\AtBeginDocument{\settowidth{\Exlabelsep}{(000)}}

\begin{document}

\ex.[(111)] Margin works 

\ex.[(108)] Margin collapses (label too wide)

\end{document}

Brill_version

这是没有 Brill 的相同版本/fontspec

计算机_现代_版本

答案1

linguex包会进行大量测量来确定标签的正确宽度,但根据特定字体属性,其默认猜测不一定正确。从 111 和 108 之间的对比可以看出,Brill 的字形宽度变化很大。在这种情况下,只需将内部命令值\philarge稍微调大一点(设置为4\mindigitwidth):

\documentclass[12pt]{article}
\usepackage{fontspec, linguex} 
\setmainfont{Brill Roman}
\renewcommand\philarge{4.25\mindigitwidth}

\begin{document}

\ex.[(111)] Margin works 

\ex.[(108)] Margin collapses (label now works)

\end{document}

代码输出

相关内容