使用 XeLaTeX 转换 Unicode 字符而不改变字体

使用 XeLaTeX 转换 Unicode 字符而不改变字体

我需要使用给定的模板编写文档(标题、页眉、正文等使用特定的字体和字体大小)。该文档是英文的,但我需要输入一些 Unicode 字符(例如输入一些名称)。我想使用 xelatex 进行编译,但如果我在加载包之前加载 fontspec 包,模板的所有字体设置都会丢失:

\usepackage{fontspec}

如果我在加载 .sty 模板文件后加载 fontspec,情况会好一些,但与使用基本 latex 获得的结果仍然有很大不同。

我知道我可以使用一些技巧(例如,用 \'e 代替 é,这样可以工作,所以我猜想所使用的字体正确支持所需的 utf8 子集),但我想知道是否存在针对这种情况的通用解决方案,即在不更改当前字体设置的情况下支持 utf8 文件?我不确定是否完全理解加载 fontspec 时会发生什么。


[编辑] 很多评论建议我不需要使用xelatexutf8 来工作。我不得不说我已经习惯了,以避免出现此类问题:

! Package inputenc Error: Unicode char − (U+2212)
(inputenc)                not set up for use with LaTeX.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.77 This is a test with long hyphen "−
                                " and unbreakable space " ".
? 

对于这个例子,我在序言中只写了:

\documentclass{article}
\usepackage[utf8]{inputenc}
[…]

如果使用 进行编译,我该如何避免此类问题pdflatex?我是否应该按照建议手动定义每个不支持的字符\DeclareUnicodeCharacter?在我看来,依赖 xelatex 是一种更好的做法,但我可能错了。我不得不承认,大多数时候我使用 xelatex 更多的是为了扩展 utf8 支持,而不是为了使用 fontspec 更改字体的能力。

相关内容