喜欢纽约客,我希望我的 Adobe Caslon Pro 具有连字符ffl,ffi,等等,但不适用于钍。
使用 LuaLaTeX,我怎样才能简单地禁用钍结扎? 是否可以在不使用selnolig
软件包的情况下执行此操作?如果不行,您能否告诉我应如何修改序言以使其正常selnolig
工作?
\documentclass[fontsize=13.5pt,oneside,DIV=calc]{scrbook}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Adobe Caslon Pro}
\usepackage[paperwidth=150mm,paperheight=225mm]{geometry}
\geometry{verbose,tmargin=0.55in,bmargin=0.5in,lmargin=0.6in,rmargin=0.6in}
\pagestyle{empty}
\usepackage{microtype}
\usepackage{csquotes}
\MakeOuterQuote{"}
\MakeInnerQuote{´}
\automatichyphenmode=1
\frenchspacing
\usepackage{polyglossia}\setdefaultlanguage[variant=american]{english}
答案1
注意:此答案中的解决方案比使用 selnolig 提供了更精细的控制来禁用/启用连字。据我所知,selnolig 会全局禁用所有字体的连字。原始问题并未提及要禁用文档中使用的所有字体的 Th 连字,相反,它指定了应禁用该连字的确切字体系列“Adobe Caslon Pro”。使用 fontspec 解决方案,您可以实现以下任一结果:全局禁用所有字体或基于每个字体禁用。
这个lualatex解决方案来自详细答案这里. 使用命令运行>> lualatex <filename>.tex
。该命令的来源是 ConTEXt land,请参阅第 8.14 节Pragma ADE 的 Hans Hagen 撰写的“ConTEXt 之外的字体”
\usepackage{fontspec}
\directlua{
fonts.handlers.otf.addfeature{
name = "noth",
type = "multiple",
data = {
["T_h"] = { "T", "h" },
},
}
}
% Option-1 To disable the ligature for just Adobe Caslon Pro
\setmainfont[Ligatures=TeX,RawFeature=+noth]{Adobe Caslon Pro}
% OR
% Option-2 To disable the ligature globally for all fonts
\defaultfontfeatures{RawFeature=+noth}
\setmainfont[Ligatures=TeX]{Adobe Caslon Pro}
答案2
你问过,除其他问题外,
...您能告诉我具体该如何修改我的序言以使得
selnolig
[全局禁用“Th”连字符]吗?
干得好:
\usepackage{selnolig} % don't specify a language option
\nolig{Th}{T|h}
有关更多信息,请参阅该包的用户指南第 5.5 节“如何使用 selnolig 包抑制某些连字全球“。