summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ms
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/ms
Initial commit
Diffstat (limited to 'macros/latex/contrib/ms')
-rw-r--r--macros/latex/contrib/ms/count1to.dtx500
-rw-r--r--macros/latex/contrib/ms/count1to.ins112
-rw-r--r--macros/latex/contrib/ms/count1to.pdfbin0 -> 545999 bytes
-rw-r--r--macros/latex/contrib/ms/everysel.dtx418
-rw-r--r--macros/latex/contrib/ms/everysel.ins108
-rw-r--r--macros/latex/contrib/ms/everysel.pdfbin0 -> 439959 bytes
-rw-r--r--macros/latex/contrib/ms/everyshi.asc12
-rw-r--r--macros/latex/contrib/ms/everyshi.bug11
-rw-r--r--macros/latex/contrib/ms/everyshi.dtx406
-rw-r--r--macros/latex/contrib/ms/everyshi.ins113
-rw-r--r--macros/latex/contrib/ms/everyshi.pdfbin0 -> 96478 bytes
-rw-r--r--macros/latex/contrib/ms/multitoc.asc12
-rw-r--r--macros/latex/contrib/ms/multitoc.bug11
-rw-r--r--macros/latex/contrib/ms/multitoc.dtx537
-rw-r--r--macros/latex/contrib/ms/multitoc.ins116
-rw-r--r--macros/latex/contrib/ms/multitoc.pdfbin0 -> 110362 bytes
-rw-r--r--macros/latex/contrib/ms/prelim2e.dtx637
-rw-r--r--macros/latex/contrib/ms/prelim2e.ins110
-rw-r--r--macros/latex/contrib/ms/prelim2e.pdfbin0 -> 561054 bytes
19 files changed, 3103 insertions, 0 deletions
diff --git a/macros/latex/contrib/ms/count1to.dtx b/macros/latex/contrib/ms/count1to.dtx
new file mode 100644
index 0000000000..53b7f148d0
--- /dev/null
+++ b/macros/latex/contrib/ms/count1to.dtx
@@ -0,0 +1,500 @@
+% \iffalse
+\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{count1to}
+%<package> [2009/05/24 v2.1 Count1to9 Package (MS)]
+%
+%<*driver>
+\ProvidesFile{count1to.drv}
+ [2009/05/24 v2.1 Driver for Count1to9 Package (MS)]
+\documentclass[a4paper]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{microtype}
+\usepackage{booktabs}
+\usepackage{url}
+\usepackage{count1to}
+\usepackage[toc]{multitoc}
+\usepackage{svn}
+\usepackage{hypdoc}
+\usepackage{geometry}
+\GetFileInfo{count1to.sty}
+\setcounter{IndexColumns}{2}
+% onecolumn glossary
+\makeatletter
+ \renewenvironment{theglossary}{%
+ \glossary@prologue
+ \setlength\emergencystretch{5em}
+ \GlossaryParms \let\item\@idxitem \ignorespaces}{}
+\makeatother
+\EnableCrossrefs
+\RecordChanges
+%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
+\CodelineIndex % Index code by line number
+%\OnlyDescription % comment out for implementation details
+%%\OldMakeIndex % use if your MakeIndex is pre-v2.9
+\setcounter{IndexColumns}{2}
+\setlength{\IndexMin}{30ex}
+\setlength{\premulticols}{\IndexMin}
+\addtolength{\oddsidemargin}{1cm}
+\addtolength{\textwidth}{-1cm}
+\begin{document}
+ \DocInput{count1to.dtx}
+\end{document}
+%</driver>
+%^^A $Id: count1to.dtx 1368 2009-05-24 16:02:57Z oneiros $
+%
+% Copyright (c) 1994..2009 by Martin Schr\"oder. All rights reserved.
+%
+% 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'.
+%
+% The Current Maintainer of this work is Martin Schr\"oder.
+%
+% This work consists of the files count1to.dtx and count1to.ins
+% and the derived file count1to.sty.
+%
+% \fi
+%
+% \CheckSum{112}
+%
+%% \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 \~}
+%%
+%% \iffalse meta-comment
+%% ===================================================================
+%% @LaTeX-style-file{
+%% author = {Martin Schr\"oder},
+%% version = "2.1",
+%% date = "24 May 2009",
+%% filename = "count1to.sty",
+%% address = {Martin Schr\"oder
+%% Barmer Stra\"se 14
+%% 44137 Dortmund
+%% Germany}
+%% telephone = "+49-231-1206574",
+%% email = "martin@oneiros.de",
+% codetable = "ISO/ASCII",
+% keywords = "LaTeX, pages",
+% supported = "yes",
+%% docstring = "LaTeX package which sets count1 to count9,
+%% which can be used to select certain pages
+%% with a driver.
+%% Also provides access to the number of pages
+%% of the document.
+%% Uses the everyshi package."
+%% }
+%% ===================================================================
+%% \fi
+%
+% \SVN $Rev: 1368 $
+% \SVN $Date: 2009-05-24 18:02:57 +0200 (So, 24. Mai 2009) $
+%
+% \changes{v1.00}{1994/12/07}{New}
+% \changes{v1.01}{1994/12/09}{Documentation improved}
+% \changes{v1.02}{1996/12/29}{Documentation improved}
+% \changes{v1.20}{1998/08/09}{Documentation improved}
+% \changes{v1.22}{1999/06/08}{Moved to LPPL}
+% \changes{v2.00}{2002/08/31}{Removed \texttt{TotalPages}}
+% \changes{v2.1}{2009/05/24}{New address}
+%
+% \newcommand*{\Count}[1]{\texttt{\symbol{92}count#1}}
+% \newcommand*{\package}[1]{\textnormal{\sffamily#1}}
+% \newcommand*{\NEWfeature}[1]{%
+% \hskip 1sp \marginpar{\small\sffamily\raggedright
+% New feature\\#1}}
+%
+% ^^A -----------------------------
+%
+% \changes{v1.03}{1997-03-09}{Fixed use of \cs{newline} in title.}
+% \title{\unskip
+% The \package{count1to} package^^A
+% \thanks{^^A
+% The version number of this file is \fileversion, subversion
+% revision~\#\SVNRev, last revised
+% \protect\SVNDate.\protect\newline
+% The name \textsf{count1to} is a tribute to the $8+3$ file-naming
+% convention of certain ancient ``operating systems''; strictly
+% speaking it should be \textsf{count1to9}.}
+% }
+% \changes{v2.00}{2002/08/31}{Changed e-mail}
+% \author{Martin Schr\"oder\\[0.5ex]
+% \normalsize Barmer Stra\ss{}e 14\\
+% \normalsize 44137 Dortmund\\
+% \normalsize Germany\\
+% \normalsize martin@oneiros.de}
+% \date{\filedate}
+% \maketitle
+%
+% ^^A -----------------------------
+%
+%
+% \begin{abstract}
+% This package sets \Count{1} to \Count{8} with the values
+% of \texttt{page} to \texttt{subparagraph}.
+% \Count{9} is used to flag odd pages.
+% The values of these counters are displayed and written in the
+% \textsf{.dvi} file by \TeX{} and can later be used to select
+% the pages of certain parts of the document for printing if the
+% device driver supports this.
+% \end{abstract}
+%
+% \pagestyle{headings}
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+% ^^A -----------------------------
+%
+% \section{Introduction to version 2}
+% ^^A
+% The main change of this new version is the removal of the code for
+% the \texttt{TotalPages} label.
+% This code didn't work with the \package{hyperref}
+% package\cite{package:hyperref} and better code to achieve the
+% effect of it is contained in the \package{totpages}
+% package\cite{package:totpages}.
+% So old documents using this package will not work when they try to
+% use the \texttt{TotalPages} label; these documents must be changed
+% by inserting a \cs{usepackage\{totpages\}} in the preamble and
+% replacing all occurences of \texttt{TotalPages} by
+% \texttt{TotPages}.
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+% ^^A
+% Most of the time users want to print only certain parts of a
+% document; but these can only be selected by using the page numbers
+% of these parts with most device drivers.
+% This can be dif\/ficult or impossible if pages in dif\/ferent
+% parts of the document have the same number---e.\,g. in the
+% frontmatter and the first text pages (iii vs. 3).
+%
+% \TeX{} provides an easy solution to this problem: whenever a page
+% is completed by the output routine and shipped out via
+% \cs{shipout}, it displayes the values of \Count{0} to \Count{9}
+% on the display (e.\,g. \texttt{[1]}) \emph{and writes them to the
+% \textsf{.dvi} file}.
+%
+% \changes{v1.02}{1996/12/29}{fixed typos}
+% \begin{quote}
+% ``The first ten \Count{} registers, \Count{0} to \Count{9},
+% are reserved for a special purpose: \TeX{} displays these ten
+% counts on your terminal whenever ouputting a page, and it
+% transmits them to the output file as an identification of that
+% page.
+% The counts are separated by decimal points on your terminal,
+% with trailing `\texttt{.0}' patterns suppressed.
+% Thus, for example, if \Count{0=5} and \Count{2=7} when a
+% page is shipped out to the \texttt{dvi} file, and if the other
+% counters are zero, \TeX{} will type `\texttt{[5.0.7]}'.
+% Plain \TeX{} uses \Count{0} for the page number, and it keeps
+% \Count{1} through~\Count{9} equal to zero; that is why you
+% see `\texttt{[1]}' when page~1 is being output.
+% In more complex applications the page numbers can have further
+% structure; ten counts are shipped out so that there will be
+% plenty of identification.''\cite[p\@. 119]{KnuthTeXa}
+% \end{quote}
+%
+% \noindent
+% Surprinsingly, until recently there existed no package for
+% \LaTeX{} that used these \Count{}ers although some drivers allow
+% the selection of pages based on other \Count{}s then \Count{0}
+% (e.\,g. em\TeX).
+%
+% This package is the solution: It uses the \package{everyshi}
+% package\cite{package:everyshi} to set \Count{1} to \Count{9} before
+% each \cs{shipout} with these values:
+%
+% \begin{center}
+% \begin{tabular}{cl}\toprule
+% \Count{} & value \\ \midrule
+% 0 & relative page number (set by \LaTeX)\\
+% 1 & absolute page number\\
+% 2 & number of current \cs{part} \\
+% 3 & number of current \cs{chapter} (0 with article class)\\
+% 4 & number of current \cs{section} \\
+% 5 & number of current \cs{subsection} \\
+% 6 & number of current \cs{subsubsection} \\
+% 7 & number of current \cs{paragraph} \\
+% 8 & number of current \cs{subparagraph} \\
+% 9 & 1 on odd pages, 0 on even pages\footnotemark\\
+% \bottomrule
+% \end{tabular}
+% \end{center}
+% \footnotetext{^^A
+% If you have a better application for \Count{9}, let me know.}
+%
+% \noindent
+% \textsf{count1to} also works with classes that do not define some
+% or all of the sectioning commands and their counters, like
+% \textsf{letter}.
+% Although it is of somewhat little use then \texttt{:-)}.
+%
+% A note for users of this package: When you select the pages of
+% some part of your document with a lower structure than
+% \cs{chapter}, remember that only \cs{part}s and \cs{chapter}s
+% start on a new page; if you want to print a complete
+% \cs{section}, you should also select the first page of the next
+% \cs{section}.
+% Also note that \TeX{} ships out the values of the counters instead
+% of their visual representation (produced with
+% \cs{the}\emph{counter}), so appendix A sets \Count{4} to 1 in the
+% article class.
+%
+% A note for developers of device drivers: Please add support for
+% \Count{1} to~\texttt{9} to your programs.
+% It would also be nice if users could easily select the next
+% page(s) after a certain count (something like
+% ``\texttt{*.*.*.*.2+1.*}'' should be possible for selecting all
+% pages with $\Count{4}\mapsto\mathrm{section}=2$ plus the first
+% page of section~3).
+%
+% ^^A -----------------------------
+%
+% \section{Options}
+% ^^A
+% The package has no options.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Required packages}
+% ^^A
+% The package requires the \package{everyshi}
+% package\cite{package:everyshi}.
+%
+%
+% ^^A -----------------------------
+%
+% \StopEventually{^^A
+%
+% ^^A -----------------------------
+%
+% \section{Acknowledgements}
+% ^^A
+% As usual Rebecca Stiels improved the quality of this documentation.
+%
+%
+% ^^A -----------------------------
+%
+% \begin{thebibliography}{1}
+% \raggedright
+% \bibitem{package:lastpage}
+% Jeff Goldberg.
+% \newblock The \package{lastpage}-package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/other/lastpage}.
+% \newblock \LaTeXe{} package.
+% \bibitem{KnuthTeXa}
+% Donald~E.\ Knuth.
+% \newblock \emph{The {\TeX}Book}, volume~A of \emph{Computers
+% and Typesetting}.
+% \newblock Addison-Wes\-ley, 1986.
+% \newblock Eleventh printing, revised, May 1991.
+% \bibitem{package:totpages}
+% Wilhelm M\"uller.
+% \newblock The \package{totpages} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/totpages/}.
+% \newblock \LaTeXe{} package.
+% \bibitem{package:hyperref}
+% Sebastian Rahtz.
+% \newblock Hypertext marks in \LaTeX.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/hyperref/}.
+% \bibitem{package:everyshi}
+% Martin Schr\"oder.
+% \newblock The \package{everyshi} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/everyshi.dtx}.
+% \newblock \LaTeXe{} package.
+% \end{thebibliography}
+%
+% }
+%
+%
+% ^^A -----------------------------
+%
+% \section{The implementation}
+% ^^A
+% \setlength{\parindent}{0pt}
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% We need the \package{everyshi} package.
+% \changes{v1.20}{1998/04/10}{don't require \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{require \textsf{ifthen}}
+% \begin{macrocode}
+\RequirePackage{everyshi}[1994/12/09]
+% \end{macrocode}
+%
+% We need various \cs{if}s to check if the used counters
+% are defined.
+% \changes{v1.20}{1998/04/10}{\cs{newif} again}
+% \changes{v1.10}{1997/11/01}{\cs{newboolean}}
+% \begin{macrocode}
+\newif\if@have@part
+\newif\if@have@chapter
+\newif\if@have@section
+\newif\if@have@subsection
+\newif\if@have@subsubsection
+\newif\if@have@paragraph
+\newif\if@have@subparagraph
+% \end{macrocode}
+%
+% \begin{macro}{\@countItoIX@ifs}
+% \cs{@countItoIX@ifs} is used to set all these \cs{if}s at
+% |\begin{document}|.
+% It is undefined after use to save some space.
+% \changes{v2.00}{2002/08/31}{moved code for \cs{AtBeginDocument} to
+% \cs{@countItoIX@init}}
+% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{\cs{setboolean}}
+% \changes{v1.02}{1996/12/29}{destruct after usage}
+% \begin{macrocode}
+\newcommand*{\@countItoIX@ifs}{
+ \@ifundefined{c@part} {}{\@have@parttrue}
+ \@ifundefined{c@chapter} {}{\@have@chaptertrue}
+ \@ifundefined{c@section} {}{\@have@sectiontrue}
+ \@ifundefined{c@subsection} {}{\@have@subsectiontrue}
+ \@ifundefined{c@subsubsection} {}{\@have@subsubsectiontrue}
+ \@ifundefined{c@paragraph} {}{\@have@paragraphtrue}
+ \@ifundefined{c@subparagraph} {}{\@have@subparagraphtrue}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@countItoIX@bugfix}
+% The current version of \LaTeX{} has the ``feature'' that only the
+% first level of counters associated with a counter via the optional
+% argument of \cs{newcounter} is reset when the counter is stepped;
+% so when you start a new chapter, the number for the subsection is
+% not reset.
+% This is normally no problem, but with this package, it is: If this
+% bug is not fixed or worked-around, then whenever you use
+% \cs{subparagraph} or some other lower sectioning command, and
+% after that a sectioning command that is at least two levels higher
+% (e.\,g. \cs{subsubsection}), the value of \texttt{subparagraph}
+% would not be reset and would still be displayed and shipped out.
+% So we have to associate \emph{all} lower-level sectioning commands
+% with the higher levels.
+% This is done via \cs{@addtoreset} at \cs{begin\{document\}}.
+% \cs{@countItoIX@bugfix} is undefined after use to save some space.
+% \changes{v2.00}{2002/08/31}{moved code for \cs{AtBeginDocument} to
+% \cs{@countItoIX@init}}
+% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{\cs{ifthenelse}}
+% \changes{v1.02}{1996/12/29}{destruct after usage}
+% \begin{macrocode}
+\newcommand*{\@countItoIX@bugfix}{
+ \if@have@part
+ \@addtoreset{section} {part}
+ \@addtoreset{subsection} {part}
+ \@addtoreset{subsubsection}{part}
+ \@addtoreset{paragraph} {part}
+ \@addtoreset{subparagraph} {part}
+ \fi
+ \if@have@chapter
+ \@addtoreset{subsection} {chapter}
+ \@addtoreset{subsubsection}{chapter}
+ \@addtoreset{paragraph} {chapter}
+ \@addtoreset{subparagraph} {chapter}
+ \fi
+ \if@have@section
+ \@addtoreset{subsubsection}{section}
+ \@addtoreset{paragraph} {section}
+ \@addtoreset{subparagraph} {section}
+ \fi
+ \if@have@subsection
+ \@addtoreset{paragraph} {subsection}
+ \@addtoreset{subparagraph} {subsection}
+ \fi
+ \if@have@subsubsection
+ \@addtoreset{subparagraph} {subsubsection}
+ \fi
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@countItoIX@init}
+% \changes{v2.00}{2002/08/31}{new}
+% \cs{@countItoIX@init} calls \cs{\@countItoIX@ifs} and
+% \cs{@countItoIX@bugfix} and then frees their memory.
+% This is done at \cs{begin\{document\}} via \cs{AtBeginDocument}.
+% \begin{macrocode}
+\newcommand*{\@countItoIX@init}{%
+ \message{ABD: Count1to9 initializing macros}%
+ \@countItoIX@ifs\let\@countItoIX@ifs\undefined
+ \@countItoIX@bugfix\let\@countItoIX@bugfix\undefined
+ }
+\AtBeginDocument{\@countItoIX@init}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@countItoIX@shipout}
+% \cs{@countItoIX@shipout} is used for setting \Count{1} to
+% \Count{9} at each \cs{shipout}.
+% \begin{macrocode}
+\newcommand*{\@countItoIX@shipout}{
+% \end{macrocode}
+% \Count{1} is the absolute page number, which we have to maintain
+% by ourselves.
+% \begin{macrocode}
+ \global\advance \count1 by 1
+% \end{macrocode}
+% \Count{2} to \Count{8} are set with the values of
+% \cs{part} to \cs{subparagraph}, if these commands are defined.^^A
+% \footnote{We should probably also check the value of
+% \texttt{secnumdepth}, but I don't think this is necessary.}
+% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{\cs{ifthenelse}}
+% \begin{macrocode}
+ \if@have@part \count2\value{part} \fi
+ \if@have@chapter \count3\value{chapter} \fi
+ \if@have@section \count4\value{section} \fi
+ \if@have@subsection \count5\value{subsection} \fi
+ \if@have@subsubsection \count6\value{subsubsection} \fi
+ \if@have@paragraph \count7\value{paragraph} \fi
+ \if@have@subparagraph \count8\value{subparagraph} \fi
+% \end{macrocode}
+% \Count{9} is set to~1 on odd pages and to~0 on even pages.
+% \begin{macrocode}
+ \ifodd\count1\count9=1 \else\count9=0 \fi
+ }
+\EveryShipout{\@countItoIX@shipout}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% ^^A -----------------------------
+%
+% \Finale
+%
+% \PrintIndex\PrintChanges
+% ^^A Make sure that the index is not printed twice
+% ^^A (ltxdoc.cfg might have a second \PrintIndex command)
+% \let\PrintChanges\relax
+% \let\PrintIndex\relax
diff --git a/macros/latex/contrib/ms/count1to.ins b/macros/latex/contrib/ms/count1to.ins
new file mode 100644
index 0000000000..1bd534ef1d
--- /dev/null
+++ b/macros/latex/contrib/ms/count1to.ins
@@ -0,0 +1,112 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{count1to.ins}
+ [2009/05/24 v2.1 Installation script for Count1to9 Package (MS)]
+%%
+%% Copyright (c) 1994..2009 by Martin Schr\"oder. All rights reserved.
+%%
+%% 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'.
+%%
+%% The Current Maintainer of this work is Martin Schr\"oder.
+%%
+%% This work consists of the files count1to.dtx and count1to.ins
+%% and the derived file count1to.sty.
+%%
+%% This file will be used by the docstrip.tex program to generate
+%% fast loadable files from the doc files.
+%%
+%% $Id: count1to.ins 1368 2009-05-24 16:02:57Z oneiros $
+%%
+%% --------------- start of docstrip commands ------------------
+\input docstrip.tex
+{\ifx\endbatchfile\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.4d or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* The count1to distribution contains these files:}
+\Msg{*}
+\Msg{* \space\space count1to.dtx}
+\Msg{* \space\space count1to.ins}
+\Msg{* \space\space count1to.bug}
+\Msg{*}
+\Msg{* If you receive only some of these files from someone, complain!}
+\Msg{*}
+\Msg{***********************************************************}
+
+\preamble
+
+Copyright (c) 1994..2009 by Martin Schroeder. All rights reserved.
+
+This file is part of the Count1to package
+
+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'.
+
+The Current Maintainer of this work is Martin Schroeder.
+
+This work consists of the files count1to.dtx and count1to.ins
+and the derived file count1to.sty.
+
+\endpreamble
+\declarepreamble\driverpreamble
+
+This file is part of the Count1to package
+-----------------------------------------
+
+Copyright (c) 1994..2009 by Martin Schroeder. All rights reserved.
+
+To produce the documentation in the way you like you are allowed
+to change this driver file.
+
+\endpreamble
+
+\keepsilent
+\askforoverwritefalse
+\generate{%
+ \file{count1to.sty}{\from{count1to.dtx}{package}}
+ \usepreamble\driverpreamble
+ \file{count1to.drv}{\from{count1to.dtx}{driver}}
+ }
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* style files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space count1to.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file count1to.drv}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+\endbatchfile
+%%
+%% End of file `count1to.ins'.
diff --git a/macros/latex/contrib/ms/count1to.pdf b/macros/latex/contrib/ms/count1to.pdf
new file mode 100644
index 0000000000..9e339af9c9
--- /dev/null
+++ b/macros/latex/contrib/ms/count1to.pdf
Binary files differ
diff --git a/macros/latex/contrib/ms/everysel.dtx b/macros/latex/contrib/ms/everysel.dtx
new file mode 100644
index 0000000000..7e415dfa40
--- /dev/null
+++ b/macros/latex/contrib/ms/everysel.dtx
@@ -0,0 +1,418 @@
+% \iffalse
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+%<package>\ProvidesPackage{everysel}
+%<package> [2011/10/28 v1.2 EverySelectfont Package (MS)]
+%
+%<*driver>
+\ProvidesFile{everysel.drv}
+ [2009/05/30 v1.1 Driver for EverySelectfont Package (MS)]
+\documentclass[a4paper]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage{url}
+\usepackage[toc]{multitoc}
+\usepackage{lmodern,microtype,svn}
+\usepackage{hypdoc}
+\usepackage{geometry}
+\usepackage{everysel}
+\GetFileInfo{everysel.sty}
+\RecordChanges % Gather update information
+\EnableCrossrefs
+%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
+\CodelineIndex % Index code by line number
+%\OnlyDescription % comment out for implementation details
+%%\OldMakeIndex % use if your MakeIndex is pre-v2.9
+\setcounter{IndexColumns}{2}
+% onecolumn glossary
+\makeatletter
+ \renewenvironment{theglossary}{%
+ \glossary@prologue
+ \setlength\emergencystretch{5em}
+ \GlossaryParms \let\item\@idxitem \ignorespaces}{}
+\makeatother
+\setlength{\IndexMin}{40ex}
+\setlength{\columnseprule}{.4pt}
+\addtolength{\oddsidemargin}{2cm}
+\addtolength{\textwidth}{-2cm}
+\raggedright % otherwise we get over/underfull hboxes
+\begin{document}
+ \DocInput{everysel.dtx}
+ \PrintIndex\PrintChanges
+ % Make sure that the index is not printed twice
+ % (ltxdoc.cfg might have a second \PrintIndex command)
+ \let\PrintChanges\relax
+\end{document}
+%</driver>
+%
+% Copyright (C) [1996..2011] by Martin Schr\"oder.
+%
+% 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'.
+%
+% The Current Maintainer of this work is Martin Schröder
+%
+% This work consists of the files everysel.dtx and everysel.ins
+% and the derived files everysel.sty
+%
+% \fi
+%
+% \CheckSum{156}
+%
+%% \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 \~}
+%
+% \SVN $Rev: 1712 $
+% \SVNdate $Date: 2011-10-28 23:10:13 +0200 (Fr, 28. Okt 2011) $
+%
+% \changes{v1.00}{1996-05-24}{New}
+% \changes{v1.02}{1998-04-11}{Minor documentation enhancements}
+% \changes{v1.02}{1998-08-09}{Minor documentation enhancements}
+% \changes{v1.03}{1999/06/08}{Moved to LPPL}
+% \changes{v1.1}{2009/05/30}{New address, LPPL 1.3}
+%
+%
+% ^^A -----------------------------
+%
+% \pagestyle{headings}
+%
+% \newcommand*{\file}[1]{\texttt{#1}}
+% \newcommand*{\package}[1]{\textsf{#1}}
+% \hyphenation{every-select-font}
+%
+%
+% ^^A -----------------------------
+%
+% \changes{v1.01}{1997-03-09}{Fixed use of \cs{newline} in title.}
+% \title{\unskip
+% The \package{EverySel} package^^A
+% \thanks{^^A
+% The version number of this file is \fileversion, subversion
+% revision~\#\SVNRev, last revised \protect\SVNDate.\protect\newline
+% The name \textsf{EverySel} is a tribute to the $8+3$ file-naming
+% convention of certain ``operating systems'' and their ``file systems'';
+% strictly speaking it should be \textsf{EverySelectfont}.}^^A
+% }
+% \author{Martin Schr\"oder\\[0.5ex]
+% \normalsize Unterstra\ss{}e 31\\
+% \normalsize 47051 Duisburg\\
+% \normalsize Germany\\
+% \normalsize \href{mailto:martin@oneiros.de}{\texttt{martin@oneiros.de}}}
+% \maketitle
+%
+%
+% ^^A -----------------------------
+%
+%
+% \begin{abstract}
+% This packages provides hooks into the NFSS-command
+% \cs{selectfont} called \cs{EverySelectfont} and
+% \cs{AtNextSelectfont} analogous to \cs{AtBeginDocument}.
+% \end{abstract}
+%
+% \pagestyle{headings}
+%
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+% ^^A
+% This package provides the hooks \cs{EverySelectfont} and
+% \cs{AtNextSelectfont} whose arguments are executed just after
+% \LaTeX{} has loaded a new font using \cs{selectfont} (which means
+% that it will be executed after \emph{every} font loaded via NFSS).
+%
+% An example application would be a package for setting ragged text
+% which needs to distiguinsh between monospaced and proportional
+% fonts.
+% Such a package exists: \package{ragged2e}\cite{package:ragged2e}.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Usage}
+% ^^A
+% \DescribeMacro{\EverySelectfont}
+% \cs{EverySelectfont}\marg{code} declares
+% \mbox{$\langle$\emph{code}$\rangle$} that is saved internally
+% and executed just after \emph{each} \cs{selectfont}.
+%
+% \emph{Warning:} The \mbox{$\langle$\emph{code}$\rangle$} is saved
+% globally; there is currently no way to remove it.
+%
+% \DescribeMacro{\AtNextSelectfont}
+% \cs{AtNextSelectfont}\marg{code} declares
+% \mbox{$\langle$\emph{code}$\rangle$} that is saved internally
+% and executed just after \emph{and only the next} \cs{selectfont}.
+%
+% Repeated use of the commands is permitted: the code in their
+% argument is stored (and executed) in the order of their
+% declarations.
+%
+% The argument of \cs{AtNextSelectfont} is executed \emph{after}
+% the argument of \cs{EverySelectfont}.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Options}
+% ^^A
+% The package has no options.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Required packages}
+% ^^A
+% The package requires no further packages.
+%
+%
+% ^^A -----------------------------
+%
+% \StopEventually{^^A
+%
+%
+% ^^A -----------------------------
+%
+% \section{Acknowledgements}
+% ^^A
+% David Carlisle provided the solution for my problems with \cs{CheckCommand}.
+%
+%
+% ^^A -----------------------------
+%
+% \begin{thebibliography}{1}
+% \raggedright
+% \bibitem{package:tracefnt}
+% Frank Mittelbach and Rainer Sch\"opf.
+% \newblock The \package{tracefnt} package for use with the new
+% font selection scheme.
+% \newblock \url{CTAN: tex-archive/macros/latex/base/ltfsstrc.dtx}.
+% \newblock \LaTeXe{} package.
+% \bibitem{package:ragged2e}
+% Martin Schr\"oder.
+% \newblock The \package{ragged2e} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/ragged2e.dtx}.
+% \newblock \LaTeXe{} package.
+% \end{thebibliography}
+%
+% }
+%
+%
+% ^^A -----------------------------
+%
+% \section{The implementation}
+% ^^A
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Allocations}
+% ^^A
+% First we allocate the hooks
+% \begin{macro}{\@EverySelectfont@EveryHook}
+% The code to be executed just after the normal \cs{selectfont}.
+% \begin{macrocode}
+\newcommand{\@EverySelectfont@EveryHook}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@EverySelectfont@AtNextHook}
+% The code to be executed just after the normal \cs{selectfont}
+% and \cs{@EverySelectfont@EveryHook}.
+% \begin{macrocode}
+\newcommand{\@EverySelectfont@AtNextHook}{}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{The user-visible commands}
+% ^^A
+% \begin{macro}{\EverySelectfont}
+% \begin{macro}{\AtNextSelectfont}
+% These commands are modeled after \cs{AtBeginDocument}.
+% \begin{macrocode}
+\newcommand*{\EverySelectfont}[1]
+ {\g@addto@macro\@EverySelectfont@EveryHook{#1}}
+\newcommand*{\AtNextSelectfont}[1]
+ {\g@addto@macro\@EverySelectfont@AtNextHook{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Inserting the hooks}
+% ^^A
+% The hooks are placed \emph{inside} \cs{selectfont}.
+% Unfortunately for us there are \emph{two} versions of
+% \cs{selectfont} in normal \LaTeX: One is defined in the kernel and
+% the other by the package \package{tracefnt}\cite{package:tracefnt}.
+% The \package{CJK} also redefines \cs{selectfont}.
+%
+% So we have to check for three versions.
+% \begin{macro}{\@EverySelectfont@Init}
+% We do this in the macro \cs{@EverySelectfont@Init}, which is
+% executed just after \cs{begin\{document\}} (with the aid of
+% \cs{AtBeginDocument}), when we know for sure which version of
+% \cs{selectfont} we have to overload.
+% \begin{macrocode}
+\newcommand*{\@EverySelectfont@Init}{%
+ \message{ABD: EverySelectfont initializing macros}%
+% \end{macrocode}
+% We have to distinguish three cases: \package{tracefnt},
+% \package{CJK} and everything else.
+% \begin{macrocode}
+ \@ifpackageloaded{tracefnt}{%
+% \end{macrocode}
+% And we have a problem: \cs{selectfont} is defined using
+% \cs{DeclareRobustCommand}, which really defines
+% \cs{selectfont\textvisiblespace}.
+% So instead of simply using \cs{CheckCommand} we also have to use
+% \cs{expandafter} and \cs{csname}\ldots\cs{endcsname}.
+% \begin{macrocode}
+ \expandafter\CheckCommand\csname selectfont \endcsname{%
+ \ifx\f@linespread\baselinestretch \else
+ \set@fontsize\baselinestretch\f@size\f@baselineskip \fi
+ \xdef\font@name{%
+ \csname\curr@fontshape/\f@size\endcsname}%
+ \pickup@font
+ \font@name
+ \ifnum \tracingfonts>\tw@
+ \@font@info{Switching to \font@name}\fi
+ \size@update
+ \enc@update
+ }%
+ }{%
+% \end{macrocode}
+% The case with \package{CJK}
+% \changes{v1.2}{2011-10-27}{Check for \package{CJK}.}
+% \begin{macrocode}
+ \@ifpackageloaded{CJK}{%
+ \expandafter\CheckCommand\csname selectfont \endcsname{%
+ \ifx\f@linespread\baselinestretch \else
+ \set@fontsize\baselinestretch\f@size\f@baselineskip \fi
+ \xdef\font@name{%
+ \csname\curr@fontshape/\f@size\endcsname}%
+ \pickup@font
+ \font@name
+ \expandafter\ifx\csname CJK@\curr@fontshape\endcsname \relax
+ \else
+ \CJK@bold@false
+ \csname CJK@\curr@fontshape\endcsname
+ \fi
+ \size@update
+ \enc@update}%
+ }{%
+% \end{macrocode}
+% Now the default (no \package{tracefnt} and no \package{CJK}).
+% \begin{macrocode}
+ \expandafter\CheckCommand\csname selectfont \endcsname{%
+ \ifx\f@linespread\baselinestretch \else
+ \set@fontsize\baselinestretch\f@size\f@baselineskip \fi
+ \xdef\font@name{%
+ \csname\curr@fontshape/\f@size\endcsname}%
+ \pickup@font
+ \font@name
+ \size@update
+ \enc@update
+ }%
+ }%
+ }%
+% \end{macrocode}
+% After the checks we can be sure we have the correct version of
+% \cs{selectfont}, so we redefine it with our hooks.
+% \begin{macrocode}
+ \DeclareRobustCommand{\selectfont}%
+ {%
+ \ifx\f@linespread\baselinestretch \else
+ \set@fontsize\baselinestretch\f@size\f@baselineskip \fi
+ \xdef\font@name{%
+ \csname\curr@fontshape/\f@size\endcsname}%
+ \pickup@font
+ \font@name
+ \@EverySelectfont@EveryHook
+ \@EverySelectfont@AtNextHook
+% \end{macrocode}
+% We have to reset \cs{@EverySelectfont@AtNextHook} after each use.
+% \begin{macrocode}
+ \gdef\@EverySelectfont@AtNextHook{}%
+ \size@update
+ \enc@update
+ }%
+% \end{macrocode}
+% The additions of \package{tracefnt} to \cs{selectfont} can be
+% implemented using \cs{EverySelectfont}.
+% \begin{macrocode}
+ \@ifpackageloaded{tracefnt}{%
+ \EverySelectfont{%
+ \ifnum \tracingfonts>\tw@
+ \@font@info{Switching to \font@name}\fi}%
+ }{}%
+% \end{macrocode}
+% The additions of \package{CJK} to \cs{selectfont} can be
+% implemented using \cs{EverySelectfont}.
+% \changes{v1.2}{2011-10-27}{Check for \package{CJK}.}
+% \begin{macrocode}
+ \@ifpackageloaded{CJK}{%
+ \EverySelectfont{%
+ \expandafter\ifx\csname CJK@\curr@fontshape\endcsname \relax
+ \else
+ \CJK@bold@false
+ \csname CJK@\curr@fontshape\endcsname
+ \fi}%
+ }{}%
+% \end{macrocode}
+% Since \cs{@EverySelectfont@Init} should only be used once it is
+% self-destructing.
+% \begin{macrocode}
+ \let\@EverySelectfont@Init\undefined
+ }
+% \end{macrocode}
+% Finally we insert \cs{EverySelectfont@Init} into \cs{begin\{document\}}.
+% \begin{macrocode}
+\AtBeginDocument{\@EverySelectfont@Init}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \Finale
+% ^^A vim:tw=70:ts=2
diff --git a/macros/latex/contrib/ms/everysel.ins b/macros/latex/contrib/ms/everysel.ins
new file mode 100644
index 0000000000..dab9e781a2
--- /dev/null
+++ b/macros/latex/contrib/ms/everysel.ins
@@ -0,0 +1,108 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{everysel.ins}
+ [2009/05/30 v1.1 Installation script for EverySelectfont Package (MS)]
+%%
+%% Copyright (C) 1996..2009 by Martin Schroeder.
+%%
+%% 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'.
+%%
+%% The Current Maintainer of this work is Martin Schr\"oder.
+%%
+%% This work consists of the files everysel.dtx and everysel.ins
+%% and the derived file everysel.sty.
+%%
+%% $Id: everysel.ins 1373 2009-05-30 20:22:19Z oneiros $
+%% --------------- start of docstrip commands ------------------
+\input docstrip.tex
+{\ifx\endbatchfile\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.4d or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* The everysel distribution contains these files:}
+\Msg{*}
+\Msg{* \space\space everysel.dtx}
+\Msg{* \space\space everysel.ins}
+\Msg{*}
+\Msg{* If you receive only some of these files from someone, complain!}
+\Msg{*}
+\Msg{***********************************************************}
+
+\preamble
+
+Copyright (C) 1996..2009 by Martin Schroeder.
+
+This file is part of the EverySel package
+-----------------------------------------
+
+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'.
+
+The Current Maintainer of this work is Martin Schroeder.
+
+This work consists of the files everysel.dtx and everysel.ins
+and the derived file everysel.sty.
+
+\endpreamble
+\declarepreamble\driverpreamble
+Copyright (C) 1996..2009 Martin Schroeoder.
+
+This file is part of the EverySel package
+-----------------------------------------
+
+To produce the documentation in the way you like you are allowed
+to change this driver file.
+
+\endpreamble
+
+% Don't display progress
+\keepsilent
+\askforoverwritefalse
+\generate{\file{everysel.sty}{\from{everysel.dtx}{package}}
+ \usepreamble\driverpreamble
+ \file{everysel.drv}{\from{everysel.dtx}{driver}}
+ }
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* style files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space everysel.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file everysel.drv}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+\endbatchfile
+%%
+%% End of file `everysel.ins'.
+%% vim:tw=70:ts=2:syntax=tex
diff --git a/macros/latex/contrib/ms/everysel.pdf b/macros/latex/contrib/ms/everysel.pdf
new file mode 100644
index 0000000000..e4322787fc
--- /dev/null
+++ b/macros/latex/contrib/ms/everysel.pdf
Binary files differ
diff --git a/macros/latex/contrib/ms/everyshi.asc b/macros/latex/contrib/ms/everyshi.asc
new file mode 100644
index 0000000000..bb1eed36d3
--- /dev/null
+++ b/macros/latex/contrib/ms/everyshi.asc
@@ -0,0 +1,12 @@
+-----BEGIN PGP MESSAGE-----
+Version: 2.6.3ia
+Comment: PGP sig of everyshi.dvi
+
+iQEVAwUAOwFX9+HJal4pKBTlAQFgzQgAm46axsBGuE+YzpINenw8Ns+BIsadiiPx
+X8IepfL9rDPX6m2CnDPYO8f1v2njKAQawxdWbi+KQkQ6ApdN7tUySzUDHK+Bu2yW
+I/0q3wnMWDC83f0Ebfrg9rVfmzhOw6D64Vp4tM3eufpu+KNvohQP0lCutFAFUaGt
+iHbsg+NRxJwSobRSyXyEt8uIgwp6wdHvxKXEpfwbNSJD3hv88rVbwq1cZeEggNPP
+CPjEJo09dOt6OgG+/znS9gvNkENATuIvFt+ZpBxthI5v0q/OLjaD7SllwHpza1vv
+RREXdlBQLNwQu6jBaAQozTJBNMUyo5E+TiV9WKI5XwfblSMO3pIIBw==
+=luvY
+-----END PGP MESSAGE-----
diff --git a/macros/latex/contrib/ms/everyshi.bug b/macros/latex/contrib/ms/everyshi.bug
new file mode 100644
index 0000000000..29f4f1078c
--- /dev/null
+++ b/macros/latex/contrib/ms/everyshi.bug
@@ -0,0 +1,11 @@
+This file is part of the everyshi package.
+------------------------------------------
+
+\ProvidesFile{everyshi.bug}[1999/06/08 v2.03 EveryShipout Package Bugs (MS)]
+
+This file contains problem-records and bug-reports. Unsolved problems
+and uncorrected but known bugs (so called features) start out with two
+exclamation marks before the number. Fixed problems will start with two
+asterisks.
+
+No bugs so far.
diff --git a/macros/latex/contrib/ms/everyshi.dtx b/macros/latex/contrib/ms/everyshi.dtx
new file mode 100644
index 0000000000..b630b34946
--- /dev/null
+++ b/macros/latex/contrib/ms/everyshi.dtx
@@ -0,0 +1,406 @@
+% \iffalse
+%% File: everyshi.dtx Copyright (C) 2001 Martin Schr\"oder
+%
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{everyshi}
+%<package> [2001/05/15 v3.00 EveryShipout Package (MS)]
+%
+%<*driver>
+\ProvidesFile{everyshi.drv}
+ [1999/06/08 v2.03 Driver for EveryShipout Package (MS)]
+\documentclass{ltxdoc}
+\usepackage{url}
+\usepackage[toc]{multitoc}
+\usepackage{everyshi}
+\GetFileInfo{everyshi.sty}
+\setcounter{IndexColumns}{2}
+\EnableCrossrefs
+%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
+\CodelineIndex % Index code by line number
+\OnlyDescription % comment out for implementation details
+%%\OldMakeIndex % use if your MakeIndex is pre-v2.9
+\setcounter{IndexColumns}{2}
+\setlength{\IndexMin}{30ex}
+\setlength{\columnseprule}{.4pt}
+\begin{document}
+ \DocInput{everyshi.dtx}
+\end{document}
+%</driver>
+%
+% Copyright (C) 2001 by Martin Schr\"oder. All rights reserved.
+%
+% This program may be redistributed and/or modified under the terms
+% of the LaTeX Project Public License, either version 1.0 of this
+% license, or (at your option) any later version.
+% The latest version of this license is in
+% CTAN:macros/latex/base/lppl.txt.
+%
+% Happy users are requested to send me a postcard. :-)
+%
+% For error reports in case of UNCHANGED versions see everyshi.ins
+%
+% \fi
+%
+% \CheckSum{51}
+%
+%% \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 \~}
+%%
+%% \iffalse meta-comment
+%% ===================================================================
+%% @LaTeX-package-file{
+%% author = {Martin Schr\"oder},
+%% version = "3.00",
+%% date = "15 May 2001",
+%% filename = "everyshi.sty",
+%% address = {Martin Schr\"oder
+%% Cr\"usemannallee 3
+%% 28213 Bremen
+%% Germany},
+%% telephone = "+49-421-2239425",
+%% email = "martin@oneiros.de",
+%% pgp-Key = "2048 bit / KeyID 292814E5",
+%% pgp-fingerprint = "7E86 6EC8 97FA 2995 82C3 FEA5 2719 090E",
+% checksum = "51832 357 1434 12417",
+% codetable = "ISO/ASCII",
+% keywords = "LaTeX2e, \shipout",
+% supported = "yes",
+%% docstring = "LaTeX package which provides hooks into
+%% \cs{shipout}.
+%
+% The checksum field above contains a CRC-16
+% checksum as the first value, followed by
+% the equivalent of the standard UNIX wc
+% (word count) utility output of lines,
+% words, and characters. This is produced
+% by Robert Solovay's checksum utility."
+%% }
+%% ===================================================================
+%% \fi
+%
+% \changes{v1.00}{1994/12/04}{New}
+% \changes{v1.02}{1994/12/07}{Name changed from \textsf{atshipou} to
+% \textsf{everyshi}}
+% \changes{v1.03}{1994/12/09}{Documentation improved}
+% \changes{v2.00}{1995/01/25}{Redesign}
+% \changes{v2.02}{1998/08/09}{Documentation improved}
+% \changes{v2.03}{1999/06/08}{Moved to LPPL}
+% \changes{v3.00}{2001/05/15}{\cs{AtNextShipout} added}
+%
+% \newcommand*{\package}[1]{\textnormal{\sffamily#1}}
+% \newcommand*{\NEWfeature}[1]{%
+% \hskip 1sp \marginpar{\small\sffamily\raggedright
+% New feature\\#1}}
+%
+% ^^A -----------------------------
+%
+% \changes{v2.01}{1997-03-09}{Fixed use of \cs{newline} in title.}
+% \title{\unskip
+% The \package{everyshi} package^^A
+% \thanks{^^A
+% The version umber of this file is \fileversion,
+% last revised \filedate.\protect\newline
+% The name \textsf{everyshi} is a tribute to the $8+3$
+% file-naming convention of certain ``operating
+% systems''; strictly speaking it should be
+% \textsf{everyshipout}.}^^A
+% }
+% \author{Martin Schr\"oder\\[0.5ex]
+% \normalsize Cr\"usemannallee 3\\
+% \normalsize 28213 Bremen\\
+% \normalsize Germany\\
+% \normalsize martin@oneiros.de\\
+% \scriptsize \texttt{PGP-Key: 2048 bit / KeyID 292814E5}\\[-0.5em]
+% \scriptsize \texttt{7E86 6EC8 97FA 2995~~82C3 FEA5 2719 090E}}
+% \date{\filedate}
+% \maketitle
+%
+% ^^A -----------------------------
+%
+%
+% \begin{abstract}
+% This packages provides hooks into \cs{sshipout}
+% called \cs{EveryShipout} and \cs{AtNextShipout} analogous to
+% \cs{AtBeginDocument}.
+% \end{abstract}
+%
+% \pagestyle{headings}
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+%
+% This package provides the hooks \cs{EveryShipout} and
+% \cs{AtNextShipout} whose arguments are executed after the output
+% routine has constructed \cs{box255}, and before \cs{shipout} is
+% called.
+%
+% An example application for this package would be a package for
+% adding text to the bottom of each page.
+% Such a package does exist: \package{prelim2e}\cite{package:prelim2e}.
+%
+% \changes{v3.00}{2001/05/15}{Reference to \package{eso-pic} added}
+% Another application is a package for adding pictures to every page:
+% \package{eso-pic}\cite{package:eso-pic}.
+%
+% ^^A -----------------------------
+%
+% \section{Usage}
+%
+% \cs{EveryShipout}\marg{code} declares
+% \mbox{$\langle$\emph{code}$\rangle$} that is saved internally
+% and executed before each \cs{shipout}.
+%
+% \emph{Warning:} The \mbox{$\langle$\emph{code}$\rangle$} is saved
+% globally; there is currently no way to remove it.
+%
+% \DescribeMacro{\AtNextShipout}
+% \NEWfeature{2001/05/15}
+% \cs{AtNextShipout}\marg{code} declares
+% \mbox{$\langle$\emph{code}$\rangle$} that is saved internally
+% and executed just before \emph{only the next} \cs{shipout}.
+%
+% The \meta{code} is executed after \cs{box255} has been constructed
+% by the output routine and can change \cs{box255}.
+% \cs{shipout} is called \emph{after} \meta{code}.
+%
+% Repeated use of the commands is permitted: the code in the
+% argument is stored (and executed) in the order of their
+% declarations.
+%
+% The argument of \cs{AtNextShipout} is executed \emph{after}
+% the argument of \cs{EveryShipout}.
+%
+% ^^A -----------------------------
+%
+% \section{Options}
+%
+% The package has no options.
+%
+% ^^A -----------------------------
+%
+% \section{Required packages}
+%
+% The package does not require any further packages.
+%
+% ^^A -----------------------------
+%
+% \StopEventually{^^A
+
+% ^^A -----------------------------
+%
+% \section{Acknowledgements}
+% ^^A
+% Version 2.0 of \package{everyshi} borrows heavily from
+% \textsf{quire.tex} of the \textsf{Midnight Macros} by Marcel R.~van
+% der Goot (\texttt{marcel@cs.caltech.edu}).
+% The pointer to \textsf{quire} was provided by Lothar Meyer-Lerbs
+% (\texttt{\TeX{}Satz@zfn.uni-bremen.de}).
+% As usual Rebecca Stiels improved the quality of this documentation.
+%
+%
+% ^^A -----------------------------
+%
+% \begin{thebibliography}{1}
+% \raggedright
+% \bibitem{package:eso-pic}
+% Rolf Niepraschk.
+% \newblock The \package{eso-pic} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/contrib/eso-pic.dtx}.
+% \newblock \LaTeXe{} package.
+% \bibitem{package:prelim2e}
+% Martin Schr\"oder.
+% \newblock The \package{prelim2e} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/prelim2e.dtx}.
+% \newblock \LaTeXe{} package.
+% \end{thebibliography}
+%
+% }
+%
+% ^^A -----------------------------
+%
+% \section{The implementation}
+% \raggedright
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Allocations}
+% ^^A
+% First we allocate the hooks
+% \begin{macro}{\@EveryShipout@Hook}
+% \changes{v2.00}{1995/01/25}{Name changed from \cs{@shipouthook} to
+% \cs{@EveryShipout@Hook}}
+% \changes{v3.00}{2001/05/15}{\cs{newcommand}}
+% The code to be executed before \cs{shipout} is stored in
+% \cs{@EveryShipout@Hook}.
+% \begin{macrocode}
+\newcommand{\@EveryShipout@Hook}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@EveryShipout@AtNextHook}
+% \changes{v3.00}{2001/05/15}{new}
+% The code to be executed just before the normal \cs{shipout}
+% and \cs{@EveryShipout@EveryHook}.
+% \begin{macrocode}
+\newcommand{\@EveryShipout@AtNextHook}{}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{The user-visible commands}
+% ^^A
+% \begin{macro}{\EveryShipout}
+% \begin{macro}{\AtNextShipout}
+% \changes{v1.01}{1994/12/06}{\cs{newcommand} instead of \cs{def}}
+% \changes{v1.02}{1994/12/07}{Name changed from \cs{AtShipout} to
+% \cs{EveryShipOut}}
+% \changes{v3.00}{2001/05/15}{\cs{AtNextShipout} added}
+% The commands are modeled after \cs{AtBeginDocument}.
+% \begin{macrocode}
+\newcommand*{\EveryShipout}[1]
+ {\g@addto@macro\@EveryShipout@Hook{#1}}
+\newcommand*{\AtNextShipout}[1]
+ {\g@addto@macro\@EveryShipout@AtNextHook{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Inserting the hooks}
+% ^^A
+% We want to redefine \cs{shipout} so that first \cs{box255} is
+% constructed and after that we can do something and at last shipout
+% the (possible modified) \cs{box255}.
+% Alas, this does not work in the usual way, since \cs{shipout} is
+% a \TeX{} primitive whose argument is a \meta{box}.
+% This means that simply redefining \cs{shipout} via \cs{newcommand[1]}
+% is impossible since \meta{box} can be something like \cs{box255} or
+% something like \cs{vbox\{\ldots\}}.
+% In the first case \texttt{\#1} would be \meta{\cs{box}} (without
+% \meta{255}); in the second case it would be \meta{\cs{vbox}} (without
+% \meta{\{\ldots\}}).
+%
+% The solution we use here is borrowed from \textsf{quire.tex} by
+% Marcel R.~van der Goot.
+% It is based upon \cs{afterassignment} and \cs{aftergroup}.
+%
+% \begin{macro}{\@EveryShipout@Shipout}
+% \changes{v2.00}{1995/01/25}{new}
+% \cs{@EveryShipout@Shipout} is our replacement for \cs{shipout}.
+% \begin{macrocode}
+\newcommand{\@EveryShipout@Shipout}{%
+ \afterassignment\@EveryShipout@Test
+ \global\setbox\@cclv= %
+ }
+% \end{macrocode}
+% \cs{box255} is set to whatever comes after \cs{shipout}; but after
+% that assignment \cs{@EveryShipout@Test} is called.
+% \end{macro}
+%
+% \begin{macro}{\@EveryShipout@Test}
+% \changes{v2.00}{1995/01/25}{new}
+% \cs{@EveryShipout@Test} determines if \cs{shipout} is called with
+% an argument like \cs{box255} or something like \cs{vbox\{\ldots\}}.
+% In the later case we delay the call of \cs{@EveryShipout@Output}
+% (where the original \cs{shipout} is called) via \cs{aftergroup}.
+% \begin{macrocode}
+\newcommand{\@EveryShipout@Test}{%
+ \ifvoid\@cclv\relax
+ \aftergroup\@EveryShipout@Output
+ \else
+ \@EveryShipout@Output
+ \fi%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@EveryShipout@Output}
+% \changes{v2.00}{1995/01/25}{new}
+% \changes{v3.00}{2001/05/15}{added call to \cs{@EveryShipout@AtNextHook}}
+% \cs{@EveryShipout@Output} does the actual work.
+% First the \meta{code} accumulated via \cs{EveryShipout} and
+% \cs{AtNextShipout} is called and then the original \cs{shipout} stored
+% in \cs{@EveryShipout@Org@Shipout} is called to finally ship out
+% \cs{box255}.
+% \begin{macrocode}
+\newcommand{\@EveryShipout@Output}{%
+ \@EveryShipout@Hook%
+ \@EveryShipout@AtNextHook%
+% \end{macrocode}
+% We have to reset \cs{@EveryShipout@AtNextHook} after each use.
+% \begin{macrocode}
+ \gdef\@EveryShipout@AtNextHook{}%
+ \@EveryShipout@Org@Shipout\box\@cclv%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@EveryShipout@Org@Shipout}
+% \changes{v2.00}{1995/01/25}{new}
+% The original \cs{shipout} is stored in \cs{@EveryShipout@Org@Shipout}
+% by \cs{@EveryShipout@Init}.
+% Here we allocate it.
+% \begin{macrocode}
+\newcommand{\@EveryShipout@Org@Shipout}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@EveryShipout@Init}
+% \changes{v2.00}{1995/01/25}{new}
+% \changes{v3.00}{2001/05/15}{output message}
+% \cs{@EveryShipout@Init} stores the original \cs{shipout} in
+% \cs{@EveryShipout@Org@Shipout} and sets \cs{shipout} to
+% \cs{@EveryShipout@Shipout}.
+% This is done at \cs{begin\{document\}} via \cs{AtBeginDocument}.
+% \begin{macrocode}
+\newcommand*{\@EveryShipout@Init}{%
+ \message{ABD: EveryShipout initializing macros}%
+ \let\@EveryShipout@Org@Shipout\shipout
+ \let\shipout\@EveryShipout@Shipout
+ }
+\AtBeginDocument{\@EveryShipout@Init}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \Finale
+%
+% \PrintIndex\PrintChanges
+% ^^A Make sure that the index is not printed twice
+% ^^A (ltxdoc.cfg might have a second \PrintIndex command)
+% \let\PrintChanges\relax
+% \let\PrintIndex\relax
diff --git a/macros/latex/contrib/ms/everyshi.ins b/macros/latex/contrib/ms/everyshi.ins
new file mode 100644
index 0000000000..be7a239880
--- /dev/null
+++ b/macros/latex/contrib/ms/everyshi.ins
@@ -0,0 +1,113 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{everysel.ins}
+ [1998/06/08 v2.03 Installation script for EveryShipout Package (MS)]
+%%
+%% Copyright (C) [1994..1999] by Martin Schr"oder. All rights reserved.
+%%
+%% This program may be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License, either version 1.0 of this
+%% license, or (at your option) any later version.
+%% The latest version of this license is in
+%% CTAN:macros/latex/base/lppl.txt.
+%%
+%% Happy users are requested to send me a postcard. :-)
+%%
+%% checksum = "36957 126 454 3799"
+%%
+%% The checksum field above contains a CRC-16 checksum as the first
+%% value, followed by the equivalent of the standard UNIX wc (word
+%% count) utility output of lines, words, and characters.
+%% This is produced by Robert Solovay's checksum utility.
+%%
+%% --------------- start of docstrip commands ------------------
+\input docstrip.tex
+{\ifx\endbatchfile\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.4d or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* The everyshi distribution contains these files:}
+\Msg{*}
+\Msg{* \space\space everyshi.asc}
+\Msg{* \space\space everyshi.dtx}
+\Msg{* \space\space everyshi.dvi}
+\Msg{* \space\space everyshi.ins}
+\Msg{* \space\space everyshi.bug}
+\Msg{*}
+\Msg{* If you receive only some of these files from someone, complain!}
+\Msg{*}
+\Msg{***********************************************************}
+\preamble
+
+Copyright (C) [1994..1999] by Martin Schroeder. All rights reserved.
+
+This file is part of the EveryShi package
+
+This program may be redistributed and/or modified under the terms
+of the LaTeX Project Public License, either version 1.0 of this
+license, or (at your option) any later version.
+The latest version of this license is in
+ CTAN:macros/latex/base/lppl.txt.
+
+Happy users are requested to send me a postcard. :-)
+
+The EveryShi package contains these files:
+
+ everyshi.asc
+ everyshi.dtx
+ everyshi.dvi
+ everyshi.ins
+ everyshi.bug
+
+Error Reports in case of UNCHANGED versions to
+
+ Martin Schr"oder
+ Cr"usemannallee 3
+ D-28213 Bremen
+ Martin.Schroeder@ACM.org
+
+\endpreamble
+\declarepreamble\driverpreamble
+This file is part of the EveryShi package
+-----------------------------------------
+
+Copyright (C) [1994..1999] Martin Schroder. All rights reserved.
+
+To produce the documentation in the way you like you are allowed
+to change this driver file.
+\endpreamble
+
+\keepsilent
+\askforoverwritefalse
+\generate{\file{everyshi.sty}{\from{everyshi.dtx}{package}}
+ \usepreamble\driverpreamble
+ \file{everyshi.drv}{\from{everyshi.dtx}{driver}}
+ }
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* style files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space everyshi.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file everysel.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+\endbatchfile
+%%
+%% End of file `everyshi.ins'.
diff --git a/macros/latex/contrib/ms/everyshi.pdf b/macros/latex/contrib/ms/everyshi.pdf
new file mode 100644
index 0000000000..c2696042bd
--- /dev/null
+++ b/macros/latex/contrib/ms/everyshi.pdf
Binary files differ
diff --git a/macros/latex/contrib/ms/multitoc.asc b/macros/latex/contrib/ms/multitoc.asc
new file mode 100644
index 0000000000..3fcaa10673
--- /dev/null
+++ b/macros/latex/contrib/ms/multitoc.asc
@@ -0,0 +1,12 @@
+-----BEGIN PGP MESSAGE-----
+Version: 2.6.3ia
+Comment: PGP sig of multitoc.dvi
+
+iQEVAwUAN11/jOHJal4pKBTlAQEoKAf8CqoIr8kQR2fuygRaYeeOKwV0sn2hZ8nE
+0jRurHZvMG+oeqNWQmmhUWf5QbmhoeySV4k0oZptAJH7trA4VUOyQPekqW/lRlUs
+yoqxArqL9qhSK9+L6NDPKjZ9K3xejC8ivPkzoWSdHM7T4pOPwjmYNqrIo11I4DsQ
+eP/v4MlI83QPfDwWWQPq6AVPNa2yPoztsCKe5A6t4nkesgBPwBEorg/8LDwbGAzB
+psrpO/a/0V6FBKQ9MkeZ3pXSzZm6o91M4wZXf864pw67lj7BWnOsecbidJAuzd//
++4VD1/BYIuGV7Mt8K5r2DNx9IRWCEQWiIXXO31lD4MBP6Jz382PTIw==
+=8lva
+-----END PGP MESSAGE-----
diff --git a/macros/latex/contrib/ms/multitoc.bug b/macros/latex/contrib/ms/multitoc.bug
new file mode 100644
index 0000000000..400db9b6b5
--- /dev/null
+++ b/macros/latex/contrib/ms/multitoc.bug
@@ -0,0 +1,11 @@
+This file is part of the multitoc package.
+-----------------------------------------
+
+\ProvidesFile{multitoc.bug}[1999/06/08 v2.01 MultiToc Package Bugs (MS)]
+
+This file contains problem-records and bug-reports. Unsolved problems
+and uncorrected but known bugs (so called features) start out with two
+exclamation marks before the number. Fixed problems will start with two
+asterisks.
+
+No bugs so far. \ No newline at end of file
diff --git a/macros/latex/contrib/ms/multitoc.dtx b/macros/latex/contrib/ms/multitoc.dtx
new file mode 100644
index 0000000000..a88e69fbe6
--- /dev/null
+++ b/macros/latex/contrib/ms/multitoc.dtx
@@ -0,0 +1,537 @@
+% \iffalse
+\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{multitoc}
+%<package> [1999/06/08 v2.01 MultiToc Package (MS)]
+%
+%<*driver>
+\ProvidesFile{multitoc.drv}
+ [1999/06/08 v2.01 Driver for MultiToc Package (MS)]
+\documentclass{ltxdoc}
+\usepackage{url}
+\usepackage{ragged2e}
+\usepackage[toc]{multitoc}
+\GetFileInfo{multitoc.sty}
+\setcounter{IndexColumns}{2}
+\EnableCrossrefs
+%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
+\CodelineIndex % Index code by line number
+\OnlyDescription % comment out for implementation details
+%%\OldMakeIndex % use if your MakeIndex is pre-v2.9
+\setcounter{IndexColumns}{2}
+\setlength{\IndexMin}{30ex}
+\setlength{\premulticols}{\IndexMin}
+\RaggedRight
+\begin{document}
+ \DocInput{multitoc.dtx}
+\end{document}
+%</driver>
+%
+% Copyright (c) [1998..1999] by Martin Schr\"oder. All rights reserved.
+%
+% This program may be redistributed and/or modified under the terms
+% of the LaTeX Project Public License, either version 1.0 of this
+% license, or (at your option) any later version.
+% The latest version of this license is in
+% CTAN:macros/latex/base/lppl.txt.
+%
+% Happy users are requested to send me a postcard. :-)
+%
+% For error reports in case of UNCHANGED versions see multitoc.ins
+%
+% \fi
+%
+% \CheckSum{83}
+%
+%% \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 \~}
+%%
+%% \iffalse meta-comment
+%% ===================================================================
+%% @LaTeX-style-file{
+%% author = {Martin Schr\"oder},
+%% version = "2.01",
+%% date = "8 June 1999",
+%% filename = "multitoc.sty",
+%% address = {Martin Schr\"oder
+%% Cr\"usemannallee 3
+%% D-28213 Bremen
+%% telephone = "+49-421-2239425",
+%% email = "Martin.Schroeder@ACM.org",
+%% pgp-Key = "2048 bit / KeyID 292814E5",
+%% pgp-fingerprint = "7E86 6EC8 97FA 2995 82C3 FEA5 2719 090E",
+% checksum = "62732 556 2216 19056",
+% codetable = "ISO/ASCII",
+% keywords = "LaTeX, multicol, toc, lof, lot",
+% dependences = "multicol",
+% supported = "yes",
+%% docstring = "LaTeX package which automatically sets only
+%% the table of contents, list of figures and list
+%% of tables in two or more columns.
+%% The number of columns can be configured.
+%% Uses the multicol package.
+%
+% The checksum field above contains a CRC-16
+% checksum as the first value, followed by
+% the equivalent of the standard UNIX wc
+% (word count) utility output of lines,
+% words, and characters. This is produced
+% by Robert Solovay's checksum utility."
+%% }
+%% ===================================================================
+%% \fi
+%
+% \changes{v0.90}{1998/05/23}{New}
+% \changes{v1.00}{1998/08/09}{Documentation improved}
+% \changes{v2.00}{1998/08/23}{Redesign}
+% \changes{v2.01}{1999/06/08}{Moved to LPPL}
+%
+% \newcommand*{\option}[1]{\textnormal{\sffamily#1}}
+% \newcommand*{\package}[1]{\textnormal{\sffamily#1}}
+% \newcommand*{\file}[1]{\textnormal{\texttt{.#1}}}
+% \newcommand*{\env}[1]{\textnormal{\texttt{#1}}}
+%
+%
+% ^^A -----------------------------
+%
+% \title{\unskip
+% The \textsf{multitoc} package^^A
+% \thanks{^^A
+% The version number of this file is \fileversion,
+% last revised \filedate.\protect\newline
+% The name \textsf{multitoc} is a tribute to the $8+3$
+% file-naming convention of certain ``operating
+% systems''; strictly speaking it should be
+% \textsf{MulticolumnToc}.}
+% }
+% \author{Martin Schr\"oder\\[0.5ex]
+% \normalsize Cr\"usemannallee 3\\
+% \normalsize D-28213 Bremen\\
+% \normalsize Martin.Schroeder@ACM.org\\
+% \scriptsize \texttt{PGP-Key: 2048 bit / KeyID 292814E5}\\[-0.5em]
+% \scriptsize \texttt{7E86 6EC8 97FA 2995~~82C3 FEA5 2719 090E}}
+% \date{\filedate}
+% \maketitle
+%
+% ^^A -----------------------------
+%
+%
+% \begin{abstract}
+% This package allows setting only the table of contents, list of
+% figures and/or list of tables in two or more columns.
+% The number of columns can be configured via commands; the
+% multicolumn toc(s) can be selected via package options.
+% \end{abstract}
+%
+% \pagestyle{headings}
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{The problem\label{sec:sec:problem}}
+% ^^A
+% When you want to set only the table of contents of a document in two
+% (or more columns), there is one known way^^A
+% \footnote{^^A
+% This was first used in the \package{doc}
+% package\protect\cite{package:doc}.
+% }^^A
+% : Add an
+% \begin{quote}
+% |\addtocontents{toc}{\protect\begin{multicols}{2}}|
+% \end{quote}
+% before the \cs{tableofcontents} and an
+% \begin{quote}
+% |\addtocontents{toc}{\protect\end{multicols}}|
+% \end{quote}
+% at the end of the document.
+% This way your \file{toc} will start with |\begin{multicols}{2}|
+% and end with |\end{multicols}|.
+%
+% This can be automised by using \cs{AtBeginDocument} and
+% \cs{AtEndDocument} but this has the drawback that it may
+% collide with other commands inserted using \cs{AtEndDocument} that
+% try to write information to the auxilary file (like the
+% \package{count1to} package\cite{package:count1to}).
+% This is because \TeX{} has two ways to write information to files
+% \cite[p.\ 226--228]{KnuthTeXa}: immediately (when the \cs{write} is
+% prefixed by \cs{immediate}) or deferred till the current page is
+% finished and written out by \TeX{} (at the next \cs{shipout}).
+% \cs{addtocontents} does a deferred \cs{write}, \package{count1to}
+% does an immediate.
+%
+% \begin{quote}
+% \small
+% Sidenote: \cs{addtocontents} writes a command to the \file{aux} file
+% to write its information to the \file{toc} file.
+% The \file{aux} is read in and executed by |\end{document}| and at
+% the next run by |\begin{document}|.
+% So the \file{toc} is written by |\end{document}| and at the
+% next run by |\begin{document}|.
+% \end{quote}
+%
+% When you use the automised solution with \package{count1to} this may
+% happen:
+% \begin{enumerate}
+% \item The |\addtocontents{toc}{\protect\end{multicols}}| is inserted
+% using \cs{AtEndDocument} somewhere in the preamble.
+% \item \package{count1to} inserts this code
+% \begin{quote}
+% \hfuzz135pt
+% \small
+% |\clearpage|\\
+% |\immediate\write\@auxout{\string\newlabel{TotalPages}{{\the\count1}{\the\count1}}}|
+% \end{quote}
+% via an |\AtBeginDocument{\AtEndDocument{| so it can be sure that
+% this code is the \emph{last} code executed by \cs{AtEndDocument}.
+% \item At the |\end{document}| first the code from step~1 is executed
+% which adds the information to the current page to write the
+% |\@writefile{toc}{\end{multicols}}| to the auxilary file
+% \emph{when the current page is finished}.
+%
+% Then the code from step~2 is executed, which lets \LaTeX{} clear
+% the page (to force all pending writes to be written) and
+% \emph{immediately} after that write the information for the
+% |TotalPages| to the auxilary file.
+%
+% Now suppose that the |\end{document}| is called \emph{just after}
+% \LaTeX{} has finished the last page.
+% The code from step~1 is never written to the file (since at the
+% \cs{clearpage} \LaTeX{} has no page to finish and so the code
+% waits for the \cs{shipout} which won't come), but the code from
+% step~2 is.
+% So you now have an \file{aux} which won't write the
+% |\end{multicols}| to the \file{toc}.
+% This of course produces an error at the next run.
+% \end{enumerate}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{A solution}
+% ^^A
+% \DescribeMacro{\@starttoc}
+% An easy way around this is to simply redefine \cs{@starttoc} from
+% \cite{package:ltsect} which reads in the \file{toc} to wrap a
+% \env{multicol} around it.\footnote{^^A
+% Thanks to Frank Mittelbach for reminding me of this.}^^A
+% $^{,}$^^A
+% \footnote{^^A
+% \raggedright
+% Version~1.00 of this package provided a more elaborate solution
+% to this using \cs{immediateaddtocontents}; this is no longer needed.
+% But the commands from version~1.00 are still provided (see
+% section~\ref{sec:sec:version100}).}
+%
+%
+% ^^A -----------------------------
+%
+% \section{Parameters}
+% ^^A
+% \DescribeMacro{\multicolumntoc}
+% \DescribeMacro{\multicolumnlot}
+% \DescribeMacro{\multicolumnlof}
+% The number of columns for the table of contens, list of figures and
+% list of tables can be set by redefining the commands
+% \cs{multicolumntoc}, \cs{multicolumnlot} and \cs{multicolumnlof}.
+% The default is two columns.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Options}
+% ^^A
+% The package has the following options:
+% \nopagebreak
+% \begin{description}
+% \item[\normalfont\option{toc}]
+% The table of contents is set in \cs{multicolumntoc} columns.
+% \item[\normalfont\option{lof}]
+% The list of figures is set in \cs{multicolumnlof} columns.
+% \item[\normalfont\option{lot}]
+% The list of tables is set in \cs{multicolumnlot} columns.
+% \end{description}
+%
+%
+% ^^A -----------------------------
+%
+% \section{Required packages}
+% ^^A
+% The package requires the \package{multicol} and the
+% \package{ifthen} packages.
+%
+%
+% ^^A -----------------------------
+%
+% \StopEventually{^^A
+%
+%
+% ^^A -----------------------------
+%
+% \begin{thebibliography}{1}
+% \raggedright
+% \bibitem{package:ltfiles}
+% Johannes Braams, David Carlisle, Alan Jeffrey, Leslie Lamport,
+% Frank Mittelbach, Chris Rowley and Rainer Sch\"opf.
+% \newblock \package{ltfiles.dtx}.
+% \newblock \texttt{CTAN: tex-archive/macros/latex/base/ltfiles.dtx}.
+% \newblock \LaTeXe{} kernel.
+% \bibitem{package:ltsect}
+% Johannes Braams, David Carlisle, Alan Jeffrey, Leslie Lamport,
+% Frank Mittelbach, Chris Rowley, Tobias Oetiker and Rainer Sch\"opf.
+% \newblock \package{ltsect.dtx}.
+% \newblock \url{CTAN: tex-archive/macros/latex/base/ltsect.dtx}.
+% \newblock \LaTeXe{} kernel.
+% \bibitem{KnuthTeXa}
+% Donald~E.\ Knuth.
+% \newblock \emph{The {\TeX}Book}, volume~A of \emph{Computers
+% and Typesetting}.
+% \newblock Addison-Wes\-ley, 1986.
+% \newblock Eleventh printing, revised, May 1991.
+% \bibitem{package:doc}
+% Frank Mittelbach.
+% \newblock The \package{doc} and \package{shortvrb} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/base/doc.dtx}.
+% \newblock \LaTeXe{} package.
+% \bibitem{package:count1to}
+% Martin Schr\"oder.
+% \newblock The \package{count1to} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/count1to.dtx}.
+% \newblock \LaTeXe{} package.
+% \end{thebibliography}
+%
+% }
+%
+%
+% ^^A -----------------------------
+%
+% \section{The Implementation}
+% ^^A
+% \setlength{\parindent}{0pt}
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% We need the \package{multicol} and the \package{ifthen} packages.
+% \begin{macrocode}
+\RequirePackage{multicol}
+\RequirePackage{ifthen}
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{The parameters}
+% ^^A
+% \begin{macro}{\multicolumntoc}
+% \begin{macro}{\multicolumnlot}
+% \begin{macro}{\multicolumnlof}
+% \mbox{}
+% \begin{macrocode}
+\newcommand{\multicolumntoc}{2}
+\newcommand{\multicolumnlot}{2}
+\newcommand{\multicolumnlof}{2}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Initial Code}
+% ^^A
+% \begin{macro}{@multitoc@toc}
+% \changes{v2.00}{1998/08/23}{new}
+% \cs{if@multitoc@toc} is used to flag the use of the \option{toc}
+% otion.
+% \begin{macrocode}
+\newboolean{@multitoc@toc}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{@multitoc@lot}
+% \changes{v2.00}{1998/08/23}{new}
+% \cs{if@multitoc@lot} is used to flag the use of the \option{lot}
+% otion.
+% \begin{macrocode}
+\newboolean{@multitoc@lot}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{@multitoc@lof}
+% \changes{v2.00}{1998/08/23}{new}
+% \cs{if@multitoc@lof} is used to flag the use of the \option{lof}
+% otion.
+% \begin{macrocode}
+\newboolean{@multitoc@lof}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{The options}
+% ^^A
+% The options simply set the corresponding flags.
+% \changes{v2.00}{1998/08/23}{Redesign}
+% \changes{v1.00}{1998/08/09}{\cs{clearpage}}
+% \begin{macrocode}
+\DeclareOption{toc}{\setboolean{@multitoc@toc}{true}}
+\DeclareOption{lot}{\setboolean{@multitoc@lot}{true}}
+\DeclareOption{lof}{\setboolean{@multitoc@lof}{true}}
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Executing options}
+% ^^A
+% There are no default options.
+% \begin{macrocode}
+\ProcessOptions\relax
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Redefining \cs{@starttoc}}
+% ^^A
+% \begin{macro}{\@starttoc}
+% From \cite{package:ltsect}:
+% \begin{quote}
+% The |\@starttoc|\marg{ext} command is used to define the commands:\\
+% |\tableofcontents|, |\listoffigures|, etc.
+%
+% For example:
+% |\@starttoc{lof}| is used in |\listoffigures|. This command
+% reads the |.|\meta{ext} file and sets up to write the new
+% |.|\meta{ext} file.
+%
+% \begin{oldcomments}
+% \@starttoc{EXT} ==
+% BEGIN
+% \begingroup
+% \makeatletter
+% read file \jobname.EXT
+% IF @filesw = true
+% THEN open \jobname.EXT as file \tf@EXT
+% FI
+% @nobreak :=G FALSE %% added 24 May 89
+% \endgroup
+% END
+% \end{oldcomments}
+% \end{quote}
+% We store the current definition in \cs{@multitoc@starttoc}
+% and wrap it in a \env{multicol} environment if the right
+% option has been selected.
+% We also have to determine the number of columns to use.\footnote{^^A
+% This could probably be coded more effeciently, but this code
+% works\ldots}
+% \begin{macrocode}
+\let\@multitoc@starttoc\@starttoc
+\renewcommand*{\@starttoc}[1]{%
+ \ifthenelse{\boolean{@multitoc@toc}\and\equal{#1}{toc}}{%
+ \begin{multicols}{\multicolumntoc}%
+ \@multitoc@starttoc{#1}%
+ \end{multicols}%
+ }{}%
+ \ifthenelse{\boolean{@multitoc@lot}\and\equal{#1}{lot}}{%
+ \begin{multicols}{\multicolumnlot}%
+ \@multitoc@starttoc{#1}%
+ \end{multicols}%
+ }{}%
+ \ifthenelse{\boolean{@multitoc@lof}\and\equal{#1}{lof}}{%
+ \begin{multicols}{\multicolumnlof}%
+ \@multitoc@starttoc{#1}%
+ \end{multicols}%
+ }{}%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Code from Version~1.00\label{sec:sec:version100}}
+% ^^A
+% The first version of this package took a different approach to
+% solving the problem mentioned in section~\ref{sec:sec:problem} and
+% provided the commands \cs{protected@write@immediate} and
+% \cs{immediateaddtocontents}.
+% Their code has been retained here for compatibilty reasons.
+%
+% \DescribeMacro{\immediateaddtocontents}
+% \cs{immediateaddtocontents} is a version of \cs{addtocontents} which
+% does just what the name implies: Write the information \cs{immediate}.
+%
+% \begin{macro}{\protected@write@immediate}
+% This is a changed version of \cs{protected@write}
+% from~\cite{package:ltfiles}.
+% It takes three arguments: an output stream, some initialization
+% code, and some text to write.
+% It then writes this \emph{immediately}, with
+% appropriate handling of |\protect| and |\thepage|.
+% \changes{v2.00}{1998/09/06}{retained}
+% \begin{macrocode}
+\newcommand*{\protected@write@immediate}[3]{%
+ \begingroup
+ \let\thepage\relax
+ #2%
+ \let\protect\string
+ \edef\reserved@a{\immediate\write#1{#3}}%
+ \reserved@a
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\immediateaddtocontents}
+% This is a changed version of \cs{addtocontents}
+% from~\cite{package:ltsect}.
+% The |\immediateaddtocontents{|\meta{table}|}{|\meta{text}|}| command
+% \emph{immediately} adds \meta{text} to the |.|\meta{table} file,
+% with no page number.
+% \changes{v2.00}{1998/09/06}{retained}
+% \begin{macrocode}
+\newcommand*{\immediateaddtocontents}[2]{%
+ \protected@write@immediate\@auxout
+ {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
+ {\string\@writefile{#1}{#2}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% ^^A -----------------------------
+%
+% \Finale
+%
+% \PrintIndex\PrintChanges
+% ^^A Make sure that the index is not printed twice
+% ^^A (ltxdoc.cfg might have a second \PrintIndex command)
+% \let\PrintChanges\relax
+% \let\PrintIndex\relax
diff --git a/macros/latex/contrib/ms/multitoc.ins b/macros/latex/contrib/ms/multitoc.ins
new file mode 100644
index 0000000000..154b6ec1d5
--- /dev/null
+++ b/macros/latex/contrib/ms/multitoc.ins
@@ -0,0 +1,116 @@
+%% \ProvidesFile{multitoc.ins}
+%% [1999/06/08 v2.01 Installation script for MultiToc Package (MS)]
+%%
+%% Copyright (c) [1998..1999] by Martin Schr\"oder. All rights reserved.
+%%
+%% This program may be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License, either version 1.0 of this
+%% license, or (at your option) any later version.
+%% The latest version of this license is in
+%% CTAN:macros/latex/base/lppl.txt.
+%%
+%% Happy users are requested to send me a postcard. :-)
+%%
+%% checksum = "55078 128 458 3787"
+%%
+%% The checksum field above contains a CRC-16 checksum as the first
+%% value, followed by the equivalent of the standard UNIX wc (word
+%% count) utility output of lines, words, and characters.
+%% This is produced by Robert Solovay's checksum utility.
+%%
+%% --------------- start of docstrip commands ------------------
+\input docstrip
+{\ifx\endbatchfile\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.4d or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* The multitoc distribution contains these files:}
+\Msg{*}
+\Msg{* \space\space multitoc.asc}
+\Msg{* \space\space multitoc.dtx}
+\Msg{* \space\space multitoc.dvi}
+\Msg{* \space\space multitoc.ins}
+\Msg{* \space\space multitoc.bug}
+\Msg{*}
+\Msg{* If you receive only some of these files from someone, complain!}
+\Msg{*}
+\Msg{***********************************************************}
+
+\preamble
+
+Copyright (c) [1998..1999] by Martin Schr"oder. All rights reserved.
+
+This file is part of the MultiToc package
+
+This program may be redistributed and/or modified under the terms
+of the LaTeX Project Public License, either version 1.0 of this
+license, or (at your option) any later version.
+The latest version of this license is in
+ CTAN:macros/latex/base/lppl.txt.
+
+Happy users are requested to send me a postcard. :-)
+
+The MultiToc package contains these files:
+
+ multitoc.asc
+ multitoc.dtx
+ multitoc.dvi
+ multitoc.ins
+ multitoc.bug
+
+Error Reports in case of UNCHANGED versions to
+
+ Martin Schr"oder
+ Cr"usemannallee 3
+ D-28213 Bremen
+ Martin.Schroeder@ACM.org
+
+\endpreamble
+\declarepreamble\driverpreamble
+
+This file is part of the MultiToc package
+-----------------------------------------
+
+Copyright (c) [1998..1999] by Martin Schr"oder. All rights reserved.
+
+To produce the documentation in the way you like you are allowed
+to change this driver file.
+
+\endpreamble
+
+\keepsilent
+\askforoverwritefalse
+\generate{%
+ \file{multitoc.sty}{\from{multitoc.dtx}{package}}
+ \usepreamble\driverpreamble
+ \file{multitoc.drv}{\from{multitoc.dtx}{driver}}
+ }
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* style files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space multitoc.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file multitoc.drv}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+\endbatchfile
+%%
+%% End of file `multitoc.ins'.
diff --git a/macros/latex/contrib/ms/multitoc.pdf b/macros/latex/contrib/ms/multitoc.pdf
new file mode 100644
index 0000000000..b72c2a0c4c
--- /dev/null
+++ b/macros/latex/contrib/ms/multitoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/ms/prelim2e.dtx b/macros/latex/contrib/ms/prelim2e.dtx
new file mode 100644
index 0000000000..e0a4b812b9
--- /dev/null
+++ b/macros/latex/contrib/ms/prelim2e.dtx
@@ -0,0 +1,637 @@
+% \changes{v1.01}{1995/05/02}{Date added to \cs{NeedsTeXFormat}}
+% \iffalse
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+%<package>\ProvidesPackage{prelim2e}
+%<package> [2009/05/29 v1.3 prelim2e Package (MS)]
+%
+%<*driver>
+\ProvidesFile{prelim2e.drv}
+ [2009/05/29 v1.3 Driver for prelim2e Package (MS)]
+\documentclass[a4paper]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage{url}
+\usepackage[toc]{multitoc}
+\usepackage{lmodern,microtype,svn}
+\usepackage{hypdoc}
+\usepackage{geometry}
+\usepackage[scrtime]{prelim2e}
+\GetFileInfo{prelim2e.sty}
+\EnableCrossrefs
+\RecordChanges % Gather update information
+%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
+\CodelineIndex % Index code by line number
+%\OnlyDescription % comment out for implementation details
+%%\OldMakeIndex % use if your MakeIndex is pre-v2.9
+\setcounter{IndexColumns}{2}
+% onecolumn glossary
+\makeatletter
+ \renewenvironment{theglossary}{%
+ \glossary@prologue
+ \setlength\emergencystretch{5em}
+ \GlossaryParms \let\item\@idxitem \ignorespaces}{}
+\makeatother
+\setlength{\IndexMin}{40ex}
+\setlength{\columnseprule}{.4pt}
+\addtolength{\oddsidemargin}{2cm}
+\addtolength{\textwidth}{-2cm}
+\begin{document}
+ \DocInput{prelim2e.dtx}
+ \PrintIndex\PrintChanges
+ % Make sure that the index is not printed twice
+ % (ltxdoc.cfg might have a second \PrintIndex command)
+ \let\PrintChanges\relax
+ \let\PrintIndex\relax
+\end{document}
+%</driver>
+%
+% Copyright (C) 1995..2009 by Martin Schr\"oder.
+%
+% 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'.
+%
+% The Current Maintainer of this work is Martin Schröder
+%
+% This work consists of the files prelim2e.dtx and prelim2e.ins
+% and the derived files prelim2e.sty
+%
+% \fi
+%
+% \CheckSum{129}
+%
+%% \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 \~}
+%%
+%% \iffalse meta-comment
+%% ===================================================================
+%% @LaTeX-package-file{
+%% author = {Martin Schr\"oder},
+%% version = "1.3",
+%% date = "29 May 2009",
+%% filename = "prelim2e.sty",
+%% address = {Martin Schr\"oder
+%% Barmer Stra\"se 14
+%% 44137 Dortmund
+%% Germany},
+%% telephone = "+49-231-1206574",
+%% email = "martin@oneiros.de",
+% codetable = "ISO/ASCII",
+% keywords = "LaTeX2e, preliminary versions, versions",
+% dependences = "everyshi, scrtime",
+% supported = "yes",
+%% docstring = "LaTeX package which allows the marking of
+%% preliminary versions of a document."
+%% }
+%% ===================================================================
+%% \fi
+%
+% \SVN $Rev: 1374 $
+% \SVNdate $Date: 2009-05-30 22:23:36 +0200 (Sa, 30. Mai 2009) $
+%
+% \renewcommand{\PrelimWords}{^^A
+% \package{prelim2e} package --
+% Version \fileversion (\SVNRev) --
+% Documentation \LaTeX{}ed^^A
+% }
+%
+% \changes{v1.00}{1995/01/26}{New}
+% \changes{v1.21}{1998/08/09}{Documentation improved}
+% \changes{v1.22}{1999/06/08}{Moved to LPPL}
+% \changes{v1.3}{2009/05/29}{LPPL 1.3}
+%
+% \newcommand*{\option}[1]{\textnormal{\sffamily#1}}
+% \newcommand*{\package}[1]{\textnormal{\sffamily#1}}
+% \newcommand*{\NEWfeature}[1]{%
+% \hskip 1sp \marginpar{\small\sffamily\raggedright
+% New feature\\#1}}
+% \newcommand*{\NEWdescription}[1]{%
+% \hskip 1sp \marginpar{\small\sffamily\raggedright
+% New description\\#1}}
+%
+% \pagestyle{headings}
+%
+%
+% ^^A -----------------------------
+%
+% \title{\unskip
+% The \package{prelim2e} package^^A
+% \thanks{^^A
+% The version number of this file is \fileversion, subversion
+% revision~\#\SVNRev, last revised \protect\SVNDate.}^^A
+% }
+% \author{Martin Schr\"oder\\[0.5ex]
+% \normalsize Barmer Stra\ss{}e 14\\
+% \normalsize 44137 Dortmund\\
+% \normalsize Germany\\
+% \normalsize \href{mailto:martin@oneiros.de}{\texttt{martin@oneiros.de}}}
+% \maketitle
+%
+% ^^A -----------------------------
+%
+%
+% \begin{abstract}
+% This package allows the marking of (preliminary) versions of a
+% document on the output.
+% \end{abstract}
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+% ^^A
+% This package allows the marking of (preliminary) versions of a
+% document.
+% This is done using the command \cs{PrelimText}, whose expansion
+% is added \emph{below the footer} of every page of a document (look
+% at the bottom of this page for an example).
+%
+% ^^A -----------------------------
+%
+% \section{Usage}
+% ^^A
+% Simply using this package via
+% \mbox{\cs{usepackage\{}\package{prelim2e}\texttt{\}}} produces a
+% text in the form of ``Preliminary version -- \today''.
+%
+% \DescribeMacro{\PrelimText}
+% \DescribeMacro{\PrelimWords}
+% The text is produced by the commands \cs{PrelimText} and
+% \cs{PrelimWords}, which can be changed via \cs{renewcommand} or by
+% using options at the \cs{usepackage} command (see
+% section~\ref{sec:options}).
+%
+% The footer for this documentation was produced by changing
+% \cs{PrelimWords} to
+% \begin{quote}
+%\begin{verbatim}
+%\renewcommand{\PrelimWords}{%
+% \textsf{prelim2e} package --
+% Version \fileversion (\svnInfoRevision) --
+% Documentation \LaTeX{}ed%
+% }
+%\end{verbatim}
+% \end{quote}
+%
+%
+% ^^A -----------------------------
+%
+% \section{Options}
+% \label{sec:options}
+% ^^A
+% The package has the following options:
+% \nopagebreak
+% \begin{description}
+% \item[\normalfont\option{danish}]
+% \changes{v1.23}{2001/02/17}{\option{danish} option added}
+% \NEWfeature{2001/02/17}
+% This sets the text to ``Forel\o{}big version''.
+% It does not use the \package{babel} package.
+% \item[\normalfont\option{draft}]
+% If this option is used a text appears below the normal
+% pagebody.
+% It is the default.
+% \item[\normalfont\option{final}]
+% If this option is used \package{prelim2e} produces no text.
+% \item[\normalfont\option{english}]
+% This sets the text to ``Preliminary version''.
+% It is the default.
+% \item[\normalfont\option{french}]
+% \changes{v1.20}{1997/05/12}{\option{french} option added}
+% \NEWfeature{1997/05/12}
+% This sets the text to ``Version pr\'eliminaire''.
+% It does not use the \package{french} or \package{babel} package.
+% \item[\normalfont\option{german}]
+% This sets the text to ``Vorl\"aufige Version''.
+% It does not use the \package{german} or \package{babel} package.
+% \item[\normalfont\option{italian}]
+% \changes{v1.23}{2001/02/17}{\option{italian} option added}
+% \NEWfeature{2001/02/17}
+% This sets the text to ``Versione preliminare''.
+% It does not use the \package{babel} package.
+% \item[\normalfont\option{norsk}]
+% \changes{v1.3}{2009/05/29}{\option{norsk} option added}
+% \NEWfeature{2009/05/29}
+% This sets the text to ``Forel\o{}pig versjon''.
+% It does not use the \package{babel} package.
+% \item[\normalfont\option{time}]
+% \changes{v1.10}{1996/01/01}{\option{time} option added}
+% \NEWdescription{1997/05/12}
+% This adds the time at the beginning of the current \LaTeX{}
+% to the text.
+% The time is produced using the \cs{thistime} command, which may
+% be provided by the \package{scrtime} package\cite{package:scrtime}.
+% If you don't use the \package{scrtime} package (e.\,g. by
+% specifying the \option{scrtime} option), you must
+% provide it yourself or by some other package.
+% \item[\normalfont\option{scrtime}]
+% \changes{v1.20}{1997/05/12}{\option{scrtime} option added}
+% \NEWfeature{1997/05/12}
+% This loads the \package{scrtime} package\cite{package:scrtime}
+% (part of the KOMA-Script bundle), which provides the
+% \cs{thistime} command used by the \option{time} option.
+% The \option{scrtime} option implies the \option{time} option.
+% \end{description}
+% All other options are passed to the \package{scrtime} package if the
+% \option{scrtime} option is selected.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Required packages}
+% ^^A
+% The package requires the following packages:
+% \begin{description}
+% \item[\normalfont\package{everyshi}\cite{package:everyshi}]
+% It is used to implement the setting of the text below the normal
+% pagebody.
+% \item[\normalfont\package{scrtime}\cite{package:scrtime}]
+% \changes{v1.10}{1996/01/01}{\package{scrtime} instead of
+% \package{printtim}}
+% \NEWdescription{1997/05/12}
+% It is used to typeset the current time and is needed if the
+% \option{scrtime} option is selected.
+% \end{description}
+%
+%
+% ^^A -----------------------------
+%
+% \section{Putting more things at the bottom}
+% ^^A
+% Another package you might like to use with \package{prelim2e} is
+% \package{vrsion}\cite{package:vrsion}.
+% This allows the definition and maintenance of a version number like
+% 3.14159 \emph{within \LaTeX}, which can be put at the bottom of every
+% page using \package{prelime2e}.
+%
+%
+% ^^A -----------------------------
+%
+% \StopEventually{^^A
+%
+%
+% ^^A -----------------------------
+%
+% \section{Acknowledgements}
+% ^^A
+% The idea of this package is based on
+% \texttt{prelim.sty}\cite{package:prelim} for \LaTeX2.09 by Robert
+% Tolksdorf (\texttt{tolk@cs.tu-berlin.de}).
+% It provides nearly the same functionality as \package{prelim2e}, but
+% in a very dirty way: it uses a modified output routine and does not
+% work with \LaTeXe.
+%
+% The time functionality now uses the \package{scrtime} package by
+% Markus Kohm (\texttt{markus.kohm@gmx.de}).
+%
+% Rowland Bartlett (\texttt{R.BARTLETT@liverpool-john-moores.ac.uk})
+% brought forth the idea of separating the \option{time} option and the
+% \package{scrtime} package;
+% Daniel Courjon (\texttt{dcourjon@utinam.univ-fcomte.fr}) provided
+% the text for the \option{french} option,
+% Arne J\o{}rgensen (\texttt{arne.jorgensen@tug.dk})
+% provided the text for the \option{danish} option,
+% Davide Giovanni Maria Salvetti (\texttt{salve@debian.org})
+% and Riccardo Murri (\texttt{murri@phc.unipi.it})
+% both provided the text for the \option{italian} option,
+% and Sveinung Heggen (\texttt{sveinung.heggen@orkla.no}) provided the
+% text for the \option{norsk} option.
+%
+% As usual Rebecca Stiels improved the quality of this documentation.
+%
+%
+% ^^A -----------------------------
+%
+% \begin{thebibliography}{1}
+% \raggedright
+% \bibitem{package:prelim}
+% Mats Dahlgren.
+% \newblock \package{vrsion} -- a \LaTeX{} Macro for version
+% Numbering of Files.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/vrsion/vrsion.dtx}.
+% \newblock \LaTeXe{} package.
+% \bibitem{package:scrtime}
+% Markus Kohm.
+% \newblock The \package{KOMA}-timedate-bundle.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/koma-script/scrtime.dtx}.
+% \newblock \LaTeXe{} package.
+% \bibitem{package:everyshi}
+% Martin Schr\"oder.
+% \newblock The \package{everyshi} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/everyshi.dtx}.
+% \newblock \LaTeXe{} package.
+% \bibitem{package:vrsion}
+% Robert Tolksdorf.
+% \newblock Kennzeichnung von Vorversionen eines Dokuments.
+% \newblock \url{CTAN: tex-archive/macros/latex209/contrib/prelim/}.
+% \newblock \LaTeX2.09 package.
+% \end{thebibliography}
+%
+% }
+%
+%
+% ^^A -----------------------------
+%
+% \section{The implementation}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Initial Code}
+% ^^A
+% \begin{macro}{\if@prelim@draft}
+% \cs{if@prelim@draft} is used to flag the use of the \option{draft}
+% or \option{final} option.
+% \begin{macrocode}
+\newif\if@prelim@draft
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\if@prelim@time}
+% \changes{v1.10}{1996/01/01}{new}
+% \cs{if@prelim@time} is used to flag the use of the \option{time}
+% option.
+% \begin{macrocode}
+\newif\if@prelim@time
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\if@prelim@scrtime}
+% \changes{v1.20}{1997/05/12}{new}
+% \cs{if@prelim@scrtime} is used to flag the use of the \option{scrtime}
+% option.
+% \begin{macrocode}
+\newif\if@prelim@scrtime
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PrelimWords}
+% \cs{PrelimWords} holds the language-dependend text used in
+% \cs{PrelimText}
+% \begin{macrocode}
+\newcommand{\PrelimWords}{}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Declaration of options}
+%
+% ^^A -----------------------------
+%
+%
+% \subsubsection{\option{draft} option}
+% ^^A
+% The \option{draft} and \option{final} option control the behavior
+% of \package{prelim2e}: Only if \option{final} is used in
+% \cs{documentclass} or
+% \mbox{\cs{usepackage\{}\package{prelim2e}\texttt{\}}} text is
+% produced.
+% \begin{macrocode}
+\DeclareOption{draft}{\@prelim@drafttrue}
+\DeclareOption{final}{\@prelim@draftfalse}
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsubsection{Language options}
+% ^^A
+% \option{danish}, \option{english}, \option{french}, \option{german},
+% \option{italian} and \option{norsk} control the content of \cs{PrelimWords}.
+% \changes{v1.20}{1997/05/12}{\option{french} option added}
+% \changes{v1.23}{2001/02/17}{\option{danish} option added}
+% \changes{v1.23}{2001/02/17}{\option{italian} option added}
+% \changes{v1.3}{2009/05/29}{\option{norsk} option added}
+% \begin{macrocode}
+\DeclareOption{danish}{%
+ \renewcommand{\PrelimWords}{Forel\o{}big version}}
+\DeclareOption{english}{%
+ \renewcommand{\PrelimWords}{Preliminary version}}
+\DeclareOption{french}{%
+ \renewcommand{\PrelimWords}{Version pr\'eliminaire}}
+\DeclareOption{german}{%
+ \renewcommand{\PrelimWords}{Vorl\"aufige Version}}
+\DeclareOption{italian}{%
+ \renewcommand{\PrelimWords}{Versione preliminare}}
+\DeclareOption{norsk}{%
+ \renewcommand{\PrelimWords}{Forel\o{}pig versjon}}
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsubsection{Time options}
+% ^^A
+% \changes{v1.10}{1996/01/01}{\option{time} option added}
+% \option{time} controls the output of the current time at
+% \cs{PrelimWords}.
+% \begin{macrocode}
+\DeclareOption{time}{\@prelim@timetrue}
+% \end{macrocode}
+%
+% \changes{v1.20}{1997/05/12}{\option{scrtime} option added}
+% \option{scrtime} controls the loading of the \package{scrtime}
+% package.
+% It implies \option{time}.
+% \begin{macrocode}
+\DeclareOption{scrtime}{\@prelim@scrtimetrue\@prelim@timetrue}
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsubsection{Other options}
+% ^^A
+% \changes{v1.20}{1997/05/12}{check \cs{if@prelim@scrtime}}
+% \changes{v1.10}{1996/01/01}{\cs{DeclareOption*} added}
+% All unused options are passed to the \package{scrtime} package if
+% the \option{scrtime} option is selected.
+% \begin{macrocode}
+\DeclareOption*{%
+ \if@prelim@scrtime
+ \PassOptionsToPackage{\CurrentOption}{scrtime}%
+ \fi
+ }
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Executing options}
+% ^^A
+% The default options are \option{draft} and \option{english}.
+% \begin{macrocode}
+\ExecuteOptions{draft,english}
+\ProcessOptions\relax
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Loading packages}
+% ^^A
+% \changes{v1.20}{1997/05/12}{check \cs{if@prelim@scrtime}}
+% We need the \package{everyshi} package---and \package{scrtime}, if the
+% \option{scrtime} option is specified.
+% \begin{macrocode}
+\RequirePackage{everyshi}[1995/01/25]
+\if@prelim@scrtime
+ \RequirePackage{scrtime}
+\fi
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Producing the text}
+% ^^A
+% \begin{macro}{\PrelimText}
+% \changes{v1.10}{1996/01/01}{\cs{thistime} instead of \cs{PrintTime}}
+% \cs{PrelimText} produces the text which is put below the page.
+% It can be changed via \cs{renewcommand}.
+% The style of the text is controlled by \cs{PrelimTextStyle}.
+% We first have to reset the style and size, otherwise the settings in
+% effect at the point of text where \cs{ouput} is called would be used.
+% \begin{macrocode}
+\newcommand{\PrelimText}{%
+ \textnormal{%
+ \footnotesize
+ \PrelimTextStyle
+ \PrelimWords{} -- \today
+ \if@prelim@time
+ \ -- \thistime
+ \fi
+ }%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PrelimTextStyle}
+% \cs{PrelimTextStyle} controls the style of the text produced by
+% \cs{PrelimText}.
+% It's default is empty.
+% \begin{macrocode}
+\newcommand{\PrelimTextStyle}{}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Putting the text below the page}
+% ^^A
+% We put the text below the page via \cs{EveryShipout} provided by
+% the \package{everyshi} package.
+% This is done by \cs{@Prelim@EveryShipout}.
+%
+% \begin{macro}{\@Prelim@EveryShipout}
+% \changes{v1.10}{1996/01/01}{\cs{hbox to}$\rightarrow$\cs{hb@xt@}}
+% \changes{v1.24}{2004/03/28}{Bugfix: Add missing \%.
+% Bug reported by Carsten Heinz (\texttt{cheinz@gmx.de}).}
+% \cs{@Prelim@EveryShipout} puts the text produced by \cs{PrelimText}
+% below the page.
+% To do this we modify \cs{box255}: We append a \cs{vbox} with height
+% and depth of 0pt and the width of \cs{box255} which contains a
+% \cs{hbox} with the width of \cs{box255} in which \cs{PrelimText}
+% is centered.
+% \begin{macrocode}
+\newcommand{\@Prelim@EveryShipout}{%
+ \bgroup
+% \end{macrocode}
+% First we save the dimensions of \cs{box255}: height, width and depth;
+% and calculate the total height of \cs{box255}.
+% \begin{macrocode}
+ \dimen\z@=\wd\@cclv
+ \dimen\@ne=\ht\@cclv
+ \dimen\tw@=\dp\@cclv
+ \dimen\thr@@=\dimen1
+ \advance\dimen\thr@@ by \dimen\tw@
+% \end{macrocode}
+% Then we set \cs{box255}:
+% A \cs{vbox} to the total height of \cs{box255}.
+% In this a \cs{hbox} to the width of \cs{box255} is included, in which
+% \cs{box255} is set.
+% \begin{macrocode}
+ \global\setbox\@cclv\vbox to \dimen\thr@@{%
+ \hb@xt@\dimen\z@{%
+ \box\@cclv%
+ \hss
+ }%
+% \end{macrocode}
+% To this we append the text produced by \cs{PrelimText}.
+% It is put in a \cs{vbox} to 0pt in which a \cs{hbox} to the width of
+% \cs{box255} is included, in which \cs{PrelimText} is set.
+% We have to reset \cs{protect} because it is set to \cs{noexpand} by
+% the output routine.
+% \begin{macrocode}
+ \vbox to \z@{%
+ \hb@xt@\dimen\z@{%
+ \let\protect\relax
+ \hfill\PrelimText\hfill
+ }%
+ \vss
+ }%
+ \vss
+ }%
+% \end{macrocode}
+% Finally we set the dimensions of \cs{box255} to the values they had
+% before \cs{@Prelim@EveryShipout}.
+% \begin{macrocode}
+ \wd\@cclv=\dimen\z@
+ \ht\@cclv=\dimen\@ne
+ \dp\@cclv=\dimen\tw@
+ \egroup
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Tieing \package{prelim2e} into the system}
+% ^^A
+% \cs{@Prelim@EveryShipout} is tied into the system via
+% \cs{EveryShipout}.
+% But only if the \option{draft} option is used.
+% \begin{macrocode}
+\if@prelim@draft
+ \EveryShipout{\@Prelim@EveryShipout}
+\fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \Finale
+% ^^A vim:tw=70:ts=2
diff --git a/macros/latex/contrib/ms/prelim2e.ins b/macros/latex/contrib/ms/prelim2e.ins
new file mode 100644
index 0000000000..00a57b5469
--- /dev/null
+++ b/macros/latex/contrib/ms/prelim2e.ins
@@ -0,0 +1,110 @@
+%\NeedsTeXFormat{LaTeX2e}
+%\ProvidesFile{prelim2e.ins}
+% [2009/05/29 v1.3 Installation script for prelim2e Package (MS)]
+%%
+%% Copyright (C) 1995..2009 by Martin Schroeder.
+%%
+%% 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'.
+%%
+%% The Current Maintainer of this work is Martin Schr\"oder.
+%%
+%% This work consists of the files prelim2e.dtx and prelim2e.ins
+%% and the derived file prelim2e.sty.
+%%
+%% $Id: prelim2e.ins 1374 2009-05-30 20:23:36Z oneiros $
+%% --------------- start of docstrip commands ------------------
+\input docstrip.tex
+{\ifx\endbatchfile\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.4d or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* The prelim2e distribution contains these files:}
+\Msg{*}
+\Msg{* \space\space prelim2e.dtx}
+\Msg{* \space\space prelim2e.ins}
+\Msg{*}
+\Msg{* If you receive only some of these files from someone, complain!}
+\Msg{*}
+\Msg{***********************************************************}
+
+\preamble
+
+Copyright (C) 1995..2009 by Martin Schroeder.
+
+This file is part of the Prelim2e package
+-----------------------------------------
+
+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'.
+
+The Current Maintainer of this work is Martin Schroeder.
+
+This work consists of the files prelim2e.dtx and prelim2e.ins
+and the derived file prelim2e.sty.
+
+\endpreamble
+\declarepreamble\driverpreamble
+
+Copyright (C) 1995..2009 Martin Schroeder.
+
+This file is part of the Prelim2e package
+-----------------------------------------
+
+To produce the documentation in the way you like you are allowed
+to change this driver file.
+
+\endpreamble
+
+
+% Don't display progress
+\keepsilent
+\askforoverwritefalse
+\generate{\file{prelim2e.sty}{\from{prelim2e.dtx}{package}}
+ \usepreamble\driverpreamble
+ \file{prelim2e.drv}{\from{prelim2e.dtx}{driver}}
+ }
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space prelim2e.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file prelim2e.drv}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+\endbatchfile
+%%
+%% End of file `prelim2e.ins'.
+%% vim:syntax=tex:tw=70:ts=2
diff --git a/macros/latex/contrib/ms/prelim2e.pdf b/macros/latex/contrib/ms/prelim2e.pdf
new file mode 100644
index 0000000000..5f1c8787f7
--- /dev/null
+++ b/macros/latex/contrib/ms/prelim2e.pdf
Binary files differ