diff options
author | Karl Berry <karl@freefriends.org> | 2008-11-05 19:27:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-11-05 19:27:32 +0000 |
commit | a3ab023675cc496fcdd2ebe57235e874584281e7 (patch) | |
tree | 59996e7ecd60ecc188ed0de68e1958b639e0b90a /Master/texmf-dist/source | |
parent | dfe2b667b2f763f3a7d48af56fac9a4af5fdb90f (diff) |
rm progkeys, license noinfo, author (Miguel Arabau) unfindable
git-svn-id: svn://tug.org/texlive/trunk@11197 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/README | 172 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/demo/demo.tex | 72 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/demo/prog1.tex | 13 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/demo/prog2.tex | 13 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/demo/prog3.tex | 57 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/keywords.drv | 71 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/keywords.dtx | 1016 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/keywords.ins | 51 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/programs.drv | 64 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/programs.dtx | 1227 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/progkeys/programs.ins | 51 |
11 files changed, 0 insertions, 2807 deletions
diff --git a/Master/texmf-dist/source/latex/progkeys/README b/Master/texmf-dist/source/latex/progkeys/README deleted file mode 100644 index 3b4d82d1d34..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/README +++ /dev/null @@ -1,172 +0,0 @@ -This directory contains files that allow to generate two style -files: 'programs.sty' and 'keywords.sty'. - -The 'demo' subdirectory contains an example of what can be done with -these two styles ('demo.tex' can be compiled either with LaTeX or with -LaTeX2.09 -- see the corresponding directory under macros/latex209/contrib). - -The two files in this archive may be used independently or in -conjunction, according to your wish. -The file 'programs.sty' is intended to allow a parameterized way of -typesetting programs with TeX/LaTeX commands inside. -The file 'keywords.sty' allows use and define sets of keywords that -will be typeset with different fonts, according to the wish of the -user. -The purpose of these two files, when used in conjunction, is to allow -a user to write only one program and to print it differently, -according to the document where it must be put (ex: keywords in -english/french, keywords underlined, boldfaced, programs -indented, no indented, numbered, unnumbered, etc). Of course, the -algorithm will be written only once. - -Below I give a short description of the files and the way to generate -them. - ------------- -programs.sty ------------- -I have written a style file for typesetting programs. -Its particularities are: - -- TABS are replaced by simple SPACES as in the 'astyped.sty' style -- and you can use emphasized fonts, math formulae, etc. -- programs may be numbered or unnumbered -- line numbers may appear in the left side or right side margin, - or in both sides, or inside the text body (on the left of the text) -- line numbers may be refered to with \label / \ref -- the first line of a numbered program is by default 1, but it is - possible to change this first value in two manners: - o by specifying a particular first number - o by indicating that the next program will start at the line - number that follows the last line of the last previous - program typed -- programs may be globally indented, but a particular occurrence may - have a different indentation - -By default, 7 environments are provided, according to the font size: - - program normal size - programs small size - programf footnote size - programsc scriptsize - programt tiny size - programl large size - programL Large size - -For each environment, there exist to file inclusion commands that work -in a manner similar to the \verbatimfile and \verbatimlisting commands -of the 'verbatimfiles.sty' file: - - \fprogram? inclusion of unnumbered program - \lprogram? inclusion of numbered program - -where '?' stands for nothing, or for one string in "s", "f", "sc", -"t", "l" and "L", according to the font size desired. - -It is possible to define new environments. For instance - - \NewProgram{FOO}{LARGE} - -will define the environment FOO with font size set to LARGE, and to -file inclusion commands: \fFOO and \lFOO. - -Extract the package file from its '.dtx' file as follows: - - latex programs.ins - -And get the documented source by: - - latex programs.drv - latex programs.drv - latex programs.drv - makeindex -s programs.ist programs.idx - latex programs.drv - ------------- -keywords.sty ------------- -As a companion to the style programs.sty, here follows a style called -keywords.sty whose main purpose is to provide a parameterized way to -typeset keywords. This style may be used in conjunction with the -programs.sty file, but this is not necessary. - -What you can do is, for instance, to type a program where keywords -will appear boldfaced. It suffices to issue the \ProgKeywords command -(global scope), and then to type the text, for instance: - - \BEGIN - \FOR I := 1 \TO 10 \DO - .... - \ENDDO - \END - -In this example, the keywords are commands defined in the second part -of the keywords.sty file. If the environment is such that spaces are -obeyed (like in the verbatim environment or by using the programs.sty -file), then keywords can be typed as is; otherwise (i.e. in normal -text) they must be typed followed by a "\" character -(e.g.: \BEGIN\ ...). - -Assume now, that you want that the program above is typed with -keywords written with an emphazised font and underlined, and that -words appear in French instead of English. -Then take the same program, but just change the "\ProgKeywords" -command that precedes it to "\UFAlgoKeywords" (for: Underlined French -AlgoKeywords). - -I have sorted keywords in lexicographic order. -If you need to change or add a definition go anywhere among the -keywords and type (e.g. definition of the keyword FOO): - -#1{\FOO}{this is an example}[bla bla]% - -Then if you chose commands where the 'F' does not appear in the -beginning of the name, any occurrence of "\FOO" is replaced by the -sentence "this is an example"; otherwise, the sentence "bla bla" will -be used. - -If your wish is that the same expansion is performed for all the -commands, the omit tht fourth parameter: - -#1{\FOO}{this is an example} - - -The commands provided are: - - ------------------------------------------------------------------------- - English keywords French keywords - ------------------------------------------------------------------------- - \tt BOLDFACE DISPLAY \ProgKeywords \FProgKeywords - \tt NORMAL DISPLAY \ttKeywords \FttKeywords - \em DISPLAY \AlgoKeywords \FAlgoKeywords - underlined \em DISPLAY \UAlgoKeywords \UFAlgoKeywords - normal (\rm) DISPLAY \NormalKeywords \FNormalKeywords - ------------------------------------------------------------------------- - -As I am French, I have used English and French languages; however you -can use any couple of languages you want. I recall that if parameter 4 -in keyword definition is omitted, then only the first language is -used. - -The file terminates by a command that selects the default mode (in the -current case this is \UFAlgoKeywords). - -Extract the package file from its '.dtx' file as follows: - - latex keywords.ins - -And get the documented source by: - - latex keywords.drv - latex keywords.drv - latex keywords.drv - makeindex -s keywords.ist keywords.idx - latex keywords.drv - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Miguel ALABAU -LaBRI, Universite BORDEAUX I -351, cours de la Liberation 33405 TALENCE Cedex (FRANCE) -e-mail: Miguel.Alabau@labri.u-bordeaux.fr -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/Master/texmf-dist/source/latex/progkeys/demo/demo.tex b/Master/texmf-dist/source/latex/progkeys/demo/demo.tex deleted file mode 100644 index 712f4eb2951..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/demo/demo.tex +++ /dev/null @@ -1,72 +0,0 @@ -\ifx\documentclass\undefined -\documentstyle[fr,programs,keywords]{article} -\else -\documentclass{article} -\usepackage{CheckForDef} -\usepackage{fr} -\usepackage{programs} -\usepackage{keywords} -\fi - -\def\p#1{{\bf{}#1}} - -\def\wideoutput{% -\setlength{\topmargin}{-1.54cm}% -\setlength{\headsep}{0cm}% -\setlength{\textwidth}{17.5cm}% -\setlength{\textheight}{25.5cm}% -\setlength{\oddsidemargin}{-1cm}% -\setlength{\evensidemargin}{-1cm}} -\wideoutput - -\InBodyLeftNumberLine - -\ProgKeywords - -\begin{document} - -Dans le programme suivant, quel est le type de \p{A}? -celui de~\p{B}? -\p{A} et~\p{B} ont-ils m\^eme type? -Les instructions des -lignes~\ref{progFORTTYPAGEinstruction1}--\ref{progFORTTYPAGEinstruction3} -sont-elles correctes? -Pourquoi? - -\input{prog1.tex} - -La variable \p{A} est d'un type anonyme tableau \`a une -dimension de \p{COULEURS}. -Il en est de m\^eme pour \p{B}. -Bien que la description des deux types soit identique, ils sont -diff\'erents. - -L'instruction de la ligne~\ref{progFORTTYPAGEinstruction1} est -correcte (affectation d'une valeur de type \p{COULEURS} dans une -variable du m\^eme type). -Les instructions des lignes~\ref{progFORTTYPAGEinstruction2} -et~\ref{progFORTTYPAGEinstruction3} sont ill\'egales (les types -sont diff\'erents). -Par contre, si l'on avait \'ecrit le programme comme suit - -\NewKeyword{\BEGIN}{this is the beginning}[ceci est le d\'ebut] -\FUAlgoKeywords - -\input{prog2.tex} - -\noindent% -il n'y aurait pas eu d'erreur. -Dans ce cas, en effet, \p{A} et \p{B} appartiennent au m\^eme -sous-type initial, et un contr\^ole sera mis en place pour -v\'erifier les bornes des intervalles \`a l'ex\'ecution. - -\bigskip - -Un exercice de num\'erotation: - -\NewKeyword{\END}{this IS the real end} -\AlgoKeywords - -\input{prog3.tex} - -\end{document} diff --git a/Master/texmf-dist/source/latex/progkeys/demo/prog1.tex b/Master/texmf-dist/source/latex/progkeys/demo/prog1.tex deleted file mode 100644 index 8fb99fe635a..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/demo/prog1.tex +++ /dev/null @@ -1,13 +0,0 @@ -\begin{programs}[0.5cm] -\PROCEDURE FORT\_TYPAGE \IS - \TYPE COULEURS \IS - (ROUGE, ORANGE, JAUNE, VERT, BLEU, INDIGO, VIOLET); - A : \ARRAY (1..5) \OF COULEURS - := (BLEU, ROUGE, VERT, JAUNE, VIOLET); - B : \ARRAY (1..5) \OF COULEURS; -\BEGIN - B(1) := A(1); \label{progFORTTYPAGEinstruction1} - B(1..5) := A(1..5); \label{progFORTTYPAGEinstruction2} - B := A; \label{progFORTTYPAGEinstruction3} -\END FORT\_TYPAGE; -\end{programs}
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/progkeys/demo/prog2.tex b/Master/texmf-dist/source/latex/progkeys/demo/prog2.tex deleted file mode 100644 index 2fcbf9be321..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/demo/prog2.tex +++ /dev/null @@ -1,13 +0,0 @@ -\begin{programs}[0.5cm] -\PROCEDURE FORT\_TYPAGE \IS - \TYPE COULEURS \IS - (ROUGE, ORANGE, JAUNE, VERT, BLEU, INDIGO, VIOLET); - \TYPE T \IS \ARRAY (INTEGER \RANGE <>) \OF COULEURS; - A : T(1..5) := (BLEU, ROUGE, VERT, JAUNE, VIOLET); - B : T(1..5); -\BEGIN - B(1) := A(1); - B(1..5) := A(1..5); - B := A; -\END FORT\_TYPAGE; -\end{programs}
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/progkeys/demo/prog3.tex b/Master/texmf-dist/source/latex/progkeys/demo/prog3.tex deleted file mode 100644 index df33fd7d26f..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/demo/prog3.tex +++ /dev/null @@ -1,57 +0,0 @@ -\begin{programs}* - \WITH TEXT\_IO; \USE TEXT\_IO; - \PROCEDURE NUMEROTATION - (FICHIER\_ENTREE : \IN STRING; - FICHIER\_SORTIE : \IN STRING := "") IS - \SUBTYPE LONGUEUR\_LIGNE \IS INTEGER - \RANGE 1..255; - FICHIER\_IN : FILE\_TYPE; - FICHIER\_OUT : FILE\_TYPE; - COMPTEUR : NATURAL := 0; - LIGNE : STRING (LONGUEUR\_LIGNE); - FIN\_DE\_LIGNE : NATURAL; - \BEGIN - OPEN (FILE => FICHIER\_IN, - MODE => IN\_FILE, - NAME => FICHIER\_ENTREE); - \IF FICHIER\_SORTIE = "" \THEN - CREATE (FILE => FICHIER\_OUT, - MODE => OUT\_FILE, - NAME => FICHIER\_ENTREE \& ".num"); - \ELSE - CREATE (FILE => FICHIER\_OUT, - MODE => OUT\_FILE, - NAME => FICHIER\_SORTIE); - \END \IF; - RESET (FICHIER\_IN); - \WHILE \NOT END\_OF\_FILE (FICHIER\_IN) \LOOP - GET\_LINE (FILE => FICHIER\_IN, - ITEM => LIGNE, - LAST => FIN\_DE\_LIGNE); - COMPTEUR := COMPTEUR + 1; - PUT\_LINE (FILE => FICHIER\_OUT, - ITEM => NATURAL'IMAGE (COMPTEUR) \& - " " \& LIGNE (1..FIN\_DE\_LIGNE)); - \END \LOOP; - CLOSE (FILE => FICHIER\_IN); - CLOSE (FILE => FICHIER\_OUT); - \END NUMEROTATION; - - \WITH TEXT\_IO; \USE TEXT\_IO; - \WITH NUMEROTATION; - \PROCEDURE TEST\_NUMEROTATION \IS - CARACTERES : NATURAL; - NOM\_FICHIER : STRING (1..50); - \BEGIN - PUT ("quel fichier voulez-vous "); - PUT ("numeroter ? "); - GET\_LINE (NOM\_FICHIER,CARACTERES); - NUMEROTATION (NOM\_FICHIER (1..CARACTERES)); - PUT\_LINE ("C'est fini"); - \END TEST\_NUMEROTATION; -\end{programs} - -% Local Variables: -% mode: latex -% TeX-master: t -% End: diff --git a/Master/texmf-dist/source/latex/progkeys/keywords.drv b/Master/texmf-dist/source/latex/progkeys/keywords.drv deleted file mode 100644 index f09bd2cc936..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/keywords.drv +++ /dev/null @@ -1,71 +0,0 @@ -%% -%% This is file `keywords.drv', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% keywords.dtx (with options: `driver') -%% -%% Copyright: Miguel Alabau, 1995 Miguel.Alabau@labri.u-bordeaux.fr -%% - -%% \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 \~} -%% -\newif\ifnoprogsfile -\openin1 programs.sty -\ifeof1 \noprogsfiletrue\else\noprogsfilefalse\fi\closein1 -\ifnoprogsfile \relax\else -\openin1 keywords.sty -\ifeof1 \noprogsfiletrue\else\noprogsfilefalse\fi\closein1 -\fi -\ifnoprogsfile - \typeout{*************************************************************} - \typeout{To get a more complete documentation, you should:} - \typeout{(1) generate the file 'programs.sty'(see 'programs.dtx'), and} - \typeout{(2) copy the current file into 'keywords.sty'} - \typeout{*************************************************************} -\fi -\ifnoprogsfile - \documentclass{ltxdoc} -\else - \documentclass{ltxdoc} - \usepackage{programs} - \usepackage{keywords} -\fi -\MakePercentIgnore% -\setlength{\textwidth}{31pc}% -\setlength{\textheight}{54pc}% -\setlength{\parindent}{0pt}% -\setlength{\parskip}{2pt plus 1pt minus 1pt}% -\setlength{\oddsidemargin}{8pc}% -\setlength{\marginparwidth}{8pc}% -\setlength{\topmargin}{-2.5pc}% -\setlength{\headsep}{20pt}% -\setlength{\columnsep}{1.5pc}% -\setlength{\columnwidth}{18.75pc}% -%% -\setcounter{IndexColumns}{2}% -\EnableCrossrefs% -\RecordChanges -\CodelineIndex -\begin{document}% - \DocInput{keywords.dtx} -\end{document} - -\endinput -%% -%% End of file `keywords.drv'. diff --git a/Master/texmf-dist/source/latex/progkeys/keywords.dtx b/Master/texmf-dist/source/latex/progkeys/keywords.dtx deleted file mode 100644 index 88b75d85fa7..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/keywords.dtx +++ /dev/null @@ -1,1016 +0,0 @@ -% \iffalse meta-comment -% -% 'keywords.dtx' -% -% Copyright (C) 1993,1994,1995 by Miguel Alabau. All rights reserved. -% -% COMMANDS FOR TYPESETTING KEYWORDS -% -% **WARNING** If the file 'keywords.ins' does not accompany the file -% 'keywords.dtx', then you must strip this last file by hand. -% (1) Run 'latex docstrip' on 'keywords.dtx' and indicate 'drv' as -% suffix file and 'driver' as selector for extraction. -% (2) Run 'latex docstrip' on 'keywords.dtx' and indicate 'sty' as -% suffix file and 'style' as selector for extraction. -% (3) Run 'latex docstrip' on 'keywords.dtx' and indicate 'ist' as -% suffix file and 'index' as selector for extraction. -% Then, if you want to produce the documentation, proceed as follows: -% latex keywords.drv; latex keywords.drv; latex keywords.drv -% makeindex -s keywords.ist keywords.idx -% latex keywords.drv -% -%<style>\NeedsTeXFormat{LaTeX2e} -%<style>\ProvidesPackage{keywords} -% -% \fi -% -% -% \def\fileversion{v1.0} -% \def\filedate{95/04/01} -% \def\docdate {96/01/31} -% -% -% ^^A -*-LaTeX-*- -% -%\catcode`\<=12 - -% \CheckSum{564} -%% \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 \~} -%% -% -% \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty} -% \DoNotIndex{\@flushglue,\@gobble,\@input} -% \DoNotIndex{\@makefnmark,\@makeother,\@maketitle} -% \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa} -% \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue} -% \DoNotIndex{\@thanks,\@thefnmark,\@topnum} -% \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin} -% \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces} -% \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup} -% \DoNotIndex{\cal,\csname,\def,\documentstyle,\dospecials,\edef} -% \DoNotIndex{\documentclass} -% \DoNotIndex{\egroup} -% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist} -% \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global} -% \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocolumn} -% \DoNotIndex{\ifcase} -% \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item} -% \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower} -% \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing} -% \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc} -% \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut} -% \DoNotIndex{\strutbox} -% \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt} -% \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@} -% \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim} -% \DoNotIndex{\`,\catcode,\end,\escapechar,\frenchspacing,\glossary} -% \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle} -% \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode} -% \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip} -% \DoNotIndex{\nopagebreak} -% \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle} -% \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb} -% \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar} -% \DoNotIndex{\[,\{,\},\]} -% \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode} -% \DoNotIndex{\baselineskip,\begin,\tw@} -% \DoNotIndex{\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k,\l,\m,\n,\o,\p,\q} -% \DoNotIndex{\r,\s,\t,\u,\v,\w,\x,\y,\z,\A,\B,\C,\D,\E,\F,\G,\H} -% \DoNotIndex{\I,\J,\K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z} -% \DoNotIndex{\1,\2,\3,\4,\5,\6,\7,\8,\9,\0} -% \DoNotIndex{\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_} -% \DoNotIndex{\discretionary,\immediate,\makeatletter,\makeatother} -% \DoNotIndex{\meaning,\newenvironment,\par,\relax,\renewenvironment} -% \DoNotIndex{\repeat,\scriptsize,\selectfont,\the,\undefined} -% \DoNotIndex{\arabic,\do,\makeindex,\null,\number,\show,\write,\@ehc} -% \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title,\everypar} -% \DoNotIndex{\if@minipage,\if@restonecol,\ifeof,\ifmmode} -% \DoNotIndex{\lccode,\newtoks,\onecolumn,\openin,\p@,\SelfDocumenting} -% \DoNotIndex{\settowidth,\@resetonecoltrue,\@resetonecolfalse,\bf} -% \DoNotIndex{\clearpage,\closein,\lowercase,\@inlabelfalse} -% \DoNotIndex{\selectfont,\mathcode,\newmathalphabet,\rmdefault} -% \DoNotIndex{\bfdefault} -% -% \DoNotIndex{\addtocounter,\baselinestretch,\em,\noindent} -% \DoNotIndex{\linewidth,\columnwidth,\newcounter,\newif,\newlength} -% \DoNotIndex{\normalsize,\refstepcounter,\rlap,\rule} -% \DoNotIndex{\@@tempa,\@@tempb,\@ifnextchar,\@nameuse} -% -% \title{The ``{\sf{}keywords.sty}'' style file\thanks{% -% This file has version number \fileversion{} dated \filedate{}. -% The documentation was last revised on \docdate{}.}} -% -% \author{Miguel Alabau\\ -% {\small{}LaBRI, Universit\'e Bordeaux~I (France)}\\ -% {\small{\em{}e-mail\/}: {\tt{}Miguel.Alabau@labri.u-bordeaux.fr}}} -% -% \maketitle -% -% \begin{abstract} -% This style file contains a set of definitions that allow keywords -% to be defined and printed in several convenient ways. -% For each keyword two definitions may be provided. This is to -% allow the use of keywords in two contexts (for instance -% English/French translation of the keywords). -% At the same time, keyword can be printed in roman, teletype, -% boldfaced or underlined. -% The user can define other styles for printing keywords. -% A set of keywords is provided by default. Of course a user can -% define new keywords or redefine existing ones without modifying -% the style file. -% \end{abstract}% -% -% \newif\ifmulticols -% \makeatletter -% \ifhave@multicol\multicolstrue\else\multicolsfalse\fi -% \makeatother -% -% \begin{footnotesize} -% \ifmulticols \begin{multicols}{2} \fi -% \tableofcontents -% \ifmulticols \end{multicols} \fi -% \end{footnotesize} -% -% -% \ifmulticols -% \begin{multicols}{2}[\section{Introduction}] -% \else \section{Introduction} \fi -% -% When typing programs or algorithms, it often happens for a same -% text to appear as an algoritm (pseudo-code) or as a program. In such -% cases different fonts are used. For instance, algorithms may appear -% with keywords italicised or underlined, while the same keywords -% appear boldfaced in the program text. -% Moreover algorithms are often typed with keywords belonging to the -% native language of the writer while program keywords appear usually -% to be english ones. -% -% The file {\em{}keywords.sty\/} provides simple solutions to both of -% these problems by giving the user capability to define each keyword -% in two simultaneaous different manners and by providing different -% printing styles. -% -% Keywords are commands to be issued in text. Hence this style file is -% origimally intended to be used in conjunction with the features -% provided by the {\em{}programs.sty\/} style file~\cite{alabau95-d}. -% However, it can be used independently. -% -% \ifnoprogsfile \relax\else -% -% For instance, let be the following piece of program: -% -% \begin{verbatim} -% \BEGIN -% statements -% \END -% \end{verbatim} -% -% \vspace{-\baselineskip} -% \noindent% -% where \verb+\BEGIN+ and \verb+\END+ are two predefined commands in -% this style file. -% If we issue the command \verb+\ProgKeywords+, then we get: -% -% \ProgKeywords -% \begin{programf}* -% \BEGIN -% statements -% \END -% \end{programf} -% -% \vspace{-\baselineskip} -% \noindent% -% If we prefer to use the second language, we can issue the -% \verb+\FProgKeywords+: -% -% \FProgKeywords -% \begin{programf}* -% \BEGIN -% statements -% \END -% \end{programf} -% -% \vspace{-\baselineskip} -% \noindent% -% We can also use other typesetting rules, like underlined emphasized -% fonts (\verb+UAlgoKeywords+): -% -% \UAlgoKeywords -% \begin{programf}* -% \BEGIN -% statements -% \END -% \end{programf} -% -% \vspace{-\baselineskip} -% \noindent% -% It is also possible to define new keywords or to redefine existing -% ones, by issuing a command like: -% -% \begin{verbatim} -% \NewKeyword{\BEGIN}{this is the beginning} -% \NewKeyword{\END}{this is the end} -% \end{verbatim} -% -% \vspace{-\baselineskip} -% \noindent% -% which leads to the following piece of code (default typesetting used -% is the last one specified, i.e. \verb+UAlgoKeywords+): -% -% \NewKeyword{\BEGIN}{this is the beginning} -% \NewKeyword{\END}{this is the end} -% \begin{programf}* -% \BEGIN -% statements -% \END -% \end{programf} -% -% \fi -% -% \ifmulticols\end{multicols}\fi -% -% ^^A ********************************************** -% ^^A ** USERS's MANUAL ** -% ^^A ********************************************** -% -% \section{User's Manual} -% -% A set of default keywords is provided in this file (see -% section~\ref{default-keywords}). For each keyword, two definitions -% are provided: the first one in english, and the second one in french -% (because I am French). -% The switch between the two languages is performed by global commands -% wich serve also to define the font used for printing. -% -% \subsection{Selecting a printing style} -% \label{user:selecting-printing-styles} -% -% \DescribeMacro{\ProgKeywords} -% \DescribeMacro{\FProgKeywords} -% \DescribeMacro{\ttKeywords} -% \DescribeMacro{\FttKeywords} -% \DescribeMacro{\AlgoKeywords} -% \DescribeMacro{\FAlgoKeywords} -% \DescribeMacro{\NormalKeywords} -% \DescribeMacro{\FNormalKeywords} -% -% The following printing styles are provided: -% -% \begin{center} -% \begin{tabular}{lll} -% \hline -% \multicolumn{1}{c}{style} -% & \multicolumn{1}{c}{definition~1} -% & \multicolumn{1}{c}{definition~2}\\ -% \hline\hline -% \verb+\bf+ & \verb+\ProgKeywords+ & \verb+\FProgKeywords+\\ -% \verb+\tt+ & \verb+\ttKeywords+ & \verb+\FttKeywords+\\ -% \verb+\em+ & \verb+\AlgoKeywords+ & \verb+\FAlgoKeywords+\\ -% \verb+\rm+ & \verb+\NormalKeywords+ & \verb+\FNormalKeywords+\\ -% \hline -% \end{tabular} -% \end{center} -% -% \DescribeMacro{\UAlgoKeywords} -% \DescribeMacro{\UFAlgoKeywords} -% \DescribeMacro{\FUAlgoKeywords} -% There are also two underlined styles: -% -% \begin{center} -% \begin{tabular}{lll} -% \hline -% \multicolumn{1}{c}{style} -% & \multicolumn{1}{c}{definition~1} -% & \multicolumn{1}{c}{definition~2}\\ -% \hline\hline -% underlined \verb+\em+ & \verb+\UAlgoKeywords+ & \verb+\FUAlgoKeywords+\\ -% \hline -% \end{tabular} -% \end{center} -% -% For compatability with previous versions of keywords.sty, the -% command \verb+\UFAlgoKeywords+ has been defined as a synonym for -% \verb+\FUAlgoKeywords+. -% -% \subsection{Defining and Re-defining keywords} -% \label{user:program-keywords} -% -% \DescribeMacro{\NewKeyword} -% The command -% -% \begin{verbatim} -% \NewKeyword{\WORD}{SENTENCE1}[SENTENCE2] -% \end{verbatim} -% -% \vspace{-\baselineskip} -% defines the command \verb+\WORD+ to issue the text in -% \verb+SENTENCE1+ or in \verb+SENTENCE2+ when it is typed, according -% to the style currently in use. -% -% For instance, one could use \verb+SENTENCE1+ for defining english -% keywords and \verb+SENTENCE2+ for defining their french translation. -% -% If ``\verb+[SENTENCE2]+'' is omitted, all happens as if the -% following command had been issued: -% -% \begin{verbatim} -% \NewKeyword{\WORD}{SENTENCE1}[SENTENCE1] -% \end{verbatim} -% -% \vspace{-\baselineskip} -% The command \verb+\NewKeyword+ serves also to redefine existing -% keywords. -% -% \subsection{Defining a printing style} -% \label{user:defining-printing-styles} -% -% \DescribeMacro{\DefineKeywordsStyles} -% The command -% -% \begin{verbatim} -% \DefineKeywordsStyles{MODE}{\STYLE} -% \end{verbatim} -% -% \vspace{-\baselineskip} -% allows for the user to define particular printing modes. -% Its main effect is to define the commands \verb+\MODEs+ and -% \verb+\FMODEs+ that will lead to print respectively the -% \verb+SENTENCE1+ part or the \verb+SENTENCE2+ part of the -% \verb+\NewKeyword+ definitions. -% For instance, the commands \verb+\ProgKeywords+ and -% \verb+\FProgKeywords+ have been automatically defined from a -% \verb+\DefineKeywordsStyles{ProgKeyword}{\bf}+ command. -% -% \DescribeMacro{\DefineUnderlinedKeywordsStyles} -% \ \\ -% For \verb+SENTENCE+$_i$ to be underlined, it is necessary to issue a -% -% \begin{verbatim} -% \DefineUnderlinedKeywordsStyles{MODE}{\STYLE} -% \end{verbatim} -% -% \vspace{-\baselineskip} -% command, instead of the ``\verb+\DefineKeywordsStyles+'' described -% above. -% This is how the \verb+\UAlgoKeywords+ and \verb+\FUAlgoKeywords+ -% commands have been defined, by issuing a -% \verb+\DefineUnderlinedKeywordsStyles{UAlgoKeyword}{\em}+ command. -% -% \subsection{The Index File} -% -% In order for the processing of this file to be complete, an index -% format file is required. Let us assume that it is named -% \verb+keywords.ist+, then the following command must be run and then -% another compilation of the current file: -% -% \begin{macrocode} -%<index> -%<index>%% ----------------------------------------------------------- -%<index>%% Assuming this file is named "keywords.ist" (after being -%<index>%% generated from "keywords.dtx" by running "latex docstrip"), -%<index>%% the following command will produce a well formated index: -%<index>%% -%<index>%% makeindex -s keywords.ist keywords.idx -%<index>%% ----------------------------------------------------------- -%<index> -% \end{macrocode} -% -% Another possibility is to set the environment variable -% \verb+INDEXSTYLE+ to a directory name where the ``.ist'' files -% (index format files) may be found. -% -% A possible index file is given below\footnote{It can be generated by -% invoquing the compilation of ``docstrip'' with the ``index'' -% option.}: -% -% \begin{macrocode} -%<index>actual '=' -%<index>quote '!' -%<index>level '>' -%<index>preamble -%<index>"\n \\begin{theindex} \n \\makeatletter\\scan@allowedfalse\n" -%<index>postamble -%<index>"\n\n \\end{theindex}\n" -%<index>item_x1 "\\efill \n \\subitem " -%<index>item_x2 "\\efill \n \\subsubitem " -%<index>delim_0 "\\pfill " -%<index>delim_1 "\\pfill " -%<index>delim_2 "\\pfill " -%<index>% The next lines will produce some warnings when -%<index>% running Makeindex as they try to cover two different -%<index>% versions of the program: -%<index>lethead_prefix "{\\bf\\hfil " -%<index>lethead_suffix "\\hfil}\\nopagebreak\n" -%<index>lethead_flag 1 -%<index>heading_prefix "{\\bf\\hfil " -%<index>heading_suffix "\\hfil}\\nopagebreak\n" -%<index>headings_flag 1 -% \end{macrocode} -% -% \subsection{The Driver File} -% -% There is also a driver file, called {\em{}programs.drv\/}, that is -% included in the distribution. -% It is devoted to control the latex compilation of the documentation. -% Its code is given below. -% -% \begin{macrocode} -%<*driver> -\newif\ifnoprogsfile -\openin1 programs.sty -\ifeof1 \noprogsfiletrue\else\noprogsfilefalse\fi\closein1 -\ifnoprogsfile \relax\else -\openin1 keywords.sty -\ifeof1 \noprogsfiletrue\else\noprogsfilefalse\fi\closein1 -\fi -\ifnoprogsfile - \typeout{*************************************************************} - \typeout{To get a more complete documentation, you should:} - \typeout{(1) generate the file 'programs.sty'(see 'programs.dtx'), and} - \typeout{(2) copy the current file into 'keywords.sty'} - \typeout{*************************************************************} -\fi -\ifnoprogsfile - \documentclass{ltxdoc} -\else - \documentclass{ltxdoc} - \usepackage{programs} - \usepackage{keywords} -\fi -\MakePercentIgnore% -% -\setlength{\textwidth}{31pc}% -\setlength{\textheight}{54pc}% -\setlength{\parindent}{0pt}% -\setlength{\parskip}{2pt plus 1pt minus 1pt}% -\setlength{\oddsidemargin}{8pc}% -\setlength{\marginparwidth}{8pc}% -\setlength{\topmargin}{-2.5pc}% -\setlength{\headsep}{20pt}% -\setlength{\columnsep}{1.5pc}% -\setlength{\columnwidth}{18.75pc}% -%% -\setcounter{IndexColumns}{2}% -\EnableCrossrefs% -\RecordChanges -\CodelineIndex -%\OldMakeindex % use if your MakeIndex is pre-v2.9% -\begin{document}% - \DocInput{keywords.dtx} -\end{document} -%</driver> -% \end{macrocode} -% -% \subsection{Extracting the documents included in the file keywords.dtx} -% -% There are three documents included in the {\em{}keywords.dtx\/} file: -% the style file ({\em{}keywords.sty}), -% the index style file for printing a cross-referenced document -% ({\em{}keywords.ist}), -% and the driver file for printing the document: {\em{}keywords.drv\/}. -% -% For file extraction it is necessary to use the \verb"docstrip" -% utility, which is part of the \verb"doc" -% distribution~\cite{art:doc}. -% Normally, a file \verb"docstrip.tex" should exist on the \LaTeX\ -% style files directory. -% Extraction is performed by typing: -% -% \begin{verbatim} -% latex docstrip -% \end{verbatim} -% -% \vspace{-\baselineskip} -% This is an interactive program, and the dialogue for generating the -% style file should be: -% -% \begin{verbatim} -% ********************************************************** -% * This program converts documented macro-files into fast * -% * loadable files by stripping off (nearly) all comments! * -% ********************************************************** -% -% **************************************************** -% * First type the extension of your input file(s): * -% \infileext=doc -% **************************************************** -% -% **************************************************** -% * Now type the extension of your output file(s) : * -% \outfileext=sty -% **************************************************** -% -% **************************************************** -% * Now type the name(s) of option(s) to include : * -% \Options=style -% **************************************************** -% -% **************************************************** -% * Finally give the list of input file(s) without * -% * extension seperated by commas if necessary : * -% \filelist=Programs -% **************************************************** -% \end{verbatim} -% -% \vspace{-\baselineskip} -% For generating the index file it suffices to rerun the -% \verb"docstrip" utility and to answer ``ist/index'' instead of -% ``sty/style'' int the above steps~2 and~3. -% -% \medskip -% -% The three files may be produced in a single pass, by simply latexing -% the file {\em{}keywords.ins\/} which goes along with the file -% {\em{}keywords.dtx\/}. -% -% \medskip -% -% Generation of the documentation is then simply performed as follows -% (the {\em{}keywords.dtx\/} file includes its own driver): -% -% \begin{verbatim} -% latex keywords.dtx -% latex keywords.dtx -% latex keywords.dtx -% makeindex -s keywords.ist keywords.idx -% latex keywords.dtx -% \end{verbatim} -% -% \StopEventually{ -% \begin{thebibliography}{1} -% \bibitem{book:KnuthA} {\sc D.E. Knuth}. -% \newblock Computers \& Typesetting (The \TeX book). -% \newblock Addison-Wesley, Vol. A, 1986. -% \bibitem{lamport86}{\sc L. Lamport}. -% \newblock {\em {\LaTeX}: a Document Preparation System}. -% \newblock Addison-Wesley Publishing Company, 1986. -% \bibitem{art:doc} {\sc F. Mittelbach}. -% \newblock The {\tt doc}-option. -% \newblock {\sl TUGboat}, Vol.~10(2), {\it pp}.~245--273, July -% 1989. -% \bibitem{alabau95-d} {\sc M. Alabau}. -% \newblock The ``{\sf{}programs.sty}'' style file. -% \newblock March 1995. -% {\em{}e-mail:\/} {\tt{}Miguel.Alabau@labri.u-bordeaux.fr} -% \end{thebibliography} -% -% } ^^A end \StopEventually -% -% \begin{macrocode} -%<*style> -% \end{macrocode} -% - -% ^^A ********************************************** -% ^^A ** TECHNICAL DESCRIPTION ** -% ^^A ********************************************** - -\typeout{Document style `keywords.sty' <1993,1994,1995>} - -% \section{Description of Macros} -% -% \begin{macro}{\AlreadyDefined@@Keywords} -% This macro can be tested by any style file to know if the file -% ``{\sf{}keywords.sty}'' has been input. But it allows a modular -% programming style similar to the one used with the C~header -% files. -% Hence, the first time the ``{\sf{}keywords.sty}'' style file is -% included all of its body will be included; the second time, the -% body will not be included. -% \begin{macrocode} -\expandafter\ifx\csname AlreadyDefined@@Keywords\endcsname\relax% -\expandafter\def\csname AlreadyDefined@@Keywords\endcsname{}% -\else\endinput\fi -% \end{macrocode} -% \end{macro}% -% -% A test for the existence of this macro is performed for -% compatability with ancient versions of \LaTeX. -% \begin{macrocode} -\@ifundefined{reset@font}{\global\let\reset@font\relax}{} -% \end{macrocode} - -% \subsection{Defining and Re-defining keywords} -% -% \begin{macro}{\NewKeyword} -% \begin{macro}{\@@newkwrd} -% The \verb+\NewKeyword+ command has three parameters, but the -% third one is optional. By default it is assumed to be equal to -% the second one: -% \begin{macrocode} -\def\NewKeyword#1#2{\@ifnextchar[{\@@newkwrd{#1}{#2}}{\@@newkwrd{#1}{#2}[#2]}} -% \end{macrocode} -% \end{macro} -% -% The \verb+\@@newkwrd+ performs the real work. It calls the -% command \verb+\@@KeywordsCurrentStyle+ whose effect is to define -% the command \verb+\@@kwrd+ and then invokes this last command. -% \begin{macrocode} -\def\@@newkwrd#1#2[#3]{\def#1{\@@KeywordsCurrentStyle{\@@kwrd}{#2}{#3}\@@kwrd}} -% \end{macrocode} -% \end{macro} - -% \subsection{Defining printing styles} -% -% \begin{macro}{\@@TypeStyle} -% This command is expected to be called with a command name as -% first parameter. Its effect is to define \verb+#1+ as the -% command that print \verb+#3+ with style \verb+#2+~: -% \begin{macrocode} -\def\@@TypeStyle#1#2#3{\def#1{\mbox{\reset@font#2{}#3\/}}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\DefineKeywordsStyles} -% The macro \verb+\DefineKeywordsStyles+ has two parameters, let -% them be \verb+toto+ and \verb+bf+. Its effect is to define -% two commands called \verb+\@@toto+ and \verb+\F@@toto+. Each of -% these two new commands has three parameters: the first one must -% be the name of a command (the keyword to be defined) and the -% other two must be two texts associated to the keyword. The -% \verb+\@@toto+ command will select the first text while the -% \verb+\F@@toto+ command will select the second text. -% \begin{macrocode} -\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 -% \end{macrocode} -% A boolean switch is used to select underlined fonts. By default -% non underlined fonts are used, and a reset to non boolean fonts -% is performed after every definition of keyword: -% \begin{macrocode} - \@@underlinefalse -% \end{macrocode} -% At last two commands are provided to the user: \verb+\totos+ and -% \verb+\Ftotos+ whose effect is to set the command -% \verb+\@@KeywordsCurrentStyle+ respectively to \verb+\@@toto+ or -% \verb+\F@@toto+~: -% \begin{macrocode} - \@namedef{#1s}{\def\@@KeywordsCurrentStyle{\@nameuse{@@#1}}} - \@namedef{F#1s}{\def\@@KeywordsCurrentStyle{\@nameuse{F@@#1}}} -} -% \end{macrocode} -% By this way when a command -% -% \begin{verbatim} -% \NewKeyword{\WORD}{SENTENCE1}[SENTENCE2] -% \end{verbatim} -% -% \vspace{-\baselineskip} -% is issued, then \verb+\WORD+ is defined to -% -% \begin{verbatim} -% \@@KeywordsCurrentStyle{\@@kwrd}{SENTENCE1}{SENTENCE2}\@@kwrd} -% \end{verbatim} -% -% \vspace{-\baselineskip} -% Hence, every time the command \verb+\WORD+ is issued by the -% user in the text of its programs, \verb+\@@kwrd+ is redefined -% and invoked under the running definition of -% \verb+\@@KeywordsCurrentStyle+. -% This complicated trick ensures that every keyword, even if it is -% not defined in the style file (e.g. if it is defined in the text -% typed by the user) will be typed with the correct font selection. -% \end{macro} - -% \begin{macro}{\DefineUnderlinedKeywordsStyles} -% This macro serves to switch to underlined fonts: -% \begin{macrocode} -\def\DefineUnderlinedKeywordsStyles#1#2{ - \@@underlinetrue - \DefineKeywordsStyles{#1}{#2} -} -% \end{macrocode} -% \end{macro} - -% \subsection{Predefined printing styles} -% -% The commands in the margin are automatically generated (see above and -% section~\ref{user:selecting-printing-styles}) by issuing the -% following commands: -% -% \begin{macro}{\ProgKeywords} -% \begin{macro}{\FProgKeywords} -% \ -% \begin{macrocode} -\DefineKeywordsStyles{ProgKeyword}{\bf} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\ttKeywords} -% \begin{macro}{\FttKeywords} -% \ -% \begin{macrocode} -\DefineKeywordsStyles{ttKeyword}{\tt} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\AlgoKeywords} -% \begin{macro}{\FAlgoKeywords} -% \ -% \begin{macrocode} -\DefineKeywordsStyles{AlgoKeyword}{\em} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\UAlgoKeywords} -% \begin{macro}{\FUAlgoKeywords} -% \ -% \begin{macrocode} -\DefineUnderlinedKeywordsStyles{UAlgoKeyword}{\em} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\NormalKeywords} -% \begin{macro}{\FNormalKeywords} -% \ -% \begin{macrocode} -\DefineKeywordsStyles{NormalKeyword}{\relax} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \ -% \begin{macro}{\UFAlgoKeywords} -% This macro is defined for compatability with previous versions -% of the style: -% \begin{macrocode} -\let\UFAlgoKeywords\FUAlgoKeywords -% \end{macrocode} -% \end{macro} - -% \subsection{Predefined keywords} -% \label{default-keywords} -% -% The macros below are sorted alphabetically: -% \begin{macrocode} -%<style>%% 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} -%<style>%% -%<style>%% French syntax -%<style>%% -\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] -% \end{macrocode} -% Then we terminate by instructing \LaTeX\ to switch to the default -% font for typing keywords (which, in the current implementation is -% underlined \verb+\em+). -% \begin{macrocode} -\FUAlgoKeywords -% \end{macrocode} - -% \begin{macrocode} -%</style> -% \end{macrocode} - -% ^^A The four commented lines below may be used to output an index on -% ^^A a page layout greater than the one used till now. -% ^^A ----- -% ^^A \newpage -% ^^A \setlength{\oddsidemargin}{0pt} -% ^^A \setlength\textwidth{15cm} -% ^^A \normalsize -% ^^A ----- -% -% \IndexPrologue{% -% \section*{Index}% -% \markboth{Index}{Index}% -% {\it{}The italic numbers denote the pages where the -% corresponding entry is described, -% numbers underlined point to the definition, -% all others indicate the places where it is used -% (ie. the line numbers where it appears). -% }} -% \Finale -% \newpage -% \PrintIndex \PrintChanges diff --git a/Master/texmf-dist/source/latex/progkeys/keywords.ins b/Master/texmf-dist/source/latex/progkeys/keywords.ins deleted file mode 100644 index 6a3e5da4af6..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/keywords.ins +++ /dev/null @@ -1,51 +0,0 @@ -\def\ifToplevel#1{#1} - -%% -%% This file will generate fast loadable files and documentation -%% driver files from the doc files in this package when run through -%% LaTeX2e. -%% -%% --------------- start of docstrip commands ------------------ -%% -\def\batchfile{keywords.ins} -\input docstrip.tex -\preamble - -Copyright: Miguel Alabau, 1995 \space\space\space Miguel.Alabau@labri.u-bordeaux.fr - -\endpreamble -\keepsilent - -\Msg{\space\space\space\space *******************************************} -\Msg{\space\space\space\space ** keywords utility} -\Msg{\space\space\space\space *******************************************} -\Msg{} - -\Msg{*** Generating the driver file ***} -\generateFile{keywords.drv}{f}{\from{keywords.dtx}{driver}} - -\Msg{*** Generating the document package file ***} -\generateFile{keywords.sty}{f}{\from{keywords.dtx}{style}} - -\Msg{*** Generating the index files for producing the documentation crossrefs ***} -\generateFile{keywords.ist}{f}{\from{keywords.dtx}{index}} - -\ifToplevel{ -\Msg{***********************************************************} -\Msg{*} -\Msg{* To finish the installation you have to move the following} -\Msg{* files into a directory searched by TeX:} -\Msg{*} -\Msg{* \space\space\space\space keywords.sty} -\Msg{*} -\Msg{* To produce the documentation of the 'keywords' utility,} -\Msg{* perform as follows:} -\Msg{* \space\space\space\space - run three times keywords.drv through LaTeX2e} -\Msg{* \space\space\space\space - then run 'makeindex -s keywords.ist keywords.idx'} -\Msg{* \space\space\space\space - then run once keywords.drv through LaTeX2e} -\Msg{*} -\Msg{* Happy TeXing} -\Msg{***********************************************************} -} - -\endinput diff --git a/Master/texmf-dist/source/latex/progkeys/programs.drv b/Master/texmf-dist/source/latex/progkeys/programs.drv deleted file mode 100644 index f179380eb4a..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/programs.drv +++ /dev/null @@ -1,64 +0,0 @@ -%% -%% This is file `programs.drv', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% programs.dtx (with options: `driver') -%% -%% Copyright: Miguel Alabau, 1995 Miguel.Alabau@labri.u-bordeaux.fr -%% - -%% \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 \~} -\newif\ifnoprogsfile -\openin1 programs.sty -\ifeof1 \noprogsfiletrue\else\noprogsfilefalse\fi\closein1 -\ifnoprogsfile - \typeout{*******************************************************} - \typeout{To get a more complete documentation, you should} - \typeout{copy the current file into 'programs.sty'} - \typeout{*******************************************************} -\fi -\ifnoprogsfile - \documentclass{ltxdoc} -\else - \documentclass{ltxdoc} - \usepackage{programs} -\fi -\MakePercentIgnore% -\setlength{\textwidth}{31pc}% -\setlength{\textheight}{54pc}% -\setlength{\parindent}{0pt}% -\setlength{\parskip}{2pt plus 1pt minus 1pt}% -\setlength{\oddsidemargin}{8pc}% -\setlength{\marginparwidth}{8pc}% -\setlength{\topmargin}{-2.5pc}% -\setlength{\headsep}{20pt}% -\setlength{\columnsep}{1.5pc}% -\setlength{\columnwidth}{18.75pc}% -%% -\setcounter{IndexColumns}{2}% -\EnableCrossrefs% -\RecordChanges -\CodelineIndex -\begin{document}% - \DocInput{programs.dtx} -\end{document} - -\endinput -%% -%% End of file `programs.drv'. diff --git a/Master/texmf-dist/source/latex/progkeys/programs.dtx b/Master/texmf-dist/source/latex/progkeys/programs.dtx deleted file mode 100644 index 42d80d8ce61..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/programs.dtx +++ /dev/null @@ -1,1227 +0,0 @@ -% \iffalse -% -% 'programs.dtx' -% -% Copyright (C) 1993,1994,1995 by Miguel Alabau. All rights reserved. -% -% ENVIRONMENTS FOR EASILY TYPESETTING PROGRAMS -% -% **WARNING** If the file 'programs.ins' does not accompany the file -% 'programs.dtx', then you must strip this last file by hand. -% (1) Run 'latex docstrip' on 'programs.dtx' and indicate 'drv' as -% suffix file and 'driver' as selector for extraction. -% (2) Run 'latex docstrip' on 'programs.dtx' and indicate 'sty' as -% suffix file and 'style' as selector for extraction. -% (3) Run 'latex docstrip' on 'programs.dtx' and indicate 'ist' as -% suffix file and 'index' as selector for extraction. -% Then, if you want to produce the documentation, proceed as follows: -% latex programs.drv; latex programs.drv; latex programs.drv -% makeindex -s programs.ist programs.idx -% latex programs.drv -% -%<style>\NeedsTeXFormat{LaTeX2e} -%<style>\ProvidesPackage{programs} -% -% \fi -% -% -% \def\fileversion{v1.0} -% \def\filedate{95/04/01} -% \def\docdate {96/01/31} -% -% -% ^^A -*-LaTeX-*- -% -%\catcode`\<=12 - -% \CheckSum{393} -%% \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 \~} -% -% \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty} -% \DoNotIndex{\@flushglue,\@gobble,\@input} -% \DoNotIndex{\@makefnmark,\@makeother,\@maketitle} -% \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa} -% \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue} -% \DoNotIndex{\@thanks,\@thefnmark,\@topnum} -% \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin} -% \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces} -% \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup} -% \DoNotIndex{\cal,\csname,\def,\documentstyle,\dospecials,\edef} -% \DoNotIndex{\documentclass} -% \DoNotIndex{\egroup} -% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist} -% \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global} -% \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocolumn} -% \DoNotIndex{\ifcase} -% \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item} -% \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower} -% \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing} -% \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc} -% \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut} -% \DoNotIndex{\strutbox} -% \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt} -% \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@} -% \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim} -% \DoNotIndex{\`,\catcode,\end,\escapechar,\frenchspacing,\glossary} -% \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle} -% \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode} -% \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip} -% \DoNotIndex{\nopagebreak} -% \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle} -% \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb} -% \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar} -% \DoNotIndex{\[,\{,\},\]} -% \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode} -% \DoNotIndex{\baselineskip,\begin,\tw@} -% \DoNotIndex{\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k,\l,\m,\n,\o,\p,\q} -% \DoNotIndex{\r,\s,\t,\u,\v,\w,\x,\y,\z,\A,\B,\C,\D,\E,\F,\G,\H} -% \DoNotIndex{\I,\J,\K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z} -% \DoNotIndex{\1,\2,\3,\4,\5,\6,\7,\8,\9,\0} -% \DoNotIndex{\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_} -% \DoNotIndex{\discretionary,\immediate,\makeatletter,\makeatother} -% \DoNotIndex{\meaning,\newenvironment,\par,\relax,\renewenvironment} -% \DoNotIndex{\repeat,\scriptsize,\selectfont,\the,\undefined} -% \DoNotIndex{\arabic,\do,\makeindex,\null,\number,\show,\write,\@ehc} -% \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title,\everypar} -% \DoNotIndex{\if@minipage,\if@restonecol,\ifeof,\ifmmode} -% \DoNotIndex{\lccode,\newtoks,\onecolumn,\openin,\p@,\SelfDocumenting} -% \DoNotIndex{\settowidth,\@resetonecoltrue,\@resetonecolfalse,\bf} -% \DoNotIndex{\clearpage,\closein,\lowercase,\@inlabelfalse} -% \DoNotIndex{\selectfont,\mathcode,\newmathalphabet,\rmdefault} -% \DoNotIndex{\bfdefault} -% -% \DoNotIndex{\addtocounter,\baselinestretch,\em,\noindent} -% \DoNotIndex{\linewidth,\columnwidth,\newcounter,\newif,\newlength} -% \DoNotIndex{\normalsize,\refstepcounter,\rlap,\rule} -% \DoNotIndex{\@@tempa,\@@tempb,\@ifnextchar,\@nameuse} -% -% \title{The ``{\sf{}programs.sty}'' style file\thanks{% -% This file has version number \fileversion{} dated \filedate{}. -% The documentation was last revised on \docdate{}.}} -% -% \author{Miguel Alabau\\ -% {\small{}LaBRI, Universit\'e Bordeaux~I (France)}\\ -% {\small{\em{}e-mail\/}: {\tt{}Miguel.Alabau@labri.u-bordeaux.fr}}} -% -% \maketitle -% -% \begin{abstract} -% This style file contains a set of definitions that allow a fairly -% easy pretty-printing of programs. -% In particular, text alignement is obtained by simply typing -% {\tt{}space} characters. -% Emphasized characters, mathematical symbols and commands are -% directly taken into account. -% \end{abstract}% -% -% \newif\ifmulticols -% \makeatletter -% \ifhave@multicol\multicolstrue\else\multicolsfalse\fi -% \makeatother -% -% \begin{footnotesize} -% \ifmulticols \begin{multicols}{2} \fi -% \tableofcontents -% \ifmulticols \end{multicols} \fi -% \end{footnotesize} -% -% -% \ifmulticols -% \begin{multicols}{2}[\section{Introduction}] -% \else \section{Introduction} \fi -% -% The \LaTeX\ \verb"verbatim" environment allows for easy typesetting -% of text. However it is sometimes convenient to type programs that -% involve some mathematics, some emphasized text or some boldfaced -% keywords. -% \LaTeX\ provides the \verb"tabbing" environment for freely -% typesetting programs. But a cumbersome aspect of this environment is -% the way tabs are specified: their presence makes the text to be -% obscured. -% The file {\em{}programs.sty\/} provides different environments and -% commands for typesetting programs. Spaces are interpreted as in the -% \verb"verbatim" environment, avoiding the user to type \verb"\=" and -% \verb"\>" control characters. -% Accents, mathematical symbols, emphasized and boldface fonts can be -% used. Another useful feature is the capability -% to number lines and to put labels on lines (and, of course, to refer -% to them). -% -% \ifnoprogsfile \relax\else -% -% For instance, you may type something like -% \InBodyLeftNumberLine -% -% \begin{verbatim} -% \begin{programf} -% function sqrt(x: integer): integer; -% (* sqrt(x) = $\sqrt{x}$ *) -% function pow(x,y: real): real; -% (* pow(x,y) = $x^y$ *) -% \end{programf} -% \end{verbatim} -% -% \vspace{-\baselineskip} -% \noindent% -% which leads to the following output -% -% \begin{programf} -% function sqrt(x: integer): integer; -% (* sqrt(x) = $\sqrt{x}$ *) -% function pow(x,y: real): real; -% (* pow(x,y) = $x^y$ *) -% \end{programf} -% -% \fi -% -% It is also possible to typeset the same program in a smaller font, -% enclosed within two horizontal lines, and with the lines unnumbered. -% -% \ifnoprogsfile \relax\else -% -% \begin{verbatim} -% \programsurround -% \begin{programt}* -% function sqrt(x: integer): integer; -% (* sqrt(x) = $\sqrt{x}$ *) -% function pow(x,y: real): real; -% (* pow(x,y) = $x^y$ *) -% \end{programt} -% \end{verbatim} -% -% \vspace{-\baselineskip} -% \noindent% -% yielding to the following output:\\ -% -% \programsurround -% \begin{programt}* -% function sqrt(x: integer): integer; -% (* sqrt(x) = $\sqrt{x}$ *) -% function pow(x,y: real): real; -% (* pow(x,y) = $x^y$ *) -% \end{programt} -% -% \fi -% -% A set of other options is provided, together with two file inclusion -% capabilities. -% -% \ifmulticols\end{multicols}\fi -% -% ^^A ********************************************** -% ^^A ** USERS's MANUAL ** -% ^^A ********************************************** -% -% \section{User's Manual} -% -% In this section, we describe the environments and commands provided by -% this style file (section~\ref{user:program-environments}). -% We indicate also three sets of control commands: -% -% \begin{itemize} -% \item{} Global commands, i.e. global switches for the -% commands/environments of section~\ref{user:program-environments} -% (section~\ref{user:global-commands}). -% \item{} Commands whose scope is the next program only -% (section~\ref{user:running-commands}). -% \item{} Commands that are used {\em{}within\/} a program environment -% (section~\ref{user:local-commands}). -% \end{itemize} -% -% The user is provided with two {\em{}meta-commands\/} that allow to -% define new program environments for some other fonts, or to redefine -% existing program environments. -% -% This section terminates by indicating how to proceed for extracting -% the different archives from the file {\em{}programs.dtx}. -% -% \subsection{Environments for typesetting programs} -% \label{user:program-environments} -% -% The following environments are provided, every one of them -% corresponding to one of the \LaTeX\ predefined font sizes: -% -% \begin{center} -% \begin{tabular}{ll} -% \hline -% \multicolumn{1}{c}{environments} & \multicolumn{1}{c}{sizes}\\ -% \hline\hline -% program & normalsize \\ -% programl & large \\ -% programL & Large \\ -% programs & small \\ -% programf & footnotesize \\ -% programsc & scriptsize \\ -% programt & tiny \\ -% \hline -% \end{tabular} -% \end{center} -% -% These environments are to be used like the \verb"verbatim" -% environment. However they work differently, since the usual \LaTeX\ -% escapes are allowable from within the environment. For instance, -% math mode as well as emphasized characters may be used. -% -% By default, lines are numbered. If someone wants to type an -% unnumbered text, it is necessary to put a \verb"*" just after the -% beginning of the environment. -% \ifnoprogsfile \relax\else -% For instance: -% -% \begin{verbatim} -% \begin{programL}* -% <unnumbered text> -% \end{programL} -% \end{verbatim} -% \fi -% -% Program indentation obey to the variable \verb"\ProgramIndent" (see -% section~\ref{user:global-commands}). However, it is possible, for -% one given environment, not to obey to the global indentation of -% programs. This is done by indicating another indentation between -% square braces just after entering the environment. -% \ifnoprogsfile \relax\else -% For instance, an unnumbered program indented 2cm from the left -% margin of the text is: -% -% \begin{verbatim} -% \begin{programL}[2cm]* -% <unnumbered text> -% \end{programL} -% \end{verbatim} -% \fi -% -% There is also a set of inclusion commands similar to the -% \verb"\verbatimfile" (verbatim inclusion of a file) and -% \verb"\verbatimlisting" (verbatim inclusion of a file, with -% numbered lines) commands of the ``{\em{}verbatimfiles.sty\/}'' by -% Chris Rowley. -% Of course, the files input by these commands are subject to the same -% permisive syntax as for the environments above (math syntax, -% emphasized text, {\em{}etc.\/}). -% -% \begin{center} -% \begin{tabular}{lll} -% \hline -% \multicolumn{3}{c}{program inclusion commands} \\ -% \hline -% \multicolumn{1}{c}{unnumbered programs} -% & \multicolumn{1}{c}{numbered programs} -% & \multicolumn{1}{c}{sizes}\\ -% \hline\hline -% \verb"\"fprogram & \verb"\"lprogram & normalsize \\ -% \verb"\"fprograml & \verb"\"lprograml & large \\ -% \verb"\"fprogramL & \verb"\"lProgramL & Large \\ -% \verb"\"fprograms & \verb"\"lprograms & small \\ -% \verb"\"fprogramf & \verb"\"lprogramf & footnotesize \\ -% \verb"\"fprogramsc & \verb"\"lprogramsc & scriptsize \\ -% \verb"\"fprogramt & \verb"\"lprogramt & tiny \\ -% \hline -% \end{tabular} -% \end{center} -% -% We describe in section~\ref{user:meta-commands} how to define new -% program environments. -% -% \subsection{Global commands} -% \label{user:global-commands} -% -% \DescribeMacro{\ProgramIndent} -% This command serves to control the default indentation of the -% programs. -% It is used as described below: -% \begin{verbatim} -% \ProgramIndent{1cm} -% \end{verbatim} -% \vspace{-\baselineskip} -% and has the effect to make all the programs to be indented by -% default one centimeter from the left margin, unless this value is -% changed by another \verb"\ProgramIndent" command. -% Default is no indentation at all. -% -% \DescribeMacro{\programindent} -% This macro redefines the macro \verb+\ProgramIndent+. -% It is present here for compatibility with previous versions of the -% {\em{}programs.sty\/} style. -% -% \DescribeMacro{\LeftMarginNumberLine} -% \DescribeMacro{\RightMarginNumberLine} -% \DescribeMacro{\BothMarginsNumberLine} -% \DescribeMacro{\InBodyLeftNumberLine} -% These four commands are self-explanatory. -% They allow the user to specify that line numbers must be put in -% either the left or the right margin, or in both margins, or that lines -% must appear inside the body of the text on the left of the program. -% These options may be put anywhere in the text, in the preamble as -% well as in the body. -% The effect of one of these commands stands until it is changed by -% another one of them. -% Of course, different commands may be put in several parts of the text, -% if the user wants its programs to be numbered differently. -% The default is for the lines to appear in the left margin of the -% text (\verb"\LeftMarginNumberLine"). -% -% \DescribeMacro{\BothMarginNumberLine} -% This macro redefines the macro \verb+\BothMarginsNumberLine+. -% It is present here for compatibility with previous versions of the -% {\em{}programs.sty\/} style. -% -% \DescribeMacro{\ttProgram} -% \DescribeMacro{\rmProgram} -% \DescribeMacro{\emProgram} -% Text of programs are usually typed with a teletype font (like in the -% \verb"verbatim" environment). The user has the ability to change -% this default font to one of the three predefined fonts: teletype, -% roman, italicized roman. -% -% \DescribeMacro{\ProgramDefaultFont} -% The command \verb"\ProgramDefaultFont" serves to reset the printing -% to the default font. -% -% \subsection{Commands to be used before a program environment} -% \label{user:running-commands} -% -% \DescribeMacro{\ProgramSurround} -% Programs are usually typeset as they are. -% However a user can specify that the next program to be printed will -% be surrounded by two horizontal lines, as long as the width of the -% text. -% This is done by putting this command in the body of the text before -% the program appears. -% -% \DescribeMacro{\programsurround} -% This macro redefines the macro \verb+\ProgramSurround+. -% It is present here for compatibility with previous versions of the -% {\em{}programs.sty\/} style. -% -% \DescribeMacro{\SetProgramCounter} -% By default, program lines are counted from~$1$. -% It is possible to change the value of the first line number of the -% next program by issuing the following command before the program is -% included: -% -% \begin{verbatim} -% \SetProgramCounter{6} -% \end{verbatim} -% -% \vspace{-\baselineskip} -% In this example, the lines of the next program will start from~$6$. -% -% \DescribeMacro{\setprogramcounter} -% This macro redefines the macro \verb+\SetProgramCounter+. -% It is present here for compatibility with previous versions of the -% {\em{}programs.sty\/} style. -% -% \DescribeMacro{\NoResetProgramCounter} -% If the user desires that the number of the first line of the next -% program is equal to the number of the last line of the last previous -% program, he must issue the command \verb"\NoResetProgramCounter" -% before the next program. -% This command has no effect if issued before the first program. -% -% \DescribeMacro{\noresetprogramcounter} -% This macro redefines the macro \verb+\NoResetProgramCounter+. -% It is present here for compatibility with previous versions of the -% {\em{}programs.sty\/} style. -% -% \subsection{Commands to be used inside a program environment} -% \label{user:local-commands} -% -% \DescribeMacro{\UnnumLine} -% \label{user:unnumline} -% This command is to be used only {\em{}within\/} programs. -% It must appear at the end of a line and has the effect not to number -% the following line. -% It serves when the user wants to keep only one unique line number for -% long statements that span accross several lines. -% -% \DescribeMacro{\unnumline} -% This macro redefines the macro \verb+\UnnumLine+. -% It is present here for compatibility with previous versions of the -% {\em{}programs.sty\/} style. -% -% \subsection{Meta-Commands: how to define new program environments} -% \label{user:meta-commands} -% -% \DescribeMacro{\NewProgram} -% \DescribeMacro{\RenewProgram} -% \label{user:newprogram} -% The \verb"\NewProgram" command serves to define a new program -% environment. -% The \verb"\RenewProgram" command is to be used for redefining already -% defined program environments. -% These commands must be used as below: -% \begin{quote} -% \verb"\NewProgram"\{{\em{}name\/}\}\{{\em{}font\_name\/}\} \\ -% \verb"\RenewProgram"\{{\em{}name\/}\}\{{\em{}font\_name\/}\} -% \end{quote} -% -% The command \verb"\NewProgram" defines one environment and two -% commands. Let us assume that the user issues the following command: -% -% \begin{verbatim} -% \NewProgram{LittleProg}{smallsize} -% \end{verbatim} -% -% \vspace{-\baselineskip}% -% then an environment called \verb"LittleProg" will be generated for -% direct typesetting of programs, and two commands will be created: -% \verb"fLittleProg" and \verb"lLittleProg" for inclusion of -% unnumbered (resp. numbered) text. -% -% \DescribeMacro{\newprogram} -% \DescribeMacro{\renewprogram} -% These two macros are old names present here for compatibility with -% previous versions of the {\em{}programs.sty\/} style. -% \verb+\newprogram+ redefines \verb+\NewProgram+, and -% \verb+\renewprogram+ redefines \verb+\RenewProgram+. -% -% \subsection{The Index File} -% -% In order for the processing of this file to be complete, an index -% format file is required. Let us assume that it is named -% \verb+programs.ist+, then the following command must be run and then -% another compilation of the current file: -% -% \begin{macrocode} -%<index> -%<index>%% ----------------------------------------------------------- -%<index>%% Assuming this file is named "programs.ist" (after being -%<index>%% generated from "programs.dtx" by running "latex docstrip"), -%<index>%% the following command will produce a well formated index: -%<index>%% -%<index>%% makeindex -s programs.ist programs.idx -%<index>%% ----------------------------------------------------------- -%<index> -% \end{macrocode} -% -% Another possibility is to set the environment variable -% \verb+INDEXSTYLE+ to a directory name where the ``.ist'' files -% (index format files) may be found. -% -% A possible index file is given below\footnote{It can be generated by -% invoquing the compilation of ``docstrip'' with the ``index'' -% option.}: -% -% \begin{macrocode} -%<index>actual '=' -%<index>quote '!' -%<index>level '>' -%<index>preamble -%<index>"\n \\begin{theindex} \n \\makeatletter\\scan@allowedfalse\n" -%<index>postamble -%<index>"\n\n \\end{theindex}\n" -%<index>item_x1 "\\efill \n \\subitem " -%<index>item_x2 "\\efill \n \\subsubitem " -%<index>delim_0 "\\pfill " -%<index>delim_1 "\\pfill " -%<index>delim_2 "\\pfill " -%<index>% The next lines will produce some warnings when -%<index>% running Makeindex as they try to cover two different -%<index>% versions of the program: -%<index>lethead_prefix "{\\bf\\hfil " -%<index>lethead_suffix "\\hfil}\\nopagebreak\n" -%<index>lethead_flag 1 -%<index>heading_prefix "{\\bf\\hfil " -%<index>heading_suffix "\\hfil}\\nopagebreak\n" -%<index>headings_flag 1 -% \end{macrocode} -% -% \subsection{The Driver File} -% -% There is also a driver file, called {\em{}programs.drv\/}, that is -% included in the distribution. -% It is devoted to control the latex compilation of the documentation. -% Its code is given below. -% -% \begin{macrocode} -%<*driver> -\newif\ifnoprogsfile -\openin1 programs.sty -\ifeof1 \noprogsfiletrue\else\noprogsfilefalse\fi\closein1 -\ifnoprogsfile - \typeout{*******************************************************} - \typeout{To get a more complete documentation, you should} - \typeout{copy the current file into 'programs.sty'} - \typeout{*******************************************************} -\fi -\ifnoprogsfile - \documentclass{ltxdoc} -\else - \documentclass{ltxdoc} - \usepackage{programs} -\fi -\MakePercentIgnore% -% -\setlength{\textwidth}{31pc}% -\setlength{\textheight}{54pc}% -\setlength{\parindent}{0pt}% -\setlength{\parskip}{2pt plus 1pt minus 1pt}% -\setlength{\oddsidemargin}{8pc}% -\setlength{\marginparwidth}{8pc}% -\setlength{\topmargin}{-2.5pc}% -\setlength{\headsep}{20pt}% -\setlength{\columnsep}{1.5pc}% -\setlength{\columnwidth}{18.75pc}% -%% -\setcounter{IndexColumns}{2}% -\EnableCrossrefs% -\RecordChanges -\CodelineIndex -%\OldMakeindex % use if your MakeIndex is pre-v2.9% -\begin{document}% - \DocInput{programs.dtx} -\end{document} -%</driver> -% \end{macrocode} -% -% \subsection{Extracting the documents included in the file programs.dtx} -% -% There are three documents included in the {\em{}programs.dtx\/} file: -% the style file ({\em{}programs.sty}), -% the index style file for printing a cross-referenced document -% ({\em{}programs.ist}), -% and the driver file for printing the document: {\em{}programs.drv\/}. -% -% For file extraction it is necessary to use the \verb"docstrip" -% utility, which is part of the \verb"doc" -% distribution~\cite{art:doc}. -% Normally, a file \verb"docstrip.tex" should exist on the \LaTeX\ -% style files directory. -% Extraction is performed by typing: -% -% \begin{verbatim} -% latex docstrip -% \end{verbatim} -% -% This is an interactive program, and the dialogue for generating the -% style file should be: -% -% \begin{verbatim} -% ********************************************************** -% * This program converts documented macro-files into fast * -% * loadable files by stripping off (nearly) all comments! * -% ********************************************************** -% -% **************************************************** -% * First type the extension of your input file(s): * -% \infileext=doc -% **************************************************** -% -% **************************************************** -% * Now type the extension of your output file(s) : * -% \outfileext=sty -% **************************************************** -% -% **************************************************** -% * Now type the name(s) of option(s) to include : * -% \Options=style -% **************************************************** -% -% **************************************************** -% * Finally give the list of input file(s) without * -% * extension seperated by commas if necessary : * -% \filelist=programs -% **************************************************** -% \end{verbatim} -% -% For generating the index file it suffices to rerun the -% \verb"docstrip" utility and to answer ``ist/index'' instead of -% ``sty/style'' int the above steps~2 and~3, and in another run to -% answer "drv/driver". -% -% \medskip -% -% The three files may be produced in a single pass, by simply latexing -% the file {\em{}programs.ins\/} which goes along with the file -% {\em{}programs.dtx\/}. -% -% \medskip -% -% Generation of the documentation is then simply performed as follows: -% -% \begin{verbatim} -% latex programs.drv -% latex programs.drv -% latex programs.drv -% makeindex -s programs.ist programs.idx -% latex programs.drv -% \end{verbatim} -% -% \StopEventually{ -% \begin{thebibliography}{1} -% \bibitem{book:KnuthA} {\sc D.E. Knuth}. -% \newblock Computers \& Typesetting (The \TeX book). -% \newblock Addison-Wesley, Vol. A, 1986. -% \bibitem{lamport86}{\sc L. Lamport}. -% \newblock {\em {\LaTeX}: a Document Preparation System}. -% \newblock Addison-Wesley Publishing Company, 1986. -% \bibitem{art:doc} {\sc F. Mittelbach}. -% \newblock The {\tt doc}-option. -% \newblock {\sl TUGboat}, Vol.~10(2), {\it pp}.~245--273, July -% 1989. -% \bibitem{art:docstrip} {\sc F. Mittelbach, D. Duchier and -% J. Braams}. -% \newblock {\tt docstrip.dtx}~. -% \newblock The file is part of the DOC package. -% \end{thebibliography} -% -% } ^^A end \StopEventually -% -% \begin{macrocode} -%<*style> -% \end{macrocode} -% - -% ^^A ********************************************** -% ^^A ** TECHNICAL DESCRIPTION ** -% ^^A ********************************************** - -\typeout{Document style `programs.sty' <1993,1994,1995>} - -% \section{Description of Macros} -% -% \begin{macro}{\AlreadyDefined@@Programs} -% This macro can be tested by any style file to know if the file -% ``{\sf{}programs.sty}'' has been input. But it allows a modular -% programming style similar to the one used with the C~header -% files. -% Hence, the first time the ``{\sf{}programs.sty}'' style file is -% included all of its body will be included; the second time, the -% body will not be included. -% \begin{macrocode} -\expandafter\ifx\csname AlreadyDefined@@Programs\endcsname\relax% -\expandafter\def\csname AlreadyDefined@@Programs\endcsname{}% -\else\endinput\fi -% \end{macrocode} -% \end{macro}% - -% \subsection{Controlling program indentation} -% -% \begin{macro}{\ProgramIndent} -% \begin{macro}{\@@programindent} -% \verb"\@@programindent" is the amount of program indentation for -% the left margin of the text. -% Initially, it is set to \verb"\z@"\ : -% \begin{macrocode} -%<style>%% CONTROLLING PROGRAM INDENTATION -\newdimen\@@programindent -\@@programindent=\z@ -% \end{macrocode} -% \end{macro} -% -% The \verb"\ProgramIndent" has the only effect to set the variable -% of \verb"\@@programindent" to the value indicated by its -% parameter: -% \begin{macrocode} -\def\ProgramIndent#1{\@@programindent=#1} -% \end{macrocode} -% \end{macro} - -% \subsection{Surrounding programs by rules} -% -% \begin{macro}{\ProgramSurround} -% \begin{macro}{\if@@surround} -% By default, a program is printed as is, but it is possible to -% indicate that it is going to be enclosed within two -% \verb"\hrule": -% \begin{macrocode} -%<style>%% SURROUNDING PROGRAMS BY RULES -\newif\if@@surround\@@surroundfalse -\def\ProgramSurround{\@@surroundtrue} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@@progline} -% \begin{macro}{\@@noprogline} -% These two macros define the shape of the surrounding lines. -% The definition of \verb"\@@progline" is such that the surrounding -% lines lengths are always equal to the width of the current line -% (even if it is changed from one program to another). -% \begin{macrocode} -\def\@@progline{\def\@@prgln{\rule{\linewidth}{0.1mm}}\@@prgln} -\def\@@noprogline{\rule{0pt}{0pt}} -% \end{macrocode} -% \end{macro} -% \end{macro} - -% \subsection{Line numbering} -% -% \begin{macro}{\@@defaultindent} -% The purpose of this macro is to keep space enough for printing -% the line numbers of the programs. -% I have defined its length for make it easy printing long -% programs (thousands of lines). -% \begin{macrocode} -%<style>%% LINE NUMBERING -\newlength{\@@defaultindent} -\settowidth{\@@defaultindent}{{\tt{}12345}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\if@@resetlineno} -% \begin{macro}{\if@@unnumline} -% \begin{macro}{\if@@CurrentProgIsUnnumbered} -% These three conditions serve to indicate the printing status of -% the current program. -% More precisely, \verb"\if@@resetlineno" is a boolean flag to -% specify if line numbering must be reset for the next program. -% It defaults to true. -% \verb"\if@@unnumline" is a boolean flag to specify that the next -% line to be printed is not to be numbered. -% It defaults to false (i.e. every line is numbered, by default). -% \verb"\if@@CurrentProgIsUnnumbered" is a global flag for the -% program, that indicates if the program being printed is numbered -% or not. -% It defaults to false (i.e. programs are numbered, by default). -% \begin{macrocode} -\newif\if@@resetlineno \@@resetlinenotrue \newif\if@@unnumline -\@@unnumlinefalse -\newif\if@@CurrentProgIsUnnumbered \@@CurrentProgIsUnnumberedfalse -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} - -% \begin{macro}{\NoResetProgramCounter} -% This macro is provided to the user to specify that the first line -% number of the next program must be equal to the last line number -% of the previous program. -% More precisely, lines for the next program will be numbered from -% \verb"\@@lineno + 1". -% \begin{macrocode} -\def\NoResetProgramCounter{\@@resetlinenofalse} -% \end{macrocode} -% \end{macro} - -% \begin{macro}{\UnnumLine} -% As said in section~\ref{user:unnumline}, this macro must appear -% at the end of a program line. -% Its effect is to set on the boolean flag \verb"\@@unnumlinetrue" -% to prevent the macro \verb"\@@xnewprog" from numbering the next line -% of the program. -% The ``\verb"\ "'' that appears ahead of the macro serves to make -% the command valid even if issued on an empty line. -% \begin{macrocode} -\def\UnnumLine{\ \@@unnumlinetrue} -% \end{macrocode} -% \end{macro} - -% \begin{macro}{@@lineno} -% \begin{macro}{\SetProgramCounter} -% This is the definition of a counter for the program lines. -% Once the macro \verb"\SetProgramCounter" called, its effect is to -% make lines starting from the value indicated as param \verb"#1". -% Of course, if the user issues a \verb"\SetProgramCounter" -% command, it is implicitly assumed that he wants the lines to be -% numbered. -% That is why the condition \verb"\if@@resetlineno" is set to -% false. -% \begin{macrocode} -\newcounter{@@lineno}\setcounter{@@lineno}{1} -\def\SetProgramCounter#1{\setcounter{@@lineno}{#1}\@@resetlinenofalse} -% \end{macrocode} -% \end{macro} -% \end{macro} - -% \begin{macro}{@@dummylineno} -% This little trick is an internal line counter for the unnumbered -% programs. -% It is necessary for making it possible to put labels on -% lines in unnumbered programs, and refer to them. -% Internal numbering of unnumbered programs always begins at~$1$. -% \begin{macrocode} -\newcounter{@@dummylineno}\setcounter{@@dummylineno}{1} -% \end{macrocode} -% \end{macro} - -% \begin{macro}{\LeftMarginNumberLine} -% \begin{macro}{\RightMarginNumberLine} -% \begin{macro}{\BothMarginsNumberLine} -% \begin{macro}{\InBodyLeftNumberLine} -% \begin{macro}{\@@PlaceOfNumbers} -% The first four commands are provided to the user for -% indicating line number placement. -% They have the only effect to change the value of -% \verb"\@@PlaceOfNumbers" which is an internal value whose purpose -% is to define where the line numbers are to appear on the text. -% It is used by the macro \verb"\@@xnewprog". -% \begin{macrocode} -\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} -% \end{macrocode} -% -% For more readability, a -% \begin{macrocode} -\LeftMarginNumberLine -% \end{macrocode} -% command is issued, in order to initialize -% \verb"\@@PlaceOfNumbers". -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} - -% \subsection{Program default fonts} -% -% \begin{macro}{\@@DefaultProgramFont} -% Text of programs is usually typed with a teletype font (like in -% the \verb"verbatim" environment). -% Default font printing is controlled by this counter. -% Its value is used in the macro \verb"\@@astyped" described -% elsewhere in this document. -% \begin{macrocode} -%<style>%% PROGRAM DEFAULT FONTS -\def\@@DefaultProgramFont{0} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ttProgram} -% \begin{macro}{\rmProgram} -% \begin{macro}{\emProgram} -% \begin{macro}{\ProgramDefaultFont} -% These commands allow the user to change the default font of the -% programs. This is performed by redefining the running macros -% \verb"\@@astyped" and \verb"\@@program". -% \begin{macrocode} -\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} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} - -% \subsection{The real environment} -% -% \begin{macro}{\@@vobeyspaces} -% \begin{macro}{\@@xobeysp} -% We first begin by redefining the space character that will be -% used in the \verb"@@astyped" environment. -% It is important to let a space after the occurrence of -% \verb"\let" below, since at this point space characters are -% become active. -% If \verb"\@@xobeysp" had been issued on a different line, a risk -% would have existed to have space redefined to empty space. -% \begin{macrocode} -%<style>%% THE REAL ENVIRONMENT -{\catcode`\ =\active\gdef\@@vobeyspaces{\catcode`\ \active\let \@@xobeysp}} -\def\@@xobeysp{\leavevmode\penalty10000\ } -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\def@@astyped} -% \begin{macro}{\@@astyped} -% \begin{macro}{\end@@astyped} -% Then, we define the \verb"@@astyped" environment by the means of -% its two macros \verb"\@@astyped" and \verb"\end@@astyped". -% It is very strongly related to the \verb"astyped" -% environment~\cite{astyped88}. However, rather than directly using -% the \verb"astyped" environment, I have prefered to make the -% {\em{}programs.sty\/} style file independent. -% -% \verb"\def@@astyped" causes the \verb"@@astyped" environment -% to be defined. This is because we want a different -% \verb"@@astyped" environment to be defined for every new -% \verb"program" environment, because fonts may have changed, hence -% spacing may differ from one environment to another one. -% \begin{macrocode} -\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% - } -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} - -% \subsection{Meta-commands for defining new program environments} -% -% \begin{macro}{\NewProgram} -% \begin{macro}{\RenewProgram} -% \begin{macro}{\@@newprog} -% The command \verb"\NewProgram" (resp. \verb"\RenewProgram") can -% be used to define (resp. redefine) new program environments. The -% first parameter is the name of a program environment to be -% created, and the second one is the name of a size for the police -% (e.g. {\em{}smallsize}, {\em{}tiny}, {\em{}etc}.). -% See section~\ref{user:meta-commands} for an example. -% -% I have defined \verb"\RenewProgram" same as \verb"\NewProgram" -% because I am too lazzy, but it should test if the environment to -% be redefined has been previously defined. -% \begin{macrocode} -%<style>%% 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{}% -% \end{macrocode} -% The little trick below is necessary because \verb"\@@lineno" is -% incremented by 1 at the beginning of every \verb"program" -% environment (see \verb"\@@xnewprog" below). -% Hence, when \verb"\NoResetProgramCounter" is used, the line -% numbers of the last line of the previous program and the first -% line of the new program would be the same. -% The condition below avoids this drawback. -% \begin{macrocode} - \if@@CurrentProgIsUnnumbered \relax% - \else% - \addtocounter{@@lineno}{1}% - \fi% - % - \end@@astyped% - \let\baselinestretch=\@@tempb\endgroup% - \global\@@resetlinenotrue% - \global\ProgramDefaultFont% - \global\@@surroundfalse% - }% -% \end{macrocode} -% At last, if actual value of parameter \verb+#1+ is \verb+FOO+, we -% define two file inclusion commands: \verb+\fFOO+ and \verb+lFOO+ -% for inclusion of unnumbered and numbered programs -% (see section~\ref{user:program-environments}). -% \begin{macrocode} - \@namedef{f#1}##1{\@nameuse{#1}*\par\input##1\@nameuse{end#1}}% - \@namedef{l#1}##1{\@nameuse{#1}\par\input##1\@nameuse{end#1}}% -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} - -% \begin{macro}{\@@numlinelength} -% \begin{macro}{\@@xnewprog} -% The macro \verb"\@@xnewprog" performs the printing of the lines. -% \begin{macrocode} -\newlength{\@@numlinelength} -\def\@@xnewprog[#1]{% -% \end{macrocode} -% If the first character is the symbol \verb+*+ then no line -% numbers are printed. -% \begin{macrocode} - \@ifstar{% - \@@CurrentProgIsUnnumberedtrue - \setcounter{@@dummylineno}{0}% - \leavevmode% - \everypar{% - \refstepcounter{@@dummylineno}% - \@@unnumlinefalse% - \noindent\hspace{#1}}% - }% -% \end{macrocode} -% Otherwise, this is the normal case: -% \begin{macrocode} - {% - \@@CurrentProgIsUnnumberedfalse - \if@@resetlineno% - \setcounter{@@lineno}{0}% - \else% - \addtocounter{@@lineno}{-1}% - \fi% - \leavevmode% - \everypar{% - \if@@unnumline% -% \end{macrocode} -% I decided to make a default indentation on the left side of the -% unnumbered program if the user has requested a numbering on the -% left side of the page for the numbered programs. -% This is to keep an homogeneous layout. -% \begin{macrocode} - \ifx \@@PlaceOfNumbers\@@InBodyLeftNumberLine% - \hspace{\@@defaultindent}% - \rule{0pt}{0pt}% - \fi -% \end{macrocode} -% Otherwise, for numbered programs, we begin by incrementing the -% line counter and making it possible a reference to the line -% number to be done (see the {\em{}latex.tex\/}\footnote{This file -% is part of the \LaTeX\ distribution.} file for explanations on -% \verb"\refstepcounter"). -% \begin{macrocode} - \else% - \refstepcounter{@@lineno}% -% \end{macrocode} -% Then, we look at the placement of the line numbers, which is -% controlled by the variable \verb"\@@PlaceOfNumbers": -% \begin{macrocode} - \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 -% \end{macrocode} -% Otherwise (default case), numbers are printed on the left margin -% of the page: -% \begin{macrocode} - \llap{{\rm\the@@lineno\ \ }}% - \fi\fi\fi\fi -% \end{macrocode} -% Then we reset the boolean flag -% {\makeatletter\verb"\@@unnumlinefalse"} in order -% to make the next line to be numbered (of course, this is useful -% only if the program is numbered), and we indent the program -% according to what was requested by the user. -% \begin{macrocode} - \fi\@@unnumlinefalse% - \noindent\hspace{#1}% - }% - }% -} -% \end{macrocode} -% \end{macro} -% \end{macro} - -% \subsection{Predefined environments and commands} -% -% \begin{macro}{\def@@program} -% \begin{macro}{\ProgramDefaultFont} -% This command serves to define the environments and commands -% described in section~\ref{user:program-environments}. -% It is invoked by the \verb"\ProgramDefaultFont" command. -% \begin{macrocode} -%<style>%% 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} -} -% \end{macrocode} -% Then we terminate by instructing \LaTeX\ to switch to the default -% font for typing programs (which, in the current implementation is -% \verb+\tt+ in order to have a behaviour consistent with the -% \verb+verbatim+ environment). -% \begin{macrocode} -\ProgramDefaultFont -% \end{macrocode} -% \end{macro} -% \end{macro} - -% \subsection{Old macro names present here for compatibility reasons} -% -% \begin{macro}{\newprogram} -% \begin{macro}{\renewprogram} -% \begin{macro}{\noresetprogramcounter} -% \begin{macro}{\programindent} -% \begin{macro}{\programsurround} -% \begin{macro}{\setprogramcounter} -% \begin{macro}{\unnumline} -% \begin{macro}{\BothMarginNumberLine} -% These macro names are simple redefinitions of macros defined -% elsewhere in this document style. -% They are present here because they had been defined in previous -% versions of this style. -% \begin{macrocode} -%<style>%% 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 -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} - -% \begin{macrocode} -%</style> -% \end{macrocode} - -% ^^A The four commented lines below may be used to output an index on -% ^^A a page layout greater than the one used till now. -% ^^A ----- -% ^^A \newpage -% ^^A \setlength{\oddsidemargin}{0pt} -% ^^A \setlength\textwidth{15cm} -% ^^A \normalsize -% ^^A ----- -% -% \IndexPrologue{% -% \section*{Index}% -% \markboth{Index}{Index}% -% {\it{}The italic numbers denote the pages where the -% corresponding entry is described, -% numbers underlined point to the definition, -% all others indicate the places where it is used -% (ie. the line numbers where it appears). -% }} -% \Finale -% \newpage -% \PrintIndex \PrintChanges diff --git a/Master/texmf-dist/source/latex/progkeys/programs.ins b/Master/texmf-dist/source/latex/progkeys/programs.ins deleted file mode 100644 index 1a7f43c5039..00000000000 --- a/Master/texmf-dist/source/latex/progkeys/programs.ins +++ /dev/null @@ -1,51 +0,0 @@ -\def\ifToplevel#1{#1} - -%% -%% This file will generate fast loadable files and documentation -%% driver files from the doc files in this package when run through -%% LaTeX2e. -%% -%% --------------- start of docstrip commands ------------------ -%% -\def\batchfile{programs.ins} -\input docstrip.tex -\preamble - -Copyright: Miguel Alabau, 1995 \space\space\space Miguel.Alabau@labri.u-bordeaux.fr - -\endpreamble -\keepsilent - -\Msg{\space\space\space\space *******************************************} -\Msg{\space\space\space\space ** programs utility} -\Msg{\space\space\space\space *******************************************} -\Msg{} - -\Msg{*** Generating the driver file ***} -\generateFile{programs.drv}{f}{\from{programs.dtx}{driver}} - -\Msg{*** Generating the document package file ***} -\generateFile{programs.sty}{f}{\from{programs.dtx}{style}} - -\Msg{*** Generating the index files for producing the documentation crossrefs ***} -\generateFile{programs.ist}{f}{\from{programs.dtx}{index}} - -\ifToplevel{ -\Msg{***********************************************************} -\Msg{*} -\Msg{* To finish the installation you have to move the following} -\Msg{* files into a directory searched by TeX:} -\Msg{*} -\Msg{* \space\space\space\space programs.sty} -\Msg{*} -\Msg{* To produce the documentation of the 'programs' utility,} -\Msg{* perform as follows:} -\Msg{* \space\space\space\space - run three times programs.drv through LaTeX2e} -\Msg{* \space\space\space\space - then run 'makeindex -s programs.ist programs.idx'} -\Msg{* \space\space\space\space - then run once programs.drv through LaTeX2e} -\Msg{*} -\Msg{* Happy TeXing} -\Msg{***********************************************************} -} - -\endinput |