在 TeX Live 2015 中使用XeLaTeX
似乎会破坏经典的 LaTeX 引用(或强制输入 unicode,取决于如何看待它)。
结果
TeX Live 2014
fontspec.sty 2015/03/14 v2.4c XeLaTeX 和 LuaLaTeX 的字体选择
``something quoted''
显示为“引用的内容”
TeX Live 2015
fontspec.sty 2016/01/30 v2.5 XeLaTeX 和 LuaLaTeX 的字体选择
``something quoted''
显示为“引用的内容”。
这是正常的吗?我看到了这个问题:使用 fontspec 时左右引号不正确,但我的源代码没有任何变化。添加Ligatures=TeX
参数似乎\setmainfont
可以解决问题,但为什么只在 TeX Live 2015 中出现?
\documentclass{article}
\usepackage{fontspec}
\setmainfont{DejaVu Sans}
\begin{document}
\obeylines
``check it out''
“check it out”
\end{document}
发行说明fontspec
https://www.ctan.org/tex-archive/macros/xetex/latex/fontspec/?lang=en
v2.5a(2016/02/01)“修复错误”
- 相当尴尬的错误修复!(
unicode-math
已损坏。) - 请记住将该文件添加
fontspec.cfg
到分发版中。 - 删除(不再需要)
+trep
。Ligatures=TeX
- 使用添加一些基本测试
l3build
;更多内容即将推出。 - 简化一些内部Lua代码和包加载代码。
v2.5(2016/01/30)“TL2016 发布”
- 提供新的 Unicode 字体编码(“TU”)来替代 EU1/EU2 和 xunicode。如果这导致问题,请加载 fontspec 并选择
[euenc]
恢复到旧行为。 \emfontdeclare
任意嵌套命令时定义字体形状的新命令\emph
。- 允许倾斜的小型大写字母和更好的“组合”字体形状的内部方法;这修复了一些错误。
- 为印度字体添加“新”字体脚本标签。例如,选择 时
Script=Bengali
,fontspec 将首先查询字体的bng2
OpenType 脚本,如果未找到,则选择beng
。 - 限制某些字体功能的使用,以免
\addfontfeatures
造成字体加载混乱。 \baselineskip
修复了在加载包后和\f@size
可能改变值的行为。- 删除
fixltx2e
脚注符号代码的副本;现在由 LaTeX2e 处理。 - 弃用
ExternalLocation
更简单(且相同)Path
的选项。 - 改进一些警告/信息消息。
- 改进代码结构。
答案1
fontspec
v2.5a(2016/02/01)“错误修复”解决了该问题。
- 2.5 版并未包含指定为默认功能的
fontspec.cfg
位置。Ligatures=TeX
Ligatures=TeX
是通常加载的字体的默认选项fontspec
。因此我没有在我的文档中将其指定为参数。在 TeX Live 2015 中,它意外地成为非违约。这意味着 LaTeX 不会通过字符组合``
和创建连字''
。