diff options
author | Karl Berry <karl@freefriends.org> | 2011-08-24 00:05:47 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-08-24 00:05:47 +0000 |
commit | be52161d176ec8b83077d89810997f588fa7e62e (patch) | |
tree | 770bd5d505dfea2672a27a55633e6c6f508c868e /Master/texmf-dist/source | |
parent | 3d1639d263d3315ae55d789b527ff12499ed8549 (diff) |
regstats (23aug11)
git-svn-id: svn://tug.org/texlive/trunk@23662 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/regstats/regstats.drv | 6 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/regstats/regstats.dtx | 528 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/regstats/regstats.ins | 6 |
3 files changed, 315 insertions, 225 deletions
diff --git a/Master/texmf-dist/source/latex/regstats/regstats.drv b/Master/texmf-dist/source/latex/regstats/regstats.drv index d849144ecfe..25b0f58547f 100644 --- a/Master/texmf-dist/source/latex/regstats/regstats.drv +++ b/Master/texmf-dist/source/latex/regstats/regstats.drv @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: regstats -%% Version: 2011/06/18 v1.0d +%% Version: 2011/08/23 v1.0f %% %% Copyright (C) 2011 by %% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> @@ -38,9 +38,9 @@ %% regstats.sty, regstats.pdf, regstats.ins, regstats.drv, %% regstats-example.tex. %% -\NeedsTeXFormat{LaTeX2e}[2009/09/24] +\NeedsTeXFormat{LaTeX2e}[2011/06/24]% \ProvidesFile{regstats.drv}% - [2011/06/18 v1.0d Counting used registers (HMM)]% + [2011/08/23 v1.0f Counting used registers (HMM)]% \documentclass{ltxdoc}[2007/11/11]% v2.0u \usepackage{pdflscape}[2008/08/11]% v0.10 \usepackage{holtxdoc}[2011/02/04]% v0.21 diff --git a/Master/texmf-dist/source/latex/regstats/regstats.dtx b/Master/texmf-dist/source/latex/regstats/regstats.dtx index b05dcda2c73..bef7805d12d 100644 --- a/Master/texmf-dist/source/latex/regstats/regstats.dtx +++ b/Master/texmf-dist/source/latex/regstats/regstats.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % % File: regstats.dtx -% Version: 2011/06/18 v1.0d +% Version: 2011/08/23 v1.0f % % Copyright (C) 2011 by % H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> @@ -80,7 +80,7 @@ \input docstrip.tex \Msg{******************************************************************} \Msg{* Installation} -\Msg{* Package: regstats 2011/06/18 v1.0d Counting used registers (HMM)} +\Msg{* Package: regstats 2011/08/23 v1.0f Counting used registers (HMM)} \Msg{******************************************************************} \keepsilent @@ -92,7 +92,7 @@ This is a generated file. Project: regstats -Version: 2011/06/18 v1.0d +Version: 2011/08/23 v1.0f Copyright (C) 2011 by H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> @@ -174,9 +174,9 @@ and the derived files % % \begin{macrocode} %<*driver> -\NeedsTeXFormat{LaTeX2e}[2009/09/24] +\NeedsTeXFormat{LaTeX2e}[2011/06/24]% \ProvidesFile{regstats.drv}% - [2011/06/18 v1.0d Counting used registers (HMM)]% + [2011/08/23 v1.0f Counting used registers (HMM)]% \documentclass{ltxdoc}[2007/11/11]% v2.0u \usepackage{pdflscape}[2008/08/11]% v0.10 \usepackage{holtxdoc}[2011/02/04]% v0.21 @@ -213,7 +213,7 @@ and the derived files % % \fi % -% \CheckSum{511} +% \CheckSum{541} % % \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 @@ -263,7 +263,7 @@ and the derived files % \DoNotIndex{\value,\setcounter,\addtocounter,\arabic,\csname,\endscname} % % \title{The \xpackage{regstats} package} -% \date{2011/06/18 v1.0d} +% \date{2011/08/23 v1.0f} % \author{H.-Martin M\"{u}nch\\\xemail{Martin.Muench at Uni-Bonn.de}} % % \maketitle @@ -273,7 +273,7 @@ and the derived files % (counter, dimen, skip, muskip, box, token, input, output, % math families, languages, insertions) % and compare these to the maximum available number of such registers. -% The time needed for a compilation run can be anounced. +% The time needed for a compilation run can be announced. % \end{abstract} % % \bigskip @@ -384,8 +384,9 @@ and the derived files \documentclass[british]{article}[2007/10/19]% v1.4h %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% \usepackage{etex}[1998/03/26]% v2.0 -%% Uncomment the preceding line, if you want to use eTeX. -\usepackage{hyperref}[2011/04/17]% v6.82g +%% Uncomment the preceding line, if you want to use the eTeX-package +%% (which requires eTeX, of course). +\usepackage{hyperref}[2011/08/19]% v6.82h \hypersetup{extension=pdf,% plainpages=false,% pdfpagelabels=true,% @@ -399,7 +400,7 @@ and the derived files pdfview=Fit,pdfstartview=Fit,% pdfpagelayout=SinglePage% } -\usepackage[proof=false,left=true,timer=true]{regstats}[2011/06/18]% v1.0d +\usepackage[proof=false,left=true,timer=true]{regstats}[2011/08/23]% v1.0f \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% \listfiles \begin{document} @@ -407,7 +408,7 @@ and the derived files \section*{Example for regstats} This example demonstrates the use of package\newline -\textsf{regstats}, v1.0d as of 2011/06/18 (HMM).\newline +\textsf{regstats}, v1.0f as of 2011/08/23 (HMM).\newline The used options were \texttt{proof=false,left=true,timer=true}.\newline \texttt{proof=false} is the default, but neither \texttt{left=true} nor \texttt{timer=true} are defaults (\texttt{left=false,timer=false} @@ -450,8 +451,8 @@ option \texttt{timer} is not demonstrated very spectacular. % \end{macrocode} % % \begin{macrocode} -\NeedsTeXFormat{LaTeX2e}[2009/09/24] -\ProvidesPackage{regstats}[2011/06/18 v1.0d +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{regstats}[2011/08/23 v1.0f Counting used registers (HMM)] % \end{macrocode} @@ -471,7 +472,7 @@ option \texttt{timer} is not demonstrated very spectacular. % % \begin{macrocode} \RequirePackage{kvoptions}[2010/12/23]% v3.10 -\RequirePackage{atveryend}[2011/04/23]% v1.7 +\RequirePackage{atveryend}[2011/06/30]% v1.8 % \end{macrocode} % @@ -527,12 +528,58 @@ option \texttt{timer} is not demonstrated very spectacular. % \end{macrocode} % -% We try to determine, whether \eTeX\ is available in the -% \LaTeX\ distribution used to compile the document +% \LaTeXe{} 2011/06/27 changed the |\enddocument| command and thus +% broke the \xpackage{atveryend} package, which was then fixed. +% If new \LaTeXe{} and old \xpackage{atveryend} are combined, +% |\AtVeryVeryEnd| will never be called. Therefore we\\ +% |\let\AtVeryVeryEnd\AtEndAfterFileList| and give an error message. +% It is no problem at all for the \xpackage{regstats} package, +% but other packages might really need |\AtVeryVeryEnd|, +% and the user might lose code and never get to know it +% (and just run into problems of unknown origin).\\ +% |\@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 2009/09/24. +% +% \begin{macrocode} +\@ifl@t@r\fmtversion{2011/06/27}% + {\@ifpackagelater{atveryend}{2011/06/29}% + {% 2011/06/30, v1.8, or even more recent + }{% older version + \PackageError{regstats}{Outdated atveryend package}% + {You use \fmtname \space <\fmtversion>, but only \MessageBreak% + `\csname ver@atveryend.\@currext\endcsname',\MessageBreak% + which is incompatibel with \fmtname \space <\fmtversion>.\MessageBreak% + Please update your atveryend package!\MessageBreak% + The regstats package now replaces \string\AtVeryVeryEnd \MessageBreak% + by \string\AtEndAfterFileList.\MessageBreak% + }% + \let\AtVeryVeryEnd\AtEndAfterFileList% + }% + }{% +% \end{macrocode} +% +% 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{regstats} should also work with older versions, +% I~used it with a 2003/12/01 version myself.) +% +% \begin{macrocode} + } + +% \end{macrocode} +% +% We try to determine, whether $\varepsilon$-\TeX{} is available in the +% \LaTeX{} distribution used to compile the document % and really loaded by the user. Because it is possible to % load packages |\AtBeginDocument|, but |\@ifpackageloaded| % cannot be used after |\AtBeginDocument|, we check for -% \eTeX\ |\AtBeginDocument| (and herewith ask the user +% $\varepsilon$-\TeX{} |\AtBeginDocument| (and herewith ask the user % to please load \xpackage{regstats} as very last package, % at least after the \xpackage{etex} package): % @@ -557,7 +604,6 @@ option \texttt{timer} is not demonstrated very spectacular. but should give according messages.\MessageBreak% } \fi - } % \end{macrocode} % @@ -568,48 +614,53 @@ option \texttt{timer} is not demonstrated very spectacular. % the number of remaining registers of that type. % % \begin{macrocode} -\AtVeryEndDocument{% - \AtVeryVeryEnd{% - \def\regstats@lft{}% - \newcommand{\regstats@regstat}[5]{% + \AtEndDocument{% + \BeforeClearDocument{% + \AfterLastShipout{% + \AtVeryEndDocument{% + \AtEndAfterFileList{% + \AtVeryVeryEnd{% + \def\regstats@lft{}% + \newcommand{\regstats@regstat}[5]{% % \end{macrocode} % % The five parameters are: number of used registers of that type, -% singular ending, plural ending, number of available registers without \eTeX{}, -% number of availabe registers with \eTeX\ (in this order). +% singular ending, plural ending, number of available registers without +% $\varepsilon$-\TeX{}, number of availabe registers with $\varepsilon$-\TeX{} +% (in this order). % % \begin{macrocode} - \setcounter{regstatscount}{#1} - \ifnum \value{regstatscount}=0 - \setcounter{regstatscount}{2} - \fi - \ifnum \value{regstatscount}>1 - \gdef\regstats@pl{#3} - \else - \gdef\regstats@pl{#2} - \fi - \ifetex\edef\regstats@max{#5}\else\edef\regstats@max{#4}\fi - \ifregstats@left - \setcounter{regstatscount}{\regstats@max} - \addtocounter{regstatscount}{-#1} - \ifnum \value{regstatscount}>0 - \edef\regstats@lft{, left: \arabic{regstatscount}} + \setcounter{regstatscount}{#1} + \ifnum \value{regstatscount}=0 + \setcounter{regstatscount}{2} + \fi + \ifnum \value{regstatscount}>1 + \gdef\regstats@pl{#3} \else - \ifnum \value{regstatscount}=0 - \edef\regstats@lft{, left: \arabic{regstatscount} !!!} - \else% \value{regstatscount}<0 - \edef\regstats@lft{, left: \arabic{regstatscount} **********} - \fi + \gdef\regstats@pl{#2} \fi + \ifetex\edef\regstats@max{#5}\else\edef\regstats@max{#4}\fi + \ifregstats@left + \setcounter{regstatscount}{\regstats@max} + \addtocounter{regstatscount}{-#1} + \ifnum \value{regstatscount}>0 + \edef\regstats@lft{, left: \arabic{regstatscount}} + \else + \ifnum \value{regstatscount}=0 + \edef\regstats@lft{, left: \arabic{regstatscount} !!!} + \else% \value{regstatscount}<0 + \edef\regstats@lft{, left: \arabic{regstatscount} **********} + \fi + \fi % \end{macrocode} % % | \else| |\regstats@lft| will stay |\empty|. % % \begin{macrocode} - \fi - } - \newcounter{regstatscount} - \edef\regstats@counter{\the\allocationnumber} + \fi + } + \newcounter{regstatscount} + \edef\regstats@counter{\the\allocationnumber} % \end{macrocode} % % When option |proof| was chosen, a new register of the named types is used @@ -617,127 +668,136 @@ option \texttt{timer} is not demonstrated very spectacular. % We give a warning about the use of additional registers. % % \begin{macrocode} - \ifregstats@proof - \PackageWarning{regstats}{% - Package regstats loaded with option 'proof'.\MessageBreak% - This package itself will now use\MessageBreak% - one of each register for testing!% - }% - \def\regstats@proof{1} - \edef\regstats@test{\the\count10} - \ifx\regstats@counter\regstats@test - \else \message{Discrepancy when counting count registers.^^J} - \def\regstats@proof{0} - \fi - \newdimen{\regstatsdimen} - \edef\regstats@dimen{\the\allocationnumber} - \edef\regstats@test{\the\count11} - \ifx\regstats@dimen\regstats@test - \else \message{Discrepancy when counting dimen registers.^^J} - \def\regstats@proof{0} - \fi - \newskip\regstatsskip - \edef\regstats@skip{\the\allocationnumber} - \edef\regstats@test{\the\count12} - \ifx\regstats@skip\regstats@test - \else \message{Discrepancy when counting skip registers.^^J} - \def\regstats@proof{0} - \fi - \newmuskip\regstatsmuskip - \edef\regstats@muskip{\the\allocationnumber} - \edef\regstats@test{\the\count13} - \ifx\regstats@muskip\regstats@test - \else \message{Discrepancy when counting muskip registers.^^J} - \def\regstats@proof{0} - \fi - \newbox\regstatsbox - \edef\regstats@box{\the\allocationnumber} - \edef\regstats@test{\the\count14} - \ifx\regstats@box\regstats@test - \else \message{Discrepancy when counting box registers.^^J} - \def\regstats@proof{0} - \fi - \newtoks\regstatstoks - \edef\regstats@toks{\the\allocationnumber} - \edef\regstats@test{\the\count15} - \ifx\regstats@toks\regstats@test - \else \message{Discrepancy when counting toks registers.^^J} - \def\regstats@proof{0} - \fi - \newread\regstatsread - \edef\regstats@read{\the\allocationnumber} - \edef\regstats@test{\the\count16} - \ifx\regstats@read\regstats@test - \else \message{Discrepancy when counting read registers.^^J} - \def\regstats@proof{0} - \fi - \newwrite\regstatswrite - \edef\regstats@write{\the\allocationnumber} - \edef\regstats@test{\the\count17} - \ifx\regstats@write\regstats@test - \else \message{Discrepancy when counting write registers.^^J} - \def\regstats@proof{0} - \fi - \newfam\regstatsfam - \edef\regstats@fam{\the\allocationnumber} - \edef\regstats@test{\the\count18} - \ifx\regstats@fam\regstats@test - \else \message{Discrepancy when counting fam registers.^^J} - \def\regstats@proof{0} - \fi - \newlanguage\regstatslanguage - \edef\regstats@language{\the\allocationnumber} - \edef\regstats@test{\the\count19} - \ifx\regstats@language\regstats@test - \else \message{Discrepancy when counting language registers.^^J} - \def\regstats@proof{0} - \fi - \newinsert\regstatsinsert - \edef\regstats@insert{\the\allocationnumber} - \edef\regstats@test{\the\count20} - \ifx\regstats@insert\regstats@test - \else \message{Discrepancy when counting insert registers.^^J} - \def\regstats@proof{0} - \fi + \ifregstats@proof + \PackageWarning{regstats}{% + Package regstats loaded with option 'proof'.\MessageBreak% + This package itself will now use\MessageBreak% + one of each register for testing!% + }% + \def\regstats@proof{1} + \edef\regstats@test{\the\count10} + \ifx\regstats@counter\regstats@test + \else + \message{Discrepancy when counting count registers.^^J} + \def\regstats@proof{0} + \fi + \newdimen{\regstatsdimen} + \edef\regstats@dimen{\the\allocationnumber} + \edef\regstats@test{\the\count11} + \ifx\regstats@dimen\regstats@test + \else + \message{Discrepancy when counting dimen registers.^^J} + \def\regstats@proof{0} + \fi + \newskip\regstatsskip + \edef\regstats@skip{\the\allocationnumber} + \edef\regstats@test{\the\count12} + \ifx\regstats@skip\regstats@test + \else + \message{Discrepancy when counting skip registers.^^J} + \def\regstats@proof{0} + \fi + \newmuskip\regstatsmuskip + \edef\regstats@muskip{\the\allocationnumber} + \edef\regstats@test{\the\count13} + \ifx\regstats@muskip\regstats@test + \else + \message{Discrepancy when counting muskip registers.^^J} + \def\regstats@proof{0} + \fi + \newbox\regstatsbox + \edef\regstats@box{\the\allocationnumber} + \edef\regstats@test{\the\count14} + \ifx\regstats@box\regstats@test + \else + \message{Discrepancy when counting box registers.^^J} + \def\regstats@proof{0} + \fi + \newtoks\regstatstoks + \edef\regstats@toks{\the\allocationnumber} + \edef\regstats@test{\the\count15} + \ifx\regstats@toks\regstats@test + \else + \message{Discrepancy when counting toks registers.^^J} + \def\regstats@proof{0} + \fi + \newread\regstatsread + \edef\regstats@read{\the\allocationnumber} + \edef\regstats@test{\the\count16} + \ifx\regstats@read\regstats@test + \else + \message{Discrepancy when counting read registers.^^J} + \def\regstats@proof{0} + \fi + \newwrite\regstatswrite + \edef\regstats@write{\the\allocationnumber} + \edef\regstats@test{\the\count17} + \ifx\regstats@write\regstats@test + \else + \message{Discrepancy when counting write registers.^^J} + \def\regstats@proof{0} + \fi + \newfam\regstatsfam + \edef\regstats@fam{\the\allocationnumber} + \edef\regstats@test{\the\count18} + \ifx\regstats@fam\regstats@test + \else + \message{Discrepancy when counting fam registers.^^J} + \def\regstats@proof{0} + \fi + \newlanguage\regstatslanguage + \edef\regstats@language{\the\allocationnumber} + \edef\regstats@test{\the\count19} + \ifx\regstats@language\regstats@test + \else + \message{Discrepancy when counting language registers.^^J} + \def\regstats@proof{0} + \fi + \newinsert\regstatsinsert + \edef\regstats@insert{\the\allocationnumber} + \edef\regstats@test{\the\count20} + \ifx\regstats@insert\regstats@test + \else + \message{Discrepancy when counting insert registers.^^J} + \def\regstats@proof{0} + \fi % \end{macrocode} % % When there was a discrepancy somewhere, we give the according message. % % \begin{macrocode} - \edef\regstats@test{0} - \ifx\regstats@proof\regstats@test - \message{Regstats test for register numbers failed.^^J} - \message{Therefore option 'proof' is necessary to get the % - right numbers.^^J} - \fi - \else + \edef\regstats@test{0} + \ifx\regstats@proof\regstats@test + \message{Regstats test for register numbers failed.^^J} + \message{Therefore option 'proof' is necessary to get the % + right numbers.^^J} + \fi + \else % \end{macrocode} % -% \pagebreak -% % Without option |proof|, we just take the values of the various |count|s. % % \begin{macrocode} - \edef\regstats@dimen{\the\count11} - \edef\regstats@skip{\the\count12} - \edef\regstats@muskip{\the\count13} - \edef\regstats@box{\the\count14} - \edef\regstats@toks{\the\count15} - \edef\regstats@read{\the\count16} - \edef\regstats@write{\the\count17} - \edef\regstats@fam{\the\count18} - \edef\regstats@language{\the\count19} - \edef\regstats@insert{\the\count20} - \fi + \edef\regstats@dimen{\the\count11} + \edef\regstats@skip{\the\count12} + \edef\regstats@muskip{\the\count13} + \edef\regstats@box{\the\count14} + \edef\regstats@toks{\the\count15} + \edef\regstats@read{\the\count16} + \edef\regstats@write{\the\count17} + \edef\regstats@fam{\the\count18} + \edef\regstats@language{\the\count19} + \edef\regstats@insert{\the\count20} + \fi % \end{macrocode} % % |insert|s are used starting with a high number and moving downward. % % \begin{macrocode} - \setcounter{regstatscount}{233} - \addtocounter{regstatscount}{-\regstats@insert} - \addtocounter{regstatscount}{+1} - \edef\regstats@insert{\arabic{regstatscount}} + \setcounter{regstatscount}{233} + \addtocounter{regstatscount}{-\regstats@insert} + \addtocounter{regstatscount}{+1} + \edef\regstats@insert{\arabic{regstatscount}} % \end{macrocode} % % \newpage @@ -745,44 +805,46 @@ option \texttt{timer} is not demonstrated very spectacular. % % The number of used registers of each type and the number of available ones % (estimated, probably dependent on distribution and its version, here just -% distinguished according to availability of \eTeX{}) is written to screen -% and \xfile{log} file. (Additional spaces are just for increased ease of -% readability of the code and will appear neither at the scree output nor +% distinguished according to availability of $\varepsilon$-\TeX{}) is written +% to screen and \xfile{log} file. (Additional spaces are just for increased ease +% of readability of the code and will appear neither at the scree output nor % in the \xfile{log}~file.) % % \begin{macrocode} - \message{^^J} - \message{Here is how much of TeX's registers you used^^J}% - \message{\space (numbers of available registers are estimated!):^^J}% - \regstats@regstat{\regstats@counter}{}{s}{233}{32767} - \message{ \regstats@counter\space counter register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} - \regstats@regstat{\regstats@dimen}{}{s}{233}{32767} - \message{ \regstats@dimen\space dimen register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} - \regstats@regstat{\regstats@skip}{}{s}{233}{32767} - \message{ \regstats@skip\space skip register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} - \regstats@regstat{\regstats@muskip}{}{s}{255}{32767} - \message{ \regstats@muskip\space muskip register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} - \regstats@regstat{\regstats@box}{}{s}{233}{32767} - \message{ \regstats@box\space box register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} - \regstats@regstat{\regstats@toks}{}{s}{255}{32767} - \message{ \regstats@toks\space toks register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} - \regstats@regstat{\regstats@read}{}{s}{15}{15} - \message{ \regstats@read\space input stream\regstats@pl\space (read) out of \regstats@max \regstats@lft ^^J} - \regstats@regstat{\regstats@write}{}{s}{15}{15} - \message{ \regstats@write\space output stream\regstats@pl\space (write) out of \regstats@max \regstats@lft ^^J} - \regstats@regstat{\regstats@fam}{y}{ies}{15}{15} - \message{ \regstats@fam\space math famil\regstats@pl\space (fam) out of \regstats@max \regstats@lft ^^J} - \regstats@regstat{\regstats@language}{}{s}{255}{255} - \message{ \regstats@language\space language code\regstats@pl\space out of \regstats@max \regstats@lft ^^J} - \regstats@regstat{\regstats@insert}{}{s}{101}{124} - \message{ \regstats@insert\space insertion\regstats@pl\space out of \regstats@max \regstats@lft ^^J} + \message{^^J} + \message{Here is how much of TeX's registers you used^^J}% + \message{\space (numbers of available registers are estimated!):^^J}% + \regstats@regstat{\regstats@counter}{}{s}{233}{32767} + \message{ \regstats@counter\space counter register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} + \regstats@regstat{\regstats@dimen}{}{s}{233}{32767} + \message{ \regstats@dimen\space dimen register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} + \regstats@regstat{\regstats@skip}{}{s}{233}{32767} + \message{ \regstats@skip\space skip register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} + \regstats@regstat{\regstats@muskip}{}{s}{255}{32767} + \message{ \regstats@muskip\space muskip register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} + \regstats@regstat{\regstats@box}{}{s}{233}{32767} + \message{ \regstats@box\space box register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} + \regstats@regstat{\regstats@toks}{}{s}{255}{32767} + \message{ \regstats@toks\space toks register\regstats@pl\space out of \regstats@max \regstats@lft ^^J} + \regstats@regstat{\regstats@read}{}{s}{15}{15} + \message{ \regstats@read\space input stream\regstats@pl\space (read) out of \regstats@max \regstats@lft ^^J} + \regstats@regstat{\regstats@write}{}{s}{15}{15} + \message{ \regstats@write\space output stream\regstats@pl\space (write) out of \regstats@max \regstats@lft ^^J} + \regstats@regstat{\regstats@fam}{y}{ies}{15}{15} + \message{ \regstats@fam\space math famil\regstats@pl\space (fam) out of \regstats@max \regstats@lft ^^J} + \regstats@regstat{\regstats@language}{}{s}{255}{255} + \message{ \regstats@language\space language code\regstats@pl\space out of \regstats@max \regstats@lft ^^J} + \regstats@regstat{\regstats@insert}{}{s}{101}{124} + \message{ \regstats@insert\space insertion\regstats@pl\space out of \regstats@max \regstats@lft ^^J} % \end{macrocode} % % \pagebreak % \end{landscape} % % When option |timer| (or |timer=true|) was used, the \xpackage{regstats} package -% additionally gives the time, which was needed for the compilation. +% additionally gives the time, which was needed for the (last) compilation (run). +% When more than one compilation run are necessary to compile the document, +% the individual times have to be added up manually. % If~|\pdfelapsedtime| was reset by another package, the result is not correct, % of course, but unfortunately it is not possible to check for this. You could say % |\def\pdfresettimer{\relax}| immediately after |\documentclass[...]{...}| @@ -792,32 +854,39 @@ option \texttt{timer} is not demonstrated very spectacular. % to be notified thereof. This redefinition could be implemented in this % \xpackage{regstats} package, but this would have no effect for the use of % |\pdfresettimer| before this package is called. Because this package -% should be called immediately before |\begin{document}|, this would mean +% should be called as late as immediately before |\begin{document}|, this would mean % that resetting would be possible during the whole loading of all packages. % % \begin{macrocode} - \ifregstats@timer - \message{^^J} - \setcounter{regstatscount}{\the\pdfelapsedtime} - \edef\regstatselapsedtime{\arabic{regstatscount}} - \divide \value{regstatscount} by 65536% scaledseconds -> seconds - \edef\regstatsseconds{\arabic{regstatscount}} - \ifnum \value{regstatscount} > 59 - \edef\regstatsseconds{\intcalcMod{\value{regstatscount}}{60}} - \divide \value{regstatscount} by 60% seconds -> minutes - \else - \setcounter{regstatscount}{0}% minutes = 0 - \fi - \ifnum \regstatsseconds < 10 - \message{Time elapsed: about \arabic{regstatscount}:0\regstatsseconds% - \space (m:ss; \regstatselapsedtime /65536 s).^^J} - \else - \message{Time elapsed: about \arabic{regstatscount}:\regstatsseconds % - \space (m:ss; \regstatselapsedtime /65536 s).^^J} + \ifregstats@timer + \message{^^J} + \setcounter{regstatscount}{\the\pdfelapsedtime} + \edef\regstatselapsedtime{\arabic{regstatscount}} + \divide \value{regstatscount} by 65536% scaledseconds -> seconds + \edef\regstatsseconds{\arabic{regstatscount}} + \ifnum \value{regstatscount} > 59 + \edef\regstatsseconds{\intcalcMod{\value{regstatscount}}{60}} + \divide \value{regstatscount} by 60% seconds -> minutes + \else + \setcounter{regstatscount}{0}% minutes = 0 + \fi + \ifnum \regstatsseconds < 10 + \message{Time elapsed for the last compiler run:^^J% + about \arabic{regstatscount}:0\regstatsseconds\space% + (m:ss; \regstatselapsedtime /65536 s).^^J} + \else + \message{Time elapsed for the last compiler run:^^J% + about \arabic{regstatscount}:\regstatsseconds \space% + (m:ss; \regstatselapsedtime /65536 s).^^J} + \fi \fi - \fi - } - } + }% + }% + }% + }% + }% + }% +} % \end{macrocode} % @@ -833,18 +902,18 @@ option \texttt{timer} is not demonstrated very spectacular. % % \subsection{Downloads\label{ss:Downloads}} % -% Everything is available at \CTAN{}, \url{http://www.ctan.org/tex-archive/}, +% Everything will become available at \CTAN{}, \url{http://www.ctan.org/tex-archive/}, % but may need additional packages themselves.\\ % % \DescribeMacro{regstats.dtx} % For unpacking the |regstats.dtx| file and constructing the documentation it is required: % \begin{description} -% \item[-] \TeX Format \LaTeXe: \url{http://www.CTAN.org/} +% \item[-] \TeX Format \LaTeXe{}: \url{http://www.CTAN.org/} % % \item[-] document class \xpackage{ltxdoc}, 2007/11/11, v2.0u,\\ % \CTAN{macros/latex/base/ltxdoc.dtx} % -% \item[-] package \textsf{pdflscape}, 2008/08/11, v0.10,\\ +% \item[-] package \xpackage{pdflscape}, 2008/08/11, v0.10,\\ % \CTAN{macros/latex/contrib/oberdiek/pdflscape.dtx} % % \item[-] package \xpackage{holtxdoc}, 2011/02/04, v0.21,\\ @@ -855,14 +924,15 @@ option \texttt{timer} is not demonstrated very spectacular. % \end{description} % % \DescribeMacro{regstats.sty} -% The \texttt{regstats.sty} for \LaTeXe\ (i.\,e. all documents using +% The \texttt{regstats.sty} for \LaTeXe\ (i.\,e. each document using % the \xpackage{regstats} package) requires: % \begin{description} -% \item[-] \TeX Format \LaTeXe, \url{http://www.CTAN.org/} +% \item[-] \TeX Format \LaTeXe{}, \url{http://www.CTAN.org/} % % \item[-] package \xpackage{kvoptions}, 2010/12/23, v3.10,\\ % \CTAN{macros/latex/contrib/oberdiek/kvoptions.dtx} -% \item[-] package \xpackage{atveryend}, 2011/04/23, v1.7,\\ +% +% \item[-] package \xpackage{atveryend}, 2011/06/30, v1.8,\\ % \CTAN{macros/latex/contrib/oberdiek/atveryend.dtx} % \end{description} % @@ -881,7 +951,7 @@ option \texttt{timer} is not demonstrated very spectacular. % \item[-] class \xpackage{article}, 2007/10/19, v1.4h, from \xpackage{classes.dtx}:\\ % \CTAN{macros/latex/base/classes.dtx} % -% \item[-] package \xpackage{regstats}, 2011/06/18, v1.0d,\\ +% \item[-] package \xpackage{regstats}, 2011/08/23, v1.0f,\\ % \CTAN{macros/latex/contrib/regstats/regstats.dtx}\\ % (Well, it is the example file for this package, and because you are reading the % documentation for the \xpackage{regstats} package, it can be assumed that you already @@ -1085,9 +1155,9 @@ option \texttt{timer} is not demonstrated very spectacular. % \section{Acknowledgements} % % I would like to thank \textsc{Heiko Oberdiek} for providing -% the \xpackage{hyperref} as well as a~lot~(!) of other useful packages -% (from which I also got everything I know about creating a file in -% \xext{dtx} format, ok, say it: copying), +% the \xpackage{hyperref} and \xpackage{atveryend} as well as +% a~lot~(!) of other useful packages (from which I also got everything +% I know about creating a file in \xext{dtx} format, ok, say it: copying), % \textsc{Jean-Pierre F. Drucbert} for his \xpackage{regcount} package, % \textsc{Robin Fairbairns} for pointing me to the \xpackage{regcount} package, % and the \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex} @@ -1110,8 +1180,8 @@ option \texttt{timer} is not demonstrated very spectacular. % \item Diverse details. % \end{Version} % \begin{Version}{2011/06/08 v1.0c} -% \item Bug Fix: Number of available |\skip| registers with \eTeX. -% \item Change in \eTeX -detection. +% \item Bug Fix: Number of available |\skip| registers with $\varepsilon$-\TeX{}. +% \item Change in $\varepsilon$-\TeX{}-detection. % \item New option |left|. % \item Minor details. % \end{Version} @@ -1120,6 +1190,26 @@ option \texttt{timer} is not demonstrated very spectacular. % \item New option |timer|. % \item Some details. % \end{Version} +% \begin{Version}{2011/08/22 v1.0e} +% \item The information about the used registers is now presented even later. +% \item Quite some details in the documentation. +% \item Updated to \TeX live2011. +% \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. +% Until it is fixed, |\AtEndAfterFileList| is used. +% \end{Version} +% \begin{Version}{2011/08/23 v1.0f} +% \item The \xpackage{atveryend} package was fixed (2011/06/30, v.1.8). +% Now \xpackage{regstats} differentiates according to \TeX{} format +% and \xpackage{atveryend} package version. 2011/06/30, v.1.8 +% will become available at CTAN soon. \xpackage{regstats} also +% works with the old version, the information is just presented +% a little bit earlier during compilation, thus theoretically +% there could be missed some register use after that information, +% which would be obviouse in the \xfile{log}-file. +% \item New \xpackage{hyperref} package used for the documentation. +% \end{Version} % \end{History} % % \bigskip @@ -1127,7 +1217,7 @@ option \texttt{timer} is not demonstrated very spectacular. % When you find a mistake or have a suggestion for an improvement of this package, % please send an e-mail to the maintainer, thanks! (Please see BUG REPORTS in the README.) % -% \pagebreak +% \bigskip % % \PrintIndex % diff --git a/Master/texmf-dist/source/latex/regstats/regstats.ins b/Master/texmf-dist/source/latex/regstats/regstats.ins index 889344ac39b..e0134f4bc25 100644 --- a/Master/texmf-dist/source/latex/regstats/regstats.ins +++ b/Master/texmf-dist/source/latex/regstats/regstats.ins @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: regstats -%% Version: 2011/06/18 v1.0d +%% Version: 2011/08/23 v1.0f %% %% Copyright (C) 2011 by %% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> @@ -41,7 +41,7 @@ \input docstrip.tex \Msg{******************************************************************} \Msg{* Installation} -\Msg{* Package: regstats 2011/06/18 v1.0d Counting used registers (HMM)} +\Msg{* Package: regstats 2011/08/23 v1.0f Counting used registers (HMM)} \Msg{******************************************************************} \keepsilent @@ -53,7 +53,7 @@ This is a generated file. Project: regstats -Version: 2011/06/18 v1.0d +Version: 2011/08/23 v1.0f Copyright (C) 2011 by H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> |