3

I'm writing a book using a tufte-like style but implemented using memoir. (I don't want to use tufte itself as memoir has lots of nice features.) Thus, I have a relatively narrow textwidth, use marginnotes, etc. There is one feature I would like to implement but do not know how, and that is to have a fullwidth figure with the caption below the figure, in the margin. The memoir side caption (MWE below) puts the figure to one side, and the regular figure environment puts the caption below the figure. I would like to have a figure caption below the figure, but in the margin, as illustrated below. Mimicking the tufte fullwidth environment is not of itself sufficient. If anyone has suggestions or, even better, some working code I'd be grateful.

enter image description here

\documentclass[10pt, a4paper,openright, twoside]{memoir}
\usepackage[demo]{graphicx}
\usepackage{kantlipsum}
%
\begin{document}
\kant[1]
\begin{figure}
    \setlength{\sidecapraise}{-5cm}   % manual adjustment of figure caption position
    \begin{sidecaption}{\kant[2]}[label]
        \includegraphics[width=1.2\textwidth,height=0.5\textwidth]{dummy}
    \end{sidecaption}
\vskip -6cm     % manual adjustment of position of main text below figure   
\end{figure}
\end{document}
1
  • I've figured out a way of doing this manually with the `sidecapraise' command, and then shifting the main text upwards, and have edited my MWE accordingly. It is not ideal as it requires manual tuning depending on the height of the figure and the length of the caption.
    – GeoffV
    Nov 16, 2016 at 17:39

1 Answer 1

2

I think that you can do this without using sidecapraise and thus having to know the image's height by emulating the Tufte fullwidth environment (on this and other Tufte-esque features in memoir), putting the figure in that and then putting the caption in a sidepar.

EDIT: The problem with the following solution is that it won't interact correctly with other floated material in the margin (sidenotes etc). I would like to see a solution that does, in the way that the Tufte classes do.

\documentclass[10pt, a4paper,openright, twoside]{memoir}
\usepackage[demo]{graphicx}
\usepackage{kantlipsum}

% emulate Tufte full-width environment
\newlength{\fullwidthlen}
\setlength{\fullwidthlen}{\marginparwidth}
\addtolength{\fullwidthlen}{\marginparsep}
\newenvironment{fullwidth}{%
  \begin{adjustwidth*}{}{-\fullwidthlen}%
}{%
  \end{adjustwidth*}%
}

\begin{document}
\kant[1]
\begin{figure}[t]
  \begin{fullwidth}
    \includegraphics[width=5pt,height=0.5\textwidth]{dummy}
  \end{fullwidth}
  \vspace{-\baselineskip}\vspace{-\baselineskip}
  \sideparmargin{outer}
  \sidepar{\vspace{\baselineskip}
    \caption{Caption for a full-width figure appearing in the margin
      below it.}}
\end{figure}
\end{document}

This should work with figures that have "top" or "here" placement. Use \vspace to tweak the vertical spacing between figure, following body text and caption.

1
  • Sorry for my slow response. It is certainly better than my own hack. I'll still wait a while to see if someone comes up with a solution that addresses your own EDIT, and so gets the interaction with other sidenotes correctly, if that is possible. Ideally, one might like to see a tufte.sty (i.e. tufte implemented as a package within memoir), rather than a class by itself.
    – GeoffV
    Jun 4, 2017 at 15:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .