我一直在尝试使用 TeXLive 2010 安装中的 lualatex 设置文档。不幸的是,非 ASCII 字符被遗漏在输出中。以下最小文档生成一个没有警告或错误的 PDF,但它只包含第二行。使用 inputenc 包会导致错误Unicode char ... not set up for use with LaTeX.
\documentclass{minimal}
\begin{document}
číčí
abcd
\end{document}
pdflatex 可以很好地处理文档。我的 lualatex 版本是
This is LuaTeX, Version beta-0.60.2-2010071421 (Web2C 2010) (rev 3736)
谢谢您的指点。
编辑:为了获得加分,我该如何使用 Bitstream Charter 字体?我使用 mathdesign 包,但使用它们时(甚至在加载fontspec
、fontenc
和/或 时luaotfload
),非 ASCII 字符会丢失 :/
\usepackage[bitstream-charter]{mathdesign}
答案1
您实际上需要加载包含这些字符的字体。默认情况下,lualatex 使用计算机现代字体。您可以使用包选择字体fontspec
。只需加载fontspec
而不明确设置字体,lualatex 就会使用包含字符的拉丁现代字体。
\documentclass{minimal}
\usepackage{fontspec}
\begin{document}
číčí
abcd
\end{document}
给出
您可以使用包加载任何 OTF 或 TTF 字体fontspec
。有关详细信息,请参阅fontspec 手册我不知道是否有支持 Unicode 的 Bitstream Charter 版本,但你可以使用查里斯·西尔,其基于此:
\documentclass{minimal}
\usepackage[charter]{mathdesign} % sets the math font
\usepackage{fontspec}
\setmainfont{Charis SIL} % sets the document font
\begin{document}
číčí abcd $abcd$
\end{document}
请注意,您必须mathdesign
先将其包含在内\setmainfont
,以便它不会覆盖文档字体。
答案2
除非您想享受 Unicode 和 OpenType 的好处,否则您不能使用任何字体包fontspec
。免费提供的 Charter 版本是非 Unicode Type 1 字体,因此您不应该使用它。例如,使用基于 Charter 的 Charis SIL。