我正在写一篇语言学论文,主要依赖tipa
语音标音。有时标音是直立的,有时是倾斜的。这在 pdfLatex 中没有问题。
但是,我想探索更改普通文本和 IPA 字体的可能性,因此我尝试切换到 XeLaTeX,但无法使倾斜的语音文本正常工作。
这在 pdfLaTeX 中效果很好,但倾斜的文本在 XeLaTeX 中不起作用,而是fontspec
直立显示:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{tipa}
\begin{document}
This is a text with a \textipa{[f@"nERIk]} transcription and
\textipa{\textsl{slænt@d}} text for in-text use. I also use \textsc{small
caps} a lot.
\end{document}
如果我将字体切换为 Times,使用\usepackage{times}
不带的字体fontspec
,它也可以正常工作。但是,一旦我添加fontspec
倾斜的文本,它就会直立显示。以下是一个例子:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{tipa}
\DeclareFontSubstitution{T3}{ptm}{m}{n}
\usepackage{fontspec}
\setmainfont[BoldFont={Minion Pro Bold.ttf}, ItalicFont={Minion Pro Italic.ttf}
{Minion Pro Regular.ttf}
\begin{document}
\huge This is a text with a \textipa{[f@"nERIk]} transcription and
\textipa{\textsl{slænt@d}} text for in-text use. I also use \textsc{small caps}
a lot.
\end{document}
我\DeclareFontSubstitution{T3}{ptm}{m}{sl}
也尝试添加,但它使tipa
环境中的所有东西都倾斜了,而不仅仅是里面的东西\textsl{}
。如果不行,我就用times
,但我想看看是否可行。
如果有人对于与 Minion Pro 一起使用 IPA 的字体有更好的建议,也欢迎提出建议。
答案1
您可以使用LuaLaTeX
.编译您的文件fontspec
。LuaLaTeX
承认unicode字符,这使得输入语音转录变得更简单,并且如果我可以补充的话,在编写代码时更清晰可读。
为了排版这些语音符号,你使用的字体必须在其映射中包含这些字符,因此我建议你使用Doulos SIL
,这是一种专门为处理不同语言的各种符号而设计的字体(你可以点击此处免费下载)。它也是一种衬线字体,可以与您想要使用的 Minion Pro 结合使用。
该Doulos SIL
字体没有自然的倾斜或斜体形状,但您可以用它来伪造它fontspec
。
这是您需要的针对您的文档的解决方案:
\documentclass{article}
\usepackage{fontspec}
%\setmainfont[BoldFont={Minion Pro Bold.ttf}, ItalicFont={Minion Pro Italic.ttf}
%{Minion Pro Regular.ttf}
\setmainfont{MinionPro}[
Extension = .otf,
UprightFont = *-Regular,
BoldFont = *-Bold,
ItalicFont = *-It,
BoldItalicFont = *-BoldIt
]
\newfontfamily\ipafont{Doulos SIL}[
SlantedFont={Doulos SIL},
SlantedFeatures={FakeSlant=0.15}
]
\newcommand{\ipa}[1]{{\ipafont #1}}
\begin{document}
\huge This is a text with a [\ipa{fəˈnɛɾɪk}] transcription and \textsl{\ipa{slæntəd}} text for in-text use. I also use \textsc{small caps} a lot. \textsl{slanted}
\end{document}
您可能会注意到文本是用 Minion Pro 排版的,但音标使用了 Doulos SIL 字体。
如果你找不到所需的所有 IPA 符号,你可能需要访问此网站输入单词和符号,然后复制并粘贴到文档中并进行编译。
我注释了您使用的字体,并用我的字体代替,但您可以随意取消注释您的字体并注释我的字体,以便在您的机器上正确编译。
答案2
您可以将想要使用的系列添加到\tipaencoding
命令中:
\documentclass{article}
\usepackage[T1]{tipa}
\renewcommand\tipaencoding{\fontencoding{T3}\fontfamily{ptm}\selectfont}
\usepackage{fontspec}
\setmainfont{TeX Gyre Heros}
\begin{document}
\huge This is a text with a \textipa{[f@"nERIk]} transcription and
\textipa{\textsl{slænt@d}} text for in-text use. I also use \textsc{small caps}
a lot.
\end{document}
答案3
作为对 Levy 的精彩回答的补充,这里有一种“重用” Tipa 传统输入样式的方法。我还\ipa
用 * 变体定义了用于倾斜类型的命令。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{MinionPro}[
Extension=.otf,
Path=/Library/Fonts/,
UprightFont=*-Regular,
ItalicFont=*-It,
BoldFont=*-Bold,
BoldItalicFont=*-BoldIt,
SlantedFont=*-Regular,
SlantedFeatures={FakeSlant=0.25},
]
\newfontfamily\ipafont{Doulos SIL}[
SlantedFont={Doulos SIL},
SlantedFeatures={FakeSlant=0.15}
]
\ExplSyntaxOn
\NewDocumentCommand{\ipa}{sm}
{
\group_begin:
\ipafont
\IfBooleanTF{#1}
{ \textsl { \lundgren_ipa:n { #2 } } }
{ \lundgren_ipa:n { #2 } }
\group_end:
}
\cs_new_protected:Nn \lundgren_ipa:n
{
\tl_map_function:nN { #1 } \__lundgren_ipa_char:n
}
\cs_new:Nn \__lundgren_ipa_char:n
{
\str_case:nnF { #1 }
{
{"}{ˈ}
{@}{ə}
{E}{ɛ}
{R}{ɾ}
{I}{ɪ}
%...
}
{#1}
}
\ExplSyntaxOff
\begin{document}
This is a text with a \ipa{[f@"nERIk]} transcription and
\ipa*{slænt@d} text for in-text use. I also use \textsc{small caps}
a lot. The transcription also works with direct input \ipa{[fəˈnɛɾɪk]}.
\end{document}
Minion Pro 的设置取决于字体在我的计算机上的存储方式,请根据您的机器使用适当的方式。
转换列表当然是不完整的,您可以在键入文档时填写新的对应关系。