diff options
author | Karl Berry <karl@freefriends.org> | 2011-05-17 23:09:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-05-17 23:09:04 +0000 |
commit | 2890d22f6ec817ed72f4929071ba6d63ede0c4b4 (patch) | |
tree | 5ffdeee429658f7d04704e73189fbd81392734d9 /Master | |
parent | 36dd34a850a6284be752b454845c199ef83f62af (diff) |
new latex package regstats (17may11)
git-svn-id: svn://tug.org/texlive/trunk@22508 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/regstats/README | 140 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/regstats/regstats-example.log | 302 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/regstats/regstats-example.pdf | bin | 0 -> 53897 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/regstats/regstats-example.tex | 80 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/regstats/regstats.pdf | bin | 0 -> 299555 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/regstats/regstats.drv | 77 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/regstats/regstats.dtx | 981 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/regstats/regstats.ins | 124 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/regstats/regstats.sty | 229 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 3 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/regstats.tlpsrc | 0 |
12 files changed, 1936 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/regstats/README b/Master/texmf-dist/doc/latex/regstats/README new file mode 100644 index 00000000000..63b93cbd867 --- /dev/null +++ b/Master/texmf-dist/doc/latex/regstats/README @@ -0,0 +1,140 @@ +README for regstats package, 2011/05/16, v1.0b + + +TABLE OF CONTENTS +================= + +1 Introduction +2 Download +3 Installation +4 Additional Packages +5 New Features +6 Package Compatibility +7 Authors/Maintainers +8 Bug Reports +9 Known Problems + + +1 INTRODUCTION +============== + +This 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 of the counters, \count11 the one of the dimens and so on, +it is possible to use option proof, in which case a new one of each register +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). + + +2 DOWNLOAD +========== + +`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): + CTAN:install/macros/latex/contrib/regstats.tds.zip + +`CTAN:' means one of the `Comprehensive TeX Archive Network' +nodes or one of its mirrors. This is explained in + http://www.tex.ac.uk/cgi-bin/texfaq2html?label=archives + +The CTAN stuff will be mirrored automatically from the +ftp server, so + ftp://ftp.tug.org/pub/tex/regstats/ +corresponds to + CTAN:macros/latex/contrib/regstats/ + + +3 INSTALLATION +============== + +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. +(See CTAN:tds.zip for an explanation of TDS.) +Example: + cd /...somewhere.../texmf + unzip /...downloadpath.../regstats.tds.zip +Do not forget to refresh the file name database of this +TDS tree. +Example: + texhash /...somewhere.../texmf + +Manual installation +------------------- +a) Download the regstats files from CTAN or the TUG server. + If necessary, unpack them. +b) Generate the package and driver files: + tex regstats.ins +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 + "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 +which again load other packages +(see the result of the \listfiles command in the log-file + of the example). + + +5 PACKAGE COMPATIBILITY +======================= + +regstats should be loaded last (but can be loaded earlier). + +6 AUTHOR/MAINTAINER +===================== + +* Hans-Martin Münch + + +7 BUG REPORTS +============== + +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 informations 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 informations 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. +* Please .zip or .tar.gz your file(s) before sending them! + +Bug address +----------- +Bug reports can be send to the maintainer: + Hans-Martin Münch + <Martin [dot] Muench [at] Uni-Bonn [dot] de> + + +8 KNOWN PROBLEMS +================= + +* 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 new file mode 100644 index 00000000000..3d9feedc724 --- /dev/null +++ b/Master/texmf-dist/doc/latex/regstats/regstats-example.log @@ -0,0 +1,302 @@ +This is pdfTeX, Version 3.1415926-1.40.11 (Web2C 2010) (format=pdflatex 2011.5.11) 16 MAY 2011 18:05 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**regstats-example.tex +(./regstats-example.tex +LaTeX2e <2009/09/24> +Babel <v3.8l> and hyphenation patterns for english, dumylang, nohyphenation, ge +rman-x-2009-06-19, ngerman-x-2009-06-19, afrikaans, ancientgreek, ibycus, arabi +c, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danis +h, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, farsi, finnis +h, french, galician, german, ngerman, swissgerman, monogreek, greek, hungarian, + icelandic, assamese, bengali, gujarati, hindi, kannada, malayalam, marathi, or +iya, panjabi, tamil, telugu, indonesian, interlingua, irish, italian, kurmanji, + lao, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal, nynorsk, pol +ish, portuguese, romanian, russian, sanskrit, serbian, slovak, slovenian, spani +sh, swedish, turkish, turkmen, ukrainian, uppersorbian, welsh, loaded. +(s:/TeXlive2010/texmf-dist/tex/latex/base/article.cls +Document Class: article 2007/10/19 v1.4h Standard LaTeX document class +(s:/TeXlive2010/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(s:/TeXlive2010/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2011/04/17 v6.82g Hypertext links for LaTeX + +(s:/TeXlive2010/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2011/04/23 v1.4 Bundle oberdiek, subset hyperref (HO) + +(s:/TeXlive2010/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2011/04/23 v1.4 Bundle oberdiek, subset generic (HO) +Package: hobsub 2011/04/23 v1.4 Subsetting bundle oberdiek (HO) +Package: infwarerr 2010/04/08 v1.3 Providing info/warning/message (HO) +Package: ltxcmds 2011/04/18 v1.20 LaTeX kernel commands for general use (HO) +Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package: ifvtex 2010/03/01 v1.5 Switches for detecting VTeX and its modes (HO) +Package ifvtex Info: VTeX not detected. +Package: intcalc 2007/09/27 v1.1 Expandable integer calculations (HO) +Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) +Package ifpdf Info: pdfTeX in PDF mode is detected. +Package: etexcmds 2011/02/16 v1.5 Prefix for e-TeX command names (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +Package: kvsetkeys 2011/04/07 v1.13 Key value parser (HO) +Package: kvdefinekeys 2011/04/07 v1.3 Defining keys (HO) +Package: pdftexcmds 2011/04/22 v0.16 Utilities of pdfTeX for LuaTeX (HO) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +Package: pdfescape 2011/04/04 v1.12 Provides string conversions (HO) +Package: bigintcalc 2011/01/30 v1.2 Expandable big integer calculations (HO) +Package: bitset 2011/01/30 v1.1 Data type bit set (HO) +Package: uniquecounter 2011/01/30 v1.2 Provides unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO) +Package: hopatch 2011/01/30 v1.0 Wrapper for package hooks (HO) +Package: xcolor-patch 2011/01/30 xcolor patch +Package: atveryend 2011/04/23 v1.7 Hooks at very end of document (HO) +Package atveryend Info: \enddocument detected (standard). +Package: atbegshi 2011/01/30 v1.15 At begin shipout hook (HO) +Package: refcount 2010/12/01 v3.2 Data extraction from references (HO) +Package: hycolor 2011/01/30 v1.7 Color options of hyperref/bookmark (HO) +) +(s:/TeXlive2010/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 1999/03/16 v1.13 key=value parser (DPC) +\KV@toks@=\toks14 +) +(s:/TeXlive2010/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +(s:/TeXlive2010/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2010/12/23 v3.10 Keyval support for LaTeX options (HO) +) +\@linkdim=\dimen103 +\Hy@linkcounter=\count87 +\Hy@pagecounter=\count88 + +(s:/TeXlive2010/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2011/04/17 v6.82g Hyperref: PDFDocEncoding definition (HO) +) +\Hy@SavedSpaceFactor=\count89 + +(s:/TeXlive2010/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 4026. +Package hyperref Info: Link nesting OFF on input line 4031. +Package hyperref Info: Hyper index ON on input line 4034. +Package hyperref Info: Plain pages OFF on input line 4041. +Package hyperref Info: Backreferencing OFF on input line 4046. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4264. +\c@Hy@tempcnt=\count90 + +(s:/TeXlive2010/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 4617. +\Fld@menulength=\count91 +\Field@Width=\dimen104 +\Fld@charsize=\dimen105 +Package hyperref Info: Hyper figures OFF on input line 5701. +Package hyperref Info: Link nesting OFF on input line 5706. +Package hyperref Info: Hyper index ON on input line 5709. +Package hyperref Info: backreferencing OFF on input line 5716. +Package hyperref Info: Link coloring OFF on input line 5721. +Package hyperref Info: Link coloring with OCG OFF on input line 5726. +Package hyperref Info: PDF/A mode OFF on input line 5731. +LaTeX Info: Redefining \ref on input line 5771. +LaTeX Info: Redefining \pageref on input line 5775. +\Hy@abspage=\count92 +\c@Item=\count93 +\c@Hfootnote=\count94 +) + +Package hyperref Message: Driver (autodetected): hpdftex. + +(s:/TeXlive2010/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2011/04/17 v6.82g Hyperref driver for pdfTeX +\Fld@listcount=\count95 +\c@bookmark@seq@number=\count96 + +(s:/TeXlive2010/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +82. +) +\Hy@SectionHShift=\skip43 +) +Package hyperref Info: Option `plainpages' set `false' on input line 56. + + +Package hyperref Warning: Option `pdfpagelabels' has already been used, +(hyperref) setting the option has no effect on input line 56. + + +Package hyperref Warning: Option `hyperindex' has already been used, +(hyperref) setting the option has no effect on input line 56. + +(./regstats.sty +Package: regstats 2011/05/16 v1.0b Counting used registers (HMM) +Package regstats Info: e-TeX found. on input line 71. +) (./regstats-example.aux) +\openout1 = `regstats-example.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 60. +LaTeX Font Info: ... okay on input line 60. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 60. +LaTeX Font Info: ... okay on input line 60. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 60. +LaTeX Font Info: ... okay on input line 60. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 60. +LaTeX Font Info: ... okay on input line 60. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 60. +LaTeX Font Info: ... okay on input line 60. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 60. +LaTeX Font Info: ... okay on input line 60. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 60. +LaTeX Font Info: ... okay on input line 60. +\AtBeginShipoutBox=\box26 +Package hyperref Info: Link coloring OFF on input line 60. + +(s:/TeXlive2010/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2010/04/30 v2.40 Cross-referencing by name of section + +(s:/TeXlive2010/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO) +) +\c@section@level=\count97 +) +LaTeX Info: Redefining \ref on input line 60. +LaTeX Info: Redefining \pageref on input line 60. +LaTeX Info: Redefining \nameref on input line 60. + +(./regstats-example.out) (./regstats-example.out) +\@outlinefile=\write3 +\openout3 = `regstats-example.out'. + + +Underfull \hbox (badness 10000) in paragraph at lines 64--69 + + [] + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 70. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 70. + +Underfull \hbox (badness 10000) in paragraph at lines 70--73 + + [] + +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 77. +[1 + +{s:/TeXlive2010/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] +Package atveryend Info: Empty hook `AfterLastShipout' on input line 77. + +(./regstats-example.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 77. + + + *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/04/17 v6.82g Hypertext links for LaTeX +hobsub-hyperref.sty 2011/04/23 v1.4 Bundle oberdiek, subset hyperref (HO) +hobsub-generic.sty 2011/04/23 v1.4 Bundle oberdiek, subset generic (HO) + hobsub.sty 2011/04/23 v1.4 Subsetting bundle oberdiek (HO) +infwarerr.sty 2010/04/08 v1.3 Providing info/warning/message (HO) + ltxcmds.sty 2011/04/18 v1.20 LaTeX kernel commands for general use (HO) +ifluatex.sty 2010/03/01 v1.3 Provides the ifluatex switch (HO) + ifvtex.sty 2010/03/01 v1.5 Switches for detecting VTeX and its modes (HO) + intcalc.sty 2007/09/27 v1.1 Expandable integer calculations (HO) + ifpdf.sty 2011/01/30 v2.3 Provides the ifpdf switch (HO) +etexcmds.sty 2011/02/16 v1.5 Prefix for e-TeX command names (HO) +kvsetkeys.sty 2011/04/07 v1.13 Key value parser (HO) +kvdefinekeys.sty 2011/04/07 v1.3 Defining keys (HO) +pdftexcmds.sty 2011/04/22 v0.16 Utilities of pdfTeX for LuaTeX (HO) +pdfescape.sty 2011/04/04 v1.12 Provides string conversions (HO) +bigintcalc.sty 2011/01/30 v1.2 Expandable big integer calculations (HO) + bitset.sty 2011/01/30 v1.1 Data type bit set (HO) +uniquecounter.sty 2011/01/30 v1.2 Provides unlimited unique counter (HO) +letltxmacro.sty 2010/09/02 v1.4 Let assignment for LaTeX macros (HO) + hopatch.sty 2011/01/30 v1.0 Wrapper for package hooks (HO) +xcolor-patch.sty 2011/01/30 xcolor patch +atveryend.sty 2011/04/23 v1.7 Hooks at very end of document (HO) +atbegshi.sty 2011/01/30 v1.15 At begin shipout hook (HO) +refcount.sty 2010/12/01 v3.2 Data extraction from references (HO) + hycolor.sty 2011/01/30 v1.7 Color options of hyperref/bookmark (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/04/17 v6.82g 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/04/17 v6.82g Hyperref driver for pdfTeX +rerunfilecheck.sty 2011/04/15 v1.7 Rerun checks for auxiliary files (HO) +regstats.sty 2011/05/16 v1.0b 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 77. +Package rerunfilecheck Info: File `regstats-example.out' has not changed. +(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. +Package atveryend Info: Executing hook `AtVeryVeryEnd' on input line 77. +\c@regstatscount=\count98 + +Here is how much of TeX's registers you used + (numbers of available registers are estimated!): + 98 counter registers out of 32767 + 105 dimen registers out of 32767 + 43 skip registers out of 233 + 10 muskip registers out of 32767 + 26 box registers out of 32767 + 14 toks registers out of 32767 + 0 input streams (read) out of 15 + 3 output streams (write) out of 15 + 3 math families (fam) out of 15 + 73 language codes out of 255 + 0 insertions out of 124 + ) +Here is how much of TeX's memory you used: + 4128 strings out of 493763 + 61913 string characters out of 3148677 + 136571 words of memory out of 3000000 + 7454 multiletter control sequences out of 15000+200000 + 4718 words of font info for 18 fonts, out of 3000000 for 9000 + 715 hyphenation exceptions out of 8191 + 29i,4n,23p,206b,313s stack positions out of 5000i,500n,10000p,200000b,50000s +<s:/TeXlive2010/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb><s:/TeXl +ive2010/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb><s:/TeXlive2010/tex +mf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb><s:/TeXlive2010/texmf-dist/font +s/type1/public/amsfonts/cm/cmss10.pfb><s:/TeXlive2010/texmf-dist/fonts/type1/pu +blic/amsfonts/cm/cmtt10.pfb> +Output written on regstats-example.pdf (1 page, 53897 bytes). +PDF statistics: + 34 PDF objects out of 1000 (max. 8388607) + 25 compressed objects within 1 object stream + 3 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/Master/texmf-dist/doc/latex/regstats/regstats-example.pdf b/Master/texmf-dist/doc/latex/regstats/regstats-example.pdf Binary files differnew file mode 100644 index 00000000000..5bc279f516d --- /dev/null +++ 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 new file mode 100644 index 00000000000..a2f24de2a43 --- /dev/null +++ b/Master/texmf-dist/doc/latex/regstats/regstats-example.tex @@ -0,0 +1,80 @@ +%% +%% This is file `regstats-example.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% regstats.dtx (with options: `example') +%% +%% This is a generated file. +%% +%% Project: regstats +%% Version: 2011/05/16 v1.0b +%% +%% Copyright (C) 2011 by +%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> +%% +%% The usual disclaimer applys: +%% 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.) +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% 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. +%% +\documentclass[british]{article}[2007/10/19]% v1.4h +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage{hyperref}[2011/04/17]% v6.82g +\hypersetup{extension=pdf,% + plainpages=false,% + pdfpagelabels=true,% + hyperindex=false,% + pdflang={en},% + pdftitle={regstats package example},% + pdfauthor={Hans-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,% + pdfpagelayout=SinglePage% +} +\usepackage[proof=false]{regstats}[2011/05/16]% v1.0b +\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\listfiles +\begin{document} +\pagenumbering{arabic} +\section*{Example for regstats} + +This example demonstrates the use of package\newline +\textsf{regstats}, v1.0b as of 2011/05/16 (HMM).\newline +The used option was \texttt{proof=false}. +This is the default option. +For more details please see the documentation!\newline + +\noindent Save per page about $200\unit{ml}$ water, +$2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\newline +Therefore please print only if this is really necessary.\newline + +For the resulting message, please compile regstats-example.tex and +have a look at the end of the log-file. + +\end{document} +\endinput +%% +%% End of file `regstats-example.tex'. diff --git a/Master/texmf-dist/doc/latex/regstats/regstats.pdf b/Master/texmf-dist/doc/latex/regstats/regstats.pdf Binary files differnew file mode 100644 index 00000000000..4be79416f8a --- /dev/null +++ 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 new file mode 100644 index 00000000000..1ff96034db4 --- /dev/null +++ b/Master/texmf-dist/source/latex/regstats/regstats.drv @@ -0,0 +1,77 @@ +%% +%% This is file `regstats.drv', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% regstats.dtx (with options: `driver') +%% +%% This is a generated file. +%% +%% Project: regstats +%% Version: 2011/05/16 v1.0b +%% +%% Copyright (C) 2011 by +%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> +%% +%% The usual disclaimer applys: +%% 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.) +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% 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. +%% +\NeedsTeXFormat{LaTeX2e}[2009/09/24] +\ProvidesFile{regstats.drv}% + [2011/05/16 v1.0b 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 +%% regstats may work with earlier versions of LaTeX2e and those +%% class and package, but this was not tested. +%% Please consider updating your LaTeX, class, and package +%% to the most recent version (if they are not already the most +%% 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},% + pdfencoding=auto,% + pdflang={en},% + breaklinks=true,% + linktoc=all,% + pdfstartview=FitH,% + pdfpagelayout=OneColumn,% + bookmarksnumbered=true,% + bookmarksopen=true,% + bookmarksopenlevel=3,% + pdfmenubar=true,% + pdftoolbar=true,% + pdfwindowui=true,% + pdfnewwindow=true% +} +\CodelineIndex +\hyphenation{printing docu-ment} +\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\begin{document} + \DocInput{regstats.dtx}% +\end{document} +\endinput +%% +%% End of file `regstats.drv'. diff --git a/Master/texmf-dist/source/latex/regstats/regstats.dtx b/Master/texmf-dist/source/latex/regstats/regstats.dtx new file mode 100644 index 00000000000..e25d3b08b25 --- /dev/null +++ b/Master/texmf-dist/source/latex/regstats/regstats.dtx @@ -0,0 +1,981 @@ +% \iffalse meta-comment +% +% File: regstats.dtx +% Version: 2011/05/16 v1.0b +% +% Copyright (C) 2011 by +% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any later +% version. This version of this license is in +% http://www.latex-project.org/lppl/lppl-1-3c.txt +% and the latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of +% LaTeX version 2005/12/01 or later. +% +% 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. +% +% Distribution: +% CTAN:macros/latex/contrib/regstats/regstats.dtx +% CTAN:macros/latex/contrib/regstats/regstats.pdf +% CTAN:install/macros/latex/contrib/regstats.tds.zip +% +% Unpacking: +% (a) If regstats.ins is present: +% tex regstats.ins +% (b) Without regstats.ins: +% tex regstats.dtx +% (c) If you insist on using LaTeX +% latex \let\install=y\input{regstats.dtx} +% (quote the arguments according to the demands of your shell) +% +% Documentation: +% (a) If regstats.drv is present: +% (pdf)latex regstats.drv +% makeindex -s gind.ist regstats.idx +% (pdf)latex regstats.drv +% makeindex -s gind.ist regstats.idx +% (pdf)latex regstats.drv +% (b) Without regstats.drv: +% (pdf)latex regstats.dtx +% makeindex -s gind.ist regstats.idx +% (pdf)latex regstats.dtx +% makeindex -s gind.ist regstats.idx +% (pdf)latex regstats.dtx +% +% The class ltxdoc loads the configuration file ltxdoc.cfg +% if available. Here you can specify further options, e.g. +% use DIN A4 as paper format: +% \PassOptionsToClass{a4paper}{article} +% +% Installation: +% 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.log +% TDS:source/latex/regstats/regstats.dtx +% +%<*ignore> +\begingroup + \catcode123=1 % + \catcode125=2 % + \def\x{LaTeX2e}% +\expandafter\endgroup +\ifcase 0\ifx\install y1\fi\expandafter + \ifx\csname processbatchFile\endcsname\relax\else1\fi + \ifx\fmtname\x\else 1\fi\relax +\else\csname fi\endcsname +%</ignore> +%<*install> +\input docstrip.tex +\Msg{******************************************************************} +\Msg{* Installation} +\Msg{* Package: regstats 2011/05/16 v1.0b Counting used registers (HMM)} +\Msg{******************************************************************} + +\keepsilent +\askforoverwritefalse + +\let\MetaPrefix\relax +\preamble + +This is a generated file. + +Project: regstats +Version: 2011/05/16 v1.0b + +Copyright (C) 2011 by + H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> + +The usual disclaimer applys: +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.) + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3c of this license or (at your option) any later +version. This version of this license is in + http://www.latex-project.org/lppl/lppl-1-3c.txt +and the latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3c or later is part of all distributions of +LaTeX version 2005/12/01 or later. + +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. + +\endpreamble +\let\MetaPrefix\DoubleperCent + +\generate{% + \file{regstats.ins}{\from{regstats.dtx}{install}}% + \file{regstats.drv}{\from{regstats.dtx}{driver}}% + \usedir{tex/latex/regstats}% + \file{regstats.sty}{\from{regstats.dtx}{package}}% + \usedir{doc/latex/regstats}% + \file{regstats-example.tex}{\from{regstats.dtx}{example}}% +} + +\catcode32=13\relax% active space +\let =\space% +\Msg{************************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file into a directory searched by TeX:} +\Msg{*} +\Msg{* regstats.sty*} +\Msg{*} +\Msg{* To produce the documentation run the file `regstats.drv'} +\Msg{* through (pdf)LaTeX, e.g.} +\Msg{* pdflatex regstats.drv} +\Msg{* makeindex -s gind.ist regstats.idx} +\Msg{* pdflatex regstats.drv} +\Msg{* makeindex -s gind.ist regstats.idx} +\Msg{* pdflatex regstats.drv} +\Msg{*} +\Msg{* At least three runs are necessary e.g. to get the} +\Msg{* references right!} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{************************************************************************} + +\endbatchfile +%</install> +%<*ignore> +\fi +%</ignore> +% +% \section{The documentation driver file} +% +% 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} +% and specify the \texttt{driver} option when \texttt{docstrip} +% asks for options. +% +% \begin{macrocode} +%<*driver> +\NeedsTeXFormat{LaTeX2e}[2009/09/24] +\ProvidesFile{regstats.drv}% + [2011/05/16 v1.0b 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 +%% regstats may work with earlier versions of LaTeX2e and those +%% class and package, but this was not tested. +%% Please consider updating your LaTeX, class, and package +%% to the most recent version (if they are not already the most +%% 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},% + pdfencoding=auto,% + pdflang={en},% + breaklinks=true,% + linktoc=all,% + pdfstartview=FitH,% + pdfpagelayout=OneColumn,% + bookmarksnumbered=true,% + bookmarksopen=true,% + bookmarksopenlevel=3,% + pdfmenubar=true,% + pdftoolbar=true,% + pdfwindowui=true,% + pdfnewwindow=true% +} +\CodelineIndex +\hyphenation{printing docu-ment} +\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\begin{document} + \DocInput{regstats.dtx}% +\end{document} +%</driver> +% \end{macrocode} +% +% \fi +% +% \CheckSum{422} +% +% \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 +% Lower-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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \GetFileInfo{regstats.drv} +% +% \begingroup +% \def\x{\#,\$,\^,\_,\~,\ ,\&,\{,\},\%}% +% \makeatletter +% \@onelevel@sanitize\x +% \expandafter\endgroup +% \expandafter\DoNotIndex\expandafter{\x} +% \expandafter\DoNotIndex\expandafter{\string\ } +% \begingroup +% \makeatletter +% \lccode`9=32\relax +% \lowercase{%^^A +% \edef\x{\noexpand\DoNotIndex{\@backslashchar9}}%^^A +% }%^^A +% \expandafter\endgroup\x +% +% \DoNotIndex{\\} +% \DoNotIndex{\documentclass,\usepackage,\ProvidesPackage,\begin,\end} +% \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,\MessageBreak} +% \DoNotIndex{\ldots,\indent,\noindent,\newline,\pagebreak,\pagenumbering} +% \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} +% +% \title{The \xpackage{regstats} package} +% \date{2011/05/16 v1.0b} +% \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. +% \end{abstract} +% +% \bigskip +% +% \noindent Disclaimer for web links: The author is not responsible for any contents +% referred to in this work unless he has full knowledge of illegal contents. +% If any damage occurs by the use of information presented there, only the +% author of the respective pages might be liable, not the one who has referred +% to these pages. +% +% \bigskip +% +% \noindent {\color{green} Save per page about $200\unit{ml}$ water, +% $2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\\ +% Therefore please print only if this is really necessary.} +% +% \bigskip +% +% \tableofcontents +% +% \pagebreak +% +% \section{Introduction} +% +% \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 +% of the counters, |\count11| the one of the dimens and so on, it is possible to use +% option |proof|, in which case a new one of each register 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|).\\ +% +% \bigskip +% +% \section{Usage} +% +% \indent Just load the package placing +% \begin{quote} +% |\usepackage[<|\textit{options}|>]{regstats}| +% \end{quote} +% \noindent in the preamble of your \LaTeXe\ source file. The resulting message +% will be presented at the end of the compilation messages at the screen and in +% the \xfile{log} file. +% +% \subsection{Option} +% \DescribeMacro{option} +% \indent The \xpackage{regstats} package takes the following option: +% +% \subsubsection{proof\label{sss:proof}} +% \DescribeMacro{proof} +% \indent When option \texttt{proof} (or \texttt{proof=true}) is choosen, +% a new one of each register is used and looked at |\the\allocationnumber|, +% and this is compared to the number determined by reading the |\count|. +% The default is \texttt{proof=false}. +% +% \section{Alternatives\label{sec:Alternatives}} +% +% \begin{description} +% \item[-] \xpackage{regcount}, 1999/08/03, v1.0, by \textsc{Jean-Pierre F. Drucbert}, +% provides the command |\rgcounts|, which can write the numbers of used registers +% into the \xfile{log} file anywhere (not only at the end) and does this automatically +% |\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 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|, +% and find the according number there. +% \end{description} +% +% \bigskip +% +% \noindent (You programmed or found another alternative, +% which is available at \CTAN{}?\\ +% OK, send an e-mail to me with the name, location at \CTAN{}, +% and a short notice, and I will probably include it in +% the list above.) +% +% \newpage +% +% \section{Example} +% +% \begin{macrocode} +%<*example> +\documentclass[british]{article}[2007/10/19]% v1.4h +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage{hyperref}[2011/04/17]% v6.82g +\hypersetup{extension=pdf,% + plainpages=false,% + pdfpagelabels=true,% + hyperindex=false,% + pdflang={en},% + pdftitle={regstats package example},% + pdfauthor={Hans-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,% + pdfpagelayout=SinglePage% +} +\usepackage[proof=false]{regstats}[2011/05/16]% v1.0b +\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\listfiles +\begin{document} +\pagenumbering{arabic} +\section*{Example for regstats} + +This example demonstrates the use of package\newline +\textsf{regstats}, v1.0b as of 2011/05/16 (HMM).\newline +The used option was \texttt{proof=false}. +This is the default option. +For more details please see the documentation!\newline + +\noindent Save per page about $200\unit{ml}$ water, +$2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\newline +Therefore please print only if this is really necessary.\newline + +For the resulting message, please compile regstats-example.tex and +have a look at the end of the log-file. + +\end{document} +%</example> +% \end{macrocode} +% +% \StopEventually{} +% +% \newpage +% +% \section{The implementation} +% +% We start off by checking that we are loading into \LaTeXe\ and +% announcing the name and version of this package. +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[2009/09/24] +\ProvidesPackage{regstats}[2011/05/16 v1.0b + Counting used registers (HMM)] + +% \end{macrocode} +% +% A short description of the \xpackage{regstats} package: +% +% \begin{macrocode} +%% 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. + +% \end{macrocode} +% +% We need the \xpackage{kvoptions} and \xpackage{atveryend} packages +% by \textsc{Heiko Oberdiek}: +% +% \begin{macrocode} +\RequirePackage{kvoptions}[2010/12/23]% v3.10 +\RequirePackage{atveryend}[2011/04/23]% v1.7 + +% \end{macrocode} +% +% A last information for the user: +% +% \begin{macrocode} +%% regstats may work with earlier versions of LaTeX and these +%% packages, but this was not tested. Please consider updating +%% your LaTeX and packages to the most recent version +%% (if they are not already the most recent version). + +% \end{macrocode} +% +% \indent See subsection~\ref{ss:Downloads} about how to get them.\\ +% +% We process the option: +% +% \begin{macrocode} +\SetupKeyvalOptions{family=regstats,prefix=regstats@} +\DeclareBoolOption{proof}% \regstats@proof +\ProcessKeyvalOptions* + +% \end{macrocode} +% +% We try to determine, whether \eTeX\ is available: +% +% \begin{macrocode} +\newif\ifetex +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname eTeXversion\endcsname\relax + \etexfalse +\else + \etextrue +\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% + Some packages will not work without e-TeX,\MessageBreak% + but should give according messages.\MessageBreak% + } +\fi + +% \end{macrocode} +% +% |\AtVeryEndDocument| we write to |\AtVeryVeryEnd|, thus the code will be executed +% quite late during the compilation. We define a new command to determine the +% sigular/plural form. +% +% \begin{macrocode} +\AtVeryEndDocument{% + \AtVeryVeryEnd{% + \newcommand{\regstats@s}[3]{% + \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 + } + \newcounter{regstatscount} + \edef\regstats@counter{\the\allocationnumber} +% \end{macrocode} +% +% When option |proof| was choosen, a new register of the named types 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 use one of each register\MessageBreak% + 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 +% \end{macrocode} +% +% \pagebreak +% +% \begin{macrocode} + \newbox\regstatsbox + \edef\regstats@box{\the\allocationnumber} + \edef\regstats@test{\the\count14} + \ifx\regstats@box\regstats@test + \else \message{Discrepancy when counting box registers.^^J} + \def\regstats@proof{0} + \fi + \newtoks\regstatstoks + \edef\regstats@toks{\the\allocationnumber} + \edef\regstats@test{\the\count15} + \ifx\regstats@toks\regstats@test + \else \message{Discrepancy when counting toks registers.^^J} + \def\regstats@proof{0} + \fi + \newread\regstatsread + \edef\regstats@read{\the\allocationnumber} + \edef\regstats@test{\the\count16} + \ifx\regstats@read\regstats@test + \else \message{Discrepancy when counting read registers.^^J} + \def\regstats@proof{0} + \fi + \newwrite\regstatswrite + \edef\regstats@write{\the\allocationnumber} + \edef\regstats@test{\the\count17} + \ifx\regstats@write\regstats@test + \else \message{Discrepancy when counting write registers.^^J} + \def\regstats@proof{0} + \fi + \newfam\regstatsfam + \edef\regstats@fam{\the\allocationnumber} + \edef\regstats@test{\the\count18} + \ifx\regstats@fam\regstats@test + \else \message{Discrepancy when counting fam registers.^^J} + \def\regstats@proof{0} + \fi + \newlanguage\regstatslanguage + \edef\regstats@language{\the\allocationnumber} + \edef\regstats@test{\the\count19} + \ifx\regstats@language\regstats@test + \else \message{Discrepancy when counting language registers.^^J} + \def\regstats@proof{0} + \fi + \newinsert\regstatsinsert + \edef\regstats@insert{\the\allocationnumber} + \edef\regstats@test{\the\count20} + \ifx\regstats@insert\regstats@test + \else \message{Discrepancy when counting insert registers.^^J} + \def\regstats@proof{0} + \fi +% \end{macrocode} +% +% When there was a discrepancy somewhere, we give the according message. +% +% \begin{macrocode} + \edef\regstats@test{0} + \ifx\regstats@proof\regstats@test + \message{Regstats test for register numbers failed.^^J} + \message{Therefore option 'proof' is necessary to get the right numbers.^^J} + \fi +% \end{macrocode} +% +% \pagebreak +% +% \begin{macrocode} + \else +% \end{macrocode} +% +% Without option |proof|, we just take the values of the various |count|s. +% +% \begin{macrocode} + \edef\regstats@dimen{\the\count11} + \edef\regstats@skip{\the\count12} + \edef\regstats@muskip{\the\count13} + \edef\regstats@box{\the\count14} + \edef\regstats@toks{\the\count15} + \edef\regstats@read{\the\count16} + \edef\regstats@write{\the\count17} + \edef\regstats@fam{\the\count18} + \edef\regstats@language{\the\count19} + \edef\regstats@insert{\the\count20} + \fi +% \end{macrocode} +% +% |insert|s are used starting with a high number and moving downward. +% +% \begin{macrocode} + \setcounter{regstatscount}{233} + \addtocounter{regstatscount}{-\regstats@insert} + \addtocounter{regstatscount}{+1} + \edef\regstats@insert{\arabic{regstatscount}} +% \end{macrocode} +% +% \newpage +% \begin{landscape} +% +% The number of used registers of each type and the number of available ones +% (estimated, probably dependent on distribution and its version, here just +% distinguished according to availability of \eTeX{}) is written to screen +% and \xfile{log} file. +% +% \begin{macrocode} + \message{^^J} + \message{Here is how much of TeX's registers you used^^J}% + \message{\space (numbers of available registers are estimated!):^^J}% + \regstats@s{\regstats@counter}{}{s} + \message{ \regstats@counter\space counter register\regstats@pl\space out of}\ifetex\message{32767}\else\message{233}\fi + \regstats@s{\regstats@dimen}{}{s} + \message{^^J \regstats@dimen\space dimen register\regstats@pl\space out of}\ifetex\message{32767}\else\message{233}\fi + \regstats@s{\regstats@skip}{}{s} + \message{^^J \regstats@skip\space skip register\regstats@pl\space out of 233} + \regstats@s{\regstats@muskip}{}{s} + \message{^^J \regstats@muskip\space muskip register\regstats@pl\space out of}\ifetex\message{32767}\else\message{255}\fi + \regstats@s{\regstats@box}{}{s} + \message{^^J \regstats@box\space box register\regstats@pl\space out of}\ifetex\message{32767}\else\message{233}\fi + \regstats@s{\regstats@toks}{}{s} + \message{^^J \regstats@toks\space toks register\regstats@pl\space out of}\ifetex\message{32767}\else\message{255}\fi + \regstats@s{\regstats@read}{}{s} + \message{^^J \regstats@read\space input stream\regstats@pl\space (read) out of 15} + \regstats@s{\regstats@write}{}{s} + \message{^^J \regstats@write\space output stream\regstats@pl\space (write) out of 15} + \regstats@s{\regstats@fam}{y}{ies} + \message{^^J \regstats@fam\space math famil\regstats@pl\space (fam) out of 15} + \regstats@s{\regstats@language}{}{s} + \message{^^J \regstats@language\space language code\regstats@pl\space out of 255} + \regstats@s{\regstats@insert}{}{s} + \message{^^J \regstats@insert\space insertion\regstats@pl\space out of}\ifetex\message{124^^J}\else\message{101^^J}\fi + } + } + +% \end{macrocode} +% +% That's it! +% +% \begin{macrocode} +%</package> +% \end{macrocode} +% +% \end{landscape} +% +% \newpage +% +% \section{Installation} +% +% \subsection{Downloads\label{ss:Downloads}} +% +% Everything is available at \CTAN{}, \url{http://www.ctan.org/tex-archive/}, +% but may need additional packages themselves.\\ +% +% \DescribeMacro{regstats.dtx} +% For unpacking the |regstats.dtx| file and constructing the documentation it is required: +% \begin{description} +% \item[-] \TeX Format \LaTeXe: \url{http://www.CTAN.org/} +% +% \item[-] document class \xpackage{ltxdoc}, 2007/11/11, v2.0u,\\ +% \CTAN{macros/latex/base/ltxdoc.dtx} +% +% \item[-] package \textsf{pdflscape}, 2008/08/11, v0.10,\\ +% \CTAN{macros/latex/contrib/oberdiek/pdflscape.dtx} +% +% \item[-] package \xpackage{holtxdoc}, 2011/02/04, v0.21,\\ +% \CTAN{macros/latex/contrib/oberdiek/holtxdoc.dtx} +% +% \item[-] package \xpackage{hypdoc}, 2010/03/26, v1.9,\\ +% \CTAN{macros/latex/contrib/oberdiek/hypdoc.dtx} +% \end{description} +% +% \DescribeMacro{regstats.sty} +% The \texttt{regstats.sty} for \LaTeXe\ (i.\,e. all documents 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{atveryend}, 2011/04/23, v1.7,\\ +% \CTAN{macros/latex/contrib/oberdiek/atveryend.dtx} +% \end{description} +% +% \DescribeMacro{regstats-example.tex} +% The \texttt{regstats-example.tex} requires the same files as all +% documents using the \xpackage{regstats} package, i.\,e. the ones +% named above and additionally: +% \begin{description} +% \item[-] class \xpackage{article}, 2007/10/19, v1.4h, from \xpackage{classes.dtx}:\\ +% \CTAN{macros/latex/base/classes.dtx} +% +% \item[-] package \xpackage{regstats}, 2011/05/16, v1.0b,\\ +% \CTAN{macros/latex/contrib/regstats/regstats.dtx}\\ +% (Well, it is the example file for this package, and because you are reading the +% documentation for the \xpackage{regstats} package, it can be assumed that you already +% have some version of it -- is it the current one?) +% \end{description} +% +% \DescribeMacro{Alternative} +% As possible alternative in section \ref{sec:Alternatives} there is listed +% \begin{description} +% \item[-] \xpackage{regcount}, 1999/08/03, v1.0:\\ +% \url{http://www.ctan.org/pkg/regcount} +% \end{description} +% +% \DescribeMacro{Oberdiek} +% \DescribeMacro{holtxdoc} +% \DescribeMacro{kvoptions} +% \DescribeMacro{atveryend} +% \DescribeMacro{pdflscape} +% All packages of \textsc{Heiko Oberdiek's} bundle `oberdiek' +% (especially \xpackage{holtxdoc}, \xpackage{kvoptions}, \xpackage{atveryend}, 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.\\ +% +% \pagebreak +% +% \DescribeMacro{hyperref} +% \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} +% A hyperlinked list of my (other) packages can be found at +% \url{http://www.Uni-Bonn.de/~uzs5pv/LaTeX.html}.\\ +% +% \subsection{Package, unpacking TDS} +% +% \paragraph{Package.} This package is available on \CTAN{} +% \begin{description} +% \item[\CTAN{macros/latex/contrib/regstats/regstats.dtx}]\hspace*{0.1cm} \\ +% The source file. +% \item[\CTAN{macros/latex/contrib/regstats/regstats.pdf}]\hspace*{0.1cm} \\ +% 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/README}]\hspace*{0.1cm} \\ +% The README file. +% \item[\CTAN{install/macros/latex/contrib/regstats.tds.zip}]\hspace*{0.1cm} \\ +% Everything in TDS compliant, compiled format. +% \end{description} +% which additionally contains\\ +% \begin{tabular}{ll} +% regstats.ins & The installation file.\\ +% 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.% +% \end{tabular} +% +% \bigskip +% +% \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: +% \begin{quote} +% \verb|tex regstats.dtx| +% \end{quote} +% +% About generating the documentation see paragraph~\ref{GenDoc} below.\\ +% +% \paragraph{TDS.} Now the different files must be moved into +% the different directories in your installation TDS tree +% (also known as \xfile{texmf} tree): +% \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\\ +% \end{tabular}^^A +% }^^A +% \sbox0{\t}^^A +% \ifdim\wd0>\linewidth +% \begingroup +% \advance\linewidth by\leftmargin +% \advance\linewidth by\rightmargin +% \edef\x{\endgroup +% \def\noexpand\lw{\the\linewidth}^^A +% }\x +% \def\lwbox{^^A +% \leavevmode +% \hbox to \linewidth{^^A +% \kern-\leftmargin\relax +% \hss +% \usebox0 +% \hss +% \kern-\rightmargin\relax +% }^^A +% }^^A +% \ifdim\wd0>\lw +% \sbox0{\small\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\footnotesize\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\scriptsize\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\tiny\t}^^A +% \ifdim\wd0>\linewidth +% \lwbox +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \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. +% +% \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 +% \verb|texhash| or \verb|mktexlsr|. +% +% \subsection{Some details for the interested} +% +% \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[\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 +% about your intention: +% \begin{quote} +% \verb|latex \let\install=y\input{regstats.dtx}| +% \end{quote} +% Do not forget to quote the argument according to the demands +% of your shell. +% +% \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 +% 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 : +% +% \begin{quote} +%\begin{verbatim} +%pdflatex regstats.dtx +%makeindex -s gind.ist regstats.idx +%pdflatex regstats.dtx +%makeindex -s gind.ist regstats.idx +%pdflatex regstats.dtx +%\end{verbatim} +% \end{quote} +% +% \subsection{Compiling the example} +% +% The example file, \textsf{regstats-example.tex}, can be compiled via\\ +% |(pdf)latex regstats-example.tex|.\\ +% +% \section{Acknowledgements} +% +% I would like to thank \textsc{Heiko Oberdiek} +% (heiko dot oberdiek at googlemail dot com) for providing +% the \xpackage{hyperref} as well as a~lot~(!) of other useful packages +% (from which I also got everything I know about creating a file in +% \xext{dtx} format, ok, say it: copying), +% \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. +% +% \pagebreak +% +% \phantomsection +% \begin{History}\label{History} +% \begin{Version}{2011/05/14 v1.0a} +% \item Upload to \CTAN{}. +% \end{Version} +% \begin{Version}{2011/05/16 v1.0b} +% \item Name clash with \xfile{regcount} package, fixed. +% \item \xfile{regcount} package listed as possible alternative. +% \item Bug: skip and muskip mixed up, fixed. +% \item Counting of skips, math families, and insertions added. +% \item Bug fix: insertions are numbered high to low. +% \item Option |proof| added. +% \item Diverse details. +% \end{Version} +% \end{History} +% +% \bigskip +% +% 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 +% +% \PrintIndex +% +% \Finale +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/regstats/regstats.ins b/Master/texmf-dist/source/latex/regstats/regstats.ins new file mode 100644 index 00000000000..bca875ca3b2 --- /dev/null +++ b/Master/texmf-dist/source/latex/regstats/regstats.ins @@ -0,0 +1,124 @@ +%% +%% This is file `regstats.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% regstats.dtx (with options: `install') +%% +%% This is a generated file. +%% +%% Project: regstats +%% Version: 2011/05/16 v1.0b +%% +%% Copyright (C) 2011 by +%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> +%% +%% The usual disclaimer applys: +%% 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.) +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% 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. +%% +\input docstrip.tex +\Msg{******************************************************************} +\Msg{* Installation} +\Msg{* Package: regstats 2011/05/16 v1.0b Counting used registers (HMM)} +\Msg{******************************************************************} + +\keepsilent +\askforoverwritefalse + +\let\MetaPrefix\relax +\preamble + +This is a generated file. + +Project: regstats +Version: 2011/05/16 v1.0b + +Copyright (C) 2011 by + H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> + +The usual disclaimer applys: +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.) + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3c of this license or (at your option) any later +version. This version of this license is in + http://www.latex-project.org/lppl/lppl-1-3c.txt +and the latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3c or later is part of all distributions of +LaTeX version 2005/12/01 or later. + +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. + +\endpreamble +\let\MetaPrefix\DoubleperCent + +\generate{% + \file{regstats.ins}{\from{regstats.dtx}{install}}% + \file{regstats.drv}{\from{regstats.dtx}{driver}}% + \usedir{tex/latex/regstats}% + \file{regstats.sty}{\from{regstats.dtx}{package}}% + \usedir{doc/latex/regstats}% + \file{regstats-example.tex}{\from{regstats.dtx}{example}}% +} + +\catcode32=13\relax% active space +\let =\space% +\Msg{************************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file into a directory searched by TeX:} +\Msg{*} +\Msg{* regstats.sty*} +\Msg{*} +\Msg{* To produce the documentation run the file `regstats.drv'} +\Msg{* through (pdf)LaTeX, e.g.} +\Msg{* pdflatex regstats.drv} +\Msg{* makeindex -s gind.ist regstats.idx} +\Msg{* pdflatex regstats.drv} +\Msg{* makeindex -s gind.ist regstats.idx} +\Msg{* pdflatex regstats.drv} +\Msg{*} +\Msg{* At least three runs are necessary e.g. to get the} +\Msg{* references right!} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{************************************************************************} + +\endbatchfile +\endinput +%% +%% End of file `regstats.ins'. diff --git a/Master/texmf-dist/tex/latex/regstats/regstats.sty b/Master/texmf-dist/tex/latex/regstats/regstats.sty new file mode 100644 index 00000000000..946a338bf9f --- /dev/null +++ b/Master/texmf-dist/tex/latex/regstats/regstats.sty @@ -0,0 +1,229 @@ +%% +%% This is file `regstats.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% regstats.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Project: regstats +%% Version: 2011/05/16 v1.0b +%% +%% Copyright (C) 2011 by +%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> +%% +%% The usual disclaimer applys: +%% 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.) +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% 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. +%% +\NeedsTeXFormat{LaTeX2e}[2009/09/24] +\ProvidesPackage{regstats}[2011/05/16 v1.0b + Counting used registers (HMM)] + +%% 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. + +\RequirePackage{kvoptions}[2010/12/23]% v3.10 +\RequirePackage{atveryend}[2011/04/23]% v1.7 + +%% regstats may work with earlier versions of LaTeX and these +%% packages, but this was not tested. Please consider updating +%% your LaTeX and packages to the most recent version +%% (if they are not already the most recent version). + +\SetupKeyvalOptions{family=regstats,prefix=regstats@} +\DeclareBoolOption{proof}% \regstats@proof +\ProcessKeyvalOptions* + +\newif\ifetex +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname eTeXversion\endcsname\relax + \etexfalse +\else + \etextrue +\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% + Some packages will not work without e-TeX,\MessageBreak% + but should give according messages.\MessageBreak% + } +\fi + +\AtVeryEndDocument{% + \AtVeryVeryEnd{% + \newcommand{\regstats@s}[3]{% + \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 + } + \newcounter{regstatscount} + \edef\regstats@counter{\the\allocationnumber} + \ifregstats@proof + \PackageWarning{regstats}{% + Package regstats loaded with option 'proof'.\MessageBreak% + This package itself will use one of each register\MessageBreak% + 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 + \edef\regstats@test{0} + \ifx\regstats@proof\regstats@test + \message{Regstats test for register numbers failed.^^J} + \message{Therefore option 'proof' is necessary to get the right numbers.^^J} + \fi + \else + \edef\regstats@dimen{\the\count11} + \edef\regstats@skip{\the\count12} + \edef\regstats@muskip{\the\count13} + \edef\regstats@box{\the\count14} + \edef\regstats@toks{\the\count15} + \edef\regstats@read{\the\count16} + \edef\regstats@write{\the\count17} + \edef\regstats@fam{\the\count18} + \edef\regstats@language{\the\count19} + \edef\regstats@insert{\the\count20} + \fi + \setcounter{regstatscount}{233} + \addtocounter{regstatscount}{-\regstats@insert} + \addtocounter{regstatscount}{+1} + \edef\regstats@insert{\arabic{regstatscount}} + \message{^^J} + \message{Here is how much of TeX's registers you used^^J}% + \message{\space (numbers of available registers are estimated!):^^J}% + \regstats@s{\regstats@counter}{}{s} + \message{ \regstats@counter\space counter register\regstats@pl\space out of}\ifetex\message{32767}\else\message{233}\fi + \regstats@s{\regstats@dimen}{}{s} + \message{^^J \regstats@dimen\space dimen register\regstats@pl\space out of}\ifetex\message{32767}\else\message{233}\fi + \regstats@s{\regstats@skip}{}{s} + \message{^^J \regstats@skip\space skip register\regstats@pl\space out of 233} + \regstats@s{\regstats@muskip}{}{s} + \message{^^J \regstats@muskip\space muskip register\regstats@pl\space out of}\ifetex\message{32767}\else\message{255}\fi + \regstats@s{\regstats@box}{}{s} + \message{^^J \regstats@box\space box register\regstats@pl\space out of}\ifetex\message{32767}\else\message{233}\fi + \regstats@s{\regstats@toks}{}{s} + \message{^^J \regstats@toks\space toks register\regstats@pl\space out of}\ifetex\message{32767}\else\message{255}\fi + \regstats@s{\regstats@read}{}{s} + \message{^^J \regstats@read\space input stream\regstats@pl\space (read) out of 15} + \regstats@s{\regstats@write}{}{s} + \message{^^J \regstats@write\space output stream\regstats@pl\space (write) out of 15} + \regstats@s{\regstats@fam}{y}{ies} + \message{^^J \regstats@fam\space math famil\regstats@pl\space (fam) out of 15} + \regstats@s{\regstats@language}{}{s} + \message{^^J \regstats@language\space language code\regstats@pl\space out of 255} + \regstats@s{\regstats@insert}{}{s} + \message{^^J \regstats@insert\space insertion\regstats@pl\space out of}\ifetex\message{124^^J}\else\message{101^^J}\fi + } + } + +\endinput +%% +%% End of file `regstats.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 532051a0fba..1213b6c0ca8 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -307,7 +307,8 @@ my @TLP_working = qw( qcm qobitree qstest qsymbols qtree quotchap quotmark r_und_s randbild randomwalk randtext rccol rcs rcs-multi rcsinfo realscripts rec-thy recipe recipecard recycle rectopma - refcheck refman refstyle regcount register relenc relsize resumemac revtex + refcheck refman refstyle regcount register regstats + relenc relsize resumemac revtex rjlparshap rlepsf rmpage robustcommand robustindex romande romanneg romannum rotating rotfloat rotpages diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index b515fedba87..3d779c774d2 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -542,6 +542,7 @@ depend refman depend refstyle depend regcount depend register +depend regstats depend relenc depend relsize depend repeatindex diff --git a/Master/tlpkg/tlpsrc/regstats.tlpsrc b/Master/tlpkg/tlpsrc/regstats.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/regstats.tlpsrc |