A Talk on 3d Matter Coupled to Chern-Simons Field, Spontaneous Breaking of Scale Invariance, and Fermion-Boson Mapping
Extracted source text · arXiv 1910.05867
\magnification= 1200
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input zmacxxx
\input epsf
\input accents
\input colordvi
%%%%%%%%%%%%%%%%%%%%%%%%%%% TALK \draft % PROBLEME AVEC LA NUMEROTATION DE LA PREMIERE PAGE
%%% U(\omega) or U_\r(\omega) ?
%%%%%%%%%%%%%%% subsection ??? CORRECT
\def\CS{{\rm CS}}
\def\r{{\rm R}}
\def\g{g}
\def\Abbar{\mkern0.5mu\raise0.5pt\hbox{$\not$}\mkern-0.8mu{\bf A}\mkern.1mu}
\def\Ds{\mkern-0.5mu\raise0.5pt\hbox{$\not$}\mkern-.6mu {\bf D}\mkern.1mu}
\def\M{M}
\def\Mag{\MidnightBlue}
\def\*{\par {\bf ************* question/remark/changes made here ***********}\par }
\def\Rmrk{\par {\bf **222222**** question/remark/changes made here ***22222*****}\par }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TALK \preprint{????}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\centerline {\bf A Talk on 3d Matter Coupled to Chern-Simons Field}
\centerline {\bf Spontaneous Breaking of Scale Invariance}
\centerline {\bf and Fermion-Boson Mapping ${}^\dagger$}
\vskip .8cm
\centerline{\bf Moshe Moshe ${}^{a}$}
\vskip .5cm
\centerline{\bf Technion~-~Israel Inst. of Technology~~, Haifa, Israel} \vskip .8cm
\footnote{} {$\dagger $ Talk presented at the 2019 Meeting of the Division of Particles and Fields of the American Physical Society (DPF2019), July 29 - August 2, 2019, Northeastern University, Boston, C1907293 }
\footnote{} {(a) moshe@technion.ac.il}
\centerline{\bf Abstract} \vskip .8cm
\noindent The singlet sector of vector, large $N$, 3d field theory
corresponds to Vasiliev higher spin theory on $AdS_4$. Will discuss three dimensional $U(N)$ symmetric field theory with fermion and boson matter coupled to a topological Chern-Simons field. In the presence of a marginal deformation will determine the conditions for the existence of a phase with spontaneous breaking of scale invariance.
In this phase the ground state contains massive $U(N)$ quanta and a massless $U(N)$ singlet bound state goldstone boson:~the Dilaton.
Will show that such a phase appears only in the presence of a marginal deformation.
The massless Dilaton appears in the spectrum provided certain relations between coupling constants are satisfied. Will discuss the fermion-boson mapping and show that the conditions for spontaneous breaking of scale invariance in the boson and fermion theories are copies of each other.
\vfill\eject
%\noindent Will present recent progress on the older papers:
%\noindent
%M M and J. Zinn-Justin JHEP 1501 (2015) 054 arXiv:1410.0558 [hep-th]
%W. A. Bardeen and M M JHEP 1406 (2014) 113 arXiv:1402.4196 [hep-th]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This is a short summary of a talk on spontaneous breaking of scale invariance in three dimensional $U(N)$ symmetric field theory with fermion and boson matter coupled to a topological Chern-Simons field
\section ~~~~~~~~~~~~Motivation
The interest in the phase structure of large $N$ ~$O(N)$ and $U(N)$
symmetric theories with matter fields in the fundamental representation
is focused on the conjectured
$AdS/CFT$ correspondence between the singlet
sector of the $O(N)$
vector theory in d=3 space-time dimensions and Vasiliev's higher spin gravity theory
on $AdS_4$.
The quantum completion of the gravitational side of this duality is not known.
If only tree level is considered, one has
in this case an $AdS/CFT$ correspondence for
which both sides are weakly coupled. The advantage, in this case,
is obvious as a testing ground
of $AdS/CFT$ ideas using explicit derivations.
Interacting scalars and fermions in $O(N)$ and $U(N)$ symmetric
field theories at large $N$ are well understood and their phase
structure is known. In the presence of the
Chern-Simons gauge field the singlet sector is singled out and
the system fits well into the $AdS/CFT$ conjectured duality. Using
large N methods and the convenience of the light-cone gauge for
the Chern-Simons action, explicit calculations can be performed
shedding light on the $AdS/CFT$ correspondence. The $d=3$
$O(N)$ model $g(\vec\phi)^4$ was deformed
to include a marginal
interaction term $(\lambda_6/24\pi )(\vec\phi)^6$. It was
conjectured that the gravity dual of these 3d theories on the
boundary is a parity broken version of Vasiliev's higher spin
theory on $AdS_4$ in the bulk with a parity
breaking parameter $\theta$ which depends on the 't Hooft coupling
$\lambda= N/\kappa$.
The theory of scalars and fermions in the fundamental representation of $U(N)$ coupled
to Chern-Simons gauge fields
are dual to the same bulk gravity theory on $AdS_4$. Thus it has also
been conjectured that there is a duality
between the boson and fermion theories. Calculation of
the thermal free energy in large N Chern-Simons field coupled to fermions and scalars
further strengthened this duality.
It was noted however that in the case of massive fermion and scalars the
thermal free energy can be also calculated and the duality between the two Chern-Simons matter
theories of fermion and boson
may still exist. In this case high spin symmetry with the bulk Vasiliev's
$AdS_4$ is lost since the boundary theory is not conformal.
It was also noted that the introduction of masses through
spontaneous breaking of scale invariance is an alternative
at large N. Though at finite $N$ the breakdown of the scale symmetry
is explicit it is of ${\cal O}(N^{-1})$, namely the same order by which the $AdS/CFT$ correspondence
is approximated in the above mentioned conjecture.
It is therefore appealing to further analyse the Chern-Simons matter theory
with masses introduced through spontaneous breaking of scale invariance
which assures the introduction of masses into the theory
but leaves the boundary d=3 theory
conformal to ${\cal O}(N^{-1})$.
\section ~~~Conditions for the Spontaneous Breaking of Scale Invariance in Chern-Simons gauge field coupled to a $U(N)$ scalars and fermions
First will consider a complex scalar field $\phi(x)$ in
the fundamental representation of U(N) in three Euclidean
dimensions coupled to a Chern-Simons level $\kappa$ gauge field
$A_\mu(x)$. To the free Chern-Simons action
$$\eqalignno{{\cal S}_{\rm CS}({\bf A}) =-{i\kappa\over 4\pi}
\epsilon_{\mu\nu\rho}\int\d^3 x\, Tr\left[ {\bf A}_ \mu(x)
\partial_ \nu {\bf A}_ \rho(x) + \frac{2}{3} {\bf A}_\mu(x) {\bf
A}_ \nu(x){\bf A}_\rho(x)\right],~~~~&\eqnd\CSfree\cr}$$ \noindent
we add
the $U(N)$
invariant action
$${\cal S}_{\rm Scalar}=\int\d^3 x\left[ ({\bf D}_\mu{\phi(x)})^\dagger\cdot
{\bf D}_\mu{\phi(x)} +NV({\phi(x)}^\dagger \cdot{\phi(x)} /N) \right], \eqnd\scalarAction$$
where the complex $\phi(x)$ field is in the fundamental representation and ${\bf D}_\mu$
is the covariant derivative
${\bf D}_\mu=\partial_\mu +{\bf A}_\mu\,.$
The following U(N) invariant self interacting scalar
potential $V({\phi}^\dagger \cdot{\phi} /N)$ will be considered:
$$NV({\phi}^\dagger \cdot{\phi} /N) =
{\mu^2{\phi}^\dagger \cdot{\phi}}
+
{1\over 2}{\lambda_4\over N}({\phi}^\dagger \cdot{\phi})^2+{1\over 6} {\lambda_6 \over N^2}
({\phi}^\dagger \cdot{\phi})^3 \eqnd\Vphi$$
We will concentrate on the
scale invariant potential with renormalized
$\mu_R=\lambda_{4R}=0$ and
analyze the system in its massive phase of spontaneously broken scale invariance.
The CS gauge coupling is defined here as $\lambda_b=N/\kappa$. A detailed analysis shows that spontaneous breaking of scale invariance occurs when a certain relation is maintain between the $\lambda_6$ coupling of the marginal operator $({\phi}^\dagger \cdot{\phi})^3$ and the gauge coupling $\lambda_b$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
\vskip 1cm
Next will discuss the Chern--Simons action coupled to fermion matter in the large $N$ limit.In contrast to previous work that mainly uses the light-cone gauge, we
choose the gauge ${\bf A}_3=0$
We add to the Chern--Simons action, quantized in the ${\bf A}_3=0$ gauge, a $U(N)$ gauge-invariant action for an $N$-component spinor field ${\Bfg\psi}$,
$${\cal S}(\psi,\bar\psi,{\bf A})={\cal S}_{\rm CS}({\bf A})-\int\d^3 x\,\bar{\Bfg\psi}(x)(\Ds+M_0){\Bfg\psi}(x)\eqnd{\eCSUNApsi}$$
Here, the CS gauge coupling is defined as
$ {\g\over 4\pi}={N\over \kappa}$
A scalar field $\sigma(x)$ is added to the action
$${\cal S}_\sigma=\int\d^3 x\left[-\sigma(x)\bar{\Bfg\psi}(x)\cdot{\Bfg\psi}(x)+{N\over 3 g_\sigma}\sigma^3(x)-N {\cal R}\sigma(x)\right],\eqnd\eCSsigmaaction $$
where the new dimensionless parameters $g_\sigma$ and ${\cal R}$ are fixed when $N\to\infty$.\par
The extra $\sigma(x)$ terms in Eq.~\eqns{\eCSsigmaaction} are analogous to the triple-trace deformation $\lambda_6\phi(x)^6$ added to the Chern--Simons boson theory. The term ${\cal R}\sigma(x)$ added here in order to have a proper perturbative meaning to the $\sigma$ term in the action.\par
From dimensional analysis, one concludes that $\sigma$ has mass dimension $1$ and that no other term of dimension $3$ or less and odd in $\sigma$ can be added.
In the boson matter CS theory, when the renormalized parameters $ M_R=\lambda_{4R}=0$, one finds at this scale invariant point a non-zero physical mass, $ M_{phys}\neq 0 $, as a solution of the gap equation if the following condition is satisfied:
$$\lambda_b^2+{\lambda_6\over 8\pi^2}=4
\,, \eqnd\eCSmassiveBosonic $$
where $\lambda_b$ is the Chern--Simons gauge coupling in the
boson theory, and $\lambda_6$ is the marginal coupling of the
boson $\lambda_6 ({\Bfg \phi}^\dagger\cdot{\Bfg\phi})^3 / 6 N^2$ interaction.
When the forces in this system are tuned according to Eq.{\eCSmassiveBosonic}, the boson $O(N)$ quanta pairs to create a massless $O(N)$ singlet excitation. One finds in scattering amplitudes, in the $O(N)$ singlet channel, a massless pole, the goldston boson of the spontaneous breaking of scale invariance - the Dilaton. One also finds that the EM trace is $<T_{\mu\mu}>=0$. The vanishing of the EM trace is maintained also at finite temperatures.
In the fermion matter CS system if the renormalized parameters $ M_R=0$, one finds at this scale invariant point a non-zero physical mass for the fermion quanta, $ M_{phys}\neq 0 $, as a solution of the gap equation, if the following condition is satisfied:
$$\left(\g-g_\sigma \over 2\pi\right)\left(1-{\g \over 8\pi}\right)=1\,. \eqnd\eCSmassiveFermionic $$
where $g$ here is the Chern--Simons gauge coupling in the
fermion theory, whereas $g_\sigma $ is the marginal coupling in the fermionic case.
Our calculation, in contrast to others, was done in this case in the Weyl Gauge rather than in the Light Cone gauge.
As in the boson case, when the relation in Eq.{\eCSmassiveFermionic} is maintained, here the fermion $O(N)$ quanta pairs to create a massless scalar $O(N)$ singlet excitation. One finds in scattering amplitudes, in the $O(N)$ singlet channel, a massless pole, the goldston boson of the spontaneous breaking of scale invariance - the Dilaton. Here too, $<T_{\mu\mu}>=0$.
It is now interesting to find out whether the boson and fermion conditions in Eqs.~\eqns{\eCSmassiveBosonic} and \eqns{\eCSmassiveFermionic} are dual copies, when the dual values of the couplings are taken into account.
Indeed, using the fermion-boson dual mapping:
$$\lambda_b={g\over 4\pi}-1 \ , \quad
\lambda_6=8\pi^2\left(1-{g\over4\pi}\right)^2\left(3-4{g\over g_\sigma}\right),
\eqnd\eCSFBmapping
$$
\noindent one finds that the boson condition in
Eq.~\eqns{\eCSmassiveBosonic} and the fermion condition in
Eq.~\eqns{\eCSmassiveFermionic} (derived here in a temporal gauge)
are identical.
.
\vskip.5cm
\noindent The details of this summary can be found in the following papers and references to earlier works :
\vskip.3cm
Bosons and CS:
W. A. Bardeen and M. Moshe JHEP 1406 (2014) 113 ~~arXiv:1402.4196 [hep-th]
\vskip.3cm
Fermions and CS:
M. Moshe and J. Zinn-Justin JHEP 1501 (2015) 054 ~~arXiv:1410.0558 [hep-th]
\vskip.3cm
\end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\vskip 1cm
\catcode`\À=\active\defÀ{\ifmmode\grave A\else\`A\fi}
\catcode`\É=\active\defÉ{\ifmmode\acute E\else\'E\fi}
\catcode`\à=\active\defà{\ifmmode\grave a\else\`a\fi}
\catcode`\â=\active\defâ{\ifmmode\hat a\else\^a\fi}
\catcode`\ä=\active\defä{\ifmmode\ddot a\else\"a\fi}
\catcode`\ç=\active\defç{\c c}
\catcode`\é=\active\defé{\ifmmode\acute e\else\'e\fi}
\catcode`\è=\active\defè{\ifmmode\grave e\else\`e\fi}
\catcode`\ê=\active\defê{\ifmmode\hat e\else\^e\fi}
\catcode`\ë=\active\defë{\ifmmode\ddot e\else\"e\fi}
\catcode`\ï=\active\defï{\ifmmode\ddot i\else\"\i\fi}
\catcode`\î=\active\defî{\ifmmode\hat i\else\^\i\fi}
\catcode`\ö=\active\defö{\ifmmode\ddot o\else\"o\fi}
\catcode`\ô=\active\defô{\ifmmode\hat o\else\^o\fi}
\catcode`\ù=\active\defù{\ifmmode\grave u\else\`u\fi}
\catcode`\ü=\active\defü{\ifmmode\ddot u\else\"u\fi}
\catcode`\û=\active\defû{\ifmmode\hat u\else\^u\fi}
\def\sh{\mathop{\rm sh}\nolimits}
\def\ch{\mathop{\rm ch}\nolimits}
\def\th{\mathop{\rm th}\nolimits}
\def\coth{\mathop{\rm coth}\nolimits}
\def\args{\mathop{\rm Argsh}\nolimits}
\def\argc{\mathop{\rm Argch}\nolimits}
\def\argt{\mathop{\rm Argth}\nolimits}
%%% -*-TeX-*-
%%% ====================================================================
%%% @TeX-file{
%%% author = "Tom Rokicki",
%%% version = "2.7.3",
%%% date = "23 July 2005",
%%% time = "14:32:01 MDT",
%%% filename = "epsf.tex",
%%% address = "Tom Rokicki
%%% Box 2081
%%% Stanford, CA 94309
%%% USA",
%%% telephone = "+1 415 855 9989",
%%% checksum = "20914 644 3054 26594",
%%% email = "rokicki@cs.stanford.edu (Internet)",
%%% codetable = "ISO/ASCII",
%%% copyright = "This file is freely redistributable and
%%% placed into the public domain by Tomas
%%% Rokicki.",
%%% keywords = "PostScript, TeX",
%%% supported = "yes",
%%% abstract = "This file contains macros to support the
%%% inclusion of Encapsulated PostScript files
%%% in TeX documents.",
%%% docstring = "This file contains TeX macros to include an
%%% Encapsulated PostScript graphic. It works
%%% by finding the bounding box comment,
%%% calculating the correct scale values, and
%%% inserting a vbox of the appropriate size at
%%% the current position in the TeX document.
%%%
%%% To use, simply use
%%%
%%% \input epsf % somewhere early on in your TeX file
%%%
%%% % then where you want to insert a vbox for a figure:
%%% \epsfbox{filename.ps}
%%%
%%% Alternatively, you can supply your own
%%% bounding box by
%%%
%%% \epsfbox[0 0 30 50]{filename.ps}
%%%
%%% This will not read in the file, and will
%%% instead use the bounding box you specify.
%%%
%%% The effect will be to typeset the figure as
%%% a TeX box, at the point of your \epsfbox
%%% command. By default, the graphic will have
%%% its `natural' width (namely the width of
%%% its bounding box, as described in
%%% filename.ps). The TeX box will have depth
%%% zero.
%%%
%%% You can enlarge or reduce the figure by
%%% using
%%%
%%% \epsfxsize = <dimen> \epsfbox{filename.ps}
%%% or
%%% \epsfysize = <dimen> \epsfbox{filename.ps}
%%%
%%% instead. Then the width of the TeX box will
%%% be \epsfxsize and its height will be scaled
%%% proportionately (or the height will be
%%% \epsfysize and its width will be scaled
%%% proportionately).
%%%
%%% The width (and height) is restored to zero
%%% after each use, so \epsfxsize or \epsfysize
%%% must be specified before EACH use of
%%% \epsfbox.
%%%
%%% A more general facility for sizing is
%%% available by defining the \epsfsize macro.
%%% Normally you can redefine this macro to do
%%% almost anything. The first parameter is
%%% the natural x size of the PostScript
%%% graphic, the second parameter is the
%%% natural y size of the PostScript graphic.
%%% It must return the xsize to use, or 0 if
%%% natural scaling is to be used. Common uses
%%% include:
%%%
%%% \epsfxsize % just leave the old value alone
%%% 0pt % use the natural sizes
%%% #1 % use the natural sizes
%%% \hsize % scale to full width
%%% 0.5#1 % scale to 50% of natural size
%%% \ifnum #1 > \hsize \hsize \else #1\fi
%%% % smaller of natural, hsize
%%%
%%% If you want TeX to report the size of the
%%% figure (as a message on your terminal when
%%% it processes each figure), use
%%% `\epsfverbosetrue'.
%%%
%%% If you only want to get the bounding box
%%% extents, without producing any output boxes
%%% or \special{}, then use \epsfgetbb{filename}.
%%% The bounding box corner coordinates are saved
%%% in the macros \epsfllx, \epsflly, \epsfurx,
%%% and \epsfury in PostScript units of big
%%% points.
%%%
%%% Revision history:
%%%
%%% ---------------------------------------------
%%% epsf.tex macro file:
%%% Originally written by Tomas Rokicki of
%%% Radical Eye Software, 29 Mar 1989.
%%%
%%% ---------------------------------------------
%%% Revised by Don Knuth, 3 Jan 1990.
%%%
%%% ---------------------------------------------
%%% Revised by Tomas Rokicki, 18 Jul 1990.
%%% Accept bounding boxes with no space after
%%% the colon.
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, 03 Dec 1991 [2.0].
%%% Add version number and date typeout.
%%%
%%% Use \immediate\write16 instead of \message
%%% to ensure output on new line.
%%%
%%% Handle nested EPS files.
%%%
%%% Handle %%BoundingBox: (atend) lines.
%%%
%%% Do not quit when blank lines are found.
%%%
%%% Add a few percents to remove generation of
%%% spurious blank space.
%%%
%%% Move \special output to
%%% \epsfspecial{filename} so that other macro
%%% packages can input this one, then change
%%% the definition of \epsfspecial to match
%%% another DVI driver.
%%%
%%% Move size computation to \epsfsetsize which
%%% can be called by the user; the verbose
%%% output of the bounding box and scaled width
%%% and height happens here.
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, 05 May 1992 [2.1].
%%% Wrap \leavevmode\hbox{} around \vbox{} with
%%% the \special so that \epsffile{} can be
%%% used inside \begin{center}...\end{center}
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, 09 Dec 1992 [2.2].
%%% Introduce \epsfshow{true,false} and
%%% \epsfframe{true,false} macros; the latter
%%% suppresses the insertion of the PostScript,
%%% and instead just creates an empty box,
%%% which may be handy for rapid prototyping.
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, 14 Dec 1992 [2.3].
%%% Add \epsfshowfilename{true,false}. When
%%% true, and \epsfshowfalse is specified, the
%%% PostScript file name will be displayed
%%% centered in the figure box.
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, 20 June 1993 [2.4].
%%% Remove non-zero debug setting of \epsfframemargin,
%%% and change margin handling to preserve EPS image
%%% size and aspect ratio, so that the actual
%%% box is \epsfxsize+\epsfframemargin wide by
%%% \epsfysize+\epsfframemargin high.
%%% Reduce output of \epsfshowfilenametrue to
%%% just the bare file name.
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, 13 July 1993 [2.5].
%%% Add \epsfframethickness for control of
%%% \epsfframe frame lines.
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, 02 July 1996 [2.6]
%%% Add missing initialization \epsfatendfalse;
%%% the lack of this resulted in the wrong
%%% BoundingBox being picked up, mea culpa, sigh...
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, 25 October 1996 [2.7]
%%% Update to match changes in from dvips 5-600
%%% distribution: new user-accessible macros:
%%% \epsfclipon, \epsfclipoff, \epsfdrafton,
%%% \epsfdraftoff, change \empty to \epsfempty.
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, 18 May 2002 [2.7.1]
%%% Add write statements to echo input file
%%% names. Prior to that change, an error in
%%% such a file could be quite hard to track
%%% down: a long list of TeX page numbers could
%%% suddenly be followed by ``TeX buffer
%%% capacity'' exceeded, without any indication
%%% of the file that was responsible.
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, 16 May 2003 [2.7.2]
%%% Supply two critical percent characters that
%%% were mistakenly omitted in version 2.7.1,
%%% and resulted in a small amount of spurious
%%% horizontal space.
%%%
%%% ---------------------------------------------
%%% Revised by Nelson H. F. Beebe
%%% <beebe@math.utah.edu>, Karl Berry
%%% <karl@freefriends.org>, and Robin Fairbairns
%%% <Robin.Fairbairns@cl.cam.ac.uk>,
%%% 23 July 2005 [2.7.3]
%%% Add critical \hbox{} wrapper in \epsfsetgraph
%%% so that \epsfbox{} does not conflict with
%%% LaTeX center environment when \epsfbox{} is
%%% surrounded by other horizonal objects.
%%% Improve macro readability by adding legal,
%%% but invisible-in-typeset-output, spaces.
%%% Ensure that verbose status reports come
%%% inside (filename ...) list.
%%%
%%% ---------------------------------------------
%%% The checksum field above contains a CRC-16
%%% checksum as the first value, followed by
%%% the equivalent of the standard UNIX wc
%%% (word count) utility output of lines,
%%% words, and characters. This is produced by
%%% Robert Solovay's checksum utility.",
%%% }
%%% ====================================================================
%\immediate \write16 {This is `epsf.tex' v2.0 <02 Dec 1991>}%
%\immediate \write16 {This is `epsf.tex' v2.1 <05 May 1992>}%
%\immediate \write16 {This is `epsf.tex' v2.2 <09 Dec 1992>}%
%\immediate \write16 {This is `epsf.tex' v2.3 <14 Dec 1992>}%
%\immediate \write16 {This is `epsf.tex' v2.4 <20 June 1993>}%
%\immediate \write16 {This is `epsf.tex' v2.5 <13 July 1993>}%
%\immediate \write16 {This is `epsf.tex' v2.6 <02 July 1996>}%
%\immediate \write16 {This is `epsf.tex' v2.7 <25 October 1996>}%
%\immediate \write16 {This is `epsf.tex' v2.7.1 <18 May 2002>}%
%\immediate \write16 {This is `epsf.tex' v2.7.2 <16 May 2003>}%
\immediate \write16 {This is `epsf.tex' v2.7.3 <23 July 2005>}%
%
\newread \epsffilein % file to \read
\newif \ifepsfatend % need to scan to LAST %%BoundingBox comment?
\newif \ifepsfbbfound % success?
\newif \ifepsfdraft % use draft mode?
\newif \ifepsffileok % continue looking for the bounding box?
\newif \ifepsfframe % frame the bounding box?
\newif \ifepsfshow % show PostScript file, or just bounding box?
\epsfshowtrue % default is to display PostScript file
\newif \ifepsfshowfilename % show the file name if \epsfshowfalse specified?
\newif \ifepsfverbose % report what you're making?
\newdimen \epsfframemargin % margin between box and frame
\newdimen \epsfframethickness % thickness of frame rules
\newdimen \epsfrsize % vertical size before scaling
\newdimen \epsftmp % register for arithmetic manipulation
\newdimen \epsftsize % horizontal size before scaling
\newdimen \epsfxsize % horizontal size after scaling
\newdimen \epsfysize % vertical size after scaling
\newdimen \pspoints % conversion factor
%
\pspoints = 1bp % Adobe points are `big'
\epsfxsize = 0pt % default value, means `use natural size'
\epsfysize = 0pt % ditto
\epsfframemargin = 0pt % default value: frame box flush around picture
\epsfframethickness = 0.4pt % TeX's default rule thickness
%
\def \epsfbox #1{%
\global \def \epsfllx {72}%
\global \def \epsflly {72}%
\global \def \epsfurx {540}%
\global \def \epsfury {720}%
\def \lbracket {[}%
\def \testit {#1}%
\ifx \testit \lbracket
\let \next = \epsfgetlitbb
\else
\let \next = \epsfnormal
\fi
\next{#1}%
}%
%
% We use \epsfgetlitbb if the user specified an explicit bounding box,
% and \epsfnormal otherwise. Because \epsfgetbb can be called
% separately to retrieve the bounding box, we move the verbose
% printing the bounding box extents and size on the terminal to
% \epsfstatus. Therefore, when the user provided the bounding box,
% \epsfgetbb will not be called, so we must call \epsfsetsize and
% \epsfstatus ourselves.
%
\def \epsfgetlitbb #1#2 #3 #4 #5]#6{%
\epsfgrab #2 #3 #4 #5 .\\%
\epsfsetsize
\epsfstatus{#6}%
\epsfsetgraph{#6}%
}%
%
\def \epsfnormal #1{%
\epsfgetbb{#1}%
\epsfsetgraph{#1}%
}%
%
\def \epsfgetbb #1{%
%
% The first thing we need to do is to open the
% PostScript file, if possible.
%
\openin\epsffilein=#1
\immediate \write16 {(#1}%
\ifeof \epsffilein
\errmessage{Could not open file #1, ignoring it}%
\else %process the file
{% %start a group to contain catcode changes
% Make all special characters, except space, to be of type
% `other' so we process the file in almost verbatim mode
% (TeXbook, p. 344).
\chardef \other = 12%
\def \do ##1{\catcode`##1=\other}%
\dospecials
\catcode `\ = 10%
\epsffileoktrue %true while we are looping
\epsfatendfalse %[02-Jul-1996]: add forgotten initialization
\loop %reading lines from the EPS file
\read \epsffilein to \epsffileline
\ifeof \epsffilein %then no more input
\epsffileokfalse %so set completion flag
\else %otherwise process one line
\expandafter \epsfaux \epsffileline :. \\%
\fi
\ifepsffileok
\repeat
\ifepsfbbfound
\else
\ifepsfverbose
\immediate \write16 {No BoundingBox comment found in %
file #1; using defaults}%
\fi
\fi
}% %end catcode changes
\closein\epsffilein
\fi %end of file processing
\epsfsetsize %compute size parameters
\epsfstatus{#1}%
\immediate \write16 {)}%
}%
%
% Clipping control:
\def \epsfclipon {\def \epsfclipstring { clip}}%
\def \epsfclipoff {\def \epsfclipstring {\ifepsfdraft \space clip\fi}}%
\epsfclipoff % default for dvips is OFF
%
% The special that is emitted by \epsfsetgraph comes from this macro.
% It is defined separately to allow easy customization by other
% packages that first \input epsf.tex, then redefine \epsfspecial.
% This macro is invoked in the lower-left corner of a box of the
% width and height determined from the arguments to \epsffile, or
% from the %%BoundingBox in the EPS file itself.
%
% This version is for dvips:
\def \epsfspecial #1{%
\epsftmp=10\epsfxsize
\divide \epsftmp by \pspoints
\ifnum \epsfrsize = 0%
\relax
\special{PSfile=\ifepsfdraft psdraft.ps\else#1\fi\space
llx=\epsfllx\space
lly=\epsflly\space
urx=\epsfurx\space
ury=\epsfury\space
rwi=\number\epsftmp
\epsfclipstring
}%
\else
\epsfrsize=10\epsfysize
\divide \epsfrsize by \pspoints
\special{PSfile=\ifepsfdraft psdraft.ps\else#1\fi\space
llx=\epsfllx\space
lly=\epsflly\space
urx=\epsfurx\space
ury=\epsfury\space
rwi=\number\epsftmp
rhi=\number\epsfrsize
\epsfclipstring
}%
\fi
}%
%
% \epsfframe macro adapted from the TeXbook, exercise 21.3, p. 223, 331.
% but modified to set the box width to the natural width, rather
% than the line width, and to include space for margins and rules
\def \epsfframe #1%
{%
% method for detecting latex suggested by Robin Fairbairns, May 2005.
\ifx \documentstyle \epsfundefined
\relax
\else
% \leavevmode % so we can put this inside
% a latex centered environment
% The \leavevmode breaks under plain when this is inside a box,
% because it forces the figure to be the entire \hsize. On the
% other hand, we need the \leavevmode for it to work in LaTeX,
% because the {center} environment works by adjusting TeX's
% paragraph parameters.
%
% Compare the LaTeX sequence
% \begin{center}
% \epsfbox{tip.eps}q
% \end{center}
% (needs the \leavevmode to put the q right next to the image)
%
% with the plain TeX sequence:
% \leftline{\vbox{\epsfbox{tip.eps}}q}
% (had the q all the way over to the right, when \leavevmode was used)
\fi
%
\setbox0 = \hbox{#1}%
\dimen0 = \wd0 % natural width of argument
\advance \dimen0 by 2\epsfframemargin % plus width of 2 margins
\advance \dimen0 by 2\epsfframethickness % plus width of 2 rule lines
\relax
\hbox{%
\vbox
{%
\hrule height \epsfframethickness depth 0pt
\hbox to \dimen0
{%
\hss
\vrule width \epsfframethickness
\kern \epsfframemargin
\vbox {\kern \epsfframemargin \box0 \kern \epsfframemargin }%
\kern \epsfframemargin
\vrule width \epsfframethickness
\hss
}% end hbox
\hrule height 0pt depth \epsfframethickness
}% end vbox
}% end hbox
\relax
}%
%
\def \epsfsetgraph #1%
{%
%
% Make the vbox and stick in a \special that the DVI driver can
% parse. \vfil and \hfil are used to place the \special origin at
% the lower-left corner of the vbox. \epsfspecial can be redefined
% to produce alternate \special syntaxes.
%
\ifvmode \leavevmode \fi
\relax
\hbox{% so we can put this in \begin{center}...\end{center}
\ifepsfframe \expandafter \epsfframe \fi
{\vbox to\epsfysize
{%
\ifepsfshow
% output \special{} at lower-left corner of figure box
\vfil
\hbox to \epsfxsize{\epsfspecial{#1}\hfil}%
\else
\vfil
\hbox to\epsfxsize{%
\hss
\ifepsfshowfilename
{%
\epsfframemargin=3pt % local change of margin
\epsfframe{{\tt #1}}%
}%
\fi
\hss
}%
\vfil
\fi
}%
}}%
\relax
%
% Reset \epsfxsize and \epsfysize, as documented above.
%
\global \epsfxsize = 0pt
\global \epsfysize = 0pt
}%
%
% Now we have to calculate the scale and offset values to use.
% First we compute the natural sizes.
%
\def \epsfsetsize
{%
\epsfrsize = \epsfury \pspoints
\advance \epsfrsize by -\epsflly \pspoints
\epsftsize = \epsfurx \pspoints
\advance \epsftsize by -\epsfllx \pspoints
%
% If `epsfxsize' is 0, we default to the natural size of the picture.
% Otherwise we scale the graph to be \epsfxsize wide.
%
\epsfxsize = \epsfsize{\epsftsize}{\epsfrsize}%
\ifnum \epsfxsize = 0
\ifnum \epsfysize = 0
\epsfxsize = \epsftsize
\epsfysize = \epsfrsize
\epsfrsize = 0pt
%
% We have a sticky problem here: TeX doesn't do floating point arithmetic!
% Our goal is to compute y = rx/t. The following loop does this reasonably
% fast, with an error of at most about 16 sp (about 1/4000 pt).
%
\else
\epsftmp = \epsftsize
\divide \epsftmp by \epsfrsize
\epsfxsize = \epsfysize
\multiply \epsfxsize by \epsftmp
\multiply \epsftmp by \epsfrsize
\advance \epsftsize by -\epsftmp
\epsftmp = \epsfysize
\loop
\advance \epsftsize by \epsftsize
\divide \epsftmp by 2
\ifnum \epsftmp > 0
\ifnum \epsftsize < \epsfrsize
\else
\advance \epsftsize -\epsfrsize
\advance \epsfxsize \epsftmp
\fi
\repeat
\epsfrsize = 0pt
\fi
\else
\ifnum \epsfysize = 0
\epsftmp = \epsfrsize
\divide \epsftmp by \epsftsize
\epsfysize = \epsfxsize
\multiply \epsfysize by \epsftmp
\multiply \epsftmp by \epsftsize
\advance \epsfrsize by -\epsftmp
\epsftmp = \epsfxsize
\loop
\advance \epsfrsize by \epsfrsize
\divide \epsftmp by 2
\ifnum \epsftmp > 0
\ifnum \epsfrsize < \epsftsize
\else
\advance \epsfrsize by -\epsftsize
\advance \epsfysize by \epsftmp
\fi
\repeat
\epsfrsize = 0pt
\else
\epsfrsize = \epsfysize
\fi
\fi
}%
%
% Issue some status messages if the user requested them
%
\def \epsfstatus #1{% arg = filename
\ifepsfverbose
\immediate \write16 {#1: BoundingBox:
llx = \epsfllx \space lly = \epsflly \space
urx = \epsfurx \space ury = \epsfury \space}%
\immediate \write16 {#1: scaled width = \the\epsfxsize \space
scaled height = \the\epsfysize}%
\fi
}%
%
% We still need to define the tricky \epsfaux macro. This requires
% a couple of magic constants for comparison purposes.
%
{\catcode`\%=12 \global \let \epsfpercent=%\global \def \epsfbblit {%BoundingBox}}%
\global \def \epsfatend{(atend)}%
%
% So we're ready to check for `%BoundingBox:' and to grab the
% values if they are found.
%
% If we find a line
%
% %%BoundingBox: (atend)
%
% then we ignore it, but set a flag to force parsing all of the
% file, so the last %%BoundingBox parsed will be the one used. This
% is necessary, because EPS files can themselves contain other EPS
% files with their own %%BoundingBox comments.
%
% If we find a line
%
% %%BoundingBox: llx lly urx ury
%
% then we save the 4 values in \epsfllx, \epsflly, \epsfurx, \epsfury.
% Then, if we have not previously parsed an (atend), we flag completion
% and can stop reading the file. Otherwise, we must keep on reading
% to end of file so that we find the values on the LAST %%BoundingBox.
\long \def \epsfaux#1#2:#3\\%
{%
\def \testit {#2}% % save second character up to just before colon
\ifx#1\epsfpercent % then first char is percent (quick test)
\ifx \testit \epsfbblit % then (slow test) we have %%BoundingBox
\epsfgrab #3 . . . \\%
\ifx \epsfllx\epsfatend % then ignore %%BoundingBox: (atend)
\global \epsfatendtrue
\else % else found %%BoundingBox: llx lly urx ury
\ifepsfatend % then keep parsing ALL %%BoundingBox lines
\else % else stop after first one parsed
\epsffileokfalse
\fi
\global \epsfbbfoundtrue
\fi
\fi
\fi
}%
%
% Here we grab the values and stuff them in the appropriate definitions.
%
\def \epsfempty {}%
\def \epsfgrab #1 #2 #3 #4 #5\\{%
\global \def \epsfllx {#1}\ifx \epsfllx\epsfempty
\epsfgrab #2 #3 #4 #5 .\\\else
\global \def \epsflly {#2}%
\global \def \epsfurx {#3}\global \def \epsfury {#4}\fi
}%
%
% We default the epsfsize macro.
%
\def \epsfsize #1#2{\epsfxsize}%
%
% Finally, another definition for compatibility with older macros.
%
\let \epsffile = \epsfbox
\endinput
% 5/12/02 twbfx added,
% 5/12/02 \chapfnt=cmbx10 scaled 1440 \font\headbf=cmbx9
% 30/04/07 adddition of chapfonts
% 25/02/09 MACRO \Bfg for bold lowercase greek letters
% 22/04/09 \skewchar for \Bfg
\def\hskipb#1#2{\hdim=#1#2 \multiply \hdim by 8 \divide \hdim by 10 %
\hskip\hdim}
\def\vskipb#1#2{\hdim=#1#2 \multiply \hdim by 8 \divide \hdim by 10 %
\hskip\hdim}
\def\sla#1{\mkern-1.5mu\raise0.4pt\hbox{$\not$}\mkern1.2mu #1\mkern 0.7mu}
\def\Dbar{\mkern-1.5mu\raise0.4pt\hbox{$\not$}\mkern-.1mu {\rm D}\mkern.1mu}
\def\Abar{\mkern1.mu\raise0.4pt\hbox{$\not$}\mkern-1.3mu A\mkern.1mu}
\def\Bbar{\mkern-0.mu\raise0.4pt\hbox{$\not$}\mkern-.3mu B\mkern 0.6mu}
\newskip\tableskipamount \tableskipamount=8pt plus 3pt minus 3pt
\def\tableskip{\vskip\tableskipamount}
%****************************
%%%% chapters
\newdimen\chapskip
\chapskip=17.5mm
\font\twbfx=cmbx10 scaled 1200
\font\chapfnt=cmbx10 scaled 1440
\font\chapbxten=cmbx10
\font\chapbxseven=cmbx7
\font\twbf=cmssbx10 scaled 1200
\font\ssbx=cmssbx10
\font\twbi=cmmib10 scaled 1200
\font\chaprm=cmr10 scaled 1440
\font\chaprmscript=cmr10
\font\chaprmseven=cmr7
\font\chapssfnt=cmssbx10 scaled 1440
\font\chapssten=cmssbx10
\font\chapssseven=cmssbx10
\font\chapibfnt=cmmib10 scaled 1440
\font\chapmifnt=cmmi10 scaled 1440
\font\chapsyfnt=cmsy10 scaled 1440
\font\chapexfnt=cmex10 scaled 1440
\font\chapibten=cmmib10
\font\chapibseven=cmmib7
\font\chapmiscript=cmmi10
\font\chapsyscript=cmsy10
\font\chapexscript=cmex10
\font\chapmiseven=cmmi7
\font\chapsyseven=cmsy7
\font\chapexseven=cmex7
%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\chapfont{
%\textfont0=\chapssfnt \scriptfont0=\chapssten \scriptscriptfont0=\chapssseven
%\def\rm{\fam0\chapssfnt}
\textfont0=\chaprm\scriptfont0=\chaprmscript\scriptscriptfont0=\chaprmseven
\textfont1=\chapmifnt \scriptfont1=\chapmiscript \scriptscriptfont1=\chapmiseven
\textfont2=\chapsyfnt \scriptfont2=\chapsyscript\scriptscriptfont2=\chapsyseven
\textfont3=\chapexfnt \scriptfont3=\chapexscript \scriptscriptfont3=\chapexseven
%\textfont\itfam=\capit \def\it{\fam\itfam\capit} % \it is family 4
%\textfont\slfam=\capsl \def\sl{\fam\slfam\capsl} % \sl is family 5
\textfont\bffam=\chapfnt \scriptfont\bffam=\chapbxten
\scriptscriptfont\bffam=\chapbxseven
\def\bf{\fam\bffam\chapfnt} % \bf is family 6
\textfont4=\chapibfnt \scriptfont4=\chapibten \scriptscriptfont4=\chapibseven
\abovedisplayskip=17pt plus 5pt minus 13pt
\belowdisplayskip=\abovedisplayskip
%\smallskipamount=2.7pt plus 1pt minus 1pt
%\medskipamount=5.4pt plus 2pt minus 2pt
%\bigskipamount=10.8pt plus 3.6pt minus 3.6pt
\normalbaselineskip=17pt
\setbox\strutbox=\hbox{\vrule height12.2pt depth5.0pt width0pt}
\normalbaselines \chapssfnt}
\font\elevrm=cmr9
\font\elevit=cmti9
\font\subrm=cmr7
\font\caprm=cmr9
\font\capit=cmti9
\font\capbf=cmbx9
\font\capsl=cmsl9
\font\capmi=cmmi9
\font\capex=cmex9
\font\capsy=cmsy9
\def\makeheadline{\vbox to 0pt{\vskip-22.5pt
\line{\vbox to8.5pt{}\the\headline}\vss}\nointerlineskip}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\font\headrm=cmr10
\font\headit=cmti10
\font\headbf=cmbx9
\font\twmi=cmmi10 scaled 1200
%****************************
\font\sixrm=cmr6
\font\fiverm=cmr5
\font\sixmi=cmmi6
\font\fivemi=cmmi5
\font\sixsy=cmsy6
\font\fivesy=cmsy5
\font\sixbf=cmbx6
\font\fivebf=cmbx5
\skewchar\capmi='177 \skewchar\sixmi='177 \skewchar\fivemi='177
\skewchar\capsy='60 \skewchar\sixsy='60 \skewchar\fivesy='60
% *************************************************************************
% ****************************************************************************
% ***** MSSYMB.TeX ***** 20 Sept 91
%
% This file contains the definitions for the symbols in the two
% "extra symbols" fonts created at the American Math. Society.
%
% The old fonts msxm et msym have been replaced by msam et msbm.
\catcode`\@=11
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%***************************************************
\font\tbfi=cmmib10 %obsolete??
\font\tenbi=cmmib10
\font\ninebi=cmmib9
\font\sevenbi=cmmib7
\font\fivebi=cmmib5
\textfont4=\tenbi \scriptfont4=\sevenbi \scriptscriptfont4=\fivebi
\newfam\mibfam
\textfont\mibfam=\tenbi \scriptfont\mibfam=\sevenbi \scriptscriptfont\mibfam=\fivebi
%\edef\mib@{\hexnumber@\mibfam}
\def\Bfg{\ifmmode\let\next\Bfg@\else
\def\next{\errmessage{Use \string\Bfg\space only in math mode}}\fi\next}
\def\Bfg@#1{{\Bfg@@{#1}}}
\def\Bfg@@#1{\fam\mibfam#1}
\skewchar\tenbi='177\skewchar\sevenbi='177
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\mathchardef\alpha="710B
\mathchardef\beta="710C
\mathchardef\gamma="710D
\mathchardef\delta="710E
\mathchardef\epsilon="710F
\mathchardef\zeta="7110
\mathchardef\eta="7111
\mathchardef\theta="7112
\mathchardef\iota="7113
\mathchardef\kappa="7114
\mathchardef\lambda="7115
\mathchardef\mu="7116
\mathchardef\nu="7117
\mathchardef\xi="7118
\mathchardef\pi="7119
\mathchardef\rho="711A
\mathchardef\sigma="711B
\mathchardef\tau="711C
\mathchardef\upsilon="711D
\mathchardef\phi="711E
\mathchardef\chi="711F
\mathchardef\psi="7120
\mathchardef\omega="7121
\mathchardef\varepsilon="7122
\mathchardef\vartheta="7123
\mathchardef\varpi="7124
\mathchardef\varrho="7125
\mathchardef\varsigma="7126
\mathchardef\varphi="7127
%%%%%%%%%%%%%%%%%%%%%%%% OBSOLETE except for titles %%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\mathchardef\alphab="040B
\mathchardef\betab="040C
\mathchardef\gammab="040D
\mathchardef\deltab="040E
\mathchardef\epsilonb="040F
\mathchardef\zetab="0410
\mathchardef\etab="0411
\mathchardef\thetab="0412
\mathchardef\iotab="0413
\mathchardef\kappab="0414
\mathchardef\lambdab="0415
\mathchardef\mub="0416
\mathchardef\nub="0417
\mathchardef\xib="0418
\mathchardef\pib="0419
\mathchardef\rhob="041A
\mathchardef\sigmab="041B
\mathchardef\taub="041C
\mathchardef\upsilonb="041D
\mathchardef\phib="041E
\mathchardef\chib="041F
\mathchardef\psib="0420
\mathchardef\omegab="0421
\mathchardef\varepsilonb="0422
\mathchardef\varthetab="0423
\mathchardef\varpib="0424
\mathchardef\varrhob="0425
\mathchardef\varsigmab="0426
\mathchardef\varphib="0427
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\font\tenmsa=msam10
\font\sevenmsa=msam7
\font\fivemsa=msam5
\font\tenmsb=msbm10
\font\sevenmsb=msbm7
\font\fivemsb=msbm5
\newfam\msafam
\newfam\msbfam
\textfont\msafam=\tenmsa \scriptfont\msafam=\sevenmsa
\scriptscriptfont\msafam=\fivemsa
\textfont\msbfam=\tenmsb \scriptfont\msbfam=\sevenmsb
\scriptscriptfont\msbfam=\fivemsb
\def\hexnumber@#1{\ifcase#1 0\or1\or2\or3\or4\or5\or6\or7\or8\or9\or
A\or B\or C\or D\or E\or F\fi }
% The following 13 lines establish the use of the Euler Fraktur font.
% To use this font, remove % from beginning of these lines.
\font\teneuf=eufm10
\font\seveneuf=eufm7
\font\fiveeuf=eufm5
\newfam\euffam
\textfont\euffam=\teneuf
\scriptfont\euffam=\seveneuf
\scriptscriptfont\euffam=\fiveeuf
\def\frak{\ifmmode\let\next\frak@\else
\def\next{\Err@{Use \string\frak\space only in math mode}}\fi\next}
\def\goth{\ifmmode\let\next\frak@\else
\def\next{\Err@{Use \string\goth\space only in math mode}}\fi\next}
\def\frak@#1{{\frak@@{#1}}}
\def\frak@@#1{\fam\euffam#1}
% End definition of Euler Fraktur font.
\edef\msa@{\hexnumber@\msafam}
\edef\msb@{\hexnumber@\msbfam}
\mathchardef\boxdot="2\msa@00
\mathchardef\boxplus="2\msa@01
\mathchardef\boxtimes="2\msa@02
\mathchardef\square="0\msa@03
\mathchardef\blacksquare="0\msa@04
\mathchardef\centerdot="2\msa@05
\mathchardef\lozenge="0\msa@06
\mathchardef\blacklozenge="0\msa@07
\mathchardef\circlearrowright="3\msa@08
\mathchardef\circlearrowleft="3\msa@09
\mathchardef\rightleftharpoons="3\msa@0A
\mathchardef\leftrightharpoons="3\msa@0B
\mathchardef\boxminus="2\msa@0C
\mathchardef\Vdash="3\msa@0D
\mathchardef\Vvdash="3\msa@0E
\mathchardef\vDash="3\msa@0F
\mathchardef\twoheadrightarrow="3\msa@10
\mathchardef\twoheadleftarrow="3\msa@11
\mathchardef\leftleftarrows="3\msa@12
\mathchardef\rightrightarrows="3\msa@13
\mathchardef\upuparrows="3\msa@14
\mathchardef\downdownarrows="3\msa@15
\mathchardef\upharpoonright="3\msa@16
\let\restriction=\upharpoonright
\mathchardef\downharpoonright="3\msa@17
\mathchardef\upharpoonleft="3\msa@18
\mathchardef\downharpoonleft="3\msa@19
\mathchardef\rightarrowtail="3\msa@1A
\mathchardef\leftarrowtail="3\msa@1B
\mathchardef\leftrightarrows="3\msa@1C
\mathchardef\rightleftarrows="3\msa@1D
\mathchardef\Lsh="3\msa@1E
\mathchardef\Rsh="3\msa@1F
\mathchardef\rightsquigarrow="3\msa@20
\mathchardef\leftrightsquigarrow="3\msa@21
\mathchardef\looparrowleft="3\msa@22
\mathchardef\looparrowright="3\msa@23
\mathchardef\circeq="3\msa@24
\mathchardef\succsim="3\msa@25
\mathchardef\gtrsim="3\msa@26
\mathchardef\gtrapprox="3\msa@27
\mathchardef\multimap="3\msa@28
\mathchardef\therefore="3\msa@29
\mathchardef\because="3\msa@2A
\mathchardef\doteqdot="3\msa@2B
\let\Doteq=\doteqdot
\mathchardef\triangleq="3\msa@2C
\mathchardef\precsim="3\msa@2D
\mathchardef\lesssim="3\msa@2E
\mathchardef\lessapprox="3\msa@2F
\mathchardef\eqslantless="3\msa@30
\mathchardef\eqslantgtr="3\msa@31
\mathchardef\curlyeqprec="3\msa@32
\mathchardef\curlyeqsucc="3\msa@33
\mathchardef\preccurlyeq="3\msa@34
\mathchardef\leqq="3\msa@35
\mathchardef\leqslant="3\msa@36
\mathchardef\lessgtr="3\msa@37
\mathchardef\backprime="0\msa@38
\mathchardef\risingdotseq="3\msa@3A
\mathchardef\fallingdotseq="3\msa@3B
\mathchardef\succcurlyeq="3\msa@3C
\mathchardef\geqq="3\msa@3D
\mathchardef\geqslant="3\msa@3E
\mathchardef\gtrless="3\msa@3F
\mathchardef\sqsubset="3\msa@40
\mathchardef\sqsupset="3\msa@41
\mathchardef\vartriangleright="3\msa@42
\mathchardef\vartriangleleft="3\msa@43
\mathchardef\trianglerighteq="3\msa@44
\mathchardef\trianglelefteq="3\msa@45
\mathchardef\bigstar="0\msa@46
\mathchardef\between="3\msa@47
\mathchardef\blacktriangledown="0\msa@48
\mathchardef\blacktriangleright="3\msa@49
\mathchardef\blacktriangleleft="3\msa@4A
\mathchardef\vartriangle="0\msa@4D
\mathchardef\blacktriangle="0\msa@4E
\mathchardef\triangledown="0\msa@4F
\mathchardef\eqcirc="3\msa@50
\mathchardef\lesseqgtr="3\msa@51
\mathchardef\gtreqless="3\msa@52
\mathchardef\lesseqqgtr="3\msa@53
\mathchardef\gtreqqless="3\msa@54
\mathchardef\Rrightarrow="3\msa@56
\mathchardef\Lleftarrow="3\msa@57
\mathchardef\veebar="2\msa@59
\mathchardef\barwedge="2\msa@5A
\mathchardef\doublebarwedge="2\msa@5B
\mathchardef\angle="0\msa@5C
\mathchardef\measuredangle="0\msa@5D
\mathchardef\sphericalangle="0\msa@5E
\mathchardef\varpropto="3\msa@5F
\mathchardef\smallsmile="3\msa@60
\mathchardef\smallfrown="3\msa@61
\mathchardef\Subset="3\msa@62
\mathchardef\Supset="3\msa@63
\mathchardef\Cup="2\msa@64
\let\doublecup=\Cup
\mathchardef\Cap="2\msa@65
\let\doublecap=\Cap
\mathchardef\curlywedge="2\msa@66
\mathchardef\curlyvee="2\msa@67
\mathchardef\leftthreetimes="2\msa@68
\mathchardef\rightthreetimes="2\msa@69
\mathchardef\subseteqq="3\msa@6A
\mathchardef\supseteqq="3\msa@6B
\mathchardef\bumpeq="3\msa@6C
\mathchardef\Bumpeq="3\msa@6D
\mathchardef\lll="3\msa@6E
\let\llless=\lll
\mathchardef\ggg="3\msa@6F
\let\gggtr=\ggg
\mathchardef\circledS="0\msa@73
\mathchardef\pitchfork="3\msa@74
\mathchardef\dotplus="2\msa@75
\mathchardef\backsim="3\msa@76
\mathchardef\backsimeq="3\msa@77
\mathchardef\complement="0\msa@7B
\mathchardef\intercal="2\msa@7C
\mathchardef\circledcirc="2\msa@7D
\mathchardef\circledast="2\msa@7E
\mathchardef\circleddash="2\msa@7F
\def\ulcorner{\delimiter"4\msa@70\msa@70 }
\def\urcorner{\delimiter"5\msa@71\msa@71 }
\def\llcorner{\delimiter"4\msa@78\msa@78 }
\def\lrcorner{\delimiter"5\msa@79\msa@79 }
\def\yen{\mathhexbox\msa@55 }
\def\checkmark{\mathhexbox\msa@58 }
\def\circledR{\mathhexbox\msa@72 }
\def\maltese{\mathhexbox\msa@7A }
\mathchardef\lvertneqq="3\msb@00
\mathchardef\gvertneqq="3\msb@01
\mathchardef\nleq="3\msb@02
\mathchardef\ngeq="3\msb@03
\mathchardef\nless="3\msb@04
\mathchardef\ngtr="3\msb@05
\mathchardef\nprec="3\msb@06
\mathchardef\nsucc="3\msb@07
\mathchardef\lneqq="3\msb@08
\mathchardef\gneqq="3\msb@09
\mathchardef\nleqslant="3\msb@0A
\mathchardef\ngeqslant="3\msb@0B
\mathchardef\lneq="3\msb@0C
\mathchardef\gneq="3\msb@0D
\mathchardef\npreceq="3\msb@0E
\mathchardef\nsucceq="3\msb@0F
\mathchardef\precnsim="3\msb@10
\mathchardef\succnsim="3\msb@11
\mathchardef\lnsim="3\msb@12
\mathchardef\gnsim="3\msb@13
\mathchardef\nleqq="3\msb@14
\mathchardef\ngeqq="3\msb@15
\mathchardef\precneqq="3\msb@16
\mathchardef\succneqq="3\msb@17
\mathchardef\precnapprox="3\msb@18
\mathchardef\succnapprox="3\msb@19
\mathchardef\lnapprox="3\msb@1A
\mathchardef\gnapprox="3\msb@1B
\mathchardef\nsim="3\msb@1C
%\mathchardef\napprox="3\msb@1D
\mathchardef\ncong="3\msb@1D
\def\napprox{\not\approx}
\mathchardef\varsubsetneq="3\msb@20
\mathchardef\varsupsetneq="3\msb@21
\mathchardef\nsubseteqq="3\msb@22
\mathchardef\nsupseteqq="3\msb@23
\mathchardef\subsetneqq="3\msb@24
\mathchardef\supsetneqq="3\msb@25
\mathchardef\varsubsetneqq="3\msb@26
\mathchardef\varsupsetneqq="3\msb@27
\mathchardef\subsetneq="3\msb@28
\mathchardef\supsetneq="3\msb@29
\mathchardef\nsubseteq="3\msb@2A
\mathchardef\nsupseteq="3\msb@2B
\mathchardef\nparallel="3\msb@2C
\mathchardef\nmid="3\msb@2D
\mathchardef\nshortmid="3\msb@2E
\mathchardef\nshortparallel="3\msb@2F
\mathchardef\nvdash="3\msb@30
\mathchardef\nVdash="3\msb@31
\mathchardef\nvDash="3\msb@32
\mathchardef\nVDash="3\msb@33
\mathchardef\ntrianglerighteq="3\msb@34
\mathchardef\ntrianglelefteq="3\msb@35
\mathchardef\ntriangleleft="3\msb@36
\mathchardef\ntriangleright="3\msb@37
\mathchardef\nleftarrow="3\msb@38
\mathchardef\nrightarrow="3\msb@39
\mathchardef\nLeftarrow="3\msb@3A
\mathchardef\nRightarrow="3\msb@3B
\mathchardef\nLeftrightarrow="3\msb@3C
\mathchardef\nleftrightarrow="3\msb@3D
\mathchardef\divideontimes="2\msb@3E
\mathchardef\varnothing="0\msb@3F
\mathchardef\nexists="0\msb@40
\mathchardef\mho="0\msb@66
\mathchardef\eth="0\msb@67
\mathchardef\eqsim="3\msb@68
\mathchardef\beth="0\msb@69
\mathchardef\gimel="0\msb@6A
\mathchardef\daleth="0\msb@6B
\mathchardef\lessdot="3\msb@6C
\mathchardef\gtrdot="3\msb@6D
\mathchardef\ltimes="2\msb@6E
\mathchardef\rtimes="2\msb@6F
\mathchardef\shortmid="3\msb@70
\mathchardef\shortparallel="3\msb@71
\mathchardef\smallsetminus="2\msb@72
\mathchardef\thicksim="3\msb@73
\mathchardef\thickapprox="3\msb@74
\mathchardef\approxeq="3\msb@75
\mathchardef\succapprox="3\msb@76
\mathchardef\precapprox="3\msb@77
\mathchardef\curvearrowleft="3\msb@78
\mathchardef\curvearrowright="3\msb@79
\mathchardef\digamma="0\msb@7A
\mathchardef\varkappa="0\msb@7B
\mathchardef\hslash="0\msb@7D
\mathchardef\hbar="0\msb@7E
\mathchardef\backepsilon="3\msb@7F
\def\Bbb{\ifmmode\let\next\Bbb@\else
\def\next{\errmessage{Use \string\Bbb\space only in math mode}}\fi\next}
\def\Bbb@#1{{\Bbb@@{#1}}}
\def\Bbb@@#1{\fam\msbfam#1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\font\sacfont=eufm10 scaled 1440
\def\elevenpoint{
\textfont0=\caprm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
\def\rm{\fam0\caprm}
\textfont1=\capmi \scriptfont1=\sixmi \scriptscriptfont1=\fivemi
\textfont2=\capsy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy
\textfont3=\capex \scriptfont3=\capex \scriptscriptfont3=\capex
\textfont\itfam=\capit \def\it{\fam\itfam\capit} % \it is family 4
\textfont\slfam=\capsl \def\sl{\fam\slfam\capsl} % \sl is family 5
\textfont\bffam=\capbf \scriptfont\bffam=\sixbf
\scriptscriptfont\bffam=\fivebf
\def\bf{\fam\bffam\capbf} % \bf is family 6
\textfont4=\ninebi \scriptfont4=\sevenbi \scriptscriptfont4=\fivebi
\abovedisplayskip=11pt plus 3pt minus 8pt
\belowdisplayskip=\abovedisplayskip
\smallskipamount=2.7pt plus 1pt minus 1pt
\medskipamount=5.4pt plus 2pt minus 2pt
\bigskipamount=10.8pt plus 3.6pt minus 3.6pt
\normalbaselineskip=11pt
\setbox\strutbox=\hbox{\vrule height7.8pt depth3.2pt width0pt}
\normalbaselines \rm}
\catcode`\@=12
%**************************** SACMACE.TEX %%%%%%***********************************
%********************************************************************%%%*******
% Macros for articles using a modified version of macros of
%``Quantum field theory and critical phenomena" combined with harvmac
% Version with 2 type of fonts: 10 pts, 10 pts magnified
% 10 pts uses double column format with "landscape"
% J. Zinn-Justin 9/02/1996
% bug corrected 17/02/99, 15/05/99, 21/10/99
% modif 03/03/99
% addition of \figlbl and \label protection on 25/05/99
% modification of sslbl concerning appendix 29/05/99
% bug hypertex corrected 03/07/99
% table numbering 16/02/2000
% addition \dd,\ddi 24/03/02
% date bug 2000 corrected, page number centred in draft mode 12/04/02
% 11/09/02 Reference added in table of contents
% 06/12/02 \sslbl modified . Index added
% 27/12/02 ARTICLE MACROS
% 28/07/2007 lfont replaced by lfontnew
% 23/02/09 supression of \def\n{\noindent}
% 08/03/09 bug corrigé dans \ssubsection
% 25/03/09 bug corrigé dans \ssubsection
% 26/03/09 introduction de \firstpage
% 10/02/2010 correction in \nrf correction de \fpage en \firstpage dans %\title
% 16/01/2013 change after jobname.equ
% *************************** output macros %%%%********************************
\input hyperbasics
\catcode`\@=11
%%% saclay A4 paper:
\def\unredoffs{\voffset=13mm \hoffset=6.5truemm}
\def\redoffs{\voffset=-12.truemm\hoffset=-3truemm}
\def\speclscape{\special{landscape}}
\newif\ifbookmode
\bookmodefalse
%
% ****************************** INDEX
\newwrite\inx
\def\book{\bookmodetrue\immediate\openout\inx=\jobname.inx%
\hsize=120mm\vsize=195mm}
\def\@#1{\noindent\ifbookmode\write\inx{#1,\space
\number\pageno.\par}\fi}
%---------------------------------------------------------------------%
\newbox\leftpage \newdimen\fullhsize \newdimen\hstitle \newdimen\hsbody
\newdimen\hdim
%\tolerance=1000
\hfuzz=1pt
%\def\fontflag{cm}
%
\ifx\hyperdef\UNd@FiNeD\def\hyperdef#1#2#3#4{#4}\def\hyperref#1#2#3#4{#4}\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\bigans{b }
%\message{ big or little (b/l)? }\read-1 to\answ
\def\answ{b }
%
\ifx\answ\bigans\message{(Format simple colonne 12pts.}
\magnification=1200 \unredoffs%\ifbookmode \hsize=144truemm\vsize=234truemm%
%\else
\hsize=122.5mm\vsize=182.5mm
%\fi
\hsbody=\hsize \hstitle=\hsize %take default values for unreduced format
%
\else\message{(Format simple colonne, 10pts.} \let\l@r=L
\magnification=1000
\redoffs%
\hsize=122.5mm\vsize=182.5mm
\hsbody=\hsize \hstitle=\hsize %take default values for unreduced format
\fi
%
%%%%%%%%%%%%%%%%%%%%%% fonts, Dirac slash %%%%%%%%%%%%%%%
\input lfontnew
%
\def\sla#1{\mkern-1.5mu\raise0.4pt\hbox{$\not$}\mkern1.2mu #1\mkern 0.7mu}
\def\Dbar{\mkern-1.5mu\raise0.4pt\hbox{$\not$}\mkern-.1mu {\rm D}\mkern.1mu}
\def\Abar{\mkern1.mu\raise0.4pt\hbox{$\not$}\mkern-1.3mu A\mkern.1mu}
\nopagenumbers
%%%%%%%%%%%%%%%%%% headline %%%%%%%%%%%%%%%%%%%%%%%%
\def\makeheadline{\vbox to 0pt{\vskip-27pt
\line{\vbox to8.5pt{}\the\headline}\vss}\nointerlineskip}
%
\def\subsectionname{}
\def\sectionname{}
%
\headline={\ifnum\pageno=1\hfill\else\draftdate\hfil{\headrm\folio}%
\hfil\hphantom{\draftdate}\fi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %********* end ouput macros
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ****** extrait de definit.tex (obsolete ?)
\def\fileth{\noalign{\hrule}}
\def\saut{\noalign{\smallskip}}
\def\alignement{\offinterlineskip\halign}
\def\filetv{\vrule}
\def\colgauche{\strut\ }
\def\coldroite{\ }
\def\filetdroit{\cr}
\def\filetvide{height2pt}
\def\colvide{\omit}
\def\fintableau{}
% **************************************************************
\newcount\yearltd\yearltd=\year\advance\yearltd by -2000
\newif\ifdraftmode
\draftmodefalse
\def\draft{\draftmodetrue{\count255=\time\divide\count255 by 60
\xdef\hourmin{\number\count255}
\multiply\count255 by-60\advance\count255 by\time
\xdef\hourmin{\hourmin:\ifnum\count255<10 0\fi\the\count255}}}
\def\draftdate{\ifdraftmode{\headrm\quad (\jobname,\ le
\number\day/\number\month/\number\yearltd\ \ \hourmin)}\else{}\fi}
\newif\iffrancmode
\francmodefalse
% ********* A few math symbols
\def\e{\mathop{\rm e}\nolimits}
\def\sgn{\mathop{\rm sgn}\nolimits}
\def\Im{\mathop{\rm Im}\nolimits}
\def\Re{\mathop{\rm Re}\nolimits}
\def\d{{\rm d}}
\def\ud{{\textstyle{1\over 2}}}
\def\half{\ud}
\def\tr{\mathop{\rm tr}\nolimits}
\def\det{\mathop{\rm det}\nolimits}
\def\del{\partial}
\def\dd{\d^d\hskip-1pt}
\def\ddi{\d^{d-1}\hskip-1pt}
\def\amp{{\rm amp.}}
\def\as{{\rm ,as.}}
\def\div{{\rm div.}}
\def\lqs{\lq\lq}
\chardef\sigmat=27
%\def\n{\noindent}
\def\rf{\par\item{}}
\def\nrf{\par\noindent}
\def\frac#1#2{{\textstyle{#1\over#2}}}
\def\today{\number\day/\number\month/\number\year}
\def\leaderfill{\leaders\hbox to 1em{\hss.\hss}\hfill}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\catcode`\@=11
% ************** double alignment in eqalignno style **********************
\def\deqalignno#1{\displ@y\tabskip\centering \halign to
\displaywidth{\hfil$\displaystyle{##}$\tabskip0pt&$\displaystyle{{}##}$
\hfil\tabskip0pt &\quad
\hfil$\displaystyle{##}$\tabskip0pt&$\displaystyle{{}##}$
\hfil\tabskip\centering& \llap{$##$}\tabskip0pt \crcr #1 \crcr}}
%%%%%%%%%%%%%%% double eqalign %%%%%%%%%%%%%%%%%%%%%%%
\def\deqalign#1{\null\,\vcenter{\openup\jot\m@th\ialign{
\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
&&\quad\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$
\hfil\crcr#1\crcr}}\,}
%***************************************************************************
% protection macro for undefined macros
\def\xlabel#1{\expandafter\xl@bel#1}\def\xl@bel#1{#1}
\def\label#1{\l@bel #1{\hbox{}}}
\def\l@bel#1{\ifx\UNd@FiNeD#1\message{label \string#1 is undefined.}%
\xdef#1{?.? }\fi{\let\hyperref=\relax\xdef\next{#1}}%
\ifx\next\em@rk\def\next{}%
%\else\ifx\next#1\xlabel#1\fi\fi\next
\else\def\next{#1}\fi\next}
%***************************************************************************
%********* titlepage, headline, chapter section, subsection, sub, appendix *********
%***************************************************************************
%**************** input with check of file existence ***********************
% Warning macro
\def\DefWarn#1{\ifx\UNd@FiNeD#1\else
\immediate\write16{*** WARNING: the label \string#1 is already defined%
***}\fi}%
%NOW WORK syntax \cinput{filename}
\newread\ch@ckfile
\def\cinput#1{\def\filen@me{#1 }% space mandatory after #1 !!
\immediate\openin\ch@ckfile=\filen@me
\ifeof\ch@ckfile\message{<< (\filen@me\ DOES NOT EXIST in this pass)>>}\else%
\closein \ch@ckfile\input\filen@me\fi}
%********* introduce equation number file: for non-causal quotation
\ifx\UNd@FiNeD\prefix\def\prefix{}\fi % correction added
\newread\ch@ckfile
\immediate\openin\ch@ckfile=\jobname.def
\ifeof\ch@ckfile\message{<< (\jobname.def DOES NOT EXIST in this pass) >>}
\else
\def\DefWarn#1{}%
\closein \ch@ckfile%
\input\jobname.def\fi
%**********
% Autre utilitaire
\def\listcontent{%\immediate\closeout\tfile%
\immediate\openin\ch@ckfile=\jobname.tab % space mandatory after tab!!
\ifeof\ch@ckfile\message{no file \jobname.tab, no table of contents this
pass}%
\else\closein\ch@ckfile%
\def\sectionname{\iffrancmode Table des
mati\`eres \else Contents\fi}
\centerline{\twbfx\iffrancmode Table des
mati\`eres \else Contents\fi}\nobreak\medskip%
{\baselineskip=12pt\parskip=0pt\catcode`\@=11\input\jobname.tab
\catcode`\@=12\bigbreak\bigskip}\fi}
%**************************************************************************
\newcount\nochapter
\newcount\nosection
\newcount\nosubsection
\newcount\neqno
\newcount\notenumber
\newcount\nofigure
\newcount\notable
\newcount\noexerc
\newcount\fpage
\newcount\firstpage
\newif\ifappmode
%\def\table{\jobname.toc}
%%%%%%%%%%%%%%%%%%%%%%% \def\equation{\jobname.equ}
%\def\labeldefs{\jobname.eqd}
\newwrite\equa
%\newwrite\tab
%\newwrite\eqdf
% ******************* titlepage **********************************
\def\authorname#1{\centerline{\bf #1}\smallskip}
\def\address#1{\baselineskip14pt #1\bigskip}
\def\saclay{\baselineskip14pt\centerline{CEA-Saclay, Service de Physique
Th\'eorique${}^\dagger$}
\centerline{F-91191 Gif-sur-Yvette Cedex, FRANCE}\bigskip
\footnote{}{${^\dagger}$Laboratoire de la Direction des
Sciences de la Mati\`ere du Commissariat \`a l'Energie Atomique}
}
\newdimen\hulp
\def\maketitle#1{
\edef\oneliner##1{\centerline{##1}}
\edef\twoliner##1{\vbox{\parindent=0pt\leftskip=0pt plus 1fill\rightskip=0pt
plus 1fill
\parfillskip=0pt\relax##1}}
\setbox0=\vbox{#1}\hulp=0.5\hsize
\ifdim\wd0<\hulp\oneliner{#1}\else
\twoliner{#1}\fi}
\def\preprint#1{\ifdraftmode\gdef\prepname{\jobname/#1}\else%
\gdef\prepname{#1}\fi\hfill{%\sacfont
\expandafter{\prepname}}\vskip20mm}
% **************** beginning
\def\title#1\par{\gdef\titlename{#1}
%\global\fpage=\pageno
\global\firstpage=\pageno
\nosection=0
\mark{\the\nosection}
\maketitle{\ssbx\uppercase\expandafter{\titlename}}
\vskip17mm
\nochapter=0
\neqno=0
\notenumber=0
\nofigure=0
\notable=0
\def\prefix{}
\appmodefalse
\mark{\the\nochapter}
\message{#1}
%\immediate\openout\tab=\table
%%%%%%%%%%%%%%%%%%%%%\immediate\openout\equa=\equation%
\immediate\openout\equa=\jobname.equ %
%\immediate\openout\eqdf=\labeldefs
%\edef\ecrire{\write\tab{\par\noindent{\ssbx\ \titlename}
%\string\leaderfill{\noexpand\number\pageno}}}\ecrire
%\edef\ecrire{\write\equa{{\titlename},
%{\noexpand\number\pageno}, Date \today}\write\equa{}}\ecrire
}
\ifbookmode%
\headline={\ifnum\pageno=\firstpage\hfill\else\ifodd\pageno\rightheadline
\else\leftheadline\fi\fi}
\else
\headline={\ifnum\pageno=\firstpage\hfill\else\draftdate\hfil{\headrm\folio}%
\hfil\hphantom{\draftdate}\fi}\fi
%}
\def\abstract{\vskip8mm\iffrancmode\centerline{R\'ESUM\'E}\else%
\centerline{ABSTRACT}\fi \smallskip \begingroup\narrower
\elevenpoint\baselineskip10pt}
\def\endabstract{\par\endgroup \bigskip}
% ***************** input table of contents
%\def\content{\vfill\eject% A un bug dans le format double colonne
%\begingroup\centerline{\uppercase\expandafter{Table of contents}}%
%\bigskip\elevenpoint\noindent%
%\parindent=2em
%\openin 1=\jobname.tab
%\ifeof 1\closein1\message{<< (\jobname.tab DOES NOT EXIST. TeX again)>>}%
%\else\input\jobname.tab\closein 1\fi
%\endgroup\vfill\eject}
%******************************* SECTION ****************************
%******************************************************************
\def\section#1\par{\vskip0pt plus.1\vsize\penalty-100\vskip0pt plus-.1
\vsize\bigskip\vglue\parskip\par%
\global\fpage=\pageno
\ifnum\nochapter=0\ifappmode\relax\else\writetoc
\fi\fi% ajout
\advance\nochapter by 1\global\nosection=0\global\neqno=0
\gdef\sectionname{#1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\vbox{\noindent\twbfx{\hyperdef\hypernoname{section}{\prefix\the\nochapter}%
{\prefix\the\nochapter}\ #1}}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\vbox{\noindent\twbfx\ifappmode\iffrancmode{Appendice\ }\else {Appendix\ }\fi
%\else\iffrancmode{Chapitre\ }\else {Chapter\ }\fi\fi%
\message{\prefix\the\nochapter\ \sectionname}%
%{\hyperdef\hypernoname{chapter}{\prefix\the\nochapter}{\prefix\the\nochapter}%
%\vskip11.5mm
%\vbox{\noindent\twbfx{#1}}}}\vskip9mm%
\writetoca{{\string\hyperref{}{section}{\prefix\the\nochapter}%
{\prefix\the\nochapter}} {#1}}%
%\mark{\the\nosection
\bigskip\noindent%
}
% appendix
\def\appendix#1#2\par{\bigbreak\nochapter=0
\appmodetrue
\notenumber=0
\neqno=0
\def\prefix{A}
\mark{\the\nochapter}
\message{APPENDICES}
%\leftline{APPENDICES}
{\hyperdef\hypernoname{section}{\prefix}{
\leftline{\uppercase\expandafter{#1}}
\leftline{\uppercase\expandafter{#2}}}}
\noindent\nonfrenchspacing
\writetoca{\string\hyperref{}{section}{\prefix}{Appendices}.\ #1 \ #2}%
}
% **************************** SUBSECTION *************************
\def\subsection#1\par{\vskip0pt plus.05\vsize\penalty-100\vskip0pt
plus-.05\vsize\bigskip\vskip1mm\advance\nosection by 1
\global\nosubsection=0
\def\subsectionname{#1}
\mark{#1}
\message{\the\nochapter.\the\nosection\ #1}
\vbox{\noindent\bf{\hyperdef\hypernoname{section}{\prefix\the\nochapter.%
\the\nosection}{\prefix\the\nochapter.\the\nosection\ #1}}}\vskip1mm%
%\mark{\the\nosection}
\smallskip\noindent%
%\edef\ecrire{\write\tab{\string\par\string\itemitem
%{\prefix\the\nosection.\the\nosubsection} {#1}
%\string\leaderfill{\noexpand\number\pageno}}}\ecrire
\writetoca{{\string\hyperref{}{section}{\prefix\the\nochapter.%
\the\nosection}{\prefix\the\nochapter.\the\nosection}} {#1}}%
}
%%%%%%%%%%%%%%%%%% SUBSUBSECTION %%%%%%%%%%%%%%%%%%%%
\def\ssubsection#1\par{\vskip0pt plus.05\vsize\penalty-100\vskip0pt%
plus-.05\vsize\medskip\vskip\parskip\advance\nosubsection by 1%
\message{\the\nochapter.\the\nosection.\the\nosubsection\ #1}%
\vbox{\noindent\bf{\hyperdef\hypernoname{section}{\prefix\the\nochapter.%
\the\nosection.\the\nosubsection}{\prefix\the\nochapter.\the\nosection.%
\the\nosubsection\ \bf #1}}}%
%\vbox{\noindent\it\prefix\the\nochapter.\the\nosection.\the\nosubsection\
%\it #1}
\smallskip\noindent%
\writetoca{{\string\hyperref{}{section}{\prefix\the\nochapter.%
\the\nosection.\the\nosubsection}{\prefix\the\nochapter.\the\nosection.%
\the\nosubsection}} {#1}}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\def\note #1{\advance\notenumber by 1
\footnote{$^{\the\notenumber}$}{\sevenrm #1}}
% ?????
\def\sub#1{\medskip\vskip\parskip
{\indent{\it #1}.}}
%\def\enchapter{\end}
\parindent=1em
\newinsert\margin
\dimen\margin=\maxdimen
\count\margin=0 \skip\margin=0pt
%*****************************************************************
% IMPORTANT, new version demands chapter be defined before any section,
% section be defined before any subsection
\def\sslbl#1{\DefWarn#1%
\ifdraftmode{\leavevmode\vadjust{\smash%
{\line{{\escapechar=` \hfill\rlap{\sevenrm\hskip1mm\string#1}}}}}}%
\fi
\ifnum\nochapter=0%
\if\prefix{}\xdef#1{}%
\edef\ewrite{\write\equa{{\string#1}}%
\write\equa{}}\ewrite%
\else
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\xdef#1{\noexpand\hyperref{}{section}{\prefix}{\prefix}}%
\edef\ewrite{\write\equa{{\string#1},\prefix}%
\write\equa{}}\ewrite%
\writedef{#1\leftbracket#1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fi
\else%
\ifnum\nosection=0%
\xdef#1{\noexpand\hyperref{}{section}{\prefix\the\nochapter}%
{\prefix\the\nochapter}}%
\edef\ewrite{\write\equa{{\string#1},\prefix\the\nochapter}%
\write\equa{}}\ewrite%
\writedef{#1\leftbracket#1}
\else%
\ifnum\nosubsection=0%
\xdef#1{\noexpand\hyperref{}{section}{\prefix\the\nochapter.%
\the\nosection}{\prefix\the\nochapter.\the\nosection}}%
\writedef{#1\leftbracket#1}
\edef\ewrite{\write\equa{{\string#1},\prefix\the\nochapter%
.\the\nosection}\write\equa{}}\ewrite%
\else%
\xdef#1{\noexpand\hyperref{}{section}%
{\prefix\the\nochapter.\the\nosection.\the\nosubsection}%
{\prefix\the\nochapter.\the\nosection.\the\nosubsection}}%
\writedef{#1\leftbracket#1}
%\xdef#1{\prefix\the\nochapter.\the\nosection.\the\nosubsection}%
%\edef\ewrite{\write\eqdf{\string\def\string#1{\prefix\the\nochapter.%
%\the\nosection.\the\nosubsection}}\write\eqdf{}}\ewrite%
\edef\ewrite{\write\equa{{\string#1},\prefix\the\nochapter.\the\nosection%
.\the\nosubsection}\write\equa{}}\ewrite%
\fi\fi\fi}%
%**********************************************************************
% *************
\newwrite\tfile \def\writetoca#1{}
% use this to write file with table of contents
\def\writetoc{\immediate\openout\tfile=\jobname.tab
\def\writetoca##1{{\edef\next{\write\tfile{\noindent ##1 \string\leaderfill%
%{\string\hyperref{}{page}{\noexpand\number\pageno}{\noexpand\number\pageno}}
\noexpand\number\pageno\par}}\next}}}
% ********************* references harvmac style ***********************
% \ref\label{text}
% generates a number, assigns it to \label, generates an entry.
% To list the refs on a separate page, \listrefs
%
\def\nolabels{\def\wrlabeL##1{}\def\eqlabeL##1{}\def\reflabeL##1{}}
\def\writelabels{\def\wrlabeL##1{\leavevmode\vadjust{\rlap{\smash%
{\line{{\escapechar=` \hfill\rlap{\sevenrm\hskip.03in\string##1}}}}}}}%
\def\eqlabeL##1{{\escapechar-1\rlap{\sevenrm\hskip.05in\string##1}}}%
\def\reflabeL##1{\noexpand\llap{\noexpand\sevenrm\string\string\string##1}}}
\ifdraftmode\writelabels\else\nolabels\fi
\global\newcount\refno \global\refno=1
\newwrite\rfile
%
\def\ref{[\hyperref{}{reference}{\the\refno}{\the\refno}]\nref}
\def\nref#1{\DefWarn#1%
\xdef#1{[\noexpand\hyperref{}{reference}{\the\refno}{\the\refno}]}%
\writedef{#1\leftbracket#1}%
\ifnum\refno=1\immediate\openout\rfile=\jobname.ref\fi
\chardef\wfile=\rfile\immediate\write\rfile{\noexpand\item{[\noexpand\hyperdef%
\noexpand\hypernoname{reference}{\the\refno}{\the\refno}]\ }%
\reflabeL{#1\hskip.31in}\pctsign}\global\advance\refno by1\findarg}
% horrible hack to sidestep tex \write limitation%
\def\findarg#1#{\begingroup\obeylines\newlinechar=`\^^M\pass@rg}
{\obeylines\gdef\pass@rg#1{\writ@line\relax #1^^M\hbox{}^^M}%
\gdef\writ@line#1^^M{\expandafter\toks0\expandafter{\striprel@x #1}%
\edef\next{\the\toks0}\ifx\next\em@rk\let\next=\endgroup\else\ifx\next\empty%
\else\immediate\write\wfile{\the\toks0}\fi\let\next=\writ@line\fi\next\relax}}
\def\striprel@x#1{} \def\em@rk{\hbox{}}
%
\def\lref{\begingroup\obeylines\lr@f}
\def\lr@f#1#2{\DefWarn#1\gdef#1{\let#1=\UNd@FiNeD\ref#1{#2}}\endgroup\unskip}
%
\def\semi{;\hfil\break}
\def\addref#1{\immediate\write\rfile{\noexpand\item{}#1}} %now unnecessary
%
\def\listrefs{{}\vfill\supereject\immediate\closeout\rfile\writestoppt
\baselineskip=14pt
\gdef\reference{\iffrancmode R\'eferences \else References\fi}
\mark{\reference}
\nochapter=0\def\sectionname{\reference}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{\centerline{\bf \hyperdef\hypernoname{refer}{refer}{\bf \reference}}}
\nobreak\bigskip\noindent
\writetoca{\string\hyperref{}{refer}{refer}{\reference}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{\parindent=20pt%
\frenchspacing\escapechar=` \input \jobname.ref\vfill\eject}\nonfrenchspacing}
%
\def\startrefs#1{\immediate\openout\rfile=\jobname.ref\refno=#1}
%
\def\xref{\expandafter\xr@f}\def\xr@f[#1]{#1}
\def\refs#1{\count255=1[\r@fs #1{\hbox{}}]}
\def\r@fs#1{\ifx\UNd@FiNeD#1\message{reflabel \string#1 is undefined.}%
\nref#1{need to supply reference \string#1.}\fi%
\vphantom{\hphantom{#1}}{\let\hyperref=\relax\xdef\next{#1}}%
\ifx\next\em@rk\def\next{}%
\else\ifx\next#1\ifodd\count255\relax\xref#1\count255=0\fi%
\else#1\count255=1\fi\let\next=\r@fs\fi\next}
%************************
%*******
%
\newwrite\lfile
{\escapechar-1\xdef\pctsign{\string\%}\xdef\leftbracket{\string\{}
\xdef\rightbracket{\string\}}\xdef\numbersign{\string\#}}
\def\writedefs{\immediate\openout\lfile=\jobname.def \def\writedef##1{%
{\let\hyperref=\relax\let\hyperdef=\relax\let\hypernoname=\relax
\immediate\write\lfile{\string\def\string##1\rightbracket}}}}%
\def\writestop{\def\writestoppt{\immediate\write\lfile{\string\pageno%
\the\pageno\string\startrefs\leftbracket\the\refno\rightbracket%
\string\def\string\secsym\leftbracket\secsym\rightbracket%
\string\secno\the\secno\string\meqno\the\meqno}\immediate\closeout\lfile}}
%
\def\writestoppt{}\def\writedef#1{}
\writedefs
% ******
% bibliography: not very satisfactory
\def\biblio\par{\vskip0pt plus.1\vsize\penalty-100\vskip0pt plus-.1
\vsize\bigskip\vskip\parskip
\message{Bibliographie}
{\leftline{\bf \hyperdef\hypernoname{biblio}{bib}{Bibliographical Notes}}}
\nobreak\medskip\noindent\frenchspacing
\writetoca{\string\hyperref{}{biblio}{bib}{Bibliographical Notes}}}%
\def\endbiblio{\nonfrenchspacing}
%**************** autre version si plusieurs biblio ************************
\def\biblionote{\iffrancmode Notes Bibliographiques\else Bibliographical Notes
\fi}
\def\beginbib\par{\vskip0pt plus.1\vsize\penalty-100\vskip0pt plus-.1
\vsize\bigskip\vskip\parskip
\message{Bibliographie}
{\leftline{\bf \hyperdef\hypernoname{biblio}{\prefix\the\nochapter}%
{\biblionote}}}
\nobreak\medskip\noindent\frenchspacing
\writetoca{\string\hyperref{}{biblio}{\prefix\the\nochapter}%
{\biblionote}}}%
\def\endbib{\nonfrenchspacing}
% *************** exercises: same comment
\def\Exercises{\iffrancmode Exercices\else Exercises
\fi}
\def\exerc\par{\vskip0pt plus.1\vsize\penalty-100\vskip0pt plus-.1
\vsize\bigskip\vskip\parskip\global\noexerc=0
\message{Exercises}
\iffrancmode\mark{Exercices}\else\mark{Exercises}\fi
{\leftline{\bf\hyperdef\hypernoname{exercise}{\the\nochapter}{\Exercises}}}
\nobreak\medskip\noindent\frenchspacing
\writetoca{\string\hyperref{}{exercise}{\the\nochapter}{\Exercises}}
}
\def\esubsec{\ifnum\noexerc=0\vskip-12pt\else\vskip0pt plus.05\vsize%
\penalty-100\vskip0pt plus-.05\vsize\bigskip\vskip\parskip\fi%
\global\advance\noexerc by 1
\hyperdef\hypernoname{exercise}{\the\nochapter.\the\noexerc}{}%
\vbox{\noindent\it \iffrancmode Exercice\else Exercise\fi\ \the\nochapter.\the\noexerc}\smallskip\noindent}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\exelbl#1{\ifdraftmode{\hfill\escapechar-1{\rlap{\hskip-1mm%
\sevenrm\string#1}}}\fi%
{\xdef#1{\noexpand\hyperref{}{exercise}{\the\nochapter.\the\noexerc}%
{\the\nochapter.\the\noexerc}}}%
\edef\ewrite{\write\equa{{\string#1}\the\nochapter.\the\noexerc}%
\write\equa{}}\ewrite%
\writedef{#1\leftbracket#1}}
%****************************
%*************************************************************************
%Macro de numerotation automatique
%*************************************************************************
% numbering without naming
\def\eqnn{\global\advance\neqno by 1 \ifinner\relax\else%
\eqno\fi(\prefix\the\nochapter.\the\neqno)}
%
% numbering and attaching a name: \eqnd{\ename}
\def\eqnd#1{\DefWarn#1%
\global\advance\neqno by 1
{\xdef#1{($\noexpand\hyperref{}{equation}{\prefix\the\nochapter.\the\neqno}%
{\prefix\the\nochapter.\the\neqno}$)}}%???
\ifinner\relax\else\eqno\fi(\hyperdef\hypernoname{equation}{\prefix\the%
\nochapter.\the\neqno}{\prefix\the\nochapter.\the\neqno})
\writedef{#1\leftbracket#1}
\ifdraftmode{\escapechar-1{\rlap{\hskip.2mm\sevenrm\string#1}}}\fi
\edef\ewrite{\write\equa{{\string#1},(\prefix\the\nochapter.\the\neqno)
{\noexpand\number\pageno}}\write\equa{}}\ewrite}
%
% for eqalignno, allows (1a) (1b)...
\def\checkm@de#1#2{\ifmmode{\def\f@rst##1{##1}\hyperdef\hypernoname{equation}%
{#1}{#2}}\else\hyperref{}{equation}{#1}{#2}\fi}
\def\f@rst#1{\c@t#1a\em@ark}\def\c@t#1#2\em@ark{#1}
\def\eqna#1{\DefWarn#1%
\global\advance\neqno by1\ifdraftmode{\hfill%
\escapechar-1{\rlap{\sevenrm\string#1}}}\fi%
\xdef #1##1{(\noexpand\relax\noexpand%
\checkm@de{\prefix\the\nochapter.\the\neqno\noexpand\f@rst{##1}1}%
{\hbox{$\prefix\the\nochapter.\the\neqno##1$}})}
\writedef{#1\numbersign1\leftbracket#1{\numbersign1}}%
}
%
%
\def\em@rk{\hbox{}}
\def\xeqn{\expandafter\xe@n}\def\xe@n(#1){#1}
\def\xeqna#1{\expandafter\xe@na#1}\def\xe@na\hbox#1{\xe@nap #1}
\def\xe@nap$(#1)${\hbox{$#1$}}
% \eqns allows to quote several equations, suppressing unnecessary ()
\def\eqns#1{(\e@ns #1{\hbox{}})}
\def\e@ns#1{\ifx\UNd@FiNeD#1\message{eqnlabel \string#1 is undefined.}%
\xdef#1{(?.?)}\fi{\let\hyperref=\relax\xdef\next{#1}}%
\ifx\next\em@rk\def\next{}%
\else\ifx\next#1\xeqn#1\else\def\n@xt{#1}\ifx\n@xt\next#1\else\xeqna#1\fi
\fi\let\next=\e@ns\fi\next}
%**********************************************************************
%*************************** figure macros ****************************
% Pour centrer ajouter 16mm a la taille de la boite
\def\figure#1#2{\global\advance\nofigure by 1 \vglue#1%
\hyperdef\hypernoname{figure}{\the\nofigure}{}%
{\elevenpoint
\setbox1=\hbox{#2}
\ifdim\wd1=0pt\centerline{Fig.\ \the\nofigure\hskip0.5mm}%
\else\def\caption{Fig.\ \the\nofigure\quad#2\hskip0mm}
\setbox0=\hbox{\caption}
\ifdim\wd0>\hsize\noindent Fig.\ \the\nofigure\quad#2\else
\centerline{\caption}\fi\fi}\par}
% le bigskip a la fin a ete enleve!
\def\ffigure{\figure} % obsolete, for compatibility
%***************
%figure alignee a gauche
\def\lfigure#1#2{\global\advance\nofigure by
1\vglue#1%
\hyperdef\hypernoname{figure}{\the\nofigure}{}%
\leftline{\elevenpoint\hskip10truemm Fig.\
\the\nofigure\quad #2}}
%***************
\def\figlbl#1{\ifdraftmode{\hfill\escapechar-1{\rlap{\hskip-1mm%
\sevenrm\string#1}}}\fi%
{\xdef#1{\noexpand\hyperref{}{figure}{\the\nofigure}%
{\the\nofigure}}}%
\edef\ewrite{\write\equa{{\string#1}\the\nofigure}%
\write\equa{}}\ewrite%
\writedef{#1\leftbracket#1}}
%****************************
\def\tablbl#1{\global\advance\notable by
1\ifdraftmode{\hfill\escapechar-1{\rlap{\hskip-1mm%
\sevenrm\string#1}}}\fi%
\hyperdef\hypernoname{table}{\the\notable}{}
{\xdef#1{\noexpand\hyperref{}{table}{\the\notable}%
{\the\notable}}}%
\edef\ewrite{\write\equa{{\string#1}\the\notable}%
\write\equa{}}\ewrite%
\writedef{#1\leftbracket#1}}
%***********************************************************************
%***********************************************************************
\catcode`@=12
\def\draftend{\vfill\supereject%
\immediate\closeout\equa%\immediate\closeout\tab
\ifdraftmode%\vfill\supereject%
{\bf \titlename},\par ------------ Date \today. -----------\par
%\edef\ewrite{\write\eqdf{}}\ewrite%
%\immediate\closeout\eqdf
\catcode`\&=0
\catcode`\\=10
\input \equation
\catcode`\\=0
\catcode`\&=4\fi
\end
}
\def\endchapter{\draftend}