From 5f4555e0c2d263d493447af4b5cc6158517a1734 Mon Sep 17 00:00:00 2001 From: "Kevin M. Godby" Date: Sun, 19 Apr 2009 02:00:30 +0000 Subject: [PATCH] * Empty captions now print nothing. (See issue 5.) * Tables now reserve their full height (\prevdepth issue). * Code cleanup: Changed tabs to spaces. git-svn-id: https://tufte-latex.googlecode.com/svn/trunk@88 516e2f36-ce3a-0410-bea4-1d4a03f5df72 --- sample-book.pdf | Bin 122485 -> 122485 bytes sample-handout.pdf | Bin 125859 -> 125861 bytes tufte-common.sty | 98 ++++++++++++++++++++++----------------------- 3 files changed, 49 insertions(+), 49 deletions(-) diff --git a/sample-book.pdf b/sample-book.pdf index c079e46a0dee8d5e6a1bf363dcedad3be95344dc..321abe597e0e36f4b05836c10722cf5da9a3d8d7 100644 GIT binary patch delta 110 zcmeymhyCjw_J%EtKhLmR7#SFw8XHbK%P0e5Z&yCc_({Oo$;8>v#K6qa#o5x*(8Sc) e%)rsW+{M_$#Ld#x#ni>zPQiwdlIaom7-a!j`X09c delta 110 zcmeymhyCjw_J%EtKhLn68X6j#nV3yG%P0e5Z&yCc_({Oo&D_|@#K6VL#Ms5z)!EU} e(#+M^($K}g+{Dz$(#_JuPQiwdlIaom7-a!$-yaPC diff --git a/sample-handout.pdf b/sample-handout.pdf index cf3cf5f6f7bc50be23264126aa3d2b1a48bc7ce4..776f9ff3fa35e351ef609a7e1325ddc3e17dae26 100644 GIT binary patch delta 4204 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 delta 4202 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 diff --git a/tufte-common.sty b/tufte-common.sty index 36abecd..8fdb860 100644 --- a/tufte-common.sty +++ b/tufte-common.sty @@ -533,7 +533,7 @@ % Citations should go in the margin as sidenotes \RequirePackage[numbers]{natbib} -\RequirePackage{bibentry} % allows bibitems to be typeset outside thebibliography environment +\RequirePackage{bibentry} % allows bibitems to be typeset outside thebibliography environment % Redefine the \BR@b@bibitem command to fix a bug with bibentry+chicago style \renewcommand\BR@b@bibitem[2][]{% \ifthenelse{\isempty{#1}}% @@ -541,7 +541,7 @@ {\BR@bibitem[#1]{#2}}% \BR@c@bibitem{#2}% } -\nobibliography* % pre-loads the bibliography keys +\nobibliography* % pre-loads the bibliography keys \providecommand{\doi}[1]{\textsc{doi:} #1} % pre-defining this so it may be used before the \bibliography command it issued %% @@ -557,7 +557,7 @@ \@for\@temp@bibkeyx:=#2\do{% \ifthenelse{\equal{\@temp@last@bibkey}{\@temp@bibkeyx}}% {\ifthenelse{\equal{\value{@tufte@num@bibkeys}}{0}}{}{and\ }% - \bibentry{\@temp@bibkeyx}}% + \bibentry{\@temp@bibkeyx}}% {\bibentry{\@temp@bibkeyx};\ }% \stepcounter{@tufte@num@bibkeys}% }% @@ -787,9 +787,9 @@ } % Store the caption and label contents -\newcommand{\@tufte@stored@shortcaption}{SHORT CAPTION} -\newcommand{\@tufte@stored@caption}{LONG CAPTION} -\newcommand{\@tufte@stored@label}{LABEL} +\newcommand{\@tufte@stored@shortcaption}{} +\newcommand{\@tufte@stored@caption}{} +\newcommand{\@tufte@stored@label}{} \newcommand{\@tufte@caption}[2][]{% \ifthenelse{\isempty{#1}} @@ -823,23 +823,23 @@ \begin{minipage}[\floatalignment]{\textwidth}\hbox{}% } {% end tfigure - \par\vspace{-\prevdepth}%% TODO: DOUBLE-CHECK FOR SAFETY + \par\hbox{}\vspace{-\baselineskip}\ifthenelse{\prevdepth>0}{\vspace{-\prevdepth}}{}% align baselines of boxes \end{minipage}% \end{lrbox}% % build the caption box \begin{lrbox}{\@tufte@caption@box}% \begin{minipage}[\floatalignment]{\marginparwidth}\hbox{}% - \@tufte@orig@caption[\@tufte@stored@shortcaption]{\@tufte@stored@caption}% - \@tufte@orig@label{\@tufte@stored@label}% + \ifthenelse{\NOT\equal{\@tufte@stored@caption}{}}{\@tufte@orig@caption[\@tufte@stored@shortcaption]{\@tufte@stored@caption}}{}% + \ifthenelse{\NOT\equal{\@tufte@stored@label}{}}{\@tufte@orig@label{\@tufte@stored@label}}{}% \par\vspace{-\prevdepth}%% TODO: DOUBLE-CHECK FOR SAFETY \end{minipage}% \end{lrbox}% % now typeset the stored boxes \begin{fullwidth}% \begin{minipage}[\floatalignment]{\paperwidth}% - \usebox{\@tufte@figure@box}% + \usebox{\@tufte@figure@box}% \hspace{\marginparsep}% - \smash{\usebox{\@tufte@caption@box}}% + \smash{\usebox{\@tufte@caption@box}}% \end{minipage}% \end{fullwidth}% \@tufte@orig@endfloat% @@ -869,23 +869,23 @@ \begin{minipage}[\floatalignment]{\textwidth}\hbox{}% } {% end table - \par\vspace{-\prevdepth}%% TODO: DOUBLE-CHECK FOR SAFETY + \par\hbox{}\vspace{-\baselineskip}\ifthenelse{\prevdepth>0}{\vspace{-\prevdepth}}{}% align baselines of boxes \end{minipage}% \end{lrbox}% % build the caption box \begin{lrbox}{\@tufte@caption@box}% \begin{minipage}[\floatalignment]{\marginparwidth}\hbox{}% - \@tufte@orig@caption[\@tufte@stored@shortcaption]{\@tufte@stored@caption}% - \@tufte@orig@label{\@tufte@stored@label}% + \ifthenelse{\NOT\equal{\@tufte@stored@caption}{}}{\@tufte@orig@caption[\@tufte@stored@shortcaption]{\@tufte@stored@caption}}{}% + \ifthenelse{\NOT\equal{\@tufte@stored@label}{}}{\@tufte@orig@label{\@tufte@stored@label}}{}% \par\vspace{-\prevdepth}%% TODO: DOUBLE-CHECK FOR SAFETY \end{minipage}% \end{lrbox}% % now typeset the stored boxes \begin{fullwidth}% \begin{minipage}[\floatalignment]{\paperwidth}% - \usebox{\@tufte@figure@box}% + \usebox{\@tufte@figure@box}% \hspace{\marginparsep}% - \smash{\usebox{\@tufte@caption@box}}% + \smash{\usebox{\@tufte@caption@box}}% \end{minipage}% \end{fullwidth}% \@tufte@orig@endfloat% @@ -918,7 +918,7 @@ \begin{fullwidth} }% {% end figure* - \hbox{}\par\vspace{-\prevdepth}%% TODO: DOUBLE-CHECK FOR SAFETY + \par\hbox{}\vspace{-\baselineskip}\ifthenelse{\prevdepth>0}{\vspace{-\prevdepth}}{}% align baselines of boxes \end{fullwidth}% \end{minipage}% \end{lrbox}% @@ -926,24 +926,24 @@ % TODO use \captionaboveskip and \captionbelowskip for spacing between caption and figure boxes \begin{lrbox}{\@tufte@caption@box}% \begin{minipage}[\floatalignment]{\marginparwidth}\hbox{}% - \@tufte@orig@caption[\@tufte@stored@shortcaption]{\@tufte@stored@caption}% - \@tufte@orig@label{\@tufte@stored@label}% + \ifthenelse{\NOT\equal{\@tufte@stored@caption}{}}{\@tufte@orig@caption[\@tufte@stored@shortcaption]{\@tufte@stored@caption}}{}% + \ifthenelse{\NOT\equal{\@tufte@stored@label}{}}{\@tufte@orig@label{\@tufte@stored@label}}{}% \par\vspace{-\prevdepth}%% TODO: DOUBLE-CHECK FOR SAFETY \end{minipage}% \end{lrbox}% % now typeset the stored boxes \begin{fullwidth}% \begin{minipage}[\floatalignment]{\paperwidth}% - \hbox{}% - \ifthenelse{\equal{\floatalignment}{b}} - {% place caption above figure - \hspace{\@tufte@caption@fill}\smash{\usebox{\@tufte@caption@box}}\\ - \usebox{\@tufte@figure@box}% - } - {% place caption below figure - \usebox{\@tufte@figure@box}\\ - \hspace{\@tufte@caption@fill}\smash{\usebox{\@tufte@caption@box}}% - } + \hbox{}% + \ifthenelse{\equal{\floatalignment}{b}} + {% place caption above figure + \hspace{\@tufte@caption@fill}\smash{\usebox{\@tufte@caption@box}}\\ + \usebox{\@tufte@figure@box}% + } + {% place caption below figure + \usebox{\@tufte@figure@box}\\ + \hspace{\@tufte@caption@fill}\smash{\usebox{\@tufte@caption@box}}% + } \end{minipage}% \end{fullwidth}% \@tufte@orig@endfloat% @@ -975,7 +975,7 @@ \begin{fullwidth} }% {% end table* - \hbox{}\par\vspace{-\prevdepth}%% TODO: DOUBLE-CHECK FOR SAFETY + \par\hbox{}\vspace{-\baselineskip}\ifthenelse{\prevdepth>0}{\vspace{-\prevdepth}}{}% align baselines of boxes \end{fullwidth}% \end{minipage}% \end{lrbox}% @@ -983,24 +983,24 @@ % TODO use \captionaboveskip and \captionbelowskip for spacing between caption and figure boxes \begin{lrbox}{\@tufte@caption@box}% \begin{minipage}[\floatalignment]{\marginparwidth}\hbox{}% - \@tufte@orig@caption[\@tufte@stored@shortcaption]{\@tufte@stored@caption}% - \@tufte@orig@label{\@tufte@stored@label}% + \ifthenelse{\NOT\equal{\@tufte@stored@caption}{}}{\@tufte@orig@caption[\@tufte@stored@shortcaption]{\@tufte@stored@caption}}{}% + \ifthenelse{\NOT\equal{\@tufte@stored@label}{}}{\@tufte@orig@label{\@tufte@stored@label}}{}% \par\vspace{-\prevdepth}%% TODO: DOUBLE-CHECK FOR SAFETY \end{minipage}% \end{lrbox}% % now typeset the stored boxes \begin{fullwidth}% \begin{minipage}[\floatalignment]{\paperwidth}% - \hbox{}% - \ifthenelse{\equal{\floatalignment}{b}} - {% place caption above table - \hspace{\@tufte@caption@fill}\smash{\usebox{\@tufte@caption@box}}\\ - \usebox{\@tufte@table@box}% - } - {% place caption below table - \usebox{\@tufte@table@box}\\ - \hspace{\@tufte@caption@fill}\smash{\usebox{\@tufte@caption@box}}% - } + \hbox{}% + \ifthenelse{\equal{\floatalignment}{b}} + {% place caption above table + \hspace{\@tufte@caption@fill}\smash{\usebox{\@tufte@caption@box}}\\ + \usebox{\@tufte@table@box}% + } + {% place caption below table + \usebox{\@tufte@table@box}\\ + \hspace{\@tufte@caption@fill}\smash{\usebox{\@tufte@caption@box}}% + } \end{minipage}% \end{fullwidth}% \@tufte@orig@endfloat% @@ -1304,15 +1304,15 @@ {} %\titlecontents{chapter}% -% [0em]% distance from left margin -% {\fontsize{12pt}{18pt}\selectfont}% above (global formatting of entry) -% {\textit}% before w/ label (label = ``Chapter 1'') -% {\textit}% before w/o label -% {\qquad\thecontentspage}% filler and page (leaders and page num) -% [\vspace{1.5\baselineskip}]% after +% [0em]% distance from left margin +% {\fontsize{12pt}{18pt}\selectfont}% above (global formatting of entry) +% {\textit}% before w/ label (label = ``Chapter 1'') +% {\textit}% before w/o label +% {\qquad\thecontentspage}% filler and page (leaders and page num) +% [\vspace{1.5\baselineskip}]% after \titleformat{\chapter}% - [display]% shape + [display]% shape {\relax\ifthenelse{\NOT\boolean{@tufte@symmetric}}{\begin{fullwidth}}{}}% format applied to label+text {\itshape\fontsize{22}{24}\selectfont\thechapter}% label {0pt}% horizontal separation between label and title body