home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / useful / text / tex / pastex / macros / misc / doc.sty < prev    next >
Text File  |  1994-05-20  |  29KB  |  742 lines

  1. %% 
  2. %% This is file `doc.sty', generated 
  3. %% on <1994/5/20> with the docstrip utility (2.0r).
  4. %% 
  5. %% The original source files were:
  6. %% 
  7. %% doc.doc  (with options: `style,multicol')
  8. %% 
  9. %% Copyright (C) 1989-1992 by Frank Mittelbach. All rights reserved. 
  10. %% 
  11. %% This file is part of the doc package. 
  12. %% 
  13. %% IMPORTANT NOTICE: 
  14. %% 
  15. %% You are not allowed to change this file. You may however copy 
  16. %% this file to a file with a different name and then change the 
  17. %% copy if you obey the restrictions on file changes described in 
  18. %% readme.mz. 
  19. %% 
  20. %% You are NOT ALLOWED to distribute this file alone. You are NOT 
  21. %% ALLOWED to take money for the distribution or use of this file 
  22. %% (or a changed version) except for a nominal charge for copying 
  23. %% etc. 
  24. %% 
  25. %% You are allowed to distribute this file under the condition that 
  26. %% it is distributed together with all files mentioned in 
  27. %% readme.mz0. 
  28. %% 
  29. %% If you receive only some of these files from someone, complain! 
  30. %% 
  31. %% However, if these files are distributed by established suppliers 
  32. %% as part of a complete TeX distribution, and the structure of the 
  33. %% distribution would make it difficult to distribute the whole set 
  34. %% of files, *those parties* are allowed to distribute only some of 
  35. %% the files provided that it is made clear that the user will get 
  36. %% a complete distribution-set upon request to that supplier (not 
  37. %% me). Notice that this permission is not granted to the end 
  38. %% user. 
  39. %% 
  40. %% 
  41. %% For error reports in case of UNCHANGED versions see readme.mz 
  42. %% 
  43. %% 
  44.  
  45. \def\fileversion{v1.7k}
  46. \def\filedate{92/08/24}
  47. \def\docdate {92/08/28}
  48.  
  49. %% \CharacterTable
  50. %%  {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
  51. %%   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
  52. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  53. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  54. %%   Dollar        \$     Percent       \%     Ampersand     \&
  55. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  56. %%   Asterisk      \*     Plus          \+     Comma         \,
  57. %%   Minus         \-     Point         \.     Solidus       \/
  58. %%   Colon         \:     Semicolon     \;     Less than     \<
  59. %%   Equals        \=     Greater than  \>     Question mark \?
  60. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  61. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  62. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  63. %%   Right brace   \}     Tilde         \~}
  64. %%
  65.  
  66. %% Copyright (C) 1989-1992 Frank Mittelbach, all rights reserved.
  67. %%% \CharacterTable
  68. %%%  {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
  69. %%%   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
  70. %%%   Digits        \0\1\2\3\4\5\6\7\8\9
  71. %%%   Exclamation   \!     Double quote  \"     Hash (number) \#
  72. %%%   Dollar        \$     Percent       \%     Ampersand     \&
  73. %%%   Acute accent  \'     Left paren    \(     Right paren   \)
  74. %%%   Asterisk      \*     Plus          \+     Comma         \,
  75. %%%   Minus         \-     Point         \.     Solidus       \/
  76. %%%   Colon         \:     Semicolon     \;     Less than     \<
  77. %%%   Equals        \=     Greater than  \>     Question mark \?
  78. %%%   Commercial at \@     Left bracket  \[     Backslash     \\
  79. %%%   Right bracket \]     Circumflex    \^     Underscore    \_
  80. %%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  81. %%%   Right brace   \}     Tilde         \~}
  82. %%%
  83. \@ifundefined{macro@cnt}{}{\endinput} \typeout{Style-Option: `doc'
  84. \fileversion \@spaces\space\space <\filedate> (FMi)} \typeout{English
  85.    Documentation \@spaces\@spaces\space <\docdate> (DLo, FMi, RMCS)}
  86. \catcode`\^^A=14
  87. \def\macrocode{\macro@code
  88.    \frenchspacing \@vobeyspaces
  89.    \xmacro@code}
  90. \def\macro@code{%
  91.    \topsep \MacrocodeTopsep
  92.    \@beginparpenalty \predisplaypenalty
  93.    \trivlist \parskip \z@ \item[]%
  94.    \macro@font
  95.    \leftskip\@totalleftmargin \advance\leftskip\MacroIndent
  96.    \rightskip\z@ \parindent\z@ \parfillskip\@flushglue
  97.    \blank@linefalse \def\par{\ifblank@line
  98.                              \leavevmode\fi
  99.                              \blank@linetrue\@@par
  100.                              \penalty\interlinepenalty}
  101.    \obeylines \let\do\@makeother \catcode`\`\active \@noligs \dospecials
  102.    \global\@newlistfalse
  103.    \global\@minipagefalse
  104.    \ifcodeline@index
  105.      \everypar{\global\advance\c@CodelineNo\@ne
  106.                \llap{\theCodelineNo\ \hskip\@totalleftmargin}%
  107.                \check@module}%
  108.    \else \everypar{\check@module}%
  109.    \fi
  110.    \init@crossref}
  111. \newif\ifblank@line
  112. \def\endmacrocode{%
  113.                  \ifpm@module \endgroup \pm@modulefalse \fi
  114.                  \everypar{}%
  115.                  \global\@inlabelfalse
  116.                  \endtrivlist
  117.                  \close@crossref}
  118. \@ifundefined{MacroFont}{%
  119.   \ifx\undefined\selectfont
  120.     \def\MacroFont{\small\tt}\else
  121.     \def\MacroFont{\math@fontsfalse\reset@font\small\tt}\fi
  122.   }{}
  123. \@ifundefined{AltMacroFont}{%
  124.   \ifx\undefined\selectfont
  125.     \def\AltMacroFont{\small\tt}\else
  126.     \def\AltMacroFont{\math@fontsfalse\small\reset@font\it\tt}\fi
  127.   }{}
  128. \let\macro@font=\MacroFont
  129. \def\check@module{%
  130.   \ifcheck@modules
  131.     \ifpm@module \endgroup \pm@modulefalse \fi
  132.     \expandafter\futurelet\expandafter\next\expandafter\ch@percent
  133.   \fi}
  134. \newif\ifpm@module
  135. \def\DontCheckModules{\check@modulesfalse}
  136. \def\CheckModules{\check@modulestrue}
  137. \newif\ifcheck@modules  \check@modulestrue
  138. \def\ch@percent{%
  139.   \if \percentchar\next
  140.     \expandafter\check@angle
  141.   \fi}
  142. \def\check@angle#1{\futurelet\next\ch@angle}
  143. \def\ch@angle{\if<\next
  144.     \expandafter\ch@plus@etc
  145.   \else \percentchar \fi}
  146. \def\ch@plus@etc<{\futurelet\next\check@plus@etc}
  147. \def\check@plus@etc{%
  148.     \if +\next
  149.       \let\next\pm@module
  150.     \else\if -\next
  151.       \let\next\pm@module
  152.     \else\if *\next
  153.       \let\next\star@module
  154.     \else\if /\next
  155.       \let\next\slash@module
  156.     \else
  157.       \let\next\pm@module
  158.     \fi\fi\fi\fi
  159.     \next}
  160. \def\pm@module#1>{\pm@moduletrue
  161.    \Module{#1}\begingroup
  162.      \advance\guard@level\@ne
  163.      \ifnum\guard@level>\c@StandardModuleDepth\AltMacroFont\fi
  164. }
  165. \def\star@module#1>{%
  166.   \Module{#1}%
  167.   \global \advance \guard@level\@ne
  168.   \ifnum \guard@level>\c@StandardModuleDepth
  169.     \global\let\macro@font=\AltMacroFont \macro@font
  170.   \fi}
  171. \def\slash@module#1>{%
  172.   \Module{#1}%
  173.   \global \advance \guard@level\m@ne
  174.   \ifnum \guard@level=\c@StandardModuleDepth
  175.     \global\let\macro@font\MacroFont  \macro@font
  176.   \fi
  177. }
  178. \newcounter{StandardModuleDepth}
  179. \newcount \guard@level
  180. \@ifundefined{Module}{%
  181.   \ifx\undefined\selectfont
  182.     \def\Module#1{{\mod@math@codes$\fam\sffam\langle #1\rangle$}}
  183.   \else
  184.     \expandafter\ifx\csname ds@oldlfont\endcsname\relax
  185.       \def\Module#1{{\mod@math@codes$\langle\sfmath{#1}\rangle$}}
  186.     \else
  187.       \def\Module#1{{\mod@math@codes$\langle{\sfmath #1}\rangle$}}
  188.     \fi
  189.   \fi}{}
  190. \def\mod@math@codes{\mathcode`\|="226A \mathcode`\&="2026}
  191. \ifx\selectfont\undefined
  192. \else
  193.   \ifx\sfmath\undefined
  194.     \newmathalphabet*{\sfmath}{\sfdefault}{m}{n}\fi
  195. \fi
  196. \newskip\MacrocodeTopsep \MacrocodeTopsep = 3pt plus 1.2pt minus 1pt
  197. \newdimen\MacroIndent
  198. \settowidth\MacroIndent{\rm\scriptsize 00\ }
  199. \@namedef{macrocode*}{\macro@code\sxmacro@code}
  200. \expandafter\let\csname endmacrocode*\endcsname = \endmacrocode
  201. \catcode`\!=\catcode`\%   ^^A In this section there must not be
  202.                               ^^A any exclamation marks.
  203.                               ^^A
  204. \begingroup
  205. \catcode`\|=\z@ \catcode`\[=\@ne \catcode`\]=\tw@
  206. \catcode`\{=12 \catcode`\}=12
  207. \catcode`\%=12 \catcode`\ =\active \catcode`\\=\active
  208. !%    \end{macrocode*}
  209. !    Next follows the actual definition of  \verb+\macro@code+;
  210. !    notice the
  211. !    use of the new escape character.  We manage to get the argument
  212. !    surrounded by the string \verb+\end{macrocode}+, but at the end
  213. !    however, in spite of the actual characters used during the
  214. !    definition of
  215. !    this macro, \verb+\end+ with the argument \verb+{macrocode}+
  216. !    will be executed, to ensure a balanced environment.
  217. !    \begin{macrocode*}
  218. |gdef|xmacro@code#1%    \end{macrocode}[#1|end[macrocode]]
  219. !%    \end{macrocode*}
  220. ! \begin{macro}{\sxmac