diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-13 00:09:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-13 00:09:06 +0000 |
commit | de8bd9678de18160b90c38fd45d44c597c1366d7 (patch) | |
tree | 94903e3834696de947e5bf8b21fdef9ffa11ca47 /Master | |
parent | cb9c91d599684c44c32cc72f39ecb35c64a9b5db (diff) |
thumb
git-svn-id: svn://tug.org/texlive/trunk@1386 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/tex/latex/thumb/thumb.sty | 561 |
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'. |