我需要使用给定的模板编写文档(标题、页眉、正文等使用特定的字体和字体大小)。该文档是英文的,但我需要输入一些 Unicode 字符(例如输入一些名称)。我想使用 xelatex 进行编译,但如果我在加载包之前加载 fontspec 包,模板的所有字体设置都会丢失:
\usepackage{fontspec}
如果我在加载 .sty 模板文件后加载 fontspec,情况会好一些,但与使用基本 latex 获得的结果仍然有很大不同。
我知道我可以使用一些技巧(例如,用 \'e 代替 é,这样可以工作,所以我猜想所使用的字体正确支持所需的 utf8 子集),但我想知道是否存在针对这种情况的通用解决方案,即在不更改当前字体设置的情况下支持 utf8 文件?我不确定是否完全理解加载 fontspec 时会发生什么。
[编辑] 很多评论建议我不需要使用xelatex
utf8 来工作。我不得不说我已经习惯了,以避免出现此类问题:
! 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 更改字体的能力。