编者注:
此问题针对的是 UTF-8 字符在 LaTeX 文档中无法正常工作的特定情况。请参阅在 LaTeX 中输入 Unicode 字符对于其他情况。
这可能是一个愚蠢的问题,但我在网上找不到任何简单的答案,而且答案有时是矛盾的。
我正在写一份使用一些奇怪字母的文档。我想使用一些 LaTeX 变体进行排版,但没有任何效果。例如,如果我将这份文档与四个示例单词(一个俄语单词、一个捷克语单词、一个带有长度指示的拉丁语单词、一个越南语单词)一起使用
\documentclass[12pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\begin{document}
Днепр kůň dominī Ngữ
\end{document}
并将其放入xelatex
人们推荐的 Unicode 中,我得到的只是这个
这并不是我想要的。
将 UTF-8 编码文件放在一边并在另一边获取实际文本的最简单方法是什么?
编辑:
添加更多信息。
我正在使用 Ubuntu 操作系统,我想使用一些适合较大论文的字体(像 Computer Modern 这样的字体就可以了,尽管我个人更喜欢 Palatino 风格的字体)
答案1
您可以使用 XeLaTeX,但inputenc
不应加载。而是使用fontspec
并定义具有所需字形的字体。
假设你已经在系统上安装了 XITS 字体;那么你可以这样做
\documentclass[12pt,a4paper]{report}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{XITS}
\begin{document}
Днепр kůň dominī Ngữ
\end{document}
如果系统上没有安装该字体,仍然可以使用它(您需要完整的 TeX Live)
\documentclass[12pt,a4paper]{report}
\usepackage{fontspec}
\setmainfont[
Ligatures=TeX,
Extension=.otf,
UprightFont=*-regular,
ItalicFont=*-italic,
BoldFont=*-bold,
BoldItalicFont=*-bolditalic,
]{xits}
\begin{document}
Днепр kůň dominī Ngữ
\end{document}
另一个简单的选择是 Linux Libertine:
\documentclass[12pt,a4paper]{report}
\usepackage{libertine} % also loads fontspec
\begin{document}
Днепр kůň dominī Ngữ
\end{document}
为了获得真正的多语言支持,您仍然需要 Polyglossia 或babel
。
答案2
我不使用 Ubuntu,但 Ubuntu 应该为 Linux Libertine 提供一个软件包(如果默认情况下未安装),并且支持所有语言:
\documentclass[12pt,a4paper]{report}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\begin{document}
Днепр kůň dominī Ngữ
\end{document}
为了弄清安装了哪些字体,我查看了其中的/usr/share/fonts
opentype 字体,并特别留意了其中的字体。我发现了一个目录/usr/share/fonts/otf-linux-libertine-ibx/
,其中包含例如/usr/share/fonts/otf-linux-libertine-ibx/LinLibertine_R.otf
。您的目录更可能是这样的/usr/share/fonts/opentype/LinLibertine-R.otf
。
获取字体的基本信息,包括要输入的名称fontspec
:
otfinfo -i /usr/share/fonts/otf-linux-libertine-ibx/LinLibertine_R.otf
其结果为:
Family: Linux Libertine O
Subfamily: Regular
Full name: Linux Libertine O
PostScript name: LinLibertineO
Version: Version 5.3.0
Unique ID: FontForge 2.0 : Linux Libertine O : 2-7-2012
Designer: Philipp H. Poll
Designer URL: http://www.linuxlibertine.org
Manufacturer: Philipp H. Poll
Vendor URL: http://www.linuxlibertine.org
Copyright: Linux Libertine by Philipp H. Poll,
Open Font under Terms of following Free Software Licenses:
GPL (General Public License) with font-exception and OFL (Open Font License).
Created with FontForge (http://fontforge.sf.net)
Sept 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,2012
License URL: http://www.fsf.org/licenses/gpl.html AND http://scripts.sil.org/OFL
License Description: GPL- General Public License AND OFL-Open Font License
Vendor ID: PfEd
要检查字体支持哪些脚本(字母表):
otfinfo -s /usr/share/fonts/otf-linux-libertine-ibx/LinLibertine_R.otf
这给了我:
DFLT Default
cyrl Cyrillic
cyrl.SRB Cyrillic/Serbian
grek Greek
hebr Hebrew
latn Latin
latn.AZE Latin/Azeri
latn.CRT Latin/Crimean Tatar
latn.DEU Latin/German
latn.MOL Latin/Moldavian
latn.ROM Latin/Romanian
latn.TRK Latin/Turkish
math Mathematical Alphanumeric Symbols
要正确排版语言,您需要使用 或polyglossia
。babel
最好先尝试前者,但并非所有语言都受支持。阅读文档以了解如何指定和调用所需的语言。这将确保为您在文档中使用的每种语言正确调整连字符等功能。
编辑
对于 Linux Libertine 来说,最好libertine
按照 egreg 的回答中的说明进行加载。但是,如果您希望使用没有 TeX 包的字体,则可以使用上述方法来确定它是否可能起作用以及如何将其指定给fontspec
。