![采用不寻常的 `csquotes` 样式的间距](https://linux22.com/image/363648/%E9%87%87%E7%94%A8%E4%B8%8D%E5%AF%BB%E5%B8%B8%E7%9A%84%20%60csquotes%60%20%E6%A0%B7%E5%BC%8F%E7%9A%84%E9%97%B4%E8%B7%9D.png)
我目前正在转录和编辑一位祖先的一些旧信件。在一些信件中,他使用引号来引用或标题(书籍、诗歌、歌曲等),但偶尔他会忘记设置结束标记。
我希望我的抄写尽可能接近原文——这意味着我对文本的所有添加都应该被标记——当然,我希望继续使用它csquotes
来处理引文。幸运的是,用强调的结束引号定义一种新的引文风格相当容易!然而,我对引文后的间距有疑问,特别是在内部引文在外部引文之前立即结束的情况下。
过去,\xspace
即使它后面跟着一个右引号,我也可以使用它,因为我已经包含了\csq@qclose@i
-- \xspaceaddexceptions
,但这似乎不适合我的新风格。
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{xspace}
\makeatletter
\xspaceaddexceptions{\grqq \grq \frqq \frq
) \} \] \,
\csq@qclose@i
\xspace
\[ % This doesn't work here!
}
\makeatother
\usepackage[autostyle,german=quotes]{csquotes}
\renewcommand{\mktextins}[1]{\textbf{[#1]}} % \textbf could also be something else, e.g. \color
\DeclareQuoteStyle{norightmark}
{\quotedblbase} {\textins{\textquotedblleft}\xspace}%[0.05em]
{\quotesinglbase} {\textins{\textquoteleft}\xspace}
\begin{document}
\setquotestyle{norightmark}
\enquote{This is an \enquote{inner quote\xspace}followed by normal text, and that is \enquote{an inner quote ending together with the outer quote.}}There should be white space before this sentence.
\setquotestyle*%
\vspace{1cm}
The following paragraph has normal quotations:
\enquote{This is \enquote{an inner quote\xspace}followed by normal text, and that is \enquote{an inner quote ending together with the outer quote.\xspace}}There should be white space before this sentence.
\end{document}
那么,如何才能摆脱内外右引号之间的空白,而不必\xspace
从我的引用样式中删除?
答案1
您需要添加\textins
到\xspaceaddexceptions
。然后该命令将被识别为xpatch
不需要在其前面添加空格。