summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/oberdiek/makerobust.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/oberdiek/makerobust.dtx')
-rw-r--r--macros/latex/contrib/oberdiek/makerobust.dtx553
1 files changed, 0 insertions, 553 deletions
diff --git a/macros/latex/contrib/oberdiek/makerobust.dtx b/macros/latex/contrib/oberdiek/makerobust.dtx
deleted file mode 100644
index e63b5e5c53..0000000000
--- a/macros/latex/contrib/oberdiek/makerobust.dtx
+++ /dev/null
@@ -1,553 +0,0 @@
-% \iffalse meta-comment
-%
-% File: makerobust.dtx
-% Version: 2016/05/16 v1.1
-% Info: Make existing macro robust
-%
-% Copyright (C) 2006 by
-% Heiko Oberdiek <heiko.oberdiek at googlemail.com>
-% 2016
-% https://github.com/ho-tex/oberdiek/issues
-%
-% 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.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 makerobust.dtx
-% and the derived files
-% makerobust.sty, makerobust.pdf, makerobust.ins, makerobust.drv,
-% makerobust-example.tex.
-%
-% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/makerobust.dtx
-% CTAN:macros/latex/contrib/oberdiek/makerobust.pdf
-%
-% Unpacking:
-% (a) If makerobust.ins is present:
-% tex makerobust.ins
-% (b) Without makerobust.ins:
-% tex makerobust.dtx
-% (c) If you insist on using LaTeX
-% latex \let\install=y\input{makerobust.dtx}
-% (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-% (a) If makerobust.drv is present:
-% latex makerobust.drv
-% (b) Without makerobust.drv:
-% latex makerobust.dtx; ...
-% The class ltxdoc loads the configuration file ltxdoc.cfg
-% if available. Here you can specify further options, e.g.
-% use A4 as paper format:
-% \PassOptionsToClass{a4paper}{article}
-%
-% Programm calls to get the documentation (example):
-% pdflatex makerobust.dtx
-% makeindex -s gind.ist makerobust.idx
-% pdflatex makerobust.dtx
-% makeindex -s gind.ist makerobust.idx
-% pdflatex makerobust.dtx
-%
-% Installation:
-% TDS:tex/latex/oberdiek/makerobust.sty
-% TDS:doc/latex/oberdiek/makerobust.pdf
-% TDS:doc/latex/oberdiek/makerobust-example.tex
-% TDS:source/latex/oberdiek/makerobust.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: makerobust 2016/05/16 v1.1 Make existing macro robust (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: makerobust
-Version: 2016/05/16 v1.1
-
-Copyright (C) 2006 by
- Heiko Oberdiek <heiko.oberdiek at googlemail.com>
-
-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.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 makerobust.dtx
-and the derived files
- makerobust.sty, makerobust.pdf, makerobust.ins, makerobust.drv,
- makerobust-example.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
- \file{makerobust.ins}{\from{makerobust.dtx}{install}}%
- \file{makerobust.drv}{\from{makerobust.dtx}{driver}}%
- \usedir{tex/latex/oberdiek}%
- \file{makerobust.sty}{\from{makerobust.dtx}{package}}%
- \usedir{doc/latex/oberdiek}%
- \file{makerobust-example.tex}{\from{makerobust.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{makerobust.xml}{\from{makerobust.dtx}{catalogue}}%
-}
-
-\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{* makerobust.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `makerobust.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{makerobust.drv}%
- [2016/05/16 v1.1 Make existing macro robust (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
- \DocInput{makerobust.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \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{makerobust.drv}
-%
-% \title{The \xpackage{makerobust} package}
-% \date{2016/05/16 v1.1}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at https://github.com/ho-tex/oberdiek/issues}\\
-% \xemail{heiko.oberdiek at googlemail.com}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% Package \xpackage{makerobust} provides \cs{MakeRobustCommand}
-% that converts an existing macro to a robust one.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{User interface}
-%
-% \LaTeX\ offers \cs{DeclareRobustCommand} to define a robust macro
-% that does not break if it is used in moving arguments.
-% Sometimes a macro is already defined, but not robust. For
-% example, \cs{(} and \cs{)} are not robust, inside \cs{section}
-% the user must use \cs{protect} explicitly. This could be
-% avoided by making \cs{(} and \cs{)} robust.
-%
-% \begin{declcs}{MakeRobustCommand}\M{cmd}
-% \end{declcs}
-% \cs{MakeRobustCommand} redefines the macro \meta{cmd}
-% by using \cs{DeclareRobustCommand} and the existing definition
-% of the macro \meta{cmd}.
-% \begin{itemize}
-% \item It is an error if \meta{cmd} is undefined. If you want to
-% define a robust command, then you can use \cs{DeclareRobustCommand}
-% directly.
-% \item If the macro has previously been
-% defined by \cs{DeclareRobustCommand} then the redefinition of
-% \cs{MakeRobustCommand} is omitted, because the macro is already robust.
-% Only an information entry is written to the \xfile{.log} file.
-% Thus you do not get a warning or an error if the macro is already
-% robust because of an updated LaTeX or package that defines the macro.
-% \item Two macros are defined for a macro, defined
-% by \cs{DeclareRobustCommand}. Example:
-% \begin{quote}
-% |\DeclareRobustCommand{\foobar}{definition text}|
-% \end{quote}
-% Then the macro ``\cs{foobar}'' contains the protection code
-% and, depending on the protection mode,
-% calls the internal macro ``\cs{foobar }''. Notice the space
-% at the end of the macro name.
-% This internal macro ``\cs{foobar }'' now contains the definition
-% ``|definition text|'', given in \cs{DeclareRobustCommand}.
-%
-% Sometimes it can happen, that the internal macro already exists.
-% This can be caused by a previous \cs{DeclareRobustCommand} followed
-% by \cs{renewcommand}. Then the redefinition by \cs{MakeRobustCommand}
-% would be safe.
-%
-% However, it can also be possible that the macro is already robust,
-% using the internal macro, but with a different protection code.
-% The redefinition by \cs{MakeRobustCommand} would then generate
-% an infinite loop.
-%
-% Therefore \cs{MakeRobustCommand} raises an error message,
-% if the internal macro (with space at the end) already exists.
-% \end{itemize}
-%
-% \subsection{Example}
-%
-% \begin{macrocode}
-%<*example>
-\documentclass{article}
-\usepackage{makerobust}
-\MakeRobustCommand\(
-\MakeRobustCommand\)
-\pagestyle{headings}
-\begin{document}
-\tableofcontents
-\section{Einstein: \(E=mc^2\)}
-\newpage
-Second page.
-\end{document}
-%</example>
-% \end{macrocode}
-%
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{makerobust}%
- [2016/05/16 v1.1 Make existing macro robust (HO)]%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\MakeRobustCommand#1{%
- \begingroup
- \@ifundefined{\expandafter\@gobble\string#1}{%
- \endgroup
- \PackageError{makerobust}{%
- Macro \string`\string#1\string' is not defined%
- }\@ehc
- }{%
- \global\let\MR@gtemp#1%
- \let#1\@undefined
- \expandafter\let\expandafter\MR@temp
- \csname\expandafter\@gobble\string#1 \endcsname
- \DeclareRobustCommand#1{}%
- \ifx#1\MR@gtemp
- \endgroup
- \PackageInfo{makerobust}{%
- \string`\string#1\string' is already robust%
- }%
- \else
- \@ifundefined{MR@temp}{%
- \global\let\MR@gtemp#1%
- \endgroup
- \expandafter\let\csname\expandafter\@gobble\string#1 \endcsname#1%
- \let#1\MR@gtemp
- }{%
- \endgroup
- \PackageError{makerobust}{%
- Internal macro \string`\string#1 \string' already exists%
- }\@ehc
- }%
- \fi
- }%
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\url{http://ctan.org/pkg/makerobust}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/makerobust.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/makerobust.pdf}] Documentation.
-% \end{description}
-%
-%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTAN{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTAN{tds/tds.pdf}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-% |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
-% \paragraph{Script installation.}
-% Check the directory \xfile{TDS:scripts/oberdiek/} for
-% scripts that need further installation steps.
-% Package \xpackage{attachfile2} comes with the Perl script
-% \xfile{pdfatfi.pl} that should be installed in such a way
-% that it can be called as \texttt{pdfatfi}.
-% Example (linux):
-% \begin{quote}
-% |chmod +x scripts/oberdiek/pdfatfi.pl|\\
-% |cp scripts/oberdiek/pdfatfi.pl /usr/local/bin/|
-% \end{quote}
-%
-% \subsection{Package installation}
-%
-% \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 makerobust.dtx|
-% \end{quote}
-%
-% \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@{}}
-% makerobust.sty & tex/latex/oberdiek/makerobust.sty\\
-% makerobust.pdf & doc/latex/oberdiek/makerobust.pdf\\
-% makerobust-example.tex & doc/latex/oberdiek/makerobust-example.tex\\
-% makerobust.dtx & source/latex/oberdiek/makerobust.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{Attached source.}
-%
-% The PDF documentation on CTAN also includes the
-% \xfile{.dtx} source file. It can be extracted by
-% AcrobatReader 6 or higher. Another option is \textsf{pdftk},
-% e.g. unpack the file into the current directory:
-% \begin{quote}
-% \verb|pdftk makerobust.pdf unpack_files output .|
-% \end{quote}
-%
-% \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{makerobust.dtx}|
-% \end{quote}
-% Do not forget to quote the argument according to the demands
-% of your shell.
-%
-% \paragraph{Generating the documentation.}
-% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
-% the documentation. The process can be configured by the
-% 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}
-% An example follows how to generate the
-% documentation with pdf\LaTeX:
-% \begin{quote}
-%\begin{verbatim}
-%pdflatex makerobust.dtx
-%makeindex -s gind.ist makerobust.idx
-%pdflatex makerobust.dtx
-%makeindex -s gind.ist makerobust.idx
-%pdflatex makerobust.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \section{Catalogue}
-%
-% The following XML file can be used as source for the
-% \href{http://mirror.ctan.org/help/Catalogue/catalogue.html}{\TeX\ Catalogue}.
-% The elements \texttt{caption} and \texttt{description} are imported
-% from the original XML file from the Catalogue.
-% The name of the XML file in the Catalogue is \xfile{makerobust.xml}.
-% \begin{macrocode}
-%<*catalogue>
-<?xml version='1.0' encoding='us-ascii'?>
-<!DOCTYPE entry SYSTEM 'catalogue.dtd'>
-<entry datestamp='$Date$' modifier='$Author$' id='makerobust'>
- <name>makerobust</name>
- <caption>Making a macro robust.</caption>
- <authorref id='auth:oberdiek'/>
- <copyright owner='Heiko Oberdiek' year='2006'/>
- <license type='lppl1.3'/>
- <version number='1.1'/>
- <description>
- This package provides the command MakeRobustCommand
- that converts an existing macro to a robust one.
- <p/>
- The package is part of the <xref refid='oberdiek'>oberdiek</xref>
- bundle.
- </description>
- <documentation details='Package documentation'
- href='ctan:/macros/latex/contrib/oberdiek/makerobust.pdf'/>
- <ctan file='true' path='/macros/latex/contrib/oberdiek/makerobust.dtx'/>
- <miktex location='oberdiek'/>
- <texlive location='oberdiek'/>
- <install path='/macros/latex/contrib/oberdiek/oberdiek.tds.zip'/>
-</entry>
-%</catalogue>
-% \end{macrocode}
-%
-% \begin{History}
-% \begin{Version}{2006/03/18 v1.0}
-% \item
-% First version.
-% \end{Version}
-% \begin{Version}{2016/05/16 v1.1}
-% \item
-% Documentation updates.
-% \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput