加载 XeCJK 的标题中对 \textipa{} (TIPA) 的调用超出了 TeX 容量

加载 XeCJK 的标题中对 \textipa{} (TIPA) 的调用超出了 TeX 容量

我经常需要在同一文档中使用国际音标 (IPA) 和 CJK 字符。我一直使用TIPAXeCJK来做到这一点,没有问题,将 CJK 字符直接放入编辑窗口并使用 进行排版XeLaTeX

但是,在这种配置下,\textipa{}在图形或表格标题中使用该环境会导致加载 XeCJK 时出现“TeX 容量超出”错误。

仅有的\textipa{}被调用时会发生什么;例如,在下面的 MWE 中的图片标题中,如果您用 替换\textipa{E}\textepsilon它会完美地编译。因此,似乎不是加载 TIPA 产生了问题,而是具体使用环境\textipa{}

避免使用环境而使用“长”命令(如\textepsilon)是可行的,但在某些情况下很烦人。有没有办法\textipa{}在这里使用并仍然成功编译文档?

梅威瑟:

\documentclass{article}

\usepackage{tipa}

\usepackage{xeCJK}
\setCJKmainfont{STSong}
\usepackage{textcomp}

\begin{document}

\begin{table}[ht]
\centering
\begin{tabular}{c c c}
\hline
二 & 五 & 七 \\
\hline
\textipa{t\super{h}0} & \textipa{fAIv} & \textipa{sEv@n} \\
\hline
\end{tabular}
\caption{The first row has CJK symbols like 五; 
the second row has IPA symbols like \textipa{E}.
} \label{IPACJK}
\end{table}

\end{document}

答案1

我使用 TeX Live 2018 时没有遇到任何错误。

对于旧版本,请使\textipa命令更加强大。

\documentclass{article}

\usepackage{tipa}
\usepackage{xeCJK}
\usepackage{textcomp}

\setCJKmainfont{STSong}
\AtBeginDocument{\MakeRobust{\textipa}} % not needed with TeX Live 2018

\begin{document}

\listoftables

\begin{table}[htp]
\centering
\begin{tabular}{c c c}
\hline
二 & 五 & 七 \\
\hline
\textipa{t\super{h}0} & \textipa{fAIv} & \textipa{sEv@n} \\
\hline
\end{tabular}
\caption{The first row has CJK symbols like 五; 
the second row has IPA symbols like \textipa{E}.}\label{IPACJK}

\end{table}

\end{document}

相关内容