tipa 与 leipzig 部分不兼容?

tipa 与 leipzig 部分不兼容?

我使用 tipa 在我的论文中使用 IPA。如果我加载 leipzig,tipa 中定义的一些输入将不再起作用,例如:

\textipa{\:r},应该生成“ɽ”(这个符号),当我加载莱比锡时,就会出现“r”。

与 相同\textipa{\;G},应产生“ɢ”(这个符号),但会产生“ɣ”(这个) 前面会有一个空格,这通常会由 产生\textipa{ G}

看起来\:\;被忽略或被编译为空格。

对 tex 初学者有什么帮助吗?谢谢。❤

编辑:谢谢大家的帮助。喵呜。

答案1

tipa最简单的方法是在 之后加载leipzig。但这样您将失去\|\:\;和命令\!\*通常含义。

没有什么可担心的,因为它们主要用于数学,如果你的文档中没有数学,你应该很安全。

以下代码在 loadig 之后保存了五个命令的含义leipzig。然后在 loading 之后也保存了这些命令的含义tipa。最后,我们在本地将命令更改为处理或tipa时的含义,并为文档恢复它们的标准含义。\textipaIPA

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{leipzig}
\usepackage{tipa}

\begin{document}

\textipa{\:r \;G \*f \!b \|[t}

\end{document}

在此处输入图片描述

有一种(不太优雅的)方法可以让所有内容保持其标准含义:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{leipzig}

\NewCommandCopy{\amsmathbar}{\|}
\NewCommandCopy{\amsmathcolon}{\:}
\NewCommandCopy{\amsmathsemicolon}{\;}
\NewCommandCopy{\amsmathbang}{\!}
\NewCommandCopy{\amsmathstar}{\*}

\usepackage{tipa}

\NewCommandCopy{\tipabar}{\|}
\NewCommandCopy{\tipacolon}{\:}
\NewCommandCopy{\tipasemicolon}{\;}
\NewCommandCopy{\tipabang}{\!}
\NewCommandCopy{\tipastar}{\*}

\AddToHook{cmd/tipaencoding/before}{%
  \RenewCommandCopy{\|}{\tipabar}%
  \RenewCommandCopy{\:}{\tipacolon}%
  \RenewCommandCopy{\;}{\tipasemicolon}%
  \RenewCommandCopy{\!}{\tipabang}%
  \RenewCommandCopy{\*}{\tipastar}%
}
\RenewCommandCopy{\|}{\amsmathbar}
\RenewCommandCopy{\:}{\amsmathcolon}
\RenewCommandCopy{\;}{\amsmathsemicolon}
\RenewCommandCopy{\!}{\amsmathbang}
\RenewCommandCopy{\*}{\amsmathstar}

\begin{document}

\textipa{\:r \;G \*f \!b \|[t}

a\:b\;c\!d$\*\|$

\end{document}

在此处输入图片描述

你可以通过编写自己的包来避免文档中出现可怕的混乱,我们称之为leipzig-tipa.sty

\ProvidesPackage{leipzig-tipa}
\RequirePackage{leipzig}

\NewCommandCopy{\amsmathbar}{\|}
\NewCommandCopy{\amsmathcolon}{\:}
\NewCommandCopy{\amsmathsemicolon}{\;}
\NewCommandCopy{\amsmathbang}{\!}
\NewCommandCopy{\amsmathstar}{\*}

\RequirePackage{tipa}

\NewCommandCopy{\tipabar}{\|}
\NewCommandCopy{\tipacolon}{\:}
\NewCommandCopy{\tipasemicolon}{\;}
\NewCommandCopy{\tipabang}{\!}
\NewCommandCopy{\tipastar}{\*}

\AddToHook{cmd/tipaencoding/before}{%
  \RenewCommandCopy{\|}{\tipabar}%
  \RenewCommandCopy{\:}{\tipacolon}%
  \RenewCommandCopy{\;}{\tipasemicolon}%
  \RenewCommandCopy{\!}{\tipabang}%
  \RenewCommandCopy{\*}{\tipastar}%
}
\RenewCommandCopy{\|}{\amsmathbar}
\RenewCommandCopy{\:}{\amsmathcolon}
\RenewCommandCopy{\;}{\amsmathsemicolon}
\RenewCommandCopy{\!}{\amsmathbang}
\RenewCommandCopy{\*}{\amsmathstar}

\endinput

将创建的文件放在 TeX 搜索的目录中,您的文档就可以变成

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{leipzig-tipa}

\begin{document}

\textipa{\:r \;G \*f \!b \|[t}

\end{document}

相关内容