home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / useful / text / tex / pastex / macros / latex2e / inputs / doc.sty < prev    next >
Text File  |  1994-06-14  |  29KB  |  755 lines

  1. %% 
  2. %% This is file `doc.sty', generated 
  3. %% on <1994/6/14> with the docstrip utility (2.2h).
  4. %% 
  5. %% The original source files were:
  6. %% 
  7. %% doc.dtx  (with options: `package')
  8. %% 
  9. %% Copyright 1994 the LaTeX3 project and the individual authors. 
  10. %% All rights reserved. For further copyright information see the file 
  11. %% legal.txt, and any other copyright indicated in this file. 
  12. %% 
  13. %% This file is part of the LaTeX2e system. 
  14. %% ---------------------------------------- 
  15. %% 
  16. %% This system is distributed in the hope that it will be useful, 
  17. %% but WITHOUT ANY WARRANTY; without even the implied warranty of 
  18. %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
  19. %% 
  20. %% 
  21. %% IMPORTANT NOTICE: 
  22. %% 
  23. %% For error reports in case of UNCHANGED versions see bugs.txt. 
  24. %% 
  25. %% Please do not request updates from us directly. Distribution is 
  26. %% done through Mail-Servers and TeX organizations. 
  27. %% 
  28. %% You are not allowed to change this file. 
  29. %% 
  30. %% You are allowed to distribute this file under the condition that 
  31. %% it is distributed together with all files mentioned in manifest.txt. 
  32. %% 
  33. %% If you receive only some of these files from someone, complain! 
  34. %% 
  35. %% You are NOT ALLOWED to distribute this file alone. You are NOT 
  36. %% ALLOWED to take money for the distribution or use of either this 
  37. %% file or a changed version, except for a nominal charge for copying 
  38. %% etc. 
  39. \NeedsTeXFormat{LaTeX2e}
  40.  \ProvidesPackage{doc}
  41.   [1994/06/09 v1.9r
  42.    Standard LaTeX documentation package (FMi)]
  43. %% \CharacterTable
  44. %%  {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
  45. %%   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
  46. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  47. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  48. %%   Dollar        \$     Percent       \%     Ampersand     \&
  49. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  50. %%   Asterisk      \*     Plus          \+     Comma         \,
  51. %%   Minus         \-     Point         \.     Solidus       \/
  52. %%   Colon         \:     Semicolon     \;     Less than     \<
  53. %%   Equals        \=     Greater than  \>     Question mark \?
  54. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  55. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  56. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  57. %%   Right brace   \}     Tilde         \~}
  58. %%
  59. %% Package `doc' to use with LaTeX 2e
  60. %% Copyright (C) 1989-1994 Frank Mittelbach, all rights reserved.
  61. \@ifundefined{macro@cnt}{}{\endinput}
  62. \catcode`\^^A=14
  63. \def\macrocode{\macro@code
  64.    \frenchspacing \@vobeyspaces
  65.    \xmacro@code}
  66. \def\macro@code{%
  67.    \topsep \MacrocodeTopsep
  68.    \@beginparpenalty \predisplaypenalty
  69.    \if@inlabel\leavevmode\fi
  70.    \trivlist \parskip \z@ \item[]%
  71.    \macro@font
  72.    \leftskip\@totalleftmargin \advance\leftskip\MacroIndent
  73.    \rightskip\z@ \parindent\z@ \parfillskip\@flushglue
  74.    \blank@linefalse \def\par{\ifblank@line
  75.                              \leavevmode\fi
  76.                              \blank@linetrue\@@par
  77.                              \penalty\interlinepenalty}
  78.    \obeylines
  79.    \let\do\do@noligs \verbatim@nolig@list
  80.    \let\do\@makeother \dospecials
  81.    \global\@newlistfalse
  82.    \global\@minipagefalse
  83.    \ifcodeline@index
  84.      \everypar{\global\advance\c@CodelineNo\@ne
  85.                \llap{\theCodelineNo\ \hskip\@totalleftmargin}%
  86.                \check@module}%
  87.    \else \everypar{\check@module}%
  88.    \fi
  89.    \init@crossref}
  90. \newif\ifblank@line
  91. \def\endmacrocode{%
  92.                  \ifpm@module \endgroup \pm@modulefalse \fi
  93.                  \everypar{}%
  94.                  \global\@inlabelfalse
  95.                  \endtrivlist
  96.                  \close@crossref}
  97. \@ifundefined{MacroFont}{%
  98.     \def\MacroFont{\math@fontsfalse\reset@font\small\ttfamily}%
  99.   }{}
  100. \@ifundefined{AltMacroFont}{%
  101.     \def\AltMacroFont{\math@fontsfalse\small
  102.                       \reset@font\slshape\ttfamily}%
  103.   }{}
  104. \let\macro@font=\MacroFont
  105. \def\check@module{%
  106.   \ifcheck@modules
  107.     \ifpm@module \endgroup \pm@modulefalse \fi
  108.     \expandafter\futurelet\expandafter\next\expandafter\ch@percent
  109.   \fi}
  110. \newif\ifpm@module
  111. \def\DontCheckModules{\check@modulesfalse}
  112. \def\CheckModules{\check@modulestrue}
  113. \newif\ifcheck@modules  \check@modulestrue
  114. \def\ch@percent{%
  115.   \if \percentchar\next
  116.     \expandafter\check@angle
  117.   \fi}
  118. \def\check@angle#1{\futurelet\next\ch@angle}
  119. \begingroup
  120. \catcode`\<\active
  121. \gdef\ch@angle{\ifx<\next
  122.     \expandafter\ch@plus@etc
  123.   \else \percentchar \fi}
  124. \gdef\ch@plus@etc<{\futurelet\next\check@plus@etc}
  125. \endgroup
  126. \def\check@plus@etc{%
  127.     \if +\next
  128.       \let\next\pm@module
  129.     \else\if -\next
  130.       \let\next\pm@module
  131.     \else\if *\next
  132.       \let\next\star@module
  133.     \else\if /\next
  134.       \let\next\slash@module
  135.     \else
  136.       \let\next\pm@module
  137.     \fi\fi\fi\fi
  138.     \next}
  139. \begingroup
  140. \catcode`\~=\active
  141. \lccode`\~=`\>
  142. \lowercase{\gdef\pm@module#1~}{\pm@moduletrue
  143.    \Module{#1}\begingroup
  144.      \advance\guard@level\@ne
  145.      \ifnum\guard@level>\c@StandardModuleDepth\AltMacroFont\fi
  146. }
  147. \lowercase{\gdef\star@module#1~}{%
  148.   \Module{#1}%
  149.   \global \advance \guard@level\@ne
  150.   \ifnum \guard@level>\c@StandardModuleDepth
  151.     \global\let\macro@font=\AltMacroFont \macro@font
  152.   \fi}
  153. \catcode`\>=\active
  154. \gdef\slash@module#1>{%
  155.   \Module{#1}%
  156.   \global \advance \guard@level\m@ne
  157.   \ifnum \guard@level=\c@StandardModuleDepth
  158.     \global\let\macro@font\MacroFont  \macro@font
  159.   \fi
  160. }
  161. \endgroup
  162. \newcounter{StandardModuleDepth}
  163. \newcount \guard@level
  164. \@ifundefined{Module}{%
  165.       \def\Module#1{\mod@math@codes$\langle\mathsf{#1}\rangle$}
  166.   }{}
  167. \def\mod@math@codes{\mathcode`\|="226A \mathcode`\&="2026}
  168. \newskip\MacrocodeTopsep \MacrocodeTopsep = 3pt plus 1.2pt minus 1pt
  169. \newdimen\MacroIndent
  170. \settowidth\MacroIndent{\rmfamily\scriptsize 00\ }
  171. \@namedef{macrocode*}{\macro@code\sxmacro@code}
  172. \expandafter\let\csname endmacrocode*\endcsname = \endmacrocode
  173. \catcode`\!=\catcode`\%   ^^A In this section there must not be
  174.                               ^^A any exclamation marks.
  175.                               ^^A
  176. \begingroup
  177. \catcode`\|=\z@ \catcode`\[=\@ne \catcode`\]=\tw@
  178. \catcode`\{=12 \catcode`\}=12
  179. \catcode`\%=12 \catcode`\ =\active \catcode`\\=\active
  180. !%    \end{macrocode*}
  181. !    Next follows the actual definition of  |\macro@code|;
  182. !    notice the
  183. !    use of the new escape character.  We manage to get the argument
  184. !    surrounded by the string |\end{macrocode}|, but at the end
  185. !    however, in spite of the actual characters used during the
  186. !    definition of
  187. !    this macro, |\end| with the argument |{macrocode}|
  188. !    will be executed, to ensure a balanced environment.
  189. !    \begin{macrocode*}
  190. |gdef|xmacro@code#1%    \end{macrocode}[#1|end[macrocode]]
  191. !%    \end{macrocode*}
  192. ! \begin{macro}{\sxmacro@code}
  193. !    The definition of |\sxmacro@code| is completely analogous,
  194. !    only
  195. !    here a slightly different terminating string will be used.
  196. !    Note that the space is not active in this environment.
  197. !    \begin{macrocode}
  198. |catcode`| =12
  199. |gdef|sxmacro@code#1%    \end{macrocode*}[#1|end[macrocode*]]
  200. !%    \end{macrocode}
  201. !    because the |\catcode| changes have been made local by
  202. !    commencing a
  203. !    new group, there now follows the matching |\endgroup|
  204. !    in a rather
  205. !    unusual style of writing.
  206. !    \begin{macrocode}
  207. |endgroup
  208. !%    \end{macrocode}
  209. \catcode`\!=12
  210. \def\DescribeMacro{\leavevmode\@bsphack
  211.    \begingroup\MakePrivateLetters\Describe@Macro}
  212. \def\Describe@Macro#1{\endgroup
  213.               \marginpar{\raggedleft\PrintDescribeMacro{#1}}%
  214.               \SpecialUsageIndex{#1}\@esphack\ignorespaces}
  215. \def\DescribeEnv{\leavevmode\@bsphack\begingroup\MakePrivateLetters
  216.   \Describe@Env}
  217. \def\Describe@Env#1{\endgroup
  218.               \marginpar{\raggedleft\PrintDescribeEnv{#1}}%
  219.               \SpecialEnvIndex{#1}\@esphack\ignorespaces}
  220. \reversemarginpar
  221. \setlength\marginparpush{0pt}  \setlength\marginparwidth{8pc}
  222. {\catcode`\|=\z@ \catcode`\\=12
  223. |gdef|bslash{\}}
  224. \def\verbatim{\@beginparpenalty \predisplaypenalty \@verbatim
  225.               \MacroFont \frenchspacing \@vobeyspaces \@xverbatim}
  226. \@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim
  227.               \MacroFont \@sxverbatim}
  228. \def\@verba