diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/oberdiek')
-rw-r--r-- | Master/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty | 111 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/oberdiek/uniquecounter.sty | 203 |
2 files changed, 307 insertions, 7 deletions
diff --git a/Master/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty b/Master/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty index 993edd686e5..62e976e64ec 100644 --- a/Master/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +++ b/Master/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty @@ -87,7 +87,7 @@ \fi \expandafter\x\csname ver@pdftexcmds.sty\endcsname \ProvidesPackage{pdftexcmds}% - [2009/04/10 v0.4 LuaTeX support for pdfTeX utility functions (HO)] + [2009/09/22 v0.5 LuaTeX support for pdfTeX utility functions (HO)] \begingroup \catcode123 1 % { \catcode125 2 % } @@ -131,6 +131,11 @@ \TMP@EnsureCode{95}{12}% _ (other) \TMP@EnsureCode{96}{12}% ` \TMP@EnsureCode{126}{12}% ~ (other) +\edef\pdftexcmds@AtEnd{% + \pdftexcmds@AtEnd + \escapechar=\number\escapechar\relax +} +\escapechar=92 % \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname RequirePackage\endcsname\relax \input infwarerr.sty\relax @@ -141,7 +146,7 @@ \fi \ifluatex \else - \@PackageInfo{pdftexcmds}{LuaTeX not detected}% + \@PackageInfoNoLine{pdftexcmds}{LuaTeX not detected}% \def\pdftexcmds@nopdftex{% \@PackageInfoNoLine{pdftexcmds}{pdfTeX >= 1.30 not detected}% \let\pdftexcmds@nopdftex\relax @@ -193,13 +198,105 @@ \def\pdf@system#{% \immediate\write18% }% - \pdftexcmds@AtEnd - \expandafter\endinput \fi -\ifnum\luatexversion<36 % - \def\pdftexcmds@directlua{\directlua0 }% +\ifluatex + \ifnum\luatexversion<36 % + \def\pdftexcmds@directlua{\directlua0 }% + \else + \let\pdftexcmds@directlua\directlua + \fi + \begingroup + \newlinechar=10 % + \endlinechar=\newlinechar + \pdftexcmds@directlua{% + if tex.enableprimitives then + tex.enableprimitives('pdf@', {'primitive', 'ifprimitive'}) + end + }% + \endgroup % +\fi +\def\pdftexcmds@strip@prefix#1>{} +\def\pdftexcmds@temp#1#2#3{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname pdf@#1\endcsname\relax + \begingroup + \def\x{#3}% + \edef\x{\expandafter\pdftexcmds@strip@prefix\meaning\x}% + \escapechar=-1 % + \edef\y{\expandafter\meaning\csname#2\endcsname}% + \expandafter\endgroup + \ifx\x\y + \expandafter\let\csname pdf@#1\expandafter\endcsname + \csname #2\endcsname + \fi + \fi +} +\pdftexcmds@temp{primitive}{pdfprimitive}{pdfprimitive}% pdfTeX, LuaTeX +\pdftexcmds@temp{primitive}{primitive}{primitive}% XeTeX +\pdftexcmds@temp{primitive}{luatexprimitive}{pdfprimitive}% LuaTeX +\pdftexcmds@temp{primitive}{luatexpdfprimitive}{pdfprimitive}% LuaTeX +\pdftexcmds@temp{ifprimitive}{ifpdfprimitive}{ifpdfprimitive}% pdfTeX, LuaTeX +\pdftexcmds@temp{ifprimitive}{ifprimitive}{ifprimitive}% XeTeX +\pdftexcmds@temp{ifprimitive}{luatexifprimitive}{ifpdfprimitive}% LuaTeX +\pdftexcmds@temp{ifprimitive}{luatexifpdfprimitive}{ifpdfprimitive}% LuaTeX +\begingroup + \expandafter\ifx\csname pdf@primitive\endcsname\relax + \else + \expandafter\ifx\csname pdftexversion\endcsname\relax + \else + \ifnum\pdftexversion=140 % + \expandafter\ifx\csname pdftexrevision\endcsname\relax + \else + \ifnum\pdftexrevision<4 % + \endgroup + \let\pdf@primitive\@undefined + \@PackageInfoNoLine{pdftexcmds}{% + \string\pdf@primitive disabled, because\MessageBreak + \string\pdfprimitive\space is broken until pdfTeX 1.40.4% + }% + \begingroup + \fi + \fi + \fi + \fi + \fi +\endgroup +\begingroup + \@PackageInfoNoLine{pdftexcmds}{% + \string\pdf@primitive\space is % + \expandafter\ifx\csname pdf@primitive\endcsname\relax not \fi + available% + }% + \@PackageInfoNoLine{pdftexcmds}{% + \string\pdf@ifprimitive\space is % + \expandafter\ifx\csname pdf@ifprimitive\endcsname\relax not \fi + available% + }% +\endgroup +\def\pdftexcmds@temp#1{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname pdf@#1\endcsname\relax + \begingroup + \escapechar=-1 % + \edef\x{\expandafter\meaning\csname#1\endcsname}% + \def\y{#1}% + \def\z##1->{}% + \edef\y{\expandafter\z\meaning\y}% + \expandafter\endgroup + \ifx\x\y + \expandafter\def\csname pdf@#1\expandafter\endcsname + \expandafter{% + \csname#1\endcsname + }% + \fi + \fi +}% +\pdftexcmds@temp{shellescape}% +\pdftexcmds@temp{strcmp}% +\ifluatex \else - \let\pdftexcmds@directlua\directlua + \pdftexcmds@AtEnd + \expandafter\endinput \fi \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname RequirePackage\endcsname\relax diff --git a/Master/texmf-dist/tex/generic/oberdiek/uniquecounter.sty b/Master/texmf-dist/tex/generic/oberdiek/uniquecounter.sty new file mode 100644 index 00000000000..8d2c0b9c761 --- /dev/null +++ b/Master/texmf-dist/tex/generic/oberdiek/uniquecounter.sty @@ -0,0 +1,203 @@ +%% +%% 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. +%% +%% Copyright (C) 2009 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in +%% http://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". +%% +%% This Current Maintainer of this work is Heiko Oberdiek. +%% +%% 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 + \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 + \catcode35 6 % # + \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 + \catcode35 6 % # + \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}% + [2009/09/11 v1.0 Provides unlimited unique counter (HO)] +\begingroup + \catcode123 1 % { + \catcode125 2 % } + \def\x{\endgroup + \expandafter\edef\csname uqc@AtEnd\endcsname{% + \catcode35 \the\catcode35\relax + \catcode64 \the\catcode64\relax + \catcode123 \the\catcode123\relax + \catcode125 \the\catcode125\relax + }% + }% +\x +\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{61}{12}% = +\TMP@EnsureCode{96}{12}% ` +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname RequirePackage\endcsname\relax + \input bigintcalc.sty\relax + \input infwarerr.sty\relax +\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 + \csname uqc@cnt@#1\expandafter\endcsname + \fi +} +\long\def\uqc@Call#1#2{#2{#1}}% +\uqc@AtEnd +\endinput +%% +%% End of file `uniquecounter.sty'. |