[Tex/LaTex] Use a font size smaller than “\footnotesize” in footnotes

captionsfontsizefootnotes

I want to change \footnotesize such that all footnotes are sized in \scriptsize.
I could do this with

\renewcommand{\footnotesize}{\scriptsize}

But I also want to use \footnotesize in its original meaning for all captions (and other parts) of my document.
At the moment I am using

\usepackage[font=footnotesize,labelfont=bf]{caption}

For example, is there a way to copy the command, e.g. in \captionsize and then change the original command without changing the copy?
This should still scale if I would change my document from 11pt to 12pt or else.

And no,

\newcommand{\captionsize}{\footnotesize}
\renewcommand{\footnotesize}{\scriptsize}

does not work.

Best Answer

I think it is ok to make caption titles and text in figures and tables smaller, the command is called \small. Footnotes are set in \footnotesize, as the name already tells. \scriptsize is much too small, it is the size intended for sub- and superscripts. If nobody should be able to read footnotes, then it is much easier and safer to remove the footnotes.

Nevertheless, the size commands can be redefined. A little smaller than the original versions might be a still acceptable compromise.

Size \small for captions can be set by package caption:

\usepackage[font=small]{caption}

The size commands are usually defined in size10.clo, size11.clo, size12.clo that are loaded by the standard classes for the document size option (10pt, 11pt, 12pt, default: 10pt).

Example for size10.clo. It defines the smaller font sizes:

\newcommand\small{%
   \@setfontsize\small\@ixpt{11}%
   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus2\p@
   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 4\p@ \@plus2\p@ \@minus2\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\newcommand\footnotesize{%
   \@setfontsize\footnotesize\@viiipt{9.5}%
   \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus\p@
   \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 3\p@ \@plus\p@ \@minus\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt}

A redefinition can repeat the definitions with \renewcommand instead of \newcommand. Instead of cryptic macros (\@vipt), normal size specifications can be given (6pt).

\makeatletter
\renewcommand\small{%
   \@setfontsize\small{8.5}{10.5}%
   \setlength{\abovedisplayskip}{8.5pt plus 3pt minus 4pt}%
   \setlength{\abovedisplayshortskip}{0pt plus 2pt}%
   \setlength{\belowdisplayshortskip}{4pt plus 2pt minus 2pt}%
   \def\@listi{\leftmargin\leftmargini
               \topsep 4\p@ \@plus2\p@ \@minus2\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \setlength{\belowdisplayskip}{\abovedisplayskip}%
}
\renewcommand\footnotesize{%
   \@setfontsize\footnotesize{7.5}{9}%
   \setlength{\abovedisplayskip}{6pt plus 2pt minus 4pt}%
   \setlength{\abovedisplayshortskip}{0pt plus 1pt}%
   \setlength{\belowdisplayshortskip}{3pt plus 1pt minus 2pt}%
   \def\@listi{\leftmargin\leftmargini
               \topsep 3\p@ \@plus\p@ \@minus\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \setlength}{belowdisplayskip}{\abovedisplayskip}%
}
\renewcommand\scriptsize{\@setfontsize\scriptsize{6.5}{7.5}}%
\renewcommand\tiny{\@setfontsize\tiny{5}{6}}
\makeatother

The example has decreased the font sizes and baseline skips for \small, \footnotesize, and \scriptsize in \@setfontsize by one half point each.