home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
useful
/
dist
/
text
/
tex
/
pastex
/
macros
/
latex
/
nfss2
/
doc.sty
< prev
next >
Wrap
Text File
|
1993-08-05
|
27KB
|
704 lines
%%
%% This is file `doc.sty', generated
%% on <1993/2/23> with the docstrip utility (2.1b).
%%
%% The original source files were:
%%
%% doc.doc (with options: `style')
%%
%% Copyright (C) 1989-1993 by Frank Mittelbach. All rights reserved.
%%
%% This file is part of the NFSS2 package.
%%
%% IMPORTANT NOTICE:
%%
%% You are not allowed to change this file.
%%
%% This file is distributed with NFSS2 until the newest release of the
%% DOC package is available.
%%
%% NFSS2 installation routines need doc.sty 1.7o or later. If you
%% already got a newer release delete this copy.
%%
\def\fileversion{v1.7o}
\def\filedate{93/05/15}
\def\docdate {93/05/15}
%% \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 \~}
%%
%% Copyright (C) 1989-1993 Frank Mittelbach, all rights reserved.
\@ifundefined{macro@cnt}{}{\endinput} \typeout{Style-Option: `doc'
\fileversion \@spaces\space\space <\filedate> (FMi)} \typeout{English
Documentation \@spaces\@spaces\space <\docdate> (DLo, FMi, RMCS)}
\catcode`\^^A=14
\def\macrocode{\macro@code
\frenchspacing \@vobeyspaces
\xmacro@code}
\def\macro@code{%
\topsep \MacrocodeTopsep
\@beginparpenalty \predisplaypenalty
\trivlist \parskip \z@ \item[]%
\macro@font
\leftskip\@totalleftmargin \advance\leftskip\MacroIndent
\rightskip\z@ \parindent\z@ \parfillskip\@flushglue
\blank@linefalse \def\par{\ifblank@line
\leavevmode\fi
\blank@linetrue\@@par
\penalty\interlinepenalty}
\obeylines \let\do\@makeother \catcode`\`\active \@noligs \dospecials
\global\@newlistfalse
\global\@minipagefalse
\ifcodeline@index
\everypar{\global\advance\c@CodelineNo\@ne
\llap{\theCodelineNo\ \hskip\@totalleftmargin}%
\check@module}%
\else \everypar{\check@module}%
\fi
\init@crossref}
\newif\ifblank@line
\def\endmacrocode{%
\ifpm@module \endgroup \pm@modulefalse \fi
\everypar{}%
\global\@inlabelfalse
\endtrivlist
\close@crossref}
\@ifundefined{MacroFont}{%
\ifx\undefined\selectfont
\def\MacroFont{\small\tt}\else
\def\MacroFont{\math@fontsfalse\reset@font\small\tt}\fi
}{}
\@ifundefined{AltMacroFont}{%
\ifx\undefined\selectfont
\def\AltMacroFont{\small\tt}\else
\def\AltMacroFont{\math@fontsfalse\small\reset@font\sl\tt}\fi
}{}
\let\macro@font=\MacroFont
\def\check@module{%
\ifcheck@modules
\ifpm@module \endgroup \pm@modulefalse \fi
\expandafter\futurelet\expandafter\next\expandafter\ch@percent
\fi}
\newif\ifpm@module
\def\DontCheckModules{\check@modulesfalse}
\def\CheckModules{\check@modulestrue}
\newif\ifcheck@modules \check@modulestrue
\def\ch@percent{%
\if \percentchar\next
\expandafter\check@angle
\fi}
\def\check@angle#1{\futurelet\next\ch@angle}
\def\ch@angle{\if<\next
\expandafter\ch@plus@etc
\else \percentchar \fi}
\def\ch@plus@etc<{\futurelet\next\check@plus@etc}
\def\check@plus@etc{%
\if +\next
\let\next\pm@module
\else\if -\next
\let\next\pm@module
\else\if *\next
\let\next\star@module
\else\if /\next
\let\next\slash@module
\else
\let\next\pm@module
\fi\fi\fi\fi
\next}
\def\pm@module#1>{\pm@moduletrue
\Module{#1}\begingroup
\advance\guard@level\@ne
\ifnum\guard@level>\c@StandardModuleDepth\AltMacroFont\fi
}
\def\star@module#1>{%
\Module{#1}%
\global \advance \guard@level\@ne
\ifnum \guard@level>\c@StandardModuleDepth
\global\let\macro@font=\AltMacroFont \macro@font
\fi}
\def\slash@module#1>{%
\Module{#1}%
\global \advance \guard@level\m@ne
\ifnum \guard@level=\c@StandardModuleDepth
\global\let\macro@font\MacroFont \macro@font
\fi
}
\newcounter{StandardModuleDepth}
\newcount \guard@level
\@ifundefined{Module}{%
\ifx\undefined\selectfont
\def\Module#1{{\mod@math@codes$\fam\sffam\langle #1\rangle$}}
\else
\expandafter\ifx\csname ds@nfoldfnt\endcsname\relax
\def\Module#1{{\mod@math@codes$\langle\mathsf{#1}\rangle$}}
\else
\def\Module#1{{\mod@math@codes$\langle{\mathsf #1}\rangle$}}
\fi
\fi}{}
\def\mod@math@codes{\mathcode`\|="226A \mathcode`\&="2026}
\ifx\selectfont\undefined
\else
\ifx\mathsf\undefined
\newmathalphabet*{\mathsf}{\sfdefault}{m}{n}\fi
\fi
\newskip\MacrocodeTopsep \MacrocodeTopsep = 3pt plus 1.2pt minus 1pt
\newdimen\MacroIndent
\settowidth\MacroIndent{\rm\scriptsize 00\ }
\@namedef{macrocode*}{\macro@code\sxmacro@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 \verb+\macro@code+;
! notice the
! use of the new escape character. We manage to get the argument
! surrounded by the string \verb+\end{macrocode}+, but at the end
! however, in spite of the actual characters used during the
! definition of
! this macro, \verb+\end+ with the argument \verb+{macrocode}+
! will be executed, to ensure a balanced environment.
! \begin{macrocode*}
|gdef|xmacro@code#1% \end{macrocode}[#1|end[macrocode]]
!% \end{macrocode*}
! \begin{macro}{\sxmacro@code}
! The definition of \verb+\sxmacro@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@code#1% \end{macrocode*}[#1|end[macrocode*]]
!% \end{macrocode}
! because the \verb+\catcode+ changes have been made local by
! commencing a
! new group, there now follows the matching \verb+\endgroup+
! in a rather
! unusual style of writing.
! \begin{macrocode}
|endgroup
!% \end{macrocode}
\catcode`\!=12
\def\DescribeMacro{\leavevmode\@bsphack
\begingroup\MakePrivateLetters\Describe@Macro}
\def\Describe@Macro#1{\endgroup
\marginpar{\raggedleft\PrintDescribeMacro{#1}}%
\SpecialUsageIndex{#1}\@esphack\ignorespaces}
\def\DescribeEnv{\leavevmode\@bsphack\begingroup\MakePrivateLetters
\Describe@Env}
\def\Describe@Env#1{\endgroup
\marginpar{\raggedleft\PrintDescribeEnv{#1}}%
\SpecialEnvIndex{#1}\@esphack\ignorespaces}
\reversemarginpar
\setlength\marginparpush{0pt} \setlength\marginparwidth{8pc}
{\catcode`\|=\z@ \catcode`\\=12
|gdef|bslash{\}}
\def\verbatim{\@beginparpenalty \predisplaypenalty \@verbatim
\MacroFont \frenchspacing \@vobeyspaces \@xverbatim}
\@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim
\MacroFont \@sxverbatim}
\def\@verbatim{\trivlist \item[]\if@minipage\else\vskip\parskip\fi
\leftskip\@totalleftmargin\rightskip\z@
\parindent\z@\parfillskip\@flushglue\parskip\z@
\@@par
\@tempswafalse
\def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par
\penalty\interlinepenalty
\check@percent}%
\obeylines \catcode`\`\active \@noligs \let\do\@makeother
\dospecials}
{\catcode`\%=12
\long\gdef\check@percent