在环境中使用\includgraphics
命令(在graphicx
包下)时marginfigure
,图像会稍微偏离中心到右侧,但仅在使用垂直对齐选项时才会出现。
\documentclass{tufte-handout}
\usepackage{graphicx}
\geometry{showframe}
\begin{document}
\begin{marginfigure}[-0.5in]
\includegraphics[width=\textwidth]{bb_navy.jpg}
\end{marginfigure}
\end{document}
如果没有垂直对齐,图像就会按预期居中。
答案1
tufte-handout
用于在边距中插入图形和其他浮动元素 的环境应通过在\ignorespaces
之后添加 来修复\noindent
。
看 https://tex.stackexchange.com/a/102026/161015
TeX 换行算法的一个基本特性是,行首的粘连(包括空格的粘连)会被丢弃。但是段落
\noindent
已经开始,因此后面的空格标记会产生不会被丢弃的粘连(因为它不在换行符后面)。
和https://tex.stackexchange.com/a/102025/161015
每当你在带参数的宏末尾使用
\noindent
(或\indent
) 时,最好添加\ignorespaces
\documentclass{tufte-handout}
\usepackage{graphicx}
\geometry{showframe}
\makeatletter
\renewenvironment{@tufte@margin@float}[2][1.2ex]%
{\FloatBarrier% process all floats before this point so the figure/table numbers stay in order.
\begin{lrbox}{\@tufte@margin@floatbox}%
\begin{minipage}{\marginparwidth}%
\@tufte@caption@font%
\def\@captype{#2}%
\hbox{}\vspace*{#1}%
\@tufte@caption@justification%
\@tufte@margin@par%
\setlength{\parindent}{0.0pc}%
\noindent%
\ignorespaces% added <<<<<<<<<<<<<<<<<<<
}
{%
\end{minipage}%
\end{lrbox}%
\marginpar{\usebox{\@tufte@margin@floatbox}}%
}
\makeatother
\begin{document}
\begin{marginfigure}[-0.5in]
\includegraphics[width=\linewidth]{example-image-a}
\end{marginfigure}
\begin{marginfigure}% [-0.5in]
\includegraphics[width=\linewidth]{example-image-c}
\end{marginfigure}
\end{document
答案2
您可以通过直接移动\noindent
到小页面的开头来解决这个问题:
\documentclass[nobib]{tufte-handout}
\usepackage{graphicx}
\geometry{showframe}
\makeatletter
\renewenvironment{@tufte@margin@float}[2][-1.2ex]%
{\FloatBarrier% process all floats before this point so the figure/table numbers stay in order.
\begin{lrbox}{\@tufte@margin@floatbox}%
\begin{minipage}{\marginparwidth}%
\noindent% <-- MOVE HERE
\@tufte@caption@font%
\def\@captype{#2}%
\hbox{}\vspace*{#1}%
\@tufte@caption@justification%
\@tufte@margin@par%
}
{\end{minipage}%
\end{lrbox}%
\marginpar{\usebox{\@tufte@margin@floatbox}}%
}
\makeatother
\begin{document}
\begin{marginfigure}[-.5in]
\includegraphics[width=\textwidth]{example}
\end{marginfigure}
\end{document}