diff options
-rw-r--r-- | Master/texmf-dist/tex/latex/plweb/pcode.sty | 27 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/plweb/pl.cfg | 12 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/plweb/pl.sty | 256 |
3 files changed, 295 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/plweb/pcode.sty b/Master/texmf-dist/tex/latex/plweb/pcode.sty new file mode 100644 index 00000000000..8f678774743 --- /dev/null +++ b/Master/texmf-dist/tex/latex/plweb/pcode.sty @@ -0,0 +1,27 @@ +%% +%% This is file `pcode.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% pl.dtx (with options: `pcode') +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file. +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file pl.dtx. +%% +\ifx\PrologFont\relax\else\input pl.sty\fi +\def\PrologQuintustrue{\PrologDialect{quintus}} +\def\PrologQuintusfalse{\PrologDialect{eclipse}} +\let\WithActiveUnderscore=\WithUnderscore +\let\StopProlog=\EndProlog +\let\PrologInit=\PL@INIT +\endinput +%% +%% End of file `pcode.sty'. diff --git a/Master/texmf-dist/tex/latex/plweb/pl.cfg b/Master/texmf-dist/tex/latex/plweb/pl.cfg new file mode 100644 index 00000000000..ecbbb551c5e --- /dev/null +++ b/Master/texmf-dist/tex/latex/plweb/pl.cfg @@ -0,0 +1,12 @@ + +% The following macro forces the generation of the description part of the +% documentation only. If it is deactivated (with a leading %) the whole +% description including the implementation is enabled. + +%\OnlyDescription + +% The following instruction forces the use of A4 size paper +% (even in LaTeX2.09). +% You need to have the style option dina4 for this to work. + +\usepackage{dina4} diff --git a/Master/texmf-dist/tex/latex/plweb/pl.sty b/Master/texmf-dist/tex/latex/plweb/pl.sty new file mode 100644 index 00000000000..476549ca8f5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/plweb/pl.sty @@ -0,0 +1,256 @@ +%% +%% This is file `pl.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% pl.dtx (with options: `pl') +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file. +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file pl.dtx. +%% +\def\filename{pl.doc} +\def\fileversion{3.0} +\def\filedate{1996/05/30} +\def\docversion{2.5} +\def\docdate{1995/11/28} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\typeout{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% + Prolog Documentation in LaTeX. Version \fileversion\@spaces gene \filedate +%% +%% Purpose: +%% Style option for LaTeX to provide routines to document Prolog programs. +%% +%% Documentation: see seperate LaTeX document `pl.tex' +%% +%% Author: Gerd Neugebauer +%% Mainzer Str. 8 +%% 56321 Rhens (Germany) +%% Mail: gerd@informatik.uni-koblenz.de +%% +%% Copyright (C) 1995-1996 Gerd Neugebauer +%% +%% pl.doc is distributed in the hope that it will be useful, but WITHOUT +%% ANY WARRANTY. No author or distributor accepts responsibility to +%% anyone for the consequences of using it or for whether it serves any +%% particular purpose or works at all, unless he says so in writing. +%% +%% Everyone is granted permission to copy, modify and redistribute pl.doc, +%% provided this copyright notice is preserved and any modifications are +%% indicated. +%% +%% +%% This style is still under development and may be replaced with a new +%% version which provides an enhanced functionality. Any comments are +%% welcome but don't expect ANY help from my side. +%% +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% \CharacterTable +%% {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 +%% 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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\ifx\documentclass\relax \else + \ProvidesPackage{pl}[\filedate\space gene (\fileversion)] +\fi +\def\PrologFont{\small\tt} +\def\PrologIndent{2em} +\def\PrologNumberFont{\tiny\rm} +\def\PrologRuleWidth{0pt} +\def\PrologListFont{\small\tt} +\def\PrologListIndent{2em} +\def\PrologModule#1#2{\section{The Module {\tt #1}}} +\def\PrologFile#1#2{\section{The File {\tt #1}}} +\def\PredicateFont{\tt} +\def\PredicateFileFont{\small\sf} +\def\PredicateSkip{\smallskip} +\def\PredicateIndent{5em} +\def\PredicateFileExtension{} +\def\PredicateFileWidth{5em} +\def\PredicateFileSep{1em} +\def\PredicateBoxSep{3pt} +\def\PredicateBoxRule{0.5pt} +\def\PredicateIndex#1{\index{#1}} +\newif\ifPrologNumberLines +\def\PrologEXPORTS{} +\def\PrologFILE{} +\def\PrologDialect#1{% + \@ifundefined{PL@start@module@#1}% + {\message{*** Prolog dialect #1 is undefined. Ignored.}}% + {\gdef\PL@Dialect{#1}}} +\def\PL@Dialect{eclipse} +\gdef\PL@@delayed{} +\newcount\PL@line +\gdef\PL@code@setup{\PrologFont\parskip=0ex\parindent=0pt + \ifx\PL@@delayed\empty\else% + \parbox{\PrologIndent}{% + \ifPrologNumberLines \PrologNumberFont \the\PL@line% + \global\advance\PL@line1 + \else\ \fi}\PL@@delayed% + \gdef\PL@@delayed{}\par + \fi% + \def\par{\leavevmode\egroup\box0\endgraf} + \def\do##1{\catcode`##1=12 }\dospecials + \obeyspaces + \obeylines + \catcode`\^^I=13 + \everypar{\parbox{\PrologIndent}{% + \ifPrologNumberLines \PrologNumberFont \the\PL@line% + \global\advance\PL@line1 + \fi + \hfill}\PL@code@startbox}} +\def\PL@code@startbox{\setbox0=\hbox\bgroup} +{\catcode`\^^I=13 + \gdef^^I{\leavevmode\egroup + \dimen0=\wd0 % the width so far, or since the previous tab + \setbox1=\hbox{\PrologFont\space}\dimen1=8\wd1 + \divide\dimen0 by\dimen1 + \multiply\dimen0 by\dimen1 % compute previous multiple of tab + \advance\dimen0 by\dimen1 % advance to next multiple of tab + \wd0=\dimen0 \box0 \PL@code@startbox}% +} +{\obeyspaces\global\let =\ } +\def\PL*/{\PL@PL@init% + \begingroup + \PL@code@setup + \PL@doPL} +{\catcode`\|=0 \catcode`\\=12 + |obeylines|gdef|PL@doPL^^M#1/*PL{#1|endgroup|PL@PL@exit}} +\def\PL@PL@init{% + \ifdim\PrologRuleWidth>0pt% + \par\noindent\rule{\textwidth}{\PrologRuleWidth}\par% + \else\medskip\par\fi} +\def\PL@PL@exit{% + \ifdim\PrologRuleWidth>0pt% + \vspace{-2ex}\noindent\rule{\textwidth}{\PrologRuleWidth}\par% + \else\smallskip\par\fi} +\def\PL@INIT{\begingroup\catcode`:=13\catcode`/=13} +\def\PL@EXIT{\endgroup} +\gdef\PrologInput{% + \begingroup + \catcode`\_=12 + \PL@Input +} +\PL@INIT +\gdef\PL@Input#1{% + \gdef\PrologFILE{#1}% + \gdef\PrologMODULE{}% + \gdef\PrologEXPORTS{}% + \global\PL@line=1% + \endgroup + \PL@INIT% + \let:=\PL@COLON + \let/=\PL@SLASH + \input{#1}% + \gdef\PrologFILE{}% + \gdef\PrologMODULE{}% + \gdef\PrologEXPORTS{}% + } +\PL@EXIT +\def\EndProlog#1*/{} +\def\PL@SLASH{\@ifnextchar*{% + \PL@EXIT + \PL@US@start + \PL@SLASH@STAR}{/}} +\def\PL@SLASH@STAR*{% + \PrologFile{\PrologFILE}{}% + \PL@US@end} +\def\PL@COLON{\@ifnextchar-{\PL@goal}{: }} +\def\PL@goal-{% + \PL@EXIT + \PL@US@start + \@ifnextchar m{\csname PL@start@module@\PL@Dialect\endcsname}% + {\@ifnextchar t{\PL@start@true}% + {\csname PL@start@file@\PL@Dialect\endcsname}}} +\def\PL@start@true true. /*{% + \PrologFile{\PrologFILE}{}% + \PL@US@end} +\def\PL@start@module@eclipse module#1(#2). /*{% + \global\PL@line=1 + \gdef\PL@@delayed{:- module#1(#2).} + \gdef\PrologMODULE{#2}% + \catcode`\,=13 % + \PrologModule{\PrologFILE}{}% + \PL@US@end} +\def\PL@start@module@quintus module(#1,{% + \global\PL@line=1 + \gdef\PrologFILE{#1}% + \catcode`\,=13 % + \PL@start@module@quintus@} +\def\PL@start@module@quintus@[#1]). /*{% + \gdef\PrologEXPORTS{#1}% + \PrologModule{\PrologFILE}{#1}% + \PL@US@end} +\let\PL@start@module@cprolog=\PL@start@module@quintus +\let\PL@start@module@sixtus=\PL@start@module@eclipse +\let\PL@start@module@swiprolog=\PL@start@module@quintus +\let\PL@start@module@sbprolog=\PL@start@module@quintus +\let\PL@start@module@binprolog=\PL@start@module@eclipse +\def\Predicate{\PL@US@start\Predicate@} +\def\Predicate@#1/#2(#3).{% + \PredicateSkip\par\noindent% + {\setbox1=\hbox{\PredicateFileFont \PrologFILE\PredicateFileExtension}% + \fboxrule=\PredicateBoxRule% + \fboxsep=\PredicateBoxSep% + \fbox{\PredicateIndex{#1/#2}% + \dimen255=\wd1 + \ifdim\dimen255<\PredicateFileWidth \dimen255=\PredicateFileWidth \fi + \dimen255=-\dimen255 + \advance\dimen255 by-\PredicateFileSep + \advance\dimen255 by \textwidth + \parbox{\dimen255}{\raggedright + \setbox0=\hbox{\normalsize\PredicateFont #1(} + \dimen254=\wd0 + + \ifdim\dimen254>\PredicateIndent \dimen254=\PredicateIndent\fi + \dimen253=\dimen255 \advance\dimen253 by -\dimen254 + \parshape=2 0mm \dimen255 \dimen254 \dimen253 + \normalsize\PredicateFont #1\ifx\@empty#3 \else(#3)\fi + }}% + \hfill \box1\PredicateSkip\par + }\PL@US@end} +\def\PrologList{\par\noindent% + \PL@US@start + \PrologListFont + \catcode`\,=13% + \parindent=\PrologListIndent\parskip=0pt\par + \PL@List} +{\catcode`\,=13 +\gdef\PL@List[#1]{% + \def,{\par}% + #1 + \PL@US@end\par} +} +\def\PrologListEXPORTS{\PrologList[\PrologEXPORTS]} +\def\PL@US@start{\begingroup\catcode`\_=13 } +\def\PL@US@end{\endgroup } +\def\WithUnderscore{\begingroup\catcode`\_=13 \With@Underscore} +\def\With@Underscore#1{#1\endgroup} +\def\Listing#1{\par\begingroup% + \PL@line=1% + \PL@code@setup% + \input{#1}% + \endgroup} +\endinput +%% +%% End of file `pl.sty'. |