如何将 selnolig 包与默认 lualalatex 字体一起使用?

如何将 selnolig 包与默认 lualalatex 字体一起使用?

编辑:包括不同的变体以表明一切似乎运行良好。

我想使用塞尔诺利格使用 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}

1型

没有字体规范的 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}

结果如下。

3型

问题

fontspec只加载而不使用是否存在问题setmainfont

答案1

问题不太清楚,但我认为你正在寻找

在此处输入图片描述

\documentclass{article}
\usepackage{fontspec}
\usepackage[english]{selnolig}
\usepackage[ngerman,english]{babel}
\addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}}
\begin{document}
workflow\\
dwarflike\\
dwarf"|like
\end{document}

相关内容