summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/thumb
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:09:06 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:09:06 +0000
commitde8bd9678de18160b90c38fd45d44c597c1366d7 (patch)
tree94903e3834696de947e5bf8b21fdef9ffa11ca47 /Master/texmf-dist/tex/latex/thumb
parentcb9c91d599684c44c32cc72f39ecb35c64a9b5db (diff)
thumb
git-svn-id: svn://tug.org/texlive/trunk@1386 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/thumb')
-rw-r--r--Master/texmf-dist/tex/latex/thumb/thumb.sty561
1 files changed, 561 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/thumb/thumb.sty b/Master/texmf-dist/tex/latex/thumb/thumb.sty
new file mode 100644
index 00000000000..022b8cb3f3b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/thumb/thumb.sty
@@ -0,0 +1,561 @@
+%%
+%% This is file `thumb.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% thumb.dtx (with options: `package')
+%%
+%% Copyright (C) 1997 Christian Holm.
+%%
+%% This file is NOT the source for thumb, because almost all comments
+%% have been stripped from it. It is NOT the preferred form of thumb
+%% for making modifications to it.
+%%
+%% Therefore you can NOT redistribute and/or modify THIS file. You can
+%% however redistribute the complete source (thumb.dtx and
+%% thumb.ins) and/or modify it under the terms of the GNU General
+%% Public License as published by the Free Software Foundation; either
+%% version 2, or (at your option) any later version.
+%%
+%% The thumb package is distributed in the hope that it will be
+%% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+%% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% You should have received a copy of the GNU General Public License
+%% along with this program; if not, write to the Free Software
+%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%%
+\def\fileversion{v1.0}
+\def\filedate{97/12/24}
+\ProvidesPackage{thumb}[\filedate\space\fileversion\space thumb
+ package.]
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\newif\ifhave@fancyhdr
+\openin\@ne fancyhdr.sty
+\ifeof\@ne \else \have@fancyhdrtrue \fi
+\closein\@ne \relax
+\ifhave@fancyhdr
+ \RequirePackage{fancyhdr}
+ % Define primitive counters
+ \newcount\thumbchap
+ \newcount\thumbHskip
+ % Define lengths
+ \setlength{\unitlength}{1sp}
+ \newlength{\thumbheight}
+ \newlength{\thumbwidth}
+ \newlength{\thumbskip}
+ \newlength{\overviewskip}
+ % Define counters
+ \newcounter{thumbheight}
+ \newcounter{thumbwidth}
+ \newcounter{lthumbskip}
+ \newcounter{rthumbskip}
+ \newcounter{overviewskip}
+ % the height of the thumbs
+ \setlength{\thumbheight}{1cm}
+ % the width of the thumbs
+ \newdimen\thumbtmp
+ \thumbtmp\paperwidth
+ \advance\thumbtmp-\textwidth
+ \divide\thumbtmp2
+ \setlength{\thumbwidth}{\thumbtmp}
+ % the skip of the overview titles
+ \thumbtmp\textwidth
+ \divide\thumbtmp2
+ \setlength{\overviewskip}{\thumbtmp}
+ % Set counters
+ \AtBeginDocument{
+ \setcounter{thumbheight}{\thumbheight}
+ \setcounter{thumbwidth}{\thumbwidth}
+ \setcounter{overviewskip}{\overviewskip}
+ }
+ \renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{thumbplain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+ \def\@chapter[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}#1}%
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi
+ \relax
+ \ifOverview
+ \def\ovrout{\noexpand\secname{\@arabic\c@chapter}{#2}{\thepage}}
+ \immediate\write\thumbovr{\ovrout}
+ \fi
+ \advance\thumbchap1
+ \ifx\thumbmini\undefined
+ \else
+ \minitoc
+ \fi
+ }
+ \ifx\prefacename\undefined
+ \newcommand{\Prefacename}{Preface}
+ \else
+ \newcommand{\Prefacename}{\prefacename}
+ \fi
+ \newif\ifPreface
+ \Prefacefalse
+ \newcommand{\preface}[1][\Prefacename]{%
+ \Prefacetrue
+ \cleardoublepage
+ \thispagestyle{thumbplain}
+ \addcontentsline{toc}{chapter}{#1}%
+ \chaptermark{#1}%
+ \vspace*{50\p@}%
+ \if@twocolumn
+ \@topnewpage[{\Huge \bfseries #1}]%
+ \else
+ {
+ \interlinepenalty\@M
+ \Huge \bfseries #1
+ \par\nobreak
+ \vskip 40\p@
+ }
+ \@afterheading
+ \fi
+ \relax
+ \renewcommand{\Overviewname}{#1}
+ \newcount\tempa
+ \tempa\thepage
+ \newcommand{\Overviewpage}{\the\tempa}
+ }
+ \DeclareOption{minitoc}{
+ \newif\ifhave@minitoc
+ \openin\@ne minitoc.sty
+ \ifeof\@ne \else \have@minitoctrue \fi
+ \closein\@ne \relax
+ \ifhave@minitoc
+ \def\thumbmini{}
+ \else
+ \PackageWarning{thumb}{style `minitoc^^b4 not avaliable \return
+ option `minitoc' will not be used}
+ \fi
+ }
+ \newcommand{\thumbfilledbox}{%
+ \thumbtmp\paperwidth
+ \advance\thumbtmp-\textwidth
+ \divide\thumbtmp2
+ \divide\thumbtmp3
+ \setlength{\thumbskip}{\thumbtmp}
+ \typeout{Expect some overfull hbox'es in the overview page}
+ \AtBeginDocument{
+ \setcounter{lthumbskip}{\thumbskip}
+ \setcounter{rthumbskip}{\thumbskip}
+ \addtocounter{lthumbskip}{\value{thumbwidth}}
+ }
+ \def\rthumb{%
+ \thumbHskip\thumbchap
+ \multiply\thumbHskip\value{thumbhskip}
+ \begin{picture}(0,0)
+ \put(\value{rthumbskip},-\the\thumbHskip){
+ \rule{\thumbwidth}{\thumbheight}}
+ \end{picture}
+ }
+ \def\lthumb{%
+ \thumbHskip\thumbchap
+ \multiply\thumbHskip\value{thumbhskip}
+ \begin{picture}(0,0)
+ \put(-\value{lthumbskip},-\the\thumbHskip){
+ \rule{\thumbwidth}{\thumbheight}}
+ \end{picture}
+ }
+ \def\ovrthumb{%
+ \hspace{\thumbskip}\rule{\thumbwidth}{\thumbheight}
+ }
+ }
+ \newcommand{\thumbbox}{
+ \thumbtmp\paperwidth
+ \advance\thumbtmp-\textwidth
+ \divide\thumbtmp6
+ \setlength{\thumbskip}{\thumbtmp}
+ \typeout{Expect some overfull hbox'es in the overvew page}
+ \AtBeginDocument{
+ \setcounter{rthumbskip}{\thumbskip}
+ \setcounter{lthumbskip}{\thumbtmp}
+ \newcounter{thumbovrwidth}
+ \setcounter{thumbovrwidth}{\value{overviewskip}}
+ \addtocounter{thumbovrwidth}{\value{overviewskip}}
+ }
+ \def\rthumb{%
+ \thumbHskip\thumbchap
+ \multiply\thumbHskip\value{thumbhskip}
+ \begin{picture}(0,0)
+ \put(\value{rthumbskip},-\the\thumbHskip){
+ \framebox(\value{thumbwidth},\value{thumbheight})}
+ \end{picture}
+ }
+ \def\lthumb{%
+ \thumbHskip\thumbchap
+ \multiply\thumbHskip\value{thumbhskip}
+ \advance\thumbHskip-\value{thumbheight}
+ \begin{picture}(0,0)
+ \put(-\value{rthumbskip},-\the\thumbHskip)
+ {\line(-1,0){\value{thumbwidth}}}
+ \put(-\value{lthumbskip},-\the\thumbHskip){%
+ \line(0,-1){\value{thumbheight}}}
+ \advance\thumbHskip\value{thumbheight}
+ \put(-\value{rthumbskip},-\the\thumbHskip)
+ {\line(-1,0){\value{thumbwidth}}}
+ \end{picture}
+ }
+ \def\ovrthumb{%
+ \hspace{-\overviewskip}\hspace{-2em}\raisebox{-2ex}{
+ \framebox(\value{thumbovrwidth},\value{thumbheight})}
+ }
+ }
+ \newcommand{\thumbfilledoval}{
+ \thumbtmp\paperwidth
+ \advance\thumbtmp-\textwidth
+ \divide\thumbtmp6
+ \setlength{\thumbskip}{\thumbtmp}
+ \setlength{\thumbheight}{983025sp}
+ \typeout{Expect some overfull hbox'es in the overvew page}
+ \AtBeginDocument{
+ \setcounter{rthumbskip}{\thumbskip}
+ \setcounter{lthumbskip}{\thumbtmp}
+ \addtocounter{lthumbskip}{\value{thumbwidth}}
+ }
+ \def\rthumb{%
+ \thumbHskip\thumbchap
+ \multiply\thumbHskip\value{thumbhskip}
+ \begin{picture}(0,0)
+ \thicklines
+ \put(\value{rthumbskip},-\the\thumbHskip){
+ \circle*{983025}}
+ \advance\thumbHskip491513
+ \put(\value{rthumbskip},-\the\thumbHskip){
+ \rule{\thumbwidth}{\thumbheight}}
+ \end{picture}
+ }
+ \def\lthumb{%
+ \thumbHskip\thumbchap
+ \multiply\thumbHskip\value{thumbhskip}
+ \begin{picture}(0,0)
+ \thicklines
+ \put(-\value{rthumbskip},-\the\thumbHskip){
+ \circle*{983025}}
+ \advance\thumbHskip491513
+ \put(-\value{lthumbskip},-\the\thumbHskip){
+ \rule{\thumbwidth}{\thumbheight}}
+ \end{picture}
+ }
+ \def\ovrthumb{%
+ \thumbHskip\thumbchap
+ \multiply\thumbHskip\value{thumbhskip}
+ \begin{picture}(0,0)
+ \thicklines
+ \put(\value{rthumbskip},-\the\thumbHskip){
+ \circle*{983025}}
+ \advance\thumbHskip491513
+ \put(\value{rthumbskip},-\the\thumbHskip){
+ \rule{\thumbwidth}{\thumbheight}}
+ \end{picture}
+ }
+ \def\HOLD{}
+ }
+ \newcommand{\thumboval}{
+ \thumbtmp\paperwidth
+ \advance\thumbtmp-\textwidth
+ \divide\thumbtmp6
+ \multiply\thumbtmp2
+ \setlength{\thumbskip}{\thumbtmp}
+ \AtBeginDocument{
+ \setcounter{rthumbskip}{\thumbskip}
+ \newcounter{thumbovrwidth}
+ \setcounter{thumbovrwidth}{\value{overviewskip}}
+ \addtocounter{thumbovrwidth}{\value{overviewskip}}
+ }
+ \def\rthumb{%
+ \thumbHskip\thumbchap
+ \multiply\thumbHskip\value{thumbhskip}
+ \begin{picture}(0,0)
+ \thicklines
+ \put(\value{rthumbskip},-\the\thumbHskip)
+ {\oval(\value{thumbwidth},\value{thumbheight})}
+ \put(\value{rthumbskip},-\the\thumbHskip)
+ {\usebox{\ovalmark}}
+ \end{picture}
+ }
+ \def\lthumb{%
+ \thumbHskip\thumbchap
+ \multiply\thumbHskip\value{thumbhskip}
+ \begin{picture}(0,0)
+ \thicklines
+ \put(-\value{rthumbskip},-\the\thumbHskip)
+ {\oval(\value{thumbwidth},\value{thumbheight})}
+ \put(-\value{rthumbskip},-\the\thumbHskip)
+ {\usebox{\ovalmark}}
+ \end{picture}
+ }
+ \def\ovrthumb{%
+ \hspace{-2em}\oval(\value{thumbovrwidth},\value{thumbheight})
+ }
+ }
+ \DeclareOption{filledbox}{%
+ \thumbfilledbox{}
+ }
+ \DeclareOption{box}{
+ \thumbbox{}
+ }
+ \DeclareOption{filledoval}{
+ \thumbfilledoval{}
+ }
+ \DeclareOption{oval}{
+ \thumboval{}
+ }
+ \DeclareOption*{\PackageWarning{thumb}{Unkown option: `\CurrentOption'}}
+ \ExecuteOptions{filledbox}
+ \ProcessOptions\relax
+ \newcommand{\thumbheaderfont}{\small\sl}
+ \newcommand{\Overviewtitlefont}{\sf\LARGE}
+ \let\Overviewauthorfont\Overviewtitlefont
+ \let\Overviewdatefont\Overviewtitlefont
+ \newcommand{\thumbtitlefont}{}
+ \newcommand{\thumbauthorfont}{}
+ \newcommand{\thumbdatefont}{}
+ \newsavebox{\thumbtitle}
+ \newsavebox{\thumbauthor}
+ \newsavebox{\thumbdate}
+ \newsavebox{\Overviewtitle}
+ \AtBeginDocument{
+ \let\tmptitlefont\thumbtitlefont
+ \let\thumbtitlefont\relax
+ \let\tmpauthorfont\thumbauthorfont
+ \let\thumbauthorfont\relax
+ \let\tmpdatefont\thumbdatefont
+ \let\thumbdatefont\relax
+ \let\tmpand\and
+ \let\and\par
+ \savebox{\thumbtitle}
+ {{\thumbheaderfont\@title}}
+ \begin{lrbox}{\Overviewtitle}
+ \begin{minipage}[c]{0.4\textwidth}
+ \Overviewtitlefont\@title\newline
+ \Overviewauthorfont\@author\newline
+ \Overviewdatefont\@date\newline
+ \end{minipage}
+ \end{lrbox}
+ \let\thumbtitlefont\tmptitlefont
+ \let\thumbauthorfont\tmpauthorfont
+ \let\thumbdatefont\tmpdatefont
+ \let\and\tmpand
+ \markboth{\usebox{\thumbtitle}}{\usebox{\thumbtitle}}
+ \renewcommand{\chaptermark}[1]{
+ \markboth{{\small #1}}{\usebox{\thumbtitle}}
+ }
+ \renewcommand{\sectionmark}[1]{
+ \markboth{{\small #1}}{\usebox{\thumbtitle}}
+ }
+ \renewcommand{\subsectionmark}[1]{
+ \markboth{{\small #1}}{\usebox{\thumbtitle}}
+ }
+ }
+ \newif\ifAppendix
+ \Appendixfalse
+ \newcounter{appendix}
+ \setcounter{appendix}{0}
+ \renewcommand\appendix{\par
+ \setcounter{appendix}{\value{chapter}}
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \renewcommand\chaptername{\appendixname}%
+ \renewcommand\thechapter{\Alph{chapter}}
+ \ifOverview
+ \immediate\write\thumbovr{\noexpand\Appendixtrue}
+ \fi
+ }
+ \ifx\thumbmini\undefined
+ \else
+ \RequirePackage{minitoc}
+ \setcounter{tocdepth}{0}
+ \def\contentsname{Short Table of Contents}%
+ \AtBeginDocument{\dominitoc}
+ \renewcommand*\l@figure{\@dottedtocline{-1}{1.5em}{2.3em}}
+ \let\l@table\l@figure
+ \fi
+ \newlength{\thumbspace}
+ \settowidth{\thumbspace}{9}
+ \newcommand{\thumbsecnum}{
+ \ifnum\value{chapter}=0
+ \else
+ \ifnum\value{section}=0
+ \thechapter
+ \else
+ \ifnum\value{subsection}=0
+ \thesection
+ \else
+ \thesubsection
+ \fi
+ \fi
+ \fi
+ }
+ \fancypagestyle{thumbnormal}{
+ \fancyhf{}
+ \renewcommand{\footrulewidth}{\headrulewidth}
+ \fancyfoot[LO]{}
+ \fancyfoot[CO]{}
+ \fancyfoot[RO]{\thepage}
+ \fancyfoot[LE]{\thepage}
+ \fancyfoot[CE]{}
+ \fancyfoot[RE]{}
+ \fancyhead[LO]{}
+ \fancyhead[CO]{\small\leftmark}
+ \fancyhead[RO]{\thumbsecnum\rthumb}
+ \fancyhead[LE]{\lthumb\thumbsecnum}
+ \fancyhead[CE]{\small\rightmark}
+ \fancyhead[RE]{}
+ }
+ \pagestyle{thumbnormal}
+ \fancypagestyle{thumbplain}{%
+ \fancyhf{}
+ \fancyfoot[C]{\thepage}
+ \fancyhead[RO]{\rthumb}
+ \fancyhead[LE]{\lthumb}
+ \renewcommand{\headrulewidth}{0pt}
+ \renewcommand{\footrulewidth}{0pt}
+ }
+ \fancypagestyle{plain}{%
+ \fancyhf{}
+ \fancyfoot[C]{}
+ \fancyhead[R]{}
+ \fancyhead[L]{}
+ \renewcommand{\headrulewidth}{0pt}
+ \renewcommand{\footrulewidth}{0pt}
+ }
+ \fancypagestyle{thumboverview}{%
+ \fancyhf{}
+ \fancyfoot[C]{}
+ \fancyfoot[R]{}
+ \fancyfoot[L]{}
+ \fancyhead[C]{}
+ \fancyhead[L]{}
+ \fancyhead[R]{\thumboverview}
+ \renewcommand{\headrulewidth}{0pt}
+ \renewcommand{\footrulewidth}{0pt}
+ }
+ \newcommand{\Overviewname}{Overview}
+ \newcommand{\Overviewfont}{\sf\Large}
+ \newcommand{\secname}[3]{%
+ \put(0,-\value{thumbline}){\ovrthumb}
+ \put(-\value{overviewskip},-\value{thumbline}){%
+ {\Overviewfont
+ \ifnum#1=0
+ #2\dotfill\ #3
+ \else
+ \setcounter{Overviewnumber}{#1}
+ \ifAppendix
+ \Alph{Overviewnumber}
+ \else
+ \arabic{Overviewnumber}
+ \fi
+ \ifnum#1>99
+ \hspace{\thumbspace}
+ \else
+ \ifnum#1>9
+ \hspace{2\thumbspace}
+ \else
+ \hspace{3\thumbspace}
+ \fi
+ \fi
+ #2\dotfill\ #3
+ \fi
+ }
+ }
+ \stepcounter{line}
+ \addtocounter{thumbline}{\value{thumbhskip}}
+ }
+ \newcommand{\thumboverview}{%
+ \begin{picture}(0,0)
+ \IfFileExists{\jobname.ovr}{%
+ \noindent
+ \input{\jobname.ovr}
+ }
+ {
+ \PackageWarning{thumb}{I couldn't finde \jobname.ovr}
+ \AtEndDocument{
+ \typeout{``thumbs'' set, please run LaTeX again}
+ }
+ }
+ \end{picture}
+ }
+ \newcounter{thumbhskip}
+ \AtBeginDocument{
+ \setcounter{thumbhskip}{\value{thumbheight}}
+ }
+ \newcounter{Overviewnumber}
+ \newcounter{line}
+ \newcounter{thumbline}
+ \newif\ifOverview
+ \Overviewfalse
+ \newcommand{\OverviewPage}{%
+ \Overviewtrue
+ \setcounter{thumbhskip}{0}
+ \newwrite\thumbovr
+ \cleardoublepage
+ \thispagestyle{thumboverview}
+ \ifPreface
+ \else
+ \newcommand{\Overviewpage}{\thepage}
+ \fi
+ \vfill
+ \usebox{\Overviewtitle}
+ \vfill
+ \AtEndDocument{
+ \closeout\thumbovr
+ \typeout{(\jobname.ovr)}
+ }
+ \cleardoublepage
+ \immediate\openout\thumbovr=\jobname.ovr
+ \newdimen\tempa
+ \tempa\textheight
+ \ifnum\value{line}>0
+ \divide\tempa\value{line}
+ \thumbtmp\value{thumbhskip}sp
+ \multiply\thumbtmp\value{line}
+ \ifdim\thumbtmp>\textheight
+ \PackageError{thumb}{The total height of the thumbs is larger
+ then the text}{Go on now, but correct the mistake afterwards}
+ \fi
+ \else
+ \divide\tempa10
+ \AtEndDocument{
+ \typeout{``thumbs'' not set right, please run LaTeX again}
+ }
+ \fi
+ \newcounter{thumbtmp}
+ \setcounter{thumbtmp}{\tempa}
+ \immediate\write\thumbovr{\noexpand\setcounter{thumbhskip}{\thethumbtmp}}
+ \def\ovrout{
+ \noexpand\secname{0}{\noexpand\Overviewfont\noexpand\Overviewname}
+ {\noexpand\Overviewpage}
+ }
+ \immediate\write\thumbovr{\ovrout}
+ }
+\else
+ \PackageWarning{thumb}{style `fancyhdr^^b4 not avaliable \return
+ style `thumb' will not be used}
+\fi
+\endinput
+%%
+%% End of file `thumb.sty'.