%% %% This is file `protecteddef.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% protecteddef.dtx (with options: `package') %% %% This is a generated file. %% %% Project: protecteddef %% Version: 2016/05/16 v1.1 %% %% Copyright (C) %% 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/oberdiek/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 protecteddef.dtx %% and the derived files %% protecteddef.sty, protecteddef.pdf, protecteddef.ins, protecteddef.drv, %% protecteddef-test1.tex, protecteddef-test2.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@protecteddef.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{protecteddef}{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@protecteddef.sty\endcsname \ProvidesPackage{protecteddef}% [2016/05/16 v1.1 Define protected 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 ProDef@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\ProDef@AtEnd{% \ProDef@AtEnd \catcode#1=\the\catcode#1\relax }% \catcode#1=#2\relax } \TMP@EnsureCode{38}{4}% & \TMP@EnsureCode{40}{12}% ( \TMP@EnsureCode{41}{12}% ) \TMP@EnsureCode{42}{12}% * \TMP@EnsureCode{45}{12}% - \TMP@EnsureCode{46}{12}% . \TMP@EnsureCode{47}{12}% / \TMP@EnsureCode{91}{12}% [ \TMP@EnsureCode{93}{12}% ] \TMP@EnsureCode{96}{12}% ` \edef\ProDef@AtEnd{\ProDef@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 }% \else \let\TMP@RequirePackage\RequirePackage \fi \TMP@RequirePackage{ltxcmds}[2010/12/12]% \TMP@RequirePackage{infwarerr}[2010/04/08]% \def\ProDef@temp#1{% \expandafter\def\csname ProDef@param[#1]\endcsname % hash-ok } \expandafter\def\csname ProDef@param\endcsname{} \ProDef@temp0{} \ProDef@temp1{##1} \ProDef@temp2{##1##2} \ProDef@temp3{##1##2##3} \ProDef@temp4{##1##2##3##4} \ProDef@temp5{##1##2##3##4##5} \ProDef@temp6{##1##2##3##4##5##6} \ProDef@temp7{##1##2##3##4##5##7} \ProDef@temp8{##1##2##3##4##5##7##8} \ProDef@temp9{##1##2##3##4##5##7##8##9} \ltx@IfUndefined{@ifdefinable}{% \long\def\ProDef@IfDefinable#1{% \begingroup \escapechar=-1 % \ltx@ifundefined{\string#1}{% \endgroup \ltx@firstofone }{% \expandafter\endgroup \expandafter \edef\expandafter\ProDef@temp\expandafter{\string#1 }% \@PackageError{protecteddef}{% Command \ltx@backslashchar\ProDef@temp already defined% }\@ehc \ltx@gobbletwo }% }% }{% \long\def\ProDef@IfDefinable#1{% \let\ProDef@next\ltx@gobbletwo \@ifdefinable{#1}{% \let\ProDef@next\ltx@firstofone }% \ProDef@next }% } \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname protected\endcsname\relax \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname DeclareRobustCommand\endcsname\relax \catcode`\&=14 % comment \else \newcommand*{\ProtectedDef}{% \ltx@ifnextchar*{% \ProDef@ProtectedDef }{% \ProDef@ProtectedDef{}% }% }% \long\def\ProDef@ProtectedDef#1#2#3#{% \ProDef@IfDefinable{#2}{% \ltx@IfUndefined{ProDef@param#3}{% \DeclareRobustCommand*{#2}{}% \begingroup \escapechar=-1 % \def\ProDef@temp{#1}% \edef\x{\endgroup \ifx\ProDef@temp\ltx@empty \noexpand\long \fi \noexpand\def \expandafter\noexpand\csname\string#2 \endcsname }% \x#3% }{% \DeclareRobustCommand#1{#2}#3% }% }% }% \expandafter\expandafter\expandafter\ProDef@AtEnd \fi \else \catcode`\&=9 % ignore \fi% \ProDef@IfDefinable\ProtectedDef{% & \protected \def\ProtectedDef% }{% \ltx@ifnextchar*{% \let\ProDef@long\ltx@empty \expandafter\ProDef@ProtectedDef\ltx@gobble }{% \let\ProDef@long\long \ProDef@ProtectedDef }% } \long\def\ProDef@ProtectedDef#1#2#{% \ProDef@IfDefinable{#1}{% \ltx@IfUndefined{ProDef@param#2}{% & \protected \ProDef@long \def#1#2% }{% & \protected \ProDef@long \expandafter\expandafter\expandafter\def \expandafter\expandafter\expandafter#1% \csname ProDef@param#2\endcsname }% }% } \ProDef@AtEnd% %% \section{Installation} \endinput %% %% End of file `protecteddef.sty'.