![使用不同语言包时书写英文音标](https://linux22.com/image/330475/%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E8%AF%AD%E8%A8%80%E5%8C%85%E6%97%B6%E4%B9%A6%E5%86%99%E8%8B%B1%E6%96%87%E9%9F%B3%E6%A0%87.png)
我正在用西班牙语写一份文档,我想为一些单词引入英语语音。可以这样做吗?
我尝试过这个:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{tipa}
\usepackage[utf8]{inputenc}
\begin{document}
/fəˈnɛtɪk/
\end{document}
但它不起作用。
我重做了这个来做一些测试,但它对我来说不起作用。
我正在使用 egreg 的答案提供的序言,但我遇到了错误\select@language{spanish}
我该如何解决这个问题?
答案1
如果您想使用 UTF-8 字符作为音标,则必须将它们教给 LaTeX,因为该tipa
软件包不提供对此的支持。或者,您可以使用软件包提供的简写输入它们。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tipa}
\usepackage{newunicodechar}
\newunicodechar{ˈ}{"}
\newunicodechar{ə}{@}
\newunicodechar{ɛ}{E}
\newunicodechar{ɪ}{I}
\begin{document}
\textipa{/fəˈnɛtɪk/}
\textipa{/f@"nEtIk/}
\end{document}
如何扩展支持的字符集?例如,
ˌjuːnɪˈvɜːsɪtɪ
我添加了\textipa{/ˌjuːnɪˈvɜːsɪtɪ/}
上面的示例,并在运行时pdflatex
看到了错误
Unicode char ˌ (U+2CC) not set up for use with LaTeX
Unicode char ː (U+2D0) not set up for use with LaTeX
Unicode char ɜ (U+25C) not set up for use with LaTeX
然后我看了手册tipa
,附录ATIPA 符号注释列表并寻找字符,就像我之前做的那样。最后一个字符如下图所示
所以我知道在第二个参数中应该用什么简写形式\newunicodechar
。
以下是完整示例:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tipa}
\usepackage{newunicodechar}
\newunicodechar{ˈ}{"}
\newunicodechar{ə}{@}
\newunicodechar{ɛ}{E}
\newunicodechar{ɪ}{I}
\newunicodechar{ˌ}{""}
\newunicodechar{ː}{:}
\newunicodechar{ɜ}{3}
\begin{document}
\textipa{/ˌjuːnɪˈvɜːsɪtɪ/}
\textipa{/fəˈnɛtɪk/}
\textipa{/f@"nEtIk/}
\end{document}
你可以\newunicodechar
使用
\DeclareUnicodeCharacter{025C}{3}
而不是\newunicodechar{ɜ}{3}
,但我发现使用“真实”字符而不是其代码点更方便。
答案2
如果你使用 XeLaTeX 或 LuaLaTeX 而不是 pdfLaTeX 进行编译,则在文件中直接使用 Unicode 符号不会遇到任何问题.tex
。请参阅排版音标:Unicode 还是 tipa?了解这样做而不是使用的原因列表tipa
。
如果您不加载polyglossia
并将默认语言设置为西班牙语,则此 MWE 将正常工作,但这样做会加载特定于语言的连字符、标点符号和间距模式(polyglossia
是 XeLaTeX 的对应部分babel
)。
使用fontspec
,您可以加载任何具有您需要的符号的系统字体,因此请随意将 Charis SIL 替换为您系统上的字体。
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}
\usepackage{fontspec}
\setmainfont{Charis SIL}
\begin{document}
\noindent Puedo escribir en español.\\
\noindent [ˈpweðo eskɾiˈβiɾ en espaˈɲol]
\end{document}