我有一份包含越南字符的文档,但它无法正确编译:
\documentclass[letterpaper]{article}
\usepackage[vietnam]{babel}
\begin{document}
Ðàn con chung một trái tim
\end{document}
字符看起来乱七八糟。我不知道如何让 Latex 能够显示任何语言的字符。这很令人沮丧,因为我习惯用 UTF-8 输入任何我想输入的内容。
在 Latex 文档中启用语言的步骤是什么?要找到答案,您可以使用我的越南语示例。
答案1
我复制了越南语维基百科中河内条目的开头:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[vietnam]{babel}
\begin{document}
Hà Nội là thủ đô, đồng thời là thành phố đứng đầu Việt Nam về diện
tích tự nhiên và đứng thứ hai về diện tích đô thị sau thành phố Hồ Chí
Minh, nó cũng đứng thứ hai về dân số với 6.913.161 người.
\end{document}
诀窍是启用utf8
包的编码inputenc
。
笔记大写“đê”(或“đờ”)字符的正确 Unicode 字符是 Đ(U+0110 带删除线的拉丁大写字母 D),而不是您使用的 Ð(U+00D0 拉丁大写字母 ETH)。它们非常相似,但有区别。前者用于克罗地亚语和越南语,后者用于冰岛语(其小写形式为 ð)。
如果必须使用不同的语言,则应声明babel
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english,vietnam]{babel}
\begin{document}
Hà Nội là thủ đô, đồng thời là thành phố đứng đầu Việt Nam về diện
tích tự nhiên và đứng thứ hai về diện tích đô thị sau thành phố Hồ Chí
Minh, nó cũng đứng thứ hai về dân số với 6.913.161 người.
\begin{otherlanguage*}{english}
Hanoi is the capital of Vietnam and the country's second largest city.
Its population in 2009 was estimated at 2.6 million for urban
districts, 6.5 million for the metropolitan jurisdiction.
\end{otherlanguage*}
\end{document}
对于英文短插页,\foreignlanguage{english}{some text in English}
可以使用。也可以定义个人缩写,例如
\newcommand{\EN}{\foreignlanguage{english}}
以便可以写成\EN{some text in english}
。您还可以使用以下方式缩写环境形式
\newenvironment{english}
{\begin{otherlanguage}{english}}
{\end{otherlanguage}}
\newenvironment{english*}
{\begin{otherlanguage*}{english}}
{\end{otherlanguage*}}
有关和babel
之间的区别,请参阅手册。otherlanguage
otherlanguage*
或者,您可以使用 XeLaTeX:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Linux Libertine O}
\usepackage{polyglossia}
\setmainlanguage{vietnamese}
\begin{document}
Hà Nội là thủ đô, đồng thời là thành phố đứng đầu Việt Nam về diện
tích tự nhiên và đứng thứ hai về diện tích đô thị sau thành phố Hồ Chí
Minh, nó cũng đứng thứ hai về dân số với 6.913.161 người.
\end{document}
这给出了正确的结果:
Polyglossia 发出了关于越南语缺少连字模式的警告,但这应该不是问题。
为了向 Polyglossia 声明其他语言,应该使用例如,
\setotherlanguage{english}
请注意,与 Polyglossia 相同的命令也babel
可以使用,但是在这种情况下english
环境已经被定义,因此english*
可能只需要定义。
答案2
添加\usepackage[utf8]{vietnam}
到序言中。请注意,由于编码问题,这仅适用于 LaTeX 或 PDFLaTeX,不适用于 LuaLaTeX 或 XeLaTeX。
例如,
\documentclass{article}
\usepackage[utf8]{vietnam}
\begin{document}
Hà Nội là thủ đô, đồng thời là thành phố đứng đầu Việt Nam về diện tích tự nhiên và đứng thứ hai về diện tích đô thị sau thành phố Hồ Chí Minh, nó cũng đứng thứ hai về dân số với 6.913.161 người.
\end{document}