XeLaTeX textsuperscript 问题

XeLaTeX textsuperscript 问题

在 XeLaTeX 中,我\textsuperscript测试过的所有字体都存在破折号问题。与 LaTeX 中的情况相反,在 XeLaTeX 中破折号不会上标。

这是一个 MWE:

\documentclass{article}
\usepackage{xltxtra}
\defaultfontfeatures{Ligatures=TeX, Scale=MatchLowercase}
\setmainfont[Ligatures=Common,
  Numbers=OldStyle,
  ]{Minion Pro}

\begin{document}

88--100\textsuperscript{88--100}

\end{document}

结果如下:

在此处输入图片描述

你知道发生了什么事吗?

答案1

xltxtra我发现,如果你不加载包并添加指令,问题就会完全消失

\usepackage{fontspec}

回到序言。

摘自手册第 4 页fontspec

xltxtra软件包为 XELATEX 添加了一些额外的小功能,包括通过该metalogo软件包使用\XeTeX宏来排版 XETEX 徽标。虽然之前推荐过这个软件包,但现在它的作用已经小了很多,一般不需要了。在加载它之前,请查阅其文档以评估其功能是否有必要。

简而言之,您可能xltxtra根本不需要该包。

在此处输入图片描述

% !TEX TS-program = xelatex
\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX, Scale=MatchLowercase}
\setmainfont[Ligatures=Common,
  Numbers=OldStyle,]{Minion Pro}
\begin{document}
88--100 \textsuperscript{88--100}
\end{document}

答案2

我使用了 MWE,只需将“Minion Pro”替换为“Arial”,问题就消失了。

删除 xltxtra 需要添加 fontspec。根据 xltxtra 软件包手册,它会加载“fixltx2e、metalogo、xunicode 和 fontspec”。我逐个尝试将 fontspec 与 xltxtra 加载的每个软件包一起使用,问题不再出现。如果我添加 xltxtra,问题又会出现。

因此,该问题与 xltxtra 有关。

但是,如果你使用没有 fontspec 的 xltxtra,并使用不同的字体,例如“Arial”或“Times New Roman”,则不存在该问题。

引起我注意的是,我没有安装“Minion Pro”,但 MWE 可以通过 XeLaTeX 编译。因此,我必须得出结论,问题出在 xltxtra 上,以及“setmainfont”如何管理“Minion Pro”或其缺失。

我应该补充一点,在第二次阅读手册(第 2.1 节)时,如果在 MWE 中使用“\usepackage[no-sscript]{xltxtra}”,问题就会消失。

相关内容