summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:03:25 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:03:25 +0000
commita7208fc576d8c5051e30f476a036efb5eefab988 (patch)
tree6b9acb0a101f74d39faccf7237e1c0a0009307f9 /Master
parente6503d86abcc590dde25cdafe0c94cd0f9c2202e (diff)
progkeys
git-svn-id: svn://tug.org/texlive/trunk@1219 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/tex/latex/progkeys/keywords.sty289
-rw-r--r--Master/texmf-dist/tex/latex/progkeys/programs.sty215
2 files changed, 504 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/progkeys/keywords.sty b/Master/texmf-dist/tex/latex/progkeys/keywords.sty
new file mode 100644
index 00000000000..a929ae03070
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/progkeys/keywords.sty
@@ -0,0 +1,289 @@
+%%
+%% This is file `keywords.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% keywords.dtx (with options: `style')
+%%
+%% Copyright: Miguel Alabau, 1995 Miguel.Alabau@labri.u-bordeaux.fr
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{keywords}
+
+%% \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 \~}
+%%
+%%
+
+
+\typeout{Document style `keywords.sty' <1993,1994,1995>}
+
+\expandafter\ifx\csname AlreadyDefined@@Keywords\endcsname\relax%
+\expandafter\def\csname AlreadyDefined@@Keywords\endcsname{}%
+\else\endinput\fi
+\@ifundefined{reset@font}{\global\let\reset@font\relax}{}
+
+\def\NewKeyword#1#2{\@ifnextchar[{\@@newkwrd{#1}{#2}}{\@@newkwrd{#1}{#2}[#2]}}
+\def\@@newkwrd#1#2[#3]{\def#1{\@@KeywordsCurrentStyle{\@@kwrd}{#2}{#3}\@@kwrd}}
+
+\def\@@TypeStyle#1#2#3{\def#1{\mbox{\reset@font#2{}#3\/}}}
+\newif\if@@underline \@@underlinefalse
+\def\DefineKeywordsStyles#1#2{
+ \if@@underline
+ \@namedef{@@#1}##1##2##3{\@@TypeStyle{##1}{#2}{\underline{##2}}}
+ \@namedef{F@@#1}##1##2##3{\@@TypeStyle{##1}{#2}{\underline{##3}}}
+ \else
+ \@namedef{@@#1}##1##2##3{\@@TypeStyle{##1}{#2}{##2}}
+ \@namedef{F@@#1}##1##2##3{\@@TypeStyle{##1}{#2}{##3}}
+ \fi
+ \@@underlinefalse
+ \@namedef{#1s}{\def\@@KeywordsCurrentStyle{\@nameuse{@@#1}}}
+ \@namedef{F#1s}{\def\@@KeywordsCurrentStyle{\@nameuse{F@@#1}}}
+}
+
+\def\DefineUnderlinedKeywordsStyles#1#2{
+ \@@underlinetrue
+ \DefineKeywordsStyles{#1}{#2}
+}
+
+\DefineKeywordsStyles{ProgKeyword}{\bf}
+\DefineKeywordsStyles{ttKeyword}{\tt}
+\DefineKeywordsStyles{AlgoKeyword}{\em}
+\DefineUnderlinedKeywordsStyles{UAlgoKeyword}{\em}
+\DefineKeywordsStyles{NormalKeyword}{\relax}
+\let\UFAlgoKeywords\FUAlgoKeywords
+
+%% DEFAULT KEYWORDS
+\NewKeyword{\ABORT}{abort}[avorter]
+\NewKeyword{\ABS}{abs}
+\NewKeyword{\ABSTRACT}{abstract}[abstrait]
+\NewKeyword{\ACCEPT}{accept}[accepter]
+\NewKeyword{\ACCESS}{access}[acc\`es]
+\NewKeyword{\ALIASED}{aliased}[alias\'e]
+\NewKeyword{\ALL}{all}[tout]
+\NewKeyword{\ALT}{alt}
+\NewKeyword{\AND}{and}[et]
+\NewKeyword{\APPEND}{append}[ajouter\_\-en\_\-fin]
+\NewKeyword{\ARRAY}{array}[tableau]
+\NewKeyword{\ASSERT}{assert}[assertion]
+\NewKeyword{\ASSIGN}{:=}
+\NewKeyword{\AT}{at}
+\NewKeyword{\BEGIN}{begin}[d\'ebut]
+\NewKeyword{\BLOCK}{block}[bloc]
+\NewKeyword{\BOOLEAN}{boolean}[bool\'een]
+\NewKeyword{\BODY}{body}
+\NewKeyword{\BOT}{$\bot$}
+\NewKeyword{\BOX}{$<>$}
+\NewKeyword{\BY}{by}[pas]
+\NewKeyword{\CASE}{case}[choix]
+\NewKeyword{\CATINDEX}{catindex}
+\NewKeyword{\CHAN}{chan}[canal]
+\NewKeyword{\CHANNEL}{channel}[canal]
+\NewKeyword{\CHAR}{char}[car]
+\NewKeyword{\CHARACTER}{character}[caract\`ere]
+\NewKeyword{\CLOSE}{close}[fermer]
+\NewKeyword{\CO}{co}
+\NewKeyword{\COBEGIN}{cobegin}
+\NewKeyword{\COEND}{coend}
+\NewKeyword{\COMMUTATIVE}{commutative}[commutatif]
+\NewKeyword{\COMPLEX}{complex}[complexe]
+\NewKeyword{\COMPUTE}{compute}[calculer]
+\NewKeyword{\CONNECT}{$\longrightarrow$}
+\NewKeyword{\CONNECTB}{$\Longrightarrow$}
+\NewKeyword{\CONST}{const}
+\NewKeyword{\CONSTANT}{constant}[constante]
+\NewKeyword{\CONSTRAINTS}{constraints}[contraintes]
+\NewKeyword{\CONTINUE}{continue}
+\NewKeyword{\DATA}{data}[donn\'ee]
+\NewKeyword{\DECLARE}{declare}
+\NewKeyword{\DECOMPOSE}{decompose}
+\NewKeyword{\DELAY}{delay}[d\'elai]
+\NewKeyword{\DELTA}{delta}
+\NewKeyword{\DEPTH}{depth}[profondeur]
+\NewKeyword{\DIGITS}{digits}[chiffres]
+\NewKeyword{\DIMENSION}{dimension}
+\NewKeyword{\DIST}{dist}
+\NewKeyword{\DISTRIBUTE}{distribute}[r\'epartir]
+\NewKeyword{\DIV}{div}
+\NewKeyword{\DO}{do}[faire]
+\NewKeyword{\DOALL}{doall}[faire en parall\`ele]
+\NewKeyword{\DOM}{dom}
+\NewKeyword{\DOMAIN}{domain}[domaine]
+\NewKeyword{\DOMAINS}{domains}[domaines]
+\NewKeyword{\DONE}{done}[fait]
+\NewKeyword{\DOPAR}{dopar}[faire en parall\`ele]
+\NewKeyword{\DOWNTO}{downto}[jusqu'\`a]
+\NewKeyword{\DYNAMIC}{dynamic}[dynamique]
+\NewKeyword{\EACH}{each}[chaque]
+\NewKeyword{\EGO}{MyId}[EGO]
+\NewKeyword{\ELSE}{else}[sinon]
+\NewKeyword{\ELSIF}{elsif}[sinon si]
+\NewKeyword{\END}{end}[fin]
+\NewKeyword{\ENDCASE}{end case}[fin choix]
+\NewKeyword{\ENDIF}{end if}[finsi]
+\NewKeyword{\ENDDO}{end do}[fait]
+\NewKeyword{\ENDLOOP}{end loop}[fait]
+\NewKeyword{\ENTRY}{entry}[entr\'ee]
+\NewKeyword{\EOT}{eot}
+\NewKeyword{\EQ}{$=$}
+\NewKeyword{\EXCEPTION}{exception}
+\NewKeyword{\EXIT}{exit}[sortir]
+\NewKeyword{\EXTERNAL}{external}[externe]
+\NewKeyword{\FI}{fi}[finsi]
+\NewKeyword{\FILE}{file}[fichier]
+\NewKeyword{\FIRST}{first}[premier]
+\NewKeyword{\FOR}{for}[pour]
+\NewKeyword{\FORALL}{forall}[pour tout]
+\NewKeyword{\FOREACH}{foreach}[pour chaque]
+\NewKeyword{\FORWARD}{forward}
+\NewKeyword{\FUNCTION}{function}[fonction]
+\NewKeyword{\GE}{$\geq$}
+\NewKeyword{\GENERIC}{generic}[g\'en\'erique]
+\NewKeyword{\GETNODE}{getnode}[prendre\_\-noeud]
+\NewKeyword{\GOTO}{goto}[aller\_\-\`a]
+\NewKeyword{\GRAPH}{graph}[graphe]
+\NewKeyword{\GT}{$>$}
+\NewKeyword{\IF}{if}[si]
+\NewKeyword{\IMPLICATION}{$\Rightarrow$}
+\NewKeyword{\IMPLY}{$\Rightarrow$}
+\NewKeyword{\IMPORT}{import}[importer]
+\NewKeyword{\IN}{in}[dans]
+\NewKeyword{\IND}{ind}
+\NewKeyword{\INDEX}{index}
+\NewKeyword{\INIT}{init}
+\NewKeyword{\INOUT}{inout}
+\NewKeyword{\INPORT}{inport}
+\NewKeyword{\INPUT}{input}
+\NewKeyword{\INTEGER}{integer}[entier]
+\NewKeyword{\INTO}{into}
+\NewKeyword{\IS}{is}[est]
+\NewKeyword{\LABEL}{label}[\'etiquette]
+\NewKeyword{\LAST}{last}[dernier]
+\NewKeyword{\LE}{$\leq$}
+\NewKeyword{\LENGTH}{length}[longueur]
+\NewKeyword{\LIMITED}{limited}[limit\'e]
+\NewKeyword{\LOOP}{loop}[faire]
+\NewKeyword{\LT}{$<$}
+\NewKeyword{\MAP}{map}[placer]
+\NewKeyword{\MOD}{mod}
+\NewKeyword{\MODULE}{module}
+\NewKeyword{\MODULO}{modulo}
+\NewKeyword{\MULTIPLE}{multiple}
+\NewKeyword{\MYID}{MyId}[EGO]
+\NewKeyword{\NE}{$\neq$}
+\NewKeyword{\NEIGHBOUR}{neighbour}[voisin]
+\NewKeyword{\NEIGHBOURS}{neighbours}[voisins]
+\NewKeyword{\NEW}{new}[nouveau]
+\NewKeyword{\NEWBLOCK}{newblock}
+\NewKeyword{\NIL}{nil}
+\NewKeyword{\NODE}{node}[noeud]
+\NewKeyword{\NOT}{not}[non]
+\NewKeyword{\NUL}{nul}
+\NewKeyword{\NULL}{null}[nul]
+\NewKeyword{\OD}{od}[fait]
+\NewKeyword{\ODPAR}{odpar}[fait]
+\NewKeyword{\OF}{of}
+\NewKeyword{\ON}{on}
+\NewKeyword{\OPEN}{open}[ouvrir]
+\NewKeyword{\OR}{or}[ou]
+\NewKeyword{\OTHERS}{others}
+\NewKeyword{\OUT}{out}
+\NewKeyword{\OUTPORT}{outport}
+\NewKeyword{\OUTPOUT}{outpout}
+\NewKeyword{\PACKAGE}{package}[paquetage]
+\NewKeyword{\PARALLEL}{parallel}
+\NewKeyword{\PARFOR}{parfor}[en parall\`ele: pour]
+\NewKeyword{\PAR}{par}[en parall\`ele]
+\NewKeyword{\PERCENT}{\%}
+\NewKeyword{\PLACE}{place}[placer]
+\NewKeyword{\PORT}{port}
+\NewKeyword{\PRAGMA}{pragma}
+\NewKeyword{\PRI}{pri}
+\NewKeyword{\PRIVATE}{private}[priv\'e]
+\NewKeyword{\PROCEDURE}{procedure}[proc\'edure]
+\NewKeyword{\PROCESS}{process}[processus]
+\NewKeyword{\PROGRAM}{program}[programme]
+\NewKeyword{\PROTECTED}{protected}[prot\'eg\'e]
+\NewKeyword{\RAISE}{raise}[lever]
+\NewKeyword{\RANGE}{range}[intervalle]
+\NewKeyword{\READ}{read}[lire]
+\NewKeyword{\READY}{ready}[pr\^et]
+\NewKeyword{\REAL}{real}[r\'eel]
+\NewKeyword{\RECORD}{record}[enregistrement]
+\NewKeyword{\RECV}{recv}[recevoir]
+\NewKeyword{\RECEIVE}{receive}[recevoir]
+\NewKeyword{\REM}{rem}
+\NewKeyword{\RENAMES}{renames}[renomme]
+\NewKeyword{\REPEAT}{repeat}[r\'ep\'eter]
+\NewKeyword{\REQUEUE}{requeue}
+\NewKeyword{\RESET}{reset}
+\NewKeyword{\RETURN}{return}[retour]
+\NewKeyword{\REVERSE}{reverse}
+\NewKeyword{\REWIND}{rewind}
+\NewKeyword{\REWRITE}{rewrite}
+\NewKeyword{\ROOT}{root}[racine]
+\NewKeyword{\SELECT}{select}
+\NewKeyword{\SEND}{send}[\'emettre]
+\NewKeyword{\SENDEOT}{sendeot}[\'emettre eot]
+\NewKeyword{\SEPARATE}{separate}[s\'epar\'ement]
+\NewKeyword{\SEQ}{seq}
+\NewKeyword{\SET}{set}
+\NewKeyword{\SIZE}{size}[taille]
+\NewKeyword{\SKIP}{skip}[sauter]
+\NewKeyword{\STRING}{string}[cha\^{\i}ne de caract\`eres]
+\NewKeyword{\SUBTYPE}{subtype}[sous\_\-type]
+\NewKeyword{\SWITCH}{switch}
+\NewKeyword{\TAGGED}{tagged}[\'etiquett\'e]
+\NewKeyword{\TASK}{task}[t\^ache]
+\NewKeyword{\TERMINATE}{terminate}[terminer]
+\NewKeyword{\THEN}{then}[alors]
+\NewKeyword{\TO}{to}[jusqu'\`a]
+\NewKeyword{\TOWARDS}{towards}[vers]
+\NewKeyword{\TRANSMIT}{transmit}[\'emettre]
+\NewKeyword{\TUPLE}{tuple}[n\_\-uplet]
+\NewKeyword{\TYPE}{type}
+\NewKeyword{\UNDEF}{undef}[ind\'efini]
+\NewKeyword{\UNTIL}{until}[jusqu'\`a]
+\NewKeyword{\USE}{use}
+\NewKeyword{\VAR}{var}
+\NewKeyword{\VARIABLE}{variable}
+\NewKeyword{\WHEN}{when}[si]
+\NewKeyword{\WHERE}{where}[si]
+\NewKeyword{\WHILE}{while}[tant que]
+\NewKeyword{\WITH}{with}[avec]
+\NewKeyword{\WRITE}{write}[\'ecrire]
+\NewKeyword{\XOR}{xor}
+%%
+%% French syntax
+%%
+\NewKeyword{\EMETTRE}{send}[\'emettre]
+\NewKeyword{\RECEVOIR}{receive}[recevoir]
+\NewKeyword{\POUR}{for}[pour]
+\NewKeyword{\FAIRE}{do}[faire]
+\NewKeyword{\FAIT}{end do}[fait]
+\NewKeyword{\SI}{if}[si]
+\NewKeyword{\ALORS}{then}[alors]
+\NewKeyword{\SINON}{else}[sinon]
+\NewKeyword{\FINSI}{end if}[fin si]
+\NewKeyword{\DEBUT}{begin}[d\'ebut]
+\NewKeyword{\FIN}{end}[fin]
+\FUAlgoKeywords
+
+
+\endinput
+%%
+%% End of file `keywords.sty'.
diff --git a/Master/texmf-dist/tex/latex/progkeys/programs.sty b/Master/texmf-dist/tex/latex/progkeys/programs.sty
new file mode 100644
index 00000000000..d1e51559b6c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/progkeys/programs.sty
@@ -0,0 +1,215 @@
+%%
+%% This is file `programs.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% programs.dtx (with options: `style')
+%%
+%% Copyright: Miguel Alabau, 1995 Miguel.Alabau@labri.u-bordeaux.fr
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{programs}
+
+%% \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 \~}
+%%
+
+
+\typeout{Document style `programs.sty' <1993,1994,1995>}
+
+\expandafter\ifx\csname AlreadyDefined@@Programs\endcsname\relax%
+\expandafter\def\csname AlreadyDefined@@Programs\endcsname{}%
+\else\endinput\fi
+
+%% CONTROLLING PROGRAM INDENTATION
+\newdimen\@@programindent
+\@@programindent=\z@
+\def\ProgramIndent#1{\@@programindent=#1}
+
+%% SURROUNDING PROGRAMS BY RULES
+\newif\if@@surround\@@surroundfalse
+\def\ProgramSurround{\@@surroundtrue}
+\def\@@progline{\def\@@prgln{\rule{\linewidth}{0.1mm}}\@@prgln}
+\def\@@noprogline{\rule{0pt}{0pt}}
+
+%% LINE NUMBERING
+\newlength{\@@defaultindent}
+\settowidth{\@@defaultindent}{{\tt{}12345}}
+\newif\if@@resetlineno \@@resetlinenotrue \newif\if@@unnumline
+\@@unnumlinefalse
+\newif\if@@CurrentProgIsUnnumbered \@@CurrentProgIsUnnumberedfalse
+
+\def\NoResetProgramCounter{\@@resetlinenofalse}
+
+\def\UnnumLine{\ \@@unnumlinetrue}
+
+\newcounter{@@lineno}\setcounter{@@lineno}{1}
+\def\SetProgramCounter#1{\setcounter{@@lineno}{#1}\@@resetlinenofalse}
+
+\newcounter{@@dummylineno}\setcounter{@@dummylineno}{1}
+
+\def\LeftMarginNumberLine{\let\@@PlaceOfNumbers\@@LeftMarginNumberLine}
+\def\RightMarginNumberLine{\let\@@PlaceOfNumbers\@@RightMarginNumberLine}
+\def\BothMarginsNumberLine{\let\@@PlaceOfNumbers\@@BothMarginsNumberLine}
+\def\InBodyLeftNumberLine{\let\@@PlaceOfNumbers\@@InBodyLeftNumberLine}
+\def\@@LeftMarginNumberLine{0} \def\@@RightMarginNumberLine{1}
+\def\@@BothMarginsNumberLine{2}
+\def\@@InBodyLeftNumberLine{3}
+\LeftMarginNumberLine
+
+%% PROGRAM DEFAULT FONTS
+\def\@@DefaultProgramFont{0}
+\def\ttProgram{\def\@@DefaultProgramFont{0}\def@@astyped\def@@program}
+\def\rmProgram{\def\@@DefaultProgramFont{1}\def@@astyped\def@@program}
+\def\emProgram{\def\@@DefaultProgramFont{2}\def@@astyped\def@@program}
+\def\ProgramDefaultFont{\ttProgram}
+
+%% THE REAL ENVIRONMENT
+{\catcode`\ =\active\gdef\@@vobeyspaces{\catcode`\ \active\let \@@xobeysp}}
+\def\@@xobeysp{\leavevmode\penalty10000\ }
+\def\def@@astyped{%
+ \def\@@astyped{%
+ \partopsep\z@%
+ \topsep\z@%
+ \trivlist \item[]%
+ \leftskip\@totalleftmargin%
+ \rightskip\z@%
+ \parindent\z@%
+ \parfillskip\@flushglue%
+ \parskip\z@%
+ \@tempswafalse%
+ \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par}%
+ \obeylines%
+ \ifcase\@@DefaultProgramFont \tt\or \rm\or \em\else \tt\fi
+ \catcode``=13 \@noligs%
+ \let\do\@makeother \do\ \do\^^K\do\^^A%
+ \frenchspacing\@@vobeyspaces%
+ \noindent\hspace{\parindent}%
+ \if@@surround\@@progline\else\@@noprogline\fi%
+ \nopagebreak%
+ }
+ \def\end@@astyped{%
+ \nopagebreak%
+ \noindent\hspace{\parindent}%
+ \if@@surround\@@progline\else\@@noprogline\fi%
+ \endtrivlist%
+ }
+}
+
+%% META-COMMANDS FOR DEFINING NEW PROGRAM ENVIRONMENTS
+\def\NewProgram#1#2{\@@newprog{#1}{#2}}
+\def\RenewProgram#1#2{\@@newprog{#1}{#2}}
+\def\@@newprog#1#2{%
+ \@namedef{#1}{%
+ \begingroup\def\@@tempa{\@nameuse{#2}}%
+ \def\@@tempb{\baselinestretch}\def\baselinestretch{1}%
+ \@ifundefined{@@tempa}{\normalsize}{\@@tempa}%
+ \def@@astyped\@@astyped%
+ \@ifnextchar[{\@@xnewprog}{\@@xnewprog[\@@programindent]}%
+ }%
+ \@namedef{end#1}{%
+ \everypar{}%
+ \if@@CurrentProgIsUnnumbered \relax%
+ \else%
+ \addtocounter{@@lineno}{1}%
+ \fi%
+ %
+ \end@@astyped%
+ \let\baselinestretch=\@@tempb\endgroup%
+ \global\@@resetlinenotrue%
+ \global\ProgramDefaultFont%
+ \global\@@surroundfalse%
+ }%
+ \@namedef{f#1}##1{\@nameuse{#1}*\par\input##1\@nameuse{end#1}}%
+ \@namedef{l#1}##1{\@nameuse{#1}\par\input##1\@nameuse{end#1}}%
+}
+
+\newlength{\@@numlinelength}
+\def\@@xnewprog[#1]{%
+ \@ifstar{%
+ \@@CurrentProgIsUnnumberedtrue
+ \setcounter{@@dummylineno}{0}%
+ \leavevmode%
+ \everypar{%
+ \refstepcounter{@@dummylineno}%
+ \@@unnumlinefalse%
+ \noindent\hspace{#1}}%
+ }%
+ {%
+ \@@CurrentProgIsUnnumberedfalse
+ \if@@resetlineno%
+ \setcounter{@@lineno}{0}%
+ \else%
+ \addtocounter{@@lineno}{-1}%
+ \fi%
+ \leavevmode%
+ \everypar{%
+ \if@@unnumline%
+ \ifx \@@PlaceOfNumbers\@@InBodyLeftNumberLine%
+ \hspace{\@@defaultindent}%
+ \rule{0pt}{0pt}%
+ \fi
+ \else%
+ \refstepcounter{@@lineno}%
+ \ifx \@@PlaceOfNumbers\@@LeftMarginNumberLine%
+ \llap{{\rm\the@@lineno\ \ }}%
+ \else \ifx \@@PlaceOfNumbers\@@RightMarginNumberLine%
+ \noindent\hspace{\columnwidth}%
+ \rlap{{\rm\ \ \the@@lineno}}%
+ \noindent\hspace{-\columnwidth}%
+ \else \ifx \@@PlaceOfNumbers\@@BothMarginsNumberLine%
+ \noindent\hspace{\columnwidth}%
+ \rlap{{\rm\ \ \the@@lineno}}%
+ \noindent\hspace{-\columnwidth}%
+ \llap{{\rm\the@@lineno\ \ }}%
+ \else \ifx \@@PlaceOfNumbers\@@InBodyLeftNumberLine%
+ \hspace{\@@defaultindent}%
+ \rule{0pt}{0pt}%
+ \llap{{\rm\the@@lineno\ \ }}%
+ \else
+ \llap{{\rm\the@@lineno\ \ }}%
+ \fi\fi\fi\fi
+ \fi\@@unnumlinefalse%
+ \noindent\hspace{#1}%
+ }%
+ }%
+}
+
+%% PREDEFINED ENVIRONMENTS AND COMMANDS
+\def\def@@program{%
+ \NewProgram{program}{normalsize}
+ \NewProgram{programl}{large}
+ \NewProgram{programL}{Large}
+ \NewProgram{programs}{small}
+ \NewProgram{programf}{footnotesize}
+ \NewProgram{programsc}{scriptsize}
+ \NewProgram{programt}{tiny}
+}
+\ProgramDefaultFont
+
+%% OLD MACRO NAMES PRESENT HERE FOR COMPATIBILITY REASONS
+\let\newprogram=\NewProgram \let\renewprogram=\RenewProgram
+\let\noresetprogramcounter=\NoResetProgramCounter
+\let\programindent=\ProgramIndent
+\let\programsurround=\ProgramSurround
+\let\setprogramcounter=\SetProgramCounter \let\unnumline=\UnnumLine
+\let\BothMarginNumberLine=\BothMarginsNumberLine
+
+
+\endinput
+%%
+%% End of file `programs.sty'.