Tipa 不工作

Tipa 不工作

我尝试使用 键入一些单词的音标,tipa但编译不正确,字形也未显示。以下是使用 编译的代码的 MWE LuaLaTeX

\documentclass[11pt,a5paper]{book}

\usepackage{geometry}
    \geometry{
        includehead = true,
        headheight = 15pt,
        includefoot = true,
        inner = 1.5 cm,
        outer = 1 cm,
        top = 1.5 cm,
        bottom = 1.5 cm,
    }

\usepackage{fontspec}
    \setmainfont{GaramondPremrPro}[
        Extension = .otf,
        UprightFont = *,
        BoldFont = *-Bd,
        ItalicFont = *-It,
        BoldItalicFont = *-BdIt,
        ]

\usepackage{polyglossia}
    \setdefaultlanguage{english}
    \disablehyphenation
\usepackage{tipa}

\begin{document}

In the bigynnyng god made of nouȝt\footnote{Nouȝt: nought /\textipa{n\textopeno :t}/} heuene and erthe.

\end{document}

发生的错误如下:

Font \T3/cmr/m/n/9=tipa9 at 9pt not loadable: metric data not found or bad. ...e{Nouȝt: nought /\textipa{n\textopeno :t}/}

Font shape `T3/GaramondPremrPro(0)/m/n' undefined(Font) using `T3/cmr/m/n' instead

Some font shapes were not available, defaults substituted.

是否有办法使其正确编译或将使用的字体更改textipacomputer modern或类似内容?我需要获取正确的音标符号。

答案1

由于您使用的是fontspec,而不是加载tipa您应该选择支持 IPA 的 Unicode 字体。 如果您可以使用fontspec,则不再需要旧版软件包tipa。如果您有大量以\textipa格式转录的数据,请考虑使用脚本自动转换。您可以使用您选择的输入法或字符映射以 UTF-8 格式输入 IPA 符号。事实上,即使您使用 tipa 字体,您也可以在 LaTeX 3 中执行此操作。

您可以简单地选择具有 IPA 符号的主字体,但这里有一个切换到补充字体的示例。

\documentclass{article}
% Changed the geometry to fit in a TeX.SX MWE
\usepackage[paperwidth=10cm, paperheight=4cm]{geometry}

\usepackage{fontspec}
    \defaultfontfeatures{Scale = MatchLowercase}
    \setmainfont{EB Garamond}[Scale=1.0]
    \newfontfamily\ipafont{Charis SIL}

\usepackage{polyglossia}
    \setdefaultlanguage{english}
    \disablehyphenation

\DeclareTextFontCommand\textphonetic{\ipafont}

\begin{document}

In the bigynnyng god made of nouȝt\footnote{Nouȝt: nought \textphonetic{/nᴐ:t/}}
heuene and erthe.

\end{document}

Garamond/Charis 字体示例

在这里,我将 Garamond 与 Charis SIL 进行匹配(实际上基于 Bitstream Charter)。其他包含 IPA 符号的免费字体包括 Doulos SIL(匹配 Times)、Andika、Gentium Plus 和 DejaVu Sans。Computer Modern 的 Unicode 克隆版是 CMU Serif。 许多商业字体现在也这样做。

定义 的另一种方法\textphonetic是使用ucharclasses来自动为 IPA 符号加载不同的字体系列。然而,这个包已经被废弃多年了,并且只在 XeTeX 中有效。如果你真的要关闭连字功能,我强烈建议你在 LuaLaTeX 中编译并\usepackage{microtype}获得字体扩展。这将极大地改善你的单词间距。

我不推荐这样做,但是:如果您想继续使用tipa命令,您可以查找它们的 Unicode 值并单独修补它们。

\newcommand\textopeno{{\ipafont\symbol{"1D10}}}

或者更简单地使用当前选定的字体

\newcommand\textopeno{ᴐ}

从技术上讲,理论上,可以tipa在同一文档中继续使用旧编码作为 Unicode luainputenc,但如果我再多说一点,可怜的 Ulrike Fischer 可能会心脏病发作。她不应该遭受这样的对待。

附言

Frank Mittlebach 正确地补充了我的回答,您收到此错误的原因是tipa似乎未正确安装。您的 TeX 引擎正在寻找作为后备的 T3 Computer Modern Roman 字体应该安装在 TeX Live 2019 上,但找不到。

尽管如此,我还是强烈建议使用 Unicode,而不是传统的 8 位编码。其优点包括能够在源文件中输入 IPA 符号,以及复制、粘贴和搜索 PDF。

根据他的评论,以下解决方法回答了您的字面问题,即如何使用中的8 位cmr字体。我不推荐它。tipafontspec

\documentclass{article}
% Changed the geometry to fit in a TeX.SX MWE
\usepackage[paperwidth=10cm, paperheight=4cm]{geometry}

\usepackage{tipa}
\usepackage{fontspec}
    \defaultfontfeatures{Scale = MatchLowercase}
    \setmainfont{EB Garamond}[Scale=1.0, NFSSFamily = cmr]

\begin{document}

In the bigynnyng god made of nouȝt\footnote{Nouȝt: nought \textipa{/n\textopeno :t/}}
heuene and erthe.

\end{document}

在此处输入图片描述

截至 2019 年 7 月,此字体系列适用在 CTANcmr、、cmsscmttphvptm现在可以从 OpenType 字体自动生成 T3 字体,因此还有更多字体正在筹备中。您可以在本地从 OpenType 字体生成 T3 字体 — 但如果您拥有 Unicode 字体并且已经在使用,则根本没有理由进行这种繁琐的程序fontspec。(这样做的唯一理由是满足仅接受 8 位编码但允许您提供自己的 8 位字体的站点的要求。我希望不久的将来,这些站点能够赶上本世纪。)您还需要做更多工作才能通过这种方式在输入中启用 UTF-8 IP​​A 符号。

答案2

尽管评论和其他答案中都有这样的陈述,但问题的实际原因并不是 LuaLaTeX 使用了“遗留”包,而只是 OP 的安装有问题。

9pt 处的字体 \T3/cmr/m/n/9=tipa9 无法加载:未找到度量数据或度量数据错误

如果出现此行,则表明 tipa9 的度量文件有问题或缺失。因此我猜测如果 tipa 与 pdftex 一起使用,也会出现同样的问题。我没有 GaramondPremPro,因此无法准确重现该示例,但简化它并使用 EB Garamond 对我来说在 LuaLaTeX 或 XeLaTeX 中效果很好。

第二行(警告)

字体形状改为T3/GaramondPremrPro(0)/m/n' undefined(Font) usingT3/cmr/m/n'

可能首先出现,因为它说请求的编码 T3 不适用于当前字体,因此改用 T3/cmr/m/n(然后那个出现 ftm 问题导致上述错误。

第三个只是重申发生了一些字体替换,因为 Garamond 字体在 T3 中不可用,而在 TU 中可用,因此为 IPA 字符选择了不同的字体(或者不是因为本地问题)。

因此基本上如果您使用 tipa 包,除非您进行某些更改,否则您将在 Computer Modern 中获得 IPA 字符,但您可以更改为其他字体,因为还有其他字体可用于 T3 编码,并且可能很快就会有更多字体,因为 autoinst 现在也支持该编码。

举个例子:

\documentclass[11pt]{book}

\setlength\textheight{3cm}

\usepackage{fontspec}
\setmainfont{EB Garamond}

\usepackage{tipa}

\begin{document}

In the bigynnyng god made of nouȝt\footnote{Nouȝt: nought /\textipa{n\textopeno :t}/} heuene and erthe.


Alternative settings:

\renewcommand\tipaencoding
   {\fontencoding{T3}\fontfamily{ptm}\selectfont}

Or\footnote{Nouȝt: nought /\textipa{n\textopeno :t}/} heuene and erthe.

\renewcommand\tipaencoding
   {\fontencoding{T3}\fontfamily{LinguisticsPro-LF}\selectfont}


Or\footnote{Nouȝt: nought /\textipa{n\textopeno :t}/} heuene and erthe.

\end{document}

给出

在此处输入图片描述

有人认为使用 Unicode 引擎意味着您不应该使用 tipa(或不能使用),但事实并非如此。使用包含 IPA 符号的 otf 字体并没有错。但是,tipa 为您提供了一种输入语法,在许多情况下,这种语法非常简洁,可能比直接输入 unicode 符号更容易。您可能还拥有较旧的文本或需要与所有引擎兼容的文本。tipa 提供的支持可能存在于\tone指示器领域,而在其他情况下您无法获得这些支持。也许它们是 Unicode 的,但我认为不是。因此,如果需要,那么...

不要忘记,fontspec 在底层只是调用 NFSS,并且不同的编码可以很好地并行工作。

最后,T3 是一种字体编码,因此它与使用无关luainputenc --- 这是@Davislor 给出的不错的答案中的一个红点,两者完美地并排在一起。

相关内容