我使用包中的 Palatino 字体newpxtext
与 LuaLaTeX 结合使用。使用此包无法ß
直接设置德语特殊字符:
% Magic comments for TeXstudio
% !TeX spellcheck = de_DE
% !TeX program = lualatex
\documentclass{scrartcl}
%\usepackage{fontspec}
% Font: Palatino
\usepackage{newpxtext}
\begin{document}
Draußen währt am längsten.
Drau\ss en währt am längsten.
\end{document}
MWE 的结果是:DrauSSen währt am längsten.
。当我切换到 时它可以工作fontspec
。
如何使用符号ß
来代替\ss
设置文本?
答案1
您可以使 ß 处于活动状态并定义它:
\documentclass{scrartcl}
\usepackage{newpxtext}
\catcode`\ß=13
\defß{\ss}
\begin{document}
Draußen währt am längsten.
Drau\ss en währt am längsten.
\end{document}
这或多或少就是 luainputenc 所做的。但最好使用 fontspec:
\documentclass{scrartcl}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella} %palatino clone
\begin{document}
Draußen währt am längsten.
\end{document}
答案2
您使用的是哪种输入编码?如果您不使用 fontspec,无论输入编码是什么,您都必须将其指示给 LuaLaTeX。例如,如果您的编辑器配置了 utf8-unicode,则必须插入以下行
\usepackage[utf8]{luainputenc}
在您的程序的序言中。在这种情况下,您的文件对我来说非常完美。