Markus Kuhn wrote:
> When I use Springer's LaTeX class for the Lecture Notes on
> Computer Science (LNCS) series from
> ftp://ftp.springer.de/pub/tex/latex/llncs/latex2e/llncs.cls
> (Document Class: llncs 2004/08/17 v2.14) along with
> \usepackage[dvips]{hyperref}
> then suddenly the font size of all figure captions changes. Normally,
> LNCS figure captions use a smaller font size than the normal text.
> But as soon as I load hyperref, these are suddenly of the same size
> as the main text.
> Has anyone the faintest idea of what is happening here?
I know whats happening...
> Is there a practical fix or workaround known?
...but can't think of an easy workaround.
llncs.cls obtains the smaller font by redefining \@floatboxreset, and
then omitting any font change from \@makecaption. Wrong. They should
have followed the standard practice of putting the caption font switch
into \@makecaption, which does the actual typesetting of the caption.
Hyperref, on the other hand, redefines \caption and \@caption and puts
\normalfont just before the call to \@makecaption.
One possible solution is to load a package that allows configuration of
captions. Hyperref recognizes the float package, so maybe that can be
used.
Another is to copy llcns.cls's definition of \@makecaption and put in
\small:
\long\def\@makecaption#1#2{%
\small
\vskip\abovecaptionskip
\sbox\@tempboxa{{\bfseries #1.} #2}%
\ifdim \wd\@tempboxa >\hsize
{\bfseries #1.} #2\par
\else
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}
Or copy hyperref's definition of \@caption and change \normalfont to
\normalfont\small
Dan