# Increasing the text size in tufte documents

I have typeset my lecture notes using the tufte latex style. The notes are around 60 pages long. This year I have a few students who require notes where the text size is larger than the default - I'd imagine 14pt or 16pt. I don't really won't to have two sets of notes, since it would be far to easy to get them out of sync.

1. What's the best way of tackling this problem?
2. What latex style classes are best suited when dramatically changing the text size?
-
One simple way rather than setting up completely new font size settings would be to use the classes existing a5paper option then scale/print to a4 as a final production step. –  David Carlisle Sep 12 '12 at 16:25
As far as your second question is concerned, are you willing to change your document class? –  Harish Kumar Sep 14 '12 at 23:22
@HarishKumar Since I may have this issue fairly often, I'm willing to make fairly major changes - including changing document class. –  csgillespie Sep 15 '12 at 13:49
@csgillespie: In that case you may switch to Koma script (scrartcl, scrbook) or memoir which offer lot of functions and additional font sizes built in and ready for use. –  Harish Kumar Sep 15 '12 at 14:05
@HarishKumar Would you recommend one over the other, i.e. scr or memoir? –  csgillespie Sep 15 '12 at 14:26

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}"

-
Since this is quite an important question for me, I just wanted the best possible answer. Nothing particularly special. –  csgillespie Sep 14 '12 at 20:19
Fair enough! Does this answer not work then? I mean, the document compiles, but maybe in your more complex document there are other issues..? –  jon Sep 14 '12 at 20:41
I'll need to wait until Monday before I can check. –  csgillespie Sep 15 '12 at 14:28
No that solution doesn't play well with tufte. –  csgillespie Sep 18 '12 at 9:03
@csgillespie -- Sorry I don't use tufte, so I didn't test the footnote/marginnote problem the first time around. This should work better as a pdftex solution; and the principle should be the same for other engines (not sure how you're getting to .pdf) –  jon Sep 18 '12 at 14:35

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}


-
You could wrap that in a conditional and then set the value when you run (say) pdflatex; e.g.: pdflatex "\newif\iflarger\largertrue\input{mylecturenotes.tex}". With the -jobname option, you could even make the output files have different names. –  jon Sep 12 '12 at 18:19
This seems like a good solution, but it doesn't play well with tufte. I get the error: '.../latex/koma-script/scrextend.sty:1088: Command \multiplefootnotemarker already defined.' and document doesn't compile. –  csgillespie Sep 18 '12 at 9:03

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]

%
%

\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}

%
%

\ifthenelse{\boolean{@tufte@afourpaper}}{%
}{}

% 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.

-
Looks great, thanks. –  csgillespie Sep 18 '12 at 9:06