%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JHEP.CLS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This file is Copyright SISSA 1997, for preparing manuscripts in JHEP
%% style. It can be freely distributed, but not modified preserving the
%% name, even in similar forms.
%%
%% It was produced by F. Nesti as a (radical) modification of the class
%% file `article.cls' from distribution 960601 of LaTeX2e.
%%
%% For bugs, comments, suggestions email to nesti@sissa.it
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  ***:to do  **?:question  ...:to choose  XXX:to delete  ???:unknown %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{JHEP} [1997/2/05 v1.0 LaTeX document class (F. Nesti)]
\def\logo{\raisebox{-10.5\p@}{\hb@xt@85\p@{\special{psfile=logo.eps}\hfil}}}

\tracingonline=1
%%%%%%%%%%%%%%%%%%%%%%%%%%%% NEW SWITCHES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newif\if@preprint\@preprintfalse		% DEFAULT IS PUBLISHED
\newif\if@draft   \@draftfalse			% DEFAULT IS NOT DRAFT
\newif\if@hyper   \@hypertrue			% DEFAULT IS HYPER

%\newif\if@title\@titlefalse			%
\newif\if@author\@authorfalse			%
\newif\if@abstract\@abstractfalse		% FOR FRONTMATTER DECLARATIONS
\newif\if@keywords\@keywordsfalse		%
\newif\if@rece\@recefalse			%
\newif\if@publ\@publfalse			%

\newif\if@restonecol
\@twocolumnfalse

\if@compatibility
    \setlength\paperheight {297mm}%		% DEFAULT FOR LATEX209 IS a4
    \setlength\paperwidth  {210mm}%
\else						% CHOSE PAPER, BUT NOT IN DVI.
\DeclareOption{a4paper}
   {\setlength\paperheight {297mm}%
    \setlength\paperwidth  {210mm}}
\DeclareOption{a5paper}{\@OImess{}}              % IGNORED
\DeclareOption{b5paper}{\@OImess{}}              % IGNORED
\DeclareOption{letterpaper}
   {\setlength\paperheight {11in}%
    \setlength\paperwidth  {8.5in}}
\DeclareOption{legalpaper}
   {\setlength\paperheight {14in}%
    \setlength\paperwidth  {8.5in}}
\DeclareOption{executivepaper}
   {\setlength\paperheight {10.5in}%
    \setlength\paperwidth  {7.25in}}
\DeclareOption{landscape}{\@OImess{}}            % IGNORED
\fi

\newcommand\@ptsize{2}                          % DEFAULT SIZE IS 12 PT
\DeclareOption{preprint}{\@preprinttrue}
\DeclareOption{hyper}{\@hypertrue\renewcommand\@ptsize{2}}   % HYPER IS 12 PT
\DeclareOption{screen}{\@hypertrue\renewcommand\@ptsize{2}}  % HYPER IS 12 PT
\DeclareOption{nohyper}{\@hyperfalse\renewcommand\@ptsize{1}}% PAPER IS 11 PT
\DeclareOption{paper}{\@hyperfalse\renewcommand\@ptsize{1}}  % PAPER IS 11 PT
\DeclareOption{11pt}{\renewcommand\@ptsize{1}\ExecuteOptions{@FONT}}
\DeclareOption{12pt}{\renewcommand\@ptsize{2}\ExecuteOptions{@FONT}}
						% CHOSEN TO FREE MEMORY LATER.
\DeclareOption{@FONT}{\if@preprint\else         % IF PREPRINT ALLOW 11 OR 12
                        \if@hyper               % IF PUBLISHED: PRINTED IS 11PT
                        \renewcommand\@ptsize{2}{\@NFmess{12pt}}
                        \else                   % HYPER VERSION IS 12PT
                        \renewcommand\@ptsize{1}{\@NFmess{11pt}}
                        \fi\fi}
\if@compatibility\else                          % LATEX2.09 HAS NO 10PT 
\DeclareOption{10pt}{\@OImess{, set to appropriate 1\@ptsize pt}}
\fi                                             % AND HERE IT'S IGNORED
                        
\if@compatibility\else
\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}\fi
\DeclareOption{twoside}{\if@hyper\@OImess{ in hyper-mode}
			\else\@twosidetrue  \@mparswitchtrue\fi}

\DeclareOption{draft}{\setlength\overfullrule{5pt}% EXTENDED DRAFT
	\newcount\hour\newcount\minute
	\hour=\time \divide\hour by60 \minute=\time
	{\multiply\hour by60 \global\advance\minute by-\hour}
	\edef\militarytime{\number\hour:\ifnum\minute<10 0\fi\number\minute}
	\let\old@eqnnum\@eqnnum
	\def\@eqnnum{\old@eqnnum\rlap{\kern\marginparsep%
				\if@twoside\ifodd\c@page%
				\kern-2\marginparsep\kern-\textwidth%
				\llap\bgroup\else\bgroup\fi\else\bgroup\fi%
				\sf\scriptsize\@eqnlabel\egroup}%
				\gdef\@eqnlabel{}}
	\let\@eqnlabel\relax
	\def\math@note#1{\gdef\@eqnlabel{LAB: #1}}
	\def\norm@note#1#2{\special{}% SORRY AGAIN.
			 \ifinner{\ifdim\baselineskip=\z@% IN ARRAY..
					\baselineskip18\p@\fi%%
				\ifhmode%   ATTENTION TO RESTRICTED VMODE!
				\raisebox{.5\baselineskip}[\z@][\z@]{%
					\rlap{\sf\scriptsize #2}}%
				\else\vskip-\baselineskip%
				\raisebox{-.6\baselineskip}[\z@][\z@]{%
						\rlap{\sf\scriptsize #2}}%
				\fi}%
			 \else\marginpar{\raggedright\if@twoside\ifodd\c@page%
					\raggedleft\fi\fi\sf\scriptsize #1#2}%
			 \fi}%
	\AtBeginDocument{\newbox\drft@box\setbox\drft@box=\hbox{%
			\framebox[\textwidth]{\sf\small JHEP 1.0 DRAFT 
			\ttfamily(\cur@opt)\hfill\sf\bfseries\jobname\sf, 
			\today, \militarytime}}}
	\@drafttrue}

\if@compatibility\else
\DeclareOption{final}{\setlength\overfullrule{\z@}} % ***? NO FINAL?
\fi
\DeclareOption{titlepage}{\@OImess{}}            % IGNORED
\if@compatibility\else
\DeclareOption{notitlepage}{\@OImess{}}          % IGNORED
\fi
\if@compatibility\else
\DeclareOption{onecolumn}{\@OImess{}}		% IGNORED
\fi
\DeclareOption{twocolumn}{\@OImess{}}            % IGNORED
\DeclareOption{leqno}{\@OImess{}}	%\input{leqno.clo}} IGNORED ...
\DeclareOption{fleqn}{\@OImess{}}	%\input{fleqn.clo}} IGNORED ...
\DeclareOption{openbib}{\@OImess{}}              % IGNORED

%%%%%%%%%%%%%%%%%%%%%%%%%%%%% MESSAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\JHEP@mess[1]{\typeout{Class JHEP Message: \protect#1.}}%
\newcommand\JHEP@warn[1]{\ClassWarning{JHEP}{#1}}
\newcommand\JHEP@warnl[1]{\ClassWarningNoLine{JHEP}{#1}}
\newcommand\JHEP@igno[1]{\JHEP@warn{IGNORED \protect#1}}
\newcommand\JHEP@ignol[1]{\JHEP@warnl{IGNORED \protect#1}}
\newcommand\@OImess[1]{\JHEP@ignol{OPTION '\CurrentOption'#1}}
\newcommand\@NFmess[1]{\JHEP@mess{Normalsize set to #1}}
\newcommand\@ENVwarn[1]{\JHEP@warn{Please use \protect#1 in place 
						of LaTeX environment}}
%%%%%%%%%%%%%%%%%%%%%%%%%% PROCESS OPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ExecuteOptions{a4paper,oneside,hyper,final} %WERE ALSO 10pt,onecolumn
\ProcessOptions

%%%%%%%%%%%%%%%%%%%%%%%%%%%% START CODE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{size1\@ptsize.clo}
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\setlength\parskip{0\p@ \@plus \p@}
\@lowpenalty   51
\@medpenalty  151
\@highpenalty 301
\setcounter{topnumber}{2}
\renewcommand\topfraction{.7}
\setcounter{bottomnumber}{1}
\renewcommand\bottomfraction{.3}
\setcounter{totalnumber}{3}
\renewcommand\textfraction{.2}
\renewcommand\floatpagefraction{.5}
\setcounter{dbltopnumber}{2}
\renewcommand\dbltopfraction{.7}
\renewcommand\dblfloatpagefraction{.5}

\textwidth  .76\paperwidth	% WIDTH OF TEXT, REMAINS .24 FOR MARGINS
\textheight .78\paperheight	% HEIGHT OF TEXT INCLUDING FOOTNOTES,
\advance\textheight\topskip	% EXCLUDING HEAD (AND FOOT)

\topmargin \z@			% FROM TOP OF PAGE TO TOP OF HEADING (0=1inch)
\headheight  1\baselineskip	% HEIGHT OF HEADING BOX.
\headsep     2\baselineskip	% VERT. SPACE BETWEEN HEAD AND TEXT.
\voffset    -3\baselineskip	% TO KEEP VERTICALLY ALIGNED IN DRAFT.
\footskip  .06\paperheight	% FROM END OF TEX TO BASE OF FOOTER. (40pt)

\marginparsep 10\p@		% HOR. SPACE BETWEEN TEXT AND MARGINAL NOTE
\marginparpush 6\p@		% MIN. VERT. SPACE BETWEEN MARGINAL NOTES

\hoffset -1in				% TO ADJUST WITH PAPER:
\if@twoside				% IF TWO-SIDED:
	\oddsidemargin .12\paperwidth	% LEFT MARGIN FOR ODD PAGES (10)
	\evensidemargin .13\paperwidth	% LEFT MARGIN FOR EVEN PAGES (30)
	\marginparwidth .1\paperwidth	% TEXTWIDTH OF MARGINALNOTES
	\reversemarginpar		% CAUSE OF TITLEPAGE
\else					% IF ONE-SIDED:
	\oddsidemargin .12\paperwidth	% LEFT MARGIN FOR ODD PAGES (20)
	\evensidemargin .12\paperwidth	% LEFT MARGIN FOR EVEN PAGES (20)
	\marginparwidth .11\paperwidth	% TEXTWIDTH OF MARGINALNOTES
\fi					%
%\if@draft
%	\marginparwidth .11\paperwidth	% IN DRAFMODE ...
%\fi

%%%%%%%%%%%%%%%%%%%%%%% HYPER (AND DRAFT) STUFF %%%%%%%%%%%%%%%%%%%%%%%
%\let\textref\@gobble
\if@hyper			% IF NOHYPER WE DO LESS DAMAGE AS POSSIBLE.***
\bgroup\catcode`\#=12\gdef\hash{#}\egroup	% DEFINED \hash=# ONLY HYPER?
\fi
\def\H@tilde{\string~}
\newcommand{\href}[2]{\if@hyper\bgroup\let~\H@tilde\xdef\@pippo{#1}\egroup%
			\noexpand\special{html:<a href="\@pippo">}\fi%
			{#2}\if@hyper\special{html:</a>}\fi}
\newcommand{\name}[1]{\if@hyper\noexpand\special% NAME HAS NO TAGGED TEXT HERE.
			{html:<a name="#1">}\special{html:</a>}\fi}
\newcommand{\base}[1]{\noexpand\special% BASE HAS NO TAGGED TEXT.
			{html:<base href="#1">}}
% HEPTH's: \hepth9600815 OR \hepth{9600815}? Then babbage or xxx? ...
\newcommand{\hepth}[7]{%
   \href{http://xxx.lanl.gov/abs/hep-th/#1#2#3#4#5#6#7}{hep-th/#1#2#3#4#5#6#7}}
\newcommand{\hepph}[7]{%
   \href{http://xxx.lanl.gov/abs/hep-ph/#1#2#3#4#5#6#7}{hep-th/#1#2#3#4#5#6#7}}
\newcommand{\qalg}[7]{%
   \href{http://xxx.lanl.gov/abs/q-alg/#1#2#3#4#5#6#7}{hep-th/#1#2#3#4#5#6#7}}
\newcommand{\textref}[2]{\vrule height \z@ width \z@\href{\hash ref-#1}{#2}}
%------------------------------------------------------------------%
% SECTION TAGS
\if@hyper
\renewcommand{\@seccntformat}[1]{\name{sec\csname the#1\endcsname}%
				\csname the#1\endcsname\hspace{1ex}}
% THEIR REFERENCE IN TOC
\renewcommand{\numberline}[1]{\hb@xt@\@tempdima{\href{\hash\hyp@typ#1}{#1}%
			      \hfil}}
\fi
%------------------------------------------------------------------%
% CITATION TAGS ARE TOGETHER WITH BIB STUFF.
% CITATION HREF
\def\@citex[#1]#2{%			% UNFORTUNATELY REDEFINED!!!!
  \let\@citea\@empty
  \@cite{\@for\@citeb:=#2\do
    {\@citea\def\@citea{,\penalty\@m\ }%
     \edef\@citeb{\expandafter\@firstofone\@citeb}%
     \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
     \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}%
       \G@refundefinedtrue
       \@latex@warning
         {Citation `\@citeb' on page \thepage \space undefined}}%
       {\edef\tmp@bn{\csname b@\@citeb\endcsname}%
	\hbox{\href{\hash bib\tmp@bn}{\tmp@bn}}}}}{#1}%		% **HYPER**
	\if@draft\norm@note{CIT: }{#2}\fi			% **DRAFT**
	}
%-----------------------------------------------------------------%
% LABEL, REF AND PAGEREF, COMPATIBLE:
\let\old@label\label					% OLD LATEX COMMAND.
\renewcommand{\label}[1]{\name{ref-#1}%			% LABEL IN HYPER TAG.
			 \old@label{#1}%		% 
			 \if@draft%			% DRAFT:
			 \ifmmode\math@note{#1}%
			 \else\norm@note{}{LAB: #1}\fi%
			 \fi%
			 }
\if@hyper
\let\old@ref\ref					% OLD LATEX COMMAND.
\renewcommand{\ref}[1]{\@ifundefined{r@#1}{%
		\nfss@text{\reset@font\bfseries ??}}{{%
		\href{\hash ref-#1}{\old@ref{#1}}}}}	% LABEL INSIDE HREF.
\fi
\let\old@pageref\pageref				% OLD LATEX COMMAND.
\renewcommand{\pageref}[1]{\@ifundefined{r@#1}{}{{%
		\edef\tmp@ref{\noexpand\@secondoftwo\csname r@#1\endcsname}%
		\href{\hash pag\tmp@ref}{\old@pageref{#1}}}}}
%------------------------------------------------------------------%
%%%%%%%%%%%%%%%%%%%%%%%%%% END HYPER-STUFF %%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%% JHEP HEADINGS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\ps@JHEP{%
    \def\@oddfoot{\hfil\thepage\hfil}
    \if@draft\edef\cur@opt{\@curroptions}\fi
    \def\@oddhead{\name{pag\thepage}\hfil\if@draft\copy\drft@box\fi}
    \if@twoside\let\@evenhead\@oddhead\fi
    \let\@mkboth\@gobbletwo
    \let\sectionmark\@gobble
    \let\subsectionmark\@gobble
	}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TITLE PAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\maketitle{\JHEP@ignol{\maketitle}}
\newcommand\auto@maketitle{\begingroup
    \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}%
    \let\footnote\thanks%
	\newpage
	\@maketitle				% CALL ACTUAL FORMATTING
	\@thanks%				% TITLE THANKS
	\let\@evenfoot\@empty			% NO PAGENO.
 	\let\@oddfoot\@empty
	\setcounter{page}\z@
	\newpage				% FINE PAGINA
  \endgroup
  \setcounter{footnote}{0}%			%
	\if@hyper				% IF HYPER THEN MAKE TOC.
	\noindent\rule\textwidth{.1pt}
	\vskip 2em
	\tableofcontents			% 
	\vskip 2em
	\noindent\rule\textwidth{.1pt}
	\vskip 2em\fi
	\if@preprint\else
		\gdef\tableofcontents{\JHEP@ign{\tableofcontents is automatic}}
	\fi
  \global\let\thanks\relax
%  \global\let\maketitle\relax			% NO LONGER EXISTS.
  \global\let\@maketitle\relax			%
  \global\let\@thanks\@empty			%
  \global\let\@author\@empty			% KILL ALL 
  \global\let\@date\@empty			%
  \global\let\@title\@empty			%
  \global\let\@abstract\@empty			%
  \global\let\title\relax			%
  \global\let\author\relax			%
  \global\let\date\relax			%
  \global\let\and\relax				%
  \global\let\email\relax
  \global\let\received\relax
  \global\let\published\relax
  \global\let\keywords\relax
  \global\let\endkeywords\relax
}
%%%%%%%%%%%%%%%%%%%%%%%%%% ACTUAL TITLEPAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\@maketitle{%				% PAGE IS FLUSHED LEFT
\begin{flushleft}%				% PAY ATTENTION TO \par'S
\if@preprint					%
  \vskip-7em					% PREPRINT HEADER: 
  \underline{\tiny Preprint typeset 		%
		in JHEP style. -		%
  		\if@hyper{HYPER VERSION}	%
		\else{PAPER VERSION}\fi } 	%
  \normalsize\hfill%				% *** MAYBE PUT IN A ZERO BOX
  \begin{tabular}[t]{l}\@preprint\end{tabular}% % PREPRINT NUMBERS
\else						% PUBLISHED: INCLUDE LOGO ETC..
  \vskip-7em\hfill\unhbox\rece@box\unhbox\publ@box
  \vskip-.7\baselineskip\logo\hrulefill
  \vskip-.5\baselineskip\hskip23\p@%	% *** IDEM BOXIZE
		{\tiny \if@hyper{HYPER VERSION}\else{PAPER VERSION}\fi}
\fi\null
    \vskip 1em plus .4fil			% V. SPACE BEFORE TITLE
	{\LARGE	\sffamily			% TITLE: large sans-serif
	\bfseries	 			% IF PAPER VERSION => BOLDFACE?
	\if@hyper\else\huge\fi			% IF PAPER => LARGE
	\@title\par}				%
    \vskip 1em plus .05fil			%
    \rule\textwidth{1.5\p@}			% RULE
    \vskip 1.3em plus .05fil			%   (symmetric is 1em)
	{\normalsize	\bfseries		%
			\sffamily		% AUTHORS\\ADDRESSES
	\@author \par}				%
    \vskip 2em plus 0.05fil			%
	\parbox{\textwidth}{\unhbox\abstract@box}% ABSTRACT IF PRESENT (SHOULD)
    \vskip 2em plus 1em%
	\par					%
    \unhbox\keywords@box			% KEYWORDS IF PRESENT
	\par
    \vskip\baselineskip
	\dedic@box
  \end{flushleft}%				%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%% STANDARD STUFF %%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setcounter{secnumdepth}{3}
\newcounter {part}
\newcounter {section}
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
\newcounter {subparagraph}[paragraph]
\renewcommand\thepart         {\@Roman\c@part}
\renewcommand\thesection      {\@arabic\c@section}
\renewcommand\thesubsection   {\thesection.\@arabic\c@subsection}
\renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection}
\renewcommand\theparagraph    {\thesubsubsection.\@arabic\c@paragraph}
\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION FORMATS %%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\secstyle{\bfseries}

\newcommand\part{\par
   \addvspace{4ex}%
   \@afterindentfalse
   \secdef\@part\@spart}

\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >\m@ne
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    {\parindent \z@ \raggedright
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >\m@ne
       \Large\bfseries \partname~\thepart
       \par\nobreak
     \fi
     \huge \bfseries #2%
     \markboth{}{}\par}%
    \nobreak
    \vskip 3ex
    \@afterheading}
\def\@spart#1{%
    {\parindent \z@ \raggedright
     \interlinepenalty \@M
     \normalfont
     \huge \bfseries #1\par}%
     \nobreak
     \vskip 3ex
     \@afterheading}

\newcommand\section{\@startsection{section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\normalfont\large\secstyle}}
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
                                     {1.5ex \@plus .2ex}%
                                     {\normalfont\normalsize\secstyle}}
\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
                                     {1.5ex \@plus .2ex}%
                                     {\normalfont\normalsize\secstyle}}
\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
                                    {3.25ex \@plus1ex \@minus.2ex}%
                                    {-1em}%
                                    {\normalfont\normalsize\bfseries}}
\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
                                     {3.25ex \@plus1ex \@minus .2ex}%
                                     {-1em}%
                                     {\normalfont\normalsize\bfseries}}

% ---- turnaround for sections with figures ------ %
\def\bef@sec{\iffigprocessing\JHEP@warnl{Floating figure \the\ffigcount\space
						and startsection colliding}\fi
	     \iftabprocessing\JHEP@warnl{Floating table \the\ftabcount\space
						and startsection colliding}\fi
	     \edef\bef@everypar{\the\everypar}}	% HACK FOR FLOATS AND \everypar
\def\aft@sec{\edef\tmp@everypar{\the\everypar}% DELETED CLUBPENALTY, BELOW.
	     \everypar\expandafter{\bef@everypar{\tmp@everypar}}}% RESTORE.
\let\old@sec\section				%
\let\old@ssec\subsection			%
\let\old@sssec\subsubsection			% OLD SECTIONING COMMANDS.
\let\old@par\paragraph				%
\let\old@spar\subparagraph			%
% ------- new forms ------- %
\renewcommand{\section}{\secdef\JHEP@sec\JHEP@secs}
\renewcommand{\subsection}{\secdef\JHEP@ssec\JHEP@ssecs}
\renewcommand{\subsubsection}{\secdef\JHEP@sssec\JHEP@sssecs}
\renewcommand{\paragraph}{\secdef\JHEP@par\JHEP@pars}
\renewcommand{\subparagraph}{\secdef\JHEP@spar\JHEP@spars}
% ---- unstarred forms ---- %
\def\JHEP@sec[#1]#2{\bef@sec\old@sec[#1]{#2}\aft@sec}
\def\JHEP@ssec[#1]#2{\bef@sec\old@ssec[#1]{#2}\aft@sec}
\def\JHEP@sssec[#1]#2{\bef@sec\old@sssec[#1]{#2}\aft@sec}
\def\JHEP@par[#1]#2{\bef@sec\old@par[#1]{#2}\aft@sec}
\def\JHEP@spar[#1]#2{\bef@sec\old@spar[#1]{#2}\aft@sec}
% ----- starred forms ----- %
\def\JHEP@secs#1{\bef@sec\old@sec*{#1}\aft@sec}
\def\JHEP@ssecs#1{\bef@sec\old@ssec*{#1}\aft@sec}
\def\JHEP@sssecs#1{\bef@sec\old@sssec*{#1}\aft@sec}
\def\JHEP@pars#1{\bef@sec\old@par*{#1}\aft@sec}
\def\JHEP@spars#1{\bef@sec\old@spar*{#1}\aft@sec}
% ----- end hack for sections with floats --------%

%\if@twocolumn
%  \setlength\leftmargini  {2em}
%\else
  \setlength\leftmargini  {2.5em}
%\fi
\leftmargin  \leftmargini
\setlength\leftmarginii  {2.2em}
\setlength\leftmarginiii {1.87em}
\setlength\leftmarginiv  {1.7em}
  \setlength\leftmarginv  {1em}
  \setlength\leftmarginvi {1em}
\setlength  \labelsep  {.5em}
\setlength  \labelwidth{\leftmargini}
\addtolength\labelwidth{-\labelsep}
\@beginparpenalty -\@lowpenalty
\@endparpenalty   -\@lowpenalty
\@itempenalty     -\@lowpenalty
\renewcommand\theenumi{\@arabic\c@enumi}
\renewcommand\theenumii{\@alph\c@enumii}
\renewcommand\theenumiii{\@roman\c@enumiii}
\renewcommand\theenumiv{\@Alph\c@enumiv}
\newcommand\labelenumi{\theenumi.}
\newcommand\labelenumii{(\theenumii)}
\newcommand\labelenumiii{\theenumiii.}
\newcommand\labelenumiv{\theenumiv.}
\renewcommand\p@enumii{\theenumi}
\renewcommand\p@enumiii{\theenumi(\theenumii)}
\renewcommand\p@enumiv{\p@enumiii\theenumiii}
\newcommand\labelitemi{$\m@th\bullet$}
\newcommand\labelitemii{\normalfont\bfseries --}
\newcommand\labelitemiii{$\m@th\ast$}
\newcommand\labelitemiv{$\m@th\cdot$}
\newenvironment{description}
               {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                        \let\makelabel\descriptionlabel}}
               {\endlist}
\newcommand*\descriptionlabel[1]{\hspace\labelsep
                                \normalfont\bfseries #1}
%%%%%%%%%%%%%%%%%%%%%%%%%% AUTHORS/ADDRESSES %%%%%%%%%%%%%%%%%%%%%%%%%%
\newtoks\prev@t
\newtoks\cur@t
\renewcommand\@author{%					% FIRST AUTHOR.
		\def\\{\par\egroup\vskip1ex\hskip1em%	% FIRST TIME \\=>ADDR.
		       \vbox\bgroup\hsize=.9\textwidth%	%
		       \let\\\par\small\it\raggedright}%% STYLE FOR ADDRESSES
			}
\renewcommand\author[1]{\global\@authortrue
		\prev@t=\expandafter{\@author}		% TWO TOKEN LISTS.
                \cur@t={\bgroup #1 \egroup\par\vskip1ex}% ACTUAL AUTH.\\ADD.
                \long\xdef\@author{\the\prev@t\the\cur@t}
		}					% STORE ALL IN \@AUTHOR
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% RECEIVED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newbox\rece@box
\newcommand\received[1]{\global\setbox\rece@box\hbox{\small
			{\scshape\receivedname} \itshape #1, }\@recetrue}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PUBLISHED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newbox\publ@box
\newcommand\published[1]{\global\setbox\publ@box\hbox{\small
			 {\scshape\publishedname} \itshape #1}\@publtrue}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEDICATED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\dedic@box{\relax}
\newcommand\dedicated[1]{\gdef\dedic@box{\vbox{\small\it\raggedleft #1}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%% ACKNOWELEDGMENTS %%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\acknowledgments{\section*{\acknowelname}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EMAIL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\email[1]{{\tt\href{mailto:#1}{#1}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PREPRINT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\preprint[1]{\long\gdef\@preprint{#1}} 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newbox\abstract@box%			% VBOX FOR WHOLE ABSTRACT
\newcommand{\abstract}[1]%		% ABSTR. IN NORMALSIZE
	{\global\setbox\abstract@box=\hbox{\noindent{\scshape
	\abstractname}\ \ignorespaces #1}\global\@abstracttrue}
%\newenvironment{abstract}%		% ABSTR. ENV. IN NORMALSIZE
%	{\global\setbox\abstract@box=\hbox\bgroup\noindent{\scshape
%	\abstractname}\ \ignorespaces}
%	{\egroup\global\@abstracttrue}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% KEYWORDS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newbox\keywords@box%                   % BOX FOR WHOLE KEYWORDS
\newcommand\keywords[1]{\global\setbox\keywords@box\hbox{\noindent
	{\scshape\keywordsname}
	\href{http://jhep.sissa.it/JOURNAL/kywrds.html}{#1}.}
	\global\@keywordstrue}
%%%%%%%%%%%%%%%%%%%%%%%%%% OTHER ENVIRONMENTS %%%%%%%%%%%%%%%%%%%%%%%%%
\newenvironment{verse}
               {\let\\\@centercr
                \list{}{\itemsep      \z@
                        \itemindent   -1.5em%
                        \listparindent\itemindent
                        \rightmargin  \leftmargin
                        \advance\leftmargin 1.5em}%
                \item\relax}
               {\endlist}
\newenvironment{quotation}
               {\list{}{\listparindent 1.5em%
                        \itemindent    \listparindent
                        \rightmargin   \leftmargin
                        \parsep        \z@ \@plus\p@}%
                \item\relax}
               {\endlist}
\newenvironment{quote}
               {\list{}{\rightmargin\leftmargin}%
                \item\relax}
               {\endlist}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% APPENDIX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\appendix{\par
  \setcounter{section}{0}%
  \setcounter{subsection}{0}%
  \renewcommand\thesection{\@Alph\c@section}}

%%%%%%%%%%%%%%%%%%%%%%%%%%% SOME MORE LENGHTS %%%%%%%%%%%%%%%%%%%%%%%%%
\setlength\arraycolsep{5\p@}
\setlength\tabcolsep{6\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
\setlength\tabbingsep{\labelsep}
\skip\@mpfootins = \skip\footins
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% THE EQUATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand\theequation{\thesection.\@arabic\c@equation}

%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIGURES, TABLES %%%%%%%%%%%%%%%%%%%%%%%%%%
\newcounter{figure}
\renewcommand\thefigure{\@arabic\c@figure}
\def\fps@figure{Htbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figurename~\thefigure}
\newenvironment{figure}
               {\@ENVwarn{\FIGURE{...}}\@float{figure}}
               {\end@float}
\newenvironment{figure*}
               {\@ENVwarn{\FIGURE{...}}\@dblfloat{figure}}
               {\end@dblfloat}
\newcounter{table}
\renewcommand\thetable{\@arabic\c@table}
\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{\tablename~\thetable}
\newenvironment{table}
               {\@ENVwarn{\TABLE{...}}\@float{table}}
               {\end@float}
\newenvironment{table*}
               {\@ENVwarn{\TABLE{...}}\@dblfloat{table}}
               {\end@dblfloat}
%%-----------------------------------------------------------------%%
\newcommand{\FIGURE}[2][v]{\begin{floatingfigure}[#1]#2
                                        \end{floatingfigure}}
\newcommand{\TABLE}[2][v]{\begin{floatingtable}[#1]{#2}
                                        \end{floatingtable}}
\newcommand{\EPSFIGURE}[3][v]{\begin{floatingfigure}[#1]\epsfig{file=#2}
                                        \caption{#3}\end{floatingfigure}}
\newcommand{\TABULAR}[4][v]{\begin{floatingtable}[#1]{\begin{tabular}{#2}
					#3\end{tabular}}\caption{#4}
                                        \end{floatingtable}}
%%%%%%---------------- FROM FLOATFLT PACKAGE ------------------%%%%%%%%
%% Original file `floatflt.sty', modified by F.Nesti <nesti@sissa.it> to:
%% be inserted in JHEP JHEP.cls;
%% correct float placement when shifting past pages;
%% correct incompatibility with \marginpar;
%% correct incompatibility with \@startsection;
%% let float also at beginning of pages; 
%% avoid the widht specification.
%% 
%% Original was 1994-1996 by Mats Dahlgren <matsd@physchem.kth.se>. 
%% 
%%%%%%%%\NeedsTeXFormat{LaTeX2e}[1994/06/01]		%LEFT THIS STUFF TO 
%%%%%%%%\ProvidesPackage{floatflt}[1996/02/27 v. 1.3]	%RECONVERT TO PACKAGE.
\newcounter{OptionTest}
\if@twoside
 \setcounter{OptionTest}{0}
\else							% POS: 2side=p/1side=r
 \setcounter{OptionTest}{1}
\fi
%%%%%%%%\DeclareOption{rflt}{\setcounter{OptionTest}{1}}
%%%%%%%%\DeclareOption{lflt}{\setcounter{OptionTest}{2}} % CHOSEN.
%%%%%%%%\DeclareOption{vflt}{\setcounter{OptionTest}{0}}
%%%%%%%%\DeclareOption*{\OptionNotUsed}
%%%%%%%%\ProcessOptions
\newbox\@tmpbox
\newbox\figbox
\newbox\tabbox
\newbox\pagebox
\newcount\ffigcount
\newcount\ftabcount
\newcount\hangcount
\newcount\nosuccesstryfig
\newcount\nosuccesstrytab
\newdimen\figgutter   \figgutter=1truepc
\newdimen\tabgutter   \tabgutter=1truepc
\newdimen\fl@wd
\newdimen\fl@ht
%\newdimen\fl@gut
\newdimen\htdone      \htdone=\z@
\newdimen\pageht
\newdimen\startpageht
\newdimen\floatfltwidth
\newdimen\fltitemwidth
\newif\iftryingfig     \tryingfigfalse
\newif\iftryingtab     \tryingtabfalse
\newif\ifdoingfig      \doingfigfalse
\newif\ifdoingtab      \doingtabfalse
\newif\iffigprocessing \figprocessingfalse
\newif\iftabprocessing \tabprocessingfalse
\newif\ifpageafterfig  \pageafterfigfalse
\newif\ifpageaftertab  \pageaftertabfalse
\newif\ifoddpages
\newif\ifoutput
\newtoks\outputpretest
\def\@captype{}
%%---------------- ORRIBLE HACKS, SORRY -------------------------%%
\let\old@marginpar\marginpar				% 
\renewcommand\marginpar[1]{{\outputpretest={\outputtrue}% REDEF \marginpar.
			    \old@marginpar{#1}}}	%
\def\g@addto#1#2{{\toks@\expandafter{#1#2}%
		  \xdef#1{\the\toks@}}}%
\def\postpone@captions{%			%
%	\global\let\tmp@label\label		% REDEF \caption AND 
	\global\let\tmp@caption\caption		% \label, LATER.
	\global\let\later@capt\relax		% UN PO' PESANTI 
	\gdef\later@label{}			% MA D'ALTRONDE...
	\renewcommand\caption[1]{\gdef\later@capt{\tmp@caption{##1}}}% LOCAL!!
	\renewcommand\label[1]{\name{ref-##1}%	% TAG WHERE CALLED, AT LEAST,
			       \if@draft\norm@note{}{LAB: ##1}\fi% & DRAFTNOTE.
			       \g@addto\later@label{\old@label{##1}}}%
			}
\AtEndDocument{\iftryingfig\JHEP@warnl{Floating figure \the\ffigcount\space
					remains undone}\fi
		\iftryingtab\JHEP@warnl{Floating table \the\ftabcount\space
					remains undone}\fi}
%%----------------- FIGURE ---------------------------------------%%
\newenvironment{floatingfigure}[1][v]%
{\@tfor \@tempa :=#1\do {\xdef\@fside{\@tempa}}%
 \global\advance\ffigcount by 1%
 \iffigprocessing {\count0=\ffigcount\advance\count0 by -1%
   		   \JHEP@warnl{Floating figures \the\count0\space\space and
       			\the\ffigcount\space colliding}}\fi
 \iftabprocessing  \JHEP@warnl{Floating table \the\ftabcount\space and 
			floating figure \the\ffigcount\space colliding}\fi
 \postpone@captions
 \global\setbox\@tmpbox=\hbox\bgroup% begin of figbox %HBOX FOR AUTO WIDTH!
}
{%
\egroup%				% CALCULATE WIDTH (NO CAPTION FOR NOW)
\global\setlength{\floatfltwidth}{\the\wd\@tmpbox}%
\ifdim\floatfltwidth<.6\textwidth%	% IF NOT TOO WIDE OK:
 \global\setbox\figbox=\vbox{\hsize=\floatfltwidth
			     \def\@captype{figure}%
			     \noindent\unhbox\@tmpbox
			     \later@capt\later@label}%
 \global\figprocessingtrue
 \global\everypar={\tryfig\oldeverypar}% must be set globally!
 \figinsert\par
\else%					% ELSE NORMAL LATEX FIGURE, SIGH.
 \JHEP@mess{Floating figure \the\ffigcount\space is 
			wide becomes a LaTeX float}%
 \@float{figure}[ht]\center\unhbox\@tmpbox\later@capt\later@label\end@float
\fi%
}
%%------------ TABLE ----------------------------------------------%%
\newenvironment{floatingtable}[1][v]%
{\@tfor \@tempa :=#1\do {\global\edef\@tside{\@tempa}}%
 \global\advance\ftabcount by 1%
 \iftabprocessing {\count0=\ftabcount\advance\count0 by -1%
     		   \JHEP@warnl{Floating tables \the\count0\space
            		\space and \the\ftabcount \space colliding}}\fi
 \iffigprocessing  \JHEP@warnl{Floating figure \the\ffigcount\space and 
			floating table \the\ftabcount\space colliding}\fi
 \postpone@captions
 \global\setbox\@tmpbox=\hbox\bgroup% begin of tabbox, ACTUALLY AN HBOX.
}
{%
\egroup% end of \tabbox, 		% ACTUALLY \@tmpbox
\global\setlength{\floatfltwidth}{\the\wd\@tmpbox}%
\ifdim\floatfltwidth<.6\textwidth%	% IF NOT TOO WIDE OK:
  \global\setbox\tabbox=\vbox{\hsize=\floatfltwidth
			     \def\@captype{table}%
			     \noindent\unhbox\@tmpbox
			     \later@capt\later@label}%
  \global\tabprocessingtrue
  \global\everypar={\trytab\oldeverypar}%
  \tabinsert\par%
\else%					% ELSE NORMAL LATEX FIGURE.
  \JHEP@mess{Floating table \the\ftabcount\space is 
			wide becomes a LaTeX float}%
  \@float{table}[ht]\center\unhbox\@tmpbox\later@capt\later@label\end@float%
\fi%
}
%----------- prepare for tries ----------------------------%
\def\figinsert{%
   \global\nosuccesstryfig=0%
   \global\outputpretest={\do@test}%
   \global\tryingfigtrue \global\doingfigfalse%
   \global\pageafterfigfalse}%
\def\tabinsert{%
   \global\nosuccesstrytab=0%
   \global\outputpretest={\do@test}%
   \global\tryingtabtrue \global\doingtabfalse%
   \global\pageaftertabfalse}%
%----------- init -----------------------------------------%
\AtBeginDocument{%
 \edef\oldoutput{\the\output}
 \output={\the\outputpretest\ifoutput\oldoutput\fi}%
 \outputpretest={\outputtrue}%
 \edef\oldeverypar{\the\everypar}% PERCHE' NESSUNO LO RIMETTE PIU' A POSTO?***
}
%---- tests during \outputpretest -------------------------%
\def\do@test{%
   \ifnum\outputpenalty=-10005
     \setbox\pagebox=\vbox{\unvbox255}%
     \global\pageht=\ht\pagebox
     \global\outputfalse
     \unvbox\pagebox
     \dimen0=\pageht\advance\dimen0 by 2 \baselineskip
     \ifdim\dimen0>\vsize\newpage\global\pageht\z@\fi
   \else
     \global\outputtrue
     \ifnum\outputpenalty>-\@Mi			% \marginpar's give penalties.
	\ifdoingtab\global\pageaftertabtrue\fi
	\ifdoingfig\global\pageafterfigtrue\fi
     \fi
   \fi}%
%-------- check for side ----------------------------------%
\def\chk@side#1{% DEFINED \fl@sid, BUT IF CHOSEN A DEFAULT, ELIMINATE ALL ***
	{\edef\fl@sid{#1}%
	  \if\fl@sid r\global\oddpagestrue\fi
          \if\fl@sid l\global\oddpagesfalse\fi
          \if\fl@sid p%
              \ifodd\c@page\global\oddpagesfalse
                \else\global\oddpagestrue\fi
          \fi
          \if\fl@sid v%
             \ifnum\theOptionTest=0%
                 \ifodd\c@page\global\oddpagesfalse
                   \else\global\oddpagestrue\fi
             \else
                  \ifodd\theOptionTest\global\oddpagestrue
                    \else\global\oddpagesfalse\fi
             \fi
          \fi
         }}%
%-------- get point in page -------------------------------%
\def\get@pageht{{\everypar={\relax}\setbox0=\lastbox
       		\parindent=\wd0 \parskip=\z@ \par
         	\penalty-10005 \leavevmode}}%
%-------- try at everypar ---------------------------------%
\def\tryfig{%
	\global\fl@ht\ht\figbox
	\global\fl@wd\wd\figbox
	\global\let\fl@gut\figgutter
      \iftryingfig
	\get@pageht
	\dimen0=\vsize
	\advance\dimen0 by -\pageht
	\advance\dimen0 by -2\baselineskip
	\ifdim\dimen0>\fl@ht
	  \chk@side\@fside
	  \dimen0=0.3\baselineskip
	  \vrule depth \dimen0 width \z@%height 1.5\baselineskip
	  \vadjust{\kern -\dimen0
	  \vtop to \dimen0{%
             \baselineskip=\dimen0
             \vss \vbox to 1ex{%
             \ifoddpages
               \hb@xt@\hsize{\hss\copy\figbox}%
             \else% leftsetting
               \hb@xt@\hsize{\copy\figbox\hss}%
             \fi
             \vss}\null}}%
	  \global\tryingfigfalse
	  \global\doingfigtrue
	  \global\startpageht=\pageht
	  \global\htdone=\z@
	  \dohang
	  \ifnum\nosuccesstryfig>0%
	   \JHEP@mess{Flt. fig. \the\ffigcount\space set on page \the\count0, 
	 		shifted \the\nosuccesstryfig\space par(s) forward}%
	  \else
	   \JHEP@mess{Floating figure \the\ffigcount\space 
			set on page \the\count0}%
	  \fi
	\else
          \global\advance\nosuccesstryfig by 1
	\fi
      \else%				% IF NOT TRYING
	\ifdoingfig
	  \get@pageht
	  \global\htdone=\pageht
	  \global\advance\htdone by -\startpageht
	  \ifpageafterfig
	    \global\doingfigfalse% IN CASE A PAGEBREAK JUST BELOW?
	  \else
	    \dimen0=\fl@ht
	    \advance\dimen0 by \baselineskip
	    \ifdim\htdone<\dimen0%
		\dohang
	    \else
		\global\doingfigfalse
	    \fi
	  \fi
	  \ifdoingfig\else\global\figprocessingfalse\fi% IF NO MORE DOING.
	\else
	  \global\outputpretest={\outputtrue}% NOT RESTORE EVPAR IF NOT DOING?
	\fi%			% END IF DOING
      \fi%			% END IF TRYING
}
\def\trytab{%
	\global\fl@ht\ht\tabbox
	\global\fl@wd\wd\tabbox
	\global\let\fl@gut\tabgutter
       \iftryingtab
	\get@pageht
       \dimen0=\vsize
       \advance\dimen0 by -\pageht
       \advance\dimen0 by -2\baselineskip
       \ifdim\dimen0>\fl@ht
	 \chk@side\@tside
         \dimen0=0.3\baselineskip
         \vrule depth \dimen0 width \z@
         \vadjust{\kern -\dimen0
         \vtop to \dimen0{%
             \baselineskip=\dimen0
             \vss \vbox to 1ex{%
             \ifoddpages
               \hb@xt@\hsize{\hss\copy\tabbox}%
             \else% leftsetting
               \hb@xt@\hsize{\copy\tabbox\hss}%
             \fi
             \vss}\null}}%
       \global\tryingtabfalse
       \global\doingtabtrue
       \global\startpageht=\pageht
       \global\htdone=\z@
       \dohang
       \ifnum\nosuccesstrytab>0%
	\JHEP@mess{Flt. tab. \the\ftabcount\space set on page \the\count0, 
			shifted \the\nosuccesstrytab\space par(s) forward}%
       \else
	\JHEP@mess{Floating table \the\ftabcount\space 
			set on page \the\count0}%
       \fi
     \else
       \global\advance\nosuccesstrytab by 1
     \fi
     \else
     \ifdoingtab
       \get@pageht
    \global\htdone=\pageht
    \global\advance\htdone by -\startpageht
    \ifpageaftertab
      \global\doingtabfalse
    \else
      \dimen0=\fl@ht
      \advance\dimen0 by \baselineskip
      \ifdim\htdone<\dimen0%
         \dohang
      \else
         \global\doingtabfalse
      \fi
    \fi
    \ifdoingtab\relax\else\global\tabprocessingfalse\fi
  \else
    \global\outputpretest={\outputtrue}%
  \fi
\fi
}
%----- hanging lord -----------------------------%
\def\dohang{%
   \dimen0=\fl@ht
   \advance\dimen0 by -\htdone
   \advance\dimen0 by 1.49\baselineskip
   \hangcount=\dimen0
   \divide\hangcount by \baselineskip
   \dimen0=\fl@wd
   \advance\dimen0 by \fl@gut
   \ifoddpages
     \global\hangindent=-\dimen0% placing right
   \else 
     \global\hangindent=\dimen0% placing left
   \fi
   \global\hangafter=-\hangcount
}
%----------------------- TWO NEWITEMS ---------------------%
\newcommand{\fltitem}[2][\z@]{\setlength{\fltitemwidth}{\linewidth}%
  \addtolength{\fltitemwidth}{-\floatfltwidth}%
  \addtolength{\fltitemwidth}{-0.5em}%
  \item \parbox[t]{\fltitemwidth}{#2}\\[#1]}
\newcommand{\fltditem}[3][\z@]{\setlength{\fltitemwidth}{\linewidth}%
  \addtolength{\fltitemwidth}{-\floatfltwidth}%
  \addtolength{\fltitemwidth}{-0.5em}%
  \item[#2] \parbox[t]{\fltitemwidth}{#3}\\[#1]}
%%%%%%\endinput
%% 
%% End of ex-file `floatflt.sty'.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CAPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newlength\abovecaptionskip
\newlength\belowcaptionskip
\setlength\abovecaptionskip{8\p@}
\setlength\belowcaptionskip{0\p@}
\long\def\@makecaption#1#2{%
  \if@hyper{\edef\@pippo{the\@captype}
	    \name{\@captype\expandafter\csname\@pippo\endcsname}}\fi%
  \vskip\abovecaptionskip
 {\let\label\@gobble%			% ADDED FN 10.2.97, LATEX BUG:
  \let\index\@gobble%			% LARGE CAPTIONS PROCESS LABEL
  \let\glossary\@gobble%		% TWO TIMES.
  \sbox\@tempboxa{#1: #2}%		% 
  \global\dimen0\wd\@tempboxa}%		%
  \ifdim \dimen0 >\hsize
    #1: #2\par
  \else
    \global\@minipagefalse \sbox\@tempboxa{#1: #2}
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FONTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TOC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\tocsecs{}
\newcommand\@pnumwidth{1.55em}
\newcommand\@tocrmarg{2.55em}
\newcommand\@dotsep{4.5}
\setcounter{tocdepth}{3}
\newcommand\tableofcontents{%
    \section*{\contentsname
        \@mkboth{%
           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
    \@starttoc{toc}}
\newcommand*\l@part[2]{\def\hyp@typ{part}%	
  \ifnum \c@tocdepth >-2\relax
    \addpenalty\@secpenalty
    \addvspace{2.25em \@plus\p@}%
    \begingroup
      \setlength\@tempdima{3em}%
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      {\leavevmode
       \large \bfseries \tocsecs#1\hfil \hb@xt@\@pnumwidth{\hss
		\href{\hash pag#2}{#2}}}\par
       \nobreak
       \if@compatibility
         \global\@nobreaktrue
         \everypar{\global\@nobreakfalse\everypar{}}%
      \fi
    \endgroup
  \fi}
\newcommand*\l@section[2]{\def\hyp@typ{sec}%
  \ifnum \c@tocdepth >\z@
    \addpenalty\@secpenalty
    \addvspace{1.0em \@plus\p@}%
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
	\tocsecs#1\nobreak\hfil	%HREF HERE WOULD GET ALSO THE TITLE(...)
	\nobreak\hb@xt@\@pnumwidth{\hss \href{\hash pag#2}{#2}}\par
    \endgroup
  \fi}
\newcommand*\l@subsection{\def\hyp@typ{sec}\@dottedtocline{2}{1.5em}{2.3em}}
\newcommand*\l@subsubsection{\def\hyp@typ{sec}\@dottedtocline{3}{3.8em}{3.2em}}
\newcommand*\l@paragraph{\def\hyp@typ{sec}\@dottedtocline{4}{7.0em}{4.1em}}
\newcommand*\l@subparagraph{\def\hyp@typ{sec}\@dottedtocline{5}{10em}{5em}}

\if@hyper
  \let\old@dtl\@dottedtocline
  \def\@dottedtocline#1#2#3#4#5{\old@dtl{#1}{#2}{#3}{#4}{%
						\href{\hash pag#5}{#5}}}
\fi
%%%%%%%%%%%%%%%%%%%%%% LIST OF FIGURES AND TABLES %%%%%%%%%%%%%%%%%%%%%
\if@draft			% ONLY IF DRAFT! ... 
 \newcommand\listoffigures{%
     \section*{\listfigurename
       \@mkboth{\MakeUppercase\listfigurename}%
               {\MakeUppercase\listfigurename}}%
     \@starttoc{lof}%
     }
 \newcommand*\l@figure{\def\hyp@typ{figure}\@dottedtocline{1}{1.5em}{2.3em}}
 \newcommand\listoftables{%
     \section*{\listtablename
       \@mkboth{%
           \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
     \@starttoc{lot}%
     }
 \newcommand*\l@table{\def\hyp@typ{table}\@dottedtocline{1}{1.5em}{2.3em}}
\else
 \newcommand\listoffigures{\JHEP@ignol{List of figures (draft mode only)}}
 \newcommand\listoftables{\JHEP@ignol{List of tables (draft mode only)}}
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%%%%%%***
\newdimen\bibindent
\setlength\bibindent{1.5em}
\newenvironment{thebibliography}[1]%	%UNFORTUNATELY MODIFIED..
     {\section*{\refname
        \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}%
      \list{\name{bib\@arabic\c@enumiv}% HOPE!
	    \@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy\clubpenalty4000\widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
\if@draft
 \let\old@bbt\@bibitem\let\old@lbbt\@lbibitem% LOOK THE DISASTER HERE DOWN.
 \def\@lbibitem[#1]#2{\old@lbbt[#1]{#2}\reversemarginpar{\sf\bfseries\small#2}}
 \def\@bibitem#1{\old@bbt{#1}\reversemarginpar{\sf\bfseries\small#1}}
\fi
\let\@openbib@code\@empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JOURNALS %%*** PUT HREF IF POSSIBLE%%%%%
\def\ap#1#2#3{     {\it Ann. Phys. (NY) }{\bf #1} (19#2) #3}
\def\arnps#1#2#3{  {\it Ann. Rev. Nucl. Part. Sci. }{\bf #1} (19#2) #3}
\def\jhep#1#2#3{    {\it J. High En. Phys.}{\bf #1} (19#2) #3}
\def\npb#1#2#3{    {\it Nucl. Phys. }{\bf B #1} (19#2) #3}
\def\npbp#1#2#3{    {\it Nucl. Phys. }{\bf B #1} {\it(Proc. Suppl.)} (19#2) #3}
\def\plb#1#2#3{    {\it Phys. Lett. }{\bf B #1} (19#2) #3}
\def\prd#1#2#3{    {\it Phys. Rev. }{\bf D #1} (19#2) #3}
\def\pr#1#2#3{    {\it Phys. Rev. }{\bf #1} (19#2) #3}
\def\prep#1#2#3{   {\it Phys. Rep. }{\bf #1} (19#2) #3}
\def\prl#1#2#3{    {\it Phys. Rev. Lett. }{\bf #1} (19#2) #3}
\def\ptp#1#2#3{    {\it Prog. Theor. Phys. }{\bf #1} (19#2) #3}
\def\rmp#1#2#3{    {\it Rev. Mod. Phys. }{\bf #1} (19#2) #3}
\def\zpc#1#2#3{    {\it Z. Physik }{\bf C #1} (19#2) #3}
\def\mpla#1#2#3{   {\it Mod. Phys. Lett. }{\bf A #1} (19#2) #3}
\def\sjnp#1#2#3{   {\it Sov. J. Nucl. Phys. }{\bf #1} (19#2) #3}
\def\yf#1#2#3{     {\it Yad. Fiz. }{\bf #1} (19#2) #3}
\def\nc#1#2#3{     {\it Nuovo Cim. }{\bf #1} (19#2) #3}
\def\jetpl#1#2#3{  {\it JETP Lett. }{\bf #1} (19#2) #3}
\def\ibid#1#2#3{   {\it ibid. }{\bf #1} (19#2) #3}
\def\ijmpa#1#2#3{  {\it Int. J. Mod. Phys. }{\bf A #1} (19#2) #3}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INDEX %%%%%%%%%%%%%%%%%%%%%%%%%%%2%%%%%%..?
%\newenvironment{theindex}	% DELETED? ...
%               {\if@twocolumn
%                  \@restonecolfalse
%                \else
%                  \@restonecoltrue
%                \fi
%                \columnseprule \z@
%                \columnsep 35\p@
%                \twocolumn[\section*{\indexname}]%
%                \@mkboth{\MakeUppercase\indexname}%
%                        {\MakeUppercase\indexname}%
%                \thispagestyle{plain}\parindent\z@
%                \parskip\z@ \@plus .3\p@\relax
%                \let\item\@idxitem}
%               {\if@restonecol\onecolumn\else\clearpage\fi}
%\newcommand\@idxitem{\par\hangindent 40\p@}
%\newcommand\subitem{\@idxitem \hspace*{20\p@}}
%\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
%\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FOOTNOTES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand\footnoterule{%	% NO HYPER...
  \kern-3\p@
  \hrule\@width.4\columnwidth
  \kern2.6\p@}
\newcommand\@makefntext[1]{%
    \parindent 1em%
    \noindent
    \hb@xt@1.8em{\hss\@makefnmark}#1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NAMES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\contentsname{Contents}
\if@draft\newcommand\listfigurename{List of Figures}
	 \newcommand\listtablename{List of Tables}\fi
\newcommand\refname{References}
\newcommand\indexname{Index}
\newcommand\figurename{Figure}
\newcommand\tablename{Table}
\newcommand\partname{Part}
\newcommand\appendixname{Appendix}
\newcommand\abstractname{Abstract:}
\newcommand\keywordsname{Keywords:}
\newcommand\receivedname{Received:}
\newcommand\publishedname{Published:}
\newcommand\acknowelname{Acknoweledgements}

\newcommand\today{}
\edef\today{\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\day, \number\year}

\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEFAULTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pagestyle{plain}
\pagestyle{JHEP}
\pagenumbering{arabic}
\renewcommand{\baselinestretch}{1.1}
\@addtoreset{equation}{section}
\if@preprint\else\let\pagestyle\@gobble
		 \let\thispagestyle\@gobble
		 \let\pagenumbering\@gobble\fi
%\if@twoside\else\raggedbottom\fi
  \onecolumn
						
% FOR REQUESTED FRONTMATTER ...
\AtBeginDocument{\bgroup%		SOME NICE MESSAGES.. 
		\def\@APPwarn#1{\JHEP@warnl{\protect#1 should appear 
					before \protect\begin{document}}}%
		\def\@APPerr#1{\ClassError{JHEP}{\protect#1 should appear 
					before \protect\begin{document}}}%
%	\if@title\else\@APPerr{Some \protect\title{...}}\fi%
	\if@author\else\@APPerr{Some \protect\author{...}}\fi%
	\if@abstract\else\@APPerr{\abstract{...}}\fi%
%	\if@email\else\@APPwarn{\email}\fi%
	\if@keywords\else\@APPwarn{\keywords{...}}\fi%
	\if@preprint\else%
		\if@rece\else\@APPwarn{\received{...}}\fi%
		\if@publ\else\@APPwarn{\published{...}}\fi%
	\fi%
	\egroup%
	\auto@maketitle}
\endinput
%% 
%% End of file `JHEP.cls'.

