# Set font size for footnotes

I am writing my thesis and my university requirements ask me to set the footnotes font size at 9pt. The body text size is 12pt. I tried to change the value using :

\renewcommand{\footnotesize}{(one of the 8 values)}


but looking at this table

I realized that none of the possible values would give me a font size of 9. How can I solve the problem?

Here it is the preamble:

\documentclass[a4paper,12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\let\up\textsuperscript
\usepackage{blindtext}
\usepackage{setspace}
\renewcommand{\baselinestretch}{1.5}
\usepackage{pslatex}

\usepackage{titlesec}
\titleformat{\chapter}
{\normalfont\fontsize{14}{14}\bfseries}{\thechapter}{1em}{}
\titleformat{\section}
{\normalfont\fontsize{13}{13}\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}
{\normalfont\fontsize{12}{12}\bfseries\slshape}{\thesubsection}{1em}{}
\usepackage{amsmath, amsthm, amssymb, amsfonts}
\mathchardef\mhyphen="2D

\usepackage{fancyhdr}

\fancypagestyle{IHA-fancy-style}{%
\fancyfoot[R]{\thepage}% Custom footer
\renewcommand{\footrulewidth}{0pt}% Line at the footer visible
}

% Redefine the plain page style
\fancypagestyle{plain}{%
\fancyhf{}%
\fancyfoot[R]{\thepage}%
\renewcommand{\footrulewidth}{0pt}% Line at the footer visible
}

\usepackage{fancyhdr}
\pagestyle{plain}
\lfoot{}
\cfoot{}
\rfoot{\thepage}
\renewcommand{\footrulewidth}{0pt}

\usepackage{graphicx}
\usepackage{color}
\usepackage{transparent}

\usepackage{caption}

\usepackage{enumerate}
\usepackage{url}

\usepackage{natbib}
\bibliographystyle{abbrvnat}
\setcitestyle{authoryear,open={},close={}}
\usepackage[]{tocbibind}

\usepackage{makeidx}

\usepackage{lipsum}

%\usepackage{emptypage}

\title{Epistemic Contextualism:\\ Skeptcism and Intuitions}
\author{Alessandro Rizzo\\ Department of Philosophy, Vita-Salute S.Raffaele University}

• Your document might use the size \footnotesize at other places as well. Should the change be done there too? If not, changing the size of footnotes depends heavily on the class (and maybe footnote-related packages), so we need a MWE. – Johannes_B Jun 9 '15 at 15:16
• @Johannes_B What is a MWE? – alessandro Jun 9 '15 at 15:18
• documentclass missing ;-) MWE: -> dickimaw-books.com/latex/minexample/html Convenience for helpers, copy/paste/compile/ – Johannes_B Jun 9 '15 at 15:18
• Unrelated, but \fontsize{14}{14} makes sense only if you don't expect chapter titles span two lines. – egreg Jun 9 '15 at 15:21

Copy the definition of \footnotesize from size11.clo:

\makeatletter
\renewcommand\footnotesize{%
\@setfontsize\footnotesize\@ixpt{11}%
\abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus\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
}
\makeatother


This code should go in the preamble, say after the loading of packages.

Just changing the values for \fontsize is wrong, as footnotes can contain also lists or math, in general.

The pslatex package is obsolete. If you want (or need) to use Times, prefer

\usepackage{newtxtext,newtxmath}


Stating \fontsize{14}{14} for chapter titles is dubious, because titles spanning two lines will be awkwardly set. Similarly for the other levels.

Instead of \renewcommand{\baselinestretch}{1.5}, use the setspace package.

What's this about? The report and article classes read one among size10.clo, size11.clo and size12.clo, depending on the font size option passed to the class (default 10pt).

Such files contain definitions and settings for the commands and parameters that depend on font size. In particular they define \normalsize, \small, \footnotesize, \large and so on, but also set values for \parindent, \bigskipamount, \textwidth and several other parameters (most notably those that pertain to lists).

The duty of \footnotesize, for example, is to set the font size and the baseline skip, but also the parameters for the vertical space before and after math displays and for spacings in first level lists).

By borrowing the definition of \footnotesize from size11.clo, where footnotes are typeset at 9pt, we get what we need.

• So to obtain a footnote font size of 9pt with a body font size of 12pt I just need to copy your code in the preamble? – alessandro Jun 9 '15 at 15:59
• Yes, just copy @egreg's code in the preamble, from \makeatletter to \makeatother. EDIT: But now that I have read it, I prefer Johannes_B’s answer, because the command \footnotesize could be used in other places too, besides footnotes. – GuM Jun 9 '15 at 16:07
• @alessandro Yes, that's right. – egreg Jun 9 '15 at 16:08
• Could someone explain how the code in the answer lead to a font size of 9pt with body font size of 12pt? – Heisenberg Nov 27 '16 at 4:31
• @Heisenberg This way, when \footnotesize is executed, the font size is set to 9pt with a baselineskip of 11pt as per the first line in the definition text. – egreg Nov 28 '16 at 6:44

You can use arbitrary font sizes within LaTeX, not only the default ones (\normalsize, \Large, \footnote size, &c.). The command for a font size of 9pt would be:

\renewcommand{\footnotesize}{\fontsize{9pt}{11pt}\selectfont}


The second value is value for the interline skip for that size. Usually it is about 20 % more than the nominal size.

If the restrictions appply to only the footnotes, and nothing more, you can set it just for the footnotes. Here an example using KOMA-script and a ridiculously high fontsize just to make everything more obvious.

\documentclass[fontsize=22pt]{scrartcl}
\usepackage{lmodern}
\setlength{\textheight}{5cm}
\makeatletter
\newcommand{\fnsize}{current size: \f@size\,pt}
\makeatother
\begin{document}
Capybara went crazy\footnote{Charles Seymoure Capybara was crazy
all his life, no need to worry. \fnsize}

{\footnotesize \fnsize}
\end{document}


KOMA-script uses a fallback calculation of the relevant sizes, hence the very odd value of 18.33356pt.

We can do the very same for standard report, but it requires patching the internal commands of the LaTeX kernel. The resuult though, is the same; a change of font size for just the footnotes.

\documentclass[12pt]{report}
\usepackage{lmodern}
\usepackage{etoolbox}
%\tracingpatches
\makeatletter
\patchcmd{\@footnotetext}{\footnotesize}{\fontsize{9pt}{11pt}\selectfont}{}{}
\makeatother
\setlength{\textheight}{5cm}
\makeatletter
\newcommand{\fnsize}{current size:~\f@size\,pt}
\makeatother
\begin{document}
Capybara went crazy\footnote{Charles Seymoure Capybara was crazy
all his life, no need to worry. \fnsize}

{\footnotesize \fnsize}
\end{document}

• Still better, I think, is \patchcmd{\@footnotetext}{\footnotesize}{\small}{}{}, because the footnotes might contain math formulas, lists, and so on (see @egreg’s answer). – GuM Jun 9 '15 at 16:14
• @johannes_B In the sixth line of the last code, I understood the first to the font size of the footnote text, what about the second one? What does it refer to? – alessandro Jun 9 '15 at 16:22
• @alessandro \patchcmd{<command>}{<search>}{<replace>}{<success>}{<fail>} I search for footnotesize and explicitely replace it with the call for a 9pt size. – Johannes_B Jun 9 '15 at 16:25
• @GustavoMezzetti Using \small, it isn't ensured that the fontsize is 9pt. Maybe replacing it by \footnotesize\fontsize{9pt}{10pt} is better, to get at least some adjustments to the smaller font size. – Johannes_B Jun 9 '15 at 16:34
• @Johannes_B ok I see, but still don't get what {11pt}\selectfont means – alessandro Jun 9 '15 at 16:37

The definition of \footnotesize inside size12.clo is

\newcommand\footnotesize{%
\@setfontsize\footnotesize\@xpt\@xiipt
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
\def\@listi{\leftmargin\leftmargini
\topsep 6\p@ \@plus2\p@ \@minus2\p@
\parsep 3\p@ \@plus2\p@ \@minus\p@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}


You can change the \@setfontsize part, for instance, to

\@setfontsize\footnotesize\@ixpt\@xipt


In any case, you could look into scrreprt from KOMA-Script bundle, the scr document classes offer a lot of configurability.