我在使用csquotes
包装和microtype
使用突起(边距字距调整)。问题是,使用时,\enquote
我只能在左边距上获得边距字距调整。
\documentclass{minimal}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[tracking]{microtype}
\usepackage{csquotes}
\MakeAutoQuote{»}{«}
\begin{document}
\def\blindtext{Dies hier ist ein Blindtext zum Testen, Testen, Testen und Testen von Textausgaben und anderen Zeichen}
\noindent%
„\blindtext.“ \blindtext{} in mehreren Zeilen.\\
\enquote{\blindtext.} \blindtext{} in mehreren Zeilen.\\
»\blindtext.« \blindtext{} in mehreren Zeilen.\\
\end{document}
第一段文字使用手动设置的引号,使左边距和右边距都和正确的。
剪切的第二段和第三段文本仅突出于左边距。
有什么想法让我遇到这个问题以及如何解决它?
答案1
我认为这是个 bug csquotes
。你可以通过将以下代码放入你的序言中来解决它,但我不能说这是否会破坏其他东西。
\makeatletter
\def\csq@qclose@ii#1{%
\ifdim\lastkern=\csq@omitmarker
#1\csq@eqgroup
\else
\csq@addkern@close
\ifodd\csq@qlevel
\csq@thequote@oclose
\let\csq@kernchar@i\csq@thequote@oclose
\else
\csq@thequote@iclose
\let\csq@kernchar@i\csq@thequote@iclose
\fi
%\csq@setmarker@close %%% Here's the change; line commented out
\ifblank{#1}{}{\expandafter#1}%
\expandafter\csq@eqgroup
\expandafter\def
\expandafter\csq@kernchar@i
\expandafter{\csq@kernchar@i}%
\expandafter\csq@fixkern
\fi}
\makeatother
这适用于 的最新版本csquotes
。与往常一样,当您侵入包的宏时,无法保证上述代码适用于过去或未来的版本。