diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/plain/contrib/js-misc/idverb.tex |
Initial commit
Diffstat (limited to 'macros/plain/contrib/js-misc/idverb.tex')
-rw-r--r-- | macros/plain/contrib/js-misc/idverb.tex | 215 |
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: |