Adding an equation or formula to a figure caption in LaTeX

gotgenes picture gotgenes · Apr 26, 2010 · Viewed 21.3k times · Source

I have a figure in LaTeX with a caption to which I need to add a formula (equation* or displaymath environments). For example:

\documentclass[12pt]{article}
\begin{document}
\begin{figure}[tbph]
    \begin{center}
        %...
    \end{center}
    \caption{As you can see
            \begin{displaymath}4 \ne 5\end{displaymath}
    }
    \label{fig:somefig}
\end{figure}
\end{document}

This makes pdflatex angry, though it will produce a PDF.

! Argument of \@caption has an extra }.
<inserted text> 
                \par 
l.9    }

What's the right way to go about adding an equation to a figure caption?

NOTE: Please do not suggest simply using the $ ... $ math environment; the equation shown is a toy example; my real equation is much more intricate.

See also:

Answer

Rehj Cantrell picture Rehj Cantrell · Jun 23, 2011

Using the package "caption":

\begin{figure}
\begin{center}
    ...
    \captionsetup{singlelinecheck=off}
    \caption[.]{
    \begin{displaymath}
        assoc\_meaning(\lambda x_{SBJ}. followed(x,y) \&actor(x) \nonumber \&actor(y),\lambda x_{SBJ}. maintained(x,\nonumber <(dist\_from(y),1))
    \end{displaymath}}
\end{center}
\end{figure}

The square brackets following \caption aren't optional, but leaving them off won't cause an error that looks any different than the one before you added \usepackage{caption} and \captionsetup{...}.