答案1
如果你使用 LuaTeX,那么你可以使用 单独添加字距调整对\directlua
。例如在 OpTeX 中:
\fontfam[lm]
\directlua
{fonts.handlers.otf.addfeature
{
name = "kern-qq-comma", % name of a new font feature
type = "kern",
data = {
["”"] = { [","] = -150}, % kern between ” and comma reduced
}
}
}
\setff{kern-qq-comma}\rm
She said ``hello'', then waved.
\bye
答案2
由于逗号被理解为简单文本,因此我认为任何重新定义间距的方法都可能有点冒险且成本高昂。不过,使用宏,我们可以轻松做到这一点。
\documentclass{article}
\usepackage[style=british]{csquotes}
\NewDocumentCommand{ \qnc }{ m }{%
% Stands for `q'uotes a`n'd `c'omma.
\enquote*{#1}\kern-1.5pt,%
}
\begin{document}
\begin{description}
\item She said, \enquote*{hello}, then waved.
\item She said, \qnc{hello} then waved.
\end{description}
\end{document}
输出:
请注意,我已经使用了包csquotes
它的语法更高效,风格也更灵活。它减少了手动出错的几率。如果您更喜欢手动方法,可以选择以下代码。它与上面给出的代码相同,只是没有csquotes
。
\documentclass{article}
\NewDocumentCommand{ \qnc }{ m }{%
% Stands for `q'uotes a`n'd `c'omma.
``{#1}''\kern-1.5pt,%
}
\begin{document}
\begin{description}
\item She said, ``hello'', then waved.
\item She said, \qnc{hello} then waved.
\end{description}
\end{document}