From efd845c6c62e8bcc3f6a38107df5fa96632f18a5 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 17 Dec 2019 23:27:53 +0000 Subject: etexcmds split from oberdiek (18dec19) git-svn-id: svn://tug.org/texlive/trunk@53171 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/generic/etexcmds/etexcmds.sty | 292 +++++++++++++++++++++ 1 file changed, 292 insertions(+) create mode 100644 Master/texmf-dist/tex/generic/etexcmds/etexcmds.sty (limited to 'Master/texmf-dist/tex/generic/etexcmds') diff --git a/Master/texmf-dist/tex/generic/etexcmds/etexcmds.sty b/Master/texmf-dist/tex/generic/etexcmds/etexcmds.sty new file mode 100644 index 00000000000..d9887d20fd2 --- /dev/null +++ b/Master/texmf-dist/tex/generic/etexcmds/etexcmds.sty @@ -0,0 +1,292 @@ +%% +%% This is file `etexcmds.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% etexcmds.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Project: etexcmds +%% Version: 2019/12/15 v1.7 +%% +%% Copyright (C) +%% 2007, 2010, 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/etexcmds/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 etexcmds.dtx +%% and the derived files +%% etexcmds.sty, etexcmds.pdf, etexcmds.ins, etexcmds.drv, +%% etexcmds-test1.tex, etexcmds-test2.tex, etexcmds-test3.tex, +%% etexcmds-test4.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@etexcmds.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{etexcmds}{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@etexcmds.sty\endcsname +\ProvidesPackage{etexcmds}% + [2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO)]% +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode123=1 % { + \catcode125=2 % } + \catcode64=11 % @ + \def\x{\endgroup + \expandafter\edef\csname etexcmds@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\etexcmds@AtEnd{% + \etexcmds@AtEnd + \catcode#1=\the\catcode#1\relax + }% + \catcode#1=#2\relax +} +\TMP@EnsureCode{39}{12}% ' +\TMP@EnsureCode{40}{12}% ( +\TMP@EnsureCode{41}{12}% ) +\TMP@EnsureCode{44}{12}% , +\TMP@EnsureCode{45}{12}% - +\TMP@EnsureCode{46}{12}% . +\TMP@EnsureCode{47}{12}% / +\TMP@EnsureCode{60}{12}% < +\TMP@EnsureCode{91}{12}% [ +\TMP@EnsureCode{93}{12}% ] +\edef\etexcmds@AtEnd{% + \etexcmds@AtEnd + \escapechar\the\escapechar\relax + \noexpand\endinput +} +\escapechar=92 % backslash +\def\etexcmds@newif#1{% + \expandafter\edef\csname etex@#1false\endcsname{% + \let + \expandafter\noexpand\csname ifetex@#1\endcsname + \noexpand\iffalse + }% + \expandafter\edef\csname etex@#1true\endcsname{% + \let + \expandafter\noexpand\csname ifetex@#1\endcsname + \noexpand\iftrue + }% + \csname etex@#1false\endcsname +} +\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{infwarerr}[2007/09/09]% + \TMP@RequirePackage{iftex}[2019/11/07]% +\else + \RequirePackage{infwarerr}[2007/09/09]% + \RequirePackage{iftex}[2019/11/07]% +\fi +\etexcmds@newif{unexpanded} +\begingroup +\edef\x{\string\unexpanded}% +\edef\y{\meaning\unexpanded}% +\ifx\x\y + \endgroup + \let\etex@unexpanded\unexpanded + \etex@unexpandedtrue +\else + \edef\y{\meaning\normalunexpanded}% + \ifx\x\y + \endgroup + \let\etex@unexpanded\normalunexpanded + \etex@unexpandedtrue + \else + \edef\y{\meaning\@@unexpanded}% + \ifx\x\y + \endgroup + \let\etex@unexpanded\@@unexpanded + \etex@unexpandedtrue + \else + \ifluatex + \ifnum\luatexversion<36 % + \else + \begingroup + \directlua{% + tex.enableprimitives('etex@',{'unexpanded'})% + }% + \global\let\etex@unexpanded\etex@unexpanded + \endgroup + \fi + \fi + \edef\y{\meaning\etex@unexpanded}% + \ifx\x\y + \endgroup + \etex@unexpandedtrue + \else + \endgroup + \@PackageInfoNoLine{etexcmds}{% + Could not find \string\unexpanded.\MessageBreak + That can mean that you are not using e-TeX or% + \MessageBreak + that some package has redefined \string\unexpanded.% + \MessageBreak + In the latter case, load this package earlier% + }% + \etex@unexpandedfalse + \fi + \fi + \fi +\fi +\etexcmds@newif{expanded} +\begingroup +\edef\x{\string\expanded}% +\edef\y{\meaning\expanded}% +\ifx\x\y + \endgroup + \let\etex@expanded\expanded + \etex@expandedtrue +\else + \edef\y{\meaning\normalexpanded}% + \ifx\x\y + \endgroup + \let\etex@expanded\normalexpanded + \etex@expandedtrue + \else + \edef\y{\meaning\@@expanded}% + \ifx\x\y + \endgroup + \let\etex@expanded\@@expanded + \etex@expandedtrue + \else + \ifluatex + \ifnum\luatexversion<36 % + \else + \begingroup + \directlua{% + tex.enableprimitives('etex@',{'expanded'})% + }% + \global\let\etex@expanded\etex@expanded + \endgroup + \fi + \fi + \edef\y{\meaning\etex@expanded}% + \ifx\x\y + \endgroup + \etex@expandedtrue + \else + \endgroup + \@PackageInfoNoLine{etexcmds}{% + Could not find \string\expanded.\MessageBreak + That can mean that you are not using pdfTeX 1.50 or% + \MessageBreak + that some package has redefined \string\expanded.% + \MessageBreak + In the latter case, load this package earlier% + }% + \etex@expandedfalse + \fi + \fi + \fi +\fi +\etexcmds@AtEnd% +%% \section{Installation} +\endinput +%% +%% End of file `etexcmds.sty'. -- cgit v1.2.3