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 的相同版本/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}