diff options
author | Karl Berry <karl@freefriends.org> | 2012-01-03 00:12:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-01-03 00:12:57 +0000 |
commit | cbf65851c8af3ba21e626490b1f76b35dc74c434 (patch) | |
tree | b6fd2a089dc7cfc937312e79a7e6ce6d3f616868 /Master | |
parent | 224a648436551066fb5b3e68c2029d6ab179d0f9 (diff) |
regstats (2jan12)
git-svn-id: svn://tug.org/texlive/trunk@25002 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/regstats/README | 86 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/regstats/regstats-example.log | 172 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/regstats/regstats-example.pdf | bin | 68469 -> 66827 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/regstats/regstats-example.tex | 46 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/regstats/regstats.pdf | bin | 320162 -> 327193 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/regstats/regstats.drv | 28 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/regstats/regstats.dtx | 801 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/regstats/regstats.ins | 42 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/regstats/regstats.sty | 433 |
9 files changed, 907 insertions, 701 deletions
diff --git a/Master/texmf-dist/doc/latex/regstats/README b/Master/texmf-dist/doc/latex/regstats/README index aeed9c3b4ee..448055d631d 100644 --- a/Master/texmf-dist/doc/latex/regstats/README +++ b/Master/texmf-dist/doc/latex/regstats/README @@ -1,4 +1,4 @@ -README for regstats package, 2011/08/23, v1.0f +README for regstats package, 2012/01/01, v1.0g TABLE OF CONTENTS @@ -9,7 +9,7 @@ TABLE OF CONTENTS 3 Installation 4 Additional Packages 5 Package Compatibility -6 Authors/Maintainers +6 Author/Maintainer 7 Bug Reports 8 Known Problems @@ -26,9 +26,11 @@ is used and looked at \the\allocationnumber, and this is compared to the number determined by reading the \count. The result for each register is compared to the maximum available number of the respective register (comparison independent of usage of option proof). -With option |left| additionally the number of remaining registers of each -type is given, and with option |timer| the time needed for the compilation -run. +With option "left" additionally the number of remaining registers of each +type is given, and with option "timer" the time needed for the compilation +run (when either pdf(la)tex or lua(la)tex with +\directlua{starttime = os.clock()} +before \documentclass is used). 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. @@ -40,8 +42,16 @@ licenses.lppl.html for the details of that license. `regstats' is available on CTAN: CTAN:macros/latex/contrib/regstats/ -Also a ZIP file is provided that contains the files, already -sorted in a TDS tree (should become available on CTAN soon): +Running +tex regstats.dtx +generates the files +regstats.ins, regstats.drv, regstats.sty, +and regstats-example.tex. + +Also a ZIP file is provided that contains these files, +the manual (regstats.pdf), the compiled example +(regstats-example.pdf), its log-file (regstats-example.log), +and this README, already sorted in a TDS tree: CTAN:install/macros/latex/contrib/regstats.tds.zip `CTAN:' means one of the `Comprehensive TeX Archive Network' @@ -60,9 +70,9 @@ corresponds to Installation with ZIP file in TDS format ---------------------------------------- -The ZIP file `regstats.tds.zip' contains the files sorted -in a TDS tree. Thus you can directly unpack the ZIP file -inside a TDS tree. +The ZIP file `regstats.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.) Example: cd /...somewhere.../texmf @@ -74,30 +84,47 @@ Example: Manual installation ------------------- -a) Download the regstats files from CTAN or the TUG server. +a) Download the regstats files from CTAN. If necessary, unpack them. b) Generate the package and driver files: - tex regstats.ins + tex regstats.dtx c) Install the file `*.sty' in your TDS tree: cp *.sty TDS:tex/latex/regstats/ Replace `TDS:' by the prefix of your TDS tree (texmf directory). -d) Copy the documentation files to +d) Create the documentation (if necessary), e.g. + pdflatex regstats.dtx + makeindex -s gind.ist regstats.idx + pdflatex regstats.dtx + makeindex -s gind.ist regstats.idx + pdflatex regstats.dtx +e) Update the databases if necessary, e.g. for teTeX: + mktexlsr .../texmf +f) Create the regstats-example.pdf (if necessary), e.g. + pdflatex regstats-example.tex + pdflatex regstats-example.tex + or remove the "%% " before "\directlua{starttime = os.clock()}" + in the regstats-example.tex and use + lualatex regstats-example.tex + lualatex regstats-example.tex + lualatex regstats-example.tex +g) Copy the documentation files to "TDS:doc/latex/regstats/": README, regstats.pdf, regstats-example.tex, regstats-example.log, regstats-example.pdf. -e) Update the databases if necessary, e.g. for teTeX: - mktexlsr .../texmf 4 ADDITIONAL PACKAGES ===================== regstats loads other packages: -* kvoptions, CTAN:macros/latex/contrib/oberdiek/kvoptions.dtx -* atveryend, CTAN:macros/latex/contrib/oberdiek/atveryend.dtx -with option timer: -* intcalc, CTAN:macros/latex/contrib/oberdiek/intcalc.dtx +* kvoptions, http://ctan.org/pkg/kvoptions +* atveryend, http://ctan.org/pkg/atveryend +* ltxcmds, http://ctan.org/pkg/ltxcmds +with option timer additionally: +* intcalc, http://ctan.org/pkg/intcalc +* ifluatex, http://ctan.org/pkg/ifluatex +* ifpdf, http://ctan.org/pkg/ifpdf which again load other packages (see the result of the \listfiles command in the log-file of the example). @@ -107,11 +134,13 @@ which again load other packages ======================= regstats should be loaded very last (but can be loaded earlier). +The timer option does not work with e.g. XeTeX, only with +(pdf)(la)tex or (lua)(la)tex. (Otherwise just do not use the option.) 6 AUTHOR/MAINTAINER ===================== -* Hans-Martin Münch +* H.-Martin Münch 7 BUG REPORTS @@ -120,15 +149,15 @@ regstats should be loaded very last (but can be loaded earlier). A bug report should contain: * Comprehensive problem description. This includes error or warning messages. - * \errorcontextlines=\maxdimen can be added in the - TeX code to get more information in TeX error messages. +* \errorcontextlines=\maxdimen can be added in the + TeX code to get more information in TeX error messages. * Minimal test file that shows the problem, but does not contain any unnecessary packages and code. * Used drivers/programs. * Version information about used packages and programs. - * If you are using LaTeX, then add "\listfiles". Then - a list of version information is printed at the end - of the LaTeX run. +* If you are using LaTeX, then add "\listfiles". Then + a list of version information is printed at the end + of the LaTeX run. * Please no other files than the minimal test file. The other files .log, .dvi, .ps, .pdf are seldom necessary, so send them only on request. @@ -137,14 +166,11 @@ A bug report should contain: Bug address ----------- Bug reports can be send to the maintainer: - Hans-Martin Münch + H.-Martin Münch <Martin [dot] Muench [at] Uni-Bonn [dot] de> 8 KNOWN PROBLEMS ================= -Regstats uses the atveryend package, which is not compatible -with the seminar class nor the slidesec package. -"\let\AtVeryVeryEnd\AtEndAfterFileList" in the preamble -*could* help. Feedback is welcome. +* as yet: none.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/regstats/regstats-example.log b/Master/texmf-dist/doc/latex/regstats/regstats-example.log index a2100af3ee5..1a325c51087 100644 --- a/Master/texmf-dist/doc/latex/regstats/regstats-example.log +++ b/Master/texmf-dist/doc/latex/regstats/regstats-example.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.1415926-2.3-1.40.12 (Web2C 2011) (format=pdflatex 2011.8.22) 23 AUG 2011 12:34 +This is pdfTeX, Version 3.1415926-2.3-1.40.12 (Web2C 2011) (format=pdflatex 2011.11.11) 1 JAN 2012 13:39 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -34,7 +34,7 @@ File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) \bibindent=\dimen102 ) (s:/TeXlive2011/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2011/08/19 v6.82h Hypertext links for LaTeX +Package: hyperref 2011/12/04 v6.82m Hypertext links for LaTeX (./hobsub-hyperref.sty Package: hobsub-hyperref 2011/07/28 v1.8 Bundle oberdiek, subset hyperref (HO) @@ -94,39 +94,42 @@ Package: kvoptions 2010/12/23 v3.10 Keyval support for LaTeX options (HO) \Hy@pagecounter=\count88 (s:/TeXlive2011/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2011/08/19 v6.82h Hyperref: PDFDocEncoding definition (HO) +File: pd1enc.def 2011/12/04 v6.82m Hyperref: PDFDocEncoding definition (HO) ) \Hy@SavedSpaceFactor=\count89 (s:/TeXlive2011/texmf-dist/tex/latex/latexconfig/hyperref.cfg File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive ) -Package hyperref Info: Hyper figures OFF on input line 4053. -Package hyperref Info: Link nesting OFF on input line 4058. -Package hyperref Info: Hyper index ON on input line 4061. -Package hyperref Info: Plain pages OFF on input line 4068. -Package hyperref Info: Backreferencing OFF on input line 4073. +Package hyperref Info: Option `plainpages' set `false' on input line 3925. +Package hyperref Info: Option `pdfpagelabels' set `true' on input line 3925. +Package hyperref Info: Option `hyperindex' set `false' on input line 3925. +Package hyperref Info: Hyper figures OFF on input line 4046. +Package hyperref Info: Link nesting OFF on input line 4051. +Package hyperref Info: Hyper index OFF on input line 4056. +Package hyperref Info: Plain pages OFF on input line 4061. +Package hyperref Info: Backreferencing OFF on input line 4066. Package hyperref Info: Implicit mode ON; LaTeX internals redefined. -Package hyperref Info: Bookmarks ON on input line 4291. +Package hyperref Info: Bookmarks ON on input line 4284. \c@Hy@tempcnt=\count90 (s:/TeXlive2011/texmf-dist/tex/latex/url/url.sty \Urlmuskip=\muskip10 Package: url 2006/04/12 v3.3 Verb mode for urls, etc. ) -LaTeX Info: Redefining \url on input line 4644. +LaTeX Info: Redefining \url on input line 4637. \Fld@menulength=\count91 \Field@Width=\dimen104 \Fld@charsize=\dimen105 -Package hyperref Info: Hyper figures OFF on input line 5730. -Package hyperref Info: Link nesting OFF on input line 5735. -Package hyperref Info: Hyper index ON on input line 5738. -Package hyperref Info: backreferencing OFF on input line 5745. -Package hyperref Info: Link coloring OFF on input line 5750. -Package hyperref Info: Link coloring with OCG OFF on input line 5755. -Package hyperref Info: PDF/A mode OFF on input line 5760. -LaTeX Info: Redefining \ref on input line 5800. -LaTeX Info: Redefining \pageref on input line 5804. +Package hyperref Info: Hyper figures OFF on input line 5757. +Package hyperref Info: Link nesting OFF on input line 5762. +Package hyperref Info: Hyper index OFF on input line 5767. +Package hyperref Info: backreferencing OFF on input line 5772. +Package hyperref Info: Link coloring OFF on input line 5777. +Package hyperref Info: Link coloring with OCG OFF on input line 5782. +Package hyperref Info: PDF/A mode OFF on input line 5787. +LaTeX Info: Redefining \ref on input line 5827. +LaTeX Info: Redefining \pageref on input line 5831. \Hy@abspage=\count92 \c@Item=\count93 \c@Hfootnote=\count94 @@ -135,7 +138,7 @@ LaTeX Info: Redefining \pageref on input line 5804. Package hyperref Message: Driver (autodetected): hpdftex. (s:/TeXlive2011/texmf-dist/tex/latex/hyperref/hpdftex.def -File: hpdftex.def 2011/08/19 v6.82h Hyperref driver for pdfTeX +File: hpdftex.def 2011/12/04 v6.82m Hyperref driver for pdfTeX \Fld@listcount=\count95 \c@bookmark@seq@number=\count96 @@ -146,42 +149,33 @@ Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 ) \Hy@SectionHShift=\skip43 ) -Package hyperref Info: Option `plainpages' set `false' on input line 59. - - -Package hyperref Warning: Option `pdfpagelabels' has already been used, -(hyperref) setting the option has no effect on input line 59. - - -Package hyperref Warning: Option `hyperindex' has already been used, -(hyperref) setting the option has no effect on input line 59. - (./regstats.sty -Package: regstats 2011/08/23 v1.0f Counting used registers (HMM) -Package regstats Info: This package will use one counter itself! -(regstats) (And other packages used by this package -(regstats) probably use additional resources, -(regstats) if those packages are not used anyway.) -(regstats) on input line 78. +Package: regstats 2012/01/01 v1.0g Counting used registers (HMM) +Package regstats Info: This package will not use registers itself, +(regstats) but packages used by this package +(regstats) (and packages loaded by those packages) +(regstats) use additional resources, +(regstats) if those packages are not used anyway. +(regstats) on input line 83. ) (./regstats-example.aux) \openout1 = `regstats-example.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 63. -LaTeX Font Info: ... okay on input line 63. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 63. -LaTeX Font Info: ... okay on input line 63. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 63. -LaTeX Font Info: ... okay on input line 63. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 63. -LaTeX Font Info: ... okay on input line 63. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 63. -LaTeX Font Info: ... okay on input line 63. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 63. -LaTeX Font Info: ... okay on input line 63. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 63. -LaTeX Font Info: ... okay on input line 63. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 75. +LaTeX Font Info: ... okay on input line 75. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 75. +LaTeX Font Info: ... okay on input line 75. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 75. +LaTeX Font Info: ... okay on input line 75. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 75. +LaTeX Font Info: ... okay on input line 75. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 75. +LaTeX Font Info: ... okay on input line 75. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 75. +LaTeX Font Info: ... okay on input line 75. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 75. +LaTeX Font Info: ... okay on input line 75. \AtBeginShipoutBox=\box26 -Package hyperref Info: Link coloring OFF on input line 63. +Package hyperref Info: Link coloring OFF on input line 75. (s:/TeXlive2011/texmf-dist/tex/latex/hyperref/nameref.sty Package: nameref 2010/04/30 v2.40 Cross-referencing by name of section @@ -191,63 +185,53 @@ Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO) ) \c@section@level=\count97 ) -LaTeX Info: Redefining \ref on input line 63. -LaTeX Info: Redefining \pageref on input line 63. -LaTeX Info: Redefining \nameref on input line 63. +LaTeX Info: Redefining \ref on input line 75. +LaTeX Info: Redefining \pageref on input line 75. +LaTeX Info: Redefining \nameref on input line 75. (./regstats-example.out) (./regstats-example.out) \@outlinefile=\write3 \openout3 = `regstats-example.out'. - -Package regstats Warning: Could not find e-TeX. -(regstats) That can mean that e-TeX was disabled or -(regstats) that your distribution of TeX does not contain e-TeX -(regstats) or that you forgot to say \usepackage{etex} -(regstats) in the preamble of regstats-example.tex. -(regstats) Some packages will not work without e-TeX, -(regstats) but should give according messages. -(regstats) on input line 63. - - -Underfull \hbox (badness 10000) in paragraph at lines 67--73 +Underfull \hbox (badness 10000) in paragraph at lines 79--85 [] LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 74. +(Font) <7> on input line 86. LaTeX Font Info: External font `cmex10' loaded for size -(Font) <5> on input line 74. +(Font) <5> on input line 86. -Underfull \hbox (badness 10000) in paragraph at lines 74--80 +Underfull \hbox (badness 10000) in paragraph at lines 86--90 [] -Underfull \hbox (badness 10000) in paragraph at lines 81--82 +Underfull \hbox (badness 10000) in paragraph at lines 91--92 [] -Underfull \hbox (badness 10000) in paragraph at lines 83--86 +Underfull \hbox (badness 10000) in paragraph at lines 93--96 [] -Package atveryend Info: Executing hook `BeforeClearDocument' on input line 93. +Package atveryend Info: Executing hook `BeforeClearDocument' on input line 103. + [1 {s:/TeXlive2011/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] -Package atveryend Info: Executing hook `AfterLastShipout' on input line 93. +Package atveryend Info: Executing hook `AfterLastShipout' on input line 103. (./regstats-example.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 93. +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 103. *File List* article.cls 2007/10/19 v1.4h Standard LaTeX document class size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) -hyperref.sty 2011/08/19 v6.82h Hypertext links for LaTeX +hyperref.sty 2011/12/04 v6.82m Hypertext links for LaTeX hobsub-hyperref.sty 2011/07/28 v1.8 Bundle oberdiek, subset hyperref (HO) hobsub-generic.sty 2011/07/28 v1.8 Bundle oberdiek, subset generic (HO) hobsub.sty 2011/07/28 v1.8 Construct package bundles (HO) @@ -275,27 +259,37 @@ refcount.sty 2011/06/22 v3.3 Data extraction from label references (HO) keyval.sty 1999/03/16 v1.13 key=value parser (DPC) ifxetex.sty 2010/09/12 v0.6 Provides ifxetex conditional kvoptions.sty 2010/12/23 v3.10 Keyval support for LaTeX options (HO) - pd1enc.def 2011/08/19 v6.82h Hyperref: PDFDocEncoding definition (HO) + pd1enc.def 2011/12/04 v6.82m Hyperref: PDFDocEncoding definition (HO) hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive url.sty 2006/04/12 v3.3 Verb mode for urls, etc. - hpdftex.def 2011/08/19 v6.82h Hyperref driver for pdfTeX + hpdftex.def 2011/12/04 v6.82m Hyperref driver for pdfTeX rerunfilecheck.sty 2011/04/15 v1.7 Rerun checks for auxiliary files (HO) -regstats.sty 2011/08/23 v1.0f Counting used registers (HMM) +regstats.sty 2012/01/01 v1.0g Counting used registers (HMM) nameref.sty 2010/04/30 v2.40 Cross-referencing by name of section gettitlestring.sty 2010/12/03 v1.4 Cleanup title references (HO) regstats-example.out regstats-example.out *********** -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 93. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 103. Package rerunfilecheck Info: File `regstats-example.out' has not changed. (rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. -Package atveryend Info: Executing hook `AtVeryVeryEnd' on input line 93. -\c@regstatscount=\count98 +Package atveryend Info: Executing hook `AtVeryVeryEnd' on input line 103. + +Package regstats Warning: Could not find the e-TeX-package. +(regstats) That can mean that e-TeX was disabled or +(regstats) that your distribution of TeX does not contain e-TeX +(regstats) or that you simply forgot to say \usepackage{etex} +(regstats) in the preamble of regstats-example.tex. +(regstats) The number of available counter, dimen, skip, +(regstats) muskip, box, and toks registers as well as the +(regstats) number of insertions would be larger when using +(regstats) the e-TeX-package. on input line 103. + Here is how much of TeX's registers you used (numbers of available registers are estimated!): - 98 counter registers out of 233, left: 135 + 97 counter registers out of 233, left: 136 105 dimen registers out of 233, left: 128 43 skip registers out of 233, left: 190 10 muskip registers out of 255, left: 245 @@ -308,23 +302,23 @@ Here is how much of TeX's registers you used 0 insertions out of 101, left: 101 Time elapsed for the last compiler run: -about 0:00 (m:ss; 25559/65536 s). +about 0:00 (m:ss; 26607/65536 s). ) Here is how much of TeX's memory you used: - 4149 strings out of 493629 - 62139 string characters out of 3147109 - 142956 words of memory out of 3000000 - 7480 multiletter control sequences out of 15000+200000 + 4107 strings out of 493629 + 61316 string characters out of 3147108 + 141906 words of memory out of 3000000 + 7438 multiletter control sequences out of 15000+200000 4718 words of font info for 18 fonts, out of 3000000 for 9000 831 hyphenation exceptions out of 8191 - 29i,4n,23p,218b,313s stack positions out of 5000i,500n,10000p,200000b,50000s + 29i,4n,23p,212b,314s stack positions out of 5000i,500n,10000p,200000b,50000s <s:/TeXlive2011/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb><s:/TeXl ive2011/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb><s:/TeXlive2011/te xmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb><s:/TeXlive2011/texmf-dist/fo nts/type1/public/amsfonts/cm/cmr7.pfb><s:/TeXlive2011/texmf-dist/fonts/type1/pu blic/amsfonts/cm/cmss10.pfb><s:/TeXlive2011/texmf-dist/fonts/type1/public/amsfo nts/cm/cmtt10.pfb> -Output written on regstats-example.pdf (1 page, 68469 bytes). +Output written on regstats-example.pdf (1 page, 66827 bytes). PDF statistics: 38 PDF objects out of 1000 (max. 8388607) 28 compressed objects within 1 object stream diff --git a/Master/texmf-dist/doc/latex/regstats/regstats-example.pdf b/Master/texmf-dist/doc/latex/regstats/regstats-example.pdf Binary files differindex 4421c1e83f3..a1902192236 100644 --- a/Master/texmf-dist/doc/latex/regstats/regstats-example.pdf +++ b/Master/texmf-dist/doc/latex/regstats/regstats-example.pdf diff --git a/Master/texmf-dist/doc/latex/regstats/regstats-example.tex b/Master/texmf-dist/doc/latex/regstats/regstats-example.tex index abf80e0de3d..cc26f04ef90 100644 --- a/Master/texmf-dist/doc/latex/regstats/regstats-example.tex +++ b/Master/texmf-dist/doc/latex/regstats/regstats-example.tex @@ -9,12 +9,12 @@ %% This is a generated file. %% %% Project: regstats -%% Version: 2011/08/23 v1.0f +%% Version: 2012/01/01 v1.0g %% -%% Copyright (C) 2011 by +%% Copyright (C) 2011 - 2012 by %% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> %% -%% The usual disclaimer applys: +%% The usual disclaimer applies: %% If it doesn't work right that's your problem. %% (Nevertheless, send an e-mail to the maintainer %% when you find an error in this package.) @@ -33,50 +33,60 @@ %% %% The Current Maintainer of this work is H.-Martin Muench. %% -%% This work consists of the main source file regstats.dtx -%% and the derived files -%% regstats.sty, regstats.pdf, regstats.ins, regstats.drv, -%% regstats-example.tex. +%% This work consists of the main source file regstats.dtx, +%% the README, and the derived files +%% regstats.sty, regstats.pdf, +%% regstats.ins, regstats.drv, +%% regstats-example.tex, regstats-example.pdf, +%% regstats-example.log. %% +%% When compiling with lua(la)tex (and wanting to use option timer=true, +%% the following line must be uncommented (i.e. remove the "%% "). +%% \directlua{starttime = os.clock()} \documentclass[british]{article}[2007/10/19]% v1.4h %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% \usepackage{etex}[1998/03/26]% v2.0 %% 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,% +\usepackage[% + extension=pdf,% plainpages=false,% pdfpagelabels=true,% hyperindex=false,% pdflang={en},% pdftitle={regstats package example},% - pdfauthor={Hans-Martin Muench},% + pdfauthor={H.-Martin Muench},% pdfsubject={Example for the regstats package},% pdfkeywords={LaTeX, registers, read, write, language, box, dimen,% - count, toks, muskip, skip, counter, regstats, Hans-Martin Muench},% - pdfview=Fit,pdfstartview=Fit,% + count, toks, muskip, skip, counter, regstats, H.-Martin Muench},% + pdfview=Fit,% + pdfstartview=Fit,% pdfpagelayout=SinglePage% -} -\usepackage[proof=false,left=true,timer=true]{regstats}[2011/08/23]% v1.0f +]{hyperref}[2011/12/04]% v6.82m +\usepackage[proof=false,left=true,timer=true]{regstats}[2012/01/01]% +%% v1.0g \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\makeatletter +\@ifundefined{eTeX}{\gdef\eTeX{$\m@th \varepsilon $-\TeX }}{% +%% else \relax +} +\makeatother \listfiles \begin{document} \pagenumbering{arabic} \section*{Example for regstats} This example demonstrates the use of package\newline -\textsf{regstats}, v1.0f as of 2011/08/23 (HMM).\newline +\textsf{regstats}, v1.0g as of 2012/01/01 (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} would be the defaults).\newline -If $\varepsilon$-\TeX\ is available with your \LaTeX -distribution +If \eTeX{} is available with your \LaTeX{}-distribution and you want to use it, uncomment the\newline \verb|%% \usepackage{etex}[1998/03/26]% v2.0|\newline line in the preamble of this document.\newline -(Also \verb|\eTeX| instead of \verb|$\varepsilon$-\TeX| -would be available with it).\newline For more details please see the documentation!\newline diff --git a/Master/texmf-dist/doc/latex/regstats/regstats.pdf b/Master/texmf-dist/doc/latex/regstats/regstats.pdf Binary files differindex 1becf600ec5..996c3866d78 100644 --- a/Master/texmf-dist/doc/latex/regstats/regstats.pdf +++ b/Master/texmf-dist/doc/latex/regstats/regstats.pdf diff --git a/Master/texmf-dist/source/latex/regstats/regstats.drv b/Master/texmf-dist/source/latex/regstats/regstats.drv index 25b0f58547f..77ab6366163 100644 --- a/Master/texmf-dist/source/latex/regstats/regstats.drv +++ b/Master/texmf-dist/source/latex/regstats/regstats.drv @@ -9,12 +9,12 @@ %% This is a generated file. %% %% Project: regstats -%% Version: 2011/08/23 v1.0f +%% Version: 2012/01/01 v1.0g %% -%% Copyright (C) 2011 by +%% Copyright (C) 2011 - 2012 by %% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> %% -%% The usual disclaimer applys: +%% The usual disclaimer applies: %% If it doesn't work right that's your problem. %% (Nevertheless, send an e-mail to the maintainer %% when you find an error in this package.) @@ -33,17 +33,19 @@ %% %% The Current Maintainer of this work is H.-Martin Muench. %% -%% This work consists of the main source file regstats.dtx -%% and the derived files -%% regstats.sty, regstats.pdf, regstats.ins, regstats.drv, -%% regstats-example.tex. +%% This work consists of the main source file regstats.dtx, +%% the README, and the derived files +%% regstats.sty, regstats.pdf, +%% regstats.ins, regstats.drv, +%% regstats-example.tex, regstats-example.pdf, +%% regstats-example.log. %% -\NeedsTeXFormat{LaTeX2e}[2011/06/24]% +\NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesFile{regstats.drv}% - [2011/08/23 v1.0f Counting used registers (HMM)]% + [2012/01/01 v1.0g 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 +\usepackage{holtxdoc}[2011/02/04]% v0.21 %% regstats 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 @@ -51,7 +53,7 @@ %% recent version). \hypersetup{% pdfsubject={Information about used number of TeX registers (HMM)},% - pdfkeywords={LaTeX, regstats, registers, read, write, language, box, dimen, counter, toks, skip, muskip, math family, insertion, Hans-Martin Muench},% + pdfkeywords={LaTeX, regstats, registers, read, write, language, box, dimen, counter, toks, skip, muskip, math family, insertion, H.-Martin Muench},% pdfencoding=auto,% pdflang={en},% breaklinks=true,% @@ -69,6 +71,10 @@ \CodelineIndex \hyphenation{printing docu-ment} \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\makeatletter +\@ifundefined{eTeX}{\gdef\eTeX{$\m@th \varepsilon $-\TeX }}{% else \relax +} +\makeatother \begin{document} \DocInput{regstats.dtx}% \end{document} diff --git a/Master/texmf-dist/source/latex/regstats/regstats.dtx b/Master/texmf-dist/source/latex/regstats/regstats.dtx index bef7805d12d..16111a26f80 100644 --- a/Master/texmf-dist/source/latex/regstats/regstats.dtx +++ b/Master/texmf-dist/source/latex/regstats/regstats.dtx @@ -1,9 +1,9 @@ % \iffalse meta-comment % % File: regstats.dtx -% Version: 2011/08/23 v1.0f +% Version: 2012/01/01 v1.0g % -% Copyright (C) 2011 by +% Copyright (C) 2011 - 2012 by % H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> % % This work may be distributed and/or modified under the @@ -20,16 +20,21 @@ % % The Current Maintainer of this work is H.-Martin Muench. % -% This work consists of the main source file regstats.dtx -% and the derived files -% regstats.sty, regstats.pdf, regstats.ins, regstats.drv, -% regstats-example.tex. +% This work consists of the main source file regstats.dtx, +% the README, and the derived files +% regstats.sty, regstats.pdf, +% regstats.ins, regstats.drv, +% regstats-example.tex, regstats-example.pdf, +% regstats-example.log. % % Distribution: % CTAN:macros/latex/contrib/regstats/regstats.dtx % CTAN:macros/latex/contrib/regstats/regstats.pdf % CTAN:install/macros/latex/contrib/regstats.tds.zip % +% Cf. http://ctan.org/pkg/regstats and +% http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/regstats.html +% % Unpacking: % (a) If regstats.ins is present: % tex regstats.ins @@ -62,6 +67,7 @@ % TDS:tex/latex/regstats/regstats.sty % TDS:doc/latex/regstats/regstats.pdf % TDS:doc/latex/regstats/regstats-example.tex +% TDS:doc/latex/regstats/regstats-example.pdf % TDS:doc/latex/regstats/regstats-example.log % TDS:source/latex/regstats/regstats.dtx % @@ -78,10 +84,10 @@ %</ignore> %<*install> \input docstrip.tex -\Msg{******************************************************************} -\Msg{* Installation} -\Msg{* Package: regstats 2011/08/23 v1.0f Counting used registers (HMM)} -\Msg{******************************************************************} +\Msg{********************************************************************} +\Msg{* Installation *} +\Msg{* Package: regstats 2012/01/01 v1.0g Counting used registers (HMM) *} +\Msg{********************************************************************} \keepsilent \askforoverwritefalse @@ -92,12 +98,12 @@ This is a generated file. Project: regstats -Version: 2011/08/23 v1.0f +Version: 2012/01/01 v1.0g -Copyright (C) 2011 by +Copyright (C) 2011 - 2012 by H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> -The usual disclaimer applys: +The usual disclaimer applies: If it doesn't work right that's your problem. (Nevertheless, send an e-mail to the maintainer when you find an error in this package.) @@ -116,10 +122,12 @@ 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 regstats.dtx -and the derived files - regstats.sty, regstats.pdf, regstats.ins, regstats.drv, - regstats-example.tex. +This work consists of the main source file regstats.dtx, +the README, and the derived files + regstats.sty, regstats.pdf, + regstats.ins, regstats.drv, + regstats-example.tex, regstats-example.pdf, + regstats-example.log. \endpreamble \let\MetaPrefix\DoubleperCent @@ -140,7 +148,7 @@ and the derived files \Msg{* To finish the installation you have to move the following} \Msg{* file into a directory searched by TeX:} \Msg{*} -\Msg{* regstats.sty*} +\Msg{* regstats.sty} \Msg{*} \Msg{* To produce the documentation run the file `regstats.drv'} \Msg{* through (pdf)LaTeX, e.g.} @@ -168,18 +176,18 @@ and the derived files % The next bit of code contains the documentation driver file for % \TeX{}, i.\,e., the file that will produce the documentation you % are currently reading. It will be extracted from this file by the -% \texttt{docstrip} programme. That is, run \LaTeX\ on \texttt{docstrip} +% \texttt{docstrip} programme. That is, run \LaTeX{} on \texttt{docstrip} % and specify the \texttt{driver} option when \texttt{docstrip} % asks for options. % % \begin{macrocode} %<*driver> -\NeedsTeXFormat{LaTeX2e}[2011/06/24]% +\NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesFile{regstats.drv}% - [2011/08/23 v1.0f Counting used registers (HMM)]% + [2012/01/01 v1.0g 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 +\usepackage{holtxdoc}[2011/02/04]% v0.21 %% regstats 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 @@ -187,7 +195,7 @@ and the derived files %% recent version). \hypersetup{% pdfsubject={Information about used number of TeX registers (HMM)},% - pdfkeywords={LaTeX, regstats, registers, read, write, language, box, dimen, counter, toks, skip, muskip, math family, insertion, Hans-Martin Muench},% + pdfkeywords={LaTeX, regstats, registers, read, write, language, box, dimen, counter, toks, skip, muskip, math family, insertion, H.-Martin Muench},% pdfencoding=auto,% pdflang={en},% breaklinks=true,% @@ -205,6 +213,10 @@ and the derived files \CodelineIndex \hyphenation{printing docu-ment} \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\makeatletter +\@ifundefined{eTeX}{\gdef\eTeX{$\m@th \varepsilon $-\TeX }}{% else \relax +} +\makeatother \begin{document} \DocInput{regstats.dtx}% \end{document} @@ -213,7 +225,7 @@ and the derived files % % \fi % -% \CheckSum{541} +% \CheckSum{578} % % \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 @@ -253,27 +265,28 @@ and the derived files % \DoNotIndex{\message,\MessageBreak} % \DoNotIndex{\NeedsTeXFormat,\DoNotIndex,\verb} % \DoNotIndex{\def,\edef,\gdef,\global} -% \DoNotIndex{\ifx,\kvoptions,\listfiles,\mathord,\mathrm,\ProcessKeyvalOptions} -% \DoNotIndex{\SetupKeyvalOptions} -% \DoNotIndex{\bigskip,\space,\thinspace,\Large,\linebreak,\lipsum} -% \DoNotIndex{\ldots,\indent,\noindent,\newline,\pagebreak,\pagenumbering} +% \DoNotIndex{\ifx,\listfiles,\mathord,\mathrm} +% \DoNotIndex{\kvoptions,\SetupKeyvalOptions,\ProcessKeyvalOptions} +% \DoNotIndex{\bigskip,\space,\thinspace,\ldots} +% \DoNotIndex{\indent,\noindent,\newline,\linebreak,\pagebreak, \newpage} % \DoNotIndex{\textbf,\textit,\textsf,\texttt,\textquotedblleft,\textquotedblright} % \DoNotIndex{\plainTeX,\TeX,\LaTeX,\pdfLaTeX} -% \DoNotIndex{\chapter,\section,\regstats@test,\the,\csname,\endscname} -% \DoNotIndex{\value,\setcounter,\addtocounter,\arabic,\csname,\endscname} +% \DoNotIndex{\chapter,\section,\the,\csname,\endscname} +% \DoNotIndex{\value,\setcounter,\addtocounter,\arabic} +% \DoNotIndex{\regstats@test} % % \title{The \xpackage{regstats} package} -% \date{2011/08/23 v1.0f} +% \date{2012/01/01 v1.0g} % \author{H.-Martin M\"{u}nch\\\xemail{Martin.Muench at Uni-Bonn.de}} % % \maketitle % % \begin{abstract} -% This \LaTeX\ package allows to count the number of used registers -% (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 announced. +% This \LaTeX{} package allows to count the number of used registers +% (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 announced. % \end{abstract} % % \bigskip @@ -294,11 +307,11 @@ and the derived files % % \tableofcontents % -% \bigskip +% \pagebreak % % \section{Introduction} % -% \indent This \LaTeX\ package allows to count the number of used registers +% \indent This \LaTeX{} package allows to count the number of used registers % (counter, dimen, skip, muskip, box, token, input, output, % math families, languages, insertions). % Therefore the according |\count| is read. While |\count10| should be the number @@ -309,9 +322,11 @@ and the derived files % number of the respective register % (comparison independent of usage of option |proof|). % With option |left| additionally the number of remaining registers of each type -% is given, and with option |timer| the time needed for the compilation run. +% is given, and with option |timer| the time needed for the compilation run (when +% either |pdf(la)tex| or |lua(la)tex| with |\directlua{starttime = os.clock()}| +% before |\documentclass| is used). % -% \pagebreak +% \bigskip % % \section{Usage} % @@ -319,10 +334,10 @@ and the derived files % \begin{quote} % |\usepackage[<|\textit{options}|>]{regstats}| % \end{quote} -% \noindent at the end of the preamble of your \LaTeXe\ source file. When you load -% packages |\AtBeginDocument|, \xpackage{regstats} should be the last one of -% those packages. The resulting message will be presented at the end of the -% compilation messages at the screen and in the \xfile{log} file. +% \noindent at the end of the preamble of your \LaTeXe{} source file. When you +% load packages |\AtBeginDocument|, \xpackage{regstats} should be the last one +% of those packages. The resulting message will be presented at the end of the +% compilation messages at the screen and in the \xfile{log} file.\\ % % \subsection{Options} % \DescribeMacro{options} @@ -344,8 +359,14 @@ and the derived files % \subsubsection{timer\label{sss:timer}} % \DescribeMacro{timer} % \indent When option \texttt{timer} (or \texttt{timer=true}) is chosen, -% also the the time needed for the compilation run is given. The default -% is \texttt{timer=false}. +% also the time needed for the compilation run is given. The default +% is \texttt{timer=false}. The used |\pdfelapsedtime| is not available, +% when |lua(la)tex| is used instead of |pdf(la)tex| to compile the document. +% In that case at the very beginning of your \xfile{tex} file say\\ +% \verb|\directlua{starttime = os.clock()}|\\ +% (even before |\documentclass|!), and the \texttt{timer} option can also +% be used with |lua(la)tex|. When neither |lua(la)tex| nor |pdf(la)tex| is used +% to compile the document, the \texttt{timer}(-option) does not work. % % \section{Alternatives\label{sec:Alternatives}} % @@ -356,13 +377,13 @@ and the derived files % |\AtBeginDocument| and |\AtEndDocument| (but not |\AtVeryVeryEnd|). The number of % allocated insertions is \emph{wrong} in my opinion, because these are not numbered % $1, 2,\ldots$, but start at a high number, which is then decreased. The package is -% compatibel with the \xpackage{regstats} package (i.\,e.~you can use both packages +% compatible with the \xpackage{regstats} package (i.\,e.~you can use both packages % at the same time in one document) and available at % \url{http://www.ctan.org/pkg/regcount}. % % \item[-] One can manually search for the last appearance of % |\count|, |\dimen|, |\skip|, |\muskip|, |\box|, |\toks|, |\read| (input), -% |\write| (output), |\mathgroup| (math familiy), |\language|, and |\insert|, +% |\write| (output), |\mathgroup| (math family), |\language|, and |\insert|, % and find the according number there. (This does not provide any information % about the number of remaining registers, of course.) % \end{description} @@ -381,45 +402,53 @@ and the derived files % % \begin{macrocode} %<*example> +%% When compiling with lua(la)tex (and wanting to use option timer=true, +%% the following line must be uncommented (i.e. remove the "%% "). +%% \directlua{starttime = os.clock()} \documentclass[british]{article}[2007/10/19]% v1.4h %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% \usepackage{etex}[1998/03/26]% v2.0 %% 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,% +\usepackage[% + extension=pdf,% plainpages=false,% pdfpagelabels=true,% hyperindex=false,% pdflang={en},% pdftitle={regstats package example},% - pdfauthor={Hans-Martin Muench},% + pdfauthor={H.-Martin Muench},% pdfsubject={Example for the regstats package},% pdfkeywords={LaTeX, registers, read, write, language, box, dimen,% - count, toks, muskip, skip, counter, regstats, Hans-Martin Muench},% - pdfview=Fit,pdfstartview=Fit,% + count, toks, muskip, skip, counter, regstats, H.-Martin Muench},% + pdfview=Fit,% + pdfstartview=Fit,% pdfpagelayout=SinglePage% -} -\usepackage[proof=false,left=true,timer=true]{regstats}[2011/08/23]% v1.0f +]{hyperref}[2011/12/04]% v6.82m +\usepackage[proof=false,left=true,timer=true]{regstats}[2012/01/01]% +%% v1.0g \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\makeatletter +\@ifundefined{eTeX}{\gdef\eTeX{$\m@th \varepsilon $-\TeX }}{% +%% else \relax +} +\makeatother \listfiles \begin{document} \pagenumbering{arabic} \section*{Example for regstats} This example demonstrates the use of package\newline -\textsf{regstats}, v1.0f as of 2011/08/23 (HMM).\newline +\textsf{regstats}, v1.0g as of 2012/01/01 (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} would be the defaults).\newline -If $\varepsilon$-\TeX\ is available with your \LaTeX -distribution +If \eTeX{} is available with your \LaTeX{}-distribution and you want to use it, uncomment the\newline \verb|%% \usepackage{etex}[1998/03/26]% v2.0|\newline line in the preamble of this document.\newline -(Also \verb|\eTeX| instead of \verb|$\varepsilon$-\TeX| -would be available with it).\newline For more details please see the documentation!\newline @@ -452,7 +481,7 @@ option \texttt{timer} is not demonstrated very spectacular. % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[2011/06/27] -\ProvidesPackage{regstats}[2011/08/23 v1.0f +\ProvidesPackage{regstats}[2012/01/01 v1.0g Counting used registers (HMM)] % \end{macrocode} @@ -467,12 +496,13 @@ option \texttt{timer} is not demonstrated very spectacular. % \end{macrocode} % -% We need the \xpackage{kvoptions} and \xpackage{atveryend} packages -% by \textsc{Heiko Oberdiek}: +% We need the \xpackage{kvoptions}, \xpackage{atveryend}, and +% \xpackage{ltxcmds} packages by \textsc{Heiko Oberdiek}: % % \begin{macrocode} \RequirePackage{kvoptions}[2010/12/23]% v3.10 \RequirePackage{atveryend}[2011/06/30]% v1.8 +\RequirePackage{ltxcmds}[2011/04/18]% v1.20 % \end{macrocode} % @@ -500,66 +530,119 @@ option \texttt{timer} is not demonstrated very spectacular. \ifregstats@proof \PackageInfo{regstats}{% - This package will use one of each kind of register itself!\MessageBreak% + This package will use one of each kind of register itself!% + \MessageBreak% (And other packages used by this package\MessageBreak% probably use additional resources,\MessageBreak% if those packages are not used anyway.)\MessageBreak% } \else \PackageInfo{regstats}{% - This package will use one counter itself!\MessageBreak% - (And other packages used by this package\MessageBreak% - probably use additional resources,\MessageBreak% - if those packages are not used anyway.)\MessageBreak% + This package will not use registers itself,\MessageBreak% + but packages used by this package\MessageBreak% + (and packages loaded by those packages)\MessageBreak% + use additional resources,\MessageBreak% + if those packages are not used anyway.\MessageBreak% } \fi % \end{macrocode} % -% But that counter will be created not before |\AtVeryVeryEnd|, -% therefore if it is the one counter too much, it should not -% interfere with the creation of the document. (The other kinds -% of registers are used not before |\AtVeryVeryEnd|, too.)\\ +% The different kinds of registers used with option |proof=true| +% are used not before |\AtVeryVeryEnd|, therefore even if it is +% the one used register too much, it should not interfere +% with the creation of the document.\\ % % \begin{macrocode} \ifregstats@timer - \RequirePackage{intcalc}[2007/09/27]% v1.1 + \RequirePackage{intcalc}[2007/09/27]% v1.1 + \RequirePackage{ifluatex}[2010/03/01]% v1.3 + \RequirePackage{ifpdf}[2011/01/30]% v2.3 \fi +\ifregstats@timer +\newcommand{\regst@ts@timer}{% + \message{^^J} + \ifluatex + \@tempcnta=% + \directlua{ + if starttime then + tex.sprint((os.clock()-starttime)*65536) + else + tex.sprint(0) + end + }\relax + \ifnum \the\@tempcnta = 0 + \PackageError{regstats}{Did you forget to start the timer?}{% + Before \string\documentclass\space you need to say% + \MessageBreak% + \string\directlua{starttime = os.clock()} \MessageBreak% + } + \fi + \else + \ifpdf + \@tempcnta=\the\pdfelapsedtime\relax + \else + \PackageError{regstats}{Option timer only works with pdf(la)tex% + \MessageBreak% + and with lua(la)tex}{% + Neither appear to be used here. Announced compilation time % + will be zero. + } + \@tempcnta=0\relax + \fi + \fi + \edef\regstatselapsedtime{\the\@tempcnta} + \divide \@tempcnta by 65536% scaledseconds -> seconds + \edef\regstatsseconds{\the\@tempcnta} + \ifnum \regstatsseconds > 59 + \edef\regstatsseconds{\intcalcMod{\the\@tempcnta}{60}} + \divide \@tempcnta by 60% seconds -> minutes + \else + \@tempcnta=0\relax% minutes = 0 + \fi + \ifnum \regstatsseconds < 10 + \message{Time elapsed for the last compiler run:^^J% + about \the\@tempcnta:0\regstatsseconds\space% + (m:ss; \regstatselapsedtime /65536 s).^^J} + \else +% \end{macrocode} +% +% \pagebreak +% +% \begin{macrocode} + \message{Time elapsed for the last compiler run:^^J% + about \the\@tempcnta:\regstatsseconds \space% + (m:ss; \regstatselapsedtime /65536 s).^^J} + \fi + } +\else +\newcommand{\regst@ts@timer}{\relax} +\fi + +\let\regst@ts@statistics\AtVeryVeryEnd% + % \end{macrocode} % % \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).\\ +% |\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},\\ -% as of 2009/09/24. +% as of 2011/06/27, p.~464. % % \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% - }% - }{% +\@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 + \let\regst@ts@statistics\ltx@firstofone% + } +}{% else: older fmtversion: OK % \end{macrocode} % % In this case the used \TeX{} format is outdated, but when\\ @@ -570,197 +653,214 @@ option \texttt{timer} is not demonstrated very spectacular. % I~used it with a 2003/12/01 version myself.) % % \begin{macrocode} - } +} +\AtBeginDocument{% + \AtEndDocument{% + \BeforeClearDocument{% + \AfterLastShipout{% + \AtVeryEndDocument{% + \AtEndAfterFileList{% % \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 -% $\varepsilon$-\TeX{} |\AtBeginDocument| (and herewith ask the user -% to please load \xpackage{regstats} as very last package, -% at least after the \xpackage{etex} package): +% The \xpackage{regstats} package uses the \xpackage{atveryend} package, +% which is not compatible with the \xclass{seminar} class nor the +% \xpackage{slidesec} package. |\AtVeryVeryEnd| cannot be used with that +% class or package.\\ +% |\ltx@ifclassloaded| and |\ltx@ifpackageloaded| from the \xpackage{ltxcmds} +% package can be used after |\AtBeginDocument| (in contrast to +% |\@ifclassloaded| and |\@ifpackageloaded|). % % \begin{macrocode} -\AtBeginDocument{% - \newif\ifetex - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname eTeXversion\endcsname\relax - \etexfalse - \else - \@ifpackageloaded{etex}{\etextrue}{\etexfalse} - \fi - \ifetex - \PackageInfo{regstats}{e-TeX found.} - \else - \PackageWarning{regstats}{Could not find e-TeX.\MessageBreak% - That can mean that e-TeX was disabled or\MessageBreak% - that your distribution of TeX does not contain e-TeX\MessageBreak% - or that you forgot to say \string\usepackage{etex}\MessageBreak% - in the preamble of \jobname.tex.\MessageBreak% - Some packages will not work without e-TeX,\MessageBreak% - but should give according messages.\MessageBreak% - } - \fi - + \ltx@ifclassloaded{seminar}{% no \AtVeryVeryEnd + \let\regst@ts@statistics\ltx@firstofone% + }{% else + \ltx@ifpackageloaded{slidesec}{% no \AtVeryVeryEnd + \let\regst@ts@statistics\ltx@firstofone% + }{% else: OK + }% + }% % \end{macrocode} % -% |\AtVeryEndDocument| we write to |\AtVeryVeryEnd|, thus the code will be executed -% quite late during the compilation. (Please load \xpackage{regstats} as very last -% package!) We define a new command to determine the sigular/plural form, +% |\AtEndAfterFileList| we write to |\AtVeryVeryEnd| (if available) via\linebreak +% |\regst@ts@statistics|, thus the code will be executed quite late during +% the compilation. (Please load \xpackage{regstats} as very last package!)\\ +% +% \begin{macrocode} + \regst@ts@statistics{% +% \end{macrocode} +% +% We try to determine, whether the \xpackage{etex}-package was loaded by the user +% (which requires \eTeX{} being available in the \LaTeX{} distribution +% used to compile the document). +% +% \begin{macrocode} + \ltx@ifpackageloaded{etex}{% + \PackageInfo{regstats}{e-TeX-package found.} + }{% else + \PackageWarning{regstats}{Could not find the e-TeX-package.% + \MessageBreak% + That can mean that e-TeX was disabled or\MessageBreak% + that your distribution of TeX does not contain e-TeX% + \MessageBreak% + or that you simply forgot to say \string\usepackage{etex}% + \MessageBreak% + in the preamble of \jobname.tex.\MessageBreak% + The number of available counter, dimen, skip,\MessageBreak% + muskip, box, and toks registers as well as the\MessageBreak% + number of insertions would be larger when using% + \MessageBreak% + the e-TeX-package.% + } + } +% \end{macrocode} +% +% We define a new command to determine the singular/plural form, % maximum of available registers, and (if option |left| was chosen) % the number of remaining registers of that type. % % \begin{macrocode} - \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 -% $\varepsilon$-\TeX{}, number of availabe registers with $\varepsilon$-\TeX{} -% (in this order). +% \eTeX{}, number of available registers with \eTeX{} (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}} + \@tempcnta=#1 \relax + \ifnum \the\@tempcnta = 0 + \@tempcnta=2 \relax + \fi + \ifnum \the\@tempcnta > 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 + \ltx@ifpackageloaded{etex}{\edef\regstats@max{#5}}{% + \edef\regstats@max{#4}} + \ifregstats@left + \@tempcnta=\regstats@max \relax + \advance\@tempcnta by -#1% + \ifnum \the\@tempcnta > 0 + \edef\regstats@lft{, left: \the\@tempcnta} + \else + \ifnum \the\@tempcnta = 0 + \edef\regstats@lft{, left: \the\@tempcnta !!!} + \else% \the\@tempcnta < 0 + \edef\regstats@lft{, left: \the\@tempcnta **********} + \fi + \fi % \end{macrocode} % % | \else| |\regstats@lft| will stay |\empty|. % % \begin{macrocode} - \fi - } - \newcounter{regstatscount} - \edef\regstats@counter{\the\allocationnumber} + \fi + } % \end{macrocode} % -% When option |proof| was chosen, a new register of the named types is used -% and its number compared with the according |count| number. +% When option |proof| was chosen, one new register of each named type +% is used and its number compared with the according |count| number. % 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!\MessageBreak% + }% + \def\regstats@proof{1} + \newcounter{regstatscount} + \edef\regstats@counter{\the\allocationnumber} + \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. @@ -775,9 +875,12 @@ option \texttt{timer} is not demonstrated very spectacular. \else % \end{macrocode} % +% \pagebreak +% % Without option |proof|, we just take the values of the various |count|s. % % \begin{macrocode} + \edef\regstats@counter{\the\count10} \edef\regstats@dimen{\the\count11} \edef\regstats@skip{\the\count12} \edef\regstats@muskip{\the\count13} @@ -794,10 +897,10 @@ option \texttt{timer} is not demonstrated very spectacular. % |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}} + \@tempcnta = 233 \relax + \advance\@tempcnta by -\regstats@insert% + \advance\@tempcnta by +1% + \edef\regstats@insert{\the\@tempcnta} % \end{macrocode} % % \newpage @@ -805,7 +908,7 @@ 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 $\varepsilon$-\TeX{}) is written +% 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 % in the \xfile{log}~file.) @@ -843,7 +946,7 @@ option \texttt{timer} is not demonstrated very spectacular. % % When option |timer| (or |timer=true|) was used, the \xpackage{regstats} package % additionally gives the time, which was needed for the (last) compilation (run). -% When more than one compilation run are necessary to compile the document, +% When more than one compilation run is 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 @@ -855,31 +958,18 @@ option \texttt{timer} is not demonstrated very spectacular. % \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 as late as immediately before |\begin{document}|, this would mean -% that resetting would be possible during the whole loading of all packages. +% that resetting would be possible during the whole loading of all packages.\\ +% +% |\pdfelapsedtime| is not available when |lua(la)tex| is used instead of +% |pdf(la)tex| to compile the document. In that case at the very beginning +% of your \xfile{tex} file say\\ +% \verb|\directlua{starttime = os.clock()}|\\ +% (even before |\documentclass|!), and the \texttt{timer} option can also +% be used with |lualatex|. When neither |lualatex| nor |pdflatex| is used to +% compile the document, the timer(-option) does not work. % % \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 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 + \regst@ts@timer }% }% }% @@ -890,8 +980,6 @@ option \texttt{timer} is not demonstrated very spectacular. % \end{macrocode} % -% That's it! -% % \begin{macrocode} %</package> % \end{macrocode} @@ -902,7 +990,7 @@ option \texttt{timer} is not demonstrated very spectacular. % % \subsection{Downloads\label{ss:Downloads}} % -% Everything will become available at \CTAN{}, \url{http://www.ctan.org/tex-archive/}, +% Everything is available at \CTAN{}, \url{http://www.ctan.org/tex-archive/}, % but may need additional packages themselves.\\ % % \DescribeMacro{regstats.dtx} @@ -913,35 +1001,41 @@ option \texttt{timer} is not demonstrated very spectacular. % \item[-] document class \xpackage{ltxdoc}, 2007/11/11, v2.0u,\\ % \CTAN{macros/latex/base/ltxdoc.dtx} % -% \item[-] package \xpackage{pdflscape}, 2008/08/11, v0.10,\\ -% \CTAN{macros/latex/contrib/oberdiek/pdflscape.dtx} +% \item[-] package \xpackage{pdflscape}, 2008/08/11, v0.10, +% \url{http://ctan.org/pkg/pdflscape} % -% \item[-] package \xpackage{holtxdoc}, 2011/02/04, v0.21,\\ -% \CTAN{macros/latex/contrib/oberdiek/holtxdoc.dtx} +% \item[-] package \xpackage{holtxdoc}, 2011/02/04, v0.21, +% \url{http://ctan.org/pkg/holtxdoc} % -% \item[-] package \xpackage{hypdoc}, 2010/03/26, v1.9,\\ -% \CTAN{macros/latex/contrib/oberdiek/hypdoc.dtx} +% \item[-] package \xpackage{hypdoc}, 2010/03/26, v1.9, +% \url{http://ctan.org/pkg/hypdoc} % \end{description} % % \DescribeMacro{regstats.sty} -% The \texttt{regstats.sty} for \LaTeXe\ (i.\,e. each document 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[-] package \xpackage{kvoptions}, 2010/12/23, v3.10,\\ -% \CTAN{macros/latex/contrib/oberdiek/kvoptions.dtx} +% \item[-] package \xpackage{kvoptions}, 2010/12/23, v3.10, +% \url{http://ctan.org/pkg/kvoptions} % -% \item[-] package \xpackage{atveryend}, 2011/06/30, v1.8,\\ -% \CTAN{macros/latex/contrib/oberdiek/atveryend.dtx} +% \item[-] package \xpackage{atveryend}, 2011/06/30, v1.8, +% \url{http://ctan.org/pkg/atveryend} % \end{description} % % When option |timer| is used, additionally % \begin{description} -% \item[-] package \xpackage{intcalc}, 2007/09/27, v1.1,\\ -% \CTAN{macros/latex/contrib/oberdiek/intcalc.dtx} +% \item[-] package \xpackage{intcalc}, 2007/09/27, v1.1, +% \url{http://ctan.org/pkg/intcalc} +% +% \item[-] package \xpackage{ifluatex}, 2010/03/01, v1.3, +% \url{http://ctan.org/pkg/ifluatex} +% +% \item[-] package \xpackage{ifpdf}, 2011/01/30, v2.3, +% \url{http://ctan.org/pkg/ifpdf} % \end{description} -% is needed.\\ +% are needed.\\ % % \DescribeMacro{regstats-example.tex} % The \texttt{regstats-example.tex} requires the same files as all @@ -951,8 +1045,8 @@ 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/08/23, v1.0f,\\ -% \CTAN{macros/latex/contrib/regstats/regstats.dtx}\\ +% \item[-] package \xpackage{regstats}, 2012/01/01, v1.0g, +% \url{http://ctan.org/pkg/regstats}\\ % (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 % have some version of it -- is it the current one?) @@ -961,27 +1055,34 @@ option \texttt{timer} is not demonstrated very spectacular. % \DescribeMacro{Alternative} % As possible alternative in section \ref{sec:Alternatives} there is listed % \begin{description} -% \item[-] \xpackage{regcount}, 1999/08/03, v1.0:\\ +% \item[-] \xpackage{regcount}, 1999/08/03, v1.0: % \url{http://www.ctan.org/pkg/regcount} % \end{description} % +% \pagebreak +% % \DescribeMacro{Oberdiek} % \DescribeMacro{holtxdoc} % \DescribeMacro{kvoptions} % \DescribeMacro{atveryend} +% \DescribeMacro{ifluatex} +% \DescribeMacro{ifpdf} % \DescribeMacro{intcalc} +% \DescribeMacro{ltxcmds} % \DescribeMacro{pdflscape} % All packages of \textsc{Heiko Oberdiek's} bundle `oberdiek' % (especially \xpackage{holtxdoc}, \xpackage{kvoptions}, \xpackage{atveryend}, -% \xpackage{intcalc}, and \xpackage{pdflscape}) -% are also available in a TDS compliant ZIP archive:\\ +% \xpackage{ifluatex}, \xpackage{ifpdf}, \xpackage{intcalc}, \xpackage{ltxcmds}, +% and \xpackage{pdflscape}) are also available in a TDS compliant ZIP archive:\\ % \CTAN{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.\\ % +% \vskip 1.2cm +% % \DescribeMacro{hyperref} -% \noindent \xpackage{hyperref} is not included in that bundle and needs to be downloaded -% separately,\\ +% \noindent \xpackage{hyperref} is not included in that bundle and needs to be +% downloaded separately,\\ % \url{http://mirror.ctan.org/install/macros/latex/contrib/hyperref.tds.zip}.\\ % % \DescribeMacro{M\"{u}nch} @@ -998,10 +1099,15 @@ option \texttt{timer} is not demonstrated very spectacular. % The documentation. % \item[\CTAN{macros/latex/contrib/regstats/regstats-example.pdf}]\hspace*{0.1cm} \\ % The compiled example file, as it should look like. +% \item[\CTAN{macros/latex/contrib/regstats/regstats-example.log}]\hspace*{0.1cm} \\ +% A \xfile{log} file for the example. % \item[\CTAN{macros/latex/contrib/regstats/README}]\hspace*{0.1cm} \\ % The README file. +% \end{description} +% There is also a regstats.tds.zip available: +% \begin{description} % \item[\CTAN{install/macros/latex/contrib/regstats.tds.zip}]\hspace*{0.1cm} \\ -% Everything in TDS compliant, compiled format. +% Everything in \xfile{TDS} compliant, compiled format. % \end{description} % which additionally contains\\ % \begin{tabular}{ll} @@ -1009,7 +1115,7 @@ option \texttt{timer} is not demonstrated very spectacular. % regstats.drv & The driver to generate the documentation.\\ % regstats.sty & The \xext{sty}le file.\\ % regstats-example.tex & The example file.\\ -% regstats-example.log & A \xfile{log} file for the example.% +% regstats-example.log & A \xfile{log} file for the example. % \end{tabular} % % \bigskip @@ -1017,8 +1123,8 @@ option \texttt{timer} is not demonstrated very spectacular. % \noindent For required other packages, see the preceding subsection. % % \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting -% \docstrip\ archive. The files are extracted by running the -% \xfile{.dtx} through \plainTeX: +% \docstrip{} archive. The files are extracted by running the +% \xfile{.dtx} through \plainTeX{}: % \begin{quote} % \verb|tex regstats.dtx| % \end{quote} @@ -1031,12 +1137,12 @@ option \texttt{timer} is not demonstrated very spectacular. % \begin{quote} % \def\t{^^A % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} -% regstats.sty & tex/latex/regstats.sty\\ -% regstats.pdf & doc/latex/regstats.pdf\\ -% regstats-example.tex & doc/latex/regstats-example.tex\\ -% regstats-example.pdf & doc/latex/regstats-example.pdf\\ -% regstats-example.log & doc/latex/regstats-example.log\\ -% regstats.dtx & source/latex/regstats.dtx\\ +% regstats.sty & tex/latex/regstats/regstats.sty\\ +% regstats.pdf & doc/latex/regstats/regstats.pdf\\ +% regstats-example.tex & doc/latex/regstats/regstats-example.tex\\ +% regstats-example.pdf & doc/latex/regstats/regstats-example.pdf\\ +% regstats-example.log & doc/latex/regstats/regstats-example.log\\ +% regstats.dtx & source/latex/regstats/regstats.dtx\\ % \end{tabular}^^A % }^^A % \sbox0{\t}^^A @@ -1098,26 +1204,26 @@ option \texttt{timer} is not demonstrated very spectacular. % \usebox0 % \fi % \end{quote} -% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's -% TDS installing feature, then some files can already be in the right -% place, see the documentation of \docstrip. +% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip{}'s +% \xfile{TDS} installing feature, then some files can already be in the right +% place, see the documentation of \docstrip{}. % % \subsection{Refresh file name databases} % -% If your \TeX~distribution (\teTeX, \mikTeX,\dots) relies on file name -% databases, you must refresh these. For example, \teTeX\ users run +% If your \TeX{}~distribution (\teTeX{}, \mikTeX{},\dots{}) relies on file name +% databases, you must refresh these. For example, \teTeX{} users run % \verb|texhash| or \verb|mktexlsr|. % % \subsection{Some details for the interested} % -% \paragraph{Unpacking with \LaTeX.} +% \paragraph{Unpacking with \LaTeX{}.} % The \xfile{.dtx} chooses its action depending on the format: % \begin{description} -% \item[\plainTeX:] Run \docstrip\ and extract the files. +% \item[\plainTeX:] Run \docstrip{} and extract the files. % \item[\LaTeX:] Generate the documentation. % \end{description} -% If you insist on using \LaTeX\ for \docstrip\ (really, -% \docstrip\ does not need \LaTeX), then inform the autodetect routine +% If you insist on using \LaTeX{} for \docstrip{} (really, +% \docstrip{} does not need \LaTeX{}), then inform the autodetect routine % about your intention: % \begin{quote} % \verb|latex \let\install=y\input{regstats.dtx}| @@ -1128,14 +1234,14 @@ option \texttt{timer} is not demonstrated very spectacular. % \paragraph{Generating the documentation.\label{GenDoc}} % You can use both the \xfile{.dtx} or the \xfile{.drv} to generate % the documentation. The process can be configured by a -% configuration file \xfile{ltxdoc.cfg}. For instance, put this +% configuration file \xfile{ltxdoc.cfg}. For instance, put the following % line into this file, if you want to have A4 as paper format: % \begin{quote} % \verb|\PassOptionsToClass{a4paper}{article}| % \end{quote} % % \noindent An example follows how to generate the -% documentation with \pdfLaTeX : +% documentation with \pdfLaTeX{}: % % \begin{quote} %\begin{verbatim} @@ -1150,20 +1256,26 @@ option \texttt{timer} is not demonstrated very spectacular. % \subsection{Compiling the example} % % The example file, \textsf{regstats-example.tex}, can be compiled via\\ -% |(pdf)latex regstats-example.tex|.\\ +% |(pdf)(la)tex regstats-example.tex|\\ +% or (after removing the |%% | before |\directlua{starttime = os.clock()}| +% in the line before |\documentclass|\ldots) via\\ +% |lua(la)tex regstats-example.tex|.\\ % % \section{Acknowledgements} % % I would like to thank \textsc{Heiko Oberdiek} for providing -% the \xpackage{hyperref} and \xpackage{atveryend} as well as -% a~lot~(!) of other useful packages (from which I also got everything +% the \xpackage{hyperref}, \xpackage{holtxdoc}, \xpackage{kvoptions}, +% \xpackage{atveryend}, \xpackage{ifluatex}, \xpackage{ifpdf}, +% \xpackage{intcalc}, \xpackage{ltxcmds}, and \xpackage{pdflscape} +% 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} -% newsgroups for their help in all things \TeX{}. +% newsgroups as well as \url{http://tex.stackexchange.com} +% for their help in all things \TeX{}. % -% \pagebreak +% \bigskip % % \phantomsection % \begin{History}\label{History} @@ -1180,8 +1292,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 $\varepsilon$-\TeX{}. -% \item Change in $\varepsilon$-\TeX{}-detection. +% \item Bug Fix: Number of available |\skip| registers with \eTeX{}. +% \item Change in \eTeX{}-detection. % \item New option |left|. % \item Minor details. % \end{Version} @@ -1193,7 +1305,7 @@ option \texttt{timer} is not demonstrated very spectacular. % \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 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. @@ -1203,13 +1315,24 @@ option \texttt{timer} is not demonstrated very spectacular. % \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 +% should 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. +% which would be obvious in the \xfile{log}-file. % \item New \xpackage{hyperref} package used for the documentation. % \end{Version} +% \begin{Version}{2012/01/01 v1.0g} +% \item Now supports (but does not require) |lua(la)tex| for +% option \texttt{timer}. +% \item Bug fix: wrong path given in the documentation, fixed. +% \item Due to the use of temporary counters, no longer a new counter is used +% (except when option \texttt{proof=true} is chosen, of course). +% \item Circumvention of the incompatibility of the \xpackage{atveryend} +% package with \xclass{seminar} class and \xpackage{slidesec} package +% introduced. +% \item Quite some additional changes in the \xfile{dtx} and README files. +% \end{Version} % \end{History} % % \bigskip @@ -1217,7 +1340,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.) % -% \bigskip +% \pagebreak % % \PrintIndex % diff --git a/Master/texmf-dist/source/latex/regstats/regstats.ins b/Master/texmf-dist/source/latex/regstats/regstats.ins index e0134f4bc25..cff84767497 100644 --- a/Master/texmf-dist/source/latex/regstats/regstats.ins +++ b/Master/texmf-dist/source/latex/regstats/regstats.ins @@ -9,12 +9,12 @@ %% This is a generated file. %% %% Project: regstats -%% Version: 2011/08/23 v1.0f +%% Version: 2012/01/01 v1.0g %% -%% Copyright (C) 2011 by +%% Copyright (C) 2011 - 2012 by %% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> %% -%% The usual disclaimer applys: +%% The usual disclaimer applies: %% If it doesn't work right that's your problem. %% (Nevertheless, send an e-mail to the maintainer %% when you find an error in this package.) @@ -33,16 +33,18 @@ %% %% The Current Maintainer of this work is H.-Martin Muench. %% -%% This work consists of the main source file regstats.dtx -%% and the derived files -%% regstats.sty, regstats.pdf, regstats.ins, regstats.drv, -%% regstats-example.tex. +%% This work consists of the main source file regstats.dtx, +%% the README, and the derived files +%% regstats.sty, regstats.pdf, +%% regstats.ins, regstats.drv, +%% regstats-example.tex, regstats-example.pdf, +%% regstats-example.log. %% \input docstrip.tex -\Msg{******************************************************************} -\Msg{* Installation} -\Msg{* Package: regstats 2011/08/23 v1.0f Counting used registers (HMM)} -\Msg{******************************************************************} +\Msg{********************************************************************} +\Msg{* Installation *} +\Msg{* Package: regstats 2012/01/01 v1.0g Counting used registers (HMM) *} +\Msg{********************************************************************} \keepsilent \askforoverwritefalse @@ -53,12 +55,12 @@ This is a generated file. Project: regstats -Version: 2011/08/23 v1.0f +Version: 2012/01/01 v1.0g -Copyright (C) 2011 by +Copyright (C) 2011 - 2012 by H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> -The usual disclaimer applys: +The usual disclaimer applies: If it doesn't work right that's your problem. (Nevertheless, send an e-mail to the maintainer when you find an error in this package.) @@ -77,10 +79,12 @@ 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 regstats.dtx -and the derived files - regstats.sty, regstats.pdf, regstats.ins, regstats.drv, - regstats-example.tex. +This work consists of the main source file regstats.dtx, +the README, and the derived files + regstats.sty, regstats.pdf, + regstats.ins, regstats.drv, + regstats-example.tex, regstats-example.pdf, + regstats-example.log. \endpreamble \let\MetaPrefix\DoubleperCent @@ -101,7 +105,7 @@ and the derived files \Msg{* To finish the installation you have to move the following} \Msg{* file into a directory searched by TeX:} \Msg{*} -\Msg{* regstats.sty*} +\Msg{* regstats.sty} \Msg{*} \Msg{* To produce the documentation run the file `regstats.drv'} \Msg{* through (pdf)LaTeX, e.g.} diff --git a/Master/texmf-dist/tex/latex/regstats/regstats.sty b/Master/texmf-dist/tex/latex/regstats/regstats.sty index 7dcfb48e24f..b729d234c0b 100644 --- a/Master/texmf-dist/tex/latex/regstats/regstats.sty +++ b/Master/texmf-dist/tex/latex/regstats/regstats.sty @@ -9,12 +9,12 @@ %% This is a generated file. %% %% Project: regstats -%% Version: 2011/08/23 v1.0f +%% Version: 2012/01/01 v1.0g %% -%% Copyright (C) 2011 by +%% Copyright (C) 2011 - 2012 by %% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> %% -%% The usual disclaimer applys: +%% The usual disclaimer applies: %% If it doesn't work right that's your problem. %% (Nevertheless, send an e-mail to the maintainer %% when you find an error in this package.) @@ -33,13 +33,15 @@ %% %% The Current Maintainer of this work is H.-Martin Muench. %% -%% This work consists of the main source file regstats.dtx -%% and the derived files -%% regstats.sty, regstats.pdf, regstats.ins, regstats.drv, -%% regstats-example.tex. +%% This work consists of the main source file regstats.dtx, +%% the README, and the derived files +%% regstats.sty, regstats.pdf, +%% regstats.ins, regstats.drv, +%% regstats-example.tex, regstats-example.pdf, +%% regstats-example.log. %% \NeedsTeXFormat{LaTeX2e}[2011/06/27] -\ProvidesPackage{regstats}[2011/08/23 v1.0f +\ProvidesPackage{regstats}[2012/01/01 v1.0g Counting used registers (HMM)] %% Allows to count the number of used registers @@ -49,6 +51,7 @@ \RequirePackage{kvoptions}[2010/12/23]% v3.10 \RequirePackage{atveryend}[2011/06/30]% v1.8 +\RequirePackage{ltxcmds}[2011/04/18]% v1.20 %% regstats may work with earlier versions of LaTeX and these %% packages, but this was not tested. Please consider updating @@ -64,189 +67,249 @@ \ifregstats@proof \PackageInfo{regstats}{% - This package will use one of each kind of register itself!\MessageBreak% + This package will use one of each kind of register itself!% + \MessageBreak% (And other packages used by this package\MessageBreak% probably use additional resources,\MessageBreak% if those packages are not used anyway.)\MessageBreak% } \else \PackageInfo{regstats}{% - This package will use one counter itself!\MessageBreak% - (And other packages used by this package\MessageBreak% - probably use additional resources,\MessageBreak% - if those packages are not used anyway.)\MessageBreak% + This package will not use registers itself,\MessageBreak% + but packages used by this package\MessageBreak% + (and packages loaded by those packages)\MessageBreak% + use additional resources,\MessageBreak% + if those packages are not used anyway.\MessageBreak% } \fi \ifregstats@timer - \RequirePackage{intcalc}[2007/09/27]% v1.1 + \RequirePackage{intcalc}[2007/09/27]% v1.1 + \RequirePackage{ifluatex}[2010/03/01]% v1.3 + \RequirePackage{ifpdf}[2011/01/30]% v2.3 \fi -\@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% - }% - }{% - } - -\AtBeginDocument{% - \newif\ifetex - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname eTeXversion\endcsname\relax - \etexfalse +\ifregstats@timer +\newcommand{\regst@ts@timer}{% + \message{^^J} + \ifluatex + \@tempcnta=% + \directlua{ + if starttime then + tex.sprint((os.clock()-starttime)*65536) + else + tex.sprint(0) + end + }\relax + \ifnum \the\@tempcnta = 0 + \PackageError{regstats}{Did you forget to start the timer?}{% + Before \string\documentclass\space you need to say% + \MessageBreak% + \string\directlua{starttime = os.clock()} \MessageBreak% + } + \fi \else - \@ifpackageloaded{etex}{\etextrue}{\etexfalse} + \ifpdf + \@tempcnta=\the\pdfelapsedtime\relax + \else + \PackageError{regstats}{Option timer only works with pdf(la)tex% + \MessageBreak% + and with lua(la)tex}{% + Neither appear to be used here. Announced compilation time % + will be zero. + } + \@tempcnta=0\relax + \fi \fi - \ifetex - \PackageInfo{regstats}{e-TeX found.} + \edef\regstatselapsedtime{\the\@tempcnta} + \divide \@tempcnta by 65536% scaledseconds -> seconds + \edef\regstatsseconds{\the\@tempcnta} + \ifnum \regstatsseconds > 59 + \edef\regstatsseconds{\intcalcMod{\the\@tempcnta}{60}} + \divide \@tempcnta by 60% seconds -> minutes \else - \PackageWarning{regstats}{Could not find e-TeX.\MessageBreak% - That can mean that e-TeX was disabled or\MessageBreak% - that your distribution of TeX does not contain e-TeX\MessageBreak% - or that you forgot to say \string\usepackage{etex}\MessageBreak% - in the preamble of \jobname.tex.\MessageBreak% - Some packages will not work without e-TeX,\MessageBreak% - but should give according messages.\MessageBreak% - } + \@tempcnta=0\relax% minutes = 0 \fi + \ifnum \regstatsseconds < 10 + \message{Time elapsed for the last compiler run:^^J% + about \the\@tempcnta:0\regstatsseconds\space% + (m:ss; \regstatselapsedtime /65536 s).^^J} + \else + \message{Time elapsed for the last compiler run:^^J% + about \the\@tempcnta:\regstatsseconds \space% + (m:ss; \regstatselapsedtime /65536 s).^^J} + \fi + } +\else +\newcommand{\regst@ts@timer}{\relax} +\fi + +\let\regst@ts@statistics\AtVeryVeryEnd% + +\@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 + \let\regst@ts@statistics\ltx@firstofone% + } +}{% else: older fmtversion: OK +} - \AtEndDocument{% - \BeforeClearDocument{% - \AfterLastShipout{% - \AtVeryEndDocument{% - \AtEndAfterFileList{% - \AtVeryVeryEnd{% +\AtBeginDocument{% + \AtEndDocument{% + \BeforeClearDocument{% + \AfterLastShipout{% + \AtVeryEndDocument{% + \AtEndAfterFileList{% + \ltx@ifclassloaded{seminar}{% no \AtVeryVeryEnd + \let\regst@ts@statistics\ltx@firstofone% + }{% else + \ltx@ifpackageloaded{slidesec}{% no \AtVeryVeryEnd + \let\regst@ts@statistics\ltx@firstofone% + }{% else: OK + }% + }% + \regst@ts@statistics{% + \ltx@ifpackageloaded{etex}{% + \PackageInfo{regstats}{e-TeX-package found.} + }{% else + \PackageWarning{regstats}{Could not find the e-TeX-package.% + \MessageBreak% + That can mean that e-TeX was disabled or\MessageBreak% + that your distribution of TeX does not contain e-TeX% + \MessageBreak% + or that you simply forgot to say \string\usepackage{etex}% + \MessageBreak% + in the preamble of \jobname.tex.\MessageBreak% + The number of available counter, dimen, skip,\MessageBreak% + muskip, box, and toks registers as well as the\MessageBreak% + number of insertions would be larger when using% + \MessageBreak% + the e-TeX-package.% + } + } \def\regstats@lft{}% \newcommand{\regstats@regstat}[5]{% - \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}} + \@tempcnta=#1 \relax + \ifnum \the\@tempcnta = 0 + \@tempcnta=2 \relax + \fi + \ifnum \the\@tempcnta > 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} **********} + \gdef\regstats@pl{#2} + \fi + \ltx@ifpackageloaded{etex}{\edef\regstats@max{#5}}{% + \edef\regstats@max{#4}} + \ifregstats@left + \@tempcnta=\regstats@max \relax + \advance\@tempcnta by -#1% + \ifnum \the\@tempcnta > 0 + \edef\regstats@lft{, left: \the\@tempcnta} + \else + \ifnum \the\@tempcnta = 0 + \edef\regstats@lft{, left: \the\@tempcnta !!!} + \else% \the\@tempcnta < 0 + \edef\regstats@lft{, left: \the\@tempcnta **********} + \fi \fi \fi - \fi - } - \newcounter{regstatscount} - \edef\regstats@counter{\the\allocationnumber} - \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!\MessageBreak% + }% + \def\regstats@proof{1} + \newcounter{regstatscount} + \edef\regstats@counter{\the\allocationnumber} + \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 \edef\regstats@test{0} \ifx\regstats@proof\regstats@test \message{Regstats test for register numbers failed.^^J} @@ -254,6 +317,7 @@ right numbers.^^J} \fi \else + \edef\regstats@counter{\the\count10} \edef\regstats@dimen{\the\count11} \edef\regstats@skip{\the\count12} \edef\regstats@muskip{\the\count13} @@ -265,10 +329,10 @@ \edef\regstats@language{\the\count19} \edef\regstats@insert{\the\count20} \fi - \setcounter{regstatscount}{233} - \addtocounter{regstatscount}{-\regstats@insert} - \addtocounter{regstatscount}{+1} - \edef\regstats@insert{\arabic{regstatscount}} + \@tempcnta = 233 \relax + \advance\@tempcnta by -\regstats@insert% + \advance\@tempcnta by +1% + \edef\regstats@insert{\the\@tempcnta} \message{^^J} \message{Here is how much of TeX's registers you used^^J}% \message{\space (numbers of available registers are estimated!):^^J}% @@ -294,28 +358,7 @@ \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} - \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 + \regst@ts@timer }% }% }% |