34

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 enter image description here

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}{%
  \fancyhf{}% Clear header and footer
  \fancyhead[LE,RO]{\slshape \rightmark}
  \fancyhead[LO,RE]{\slshape \leftmark}
  \fancyfoot[R]{\thepage}% Custom footer
  \renewcommand{\headrulewidth}{0pt}% Line at the header visible
  \renewcommand{\footrulewidth}{0pt}% Line at the footer visible
}

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

\usepackage{fancyhdr}
\pagestyle{plain}
\lhead{}
\chead{}
\rhead{}
\lfoot{}
\cfoot{}
\rfoot{\thepage}
\renewcommand{\headrulewidth}{0pt}
\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}

%\pagestyle{headings}
%\usepackage{emptypage}


\title{Epistemic Contextualism:\\ Skeptcism and Intuitions}
\author{Alessandro Rizzo\\ Department of Philosophy, Vita-Salute S.Raffaele University}
  • 2
    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 09 '15 at 15:16
  • @Johannes_B What is a MWE? – lalessandro Jun 09 '15 at 15:18
  • documentclass missing ;-) MWE: -> http://www.dickimaw-books.com/latex/minexample/html/ Convenience for helpers, copy/paste/compile/ – Johannes_B Jun 09 '15 at 15:18
  • Unrelated, but \fontsize{14}{14} makes sense only if you don't expect chapter titles span two lines. – egreg Jun 09 '15 at 15:21

4 Answers4

19

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.


Notes about your code

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.

egreg
  • 1,121,712
  • 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? – lalessandro Jun 09 '15 at 15:59
  • 1
    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 09 '15 at 16:07
  • @alessandro Yes, that's right. – egreg Jun 09 '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 04:31
  • @Heisenberg I can't see how. Please, ask a new question with an example of code. – egreg Nov 27 '16 at 09:20
  • Sorry if I miss something, this is your answer, correct? If you took it from somewhere, could you let me know where? Otherwise my new question will just be the block of quote in your question and a "help me please" plea. – Heisenberg Nov 27 '16 at 21:54
  • @Heisenberg Oh, you want to know how this works? – egreg Nov 27 '16 at 22:00
  • 1
    @Heisenberg I added some comments – egreg Nov 27 '16 at 22:08
  • I see. Is it correct to think that you cleverly borrowed from size11.clo without necessarily understanding how the code chunk leads to a footnote font size of 9 pt? – Heisenberg Nov 28 '16 at 04:49
  • 1
    @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 06:44
16

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.

Bernard
  • 271,350
4

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.

alessandroFootnoteSize

\documentclass[fontsize=22pt]{scrartcl}
\usepackage{lmodern}
\addtokomafont{footnote}{\fontsize{9pt}{11pt}\selectfont}
\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}
Johannes_B
  • 24,235
  • 10
  • 93
  • 248
  • 1
    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 09 '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? – lalessandro Jun 09 '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 09 '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 09 '15 at 16:34
  • @Johannes_B ok I see, but still don't get what {11pt}\selectfont means – lalessandro Jun 09 '15 at 16:37
  • @alessandro The lines of text need some vertical spacing, the value needs to be a bit larger than the font size, else the letters can touch each other. That is what @egreg meant in a comment to your question. the \selectfont is really just to selct the font and use it. – Johannes_B Jun 09 '15 at 16:39
  • @Johannes_B: Now I realize that I misunderstood the question: for some reason, I thought that what was asked for was 9-point footnotes in a 10-point size document, and 9-point corresponds to \small in such documents. Unfortunately, it is the other way around: the main document size is 12 points, and for such document size \scriptsize is, in turn, too small. So, I think that the optimal answer is a “blend” of yours and egreg’s: define a command \myfootnotesize as egreg does, and use it to patch the \@footnotetext command. :-) – GuM Jun 09 '15 at 16:43
  • @GustavoMezzetti http://chat.stackexchange.com/transcript/message/22095729#22095729 – Johannes_B Jun 09 '15 at 16:47
0

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.

Manuel
  • 27,118