tipa 带有 fontspec redux:字符上方的波浪线

tipa 带有 fontspec redux:字符上方的波浪线

我正在尝试将tipa软件包与 一起使用fontspec,但它们不能很好地协同工作。我读过之前的问题,试图解决出现的问题(例如这个),这就是我目前一直在使用的解决方案。

但是,我遇到了一个我无法真正理解的问题。下面我提供了一个(不切实际的简短)MWE,它取自上面链接的问题。实际文档要复杂得多,但这很好地说明了问题。以下文档编译时没有出现任何警告或错误:

\documentclass{article}
\usepackage{tipa}
\usepackage{fontspec}

\AtBeginDocument{
  \renewcommand\textipa[2][r]{{\fontfamily{cm#1}\tipaencoding #2}}
}
\renewenvironment{IPA}[1][r]
{\fontfamily{cm#1}\tipaencoding}
{}

\begin{document}
  \textipa{f@"nEtIks}
\end{document}

但是添加一行

\textipa{\~an\~a}

破坏了它。真正令人费解的是,即使启用了,编译也会在没有任何警告的情况下停止-interaction=nonstopmode。在上面的例子中,我可以简单地使用\~an\~a,而不需要tipa环境,但在其他情况下,这不是一个选项。

我读过语言学论文建议,但由于我的所有转录都已使用输入出来tipa,因此我不愿意放弃它并开始进行必要的字符映射探索。

有没有办法在仍在使用的环境\~中使用?tipafontspec

答案1

这里的问题是xunicode,正如在链接问题中观察到的那样,它tipa假设拉丁现代具有适当的字形覆盖率,从而对系统进行了一些更改。解决这个问题最简单的方法可能是完全阻止xunicode加载:

\documentclass{article}
\usepackage{tipa}
\expandafter\def\csname [email protected]\endcsname{}
\usepackage{fontspec}

\begin{document}
  \textipa{\~O}
\end{document}

因为tipa机制随后被搁置。请注意,这可能会破坏其他事物:结果将在很大程度上取决于所涉及的实际文档。(您可能需要手动“恢复”部分xunicode。)

相关内容