我使用的是 xelatex 和 linux libertine 字体。当我在文本中写下包含两个t
相邻字符的内容(例如“rotten”)时,它会将这两个t
字符更改为一个tt
字符。它在 PDF 中显示正常,但无法复制或在 pdf 中搜索该内容。
我怎样才能使它只是简单地两个t
字符相邻呢?
答案1
禁用连字:
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\setmainfont[Ligatures={NoCommon}]{Linux Libertine O}
\begin{document}
\Huge rotten
\end{document}
答案2
如果 XeLaTeX 是唯一能够满足您的排版需求的格式 - 特别是如果您不能使用 LuaLaTeX - 您有两种选择可以抑制tt
连字,同时又不完全关闭所有“常见”连字:
插入 TeX 所称的隐含的紧邻两个
t
字符之间的(零宽度):rot\kern0pt ten % note: no space between "\kern" and "0pt"
插入 TeX 所称的显式字距(也是零宽度)两个
t
字符之间:rot\/ten, rot\kern 0pt ten % note the space between "\kern" and "0pt"
“斜体修正”
\/
是一种显式字距校正。顺便说一句,如果所讨论的单词实际上是用斜体。
请注意,对于“tt”的每个实例都必须单独执行此操作。
最后说明/评论:含有tt
最后说明/评论:如果通过 XeLaTeX 编译 PDF 文件,则无法在其中搜索漏洞在 XeLaTeX 下的实现中Linux Libertine O
。首先,包含更常见的“常见”(双关语)连字ff
、fi
、fl
和ffl
是事实上,如果文档是通过 XeLaTeX 编译的,则可以搜索。其次,字体系列Palatino nova
还具有tt
连字功能。当我使用Palatino nova
而不是Linux Libertine O
,我遇到了没有困难搜索包含tt
连字符的单词(或者,包含ff
、、、和连fi
字符的单词)。fl
ffi
ffl
% !TEX TS-program = xelatex
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures={TeX,Common}]{Linux Libertine O}
\begin{document}
implicit kern (\verb+rot\kern0pt ten+): rot\kern0pt ten \& \emph{rot\kern0pt ten}
explicit kern (\verb+rot\/ten+): rot\/ten \& \emph{rot\/ten}
\verb+ro{t}{t}en, rot{}ten+: ro{t}{t}en, rot{}ten --- tt ligature still there!)
\end{document}
答案3
如果您只想禁用 tt 连字符而不禁用其他连字符,并且不想每次手动添加字距,则可以使用 xetex charclass 机制。
我似乎没有字体,因此我禁用了 arial 中的 ff,并且我插入了 10pt 字距而不是 0pt,以使其更加明显。
注意第二行中的 ff 是分开的,但是 fi 连字符仍然起作用,
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Arial}
\begin{document}
\showoutput
ffoo difficult safe
\XeTeXinterchartokenstate=1
\newXeTeXintercharclass\fchar
\XeTeXcharclass`f=\fchar
\XeTeXinterchartoks\fchar\fchar{\kern10pt}
ffoo difficult safe
\end{document}
因此对于你的问题来说它变成了
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures={TeX}]{Linux Libertine O}
\XeTeXinterchartokenstate=1
\newXeTeXintercharclass\tchar
\XeTeXcharclass`t=\tchar
\XeTeXinterchartoks\tchar\tchar{\kern0pt}
\begin{document}
rotten fisticuffs
\end{document}