%%%%%%%%%% npbproc.sty %%%%%%%%%%

% `NUCL. PHYS. B PROCEEDINGS' DOCUMENT STYLE -- Version 2.4: 1 August 1990
%    for LaTeX version 2.09
%
% Created by Nico Poppelier (Elsevier Science Publishers)
%
\typeout{Document Style `Nuclear Physics B Proceedings'}

%  Type size options are disabled; the definitions for 10pt are default.
\def\@ptsize{0}

%  Draft option
%
% \overfullrule = 0pt             % Default is don't mark overfull hboxes.
\def\ds@draft{\overfullrule 5pt}  % Causes overfull hboxes to be marked.

%  Two-side or one-side printing.
\@twosidetrue                      % Printing is two-sided, so even
\@mparswitchtrue                   % and odd headers are not identical.
\def\ds@oneside{\@twosidefalse
                \@mparswitchfalse} % default is `true'

% Two-column or one-column formatting.
\@twocolumntrue                    % Formatting is in two columns
\def\ds@onecolumn{\@twocolumnfalse}% default is `true'

%                                  % Disable the document-style
\@namedef{ds@11pt}{}               % options `11pt'
\@namedef{ds@12pt}{}               %         `12pt'
\def\ds@twocolumn{}                %         `twocolumn'
\def\ds@fleqn{}                    % and     `fleqn'

% add an option for the `Russian style' section headings
\newif\if@ussrhead \@ussrheadfalse
\def\ds@ussrhead{\@ussrheadtrue}

% add an option for equation numbering within sections
% IF seceqn THEN
%   equation numbering reset at beginning of each section
%   equation number = (1.1), (1.2), ...
% FI
\newif\if@seceqn \@seceqnfalse      % default: equation numbering is
\def\ds@seceqn{\@seceqntrue}        % reset at beginning of each section

% The \@options command causes the execution of every command \ds@FOO
% that is defined and for which the user typed the FOO option in his
% \documentstyle command.  For every option BAR he typed for which
% \ds@BAR is not defined, the file BAR.sty will be read after the present
% (main) .STY file is executed.

\newif\if@nfss
\@ifundefined{selectfont}{\@nfssfalse}{\@nfsstrue}
% \if@nfss \typeout{New font-selection scheme active}\else
%          \typeout{Old font-selection scheme active}\fi

\@options

\input npbpr1\@ptsize.sty\relax










%    ****************************************
%    *                LISTS                 *
%    ****************************************
%

% ENUMERATE
%  Enumeration is done with two counters: enumi and enumii,
%  where enumN controls the numbering of the Nth level
%  enumeration.  The label is generated by the commands \labelenumi
%  and \labelenumii.  The expansion of \p@enumN\theenumN defines the
%  output of a \ref command.

\def\labelenumi{(\roman{enumi})}
\def\theenumi{\roman{enumi}}
\def\labelenumii{(\alph{enumii})}
\def\theenumii{\alph{enumii}}

\def\enumerate{\ifnum \@enumdepth >1 \@toodeep\else
  \advance\@enumdepth \@ne
  \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
    {\csname label\@enumctr\endcsname}{\usecounter{\@enumctr}
    \def\makelabel##1{##1} \labelwidth=0pt \labelsep=0.5em
        \leftmargin=0pt \itemindent=\labelwidth
          \advance\itemindent\labelsep \advance\itemindent\parindent
          \partopsep=0pt \topsep=0pt \parsep=0pt \itemsep=0pt
          \listparindent=0pt} \fi}
\let\endenumerate=\endlist

% ITEMIZE
%  Itemization is controlled by two commands: \labelitemi and
%  \labelitemii, which define the labels of the various
%  itemization levels.

\def\labelitemi{\bf --}
\def\itemize{\ifnum \@itemdepth >1 \@toodeep\else
  \advance\@itemdepth \@ne
  \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}\list
    {\csname\@itemitem\endcsname}{\settowidth{\labelwidth}{\bf --}
    \labelsep=0.5em
                \itemindent=\labelwidth \advance\itemindent\labelsep
                \leftmargin=0pt \partopsep=0pt \topsep=0pt \parsep=0pt
                \itemsep=0pt \listparindent=0pt} \fi}
\let\enditemize=\endlist

% VERSE
%   The verse environment is defined by making clever use of the
%   list environment's parameters.  The user types \\ to end a line.
%   This is implemented by \let'in \\ equal \@centercr.
%
\def\verse{\let\\=\@centercr
  \list{}{\itemsep\z@ \itemindent -1.5em\listparindent\z@
          \rightmargin\z@ \leftmargin\z@}\item[]}
\let\endverse\endlist

% QUOTATION
%   Fills lines
%   Indents paragraph
%
\def\quotation{\list{}{\itemindent\z@
  \rightmargin\z@ \leftmargin\z@ \parsep 0pt plus 1pt}
  \small \sl \item[]}
\let\endquotation=\endlist

% QUOTE -- same as quotation except no paragraph indentation,
%
\def\quote{\list{}{\itemindent\z@
  \rightmargin\z@ \leftmargin\z@}
  \small \sl \item[]}
\let\endquote=\endlist

% DESCRIPTION
%
%  To change the formatting of the label, you must redefine
%  \descriptionlabel.

\def\descriptionlabel#1{\hspace\labelsep \bf #1}
\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
       \let\makelabel\descriptionlabel}}

\let\enddescription\endlist

%\newdimen\descriptionmargin
%\descriptionmargin=3em










%    ****************************************
%    *         OTHER ENVIRONMENTS           *
%    ****************************************
%
%
% THEOREM
% \@begintheorem ... \@endtheorem are the commands executed at the
% beginning and end of a (user-defined) theorem-like environment.
% Except \@opargbegintheorem is executed when an optional argument is
% given.  Cf. LATEX.TEX.
%
\def\@begintheorem#1#2{\sl \trivlist
  \item[\hskip \labelsep{\bf #1\ #2}]}
\def\@opargbegintheorem#1#2#3{\sl \trivlist
  \item[\hskip \labelsep{\bf #1\ #2\ (#3)}]}

\def\@endtheorem{\endtrivlist}

% EQUATION and EQNARRAY
%
%  Default is for left-hand side of equations to be flushleft.
%  To make them flushright, do:
%  \let\@eqnsel = \hfil
%
%  The fleqn document-style option -- written by Leslie Lamport -- is
%  included in this document style. Physics Letters B has formulae flush
%  left against the left margin, i.e. with \mathindent = 0pt.
%
%  The following commands make the displayed math environments flush left,
%  with an indentation of \mathindent from the prevailing left margin.
\def\[{\relax\ifmmode\@badmath\else\begingroup
  \trivlist \item[]\leavevmode
  \hbox to\linewidth\bgroup$ % $ TO MAKE 'DOLLAR' NESTING OK
  \displaystyle
  \hskip\mathindent\bgroup\fi}

\def\]{\relax\ifmmode \egroup $\hfil % $ TO MAKE DOLLAR NESTING OK
       \egroup \endtrivlist \endgroup\else \@badmath \fi}

\def\equation{\refstepcounter{equation}
  \trivlist \item[]\leavevmode
  \hbox to\linewidth\bgroup $ % $ TO MAKE DOLLAR NESTING OK
  \displaystyle
\hskip\mathindent}

\def\endequation{$\hfil % $ TO MAKE DOLLAR NESTING OK
           \displaywidth\linewidth\@eqnnum\egroup \endtrivlist}

% \hskip\@centering in beginning of preamble removed, since
% this ruins the alignment of the equations in some cases
\def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr
\ifvmode\advance\abovedisplayskip\partopsep\fi
$$\halign % $$ DOLLAR MATCHING
to \linewidth\bgroup\@eqnsel$\displaystyle\tabskip\z@
  {##}$&\global\@eqcnt\@ne \hskip 2\eqnarraycolsep \hfil${##}$\hfil
  &\global\@eqcnt\tw@ \hskip 2\eqnarraycolsep $\displaystyle{##}$\hfil
   \tabskip\@centering&\llap{##}\tabskip\z@\cr}

\def\endeqnarray{\@@eqncr\egroup
      \global\advance\c@equation\m@ne$$\global\@ignoretrue % $$ MATCHING
      }
\newdimen\eqnarraycolsep \eqnarraycolsep=2pt
\newdimen\mathindent
\if@twocolumn \mathindent=\z@ \else \mathindent=2em \fi

%
\jot=5pt        % Extra space added between lines of an eqnarray environment

% The macro \@eqnnum defines how equation numbers are to appear in equations.
%
% \def\@eqnnum{(\theequation)}

% TITLEPAGE
%  In the normal environments, the titlepage environment does nothing but
%  start and end a page, and inhibit page numbers.  It also resets the
%  page number to zero.
%  This command is disabled, since it is replaced by new
%  \title, \author, and \address commands.
%
% \def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
%      \else \newpage \fi \thispagestyle{empty}\c@page\z@}
%
% \def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}

%    ****************************************
%    *           ARRAY AND TABULAR          *
%    ****************************************

\arraycolsep 5pt         % Half the space between columns in array environment.
\tabcolsep 6pt           % idem in tabular environment.
\arrayrulewidth 0.4pt    % Width of rules and space between adjacent
\doublerulesep 2pt       % rules in any of these two environments.

% TABBING
%
\tabbingsep \labelsep   % Space used by the \' command.  (See LaTeX manual.)

% MINIPAGE
%  \@minipagerestore is called upon entry to a minipage environment to
%  set up things that are to be handled differently inside a minipage
%  environment. In the current styles, it does nothing.

% \skip\@mpfootins : plays same role for footnotes in a minipage as
%                    \skip\footins does for ordinary footnotes

\skip\@mpfootins = \skip\footins

% FRAMEBOX
%
\fboxsep = 7pt    % Space left between box and text by \fbox and \framebox.
\fboxrule = 0.4pt % Width of rules in box made by \fbox and \framebox.










%    ****************************************
%    *             SECTIONS                 *
%    ****************************************
%
% DEFINE COUNTERS:
%
% \newcounter{NEWCTR}[OLDCTR] : Defines NEWCTR to be a counter, which is
%                               reset to zero when counter OLDCTR is stepped.
%                               ounter OLDCTR must already be defined.

\newcounter{section}
\newcounter{subsection}[section]
\newcounter{subsubsection}[subsection]
\newcounter{paragraph}[subsubsection]
\newcounter{subparagraph}[paragraph]

% IF seceqn THEN
%   equation number = (1.1), (1.2), ...
%   equation counter reset at beginning of each section
% ELSE
%   equation number = (1), (2), ...
% FI
\if@seceqn
 \@addtoreset{equation}{section}
 \def\theequation{\arabic{section}.\arabic{equation}}
\else
  \def\theequation{\arabic{equation}}
\fi

% For any counter CTR, \theCTR is a macro that defines the printed version
% of counter CTR.  It is defined in terms of the following macros:
%
%  \arabic{COUNTER} : The value of COUNTER printed as an arabic numeral.
%  \roman{COUNTER}  : Its value printed as a lower-case roman numberal.
%  \Roman{COUNTER}  : Its value printed as an upper-case roman numberal.
%  \alph{COUNTER}   : Value of COUNTER printed as a lower-case letter:
%                         1 = a, 2 = b, etc.
%  \alphgr{COUNTER} : Ibid., but as a lower-case latin or greek letter:
%                         1 = a, 2 = b, ..., 27 = alpha,28 = beta, etc.
%  \Alph{COUNTER}   : Value of COUNTER printed as an upper-case letter:
%                           1 = A, 2 = B, etc.
%
%  \ALPHGR is IMPLEMENTED IN TERMS OF THE FOLLOWING:
%     \@alphgr\FOOcounter   : Representation of \FOOcounter as a lower-case
%                             letter 1 = a, 2 = b, ...,
%                             27 = alpha,28 = beta, etc.
%                             Can be used only in math mode.

\def\alphgr#1{\@alphgr{\@nameuse{c@#1}}}
\def\@alphgr#1{\ifcase#1\or a\or b\or c\or d\or e\or
  f\or g\or h\or i\or j\else\@ialphgr{#1}\fi}
\def\@ialphgr#1{\ifcase#1\or \or \or \or \or \or \or \or \or \or \or
  k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
  y\or z\or \alpha\or\beta\or\gamma\or\delta\or\varepsilon\or
  \zeta\or\eta\or\theta\or\iota\or\kappa\or\lambda\or\mu\or
  \nu\or\xi\or o\or\pi\or\rho\or\sigma\or\tau\or\upsilon\or
  \phi\or\chi\or\psi\or\omega\else\@ctrerr\fi}

\def\thesection      {\arabic{section}}
\def\thesubsection   {\thesection.\arabic{subsection}}
\def\thesubsubsection{\thesubsection.\arabic{subsubsection}}
\def\theparagraph    {\thesubsubsection.\arabic{paragraph}}
\def\thesubparagraph {\theparagraph.\arabic{subparagraph}}










%    ****************************************
%    *         TABLE OF CONTENTS, ETC.      *
%    ****************************************
%
% A \subsection command writes a
%       \contentsline{subsection}{TITLE}{PAGE}
% command on the .toc file, where TITLE contains the contents of the
% entry and PAGE is the page number.  If subsections are being numbered,
% then TITLE will be of the form
%       \numberline{NUM}{HEADING}
% where NUM is the number produced by \thesubsection.  Other sectioning
% commands work similarly.
%
% A \caption command in a 'figure' environment writes
%    \contentsline{figure}{\numberline{NUM}{CAPTION}}{PAGE}
% on the .lof file, where NUM is the number produced by \thefigure and
% CAPTION is the figure caption.  It works similarly for a 'table' environment.
%
% The command \contentsline{NAME} expands to \l@NAME.  So, to specify
% the table of contents, we must define \l@section,
% \l@subsection, ... ; to specify the list of figures, we must define
% \l@figure; and so on.  Most of these can be defined with the
% \@dottedtocline command, which works as follows.
%
% \@dottedtocline{LEVEL}{INDENT}{NUMWIDTH}{TITLE}{PAGE}
%    LEVEL    : An entry is produced only if LEVEL < or = value of
%               'tocdepth' counter.  Note that \section is level 1,
%               \subsection is level 2, etc.
%    INDENT   : The indentation from the outer left margin of the start of
%               the contents line.
%    NUMWIDTH : The width of a box in which the section number is to go,
%               if TITLE includes a \numberline command.
%
% This command uses the following three parameters, which are set
% with a \def (so em's can be used to make them depend upon the font).
%   \@pnumwidth : The width of a box in which the page number is put.
%   \@tocrmarg  : The right margin for multiple line entries.  One
%                 wants \@tocrmarg > or = \@pnumwidth
%   \@dotsep    : Separation between dots, in mu units.  Should be \def'd to
%                 a number like 2 or 1.7

\def\@pnumwidth{1.55em}
\def\@tocrmarg {2.55em}
\def\@dotsep{4.5}
\setcounter{tocdepth}{3}

% TABLEOFCONTENTS
%
\def\tableofcontents{\section*{Contents\@mkboth{CONTENTS}{CONTENTS}}
  \@starttoc{toc}}

\def\l@part#1#2{\addpenalty{\@secpenalty}
   \addvspace{2.25em plus 1pt}  % space above part line
   \begingroup
   \@tempdima 3em         % width of box holding part number, used by
     \parindent \z@ \rightskip \@pnumwidth             %% \numberline
     \parfillskip -\@pnumwidth
     {\large \bf          % set line in \large boldface
     \leavevmode          % TeX command to enter horizontal mode.
     #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
     \nobreak             % Never break after part entry
   \endgroup}

\def\l@section#1#2{\addpenalty{\@secpenalty}  % good place for page break
   \addvspace{1.0em plus 1pt}  % space above toc entry
   \@tempdima 1.5em            % width of box holding section number
   \begingroup
     \parindent \z@ \rightskip \@pnumwidth
     \parfillskip -\@pnumwidth
     \bf                  % Boldface.
     \leavevmode          % TeX command to enter horizontal mode.
     #1\hfil \hbox to\@pnumwidth{\hss #2}\par
   \endgroup}

\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}

% LIST OF FIGURES
%
\def\listoffigures{\section*{List of Figures\@mkboth
   {List of figures}{List of figures}}\@starttoc{lof}}

\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}

% LIST OF TABLES
%
\def\listoftables{\section*{List of Tables\@mkboth
   {List of tables}{List of tables}}\@starttoc{lot}}
\let\l@table\l@figure










%    ****************************************
%    *             BIBLIOGRAPHY             *
%    ****************************************
%
% The thebibliography environment executes the following commands:
%
%  \def\newblock{\hskip .11em plus .33em minus -.07em} --
%      Defines the `closed' format, where the blocks (major units of
%      information) of an entry run together.
%
%  \sloppy  -- Used because it's rather hard to do line breaks in
%      bibliographies,
%
%  \sfcode`\.=1000\relax --
%      Causes a `.' (period) not to produce an end-of-sentence space.

\def\thebibliography#1{\def\section{\@startsection{section}{1}{\z@}{2\@bls
  plus 0.4\@bls}{\@bls}{\normalsize\bf}}
 \section*{References\markboth{References}{References}}
 \small \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}
 \leftmargin\labelwidth \advance\leftmargin\labelsep \itemsep 0pt
 \usecounter{enumi}}
 \def\newblock{\hskip 0.11em plus 0.33em minus -0.07em}
 \sloppy \hbadness=5000 \sfcode`\.=1000\relax}

\let\endthebibliography=\endlist

\def\@biblabel#1{[#1]\hfill}    % Produces the label for the \bibitem[...]
%                               % command.
% \def\@cite#1{[#1]}            % Produces the output of the \cite command.

% Collapse citation numbers to ranges.
%   - Non-numeric and undefined labels are handled.
%   - No sorting is done.
%     E.g., 1,3,2,3,4,5,foo,1,2,3,?,4,5   gives
%           1,3,2-5,foo,1-3,?,4,5

\newcount\@tempcntc
\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
 \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
  {\@ifundefined
   {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bf ?}\@warning
   {Citation `\@citeb' on page \thepage \space undefined}}%
  {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
   \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
    \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
   \else
    \advance\@tempcntb\@ne
    \ifnum\@tempcntb=\@tempcntc
    \else\advance\@tempcntb\m@ne\@citeo
    \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}

\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea\def\@citea{,}%
 \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
  {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{--}\fi
   \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}










%    ****************************************
%    *              THE INDEX               *
%    ****************************************
%
% The theindex environment produces double column format, with each
% paragraph a separate entry. The user commands \item, \subitem and
% \subsubitem are used to produce the entries, and \indexspace adds
% an extra vertical space that's the right size to put above the first
% entry with a new letter of the alphabet.

\newif\if@restonecol

\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
\columnseprule \z@
\columnsep 35pt\twocolumn[\section*{Index}]
    \@mkboth{INDEX}{INDEX}\thispagestyle{plain}\parindent\z@
    \parskip\z@ plus .3pt\relax\let\item\@idxitem}

\def\@idxitem{\par\hangindent 40pt}

\def\subitem{\par\hangindent 40pt \hspace*{20pt}}

\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}}

\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}

\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}










%    ****************************************
%    *             FOOTNOTES                *
%    ****************************************
%
% \footnoterule is a macro to draw the rule separating the footnotes from
% the text.  It should take zero vertical space, so it needs a negative
% skip to compensate for any positive space taken by the rule. (See
% PLAIN.TEX.)

% \def\footnoterule{\kern-3\p@
%   \hrule width .4\columnwidth
%   \kern 2.6\p@}                 % The \hrule has default height of 0.4pt.
\def\footnoterule{}

% \newcounter{footnote}
% \def\thefootnote{\arabic{footnote}}

% The numbering style (arabic, alph, etc.) for ordinary footnotes
% is defined by the macro \thefootnote.
%
%   \@makefntext{NOTE} :
%        Must produce the actual footnote, using \@thefnmark as the mark
%        of the footnote and NOTE as the text.  It is called when effectively
%        inside a \parbox of width \columnwidth (i.e., with \hsize =
%        \columnwidth).
%
%          \long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize
%             \advance\@tempdima-10pt\parshape \@ne 10pt \@tempdima}\par
%             \parindent 1em\noindent \hbox to \z@{\hss$^{\@thefnmark}$}#1}
%
%        A similar macro is used, in which the footnote text is
%        set like an ordinary text paragraph, with hanging indentation
%        on lines 2, 3,... of the footnote.

\long\def\@makefntext#1{\@setpar{\@@par\hangafter=0}
  \parindent 0em\noindent \hangindent=1.8em \hangafter=1
        \hbox to 1.8em{$^{\@thefnmark}$\hss}#1}

% \@makefnmark: a macro to generate the footnote marker that goes
% in the text. A thin space has been added to the default definition:
\def\@makefnmark{\,\hbox{$^{\@thefnmark}$}}










%    ****************************************
%    *         FIGURES AND TABLES           *
%    ****************************************
%
% Float placement parameters.  See LaTeX manual for their definition.
%
\setcounter{topnumber}{4}
\def\topfraction{0.95}
\setcounter{bottomnumber}{2}
\def\bottomfraction{0.9}
\setcounter{totalnumber}{6}
\def\textfraction{0.05}
\def\floatpagefraction{0.9}
\setcounter{dbltopnumber}{4}
\def\dbltopfraction{0.95}
\def\dblfloatpagefraction{0.9}

% Create two new boxes; the first one is used in the caption
% construction and the `keyword' environment, the other one
% is used in the `keyword' environment and in some other places.
%
\newbox\@tempboxb \newbox\@tempboxc

% \@make<TYPE>caption{NUMBER}{TEXT} : Macro to make a figure or table caption.
%      NUMBER : Figure or table number--e.g., 'Figure 3.2'
%      TEXT   : The caption text.
%  Macro should be called inside a \parbox of right width.
%
% The single command \@makecaption is replaced by two separate commands
% \@maketablecaption and \@makefigurecaption, since table and figure
% captions are different in visual appearance. The commands \table and
% \figure define the caption generator by \let'ting \@makecaption to one
% of these two new caption commands.
%
% \long\def\@makecaption#1#2{\vskip 10pt
%  \setbox\@tempboxa\hbox{#1: #2}
%  \ifdim \wd\@tempboxa>\hsize
%    #1: #2\par
%  \else
%    \hbox to\hsize{\hfil\box\@tempboxa\hfil}
%  \fi}

\long\def\@makefigurecaption#1#2{\setbox\@tempboxa\hbox{\small #1. #2}
 \ifdim \wd\@tempboxa>\hsize
%  \leftskip=0pt + 1fil \rightskip=0pt + -1fil \parfillskip=0pt + 2fil
         \small #1. #2\par
 \else
   \hbox to\hsize{\hfil\box\@tempboxa\hfil}
 \fi}

\long\def\@maketablecaption#1#2{\vskip 2ex \small
  \hbox to \hsize{\parbox[t]{\hsize}{#1 \\ #2}}}

% To define a float of type TYPE (e.g., TYPE = figure), the document style
% must define the following.
%
%  \fps@TYPE   : The default placement specifier for floats of type TYPE.
%
%  \ftype@TYPE : The type number for floats of type TYPE.  Each TYPE has
%                associated a unique positive TYPE NUMBER, which is a power
%                of two.  E.g., figures might have type number 1, tables type
%                number 2, programs type number 4, etc.
%
%  \ext@TYPE   : The file extension indicating the file on which the
%                contents list for float type TYPE is stored.  For example,
%                \ext@figure = 'lof'.
%
%  \fnum@TYPE  : A macro to generate the figure number for a caption.
%                For example, \fnum@TYPE == Figure \thefigure.
%
%  The actual float-making environment commands--e.g., the commands
%  \figure and \endfigure--are defined in terms of the macros \@float
%  and \end@float, which are described below.
%
%  \@float{TYPE}[PLACEMENT] : Macro to begin a float environment for a
%     single-column float of type TYPE with PLACEMENT as the placement
%     specifier.  The default value of PLACEMENT is defined by \fps@TYPE.
%     The environment is ended by \end@float.
%     E.g., \figure == \@float{figure}, \endfigure == \end@float.

% FIGURE

\newcounter{figure}
\def\thefigure{\@arabic\c@figure}
\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{Fig. \thefigure}
\def\figure{\let\@makecaption\@makefigurecaption
  \small \@float{figure}}
\let\endfigure\end@float
\@namedef{figure*}{\let\@makecaption\@makefigurecaption
  \small \@dblfloat{figure}}
\@namedef{endfigure*}{\end@dblfloat}

% TABLE
%
\newcounter{table}
\def\thetable{\@arabic\c@table}
\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{Table \thetable}
\def\table{\let\@makecaption\@maketablecaption
  \small \@float{table}}
\let\endtable\end@float
\@namedef{table*}{\let\@makecaption\@maketablecaption
  \small \@dblfloat{table}}
\@namedef{endtable*}{\end@dblfloat}










%    ******************************
%    *         TITLE PAGE         *
%    ******************************
%
%    The following part is new. It defines extra instructions to be
%    used for the title page running header and footer, and for the
%    title/author group.

\newcount\@copyear
\newcount\@pubyear   \@pubyear=\number\year
\newcount\@century   \@century=1900
\newcount\@firstpage \@firstpage=1
\newcount\@lastpage  \@lastpage=0

\def\runtitle#1{\def\@runtitle{#1}}   \def\@runtitle{}
\def\runauthor#1{\def\@runauthor{#1}} \def\@runauthor{}
\def\published#1{\def\@pubdate{#1} \@published[#1]}
\def\@published[#1 #2 #3]{\@pubyear=#3}
\def\journal#1{\def\@journal{#1}}
\def\@journal{Nuclear Physics B (Proc. Suppl.)}
\def\issn#1{\gdef\@issn{#1}}          \def\@issn{0920-5632}
\def\volume#1{\def\@volume{#1}}       \def\@volume{666}
\def\issue#1{\def\@issue{#1}}         \def\@issue{1}
\def\price#1{\def\@price{#1}}         \def\@price{03.50}
\def\firstpage#1{\@firstpage=#1 \@lastpage=#1 \c@page=#1}
\def\lastpage#1{\@lastpage=#1}

% \thanks generates footnote marks in the following elements:
%
% element   number style
% -------   ------------
% \title      \fnstar
% \author     \arabic
% \collab     \arabic
% \address    \arabic
%
% The following provides an extension to the section
% ENVIRONMENT COUNTER MACROS in latex.tex.
%
%     \fnstar{COUNTER}   : Representation of COUNTER by a series
%                          of asterisks. The number of asterisks
%                          equals the value of the counter.
%
%  THIS IS IMPLEMENTED IN TERMS OF:
%     \@fnstar\FOOcounter   : Representation of \FOOcounter as a series
%                             of asterisks.  Can be used only in math mode.

\def\fnstar#1{\@fnstar{\@nameuse{c@#1}}}
\def\@star{$\star$}
\def\@fnstar#1{\hbox{\ifcase#1\or \@star\or \@star\@star\or
\@star\@star\@star\or \else\@ctrerr\fi\relax}}

%      ************************************
%      *         BUILDING UP A BOX        *
%      ************************************
%
% \@newlist{BOX}{SIZE} ==
%   - allocate new \vbox BOX:
%   - put as first element in BOX an \hrule of wd = SIZE, ht = 0, dp = 0
%
% \@putbox{BOX}{LIST} ==
%   add BOX to LIST
%
% \@putglue{GLUE}{LIST} ==
%   add GLUE space to LIST

\def\@newlist#1{\newbox#1
  \global\setbox#1=\vbox{\hrule \@height\z@ \@depth\z@ \@width\textwidth}}

\def\@putbox#1#2{\global\setbox#2\vbox{\unvbox#2 \unvbox#1}}

\def\@putglue#1#2{\global\setbox#2\vbox{\unvbox#2 \vskip#1}}

\def\pl@raggedright{\rightskip\z@ plus 8em
 \parindent=0em \spaceskip.3333em \xspaceskip.5em}

%      ********************************
%      *         FRONT MATTER         *
%      ********************************
%
% The front matter consists of
%   - title
%   - author/address list
%   - history
%   - abstract
%   - list of keywords.
%
% \title ==
%   put title on page and add proper spacing;
%   this command resets the footnote counter to 0 at the
%   beginning and at the end of the title
%
% \author ==
%   put author(s) on page and add proper spacing;
%   the author and address commands use the footnote counter
%   without resetting it at either the beginning or the end --
%   that way the footnotes are numbered consecutively
%
% \collab ==
%   put collaboration on page and add proper spacing
%
% \address ==
%   put single address on page and add proper spacing
%
% \fmmargin   : horizontal distance from left margin to front matter
% \titlebox   : box to hold the title
% \authorbox  : box to hold the author(s)
% \abstractbox: box to hold the abstract
% \keywordbox : box to hold the keyword(s)

\newdimen\fmmargin \fmmargin=2em
\newdimen\fmwidth  \fmwidth=\textwidth \advance\fmwidth -\fmmargin
\@newlist\titlebox \@newlist\authorbox \@newlist\addressbox
\@newlist\historybox \@newlist\abstractbox \@newlist\keywordbox

\def\@titlethanks{\def\thefootnote{\fnstar{footnote}}}
\def\@authorthanks{\def\thefootnote{\arabic{footnote}}}

\def\title#1{\@putglue{2.0\baselineskip}\titlebox
  \gdef\thefootnote{\fnstar{footnote}}
  \setcounter{footnote}{0}
  \begingroup \def\protect{\noexpand\protect\noexpand}
    \xdef\@thanks{\@thanks \protect\@titlethanks} \endgroup
  \global\setbox\@tempboxc=\vbox{\hsize=\textwidth
  \leftskip\fmmargin \pl@raggedright \strut \uppercase{#1}\strut}
        \@putbox\@tempboxc\titlebox
  \setcounter{footnote}{0}}

\def\author#1{\@putglue{1.1\baselineskip}\authorbox
  \gdef\thefootnote{\arabic{footnote}}
  \begingroup \def\protect{\noexpand\protect\noexpand}
    \xdef\@thanks{\@thanks \protect\@authorthanks} \endgroup
  \global\setbox\@tempboxc=\vbox{\hsize=\textwidth
        \def\and{and}
        \leftskip\fmmargin \pl@raggedright \rm \strut #1\strut}
        \@putbox\@tempboxc\authorbox}

\def\address#1{\@putglue{0.7\baselineskip}\authorbox
  \gdef\thefootnote{\arabic{footnote}}
  \begingroup \def\protect{\noexpand\protect\noexpand}
    \xdef\@thanks{\@thanks \protect\@authorthanks} \endgroup
  \global\setbox\@tempboxc=\vbox{\hsize=\textwidth
  \leftskip\fmmargin \pl@raggedright\small\em \strut #1\strut}
        \@putbox\@tempboxc\authorbox}

\def\collab#1{\@putglue{1.1\baselineskip}\authorbox
  \gdef\thefootnote{\arabic{footnote}}
  \begingroup \def\protect{\noexpand\protect\noexpand}
    \xdef\@thanks{\@thanks \protect\@authorthanks} \endgroup
  \global\setbox\@tempboxc=\vbox{\hsize=\textwidth
  \leftskip\fmmargin \pl@raggedright \strut #1\strut}
        \@putbox\@tempboxc\authorbox}

\def\caddress#1{\@putglue{0.1\baselineskip}\authorbox
  \gdef\thefootnote{\arabic{footnote}}
  \begingroup \def\protect{\noexpand\protect\noexpand}
    \xdef\@thanks{\@thanks \protect\@authorthanks} \endgroup
  \global\setbox\@tempboxc=\vbox{\hsize=\textwidth
  \leftskip\fmmargin \pl@raggedright\small \strut #1\strut}
        \@putbox\@tempboxc\authorbox}

\def\and{\@putglue{1.1\baselineskip}\authorbox
  \global\setbox\@tempboxc=\vbox{\hsize=\textwidth \leftskip\fmmargin
        \noindent\rm \strut and} \@putbox\@tempboxc\authorbox}

\def\received#1{\gdef\r@ceived{#1}}
\def\revised#1{\gdef\r@vised{#1}}
\def\emptyd@te{\null}
\def\r@vised{\null}
\def\r@ceived{\null}










%      *****************************************
%      *         ADDRESSES ENVIRONMENT         *
%      *****************************************
%
% \addref{NAME} ==
%   refer to an address environment entry by the name NAME
%
% \addresses ==
%   environment to build a list of addresses.
%
% \additem[NAME] ==
%   produce a numbered entry referenced to as NAME.
%   Analoguous to \bibitem
%
% These commands use:
%   - a new counter `address'
%   - a length parameter \alwidth (address label width)

\@definecounter{address} \def\theaddress{\alphgr{address}}
\newdimen\alwidth \alwidth=0.7em

\def\addref#1{\@ifundefined{a@#1}{{\bf ??}\@warning
  {Reference `#1' on page \thepage \space undefined}}%
{\@addref{\@nameuse{a@#1}}}}

\def\@addref#1{\,\hbox{$^{\rm #1}$}}

\def\additem{\@ifnextchar [{\@additem}{\item[]}}

\def\@additem[#1]{\item
  \expandafter\xdef\csname a@#1\endcsname{\theaddress}}

\def\addresslabel#1{#1\hfil}
\def\addresses{\@putglue{0.2\baselineskip}\addressbox
  \gdef\thefootnote{\arabic{footnote}}
  \begingroup \def\protect{\noexpand\protect\noexpand}
    \xdef\@thanks{\@thanks \protect\@authorthanks} \endgroup
        \global\setbox\@tempboxc=\vbox\bgroup\hsize=\textwidth
  \begin{list}{${}^{\rm \theaddress}$}{\usecounter{address}
    \linewidth\textwidth \labelwidth\alwidth \labelsep\z@
    \leftmargin\labelwidth \advance\leftmargin\fmmargin
    \itemindent\z@ \topsep\z@ \parsep\z@ \itemsep\z@
    \let\makelabel\addresslabel \pl@raggedright \small\em}}

\def\endaddresses{\end{list}\strut\egroup \@putbox\@tempboxc\addressbox}










%      ****************************
%      *         ABSTRACT         *
%      ****************************

\def\abstract{\@putglue{0.5\baselineskip}\abstractbox
\global\setbox\@tempboxc=\vbox\bgroup\hsize=\textwidth
 \leftskip\fmmargin \rightskip\z@ \parindent=0em \small\rm}

\def\endabstract{\egroup        % end of box
 \@putbox\@tempboxc\abstractbox}% add it to \abstractbox

%    **************************************
%    *         KEYWORD ABSTRACT           *
%    **************************************
%
% Keyword abstracts do not occur in `Physics Letters B'.
% The environment `keyword' is now defined such that the series of
% keywords is gobbled without producing output.

\def\keyword#1{%                             % Start capturing the
\global\setbox\@tempboxc=\hbox\bgroup}       % list of keywords

\def\endkeyword{\egroup\relax}               % stop capturing text
%                                            % and relax.










%    *****************************
%    *         MAKETITLE         *
%    *****************************
%
% \maketitle ==
%   - define several elements for the running header and footer
%     of the copyright page
%
%   - put the following elements on the page, taking into account the
%     possibility of two-column mode with full-width front matter:
%     - title
%     - author(s) and address(es)
%     - history (dates), abstract and keywords
%
%   - initialize footnote mechanism for use in the text
%
% This command is radically different from the \maketitle command
% that is defined in the standard document styles.
% An important change can also be seen in the \thanks command.
% With calls to \thanks in \title{...} and \author{...} a list of
% \footnotetext commands is built up in the macro \@thanks.
% Calling \@thanks at the end of the generation of the front matter
% produces the thanks as footnotes at the bottom of the last page
% of the front matter, using the CURRENT footnote representation.
% If the footnote representation is the same for the entire matter,
% re-definitions must also be added to \@thanks.
%
% BEGIN
%  \@copyear :=G \@copyear - \@century
%   \begingroup
%     combine the history to a one-line \historybox
%     \@maketitle
%     \thispagestyle{copyright}
%     \@thanks
%   \endgroup
%  END

\def\maketitle{
% \@copyear :=G \@copyear - \@century
  \@copyear=\@pubyear \advance\@copyear-\@century
  \begingroup
  \@putglue{\baselineskip}\historybox
        \ifx\r@ceived\emptyd@te\else
    \global\setbox\@tempboxc=\vbox{\hsize=\textwidth
           \leftskip\fmmargin \pl@raggedright \small
               Received\space\r@ceived\strut} \@putbox\@tempboxc\historybox \fi
        \ifx\r@vised\emptyd@te\else
          \global\setbox\@tempboxc=\vbox{\hsize=\textwidth
      \leftskip\fmmargin \pl@raggedright \small
            Revised manuscript received\space\r@vised\strut}
    \@putbox\@tempboxc\historybox \fi
% combine \titlebox, \authorbox, \abstractbox and \historybox
  \global\setbox\titlebox=\vbox{\unvbox\titlebox\unvbox\authorbox
  \unvbox\addressbox\unvbox\historybox\unvbox\abstractbox}
% put front matter on page(s)
  \thispagestyle{copyright} \@maketitle \@thanks
  \endgroup
% page layout in two-column is allowed to be a bit loose
  \if@twocolumn \sloppy \tolerance=700 \vbadness=3000 \fi
  \gdef\thefootnote{\#\arabic{footnote}} \setcounter{footnote}{0}
  \let\maketitle\relax \let\@maketitle\relax
% \gdef\@thanks{}
  \let\thanks\relax}

% \@maketitle ==
%   unwrap box \titlebox, which now contains
%   title, author/address list, history, and abstract
\newdimen\@fmsize \newdimen\t@xtheight
\def\@maketitle{%
% prevent figures from going at top of page.
\global\@topnum\z@
% calculate vertical size of box \titlebox, including footnotes
\@fmsize=\dp\titlebox \advance\@fmsize by \ht\titlebox
\advance\@fmsize by \ht\footins \advance\@fmsize by \dp\footins
\t@xtheight=\textheight \advance\t@xtheight by -\splittopskip
% \while (size of \titlebox > \textheight - \splittopskip) \do
\@whiledim\@fmsize>\t@xtheight \do{%
% split off as much material as will fit on one page
  \global\setbox\@tempboxc=\vsplit\titlebox to \t@xtheight%
  \unvbox\@tempboxc%
% re-calculate vertical size of box \titlebox
  \@fmsize=\dp\titlebox \advance\@fmsize by \ht\titlebox}
  \advance\@fmsize by \ht\footins \advance\@fmsize by \dp\footins
% the remaining material should be less than one page
  \if@twocolumn \twocolumn[\unvbox\titlebox \vskip 2\dbltextfloatsep]
  \else \unvbox\titlebox \fi}










%    ****************************************
%    *            PAGE STYLES               *
%    ****************************************
%
% The page style 'foo' is defined by defining the command \ps@foo.  This
% command should make only local definitions.  There should be no stray
% spaces in the definition, since they could lead to mysterious extra
% spaces in the output.
%
% The \ps@... command defines the macros \@oddhead, \@oddfoot,
% \@evenhead, and \@evenfoot to define the running heads and
% feet---e.g., \@oddhead is the macro to produce the contents of the
% heading box for odd-numbered pages.  It is called inside an \hbox of
% width \textwidth.
%
% To make headings determined by the sectioning commands, the page style
% defines the commands \sectionmark, ... , where
% \sectionmark{TEXT} is called by \section to set a mark, and so on.
% The \...mark commands and the \...head macros are defined with the
% help of the following macros.  (All the \...mark commands should be
% initialized to no-ops.)
%
% MARKING CONVENTIONS:
% LaTeX extends TeX's \mark facility by producing two kinds of marks
% a 'left' and a 'right' mark, using the following commands:
%     \markboth{LEFT}{RIGHT} : Adds both marks.
%     \markright{RIGHT}      : Adds a 'right' mark.
%     \leftmark  : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot
%                  macro, gets the current 'left'  mark.  Works like TeX's
%                  \botmark command.
%     \rightmark : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot
%                  macro, gets the current 'right'  mark.  Works like TeX's
%                  \firstmark command.
% The marking commands work reasonably well for right marks 'numbered
% within' left marks--e.g., the left mark is changed by a \section command and
% the right mark is changed by a \subsection command.  However, it does
% produce somewhat anomalous results if two \bothmark's occur on the same page.
%
% Commands like \tableofcontents that should set the marks in some page styles
% use a \@mkboth command, which is \let by the pagestyle command (\ps@...)
% to \markboth for setting the heading or \@gobbletwo to do nothing.

\mark{{}{}}   % Initializes TeX's marks

% \ps@empty and \ps@plain defined in LATEX.TEX

% Definition of `headings' and `copyright' page styles

% \stbox creates an \hbox that consists of
% two \hbox'es put on top of each other
\def\stbox#1#2{\vtop{\hbox to \columnwidth{\strut #1}%
                     \hbox to \columnwidth{\strut #2}}}

\def\ps@headings{\let\@mkboth\@gobbletwo
\def\@oddhead{\small\hbox{} \hfil {\sl \@runauthor\space/\space\@runtitle}
  \hfil \llap{\thepage}}                      % Right running header
\def\@evenhead{\small\rlap{\thepage} \hfil {\sl
  \@runauthor\space/\space\@runtitle}\hfil\hbox{}}% Left running header
\def\@oddfoot{}                                   % Running footers
\def\@evenfoot{}                                  % are empty
\def\sectionmark##1{}   \def\subsectionmark##1{}}

\def\ps@copyright{\let\@mkboth\@gobbletwo
\def\@oddhead{\small \stbox{\@journal\space\@volume\space
  (\the\@pubyear)\space\the\@firstpage--\the\@lastpage
  \hfil}{North-Holland\hfil} \hfil \thepage}% Right running header
\def\@evenhead{\small \thepage \hfil \stbox{\hfil
  \@journal\space\@volume\space(\the\@pubyear)\space
  \the\@firstpage--\the\@lastpage}{\hfil North-Holland}}% Left running header
\def\@oddfoot{\small \@issn/\the\@copyear/\$\,\@price\space
        $\copyright$\,\the\@pubyear --
  Elsevier Science Publishers B.V. All rights reserved.
        \hfil \hbox{}}% Right running footer
\def\@evenfoot{\small \@issn/\the\@copyear/\$\,\@price\space
        $\copyright$\,\the\@pubyear --
  Elsevier Science Publishers B.V. All rights reserved.
        \hfil \hbox{}}% Left running footer
\def\sectionmark##1{} \def\subsectionmark##1{}}










%    ****************************************
%    *            MISCELLANEOUS             *
%    ****************************************
%
% DATE
\def\today{\number\day\space\ifcase\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi
  \space\number\year}
\edef\@pubdate{\today}

% NOTATION FOR NUCLIDES, VECTORS, AND OTHER THINGS
\def\nuc#1#2{\relax\ifmmode{}^{#1}{\rm #2}\else${}^{#1}$#2\fi}
\def\vec#1{\mbox{\boldmath$#1$\unboldmath}}
\def\eV{e\kern-0.12em V}
\def\MeV{M\eV} \def\keV{k\eV}
\def\half{{\textstyle {1\over2}}}
\def\threehalf{{\textstyle {3\over2}}}
\def\quart{{\textstyle {1\over4}}}

%    ****************************************
%    *           INITIALIZATION             *
%    ****************************************
%
% Default initializations

\ps@headings                      % 'headings' page style
\pagenumbering{arabic}            % Arabic page numbers
\flushbottom                      % both columns must have equal height
\hbadness=3000                    % Less fuss in reporting
\emergencystretch=1pc             % More stretch in paragraph breaking

