summaryrefslogtreecommitdiff
path: root/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine
diff options
context:
space:
mode:
Diffstat (limited to '2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine')
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combcite.sty109
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combine.cls1009
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combinet.sty138
-rw-r--r--2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combnat.sty543
4 files changed, 1799 insertions, 0 deletions
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combcite.sty b/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combcite.sty
new file mode 100644
index 0000000..12e4800
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combcite.sty
@@ -0,0 +1,109 @@
+%%
+%% This is file `combcite.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% combine.dtx (with options: `citepack')
+%%
+%% Author: Peter Wilson (CUA) now at peter.r.wilson@boeing.com
+%% (or at: pandgwilson at earthlink dot net)
+%% Copyright 2000, 2001, 2002, 2003 Peter R. Wilson
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any
+%% later version.
+%% The latest version of the license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2003/06/01 or later.
+%%
+%% This work has the LPPL maintenance status "author-maintained".
+%%
+%% This work consists of the files listed in the README file.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{combcite}[2003/11/09 v1.0 combine version of cite package]
+\@ifclassloaded{combine}{}{%
+ \PackageError{combcite}{The `combine' class is expected}{\@ehc}}
+
+\newif\ifc@lbsuperopt
+ \c@lbsuperoptfalse
+\DeclareOption{super}{\ExecuteOptions{superscript}}
+\DeclareOption{superscript}{\c@lbsuperopttrue
+ \PassOptionsToClass{superscript}{cite}}
+\ProcessOptions
+\RequirePackageWithOptions{cite}[2003/11/04]
+
+\DeclareRobustCommand\c@lbciten[1]{%
+ \begingroup
+ \let\@safe@activesfalse\@empty
+%% \c@lb@nocite{#1}% ignores spaces, writes to .aux file, returns #1 in \@no@sparg
+ \@nocite{#1}% ignores spaces, writes to .aux file, returns #1 in \@no@sparg
+ \@tempcntb\m@ne % \@tempcntb tracks highest number
+ \let\@h@ld\@empty % nothing held from list yet
+ \let\@citea\@empty % no punctuation preceding first
+ \let\@celt\delimiter % an unexpandable, but identifiable, token
+ \def\@cite@list{}% % empty list to start
+ \@for \@citeb:=\@no@sparg\do{\c@lb@make@cite@list}% make a sorted list of numbers
+ % After sorted citelist is made, execute it to compress citation ranges.
+ \@tempcnta\m@ne % no previous number
+ \let\@celt\@compress@cite \@cite@list % output number list with compression
+ \@h@ld % output anything held over
+ \endgroup
+ \@restore@auxhandle
+ }
+
+\def\c@lb@make@cite@list{%
+ \expandafter\let \expandafter\@B@citeB
+ \csname B?\jobname?@\@citeb\@extra@b@citeb \endcsname
+ \ifx\@B@citeB\relax % undefined: output ? and warning
+ \@citea {\bfseries ?}\let\@citea\citepunct \G@refundefinedtrue
+ \@warning {Citation `\@citeb' on page \thepage\space undefined}%
+ \oc@verbo \global\@namedef{B?\jobname?@\@citeb\@extra@b@citeb}{?}%
+ \else % defined % remove previous line to repeat warnings
+ \ifcat _\ifnum\z@<0\@B@citeB _\else A\fi % a positive number, put in list
+ \@addto@cite@list
+ \else % citation is not a number, output immediately
+ \@citea \citeform{\@B@citeB}\let\@citea\citepunct
+ \fi\fi}
+
+\ifc@lbsuperopt
+ \DeclareRobustCommand{\c@lbcite}{%
+ \@ifnextchar[{\@tempswatrue\c@lb@citex}{\@tempswafalse\c@lb@citew}}
+\else
+ \DeclareRobustCommand{\c@lbcite}{%
+ \@ifnextchar[{\@tempswatrue\c@lb@citex}{\@tempswafalse\c@lb@citex[]}}
+\fi
+
+\def\c@lb@citex[#1]#2{\@cite{\c@lbciten{#2}}{#1}}
+
+\def\c@lb@citew#1{\begingroup \leavevmode
+ \@if@fillglue \lastskip \relax \unskip
+ \def\@tempa{\@tempcnta\spacefactor
+ \/% this allows the last word to be hyphenated, and it looks better.
+ \@citess{\c@lbciten{#1}}\spacefactor\@tempcnta
+ \endgroup \@restore@auxhandle}%
+ \oc@movep\relax}% check for following punctuation (depending on options)
+
+\DeclareRobustCommand\c@lbnocite[1]{%
+ \@bsphack \@nocite{#1}%
+ \@for \@citeb:=\@no@sparg\do{\@ifundefined{B?\jobname?@\@citeb\@extra@b@citeb}%
+ {\G@refundefinedtrue\@warning{Citation `\@citeb' undefined}%
+ \oc@verbo \global\@namedef{B?\jobname?@\@citeb\@extra@b@citeb}{?}}{}}%
+ \@esphack}
+
+\def\@nocite#1{\begingroup\let\protect\string% normalize active chars
+ \xdef\@no@sparg{\expandafter\@ignsp#1 \: }\endgroup% and remove ALL spaces
+ \if@filesw \immediate\write\@newciteauxhandle % = \@auxout, except with multibib
+ {\string\citation {\@no@sparg}}\fi
+ }
+
+\g@addto@macro{\setuppapers}{\let\cite\c@lbcite}
+\g@addto@macro{\setuppapers}{\let\citenum\c@lbciten}
+\g@addto@macro{\setuppapers}{\let\citeonline\c@lbciten}
+
+\endinput
+%%
+%% End of file `combcite.sty'.
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combine.cls b/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combine.cls
new file mode 100644
index 0000000..b8f2e8a
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combine.cls
@@ -0,0 +1,1009 @@
+%%
+%% This is file `combine.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% combine.dtx (with options: `usc')
+%%
+%% Author: Peter Wilson (CUA) now at peter.r.wilson@boeing.com
+%% (or at: pandgwilson at earthlink dot net)
+%% Copyright 2000, 2001, 2002, 2003 Peter R. Wilson
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any
+%% later version.
+%% The latest version of the license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2003/06/01 or later.
+%%
+%% This work has the LPPL maintenance status "author-maintained".
+%%
+%% This work consists of the files listed in the README file.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{combine}[2003/11/09 v0.52 collection of documents]
+\RequirePackage{keyval}
+
+\newcommand{\c@lclass}{article}
+\define@key{COLCLASS}{colclass}[article]%
+ {\renewcommand{\c@lclass}{#1}
+ \ClassWarningNoLine{combine}
+ {Expect warnings like:\MessageBreak
+ \space\space LaTeX Warning: Unused global option(s):\MessageBreak
+ \space\space\space\space [colclass=#1]}}
+\let\c@l@tempa\@empty
+\def\c@l@getoptionname#1=#2\@nil{#1}
+\@for\CurrentOption:=\@classoptionslist\do{%
+ \@ifundefined{%
+ KV@COLCLASS@\expandafter\c@l@getoptionname\CurrentOption=\@nil
+ }%
+ {% other options
+ }{%
+ \edef\c@l@tempa{\c@l@tempa,\CurrentOption,}%
+ }%
+}%
+\edef\c@l@tempa{%
+ \noexpand\setkeys{COLCLASS}{\c@l@tempa}%
+}
+\c@l@tempa
+
+\newif\ifc@lclasses
+ \c@lclassesfalse
+\newif\ifc@lpackages
+ \c@lpackagesfalse
+\newif\ifc@llayouts
+ \c@llayoutsfalse
+\newif\ifc@lfolios
+ \c@lfoliosfalse
+\newif\ifc@lnotoc
+ \c@lnotocfalse
+\newif\ifc@lnolof
+ \c@lnoloffalse
+\newif\ifc@lnolot
+ \c@lnolotfalse
+\newif\ifc@lmaintoc
+ \c@lmaintocfalse
+\newif\ifc@lnodate
+ \c@lnodatetrue
+\newif\ifc@lnoauthor
+ \c@lnoauthorfalse
+\newif\ifc@lnotitle
+ \c@lnotitlefalse
+\newif\ifc@lnomaketitle
+ \c@lnomaketitlefalse
+\newif\ifc@lnopubindoc
+ \c@lnopubindocfalse
+\newif\ifc@lnopubintoc
+ \c@lnopubintocfalse
+\newif\ifc@lonebib
+ \c@lonebibfalse
+\newif\ifc@lcombib
+ \c@lcombibfalse
+
+\DeclareOption{book}{\def\c@lclass{book}}
+\DeclareOption{report}{\def\c@lclass{report}}
+\DeclareOption{letter}{\def\c@lclass{letter}}
+\DeclareOption{memoir}{\def\c@lclass{memoir}}
+\DeclareOption{classes}{\c@lclassestrue}
+\DeclareOption{packages}{\c@lpackagestrue}
+\DeclareOption{layouts}{\c@llayoutstrue}
+\DeclareOption{folios}{\c@lfoliostrue}
+\DeclareOption{notoc}{\c@lnotoctrue}
+\DeclareOption{nolof}{\c@lnoloftrue}
+\DeclareOption{nolot}{\c@lnolottrue}
+\DeclareOption{maintoc}{\c@lmaintoctrue}
+\DeclareOption{date}{\c@lnodatefalse}
+\DeclareOption{noauthor}{\c@lnoauthortrue}
+\DeclareOption{notitle}{\c@lnotitletrue}
+\DeclareOption{nomaketitle}{\c@lnomaketitletrue}
+\DeclareOption{nopubindoc}{\c@lnopubindoctrue}
+\DeclareOption{nopubintoc}{\c@lnopubintoctrue}
+\DeclareOption{onebib}{\c@lonebibtrue}
+\DeclareOption{combinedbib}{\c@lcombibtrue}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\c@lclass}}
+\ProcessOptions\relax
+\ifc@lcombib
+ \c@lonebibtrue
+\fi
+
+\LoadClass{\c@lclass}
+
+\newif\ifc@lhaschapter
+ \c@lhaschapterfalse
+\@ifundefined{chapter}{}{\c@lhaschaptertrue}
+
+\@ifundefined{if@titlepage}{\newif\if@titlepage\@titlepagefalse}{}
+\newif\ifc@ltoctitle
+ \c@ltoctitlefalse
+\newif\ifc@ltocauthor
+ \c@ltocauthorfalse
+\newif\ifc@lpub
+ \c@lpubfalse
+
+\newcounter{colpage} \setcounter{colpage}{1}
+ \renewcommand{\thecolpage}{\arabic{colpage}}
+\newcounter{c@lctr}
+\@ifundefined{c@section}{\newcounter{section}}{}
+
+\newwrite\c@ltocfnum
+\newwrite\c@lloffnum
+\newwrite\c@llotfnum
+
+\def\provideenvironment{%
+ \@star@or@long\c@lprovide@environment}
+\def\c@lprovide@environment#1{%
+ \@ifundefined{#1}{%
+ \expandafter\let\csname#1\endcsname\relax
+ \expandafter\let\csname end#1\endcsname\relax
+ \new@environment{#1}}{\c@lenvironment{#1}}
+}
+\def\c@lenvironment#1{%
+ \@testopt{\c@lenva#1}0}
+\def\c@lenva#1[#2]{%
+ \@ifnextchar [{\c@lenvb#1[#2]}{\c@lthrowenv{#1}{[#2]}}}
+\def\c@lenvb#1[#2][#3]{\c@lthrowenv{#1}{[#2][#3]}}
+\def\c@lthrowenv#1#2#3#4{}
+
+\@ifundefined{newtheorem}{}{%
+ \newcommand{\c@lnamethm}[3]{%
+ \@namedef{#1}{\@thm{#2}{#3}}%
+ \@namedef{end#1}{\@endtheorem}}
+ \def\@xnthm#1#2[#3]{%
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}\@newctr{#1}[#3]%
+ \expandafter\xdef\csname the#1\endcsname{%
+ \expandafter\noexpand\csname the#3\endcsname \@thmcountersep
+ \@thmcounter{#1}}%
+ \c@lnamethm{#1}{#1}{#2}}}
+ \def\@ynthm#1#2{%
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}%
+ \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+ \c@lnamethm{#1}{#1}{#2}}}
+ \def\@othm#1[#2]#3{%
+ \@ifundefined{c@#2}{\@nocounterr{#2}}%
+ {\expandafter\@ifdefinable\csname #1\endcsname
+ {\@namedef{the#1}{\@nameuse{the#2}}
+ \c@lnamethm{#1}{#2}{#3}}}}
+}
+
+\providecommand{\providelength}[1]{%
+ \ifx #1\undefined
+ \newlength{#1}
+ \fi
+}
+\providecommand{\providecounter}[1]{%
+ \expandafter\ifx \csname c@#1\endcsname \undefined
+ {\@definecounter{#1}}%
+ \@ifnextchar[{\@newctr{#1}}{}
+ \else
+ \@ifnextchar[{\c@l@gobbleoptarg}{}
+ \fi
+}
+
+\def\c@l@gobbleoptarg[#1]{}
+
+\providecommand{\appendiargdef}[2]{\begingroup
+ \toks@\expandafter{#1{##1}#2}%
+ \edef\@bsx{\endgroup \def\noexpand#1####1{\the\toks@}}%
+ \@bsx}
+
+\ifc@lclasses
+ \newcommand\c@lbdocumentclass{%
+ \makeatletter %% added
+ \let\newcommand\providecommand %% added
+ \let\newenvironment\provideenvironment %% added
+%% \let\documentclass\@twoclasseserror
+%% \if@compatability\else\let\usepackage\RequirePackage\fi
+ \@fileswithoptions\@clsextension
+ }
+\else
+ \newcommand{\c@lbdocumentclass}[2][\@empty]{%
+ \makeatletter
+ }
+\fi
+
+\ifc@lpackages\else
+ \newcommand{\c@lbusepackage}[2][\@empty]{}
+\fi
+
+\newcommand{\c@lbLoadClass}{%
+ \ifx\@currext\@pkgextension
+ \@latex@error{\noexpand\LoadClass in package file}%
+ {You may only use \noexpand\LoadClass in a class file.}%
+ \fi
+ \@fileswithoptions\@clsextension}
+
+\newcommand{\c@ltextblock}{%
+ \@colht\textheight
+ \@colroom\textheight \vsize\textheight
+ \columnwidth\textwidth
+ \@clubpenalty\clubpenalty
+ \if@twocolumn
+ \advance\columnwidth -\columnsep
+ \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
+ \fi
+ \hsize\columnwidth \linewidth\hsize
+}
+
+\newcommand{\c@ladocument}{%
+ \endgroup
+ \let\mainjobname\jobname %% added
+ \def\c@lmainauxfile{\jobname.aux} %% added
+ \ifx\@unusedoptionlist\@empty\else
+ \@latex@warning@no@line{Unused global option(s):^^J%
+ \@spaces[\@unusedoptionlist]}%
+ \fi
+ \c@ltextblock %% a replacement
+ \begingroup\@floatplacement\@dblfloatplacement
+ \makeatletter\let\@writefile\@gobbletwo
+ \global \let \@multiplelabels \relax
+ \@input{\c@lmainauxfile}% %% changed
+ \endgroup
+ \if@filesw
+ \immediate\openout\@mainaux\c@lmainauxfile %% changed
+ \immediate\write\@mainaux{\relax}%
+ \fi
+ \process@table
+ \let\glb@currsize\@empty
+ \normalsize
+ \everypar{}%
+ \ifx\normalsfcodes\@empty
+ \ifnum\sfcode`\.=\@m
+ \let\normalsfcodes\frenchspacing
+ \else
+ \let\normalsfcodes\nonfrenchspacing
+ \fi
+ \fi
+ \@noskipsecfalse
+ \g@addto@macro{\@outputpage}{\stepcounter{colpage}} %% added
+ \let\maketitle\c@lamaketitle %% added
+ \@ifundefined{c@chapter}% %% added
+ {\@ifundefined{c@section}{}{\let\c@lthesec\thesection}}%
+ {\let\c@lthechap\thechapter}
+ \let \@refundefined \relax
+ \let\AtBeginDocument\@firstofone
+ \@begindocumenthook
+ \ifdim\topskip<1sp\global\topskip 1sp\relax\fi
+ \global\@maxdepth\maxdepth
+%% \global\let\@begindocumenthook\@undefined
+ \ifx\@listfiles\@undefined
+ \global\let\@filelist\relax
+ \global\let\@addtofilelist\@gobble
+ \fi
+%% \gdef\do##1{\global\let ##1\@notprerr}%
+%% \@preamblecmds
+ \global\let \@nodocument \relax
+ \global\let\do\noexpand
+ \ignorespaces}
+
+\newcommand{\c@lbdocument}{%
+%% \endgroup
+%% \ifx\@unusedoptionlist\@empty\else
+%% \@latex@warning@no@line{Unused global option(s):^^J%
+%% \@spaces[\@unusedoptionlist]}%
+%% \fi
+ \ifc@llayouts %% layouts option
+ \c@ltextblock
+ \fi
+ \begingroup\@floatplacement\@dblfloatplacement
+ \makeatletter \let\@writefile\@gobbletwo
+%% \global \let \@multiplelabels \relax
+ \@input{\c@lauxfile}%
+ \endgroup
+ \if@filesw
+ \immediate\openout\@partaux\c@lauxfile
+ \immediate\write\@partaux{\relax}%
+ \fi
+ \process@table
+ \let\glb@currsize\@empty
+ \normalsize
+ \everypar{}%
+ \@noskipsecfalse
+%% \let \@refundefined \relax
+ \let\AtBeginDocument\@firstofone
+ \@begindocumenthook
+ \ifdim\topskip<1sp\global\topskip 1sp\relax\fi
+ \global\@maxdepth\maxdepth
+%% \global\let\@begindocumenthook\@undefined
+ \ifx\@listfiles\@undefined
+ \global\let\@filelist\relax
+ \global\let\@addtofilelist\@gobble
+ \fi
+%% \gdef\do##1{\global\let ##1\@notprerr}%
+%% \@preamblecmds
+ \global\let \@nodocument \relax
+ \global\let\do\noexpand
+ \let\ps@plain\c@lbps@plain %% set pagestyle
+%% \pagestyle{plain}
+ \ifc@lfolios %% folios option initialises page number
+ \setcounter{page}{1}
+ \fi
+ \ifc@lhaschapter %% set chapter/section number
+ \setcounter{c@lctr}{\value{chapter}}
+ \setcounter{chapter}{0}
+ \else
+ \setcounter{c@lctr}{\value{section}}
+ \setcounter{section}{0}
+ \fi
+ \c@lresetcounters %% added
+ \makeatother %% added
+ \ignorespaces}
+
+\newcommand{\c@lresetcounters}{%
+ \@ifundefined{c@figure}{}{\setcounter{figure}{0}}
+ \@ifundefined{c@table}{}{\setcounter{table}{0}}
+ \@ifundefined{c@equation}{}{\setcounter{equation}{0}}
+ \@ifundefined{c@footnote}{}{\setcounter{footnote}{0}}
+ \@ifundefined{c@chapter}%
+ {\@ifundefined{c@section}{}{\renewcommand{\thesection}{\c@lthesec}}}%
+ {\renewcommand{\thechapter}{\c@lthechap}}
+ \zeroextracounters
+}
+\newcommand{\zeroextracounters}{}
+
+\newcommand{\c@lenddoca}{%
+ \@dofilelist
+ \ifdim \font@submax >\fontsubfuzz\relax
+ \@font@warning{Size substitutions with differences\MessageBreak
+ up to \font@submax\space have occured.\@gobbletwo}%
+ \fi
+ \@defaultsubs
+%% \@refundefined
+ \if@filesw
+ \ifx \@multiplelabels \relax
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ \fi
+ \else
+ \@multiplelabels
+ \fi
+ \fi
+}
+
+\newcommand{\c@laenddocument}{%
+ \@enddocumenthook
+ \@checkend{document}%
+ \clearpage
+ \begingroup
+ \if@filesw
+ \immediate\closeout\@mainaux
+ \immediate\closeout\@partaux
+ \let\@setckpt\@gobbletwo
+ \let\@newl@bel\@testdef
+ \@tempswafalse
+ \makeatletter \input\c@lmainauxfile %% change here
+ \fi
+ \c@lenddoca %% a replacement
+ \@refundefined
+ \endgroup
+ \deadcycles\z@\@@end}
+
+\newcommand{\c@lbenddocument}{%
+ \@enddocumenthook
+ \@checkend{document}%
+ \clearpage
+ \begingroup
+ \if@filesw
+ \immediate\closeout\@partaux %% change here
+ \let\@setckpt\@gobbletwo
+ \let\@newl@bel\@testdef
+ \@tempswafalse
+ \makeatletter \input\c@lauxfile %% change here
+ \fi
+ \c@lenddoca %% a replacement
+%% \@refundefined
+ \endgroup
+ \deadcycles\z@ %%\@@end %% \@@end will close *all* files
+ \c@lclosetocs %% close local files
+ \ifc@lhaschapter %% reset chap/sec and page numbering
+ \setcounter{chapter}{\value{c@lctr}}
+ \gdef\thechapter{\c@lthechap}
+ \gdef\@chapapp{\chaptername}
+ \else
+ \setcounter{section}{\value{c@lctr}}
+ \gdef\thesection{\c@lthesec}
+ \fi
+ \setcounter{page}{\value{colpage}}
+ \pagestyle{\c@lastyle}
+ \erasetitling %% no \coltoc... or \published commands defined
+%% \let\@auxout\@mainaux
+ \gdef\jobname{\mainjobname} %% swap back to main document file name
+ \endinput %% ignore any text after \end{document}
+}
+
+\newcommand{\maintitlefont}{\begin{center}\LARGE}
+\newcommand{\postmaintitle}{\par\end{center}\vskip 0.5em}
+\newcommand{\mainauthorfont}{\begin{center}
+ \large \lineskip .5em%
+ \begin{tabular}[t]{c}}
+\newcommand{\postmainauthor}{\end{tabular}\par\end{center}}
+\newcommand{\maindatefont}{\begin{center}\large}
+\newcommand{\postmaindate}{\par\end{center}}
+
+\if@titlepage
+ \newcommand{\c@lamaketitle}{\begin{titlepage}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let \footnote \thanks
+ \null\vfil
+ \vskip 60\p@
+ {\maintitlefont \@title \postmaintitle}
+ {\mainauthorfont \@author \postmainauthor}
+ {\maindatefont \@date \postmaindate}
+ \par
+ \@thanks
+ \vfil\null
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \c@lmtitlempty %% change here
+ } % end titlepage defs
+\else
+ \newcommand{\c@lamaketitle}{\par
+ \begingroup
+ \c@lmtitle %% change here
+ \endgroup
+ \setcounter{footnote}{0}%
+ \c@lmtitlempty %% change here
+ } % end non-titlepage
+
+
+ \def\@maketitle{%
+ \newpage
+ \null
+ \vskip 2em%
+ {\maintitlefont \@title \postmaintitle}
+ {\mainauthorfont \@author \postmainauthor}
+ {\maindatefont \@date \postmaindate}
+ \par
+ \vskip 1.5em}
+\fi % end mod A of titling
+
+\newcommand{\c@lmtitle}{%
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+ \long\def\@makefntext##1{\parindent 1em\noindent
+ \hb@xt@1.8em{%
+ \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
+ \if@twocolumn
+ \ifnum \col@number=\@ne
+ \@maketitle
+ \else
+ \twocolumn[\@maketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@
+ \@maketitle
+ \fi
+ \thispagestyle{plain}\@thanks
+}
+
+ \newcommand{\c@lbmaketitle}{\par
+ \begingroup
+ \let\newpage\relax
+ \let\@maketitle\c@lb@maketitle
+ \c@lmtitle
+ \endgroup
+ \setcounter{footnote}{0}%
+ \c@lmtitlempty
+ }
+
+\newcommand{\c@lmtitlempty}{%
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+}
+\newcommand{\importtitlefont}{\begin{center}\LARGE\bfseries}
+\newcommand{\postimporttitle}{\par\end{center}}
+\newcommand{\importauthorfont}{\begin{center}
+ \large\itshape \lineskip .5em%
+ \begin{tabular}[t]{c}}
+\newcommand{\postimportauthor}{\end{tabular}\par\end{center}}
+\newcommand{\importdatefont}{\begin{center}\large}
+\newcommand{\postimportdate}{\par\end{center}}
+
+\newcommand{\c@lb@maketitle}{%
+%% \newpage
+ \begingroup
+ \let\footnote\thanks
+ \null
+ \vskip 2em%
+ \ifc@lnotitle\else
+ {\importtitlefont \@title \postimporttitle}
+ \fi
+ \ifc@lnoauthor\else
+ {\importauthorfont \@author \postimportauthor}
+ \fi
+ \ifc@lnodate\else
+ {\importdatefont \@date \postimportdate}%
+ \fi
+ \par
+ \endgroup
+}
+
+\newcommand{\c@lb@starttoc}[1]{%
+ \begingroup
+ \makeatletter
+ \def\tocfname{\jobname.#1}
+ \@input{\tocfname}%
+ \if@filesw
+ \def\c@ltempa{#1} \def\c@ltempb{toc}
+ \ifx \c@ltempa \c@ltempb
+ \immediate\openout\c@ltocfnum \tocfname\relax
+ \else
+ \def\c@ltempb{lof}
+ \ifx \c@tempa \c@ltempb
+ \immediate\openout\c@lloffnum \tocfname\relax
+ \else
+ \def\c@ltempb{lot}
+ \ifx \c@tempa \c@ltempb
+ \immediate\openout\c@llotfnum \tocfname\relax
+ \else
+ \expandafter\newwrite\csname c@l#1fnum\endcsname
+ \immediate\openout\csname c@l#1fnum\endcsname \tocfname\relax
+ \fi
+ \fi
+ \fi
+ \fi
+ \@nobreakfalse
+ \endgroup}
+
+\newcommand{\c@lb@writefile}[2]{%
+ \def\tocfname{\jobname.#1}
+ \IfFileExists{\tocfname}
+ {\@temptokena{#2}%
+ \immediate\write\csname c@l#1fnum\endcsname{\the\@temptokena}}
+ {}
+}
+
+\newcommand{\c@lclosetocs}{%
+ \immediate\closeout\c@ltocfnum
+ \immediate\closeout\c@lloffnum
+ \immediate\closeout\c@llotfnum
+}
+
+\newcommand{\c@ltocgobble}{%
+ \let\label\@gobble \let\index\@gobble \let\glossary\@gobble}
+
+\newcommand{\c@laaddtocontents}[2]{%
+ \protected@write\@mainaux
+ {\c@ltocgobble}%
+ {\string\@writefile{#1}{#2}}
+}
+\newcommand{\c@laaddcontentsline}[3]{%
+ \c@laaddtocontents{#1}{\protect\contentsline{#2}{#3}{\thecolpage}}
+}
+
+\ifc@lmaintoc
+ \newcommand{\c@lbaddtocontents}[2]{%
+ \protected@write\@auxout
+ {\c@ltocgobble}%
+ {\string\@writefile{#1}{#2}}
+ \ifx\@mainaux\@auxout\else %% prevent writing twice to mainaux
+ \protected@write\@mainaux
+ {\c@ltocgobble}%
+ {\string\@writefile{#1}{\protect\begin{tocindent}{\toctocindent}}}
+ \protected@write\@mainaux
+ {\c@ltocgobble}%
+ {\string\@writefile{#1}{#2}}
+ \protected@write\@mainaux
+ {\c@ltocgobble}%
+ {\string\@writefile{#1}{\protect\end{tocindent}}}
+ \fi
+ }
+\fi
+
+\newcommand{\c@lblabel}[1]{\@bsphack
+ \protected@write\@auxout{}%
+ {\string\newlabel{#1}{{\@currentlabel}{\thecolpage}}}%
+ \@esphack}
+\newcommand{\c@lb@setref}[3]{%
+ \ifx#1\relax
+ \protect\G@refundefinedtrue
+ \nfss@text{\reset@font\bfseries ??}%
+ \@latex@warning{Reference `#3' on page \thecolpage \space
+ undefined}%
+ \else
+ \expandafter#2#1\null
+ \fi}
+
+\newcommand{\c@lbnewlabel}{\@newl@bel{R?\jobname?}}
+\newcommand{\c@lbref}[1]{\expandafter\@setref\csname R?\jobname?@#1\endcsname
+ \@firstoftwo{#1}}
+\newcommand{\c@lbpageref}[1]{\expandafter\@setref\csname R?\jobname?@#1\endcsname
+ \@secondoftwo{#1}}
+
+\newcommand{\c@lwritemainbib}{%
+ \if@filesw\immediate\write\@mainaux{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}%
+ \G@refundefinedtrue
+ \@latex@warning
+ {Citation `\@citeb' on page \thecolpage \space undefined}}%
+ {\hbox{\csname b@\@citeb\endcsname}}}
+\newcommand{\c@lwritelocalbib}{%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{B?\jobname?@\@citeb}{\mbox{\reset@font\bfseries ?}%
+ \G@refundefinedtrue
+ \@latex@warning
+ {Citation `\@citeb' on page \thecolpage \space undefined}}%
+ {\hbox{\csname B?\jobname?@\@citeb\endcsname}}}
+
+\newcommand{\c@lanocite}[1]{\@bsphack
+ \@for\@citeb:=#1\do{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@mainaux{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb}{\G@refundefinedtrue
+ \@latex@warning{Citation `\@citeb' undefined}}{}}%
+ \@esphack}
+\let\nocite\c@lanocite
+
+\newcommand{\c@lbnocite}[1]{\@bsphack
+ \@for\@citeb:=#1\do{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{B?\jobname?@\@citeb}{\G@refundefinedtrue
+ \@latex@warning{Citation `\@citeb' undefined}}{}}%
+ \@esphack}
+
+\def\c@lb@citex[#1]#2{%
+ \ifc@lcombib
+ \c@lanocite{#2}%
+ \fi
+ \let\@citea\@empty
+ \@cite{\@for\@citeb:=#2\do
+ {\@citea\def\@citea{,\penalty\@m\ }%
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \ifc@lcombib
+ \c@lwritelocalbib
+ \else
+ \ifc@lonebib
+ \c@lwritemainbib
+ \else
+ \c@lwritelocalbib
+ \fi
+ \fi}}{#1}}
+
+\ifc@lonebib
+ \newcommand{\c@lbbibcite}{\@newl@bel b}
+ \ifc@lcombib
+ \renewcommand{\c@lbbibcite}{\@newl@bel{B?\jobname?}}
+ \fi
+\else
+ \newcommand{\c@lbbibcite}{\@newl@bel{B?\jobname?}}
+\fi
+
+\newcommand{\c@lapagestyle}[1]{%
+ \gdef\c@lastyle{#1}
+ \@ifundefined{ps@#1}{}{\@nameuse{ps@#1}}
+}
+\newcommand{\c@lbpagestyle}[1]{%
+ \@ifundefined{ps@#1}{}{\@nameuse{ps@#1}}
+}
+
+\ifc@lfolios
+ \newcommand{\c@lbpagenumbering}[1]{%
+ \global\c@page \@ne \gdef\thepage{\csname @#1\endcsname
+ \c@page}}
+\else
+ \newcommand{\c@lbpagenumbering}[1]{}
+\fi
+
+\if@twoside
+ \newcommand{\c@laps@plain}{%
+ \let\@mkboth\@gobbletwo
+ \let\@oddhead\@empty \let\@evenhead\@empty
+ \def\@oddfoot{\reset@font\hfil\thepage}%
+ \def\@evenfoot{\reset@font\thepage\hfil}%
+ }
+ \ifc@lfolios
+ \newcommand{\c@lbps@plain}{%
+ \let\@mkboth\@gobbletwo
+ \let\@oddhead\@empty \let\@evenhead\@empty
+ \def\@oddfoot{\reset@font(\thepage)\hfil\thecolpage}%
+ \def\@evenfoot{\reset@font\thecolpage\hfil(\thepage)}%
+ }
+ \else
+ \newcommand{\c@lbps@plain}{%
+ \let\@mkboth\@gobbletwo
+ \let\@oddhead\@empty \let\@evenhead\@empty
+ \def\@oddfoot{\reset@font\hfil\thecolpage}%
+ \def\@evenfoot{\reset@font\thecolpage\hfil}%
+ }
+ \fi
+\else
+ \newcommand{\c@laps@plain}{%
+ \let\@mkboth\@gobbletwo
+ \let\@oddhead\@empty \let\@evenhead\@empty
+ \def\@oddfoot{\reset@font\hfil\thepage}%
+ \let\@evenfoot\@oddfoot
+ }
+ \ifc@lfolios
+ \newcommand{\c@lbps@plain}{%
+ \let\@mkboth\@gobbletwo
+ \let\@oddhead\@empty \let\@evenhead\@empty
+ \def\@oddfoot{\reset@font(\thepage)\hfil\thecolpage}%
+ \let\@evenfoot\@oddfoot
+ }
+ \else
+ \newcommand{\c@lbps@plain}{%
+ \let\@mkboth\@gobbletwo
+ \let\@oddhead\@empty \let\@evenhead\@empty
+ \def\@oddfoot{\reset@font\hfil\thecolpage}%
+ \let\@evenfoot\@oddfoot
+ }
+ \fi
+\fi
+
+\if@twoside
+ \newcommand{\ps@combine}{%
+ \let\@mkboth\@gobbletwo
+ \let\@oddhead\@empty \let\@evenhead\@empty
+ \def\@oddfoot{\reset@font\hfil\thepage}%
+ \def\@evenfoot{\reset@font\thepage\hfil}%
+ \let\ps@plain\c@laps@plain
+ }
+\else
+ \newcommand{\ps@combine}{%
+ \let\@mkboth\@gobbletwo
+ \let\@oddhead\@empty \let\@evenhead\@empty
+ \def\@oddfoot{\reset@font\hfil\thepage}%
+ \let\@evenfoot\@oddfoot
+ \let\ps@plain\c@laps@plain
+ }
+\fi
+
+\newcommand{\import}[1]{%
+ \ifc@ltoctitle
+ \addtocontents{toc}{\protect\contentsline{coltoctitle}%
+ {\protect\numberline{}\savec@ltoctitle}{\thecolpage}}
+ \c@ltoctitlefalse
+ \fi
+ \ifc@ltocauthor
+ \addcontentsline{toc}{coltocauthor}{\protect\numberline{}\savec@ltocauthor}
+ \c@ltocauthorfalse
+ \fi
+ \ifc@lpub
+ \addcontentsline{toc}{published}{\protect\numberline{}\savec@lpublished}
+ \c@lpubfalse
+ \fi
+ \gdef\jobname{#1}
+ \expandafter\let\csname B?\jobname?@*\endcsname\@empty
+ \gdef\c@lauxfile{#1.aux}
+ \@tempswatrue
+ \let\@auxout\@partaux
+ \@input@{#1.tex}%
+%% \@writeckpt{#1}%
+ \let\@auxout\@mainaux
+}
+
+\newcommand*\bodytitlemark[1]{}
+\newcounter{bodytitle}
+\renewcommand{\thebodytitle}{\@arabic\c@bodytitle}
+\ifc@lhaschapter
+ \newcommand{\bodytitle}{\@startsection{bodytitle}{0}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Huge\bfseries}}
+\else
+ \newcommand{\bodytitle}{\@startsection{bodytitle}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries}}
+\fi
+
+\newcommand{\c@ll@chapseci}{%
+ \setlength\@tempdima{0em}%
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode
+}
+\newcommand{\c@ll@chapsecii}[2]{%
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
+}
+
+\ifc@lhaschapter
+ \newcommand*\l@bodytitle[2]{% % as per chapter
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \addvspace{1.0em \@plus\p@}%
+ \c@ll@chapseci
+ \bfseries %% bold ToC entry
+ \c@ll@chapsecii{#1}{#2}
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+\else
+ \newcommand*\l@bodytitle[2]{% % as per section
+ \ifnum \c@tocdepth >\z@
+ \addpenalty\@secpenalty
+ \addvspace{1.0em \@plus\p@}%
+ \c@ll@chapseci
+ \bfseries %% bold ToC entry
+ \c@ll@chapsecii{#1}{#2}
+ \endgroup
+ \fi}
+\fi
+
+\newlength{\toctitleindent}\setlength{\toctitleindent}{0pt}
+\newlength{\tocauthorindent}\setlength{\tocauthorindent}{1.5em}
+\newlength{\tocpubindent}\setlength{\tocpubindent}{1.5em}
+\newlength{\toctocindent}\setlength{\toctocindent}{1.5em}
+
+\newenvironment{tocindent}[1]{%
+ \hangindent #1 \hangafter -100\relax}{}
+
+\newcommand{\toctitlefont}{\bfseries}
+\newcommand{\tocauthorfont}{\itshape}
+\newcommand{\tocpubfont}{\normalfont}
+
+\newcommand*{\coltoctitle}[1]{%
+ \c@ltoctitletrue%
+ \gdef\savec@ltoctitle{#1}
+}
+
+\ifc@lhaschapter
+ \newcommand*\l@coltoctitle[2]{% % as per chapter
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}% encourage page break
+ \addvspace{1.0em \@plus\p@}%
+ \c@ll@chapseci
+ \setlength{\@tempdima}{\toctitleindent}% eliminate any spaces here
+ \toctitlefont %% bold ToC entry
+ \c@ll@chapsecii{#1}{#2}
+ \penalty\@highpenalty % discourage page break
+ \endgroup
+ \fi}
+\else
+ \newcommand*\l@coltoctitle[2]{% % as per section
+ \ifnum \c@tocdepth >\z@
+ \addpenalty\@secpenalty
+ \addvspace{1.0em \@plus\p@}%
+ \c@ll@chapseci
+ \setlength{\@tempdima}{\toctitleindent}% eliminate any spaces here
+ \toctitlefont %% bold ToC entry
+ \c@ll@chapsecii{#1}{#2}
+ \penalty\@highpenalty % discourage page break
+ \endgroup
+ \fi}
+\fi
+
+\newcommand*{\coltocauthor}[1]{%
+ \c@ltocauthortrue%
+ \gdef\savec@ltocauthor{#1}
+}
+
+\ifc@lhaschapter
+ \newcommand*\l@coltocauthor[2]{% % similar to chapter
+ \ifnum \c@tocdepth >\m@ne
+ \c@ll@chapseci
+ \setlength{\@tempdima}{\tocauthorindent}% eliminate any spaces here
+ \tocauthorfont %% italic ToC entry
+ \c@ll@chapsecii{#1}{}
+ \penalty\@highpenalty % discourage page break
+ \endgroup
+ \fi}
+\else
+ \newcommand*\l@coltocauthor[2]{% % similar to section
+ \ifnum \c@tocdepth >\z@
+ \c@ll@chapseci
+ \setlength{\@tempdima}{\tocauthorindent}% eliminate any spaces here
+ \tocauthorfont %% italic ToC entry
+ \c@ll@chapsecii{#1}{}
+ \penalty\@highpenalty % discourage page break
+ \endgroup
+ \fi}
+\fi
+
+\newcommand{\published}[2][\@empty]{%
+ \c@lpubtrue
+ \ifc@lnopubintoc\else
+ \ifx #1\@empty
+ \gdef\savec@lpublished{#2}
+ \else
+ \gdef\savec@lpublished{#1}
+ \fi
+ \fi
+ \ifc@lnopubindoc\else
+ {\parindent \z@ \pubfont #2\par\nobreak}
+ \fi
+}
+\newcommand{\pubfont}{\normalfont\centering}
+
+\ifc@lhaschapter
+ \newcommand*\l@published[2]{% % similar to chapter
+ \ifnum \c@tocdepth >\m@ne
+ \c@ll@chapseci
+ \setlength{\@tempdima}{\tocpubindent}% eliminate any spaces here
+ \tocpubfont %% normal font ToC entry
+ \c@ll@chapsecii{#1}{}
+ \endgroup
+ \fi}
+\else
+ \newcommand*\l@published[2]{% % similar to section
+ \ifnum \c@tocdepth >\z@
+ \c@ll@chapseci
+ \setlength{\@tempdima}{\tocpubindent}% eliminate any spaces here
+ \tocpubfont %% normal font ToC entry
+ \c@ll@chapsecii{#1}{}
+ \endgroup
+ \fi}
+\fi
+
+\newcommand{\erasetitling}{\c@ltoctitlefalse\c@ltocauthorfalse\c@lpubfalse}
+
+\newenvironment{papers}[1][\cleardoublepage]{%
+#1
+\setuppapers
+}{%
+\takedownpapers
+}
+
+\newcommand{\setuppapers}{%
+\let\documentclass\c@lbdocumentclass
+\ifc@lpackages\else \let\usepackage\c@lbusepackage \fi
+\let\document\c@lbdocument
+\let\enddocument\c@lbenddocument
+\let\LoadClass\c@lbLoadClass
+%% \let\maketitle\c@lbmaketitle
+\def\maketitle{\c@lbmaketitle}
+\let\@writefile\c@lb@writefile
+\let\@starttoc\c@lb@starttoc
+\ifc@lnomaketitle \let\maketitle\relax \fi
+\ifc@lnotoc \let\tableofcontents\relax \fi
+\ifc@lnolof \let\listoffigures\relax \fi
+\ifc@lnolot \let\listoftables\relax \fi
+\ifc@lmaintoc \let\addtocontents\c@lbaddtocontents \fi
+\let\label\c@lblabel
+\let\@setref\c@lb@setref
+\let\newlabel\c@lbnewlabel
+\let\ref\c@lbref
+\let\pageref\c@lbpageref
+%%% \renewcommand{\bibliographystyle}[1]{}
+\ifc@lcombib
+\else
+ \ifc@lonebib
+ \renewcommand{\bibliography}[1]{}
+ \fi
+\fi
+\let\@citex\c@lb@citex
+\let\bibcite\c@lbbibcite
+\let\nocite\c@lbnocite
+\ifc@lhaschapter
+ \renewcommand{\chapter}{\@startsection{chapter}{0}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries}}
+\fi
+\c@ltoctitlefalse
+\c@ltocauthorfalse
+\c@lpubfalse
+\let\pagenumbering\c@lbpagenumbering
+\setcounter{colpage}{\value{page}}
+\let\pagestyle\c@lbpagestyle
+\pagestyle{\c@lastyle}
+\let\include\input
+}
+
+\newcommand{\takedownpapers}{%
+}
+
+\newcommand{\emptyAtBeginDocument}{\let\@begindocumenthook\@empty}
+
+\let\document\c@ladocument
+\let\enddocument\c@laenddocument
+%%\let\maketitle\c@lamaketitle
+\let\pagestyle\c@lapagestyle
+\pagestyle{combine}
+
+\endinput
+%%
+%% End of file `combine.cls'.
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combinet.sty b/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combinet.sty
new file mode 100644
index 0000000..5b1858b
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combinet.sty
@@ -0,0 +1,138 @@
+%%
+%% This is file `combinet.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% combine.dtx (with options: `pck')
+%%
+%% Author: Peter Wilson (CUA) now at peter.r.wilson@boeing.com
+%% (or at: pandgwilson at earthlink dot net)
+%% Copyright 2000, 2001, 2002, 2003 Peter R. Wilson
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any
+%% later version.
+%% The latest version of the license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2003/06/01 or later.
+%%
+%% This work has the LPPL maintenance status "author-maintained".
+%%
+%% This work consists of the files listed in the README file.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{combinet}[2004/03/06 v0.2a document titles in ToC]
+\@ifclassloaded{combine}{}{%
+ \PackageError{combinet}{The `combine' class is expected}{\@ehc}%
+}
+
+\newif\ifc@lnomtitle
+ \c@lnomtitlefalse
+\newif\ifc@lnomauthor
+ \c@lnomauthorfalse
+\newif\ifc@lnothanks
+ \c@lnothanksfalse
+\newif\ifc@lpubopt
+ \c@lpuboptfalse
+\newif\ifc@lpubtop
+ \c@lpubtopfalse
+\newif\ifc@lpubs
+ \c@lpubsfalse
+
+\DeclareOption{nomtitle}{\c@lnomtitletrue}
+\DeclareOption{nomauthor}{\c@lnomauthortrue}
+\DeclareOption{nothanks}{\c@lnothankstrue}
+\DeclareOption{pub}{\c@lpubopttrue\c@lpubtopfalse\c@lpubstrue}
+\DeclareOption{pubtop}{\c@lpubtoptrue\c@lpuboptfalse\c@lpubstrue}
+\ProcessOptions\relax
+
+\ifc@lpubs
+ \renewcommand{\published}[2][\@empty]{%
+ \c@lpubtrue
+ \ifx #1\@empty
+ \gdef\c@lpubtoc{#2}
+ \else
+ \gdef\c@lpubtoc{#1}
+ \fi
+ \gdef\c@lpubbody{#2}
+ }
+\fi
+
+\appendiargdef{\title}{%
+ \begingroup
+ \renewcommand{\thanks}[1]{}
+ \protected@xdef\c@l@title{#1}
+ \endgroup
+}
+\appendiargdef{\author}{%
+ \begingroup
+ \renewcommand{\thanks}[1]{}
+ \renewcommand{\and}{\unskip, }
+ \protected@xdef\c@l@author{#1}
+ \endgroup
+}
+
+\def\c@lbmaketitle{\par
+ \begingroup
+ \let\newpage\relax
+ \let\@maketitle\c@lb@maketitle
+ \ifc@lpub
+ \ifc@lpubtop
+ \ifc@lnopubindoc\else
+ {\parindent\z@ \pubfont \c@lpubbody\par\nobreak}
+ \fi
+ \fi
+ \fi
+ \c@lmtitle %% typeset the title block
+ \endgroup
+ \setcounter{footnote}{0}
+ \begingroup
+ \let\thanks\@empty
+ \ifc@ltoctitle\else
+ \ifc@lnomtitle\else
+ \ifx\@title\@empty\else
+ \ifc@lnothanks
+ \c@laaddcontentsline{toc}%
+ {coltoctitle}{\protect\numberline{}\c@l@title}%
+ \else
+ \c@laaddcontentsline{toc}%
+ {coltoctitle}{\protect\numberline{}\@title}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \ifc@ltocauthor\else
+ \ifc@lnomauthor\else
+ \ifx\@author\@empty\else
+ \ifc@lnothanks
+ \c@laaddcontentsline{toc}%
+ {coltocauthor}{\protect\numberline{}\c@l@author}
+ \else
+ \c@laaddcontentsline{toc}%
+ {coltocauthor}{\protect\numberline{}\@author}
+ \fi
+ \fi
+ \fi
+ \fi
+ \endgroup
+ \ifc@lpub
+ \ifc@lpubopt
+ \ifc@lnopubindoc\else
+ {\parindent\z@ \pubfont \c@lpubbody\par\nobreak}
+ \fi
+ \fi
+ \ifc@lpubs
+ \ifc@lnopubintoc\else
+ \c@laaddcontentsline{toc}{published}{\protect\numberline{}\c@lpubtoc}
+ \fi
+ \fi
+ \fi
+ \c@lmtitlempty
+}
+
+\endinput
+%%
+%% End of file `combinet.sty'.
diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combnat.sty b/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combnat.sty
new file mode 100644
index 0000000..53ef889
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/texmf/tex/latex/combine/combnat.sty
@@ -0,0 +1,543 @@
+%%
+%% This is file `combnat.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% combine.dtx (with options: `natpack')
+%%
+%% Author: Peter Wilson (CUA) now at peter.r.wilson@boeing.com
+%% (or at: pandgwilson at earthlink dot net)
+%% Copyright 2000, 2001, 2002, 2003 Peter R. Wilson
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any
+%% later version.
+%% The latest version of the license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2003/06/01 or later.
+%%
+%% This work has the LPPL maintenance status "author-maintained".
+%%
+%% This work consists of the files listed in the README file.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{combnat}[2003/05/22 v0.21 combined natbib package]
+\@ifclassloaded{combine}{}{%
+ \PackageError{combnat}{The `combine' class is expected}{\@ehc}}
+\RequirePackageWithOptions{natbib}
+
+\newcommand{\c@lNATwritemainbib}{%
+ \if@filesw\immediate\write\@mainaux{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{%
+ {\reset@font\bfseries?}
+ \NAT@citeundefined\PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}}}
+
+\newcommand{\c@lNATwritemainbibdate}{%
+ \if@filesw\immediate\write\@mainaux{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea%
+ {\reset@font\bfseries ?}\NAT@citeundefined
+ \PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}
+ \def\NAT@date{}}}
+
+\newcommand{\c@lNATwritelocalbib}{%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{B?\jobname?@\@citeb\@extra@b@citeb}{%
+ {\reset@font\bfseries?}
+ \NAT@citeundefined\PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}}}
+
+\newcommand{\c@lNATwritelocalbibdate}{%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{B?\jobname?@\@citeb\@extra@b@citeb}{\@citea%
+ {\reset@font\bfseries ?}\NAT@citeundefined
+ \PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}
+ \def\NAT@date{}}}
+
+\newcommand{\c@lNAT@citexnum@swatrue}{%
+ \ifnum\NAT@ctype>1\relax\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \ifnum\NAT@ctype=2\relax\NAT@test{\NAT@ctype}%
+ \else\NAT@alias
+ \fi\hyper@natlinkend\else
+ \ifnum\NAT@sort>1\relax
+ \begingroup\catcode`\_=8
+ \ifcat _\ifnum\z@<0\NAT@num _\else A\fi
+ \global\let\NAT@nm=\NAT@num \else \gdef\NAT@nm{-2}\fi
+ \ifcat _\ifnum\z@<0\NAT@last@num _\else A\fi
+ \global\@tempcnta=\NAT@last@num \global\advance\@tempcnta by\@ne
+ \else \global\@tempcnta\m@ne\fi
+ \endgroup
+ \ifnum\NAT@nm=\@tempcnta
+ \ifx\NAT@last@yr\relax
+ \edef\NAT@last@yr{\@citea \mbox{\noexpand\citenumfont\NAT@num}}%
+ \else
+ \edef\NAT@last@yr{--\penalty\@m\mbox{\noexpand\citenumfont\NAT@num}}%
+ \fi
+ \else
+ \NAT@last@yr \@citea \mbox{\citenumfont\NAT@num}%
+ \let\NAT@last@yr\relax
+ \fi
+ \else
+ \@citea \mbox{\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ {\citenumfont\NAT@num}\hyper@natlinkend}%
+ \fi
+ \fi
+ \def\@citea{\NAT@sep\penalty\@m\NAT@space}%
+}
+
+\def\NAT@citexnum[#1][#2]#3{%
+ \NAT@sort@cites{#3}%
+ \let\@citea\@empty
+ \@cite{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \c@lNATwritemainbib %%% change here
+ {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name
+ \fi
+ \ifNAT@swa
+ \c@lNAT@citexnum@swatrue
+ \else
+ \ifcase\NAT@ctype\relax
+ \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\penalty\@m\NAT@space\else
+ \@citea \NAT@test{1}\ \NAT@@open
+ \if*#1*\else#1\ \fi\fi \NAT@mbox{%
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ {\citenumfont\NAT@num}\hyper@natlinkend}%
+ \def\@citea{\NAT@@close\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@test{\NAT@ctype}\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@test{\NAT@ctype}\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@alias\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \fi
+ \fi
+ }}%
+ \ifnum\NAT@sort>1\relax\NAT@last@yr\fi
+ \ifNAT@swa\else\ifnum\NAT@ctype=0\if*#2*\else
+ \NAT@cmt#2\fi \NAT@@close\fi\fi}{#1}{#2}}
+
+\def\c@lbNAT@citexnum[#1][#2]#3{%
+ \ifc@lcombib\c@laNATnocite{#3}\fi %%% change here
+ \NAT@sort@cites{#3}%
+ \let\@citea\@empty
+ \@cite{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \c@lNATwritelocalbib %%% change here
+ {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa
+ \c@lNAT@citexnum@swatrue
+ \else
+ \ifcase\NAT@ctype\relax
+ \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\penalty\@m\NAT@space\else
+ \@citea \NAT@test{1}\ \NAT@@open
+ \if*#1*\else#1\ \fi\fi \NAT@mbox{%
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ {\citenumfont\NAT@num}\hyper@natlinkend}%
+ \def\@citea{\NAT@@close\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@test{\NAT@ctype}\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@test{\NAT@ctype}\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \or\@citea
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@alias\hyper@natlinkend
+ \def\@citea{\NAT@sep\penalty\@m\ }%
+ \fi\fi
+ }}%
+ \ifnum\NAT@sort>1\relax\NAT@last@yr\fi
+ \ifNAT@swa\else\ifnum\NAT@ctype=0\if*#2*\else
+ \NAT@cmt#2\fi \NAT@@close\fi\fi}{#1}{#2}}
+
+\newcommand{\c@lNAT@citex@swatrue}{%
+ \ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\NAT@date\hyper@natlinkend
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab
+ \hyper@natlinkend
+ \else
+ \unskip\
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date
+ \hyper@natlinkend
+ \fi
+ \else\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{\NAT@aysep\ }{\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend
+ \fi
+ \fi
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@alias\hyper@natlinkend
+ \fi \def\@citea{\NAT@sep\ }%
+}
+
+\def\NAT@citex%
+ [#1][#2]#3{%
+ \NAT@sort@cites{#3}%
+ \let\@citea\@empty
+ \@cite{\let\NAT@nm\@empty\let\NAT@year\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \c@lNATwritemainbibdate %%%% change here
+ {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa
+ \c@lNAT@citex@swatrue
+ \else
+ \ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab
+ \hyper@natlinkend
+ \else\unskip\
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date
+ \hyper@natlinkend
+ \fi
+ \else\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{\ \NAT@@open\if*#1*\else#1\ \fi}%
+ {\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend\fi
+ \fi
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@alias\hyper@natlinkend
+ \fi \if\relax\NAT@date\relax\def\@citea{\NAT@sep\ }%
+ \else\def\@citea{\NAT@@close\NAT@sep\ }\fi
+ \fi
+ }}\ifNAT@swa\else\if*#2*\else\NAT@cmt#2\fi
+ \if\relax\NAT@date\relax\else\NAT@@close\fi\fi}{#1}{#2}}
+
+\def\c@lbNAT@citex[#1][#2]#3{%
+ \ifc@lcombib \c@laNATnocite{#3} \fi %%%% change here
+ \NAT@sort@cites{#3}%
+ \let\@citea\@empty
+ \@cite{\let\NAT@nm\@empty\let\NAT@year\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \c@lNATwritelocalbibdate %%%% change here
+ {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa
+ \c@lNAT@citex@swatrue
+ \else
+ \ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab
+ \hyper@natlinkend
+ \else\unskip\
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date
+ \hyper@natlinkend
+ \fi
+ \else\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{\ \NAT@@open\if*#1*\else#1\ \fi}%
+ {\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend\fi
+ \fi
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@alias\hyper@natlinkend
+ \fi \if\relax\NAT@date\relax\def\@citea{\NAT@sep\ }%
+ \else\def\@citea{\NAT@@close\NAT@sep\ }\fi
+ \fi
+ }}\ifNAT@swa\else\if*#2*\else\NAT@cmt#2\fi
+ \if\relax\NAT@date\relax\else\NAT@@close\fi\fi}{#1}{#2}}
+
+\newcommand\c@laNATnocite[1]{\@bsphack
+ \@for\@citeb:=#1\do{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@mainaux{\string\citation{\@citeb}}\fi
+ \if*\@citeb\else
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{%
+ \NAT@citeundefined \PackageWarning{natbib}%
+ {Citation `\@citeb' undefined}}{}\fi}%
+ \@esphack}
+\renewcommand{\nocite}[1]{\c@laNATnocite{#1}}
+
+\newcommand\c@lbNATnocite[1]{\@bsphack
+ \@for\@citeb:=#1\do{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \if*\@citeb\else
+ \@ifundefined{B?\jobname?@\@citeb\@extra@b@citeb}{%
+ \NAT@citeundefined \PackageWarning{natbib}%
+ {Citation `\@citeb' undefined}}{}\fi}%
+ \@esphack}
+
+\renewcommand{\NAT@wrout}[5]{%
+ \if@filesw
+ {\let\protect\noexpand\let~\relax
+ \immediate
+ \write\@mainaux{\string\bibcite{#5}{{#1}{#2}{{#3}}{{#4}}}}}\fi
+\ignorespaces}
+
+\newcommand{\c@lbNAT@wrout}[5]{%
+ \if@filesw
+ {\let\protect\noexpand\let~\relax
+ \immediate
+ \write\@auxout{\string\bibcite{#5}{{#1}{#2}{{#3}}{{#4}}}}}\fi
+\ignorespaces}
+
+\newcommand\c@laNAT@parse[1]{{%
+ \let\protect=\@unexpandable@protect\let~\relax
+ \let\active@prefix=\@gobble
+ \xdef\NAT@temp{\csname b@#1\@extra@b@citeb\endcsname}}%
+ \expandafter\NAT@split\NAT@temp
+ \expandafter\NAT@parse@date\NAT@date??????@@%
+ \ifciteindex\NAT@index\fi}
+
+\newcommand\c@lbNAT@parse[1]{{%
+ \let\protect=\@unexpandable@protect\let~\relax
+ \let\active@prefix=\@gobble
+ \xdef\NAT@temp{\csname B?\jobname?@#1\@extra@b@citeb\endcsname}}%
+ \expandafter\NAT@split\NAT@temp
+ \expandafter\NAT@parse@date\NAT@date??????@@%
+ \ifciteindex\NAT@index\fi}
+
+\def\c@laNAT@lbibitem[#1]#2{%
+ \if\relax\@extra@b@citeb\relax\else
+ \@ifundefined{br@#2\@extra@b@citeb}{}{%
+ \@namedef{br@#2}{\@nameuse{br@#2\@extra@b@citeb}}}\fi
+ \@ifundefined{b@#2\@extra@b@citeb}{\def\NAT@num{}}{\NAT@parse{#2}}%
+ \item[\hfil\hyper@natanchorstart{#2\@extra@b@citeb}\@biblabel{\NAT@num}%
+ \hyper@natanchorend]%
+ \NAT@ifcmd#1(@)(@)\@nil{#2}}
+
+\def\c@lbNAT@lbibitem[#1]#2{%
+ \if\relax\@extra@b@citeb\relax\else
+ \@ifundefined{br@#2\@extra@b@citeb}{}{%
+ \@namedef{br@#2}{\@nameuse{br@#2\@extra@b@citeb}}}\fi
+ \@ifundefined{B?\jobname?@#2\@extra@b@citeb}{\def\NAT@num{}}{\NAT@parse{#2}}%
+ \item[\hfil\hyper@natanchorstart{#2\@extra@b@citeb}\@biblabel{\NAT@num}%
+ \hyper@natanchorend]%
+ \NAT@ifcmd#1(@)(@)\@nil{#2}}
+
+\newcommand\c@laNATbibcite[2]{\@ifundefined{b@#1\@extra@binfo}\relax
+ {\NAT@citemultiple
+ \PackageWarningNoLine{natbib}{Citation `#1' multiply defined}}%
+ \global\@namedef{b@#1\@extra@binfo}{#2}}
+
+\newcommand\c@lbNATbibcite[2]{\@ifundefined{B?\jobname?@#1\@extra@binfo}\relax
+ {\NAT@citemultiple
+ \PackageWarningNoLine{natbib}{Citation `#1' multiply defined}}%
+ \global\@namedef{B?\jobname?@#1\@extra@binfo}{#2}}
+
+\ifc@lonebib
+ \ifc@lcombib
+ \else
+ \renewcommand\c@lbNATbibcite[2]{\@ifundefined{b@#1\@extra@binfo}\relax
+ {\NAT@citemultiple
+ \PackageWarningNoLine{natbib}{Citation `#1' multiply defined}}%
+ \global\@namedef{B?\jobname?@#1\@extra@binfo}{#2}}
+ \fi
+\fi
+
+\newcommand\c@laNAT@testdef[2]{%
+ \def\NAT@temp{#2}\expandafter \ifx \csname b@#1\@extra@binfo\endcsname
+ \NAT@temp \else \ifNAT@swa \NAT@swafalse
+ \PackageWarningNoLine{natbib}{Citation(s) may have
+ changed.\MessageBreak
+ Rerun to get citations correct}\fi\fi}
+
+\newcommand\c@lbNAT@testdef[2]{%
+ \def\NAT@temp{#2}\expandafter \ifx \csname B?\jobname?@#1\@extra@binfo\endcsname
+ \NAT@temp \else \ifNAT@swa \NAT@swafalse
+ \PackageWarningNoLine{natbib}{Citation(s) may have
+ changed.\MessageBreak
+ Rerun to get citations correct}\fi\fi}
+
+\ifnum\NAT@sort>0
+ \begingroup \catcode`\_=8
+ \gdef\c@laNAT@make@cite@list{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{\def\NAT@num{A}}%
+ {\NAT@parse{\@citeb}}%
+ \ifcat _\ifnum\z@<0\NAT@num _\else A\fi
+ \@tempcnta\NAT@num \relax
+ \ifnum \@tempcnta>\@tempcntb
+ \edef\NAT@num@list{\NAT@num@list \@celt{\NAT@num}}%
+ \edef\NAT@cite@list{\NAT@cite@list\@citeb,}%
+ \@tempcntb\@tempcnta
+ \else
+ \let\NAT@@cite@list=\NAT@cite@list \def\NAT@cite@list{}%
+ \edef\NAT@num@list{\expandafter\NAT@num@celt \NAT@num@list \@gobble @}%
+ {\let\@celt=\NAT@celt\NAT@num@list}%
+ \fi
+ \else
+ \edef\NAT@nonsort@list{\NAT@nonsort@list\@citeb,}%
+ \fi}
+ \endgroup
+
+ \begingroup \catcode`\_=8
+ \gdef\c@lbNAT@make@cite@list{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \@ifundefined{B?\jobname?@\@citeb\@extra@b@citeb}{\def\NAT@num{A}}%
+ {\NAT@parse{\@citeb}}%
+ \ifcat _\ifnum\z@<0\NAT@num _\else A\fi
+ \@tempcnta\NAT@num \relax
+ \ifnum \@tempcnta>\@tempcntb
+ \edef\NAT@num@list{\NAT@num@list \@celt{\NAT@num}}%
+ \edef\NAT@cite@list{\NAT@cite@list\@citeb,}%
+ \@tempcntb\@tempcnta
+ \else
+ \let\NAT@@cite@list=\NAT@cite@list \def\NAT@cite@list{}%
+ \edef\NAT@num@list{\expandafter\NAT@num@celt \NAT@num@list \@gobble @}%
+ {\let\@celt=\NAT@celt\NAT@num@list}%
+ \fi
+ \else
+ \edef\NAT@nonsort@list{\NAT@nonsort@list\@citeb,}%
+ \fi}
+ \endgroup
+\fi
+
+\AtEndDocument{%
+ \ifNAT@stdbst\if@filesw\immediate\write
+ \@mainaux{\string\global\string\NAT@numberstrue}\fi\fi
+ }
+
+\AtEndDocument{\NAT@swatrue\let\bibcite\NAT@testdef}
+
+\newcommand{\c@laNAT@set@cites}{\ifNAT@numbers
+ \ifNAT@super \let\@cite\NAT@citesuper
+ \def\NAT@mbox##1{\unskip\nobreak\hspace{1\p@}\textsuperscript{##1}}%
+ \let\citeyearpar=\citeyear
+ \let\NAT@space\relax\else
+ \let\NAT@mbox=\mbox
+ \let\@cite\NAT@citenum \def\NAT@space{ }\fi
+ \let\@citex\NAT@citexnum
+ \ifx\@biblabel\@empty\let\@biblabel\NAT@biblabelnum\fi
+ \let\@bibsetup\NAT@bibsetnum
+ \def\natexlab##1{}%
+ \else
+ \let\@cite\NAT@cite
+ \let\@citex\NAT@citex
+ \let\@biblabel\NAT@biblabel
+ \let\@bibsetup\NAT@bibsetup
+ \def\natexlab##1{##1}%
+ \fi}
+
+\newcommand{\c@lbNAT@set@cites}{\ifNAT@numbers
+ \ifNAT@super \let\@cite\NAT@citesuper
+ \def\NAT@mbox##1{\unskip\nobreak\hspace{1\p@}\textsuperscript{##1}}%
+ \let\citeyearpar=\citeyear
+ \let\NAT@space\relax\else
+ \let\NAT@mbox=\mbox
+ \let\@cite\NAT@citenum \def\NAT@space{ }\fi
+ \let\@citex\NAT@citexnum
+ \ifx\@biblabel\@empty\let\@biblabel\NAT@biblabelnum\fi
+ \let\@bibsetup\NAT@bibsetnum
+ \def\natexlab##1{}%
+ \else
+ \let\@cite\NAT@cite
+ \let\@citex\NAT@citex
+ \let\@biblabel\NAT@biblabel
+ \let\@bibsetup\NAT@bibsetup
+ \def\natexlab##1{##1}%
+ \fi}
+
+\let\NAT@parse\c@laNAT@parse
+%%\let\nocite\c@laNATnocite
+%%\let\NAT@wrout\c@laNAT@wrout
+\let\@lbibitem\c@laNAT@lbibitem
+\let\bibcite\c@laNATbibcite
+\let\NAT@testdef\c@laNAT@testdef
+%%\let\NAT@make@cite@list\c@laNAT@make@cite@list
+%%\let\NAT@citexnum\c@laNAT@citexnum
+%%\let\NAT@citex\c@laNAT@citex
+
+\let\c@loldsetuppapers\setuppapers
+\newcommand{\c@lNATsetuplocal}{%
+ \let\NAT@parse\c@lbNAT@parse
+ \let\nocite\c@lbNATnocite
+ \let\NAT@wrout\c@lbNAT@wrout
+ \let\@lbibitem\c@lbNAT@lbibitem
+ \let\bibcite\c@lbNATbibcite
+ \let\NAT@testdef\c@lbNAT@testdef
+ \let\NAT@make@cite@list\c@lbNAT@make@cite@list
+ \let\NAT@citexnum\c@lbNAT@citexnum
+ \let\NAT@citex\c@lbNAT@citex
+ \let\NAT@set@cites\c@lbNAT@set@cites
+ \c@lbNAT@set@cites
+}
+\renewcommand{\setuppapers}{%
+ \c@loldsetuppapers
+ \ifc@lcombib
+ \c@lNATsetuplocal
+ \else
+ \ifc@lonebib
+ \else
+ \c@lNATsetuplocal
+ \fi
+ \fi
+}
+
+\endinput
+%%
+%% End of file `combnat.sty'.
personal git repositories of Harald Welte. Your mileage may vary