csquotes:字距错误?

csquotes:字距错误?

我发现enquote在包中csquotes,结束的双引号离最后一个字母太近了:

\documentclass{article}
\usepackage{csquotes}
\begin{document}
\noindent
\enquote{nature of}\\
``nature of''
\end{document}

在此处输入图片描述

这是一个已知的错误吗(我不需要报告)?我在 texlive 2016 中使用 pdflatex。

答案1

这不是csquotes错误,而是 OT1 字体的问题:如果直接输入引号符号而不是通过连字符输入,则会缺少字距调整:

\documentclass{article}

\begin{document}

of''
of\char"22
of\textquotedblright


\fontencoding{T1}\selectfont
of''
of\char"11
of\textquotedblright
\end{document}

在此处输入图片描述

所以这是不使用 OT1 编码的另一个原因——至少如果您想使用计算机现代字体(例如 lmodern 字体没有这个问题)。

答案2

您可以修复以下问题ot1enc.def(在我看来,这是错误的):

\documentclass{article}
\usepackage{csquotes}

% ot1enc.def has
%\DeclareTextSymbol{\textquotedblright}{OT1}{`\"}
% fix it
\DeclareTextCommand{\textquotedblright}{OT1}{''}

\begin{document}

\noindent
\enquote{nature of}\\
``nature of''
\end{document}

在此处输入图片描述

答案3

只需fontenc使用该T1选项加载(以防inputenc万一使用它[比较])。

\documentclass{article}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\begin{document}
  \noindent
  \enquote{nature of}\\
  ``nature of''
\end{document}

在此处输入图片描述

相关内容