|
|
|
@@ -1,17 +1,61 @@ |
|
|
|
\NeedsTeXFormat{LaTeX2e}[1994/06/01] |
|
|
|
\ProvidesClass{tufte-handout}[2007/09/24 v1.0.1 Tufte-handout class] |
|
|
|
|
|
|
|
\ProvidesClass{tufte-handout}[2007/10/18 v1.1.0 Tufte-handout class] |
|
|
|
|
|
|
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}% |
|
|
|
\typeout{NOTE: Passing ``\CurrentOption" option on to the |
|
|
|
standard LaTeX book class}} |
|
|
|
\ProcessOptions |
|
|
|
|
|
|
|
\LoadClass[11pt]{article}% |
|
|
|
\RequirePackage[includemp,letterpaper,width=6.5in,marginparwidth=2in]{geometry} |
|
|
|
\RequirePackage{paralist} |
|
|
|
|
|
|
|
\setlength\marginparsep{0.375in} |
|
|
|
\setlength\marginparpush{\baselineskip} |
|
|
|
\setlength\abovedisplayskip{6pt plus 2pt minus 4pt} |
|
|
|
\setlength\belowdisplayskip{6pt plus 2pt minus 4pt} |
|
|
|
%% |
|
|
|
% Set page layout geometry -- someone please submit a patch to make letterpaper optional! |
|
|
|
|
|
|
|
\RequirePackage[letterpaper,includemp,width=6.5in,marginparsep=0.375in,marginparwidth=2in]{geometry} |
|
|
|
|
|
|
|
%% |
|
|
|
% Separation marginpars by a line's worth of space. |
|
|
|
|
|
|
|
\setlength\marginparpush{\baselineskip} |
|
|
|
|
|
|
|
%% |
|
|
|
% Font for margin items |
|
|
|
|
|
|
|
\newcommand{\@tufteh@marginfont}{\normalfont\scriptsize\sffamily} |
|
|
|
|
|
|
|
%% |
|
|
|
% Modify \raggedright from latex.ltx to allow hyphenation per Donald Arseneau |
|
|
|
|
|
|
|
\def\@tufteh@raggedright{% |
|
|
|
\let\\\@centercr\@rightskip\z@ plus 0.08\hsize% changed this line |
|
|
|
\rightskip\@rightskip |
|
|
|
\leftskip\z@skip} |
|
|
|
|
|
|
|
%% |
|
|
|
% Turn off section numbering |
|
|
|
|
|
|
|
\setcounter{secnumdepth}{-1} |
|
|
|
|
|
|
|
%% |
|
|
|
% Tighten up space between displays (e.g., a figure or table) and make symmetric |
|
|
|
|
|
|
|
\setlength\abovedisplayskip{6pt plus 2pt minus 4pt} |
|
|
|
\setlength\belowdisplayskip{6pt plus 2pt minus 4pt} |
|
|
|
|
|
|
|
%% |
|
|
|
% To accomodate full-width display environments |
|
|
|
|
|
|
|
\RequirePackage{chngpage} |
|
|
|
|
|
|
|
% Compute length used for full-width displays |
|
|
|
|
|
|
|
\newlength{\@tufteh@overhang} |
|
|
|
\setlength{\@tufteh@overhang}{\marginparwidth} |
|
|
|
\addtolength{\@tufteh@overhang}{\marginparsep} |
|
|
|
|
|
|
|
%% |
|
|
|
% Alter \maketitle from article.cls |
|
|
|
|
|
|
|
\renewcommand\maketitle{\par |
|
|
|
\global\let\and\relax |
|
|
|
@@ -22,7 +66,7 @@ |
|
|
|
\hb@xt@1.8em{% |
|
|
|
\hss\@textsuperscript{\normalfont\@thefnmark}}##1}% |
|
|
|
\newpage |
|
|
|
\global\@topnum\z@ % Prevents figures from going at top of page. |
|
|
|
\global\@topnum\z@ |
|
|
|
\@maketitle |
|
|
|
\@thanks |
|
|
|
\endgroup |
|
|
|
@@ -47,12 +91,24 @@ |
|
|
|
{\small \@author\par} |
|
|
|
} |
|
|
|
|
|
|
|
% modify abstract section behavior |
|
|
|
\renewenvironment{abstract}% |
|
|
|
{\footnotesize\quotation\sffamily\slshape}% |
|
|
|
{\normalfont\endquotation\normalsize} |
|
|
|
%% |
|
|
|
% Abstract |
|
|
|
|
|
|
|
\renewenvironment{abstract}% |
|
|
|
{\begin{quotation} |
|
|
|
\begin{sffamily} |
|
|
|
\begin{small}}% |
|
|
|
{ \end{small} |
|
|
|
\end{sffamily} |
|
|
|
\end{quotation}} |
|
|
|
|
|
|
|
%% |
|
|
|
% Require paralist package for tigher lists |
|
|
|
|
|
|
|
\RequirePackage{paralist} |
|
|
|
|
|
|
|
% Add rightmargin to compactenum |
|
|
|
|
|
|
|
% modify paralist compact enumeration list to add rightmargin |
|
|
|
\def\@compactenum@{% |
|
|
|
\expandafter\list\csname label\@enumctr\endcsname{% |
|
|
|
\usecounter{\@enumctr}% |
|
|
|
@@ -63,21 +119,77 @@ |
|
|
|
\partopsep\plpartopsep |
|
|
|
\def\makelabel##1{\hss\llap{##1}}}} |
|
|
|
|
|
|
|
% modify \raggedright from latex.ltx to allow hyphenation per Donald Arseneau |
|
|
|
\def\raggedright{% |
|
|
|
\let\\\@centercr\@rightskip\z@ plus .3\hsize% changed this line |
|
|
|
\rightskip\@rightskip |
|
|
|
\leftskip\z@skip |
|
|
|
\parindent\z@} |
|
|
|
%% |
|
|
|
% An environment for paragraph-style section |
|
|
|
|
|
|
|
\providecommand\newthought[1]{\vspace{1.8\baselineskip plus 3pt minus 2pt}% |
|
|
|
{\noindent\scshape #1}} |
|
|
|
|
|
|
|
\providecommand\sidenote[1]{\footnotemark% |
|
|
|
\marginpar{\textsuperscript{\thefootnote}\footnotesize\raggedright #1}} |
|
|
|
%% |
|
|
|
% Sidenote: "Where God meant footnotes to go." --Tufte |
|
|
|
|
|
|
|
\newcommand{\sidenote}[2][-0.8\baselineskip]% |
|
|
|
{\footnotemark% |
|
|
|
\marginpar{\@tufteh@marginfont |
|
|
|
\vspace*{#1} |
|
|
|
\textsuperscript{\thefootnote}% |
|
|
|
\@tufteh@raggedright #2}} |
|
|
|
|
|
|
|
%% |
|
|
|
% Sidenote without the footnote mark |
|
|
|
|
|
|
|
\providecommand\marginnote[1]{\marginpar{\footnotesize\raggedright #1}} |
|
|
|
|
|
|
|
\AtBeginDocument{\raggedright\setlength\parindent{1em}} |
|
|
|
%% |
|
|
|
% Margin figure |
|
|
|
|
|
|
|
\newcommand{\marginfigure}[2][-1.2ex]% |
|
|
|
{\marginpar{\def\@captype{figure} |
|
|
|
\normalfont\scriptsize |
|
|
|
\vspace*{#1} |
|
|
|
\@tufteh@raggedright #2}} |
|
|
|
|
|
|
|
%% |
|
|
|
% Margin table |
|
|
|
|
|
|
|
\newcommand{\margintable}[2][-1.2ex]% |
|
|
|
{\marginpar{\def\@captype{table} |
|
|
|
\normalfont\scriptsize |
|
|
|
\vspace*{#1} |
|
|
|
\@tufteh@raggedright #2}} |
|
|
|
|
|
|
|
%% |
|
|
|
% Full-width figure |
|
|
|
|
|
|
|
\renewenvironment{figure*}[1][htbp] |
|
|
|
{\@float{figure}[#1] |
|
|
|
\begin{adjustwidth}{}{-\tufteh@overhang}% |
|
|
|
\begin{minipage}{\linewidth}} |
|
|
|
{ \end{minipage}% |
|
|
|
\end{adjustwidth}% |
|
|
|
\end@float} |
|
|
|
|
|
|
|
%% |
|
|
|
% Full-width table |
|
|
|
|
|
|
|
\renewenvironment{table*}[1][htbp] |
|
|
|
{\@float{table}[#1] |
|
|
|
\begin{adjustwidth}{}{-\tufteh@overhang}% |
|
|
|
\begin{minipage}{\linewidth}} |
|
|
|
{ \end{minipage}% |
|
|
|
\end{adjustwidth}% |
|
|
|
\end@float} |
|
|
|
|
|
|
|
%% |
|
|
|
% Full-page-width area |
|
|
|
|
|
|
|
\newenvironment{fullwidth} |
|
|
|
{\begin{adjustwidth}{}{-\tufteh@overhang}}% |
|
|
|
{\end{adjustwidth}} |
|
|
|
|
|
|
|
%% |
|
|
|
% Set raggedright and paragraph indentation for document |
|
|
|
|
|
|
|
\AtBeginDocument{\@tufteh@raggedright\setlength\parindent{1em}} |
|
|
|
|
|
|
|
\endinput |