summaryrefslogtreecommitdiffstats
path: root/doc/api
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1994-10-12 06:20:31 +0000
committerTheodore Tso <tytso@mit.edu>1994-10-12 06:20:31 +0000
commit43253b7676f26248beb9bc81bb7a19dba72bc2f4 (patch)
treeaefb28c48ecafb640a65bbd717b604f20c87d0c3 /doc/api
parent57d7789ef7aa0be614d23299c3623038930a52a6 (diff)
downloadkrb5-43253b7676f26248beb9bc81bb7a19dba72bc2f4.tar.gz
krb5-43253b7676f26248beb9bc81bb7a19dba72bc2f4.tar.xz
krb5-43253b7676f26248beb9bc81bb7a19dba72bc2f4.zip
Add better dependencies to do two-pass latex runs automatically. Make
"make clean" clean up the tex temp files. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@4492 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'doc/api')
-rw-r--r--doc/api/ChangeLog7
-rw-r--r--doc/api/Makefile13
-rw-r--r--doc/api/fancyheadings.sty233
3 files changed, 253 insertions, 0 deletions
diff --git a/doc/api/ChangeLog b/doc/api/ChangeLog
new file mode 100644
index 0000000000..2a9ba7f49b
--- /dev/null
+++ b/doc/api/ChangeLog
@@ -0,0 +1,7 @@
+Wed Oct 12 02:03:37 1994 Theodore Y. Ts'o (tytso@dcl)
+
+ * Makefile: Added better dependencies to do two-pass latex runs
+ automatically. Make "make clean" clean up the tex temp
+ files.
+
+
diff --git a/doc/api/Makefile b/doc/api/Makefile
index a826b6a7d5..e74e44050d 100644
--- a/doc/api/Makefile
+++ b/doc/api/Makefile
@@ -18,8 +18,21 @@ library.ps: library.dvi
library.ind: library.idx
index library.idx
+library.idx:
+ touch library.ind
+ latex library.tex
+ rm library.ind
+
+clean:
+ rm -f *.toc *.log *.idx *.ind *.aux
+
+really-clean: clean
+ rm -f *.dvi *.ps
+
+
library.dvi: $(LIBTEX) $(STYLES)
+
.tex.dvi:
latex $*
diff --git a/doc/api/fancyheadings.sty b/doc/api/fancyheadings.sty
new file mode 100644
index 0000000000..a71de0fb5f
--- /dev/null
+++ b/doc/api/fancyheadings.sty
@@ -0,0 +1,233 @@
+% fancyheadings.sty version 1.0
+% Fancy headers and footers.
+% Piet van Oostrum, Dept of Computer Science, University of Utrecht
+% Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands
+% Telephone: +31-30-531806. piet@cs.ruu.nl (mcvax!hp4nl!ruuinf!piet)
+% March, 1989.
+
+% Here is a documentstylestyle option that allows you to customize your
+% page headers and footers in an easy way. It combines features that were
+% separately available in other pagestyles, without introducing much
+% complexity. You can define:
+% - three-part headers and footers
+% - rules in header and footer
+% - headers and footers wider than \textwidth
+% - multiline headers and footers
+% - separate headers and footers for even and odd pages
+% - separate headers and footers for chapter pages
+%
+% To use this pagestyle, you must include the ``fancyheadings'' style
+% option in your \documentstyle, and issue the \pagestyle{fancy} command.
+% The \pagestyle{fancy} command should be issued after any changes made to
+% \textwidth.
+%
+% The page layout will be as follows:
+%
+% LHEAD CHEAD RHEAD
+% ----------------------------------- (rule)
+%
+% page body
+%
+%
+% ----------------------------------- (rule)
+% LFOOT CFOOT RFOOT
+%
+% The L-fields will be leftadjusted, the C-fields centered and the
+% R-fields rightadjusted.
+% Each of the six fields and the two rules can be defined separately.
+%
+% Simple use:
+%
+% The header and footer fields can be defined by commands \lhead{LHEAD}
+% and so on for the other fields. If the field depends on something in the
+% document (e.g. section titles) you must in general use the \markboth and
+% \markright commands, otherwise a title may end on the wrong page. You
+% can do this e.g. by redefining the commands \chaptermark, \sectionmark
+% and so on (see example below). The defaults for these marks are as in
+% the standard pagestyles. The marks can be put into a header or footer
+% field by referencing \leftmark and \rightmark.
+%
+% Rules in header and footer
+%
+% The thickness of the rules below the header and above the footer can be
+% changed by redefining the length parameters \headrulewidth (default
+% 0.4pt) and \footrulewidth (default 0). These may be redefined by the
+% \setlength command. A thickness of 0pt makes the rule invisible.
+% If you want to make more complicated changes, you have to redefine the
+% commands \headrule and/or \footrule.
+%
+% Headers and footers wider than \textwidth
+%
+% The headers and footers are set in a box of width \headwidth. The
+% default for this is the value of \textwidth. You can make it wider (or
+% smaller) by redefining \headwidth with the \setlength or \addtolength
+% command. The headers and footers will stick out the page on the same
+% side as the marginal notes. For example to include the marginal notes,
+% add both \marginparsep and \marginparwidth to \headwidth (see also the
+% example below).
+%
+% Multiline headers and footers
+%
+% Each of the six fields is set in an appropriate parbox, so you can put a
+% multiline part in it with the \\ command. It is also possible to put
+% extra space in it with the \vspace command. Note that if you do this you
+% will probably have to increase the \headheight or \footskip lengths.
+%
+% Separate headers and footers for even and odd pages
+%
+% If you want the headers and footers to be different on even- and
+% odd-numbered pages in the ``twoside'' style, the field-defining macros
+% can be given an optional argument, to be used on the even-numbered
+% pages, like \lhead[EVEN-LHEAD]{ODD-RHEAD}.
+%
+% Separate headers and footers for chapter pages
+%
+% LaTeX gives a \thispagestyle{plain} command for the first page of the
+% document, the first page of each chapter and a couple of other pages. It
+% might be incompatible with your pagestyle. In this case you can use a
+% slightly different version of the pagestyle, called \pagestyle{fancyplain}.
+% This pagestyle redefines the pagestyle ``plain'' to also use pagestyle
+% ``fancy'' with the following modifications:
+% - the thicknesses of the rules is defined by \plainheadrulewidth and
+% \plainfootrulewidth (both default 0).
+% - the 6 fields may be defined separately for the plain pages by
+% giving them the value \fancyplain{PLAIN-VALUE}{NORMAL-VALUE}. This
+% construct may be used in both the optional argument and the normal
+% argument. Thus \lhead[\fancyplain{F1}{F2}]{\fancyplain{F3}{F4}}
+% specifies the LHEAD value in a two-sided document:
+% F1 on an even-numbered ``plain'' page
+% F2 on an even-numbered normal page
+% F3 on an odd-numbered ``plain'' page
+% F4 on an odd-numbered normal page.
+%
+% Defaults:
+%
+% \headrulewidth 0.4pt
+% \footrulewidth 0pt
+% \plainheadrulewidth 0pt
+% \plainfootrulewidth 0pt
+%
+% \lhead[\fancyplain{}{\sl\rightmark}]{\fancyplain{}{\sl\leftmark}}
+% % i.e. empty on ``plain'' pages \rightmark on even, \leftmark on odd pages
+% \chead{}
+% \rhead[\fancyplain{}{\sl\leftmark}]{\fancyplain{}{\sl\rightmark}}
+% % i.e. empty on ``plain'' pages \leftmark on even, \rightmark on odd pages
+% \lfoot{}
+% \cfoot{\rm\thepage} % page number
+% \rfoot{}
+%
+% Examples:
+%
+% To put two lines containing the section title and the subsection title
+% in the righthandside corner, use:
+%
+% \documentstyle[fancyheadings]{article}
+% \pagestyle{fancy}
+% \renewcommand{\sectionmark}[1]{\markboth{#1}{}}
+% \renewcommand{\subsectionmark}[1]{\markright{#1}}
+% \rfoot{\leftmark\\\rightmark}
+%
+% The following definitions give an approximation of the style used in the
+% LaTeX book:
+%
+% \documentstyle[fancyheadings]{book}
+% \pagestyle{fancyplain}
+% \addtolength{\headwidth}{\marginparsep}
+% \addtolength{\headwidth}{\marginparwidth}
+% \renewcommand{\chaptermark}[1]{\markboth{#1}{#1}} % remember chapter title
+% \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
+% % section number and title
+% \lhead[\fancyplain{}{\bf\thepage}]{\fancyplain{}{\bf\rightmark}}
+% \rhead[\fancyplain{}{\bf\leftmark}]{\fancyplain{}{\bf\thepage}}
+% \cfoot{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\lhead{\@ifnextchar[{\@xlhead}{\@ylhead}}
+\def\@xlhead[#1]#2{\gdef\@elhead{#1}\gdef\@olhead{#2}}
+\def\@ylhead#1{\gdef\@elhead{#1}\gdef\@olhead{#1}}
+
+\def\chead{\@ifnextchar[{\@xchead}{\@ychead}}
+\def\@xchead[#1]#2{\gdef\@echead{#1}\gdef\@ochead{#2}}
+\def\@ychead#1{\gdef\@echead{#1}\gdef\@ochead{#1}}
+
+\def\rhead{\@ifnextchar[{\@xrhead}{\@yrhead}}
+\def\@xrhead[#1]#2{\gdef\@erhead{#1}\gdef\@orhead{#2}}
+\def\@yrhead#1{\gdef\@erhead{#1}\gdef\@orhead{#1}}
+
+\def\lfoot{\@ifnextchar[{\@xlfoot}{\@ylfoot}}
+\def\@xlfoot[#1]#2{\gdef\@elfoot{#1}\gdef\@olfoot{#2}}
+\def\@ylfoot#1{\gdef\@elfoot{#1}\gdef\@olfoot{#1}}
+
+\def\cfoot{\@ifnextchar[{\@xcfoot}{\@ycfoot}}
+\def\@xcfoot[#1]#2{\gdef\@ecfoot{#1}\gdef\@ocfoot{#2}}
+\def\@ycfoot#1{\gdef\@ecfoot{#1}\gdef\@ocfoot{#1}}
+
+\def\rfoot{\@ifnextchar[{\@xrfoot}{\@yrfoot}}
+\def\@xrfoot[#1]#2{\gdef\@erfoot{#1}\gdef\@orfoot{#2}}
+\def\@yrfoot#1{\gdef\@erfoot{#1}\gdef\@orfoot{#1}}
+
+\newdimen\headrulewidth
+\newdimen\footrulewidth
+\newdimen\plainheadrulewidth
+\newdimen\plainfootrulewidth
+\newdimen\headwidth
+\newif\if@fancyplain \@fancyplainfalse
+\def\fancyplain#1#2{\if@fancyplain#1\else#2\fi}
+
+% Initialization of the head and foot text.
+
+\headrulewidth 0.4pt
+\footrulewidth\z@
+\plainheadrulewidth\z@
+\plainfootrulewidth\z@
+
+\lhead[\fancyplain{}{\sl\rightmark}]{\fancyplain{}{\sl\leftmark}}
+% i.e. empty on ``plain'' pages \rightmark on even, \leftmark on odd pages
+\chead{}
+\rhead[\fancyplain{}{\sl\leftmark}]{\fancyplain{}{\sl\rightmark}}
+% i.e. empty on ``plain'' pages \leftmark on even, \rightmark on odd pages
+\lfoot{}
+\cfoot{\rm\thepage} % page number
+\rfoot{}
+
+% Put together a header or footer given the left, center and
+% right text, fillers at left and right and a rule.
+% The \lap commands put the text into an hbox of zero size,
+% so overlapping text does not generate an errormessage.
+
+\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\vbox{\hbox
+{\rlap{\parbox[b]{\headwidth}{\raggedright#2\strut}}\hfill
+\parbox[b]{\headwidth}{\centering#3\strut}\hfill
+\llap{\parbox[b]{\headwidth}{\raggedleft#4\strut}}}\headrule}}#5}
+
+
+\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\vbox{\footrule
+\hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2\strut}}\hfill
+\parbox[t]{\headwidth}{\centering#3\strut}\hfill
+\llap{\parbox[t]{\headwidth}{\raggedleft#4\strut}}}}}#5}
+
+\def\headrule{{\if@fancyplain\headrulewidth\plainheadrulewidth\fi
+\hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}}
+
+\def\footrule{{\if@fancyplain\footrulewidth\plainfootrulewidth\fi
+\vskip-0.3\normalbaselineskip\vskip-\footrulewidth
+\hrule\@width\headwidth\@height\footrulewidth\vskip0.3\normalbaselineskip}}
+
+\def\ps@fancy{
+\let\@mkboth\markboth
+\@ifundefined{chapter}{\def\sectionmark##1{\markboth
+{\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+{\def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\m@ne
+ \@chapapp\ \thechapter. \ \fi ##1}}{}}
+\def\sectionmark##1{\markright{\uppercase{\ifnum \c@secnumdepth >\z@
+ \thesection. \ \fi ##1}}}}
+\def\@oddhead{\@fancyhead\relax\@olhead\@ochead\@orhead\hss}
+\def\@oddfoot{\@fancyfoot\relax\@olfoot\@ocfoot\@orfoot\hss}
+\def\@evenhead{\@fancyhead\hss\@elhead\@echead\@erhead\relax}
+\def\@evenfoot{\@fancyfoot\hss\@elfoot\@ecfoot\@erfoot\relax}
+\headwidth\textwidth}
+\def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy}
+\def\ps@plain@fancy{\@fancyplaintrue\ps@fancy}