101

I am preparing a presentation and I have some slides with up to 15 equations. How can I make the font size of these slides smaller? I need to change the font size to 6.

Werner
  • 603,163
anna
  • 1,013
  • 1
    Welcome to TeX.sx! How do you create the presentation? Beamer? – N.N. Nov 07 '11 at 15:13
  • Thanks!Yes, I use a beamer template: \documentclass[10pt]{beamer} – anna Nov 07 '11 at 15:20
  • 20
    I think you should not do this. Think about the 50 year old guy with the glasses somewhere at the audience. It's better to split a frame into two and to scroll forward and backward than to have all at one frame but nobody can read it. – Schweinebacke Nov 07 '11 at 15:25
  • 4
    @Schweinbacke I agree with you in general as 6pt is probably too small for a presentation, but sometimes 10pt is just a bit too large and it's better to squeeze that last line onto your slide rather than splitting it into two. Furthermore, it may be valuable to add an "equation reference" slide if the presentation is to be printed. Both of which require a technique to change the font size for the slide. – cheshirekow Sep 02 '13 at 16:34

2 Answers2

94

You can use \fontsize:

\fontsize{<font size>}{<value for \baselineskip>}\selectfont

For example,

\fontsize{6pt}{7.2}\selectfont

changes the font size to 6 points and the \baselineskip to 7.2 points. The latter being the gap between consecutive lines.

You can define a new command to apply the change:

\documentclass{beamer}
\usepackage{lipsum}

\newcommand\Fontvi{\fontsize{6}{7.2}\selectfont}

\begin{document}

\begin{frame} \frametitle{Frame with reduced font size} \Fontvi \lipsum[1] \end{frame}

\begin{frame} \frametitle{Frame with regular font size} \lipsum[1] \end{frame}

\end{document}

ijuneja
  • 267
  • 2
  • 13
Gonzalo Medina
  • 505,128
20

Since Gonzalo's answer does not work for nested itemizes, here is a solution redefining the beamer template which solves that.

To make it general I used the environ package, because the normal newenvironment has problems with seperating braces by the body.

\documentclass{beamer}
\usepackage{environ}

\usepackage{lipsum}


%
% Custom font for a frame.
%
\newcommand{\customframefont}[1]{
\setbeamertemplate{itemize/enumerate body begin}{#1}
\setbeamertemplate{itemize/enumerate subbody begin}{#1}
}

\NewEnviron{framefont}[1]{
\customframefont{#1} % for itemize/enumerate
{#1 % For the text outside itemize/enumerate
\BODY
}
\customframefont{\normalsize}
}

\begin{document}

    \begin{framefont}{\tiny}
        \begin{frame}
            \frametitle{Frame with reduced font size}
            \lipsum[66]
            \begin{itemize}
                \item Nunc sed pede. Praesent vitae lectus.
                \item Nunc sed pede. Praesent vitae lectus.
            \end{itemize}
        \end{frame}
    \end{framefont}

    \begin{frame}
        \frametitle{Frame with regular font size}
        \lipsum[66]
        \begin{itemize}
            \item Nunc sed pede. Praesent vitae lectus.
            \item Nunc sed pede. Praesent vitae lectus.
        \end{itemize}
    \end{frame}

\end{document}
PHPirate
  • 1,775
  • 1
  • 21
  • 37