Too wide figure caption
Her's one possibility using the caption
package; using the width
key you can assign a predefined width (0.8\textwidth
in my example):
\documentclass{article}
\usepackage{caption}
\usepackage{lipsum}
\begin{document}
\lipsum[2]
\begin{figure}
\captionsetup{width=0.8\textwidth}
\centering
A Figure
\caption{\protect\lipsum[4]}
\end{figure}
\end{document}
You can also make this a global setting using \captionsetup
in the preamble.
Another option is to use the floatrow package; here's a little example using \FBwidth to make the caption width equal to the figure width:
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{floatrow}
\usepackage{lipsum}
\begin{document}
\lipsum[2]
\begin{figure}
\ffigbox[\FBwidth]
{\caption{\protect\lipsum[4]}}
{\includegraphics{image}}
\end{figure}
\end{document}
The demo
option for graphicx
simply replaces actual figures with black rectangles; do not use that option in your actual document.
The boxhandler
package is set to define different captioning options. Below is a screenshot from the package manual. By default, it makes the caption width the figure width, but you can set upper and lower bounds on caption width as well as define specific widths. You also see in the image below different caption styles
And in this second image, you can see some of the parameters over which it gives you control.
Here is a one-liner solution to reduce the width of the caption box. This will change it for every figure in your document:
\usepackage[margin=1cm]{caption}