我想使用 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}