我发现\caption*
tufte-book 中非边距图形的行为很奇怪。我使用的是 caption 包。对于边距图形,可以\caption*
正确地隐藏标题开头的图形编号。对于非边距图形,图形编号会出现,后面跟着“ *
”作为标题,然后实际的标题文本会直接附加在图形下方,就像它是图形的一部分一样。以下是一个例子:
\documentclass{tufte-book}
\usepackage{caption}
\captionsetup{compatibility=false}
\usepackage{lipsum}
\usepackage{mwe}
\begin{document}
\section{This section}
\begin{marginfigure}
\centering
\includegraphics[width=\textwidth]{example-image-a}
\caption*{This is a margin caption.}
\end{marginfigure}
\lipsum[1]
\begin{figure*}
\includegraphics[width=\textwidth]{example-image-b}
\caption*{This is a main caption.}
\end{figure*}
\end{document}
下面的 John Kormylo 的回答并没有起到很好的作用。它确实消除了图号,但它将标题放在了图的下方,而不是“笨拙地”将其放在一边。例如,请参见下面的两张并排图片:
左侧图片是使用此\setcaption
技巧制作的。右侧图片是 tufte-book 渲染的默认方式\caption
。
答案1
两者都\caption
经常\@makecaption
被替换。 \setcaption
恢复它们。
\documentclass{tufte-book}
\usepackage{caption}
\captionsetup{compatibility=false}
\makeatletter
\newcommand\setcaption{% use caption package \caption
\let\@makecaption=\caption@makecaption
\let\caption=\caption@caption
}
\makeatother
\usepackage{lipsum}
\usepackage{mwe}
\begin{document}
\section{This section}
\begin{marginfigure}
\centering
\includegraphics[width=\textwidth]{example-image-a}
\setcaption
\caption*{This is a margin caption.}
\end{marginfigure}
\lipsum[1]
\begin{figure*}
\includegraphics[width=\textwidth]{example-image-b}
\setcaption
\caption*{This is a main caption.}
\end{figure*}
\end{document}
\tufte@caption
修改以处理 caption 包会很困难,甚至不可能\caption
。但是,您始终可以重叠 marginpar 区域,这就是它的作用\tuftestuff
(请随意重命名)。
我本来会使用 marginnotes 包,但它也与 tufte 不兼容。
\documentclass{tufte-book}
\usepackage{caption}
\captionsetup{compatibility=false}
\makeatletter
\newcommand\setcaption{% use caption package \caption
\let\@makecaption=\caption@makecaption
\let\caption=\caption@caption
}
\makeatother
\usepackage{lipsum}
\usepackage{graphicx}
\newcommand{\tuftestuff}[1]{% #1 = \caption
\setcaption
\rlap{\hskip\textwidth\hskip\marginparsep\smash{\parbox[t]{\marginparwidth}{#1}}}%
}
\begin{document}
\section{This section}
\begin{marginfigure}
\centering
\includegraphics[width=\textwidth]{example-image-a}
\setcaption
\caption*{This is a margin caption.}
\end{marginfigure}
\lipsum[1]
\begin{figure}
\tuftestuff{\caption*{This is a main caption.}}% must go first
\includegraphics[width=\textwidth]{example-image-b}
\end{figure}
\begin{figure*}
\includegraphics[width=\textwidth]{example-image-b}
\setcaption
\caption*{This is a main caption.}
\end{figure*}
\end{document}