我经常需要在同一文档中使用国际音标 (IPA) 和 CJK 字符。我一直使用TIPA
和XeCJK
来做到这一点,没有问题,将 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}