随着 TeXLive 2017 的升级,我发现很多文档都无法编译,lualatex
因为我一直在使用软件包xunicode
和xltxtra
TeX 宏来访问不常见的重音。我使用的一种重音是 U+032A ◌̪ COMBINING BRIDGE BELOW
(用于在 IPA 中标记齿音),以前可以使用 来访问\textsubbridge
。我的序言的相关部分是:
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{xunicode} % Fails with LuaTeX
\usepackage{microtype}
\setmainfont{Linux Libertine O}[
Ligatures=TeX,
Numbers=Uppercase,
]
\setsansfont{Fira Sans}[
% Ligatures=TeX,
Numbers=Uppercase,
Scale=MatchLowercase,
BoldFont={* SemiBold},
]
\setmonofont{Fira Mono}[
Ligatures=TeX,
Scale=MatchLowercase,
]
注释掉这些包意味着我使用的口音不再被定义,并且没有给出任何解决方案这个问题来自 2011 年根本无法工作。我能够编译这些文件的唯一方法是使用修改后的副本,xunicode
该副本不会在非 XeTeX 引擎上退出。
有没有更正确的方法来实现 LuaTex 的功能?虽然我确实可以在 GNOME 提供的字符映射应用程序中找到所有 Unicode 组合字符,但将它们直接插入到编辑器中的文件中有点问题,因此对于那些无法使用 Compose 键映射的人来说,宏是更方便的方法。
答案1
您可能不需要全部xunicode
,因此您可能只需复制所需的定义。或者,您可以在 luatex 中加载包,只需解决阻止它在 luatex 中加载的错误即可。(如果您使用需要的旧编码设置,fontspec
则使用等效的解决方法。eu1/eu2
xunicode
\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\providecommand\XeTeXpicfile{xunicode bug}
\usepackage{xunicode} % Fails with LuaTeX
\usepackage{microtype}
\begin{document}
\end{document}