编辑:包括不同的变体以表明一切似乎运行良好。
我想使用塞尔诺利格使用 lualatex 使用的默认字体。原因是我写一篇论文时使用了简化的 LNCS 模板(基于Springer LNCS 会议模板)。模板使用默认的 latex 字体。当研讨会组织者在中央欧洲研究中心(正如我们在ZEUS 工作坊),我们不需要与 Springer 再三核对。
selnolig 简介
使用 fontspec 时 selnolig 工作正常。下面是“TeX Gyre Termes”的示例:“workflow”有连字符,而“dwarflike”没有。
\documentclass{article}
\usepackage[ngerman,english]{babel}
\usepackage{fontspec}
\usepackage[english]{selnolig}
% hint by http://tex.stackexchange.com/a/321066/9075 -> enable "= as dashes
\addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}}
\setmainfont{TeX Gyre Termes}
\begin{document}
\noindent
workflow -- ligature is correct here\\
dwarflike -- no ligature (automatically)\\
dwarf{\breaklig}like -- no ligature (manually, using selnolig)\\
dwarf"|like -- no ligature (manually, using babel)
\end{document}
没有字体规范的 MWE
\documentclass{article}
\usepackage[ngerman,english]{babel}
\usepackage[english]{selnolig}
\addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}}
\begin{document}
\noindent
workflow -- ligature is correct here\\
dwarflike -- no ligature (automatically)\\
dwarf{\breaklig}like -- no ligature (manually, using selnolig)\\
dwarf"|like -- no ligature (manually, using babel)
\end{document}
结果
! Package selnolig Error: ==========================================
(selnolig) Error Alert Error Alert
(selnolig) ------------------------------------------
(selnolig) The selnolig package *requires* the
(selnolig) 'fontspec' package, but it hasn't been
(selnolig) loaded. Exiting now.
(selnolig) ===========================================.
没有 setmainfont 的 MWE
\documentclass{article}
\usepackage[ngerman,english]{babel}
\usepackage{fontspec}
\usepackage[english]{selnolig}
\addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}}
\begin{document}
\noindent
workflow -- ligature is correct here\\
dwarflike -- no ligature (automatically)\\
dwarf{\breaklig}like -- no ligature (manually, using selnolig)\\
dwarf"|like -- no ligature (manually, using babel)
\end{document}
结果
MWE 与 fontspec 并手动切换回 lmodern
来自文档:
如果 selnolig 包在 LuaLaTeX 下运行,但在遇到 \begin{document} 语句时未加载 fontspec 包,则 selnolig 将终止并显示错误消息。
因此,我尝试设置任意字体,然后切换回默认字体:
\documentclass{article}
\usepackage[ngerman,english]{babel}
\usepackage{fontspec}
\usepackage[english]{selnolig}
% hint by http://tex.stackexchange.com/a/321066/9075 -> enable "= as dashes
\addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}}
% hint by https://tex.stackexchange.com/a/24998/9075 -> switch back to latin modern
\setmainfont{TeX Gyre Cursor}
\renewcommand\rmdefault{lmr}
\renewcommand\sfdefault{lmss}
\renewcommand\ttdefault{lmtt}
\begin{document}
\noindent
workflow -- ligature is correct here\\
dwarflike -- no ligature (automatically)\\
dwarf{\breaklig}like -- no ligature (manually, using selnolig)\\
dwarf"|like -- no ligature (manually, using babel)
\end{document}
结果如下。
问题
fontspec
只加载而不使用是否存在问题setmainfont
?