无法使用 LuaLaTeX 中的某些重音符号

无法使用 LuaLaTeX 中的某些重音符号

随着 TeXLive 2017 的升级,我发现很多文档都无法编译,lualatex因为我一直在使用软件包xunicodexltxtraTeX 宏来访问不常见的重音。我使用的一种重音是 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/eu2xunicode

\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\providecommand\XeTeXpicfile{xunicode bug}
\usepackage{xunicode} % Fails with LuaTeX
\usepackage{microtype}


\begin{document}

\end{document}

答案2

您可以像这样单独添加这样的命令:

\documentclass{article}
\usepackage{fontspec}
\usepackage{microtype}

\setmainfont{Linux Libertine O}[
    Ligatures=TeX,
    Numbers=Uppercase,
]

\DeclareUnicodeAccent{\textsubbridge}\UnicodeEncodingName{"032A}


\begin{document}
a \textsubbridge a
\end{document}

在此处输入图片描述

相关内容