我尝试使用 xelatex 将预格式化的 IPA 字符转换为 pdf,但目前失败了。我使用 Debian 和 latexmk 命令。报告来自数据库,经过格式化和分页,因此我使用
\end{verbatim}
\clearpage
\begin{verbatim}
保持格式。
标题代表越南语、韩语、波斯语、俄语、法语、希腊语、中文和其他语言,如下所示。如果我使用“Linux Libertine O”,俄语、波斯语和其他一些字符无法正确转换为 pdf,例如“缺少字符:font[lmmono10-regular] 中没有͡”。我还尝试了“Charis SIL Compact”以及许多其他字体,但没有成功。
我想处理 \begin{document} 之前的标题部分中的所有字体,因为在预格式化的报告中间切换字体非常困难。
这是可能的吗?或者我正在尝试一些不可能的事情?
非常感谢。以下是多种语言的示例标题。
Pochemu i͡a stal simvolistom i pochemu
Moskva i "Moskva" : Andrei͡a Belogo /
Andreĭ Belyĭ.
Vospominanii͡a ob Andree Belom /
I︠A︡, Faina Ranevskai︠a︡-- i vzdornai︠
Bāzmāndihʼ-i rūz /
Mastānah-yi ʻishq /
Pādāsh ṣabr /
Qiṣih yi man va aū /
Bād mā rā khvāhad burd /
Ṭaʻm-i gas-i khurmālū /
Nīyāzam-- /
¿Muerta?-- ¡pero de la risa! /
El poder curativo de la mente : técnic
Más allá de Conny Méndez 4 en 1 : de l
Libro del juego de las suertes nuevame
Qué es la wicca? : brujería de hoy /
Đông cỏ /
Ai nơ ép duyên /
Gió ngàn phương : tiêu thuyêt tình cảm
Đạo đưc kinh : Quôc văn giải thích /
Thiên học Viêt Nam /
Sinwŏn misang yŏja : Pʻatʻŭrik Modiano
Tongmul nongjang ; 1984-yŏn /
Tʻawŏ : Pae Myŏng-hun yŏnjak sosŏl.
Kŭ kŏri ŭi hyŏnjae nŭn /
Nobou ŭi sŏng = Nobō no shiro /
Renée Pélagie, marquise de Sade /
Anna Karénine.
La cour des miracles.
Chagrin d'école /
Ssu-chʻuan tsʻai = Chinese cuisine Sze
Tʻai-wan tsʻai /
Riben nü ren bu hui pang ye bu hui lao
答案1
这里涉及两个问题:
- 找到一种具有您需要的所有字符并正确放置变音符号的字体。
- 正确声明字体。
寻找字体
正如 egreg 指出的那样,从问题中无法清楚地知道您是否真的希望所有这些字符都以等宽字体显示,或者您是否只是使用环境,verbatim
这样您就不必对数据库的输出进行任何重新格式化。
如果您确实想要等宽字体:
- 康索拉具有 MWE 中的所有字符,并且具有良好的变音符号处理能力:
- 解放单色,统一字体, 和快递新品拥有 MWE 中的所有字符。但是,它们不能很好地处理组合连接条 (U+0361) 或左/右组合连接条字符 (U+FE20 和 U+FE21) 的定位。
- DejaVu Sans Mono和Linux Libertine Mono O缺少几个字符。
如果您想要比例字体:
- DejaVu Sans,宋体, 和英语字体格式一种拥有 MWE 中的所有字符,并能正确处理相关的变音符号:
- 查里斯·西尔,道洛斯 SIL,Gentium Plus拥有 MWE 中的所有字符。但是,它们不能很好地处理左/右组合连接线字符(U+FE20 和 U+FE21)的定位。
- 解放衬线和解放无拥有 MWE 中的所有字符。但是,它们不能很好地处理组合连接条 (U+0361) 或左/右组合连接条字符 (U+FE20 和 U+FE21) 的定位。
- Linux 自由人,布里尔, 和似曾相识的衬线体缺少左/右组合连接条字符(U+FE20 和 U+FE21)。
声明字体
您在问题中报告的错误消息涉及字体lmmono10-regular
。这意味着环境中的文本使用了 Latin Modern Mono(默认的 XeLaTeX 等宽字体)verbatim
。(因此找不到这么多字符也就不足为奇了。)
仅将主字体声明为 Linux Libertine O 使用\setmainfont
是不够的 -verbatim
环境使用单声道字体,而不是主字体,并且fontspec
不会自动将单声道字体更改为与主字体匹配(即使主字体是 Linux Libertine O,它也不会将 Linux Libertine Mono O 用于单声道字体,除非您明确告诉它这样做)。
如果您确实需要使用verbatim
,那么您可以使用\setmonofont{font name}
来指定您想要在该环境中使用的字体,无论它是否实际上是等宽的。
\documentclass{article}
\usepackage{fontspec}
\setmonofont{Consolas}
\begin{document}
\begin{verbatim}
Pochemu i͡a stal simvolistom i pochemu
Moskva i "Moskva" : Andrei͡a Belogo /
Andreĭ Belyĭ.
Vospominanii͡a ob Andree Belom /
I︠A︡, Faina Ranevskai︠a︡-- i vzdornai︠
Bāzmāndihʼ-i rūz /
Mastānah-yi ʻishq /
Pādāsh ṣabr /
Qiṣih yi man va aū /
Bād mā rā khvāhad burd /
Ṭaʻm-i gas-i khurmālū /
Nīyāzam-- /
¿Muerta?-- ¡pero de la risa! /
El poder curativo de la mente : técnic
Más allá de Conny Méndez 4 en 1 : de l
Libro del juego de las suertes nuevame
Qué es la wicca? : brujería de hoy /
Đông cỏ /
Ai nơ ép duyên /
Gió ngàn phương : tiêu thuyêt tình cảm
Đạo đưc kinh : Quôc văn giải thích /
Thiên học Viêt Nam /
Sinwŏn misang yŏja : Pʻatʻŭrik Modiano
Tongmul nongjang ; 1984-yŏn /
Tʻawŏ : Pae Myŏng-hun yŏnjak sosŏl.
Kŭ kŏri ŭi hyŏnjae nŭn /
Nobou ŭi sŏng = Nobō no shiro /
Renée Pélagie, marquise de Sade /
Anna Karénine.
La cour des miracles.
Chagrin d'école /
Ssu-chʻuan tsʻai = Chinese cuisine Sze
Tʻai-wan tsʻai /
Riben nü ren bu hui pang ye bu hui lao
\end{verbatim}
\end{document}
如果您确实选择将比例字体设置为单色字体,请注意,访问单色字体的其他命令和环境(如\texttt{}
)也将使用此比例字体。如果这不合您的心意,您可以使用此代码(改编自这个答案)而不是\setmonofont
设置verbatim
字体但不设置整体单色字体:
\newfontfamily\tnr{Times New Roman} % defines a new font family that can be accessed by \tnr
\usepackage{verbatim}% http://ctan.org/pkg/verbatim
\makeatletter
\newcommand{\verbatimfont}[1]{\def\verbatim@font{#1}}%
\makeatother
\verbatimfont{\tnr}