summaryrefslogtreecommitdiff
path: root/macros/plain/contrib/js-misc/idverb.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/plain/contrib/js-misc/idverb.tex')
-rw-r--r--macros/plain/contrib/js-misc/idverb.tex215
1 files changed, 215 insertions, 0 deletions
diff --git a/macros/plain/contrib/js-misc/idverb.tex b/macros/plain/contrib/js-misc/idverb.tex
new file mode 100644
index 0000000000..f40dbf860c
--- /dev/null
+++ b/macros/plain/contrib/js-misc/idverb.tex
@@ -0,0 +1,215 @@
+% $Id: idverb.doc,v 1.1 1995/03/13 23:18:11 schrod Exp $
+%----------------------------------------------------------------------
+% Written by Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>.
+% Copyright conditions see below.
+
+%
+% idverb.doc --- typeset identifiers verbatim
+%
+% [plain TeX in MAKEPROG]
+% (history at end)
+
+
+%%%%
+%%%%
+%%%% These TeX macros were documented with the documentation system
+%%%% MAKEPROG and automatically converted to the current form.
+%%%% If you have MAKEPROG available you may transform it back to
+%%%% the original input: Remove every occurence of three percents
+%%%% and one optional blank from the beginning of a line and remove
+%%%% every line which starts with four percents. The following lex
+%%%% program will do this:
+%%%%
+%%%% %%
+%%%%
+%%%% ^%%%\ ? ;
+%%%% ^%%%%.*\n ;
+%%%%
+%%%% If you just want to print the documentation you may fetch
+%%%% the archive print-makeprog.tar.Z from ftp.th-darmstadt.de (directory
+%%%% pub/tex/latex). It contains *all* used styles -- but beware, they
+%%%% may not be in a documented form...
+%%%%
+%%%%
+%%% \input progdoc
+
+%%% \input names.sty
+%%% \def\v{{\tt \vbar\/}}
+
+
+
+%%% \title{Identifiers Verbatim \`a la {\ttitlefont WEB}}
+
+
+
+%%% \chap Introduction.
+
+%%% This macro files allows to write identifiers in a \WEB{} like style,
+%%% i.e.\ as {\tt \origvert identifier\origvert\/}. The identifiers are
+%%% typeset verbatim in the monospace type face. The macros
+%%% |\makevertother| and |\makevertactive| are available to activate and
+%%% deactivate the special behaviour of the vertical bar.
+
+
+%%% \sect This macro file uses the namespace |idv|.
+
+%%% \beginprog
+\ifx \IdvLoaded\undefined
+ \def\IdvLoaded{$Revision: 1.1 $}
+\else \endinput \fi % <-- one line!
+%%% \endprog
+
+
+%%% \sect These macros are supported. Send bug reports, comments and
+%%% repairs.
+
+%%% The reference version may be retrieved via anonymous ftp from
+%%% |ftp.th-darmstadt.de| [130.83.47.112], directory |pub/tex/plain|. It's
+%%% placed there as a gzipped tar file. (The information on the
+%%% IP~number is dated March 13, 1995. It might have changed, also this is very
+%%% unlikely. Use your friendly nameserver.)
+
+
+%%% \sect This is freely distributable 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 software is distributed in the hope that it will be useful, but
+%%% {\bf without any warranty\/}; without even the implied warranty of
+%%% {\bf merchantability\/} or {\bf fitness for a particular purpose}. See
+%%% the GNU General Public License for more details.
+
+%%% You should have received a copy of the GNU General Public License in
+%%% the file |License| along with this package; if not, write to the Free
+%%% Software Foundation, Inc., 675~Mass Ave, Cambridge, MA~02139,~USA.
+
+
+%%% \sect But before we start we declare some shorthands for category
+%%% codes. By declaring the at sign~(`|@|') as well as the
+%%% underscore~`(|_|)' as letters we can use them in our macros. (I agree
+%%% with D.~Knuth that |\identifier_several_words_long| is more readable
+%%% than |\IdentifierSeveralWordsLong| and in every case better than
+%%% |\p@@@s|.) With the at sign we can use the ``private'' Plain macros
+%%% and with the underscore we can make our own macros more readable. But
+%%% as we have to restore these category codes at the end of this macro
+%%% file we store their former values in control sequences. This method is
+%%% better than to use a group because not all macros have to be defined
+%%% global this way.
+
+%%% Only the first macro file read in defines the |Cat| cseqs.
+
+%%% \beginprog
+\ifx \CatEscape\undefined
+ \chardef\CatEscape=0
+ \chardef\CatOpen=1
+ \chardef\CatClose=2
+ \chardef\CatIgnore=9
+ \chardef\CatLetter=11
+ \chardef\CatOther=12
+ \chardef\CatActive=13 % \active of plain.tex
+ \chardef\CatInvalid=15
+
+ \chardef\CatAtCode=\catcode`\@
+ \chardef\CatUsCode=\catcode`\_
+\fi
+
+\catcode`\@=\CatLetter % top level macro file
+\catcode`\_=\CatLetter
+%%% \endprog
+
+
+%%% \sect Let's identify this macro file against the user and in the Log file.
+
+%%% \beginprog
+\begingroup
+ \catcode`\$=\CatIgnore
+ \catcode`\:=\CatIgnore
+ \message{Verbatim identifiers, $Revision: 1.1 $}
+\endgroup
+%%% \endprog
+
+
+%%% \sect The usual verbatim macros use |\dospecials| to change the
+%%% catcode of all special characters. We have to add `\v' to this list.
+%%% The old meaning is stored in |\idv_OrigDospecials|.
+
+%%% \beginprog
+\let\idv_OrigDospecials=\dospecials
+\begingroup
+ \def\do#1{\noexpand\do\noexpand#1}
+ \xdef\dospecials{\idv_OrigDospecials\do\|}
+\endgroup
+\let\idv_dospecials=\dospecials
+
+\def\makevertactive{\catcode`\|\CatActive \let\dospecials\idv_dospecials}
+\def\makevertother{\catcode`\|\CatOther \let\dospecials\idv_OrigDospecials}
+
+\makevertactive
+%%% \endprog
+
+
+%%% \sect Now we can define `\v'. This definition is a little bit tricky,
+%%% as it redefines itself to |\egroup| to close the hbox. But if the hbox
+%%% is ended, `\v' is restored to its original meaning. |\origvert| is
+%%% given the original meaning of `\v'. |\vbar| is the character from the
+%%% current font that has the ASCII code of a vertical bar, sometimes this
+%%% {\it is\/} a vertical bar.
+
+%%% \beginprog
+\let\origvert=|
+\chardef\vbar=`\|
+
+\def\idv_setup_verbatim{%
+ \def\do##1{\catcode`##1\CatOther}\idv_OrigDospecials
+ \parskip\z@skip \parindent\z@
+ \obeylines \obeyspaces \frenchspacing
+ \tt
+ }
+
+\def|{%
+ \leavevmode
+ \hbox\bgroup
+ \let\par\space \idv_setup_verbatim
+ \let|\egroup
+ }
+%%% \endprog
+
+
+%%% \sect We are finished;
+%%% restore the catcodes and prevent from following garbage.
+
+%%% \beginprog
+\catcode`\@=\CatAtCode
+\catcode`\_=\CatUsCode
+
+\endinput
+%%% \endprog
+
+
+%%% %% \sect {\it Acknowledgements:}\quad I would like to thank XXX
+
+
+%%% \bye
+
+%%%
+%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% %
+%%% % $Log: idverb.doc,v $
+%%% % Revision 1.1 1995/03/13 23:18:11 schrod
+%%% % Started to manage this package with CVS. Made minor code cleanup.
+%%% %
+
+%%% %
+%%% % Pre-CVS Log:
+%%% %
+%%% % 27 Jul 89 js Initial revision.
+
+
+%%%
+%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Local Variables:
+%%% mode: plain-TeX
+%%% TeX-master: t
+%%% TeX-brace-indent-level: 4
+%%% End: