From 287d865990e5823a75263a98624f9f4bd89192a4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 9 Mar 2014 21:30:19 +0000 Subject: thumbs (9mar14) git-svn-id: svn://tug.org/texlive/trunk@33134 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/thumbs/README | 38 +- .../texmf-dist/doc/latex/thumbs/thumbs-example.pdf | Bin 182911 -> 184988 bytes .../texmf-dist/doc/latex/thumbs/thumbs-example.tex | 49 +- Master/texmf-dist/doc/latex/thumbs/thumbs.pdf | Bin 506898 -> 531804 bytes Master/texmf-dist/source/latex/thumbs/thumbs.drv | 17 +- Master/texmf-dist/source/latex/thumbs/thumbs.dtx | 796 ++++++++++++++------- Master/texmf-dist/source/latex/thumbs/thumbs.ins | 20 +- Master/texmf-dist/tex/latex/thumbs/thumbs.sty | 376 +++++++--- 8 files changed, 883 insertions(+), 413 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/thumbs/README b/Master/texmf-dist/doc/latex/thumbs/README index 63a87415a43..e2bfce1c256 100644 --- a/Master/texmf-dist/doc/latex/thumbs/README +++ b/Master/texmf-dist/doc/latex/thumbs/README @@ -1,4 +1,4 @@ -README for thumbs package, 2012/02/25, v1.0n +README for thumbs package, 2014/03/09, v1.0q TABLE OF CONTENTS @@ -27,17 +27,16 @@ appears, and the thumb mark itself at the respective position. The thumb marks are probably useful for documents, where a quick and easy way to find e.g. a chapter is needed, for example in reference guides, anthologies, or quite -large documents. -This material is subject to the LaTeX Project Public License -(LPPL). See http://www.ctan.org/tex-archive/help/Catalogue/ -licenses.lppl.html for the details of that license. +large documents. This material is subject to +the LaTeX Project Public License (LPPL1.3). +See http://www.ctan.org/license/lppl1.3 for the details. 2 DOWNLOAD ========== `thumbs' is available on CTAN: - CTAN:macros/latex/contrib/thumbs/ +http://www.ctan.org/pkg/thumbs Running tex thumbs.dtx @@ -49,17 +48,8 @@ Also a ZIP file is provided that contains these files, the manual (thumbs.pdf), the compiled example (thumbs-example.pdf), and this README, already sorted in a TDS tree: - CTAN:install/macros/latex/contrib/thumbs.tds.zip - -`CTAN:' means one of the `Comprehensive TeX Archive Network' -nodes or one of its mirrors. This is explained in - http://www.tex.ac.uk/cgi-bin/texfaq2html?label=archives - -The CTAN stuff will be mirrored automatically from the -ftp server, so - ftp://ftp.tug.org/pub/tex/thumbs/ -corresponds to - CTAN:macros/latex/contrib/thumbs/ +http://mirrors.ctan.org/install/macros/latex/ +contrib/thumbs.tds.zip 3 INSTALLATION @@ -70,7 +60,8 @@ Installation with ZIP file in TDS format The ZIP file `thumbs.tds.zip' contains the files sorted in a TDS tree. Thus you can directly unpack the ZIP file inside a TDS tree. -(See CTAN:tds.zip for an explanation of TDS.) +See http://www.ctan.org/TDS-guidelines for an explanation +of TDS. Example: cd /...somewhere.../texmf unzip /...downloadpath.../thumbs.tds.zip @@ -165,4 +156,13 @@ Bug reports can be send to the maintainer: 8 KNOWN PROBLEMS ================= -* as yet: none. \ No newline at end of file +* When the text for a thumb mark is too wide, +the text is either split over two lines or is written over +the border of the thumb mark. When the text is too wide for +the thumb mark and cannot be split, LaTeX might nevertheless +place the text into the next line. By this the text is +placed too low. Please see the example file for information +about possible solutions. + +* Right-to-left-writing with Polyglossary is probably +not compatible with thumbs. diff --git a/Master/texmf-dist/doc/latex/thumbs/thumbs-example.pdf b/Master/texmf-dist/doc/latex/thumbs/thumbs-example.pdf index 5e23c97a14a..2ec329741f3 100644 Binary files a/Master/texmf-dist/doc/latex/thumbs/thumbs-example.pdf and b/Master/texmf-dist/doc/latex/thumbs/thumbs-example.pdf differ diff --git a/Master/texmf-dist/doc/latex/thumbs/thumbs-example.tex b/Master/texmf-dist/doc/latex/thumbs/thumbs-example.tex index 919219edc23..84b64f30cd6 100644 --- a/Master/texmf-dist/doc/latex/thumbs/thumbs-example.tex +++ b/Master/texmf-dist/doc/latex/thumbs/thumbs-example.tex @@ -9,9 +9,9 @@ %% This is a generated file. %% %% Project: thumbs -%% Version: 2012/02/25 v1.0n +%% Version: 2014/03/09 v1.0q %% -%% Copyright (C) 2010 - 2012 by +%% Copyright (C) 2010 - 2014 by %% H.-Martin M"unch %% %% The usual disclaimer applies: @@ -35,22 +35,13 @@ %% %% This work consists of the main source file thumbs.dtx, %% the README, and the derived files -%% thumbs.sty, thumbs.pdf, thumbs.ins, thumbs.drv, +%% thumbs.sty, thumbs.pdf, +%% thumbs.ins, thumbs.drv, %% thumbs-example.tex, thumbs-example.pdf. %% +%% In memoriam Tommy Muench + 2014/01/02. +%% \documentclass[twoside,british]{article}[2007/10/19]% v1.4h -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% When compiling with SWP 5.50. Build 2960 % -%% (copyright MacKichan Software, Inc.), % -%% this is additionally needed: % -%% \usepackage[T1]{fontenc} % -%% \usepackage{amsfonts} % -%% \usepackage[math]{cellspace} % -%% \usepackage{xcolor} % -%% \pagecolor{white} % -%% \providecommand{\QTO}[2]{#2} % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \usepackage{lipsum}[2011/04/14]% v1.2 \usepackage{eurosym}[1998/08/06]% v1.1 \usepackage[extension=pdf,% @@ -63,11 +54,13 @@ pdfsubject={Example for the thumbs package},% pdfkeywords={LaTeX, thumbs, thumb marks, H.-Martin Muench},% pdfview=Fit,pdfstartview=Fit,% - linktoc=all]{hyperref}[2012/02/06]% v6.82o + linktoc=all]{hyperref}[2012/11/06]% v6.83m \usepackage[thumblink=rule,linefill=dots,height={auto},minheight={47pt},% width={auto},distance={2mm},topthumbmargin={auto},bottomthumbmargin={auto},% + eventxtindent={5pt},oddtxtexdent={5pt},% + evenmarkindent={0pt},oddmarkexdent={0pt},evenprintvoffset={0pt},% nophantomsection=false,ignorehoffset=true,ignorevoffset=true,final=true,% - hidethumbs=false,verbose=true]{thumbs}[2012/02/25]% v1.0n + hidethumbs=false,verbose=true]{thumbs}[2014/03/09]% v1.0q \nopagecolor% use \pagecolor{white} if \nopagecolor does not work \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}} \makeatletter @@ -84,11 +77,14 @@ \markboth{Example for thumbs}{Example for thumbs} This example demonstrates the most common uses of package -\textsf{thumbs}, v1.0n as of 2012/02/25 (HMM). +\textsf{thumbs}, v1.0q as of 2014/03/09 (HMM). The used options were \texttt{thumblink=rule}, \texttt{linefill=dots}, \texttt{height=auto}, \texttt{minheight=\{47pt\}}, \texttt{width={auto}}, \texttt{distance=\{2mm\}}, \newline \texttt{topthumbmargin=\{auto\}}, \texttt{bottomthumbmargin=\{auto\}}, \newline +\texttt{eventxtindent=\{5pt\}}, \texttt{oddtxtexdent=\{5pt\}}, +\texttt{evenmarkindent=\{0pt\}}, \texttt{oddmarkexdent=\{0pt\}}, +\texttt{evenprintvoffset=\{0pt\}}, \texttt{nophantomsection=false}, \texttt{ignorehoffset=true}, \texttt{ignorevoffset=true}, \newline \texttt{final=true},\texttt{hidethumbs=false}, and \texttt{verbose=true}. @@ -115,10 +111,11 @@ Better exclude it from printing\ldots \newline} \bigskip -Some thumb mark texts are too large for the thumb mark (especially when the -paper size and therefore also the thumb mark size is decreased). -When option \texttt{width=\{autoauto\}} would be used, +Some thumb mark texts are too large for the thumb mark by intention +(especially when the paper size and therefore also the thumb mark size +is decreased). When option \texttt{width=\{autoauto\}} would be used, the thumb mark width would be automatically increased. +Please see page~\pageref{HugeText} for details! \bigskip @@ -284,9 +281,15 @@ and another. \textquotedblleft {\Huge{Huge Text}}\textquotedblright\ is too large for the thumb mark. When option \texttt{width=\{autoauto\}} would be used, the thumb mark width would be automatically increased. Now the text is -either split over two lines (use \verb|Huge\\ \ Text| for better format) +either split over two lines (try \verb|Huge\\ \ Text| for another format) or (in case \verb|Huge~Text| is used) is written over the border of the -thumb mark.\label{HugeText} +thumb mark. When the text is too wide for the thumb mark and cannot +be split, \LaTeX{} might nevertheless place the text into the next line. +By this the text is placed too low. Adding a +\hbox{\verb|\protect\vspace*{-| some lenght \verb|}|} to the text could help, +for example\\ +\verb|\addthumb{Huge Text}{\protect\vspace*{-3pt}\Huge{Huge~Text}}...|. +\label{HugeText} \addthumb{Huge Text}{\Huge{Huge~Text}}{red}{blue} diff --git a/Master/texmf-dist/doc/latex/thumbs/thumbs.pdf b/Master/texmf-dist/doc/latex/thumbs/thumbs.pdf index 80d06ef08a8..9aadb33a694 100644 Binary files a/Master/texmf-dist/doc/latex/thumbs/thumbs.pdf and b/Master/texmf-dist/doc/latex/thumbs/thumbs.pdf differ diff --git a/Master/texmf-dist/source/latex/thumbs/thumbs.drv b/Master/texmf-dist/source/latex/thumbs/thumbs.drv index 9f57ea4edf6..28692c72c99 100644 --- a/Master/texmf-dist/source/latex/thumbs/thumbs.drv +++ b/Master/texmf-dist/source/latex/thumbs/thumbs.drv @@ -9,9 +9,9 @@ %% This is a generated file. %% %% Project: thumbs -%% Version: 2012/02/25 v1.0n +%% Version: 2014/03/09 v1.0q %% -%% Copyright (C) 2010 - 2012 by +%% Copyright (C) 2010 - 2014 by %% H.-Martin M"unch %% %% The usual disclaimer applies: @@ -35,16 +35,19 @@ %% %% This work consists of the main source file thumbs.dtx, %% the README, and the derived files -%% thumbs.sty, thumbs.pdf, thumbs.ins, thumbs.drv, +%% thumbs.sty, thumbs.pdf, +%% thumbs.ins, thumbs.drv, %% thumbs-example.tex, thumbs-example.pdf. %% +%% In memoriam Tommy Muench + 2014/01/02. +%% \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesFile{thumbs.drv}% - [2012/02/25 v1.0n Thumb marks and overview page(s) (HMM)] -\documentclass[landscape]{ltxdoc}[2007/11/11]% v2.0u + [2014/03/09 v1.0q Thumb marks and overview page(s) (HMM)] +\documentclass[landscape]{ltxdoc}[2007/11/11]% v2.0u \usepackage[maxfloats=20]{morefloats}[2012/01/28]% v1.0f -\usepackage{geometry}[2010/09/12]% v5.6 -\usepackage{holtxdoc}[2011/02/04]% v0.21 +\usepackage{geometry}[2010/09/12]% v5.6 +\usepackage{holtxdoc}[2012/03/21]% v0.24 %% thumbs may work with earlier versions of LaTeX2e and those %% class and packages, but this was not tested. %% Please consider updating your LaTeX, class, and packages diff --git a/Master/texmf-dist/source/latex/thumbs/thumbs.dtx b/Master/texmf-dist/source/latex/thumbs/thumbs.dtx index a8c43c28c3e..3039f0d310b 100644 --- a/Master/texmf-dist/source/latex/thumbs/thumbs.dtx +++ b/Master/texmf-dist/source/latex/thumbs/thumbs.dtx @@ -1,37 +1,31 @@ % \iffalse meta-comment % % File: thumbs.dtx -% Version: 2012/02/25 v1.0n +% Version: 2014/03/09 v1.0q % -% Copyright (C) 2010 - 2012 by +% Copyright (C) 2010 - 2014 by % H.-Martin M"unch % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3c of this license or (at your option) any later -% version. This version of this license is in -% http://www.latex-project.org/lppl/lppl-1-3c.txt -% and the latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of -% LaTeX version 2005/12/01 or later. +% version. See http://www.ctan.org/license/lppl1.3 for the details. % % This work has the LPPL maintenance status "maintained". -% % The Current Maintainer of this work is H.-Martin Muench. % % This work consists of the main source file thumbs.dtx, % the README, and the derived files -% thumbs.sty, thumbs.pdf, thumbs.ins, thumbs.drv, +% thumbs.sty, thumbs.pdf, +% thumbs.ins, thumbs.drv, % thumbs-example.tex, thumbs-example.pdf. % % Distribution: -% CTAN:macros/latex/contrib/thumbs/thumbs.dtx -% CTAN:macros/latex/contrib/thumbs/thumbs.pdf -% CTAN:install/macros/latex/contrib/thumbs.tds.zip +% http://mirror.ctan.org/macros/latex/contrib/thumbs/thumbs.dtx +% http://mirror.ctan.org/macros/latex/contrib/thumbs/thumbs.pdf +% http://mirror.ctan.org/install/macros/latex/contrib/thumbs.tds.zip % -% Cf. http://ctan.org/pkg/thumbs and -% http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/thumbs.html +% see http://www.ctan.org/pkg/thumbs (catalogue) % % Unpacking: % (a) If thumbs.ins is present: @@ -83,7 +77,7 @@ \input docstrip.tex \Msg{**************************************************************************} \Msg{* Installation *} -\Msg{* Package: thumbs 2012/02/25 v1.0n Thumb marks and overview page(s) (HMM)*} +\Msg{* Package: thumbs 2014/03/09 v1.0q Thumb marks and overview page(s) (HMM)*} \Msg{**************************************************************************} \keepsilent @@ -95,9 +89,9 @@ This is a generated file. Project: thumbs -Version: 2012/02/25 v1.0n +Version: 2014/03/09 v1.0q -Copyright (C) 2010 - 2012 by +Copyright (C) 2010 - 2014 by H.-Martin M"unch The usual disclaimer applies: @@ -121,9 +115,12 @@ The Current Maintainer of this work is H.-Martin Muench. This work consists of the main source file thumbs.dtx, the README, and the derived files - thumbs.sty, thumbs.pdf, thumbs.ins, thumbs.drv, + thumbs.sty, thumbs.pdf, + thumbs.ins, thumbs.drv, thumbs-example.tex, thumbs-example.pdf. +In memoriam Tommy Muench + 2014/01/02. + \endpreamble \let\MetaPrefix\DoubleperCent @@ -179,11 +176,11 @@ the README, and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesFile{thumbs.drv}% - [2012/02/25 v1.0n Thumb marks and overview page(s) (HMM)] -\documentclass[landscape]{ltxdoc}[2007/11/11]% v2.0u + [2014/03/09 v1.0q Thumb marks and overview page(s) (HMM)] +\documentclass[landscape]{ltxdoc}[2007/11/11]% v2.0u \usepackage[maxfloats=20]{morefloats}[2012/01/28]% v1.0f -\usepackage{geometry}[2010/09/12]% v5.6 -\usepackage{holtxdoc}[2011/02/04]% v0.21 +\usepackage{geometry}[2010/09/12]% v5.6 +\usepackage{holtxdoc}[2012/03/21]% v0.24 %% thumbs may work with earlier versions of LaTeX2e and those %% class and packages, but this was not tested. %% Please consider updating your LaTeX, class, and packages @@ -217,7 +214,7 @@ the README, and the derived files % % \fi % -% \CheckSum{2458} +% \CheckSum{2779} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -273,13 +270,13 @@ the README, and the derived files % \DoNotIndex{\hspace,\thepage,\do,\empty,\ss} % % \title{The \xpackage{thumbs} package} -% \date{2012/02/25 v1.0n} +% \date{2014/03/09 v1.0q} % \author{H.-Martin M\"{u}nch\\\xemail{Martin.Muench at Uni-Bonn.de}} % % \maketitle % % \begin{abstract} -% This \LaTeX2e{} package allows to create one or more customizable thumb index(es), +% This \LaTeX{} package allows to create one or more customizable thumb index(es), % providing a quick and easy reference method for large documents. % It must be loaded after the page size has been set, % when printing the document \textquotedblleft shrink to @@ -309,7 +306,7 @@ the README, and the derived files % \newpage % % \section{Introduction} -% \indent This package puts running, customizable thumb marks in the outer +% \indent This \LaTeX{} package puts running, customizable thumb marks in the outer % margin, moving downward as the chapter number (or whatever shall be marked % by the thumb marks) increases. Additionally an overview page/table of thumb % marks can be added automatically, which gives the respective names of the @@ -432,6 +429,57 @@ the README, and the derived files % |-\th@mbheighty|.\\ % Dimensions (e.\,g. $1\unit{cm}$) are also accepted. % +% \subsubsection{eventxtindent\label{sss:eventxtindent}} +% \DescribeMacro{eventxtindent} +% \indent Option |eventxtindent| expects a dimension (default value: $5\unit{pt}$, +% negative values are possible, of course), +% by which the text inside of thumb marks on even pages is moved away from the +% page edge, i.e. to the right. Probably using the same or at least a similar value +% as for option |oddtxtexdent| makes sense. +% +% \subsubsection{oddtxtexdent\label{sss:oddtxtexdent}} +% \DescribeMacro{oddtxtexdent} +% \indent Option |oddtxtexdent| expects a dimension (default value: $5\unit{pt}$, +% negative values are possible, of course), +% by which the text inside of thumb marks on odd pages is moved away from the +% page edge, i.e. to the left. Probably using the same or at least a similar value +% as for option |eventxtindent| makes sense. +% +% \subsubsection{evenmarkindent\label{sss:evenmarkindent}} +% \DescribeMacro{evenmarkindent} +% \indent Option |evenmarkindent| expects a dimension (default value: $0\unit{pt}$, +% negative values are possible, of course), +% by which the thumb marks (background and text) on even pages are moved away from the +% page edge, i.e. to the right. This might be usefull when the paper, +% onto which the document is printed, is later cut to another format. +% Probably using the same or at least a similar value as for option |oddmarkexdent| +% makes sense. +% +% \subsubsection{oddmarkexdent\label{sss:oddmarkexdent}} +% \DescribeMacro{oddmarkexdent} +% \indent Option |oddmarkexdent| expects a dimension (default value: $0\unit{pt}$, +% negative values are possible, of course), +% by which the thumb marks (background and text) on odd pages are moved away from the +% page edge, i.e. to the left. This might be usefull when the paper, +% onto which the document is printed, is later cut to another format. +% Probably using the same or at least a similar value as for option |oddmarkexdent| +% makes sense. +% +% \subsubsection{evenprintvoffset\label{sss:evenprintvoffset}} +% \DescribeMacro{evenprintvoffset} +% \indent Option |evenprintvoffset| expects a dimension (default value: $0\unit{pt}$, +% negative values are possible, of course), +% by which the thumb marks (background and text) on even pages are moved downwards. +% This might be usefull when a duplex printer shifts recto and verso pages +% against each other by some small amount, e.g. a~millimeter or two, which +% is not uncommon. Please do not use this option with another value than $0\unit{pt}$ +% for files which you submit to other persons. Their printer probably shifts the +% pages by another amount, which might even lead to increased mismatch +% if both printers shift in opposite directions. Ideally the pdf viewer +% would correct the shift depending on printer (or at least give some option +% similar to \textquotedblleft shift verso pages by +% \hbox{$x\unit{mm}$\textquotedblright{}.} +% % \subsubsection{thumblink\label{sss:thumblink}} % \DescribeMacro{thumblink} % \indent Option |thumblink| determines, what is hyperlinked at the thumb marks @@ -519,7 +567,15 @@ the README, and the derived files % Use |\pagecolor{...}| \emph{after} |\usepackage[...]{thumbs}| % and \emph{before} |\begin{document}| to define a background colour of the pages.\\ % -% \medskip +% \subsubsection{evenindent (obsolete)\label{sss:evenindent}} +% \DescribeMacro{evenindent} +% \indent Option |evenindent| is obsolete and was replaced by |eventxtindent|.\\ +% +% \subsubsection{oddexdent (obsolete)\label{sss:oddexdent}} +% \DescribeMacro{oddexdent} +% \indent Option |oddexdent| is obsolete and was replaced by |oddtxtexdent|.\\ +% +% \pagebreak % % \subsection{Commands to be used in the document} % \subsubsection{\textbackslash addthumb} @@ -676,11 +732,11 @@ the README, and the derived files % % \bigskip % -% \noindent (You programmed or found another alternative, -% which is available at \CTAN{}?\\ -% OK, send an e-mail to me with the name, location at \CTAN{}, -% and a short notice, and I will probably include it in -% the list above.) +% \noindent Newer versions might be available (and better suited). +% You programmed or found another alternative, +% which is available at \url{CTAN.org}? +% OK, send an e-mail to me with the name, location at \url{CTAN.org}, +% and a short notice, and I will probably include it in the list above. % % \newpage % @@ -689,18 +745,6 @@ the README, and the derived files % \begin{macrocode} %<*example> \documentclass[twoside,british]{article}[2007/10/19]% v1.4h -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% When compiling with SWP 5.50. Build 2960 % -%% (copyright MacKichan Software, Inc.), % -%% this is additionally needed: % -%% \usepackage[T1]{fontenc} % -%% \usepackage{amsfonts} % -%% \usepackage[math]{cellspace} % -%% \usepackage{xcolor} % -%% \pagecolor{white} % -%% \providecommand{\QTO}[2]{#2} % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \usepackage{lipsum}[2011/04/14]% v1.2 \usepackage{eurosym}[1998/08/06]% v1.1 \usepackage[extension=pdf,% @@ -713,11 +757,13 @@ the README, and the derived files pdfsubject={Example for the thumbs package},% pdfkeywords={LaTeX, thumbs, thumb marks, H.-Martin Muench},% pdfview=Fit,pdfstartview=Fit,% - linktoc=all]{hyperref}[2012/02/06]% v6.82o + linktoc=all]{hyperref}[2012/11/06]% v6.83m \usepackage[thumblink=rule,linefill=dots,height={auto},minheight={47pt},% width={auto},distance={2mm},topthumbmargin={auto},bottomthumbmargin={auto},% + eventxtindent={5pt},oddtxtexdent={5pt},% + evenmarkindent={0pt},oddmarkexdent={0pt},evenprintvoffset={0pt},% nophantomsection=false,ignorehoffset=true,ignorevoffset=true,final=true,% - hidethumbs=false,verbose=true]{thumbs}[2012/02/25]% v1.0n + hidethumbs=false,verbose=true]{thumbs}[2014/03/09]% v1.0q \nopagecolor% use \pagecolor{white} if \nopagecolor does not work \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}} \makeatletter @@ -734,11 +780,14 @@ the README, and the derived files \markboth{Example for thumbs}{Example for thumbs} This example demonstrates the most common uses of package -\textsf{thumbs}, v1.0n as of 2012/02/25 (HMM). +\textsf{thumbs}, v1.0q as of 2014/03/09 (HMM). The used options were \texttt{thumblink=rule}, \texttt{linefill=dots}, \texttt{height=auto}, \texttt{minheight=\{47pt\}}, \texttt{width={auto}}, \texttt{distance=\{2mm\}}, \newline \texttt{topthumbmargin=\{auto\}}, \texttt{bottomthumbmargin=\{auto\}}, \newline +\texttt{eventxtindent=\{5pt\}}, \texttt{oddtxtexdent=\{5pt\}}, +\texttt{evenmarkindent=\{0pt\}}, \texttt{oddmarkexdent=\{0pt\}}, +\texttt{evenprintvoffset=\{0pt\}}, \texttt{nophantomsection=false}, \texttt{ignorehoffset=true}, \texttt{ignorevoffset=true}, \newline \texttt{final=true},\texttt{hidethumbs=false}, and \texttt{verbose=true}. @@ -765,10 +814,11 @@ Better exclude it from printing\ldots \newline} \bigskip -Some thumb mark texts are too large for the thumb mark (especially when the -paper size and therefore also the thumb mark size is decreased). -When option \texttt{width=\{autoauto\}} would be used, +Some thumb mark texts are too large for the thumb mark by intention +(especially when the paper size and therefore also the thumb mark size +is decreased). When option \texttt{width=\{autoauto\}} would be used, the thumb mark width would be automatically increased. +Please see page~\pageref{HugeText} for details! \bigskip @@ -937,9 +987,15 @@ and another. \textquotedblleft {\Huge{Huge Text}}\textquotedblright\ is too large for the thumb mark. When option \texttt{width=\{autoauto\}} would be used, the thumb mark width would be automatically increased. Now the text is -either split over two lines (use \verb|Huge\\ \ Text| for better format) +either split over two lines (try \verb|Huge\\ \ Text| for another format) or (in case \verb|Huge~Text| is used) is written over the border of the -thumb mark.\label{HugeText} +thumb mark. When the text is too wide for the thumb mark and cannot +be split, \LaTeX{} might nevertheless place the text into the next line. +By this the text is placed too low. Adding a +\hbox{\verb|\protect\vspace*{-| some lenght \verb|}|} to the text could help, +for example\\ +\verb|\addthumb{Huge Text}{\protect\vspace*{-3pt}\Huge{Huge~Text}}...|. +\label{HugeText} \addthumb{Huge Text}{\Huge{Huge~Text}}{red}{blue} @@ -1141,7 +1197,7 @@ Text can be placed after any of the Tables of Thumbs, of course. % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[2011/06/27] -\ProvidesPackage{thumbs}[2012/02/25 v1.0n +\ProvidesPackage{thumbs}[2014/03/09 v1.0q Thumb marks and overview page(s) (HMM)] % \end{macrocode} @@ -1155,48 +1211,35 @@ Text can be placed after any of the Tables of Thumbs, of course. % \end{macrocode} % -% For SW(P) users, we issue a warning. Unfortunately, we cannot check for the used -% software (Can we? \xfile{tcilatex.tex} is \emph{probably} exactly there when SWP -% is used, but it \emph{could} also be there without SWP for compatibility reasons.), -% and there will be a stack overflow when using \xpackage{hyperref} +% For possible SW(P) users, we issue a warning. Unfortunately, we cannot check +% for the used software (Can we? \xfile{tcilatex.tex} is \emph{probably} exactly there +% when SW(P) is used, but it \emph{could} also be there without SW(P) for compatibility +% reasons.), and there will be a stack overflow when using \xpackage{hyperref} % even before the \xpackage{thumbs} package is loaded, thus the warning might not -% even reach the users. (Thus: Read the manual of the \xpackage{thumbs} package!) -% The options for those packages might be changed by the user~-- I~did not -% test all available options, thus first test, whether the document can be compiled -% with these options, and then try to change them according to your wishes. +% even reach the users. The options for those packages might be changed by the user~-- +% I~neither tested all available options nor the current \xpackage{thumbs} package, +% thus first test, whether the document can be compiled with these options, +% and then try to change them according to your wishes +% (\emph{or just get a current \TeX{} distribution instead!}). % % \begin{macrocode} -\IfFileExists{tcilatex.tex}{% - % Quite probably SWP/SW/SN +\IfFileExists{tcilatex.tex}{% Quite probably SWP/SW/SN \PackageWarningNoLine{thumbs}{% - When compiling with SWP 5.50 Build 2960\MessageBreak% - (copyright MacKichan Software, Inc.),\MessageBreak% - these additional packages are needed:\MessageBreak% - \string\usepackage[T1]{fontenc}\MessageBreak% - \string\usepackage{amsfonts}\MessageBreak% - \string\usepackage[math]{cellspace}\MessageBreak% - \string\usepackage{xcolor}\MessageBreak% - \string\pagecolor{white}\MessageBreak% - \string\providecommand{\string\QTO}[2]{\string##2}\MessageBreak% - especially before hyperref and thumbs,\MessageBreak% - but best right after the \string\documentclass!% - }% - }{% Probably not SWP/SW/SN - \message{^^J *** Compiling with SW(P)? ^^J% - When compiling with SWP 5.50 Build 2960^^J% - (copyright MacKichan Software, Inc.),^^J% - these additional packages are needed:^^J% - \string\usepackage[T1]{fontenc}^^J% - \string\usepackage{amsfonts}^^J% - \string\usepackage[math]{cellspace}^^J% - \string\usepackage{xcolor}^^J% - \string\pagecolor{white}^^J% - \string\providecommand{\string\QTO}[2]{\string##2}^^J% - especially before hyperref and thumbs,^^J% - but best right after the \string\documentclass!^^J% - ^^J% + When compiling with SWP 5.50 Build 2960\MessageBreak% + (copyright MacKichan Software, Inc.)\MessageBreak% + and using an older version of the thumbs package\MessageBreak% + these additional packages were needed:\MessageBreak% + \string\usepackage[T1]{fontenc}\MessageBreak% + \string\usepackage{amsfonts}\MessageBreak% + \string\usepackage[math]{cellspace}\MessageBreak% + \string\usepackage{xcolor}\MessageBreak% + \string\pagecolor{white}\MessageBreak% + \string\providecommand{\string\QTO}[2]{\string##2}\MessageBreak% + especially before hyperref and thumbs,\MessageBreak% + but best right after the \string\documentclass!% }% - } + }{% Probably not SWP/SW/SN + } % \end{macrocode} % @@ -1204,16 +1247,16 @@ Text can be placed after any of the Tables of Thumbs, of course. % package of \textsc{Heiko Oberdiek} (see subsection~\ref{ss:Downloads}): % % \begin{macrocode} -\RequirePackage{kvoptions}[2010/12/23]% v3.10 +\RequirePackage{kvoptions}[2011/06/30]% v3.11 % \end{macrocode} % % as well as some other packages: % % \begin{macrocode} -\RequirePackage{atbegshi}[2011/01/30]% v1.15 +\RequirePackage{atbegshi}[2011/10/05]% v1.16 \RequirePackage{xcolor}[2007/01/21]% v2.11 \RequirePackage{picture}[2009/10/11]% v1.3 -\RequirePackage{alphalph}[2010/04/18]% v2.3 +\RequirePackage{alphalph}[2011/05/13]% v2.4 % \end{macrocode} % % For the total number of the current page we need the \xpackage{pageslts} @@ -1221,14 +1264,12 @@ Text can be placed after any of the Tables of Thumbs, of course. % the \xpackage{undolabl} package, which is needed for |\overridelabel|: % % \begin{macrocode} -\RequirePackage{pageslts}[2011/08/08]% v1.2a +\RequirePackage{pageslts}[2014/01/19]% v1.2c \RequirePackage{pagecolor}[2012/02/23]% v1.0e \RequirePackage{rerunfilecheck}[2011/04/15]% v1.7 \RequirePackage{infwarerr}[2010/04/08]% v1.3 -\RequirePackage{ltxcmds}[2011/04/18]% v1.20 -\RequirePackage{atveryend}[2011/04/23]% v1.7 -%% \RequirePackage{atveryend}[2011/06/30]% v1.8 -%% would be needed but is currently (2012/02/25) not available at CTAN yet. +\RequirePackage{ltxcmds}[2011/11/09]% v1.22 +\RequirePackage{atveryend}[2011/06/30]% v1.8 % \end{macrocode} % % A last information for the user: @@ -1246,27 +1287,25 @@ Text can be placed after any of the Tables of Thumbs, of course. % broke the \xpackage{atveryend} package, which was then fixed. % If new \LaTeXe{} and old \xpackage{atveryend} are combined, % |\AtVeryVeryEnd| will never be called. -% |\@ifl@t@r\fmtversion| is from |\@needsf@rmat| as in\\ -% \texttt{File L: ltclass.dtx Date: 2007/08/05 Version v1.1h}, line~259,\\ -% of The \LaTeXe{} Sources\\ -% by \textsc{Johannes Braams, David Carlisle, Alan Jeffrey, Leslie Lamport,% -% Frank Mittelbach, Chris Rowley, and Rainer Sch\"{o}pf},\\ +% |\@ifl@t@r\fmtversion| is from |\@needsf@rmat| as in +% \texttt{File L: ltclass.dtx Date: 2007/08/05 Version v1.1h}, line~259, +% of The \LaTeXe{} Sources +% by \textsc{Johannes Braams, David Carlisle, Alan Jeffrey, Leslie Lamport, % +% Frank Mittelbach, Chris Rowley, and Rainer Sch\"{o}pf} % as of 2011/06/27, p.~464. % -% \pagebreak -% % \begin{macrocode} \@ifl@t@r\fmtversion{2011/06/27}% or possibly even newer {\@ifpackagelater{atveryend}{2011/06/29}% {% 2011/06/30, v1.8, or even more recent: OK }{% else: older package version, no \AtVeryVeryEnd - \PackageWarningNoLine{thumbs}{% + \PackageError{thumbs}{Outdated atveryend package version}{% LaTeX 2011/06/27 has changed \string\enddocument\space and thus broken the\MessageBreak% \string\AtVeryVeryEnd\space command/hooking of atveryend package as of\MessageBreak% - 2011/04/23, v1.7. New package version 2011/06/30, v1.8, works with\MessageBreak% + 2011/04/23, v1.7. Package versions 2011/06/30, v1.8, and later work with\MessageBreak% the new LaTeX format, but some older package version was loaded.\MessageBreak% - (As of 2012/02/25, the new version is NOT available at CTAN yet.)\MessageBreak% - For fixing this problem until the update is available,\MessageBreak% + Please update to the newer atveryend package.\MessageBreak% + For fixing this problem until the updated package is installed,\MessageBreak% \string\let\string\AtVeryVeryEnd\string\AtEndAfterFileList\MessageBreak% is used now, fingers crossed.% }% @@ -1281,9 +1320,8 @@ Text can be placed after any of the Tables of Thumbs, of course. % In this case the used \TeX{} format is outdated, but when\\ % |\NeedsTeXFormat{LaTeX2e}[2011/06/27]|\\ % is executed at the beginning of \xpackage{regstats} package, -% the appropriate warning message is issued automatically. -% (And \xpackage{thumbs} should also work with older versions, -% I~used it with a 2003/12/01 version myself.) +% the appropriate warning message is issued automatically +% (and \xpackage{thumbs} probably also works with older versions). % % \begin{macrocode} } @@ -1302,6 +1340,12 @@ Text can be placed after any of the Tables of Thumbs, of course. \DeclareStringOption{distance}[2mm] \DeclareStringOption{topthumbmargin}[auto] \DeclareStringOption{bottomthumbmargin}[auto] +\DeclareStringOption[5pt]{eventxtindent}[5pt] +\DeclareStringOption[5pt]{oddtxtexdent}[5pt] +\DeclareStringOption[0pt]{evenmarkindent}[0pt] +\DeclareStringOption[0pt]{oddmarkexdent}[0pt] +\DeclareStringOption[0pt]{evenprintvoffset}[0pt] +\DeclareBoolOption[false]{txtcentered} \DeclareBoolOption[true]{ignorehoffset} \DeclareBoolOption[true]{ignorevoffset} \DeclareBoolOption{nophantomsection}% false by default, but true if used @@ -1312,29 +1356,32 @@ Text can be placed after any of the Tables of Thumbs, of course. \DeclareBoolOption[false]{hidethumbs} % \end{macrocode} % -% \pagebreak -% -% \DescribeMacro{pagecolor} -% The |pagecolor| option is obsolete now, but for compatibility with older -% documents we still provide it at the time being (might be removed -% in future versions). +% \DescribeMacro{obsolete options} +% The options |pagecolor|, |evenindent|, and |oddexdent| are obsolete now, +% but for compatibility with older documents they are still provided +% at the time being (will be removed in some future version). % % \begin{macrocode} +%% Obsolete options: \DeclareStringOption{pagecolor} +\DeclareStringOption{evenindent} +\DeclareStringOption{oddexdent} \ProcessKeyvalOptions* % \end{macrocode} % -% We set the (background) page colour to |\thepagecolor| (from the -% \xpackage{pagecolor} package), because the \xpackage{xcolour} package needs -% a defined colour here (it~can be changed later). +% \pagebreak +% +% The (background) page colour is set to |\thepagecolor| (from the +% \xpackage{pagecolor} package), because the \xpackage{xcolour} package +% needs a defined colour here (it~can be changed later). % % \begin{macrocode} -\ifx\thumbs@pagecolor\empty% +\ifx\thumbs@pagecolor\empty\relax \pagecolor{\thepagecolor} \else - \PackageWarningNoLine{thumbs}{Option pagecolor is obsolete.\MessageBreak% + \PackageError{thumbs}{Option pagecolor is obsolete}{% Instead the pagecolor package is used.\MessageBreak% Use \string\pagecolor{...}\space after \string\usepackage[...]{thumbs}\space and\MessageBreak% before \string\begin{document}\space to define a background colour\MessageBreak% @@ -1342,6 +1389,22 @@ Text can be placed after any of the Tables of Thumbs, of course. \pagecolor{\thumbs@pagecolor} \fi +\ifx\thumbs@evenindent\empty\relax +\else + \PackageError{thumbs}{Option evenindent is obsolete}{% + Option "evenindent" was renamed to "eventxtindent",\MessageBreak% + the obsolete "evenindent" is no longer regarded.\MessageBreak% + Please change your document accordingly} +\fi + +\ifx\thumbs@oddexdent\empty\relax +\else + \PackageError{thumbs}{Option oddexdent is obsolete}{% + Option "oddexdent" was renamed to "oddtxtexdent",\MessageBreak% + the obsolete "oddexdent" is no longer regarded.\MessageBreak% + Please change your document accordingly} +\fi + % \end{macrocode} % % \DescribeMacro{ignorehoffset} @@ -1407,9 +1470,9 @@ Text can be placed after any of the Tables of Thumbs, of course. \gdef\th@mbs@linefill{\dotfill} \else \PackageError{thumbs}{Option linefill with invalid value}{% - Option linefill has value '\thumbs@linefill'.\MessageBreak% - Valid values are '' (empty), 'line', or 'dots'.\MessageBreak% - '' (empty) will be used now.\MessageBreak% + Option linefill has value "\thumbs@linefill ".\MessageBreak% + Valid values are "" (empty), "line", or "dots".\MessageBreak% + "" (empty) will be used now.\MessageBreak% } \gdef\th@mbs@linefill{\hspace*{\fill}} \fi @@ -1418,6 +1481,8 @@ Text can be placed after any of the Tables of Thumbs, of course. % \end{macrocode} % +% \pagebreak +% % We introduce new dimensions for width, height, position of and vertical distance % between the thumb marks and some helper dimensions. % @@ -1430,13 +1495,43 @@ Text can be placed after any of the Tables of Thumbs, of course. \newdimen\th@mbposx \newdimen\th@mbposy \newdimen\th@mbposyA +\newdimen\th@mbposyB \newdimen\th@mbposytop \newdimen\th@mbposybottom \newdimen\th@mbwidthxtoc +\newdimen\th@mbwidthtmp \newdimen\th@mbsposytocy \newdimen\th@mbsposytocyy -\newdimen\th@mbsdistance% vertical distance between thumb marks +% \end{macrocode} +% +% Horizontal indention of thumb marks text on odd/even pages +% according to the choosen options: +% +% \begin{macrocode} +\newdimen\th@mbHitO +\setlength{\th@mbHitO}{\thumbs@oddtxtexdent} +\newdimen\th@mbHitE +\setlength{\th@mbHitE}{\thumbs@eventxtindent} + +% \end{macrocode} +% +% Horizontal indention of whole thumb marks on odd/even pages +% according to the choosen options: +% +% \begin{macrocode} +\newdimen\th@mbHimO +\setlength{\th@mbHimO}{\thumbs@oddmarkexdent} +\newdimen\th@mbHimE +\setlength{\th@mbHimE}{\thumbs@evenmarkindent} + +% \end{macrocode} +% +% Vertical distance between thumb marks on odd/even pages +% according to the choosen option: +% +% \begin{macrocode} +\newdimen\th@mbsdistance \ifx\thumbs@distance\empty% \setlength{\th@mbsdistance}{1mm} \else @@ -1510,6 +1605,40 @@ Text can be placed after any of the Tables of Thumbs, of course. % \end{macrocode} % +% \begin{macro}{\th@mb@txtBox} +% |\th@mb@txtBox| writes its second argument (most likely |\th@mb@tmp@text|) +% in normal text size. Sometimes another text size could +% \textquotedblleft leak\textquotedblright{} from the respective page, +% |\normalsize| prevents this. If another text size is whished for, +% it can always be changed inside |\th@mb@tmp@text|. +% The colour given in the first argument (most likely |\th@mb@tmp@textcolour|) +% is used and either |\centering| (depending on the |txtcentered| option) or +% |\raggedleft| or |\raggedright| (depending on the third argument). +% The forth argument determines the width of the |\parbox|. +% +% \begin{macrocode} +\newcommand{\th@mb@txtBox}[4]{% + \parbox[c][\th@mbheighty][c]{#4}{% + \settowidth{\th@mbwidthtmp}{\normalsize #2}% + \addtolength{\th@mbwidthtmp}{-#4}% + \ifthumbs@txtcentered% + {\centering{\color{#1}\normalsize #2}}% + \else% + \def\th@mbstest{#3}% + \def\th@mbstestb{r}% + \ifx\th@mbstest\th@mbstestb% + \ifdim\th@mbwidthtmp >0sp\relax\hspace*{-\th@mbwidthtmp}\fi% + {\raggedleft\leftskip 0sp minus \textwidth{\hfill\color{#1}\normalsize{#2}}}% + \else% \th@mbstest = l + {\raggedright{\color{#1}\normalsize\hspace*{1pt}\space{#2}}}% + \fi% + \fi% + }% + } + +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\setth@mbheight} % In |\setth@mbheight| the height of a thumb mark % (for automatical thumb heights) is computed as\\ @@ -1534,6 +1663,8 @@ Text can be placed after any of the Tables of Thumbs, of course. % \end{macrocode} % \end{macro} % +% \pagebreak +% % At the beginning of the document |\AtBeginDocument| is executed. % |\th@bmshoffset| and |\th@bmsvoffset| are set again, because % |\hoffset| and |\voffset| could have been changed. @@ -1560,11 +1691,12 @@ Text can be placed after any of the Tables of Thumbs, of course. \ifdim \thumbs@minheight > \@tempdima% ok \else \PackageError{thumbs}{Option minheight has invalid value}{% - Please use a number and a length unit (e.g. mm, cm, pt)\MessageBreak% - and no space between as value for option minheight\MessageBreak% + As value for option minheight please use\MessageBreak% + a number and a length unit (e.g. mm, cm, pt)\MessageBreak% + and no space between them\MessageBreak% and include this value+unit combination in curly brackets\MessageBreak% (please see the thumbs-example.tex file).\MessageBreak% - When pressing return, minheight will now be set to 47pt.\MessageBreak% + When pressing Return, minheight will now be set to 47pt.\MessageBreak% } \setlength{\thumbs@minheight}{47pt} \fi @@ -1599,12 +1731,12 @@ Text can be placed after any of the Tables of Thumbs, of course. % \begin{macrocode} \ifdim \th@mbheighty < \thumbs@minheight \PackageWarningNoLine{thumbs}{Thumbs not high enough:\MessageBreak% - Option height has value 'auto'. For \th@mbsmax\space thumbs per page\MessageBreak% + Option height has value "auto". For \th@mbsmax\space thumbs per page\MessageBreak% this results in a thumb height of \the\th@mbheighty.\MessageBreak% This is lower than the minimal thumb height, \thumbs@minheight,\MessageBreak% therefore another thumbs column will be opened.\MessageBreak% If you do not want this, choose a smaller value\MessageBreak% - for option 'minheight'% + for option "minheight"% } \setlength{\th@mbheighty}{\z@} \advance\th@mbheighty by \@tempdima% = \thumbs@minheight @@ -1649,10 +1781,13 @@ Text can be placed after any of the Tables of Thumbs, of course. \else \setlength{\th@mbwidthx}{\paperwidth} \advance\th@mbwidthx-\textwidth - \divide\th@mbwidthx4 + \divide\th@mbwidthx by 4 \setlength{\@tempdima}{0sp} \ifx\thumbs@width\empty% \else +% \end{macrocode} +% \pagebreak +% \begin{macrocode} \def\th@mbstest{auto} \ifx\thumbs@width\th@mbstest% \else @@ -1681,7 +1816,7 @@ Text can be placed after any of the Tables of Thumbs, of course. \setlength{\th@mbwidthx}{\thumbs@width} \else \PackageError{thumbs}{Thumbs not wide enough}{% - Option width has value '\thumbs@width'.\MessageBreak% + Option width has value "\thumbs@width".\MessageBreak% This is not a valid dimension larger than zero.\MessageBreak% Width will be set automatically.\MessageBreak% } @@ -1699,6 +1834,8 @@ Text can be placed after any of the Tables of Thumbs, of course. \fi % \end{macrocode} % +% \pagebreak +% % Setting the position of the first/top thumb mark. Vertical (y) position % is a little bit complicated, because option |\thumbs@topthumbmargin| must be handled: % @@ -1726,7 +1863,7 @@ Text can be placed after any of the Tables of Thumbs, of course. \ifdim \thumbs@topthumbmargin > \@tempdima% OK \else \PackageWarning{thumbs}{Thumbs column starting too high.\MessageBreak% - Option topthumbmargin has value '\thumbs@topthumbmargin'.\MessageBreak% + Option topthumbmargin has value "\thumbs@topthumbmargin ".\MessageBreak% topthumbmargin will be set to -1pt.\MessageBreak% } \gdef\thumbs@topthumbmargin{-1pt} @@ -1745,6 +1882,8 @@ Text can be placed after any of the Tables of Thumbs, of course. \fi % \end{macrocode} % +% \pagebreak +% % Setting the lowest position of a thumb mark, according to option |\thumbs@bottomthumbmargin|: % % \begin{macrocode} @@ -1768,11 +1907,6 @@ Text can be placed after any of the Tables of Thumbs, of course. \advance\th@mbposybottom-\th@mbsdistance \advance\th@mbposybottom-\th@mbheighty \else -% \end{macrocode} -% -% \pagebreak -% -% \begin{macrocode} \setlength{\@tempdima}{\paperheight} \advance\@tempdima by -\thumbs@bottomthumbmargin \advance\@tempdima by -\th@mbposytop @@ -1788,16 +1922,19 @@ Text can be placed after any of the Tables of Thumbs, of course. \advance\@tempdima by -\th@mbsdistance \advance\@tempdima by -1pt \PackageWarning{thumbs}{Thumbs column ending too high.\MessageBreak% - Option bottomthumbmargin has value '\thumbs@bottomthumbmargin'.\MessageBreak% - bottomthumbmargin will be set to '\the\@tempdima'.\MessageBreak% + Option bottomthumbmargin has value "\thumbs@bottomthumbmargin ".\MessageBreak% + bottomthumbmargin will be set to "\the\@tempdima".\MessageBreak% } \xdef\thumbs@bottomthumbmargin{\the\@tempdima} \fi +% \end{macrocode} +% \pagebreak +% \begin{macrocode} \setlength{\@tempdima}{\thumbs@bottomthumbmargin} \setlength{\@tempdimc}{-1pt} \ifdim \@tempdima < \@tempdimc% \PackageWarning{thumbs}{Thumbs column ending too low.\MessageBreak% - Option bottomthumbmargin has value '\thumbs@bottomthumbmargin'.\MessageBreak% + Option bottomthumbmargin has value "\thumbs@bottomthumbmargin ".\MessageBreak% bottomthumbmargin will be set to -1pt.\MessageBreak% } \gdef\thumbs@bottomthumbmargin{-1pt} @@ -1913,6 +2050,8 @@ Text can be placed after any of the Tables of Thumbs, of course. % \end{macrocode} % \end{macro} % +% \pagebreak +% % \begin{macro}{\thumbsnophantom} % To locally disable the setting of a |\phantomsection| before a thumb mark, % the command |\thumbsnophantom| is provided. (But at first it is not disabled.) @@ -1920,9 +2059,7 @@ Text can be placed after any of the Tables of Thumbs, of course. % \begin{macrocode} \gdef\th@mbsphantom{1} -\newcommand{\thumbsnophantom}{% - \gdef\th@mbsphantom{0}% - } +\newcommand{\thumbsnophantom}{\gdef\th@mbsphantom{0}} % \end{macrocode} % \end{macro} @@ -1947,9 +2084,6 @@ Text can be placed after any of the Tables of Thumbs, of course. \gdef\th@mbcolumn{1}% \fi% \fi% -% \end{macrocode} -% \pagebreak -% \begin{macrocode} \@tempcnta=\th@mbs\relax% \advance\@tempcnta by 1% \xdef\th@mbs{\the\@tempcnta}% @@ -1978,10 +2112,18 @@ Text can be placed after any of the Tables of Thumbs, of course. % The width of the thumb mark text is determined and compared to the width of the % thumb mark (rule). When the text is wider than the rule, this has to be changed % (either automatically with option |width={autoauto}| in the next compilation run -% or manually by changing |width={|\ldots|}| by the user). +% or manually by changing |width={|\ldots|}| by the user). It could be acceptable +% to have a thumb mark text consisting of more than one line, of course, in which +% case nothing needs to be changed. Possible horizontal movement (|\th@mbHitO|, +% |\th@mbHitE|) has to be taken into account. % % \begin{macrocode} - \settowidth{\@tempdima}{\th@mbtext\space}% + \settowidth{\@tempdima}{\th@mbtext}% + \ifdim\th@mbHitO>\th@mbHitE\relax% + \advance\@tempdima+\th@mbHitO% + \else% + \advance\@tempdima+\th@mbHitE% + \fi% \ifdim\@tempdima>\th@mbmaxwidth% \xdef\th@mbmaxwidth{\the\@tempdima}% \fi% @@ -2164,24 +2306,59 @@ Text can be placed after any of the Tables of Thumbs, of course. \advance\th@mbwidthxtoc-1in% % \end{macrocode} % -% Depending on which side the thumb marks should be placed the -% according dimensions have to be adapted. +% Depending on which side the thumb marks should be placed +% the according dimensions have to be adapted. % % \begin{macrocode} \def\th@mbstest{r}% \ifx\th@mbstest\th@mbsprintpage% r + \advance\th@mbwidthxtoc-\th@mbHimO% \advance\th@mbwidthxtoc-\oddsidemargin% \setlength{\@tempdimc}{1in}% \advance\@tempdimc+\oddsidemargin% \else% l + \advance\th@mbwidthxtoc-\th@mbHimE% \advance\th@mbwidthxtoc-\evensidemargin% \setlength{\@tempdimc}{\th@bmshoffset}% \advance\@tempdimc-\hoffset \fi% - \put(\@tempdimc,-\th@mbposy){% - \def\th@mbstest{l}% + \setlength{\th@mbposyB}{-\th@mbposy}% + \if@twoside% + \ifodd\c@CurrentPage% + \ifx\th@mbtikz\pagesLTS@zero% + \else% + \setlength{\@tempdimb}{-\th@mbposy}% + \advance\@tempdimb-\thumbs@evenprintvoffset% + \setlength{\th@mbposyB}{\@tempdimb}% + \fi% + \else% + \ifx\th@mbtikz\pagesLTS@zero% + \setlength{\@tempdimb}{-\th@mbposy}% + \advance\@tempdimb-\thumbs@evenprintvoffset% + \setlength{\th@mbposyB}{\@tempdimb}% + \fi% + \fi% + \fi% + \def\th@mbstest{l}% + \ifx\th@mbstest\th@mbsprintpage% l + \advance\@tempdimc+\th@mbHimE% + \fi% + \put(\@tempdimc,\th@mbposyB){% \ifx\th@mbstest\th@mbsprintpage% l - \advance\th@mbwidthxtoc+\evensidemargin% +% \end{macrocode} +% +% Increase |\th@mbwidthxtoc| by the absolute value of |\evensidemargin|.\\ +% With the \xpackage{bigintcalc} package it would also be possible to use:\\ +% |\setlength{\@tempdimb}{\evensidemargin}%|\\ +% |\@settopoint\@tempdimb%|\\ +% |\advance\th@mbwidthxtoc+\bigintcalcSgn{\expandafter\strip@pt \@tempdimb}\evensidemargin%| +% +% \begin{macrocode} + \ifdim\evensidemargin <0sp\relax% + \advance\th@mbwidthxtoc-\evensidemargin% + \else% >=0sp + \advance\th@mbwidthxtoc+\evensidemargin% + \fi% \fi% \begin{picture}(0,0)% % \end{macrocode} @@ -2193,7 +2370,9 @@ Text can be placed after any of the Tables of Thumbs, of course. \def\th@mbstest{rule}% \ifx\thumbs@thumblink\th@mbstest% \ifx\th@mb@tmp@column\pagesLTS@zero% - {\color{\th@mb@tmp@backgroundcolour}\hyperref[\th@mb@tmp@label]{\rule{\th@mbwidthxtoc}{\th@mbheighty}}}% + {\color{\th@mb@tmp@backgroundcolour}% + \hyperref[\th@mb@tmp@label]{\rule{\th@mbwidthxtoc}{\th@mbheighty}}% + }% \else% % \end{macrocode} % @@ -2245,10 +2424,40 @@ Text can be placed after any of the Tables of Thumbs, of course. % % \begin{macrocode} \ifx\th@mbstest\th@mbsprintpage% l - \begin{picture}(0,0)(-6pt,-0.5\th@mbheighty+384930sp)% + \begin{picture}(-\th@mbHimE,0)(-6pt,-0.5\th@mbheighty+384930sp)% \bgroup% \setlength{\parindent}{0pt}% - \makebox[\th@mbwidthx][l]{{\color{\th@mb@tmp@textcolour}\th@mb@tmp@text}}% + \setlength{\@tempdimc}{\th@mbwidthx}% + \advance\@tempdimc-\th@mbHitO% + \setlength{\@tempdimb}{\th@mbwidthx}% + \advance\@tempdimb-\th@mbHitE% + \ifodd\c@CurrentPage% + \if@twoside% + \ifx\th@mbtikz\pagesLTS@zero% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \else% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{l}{\@tempdimb}% + \fi% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \else% + \if@twoside% + \ifx\th@mbtikz\pagesLTS@zero% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{l}{\@tempdimb}% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \fi% \egroup% \end{picture}% \setlength{\@tempdimc}{-1in}% @@ -2348,7 +2557,7 @@ Text can be placed after any of the Tables of Thumbs, of course. and the thumbs package did not change it.\MessageBreak% Therefore some other package (or the user)\MessageBreak% manipulated it.\MessageBreak% - Now setting it to 'none' as last resort.\MessageBreak% + Now setting it to "none" as last resort.\MessageBreak% }% \gdef\thumbs@thumblink{none}% {\color{\th@mb@tmp@textcolour}\noindent% @@ -2376,7 +2585,37 @@ Text can be placed after any of the Tables of Thumbs, of course. \begin{picture}(0,0)(1in+\oddsidemargin-\th@mbxpos+20pt,-0.5\th@mbheighty+384930sp)% \bgroup% \setlength{\parindent}{0pt}% - \makebox[\th@mbwidthx][r]{{\color{\th@mb@tmp@textcolour}\th@mb@tmp@text}}% + \setlength{\@tempdimc}{\th@mbwidthx}% + \advance\@tempdimc-\th@mbHitO% + \setlength{\@tempdimb}{\th@mbwidthx}% + \advance\@tempdimb-\th@mbHitE% + \ifodd\c@CurrentPage% + \if@twoside% + \ifx\th@mbtikz\pagesLTS@zero% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \else% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{l}{\@tempdimb}% + \fi% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \else% + \if@twoside% + \ifx\th@mbtikz\pagesLTS@zero% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{l}{\@tempdimb}% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \fi% \egroup% \end{picture}% \fi% @@ -2404,12 +2643,9 @@ Text can be placed after any of the Tables of Thumbs, of course. \fi% } - % \end{macrocode} % \end{macro} % -% \pagebreak -% % \DescribeMacro{tikz, hyperref} % To determine whether to place the thumb marks at the left or right side of a % two-sided paper, \xpackage{thumbs} must determine whether the page number is @@ -2462,38 +2698,59 @@ Text can be placed after any of the Tables of Thumbs, of course. % % \begin{macrocode} \newcommand{\th@mbprint}[3]{% - \put(\th@mbxpos,-\th@mbposyA){% + \setlength{\th@mbposyB}{-\th@mbposyA}% + \if@twoside% + \ifodd\c@CurrentPage% + \ifx\th@mbtikz\pagesLTS@zero% + \else% + \setlength{\@tempdimc}{-\th@mbposyA}% + \advance\@tempdimc-\thumbs@evenprintvoffset% + \setlength{\th@mbposyB}{\@tempdimc}% + \fi% + \else% + \ifx\th@mbtikz\pagesLTS@zero% + \setlength{\@tempdimc}{-\th@mbposyA}% + \advance\@tempdimc-\thumbs@evenprintvoffset% + \setlength{\th@mbposyB}{\@tempdimc}% + \fi% + \fi% + \fi% + \put(\th@mbxpos,\th@mbposyB){% \begin{picture}(0,0)% {\color{#3}\rule{\th@mbwidthx}{\th@mbheighty}}% \end{picture}% \begin{picture}(0,0)(0,-0.5\th@mbheighty+384930sp)% \bgroup% \setlength{\parindent}{0pt}% + \setlength{\@tempdimc}{\th@mbwidthx}% + \advance\@tempdimc-\th@mbHitO% + \setlength{\@tempdimb}{\th@mbwidthx}% + \advance\@tempdimb-\th@mbHitE% \ifodd\c@CurrentPage% \if@twoside% \ifx\th@mbtikz\pagesLTS@zero% - %\makebox[\th@mbwidthx][r]{{\color{#2}#1\space}}% - \parbox{\th@mbwidthx}{{\raggedleft{\hfill \color{#2}#1\space}}}% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{#2}{#1}{r}{\@tempdimc}% \else% - %\makebox[\th@mbwidthx][l]{{\color{#2}\hspace*{1pt}\space #1}}% - \parbox{\th@mbwidthx}{{\raggedright{\color{#2}\hspace*{1pt}\space #1}}}% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{#2}{#1}{l}{\@tempdimb}% \fi% \else% - %\makebox[\th@mbwidthx][r]{{\color{#2}#1\space}}% - \parbox{\th@mbwidthx}{{\raggedleft{\hfill \color{#2}#1\space}}}% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{#2}{#1}{r}{\@tempdimc}% \fi% \else% \if@twoside% \ifx\th@mbtikz\pagesLTS@zero% - %\makebox[\th@mbwidthx][l]{{\color{#2}\hspace*{1pt}\space #1}}% - \parbox{\th@mbwidthx}{{\raggedright{\color{#2}\hspace*{1pt}\space #1}}}% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{#2}{#1}{l}{\@tempdimb}% \else% - %\makebox[\th@mbwidthx][r]{{\color{#2}#1\space}}% - \parbox{\th@mbwidthx}{{\raggedleft{\hfill \color{#2}#1\space}}}% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{#2}{#1}{r}{\@tempdimc}% \fi% \else% - %\makebox[\th@mbwidthx][r]{{\color{#2}#1\space}}% - \parbox{\th@mbwidthx}{{\raggedleft{\hfill \color{#2}#1\space}}}% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{#2}{#1}{r}{\@tempdimc}% \fi% \fi% \egroup% @@ -2504,8 +2761,6 @@ Text can be placed after any of the Tables of Thumbs, of course. % \end{macrocode} % \end{macro} % -% \newpage -% % \DescribeMacro{\AtBeginShipout} % |\AtBeginShipoutUpperLeft| calls the |\th@mbprint| macro for each thumb mark % which shall be placed on that page. @@ -2557,12 +2812,14 @@ Text can be placed after any of the Tables of Thumbs, of course. % Determining the correct |\th@mbxpos|: % % \begin{macrocode} - \def\th@mbxpos{\th@mbposx}% + \edef\th@mbxpos{\the\th@mbposx}% \ifodd\@tempcnta% \relax \else% \if@twoside% \ifthumbs@ignorehoffset% - \def\th@mbxpos{-1pt-\hoffset}% + \setlength{\@tempdimc}{-\hoffset}% + \advance\@tempdimc-1pt% + \edef\th@mbxpos{\the\@tempdimc}% \else% \def\th@mbxpos{-1pt}% \fi% @@ -2573,6 +2830,14 @@ Text can be placed after any of the Tables of Thumbs, of course. % \begin{macrocode} \fi% \fi% + \setlength{\@tempdimc}{\th@mbxpos}% + \if@twoside% + \ifodd\@tempcnta \advance\@tempdimc-\th@mbHimO% + \else \advance\@tempdimc+\th@mbHimE% + \fi% + \else \advance\@tempdimc-\th@mbHimO% + \fi% + \edef\th@mbxpos{\the\@tempdimc}% \AtBeginShipoutUpperLeft{% \ifx\th@mbprinting\pagesLTS@one% \th@mbprint{\th@mbtextA}{\th@mbtextcolourA}{\th@mbbackgroundcolourA}% @@ -2609,8 +2874,6 @@ Text can be placed after any of the Tables of Thumbs, of course. % \end{macrocode} % -% \newpage -% % \DescribeMacro{\AfterLastShipout} % |\AfterLastShipout| is executed after the last page has been shipped out. % It is still possible to e.\,g. write to the \xfile{aux} file at this time. @@ -2647,6 +2910,11 @@ Text can be placed after any of the Tables of Thumbs, of course. \ifdim\th@mbmaxwidth>\th@mbwidthx \ifthumbs@draft% \relax \else +% \end{macrocode} +% +% \pagebreak +% +% \begin{macrocode} \def\th@mbstest{autoauto} \ifx\thumbs@width\th@mbstest% \AtEndAfterFileList{% @@ -2701,8 +2969,8 @@ Text can be placed after any of the Tables of Thumbs, of course. % % \begin{macrocode} \newcommand{\addthumbsoverviewtocontents}[2]{% - \gdef\th@mbs@toc@level{#1} - \gdef\th@mbs@toc@text{#2} + \gdef\th@mbs@toc@level{#1}% + \gdef\th@mbs@toc@text{#2}% } % \end{macrocode} @@ -2723,8 +2991,6 @@ Text can be placed after any of the Tables of Thumbs, of course. % \end{macrocode} % \end{macro} % -% \pagebreak -% % \begin{macro}{\th@mbstablabeling} % When the \xpackage{hyperref} package is used, one might like to refer to the % thumb overview page(s), therefore |\th@mbstablabeling| command is defined @@ -2857,8 +3123,8 @@ Text can be placed after any of the Tables of Thumbs, of course. \PackageError{thumbs}{% Invalid second parameter of \string\thumbsoverviewprint % }{The second argument of command \string\thumbsoverviewprint\space must be\MessageBreak% - either 'r' or 'l' or 'v' or 'd', but is 'X2'.\MessageBreak% - Now 'r' is chosen instead.\MessageBreak% + either "r" or "l" or "v" or "d" but it is neither.\MessageBreak% + Now "r" is chosen instead.\MessageBreak% }% \gdef\th@mbsprintpage{r}% \fi% @@ -2890,10 +3156,10 @@ Text can be placed after any of the Tables of Thumbs, of course. \ifx\thumbs@thumblink\th@mbstest% OK \else% \PackageError{thumbs}{Option thumblink with invalid value}{% - Option thumblink has value '\thumbs@thumblink'.\MessageBreak% - Valid values are 'none', 'title', 'page',\MessageBreak% - 'titleandpage', 'line', or 'rule'.\MessageBreak% - 'rule' will be used now.\MessageBreak% + Option thumblink has invalid value "\thumbs@thumblink ".\MessageBreak% + Valid values are "none", "title", "page",\MessageBreak% + "titleandpage", "line", or "rule".\MessageBreak% + "rule" will be used now.\MessageBreak% }% \gdef\thumbs@thumblink{rule}% \fi% @@ -2902,11 +3168,11 @@ Text can be placed after any of the Tables of Thumbs, of course. \fi% \fi% }{% hyperref not loaded - \PackageError{thumbs}{Option thumblink != none, but hyperref not loaded}{% - The option thumblink of the thumbs package was not set to 'none',\MessageBreak% + \PackageError{thumbs}{Option thumblink not "none", but hyperref not loaded}{% + The option thumblink of the thumbs package was not set to "none",\MessageBreak% but to some kind of hyperlinks, without using package hyperref.\MessageBreak% - Either choose option 'thumblink=none', or load package hyperref.\MessageBreak% - When pressing return, 'thumblink=none' will be set now.\MessageBreak% + Either choose option "thumblink=none", or load package hyperref.\MessageBreak% + When pressing Return, "thumblink=none" will be set now.\MessageBreak% }% \gdef\thumbs@thumblink{none}% }% @@ -2949,6 +3215,9 @@ Text can be placed after any of the Tables of Thumbs, of course. \newcounter{FileLine}% \newcounter{thumbsstop}% \fi% +% \end{macrocode} +% \pagebreak +% \begin{macrocode} \setcounter{th@mblinea}{\th@mbstable}% \addtocounter{th@mblinea}{+1}% \xdef\th@mbstable{\arabic{th@mblinea}}% @@ -2959,8 +3228,6 @@ Text can be placed after any of the Tables of Thumbs, of course. \addtocounter{thumbsstop}{\th@mbsmax}% % \end{macrocode} % -% \pagebreak -% % We do not want any labels or index or glossary entries confusing the % table of thumb marks entries, but the commands must work outside of it: % @@ -3005,6 +3272,8 @@ Text can be placed after any of the Tables of Thumbs, of course. \@whilenum\value{FileLine}<\value{thumbsstop}\do% % \end{macrocode} % +% \pagebreak +% % For double printing the overview page(s) we just change between printing % left and right, and we need to reset the line number of the |\jobname.tmb| file % which is read, because we need to read things twice. @@ -3057,6 +3326,9 @@ Text can be placed after any of the Tables of Thumbs, of course. \null% \th@mbs@verview% \pagebreak% +% \end{macrocode} +% \pagebreak +% \begin{macrocode} \ifthumbs@verbose% \message{THUMBS: Fileline: \arabic{FileLine}, a: \arabic{th@mblinea}, % b: \arabic{th@mblineb}, per page: \th@umbsperpage, max: \th@mbsmax.^^J}% @@ -3077,8 +3349,6 @@ Text can be placed after any of the Tables of Thumbs, of course. }% % \end{macrocode} % -% \pagebreak -% % After the overview, the current thumb mark (if there is any) is restored, % % \begin{macrocode} @@ -3154,14 +3424,14 @@ Text can be placed after any of the Tables of Thumbs, of course. \else% THIS SHOULD NEVER HAPPEN! \PackageError{thumbs}{Unexpected error! (Really!)}{% ! You are in trouble here.\MessageBreak% - ! Type\space \space X \string\space to quit.\MessageBreak% + ! Type\space \space X \string\space to quit.\MessageBreak% ! Delete temporary auxiliary files\MessageBreak% ! (like \jobname.aux, \jobname.tmb, \jobname.out)\MessageBreak% ! and retry the compilation.\MessageBreak% ! If the error persists, cross your fingers\MessageBreak% - ! and try typing\space \space \string\space to proceed.\MessageBreak% + ! and try typing\space \space \string\space to proceed.\MessageBreak% ! If that does not work,\MessageBreak% - ! you might contact the maintainer of the thumbs package.\MessageBreak% + ! please contact the maintainer of the thumbs package.\MessageBreak% }% \fi% \fi% @@ -3194,8 +3464,6 @@ Text can be placed after any of the Tables of Thumbs, of course. }{% else % \end{macrocode} % -% \pagebreak -% % When |\jobname.tmb| was not found, we cannot read from that file, therefore % the |FileLine| is set to |thumbsstop|, stopping the calling of |\th@mbs@verview| % in |\thumbsoverview|. (And we issue a warning, of course.) @@ -3241,6 +3509,8 @@ Text can be placed after any of the Tables of Thumbs, of course. % \end{macrocode} % +% \pagebreak +% % When we are in |hidethumbs| mode, there are no thumb marks % and therefore neither any thumb mark overview page. A~warning is given. % @@ -3249,7 +3519,7 @@ Text can be placed after any of the Tables of Thumbs, of course. \renewcommand{\addthumb}[4]{\relax} \PackageWarningNoLine{thumbs}{thumbs package in hide mode:\MessageBreak% Thumb marks are hidden.\MessageBreak% - Remove package option hide to get thumb marks.\MessageBreak% + Set package option "hidethumbs=false" to get thumb marks% } \renewcommand{\thumbnewcolumn}{\relax} \fi @@ -3266,7 +3536,7 @@ Text can be placed after any of the Tables of Thumbs, of course. % % \subsection{Downloads\label{ss:Downloads}} % -% Everything is available on \CTAN{}, \url{http://www.ctan.org/tex-archive/}, +% Everything is available on \url{http://www.ctan.org/} % but may need additional packages themselves.\\ % % \DescribeMacro{thumbs.dtx} @@ -3284,10 +3554,10 @@ Text can be placed after any of the Tables of Thumbs, of course. % \item[-] package \xpackage{geometry}, 2010/09/12, v5.6, % \url{http://ctan.org/pkg/geometry} % -% \item[-] package \xpackage{holtxdoc}, 2011/02/04, v0.21, +% \item[-] package \xpackage{holtxdoc}, 2012/03/21, v0.24, % \url{http://ctan.org/pkg/holtxdoc} % -% \item[-] package \xpackage{hypdoc}, 2010/03/26, v1.9, +% \item[-] package \xpackage{hypdoc}, 2011/08/19, v1.11, % \url{http://ctan.org/pkg/hypdoc} % \end{description} % @@ -3300,28 +3570,28 @@ Text can be placed after any of the Tables of Thumbs, of course. % \item[-] package \xpackage{xcolor}, 2007/01/21, v2.11, % \url{http://ctan.org/pkg/xcolor} % -% \item[-] package \xpackage{pageslts}, 2011/08/08, v1.2a, +% \item[-] package \xpackage{pageslts}, 2014/01/19, v1.2c, % \url{http://ctan.org/pkg/pageslts} % -% \item[-] package \xpackage{pagecolor}, 2011/08/08, v1.0c, +% \item[-] package \xpackage{pagecolor}, 2012/02/23, v1.0e, % \url{http://ctan.org/pkg/pagecolor} % -% \item[-] package \xpackage{alphalph}, 2010/04/18, v2.3, +% \item[-] package \xpackage{alphalph}, 2011/05/13, v2.4, % \url{http://ctan.org/pkg/alphalph} % -% \item[-] package \xpackage{atbegshi}, 2011/01/30, v1.15, +% \item[-] package \xpackage{atbegshi}, 2011/10/05, v1.16, % \url{http://ctan.org/pkg/atbegshi} % -% \item[-] package \xpackage{atveryend}, 2011/04/23, v1.7, +% \item[-] package \xpackage{atveryend}, 2011/06/30, v1.8, % \url{http://ctan.org/pkg/atveryend} % % \item[-] package \xpackage{infwarerr}, 2010/04/08, v1.3, % \url{http://ctan.org/pkg/infwarerr} % -% \item[-] package \xpackage{kvoptions}, 2010/12/23, v3.10, +% \item[-] package \xpackage{kvoptions}, 2011/06/30, v3.11, % \url{http://ctan.org/pkg/kvoptions} % -% \item[-] package \xpackage{ltxcmds}, 2011/04/18, v1.20, +% \item[-] package \xpackage{ltxcmds}, 2011/11/09, v1.22, % \url{http://ctan.org/pkg/ltxcmds} % % \item[-] package \xpackage{picture}, 2009/10/11, v1.3, @@ -3331,25 +3601,7 @@ Text can be placed after any of the Tables of Thumbs, of course. % \url{http://ctan.org/pkg/rerunfilecheck} % \end{description} % -% \DescribeMacro{SW/SWP} -% When compiling with SWP 5.50 Build 2960 (\copyright~MacKichan Software, Inc.), -% this is additionally needed: -% -% \begin{quote} -%\begin{verbatim} -%\usepackage[T1]{fontenc} -%\usepackage{amsfonts} -%\usepackage[math]{cellspace} -%\usepackage{xcolor} -%\pagecolor{white} -%\providecommand{\QTO}[2]{#2} -%\end{verbatim} -% \end{quote} -% -% \noindent especially before \xpackage{hyperref} and \xpackage{thumbs}, but best right after -% the |\documentclass|! (The options for those packages might be changed by the user~-- -% I~did not test all available options, thus first test, whether the document can be compiled -% with these options, and then try to change them according to your wishes.)\\ +% \pagebreak % % \DescribeMacro{thumb-example.tex} % The |thumb-example.tex| requires the same files as all @@ -3361,10 +3613,10 @@ Text can be placed after any of the Tables of Thumbs, of course. % \item[-] package \xpackage{lipsum}, 2011/04/14, v1.2, % \url{http://ctan.org/pkg/lipsum} % -% \item[-] package \xpackage{hyperref}, 2012/02/06, v6.82o, +% \item[-] package \xpackage{hyperref}, 2012/11/06, v6.83m, % \url{http://ctan.org/pkg/hyperref} % -% \item[-] package \xpackage{thumbs}, 2012/02/25, v1.0n, +% \item[-] package \xpackage{thumbs}, 2014/03/09, v1.0q, % \url{http://ctan.org/pkg/thumbs}\\ % (Well, it is the example file for this package, and because you are reading the % documentation for the \xpackage{thumbs} package, it~can be assumed that you already @@ -3373,6 +3625,7 @@ Text can be placed after any of the Tables of Thumbs, of course. % % \DescribeMacro{Alternatives} % As possible alternatives in section \ref{sec:Alternatives} there are listed +% (newer versions might be available) % \begin{description} % \item[-] \xpackage{chapterthumb}, 2005/03/10, v0.1, % \CTAN{info/examples/KOMA-Script-3/Anhang-B/source/chapterthumb.sty} @@ -3416,7 +3669,7 @@ Text can be placed after any of the Tables of Thumbs, of course. % (especially \xpackage{holtxdoc}, \xpackage{alphalph}, \xpackage{atbegshi}, \xpackage{infwarerr}, % \xpackage{kvoptions}, \xpackage{ltxcmds}, \xpackage{picture}, and \xpackage{rerunfilecheck}) % are also available in a TDS compliant ZIP archive:\\ -% \CTAN{install/macros/latex/contrib/oberdiek.tds.zip}.\\ +% \url{http://mirror.ctan.org/install/macros/latex/contrib/oberdiek.tds.zip}.\\ % It is probably best to download and use this, because the packages in there % are quite probably both recent and compatible among themselves.\\ % @@ -3429,23 +3682,23 @@ Text can be placed after any of the Tables of Thumbs, of course. % % \DescribeMacro{M\"{u}nch} % A hyperlinked list of my (other) packages can be found at -% \url{http://www.Uni-Bonn.de/~uzs5pv/LaTeX.html}. +% \url{http://www.ctan.org/author/muench-hm}.\\ % % \subsection{Package, unpacking TDS} -% \paragraph{Package.} This package is available on \CTAN{} +% \paragraph{Package.} This package is available on \url{CTAN.org} % \begin{description} -% \item[\CTAN{macros/latex/contrib/thumbs/thumbs.dtx}]\hspace*{0.1cm} \\ +% \item[\url{http://mirror.ctan.org/macros/latex/contrib/thumbs/thumbs.dtx}]\hspace*{0.1cm} \\ % The source file. -% \item[\CTAN{macros/latex/contrib/thumbs/thumbs.pdf}]\hspace*{0.1cm} \\ +% \item[\url{http://mirror.ctan.org/macros/latex/contrib/thumbs/thumbs.pdf}]\hspace*{0.1cm} \\ % The documentation. -% \item[\CTAN{macros/latex/contrib/thumbs/thumbs-example.pdf}]\hspace*{0.1cm} \\ +% \item[\url{http://mirror.ctan.org/macros/latex/contrib/thumbs/thumbs-example.pdf}]\hspace*{0.1cm} \\ % The compiled example file, as it should look like. -% \item[\CTAN{macros/latex/contrib/thumbs/README}]\hspace*{0.1cm} \\ +% \item[\url{http://mirror.ctan.org/macros/latex/contrib/thumbs/README}]\hspace*{0.1cm} \\ % The README file. % \end{description} % There is also a thumbs.tds.zip available: % \begin{description} -% \item[\CTAN{install/macros/latex/contrib/thumbs.tds.zip}]\hspace*{0.1cm} \\ +% \item[\url{http://mirror.ctan.org/install/macros/latex/contrib/thumbs.tds.zip}]\hspace*{0.1cm} \\ % Everything in \xfile{TDS} compliant, compiled format. % \end{description} % which additionally contains\\ @@ -3740,14 +3993,14 @@ Text can be placed after any of the Tables of Thumbs, of course. % \item Hot fix: \TeX{} 2011/06/27 has changed |\enddocument| and % thus broken the |\AtVeryVeryEnd| command/hooking % of \xpackage{atveryend} package as of 2011/04/23, v1.7. -% Version 2011/06/30, v1.8, fixed it, but this version is not available -% at \CTAN{} yet. Until then |\AtEndAfterFileList| is used. +% Version 2011/06/30, v1.8, fixed it, but this version was not available +% at \url{CTAN.org} yet. Until then |\AtEndAfterFileList| was used. % \end{Version} % \begin{Version}{2011/10/19 v1.0j} % \item Changed some Warnings into Infos (as suggested by \textsc{Martin Baute}). -% \item The SWP-warning is now only given |\IfFileExists{tcilatex.tex}|, otherwise -% just a message is given. (Warning questioned by \textsc{Martin Baute}, -% thanks.) +% \item The SW(P)-warning is now only given |\IfFileExists{tcilatex.tex}|, +% otherwise just a message is given. (Warning questioned by +% \textsc{Martin Baute}, thanks.) % \item New option |nophantomsection| to \emph{globally} disable the automatical % placement of a |\phantomsection| before \emph{all} thumb marks. % \item New command |\thumbsnophantom| to \emph{locally} disable the automatical @@ -3793,6 +4046,45 @@ Text can be placed after any of the Tables of Thumbs, of course. % \textquotedblleft paragraph-thumbs\textquotedblright{} % (i.\,e.~text which is too long for the width of a thumb mark). % \end{Version} +% \begin{Version}{2013/08/22 v1.0o, not released to the general public} +% \item \textsc{Stephanie Hein} requested the feature to be able to increase +% the horizontal space between page edge and the text inside of the +% thumb mark. Therefore options |evenindent| and |oddexdent| were +% implemented (later renamed to |eventxtindent| and |oddtxtexdent|). +% \item \textsc{Bjorn Victor} reported the same problem and also the one, +% that two marks are not printed at the exact same vertical position +% on recto and verso pages. Because this can be seen with a lot of +% duplex printers, the new option |evenprintvoffset| allows to +% vertically shift the marks on even pages by any length. +% \end{Version} +% \begin{Version}{2013/09/17 v1.0p, not released to the general public} +% \item The thumb mark text is now set in |\parbox|es everywhere. +% \item \textsc{Heini Geiring} requested the feature to be able to +% horizontally move the marks away from the page edge, +% because this is useful when using brochure printing +% where after the printing the physical page edge is changed +% by cutting the paper. Therefore the options |evenmarkindent| and +% |oddmarkexdent| were introduced and the options |evenindent| and +% |oddexdent| were renamed to |eventxtindent| and |oddtxtexdent|. +% \item Changed a lot of internal details. +% \end{Version} +% \begin{Version}{2014/03/09 v1.0q} +% \item New version of the \xpackage{atveryend} package is now available at +% \url{CTAN.org} (see entry in this history for +% \xpackage{thumbs} version |[2011/08/22 v1.0i]|). +% \item Support for SW(P) drastically reduced. No more testing is performed. +% Get a current \TeX{} distribution instead! +% \item New option |txtcentered|: If it is set to |true|, +% the thumb's text is placed using |\centering|, +% otherwise either |\raggedright| or |\raggedleft| +% (depending on left or right page for double sided documents). +% \item |\normalsize| added to prevent +% \textquotedblleft font size leakage\textquotedblright{} +% from the respective page. +% \item Handling of obsolete options (mainly from version 2013/08/22 v1.0o) +% added. +% \item Changed (hopefully improved) a lot of details. +% \end{Version} % \end{History} % % \bigskip diff --git a/Master/texmf-dist/source/latex/thumbs/thumbs.ins b/Master/texmf-dist/source/latex/thumbs/thumbs.ins index a54ff9de4fb..a9475da9841 100644 --- a/Master/texmf-dist/source/latex/thumbs/thumbs.ins +++ b/Master/texmf-dist/source/latex/thumbs/thumbs.ins @@ -9,9 +9,9 @@ %% This is a generated file. %% %% Project: thumbs -%% Version: 2012/02/25 v1.0n +%% Version: 2014/03/09 v1.0q %% -%% Copyright (C) 2010 - 2012 by +%% Copyright (C) 2010 - 2014 by %% H.-Martin M"unch %% %% The usual disclaimer applies: @@ -35,13 +35,16 @@ %% %% This work consists of the main source file thumbs.dtx, %% the README, and the derived files -%% thumbs.sty, thumbs.pdf, thumbs.ins, thumbs.drv, +%% thumbs.sty, thumbs.pdf, +%% thumbs.ins, thumbs.drv, %% thumbs-example.tex, thumbs-example.pdf. %% +%% In memoriam Tommy Muench + 2014/01/02. +%% \input docstrip.tex \Msg{**************************************************************************} \Msg{* Installation *} -\Msg{* Package: thumbs 2012/02/25 v1.0n Thumb marks and overview page(s) (HMM)*} +\Msg{* Package: thumbs 2014/03/09 v1.0q Thumb marks and overview page(s) (HMM)*} \Msg{**************************************************************************} \keepsilent @@ -53,9 +56,9 @@ This is a generated file. Project: thumbs -Version: 2012/02/25 v1.0n +Version: 2014/03/09 v1.0q -Copyright (C) 2010 - 2012 by +Copyright (C) 2010 - 2014 by H.-Martin M"unch The usual disclaimer applies: @@ -79,9 +82,12 @@ The Current Maintainer of this work is H.-Martin Muench. This work consists of the main source file thumbs.dtx, the README, and the derived files - thumbs.sty, thumbs.pdf, thumbs.ins, thumbs.drv, + thumbs.sty, thumbs.pdf, + thumbs.ins, thumbs.drv, thumbs-example.tex, thumbs-example.pdf. +In memoriam Tommy Muench + 2014/01/02. + \endpreamble \let\MetaPrefix\DoubleperCent diff --git a/Master/texmf-dist/tex/latex/thumbs/thumbs.sty b/Master/texmf-dist/tex/latex/thumbs/thumbs.sty index 7b7f5678145..537e8409025 100644 --- a/Master/texmf-dist/tex/latex/thumbs/thumbs.sty +++ b/Master/texmf-dist/tex/latex/thumbs/thumbs.sty @@ -9,9 +9,9 @@ %% This is a generated file. %% %% Project: thumbs -%% Version: 2012/02/25 v1.0n +%% Version: 2014/03/09 v1.0q %% -%% Copyright (C) 2010 - 2012 by +%% Copyright (C) 2010 - 2014 by %% H.-Martin M"unch %% %% The usual disclaimer applies: @@ -35,62 +35,49 @@ %% %% This work consists of the main source file thumbs.dtx, %% the README, and the derived files -%% thumbs.sty, thumbs.pdf, thumbs.ins, thumbs.drv, +%% thumbs.sty, thumbs.pdf, +%% thumbs.ins, thumbs.drv, %% thumbs-example.tex, thumbs-example.pdf. %% +%% In memoriam Tommy Muench + 2014/01/02. +%% \NeedsTeXFormat{LaTeX2e}[2011/06/27] -\ProvidesPackage{thumbs}[2012/02/25 v1.0n +\ProvidesPackage{thumbs}[2014/03/09 v1.0q Thumb marks and overview page(s) (HMM)] %% This package allows to create a customizable thumb index, %% providing a quick and easy reference method for large documents, %% as well as an overview page. -\IfFileExists{tcilatex.tex}{% - % Quite probably SWP/SW/SN +\IfFileExists{tcilatex.tex}{% Quite probably SWP/SW/SN \PackageWarningNoLine{thumbs}{% - When compiling with SWP 5.50 Build 2960\MessageBreak% - (copyright MacKichan Software, Inc.),\MessageBreak% - these additional packages are needed:\MessageBreak% - \string\usepackage[T1]{fontenc}\MessageBreak% - \string\usepackage{amsfonts}\MessageBreak% - \string\usepackage[math]{cellspace}\MessageBreak% - \string\usepackage{xcolor}\MessageBreak% - \string\pagecolor{white}\MessageBreak% - \string\providecommand{\string\QTO}[2]{\string##2}\MessageBreak% - especially before hyperref and thumbs,\MessageBreak% - but best right after the \string\documentclass!% - }% - }{% Probably not SWP/SW/SN - \message{^^J *** Compiling with SW(P)? ^^J% - When compiling with SWP 5.50 Build 2960^^J% - (copyright MacKichan Software, Inc.),^^J% - these additional packages are needed:^^J% - \string\usepackage[T1]{fontenc}^^J% - \string\usepackage{amsfonts}^^J% - \string\usepackage[math]{cellspace}^^J% - \string\usepackage{xcolor}^^J% - \string\pagecolor{white}^^J% - \string\providecommand{\string\QTO}[2]{\string##2}^^J% - especially before hyperref and thumbs,^^J% - but best right after the \string\documentclass!^^J% - ^^J% + When compiling with SWP 5.50 Build 2960\MessageBreak% + (copyright MacKichan Software, Inc.)\MessageBreak% + and using an older version of the thumbs package\MessageBreak% + these additional packages were needed:\MessageBreak% + \string\usepackage[T1]{fontenc}\MessageBreak% + \string\usepackage{amsfonts}\MessageBreak% + \string\usepackage[math]{cellspace}\MessageBreak% + \string\usepackage{xcolor}\MessageBreak% + \string\pagecolor{white}\MessageBreak% + \string\providecommand{\string\QTO}[2]{\string##2}\MessageBreak% + especially before hyperref and thumbs,\MessageBreak% + but best right after the \string\documentclass!% }% - } + }{% Probably not SWP/SW/SN + } -\RequirePackage{kvoptions}[2010/12/23]% v3.10 -\RequirePackage{atbegshi}[2011/01/30]% v1.15 +\RequirePackage{kvoptions}[2011/06/30]% v3.11 +\RequirePackage{atbegshi}[2011/10/05]% v1.16 \RequirePackage{xcolor}[2007/01/21]% v2.11 \RequirePackage{picture}[2009/10/11]% v1.3 -\RequirePackage{alphalph}[2010/04/18]% v2.3 -\RequirePackage{pageslts}[2011/08/08]% v1.2a +\RequirePackage{alphalph}[2011/05/13]% v2.4 +\RequirePackage{pageslts}[2014/01/19]% v1.2c \RequirePackage{pagecolor}[2012/02/23]% v1.0e \RequirePackage{rerunfilecheck}[2011/04/15]% v1.7 \RequirePackage{infwarerr}[2010/04/08]% v1.3 -\RequirePackage{ltxcmds}[2011/04/18]% v1.20 -\RequirePackage{atveryend}[2011/04/23]% v1.7 -%% \RequirePackage{atveryend}[2011/06/30]% v1.8 -%% would be needed but is currently (2012/02/25) not available at CTAN yet. +\RequirePackage{ltxcmds}[2011/11/09]% v1.22 +\RequirePackage{atveryend}[2011/06/30]% v1.8 %% thumbs may work with earlier versions of LaTeX2e and those packages, %% but this was not tested. Please consider updating your LaTeX contribution %% and packages to the most recent version (if they are not already the most @@ -100,13 +87,13 @@ {\@ifpackagelater{atveryend}{2011/06/29}% {% 2011/06/30, v1.8, or even more recent: OK }{% else: older package version, no \AtVeryVeryEnd - \PackageWarningNoLine{thumbs}{% + \PackageError{thumbs}{Outdated atveryend package version}{% LaTeX 2011/06/27 has changed \string\enddocument\space and thus broken the\MessageBreak% \string\AtVeryVeryEnd\space command/hooking of atveryend package as of\MessageBreak% - 2011/04/23, v1.7. New package version 2011/06/30, v1.8, works with\MessageBreak% + 2011/04/23, v1.7. Package versions 2011/06/30, v1.8, and later work with\MessageBreak% the new LaTeX format, but some older package version was loaded.\MessageBreak% - (As of 2012/02/25, the new version is NOT available at CTAN yet.)\MessageBreak% - For fixing this problem until the update is available,\MessageBreak% + Please update to the newer atveryend package.\MessageBreak% + For fixing this problem until the updated package is installed,\MessageBreak% \string\let\string\AtVeryVeryEnd\string\AtEndAfterFileList\MessageBreak% is used now, fingers crossed.% }% @@ -127,6 +114,12 @@ \DeclareStringOption{distance}[2mm] \DeclareStringOption{topthumbmargin}[auto] \DeclareStringOption{bottomthumbmargin}[auto] +\DeclareStringOption[5pt]{eventxtindent}[5pt] +\DeclareStringOption[5pt]{oddtxtexdent}[5pt] +\DeclareStringOption[0pt]{evenmarkindent}[0pt] +\DeclareStringOption[0pt]{oddmarkexdent}[0pt] +\DeclareStringOption[0pt]{evenprintvoffset}[0pt] +\DeclareBoolOption[false]{txtcentered} \DeclareBoolOption[true]{ignorehoffset} \DeclareBoolOption[true]{ignorevoffset} \DeclareBoolOption{nophantomsection}% false by default, but true if used @@ -135,14 +128,17 @@ \DeclareBoolOption{draft} \DeclareComplementaryOption{final}{draft} \DeclareBoolOption[false]{hidethumbs} +%% Obsolete options: \DeclareStringOption{pagecolor} +\DeclareStringOption{evenindent} +\DeclareStringOption{oddexdent} \ProcessKeyvalOptions* -\ifx\thumbs@pagecolor\empty% +\ifx\thumbs@pagecolor\empty\relax \pagecolor{\thepagecolor} \else - \PackageWarningNoLine{thumbs}{Option pagecolor is obsolete.\MessageBreak% + \PackageError{thumbs}{Option pagecolor is obsolete}{% Instead the pagecolor package is used.\MessageBreak% Use \string\pagecolor{...}\space after \string\usepackage[...]{thumbs}\space and\MessageBreak% before \string\begin{document}\space to define a background colour\MessageBreak% @@ -150,6 +146,22 @@ \pagecolor{\thumbs@pagecolor} \fi +\ifx\thumbs@evenindent\empty\relax +\else + \PackageError{thumbs}{Option evenindent is obsolete}{% + Option "evenindent" was renamed to "eventxtindent",\MessageBreak% + the obsolete "evenindent" is no longer regarded.\MessageBreak% + Please change your document accordingly} +\fi + +\ifx\thumbs@oddexdent\empty\relax +\else + \PackageError{thumbs}{Option oddexdent is obsolete}{% + Option "oddexdent" was renamed to "oddtxtexdent",\MessageBreak% + the obsolete "oddexdent" is no longer regarded.\MessageBreak% + Please change your document accordingly} +\fi + \ifthumbs@ignorehoffset \PackageInfo{thumbs}{% Option ignorehoffset NOT =false:\MessageBreak% @@ -192,9 +204,9 @@ \gdef\th@mbs@linefill{\dotfill} \else \PackageError{thumbs}{Option linefill with invalid value}{% - Option linefill has value '\thumbs@linefill'.\MessageBreak% - Valid values are '' (empty), 'line', or 'dots'.\MessageBreak% - '' (empty) will be used now.\MessageBreak% + Option linefill has value "\thumbs@linefill ".\MessageBreak% + Valid values are "" (empty), "line", or "dots".\MessageBreak% + "" (empty) will be used now.\MessageBreak% } \gdef\th@mbs@linefill{\hspace*{\fill}} \fi @@ -209,13 +221,25 @@ \newdimen\th@mbposx \newdimen\th@mbposy \newdimen\th@mbposyA +\newdimen\th@mbposyB \newdimen\th@mbposytop \newdimen\th@mbposybottom \newdimen\th@mbwidthxtoc +\newdimen\th@mbwidthtmp \newdimen\th@mbsposytocy \newdimen\th@mbsposytocyy -\newdimen\th@mbsdistance% vertical distance between thumb marks +\newdimen\th@mbHitO +\setlength{\th@mbHitO}{\thumbs@oddtxtexdent} +\newdimen\th@mbHitE +\setlength{\th@mbHitE}{\thumbs@eventxtindent} + +\newdimen\th@mbHimO +\setlength{\th@mbHimO}{\thumbs@oddmarkexdent} +\newdimen\th@mbHimE +\setlength{\th@mbHimE}{\thumbs@evenmarkindent} + +\newdimen\th@mbsdistance \ifx\thumbs@distance\empty% \setlength{\th@mbsdistance}{1mm} \else @@ -274,6 +298,25 @@ } \fi +\newcommand{\th@mb@txtBox}[4]{% + \parbox[c][\th@mbheighty][c]{#4}{% + \settowidth{\th@mbwidthtmp}{\normalsize #2}% + \addtolength{\th@mbwidthtmp}{-#4}% + \ifthumbs@txtcentered% + {\centering{\color{#1}\normalsize #2}}% + \else% + \def\th@mbstest{#3}% + \def\th@mbstestb{r}% + \ifx\th@mbstest\th@mbstestb% + \ifdim\th@mbwidthtmp >0sp\relax\hspace*{-\th@mbwidthtmp}\fi% + {\raggedleft\leftskip 0sp minus \textwidth{\hfill\color{#1}\normalsize{#2}}}% + \else% \th@mbstest = l + {\raggedright{\color{#1}\normalsize\hspace*{1pt}\space{#2}}}% + \fi% + \fi% + }% + } + \newcommand{\setth@mbheight}{% \setlength{\th@mbheighty}{\z@} \advance\th@mbheighty+\headheight @@ -309,11 +352,12 @@ \ifdim \thumbs@minheight > \@tempdima% ok \else \PackageError{thumbs}{Option minheight has invalid value}{% - Please use a number and a length unit (e.g. mm, cm, pt)\MessageBreak% - and no space between as value for option minheight\MessageBreak% + As value for option minheight please use\MessageBreak% + a number and a length unit (e.g. mm, cm, pt)\MessageBreak% + and no space between them\MessageBreak% and include this value+unit combination in curly brackets\MessageBreak% (please see the thumbs-example.tex file).\MessageBreak% - When pressing return, minheight will now be set to 47pt.\MessageBreak% + When pressing Return, minheight will now be set to 47pt.\MessageBreak% } \setlength{\thumbs@minheight}{47pt} \fi @@ -328,12 +372,12 @@ \setth@mbheight \ifdim \th@mbheighty < \thumbs@minheight \PackageWarningNoLine{thumbs}{Thumbs not high enough:\MessageBreak% - Option height has value 'auto'. For \th@mbsmax\space thumbs per page\MessageBreak% + Option height has value "auto". For \th@mbsmax\space thumbs per page\MessageBreak% this results in a thumb height of \the\th@mbheighty.\MessageBreak% This is lower than the minimal thumb height, \thumbs@minheight,\MessageBreak% therefore another thumbs column will be opened.\MessageBreak% If you do not want this, choose a smaller value\MessageBreak% - for option 'minheight'% + for option "minheight"% } \setlength{\th@mbheighty}{\z@} \advance\th@mbheighty by \@tempdima% = \thumbs@minheight @@ -358,7 +402,7 @@ \else \setlength{\th@mbwidthx}{\paperwidth} \advance\th@mbwidthx-\textwidth - \divide\th@mbwidthx4 + \divide\th@mbwidthx by 4 \setlength{\@tempdima}{0sp} \ifx\thumbs@width\empty% \else @@ -390,7 +434,7 @@ \setlength{\th@mbwidthx}{\thumbs@width} \else \PackageError{thumbs}{Thumbs not wide enough}{% - Option width has value '\thumbs@width'.\MessageBreak% + Option width has value "\thumbs@width".\MessageBreak% This is not a valid dimension larger than zero.\MessageBreak% Width will be set automatically.\MessageBreak% } @@ -429,7 +473,7 @@ \ifdim \thumbs@topthumbmargin > \@tempdima% OK \else \PackageWarning{thumbs}{Thumbs column starting too high.\MessageBreak% - Option topthumbmargin has value '\thumbs@topthumbmargin'.\MessageBreak% + Option topthumbmargin has value "\thumbs@topthumbmargin ".\MessageBreak% topthumbmargin will be set to -1pt.\MessageBreak% } \gdef\thumbs@topthumbmargin{-1pt} @@ -481,8 +525,8 @@ \advance\@tempdima by -\th@mbsdistance \advance\@tempdima by -1pt \PackageWarning{thumbs}{Thumbs column ending too high.\MessageBreak% - Option bottomthumbmargin has value '\thumbs@bottomthumbmargin'.\MessageBreak% - bottomthumbmargin will be set to '\the\@tempdima'.\MessageBreak% + Option bottomthumbmargin has value "\thumbs@bottomthumbmargin ".\MessageBreak% + bottomthumbmargin will be set to "\the\@tempdima".\MessageBreak% } \xdef\thumbs@bottomthumbmargin{\the\@tempdima} \fi @@ -490,7 +534,7 @@ \setlength{\@tempdimc}{-1pt} \ifdim \@tempdima < \@tempdimc% \PackageWarning{thumbs}{Thumbs column ending too low.\MessageBreak% - Option bottomthumbmargin has value '\thumbs@bottomthumbmargin'.\MessageBreak% + Option bottomthumbmargin has value "\thumbs@bottomthumbmargin ".\MessageBreak% bottomthumbmargin will be set to -1pt.\MessageBreak% } \gdef\thumbs@bottomthumbmargin{-1pt} @@ -559,9 +603,7 @@ \gdef\th@mbsphantom{1} -\newcommand{\thumbsnophantom}{% - \gdef\th@mbsphantom{0}% - } +\newcommand{\thumbsnophantom}{\gdef\th@mbsphantom{0}} \newcommand{\addthumb}[4]{% \gdef\th@mbprinting{1}% @@ -585,7 +627,12 @@ \gdef\th@mbtext{#2}% \gdef\th@mbtextcolour{#3}% \gdef\th@mbbackgroundcolour{#4}% - \settowidth{\@tempdima}{\th@mbtext\space}% + \settowidth{\@tempdima}{\th@mbtext}% + \ifdim\th@mbHitO>\th@mbHitE\relax% + \advance\@tempdima+\th@mbHitO% + \else% + \advance\@tempdima+\th@mbHitE% + \fi% \ifdim\@tempdima>\th@mbmaxwidth% \xdef\th@mbmaxwidth{\the\@tempdima}% \fi% @@ -703,24 +750,52 @@ \advance\th@mbwidthxtoc-1in% \def\th@mbstest{r}% \ifx\th@mbstest\th@mbsprintpage% r + \advance\th@mbwidthxtoc-\th@mbHimO% \advance\th@mbwidthxtoc-\oddsidemargin% \setlength{\@tempdimc}{1in}% \advance\@tempdimc+\oddsidemargin% \else% l + \advance\th@mbwidthxtoc-\th@mbHimE% \advance\th@mbwidthxtoc-\evensidemargin% \setlength{\@tempdimc}{\th@bmshoffset}% \advance\@tempdimc-\hoffset \fi% - \put(\@tempdimc,-\th@mbposy){% - \def\th@mbstest{l}% + \setlength{\th@mbposyB}{-\th@mbposy}% + \if@twoside% + \ifodd\c@CurrentPage% + \ifx\th@mbtikz\pagesLTS@zero% + \else% + \setlength{\@tempdimb}{-\th@mbposy}% + \advance\@tempdimb-\thumbs@evenprintvoffset% + \setlength{\th@mbposyB}{\@tempdimb}% + \fi% + \else% + \ifx\th@mbtikz\pagesLTS@zero% + \setlength{\@tempdimb}{-\th@mbposy}% + \advance\@tempdimb-\thumbs@evenprintvoffset% + \setlength{\th@mbposyB}{\@tempdimb}% + \fi% + \fi% + \fi% + \def\th@mbstest{l}% + \ifx\th@mbstest\th@mbsprintpage% l + \advance\@tempdimc+\th@mbHimE% + \fi% + \put(\@tempdimc,\th@mbposyB){% \ifx\th@mbstest\th@mbsprintpage% l - \advance\th@mbwidthxtoc+\evensidemargin% + \ifdim\evensidemargin <0sp\relax% + \advance\th@mbwidthxtoc-\evensidemargin% + \else% >=0sp + \advance\th@mbwidthxtoc+\evensidemargin% + \fi% \fi% \begin{picture}(0,0)% \def\th@mbstest{rule}% \ifx\thumbs@thumblink\th@mbstest% \ifx\th@mb@tmp@column\pagesLTS@zero% - {\color{\th@mb@tmp@backgroundcolour}\hyperref[\th@mb@tmp@label]{\rule{\th@mbwidthxtoc}{\th@mbheighty}}}% + {\color{\th@mb@tmp@backgroundcolour}% + \hyperref[\th@mb@tmp@label]{\rule{\th@mbwidthxtoc}{\th@mbheighty}}% + }% \else% {\color{\th@mb@tmp@backgroundcolour}\rule{\th@mbwidthxtoc}{\th@mbheighty}}% \fi% @@ -746,10 +821,40 @@ \setlength{\th@mbwidthxtoc}{\textwidth}% \fi% \ifx\th@mbstest\th@mbsprintpage% l - \begin{picture}(0,0)(-6pt,-0.5\th@mbheighty+384930sp)% + \begin{picture}(-\th@mbHimE,0)(-6pt,-0.5\th@mbheighty+384930sp)% \bgroup% \setlength{\parindent}{0pt}% - \makebox[\th@mbwidthx][l]{{\color{\th@mb@tmp@textcolour}\th@mb@tmp@text}}% + \setlength{\@tempdimc}{\th@mbwidthx}% + \advance\@tempdimc-\th@mbHitO% + \setlength{\@tempdimb}{\th@mbwidthx}% + \advance\@tempdimb-\th@mbHitE% + \ifodd\c@CurrentPage% + \if@twoside% + \ifx\th@mbtikz\pagesLTS@zero% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \else% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{l}{\@tempdimb}% + \fi% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \else% + \if@twoside% + \ifx\th@mbtikz\pagesLTS@zero% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{l}{\@tempdimb}% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \fi% \egroup% \end{picture}% \setlength{\@tempdimc}{-1in}% @@ -809,7 +914,7 @@ and the thumbs package did not change it.\MessageBreak% Therefore some other package (or the user)\MessageBreak% manipulated it.\MessageBreak% - Now setting it to 'none' as last resort.\MessageBreak% + Now setting it to "none" as last resort.\MessageBreak% }% \gdef\thumbs@thumblink{none}% {\color{\th@mb@tmp@textcolour}\noindent% @@ -831,7 +936,37 @@ \begin{picture}(0,0)(1in+\oddsidemargin-\th@mbxpos+20pt,-0.5\th@mbheighty+384930sp)% \bgroup% \setlength{\parindent}{0pt}% - \makebox[\th@mbwidthx][r]{{\color{\th@mb@tmp@textcolour}\th@mb@tmp@text}}% + \setlength{\@tempdimc}{\th@mbwidthx}% + \advance\@tempdimc-\th@mbHitO% + \setlength{\@tempdimb}{\th@mbwidthx}% + \advance\@tempdimb-\th@mbHitE% + \ifodd\c@CurrentPage% + \if@twoside% + \ifx\th@mbtikz\pagesLTS@zero% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \else% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{l}{\@tempdimb}% + \fi% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \else% + \if@twoside% + \ifx\th@mbtikz\pagesLTS@zero% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{l}{\@tempdimb}% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \else% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{\th@mb@tmp@textcolour}{\protect\th@mb@tmp@text}{r}{\@tempdimc}% + \fi% + \fi% \egroup% \end{picture}% \fi% @@ -878,38 +1013,59 @@ } \newcommand{\th@mbprint}[3]{% - \put(\th@mbxpos,-\th@mbposyA){% + \setlength{\th@mbposyB}{-\th@mbposyA}% + \if@twoside% + \ifodd\c@CurrentPage% + \ifx\th@mbtikz\pagesLTS@zero% + \else% + \setlength{\@tempdimc}{-\th@mbposyA}% + \advance\@tempdimc-\thumbs@evenprintvoffset% + \setlength{\th@mbposyB}{\@tempdimc}% + \fi% + \else% + \ifx\th@mbtikz\pagesLTS@zero% + \setlength{\@tempdimc}{-\th@mbposyA}% + \advance\@tempdimc-\thumbs@evenprintvoffset% + \setlength{\th@mbposyB}{\@tempdimc}% + \fi% + \fi% + \fi% + \put(\th@mbxpos,\th@mbposyB){% \begin{picture}(0,0)% {\color{#3}\rule{\th@mbwidthx}{\th@mbheighty}}% \end{picture}% \begin{picture}(0,0)(0,-0.5\th@mbheighty+384930sp)% \bgroup% \setlength{\parindent}{0pt}% + \setlength{\@tempdimc}{\th@mbwidthx}% + \advance\@tempdimc-\th@mbHitO% + \setlength{\@tempdimb}{\th@mbwidthx}% + \advance\@tempdimb-\th@mbHitE% \ifodd\c@CurrentPage% \if@twoside% \ifx\th@mbtikz\pagesLTS@zero% - %\makebox[\th@mbwidthx][r]{{\color{#2}#1\space}}% - \parbox{\th@mbwidthx}{{\raggedleft{\hfill \color{#2}#1\space}}}% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{#2}{#1}{r}{\@tempdimc}% \else% - %\makebox[\th@mbwidthx][l]{{\color{#2}\hspace*{1pt}\space #1}}% - \parbox{\th@mbwidthx}{{\raggedright{\color{#2}\hspace*{1pt}\space #1}}}% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{#2}{#1}{l}{\@tempdimb}% \fi% \else% - %\makebox[\th@mbwidthx][r]{{\color{#2}#1\space}}% - \parbox{\th@mbwidthx}{{\raggedleft{\hfill \color{#2}#1\space}}}% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{#2}{#1}{r}{\@tempdimc}% \fi% \else% \if@twoside% \ifx\th@mbtikz\pagesLTS@zero% - %\makebox[\th@mbwidthx][l]{{\color{#2}\hspace*{1pt}\space #1}}% - \parbox{\th@mbwidthx}{{\raggedright{\color{#2}\hspace*{1pt}\space #1}}}% + \hspace*{+\th@mbHitE}% + \th@mb@txtBox{#2}{#1}{l}{\@tempdimb}% \else% - %\makebox[\th@mbwidthx][r]{{\color{#2}#1\space}}% - \parbox{\th@mbwidthx}{{\raggedleft{\hfill \color{#2}#1\space}}}% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{#2}{#1}{r}{\@tempdimc}% \fi% \else% - %\makebox[\th@mbwidthx][r]{{\color{#2}#1\space}}% - \parbox{\th@mbwidthx}{{\raggedleft{\hfill \color{#2}#1\space}}}% + \hspace*{-\th@mbHitO}% + \th@mb@txtBox{#2}{#1}{r}{\@tempdimc}% \fi% \fi% \egroup% @@ -947,17 +1103,27 @@ \advance\th@mbposx+1pt% \xdef\th@mbpaperwidth{\the\paperwidth}% \fi% - \def\th@mbxpos{\th@mbposx}% + \edef\th@mbxpos{\the\th@mbposx}% \ifodd\@tempcnta% \relax \else% \if@twoside% \ifthumbs@ignorehoffset% - \def\th@mbxpos{-1pt-\hoffset}% + \setlength{\@tempdimc}{-\hoffset}% + \advance\@tempdimc-1pt% + \edef\th@mbxpos{\the\@tempdimc}% \else% \def\th@mbxpos{-1pt}% \fi% \fi% \fi% + \setlength{\@tempdimc}{\th@mbxpos}% + \if@twoside% + \ifodd\@tempcnta \advance\@tempdimc-\th@mbHimO% + \else \advance\@tempdimc+\th@mbHimE% + \fi% + \else \advance\@tempdimc-\th@mbHimO% + \fi% + \edef\th@mbxpos{\the\@tempdimc}% \AtBeginShipoutUpperLeft{% \ifx\th@mbprinting\pagesLTS@one% \th@mbprint{\th@mbtextA}{\th@mbtextcolourA}{\th@mbbackgroundcolourA}% @@ -1048,8 +1214,8 @@ } \newcommand{\addthumbsoverviewtocontents}[2]{% - \gdef\th@mbs@toc@level{#1} - \gdef\th@mbs@toc@text{#2} + \gdef\th@mbs@toc@level{#1}% + \gdef\th@mbs@toc@text{#2}% } \newcommand{\clearotherdoublepage}{% @@ -1102,8 +1268,8 @@ \PackageError{thumbs}{% Invalid second parameter of \string\thumbsoverviewprint % }{The second argument of command \string\thumbsoverviewprint\space must be\MessageBreak% - either 'r' or 'l' or 'v' or 'd', but is 'X2'.\MessageBreak% - Now 'r' is chosen instead.\MessageBreak% + either "r" or "l" or "v" or "d" but it is neither.\MessageBreak% + Now "r" is chosen instead.\MessageBreak% }% \gdef\th@mbsprintpage{r}% \fi% @@ -1130,10 +1296,10 @@ \ifx\thumbs@thumblink\th@mbstest% OK \else% \PackageError{thumbs}{Option thumblink with invalid value}{% - Option thumblink has value '\thumbs@thumblink'.\MessageBreak% - Valid values are 'none', 'title', 'page',\MessageBreak% - 'titleandpage', 'line', or 'rule'.\MessageBreak% - 'rule' will be used now.\MessageBreak% + Option thumblink has invalid value "\thumbs@thumblink ".\MessageBreak% + Valid values are "none", "title", "page",\MessageBreak% + "titleandpage", "line", or "rule".\MessageBreak% + "rule" will be used now.\MessageBreak% }% \gdef\thumbs@thumblink{rule}% \fi% @@ -1142,11 +1308,11 @@ \fi% \fi% }{% hyperref not loaded - \PackageError{thumbs}{Option thumblink != none, but hyperref not loaded}{% - The option thumblink of the thumbs package was not set to 'none',\MessageBreak% + \PackageError{thumbs}{Option thumblink not "none", but hyperref not loaded}{% + The option thumblink of the thumbs package was not set to "none",\MessageBreak% but to some kind of hyperlinks, without using package hyperref.\MessageBreak% - Either choose option 'thumblink=none', or load package hyperref.\MessageBreak% - When pressing return, 'thumblink=none' will be set now.\MessageBreak% + Either choose option "thumblink=none", or load package hyperref.\MessageBreak% + When pressing Return, "thumblink=none" will be set now.\MessageBreak% }% \gdef\thumbs@thumblink{none}% }% @@ -1304,14 +1470,14 @@ \else% THIS SHOULD NEVER HAPPEN! \PackageError{thumbs}{Unexpected error! (Really!)}{% ! You are in trouble here.\MessageBreak% - ! Type\space \space X \string\space to quit.\MessageBreak% + ! Type\space \space X \string\space to quit.\MessageBreak% ! Delete temporary auxiliary files\MessageBreak% ! (like \jobname.aux, \jobname.tmb, \jobname.out)\MessageBreak% ! and retry the compilation.\MessageBreak% ! If the error persists, cross your fingers\MessageBreak% - ! and try typing\space \space \string\space to proceed.\MessageBreak% + ! and try typing\space \space \string\space to proceed.\MessageBreak% ! If that does not work,\MessageBreak% - ! you might contact the maintainer of the thumbs package.\MessageBreak% + ! please contact the maintainer of the thumbs package.\MessageBreak% }% \fi% \fi% @@ -1366,7 +1532,7 @@ \renewcommand{\addthumb}[4]{\relax} \PackageWarningNoLine{thumbs}{thumbs package in hide mode:\MessageBreak% Thumb marks are hidden.\MessageBreak% - Remove package option hide to get thumb marks.\MessageBreak% + Set package option "hidethumbs=false" to get thumb marks% } \renewcommand{\thumbnewcolumn}{\relax} \fi -- cgit v1.2.3