在 Marginpar 中对图像进行编号

在 Marginpar 中对图像进行编号

我想在 marginpar 中添加一些小图像。添加图像的目的是添加一些额外的“有用的”信息,但它们与文档的内容没有直接关系,这就是为什么我想将它们放在 marginpar 中。

使用代码

\marginpar{\sffamily\scriptsize \includegraphics[width=\marginparwidth]{img/gauss.jpg} Johann Carl Friedrich Gauß (latinisiert Carolus Fridericus Gauss; * 30. April 1777 in Braunschweig; † 23. Februar 1855 in Göttingen) war ein deutscher Mathematiker, Astronom, Geodät und Physiker. Er galt bereits zu seinen Lebzeiten als Princeps Mathematicorum („Fürst der Mathematiker“).}

在 marginpar 中给出了一个漂亮的图形,但我希望它被编号并出现在 LOF 中。我尝试使用我在这里的一些示例中看到的 \captionof,但该命令未知。我怎样才能“伪造”图形标题,就像真正的图形标题一样,并将图形添加到 LOF?

这就是我得到的: 在此处输入图片描述

这就是我想要的: 在此处输入图片描述

第二张图片是我通过手动输入标题文字来伪造的:-)

答案1

为了使用自动编号和一些描述,\caption这里不能使用,因为\marginpar(也不是\marginnote)是浮动环境,但\captionof{figure}可以工作。这需要captionbox,由于其高度可配置性,强烈推荐使用。

\documentclass[a4paper]{article}

\usepackage{marginnote}
\usepackage[rmargin=4cm]{geometry}
\usepackage{caption}

\usepackage[demo]{graphicx}
\usepackage{blindtext}
\begin{document}
\listoffigures
\clearpage
\section{A section on Ducks}
\marginnote{%
\includegraphics[scale=0.2]{ente}\captionof{figure}{A nice duck}%
}
\blindtext

\blindtext

\marginnote{\includegraphics[scale=0.4]{beeduck}\captionof{figure}{Yet another nice duck}}
\blindtext[2]
\end{document}

在此处输入图片描述

答案2

我不知道 caption 包。不过,我发现了另一种很酷的方法,使用以下代码:

\newsavebox{\@margin@floatbox}
\newenvironment{@margin@float}[2][-1.2ex]%
  {\FloatBarrier\begin{lrbox}{\@margin@floatbox}%
  \begin{minipage}{\marginparwidth}%
% can swap left/right align if desired.
%      \checkoddpage
%      \ifoddpage
%        \def\captionstyle{\sffamily\scriptsize\raggedleft}
%      \else
        \def\captionstyle{\sffamily\scriptsize\raggedright}
%      \fi
    \def\@captype{#2}%
    \hbox{}\vspace*{#1}%
    \noindent%
  }
  {\end{minipage}%
  \end{lrbox}%
  \marginpar{\usebox{\@margin@floatbox}}%
  }

\newenvironment{marginfigure}[1][-1.2ex]%
  {\begin{@margin@float}[#1]{figure}}
  {\end{@margin@float}}

这非常有效,让我可以在边距中使用标签和所有内容。我只需使用

\begin{marginfigure}
% includegraphics or whatever
\caption[short caption]{here comes the caption}
\label{any label}
\end{marginfigure}

但我不确定从印刷的角度来看,使用两端对齐或左对齐文本是否更好。

相关内容