diff options
Diffstat (limited to 'usergrps/uktug/baskervi/5_5/hhmuf.sty')
-rw-r--r-- | usergrps/uktug/baskervi/5_5/hhmuf.sty | 600 |
1 files changed, 600 insertions, 0 deletions
diff --git a/usergrps/uktug/baskervi/5_5/hhmuf.sty b/usergrps/uktug/baskervi/5_5/hhmuf.sty new file mode 100644 index 0000000000..2af77a1a0f --- /dev/null +++ b/usergrps/uktug/baskervi/5_5/hhmuf.sty @@ -0,0 +1,600 @@ +% MULTINOTE (MUF) MACROS for LaTeX2e, version 1.11, +% written by Herman Haverkort, 13 may 1995 +% See end of file for information on warranty, distribution etc. + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{hhmuf}[1995/05/13 Multinote system] +\RequirePackage{hhqueue}[1995/02/14] +\RequirePackage{hhutils0}[1995/03/08] + +% ============================================================================= +% - \muf... (to set footnotes) +% +% \muf:{TEXT} for a ordinary footnote +% \muf LABEL:{TEXT} for a footnote which is labelled LABEL, +% to make it possible to reuse the footnote +% later on by stating: +% \muf LABEL:{} which sets the previously defined footnote +% labelled LABEL. +% Labels should not contain commas, periods or colons! +% If you use the same footnote several times, the multinote macros try +% to ensure that the actual footnote text appears at most once on +% every page. +% ============================================================================= + +\long\def\muf#1:#2{\@covermufpunct{% + \h@ifespecified{#1}{\@mufsymonly #1:{#2}\muftxtonly #1:}% + {\@mufsymonly tmp@:{#2}\muftxtonly tmp@:\muffire tmp@:}}} +% If no label is specified, a temporary label is used. + +% ============================================================================= +% - \mufsym... (to postpone the setting of footnote texts) +% +% If you use \mufsym instead of \muf, only the footnote's marker will be +% set. The footnote text itself will not be set until \muffin is called. +% \mufsym's syntax is similar to \muf's: you can use \mufsym:{TEXT}, +% \mufsym LABEL:{TEXT} and \mufsym LABEL:{}. \mufsym is especially useful +% for footnotes in `forbidden' environments, like tables and parboxes. +% Just say \mufsym in the forbidden environment, and call \muffin as soon +% as you get out of it. +% ============================================================================= + +\long\def\mufsym#1:#2{\@covermufpunct{% + \h@ifespecified{#1}{\edef\@@@lab{#1}}% + {\stepcounter{@muftmps}\edef\@@@lab{tmp@\roman{@muftmps}}}% + \h@enqueue{@@@lab}{mufs@postponed}% + \@mufsymonly \@@@lab:{#2}}} +% If no label is specified, one of the temporary labels tmp@i, tmp@ii etc. +% is used. The label is appended to the list of postponed footnotes. + +% ============================================================================= +% - \muffin (to set postponed footnote texts) +% +% \muffin sets all footnote texts which were postponed by using \mufsym +% since the last call to \muffin. +% ============================================================================= + +\def\muffin{{% + \@muffin + \setcounter{@muftmp}{0}% + \@whilenum \value{@muftmp}<\value{@muftmps}\do + {\stepcounter{@muftmp}\muffire tmp@\roman{@muftmp}:}% + \setcounter{@muftmps}{0}}} +\def\@muffin{% + \h@ifqnonempty{mufs@postponed}{% + \h@getfirst{@@@lab}{mufs@postponed}% + \muftxtonly \@@@lab:% + \@muffin}} +% \muffin calls \@muffin to set alle postponed footnotes. Then it frees +% all temporary labels and the markers assigned to them. + +% ============================================================================= +% - \mufoff +% +% The \mufoff macro makes handling forbidden environments even easier +% than \mufsym. This is the way to use it: +% \begin{ForbiddenEnvironment} +% \mufoff +% Lots of bla, possibly containing calls to \muf with fingers itching +% to set a footnote. However, \mufoff guarantees that those footnotes +% will be postponed like \muf were \mufsym. +% \end{ForbiddenEnvironment} +% \muffin +% +% Nesting several forbidden environments which all insist on calling +% \mufoff and \muffin is no problem. \mufoff redefines \muffin to do +% nothing, so that only the outer \muffin will result in an attempt +% to set footnotes, and that is exactly what should be done. +% ============================================================================= +% - \mufoff[ENVIRONMENTNAME] +% +% \mufoff[ENVIRONMENTNAME] makes handling forbidden environments even +% easier than basic \mufoff en \muffin. Type \mufoff[ForbiddenEnvironment] +% and all multinotes between \begin{ForbiddenEnvironment} and +% \end{ForbiddenEnvironment} will be postponed to just after closing +% the forbidden environment. +% For example: if you type \mufoff[tabular] in the preamble of your +% document, then \muf's in the tabular environment will be handled +% correctly automatically. Because that is so useful I already included +% it in this style file, like I did with \mufoff[array] and +% \mufoff[eqnarray]. +% ============================================================================= + +\def\mufoff{\@ifnextchar[\@mufoff{\def\muf{\mufsym}\def\muffin{}}} +\def\@mufoff[#1]{% Stole a great deal of this macro from + % Kresten Krab Thorup's ftn.sty! + \@ifundefined{h@mf@#1}{% + \expandafter\let\csname h@mf@#1\expandafter\endcsname + \expandafter=\csname #1\endcsname + \expandafter\let\csname h@mf@end#1\expandafter\endcsname + \expandafter=\csname end#1\endcsname + \@namedef{#1}{\bgroup\mufoff\@nameuse{h@mf@#1}}% + \@namedef{end#1}{\@nameuse{h@mf@end#1}\egroup\muffin}}{}} + +\mufoff[tabular] +\mufoff[array] +\mufoff[eqnarray] +\mufoff[minipage] + +% - \mufhire LABEL:{TEXT} (to define a footnote) +% +% The footnote labelled LABEL will be defined, but neither the text +% nor the marker will be set. +% ============================================================================= + +\long\def\mufhire#1:#2{{% + \edef\@@@lab{#1}% + \h@ifnonempty{mufgrp@\@@@lab}% + {\PackageWarning{hhmuf}{Refusing to redefine multinote `#1'.\MessageBreak + Muffire it first}}% + {\h@ifqempty{mufsyms@avail}% + {\PackageWarning{hhmuf}{Out of multinote symbols.\Messagebreak + Using `?' instead}% + \@namexdef{mufsym@\@@@lab}{?}}% + {\h@getfirst{mufsym@\@@@lab}{mufsyms@avail}}% + \h@enqueue{@@@lab}{mufgrp@\arabic{@mufgrplevel}}% + \@namexdef{mufgrp@\@@@lab}{\arabic{@mufgrplevel}}% + \@namegdef{muftxt@\@@@lab}{#2}% + \@namexdef{mufpag@\@@@lab}{}}}} +% If footnote symbols are available, the first one is chosen from the +% symbol queue \mufsyms@avail. The footnote text is stored and the +% page identifier is reset (see \muftxtonly for further explanation) + +% ============================================================================= +% - \muffire LABEL: (to undefine a footnote) +% +% \muffire frees the footnote's label and marker, to enable their use +% for footnotes which will be defined later on. +% ============================================================================= + +\def\muffire#1:{{% + \edef\@@@lab{#1}% + \h@ifnonempty{mufgrp@\@@@lab}% + {\edef\@tempa{\@arabic{\c@@mufgrplevel}}% + \edef\@tempb{\@nameuse{mufgrp@\@@@lab}}% + \ifx\@tempa\@tempb + \expandafter\ifx\@nameuse{mufsym@\@@@lab}?\else + \h@enqueue{mufsym@\@@@lab}{mufsyms@avail}\fi + \h@delete{@@@lab}{mufgrp@\arabic{@mufgrplevel}}% + \@namegdef{mufgrp@\@@@lab}{}% + \else + \PackageWarning{hhmuf}{Multinote `#1' was defined at level \@tempb,% + \MessageBreak so cannot muffire it at level \@tempa}% + \fi}% + {\PackageWarning{hhmuf}{Cannot muffire multinote `#1':\MessageBreak + it is not defined}}% + }} +% \muffire will free the footnote's label by emptying the footnote text, +% and free the footnote's marker by appending it to the footnote symbol +% queue \mufsyms_avail. Thus the available footnote symbols will usually be +% used in turn, which establishes some nice variation in the type-setting +% of your article, report or book. + +% ============================================================================= +% - \mufsymonly... (to set a footnote's marker without the text) +% +% The same as \mufsym, except for the footnote text, which will _not_ +% be set automatically by a following call to \muffin +% ============================================================================= + +\def\mufsymonly#1:#2{\@covermufpunct{\@mufsymonly{#1}:{#2}}} +\def\@mufsymonly#1:#2{% + \h@ifspecified{#2}{\mufhire #1:{#2}}{}% + \h@ifnonempty{mufgrp@#1}% + {\@makemufmark{\@nameuse{mufsym@#1}}}% + {\PackageWarning{hhmuf}{Reference to undefined multinote `#1'% + \MessageBreak}% + \@makemufmark{??}}} + +% ============================================================================= +% - \muftxtonly LABEL: (to set a footnote's text without its marker) +% +% The footnote text will be set, but no marker will show up at the +% reference point. +% ============================================================================= + +\def\muftxtonly#1:{{% + \h@ifnonempty{mufgrp@#1}% + {\edef\@tempa{\@arabic{\c@page}}\edef\@tempb{\@nameuse{mufpag@#1}}% + \ifx\@tempa\@tempb\else + \@mufinsert{\@nameuse{mufsym@#1}}{\@nameuse{muftxt@#1}}% + \@namexdef{mufpag@#1}{\@tempa}\fi}% + {\PackageWarning{hhmuf}{Cannot type-set multinote `#1':\MessageBreak + it is not defined}}}} +% \muftxtonly checks if the identifier of the current page equals +% the page identifier which is stored for the footnote to be set. +% If so, the footnote is already set on this page, so it should not be set +% again. If not so, it is set, and the current page identifier is stored. + +% ============================================================================= +% - \mufbegin{GROUP} (to start a multinote group) +% +% See \mufend for explanation +% ============================================================================= + +\def\mufbegin#1{% + \muffin + \stepcounter{@mufgrplevel}% + \h@initqueue{mufgrp@\arabic{@mufgrplevel}}{}% + \@namexdef{mufgrpname@\arabic{@mufgrplevel}}{#1}} +% \mufbegin increases the nesting level counter and initializes the list +% of footnote labels for the new level. It stores the group name for +% matching it with the \mufend later on. + +% ============================================================================= +% - \mufend{GROUP} (to end a multinote group) +% +% \mufend sets all postponed footnotes (like \muffin), and then muffires +% all footnotes which had been defined since the corresponding call to +% \mufbegin{GROUP}. Thus \mufbegin and \mufend establish some kind of +% footnote definition environment, called a mufgroup. +% Mufgroups can be nested, but if you do nest them, nest them properly. +% So this is not permitted: +% +% \mufbegin{A}\mufbegin{B}\mufend{A}\mufend{B}, +% +% while this is OK: +% +% \mufbegin{A}\mufbegin{B}\mufend{B}\mufend{A}. +% +% Whenever you enter a new group, a \muffin is performed and then all +% footnotes which have already been defined are frozen. You cannot fire +% them until the new group is closed with \mufend. So the following is OK: +% +% \mufhire F:{Foo}\mufbegin{B}\mufend{B}\muffire F: +% +% while this is not: +% +% \mufhire F:{Foo}\mufbegin{B}\muffire F:\mufend{B} +% +% Whenever you are in a group, you cannot redefine footnotes which have +% been defined already in some outer group, because in that case you +% would have to muffire the footnote, which is not allowed. You cannot +% even define a new footnote which is local to the group but gets the +% same label as some footnote which has been defined in some outer group +% (e.g. a global footnote). The muf macros are not that smart. So the +% following is not allowed: +% +% \mufhire F:{Foo}\mufbegin{A}\mufhire F:{bar} +% +% If you have closed all the groups you had opened (or if you never +% opened any), then you are in the outermost, nameless group. You can +% close that group with \mufend{}. It will muffire all footnotes you +% had defined, and automatically reopen a outermost nameless group. +% So it is a kind of: \muffin \muffire ALL. +% ============================================================================= + +\def\mufend#1{{% + \edef\@tempa{#1}\edef\@tempb{\@nameuse{mufgrpname@\arabic{@mufgrplevel}}}% + \ifx\@tempa\@tempb + \muffin + {\def\\##1{\muffire ##1:}\h@processq{mufgrp@\arabic{@mufgrplevel}}} + \global\advance\c@@mufgrplevel-1 + \ifnum\value{@mufgrplevel}=0\mufbegin{}\fi + \else + \PackageWarning{hhmuf}{Refusing to end multinote group \@tempb\ + by\MessageBreak\protect\mufend{\@tempa}} + \fi}} + +% *************************** +% * LAY-OUT * +% *************************** + +% ============================================================================= +% \mufword defines the word which is used in references to multinotes. +% It is `footnote'; redefine it if you like, preferably by defining the +% appropriate language option (see below). +% ============================================================================= + +\def\mufword{footnote~} + +% ============================================================================= +% \@makemufword defines how to format a footnote's marker (in the text, not +% in the insertion at the foot of the page). Redefine it if you like. +% ============================================================================= + +\def\@makemufmark#1{\hbox{$^{#1}$}} + +% ============================================================================= +% by default \@covermufpunct will pull periods and commas following a +% footnote's marker under the marker. With some definitions of \@makemufmark +% this will not be desirable: \@covermufpunct should be redefined to +% \def\@covermufpunct{} then. +% ============================================================================= + +\def\@covermufpunct#1{\def\next{\@@covermufpunct{#1}}\futurelet\@@@tok\next} + +\newcount\@gsavsf +\def\@@covermufpunct#1{\ifx\@@@tok.\def\next{\@@@covermufpunct{#1}}\else + \ifx\@@@tok,\def\next{\@@@covermufpunct{#1}}\else + \def\next{#1}\fi\fi\next} +\def\@@@covermufpunct#1{\global\@gsavsf=\spacefactor + \rlap{\spacefactor=\@gsavsf\@@@tok\global\@gsavsf=\spacefactor}\nobreak #1% + \spacefactor=\@gsavsf\@gobble} + +% ============================================================================= +% \@makemuftext defines how to format a footnote. It takes two arguments: +% #1 is the footnote's marker; #2 is the footnote text. Redefine it if you like. +% ============================================================================= + +\long\def\@makemuftext#1#2{% + \sbox\@tempboxa{ $#1$ }% + \@tempdima\smallunitindent{\wd\@tempboxa}% + \parindent\z@ \parskip\z@ + \@setpar{% + \@@par \@tempdimb\hsize\advance\@tempdimb-\@tempdima + \parshape \@ne \@tempdima \@tempdimb}% + \par + \noindent\llap{\hbox to \smallunitindent\z@{\hss$#1$ \hss}}#2} + +\providecommand{\smallunitindent}[1]{10pt} +% This is to prepare hhmuf for use with the hhtext class (when I write this it's +% still under construction). The hhtext class will provide a \smallunitindent +% macro with some self-scaling features. + +% ============================================================================= +% The following has been taken from LaTeX2e (\@footnotetext), +% with the necessary modifications. +% ============================================================================= + +\long\def\@mufinsert#1#2{\insert\footins{% + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{\mufword\@makemufmark{#1}}% + \color@begingroup + \@makemuftext{#1}{% + \rule\z@\footnotesep\ignorespaces #2\@finalstrut\strutbox} + \color@endgroup}} + +% *************************** +% * SOME INTERNAL UTILITIES * +% *************************** + +\long\def\h@ifnonempty#1#2#3{% + \@ifundefined{#1}{#3}{\h@ifespecified{\csname #1\endcsname}{#2}{#3}}} + +% ****************************** +% * OPTIONS AND INITIALIZATION * +% ****************************** + +\newcounter{@muftmps} +\newcounter{@muftmp} +\newcounter{@mufgrplevel} +\h@initqueue{mufs@postponed}{} +\mufbegin{} +\AtEndDocument{\mufend{}} + +% ============================================================================= +% Below is a list of recognized language options. Probably their only use +% is the ability to redefine \mufword. +% ============================================================================= + +\DeclareOption{dutch}{\def\mufword{voetnoot~}} + +% ============================================================================= +% The following specifies the footnote markers which will be used for +% multinotes. You can replace it with your own specification if you like. +% Please note that it makes no sense to use symbols with a well-defined +% order: the muf macros will not respect it. +% To make it easier to choose out of the numerous possibilities for +% footnote markers I defined some sets of markers which can be selected by +% specification of the appropriate option. The recognized options are: +% - black 8 black symbols (requires amssymb.sty) +% - circlox 12 circle and box symbols (requires amssymb.sty) +% - fuss 10 miscellaneous symbols (requires amssymb.sty) +% - geometry 10 geometrical symbols (requires amssymb.sty) +% - misc 19 miscellaneous symbols (default) +% - music 3 music symbols +% - strokes 8 symbols made of thin strokes (requires amssymb.sty) +% Take care that you do not select a set which is too small for your purposes. +% ============================================================================= + +\def\@@@mufset{\mufset@misc} + +\DeclareOption{black}{\def\@@@mufset{\mufset@black}} +\def\mufset@black{% + \RequirePackage{amssymb} + \h@initqueue{mufsyms@avail}{% 7 symbols + \\{\bullet}\\{\blacklozenge}\\{\blacktriangledown}% + \\{\clubsuit}\\{\blacksquare}\\{\blacktriangle}% + \\{\blacktriangleleft}\\{\spadesuit}}} + +\DeclareOption{circlox}{\def\@@@mufset{\mufset@circlox}} +\def\mufset@circlox{% + \RequirePackage{amssymb} + \h@initqueue{mufsyms@avail}{% 12 symbols + \\{\oslash}\\{\odot}\\{\boxtimes}\\{\oplus}\\{\square}% + \\{\circledast}\\{\boxminus}\\{\otimes}\\{\circledcirc}% + \\{\boxdot}\\{\circleddash}\\{\boxplus}}} + +\DeclareOption{fuss}{\def\@@@mufset{\mufset@fuss}} +\def\mufset@fuss{% + \RequirePackage{amssymb} + \h@initqueue{mufsyms@avail}{% 10 symbols + \\{\ast}\\{\diamondsuit}\\{\circledast}\\{\divideontimes}% + \\{\sharp}\\{\star}\\{\clubsuit}\\{\aleph}\\{\infty}% + \\{\circlearrowleft}}} + +\DeclareOption{geometry}{\def\@@@mufset{\mufset@geometry}} +\def\mufset@geometry{% + \RequirePackage{amssymb} + \h@initqueue{mufsyms@avail}{% 10 symbols + \\{\blacklozenge}\\{\square}\\{\blacktriangledown}\\{\vartriangle}% + \\{\blacksquare}\\{\triangleleft}% + \\{\blacktriangle}\\{\lozenge}\\{\blacktriangleleft}\\{\triangledown}}} + +\DeclareOption{misc}{\def\@@@mufset{\mufset@misc}} +\def\mufset@misc{% + \h@initqueue{mufsyms@avail}{% 19 symbols + \\{\spadesuit}\\{\triangle}\\{\ominus}\\{\clubsuit}% + \\{\times}\\{\diamondsuit}\\{\otimes}\\{\wr}\\{\odot}\\{\vee}% + \\{\oplus}\\{\infty}\\{\star}\\{\oslash}\\{+}\\{\triangleleft}% + \\{\top}\\{\bullet}\\{\nabla}}} + +\DeclareOption{music}{\def\@@@mufset{\mufset@music}} +\def\mufset@music{% 3 symbols + \h@initqueue{mufsyms@avail}{\\{\sharp}\\{\flat}\\{\natural}}} + +\DeclareOption{strokes}{\def\@@@mufset{\mufset@strokes}} +\def\mufset@strokes{% + \RequirePackage{amssymb} + \h@initqueue{mufsyms@avail}{% 8 symbols + \\{\top}\\{\times}\\{\curlyvee}\\{+}\\{\veebar}\\{\nshortparallel}% + \\{\barwedge}\\{\wr}}} + +\ProcessOptions +\@@@mufset + +\endinput% *********************** +% * FAILURES AND POSSIBLE CAUSES * +% ******************************** +% +% ! Package hhmuf Warning: Refusing to redefine multinote `LABEL'. +% (hhmuf) Muffire it first. +% +% If you defined a footnote labelled LABEL, using \muf, \mufsym, +% \mufsymonly or \mufhire, you should call \muffire LABEL: before +% defining another footnote having the same label. +% +% +% ! Package hhmuf Warning: Out of multinote symbols. +% (hhmuf) Using `?' instead. +% +% A marker is assigned to each footnote which has been defined. Because +% the number of markers is limited, you will run out of markers if +% too many footnotes have been defined at the same time. To prevent this +% from happening, use \muffire to undefine footnotes as soon as you +% do not need them anymore. +% Keep in mind that each call to \mufsym:{TEXT} (even without a explicit +% label) reserves a marker, which will not be released until the +% next call to \muffin, \mufbegin or \mufend. +% Also each call to \muf:{TEXT} which is placed in a `forbidden' environment +% protected by \mufoff reserves a marker, which will not be released until +% the environment is closed. +% +% +% ! Package hhmuf Warning: Reference to undefined multinote `LABEL'. +% +% ! Package hhmuf Warning: Cannot type-set multinote `LABEL': +% (hhmuf) it is not defined. +% +% ! Package hhmuf Warning: Cannot muffire multinote `LABEL': +% (hhmuf) it is not defined. +% +% Should be evident. If it is not, please check if you did not close +% the group in which the multinote was defined already (using \mufend). +% One other mistake you could have made, is calling \muffire LABEL: +% somewhere between \mufsym LABEL:{OPTIONAL-TEXT} and the first \muffin +% following it. This happens implicitely if you call \muffire LABEL: +% somewhere between \muf LABEL:{OPTIONAL-TEXT} in a protected forbidden +% environment and the closure of that environment. +% Note that if the multinote LABEL is undefined, calling for example +% \muf LABEL:{} results in two warnings: one for the in-text +% multinote reference marker (`Reference to undefined...'), and another +% for the type-setting of the footnote itself (`Cannot type-set...'). +% +% +% ! Package hhmuf Warning: Reference to undefined multinote `tmp_'. +% (and similar messages) +% +% You used \muf:{} or \mufsym:{}, which does not make any sense. +% +% +% ! Package hhmuf Warning: Multinote `LABEL' was defined at level 1, +% (hhmuf) so cannot muffire it at level 3. +% (and similar messages) +% +% Since you defined the multinote LABEL, you opened another group which +% is still open. It is not possible to undefine the multinote then. +% Muffire before opening the current group, or after closing it. +% +% +% ! Package hhmuf Warning: Refusing to end multinote group `GROUPA' by +% (hhmuf) \mufend{GROUPB}. +% (and similar messages) +% +% This warning should be caused by mismatched \mufbegins and \mufends. +% Remember mufgroups should be properly nested. +% +% +% - The footnote's marker appears all right, but the text is missing +% +% Two possible causes: +% 1. You used \mufsym but forgot \muffin. +% 2. You used \muf, \muftxtonly or \muffin in some `forbidden' +% environment. The constraints are the same as for ordinary +% LaTeX footnotes, unless the environment is protected by +% \mufoff[ENVIRONMENT-NAME]. +% +% +% - A footnote text is set although it should not be there. +% +% You probably forgot some \muffin some time ago, so that the footnote +% texts, which should have been set by that \muffin, are set by a following +% \muffin. +% +% +% - A footnote text appears twice on the same page. +% +% LaTeX could have floated a identical footnote from the previous page to +% this one which cannot be detected by the multinote macros. +% Another possible cause is probably the multinote macros getting the +% the page number of the in-text marker wrong. This problem is very +% much like the inability to start the footnote numbering every page +% (which - by the way - is no problem if you use multinotes, because +% they use a shift-system for their numbering). This problem can be +% solved, and probably will be solved as soon as I encounter it in +% practice. +% In both cases correct the error `manually' by using \mufsymonly once +% instead of \muf or \mufsym, or by omitting a \muftxtonly. +% +% +% ************************************************** +% * PROBLEMS TO BE SOLVED / EXTENSIONS TO BE MADE: * +% ************************************************** +% +% - The last mentioned failure. +% - Enabling multinotes under minipages. +% - A switch to force muf to set footnote texts at most once at +% a pair of opposite pages. +% +% +% ******************************* +% * WARRANTY, DISTRIBUTION ETC. * +% ******************************* +% +% This is a TeX style file by Herman Haverkort. This file is distributed +% in the hope that it will be useful, but without any warranty; without +% even the implied warranty of merchantability or fitness for a particular +% purpose. The author does not accept any responsability for any damage, +% loss, injury, psychosis, annoyance, marital problems, murders etc. which +% are caused by this file. +% +% This style file has not been tested systematically, so there are +% probably undiscoverd errors in it. If you find one, if you have +% trouble using this file, if you have a suggestion for an extension or +% another modification, or if you are just a happy user, please report +% it to: +% Herman Haverkort +% Heyenoordseweg 40 +% NL-6813 GA Arnhem +% herman@fgbbs.iaf.nl +% +% You are allowed to change this file, but you are not allowed to distribute +% the changed version unless you obey the following: +% - give the changed version another file name than the original one; +% - record clearly in the changed version: +% - the original name of the file; +% - its original author; +% - that it is a changed version; +% - do not remove the restrictions on distributing this file. +% +% You are not allowed to take money for the distribution or use of either +% this file or a changed version, except for a nominal charge for copying +% etc. +% +% Have fun! + |