summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/gmdoc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-12-19 01:04:11 +0000
committerKarl Berry <karl@freefriends.org>2006-12-19 01:04:11 +0000
commit9a09aff4683470dfbaa491c0e38b230f6c88b6d9 (patch)
tree8fcb8e66e0a1d0ba202f74f7786a5e643a8b98ec /Master/texmf-dist/doc/latex/gmdoc
parent1103128be3749c33d08fd931e52a0b4f07080207 (diff)
new package gmdoc (18dec06)
git-svn-id: svn://tug.org/texlive/trunk@2803 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/gmdoc')
-rw-r--r--Master/texmf-dist/doc/latex/gmdoc/README108
-rw-r--r--Master/texmf-dist/doc/latex/gmdoc/basedrivers/doc_gmdoc.tex129
-rw-r--r--Master/texmf-dist/doc/latex/gmdoc/basedrivers/docstrip_gmdoc.tex49
-rw-r--r--Master/texmf-dist/doc/latex/gmdoc/basedrivers/gmeometric.sty184
-rw-r--r--Master/texmf-dist/doc/latex/gmdoc/basedrivers/oldcomm.sty111
-rw-r--r--Master/texmf-dist/doc/latex/gmdoc/basedrivers/source2e_gmdoc.tex623
-rw-r--r--Master/texmf-dist/doc/latex/gmdoc/gmdocDoc.pdfbin0 -> 2256761 bytes
-rw-r--r--Master/texmf-dist/doc/latex/gmdoc/gmdocDoc.tex67
8 files changed, 1271 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/gmdoc/README b/Master/texmf-dist/doc/latex/gmdoc/README
new file mode 100644
index 00000000000..6c3d638d171
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/gmdoc/README
@@ -0,0 +1,108 @@
+The gmdoc.zip package
+is a work of Grzegorz `Natror' Murzynowski,
+<natror at o2 dot pl>
+
+
+1. Copyright 2006 by Grzegorz `Natror' Murzynowski
+
+This program is subject to the LaTeX Project Public License.
+See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
+for the details of that license.
+
+
+2. Introduction
+
+This package provides a tool for documenting of (La)TeX
+packages, classes etc., i.e., the .sty, .cls
+etc. The author just writes the code and adds the commentary
+preceded with % sign (or another sign properly declared). No special
+environments are necessary.
+
+The package tends to be compatible with the standard doc.sty
+package, i.e., the .dtx files are also compilable with
+gmdoc (they may need very little adjustment, in some rather
+special cases).
+
+The tools are integrated with hyperref.sty's advantages such as
+hyperlinking of index entries, of contents entries and
+of cross-references.
+
+
+3. Installation
+
+Just put the gmdoc.sty and gmdocc.cls somewhere in the texmf/tex/latex
+branch and also the gmiflink.sty, gmverb.sty and gmiflink.sty files
+(available on CTAN in separate packages). Creating a
+/texmf/tex/latex/gm directory may be advisable if you consider using
+other packages written by me.
+
+Moreover, you should put the gmglo.ist file, a MakeIndex style for the
+changes' history, into some texmf/makeindex directory.
+
+Then you should refresh your TeX distribution's files'
+database most probably.
+
+
+4. Contents
+
+The distribution of this package consists of the following six files.
+
+gmdoc.sty
+gmdocc.cls
+gmglo.ist
+README
+gmdocDoc.tex
+gmdocDoc.pdf
+
+
+5. Documentation
+
+The last of the above files (the .pdf) is a documentation compiled
+from the .sty file by running LaTeX on the gmdocDoc.tex file twice,
+then MakeIndex on the gmdoc.idx and gmdoc.glo files, and then LaTeX
+on gmdocDoc.tex twice again.
+
+MakeIndex shell commands:
+ makeindex -r gmdocDoc
+ makeindex -r -s gmglo.ist -o gmdocDoc.gls gmdocDoc.glo
+The -r switch is to forbid MakeIndex make implicit ranges since the
+(code line) numbers will be hyperlinks.
+The -s switch makes MakeIndex use the style file instead of the
+default settings and the -o switch declares the not-default name of
+the output file
+
+Compiling of the documentation requires the packages gmdoc.sty
+(with the gmdocc.cls class), gmverb.sty, gmutils.sty and also some
+standard packages: hyperref.sty, color.sty, geometry.sty,
+multicol.sty, lmodern.sty, fontenc.sty that should be installed
+on your computer by default.
+
+The gmglo.ist file, a MakeIndex style for the changes' history, is
+provided on CTAN in the gmdoc .zip archive and should
+be put into some texmf/makeindex directory.
+
+If you have not installed the mwcls classes (available on CTAN and
+present in TeX Lives e.g.), the result of your compilation may differ
+a bit from the .pdf provided in this .zip archive in formattings: If
+you have not installed mwcls, the standard article.cls will be
+used.
+
+
+BONUS: Base drivers
+
+As a bonus and example of doc-compatibility
+there are driver files included
+(cf. Palestrina, Missa papae Marceli ;-):
+
+source2e_gmdoc.tex
+docstrip_gmdoc.tex
+doc_gmdoc.tex
+
+oldcomm.sty
+gmeometric.sty
+
+These drivers typeset the respective files from the
+.../texmf-dist/source/latex/base
+directory of TeXLive2005 distribution.
+Probably you should redefine the \BasePath macro in them
+so that it points that directory on your computer.
diff --git a/Master/texmf-dist/doc/latex/gmdoc/basedrivers/doc_gmdoc.tex b/Master/texmf-dist/doc/latex/gmdoc/basedrivers/doc_gmdoc.tex
new file mode 100644
index 00000000000..34c5457e78a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/gmdoc/basedrivers/doc_gmdoc.tex
@@ -0,0 +1,129 @@
+%^^A%%%&--translate-file=cp1250pl -*- coding: cp1250 -*-
+
+\PassOptionsToPackage{hyperindex=false}{hyperref}% Because FM writes some almost
+% explicit indexing commands where he uses `encapsulating' i.e.,
+% a~command to encapsulate the page number, which would interfere with
+% \pk{hyperref}'s default \verb+|hyperpage+.
+\documentclass[outeroff]{gmdocc}
+\usepackage{array}
+
+\def\BasePath{c:/TeXLive2005/texmf-dist/source/latex/base/}% Probably
+% you should write the respective path on your computer.
+
+
+\ltxLookSetup
+\gmdoccMargins
+\olddocIncludes% This is the crucial declaration.
+\twocoltoc
+
+\DeleteShortVerb\|
+\OldMakeShortVerb*\|
+
+\makeatletter
+
+\author{Frank Mittelbach \and David Carlisle}
+\title{The \pk{doc} and \pk{shortvrb} Packages\\ and\\
+ the \pk{ltxdoc} Class}
+\date{Typeset with the \pk{gmdoc} package by Natror\\\today}
+
+\begin{document}
+
+\smartunder
+
+\maketitle
+
+
+\addtocontents{toc}{% to discard |\begin{multicols}{2}| of one
+ % included document. (Table of contents is declared twocolumn with
+ % |\twocoltoc| above.)
+ \let\protect\begin\protect\@gobbletwo
+ \protect\StoreMacro\protect\end
+ \def\protect\end{\protect\RestoreMacro\protect\end\protect\@gobble}%
+}% Because one document has a~\env{multicols} twocolumn table of
+% contents and the other has usual one column, this will put entire
+% toc in(to) \env{multicols}.
+
+
+\tableofcontents
+
+%^^A TODO Old comments i.e. authomatic verbatimization of all the cs's
+%^^A met in the comment layer.
+
+\makeatletter
+\AfterMacrocode{161}{% it's for a~tiny little typo in line 3299: They
+ % forgot to wrap |\@tempb| and |\@tempc| in shortverbs.
+ \def\@tempb{\cs{@tempb} }\def\@tempc{\cs{@tempc} }}
+
+\AtBegInputOnce{%
+ \chschange{v2.1b}{2006/10/20}{2126}%
+ \let\CheckSum\gobble
+ % \par Of course, none of the documents is not loaded, so we give the
+ % fileinfo explicitly.
+ \def\filedate{2004/02/09}\def\fileversion{v2.1b}%
+ % \label{explicit fileinfo}
+ \let\GetFileInfo\relax
+ \addtomacro\IndexParms{\arraybackslash}}% because |\IndexParms| use
+% |\raggedright| and FM executes |\IndexParms| inside a~\env{tabular}.
+
+\DocInclude[\BasePath]{doc}
+
+\AtBegInputOnce{%
+ \chschange{v2.0u}{2006/10/20}{410}%
+ \let\CheckSum\gobble
+ \def\filedate{1999/08/08} \def\fileversion{v2.0u}% see line
+ % \ref{explicit fileinfo}.
+ \let\GetFileInfo\relax
+ % The rest of this |\AtBegInputOnce|'s contents is necessary since
+ % DC wrote it not commented out, which with \pk{doc} results with
+ % printing it both to the package (class) and the documentation, but
+ % with \pk{gmdoc} it puts this stuff in the code layer that'll be
+ % only printed verbatim.
+ \providecommand\dst{\expandafter{\normalfont\scshape docstrip}}
+ \title{The file \texttt{ltxdoc.dtx} for use with
+ \LaTeXe.\thanks{This file has version
+ number \fileversion, dated \filedate.}\\[2pt]
+ It contains the code for \texttt{ltxdoc.cls}}
+ \date{\filedate}
+ \author{David Carlisle}
+ \maketitle}
+
+\DocInclude[\BasePath]{ltxdoc}%
+
+\gmdocIncludes
+
+\SelfInclude{%
+ \title{\pk{doc_by_gmdoc.tex} The Driver\thanks{As mentioned in the
+ title, I~typeset these package and class with the \pk{gmdoc}
+ package, for which are they a~great inspiration and the base.
+ The typesetting needed only a~few tricks, so here i~give the
+%^^A(
+ code of the `driver': a~snake eats its tail ;-) .}}
+ \author{Grzegorz `Natror' Murzynowski}%
+ \date{\today}%
+ \maketitle}
+
+\typeout{%
+ Produce change log with^^J%
+ makeindex -r -s gmglo.ist -o \jobnamewoe.gls \jobnamewoe.glo^^J
+ (gmglo.ist should be put into some texmf/makeindex directory.)^^J}
+\PrintChanges
+\typeout{%
+ Produce index with^^J%
+ makeindex -r \jobnamewoe^^J}
+ \PrintIndex
+
+\end{document}
+
+% MakeIndex shell commands:
+
+makeindex -r doc_gmdoc
+makeindex -r -s gmglo.ist -o doc_gmdoc.gls doc_gmdoc.glo
+
+% \NoEOF
+% \_ {\bf bf: \_} {\bfseries bfseries \_}
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End: \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/gmdoc/basedrivers/docstrip_gmdoc.tex b/Master/texmf-dist/doc/latex/gmdoc/basedrivers/docstrip_gmdoc.tex
new file mode 100644
index 00000000000..6866649c2d9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/gmdoc/basedrivers/docstrip_gmdoc.tex
@@ -0,0 +1,49 @@
+%
+% A~driver file to typeset \pk{dostrip.dtx} with the \pk{gmdoc}
+% package.
+%
+% GM 2006/12/1
+%
+
+\PassOptionsToPackage{indexallmacros}{gmdoc}
+
+\if1 1
+ \documentclass[debug]{gmdocc}%
+ \mcdiagOn
+\else
+ \documentclass{gmdocc}%
+\fi
+
+\ltxLookSetup
+\gmdoccMargins
+\twocoltoc% For towocolumn table of contents.
+
+\DeleteShortVerb\|
+\OldMakeShortVerb*\|% To define shortverb \verb+|+ such that it
+% remains shortverb in math mode (by default I~define it to be $\vert$ in
+% math mode.
+
+\relaxen\ds
+\emptify\EOFMark
+
+\begin{document}
+ \def\BasePath{C:/TeXLive2005/texmf-dist/source/latex/base/}
+%^^A \tableofcontents
+ \addtomacro\endabstract{\aftergroup\tableofcontents}
+ \AtBegInputOnce{\date{Printed \today\\ with \pk{gmdoc} package by
+ Natror}\let\date\gobble
+ \let\renewenvironment\gobbletwo}% the only renewed env.\ in
+ % \file{docstrip.dtx} is \env{theglossary}. I~prefer it to be twocolumn.
+
+ \OldDocInput{\BasePath docstrip.dtx}
+
+ \typeout{%
+ ^^JProduce change log with^^J%
+ makeindex -r -s gmglo.ist -o \jobnamewoe.gls \jobnamewoe.glo^^J}
+
+ \typeout{%
+ ^^JProduce index with^^J%
+ makeindex -r \jobnamewoe.idx^^J}
+
+\end{document}
+%\NoEOF
diff --git a/Master/texmf-dist/doc/latex/gmdoc/basedrivers/gmeometric.sty b/Master/texmf-dist/doc/latex/gmdoc/basedrivers/gmeometric.sty
new file mode 100644
index 00000000000..bf9d573c66e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/gmdoc/basedrivers/gmeometric.sty
@@ -0,0 +1,184 @@
+%
+% \GetFileInfo{gmeometric.sty}
+% \title{The \pk{gmeometric} Package\thfileinfo}
+% \author{Grzegorz `Natror' Murzynowski}
+% \maketitle
+%
+%
+% \begin{copyrnote}
+%
+%%Written by Grzegorz `Natror' Murzynowski,
+%% natror at o2 dot pl
+%%
+%% \copyright\,2006 by Grzegorz `Natror' Murzynowski.
+%%
+%% This program is subject to the \LaTeX\ Project Public License.
+%% See \url{http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html}^^A
+%% for the details of that license.
+%%
+%% LPPL status: "author-maintained".\par
+%
+%\end{copyrnote}
+%
+% \CheckSum{61}
+%%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{gmeometric}
+ [2006/10/11 v0.67 to allow geometry macro in the document (GM)]
+
+%%
+%% \division{Introduction, usage}
+%%
+%% This package allows you to use the |\geometry| macro provided by
+%% the \pk{geometry} v3.2 by Hideo Umeki anywhere in a~document:
+%% originally it's claused |\@onlypreamble| and the main work of
+%% \pk{gmeometric} is to change that.
+%%
+%% Note it's rather queer to change the page layout \emph{inside}
+%% a~document and it should be considered as drugs or alcohol: it's
+%% O.K.\ only if you \emph{really} know what you're doing.
+%%
+%% In order to work properly, the macro should launch the |\clearpage|
+%% or the |\cleardoublepage| to `commit' the changes. So, the
+%% unstarred version trigges the first while the starred the
+%% latter. If that doesn't work quite as expected, try to precede or
+%% succede it with |\onecolumn| or |\twocolumn|.
+%%
+%% It's important that |\clear(double)page| launched by |\geometry|
+%% not to be a~no-op, i.e., |\clear(double)page| immediately
+%% preceding |\geometry| (nothing is printed in between) discards the
+%% `commitment'.
+%%
+%% \stanza
+%% You may use \pk{gmeometric} just like \pk{geometry} i.e., to specify
+%% the layout as the package options: they shall be passed to
+%% \pk{geometry}.
+%
+%
+% \begin{gmlonely}
+% \subdivision{Installation}
+%
+% Just put the \pk{gmeometric.sty} somewhere in the \file{texmf/\:tex/\:latex}
+% branch. Creating a~\file{texmf/\:tex/\:latex/\:gm} directory may be advisable
+% if you consider using other packages written by me.
+%
+% Then you should refresh your \TeX\ distribution's files' database
+% most probably.
+% \end{gmlonely}
+%
+%
+% \subdivision{Contents of the \pk{gmeometric.zip} archive}
+%
+% The distribution of the \pk{gmeometric} package consists of the
+% following four files.
+% \begin{verse}
+% \pk{gmeometric.sty}\\
+% \pk{README}\\
+% \pk{gmeometricDoc.tex}\\
+% \pk{gmeometricDoc.pdf}
+% \end{verse}
+%
+%
+% \begin{gmlonely}
+% \subdivision{Compiling of the Documentation}
+%
+% The last of the above files (the \pk{.pdf}, i.e., \emph{this
+% file}) is a~documentation compiled from the \pk{.sty} file by
+% running \LaTeX\ (twice) on the \pk{gmeometricDoc.tex} file.
+% Compiling of the documentation requires the packages: \pk{gmdoc}
+% (\pk{gmdoc.sty} and \pk{gmdocc.cls}), \pk{gmverb.sty},
+% \pk{gmutils.sty}, \pk{gmiflink.sty} and also some standard
+% packages: \pk{hyperref.sty}, \pk{color.sty}, \pk{geometry.sty},
+% \pk{multicol.sty}, \pk{lmodern.sty}, \pk{fontenc.sty} that should
+% be installed on your computer by default.
+%
+% If you have not installed the \pk{mwart.cls} class (available on
+% CTAN in \pk{mwcls} package), the result of your compilation may
+% differ a bit from the \pk{.pdf} provided in this \pk{.zip} archive
+% in formattings: If you have not installed \pk{mwart.cls}, the
+% standard \pk{article.cls} class will be used.
+% \end{gmlonely}
+%
+%
+% \division{Usage}
+% The only use of this package is to allow the |\geometry| command
+% also inside the \env{document} (originally it's
+% |\@onlypreamble|). To make |\geometry| work properly it may be
+% advisable to `commit' the layout changes with (|\clearpage|,
+% |\cleardoublepage| or |\newpage|) and maybe |\one/twocolumn|.
+%
+% Some layout commands should be put before |\one/twocolumn| and other
+% after it. An example:
+%
+%\begin{verbatim}
+% \thispagestyle{empty}
+%
+% \advance\textheight 3.4cm\relax
+% \onecolumn
+% \newpage
+%
+% \advance\footskip-1.7cm
+% \geometry{hmargin=1.2cm,vmargin=1cm}
+%\end{verbatim}
+%
+% And another:
+%\begin{verbatim}
+% \geometry{bottom=3.6cm}
+% \clearpage
+%\end{verbatim}
+%
+%
+% \division{The Code}
+
+\RequirePackage{gmutils}% this package defines the storing and
+% restoring commands.
+
+%^^A\let\gm@compactBDhook\@begindocumenthook
+%^^A\def\@begindocumenthook{\gm@compactBDhook}
+
+
+% redefine |\@onlypreamble|, add storing to BeginDocument.
+\newcommand*\gme@tobestored{{%
+ \Gm@cnth \Gm@cntv \c@Gm@tempcnt \Gm@bindingoffset \Gm@wd@mp
+ \Gm@odd@mp \Gm@even@mp \Gm@orgw \Gm@orgh \Gm@dimlist}}
+
+
+\AtBeginDocument{\expandafter\StoreMacros\gme@tobestored}
+
+\StoreMacro\@onlypreamble
+\let\@onlypreamble\@gobble
+
+
+\RequirePackageWithOptions{geometry}
+
+
+% Restore |\@onlypreamble|:
+\RestoreMacro\@onlypreamble
+
+% Add restore to BeginDocument:
+
+\AtBeginDocument{\expandafter\RestoreMacros\gme@tobestored}
+
+
+% Redefine |\geometry|
+% \CodeDefine\geometry
+\def\geometry{%
+ \@ifstar{\gm@geometry{double}}{\gm@geometry{}}}
+
+% \CodeDefine\gm@geometry
+\def\gm@geometry#1#2{%
+ \Gm@clean
+ \setkeys{Gm}{#2}%
+ \Gm@process
+ \csname clear#1page\endcsname}%
+
+
+\endinput
+% \NoEOF
+
+% (For my GNU Emacs:)
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "e:/LaTeX/TeXGuru/gmeometric/gmeometricDoc"
+%%% End:
diff --git a/Master/texmf-dist/doc/latex/gmdoc/basedrivers/oldcomm.sty b/Master/texmf-dist/doc/latex/gmdoc/basedrivers/oldcomm.sty
new file mode 100644
index 00000000000..a278a1bfd22
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/gmdoc/basedrivers/oldcomm.sty
@@ -0,0 +1,111 @@
+%
+% This is a~fragment of the \pk{ltxdoc} class by David Carlisle
+% for handling the old comments in \LaTeXe\ Source Files.
+%
+%
+% \section{Old Comments}
+%
+% The \LaTeXe\ sources contain a lot of code inherited from
+% \LaTeX2.09. The comments in this code were not designed to be
+% typeset, and do not contain the necessary \LaTeX\ markup. The
+% \texttt{oldcomments} environment typesets these comments,
+% automatically sensing when any control sequence appears, and
+% implicitly adding the |\verb|. This procedure does not produce
+% particularly beautiful pages, but it allows us to fully document new
+% sections, and have some form of typeset comments on all the old
+% code.
+% \changes{v2.0e}{1994/03/18}{Use a fixed font.}
+%
+% Scan control names and put them in tt.
+% will actually (incorrectly) scan past |\\| but this does not matter as
+% this is almost never followed by a letter in practice.
+% (ie |\\foo|) would put |foo| in |\ttfamily|.
+% \begin{macrocode}
+\def\oc@scan#1{%
+ \ifx\oc@bslash#1%
+ \egroup\let\next\oc@bslash\else
+ \ifcat a\noexpand#1%
+ #1\let\next\oc@scan\else
+ \ifx\oc@percent#1%
+ \def\next{\char`\%\egroup}%
+ \else
+ #1\let\next\egroup
+ \fi\fi\fi\next}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\oc@bslash{\bgroup\oc@ttf\char`\\\oc@scan}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\oc@verb#1{%
+ \catcode`#1\active
+ \uccode`\~`#1%
+ \uppercase{\def~{{\oc@ttf\char`#1}}}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begingroup
+ \obeyspaces%
+ \catcode`\/=\catcode`\\
+% \CodeEscapeChar\/
+ /catcode`/\/active
+ /catcode`<=/catcode`{%
+ /catcode`>=/catcode`}%
+ /catcode`/{/active%
+ /catcode`/}/active%
+ /gdef/oldc< \end{oldcomments}>%
+ /gdef/begmac< \begin{macrocode}>%
+ /gdef/obs</def <</oc@ttf/ >>>%
+/endgroup%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begingroup
+ \catcode`\/=\catcode`\\
+ \catcode`\\=13
+% \CodeEscapeChar\/
+ /catcode`/|=/catcode`/%
+ /catcode`/%=13
+ /gdef/oldcomments{|
+ /makeatletter
+ /let/do/oc@verb/dospecials
+ /frenchspacing/@vobeyspaces/obs
+ /raggedright
+ /oc@verb/>|
+ /oc@verb/<|
+ /let\/oc@bslash
+ /let%/oc@percent
+ /obeylines
+ /parindent/z@
+ /ttfamily/expandafter/let/expandafter/oc@ttf/the/font
+ /rmfamily
+ /hfuzz/maxdimen
+ }
+/endgroup
+% \end{macrocode}
+%
+% \begin{macrocode}
+\begingroup
+ \sloppy%
+ \obeylines%
+ \gdef\oc@percent#1^^M{%
+ \ifvmode%
+ \def\commentline{#1}%
+ \ifx\commentline\oldc%
+ \end{oldcomments}%
+ \else%
+ \ifx\commentline\begmac%
+ \begin{macrocode}%
+ \else%
+ \leavevmode%
+ #1^^M%
+ \fi\fi%
+ \else%
+ {\oc@ttf\char`\%}#1^^M%
+ \fi}%
+\endgroup%
+% \end{macrocode}
+%
+%
+\def\task#1#2{} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/gmdoc/basedrivers/source2e_gmdoc.tex b/Master/texmf-dist/doc/latex/gmdoc/basedrivers/source2e_gmdoc.tex
new file mode 100644
index 00000000000..c74380c813e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/gmdoc/basedrivers/source2e_gmdoc.tex
@@ -0,0 +1,623 @@
+% \iffalse meta-comment
+%
+% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2006
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This I~hope would be part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.2
+% 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.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% \fi
+%
+% \division{Some Typesetting Remarks}
+%
+% This driver typesets The Source $2_\varepsilon$ included in the
+% \TeX Live 2005 distribution. Some tricks here are done just for
+% fixing typos in the Source Files. The Source Files themselves are
+% intact.
+%
+% Most probably you should redefine the |\BasePath| macro so that it
+% was the path of the \file{\dots/source/latex/base} directory on your
+% system. The path levels should be separated with slashes (even on
+% Windows) and should also end with a~slash (to concatenate well with
+% the file name).
+%
+% \stanza
+% While \TeX ing The Source again after a~fatally erroneous pass there
+% happened the `\TeX\ capacity exceded error' sometimes. \TeX ing once
+% again was the right thing to do.
+%
+% The \pk{hyperref} package usually issues some warnings about non
+% existence of some hypertargets. I~consider it rather a~feature of
+% \pk{hyperref} (a~bug?) than a~bug in the typeset file(s).
+%
+% \stanza
+% One more thing you shouldn't bother of is the differences of the
+% checksums, I~mean the usual \pk{gmdoc} message that the checksum
+% stated in the file differs from \pk{gmdoc}'s own count. That is
+% O.K.\ since the checksum stated in a~traditional \file{.dtx}
+% is the number of backslashes in the macrocodes while the checksum
+% handled and expected by \pk{gmdoc} is the number of \emph{the escape ^^B
+% chars}. Don't get the difference? Assume the declared code escape
+% char is |\| (as usual) and consider |\\| in the code. Due to
+% the traditional counting this CS increases the checksum by 2 while
+% due to mine by 1: the second bslash is \emph{not} escape char: it's
+% the CS name.
+%
+% Moreover, when you declare |\CodeEscapeChar\!| e.g., the code
+%\[\hbox{|!Alice !\!has !an !aligator|}\]
+% increases the `new way' checksum by 5 not by 1 as it would do the
+% traditional one.
+%
+% \stanza
+% This driver uses an unofficial little package \pk{gmeometric} to
+% allow the |\geometry| command also inside \env{document}. This
+% package is included in the drivers' directory.
+%
+%
+% \division{The Body}
+%
+% ``This document will typeset the \LaTeX\ sources as a single document.
+% This will produce quite a large file (roughly 555 pages) and may
+% take a long time.
+%
+% Some notes on processing this document are contained at the end
+% of this document's source file, after |\end{document}| (not typeset).''
+%
+% GM 2006/12/1
+%
+% First a special index style for makeindex.
+%
+
+\begin{filecontents}{gmsource2e.ist}
+preamble
+"\n \\begin{theindex} \n"
+postamble
+"\n\n \\end{theindex}\n"
+% The next lines will produce some warnings when
+% running Makeindex as they try to cover two different
+% versions of the program:
+lethead_prefix "{\\bfseries\\hfill "
+lethead_suffix "\\hfill}\\nopagebreak\n"
+lethead_flag 1
+heading_prefix "{\\bfseries\\hfill "
+heading_suffix "\\hfill}\\nopagebreak\n"
+headings_flag 1
+
+% and just for source2e:\\
+% Remove R so I is treated in sequence I J K not I II III
+page_precedence "rnaA"
+\end{filecontents}
+
+
+\PassOptionsToPackage{indexallmacros}{gmdoc}
+
+\if1 1
+ \documentclass[debug,gmeometric]{gmdocc}%
+ \mcdiagOn
+\else
+ \documentclass[gmeometric]{gmdocc}%
+\fi
+
+\bgroup\catcode`_=12
+\firstofone{\egroup
+ \if1 1\includeonly{source2e_by_gmdoc}\fi}
+
+
+
+%^^A\usepackage[margin=2cm,b5paper]{geometry}% and this
+\usepackage{oldcomm}% Definitions of \env{oldcomments} and |\task|
+% copied from \file{ltxdoc.dtx}.
+
+\listfiles
+
+\ltxLookSetup
+\gmdoccMargins
+\olddocIncludes% This is the crucial declaration to drive \pk{gmdoc} into
+% the traditional settings.
+\twocoltoc% For towocolumn table of contents.
+
+\DeleteShortVerb\|
+\OldMakeShortVerb*\|% To define shortverb \verb+|+ such that it
+% remains shortverb in math mode (by default I~define it to be $\vert$ in
+% math mode.
+
+
+
+% Do not index some TeX primitives, and some common plain TeX commands.
+
+\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global}
+\DoNotIndex{\if,\ifnum,\ifdim,\ifcat,\ifmmode,\ifvmode,\ifhmode,%
+ \iftrue,\iffalse,\ifvoid,\ifx,\ifeof,\ifcase,\else,\or,\fi}
+\DoNotIndex{\box,\copy,\setbox,\unvbox,\unhbox,\hbox,%
+ \vbox,\vtop,\vcenter}
+\DoNotIndex{\@empty,\immediate,\write}
+\DoNotIndex{\egroup,\bgroup,\expandafter,\begingroup,\endgroup}
+\DoNotIndex{\divide,\advance,\multiply,\count,\dimen}
+\DoNotIndex{\relax,\space,\string}
+\DoNotIndex{\csname,\endcsname,\@spaces,\openin,\openout,%
+ \closein,\closeout}
+\DoNotIndex{\catcode,\endinput}
+\DoNotIndex{\jobname,\message,\read,\the,\m@ne,\noexpand}
+\DoNotIndex{\hsize,\vsize,\hskip,\vskip,\kern,\hfil,\hfill,\hss}
+\DoNotIndex{\m@ne,\z@,\z@skip,\@ne,\tw@,\p@}
+\DoNotIndex{\dp,\wd,\ht,\vss,\unskip}
+
+% Set up the Index and Change History to use |\part|.
+\makeatletter
+\def\indexdiv{\part*}
+\AtDIPrologue{\@ifnotmw{%
+ \markboth{Index}{Index}%
+ \addcontentsline{toc}{part}{Index}}{}%
+}
+
+\GlossaryPrologue{\part*{Change History}%
+ % Allow control names to be hyphenated here\dots
+ {\GlossaryParms\ttfamily\hyphenchar\font=`\-}%
+ \@ifnotmw{%
+ \markboth{Change History}{Change History}%
+ \addcontentsline{toc}{part}{Change History}}{}%
+}
+
+% ``The standard |\changes| command modified slightly to better cope with
+% this multiple file document.''--- Not quite:
+\makeatletter
+% \begin{verbatim}
+% % \def\changes@#1#2#3{%
+% % \let\protect\@unexpandable@protect
+% % \edef\@tempa{\noexpand\glossary{#2\space\currentfile\space#1\levelchar
+% % \ifx\saved@macroname\@empty
+% % \space
+% % \actualchar
+% % \generalname
+% % \else
+% % \expandafter\@gobble
+% % \saved@macroname
+% % \actualchar
+% % \string\verb\quotechar*%
+% % \verbatimchar\saved@macroname
+% % \verbatimchar
+% % \fi
+% % :\levelchar #3}}%
+% % \@tempa\endgroup\@esphack}
+%\end{verbatim}
+\makeatother
+
+% Produce a Change Log and (2 column) Index.
+\RecordChanges
+\CodelineIndex
+\EnableCrossrefs
+\setcounter{IndexColumns}{2}
+
+% Needed for documentation in \file{ltoutenc.dtx}.
+\usepackage{textcomp}
+
+\olddocIncludes
+
+\begin{document}
+ \title{The \LaTeXe\ Sources\thanks{Typeset with \pk{gmdoc} by Natror
+ on \today.}}
+ \author{%
+ Johannes Braams\\
+ David Carlisle\\
+ Alan Jeffrey\\
+ Leslie Lamport\\
+ Frank Mittelbach\\
+ Chris Rowley\\
+ Rainer Sch\"opf}
+
+
+\def\BasePath{C:/TeXLive2005/texmf-dist/source/latex/base/}
+
+
+% This command will be used to input the patch file
+% if that file exists.
+\newcommand{\includeltpatch}{%
+ \def\currentfile{ltpatch.ltx}
+ \part{ltpatch}
+ {\let\ttfamily\relax
+ \xdef\filekey{\filekey, \thepart={\ttfamily\currentfile}}}%
+ Things we did wrong\ldots
+ \IndexInput{ltpatch.ltx}}
+
+
+
+% Get the date from \file{ltvers.dtx}
+\makeatletter
+\let\patchdate=\@empty
+\begingroup
+ \def\ProvidesFile#1\fmtversion#2{\date{#2}\endinput}
+ \input{\BasePath ltvers.dtx}
+\global\let\X@date=\@date
+
+% Add the patch version if available.
+ \long\def\Xdef#1#2#3\def#4#5{%
+ \xdef\X@date{#2}%
+ \xdef\patchdate{#5}%
+ \endinput}%
+ \InputIfFileExists{ltpatch.ltx}
+ {\let\def\Xdef}{\global\let\includeltpatch\relax}
+\endgroup
+
+\ifx\@date\X@date
+ \def\Xpatch{0}
+ \ifx\patchdate\Xpatch\else
+ \edef\@date{\@date\space Patch level \patchdate}
+ \fi
+\else
+ \@warning{ltpatch.ltx does not match ltvers.dtx!}
+ \let\includeltpatch\relax
+\fi
+\makeatother
+
+ \pagenumbering{roman}
+ \thispagestyle{empty}
+ \maketitle
+ \emptify\maketitle
+
+ \tableofcontents
+
+ \clearpage
+
+ \pagenumbering{arabic}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%``Each of the following |\DocInclude| lines includes a file with extension
+% \file{.dtx}. Each of these files may be typeset separately. For instance
+%\[\hbox{|latex ltboxes.dtx|}\]
+% will typeset the source of the \LaTeX\ box commands.''
+%
+% (Well, I~(Natror) prepared only this common driver.)
+%
+% If this file is processed, each of these separate \file{.dtx} files will be
+% contained as a part of a single document. Using \file{ltxdoc.cfg} you can
+% then optionally produce a combined index and/or change history for
+% the entire source of the format file. Note that such a document will
+% be quite large (about 555 pages).
+%
+
+ \DocInclude[\BasePath]{ltdirchk} % System dependent initialisation
+
+\AfterMacrocode{53}{\def\do{\cs{do}}}% A~bare |\do| in narration on
+% line 161.
+ \DocInclude[\BasePath]{ltplain} % LaTeX version of Knuth's \file{plain.tex}.
+
+ \DocInclude[\BasePath]{ltvers} % Current version date.
+
+ \DocInclude[\BasePath]{ltdefns} % Initial definitions.
+
+ \DocInclude[\BasePath]{ltalloc} % Allocation of counters and others.
+
+ \DocInclude[\BasePath]{ltcntrl} % Program control macros.
+
+ \DocInclude[\BasePath]{lterror} % Error handling.
+
+ \DocInclude[\BasePath]{ltpar} % Paragraphs.
+
+ \DocInclude[\BasePath]{ltspace} % Spacing, line and page breaking.
+
+ \DocInclude[\BasePath]{ltlogos} % Logos.
+
+ \DocInclude[\BasePath]{ltfiles} % |\input| files and related commands.
+
+\AtBegInputOnce{\let\task\gobble}% In general |\task| gobbles two, but
+% in this file it's used with one argument and next to it is
+% |\changes| (which in \pk{gmdoc} is |\outer| so gobbling it raises an
+% error).
+ \DocInclude[\BasePath]{ltoutenc} % Output encoding interface.
+
+ \DocInclude[\BasePath]{ltcounts} % Counters.
+
+ \DocInclude[\BasePath]{ltlength} % Lengths.
+
+ \DocInclude[\BasePath]{ltfssbas} % NFSS Base macros.
+
+%^^A\AtBegInputOnce{\addtomacro\maketitle{\traceoff}\traceon}%{\nameshow{@author}\show\maketitle\nameshow{@maketitle}}
+ \DocInclude[\BasePath]{ltfsstrc} % NFSS Tracing (and \file{tracefnt.sty}).
+
+ \DocInclude[\BasePath]{ltfsscmp} % NFSS1 Compatibility.
+
+ \DocInclude[\BasePath]{ltfssdcl} % NFSS Declarative interface.
+
+ \DocInclude[\BasePath]{ltfssini} % NFSS Initialisation.
+
+ \DocInclude[\BasePath]{fontdef} % \file{fonttext.ltx/fontmath.ltx}
+
+ \DocInclude[\BasePath]{preload} % \file{preload.ltx}
+
+ \DocInclude[\BasePath]{ltfntcmd} % |\textrm| etc.
+
+ \DocInclude[\BasePath]{ltpageno} % Page numbering.
+
+ \DocInclude[\BasePath]{ltxref} % Cross referencing.
+
+ \AfterMacrocode{1137}{\let\GMDebugCS\cs
+ \def\cs##1{\expandafter\GMDebugCS\expandafter{\string##1}}}
+ % |\cs{\@defaultsubs}| on line 257, |\cs{\@refundefined}| on line
+ % 263. It's the first step. The next is done before |\PrintChanges|.
+ \AfterMacrocode{1139}{\let\cs\GMDebugCS}
+ \AfterMacrocode{1183}{% The last |\changes| have second argument
+ % |{1994/05/26/16}|.
+ \csname changes\endcsname{v0.9i}{1993/12/16}{\cs{literal} added}%
+ \csname changes\endcsname{v1.0r}{1994/05/26}{\cs{literal} removed}%
+ \gdef\GMdebugChanges{\expandafter\def\csname
+ changes\endcsname####1####2####3{}}%
+ \aftergroup\GMdebugChanges}% A~trick with |\aftergroup| 'cause
+ % that \env{macrocode} is inside \env{macro}.
+ \DocInclude[\BasePath]{ltmiscen} % Miscellaneous environment definitions.
+
+ \DocInclude[\BasePath]{ltmath} % Mathematics set up.
+
+ \DocInclude[\BasePath]{ltlists} % List and related environments.
+
+ \DocInclude[\BasePath]{ltboxes} % Parbox and friends.
+
+ \DocInclude[\BasePath]{lttab} % \env{tabbing}, \env{ tabular} and \env{array}.
+
+ \DocInclude[\BasePath]{ltpictur} % Picture mode.
+
+ \DocInclude[\BasePath]{ltthm} % Theorem environments.
+
+ \DocInclude[\BasePath]{ltsect} % Sectioning.
+
+ \DocInclude[\BasePath]{ltfloat} % Floats.
+
+ \DocInclude[\BasePath]{ltidxglo} % Index and Glossary.
+
+ \DocInclude[\BasePath]{ltbibl} % Bibliography.
+
+ \DocInclude[\BasePath]{ltpage} % |\pagestyle|, |\raggedbottom|, |\sloppy|.
+
+ \DocInclude[\BasePath]{ltoutput} % Output routine.
+
+ \DocInclude[\BasePath]{ltclass} % Package \& Class interface.
+
+ \DocInclude[\BasePath]{lthyphen} % Hyphenation (\file{hyphen.ltx}).
+
+ \DocInclude[\BasePath]{ltfinal} % Last minute initialisations and dump.
+
+ \includeltpatch % Corrections distributed after the full release.
+
+% Stop here if \file{ltxdoc.cfg} says |\AtEndOfClass{\OnlyDescription}|
+\StopEventually{\end{document}}
+
+\clearpage
+\pagestyle{headings}
+
+% Make \TeX\ shut up.
+\hbadness=10000
+\newcount\hbadness
+\hfuzz=\maxdimen
+
+\typeout{%
+ ^^JProduce change log with^^J%
+ makeindex -r -s gmglo.ist -o \jobnamewoe.gls \jobnamewoe.glo^^J}
+
+{%^^A\def\.{\cs{.}}% 'cause there's |\cs {\.}| in change log on l.4314
+ % The next step of debug of \file{ltmiscen.dtx}'s
+ % |\changes...{...\cs{\@defaultsubs...}}| etc.\\ How does it work?
+ % Remember |\cs| is robust. The typo lies in giving it a~CS argument
+ % instead of expected CS name without backslash. So, in the step 1
+ % we only |\string| the argument CS to let it be written outto the
+ % \file{.glo} file. Then, in step 2, we redefine |\cs| to first
+ % |\string| its argument inside an |\if|. Remember that |\if|
+ % expands two tokens next to it until it finds sth.\ unexpandable,
+ % so it'll execute |\string|. Then, if the first char of the
+ % |\stringed| argument is |\|\catother, the condition is satisfied
+ % and |\if...\fi| expands to what follows that backslash and
+ % precedes |\else|. So if the argument was a~CS, its backslash will
+ % be gobbled by |\if|. Otherwise |\if...\fi| expands to what is
+ % between |\else| and |\fi|, to the unchanged argument that is. Then
+ % to that expanded list of tokens the original |\cs| is applied.
+ \let\GMDebugCS\cs
+ \def\cs#1{\edef\AtTempa{\if\bslash\string#1\else#1\fi}%
+ \GMDebugCS{\AtTempa}}
+\PrintChanges}
+
+\typeout{%
+ ^^JProduce index with^^J%
+ makeindex -r -s gmsource2e.ist \jobnamewoe.idx^^J}
+
+% ``Makeindex needs a symbol between the parts of composite page numbers
+% but we dont want one, so:''---I~skip that.
+%
+%\begin{verbatim}
+%% \begingroup
+%% \def\endash{--}
+%% \catcode`\-\active
+%% \def-{\futurelet\temp\indexdash}
+%% \def\indexdash{\ifx\temp-\endash\fi}
+%\end{verbatim}
+
+\geometry{bottom=3.6cm}
+%^^A\onecolumn
+%^^A~\clearpage is contained in |\geometry|.
+
+
+\PrintIndex
+%^^A\endgroup
+
+% Make sure that the index is not printed twice
+% (ltxdoc.cfg might have a second \PrintIndex command)
+\let\PrintChanges\relax
+\let\PrintIndex\relax
+
+\gmdoccMargins
+\clearpage
+\csname @ifnotmw\endcsname{\pagestyle{headings}}{\pagestyle{outer}}
+
+\gmdocIncludes
+\SelfInclude{%^^A\def\CommonEntryCmd{UsgEntry}%\label{UsgHack}
+ % ^^A\label{SelfIncludeUsg}
+ \csname gag@index\endcsname% we tur writing outto the \file{.idx}
+ % out for the driver since it's \emph{not} a~part of The Source.
+%^^A \filediv[The New Driver?]{How I~did It or \gmhypertarget{The Driver} File}%
+}
+
+\end{document}
+%\endinput
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+To use this file to produce a fully indexed source code
+you need to execute the following (or equivalent) commands:
+
+ latex source2e_by_gmdoc.tex
+
+ makeindex -s gmsource2e.ist source2e_by_gmdoc.idx
+ makeindex -s gmglo.ist -o source2e_by_gmdoc.gls source2e_by_gmdoc.glo
+
+ latex source2e_by_gmdoc.tex
+ latex source2e_by_gmdoc.tex
+
+
+The makeindex style gmsource2e.ist is used in place of the usual
+doc gind.ist to ensure that I is used in the sequence I J K
+not I II II, which would be the default makeindex behaviour.
+
+The third run with latex is only required to get the table of
+contents entries for the change log and index. You may speed things up
+by using the \includeonly mechanism so as not to typeset the source
+files on the second run. This involves changing the file
+ltxdoc.cfg
+between the latex runs.
+
+The following unix script automates this.
+ (It could easily be ported to scripts for DOS or VMS,
+ rm is ReMove a file, and echo "..." > file writes ... to "file".)
+
+
+After this script (after the second ==============) is a similar script
+that will produce the documentation for all the files in the base
+distribution that are *not* included in source2e.dvi. This second script
+was requested, but before using it, beware it will take a long time!
+It may however be modified as required, eg to not typeset the fdd files
+or whatever...
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Natror (GM): I~didn't touch the following so it's probably not quite suitable
+for gmdoc-ing.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+==============
+#!/bin/sh
+
+rm -f source2e_by_gmdoc.gls source2e_by_gmdoc.ind source2e_by_gmdoc.toc
+
+# First run:
+# Create new standard ltxdoc.cfg file
+# Pass the (possibly empty) list of arguments supplied on the
+# command line to article class.
+#
+# If you use A4 paper, running this script with argument
+# a4paper
+# may save about 30 pages.
+#
+echo "\PassOptionsToClass{$*}{article}" > ltxdoc.cfg
+
+
+# Now LaTeX the file with this cfg file.
+#
+latex source2e.tex
+
+
+# Make the Change log and Glossary.
+#
+makeindex -s source2e.ist source2e.idx
+makeindex -s gglo.ist -o source2e.gls source2e.glo
+
+
+# Second run: append \includeonly{} to ltxdoc.cfg to speed up things
+# (this run needed only to get changes and index listed in .toc file)
+#
+# Note that the index will not be made incorrect by the insertion
+# of the table of contents as the front matter uses a diferent page
+# numbering scheme.
+#
+echo "\includeonly{}" >> ltxdoc.cfg
+
+latex source2e.tex
+
+
+# Third and final run, to put everything together.
+# First restore the cfg file:
+#
+echo "\PassOptionsToClass{$*}{article}" > ltxdoc.cfg
+latex source2e.tex
+
+
+==============
+#!/bin/sh
+
+# Running this script will process all the dtx fdd and *guide.tex
+# and ltnews*.tex files in the LaTeX distribution, except the dtx
+# files included in source2e.tex.
+# (The shell first script in the comments of source2e.tex will
+# process those.)
+
+# Any command line arguments (eg a4paper) are taken as options to the
+# article class.
+
+# This script is likely to take ages!
+
+echo "\PassOptionsToClass{$*}{article}" > ltxdoc.cfg
+echo "\batchmode" >> ltxdoc.cfg
+
+# The next four lines produce full indexes and change logs
+# you may not want those.
+echo "\AtBeginDocument{\RecordChanges}" >> ltxdoc.cfg
+echo "\AtEndDocument{\PrintChanges}" >> ltxdoc.cfg
+echo "\AtBeginDocument{\CodelineIndex\EnableCrossrefs}" >> ltxdoc.cfg
+echo "\AtEndDocument{\PrintIndex}" >> ltxdoc.cfg
+
+# If you do not want any code listings, just documentation, then instead
+# of the above four lines, uncomment the following:
+# echo "\AtBeginDocument{\OnlyDescription}" >> ltxdoc.cfg
+
+echo "\PassOptionsToClass{$*}{article}" > ltxguide.cfg
+echo "\batchmode" >> ltxguide.cfg
+
+cp ltxguide.cfg ltnews.cfg
+
+
+for i in *dtx *fdd *guide.tex ltnews*.tex
+do
+B=`basename $i .dtx`
+
+if (grep "Include{$B}" source2e.tex >/dev/null ; )
+then
+echo In source2e: $i
+else
+echo latex $i
+ if (latex $i > /dev/null)
+ then
+ echo latex $i
+ latex $i > /dev/null
+ echo makeindex -s gind.ist $B.idx
+ makeindex -s gind.ist $B.idx > /dev/null 2> /dev/null
+ echo makeindex -s gglo.ist -o $B.gls $B.glo
+ makeindex -s gglo.ist -o $B.gls $B.glo > /dev/null 2> /dev/null
+ echo latex $i
+ latex $i > /dev/null
+ else
+ echo "!!! LaTeX ERROR: $i. (See $B.log.)"
+ fi
+fi
+
+done
diff --git a/Master/texmf-dist/doc/latex/gmdoc/gmdocDoc.pdf b/Master/texmf-dist/doc/latex/gmdoc/gmdocDoc.pdf
new file mode 100644
index 00000000000..c1752c65b69
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/gmdoc/gmdocDoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/gmdoc/gmdocDoc.tex b/Master/texmf-dist/doc/latex/gmdoc/gmdocDoc.tex
new file mode 100644
index 00000000000..01909867964
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/gmdoc/gmdocDoc.tex
@@ -0,0 +1,67 @@
+%^^A This file is just a~driver. To learn how to use it, read the README
+%^^A or the documentation in .pdf
+%
+% \ChangesStart{vNo}{1000/0/0}
+% \chschange{vNo}{06/9/30}{27}
+% \chschange{vNo}{06/10/12}{28}
+% \chschange{vNo}{06/10/27}{35}
+% \chschange{?}{06/12/1}{40}
+%
+% \CodeUsgIndex*{outeroff} \CodeUsgIndex*{mwrep}
+\documentclass[outeroff,mwrep]{gmdocc}
+%^^A\OnlyDescription
+%^^A\usepackage{graphics}
+\twocoltoc
+\title{The \pk{gmdoc} Package\\ i.e., \pk{gmdoc.sty} and
+ \pk{gmdocc.cls}}
+\author{Grzegorz `Natror' Murzynowski}
+\date{Warszawa, 2006}
+\begin{document}
+\maketitle
+\setcounter{page}{2}% \pk{hyperref} cries if it sees two pages
+% numbered~1.
+\tableofcontents
+\DoIndex\maketitle
+\DocInclude{gmdoc}
+%^^A~.sty
+\DocInclude{gmdocc}
+\SelfInclude{\def\CommonEntryCmd{UsgEntry}%\label{UsgHack}
+ % \label{SelfIncludeUsg}
+ \filediv[\file{gmdocDoc.tex}, The Driver
+ File]{\file{gmdocDoc.tex}, \gmhypertarget{The Driver} File}%
+ \label{Driver}}
+
+% For your convenience I~decided to add the documentations of the
+% three auxiliary packages:
+\skipgmlonely[\stanza The remarks about installation and compiling
+ of the documentation are analogous to those in the chapter
+ \pk{gmdoc.sty} and therefore ommitted.\stanza]
+\DocInclude{gmutils}
+\DocInclude{gmiflink}
+\DocInclude{gmverb}
+\typeout{%
+ Produce change log with^^J%
+ makeindex -r -s gmglo.ist -o \jobnamewoe.gls \jobnamewoe.glo^^J
+ (gmglo.ist should be put into some texmf/makeindex directory.)^^J}
+\PrintChanges
+\typeout{%
+ Produce index with^^J%
+ makeindex -r \jobnamewoe^^J}
+ \PrintIndex
+\end{document}
+% MakeIndex shell commands:
+ makeindex -r gmdocDoc
+ makeindex -r -s gmglo.ist -o gmdocDoc.gls gmdocDoc.glo
+% (\pk{gmglo.ist} should be put into some \pk{texmf/makeindex}
+% directory.)
+
+%^^A(
+% And ``That's all, folks'' ;-)\,.
+% \NoEOF
+
+% The following is just my GNU Emacs stuff.
+%
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End: \ No newline at end of file