使用 realscripts 嵌套 \import 时上标和脚注标记中断

使用 realscripts 嵌套 \import 时上标和脚注标记中断

我设法在嵌套\import和上标之间产生奇怪的干扰,从而可以通过 进行LuaTeX访问realscripts.sty

我的文档组织依赖于 (或类似的东西)的舒适、与路径无关的行为\import。以前,当我开始嵌套\imports 时,我想知道这是否会在某一天失效。它在大多数情况下都运行良好——除了我现在偶然发现的一个极端情况:

包裹realscripts使装备精良的 OpenType 字体的上标字母可用作默认\textsuperscript和脚注标记,作为与 一起使用的插件fontspec。这通常效果很好,并且对于单一尺寸的 OTF 字体来说,拥有某种光学尺寸看起来非常好,就像我使用的字体 (Junicode) 一样。

现在,这在主文档本身中没有问题,当我通过 包含另一个带有脚注的文档时,它也可以正常工作\import。但是,当此文档\import本身包含另一个文档(第二层嵌套)时,脚注标记会在主文本和脚注文本中预先添加大量文件路径/字体名称,这读起来就像fontspec在第二个嵌套的目录中搜索字体一样。

MWE(TeX Live 2015,LuaTeX, Version beta-0.80.0 (Web2C 2015) (rev 5238)适用于 Linux 和 FreeBSD):

主文本

\documentclass{article}
\usepackage{import}
\usepackage{fontspec}
\setmainfont{Junicode}
\usepackage{realscripts}
\begin{document}
\subimport{}{importdirect.ltx} % This works

\subimport{}{importindirect.ltx} % This looks very strange
\end{document}

间接导入.ltx

\subimport{}{importdirect.ltx}

导入直接文件

Minimal broken example\footnote{footnote}
and \textsuperscript{textsuperscript}

然后运行lualatex main(你可以想象当我的真实路径和文件名中包含下划线和此类令人讨厌的东西时,事情会如何发展)。请注意,上标本身的排版是正确的!

这是字体相关的。这种情况发生在 {Junicode} 和 {Linux Libertine O} 上,也可能发生在其他字体上。TeX Gyre 字体似乎不受此影响。这似乎与lualatex 在独立设置中使用时无法与 import/subimport 一起使用(至少,第一个嵌套级别没有问题,并且更改\pdftexversion也没有用)。

XeLaTeX 可以毫无问题地处理这种情况。

我的问题,变体 1:这似乎是fontspecLuaTeX 内部的一个错误,也可能是 LuaTeX 本身的一个错误。该怎么办?(如果是 的realscripts错误,XeTeX 也会崩溃,不是吗?)

我的问题,变体2:有没有办法重新定义上标文本(或脚注标记),以便它们不会影响fontspec处理字体选择的细节?

我的问题,变体3:嵌套\imports 会造成问题。这有什么问题import.sty(出于技术好奇心或修复),和/或(作为一种解决方法)是否有用于外部文档的替代导入逻辑?

我的问题,变体4:事情发生了变化realscripts。有没有(更)规范的方式来加载 OpenType 上标样式,例如用fontspec它自己加载?为什么 LuaTeX 受到影响而 XeTeX 不受影响?

[编辑]使用全新安装的 TeX Live 2015 生成的结果:

生成的 main.pdf(压缩版)包含错误的脚注引用

相关内容