From 1a7c22684ce8bf69fa7b8cb0258820fc7e0b347f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 17 Dec 2019 23:17:43 +0000 Subject: uniquecounter split from oberdiek (18dec19) git-svn-id: svn://tug.org/texlive/trunk@53162 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/generic/uniquecounter/uniquecounter.sty | 242 +++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 Master/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty b/Master/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty new file mode 100644 index 00000000000..1eeebad1261 --- /dev/null +++ b/Master/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty @@ -0,0 +1,242 @@ +%% +%% This is file `uniquecounter.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% uniquecounter.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Project: uniquecounter +%% Version: 2019/12/15 v1.4 +%% +%% Copyright (C) +%% 2009, 2011 Heiko Oberdiek +%% 2016-2019 Oberdiek Package Support Group +%% +%% 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 +%% https://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3 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 Maintainers of this work are +%% Heiko Oberdiek and the Oberdiek Package Support Group +%% https://github.com/ho-tex/uniquecounter/issues +%% +%% +%% The Base Interpreter refers to any `TeX-Format', +%% because some files are installed in TDS:tex/generic//. +%% +%% This work consists of the main source file uniquecounter.dtx +%% and the derived files +%% uniquecounter.sty, uniquecounter.pdf, uniquecounter.ins, +%% uniquecounter.drv, uniquecounter-example.tex, +%% uniquecounter-test1.tex, uniquecounter-test2.tex, +%% uniquecounter-test3.tex. +%% +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode35=6 % # + \catcode39=12 % ' + \catcode44=12 % , + \catcode45=12 % - + \catcode46=12 % . + \catcode58=12 % : + \catcode64=11 % @ + \catcode123=1 % { + \catcode125=2 % } + \expandafter\let\expandafter\x\csname ver@uniquecounter.sty\endcsname + \ifx\x\relax % plain-TeX, first loading + \else + \def\empty{}% + \ifx\x\empty % LaTeX, first loading, + % variable is initialized, but \ProvidesPackage not yet seen + \else + \expandafter\ifx\csname PackageInfo\endcsname\relax + \def\x#1#2{% + \immediate\write-1{Package #1 Info: #2.}% + }% + \else + \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% + \fi + \x{uniquecounter}{The package is already loaded}% + \aftergroup\endinput + \fi + \fi +\endgroup% +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode35=6 % # + \catcode39=12 % ' + \catcode40=12 % ( + \catcode41=12 % ) + \catcode44=12 % , + \catcode45=12 % - + \catcode46=12 % . + \catcode47=12 % / + \catcode58=12 % : + \catcode64=11 % @ + \catcode91=12 % [ + \catcode93=12 % ] + \catcode123=1 % { + \catcode125=2 % } + \expandafter\ifx\csname ProvidesPackage\endcsname\relax + \def\x#1#2#3[#4]{\endgroup + \immediate\write-1{Package: #3 #4}% + \xdef#1{#4}% + }% + \else + \def\x#1#2[#3]{\endgroup + #2[{#3}]% + \ifx#1\@undefined + \xdef#1{#3}% + \fi + \ifx#1\relax + \xdef#1{#3}% + \fi + }% + \fi +\expandafter\x\csname ver@uniquecounter.sty\endcsname +\ProvidesPackage{uniquecounter}% + [2019/12/15 v1.4 Provide unlimited unique counter (HO)]% +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode123=1 % { + \catcode125=2 % } + \catcode64=11 % @ + \def\x{\endgroup + \expandafter\edef\csname uqc@AtEnd\endcsname{% + \endlinechar=\the\endlinechar\relax + \catcode13=\the\catcode13\relax + \catcode32=\the\catcode32\relax + \catcode35=\the\catcode35\relax + \catcode61=\the\catcode61\relax + \catcode64=\the\catcode64\relax + \catcode123=\the\catcode123\relax + \catcode125=\the\catcode125\relax + }% + }% +\x\catcode61\catcode48\catcode32=10\relax% +\catcode13=5 % ^^M +\endlinechar=13 % +\catcode35=6 % # +\catcode64=11 % @ +\catcode123=1 % { +\catcode125=2 % } +\def\TMP@EnsureCode#1#2{% + \edef\uqc@AtEnd{% + \uqc@AtEnd + \catcode#1=\the\catcode#1\relax + }% + \catcode#1=#2\relax +} +\TMP@EnsureCode{33}{12}% ! +\TMP@EnsureCode{39}{12}% ' +\TMP@EnsureCode{42}{12}% * +\TMP@EnsureCode{43}{12}% + +\TMP@EnsureCode{46}{12}% . +\TMP@EnsureCode{47}{12}% / +\TMP@EnsureCode{91}{12}% [ +\TMP@EnsureCode{93}{12}% ] +\TMP@EnsureCode{96}{12}% ` +\edef\uqc@AtEnd{\uqc@AtEnd\noexpand\endinput} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname RequirePackage\endcsname\relax + \def\TMP@RequirePackage#1[#2]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname ver@#1.sty\endcsname\relax + \input #1.sty\relax + \fi + }% + \TMP@RequirePackage{bigintcalc}[2007/11/11]% + \TMP@RequirePackage{infwarerr}[2007/09/09]% +\else + \RequirePackage{bigintcalc}[2007/11/11]% + \RequirePackage{infwarerr}[2007/09/09]% +\fi +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname numexpr\endcsname\relax + \def\uqc@IncNum#1{% + \begingroup + \count@=\csname uqc@cnt@#1\endcsname\relax + \advance\count@\@ne + \expandafter\xdef\csname uqc@cnt@#1\endcsname{% + \number\count@ + }% + \ifnum\count@=2147483647 % + \global\expandafter\let\csname uqc@inc@#1\endcsname + \uqc@IncBig + \fi + \endgroup + }% +\else + \def\uqc@IncNum#1{% + \expandafter\xdef\csname uqc@cnt@#1\endcsname{% + \number\numexpr\csname uqc@cnt@#1\endcsname+1% + }% + \ifnum\csname uqc@cnt@#1\endcsname=2147483647 % + \global\expandafter\let\csname uqc@inc@#1\endcsname + \uqc@IncBig + \fi + }% +\fi +\def\uqc@IncBig#1{% + \expandafter\xdef\csname uqc@cnt@#1\endcsname{% + \expandafter\expandafter\expandafter + \BigIntCalcInc\csname uqc@cnt@#1\endcsname!% + }% +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname newcommand\endcsname\relax + \def\uqc@Def#1{\def#1##1}% +\else + \def\uqc@Def#1{\newcommand*{#1}[1]}% +\fi +\uqc@Def\UniqueCounterNew{% + \expandafter\ifx\csname uqc@cnt@#1\endcsname\relax + \expandafter\xdef\csname uqc@cnt@#1\endcsname{0}% + \global\expandafter\let\csname uqc@inc@#1\endcsname\uqc@IncNum + \@PackageInfo{uniquecounter}{New unique counter `#1'}% + \else + \@PackageError{uniquecounter}{Unique counter `#1' is already defined}\@ehc + \fi +} +\uqc@Def\UniqueCounterIncrement{% + \expandafter\ifx\csname uqc@cnt@#1\endcsname\relax + \@PackageError{uniquecounter}{Unique counter `#1' is undefined}\@ehc + \else + \csname uqc@inc@#1\endcsname{#1}% + \fi +} +\uqc@Def\UniqueCounterGet{% + \csname uqc@cnt@#1\endcsname +} +\uqc@Def\UniqueCounterCall{% + \expandafter\ifx\csname uqc@cnt@#1\endcsname\relax + \@PackageError{uniquecounter}{Unique counter `#1' is undefined}\@ehc + \expandafter\uqc@Call\expandafter0% + \else + \UniqueCounterIncrement{#1}% + \expandafter\expandafter\expandafter\uqc@Call + \expandafter\expandafter\expandafter{% + \csname uqc@cnt@#1\expandafter\endcsname\expandafter + }% + \fi +} +\long\def\uqc@Call#1#2{#2{#1}}% +\uqc@AtEnd% +%% \section{Installation} +\endinput +%% +%% End of file `uniquecounter.sty'. -- cgit v1.2.3