我似乎偶然发现了一种相当有效的方法来阻止分数阶包无法正常工作。
这是该问题的 MWE:
\documentclass{amsart}
\usepackage[a5paper, margin=28mm, marginparwidth=20mm, marginparsep=3mm]{geometry}
\usepackage{verse, microtype, mathtools, xfrac, marginnote, graphicx, ragged2e, xstring, afterpage, pifont}
\usepackage{fontspec}
\setmainfont[Numbers=OldStyle]{CMU Serif}
\DeclareInstance{xfrac}{mjnj}{text} { numerator-font = mjn1, denominator-font = mjn0, scaling = false, numerator-bot-sep = 0 pt, denominator-bot-sep = 0 pt }
\begin{document}
This -- \sfrac{1}{2} -- is not what I want a half to look like!
\end{document}
正如您从下面的屏幕截图中看到的,我得到了一团难看的混乱,而不是我习惯得到的清晰、紧密的分数。为什么会发生这种情况?我该怎么办?
我已经尝试过但没有效果的方法:
- 更改
\setmainfont[Numbers=OldStyle]{CMU Serif}
为\setmainfont{CMU Serif}
,即删除旧式数字。 - 呼叫
$\sfrac{1}{2}$
或\sfrac{$1$}{$2$}
代替。
答案1
提供设置分数的方法xfrac
是一种为排版参数提供模板界面的实验,因此它是一个过度参数化的界面,您可以调整每种基本字体布局的各个方面。
这看起来仍然不是很好(我想我应该从较小的 / 开始)但是会帮助你入门,请参阅 xfrac 手册以了解你可以设置的完整参数集。
\documentclass{amsart}
\usepackage[a5paper, margin=28mm, marginparwidth=20mm, marginparsep=3mm]{geometry}
\usepackage{verse, microtype, mathtools, xfrac, marginnote, graphicx, ragged2e, xstring, afterpage, pifont}
\usepackage{fontspec}
\setmainfont[Numbers=OldStyle]{CMU Serif}
\DeclareInstance{xfrac}{CMUSerif(0)}{text} {
slash-symbol-font = CMUSerif(0),
numerator-font= CMUSerif(0),
denominator-font=CMUSerif(0),
numerator-top-sep = -1pt,
scale-factor=0.95,
denominator-bot-sep = -1pt,
slash-right-kern=-.15em,
slash-left-kern=-.1em,
}
\begin{document}
This -- \sfrac{1}{2} -- is not what I want a half to look like!
\end{document}