为什么我用户定义的包含 tipa 的 Babel 简写不起作用?

为什么我用户定义的包含 tipa 的 Babel 简写不起作用?

为什么这不起作用?

\documentclass{scrartcl}

\usepackage{tipa}
\usepackage[ngerman]{babel}

\useshorthands*{:}
\defineshorthand{:a}{a\textipa{:}}

\begin{document}

Some text. :a Some more text.

\end{document}

代码显示如下:

“:a”序列输出为 a 并且紧接着其后的是一个段落。

并且日志显示

\user@active@arg: 的参数有一个多余的 }。:a
段落在 \user@active@arg: 完成之前结束。:a

罪魁祸首似乎是 \textipa{:},因为如果我把它从简写中去掉,它就可以正常工作,但是难道不应该在简写的定义中包含代码吗?而且为什么 Latex 会在这里给我一个段落?

(\textipa 命令来自 tipa 包,并且 \textipa{:} 应该仅插入语音长度符号。)

答案1

您不想:在替换文本中使用主动词:

\documentclass{scrartcl}

\usepackage{tipa}
\usepackage[ngerman]{babel}

\useshorthands*{:}
\defineshorthand{:a}{a\textipa{\string:}}

\begin{document}

Some text. :a Some more text.

\end{document}

在此处输入图片描述

相关内容