[comp.text.tex] Latex figure captions

anderson@cme.nist.gov (William E. Anderson) (02/27/90)

We would like to produce figure captions that are in a smaller font
than the rest of the text.  Doing things like:

   \caption[]{\small .....}

produces a small font but with a normal interline spacing.  We have
tried to redefine \makecaption with no success.  Does anyone have a
suggestion? 
-- 
NAME:   William E. Anderson            TELE: (301) 975-2423
USMAIL: NIST (formerly NBS)            INTERNET: anderson@ceee.nist.gov
        Rm. B-344, Bldg. 220           UUCP: uunet!cme-durer!anderson
        Gaithersburg, MD  20899

mojo@reed.bitnet (O(x log x)) (02/27/90)

In article <3186@sunspot.cme.nist.gov> anderson@cme.nist.gov (William E. Anderson) writes:
}We would like to produce figure captions that are in a smaller font
}than the rest of the text.  Doing things like:
}
}   \caption[]{\small .....}
}
}produces a small font but with a normal interline spacing.  We have

Can't you just change \baselineskip inside the braces?  I haven't tried (no
captions in my thesis yet) but it seems like the natural solution.

--
/^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\
| It's worse than that,  {      Nathan Tenny      }  Acme Hedgehog Inserters  |
| it's physics, Jim!     { ...tektronix!reed!mojo }  Implementation Director  |
\^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/

nboogaar@ruunsa.fys.ruu.nl (Martin v.d. Boogaard) (02/27/90)

anderson@cme.nist.gov (William E. Anderson) writes:

>We would like to produce figure captions that are in a smaller font
>than the rest of the text.  Doing things like:

>   \caption[]{\small .....}

>produces a small font but with a normal interline spacing.  We have
>tried to redefine \makecaption with no success.  Does anyone have a
>suggestion? 

Yes, I use the following lengths + macro:

% dimensions for indented figure captions
%
\newlength{\captwidth}
\setlength{\captwidth}{0.7\textwidth}
\newlength{\captindent}
\setlength{\captindent}{0.15\textwidth}
%
% \capt generates caption with label, typeset in smaller font and with a
%       smaller width than textwidth. This width is set above.
\newcommand{\capt}[2]{\hspace*{\captindent}
                      \begin{minipage}{\captwidth}
                        \let\normalsize=\footnotesize
                        \caption[]{#2}
                        \label{#1}
                      \end{minipage}}

It does more than just changing the font size: the caption is only 0.7 times
the textwidth and \capt accepts a label as its first argument. Modify it to
fot your needs.


Martin J. van den Boogaard          
                                        
Dept. of Atomic & Interface Physics, Rijksuniversiteit, Utrecht

                                       P.O. Box 80.000
decnet:   ruunsc::boogaard             NL-3508 TA  Utrecht
bitnet:   boogaard@hutruu51.bitnet     the Netherlands
internet: nboogaar@fys.ruu.nl          +31 30 532904

dhosek@jarthur.Claremont.EDU (dhosek) (02/28/90)

In article <14278@reed.UUCP> mojo@reed.bitnet (O(x log x)) writes:
>In article <3186@sunspot.cme.nist.gov> anderson@cme.nist.gov (William E. Anderson) writes:
>}We would like to produce figure captions that are in a smaller font
>}than the rest of the text.  Doing things like:

>}   \caption[]{\small .....}

>}produces a small font but with a normal interline spacing.  We have

>Can't you just change \baselineskip inside the braces?  I haven't tried (no
>captions in my thesis yet) but it seems like the natural solution.

One should NEVER EVER EVER EVER put anything between \begin{document}
and \end{document} in a LaTeX file that indicates the visual appearance
of some document structure (picture mode excluded) unless one is the
typesetting manager at the document's final site making some final
adjustments to the appearance of the document. If you keep this up, I
will send a large nun named "Guido" to rap your fingernails with a ruler.

The desired change can be accomplished with the following code in
a document style option:

% This is smallcaptions.sty as of 2/27/90
% Written by Don Hosek to save the world from bad LaTeX practices thank you very much.

\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
  ext@#1\endcsname}{#1}{\protect\numberline{\csname 
  the#1\endcsname}{\ignorespaces #2}}\begingroup
    \@parboxrestore
    \small
    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
  \endgroup}

For reasons why your current practice is BADBADBADBAD, insert a 
\listoffigures or \listoftables into your document.

-Don (am I as acerbic as Leslie Lamport yet?) Hosek
-- 
Important note: The Anti-Social Committee will not be meeting this
                week.
                                   UUCP: uunet!jarthur!dhosek
                               Internet: dhosek@hmcvax.claremont.edu

ccsupos@prism.gatech.EDU (SCHREIBER, O. A.) (03/01/90)

>One should NEVER EVER EVER EVER put anything between \begin{document}
>and \end{document} in a LaTeX file that indicates the visual appearance
>of some document structure (picture mode excluded) unless one is the
>

>% Written by Don Hosek to save the world from bad LaTeX practices thank you very much.
>

I want to be saved too.

How does one handle in the same document the switching between
single spacing, then double spacing and then back to single
spacing again as in a thesis made up of:
table of content (single spacing),
body of text (double spacing),
bibliography, vita (single spacing)


Thanks in advance for the advice.

-- 
Olivier Schreiber (404)894 6147, Office of Computing Services
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp: ...!{allegra,amd,hplabs,seismo,ut-ngp}!gatech!prism!ccsupos
ARPA: ccsupos@prism.gatech.edu

spqr@ecs.soton.ac.uk (Sebastian Rahtz) (03/01/90)

>>>>> On 28 Feb 90 21:36:48 GMT, ccsupos@prism.gatech.EDU (SCHREIBER, O. A.) said:

 > How does one handle in the same document the switching between
 > single spacing, then double spacing and then back to single
 > spacing again as in a thesis made up of:
 > table of content (single spacing),
 > body of text (double spacing),
 > bibliography, vita (single spacing)
%LaTeX style
% Document style option "dspc"
% -- usage:  \documentstyle[...,dspc,...]{...}
%
% This style option produces a double-spaced document by redefining
% the LaTeX parameter \baselinestretch to 2.
%
% It also fixes a number of problems with standard LaTeX, as follows:
%
% 1. A new environment "singlespace" is provided, within which single
%    spacing will apply. (Note that on entering this environment the
%    \normalsize command is issued automatically.)
% 2. Double spacing is turned off within footnotes and floats (figures
%    and tables).
% 3. Proper double spacing happens below tabular environments and in other
%    places where LaTeX uses a strut.
% 4. Slightly more space is inserted before footnotes.
%
% Note: This version sets a baselinestretch of 2. If this is too much,
%    put  \setstretch{1.7}  (or some appropriate value) before the
%    \begin{document} command. To print the document with single spacing
%    again, without removing "singlespace" environments, just put a
%    \setstretch{1} at the top of the document.
%
% Author: Stephen Page  -- sdpage@prg.oxford.ac.uk
%                          sdpage%prg.oxford.ac.uk@cs.ucl.ac.uk
% PLEASE REPORT ANY BUGS
%
% Release date: 6 July 1986
%
% Known bugs:
%    . It might be nice if spacing before the footnote rule (\footins)
%      were provided in a tidier way.
%    . Increasing struts may possibly cause some other obscure part of
%      formatting to fall over.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%---Set up double spacing

\def\baselinestretch{2}


%---New command "\setstretch" (slightly more mnemonic... and easier to type)

\def\setstretch#1{\renewcommand{\baselinestretch}{#1}}


%---New environment "singlespace".
%   The baselinestretch only takes effect at a size change, so do one.

\def\singlespace{\def\baselinestretch{1}\@normalsize}
\def\endsinglespace{}


%---Stretch the baseline BEFORE calculating the strut size. This improves
%   spacing below tabular environments etc., probably...
%   Comments are welcomed.

\def\@setsize#1#2#3#4{\@nomath#1\let\@currsize#1\baselineskip
   #2\baselineskip\baselinestretch\baselineskip
   \setbox\strutbox\hbox{\vrule height.7\baselineskip
      depth.3\baselineskip width\z@}
   \normalbaselineskip\baselineskip#3#4}


%---Increase the space between last line of text and footnote rule.
%   This is a very untidy way to do it!

\skip\footins 20pt plus4pt minus4pt


%---Reset baselinestretch within footnotes and floats. Originally stolen
%   from Stanford thesis style.

\def\@xfloat#1[#2]{\ifhmode \@bsphack\@floatpenalty -\@Mii\else
   \@floatpenalty-\@Miii\fi\def\@captype{#1}\ifinner
      \@parmoderr\@floatpenalty\z@
    \else\@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname
       \multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n
       \@tfor \@tempa :=#2\do
                        {\if\@tempa h\advance\@tempcnta \@ne\fi
                         \if\@tempa t\advance\@tempcnta \tw@\fi
                         \if\@tempa b\advance\@tempcnta 4\relax\fi
                         \if\@tempa p\advance\@tempcnta 8\relax\fi
         }\global\count\@currbox\@tempcnta}\@fltovf\fi
    \global\setbox\@currbox\vbox\bgroup 
    \def\baselinestretch{1}\@normalsize
    \boxmaxdepth\z@
    \hsize\columnwidth \@parboxrestore}
\long\def\@footnotetext#1{\insert\footins{\def\baselinestretch{1}\footnotesize
    \interlinepenalty\interfootnotelinepenalty 
    \splittopskip\footnotesep
    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
    \hsize\columnwidth \@parboxrestore
   \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
    {\rule{\z@}{\footnotesep}\ignorespaces
      #1\strut}}}

--
Sebastian Rahtz                        S.Rahtz@uk.ac.soton.ecs (JANET)
Computer Science                       S.Rahtz@ecs.soton.ac.uk (Bitnet)
Southampton S09 5NH, UK                S.Rahtz@sot-ecs.uucp    (uucp)