14

I've tried to change the caption in a full-width float with tufte-book, but to no avail. I want the caption in this figure to be like more common LaTeX classes.

Here is a MWE and the result:

\documentclass[a4paper,nohyper]{tufte-book} %abstracton
\usepackage{fontspec}
\defaultfontfeatures{Ligatures={TeX}}
\setmainfont[Numbers={OldStyle}]{Minion Pro} %or any other font
\setsansfont{Myriad Pro} % or any other font
\setmonofont[Scale=MatchLowercase]{Menlo}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{sidecap}
\usepackage[dvipsnames]{xcolor}
\usepackage{polyglossia}
\setmainlanguage{brazil}
\usepackage[bookmarks]{hyperref}
%\usepackage[font=sf, labelfont={sf}, margin=1cm]{caption}
\newfontfamily{\A}{Al Bayan}

\begin{document}

\begin{figure*}
\centering
\includegraphics[width=.9\textwidth]{./camp-scene}
\caption{Cena de Acampamento. Mir Sayyid Ali, séc. XVII. 28,4 x 20 cm. Harvard University Art Museums, 1958.75. Os tecidos preenchiam a vida tanto dos nômades quanto dos habitantes das cidades, cobrindo o chão e definindo o espaço. O papel onipresente dos tecidos é visto numa pintura de um acampamento nômade, atribuído ao pintor persa do século XVI Mir Sayyid Ali.}
\label{fig:camp-scene}
\end{figure*}

\end{document}

enter image description here

4
  • What do you mean with to be like more common Latex classes Commented May 26, 2012 at 11:20
  • I want the caption to start at the left, below the figure, just like a normal paragraph, so that it fits on the page.
    – user9424
    Commented May 26, 2012 at 15:42
  • Did you try caption* Commented May 26, 2012 at 15:52
  • caption* does not work, messes things up, and besides it's intended to take away figure numbers, which I don't want.
    – user9424
    Commented May 26, 2012 at 16:03

3 Answers 3

11

This is difficult, as tufte-book works really hard to shove your caption in the margin and does not provide any easy way to do proper full page figures with nice full page captions.

What you really need is for the tufte-book people to add this functionality to the class. You could try asking in the tufte-book group on Google groups. But a quick search shows that the same question was asked there in 2010 and no-one has yet answered it.

In the meantime here is my simple hack to work round the problem

replace your \caption tag with this

\stepcounter{figure}
\smallskip\noindent\small Figure \thefigure:
Cena de Acampamento.....

being sure to leave a blank line before the \stepcounter line to force a paragraph break, and not forgetting to remove the } a the end of the caption.

This works by manually updating the counter that \caption uses inside a figure environment. You could make it even more polished by manually writing to the list of figures as well, but if you are that serious about it, you really should think about getting a "full page figure" environment added to tufte-book.

HTH Toby

2
  • 1
    You should rather use \refstepcounter{figure}, which would allow for using \label as well.
    – Werner
    Commented May 31, 2012 at 5:56
  • 2
    \refstepcounter doesn't seem to work as normal in tufte-book figures. The \label references back to the last counter update before the figure. Commented Jan 29, 2014 at 0:23
3

I faced the same problem and was not completely pleased with the answer given by Thruston, because it lacks some of the nice features of the original \caption command (positioning, not respecting font choices made for captions in the preamble, sometimes difficulties with cross referencing etc.). Taking \classiccaptionsstyle as defined in this answer, a nicely behaving full page figure environment can be achieved as simple as:

\newenvironment{pagefigure}{%
    \begin{figure*}[p]
    \classiccaptionstyle
  }{\end{figure*}}

Then just call \begin{pagefigure} instead of \begin{figure} and use the \caption command as usual.

3

Since the solution proposed by Thruston had some issues with numbering that I could not resolve I took to modifying the tufte-latex class. I wrote a pull request that adds a new figurefw (and tablefw) environment that has a full width caption. This is still work in progress, for example captions can be written over the following text, but this should be no problem for full page figures.

To use this early version (which will surely undergo some changes as part of the PR) you can use the files from my fork of the repository. Copy the files tufte-common.def tufte-book.cls, and tufte.bst into your LaTeX project folder.

Then you can use the environment as follows:

\begin{figurefw}
\centering
\includegraphics[width=.9\textwidth]{./camp-scene}
\caption{Cena de Acampamento. Mir Sayyid Ali, séc. XVII. 28,4 x 20 cm. Harvard University Art Museums, 1958.75. Os tecidos preenchiam a vida tanto dos nômades quanto dos habitantes das cidades, cobrindo o chão e definindo o espaço. O papel onipresente dos tecidos é visto numa pintura de um acampamento nômade, atribuído ao pintor persa do século XVI Mir Sayyid Ali.}
\label{fig:camp-scene}
\end{figurefw}
1
  • This is the only one of the above solutions that worked for me; thanks so much!
    – NWaters
    Commented Apr 27, 2020 at 10:28

You must log in to answer this question.