为什么 xfrac 在 2021 年发生了变化?

为什么 xfrac 在 2021 年发生了变化?

在 TeX Live 2020 及更早版本中,我的 MVE 看起来就像我想要的那样:

好分数

但在 TeX Live 2021 中,它看起来像这样:

在此处输入图片描述

注意第二个分数(数学模式中的 sfrac)是如何变化的。

我发现文件中有两行被删除了sty。我敢打赌这是开发人员故意为之,但为什么呢?这样更美观吗?是否有一些我应该知道的印刷原因,可能会改变我的想法?我认为可以通过使用旧参数定义来恢复更改。包中instance是否有设置?oldmath

\documentclass{minimal}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage{xfrac}

\begin{document}

A \(\frac12\) B \(\sfrac12\) C \sfrac12

\end{document}

答案1

变化的出现是因为(长期存在的)错误xtemplate,在此基础上xfrac构建。修复中的问题xtemplate突出显示了中的问题xfrac,该问题现已修复,但这意味着我需要解决中的另一个问题xfrac。这已在源代码中修复,但可能还需要一段时间才能发布。目前,请尝试

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{xfrac}
\ExplSyntaxOn

\DeclareRestrictedTemplate { xfrac } { text } { math }
  {
    numerator-font      = \number \fam ,
    slash-symbol        = /            ,
    slash-symbol-font   = \number \fam ,
    denominator-font    = \number \fam ,
    scale-factor        = 0.7          ,
    scale-relative      = false        ,
    scaling             = true         ,
    denominator-bot-sep = 0 pt         ,
    math-mode           = true         ,
    phantom             = ( % )
  }
\DeclareInstance { xfrac } { mathdefault } { math }
  { numerator-top-sep = 0pt }
\ExplSyntaxOff

\begin{document}

A \(\frac12\) B \(\sfrac12\) C \sfrac12

\end{document}

重新声明该机制的适当部分。

相关内容