手动插入嵌套引号之间的额外细空格 csquotes 吗?

手动插入嵌套引号之间的额外细空格 csquotes 吗?

我遇到了一个奇怪的问题csquotes。使用fontspec带有终端撇号的引号时,撇号和引号之间没有空格。如果我禁用fontspec(注释掉下面 MWE 中的第 3-4 行),问题就会消失。

我正在使用 XeLaTeX 和fontspec付费版本的 Baskerville(开放类型格式),但问题似乎与字体无关,我似乎能够使用任何开放类型字体重现它。

例如 Art Blakey 和 Jazz Messengers 的歌曲呻吟我的引用指南说歌曲名称应该放在引号中。

MWE 中的第一个例子显示了这个问题。

第二个例子表明,如果我使用手动插入一个细空格,\,那么会导致撇号和右引号之间的空格太大。

第三个例子表明嵌套\enquote产生了正确的空格。

由于这个问题以前从未出现过,而且我怀疑它不会再有规律地再次出现,最简单的解决方案是手动插入正确的空间,就像我在第二个示例中尝试做的那样。但薄空间太大了。我该如何手动插入正确大小的空间?

在此处输入图片描述

\documentclass{article}
\usepackage[style=american]{csquotes}
\usepackage{fontspec}
\setmainfont{Baskerville}
\begin{document}

  \enquote{Moanin'}           % example 1

  \enquote{Moanin'\,}         % example 2

  \enquote{\enquote{Moanin}}  % example 3

\end{document}

答案1

介绍性说明:如果有人运行你的代码没有加载时Baskerville\enquote{Moanin'}会自动在0.5pt撇号和结束双引号之间插入空格 --。我不知道为什么在运行后情况并非如此\setmainfont{Baskerville};我想这一定是 Baskerville Opentype 字体或软件包中的错误csquotes

\,(“thinspace”)插入 1.667pt 的不可中断空格。要获得更少的不可中断空格,可以使用命令\kern。请注意,的参数\kern不应由花括号分隔。就我个人而言,我认为 0.5pt 的空格不足以分隔单引号和双引号;插入 0.7pt 甚至 0.9pt 似乎更合适。(当然,插入1.667pt空格——这就是它的\,作用——太多了。)

在此处输入图片描述

\documentclass{article}
\usepackage[style=american]{csquotes}
\usepackage{fontspec}
\setmainfont{Baskerville}
\begin{document}

\obeylines % just for this example
\enquote{Moanin'}  --- no space
\enquote{Moanin'\kern0.5pt} --- 0.5pt (csquotes solution)
\enquote{Moanin'\kern0.7pt} --- 0.7pt
\enquote{Moanin'\kern0.9pt} --- 0.9pt
\enquote{Moanin'\,} --- thinspace/1.667pt
\end{document}

答案2

感谢 Mico 和 Ulrike Fischer 在评论中留下了出色的解决方案。

\enquote{Moanin\kern0.5pt}都是\enquote{Moanin\textciquote}解决上述问题的完美方案。

相关内容