diff options
19 files changed, 1156 insertions, 3 deletions
diff --git a/Master/texmf-dist/doc/latex/tufte-latex/History.txt b/Master/texmf-dist/doc/latex/tufte-latex/History.txt new file mode 100644 index 00000000000..fb28daf9d80 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/History.txt @@ -0,0 +1,61 @@ +== 2.0.0 / 2008-06-06 + +* Added `sfsidenotes' option to set the sidenotes and captions in the sans + serif font. +* Use the Palatino fonts if they're installed. +* Created `marginfig' and `margintab' environments. +* Added running heads. +* Fixed the alignment of sidenote numbers. +* Added \section and \subsection headings. +* Uses the Bera Mono fonts if they're installed. +* Added `symmetric' option to produce outside-margin sidenotes in two-sided + spreads. +* Added `justified' option to set the text fully justified. +* Rewrote sample-handout to illustrate the tufte-handout usage and serve as an + example of its features. + +== 1.2.3 / 2008-02-11 + +* To remove References section from sample-handout. +* Updated README.txt + +== 1.2.2 / 2008-02-09 + +* Use footmisc package to set \footnotes as sidenotes +* Use natbib package to set bibliography entries as sidenotes + +== 1.2.1 / 2007-10-21 + +* To assure existing \footnotes become \sidenotes + +== 1.2.0 / 2007-10-20 + +* Enhancements + * Added a4paper option (Kevin Godby) + * Have \margin{note,figure,table} use \@tufteh@marginfont +* Bug fix + * \@tufteh@overhang typo in figure*, table*, and fullwidth environments (Kevin Godby) + +== 1.1.0 / 2007-10-18 + +* To add some missing environments and commands: + * sidenote + * marginnote (no mark) + * marginfigure/table + * text-width figure/table (figure/table) + * page-width figure/table (figure*/table*) + * page-width environment (for custom minipage displays) +* To namespace raggedright +* To add margin font hook + +== 1.0.1 / 2007-09-24 + +* To correct README instructions. + +== 1.0.0 / 2007-09-24 + +* First public release + +== 0.1.0 / 2004-02-04 + +* Birthday! diff --git a/Master/texmf-dist/doc/latex/tufte-latex/README b/Master/texmf-dist/doc/latex/tufte-latex/README new file mode 100644 index 00000000000..741c5a32d3a --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/README @@ -0,0 +1,61 @@ +Hi, + +Welcome to the beginnings of Tufte LaTeX package to help you +produce Tufte style handouts, reports, and notes. + +== Quick Start + +Try typesetting sample.tex with the following sequence +of commands, + + pdflatex sample-handout + bibtex sample-handout + pdflatex sample-handout + pdflatex sample-handout + +The result should look like sample-handout.pdf. + +== Troubleshooting + +If you encounter errors of the form, + + ! LaTeX Error: File `paralist.sty' not found. + +you will need to obtain missing packages from CTAN <http://ctan.org>. +For package installation instructions and answers to many other +questions, see the UK TeX FAQ, + + http://www.tex.ac.uk/cgi-bin/texfaq2html?introduction=yes + +or search the news:comp.text.tex group via, + + http://groups.google.com/group/comp.text.tex + +== Bugs/Features/Support + +For kudos, feature requests, patches, or support requests that you +feel are /particular/ to this Tufte LaTeX package, i.e. not a general +LaTeX issue, please use this project's issue tracker available at + + http://tufte-latex.googlecode.com + +== Contributing + +Patches are most welcome via the issue tracker! Submit a series of +high quality patches, and you'll find yourself a developer on this project. + +== License + +Copyright 2007-2008 Bil Kleb, Bill Wood, and Kevin Godby + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/Master/texmf-dist/doc/latex/tufte-latex/graphics/helix.asy b/Master/texmf-dist/doc/latex/tufte-latex/graphics/helix.asy new file mode 100644 index 00000000000..3d2ce8c9dc8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/graphics/helix.asy @@ -0,0 +1,25 @@ +import graph3; + +size(0,200); + +usepackage("palatino"); +usepackage("mathpazo"); + +currentprojection=orthographic(4,6,3); + +real x(real t) {return cos(2pi*t);} +real y(real t) {return sin(2pi*t);} +real z(real t) {return t;} + +defaultpen(overwrite(SuppressQuiet)); + +path3 p=graph(x,y,z,0,2.7,operator ..); +bbox3 b=autolimits(min(p),max(p)); +aspect(b,1,1,1); + +xaxis(rotate(X)*"$x$",all=true,b,red,RightTicks(rotate(X)*Label,2,2)); +yaxis(rotate(Y)*"$y$",all=true,b,red,RightTicks(rotate(Y)*Label,2,2)); +zaxis("$z$",all=true,b,red,RightTicks); + +draw(p,Arrow); + diff --git a/Master/texmf-dist/doc/latex/tufte-latex/graphics/helix.pdf b/Master/texmf-dist/doc/latex/tufte-latex/graphics/helix.pdf Binary files differnew file mode 100644 index 00000000000..b0b9116a041 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/graphics/helix.pdf diff --git a/Master/texmf-dist/doc/latex/tufte-latex/graphics/hilberpgfcvs.tex.bak b/Master/texmf-dist/doc/latex/tufte-latex/graphics/hilberpgfcvs.tex.bak new file mode 100644 index 00000000000..3e781bd21e1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/graphics/hilberpgfcvs.tex.bak @@ -0,0 +1,43 @@ +\title{Hilbert Curves} +\author{} +\date{} + +\documentclass{tufte-handout} + +\usepackage{tikz} + +\usepackage[active,tightpage]{preview} +\PreviewEnvironment{tikzpicture} +\usetikzlibrary{lindenmayersystems,positioning} + +\begin{document} + +\pgfdeclarelindenmayersystem{Hilbert curve}{ + \symbol{X}{\pgflsystemdrawforward} + \symbol{+}{\pgflsystemturnright} % Explicitly define + and - symbols. + \symbol{-}{\pgflsystemturnleft} + \rule{A -> +BX-AXA-XB+} + \rule{B -> -AX+BXB+XA-} +} + +\def\scalefac{0.6} +% Draw a hilbert curve of order n +% Usage: +% \hilbertvurve[scale]{order} +\newcommand\hilbertcurve[2][1]{ +\tikz \draw[scale=\scalefac*#1,rotate=90,lindenmayer system={Hilbert curve, axiom=A, order=#2,angle=90}] + lindenmayer system; +} +\maketitle + +\begin{figure}[h!] +\begin{tikzpicture}[node distance=0cm,every path/.style={thin}] + \node[label={above:$n=1$}] (n1) {\hilbertcurve[18]{1}}; + \node[label={above:$n=2$},right=of n1] (n2) {\hilbertcurve[6]{2}}; + \node[label={above:$n=3$},right=of n2] (n3) {\hilbertcurve[2.6]{3}}; + \node[label={above:$n=4$},right=of n3] (n4) {\hilbertcurve[1.2]{4}}; + \node[label={above:$n=5$},right=of n4] (n5) {\hilbertcurve[0.58]{5}}; +\end{tikzpicture} +\end{figure} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/tufte-latex/graphics/hilbertcurves.pdf b/Master/texmf-dist/doc/latex/tufte-latex/graphics/hilbertcurves.pdf Binary files differnew file mode 100644 index 00000000000..737c921bef2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/graphics/hilbertcurves.pdf diff --git a/Master/texmf-dist/doc/latex/tufte-latex/graphics/hilbertrecursive.tex b/Master/texmf-dist/doc/latex/tufte-latex/graphics/hilbertrecursive.tex new file mode 100644 index 00000000000..dc30ec12893 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/graphics/hilbertrecursive.tex @@ -0,0 +1,72 @@ +% Draw Hilbert curves. +% Credits: Based on code by Marc van Dongen +% See: http://www.fauskes.net/pgftikzexamples/hilbert-curve/ +\title{Hilbert Curves} +\author{} +\date{} + +\documentclass{tufte-handout} + +\usepackage{tikz} + +\usepackage[active,tightpage]{preview} +\PreviewEnvironment{tikzpicture} +\usetikzlibrary{positioning} + +\begin{document} + +\newdimen\HilbertLastX +\newdimen\HilbertLastY +\newcounter{HilbertOrder} + +\def\DrawToNext#1#2{% + \advance \HilbertLastX by #1 + \advance \HilbertLastY by #2 + \pgfpathlineto{\pgfqpoint{\HilbertLastX}{\HilbertLastY}} + % Alternative implementation using plot streams: + % \pgfplotstreampoint{\pgfqpoint{\HilbertLastX}{\HilbertLastY}} +} + +% \Hilbert[right_x,right_y,left_x,left_x,up_x,up_y,down_x,down_y] +\def\Hilbert[#1,#2,#3,#4,#5,#6,#7,#8] { + \ifnum\value{HilbertOrder} > 0% + \addtocounter{HilbertOrder}{-1} + \Hilbert[#5,#6,#7,#8,#1,#2,#3,#4] + \DrawToNext {#1} {#2} + \Hilbert[#1,#2,#3,#4,#5,#6,#7,#8] + \DrawToNext {#5} {#6} + \Hilbert[#1,#2,#3,#4,#5,#6,#7,#8] + \DrawToNext {#3} {#4} + \Hilbert[#7,#8,#5,#6,#3,#4,#1,#2] + \addtocounter{HilbertOrder}{1} + \fi +} + + +% \hilbert((x,y),order) +\def\hilbert((#1,#2),#3){% + \advance \HilbertLastX by #1 + \advance \HilbertLastY by #2 + \pgfpathmoveto{\pgfqpoint{\HilbertLastX}{\HilbertLastY}} + % Alternative implementation using plot streams: + % \pgfplothandlerlineto + % \pgfplotstreamstart + % \pgfplotstreampoint{\pgfqpoint{\HilbertLastX}{\HilbertLastY}} + \setcounter{HilbertOrder}{#3} + \Hilbert[1mm,0mm,-1mm,0mm,0mm,1mm,0mm,-1mm] + \pgfusepath{stroke}% +} + +\def\scalefac{1} +\maketitle + +\begin{figure}[h!] +\begin{tikzpicture}[node distance=0cm,every path/.style={thin}] + \node[label={above:$n=1$}] (n1) {\tikz[scale=\scalefac*18] \hilbert((0mm,0mm),1);}; + \node[label={above:$n=2$},right=of n1] (n2) {\tikz[scale=\scalefac*6] \hilbert((0mm,0mm),2);}; + \node[label={above:$n=3$},right=of n2] (n3) {\tikz[scale=\scalefac*2.6] \hilbert((0mm,0mm),3);}; + \node[label={above:$n=4$},right=of n3] (n4) {\tikz[scale=\scalefac*1.2] \hilbert((0mm,0mm),4);}; + \node[label={above:$n=5$},right=of n4] (n5) {\tikz[scale=\scalefac*0.58] \hilbert((0mm,0mm),5);}; +\end{tikzpicture} +\end{figure} +\end{document} diff --git a/Master/texmf-dist/doc/latex/tufte-latex/graphics/nasa_vision_sm.png b/Master/texmf-dist/doc/latex/tufte-latex/graphics/nasa_vision_sm.png Binary files differnew file mode 100644 index 00000000000..2f1c324e679 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/graphics/nasa_vision_sm.png diff --git a/Master/texmf-dist/doc/latex/tufte-latex/graphics/satir_graph.png b/Master/texmf-dist/doc/latex/tufte-latex/graphics/satir_graph.png Binary files differnew file mode 100644 index 00000000000..d9509bc791d --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/graphics/satir_graph.png diff --git a/Master/texmf-dist/doc/latex/tufte-latex/graphics/sine.asy b/Master/texmf-dist/doc/latex/tufte-latex/graphics/sine.asy new file mode 100644 index 00000000000..6904735a10f --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/graphics/sine.asy @@ -0,0 +1,16 @@ +import graph; + +usepackage("palatino"); +usepackage("mathpazo"); + +size(7inches,3inches); +scale(true); + +real f(real x) { return sin(x); } +pair F(real x) { return (x, f(x)); } + +xaxis("$x$"); +yaxis("$y$"); + +draw(graph(f,-10.,10,operator ..), red); + diff --git a/Master/texmf-dist/doc/latex/tufte-latex/graphics/sine.pdf b/Master/texmf-dist/doc/latex/tufte-latex/graphics/sine.pdf Binary files differnew file mode 100644 index 00000000000..94331fabb79 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/graphics/sine.pdf diff --git a/Master/texmf-dist/doc/latex/tufte-latex/sample-handout.bib b/Master/texmf-dist/doc/latex/tufte-latex/sample-handout.bib new file mode 100644 index 00000000000..81715a5dd0c --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/sample-handout.bib @@ -0,0 +1,57 @@ +@BOOK{Tufte2006, + author = {Edward R. Tufte}, + title = {Beautiful Evidence}, + year = {2006}, + publisher = {Graphics Press, {LLC}}, + month = {May}, + edition = {First}, + place = {Cheshire, Connecticut}, + isbn = {0961392177} +} + +@BOOK{Tufte2001, + author = {Edward R. Tufte}, + title = {The Visual Display of Quantitative Information}, + publisher = {Graphics Press}, + year = {2001}, + address = {Cheshire, Connecticut}, + isbn = {0961392142} +} + +@BOOK{Tufte1990, + author = {Edward R. Tufte}, + title = {Envisioning Information}, + publisher = {Graphics Press}, + year = {1990}, + address = {Cheshire, Connecticut}, + isbn = {0961392118} +} + +@BOOK{Tufte1997, + author = {Edward R. Tufte}, + title = {Visual Explanations}, + publisher = {Graphics Press}, + year = {1997}, + address = {Cheshire, Connecticut}, + isbn = {0-9613921-2-6} +} + +@BOOK{Bringhurst2005, + author = {Robert Bringhurst}, + title = {The Elements of Typography}, + publisher = {Hartley \& Marks}, + year = {2005}, + edition = {3.1}, + isbn = {0-88179-205-5} +} + +@BOOK{Mittelbach2004, + author = {Frank Mittelbach and Michel Goossens}, + title = {The \LaTeX\ Companion}, + publisher = {Addison--Wesley}, + year = {2004}, + edition = {Second}, + isbn = {0-201-36299-6} +} + + diff --git a/Master/texmf-dist/doc/latex/tufte-latex/sample-handout.pdf b/Master/texmf-dist/doc/latex/tufte-latex/sample-handout.pdf Binary files differnew file mode 100644 index 00000000000..c6eae315520 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/sample-handout.pdf diff --git a/Master/texmf-dist/doc/latex/tufte-latex/sample-handout.tex b/Master/texmf-dist/doc/latex/tufte-latex/sample-handout.tex new file mode 100644 index 00000000000..d4e56b2ce77 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tufte-latex/sample-handout.tex @@ -0,0 +1,329 @@ +\documentclass{tufte-handout} + +\usepackage{amsmath} + +% Set up the images/graphics package +\usepackage{graphicx} +\setkeys{Gin}{width=\linewidth,totalheight=\textheight,keepaspectratio} +\graphicspath{{graphics/}} + +\usepackage{mcaption} % FIXME move to .cls file + +%\title{An Example of the Usage of the Tufte-Handout Style\thanks{Inspired by Edward~R. Tufte!}} +\title{An Example of the Usage of the Tufte-Handout Style} +\author{The Tufte-\LaTeX\ Developers} +%\date{22 February 2008} % if the \date{} command is left out, the current date will be used + +\usepackage{helvet} + +% The following package makes prettier tables. We're all about the bling! +\usepackage{booktabs} + +% The units package provides nice, non-stacked fractions and better spacing +% for units. +\usepackage{units} + +% The fancyvrb package lets us customize the formatting of verbatim +% environments. We use a slightly smaller font. +\usepackage{fancyvrb} +\fvset{fontsize=\normalsize} + +\usepackage{multicol} + +\usepackage[savepos]{zref} + +\usepackage{lipsum} + +\usepackage{url} +\urldef{\asyurl}\url{http://asymptote.sf.net/} + +\begin{document} + +\maketitle % this prints the handout title, author, and date + +\begin{abstract} +\noindent This document describes the Tufte handout \LaTeX\ document style. +It also provides examples and comments on the style's use. +\end{abstract} + +%\printclassoptions + +The \Verb|tufte-handout| document class defines a style similar to the +style Edward Tufte uses in his books and handouts. Tufte's style is known +for its extensive use of sidenotes, tight integration of graphics with +text, and well-set typography. This document aims to be at once a +demonstration of the features of the \Verb|tufte-handout| document class +and a style guide to its use. + +\section{Page Layout}\label{sec:page-layout} +\subsection{Headings}\label{sec:headings} +This style provides \textsc{a}- and \textsc{b}-heads (that is, +\Verb|\section| and \Verb|\subsection|) demonstrated above. + +If you need more than two levels of section headings, you'll have to define +them yourself at the moment;\sidenote{See see ``Defining new sections'' on +page~\pageref{sec:defining-sections} for help with defining more heading +levels.} there are no pre-defined styles for anything below a +\Verb|\subsection|. As Bringhurst points out in \textit{The Elements of +Typographic Style},\cite{Bringhurst2005} you should ``use as many levels of +headings as you need: no more, and no fewer.'' + +The Tufte-handout class will emit an error if you try to use +\Verb|\subsubsection| and smaller headings. + +%\medskip +%\begin{fullwidth} +%\begin{Verbatim} +%! Package tufte-handout Error: \subsubsection is undefined by this class. +%(tufte-handout) See Robert Bringhurst's _The Elements of +%(tufte-handout) Typographic Style_, section 4.2.2. +%(tufte-handout) \subsubsection was used. +%\end{Verbatim} +%\end{fullwidth} +%\medskip + +% let's start a new thought -- a new section +\newthought{In his later books},\cite{Tufte2006} Tufte +starts each section with a bit of vertical space, a non-indented paragraph, +and sets the first few words of the sentence in \textsc{small caps}. To +accomplish this using this style, use the \Verb|\newthought| command: + +\Verb|\newthought{In his later books}, Tufte starts|\ldots + +\subsection{Sidenotes}\label{sec:sidenotes} +One of the most prominent and distinctive features of this style is the +extensive use of sidenotes. There is a wide margin to provide ample room +for sidenotes and small figures. Any \Verb|\footnote|s will automatically +be converted to sidenotes.\footnote{This is a sidenote that was entered +using the \texttt{\textbackslash footnote} command.} If you'd like to place ancillary +information in the margin without the sidenote mark (the superscript +number), you can use the \Verb|\marginnote| command.\marginnote{This is a +margin note. Notice that there isn't a number preceding the note, and +there is no number in the main text where this note was written.} + +\subsection{References} +References are placed alongside their citations as sidenotes, +as well. This can be accomplished using the normal \Verb|\cite| +command.\footnote{The first paragraph of this document includes a citation.} + +The complete list of references may also be printed automatically by using +the \Verb|\bibliography| command. (See the end of this document for an +example.) If you do not want to print a bibliography at the end of your +document, use the \Verb|\nobibliography| command in its place. + +To enter multiple citations at one +location,\cite{Tufte2006}\cite{Tufte1990} you will need to use multiple +\Verb|\cite| commands: \Verb|\cite{Tufte2006}| \Verb|\cite{Tufte1990}|. Each +\Verb|\cite| command will generate its own sidenote and its own sidenote +number. + + +\section{Figures and Tables}\label{sec:figures-and-tables} +Images and graphics play an integral role in Tufte's work. +In addition to the standard \Verb|figure| and \Verb|tabular| environments, +this style provides special figure and table environments for full-width +floats. + +Full page width figures and tables may be placed in \texttt{figure*} or +\texttt{table*} environments. To place figures or tables in the margin, +use the \Verb|marginfigure| or \Verb|margintable| environments as follows +(see figure~\ref{fig:marginfig}): +\begin{marginfigure} + \includegraphics[width=\marginparwidth]{helix} + \caption{This is a margin figure. The helix is defined by + $x = \cos(2\pi z)$, $y = \sin(2\pi z)$, and $z = [0, 2.7]$. The figure was + drawn using Asymptote (\asyurl).} + \label{fig:marginfig} +\end{marginfigure} +\begin{Verbatim} +\begin{marginfigure} + \includegraphics{blah} + \caption{This figure is in the margin.} +\end{marginfigure} +\end{Verbatim} + + +Figure~\ref{fig:fullfig} is an example of the \Verb|figure*| +environment and figure~\ref{fig:textfig} is an example of the normal +\Verb|figure| environment. +\begin{figure*} + \includegraphics{sine.pdf} + \caption{This graph shows $y = \sin x$ from about $x = [-10, 10]$. + \emph{Notice that this figure takes up the full page width.}} + \label{fig:fullfig} + \zsavepos{pos:fullfig} +\end{figure*} + +\begin{figure} + \includegraphics{hilbertcurves.pdf} + \caption{Hilbert curves of various degrees $n$. + \emph{Notice that this figure only takes up the main textblock width.}} + \label{fig:textfig} + \zsavepos{pos:textfig} +\end{figure} + +Table~\ref{tab:normaltab} shows table created with the \texttt{booktabs} +package. Notice the lack of vertical rules---they serve only to clutter +the table's data. + +\begin{table}[ht] + \centering + \begin{tabular}{ll} + \toprule + Margin & Length \\ + \midrule + Paper width & \unit[8\nicefrac{1}{2}]{inches} \\ + Paper height & \unit[11]{inches} \\ + Textblock width & \unit[6\nicefrac{1}{2}]{inches} \\ + Textblock/sidenote gutter & \unit[\nicefrac{3}{8}]{inches} \\ + Sidenote width & \unit[2]{inches} \\ + \bottomrule + \end{tabular} + \caption{Here are the dimensions of the various margins used in the Tufte-handout class.} + \label{tab:normaltab} + \zsavepos{pos:normaltab} +\end{table} + +\section{Full-width text blocks} + +In addition to the new float types, there is a \texttt{fullwidth} +environment that stretches across the main text block and the sidenotes +area. + +\begin{Verbatim} +\begin{fullwidth} +Lorem ipsum dolor sit amet... +\end{fullwidth} +\end{Verbatim} + +\begin{fullwidth} +\small\itshape\lipsum[1] +\end{fullwidth} + +\section{Typography}\label{sec:typography} + +\subsection{Typefaces}\label{sec:typefaces} +If the Palatino and Bera Mono typefaces are installed, this style will use +them automatically. Otherwise, we'll fall back on the Computer Modern +typefaces. + +\subsection{Letterspacing}\label{sec:letterspacing} +This document class includes two new commands and some improvements on +existing commands for letterspacing. + +When setting strings of \allcaps{ALL CAPS} or \smallcaps{small caps}, the +letterspacing---that is, the spacing between the letters---should be +increased slightly.\cite{Bringhurst2005} The \Verb|\allcaps| command has proper letterspacing for +strings of \allcaps{FULL CAPITAL LETTERS}, and the \Verb|\smallcaps| command +has letterspacing for \smallcaps{small capital letters}. These commands +will also automatically convert the case of the text to upper- or +lowercase, respectively. + +The \Verb|\textsc| command has also been redefined to include +letterspacing. The case of the \Verb|\textsc| argument is left as is, +however. This allows one to use both uppercase and lowercase letters: +\textsc{The Initial Letters Of The Words In This Sentence Are Capitalized.} + + +\section{Customization}\label{sec:customization} +\subsection{Document class options}\label{sec:options} +The \Verb|tufte-handout| class is based on the \LaTeX\ \Verb|article| +document class. Therefore, you can pass any of the typical article +options. There are a few options that are specific to the +\Verb|tufte-handout| document class, however. + +The \Verb|a4paper| option will set the paper size to \smallcaps{A4} instead of +the default \smallcaps{US} letter size. + +The \Verb|sfsidenotes| option will set the sidenotes in a \textsf{sans +serif} typeface instead of the default roman. + +The \Verb|twoside| option will modify the running heads so that the page +number is printed on the outside edge (as opposed to always printing the page +number on the right-side edge in \Verb|oneside| mode). + +The \Verb|symmetric| option typesets the sidenotes on the outside edge of +the page. This is how books are traditionally printed, but is contrary to +Tufte's book design which sets the sidenotes on the right side of the page. +This option implicitly sets the \Verb|twoside| option. + +The \Verb|justified| option sets all the text fully justified (flush left +and right). The default is to set the text ragged right. +The body text of Tufte's books are set ragged right. This prevents +needless hyphenation and makes it easier to read the text in the slightly +narrower column. + +\subsection{Defining new sections}\label{sec:defining-sections} +As mentioned on page~\pageref{sec:headings}, the \Verb|tufte-handout| +document class only defines \Verb|\section| and \Verb|\subsection| +headings. + +If you wanted to define, say, a \Verb|\paragraph| heading, you could do it +as follows: + +\begin{Verbatim} +\makeatletter +\renewcommand\paragraph{\@startsection{paragraph}% the name of the new section + {4}% the section level number + {0em}% indentation amount + {\baselineskip}% amount of space to leave before heading + {-1.5em}% amount of space to leave after heading + {\normalfont\itshape}% style +} +\makeatother +\end{Verbatim} + +Place that code in the preamble of your document and you'll now be able to use +\Verb|\paragraph|. + +For more details on defining section levels, see \textit{The \LaTeX\ +Companion},\cite{Mittelbach2004} or use the \Verb|titlesec| package. + + +\section{Installation}\label{sec:installation} +To install the \Verb|tufte-handout| class, simply drop the +\Verb|tufte-handout.cls| file into the same directory as your \Verb|.tex| +file. + +% TODO add instructions for installing it globally + + +\section{Support}\label{sec:support} + +\subsection{Package Dependencies}\label{sec:dependencies} +The following is a list of packages that the \Verb|tufte-handout| document +class relies upon. Packages marked with an asterisk are optional. +\begin{multicols}{2} +\begin{itemize} + \item geometry + \item ragged2e + \item chngpage + \item paralist + \item textcase + \item footmisc + \item natbib and bibentry + \item placeins + \item caption + \item fancyhdr + \item microtype* + \item soul* + \item palatino* + \item beramono* +\end{itemize} +\end{multicols} + +\subsection{Tufte-\LaTeX\ Website}\label{sec:website} +The website for the Tufte-\LaTeX\ packages is located at +\url{http://code.google.com/p/tufte-latex/}. On our website, you'll find +links to our \smallcaps{svn} repository, mailing lists, bug tracker, and documentation. + + +\bibliography{sample-handout} +\bibliographystyle{plainnat} + +%\section{Float Positions---DEBUG} +%Full figure: $x=\zposx{pos:fullfig}$, $y=\zposy{pos:fullfig}$ +%Text figure: $x=\zposx{pos:textfig}$, $y=\zposy{pos:textfig}$ +%Normal table: $x=\zposx{pos:normaltab}$, $y=\zposy{pos:normaltab}$ + +\end{document} diff --git a/Master/texmf-dist/tex/latex/tufte-latex/tufte-handout.cls b/Master/texmf-dist/tex/latex/tufte-latex/tufte-handout.cls new file mode 100644 index 00000000000..581af3a31b7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tufte-latex/tufte-handout.cls @@ -0,0 +1,483 @@ +\NeedsTeXFormat{LaTeX2e}[1994/06/01] + +\ProvidesClass{tufte-handout}[2008/06/06 v2.0.0 Tufte-handout class] + +%% +% a4paper option + +\newif\if@tufteh@afourpaper \@tufteh@afourpaperfalse +\DeclareOption{a4paper}{\@tufteh@afourpapertrue} + +%% +% sfsidenotes option -- typesets sidenotes in sans serif typeface + +\newif\if@tufteh@sfsidenotes \@tufteh@sfsidenotesfalse +\DeclareOption{sfsidenotes}{\@tufteh@sfsidenotestrue} + +%% +% symmetric option -- puts marginpar space to the outside edge of the page +% Note: this forces twoside + +\newif\if@tufteh@symmetric\@tufteh@symmetricfalse +\DeclareOption{symmetric}{ + \@tufteh@symmetrictrue + \PassOptionsToClass{twoside}{article} +} + +%% +% justified option -- uses fully justified text (flush left and flush +% right) instead of ragged right. + +\newif\if@tufteh@justified\@tufteh@justifiedfalse +\DeclareOption{justified}{\@tufteh@justifiedtrue} + + +% FIXME: should probably specify options not supported like Mittelbach's aipproc.cls + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions + +\LoadClass{article} + +%% +% Detect whether we're in two-side mode or not. (Used to set up running +% heads later.) + +\newif\if@tufteh@twoside\let\if@tufteh@twoside\if@twoside + +%% +% Set page layout geometry + +\RequirePackage[letterpaper,includemp,width=6.5in,marginparsep=0.375in,marginparwidth=2in]{geometry} + +\if@tufteh@afourpaper + \geometry{a4paper,includemp,width=170mm,marginparsep=10mm,marginparwidth=50mm} +\fi + +\if@tufteh@symmetric +\else + \geometry{asymmetric} +\fi + + +%% +% Separation marginpars by a line's worth of space. + +\setlength\marginparpush{\baselineskip} + +%% +% Font for margin items + +\if@tufteh@sfsidenotes + \newcommand{\@tufteh@marginfont}{\normalfont\scriptsize\sffamily} +\else + \newcommand{\@tufteh@marginfont}{\normalfont\scriptsize} +\fi + +%% +% \RaggedRight allows hyphenation + +\RequirePackage{ragged2e} +\setlength{\RaggedRightRightskip}{\z@ plus 0.08\hsize} + +%% +% Set the justification baesed on the `justified' class option + +\newcommand{\@tufteh@justification}{% + \if@tufteh@justified + \justifying + \else + \RaggedRight + \fi +} + +%% +% 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 implement full-width display environments + +\RequirePackage[strict]{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 + \global\let\thanks\footnote + \begingroup + \newpage + \global\@topnum\z@ + \@maketitle + \endgroup + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + %\global\let\@author\@empty + %\global\let\@date\@empty + %\global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax +} +\def\@maketitle{% + \newpage + \noindent\sffamily\large{\allcaps{\@title}}\\ + \vskip0.5\baselineskip + \noindent\normalsize{\allcaps{\@author}}\\ + \vskip0.3\baselineskip + \noindent{\allcaps{\@date}} + \thispagestyle{plain} +} + +%% +% Abstract + +\renewenvironment{abstract}% + {\begin{quotation} + \begin{sffamily} + \begin{small}}% + { \end{small} + \end{sffamily} + \end{quotation}} + +%% +% Require paralist package for tighter lists + +\RequirePackage{paralist} + +% Add rightmargin to compactenum + +\def\@compactenum@{% + \expandafter\list\csname label\@enumctr\endcsname{% + \usecounter{\@enumctr}% + \rightmargin=2em% added this + \parsep\plparsep + \itemsep\plitemsep + \topsep\pltopsep + \partopsep\plpartopsep + \def\makelabel##1{\hss\llap{##1}}}} + +%% +% Improved letterspacing of small caps and all-caps text. +% +% First, try to use the `microtype' package, if it's available. +% Failing that, try to use the `soul' package, if it's available. +% Failing that, well, I give up. + +\RequirePackage{textcase} % provides \MakeTextUppercase and \MakeTextLowercase +\newcommand{\allcaps}[1]{\MakeTextUppercase{#1}} +\newcommand{\smallcaps}[1]{\textsc{\MakeTextLowercase{#1}}} +\newcommand{\smallcapsspacing}[1]{#1} + +\IfFileExists{microtype.sty}{% + \RequirePackage[final]{microtype} + % Set up letterspacing (using microtype package) -- requires pdfTeX v1.40+ + \renewcommand{\smallcapsspacing}[1]{\textls[50]{##1}} + \renewcommand{\allcaps}[1]{\textls[200]{\MakeTextUppercase{##1}}} + \renewcommand{\smallcaps}[1]{\textsc{\MakeTextLowercase{##1}}} +}{% microtype failed, check for soul + \IfFileExists{soul.sty}{% + \RequirePackage{soul} + \sodef\allcapsspacing{\upshape}{0.15em}{0.65em}{0.6em} + \sodef\smallcapsspacing{\scshape}{0.075em}{0.5em}{0.6em} + \renewcommand{\allcaps}[1]{\allcapsspacing{\MakeTextUppercase{##1}}} + \renewcommand{\smallcaps}[1]{\textsc{\MakeTextLowercase{##1}}} + }{}% neither microtype nor soul are installed... giving up. +} + +\DeclareTextFontCommand{\textsmallcaps}{\scshape} +\renewcommand{\textsc}[1]{\textsmallcaps{\smallcapsspacing{#1}}} + + +%% +% An environment for paragraph-style section + +\providecommand\newthought[1]{\vspace{1.8\baselineskip plus 3pt minus 2pt}% + {\noindent\textsc{#1}}} + +%% +% Transform existing \footnotes into \sidenotes +% Sidenote: ``Where God meant footnotes to go.'' ---Tufte + +\RequirePackage[side,multiple]{footmisc} +\newcommand{\footnotelayout}{\@tufteh@marginfont\@tufteh@justification} + +% Override footmisc's definition to set the sidenote marks (numbers) inside the +% sidenote's text block. +\long\def\@makefntext#1{\@textsuperscript{\@tufteh@marginfont\tiny\@thefnmark}\,\footnotelayout#1} + +% Set the in-text footnote mark in the same typeface as the body text itself. +\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\scriptsize\@thefnmark}}} + +\let\sidenote\footnote + +%% +% Sidenote without the footnote mark + +\providecommand\marginnote[1]% + {\marginpar{\@tufteh@marginfont\@tufteh@justification #1}} + +%% +% Citations should go in the margin as well + +\RequirePackage{natbib} +\RequirePackage{bibentry} % allows bibitems to be typeset outside thebibliography environment +\nobibliography* % pre-loads the bibliography keys +\renewcommand{\cite}[1]{\sidenote{\bibentry{#1}.}} +\providecommand{\doi}[1]{\textsc{doi:} #1} % pre-defining this so it may be used before the \bibliography command it issued + +% TODO: Rewrite \cite so that you can specify multiple bib keys +% at once. For example, \cite{Author01,Author02} +% TODO: Combine sequences of citations so that 2,3,4,6 becomes 2-4,6 +% but be careful of hyperref interaction + +%% +% Make Tuftian-style section headings + +% TODO: I'd prefer to use the 'titlesec' package for this formatting, but +% I'll do it old-style for now. --Kevin + +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\large\it}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\it}} + +% Subsubsection and following section headings shouldn't be used. +% See Bringhurst's _The Elements of Typography_, section 4.2.2. +\renewcommand\subsubsection{% + \PackageError{tufte-handout}{\noexpand\subsubsection is undefined by this class.% + \MessageBreak See Robert Bringhurst's _The Elements of + \MessageBreak Typographic Style_, section 4.2.2. + \MessageBreak \noexpand\subsubsection was used} + {From Bringhurst's _The Elements of Typographic Style_, section 4.2.2: Use as + \MessageBreak many levels of headings as you need, no more and no fewer. Also see the many + \MessageBreak related threads on Ask E.T. at http://www.edwardtufte.com/.} +} + +\renewcommand\paragraph{% + \PackageError{tufte-handout}{\noexpand\paragraph is undefined by this class.% + \MessageBreak See Robert Bringhurst's _The Elements of + \MessageBreak Typographic Style_, section 4.2.2. + \MessageBreak \noexpand\paragraph was used} + {From Bringhurst's _The Elements of Typographic Style_, section 4.2.2: Use as + \MessageBreak many levels of headings as you need, no more and no fewer. Also see the many + \MessageBreak related threads on Ask E.T. at http://www.edwardtufte.com/.} +} + +\renewcommand\subparagraph{% + \PackageError{tufte-handout}{\noexpand\subparagraph is undefined by this class.% + \MessageBreak See Robert Bringhurst's _The Elements of + \MessageBreak Typographic Style_, section 4.2.2. + \MessageBreak \noexpand\subparagraph was used} + {From Bringhurst's _The Elements of Typographic Style_, section 4.2.2: Use as + \MessageBreak many levels of headings as you need, no more and no fewer. Also see the many + \MessageBreak related threads on Ask E.T. at http://www.edwardtufte.com/.} +} + + +%% +% The placeins package provides the \FloatBarrier command. This forces +% LaTeX to place all of the floats before proceeding. We'll use this to +% keep the float (figure and table) numbers in sequence. +\RequirePackage{placeins} + +%% +% Margin figure environment + +\newsavebox{\@tufteh@marginfigbox} +\newenvironment{marginfigure}[1] + [-1.2ex] + {\FloatBarrier% process all floats before this point so the figure numbers stay in order. + \begin{lrbox}{\@tufteh@marginfigbox} + \begin{minipage}{\marginparwidth} + \@tufteh@marginfont + \def\@captype{figure} + \vspace*{#1} + \@tufteh@justification + } + {\end{minipage}% + \end{lrbox}% + \marginpar{\usebox{\@tufteh@marginfigbox}}} + + +%% +% Margin table environment +\newsavebox{\@tufteh@margintablebox} +\newenvironment{margintable}[1] + [-1.2ex] + {\FloatBarrier% process all floats before this point so the figure numbers stay in order. + \begin{lrbox}{\@tufteh@margintablebox} + \begin{minipage}{\marginparwidth} + \@tufteh@marginfont + \def\@captype{table} + \vspace*{#1} + \@tufteh@justification + } + {\end{minipage}% + \end{lrbox}% + \marginpar{\usebox{\@tufteh@margintablebox}}} + + +%% +% Full-width figure + +\renewenvironment{figure*}[1]% + [htbp]% + {\@float{figure}[#1]% + \if@tufteh@symmetric + \begin{adjustwidth}[]{}{-\@tufteh@overhang}% + \else + \begin{adjustwidth}{}{-\@tufteh@overhang}% + \fi + \begin{minipage}{\linewidth}}% + {\end{minipage}% + \end{adjustwidth}% + \end@float} + +%% +% Full-width table + +\renewenvironment{table*}[1] + [htbp]% + {\@float{table}[#1]% + \if@tufteh@symmetric + \begin{adjustwidth}[]{}{-\@tufteh@overhang}% + \else + \begin{adjustwidth}{}{-\@tufteh@overhang}% + \fi + \begin{minipage}{\linewidth}}% + {\end{minipage}% + \end{adjustwidth}% + \end@float} + +%% +% Full-page-width area + +\newenvironment{fullwidth} + {\if@tufteh@symmetric + \begin{adjustwidth}[]{}{-\@tufteh@overhang}% + \else + \begin{adjustwidth}{}{-\@tufteh@overhang}% + \fi + } + {\end{adjustwidth}} + +%% +% Format the captions in a style similar to the sidenotes + +\RequirePackage[format=default,font={rm,scriptsize},justification=raggedright,singlelinecheck=false]{caption} + +% if the `sfsidenotes' option is specified, set the captions in sf, too. +\if@tufteh@sfsidenotes + \captionsetup{font={sf,scriptsize}} +\else + \captionsetup{font={rm,scriptsize}} +\fi + +% if the `justified' option is specified, set the captions in flush left +% and flush right +\if@tufteh@justified + \captionsetup{justification=justified} +\else + \captionsetup{justification=raggedright} +\fi + +%% +% If the Palatino typeface (and its math symbol set) are installed, load them. + +\IfFileExists{palatino.sty}{% + \RequirePackage{palatino} + \IfFileExists{mathpazo.sty}{\RequirePackage[osf,sc]{mathpazo}}{} +}{} % if the Palatino typefaces aren't found, do nothing. + + +%% +% If the Bera Mono typeface is available, use it. + +\IfFileExists{beramono.sty}{% + \RequirePackage[T1]{fontenc} + \RequirePackage[scaled=0.85]{beramono} +}{} + + +%% +% Sets up the running heads and folios. + +\RequirePackage{fancyhdr} + +% Set the header/footer width to be the body text block plus the margin +% note area. +\if@tufteh@symmetric + \fancyhfoffset[LE,RO]{\@tufteh@overhang} +\else + \fancyhfoffset[RE,RO]{\@tufteh@overhang} +\fi + +% The 'fancy' page style is the default style for all pages. +\fancyhf{} % clear header and footer fields +\if@tufteh@twoside + \fancyhead[LE]{\thepage\quad\smallcaps{\@author}} + \fancyhead[RO]{\smallcaps{\@title}\quad\thepage} +\else + \fancyhead[RE,RO]{\smallcaps{\@title}\quad\thepage} +\fi +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} + +% The 'plain' page style is used on chapter opening pages. +\fancypagestyle{plain}{ + \fancyhf{} % clear header and footer fields + \if@tufteh@twoside + \fancyfoot[LE,RO]{\thepage} + \else + \fancyfoot[RE,RO]{\thepage} + \fi +} + +% The 'empty' page style suppresses all headers and footers. +% It's used on title pages and `intentionally blank' pages. +\fancypagestyle{empty}{ + \fancyhf{} % clear header and footer fields +} + +% Set the default page style to 'fancy' +\pagestyle{fancy} + + +%% +% Set raggedright and paragraph indentation for document + +\AtBeginDocument{\@tufteh@justification\setlength\parindent{1em}} + + +%% +% Prints the list of class options and their states. +\newcommand{\printclassoptions}{% + \texttt{symmetric}---\if@tufteh@symmetric true\else false\fi\\ + \texttt{a4paper}---\if@tufteh@afourpaper true\else false\fi\\ + \texttt{twoside}---\if@tufteh@twoside true\else false\fi\\ + \texttt{sfsidenotes}---\if@tufteh@sfsidenotes true\else false\fi\\ + \texttt{justified}---\if@tufteh@justified true\else false\fi +} + +\endinput diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 348e7797f21..24e4de2de59 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -81,7 +81,8 @@ my @WorkingTLP = qw( feyn fge filecontents fink fixme flagderiv flippdf float floatrow flowfram fltpoint fmtcount fnbreak - fncychap foekfont fontch fontspec fonttable footbib forloop formular + fncychap foekfont fontch fontspec fonttable fontwrap + footbib forloop formular fouridx fourier fouriernc fp fpl frankenstein free-math-font-survey frenchle fribrief frletter frontespizio fullpict functan @@ -188,8 +189,8 @@ my @WorkingTLP = qw( thinsp thmtools thumb thumbpdf thuthesis ticket titlefoot titlesec titling tocbibind tocloft todo tokenizer toolbox tools toptesi totpages tracking - trajan translator tree-dvips trfsigns trivfloat - trsym tugboat tugboat-plain turnstile twoup txfonts Type1fonts + trajan translator tree-dvips trfsigns trivfloat trsym + tufte-latex tugboat tugboat-plain turnstile twoup txfonts Type1fonts typedref typogrid uebungsblatt ucthesis uhrzeit uiucthesis ulsy umich-thesis uml umlaute umthesis umtypewriter underlin undertilde units unitsdef unroman diff --git a/Master/tlpkg/tlpsrc/collection-xetex.tlpsrc b/Master/tlpkg/tlpsrc/collection-xetex.tlpsrc index 8cd5f489f6c..dd1f7d77a7c 100644 --- a/Master/tlpkg/tlpsrc/collection-xetex.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-xetex.tlpsrc @@ -7,6 +7,7 @@ depend arabxetex depend euenc depend bidi depend fontspec +depend fontwrap depend ifxetex depend philokalia depend xecyr diff --git a/Master/tlpkg/tlpsrc/fontwrap.tlpsrc b/Master/tlpkg/tlpsrc/fontwrap.tlpsrc new file mode 100644 index 00000000000..61608b57fa5 --- /dev/null +++ b/Master/tlpkg/tlpsrc/fontwrap.tlpsrc @@ -0,0 +1,2 @@ +name fontwrap +category Package diff --git a/Master/tlpkg/tlpsrc/tufte-latex.tlpsrc b/Master/tlpkg/tlpsrc/tufte-latex.tlpsrc new file mode 100644 index 00000000000..cb80421ef22 --- /dev/null +++ b/Master/tlpkg/tlpsrc/tufte-latex.tlpsrc @@ -0,0 +1,2 @@ +name tufte-latex +category Package |