diff options
Diffstat (limited to 'macros/plain/contrib/misc/outline.sty')
-rw-r--r-- | macros/plain/contrib/misc/outline.sty | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/macros/plain/contrib/misc/outline.sty b/macros/plain/contrib/misc/outline.sty new file mode 100644 index 0000000000..77c82f0779 --- /dev/null +++ b/macros/plain/contrib/misc/outline.sty @@ -0,0 +1,79 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% outline.sty -- Outline Style +% Hal R. Varian +% September, 1987 +% +% Reads structured files generated by PC-OUTLINE and formats them +% in TeX. Before using you must use a global search and replace command +% to change all strings of ".HEAD" to "\HEAD". Then load outline.sty +% and TeX the outline file. +% +% Notes +% 1. To generate the outline, choose "Send to structured file" from the +% device menu in the print routine of PC-OUTLINE. +% 2. The title must be indicated manually using \title. It is usually +% indicated by a .HEAD 1 +% 3. Sometimes the structured file ends with a spurious .HEAD 1 which should +% be removed. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%for title +\def\title#1{\centerline{\bf #1}\medskip} + +%use \count11 thru \count18 for counters for levels 1 thru 8 + +\count11=0 +\count12=0 +\count13=0 +\count14=0 +\count15=0 +\count16=0 +\count17=0 +\count18=0 + +%create registers for levels, etc. + +\newcount\CurrentLevel\CurrentLevel=0 +\newcount\LastLevel\LastLevel=0 +\newcount\CurrentCounter\CurrentCounter=1 +\newcount\CharCode\CharCode=96 + +%\Indentation measures the amount of indentation +\newdimen\Indentation\Indentation=3ex + +%skip between level 1 headings +\def\AdjustSpace{\vskip -.5pc} + +\parindent=0pt +\parskip=0pt + +\def\HEAD #1 {% +\par +\CurrentLevel=#1 +\CurrentCounter=#1 +\advance\CurrentCounter by 10 %level 1 is assigned to register 11, etc. +\ifnum\CurrentLevel>\LastLevel %if sublevel, + \count\CurrentCounter=1 %reset \CurrentCounter, + \else\advance\count\CurrentCounter by 1\fi %otherwise, increment +\LastLevel=\CurrentLevel +\filbreak %helps prevent entries from being split between pages +\hskip\CurrentLevel\Indentation +\CharCode=\number\count\CurrentCounter %for lettered levels +\let\NumCode=\CharCode %for numbered levels +\ifcase#1% +\relax\or %there is no level zero + \AdjustSpace\advance\CharCode by 64 +\Item\char\CharCode.\space\or %level 1: A. +\Item\llap{\number\NumCode.\space}\or %level 2: 1. + \advance\CharCode by 96 +\Item\llap{\char\CharCode)\space}\or %level 3: a) +\Item\llap{\number\NumCode)\space}\or %level 4: 1) + \advance\CharCode by 96 +\Item\llap{\char\CharCode$>$\space}\or %level 5: a> +\Item\llap{\number\NumCode$>$\space}\or %level 6: 1> + \advance\CharCode by 96 +\Item\llap{\char\CharCode:\space}\or %level 7: a: +\Item\llap{\number\NumCode:\space}\fi} %level 8: 1: + +\def\Item{\hangindent\CurrentLevel\Indentation} +%%%-Incise---------------------------------------------------------- |