Tufte-Latex:如何阻止 marginfigure 插入行内空间?

Tufte-Latex:如何阻止 marginfigure 插入行内空间?

我想使用 marginfigure,但它会在行内插入空格。请查看我的最小示例:

documentclass{tufte-book}

\begin{document}
Hello\begin{marginfigure}$2+2=4$\end{marginfigure}I'm new here.

\end{document}

在此处输入图片描述

如您所见,“您好,我是新来的”是两行不同的内容——我想要一行。当然,一个“解决方案”是简单地移动边距图;但是,这对我来说不是一个选择。

答案1

罪魁祸首似乎是\FloatBarrier命令(由placeins包裹)。如果我们\FloatBarrier从生成 的代码中删除该命令marginfigure,则不会插入任何空格:

\documentclass{tufte-book}

% Remove \FloatBarrier from marginfigure definition
% to prevent unwanted spaces.
\makeatletter% so we can use @ commands
\renewenvironment{@tufte@margin@float}[2][-1.2ex]{%
  %\FloatBarrier% removed because it adds unwanted white space
  \begin{lrbox}{\@tufte@margin@floatbox}%
  \begin{minipage}{\marginparwidth}%
    \@tufte@caption@font
    \def\@captype{#2}%
    \hbox{}\vspace*{#1}%
    \@tufte@caption@justification
    \@tufte@margin@par
    \noindent
}{%
  \end{minipage}%
  \end{lrbox}%
  \marginpar{\usebox{\@tufte@margin@floatbox}}%
}
\makeatother% restore meaning of @


\begin{document}

Hello\begin{marginfigure}$2+2=4$\end{marginfigure}I'm new here.

\end{document}

相关内容