Increasing the text size in tufte documents

The following guidelines are suggested by the National Association for the Visually Handicapped (PDF) and American Printing House for the Blind:

  • Maximum trim size of 8.5¨×11¨
  • Gutter margins should not be less than 7/8¨.
  • The outside margin should not be less than 1/2¨.
  • Type size should preferably be 18 pt but not less than 16 pt.
  • Sans serif type is preferred.
  • Bold text should be used for titles, captions, etc.
  • Letterspacing, word spacing, and leading must be adjusted to accommodate the larger type.
  • A vertical line must be used to separate columns.

Simply adjusting the size of the fonts isn't enough. You also need to adjust a number of spacing parameters such as paragraph indentation, list indentations, page margins, column gutters, etc.

Currently, the Tufte-LaTeX classes only provide a single set of font sizes (with a base size of 10 pt).

The following code only adjusts the font sizes and some spacing parameters. Save this file as tufte-largeprint.sty and place it in the same directory as your document's .tex file or in the same directory as the rest of your Tufte-LaTeX files.

%
% This package adjusts the font sizes and spacing for large-print readers.
%

\NeedsTeXFormat{LaTeX2e}[1994/06/01]

\ProvidesPackage{tufte-largeprint}[2012/09/15 v1.0.0 Large-print Tufte styles]


%
% Adjust the font sizes and leading
%

\renewcommand\Huge{\@setfontsize\Huge{40}{48}}
\renewcommand\huge{\@setfontsize\huge{36}{40}}
\renewcommand\LARGE{\@setfontsize\LARGE{28}{32}}
\renewcommand\Large{\@setfontsize\Large{24}{28}}
\renewcommand\large{\@setfontsize\large{22}{26}}
\renewcommand\normalsize{%
   \@setfontsize\normalsize{18}{22}%
   \abovedisplayskip 15\p@ \@plus4\p@ \@minus8\p@
   \abovedisplayshortskip \z@ \@plus4\p@
   \belowdisplayshortskip 8\p@ \@plus4\p@ \@minus3\p@
   \belowdisplayskip \abovedisplayskip
   \let\@listi\@listI}
\normalbaselineskip=22pt
\normalsize
\renewcommand\small{%
   \@setfontsize\small{16}{18}%
   \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 7\p@ \@plus4\p@ \@minus3\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 10\p@ \@plus4\p@ \@minus6\p@
               \parsep 5\p@ \@plus2\p@ \@minus\p@
               \itemsep \parsep}
   \belowdisplayskip \abovedisplayskip
}
\renewcommand\footnotesize{%
   \@setfontsize\footnotesize{14}{16}%
   \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 9\p@ \@plus3\p@ \@minus5\p@
               \parsep 4.5\p@ \@plus2\p@ \@minus\p@
               \itemsep \parsep}
   \belowdisplayskip \abovedisplayskip
}
\renewcommand\scriptsize{\@setfontsize\scriptsize{12}{14}}
\renewcommand\tiny{\@setfontsize\tiny{10}{14}}


%
% Indentation spacing
%

\setlength{\parindent}{1.5em}%
\setlength{\parskip}{0pt}%
\setlength{\RaggedRightRightskip}{\z@ plus 0.08\hsize}

% Paragraph indentation and separation for normal text
\def\@tufte@reset@par{%
  \setlength{\RaggedRightParindent}{1.5em}%
  \setlength{\JustifyingParindent}{1.5em}%
  \setlength{\parindent}{1.5pc}%
  \setlength{\parskip}{0pt}%
}
\@tufte@reset@par

% Paragraph indentation and separation for marginal text
\def\@tufte@margin@par{%
  \setlength{\RaggedRightParindent}{1em}%
  \setlength{\JustifyingParindent}{1em}%
  \setlength{\parindent}{1em}%
  \setlength{\parskip}{0pt}%
}


\setlength\leftmargini   {1.5em}
\setlength\leftmarginii  {1.5em}
\setlength\leftmarginiii {1.5em}
\setlength\leftmarginiv  {1.5em}
\setlength\leftmarginv   {1.5em}
\setlength\leftmarginvi  {1.5em}
\setlength\labelsep      {1em}
\setlength\labelwidth    {\leftmargini}
\addtolength\labelwidth{-\labelsep}

%
% Adjust the page margins
%

\geometry{letterpaper,left=1in,top=1in,headsep=\baselineskip,textwidth=26pc,marginparsep=2pc,marginparwidth=12pc,textheight=28\baselineskip,headheight=\baselineskip}%

\ifthenelse{\boolean{@tufte@afourpaper}}{%
  \geometry{a4paper,left=24.8mm,top=27.4mm,headsep=\baselineskip,textwidth=107mm,marginparsep=8.2mm,marginparwidth=49.4mm,textheight=32\baselineskip,headheight=\baselineskip}
}{}

% TODO: adjust for A5 paper, too

%
% Prevent a bunch of line overruns by allowing sloppier paragraphs
%

\sloppy

%
% That's it!
%
\endinput

Now you can add \usepackage{tufte-largeprint} to your tufte-book or tufte-handout document and the font sizes will use a base of 18 pt.

Here's an example document:

\documentclass{tufte-handout}

% Adjusts font sizes and spacing for large print
\usepackage{tufte-largeprint}

% Provides some example text
\usepackage[math]{blindtext}

% blinetext wants to use \subsubsection but tufte-handout doesn't
% provide one. So we'll just make it the same as \subsection.
\let\subsubsection\subsection

\begin{document}

\title{Example large-print document}
\author{Kevin Godby}
\maketitle

% A test of sidenotes.
A sidenote.\sidenote{This is a sidenote. It's much larger than it usually is.}
\blindtext[1]

% A figure to test captions.
\begin{figure}[h]
  \rule{\linewidth}{2in}
  \caption{My magnum opus \textit{Void}.}
\end{figure}

% An example document
\Blinddocument

\end{document}

Please note that I put this together fairly quickly and there are likely other parameters that need to be adjusted. These parameters are probably suboptimal, as well. Feel free to modify it to suit your needs.


These packages are meant to be primarily used with classes that don't offer non-standard font sizes by default.

First option: You can use

\usepackage{scrextend} 
\changefontsizes[20pt]{16pt}

to change the font size to 16pt with a baselineskip of 20pt. (Usually baselineskip is 1.2 times the font size.)

Another option: You can simply change the size by putting \fontsize{14pt}{17pt}\selectfont soon after the \begin{document}.

Yet another option: is to use relsize package. Put \usepackage{relsize} in the preamble and \relsize{3} after the \begin{document}. Refer to the documentation for details.

Some more options include the fix-cm (read fixltx2e documentation) and anyfontsize packages.

As far as your second question is concerned, some classes offer a variety of (built-in) font sizes than standard classes. To name some memoir and KOMA classes and extarticle. I would personally go with either memoir or scrartcl.

An example with scrartcl:

\documentclass[paper=a4,16pt]{scrartcl}
\usepackage{lipsum}
\usepackage{kpfonts}
\begin{document}
\lipsum[2-3]
\end{document}

enter image description here


Assuming you are using pdflatex, the following should work:

\documentclass[notitlepage,notoc]{tufte-book}

\usepackage[T1]{fontenc}
\usepackage{lmodern}

\iflarger
\AtBeginDocument{%
\fontsize{16}{20}\selectfont
 }%
\else\fi

\usepackage{lipsum}
\begin{document}
A footnote.\footnote{\lipsum[1]}%
\lipsum
\end{document}

I've wrapped the larger font size command into an if-statement so you can easily produce notes in two different sizes:

pdflatex "\newif\iflarger\largerfalse\input{mylecturenotes.tex}"
pdflatex "\newif\iflarger\largertrue\input{mylecturenotes.tex}"

The first one will produce normal-sized lecture notes, while the second one will produce larger-sized notes. You could probably configure a latexmk set-up that would produce both. Alternatively, you could do a one-liner like this:

pdflatex -jobname mylecturenotes-larger "\newif\iflarger\largertrue\input{tuftetest.tex}" && pdflatex -jobname mylecturenotes-normal "\newif\iflarger\largertrue\input{tuftetest.tex}"