diff -r 751b8a13c271 -r 422186a35be8 src/Tools/isac/Doc/comment.sty --- a/src/Tools/isac/Doc/comment.sty Thu Apr 08 13:09:44 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,278 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Comment.sty version 3.6, October 1999 -% -% Purpose: -% selectively in/exclude pieces of text: the user can define new -% comment versions, and each is controlled separately. -% Special comments can be defined where the user specifies the -% action that is to be taken with each comment line. -% -% Author -% Victor Eijkhout -% Department of Computer Science -% University of Tennessee -% 107 Ayres Hall -% Knoxville TN 37996 -% USA -% -% victor@eijkhout.net -% -% This program is free software; you can redistribute it and/or -% modify it under the terms of the GNU General Public License -% as published by the Free Software Foundation; either version 2 -% of the License, or (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% For a copy of the GNU General Public License, write to the -% Free Software Foundation, Inc., -% 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, -% or find it on the net, for instance at -% http://www.gnu.org/copyleft/gpl.html -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% This style can be used with plain TeX or LaTeX, and probably -% most other packages too. -% -% Usage: all text included between -% \comment ... \endcomment -% or \begin{comment} ... \end{comment} -% is discarded. -% -% The opening and closing commands should appear on a line -% of their own. No starting spaces, nothing after it. -% This environment should work with arbitrary amounts -% of comment, and the comment can be arbitrary text. -% -% Other `comment' environments are defined by -% and are selected/deselected with -% \includecomment{versiona} -% \excludecoment{versionb} -% -% These environments are used as -% \versiona ... \endversiona -% or \begin{versiona} ... \end{versiona} -% with the opening and closing commands again on a line of -% their own. -% -% LaTeX users note: for an included comment, the -% \begin and \end lines act as if they don't exist. -% In particular, they don't imply grouping, so assignments -% &c are not local. -% -% Special comments are defined as -% \specialcomment{name}{before commands}{after commands} -% where the second and third arguments are executed before -% and after each comment block. You can use this for global -% formatting commands. -% To keep definitions &c local, you can include \begingroup -% in the `before commands' and \endgroup in the `after commands'. -% ex: -% \specialcomment{smalltt} -% {\begingroup\ttfamily\footnotesize}{\endgroup} -% You do *not* have to do an additional -% \includecomment{smalltt} -% To remove 'smalltt' blocks, give \excludecomment{smalltt} -% after the definition. -% -% Processing comments can apply processing to each line. -% \processcomment{name}{each-line commands}% -% {before commands}{after commands} -% By defining a control sequence -% \def\Thiscomment##1{...} in the before commands the user can -% specify what is to be done with each comment line. -% BUG this does not work quite yet BUG -% -% Trick for short in/exclude macros (such as \maybe{this snippet}): -%\includecomment{cond} -%\newcommand{\maybe}[1]{} -%\begin{cond} -%\renewcommand{\maybe}[1]{#1} -%\end{cond} -% -% Basic approach of the implementation: -% to comment something out, scoop up every line in verbatim mode -% as macro argument, then throw it away. -% For inclusions, in LaTeX the block is written out to -% a file \CommentCutFile (default "comment.cut"), which is -% then included. -% In plain TeX (and other formats) both the opening and -% closing comands are defined as noop. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Changes in version 3.1 -% - updated author's address -% - cleaned up some code -% - trailing contents on \begin{env} line is always discarded -% even if you've done \includecomment{env} -% - comments no longer define grouping!! you can even -% \includecomment{env} -% \begin{env} -% \begin{itemize} -% \end{env} -% Isn't that something ... -% - included comments are written to file and input again. -% Changes in 3.2 -% - \specialcomment brought up to date (thanks to Ivo Welch). -% Changes in 3.3 -% - updated author's address again -% - parametrised \CommentCutFile -% Changes in 3.4 -% - added GNU public license -% - added \processcomment, because Ivo's fix (above) brought an -% inconsistency to light. -% Changes in 3.5 -% - corrected typo in header. -% - changed author email -% - corrected \specialcomment yet again. -% - fixed excludecomment of an earlier defined environment. -% Changes in 3.6 -% - The 'cut' file is now written more verbatim, using \meaning; -% some people reported having trouble with ISO latin 1, or umlaute.sty. -% - removed some \newif statements. -% Has this suddenly become \outer again? -% -% Known bugs: -% - excludecomment leads to one superfluous space -% - processcomment leads to a superfluous line break -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\makeinnocent#1{\catcode`#1=12 } -\def\csarg#1#2{\expandafter#1\csname#2\endcsname} -\def\latexname{lplain}\def\latexename{LaTeX2e} -\newwrite\CommentStream -\def\CommentCutFile{comment.cut} - -\def\ProcessComment#1% start it all of - {\begingroup - \def\CurrentComment{#1}% - \let\do\makeinnocent \dospecials - \makeinnocent\^^L% and whatever other special cases - \endlinechar`\^^M \catcode`\^^M=12 \xComment} -%\def\ProcessCommentWithArg#1#2% to be used in \leveledcomment -% {\begingroup -% \def\CurrentComment{#1}% -% \let\do\makeinnocent \dospecials -% \makeinnocent\^^L% and whatever other special cases -% \endlinechar`\^^M \catcode`\^^M=12 \xComment} -{\catcode`\^^M=12 \endlinechar=-1 % - \gdef\xComment#1^^M{% - \expandafter\ProcessCommentLine} - \gdef\ProcessCommentLine#1^^M{\def\test{#1} - \csarg\ifx{End\CurrentComment Test}\test - \edef\next{\noexpand\EndOfComment{\CurrentComment}}% - \else \ThisComment{#1}\let\next\ProcessCommentLine - \fi \next} -} - -\def\CSstringmeaning#1{\expandafter\CSgobblearrow\meaning#1} -\def\CSstringcsnoescape#1{\expandafter\CSgobbleescape\string#1} -{\escapechar-1 -\expandafter\expandafter\expandafter\gdef - \expandafter\expandafter\expandafter\CSgobblearrow - \expandafter\string\csname macro:->\endcsname{} -} -\def\CSgobbleescape#1{\ifnum`\\=`#1 \else #1\fi} -\def\WriteCommentLine#1{\def\CStmp{#1}% - \immediate\write\CommentStream{\CSstringmeaning\CStmp}} - -% 3.1 change: in LaTeX and LaTeX2e prevent grouping -\if 0% -\ifx\fmtname\latexename - 0% -\else \ifx\fmtname\latexname - 0% - \else - 1% -\fi \fi -%%%% -%%%% definitions for LaTeX -%%%% -\def\AfterIncludedComment - {\immediate\closeout\CommentStream - \input{\CommentCutFile}\relax - }% -\def\TossComment{\immediate\closeout\CommentStream} -\def\BeforeIncludedComment - {\immediate\openout\CommentStream=\CommentCutFile - \let\ThisComment\WriteCommentLine} -\def\includecomment - #1{\message{Include comment '#1'}% - \csarg\let{After#1Comment}\AfterIncludedComment - \csarg\def{#1}{\BeforeIncludedComment - \ProcessComment{#1}}% - \CommentEndDef{#1}} -\long\def\specialcomment - #1#2#3{\message{Special comment '#1'}% - % note: \AfterIncludedComment does \input, so #2 goes here! - \csarg\def{After#1Comment}{#2\AfterIncludedComment#3}% - \csarg\def{#1}{\BeforeIncludedComment\relax - \ProcessComment{#1}}% - \CommentEndDef{#1}} -\long\def\processcomment - #1#2#3#4{\message{Lines-Processing comment '#1'}% - \csarg\def{After#1Comment}{#3\AfterIncludedComment#4}% - \csarg\def{#1}{\BeforeIncludedComment#2\relax - \ProcessComment{#1}}% - \CommentEndDef{#1}} -\def\leveledcomment - #1#2{\message{Include comment '#1' up to level '#2'}% - %\csname #1IsLeveledCommenttrue\endcsname - \csarg\let{After#1Comment}\AfterIncludedComment - \csarg\def{#1}{\BeforeIncludedComment - \ProcessCommentWithArg{#1}}% - \CommentEndDef{#1}} -\else -%%%% -%%%%plain TeX and other formats -%%%% -\def\includecomment - #1{\message{Including comment '#1'}% - \csarg\def{#1}{}% - \csarg\def{end#1}{}} -\long\def\specialcomment - #1#2#3{\message{Special comment '#1'}% - \csarg\def{#1}{\def\ThisComment{}\def\AfterComment{#3}#2% - \ProcessComment{#1}}% - \CommentEndDef{#1}} -\fi - -%%%% -%%%% general definition of skipped comment -%%%% -\def\excludecomment - #1{\message{Excluding comment '#1'}% - \csarg\def{#1}{\let\AfterComment\relax - \def\ThisComment####1{}\ProcessComment{#1}}% - \csarg\let{After#1Comment}\TossComment - \CommentEndDef{#1}} - -\if 0% -\ifx\fmtname\latexename - 0% -\else \ifx\fmtname\latexname - 0% - \else - 1% -\fi \fi -% latex & latex2e: -\def\EndOfComment#1{\endgroup\end{#1}% - \csname After#1Comment\endcsname} -\def\CommentEndDef#1{{\escapechar=-1\relax - \csarg\xdef{End#1Test}{\string\\end\string\{#1\string\}}% - }} -\else -% plain & other -\def\EndOfComment#1{\endgroup\AfterComment} -\def\CommentEndDef#1{{\escapechar=-1\relax - \csarg\xdef{End#1Test}{\string\\end#1}% - }} -\fi - -\excludecomment{comment} - -\endinput