texlive[42455] Master/texmf-dist: nlctdoc (7nov16)

commits+karl at tug.org commits+karl at tug.org
Mon Nov 7 23:15:13 CET 2016


Revision: 42455
          http://tug.org/svn/texlive?view=revision&revision=42455
Author:   karl
Date:     2016-11-07 23:15:13 +0100 (Mon, 07 Nov 2016)
Log Message:
-----------
nlctdoc (7nov16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/nlctdoc/README
    trunk/Master/texmf-dist/tex/latex/nlctdoc/nlctdoc.cls

Modified: trunk/Master/texmf-dist/doc/latex/nlctdoc/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/nlctdoc/README	2016-11-07 22:15:00 UTC (rev 42454)
+++ trunk/Master/texmf-dist/doc/latex/nlctdoc/README	2016-11-07 22:15:13 UTC (rev 42455)
@@ -12,7 +12,7 @@
 LICENCE
 
 This material is subject to the LaTeX Project Public License.
-See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
+See http://www.ctan.org/license/lppl1.3
 for the details of that license.
 
 Author's home page: http://www.dickimaw-books.com/

Modified: trunk/Master/texmf-dist/tex/latex/nlctdoc/nlctdoc.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/nlctdoc/nlctdoc.cls	2016-11-07 22:15:00 UTC (rev 42454)
+++ trunk/Master/texmf-dist/tex/latex/nlctdoc/nlctdoc.cls	2016-11-07 22:15:13 UTC (rev 42455)
@@ -2,7 +2,7 @@
 % wants to compile the documentation that comes with my packages.
 % It is not intended for any other purpose, although you may freely
 % copy the code here to another file and modify it for your own purposes.
-% Some of the code is taken from doc.sty
+% There's no guarantee that it will work with other packages.
 %
 %  Copyright 2013 Nicola Talbot
 % 
@@ -15,9 +15,9 @@
 %  version 2005/12/01 or later.
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{nlctdoc}[2014/01/17 v1.04 (NLCT)]
+\ProvidesClass{nlctdoc}[2016/11/07 v1.05 (NLCT)]
 \RequirePackage{ifpdf}
-% tex4ht no longer seems to work with koma.
+% tex4ht stopped working with koma during TL2013.
 % Use pdflatex with koma for the pdf version
 % and latex with one of the base classes for the html 
 % version to circumvent this.
@@ -49,6 +49,18 @@
 }
 \DeclareOption{a5paper}{\@latexerr{Option not supported}%
    {}}
+
+\newcommand*{\nlct at setupmargin}{}
+\DeclareOption{normalmp}{%
+  \renewcommand*{\nlct at setupmargin}{%
+    \normalmarginpar
+    \renewcommand*{\nlctdocmarginfmt}{\raggedright}%
+  }%
+}
+
+\newif\ifnlctdocinlinetitle
+\nlctdocinlinetitlefalse
+\DeclareOption{inlinetitle}{\nlctdocinlinetitletrue}
 \newif\ifwidecs
 \widecsfalse
 \DeclareOption{widecs}{\widecstrue}
@@ -56,7 +68,11 @@
     \PassOptionsToClass  {\CurrentOption}{\@nlctdoc at class}}
 \ProcessOptions
 \ifpdf
-  \LoadClass[captions=tableheading]{\@nlctdoc at class}
+  \ifnlctdocinlinetitle
+    \LoadClass[captions=tableheading,abstract=true,titlepage=false]{\@nlctdoc at class}
+  \else
+    \LoadClass[captions=tableheading,abstract=true]{\@nlctdoc at class}
+  \fi
 \else
   \LoadClass{\@nlctdoc at class}
 \fi
@@ -70,209 +86,10 @@
   \RequirePackage[xhtml,fn-in,css-in,uni-html4,utf8]{tex4ht}
 \fi
 \RequirePackage{etoolbox}
-\@ifundefined{macro at cnt}{}{\endinput}
-\catcode`\^^A=14
-\AtBeginDocument{\catcode`\^^A=14\relax}
-\def\macrocode{\macro at code
-   \frenchspacing \@vobeyspaces
-   \xmacro at code}
-\def\macro at code{%
-   \topsep \MacrocodeTopsep
-   \@beginparpenalty \predisplaypenalty
-   \if at inlabel\leavevmode\fi
-   \trivlist \parskip \z@ \item[]%
-   \macro at font
-   \leftskip\@totalleftmargin \advance\leftskip\MacroIndent
-   \rightskip\z@ \parindent\z@ \parfillskip\@flushglue
-   \blank at linefalse \def\par{\ifblank at line
-                             \leavevmode\fi
-                             \blank at linetrue\@@par
-                             \penalty\interlinepenalty}
-   \obeylines
-   \let\do\do at noligs \verbatim at nolig@list
-   \let\do\@makeother \dospecials
-   \global\@newlistfalse
-   \global\@minipagefalse
-   \ifcodeline at index
-     \everypar{\global\advance\c at CodelineNo\@ne
-               \llap{\theCodelineNo\ \hskip\@totalleftmargin}%
-               \check at module}%
-   \else \everypar{\check at module}%
-   \fi
-   \init at crossref}
-\newif\ifblank at line
-\def\endmacrocode{%
-                 \ifpm at module \endgroup \pm at modulefalse \fi
-                 \everypar{}%
-                 \global\@inlabelfalse
-                 \endtrivlist
-                 \close at crossref}
-\@ifundefined{MacroFont}{%
-  \if at compatibility
-    \def\MacroFont{\small
-                   \usefont\encodingdefault
-                           \ttdefault
-                           \mddefault
-                           \updefault
-                   }%
-  \else
-    \def\MacroFont{\fontencoding\encodingdefault
-                   \fontfamily\ttdefault
-                   \fontseries\mddefault
-                   \fontshape\updefault
-                   \small}%
-  \fi
-  }{}
-\@ifundefined{AltMacroFont}{%
-  \if at compatibility
-    \def\AltMacroFont{\small
-                      \usefont\encodingdefault
-                              \ttdefault
-                              \mddefault
-                              \sldefault
-                      }%
-  \else
-    \def\AltMacroFont{\fontencoding\encodingdefault
-                      \fontfamily\ttdefault
-                      \fontseries\mddefault
-                      \fontshape\sldefault
-                      \small
-                      }%
- \fi
-  }{}
-\AtBeginDocument{\let\macro at font\MacroFont}
-\def\check at module{%
-  \ifcheck at modules
-    \ifpm at module \endgroup \pm at modulefalse \fi
-    \expandafter\futurelet\expandafter\next\expandafter\ch at percent
-  \fi}
-\newif\ifpm at module
-\def\DontCheckModules{\check at modulesfalse}
-\def\CheckModules{\check at modulestrue}
-\newif\ifcheck at modules  \check at modulestrue
-\def\ch at percent{%
-  \if \percentchar\next
-    \expandafter\check at angle
-  \fi}
-\def\check at angle#1{\futurelet\next\ch at angle}
-\begingroup
-\catcode`\<\active
-\gdef\ch at angle{\ifx<\next
-    \expandafter\ch at plus@etc
-  \else \percentchar \fi}
-\gdef\ch at plus@etc<{\futurelet\next\check at plus@etc}
-\gdef\check at plus@etc{%
-    \if +\next
-      \let\next\pm at module
-    \else\if -\next
-      \let\next\pm at module
-    \else\if *\next
-      \let\next\star at module
-    \else\if /\next
-      \let\next\slash at module
-    \else\ifx <\next
-      \percentchar
-    \else
-      \let\next\pm at module
-    \fi\fi\fi\fi\fi
-    \next}
-\endgroup
-\begingroup
-\catcode`\~=\active
-\lccode`\~=`\>
-\lowercase{\gdef\pm at module#1~}{\pm at moduletrue
-   \Module{#1}\begingroup
-     \advance\guard at level\@ne
-     \ifnum\guard at level>\c at StandardModuleDepth\AltMacroFont\fi
-}
-\lowercase{\gdef\star at module#1~}{%
-  \Module{#1}%
-  \global \advance \guard at level\@ne
-  \ifnum \guard at level>\c at StandardModuleDepth
-    \global\let\macro at font=\AltMacroFont \macro at font
-  \fi}
-\catcode`\>=\active
-\gdef\slash at module#1>{%
-  \Module{#1}%
-  \global \advance \guard at level\m at ne
-  \ifnum \guard at level=\c at StandardModuleDepth
-    \global\let\macro at font\MacroFont  \macro at font
-  \fi
-}
-\endgroup
-\newcounter{StandardModuleDepth}
-\newcount \guard at level
-\@ifundefined{Module}{%
-      \def\Module#1{\mod at math@codes$\langle\mathsf{#1}\rangle$}
-  }{}
-\def\mod at math@codes{\mathcode`\|="226A \mathcode`\&="2026}
-\newskip\MacrocodeTopsep \MacrocodeTopsep = 3pt plus 1.2pt minus 1pt
-\newdimen\MacroIndent
-\settowidth\MacroIndent{\rmfamily\scriptsize 00\ }
-\@namedef{macrocode*}{\macro at code\sxmacro at code}
-\expandafter\let\csname endmacrocode*\endcsname = \endmacrocode
-\catcode`\!=\catcode`\%   ^^A In this section there must not be
-                              ^^A any exclamation marks.
-                              ^^A
-\begingroup
-\catcode`\|=\z@ \catcode`\[=\@ne \catcode`\]=\tw@
-\catcode`\{=12 \catcode`\}=12
-\catcode`\%=12 \catcode`\ =\active \catcode`\\=\active
-!%    \end{macrocode*}
-!    Next follows the actual definition of  |\macro at code|;
-!    notice the
-!    use of the new escape character.  We manage to get the argument
-!    surrounded by the string |\end{macrocode}|, but at the end
-!    however, in spite of the actual characters used during the
-!    definition of
-!    this macro, |\end| with the argument |{macrocode}|
-!    will be executed, to ensure a balanced environment.
-!    \begin{macrocode*}
-|gdef|xmacro at code#1%    \end{macrocode}[#1|end[macrocode]]
-!%    \end{macrocode*}
-! \begin{macro}{\sxmacro at code}
-!    The definition of |\sxmacro at code| is completely analogous,
-!    only
-!    here a slightly different terminating string will be used.
-!    Note that the space is not active in this environment.
-!    \begin{macrocode}
-|catcode`| =12
-|gdef|sxmacro at code#1%    \end{macrocode*}[#1|end[macrocode*]]
-!%    \end{macrocode}
-!    because the |\catcode| changes have been made local by
-!    commencing a
-!    new group, there now follows the matching |\endgroup|
-!    in a rather
-!    unusual style of writing.
-!    \begin{macrocode}
-|endgroup
-!%    \end{macrocode}
-\catcode`\!=12
-\def\DescribeMacro{\leavevmode\@bsphack
-   \begingroup\MakePrivateLetters\Describe at Macro}
+\RequirePackage{doc,dox}
+\RequirePackage{upquote}
 
-  \def\Describe at Macro#1{\endgroup
-              \marginpar{\raggedleft\PrintDescribeMacro{#1}}%
-              \SpecialUsageIndex{#1}\@esphack\ignorespaces}
-
-
-\def\DescribeEnv{\leavevmode\@bsphack\begingroup\MakePrivateLetters
-  \Describe at Env}
-\def\Describe at Env#1{\endgroup
-              \marginpar{\raggedleft\PrintDescribeEnv{#1}}%
-              \SpecialEnvIndex{#1}\@esphack\ignorespaces}
-\reversemarginpar
-\setlength\marginparpush{0pt} 
-\ifwidecs
-\else
-  \setlength\marginparwidth{8pc}
-\fi
-{\catcode`\|=\z@ \catcode`\\=12
-|gdef|bslash{\}}
-\def\verbatim{\@beginparpenalty \predisplaypenalty \@verbatim
-              \MacroFont \frenchspacing \@vobeyspaces \@xverbatim}
-\@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim
-              \MacroFont \@sxverbatim}
+% doc.sty interferes with upquote.sty so patch it
 \def\@verbatim{\trivlist \item[]\if at minipage\else\vskip\parskip\fi
       \leftskip\@totalleftmargin\rightskip\z@
       \parindent\z@\parfillskip\@flushglue\parskip\z@
@@ -282,285 +99,63 @@
           \penalty\interlinepenalty
    \check at percent}%
  \obeylines
- \let\do\do at noligs \verbatim at nolig@list
+ \@noligs
  \let\do\@makeother \dospecials}
-{\catcode`\%=12
- \long\gdef\check at percent#1{\ifx #1%\let\next\@empty \else
-                                    \let\next=#1\fi \next}}
-\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
-  \bgroup \let\do\do at noligs \verbatim at nolig@list
-    \ttfamily \verb at eol@error \let\do\@makeother \dospecials
-    \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
-\let\verb at balance@group\@empty
 
-\def\verb at egroup{\global\let\verb at balance@group\@empty\egroup}
+\newcommand*{\nlctdocmarginfmt}{\raggedleft}
+\nlct at setupmargin
 
-\begingroup
-  \obeylines%
-  \gdef\verb at eol@error{\obeylines%
-    \def^^M{\verb at egroup\@latex at error{%
-           Text for \noexpand\verb command ended by end of line}\@ehc}}%
-\endgroup
-\def\@sverb#1{%
-  \catcode`#1\active  \lccode`\~`#1%
-  \gdef\verb at balance@group{\verb at egroup
-     \@latex at error{Illegal use of \noexpand\verb command}\@ehc}%
-  \aftergroup\verb at balance@group
-  \lowercase{\let~\verb at egroup}}
-\def\verbatim at nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
-\def\do at noligs#1{%
-  \catcode`#1\active
-  \begingroup
-     \lccode`\~=`#1\relax
-     \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
-\newcount\macro at cnt \macro at cnt=0
-\def\macro{\begingroup
-   \catcode`\\12
-   \MakePrivateLetters \m at cro@ \iftrue}
-\def\environment{\begingroup
-   \catcode`\\12
-   \MakePrivateLetters \m at cro@ \iffalse}
-\long\def\m at cro@#1#2{\endgroup \topsep\MacroTopsep \trivlist
-   \edef\saved at macroname{\string#2}%
-  \def\makelabel##1{\llap{##1}}%
-  \if at inlabel
-    \let\@tempa\@empty \count@\macro at cnt
-    \loop \ifnum\count@>\z@
-      \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m at ne \repeat
-    \edef\makelabel##1{\llap{\vtop to\baselineskip
-                               {\@tempa\hbox{##1}\vss}}}%
-    \advance \macro at cnt \@ne
-  \else  \macro at cnt\@ne  \fi
-  \edef\@tempa{\noexpand\item[%
-     #1%
-       \noexpand\PrintMacroName
-     \else
-       \noexpand\PrintEnvName
-     \fi
-     {\string#2}]}%
-  \@tempa
-  \global\advance\c at CodelineNo\@ne
-   #1%
-      \SpecialMainIndex{#2}\nobreak
-      \DoNotIndex{#2}%
-   \else
-      \SpecialMainEnvIndex{#2}\nobreak
-   \fi
-  \global\advance\c at CodelineNo\m at ne
-  \ignorespaces}
-\let\endmacro \endtrivlist
-\let\endenvironment\endmacro
-\newskip\MacroTopsep     \MacroTopsep = 7pt plus 2pt minus 2pt
-\@ifundefined{PrintMacroName}
-   {\def\PrintMacroName#1{\strut \MacroFont \string #1\ }}{}
-\@ifundefined{PrintDescribeMacro}
-   {\def\PrintDescribeMacro#1{\strut \MacroFont \string #1\ }}{}
-\@ifundefined{PrintDescribeEnv}
-   {\def\PrintDescribeEnv#1{\strut \MacroFont #1\ }}{}
-\@ifundefined{PrintEnvName}
-   {\def\PrintEnvName#1{\strut \MacroFont #1\ }}{}
-\begingroup
-\catcode`\~\active
-\gdef\SpecialEscapechar#1{%
-    \begingroup
-     \uccode`\~`#1%
-     \uppercase{\gdef\active at escape@char{~}}%
-     \escapechar\m at ne  \xdef\special at escape@char{\string#1}%
-   \endgroup}
-\endgroup
-\begingroup   \catcode`\|=\z@  \catcode`\\=\active
-|gdef|init at crossref{|catcode`|\|active   |let\|bslash
-    |MakePrivateLetters
-    |catcode|expandafter`|special at escape@char|active
-    |expandafter|let|active at escape@char|scan at macro}
-|endgroup
-\SpecialEscapechar{\\}
-\@ifundefined{MakePrivateLetters}
-    {\let\MakePrivateLetters\makeatletter}{}
-\def\close at crossref{\SpecialEscapechar\\}
-\def\scan at macro{%
-   \special at escape@char
-   \step at checksum
-   \ifscan at allowed
-      \let\macro at namepart\@empty
-      \def\next{\futurelet\next\macro at switch}%
-   \else \let\next\@empty \fi
-   \next}
-\newif\ifscan at allowed    \scan at allowedtrue
-\def\DisableCrossrefs{\@bsphack\scan at allowedfalse\@esphack}
-\def\EnableCrossrefs{\@bsphack\scan at allowedtrue
-                     \def\DisableCrossrefs{\@bsphack\@esphack}\@esphack}
-\def\macro at switch{\ifcat\noexpand\next a%
-     \let\next\macro at name
-     \else \let\next\short at macro  \fi
-   \next}
-\begingroup
-\catcode`\&=12
-\gdef\short at macro#1{\begingroup
-   \uccode`\&=\expandafter`\string#1%
-   \uppercase{\def\x{\def\macro at namepart{&}}}%
-   \expandafter\endgroup\x
-   \ifnot at excluded
-     \produce at index{#1}\fi
-    \scan at allowedfalse#1%
-    \scan at allowedtrue }
-\endgroup
-\def\produce at index#1{%
-  \if\noexpand#1\special at escape@char
-     \scan at allowedfalse \it at is@a\special at escape@char \else
-     \if\noexpand#1\bslash \it at is@a\bslash \else
-       \if\noexpand#1\space \it at is@a\space \else
-         \ifx#1\par
-         \it at is@a\space \else
-         \ifx#1\relax \else
-           \if\noexpand#1\bgroup \LeftBraceIndex \else
-             \if\noexpand#1\egroup \RightBraceIndex \else
-               \if\noexpand#1\percentchar \PercentIndex \else
-                 \it at is@a{\string#1}%
-       \fi \fi \fi \fi \fi \fi \fi \fi}
-\def\macro at name#1{\edef\macro at namepart{\macro at namepart#1}%
-     \futurelet\next\more at macroname}
-\def\more at macroname{\ifcat\noexpand\next a%
-     \let\next\macro at name
-     \else \let\next\macro at finish \fi
-     \next}
-\def\macro at finish{%
-  \macro at namepart
-  \ifnot at excluded
-     \edef\@tempa{\noexpand\SpecialIndex{\bslash\macro at namepart}}%
-     \@tempa  \fi}
-\def\DoNotIndex{\begingroup \MakePrivateLetters
-    \catcode`\\12
-    \do at not@index}
-\long\def\do at not@index#1{%
-    \endgroup
-    \addto at hook\index at excludelist{#1,}}
-\long\def\addto at hook#1#2{#1\expandafter{\the#1#2}}
-\newtoks\index at excludelist
-\index at excludelist{}
-\begingroup
-\catcode`\|=0%
-\catcode`\\=12
-|gdef|ifnot at excluded{|expandafter
-     |expanded at notin|expandafter{|expandafter
-     \|macro at namepart,}{|the|index at excludelist}}
-|endgroup
-\def\expanded at notin#1#2{%
- \def\in@@##1#1##2##3\in@@{%
-  \ifx\expanded at notin##2}%
- \expandafter\in@@#2#1\expanded at notin\in@@}
-\@ifundefined{actualchar}{\def\actualchar{=}}{}
-\@ifundefined{quotechar}{\def\quotechar{!}}{}
-\@ifundefined{levelchar}{\def\levelchar{>}}{}
-\@ifundefined{encapchar}{\def\encapchar{|}}{}
-\@ifundefined{verbatimchar}{\def\verbatimchar{+}}{}
-\def\SpecialIndex#1{\@bsphack\special at index{\expandafter\@gobble
-                                      \string#1\actualchar
-      \string\verb\quotechar*\verbatimchar\string#1\verbatimchar}%
-    \@esphack}
+\def\@@doxdescribe#1#2{%
+    \endgroup%
+    \ifdox at noprint\else%
+      \marginpar{\nlctdocmarginfmt\@nameuse{PrintDescribe#1}{#2}}%
+    \fi%
+    \ifdox at noindex\else%
+      \@nameuse{Special#1Index}{#2}%
+    \fi%
+    \endgroup%
+\@esphack\ignorespaces}
 
-\def\SpecialMainIndex#1{\@bsphack\SpecialIndex@{#1}{\encapchar main}%
-                        \@esphack}
-\begingroup
- \catcode`\|=0
- \catcode`\\=12
- |gdef|@SpecialIndexHelper@#1#2|@nil{%
-   |if |noexpand#1\%
-     |gdef|@gtempa{#2}%
-   |else
-     |begingroup
-       |escapechar|m at ne
-       |expandafter|gdef|expandafter|@gtempa|expandafter{|string#1#2}%
-     |endgroup
-   |fi}
-|endgroup
-\def\SpecialIndex@#1#2{%
-   \@SpecialIndexHelper@#1\@nil
-   \def\@tempb{ }%
-   \ifcat \@tempb\@gtempa
-      \special at index{\quotechar\space\actualchar
-                     \string\verb\quotechar*\verbatimchar
-                     \quotechar\bslash\quotechar\space\verbatimchar#2}%
-   \else
-     \def\@tempb##1##2\relax{\ifx\relax##2\relax
-          \def\@tempc{\special at index{\quotechar##1\actualchar
-                      \string\verb\quotechar*\verbatimchar
-                      \quotechar\bslash\quotechar##1\verbatimchar#2}}%
-        \else
-          \def\@tempc{\special at index{##1##2\actualchar
-                       \string\verb\quotechar*\verbatimchar
-                       \bslash##1##2\verbatimchar#2}}%
-        \fi}%
-     \expandafter\@tempb\@gtempa\relax
-     \@tempc
-   \fi}
-\def\SpecialMainEnvIndex#1{\@bsphack\special at index{%
-                                      #1\actualchar
-                                      {\string\ttfamily\space#1}
-                                         (environment)%
-                                      \encapchar main}%
-    \special at index{environments:\levelchar#1\actualchar{%
-                   \string\ttfamily\space#1}\encapchar
-           main}\@esphack}
-\def\SpecialUsageIndex#1{\@bsphack
-   {\let\special at index\index\SpecialIndex@{#1}{\encapchar usage}}%
-   \@esphack}
-\def\SpecialEnvIndex#1{\@bsphack
-    \index{#1\actualchar{\protect\ttfamily#1}
-           (environment)\encapchar usage}%
-    \index{environments:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
-           usage}\@esphack}
-\def\SortIndex#1#2{\index{#1\actualchar#2}}
-\def\it at is@a#1{\special at index{\quotechar #1\actualchar
-                          \string\verb\quotechar*\verbatimchar
-                          \quotechar\bslash\quotechar#1\verbatimchar}}
-\@ifundefined{LeftBraceIndex}{\def\LeftBraceIndex{%
-   \special at index{\bgroup\actualchar\string\verb\quotechar*\verbatimchar
-          \quotechar\bslash{\verbatimchar\string\iffalse}\string\fi}}}{}
 
-\@ifundefined{RightBraceIndex}{\def\RightBraceIndex{%
- \special at index{\egroup\actualchar\string\iffalse{\string\fi\string\verb
-           \quotechar*\verbatimchar\quotechar\bslash}\verbatimchar}}}{}
-\@ifundefined{PercentIndex}
-  {\def\PercentIndex{\it at is@a\percentchar}}{}
-\def\OldMakeindex{\def\PercentIndex{%
-    \special at index{\quotechar\percentchar\actualchar\string\verb
-           \quotechar*\verbatimchar\quotechar\bslash
-           \percentchar\percentchar\verbatimchar}}}
-{\catcode`\%=12 \gdef\percentchar{%}}
-\newif\ifhave at multicol
-\IfFileExists{multicol.sty}{\have at multicoltrue
-                            \RequirePackage{multicol}%
-                           }{}
+\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
 
-\newdimen\IndexMin         \IndexMin       = 80pt
-\newcount\c at IndexColumns   \c at IndexColumns = 3
-\ifhave at multicol
-  \renewenvironment{theindex}
-    {%
-      \ifdef\chapter
-      {%
-        \index at prologue
-        \begin{multicols}\c at IndexColumns[][\IndexMin]%
-      }%
-      {%
-       \begin{multicols}\c at IndexColumns[\index at prologue][\IndexMin]%
-      }%
-      \IndexParms \let\item\@idxitem \ignorespaces}%
-    {\end{multicols}}
-\else
-  \typeout{Can't find multicol.sty -- will use normal index layout if
-     necessary.}
-  \def\theindex{\@restonecoltrue\if at twocolumn\@restonecolfalse\fi
-    \columnseprule \z@  \columnsep 35\p@
-    \twocolumn[\index at prologue]%
-    \IndexParms \let\item\@idxitem \ignorespaces}
-  \def\endtheindex{\if at restonecol\onecolumn\else\clearpage\fi}
-\fi
-\long\def\IndexPrologue#1{\@bsphack\def\index at prologue{#1}\@esphack}
-\@ifundefined{index at prologue}
-     {\def\index at prologue{\@ifundefined{chapter}{\section*{Index}}{\chapter*{Index}}%
+\providecommand\marg[1]{%
+  \allowbreak{\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
+\providecommand\oarg[1]{%
+  \allowbreak{\ttfamily[}\meta{#1}{\ttfamily]}}
+\providecommand\parg[1]{%
+  \allowbreak{\ttfamily(}\meta{#1}{\ttfamily)}}
+
+\def\PrintChanges{\@input@{\jobname.gls}%
+                  \global\let\PrintChanges\@empty}
+
+\let\RecordChanges\makeglossary
+
+\def\main#1{\underline{\hyperpage{#1}}}
+\def\usage#1{\textit{\hyperpage{#1}}}
+
+\def\SortIndex#1#2{\index{#1\actualchar#2\encapchar hyperpage}}
+
+\newcommand*{\SpecialPageIndex}[1]{\@bsphack
+  \index{#1\encapchar hyperpage}\@esphack}
+
+\renewcommand*\PageIndex{\makeindex
+               \codeline at indexfalse
+               \let\special at index\SpecialPageIndex}
+
+
+\ifdef\chapter
+{
+ \renewcommand*\glossary at prologue{%
+   \chapter*{{Change History}}%
+     \markboth{{Change History}}{{Change History}}%
+     \addcontentsline{toc}{chapter}{Change History}%
+     \raggedright\sloppy
+   }
+
+  \def\index at prologue{\chapter*{Index}%
                  \markboth{Index}{Index}%
+                 \addcontentsline{toc}{chapter}{Index}%
                  Numbers written in italic refer to the page
                  where the corresponding entry is described;
                  numbers underlined refer to the
@@ -574,47 +169,43 @@
                    pages
                  \fi
                  where the entry is used.
-                 }}{}
-\@ifundefined{IndexParms}
-    {\def\IndexParms{%
-       \parindent \z@
-       \columnsep 15pt
-       \parskip 0pt plus 1pt
-       \rightskip 15pt
-       \mathsurround \z@
-       \parfillskip=-15pt
-        \small
-       \def\@idxitem{\par\hangindent 30pt}%
-       \def\subitem{\@idxitem\hspace*{15pt}}%
-       \def\subsubitem{\@idxitem\hspace*{25pt}}%
-       \def\indexspace{\par\vspace{10pt plus 2pt minus 3pt}}%
-      }}{}
-\def\efill{\hfill\nopagebreak}%
-\def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip\z@ plus  1fill}%
-\def\dotfil{\leaders\hbox to.6em{\hss .\hss}\hfil}%
-\def\pfill{\unskip~\dotfill\penalty500\strut\nobreak
-               \dotfil~\ignorespaces}%
-\def\*{\leavevmode\lower.8ex\hbox{$\,\widetilde{\ }\,$}}
+                 }
 
-\@ifundefined{main}{\def\main#1{\underline{\hyperpage{#1}}}}{}
-\@ifundefined{usage}{\def\usage#1{\textit{\hyperpage{#1}}}}{}
+}
+{
+ \renewcommand*\glossary at prologue{%
+   \section*{{Change History}}%
+     \markboth{{Change History}}{{Change History}}%
+     \addcontentsline{toc}{section}{Change History}%
+     \raggedright\sloppy
+   }
 
-\def\PrintIndex{%
-  \addtolength{\textwidth}{\marginparwidth}%
-  \setlength{\marginparwidth}{0pt}%
-  \setlength\columnsep{20pt}%
-  \clearpage
-  \phantomsection
-  \@ifundefined{chapter}%
-    {\addcontentsline{toc}{section}{\indexname}}
-    {\addcontentsline{toc}{chapter}{\indexname}}%
-  \@input@{\jobname.ind}%
-                \global\let\PrintIndex\@empty}
-\def\changes{\@bsphack\begingroup\@sanitize
-   \catcode`\\\z@ \catcode`\ 10 \MakePercentIgnore
-   \changes@}
-\def\changes@#1#2#3{%
-  \protected at edef\@tempa{\noexpand\glossary{#1\levelchar
+  \def\index at prologue{\section*{Index}%
+                 \markboth{Index}{Index}%
+                 \addcontentsline{toc}{section}{Index}%
+                 Numbers written in italic refer to the page
+                 where the corresponding entry is described;
+                 numbers underlined refer to the
+                 \ifcodeline at index
+                   code line of the
+                 \fi
+                 definition; numbers in roman refer to the
+                 \ifcodeline at index
+                   code lines
+                 \else
+                   pages
+                 \fi
+                 where the entry is used.
+                 }
+}
+
+\ifwidecs
+\else
+  \setlength\marginparwidth{8pc}
+\fi
+
+\renewcommand*{\changes@}[3]{%
+  \protected at edef\@tempa{\noexpand\glossary{#1 (#2)\levelchar
                                  \ifx\saved at macroname\@empty
                                    \space
                                    \actualchar
@@ -629,395 +220,9 @@
                                  \fi
                                  :\levelchar #3}}%
   \@tempa\endgroup\@esphack}
-\def\saved at macroname{}
-\def\generalname{General}
-\let\RecordChanges\makeglossary
-\newdimen\GlossaryMin         \GlossaryMin       = 80pt
-\newcount\c at GlossaryColumns   \c at GlossaryColumns = 2
-\ifhave at multicol
-  \newenvironment{theglossary}{%
-    \begin{multicols}\c at GlossaryColumns
-                     [\glossary at prologue][\GlossaryMin]%
-    \GlossaryParms \let\item\@idxitem \ignorespaces}%
-   {\end{multicols}}
-\else
-  \newenvironment{theglossary}{%
-      \@restonecoltrue\if at twocolumn\@restonecolfalse\fi
-      \columnseprule \z@  \columnsep 35\p@
-      \twocolumn[\glossary at prologue]%
-      \GlossaryParms \let\item\@idxitem \ignorespaces}
-    {\if at restonecol\onecolumn\else\clearpage\fi}
-\fi
-\long\def\GlossaryPrologue#1{\@bsphack
-                             \def\glossary at prologue{#1}%
-                             \@esphack}
-\@ifundefined{glossary at prologue}
-     {\def\glossary at prologue{\section*{{Change History}}%
-                 \markboth{{Change History}}{{Change History}}%
-                 }}{}
-\@ifundefined{GlossaryParms}{\let\GlossaryParms\IndexParms}{}
-\def\PrintChanges{\@input@{\jobname.gls}%
-                  \global\let\PrintChanges\@empty}
-\newcommand\AlsoImplementation{%
-   \long\def\StopEventually##1{\@bsphack\gdef\Finale{##1%
-                  \check at checksum}%
-              \init at checksum
-              \@esphack}%
-         }
-\AlsoImplementation
-\def\OnlyDescription{\@bsphack\long\def\StopEventually##1{%
-           ##1\endinput}\@esphack}
-\let\Finale\relax
-\ifx\l at nohyphenation\undefined
-  \newlanguage\l at nohyphenation
-\fi
-\DeclareRobustCommand\meta[1]{%
-     \ensuremath\langle
-     \ifmmode \expandafter \nfss at text \fi
-     {%
-      \meta at font@select
-      \edef\meta at hyphen@restore
-        {\hyphenchar\the\font\the\hyphenchar\font}%
-      \hyphenchar\font\m at ne
-      \language\l at nohyphenation
-      #1\/%
-      \meta at hyphen@restore
-     }\ensuremath\rangle
-}
-\def\meta at font@select{\rmfamily\itshape}
-\def\IndexInput#1{%
-     \begingroup \macro at code
-   \frenchspacing \@vobeyspaces
-     \input{#1}\endmacrocode
-     \endgroup}
-\@ifundefined{ps at titlepage}
-    {\let\ps at titlepage=\ps at plain}{}
-\def\MakeShortVerb{%
-  \@ifstar
-    {\def\@shortvrbdef{\verb*}\@MakeShortVerb}%
-    {\def\@shortvrbdef{\verb}\@MakeShortVerb}}
-\def\@MakeShortVerb#1{%
-  \expandafter\ifx\csname cc\string#1\endcsname\relax
-    \@shortvrbinfo{Made }{#1}\@shortvrbdef
-    \add at special{#1}%
-    \expandafter
-    \xdef\csname cc\string#1\endcsname{\the\catcode`#1}%
-    \begingroup
-      \catcode`\~\active  \lccode`\~`#1%
-      \lowercase{%
-      \global\expandafter\let
-         \csname ac\string#1\endcsname~%
-      \expandafter\gdef\expandafter~\expandafter{\@shortvrbdef~}}%
-    \endgroup
-    \global\catcode`#1\active
-  \else
-    \@shortvrbinfo\@empty{#1 already}{\@empty\verb(*)}%
-  \fi}
-\def\DeleteShortVerb#1{%
-  \expandafter\ifx\csname cc\string#1\endcsname\relax
-    \@shortvrbinfo\@empty{#1 not}{\@empty\verb(*)}%
-  \else
-    \@shortvrbinfo{Deleted }{#1 as}{\@empty\verb(*)}%
-    \rem at special{#1}%
-    \global\catcode`#1\csname cc\string#1\endcsname
-    \global \expandafter\let \csname cc\string#1\endcsname \relax
-    \ifnum\catcode`#1=\active
-      \begingroup
-        \catcode`\~\active   \lccode`\~`#1%
-        \lowercase{%
-          \global\expandafter\let\expandafter~%
-          \csname ac\string#1\endcsname}%
-      \endgroup \fi \fi}
-\def\@shortvrbinfo#1#2#3{%
-  \PackageInfo{doc}{%
-     #1\expandafter\@gobble\string#2 a short reference
-                                          for \expandafter\string#3}}
-\def\add at special#1{%
-  \rem at special{#1}%
-  \expandafter\gdef\expandafter\dospecials\expandafter
-    {\dospecials \do #1}%
-  \expandafter\gdef\expandafter\@sanitize\expandafter
-    {\@sanitize \@makeother #1}}
-\def\rem at special#1{%
-  \def\do##1{%
-    \ifnum`#1=`##1 \else \noexpand\do\noexpand##1\fi}%
-  \xdef\dospecials{\dospecials}%
-  \begingroup
-    \def\@makeother##1{%
-      \ifnum`#1=`##1 \else \noexpand\@makeother\noexpand##1\fi}%
-    \xdef\@sanitize{\@sanitize}%
-  \endgroup}
-\def\MakeShortverb{\typeout{*** Switch to \noexpand\MakeShortVerb
-                         syntax, this is obsolete ***}\MakeShortVerb}
-\def\DeleteShortverb{\typeout{*** Switch to \noexpand\DeleteShortVerb
-                         syntax, this is obsolete ***}\DeleteShortVerb}
-\def\init at checksum{\relax
-    \global\bslash at cnt\z@}
-\def\check at checksum{\relax
-     \ifnum\check at sum=\z@
-       \typeout{**********************************}%
-       \typeout{* This macro file has no checksum!}%
-       \typeout{* The checksum should be \the\bslash at cnt!}%
-       \typeout{**********************************}%
-     \else
-       \ifnum\check at sum=\bslash at cnt
-         \typeout{*******************}%
-         \typeout{* Checksum passed *}%
-         \typeout{*******************}%
-       \else
-         \PackageError{doc}{Checksum not passed
-                    (\the\check at sum<>\the\bslash at cnt)}%
-          {The file currently documented seems to be wrong.^^J%
-           Try to get a correct version.}%
-       \fi
-     \fi
-     \global\check at sum\z@}
-\newcount\check at sum           \check at sum  = \z@
-\newcount\bslash at cnt          \bslash at cnt = \z@
-\def\CheckSum#1{\@bsphack\global\check at sum#1\relax\@esphack}
-\def\step at checksum{\global\advance\bslash at cnt\@ne}
-\def\CharacterTable{\begingroup \CharTableChanges \character at table}
-\begingroup
-  \catcode`\~=11
-  \gdef\character at table#1{\def\used~table{#1}%
-      \ifx\used~table\default~table
-           \typeout{***************************}%
-           \typeout{* Character table correct *}%
-           \typeout{***************************}%
-      \else
-         \PackageError{doc}{Character table corrupted}
-                           {\the\wrong at table}
-         \show\default~table
-         \show\used~table
-      \fi
-      \endgroup}
-  \global\let\CharTableChanges\@empty
-  \makeatother
-  \gdef\default~table
-     {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         \~}
-\endgroup
-  \newhelp\wrong at table{Some of the ASCII characters are corrupted.^^J
-            I now \string\show\space you both tables for comparison.}
-\newif\ifcodeline at index \codeline at indexfalse
-\let\CodelineNumbered\codeline at indextrue
-\def\codeline at wrindex#1{\if at filesw
-        \immediate\write\@indexfile
-            {\string\indexentry{#1}%
-            {\number\c at CodelineNo}}\fi}
-\let\special at index = \@gobble
-\def\CodelineIndex{\makeindex
-                   \codeline at indextrue
-                   \let\special at index\codeline at wrindex}
-\def\PageIndex{\makeindex
-               \codeline at indexfalse
-               \let\special at index\index}
-\newcount\c at CodelineNo  \c at CodelineNo\z@
-\@ifundefined{theCodelineNo}
-  {\ifx\selectfont\undefined
-     \def\theCodelineNo{\rmfamily\scriptsize\arabic{CodelineNo}}%
-   \else
-     \def\theCodelineNo{\reset at font\scriptsize\arabic{CodelineNo}}%
-   \fi}
-  {}
-       \tolerance=1000\relax
-{ \catcode`\"=12
-  \global\mathcode`\\="705C \global\mathcode`\@="7040 }
-\@ifundefined{DocstyleParms}{}{}
-\DocstyleParms     \let\DocstyleParms\relax
-\@ifundefined{AmSTeX}
-   {\def\AmSTeX{\leavevmode\hbox{$\mathcal A\kern-.2em\lower.376ex%
-        \hbox{$\mathcal M$}\kern-.2em\mathcal S$-\TeX}}}{}
-\@ifundefined{BibTeX}
-   {\def\BibTeX{{\rmfamily B\kern-.05em%
-    \textsc{i\kern-.025em b}\kern-.08em%
-    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}}{}
-\@ifundefined{SliTeX}
-   {\def\SliTeX{{\rmfamily S\kern-.06emL\kern-.18em\raise.32ex\hbox
-                {\scshape i}\kern -.03em\TeX}}}{}
-\@ifundefined{PlainTeX}{\def\PlainTeX{\textsc{Plain}\kern2pt\TeX}}{}
-\@ifundefined{Web}{\def\Web{\textsc{Web}}}{}
-\def\MakePercentIgnore{\catcode`\%9\relax}
-\def\MakePercentComment{\catcode`\%14\relax}
-\def\DocInput#1{\MakePercentIgnore\input{#1}\MakePercentComment}
-\def\GetFileInfo#1{%
-  \def\filename{#1}%
-  \def\@tempb##1 ##2 ##3\relax##4\relax{%
-    \def\filedate{##1}%
-    \def\fileversion{##2}%
-    \def\fileinfo{##3}}%
-  \edef\@tempa{\csname ver@#1\endcsname}%
-  \expandafter\@tempb\@tempa\relax? ? \relax\relax}
-\RequirePackage{dox}
-\AtBeginDocument{\MakeShortVerb{\|}}
-\DeclareFontShape{OT1}{cmtt}{bx}{n}{<-> ssub * cmtt/m/n}{}
-\DeclareFontFamily{OMS}{cmtt}{\skewchar\font 48}  % '60
-\DeclareFontShape{OMS}{cmtt}{m}{n}{<-> ssub * cmsy/m/n}{}
-\DeclareFontShape{OMS}{cmtt}{bx}{n}{<-> ssub * cmsy/b/n}{}
-\DeclareFontShape{OT1}{cmss}{m}{it}{<->ssub*cmss/m/sl}{}
-\CodelineNumbered
-\DisableCrossrefs
-\setlength{\textwidth}{355pt}
-\addtolength\marginparwidth{30pt}
-\addtolength\oddsidemargin{20pt}
-\addtolength\evensidemargin{20pt}
-\setcounter{StandardModuleDepth}{1}
-\def\cmd#1{\cs{\expandafter\cmd at to@cs\string#1}}
-\def\cmd at to@cs#1#2{\char\number`#2\relax}
-\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
-\providecommand\marg[1]{%
-  {\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
-\providecommand\oarg[1]{%
-  {\ttfamily[}\meta{#1}{\ttfamily]}}
-\providecommand\parg[1]{%
-  {\ttfamily(}\meta{#1}{\ttfamily)}}
-\def\oc at scan#1{%
-  \ifx\oc at bslash#1%
-                      \egroup\let\next\oc at bslash\else
-  \ifcat a\noexpand#1%
-                      #1\let\next\oc at scan\else
-  \ifx\oc at percent#1%
-                      \def\next{\char`\%\egroup}%
-  \else
-                      #1\let\next\egroup
-  \fi\fi\fi\next}
-\def\oc at bslash{\bgroup\oc at ttf\char`\\\oc at scan}%
-\def\oc at verb#1{%
-  \catcode`#1\active
-  \uccode`\~`#1%
-  \uppercase{\def~{{\oc at ttf\char`#1}}}}
-\begingroup
-  \obeyspaces%
-  \catcode`\/=\catcode`\\
-  /catcode`/\/active
-  /catcode`<=/catcode`{%
-  /catcode`>=/catcode`}%
-  /catcode`/{/active%
-  /catcode`/}/active%
-  /gdef/oldc< \end{oldcomments}>%
-  /gdef/begmac<    \begin{macrocode}>%
-  /gdef/obs</def <</oc at ttf/ >>>%
-/endgroup%
-\begingroup
-  \catcode`\/=\catcode`\\
-  \catcode`\\=13
-  /catcode`/|=/catcode`/%
-  /catcode`/%=13
-  /gdef/oldcomments{|
-    /makeatletter
-    /let/do/oc at verb/dospecials
-    /frenchspacing/@vobeyspaces/obs
-    /raggedright
-    /oc at verb/>|
-    /oc at verb/<|
-    /let\/oc at bslash
-    /let%/oc at percent
-    /obeylines
-    /parindent/z@
-    /ttfamily/expandafter/let/expandafter/oc at ttf/the/font
-    /rmfamily
-    /hfuzz/maxdimen
-    }
-/endgroup
-\begingroup
-  \sloppy%
-  \obeylines%
-  \gdef\oc at percent#1^^M{%
-    \ifvmode%
-    \def\commentline{#1}%
-    \ifx\commentline\oldc%
-    \end{oldcomments}%
-    \else%
-    \ifx\commentline\begmac%
-    \begin{macrocode}%
-    \else%
-    \leavevmode%
-    #1^^M%
-    \fi\fi%
-    \else%
-    {\oc at ttf\char`\%}#1^^M%
-    \fi}%
-\endgroup%
-\@addtoreset{CodelineNo}{part}
-\def\partname{File}
-\newcommand*{\DocInclude}[1]{%
-  \relax
-  \clearpage
-  \docincludeaux
-  \IfFileExists{#1.fdd}{\def\currentfile{#1.fdd}}{\def\currentfile{#1.dtx}}%
-  \ifnum\@auxout=\@partaux
-    \@latexerr{\string\include\space cannot be nested}\@eha
-  \else \@docinclude#1 \fi}
-\def\@docinclude#1 {\clearpage
-\if at filesw \immediate\write\@mainaux{\string\@input{#1.aux}}\fi
-\@tempswatrue\if at partsw \@tempswafalse\edef\@tempb{#1}\@for
-\@tempa:=\@partlist\do{\ifx\@tempa\@tempb\@tempswatrue\fi}\fi
-\if at tempswa \let\@auxout\@partaux \if at filesw
-\immediate\openout\@partaux #1.aux
-\immediate\write\@partaux{\relax}\fi
-\let\@ltxdoc at PrintIndex\PrintIndex
-\let\PrintIndex\relax
-\let\@ltxdoc at PrintChanges\PrintChanges
-\let\PrintChanges\relax
-\let\@ltxdoc at theglossary\theglossary
-\let\@ltxdoc at endtheglossary\endtheglossary
-\part{\currentfile}%
-  {\let\ttfamily\relax
-  \xdef\filekey{\filekey, \thepart={\ttfamily\currentfile}}}%
-\DocInput{\currentfile}%
-\let\PrintIndex\@ltxdoc at PrintIndex
-\let\PrintChanges\@ltxdoc at PrintChanges
-\let\theglossary\@ltxdoc at theglossary
-\let\endtheglossary\@ltxdoc at endtheglossary
-\clearpage
-\@writeckpt{#1}\if at filesw \immediate\closeout\@partaux \fi
-\else\@nameuse{cp@#1}\fi\let\@auxout\@mainaux}
-\gdef\codeline at wrindex#1{\if at filesw
-        \immediate\write\@indexfile
-            {\string\indexentry{#1}%
-            {\filesep\number\c at CodelineNo}}\fi}%
-\let\filesep\@empty
-\def\aalph#1{\@aalph{\csname c@#1\endcsname}}
-\def\@aalph#1{%
-  \ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or
-         j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or
-         t\or u\or v\or w\or x\or y\or z\or A\or B\or C\or
-         D\or E\or F\or G\or H\or I\or J\or K\or L\or M\or
-         N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or
-         X\or Y\or Z\else\@ctrerr\fi}
-\def\docincludeaux{%
-  \def\thepart{\aalph{part}}\def\filesep{\thepart-}%
-  \let\filekey\@gobble
-  \g at addto@macro\index at prologue{%
-    \gdef\@oddfoot{\parbox{\textwidth}{\strut\footnotesize
-       \raggedright{\bfseries File Key:} \filekey}}%
-    \let\@evenfoot\@oddfoot}%
-  \global\let\docincludeaux\relax
- \gdef\@oddfoot{%
-   \expandafter\ifx\csname ver@\currentfile\endcsname\relax
-    File \thepart: {\ttfamily\currentfile} %
-   \else
-    \GetFileInfo{\currentfile}%
-    File \thepart: {\ttfamily\filename} %
-    Date: \filedate\ %
-    Version \fileversion
-    \fi
-    \hfill\thepage}%
- \let\@evenfoot\@oddfoot}%
-\def\task#1#2{}
+
 \newcommand{\see}[2]{\emph{see} #1}
+
 \RecordChanges
 \PageIndex
 \CodelineNumbered
@@ -1173,7 +378,7 @@
 \fi
 
 \newcommand*{\appfmt}[1]{\texttt{#1}}
-\DeclareRobustCommand*{\iapp}[1]{\index{#1=\appfmt{#1}|hyperpage}}
+\DeclareRobustCommand*{\iapp}[1]{\index{#1=\appfmt{#1}\encapchar hyperpage}}
 \DeclareRobustCommand*{\app}[1]{\appfmt{#1}\iapp{#1}}
 
 \newcommand*{\qt}[1]{``#1''}
@@ -1186,8 +391,7 @@
 
 \newcommand*{\ics}[1]{\cs{#1}\SpecialMainIndex{#1}}
 
-\newcommand*{\icsopt}[2]{\index{#1
-options=\cs{#1} options>#2=\textsf{#2}|hyperpage}}
+\newcommand*{\icsopt}[2]{\index{#1 options\actualchar\cs{#1} options\levelchar#2\actualchar\textsf{#2}\encapchar hyperpage}}
 
 \newcommand*{\csopt}[2]{%
   \textsf{#2}%
@@ -1339,6 +543,7 @@
   \edef\aargh{\noexpand\HCode{\string&\string#x1F631;}}
 
   \newcommand*{\toTop}{\par\noindent\hyperlink{top}{Top}}
+
   \@ifundefined{chapter}
   {%
   \AtBeginDocument{%
@@ -1345,7 +550,7 @@
       \Configure{section}{\toTop\HCode{<h2 class="sectionHead">}}{}{}{}%
       \Configure{subsection}{\toTop\HCode{<h3 class="subsectionHead">}}{}{}{}%
       \Css{div.important { border : solid red; }}%
-      \hypertarget{top}{}%
+      \Css{div.verbatim { font-family: monospace; white-space: nowrap; text-align:left; clear:both; padding-top: 2ex; padding-bottom: 2ex;} }%
     }
   }%
   {%
@@ -1358,10 +563,33 @@
       \Configure{section}{\toTop\HCode{<h3 class="sectionHead">}}{}{}{}%
       \Configure{subsection}{\toTop\HCode{<h4 class="subsectionHead">}}{}{}{}%
       \Css{div.important { border : solid red; }}%
-      \hypertarget{top}{}%
+      \Css{div.verbatim { font-family: monospace; white-space: nowrap; text-align:left; clear:both; padding-top: 2ex; padding-bottom: 2ex;} }%
     }%
   }%
 
+  \providecommand*{\@maketitle}{%
+  \newpage
+  \null
+  \vskip 2em%
+  \begin{center}%
+  \let \footnote \thanks
+    {\LARGE \@title \par}%
+    \vskip 1.5em%
+    {\large
+      \lineskip .5em%
+      \begin{tabular}[t]{c}%
+        \@author
+      \end{tabular}\par}%
+    \vskip 1em%
+    {\large \@date}%
+  \end{center}%
+  \par
+  \vskip 1.5em%
+  }
+
+  \let\org at maketitle\maketitle
+  \def\maketitle{\hypertarget{top}{}\org at maketitle}
+
   \let\oldlabel\label
   \renewcommand*{\label}[1]{%
     \HCode{<a name=\string"#1\string">}\oldlabel{#1}%
@@ -1380,8 +608,15 @@
   \newcommand*{\submenu}[1]{\menu{-\textgreater #1}}
   \newcommand*{\listofexamples}{}
 
-  \renewcommand*{\meta}[1]{\emph{\textless #1\textgreater}}
+  \edef\nlcthlangle{\noexpand\HCode{\string&\string#x27E8;}}
+  \edef\nlcthrangle{\noexpand\HCode{\string&\string#x27E9;}}
 
+  \renewcommand*{\meta}[1]{%
+   \nlcthlangle\emph{#1}\nlcthrangle}
+
+
 \fi
 
+\AtBeginDocument{\MakeShortVerb{\|}}
+
 \endinput



More information about the tex-live-commits mailing list