我正在使用 Tufte-Book 类(\documentclass{tufte-book}),它可用这里我的问题是,如果我在 \footnote{} 中使用命令 \cite,即
\sidenote{Some text \cite{test} }
引文会自动放入新行。例如,如下所示
正如引用
Jon Fripp、Deborah Fripp 和 Michael Fripp。《论科学》。Newnes,第 1 版,2000 年 4 月。ISBN 9781878707512
有什么方法可以防止这种换行吗?具体来说,我希望脚注看起来像:
引自 Jon Fripp、Deborah Fripp 和 Michael Fripp。《论科学》。Newnes,第一版,2000 年 4 月。ISBN 9781878707512
答案1
这是 Tufte-LaTeX 的一个错误。Tufte-LaTeX 可以正确打印完整引文,但无法打印文内引文。
START COPYING HERE
以下是演示该解决方案的示例文档。若要在您自己的文档中使用此解决方案,请复制和行之间的代码END COPYING HERE
。
\documentclass{tufte-handout}
%
% START COPYING HERE
%
\makeatletter
% Original definition of \cite from natbib package.
\DeclareRobustCommand\natcite{%
\begingroup\let\NAT@ctype\z@\NAT@partrue\NAT@swatrue
\@ifstar{\NAT@fulltrue\NAT@cites}{\NAT@fullfalse\NAT@cites}%
}
% Updated definition for Tufte-LaTeX
\renewcommand{\@tufte@infootnote@cite}[1]{%
\natcite{#1}% <-- added this line
\@tufte@add@citation{#1}%
}
% Only redefining this to get rid of a spurious space
\renewcommand\@tufte@add@citation[1]{\relax% adds a new bibkey to the list of cite keys
\ifx\@tufte@citations\@empty\else
\g@addto@macro\@tufte@citations{,}% separate by commas
\fi
\g@addto@macro\@tufte@citations{#1}% <-- stupid whitespace!
}
\makeatother
%
% STOP COPYING HERE
%
\usepackage{lipsum}% provides filler text
\begin{document}
Test.\sidenote{Some of my favorite books are~\cite{Tufte1990,Tufte1997,Tufte2001,Tufte2006}.}
\lipsum[1]
\bibliography{sample-handout}
\bibliographystyle{plainnat}
\end{document}