喂食
\documentclass{standalone}
\usepackage{newtxtext}%%% 2020/07/22 v1.628
\begin{document}
bijection
\end{document}
指向pdflatex
一个 PDF 文档(这里是它的图片,
),您无法使用 PDF 阅读器 Evince 或 Okular 单独复制bi
或jection
。如果您不使用 NewTX,则可以按预期选择并单独复制bi
或jection
。在我看来,字形ij
是以图形方式使用的(尽管使用两个 PDF 查看器正确地从文本层复制整个单词会ij
在单词内产生两个单独的字母)。
pdflatex
同样地,
\documentclass{standalone}
\usepackage[T1]{fontenc}% 2021/04/29 v2.0v
\usepackage{newtx}% 2024/02/08 v1.738
\begin{document}
bijection
\end{document}
截至 2024-02-17 收益率
在 Evince 或 Okular 中,您无法单独选择bi
或jection
。如果您不使用\usepackage[T1]{fontenc}
或 NewTX,则可以按预期单独选择和复制bi
或。虽然使用 Okular 从文本层复制整个单词会在单词内产生两个单独的字母,但使用 Evince 从文本层复制整个单词会在单词内产生连字。所以在我看来,字符或字形是以图形方式使用的。jection
ij
ij
ij
如果这个字符或字形ij
确实在这里使用,那么它就错误地跨越了语言词素边界;无论如何,您应该能够单独选择和复制“bi”部分。如何避免这种奇怪的行为?
更多信息:https://graphicdesign.stackexchange.com/questions/142681
NewTX 维护者已被告知。
答案1
更新
在 NewTX 字体的 1.631 版本(以及一些后续版本,不包括 v1.71)中,该问题已得到修复。
原始答案
当前版本的文本字体ntx-Regular-tlf-t1
有
(LABEL C I)
(LIG C J O 234)
(STOP)
[...]
(LABEL C i)
(LIG C j O 274)
(KRN O 224 R -0.03)
(KRN C j R -0.035)
(KRN C T R -0.03)
(STOP)
上面的代码可能有点晦涩难懂,但这是我从中得到的,它以(几乎)人类可读的形式tftopl
显示文件。该指令引入了连字和字距调整,以 ASCII 位置的字符作为第一个元素。tfm
LABEL C i
i
这里LIG C j O 274
告诉 TeXi
后面的j
应该用位于八进制 274 位置的字形替换(在 T1 编码中,它确实是荷兰语的复合“ij”)。相反,KRN C T R -0.03
告诉 TeX 在i
和之间T
应该有一个负的字距,其大小应为设计尺寸的 3/100(但这将根据字体加载时的放大倍数进行缩放)。有一个KRN C j R -0.035
指令,但由于LIG C j
先出现,后者被丢弃。
在以前版本的newtxtext
字体中,没有连字符映射I
,i
我们读到
(LABEL C i)
(KRN C j R -0.035)
(KRN O 224 R -0.03)
(KRN C T R -0.03)
(STOP)
添加连字符I
+J
映射到八进制 234 处的字符和i
+j
映射到八进制 274 处是错误的。
T1 编码确实在这些位置有字形“IJ”和“ij”,但它们是荷兰语及其大写规则所特有的。它们不应用作一般连字符。维护者必须修复此疏忽。
同时,您可以使用microtype
禁用错误的连字符。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{newtxtext}%%% 2020/07/22 v1.628
\usepackage{microtype}
\DisableLigatures[I,i]{encoding=T1}
\begin{document}
bijection
\end{document}
请注意,字距仍然适用。禁用连字符会恢复上述字距。
答案2
如果你愿意使用 LuaLaTeX 来编译你的文档,你可以使用塞尔诺利格ij
如果newtxtext
正在使用文本字体包,则包会自动抑制连字。
如果比较每行中的第一个和第二个单词,您会注意到和之间的字距i
不受j
selnolig 包操作的影响,即使连字符不再存在。
ij
据我所知,在英语文档中,-ligature没有什么好的用途,即使对于那些有拉丁词根的单词也是如此 -- 例如bijection
-- 或者源自另一种现代语言的单词,例如,bijou
(jipijapa
又名巴拿马草帽)和Marijuana
(Maryjane -- 你还能想到什么?)。
% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{fontspec} % is required by 'selnolig'
\usepackage{newtxtext}
\usepackage{selnolig}
\begin{document}
bijection bi\kern0ptjection
\em bijection bi\kern0ptjection
\end{document}