句子结束后引用会破坏空格

句子结束后引用会破坏空格

我正在使用报告类来撰写论文。有时,多个连续的句子引用同一来源,因此Booh \cite{source}. Baah \cite{source}.我不写,而是写Booh. Baah. \cite{source}。但是,引用参考文献后面有一个放大的空格(表示句子的结尾),后面跟着一个正常的空格。

这样,读者就会将引用参考与下面的句子联系起来,而不是它后面的句子。

我可以用 来抑制扩大的空间\<space>。但是如何获得引用后的扩大的空间?

最小示例:

\documentclass{report}

\begin{document}
Hello, I am a sentence \cite{testcitation}. I am 
a sentence as well. \cite{testcitation} And me too!
\end{document}

输出:

测试输出。

答案1

我认为您的读者不会理解句号后面的引文指的是什么。话虽如此,您可以这样做:

\documentclass{report}
\usepackage{xpatch}

\makeatletter
\xpretocmd{\cite}{\leavevmode\spacefactor@remember}{}{}
\xapptocmd{\@citex}{\spacefactor@reset}{}{}
\newcommand{\spacefactor@remember}{%
  \ifdim\lastskip>\z@\unskip~\fi
  \xdef\spacefactor@value{\the\spacefactor}%
  \spacefactor\@m
}
\newcommand{\spacefactor@reset}{\spacefactor=\spacefactor@value\relax}
\makeatother

\begin{document}

\xspaceskip=20pt % just to show the extended spaces more clearly

Hello, I am a sentence \cite{testcitation}. I am 
a sentence as well. \cite{testcitation} And me too!

\end{document}

这个设置\xspaceskip只是为了更清楚地标记句末空格。

在此处输入图片描述

相关内容