loop.tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%             Latex file for the paper              %%%%%%
%%%%% `Equilibrium Configurations of a Rigid  Loop'     %%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%   ****  Last modified: Friday, July 6 2001
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[letterpaper,twoside,10pt]{article}
%\documentclass[letterpaper,10pt]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% INPUT PACKAGES
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amssymb}
\usepackage{latexsym}
\usepackage{verbatim}
\usepackage{floatfig,epsfig}
\usepackage{calc}
%\usepackage{amstext,amsfonts}
\usepackage{fancyheadings}
\usepackage{pstricks,pst-node}
%\usepackage[first]{draftcopy}
\usepackage{rotating,graphicx}
%\usepackage[notcite,notref]{showkeys}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% LENGTH DEFINITIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newlength{\figurewidth}
%\setlength{\textwidth}{16.5cm}
\setlength{\textwidth}{16cm}
\setlength{\textheight}{21cm}
\setlength{\oddsidemargin}{3mm}
\setlength{\evensidemargin}{3mm}
\setlength{\topmargin}{1.7cm}
\setcounter{totalnumber}{1}
\renewcommand{\textfraction}{.1}
\renewcommand{\floatpagefraction}{.7}
\renewcommand{\figurename}{{\bfseries{\sffamily{Figure}}}}
%\renewcommand{\thefigure}{{\bfseries{\sffamily{\arabic{figure}}}}}
\newcommand{\capitem}[1]{\caption{\textsf{#1}}}
\newcommand{\longpage}{\enlargethispage{\baselineskip}}
\newcommand{\shortpage}{\enlargethispage{-\baselineskip}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%  DEFINITIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\papertitle}{%
%The Many Shapes of Elastica Hypoarealis%
Area-Constrained Planar Elastica%
}
\newcommand{\paperauthor}{%
G. Arreaga, R. Capovilla, C. Chryssomalakos and J. Guven%
}
\pagestyle{fancy}
%\rhead[\thepage]{{\scshape \paperauthor}} 
%\lhead[{\scshape \papertitle}]{\thepage}
\rhead[{\scshape \paperauthor}]{\thepage}
\lhead[\thepage]{{\scshape \papertitle}} 
\cfoot[\ ]{\ }
%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\input{loopdef}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\be}{\begin{equation}}
\newcommand{\ee}{\end{equation}}
\newcommand{\ble}[1]{\begin{equation} \label{#1}}
\newcommand{\bae}{\begin{eqnarray}}
\newcommand{\eae}{\end{eqnarray}}
%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\fle}[2]%
{\vspace{1.5ex}
\be
\label{#1}
\mbox{%
\setlength{\fboxsep}{3ex}%
\framebox{$\dss #2 $}}
\ee} 
%\vspace{1.5ex}
%\noindent}
%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\equalref}[1]{\stackrel{\rule[-1ex]{0mm}{0mm}%
{}_{(\ref{#1})}}{=}}
%%%%%%%%%%%%%%%%%%%%%%%%%
\def\bb{\bibitem}
\def\nn{\nonumber}
\newcommand{\ff}{\nn \\}
%\newcommand{\ff}[1][0]{\nn \\[#1ex]}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
\newtheorem{exatitle}{Example}[section]
%%%%%%%%%%%%%%%%%%%%%%%%%
\newenvironment{example}[1]%
{\begin{exatitle}#1 \end{exatitle}}% 
{\hfill $\Box$ \\}
%%%%%%%%%%%%%%%%%%%%%%%%%
\newenvironment{aside}%
{\vspace{3mm} \noindent {\bf Aside:} \small}% 
{\hfill $\Diamond$ \\}
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\id{\mathop{\rm id}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\th{\hat{t}}
\def\nh{\hat{n}}
\def\deps{\delta_\epsilon}
\def\derl{{d \over d \ell}}
\def\derk{{d \over d K}}
\def\ra{\rightarrow}
\def\Ra{\Rightarrow}
\def\scr{\scriptscriptstyle}
\def\fe{& = &}
\newcommand{\aqqa}{& \qquad &}
\newcommand{\dss}{\displaystyle}
\def\fedss{& = & \dss}
\newcommand{\aqqadss}{& \qquad & \dss}
\newcommand{\calO}{\mathcal{O}}
\newcommand{\calI}{\mathcal{I}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\eg{\hbox{\it e.g.}}
\def\etc{\hbox{\it etc.}}
\def\ie{\hbox{\it i.e.}}
\newcommand{\K}{\mathcal{K}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\initfloatingfigs
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Titlepage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{titlepage}
\vspace*{-1cm}
\begin{flushright}
\textsf{CIEA-GR-01-02}
\\
\textsf{ICN-UNAM-01/03}
\\
\mbox{}
\\
\textsf{July 5, 2001}
\\[3cm]
\end{flushright}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% TITLE, AUTHORS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{center}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\begin{LARGE}
%\bfseries{\sffamily Equilibrium Configurations of a Rigid Loop}
%\bfseries{\sffamily Equilibria of Elastica Hypoarealis}
\bfseries{\sffamily \papertitle}
\end{LARGE}

\noindent \rule{\textwidth}{.6mm}

\vspace*{1.6cm}

\noindent \begin{large}%
\textsf{\bfseries%
Guillermo Arreaga, Riccardo Capovilla,
}
\end{large}

%\vspace*{.1cm}

\phantom{XX}
\begin{minipage}{.8\textwidth}
\begin{it}
\noindent Departamento de F\'\i sica\\
CINVESTAV IPN\\
Apdo. Postal 14740\\
07000 M\'exico, D.F., MEXICO\\
\end{it}
\texttt{garreaga@fis.cinvestav.mx, capo@fis.cinvestav.mx
\phantom{X}}
\end{minipage}

\vspace*{1cm}
\noindent
\begin{large}%
\textsf{\bfseries%
Chryssomalis Chryssomalakos and Jemal Guven
}
\end{large}

%\vspace*{.1cm}

\phantom{XX}
\begin{minipage}{.8\textwidth}
\begin{it}
\noindent Instituto de Ciencias Nucleares \\
Universidad Nacional Aut\'onoma de M\'exico\\
Apdo. Postal 70-543, 04510 M\'exico, D.F., MEXICO \\
\end{it}
\texttt{chryss@nuclecu.unam.mx, jemal@nuclecu.unam.mx
\phantom{X}}
\end{minipage}
\\

\vspace*{3cm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% ABSTRACT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\noindent
\textsc{\large Abstract: }
We determine the equilibria of a rigid 
loop in the plane, subject to the constraints of fixed length 
and {\em fixed enclosed area}.
Rigidity is characterized by an energy functional quadratic in 
the curvature of the loop.
We find that the area constraint gives rise to equilibria with 
remarkable geometrical properties:   
not only can the Euler-Lagrange equation be integrated to provide 
a quadrature for the curvature but, in addition,
the embedding itself can be expressed as a local function of the  
curvature. The configuration space is shown to
be essentially one-dimensional, with surprisingly rich structure.
Distinct branches of integer-indexed equilibria
exhibit self-intersections and bifurcations --- a gallery of plots 
is provided to highlight these findings.
Perturbations connecting equilibria are shown to satisfy 
a first order ODE which is readily solved. 
We also obtain analytical expressions 
for the energy as a function of the area
in some limiting regimes. 

\end{titlepage}
\setcounter{footnote}{1}
\renewcommand{\thefootnote}{\arabic{footnote}}
\setcounter{page}{2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\noindent \rule{\textwidth}{.5mm}

\tableofcontents

\noindent \rule{\textwidth}{.5mm}
\section{Introduction}
\label{Intro}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Our object of study in this paper is a deflated rigid loop 
({\em elastica hypoarealis}). 
To explain this, consider a closed loop in a plane. 
The loop is made of some
elastic material and, if taken thin enough, the contribution of its 
longitudinal deformations to its elastic energy can be ignored.
This gives rise to a hamiltonian density proportional to the
square of its curvature --- hence {\em elastica}. 
It is clear that fixing only the length $L$ of the loop will not 
lead to any surprises, the only possible equilibrium
being a circle. What will happen though if we, in addition,
fix its area $A$ to be less than that of the circle? (hence {\em
hypoarealis}).  

This particular hamiltonian (without the constraints) has a 
distinguished history,
dating back at least to the Bernoullis. It makes a reappearance in
Euler's inspired analysis of a
mundane but subtle problem in mechanical engineering:
the buckling of a loaded beam \cite{Tru:83, Gia.Hil:96}.
More recently, variants of this problem have attracted the 
attention of mathematicians. In particular, 
the problem of determining the curves of constant length 
which minimize the bending energy, on surfaces 
of constant curvature, is considered in
Refs.~\cite{Gri:83,Bry.Gri:86,Lan.Sin:84}, while interconnections
with knot theory are explored in~\cite{Ive.Sin:97}. 
Adding the constraint on 
the enclosed area, as we propose here, provides a 
particularly fruitful generalization of this work. 

Hamiltonians depending on extrinsic 
curvature have also been studied in 
statistical physics~\cite{Amb.Dur.Jon:97,Saf:94}. 
For space curves, 
an effective hamiltonian which depends on twist as well as bending
provides a phenomenological description of stiff polymers, 
and in particular DNA (see {\it e.g.}
Refs.~\cite{Mar.Sig:95,Bou.Mez:98}). 
Moving up one dimension, the leading term in the Helfrich 
hamiltonian, which describes 
the equilibrium configurations of lipid membranes, is proportional to
the square of the traced extrinsic curvature $K$ integrated
over the surface, namely, the conformally invariant 
Willmore functional~\cite{Wil:82,Hel:73,Pel:94,Sei:97}.
In the variant of the Helfrich model proposed by Svetina and Zeks,
the so-called bilayer couple model, 
constraints are placed on the surface, such as constant area, constant
enclosed volume, and constant integrated mean curvature 
(the latter breaking  the $K \to - K$ 
symmetry of the 
problem)~\cite{Sve.Zek:89}.\footnote{ 
We note that there is no genuine
one-dimensional
analog of its refinement, the so-called
area difference model \cite{Sei:97}.}  However, the equations 
which determine
the equilibrium are highly non-trivial higher-order PDEs.
One motivation for introducing our variant of the {\em
elastica}, as a planar analogue of the above, is its potential
as a toy model for understanding these higher dimensional membranes.
At the simplest level, if a closed membrane possesses a symmetry along
the $z$-axis, its profile at any $z$ will be a fixed loop.
The dimensionally reduced Helfrich hamiltonian is then the 
bending energy of 
this loop. It is possible to examine the loop
hamiltonian exactly.
While a lot is known about axially symmetrical closed
configurations~\cite{Deu.Hel:76},
there is very little non-perturbative knowledge of
the equilibria which exist when axial symmetry is broken:
the loop configurations provide an analytic point of
entry.
 
An additional application of the planar problem was pointed out 
recently by Willmore: 
any closed loop can be exploited to generate an  axially symmetric 
toroidal geometry. The equilibria of the loop 
hamiltonian on a surface of constant negative curvature can be 
mapped into
equilibria of the Helfrich functional \cite{Wil:00}. 

The feature of our model we will exploit
is its integrability, very well disguised when
the problem is cast with respect to the variables embedding the 
loop in
the plane. Indeed, the determination of the curvature at equilibrium
can be reduced to the study of the motion of a particle in a
one-dimensional quartic potential.
The curvature can be solved as a quadrature in terms of
elliptic integrals. 
Remarkably, we discover that the problem possesses a second, 
far less-obvious, level
of integrability: the embedding can be expressed as a 
local function of the  
curvature without any need of the two integrations one 
would have expected. As a consequence, 
the equilibrium configuration 
is given by a geometrical construction of 
pythagorean simplicity.

The condition of closure of the loop 
results in a discrete spectrum for a given
constrained perimeter and area.  We show that 
scaling can be exploited to fix one of these, the perimeter say.
One branch of the spectrum then consists of configurations with 
an $n$-fold symmetry ($n=2,3,\ldots$) which inflate into   
a circle as the enclosed area is increased. 
If the area is evacuated these configurations will 
eventually self-intersect, tending to a 
limiting configuration  of an inverted (\ie, negative area) circle,   
winding $n-1$ times and 
decorated with $n$ infinitesimally 
small circles. The latter dominate, in this limit,  
the energy and give rise to a pole in the
energy versus area diagram, the residue of which 
we evaluate exactly for each $n$. 

The remaining branches of the spectrum 
correspond to rather complicated self-intersecting 
pairs which 
bifurcate from a limiting configuration. While self-intersecting 
configurations are 
undoubtedly of interest mathematically, they are not of primary
relevance to the physical problem we pose --- we determine sufficient 
conditions for avoiding them (nevertheless, we describe a
physical situation where they may arise).

In general, one would expect equilibria connecting perturbations to be 
governed by a fourth order
differential equation. We show, however, that 
this equation can be reduced 
(by three orders) to
a first order one. The latter
is singular at the circular configuration,
where bifurcation occurs.   
Analytical approximations for the energy as a function of 
the area are derived, 
in the limit of sinusoidal perturbations of the circle of frequency
$n$. 
Combined with the pole mentioned above, these expressions
provide a reliable sketch 
of the energy -- area relationship for each $n$.

The paper is organized as follows:
Sect.~\ref{FC} introduces the model and the shape equation that
determines equilibria. We show how it can be reduced to
the motion of a fictitious classical particle in a 
quartic potential. We address the behaviour under scaling of
the shape equation and we show that the problem has essentially
one free parameter. Moreover we analyze the loop statics; this
provides a physical interpretation for the shape equation itself. 
In Sect.~\ref{Config} we study the configuration space for this model.
In particular, we describe the angle $\Theta_0$ by which the
normal to the loop gets rotated in a full oscillation
of the fictitious particle in the potential. Equilibria
connecting perturbations is the subject of Sect.~\ref{PA}. These
are determined by a complicated fourth order differential
equation, which
is used to obtain the purely geometrical construction 
mentioned above. In turn, the latter permits the reduction of the order
of the original equation from four to one, as well as the 
derivation of a 
sufficient condition for non-self-intersections. Finally,
we obtain analytical expressions for the energy as a function of
the  area, in some limiting regimes, which allow for a reliable
sketch of its behaviour. In the appendices we collect various 
expressions, useful in the calculation of variations, we derive 
a recursion relation for the average of the powers of $K$
and comment on an interesting Legendre transform in the space of
parameters of the model.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{First Considerations} 
\label{FC}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Energy functional} 
\label{ef}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A closed loop, parametrized by $s \in [0,1]$, is described by 
the embedding in the plane,
\[
\vec x = \vec X(s)
\, .
\]
The arc length $\ell$ along the loop is given by
\begin{equation}
\ell(s) = \int_0^s ds' \,\left({d \vec X\over ds'}\cdot
{d \vec X\over ds'}\right)^{1/2}
\,.
\end{equation}
The most general expression for the energy of the
configuration $X(s)$
which {\em i}) does not depend on the parametrization,
{\em ii}) involves no higher than two derivatives of $\vec X$ and
{\em iii}) is
quadratic in these derivatives, is given by
\begin{equation}
\label{Fzdef}
F[\vec X]=
\alpha \int  d\ell\, K^2\,,
\end{equation}
where $K$ is the geodesic curvature, equal to the inverse
of the radius of curvature at each point of the loop.
We will take henceforth $\alpha$ to be equal to 1 ---
$\alpha$ is dimensionful, unlike its two-dimensional
analogue, and this means we are measuring length in units
of $\alpha$.
Let $\th$ be the unit tangent to the loop (transversed
counterclockwise) and $\nh$ its outwards
normal. Then we have the Frenet-Serret equations for
a plane curve\footnote{Notice that the opposite sign convention
for $K$ is quite common in the literature.} (the prime denotes a 
derivative with respect to arc length $\ell$),
\begin{equation}
\nh'=K\th 
\, , 
\qquad \qquad
\qquad \qquad
\th'=-K\nh
\, .
\end{equation}
In terms of the angle $\Theta$ that $\nh$ makes with,
say, the $x$-axis, $K=\Theta'$. 

To implement the constraints of fixed length and
enclosed area,
we introduce the constrained functional:
\begin{equation}
\label{eq:k1}
F_c[X]=
F[X]
+ \mu \left(\int d\ell - L \right)
+ \sigma \left(\int_{\rm int}d^2x -A \right)\,.
\end{equation}
$\mu$ appears as a lagrange
multiplier enforcing the constraint
fixing the length of the loop to some value, $L$.
In the same way, $-\sigma$ is associated
with the constraint fixing the enclosed area to the value
$A$. We note that, in general,
\be
\label{musigma}
\mu  = -{\partial F_c(L, A)\over \partial L}
\, , \qquad \qquad
\sigma  = -{\partial F_c(L, A)\over \partial A}
\,.
\ee
In particular, if the area constraint is relaxed so that
$\sigma=0$, then
$\partial F_c(L, A)/ \partial A= 0$. Looking at
(\ref{musigma}), one might be led to
identify $\mu$, $\sigma$ with the tension and differential
pressure on the loop but this is only half true --- we discuss the
physical meaning of these parameters in Sec.{} \ref{oft}.
We have not included, in our energy functional, a term proportional 
to the integral of $K$. This is because
such a term is simply the total angle by which $\nh$ gets
rotated in transversing the loop once, equal to $2 \pi$
for a non-self-intersecting loop.

We emphasize that the bending energy
is not scale invariant
(notice that neither is the dimensionally reduced Helfrich
hamiltonian). An unconstrained circular loop will expand
without limit.
The natural scale invariant
expression, $\int d\ell\, | K |$,
though not in itself a topological invariant, does have a
vanishing
Euler-Lagrange derivative almost everywhere. Taken as an
energy functional, its
constrained configurations will be arcs of a circle
(solutions of
$\mu K= \sigma$ ) joined together at curvature
discontinuities
in such a way as to mimimize the corresponding
constrained energy
function. This model will be considered elsewhere.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Shape equation} 
\label{eom}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The Euler-Lagrange equations follow from extremizing $F_c[X]$,
\begin{equation}
{\delta F_c \over \delta X^\mu}=0\,.
\end{equation}
The reparametrization invariance of $F_c[X]$
implies that the tangential projection of these equations
is vacuous. 
The normal projection gives 
\fle{eq:D1}{%
2  K'' + K^3 - \mu K -  \sigma = 0 
}%
(see the appendix for some relevant formulae).
We note that with the identification, $\mu\to\mu +
K_0^2$,
Eq.~(\ref{eq:D1}) coincides with Eq.~(7) of 
\cite{Hel.OuY:87} (see also
\cite{Hel.OuY:89}). Is is worth pointing out that a loop on a
surface of constant Gaussian curvature $G$ satisfies the above
equation with $\mu \rightarrow \mu - 2G$.
 
A plane curve is determined, up to rigid motions, by
its curvature \cite{Car:76}. 
As is well known,
our one-dimensional system is completely integrable. 
This
is obvious
because we have cast derivatives with respect to arclength.
With respect to
an arbitrary parametrization of the loop, first
derivative terms
associated with the one-dimensional Laplacian appear
which conceal this fact. 
Writing~(\ref{eq:D1}) in the form 
\be
\label{DEKalt}
K'' = - \derk V(K)
\, , 
\qquad
\qquad
V(K) \equiv \frac{1}{8} K^4 - \frac{\mu}{4} K^2 -\frac{\sigma}{2} K
\, ,
\ee
we  map our problem onto the problem of
determining the motion of a fictitious particle in a quartic potential,
$K$
being the displacement of the particle and $\ell$ playing the role 
of time. The total energy $E$ of the particle is conserved,
\be
\label{eq:D2}
{dE \over d \ell} = 0
\, , \qquad \qquad
E \equiv {1 \over 2} {K'}^2 + V(K) 
\, ,
\ee
a fact that permits the expression of $K'$ in terms of $K$ and
hence, of the arclength along the loop as an integral over $K$ (via
$d \ell = dK/K'$)
\be
\label{ellintK}
\ell = \int \frac{dK}{\sqrt{2(E-V(K))}}
\, .
\ee
We emphasize the difference between the energy $E$ of the fictitious 
particle, on the one hand,  and 
the bending energy $F$ of the loop, on the other.
In particular, the configuration
of least `energy' in the analogue is not the minimum of the
hamiltonian.

The motion of the particle in the potential $V$ is periodic. 
%A moment's thought reveals that 
Closed loop configurations consist
of an integer number of identical segments, each one
corresponding to one full oscillation of the particle, and hence 
made up itself of two symmetric halves. Then, the
condition of closure of the loop can be expressed as
\be
\label{condclos}
\Theta_0 = \frac{2 \pi}{n}
\, , \qquad
n=2,3,\dots
\ee
where $\Theta_0$ is the angle by which the normal
$\nh$ gets rotated in one
full oscillation of the particle, given by
\be
\label{Thetaint}
\Theta_0 = 2 \int_{K_{min}}^{K_{max}} \frac{KdK}{\sqrt{2(E-V(K))}}
\ee
($K_{min}$, $K_{max}$ denote the turning points).
The equilibrium configurations have $n$-fold symmetry and
a well-defined center. 
The value $n=1$ is omitted in~(\ref{condclos}) because it is
special -- see below.  We examine in detail the
resulting configurations in Sect.~\ref{Config}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Scaling}
\label{Scaling}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Let us examine the behavior of Eq.~(\ref{eq:D1}) under
scaling of the position vector, $\vec X\to \lambda \vec X$. 
We find
\begin{equation}
\label{eq:kscale}
\ell \to \lambda \ell
\, , \qquad \qquad
{d \over d \ell} \to {1 \over \lambda} {d \over d \ell}
\, , \qquad \qquad
K \to {1\over \lambda} \, K\,.
\end{equation}
Let $\vec X(\ell)$ correspond to some given solution of
Eq.~(\ref{eq:D1}), with parameter 
values $(\sigma_1,\mu_1)$.
Then, a scaled solution with the same
shape, $\lambda \vec X(\lambda\ell)$
and with ($L_1$, $A_1$, $F_1$, $E_1$) $\to$ ($\lambda L_1$,
$\lambda^2 A_1$, $\lambda^{-1} F_1$, $\lambda^{-4} E_1$), 
is obtained by rescaling the multipliers as follows:
\begin{equation}
\label{eq:Pscale}
\mu_1 \to {1\over \lambda^2} \mu_1 \equiv \mu_\lambda
\, , 
\qquad
\qquad
\qquad
\sigma_1 \to {1\over \lambda^3} \sigma_1 \equiv \sigma_\lambda
\,.
\end{equation}
Eliminating $\lambda$ we find the orbits of scaling in the
$(\sigma,\mu)$-plane
\be
\label{scaleorb}
\mu_\lambda = \frac{\mu_1}{\sigma_1^{2/3}} \, 
\sigma_\lambda^{2/3}
\, .
\ee
Furthermore, an inversion in the origin,
$X^\mu \to - X^\mu$ can be identified with a rescaling by
$\lambda= -1$, which maps a solution with a given $\sigma$
into one with $-\sigma$.
It follows that, for the purpose of identifying distinct
configurations at least, one can set, \eg \ $\sigma=1$ and scan the
essentially one-dimensional configuration space by varying
$\mu$. For each value of $\mu$, which fixes the form of the
potential $V(K)$, one has still to vary the energy
$E$ of the particle in the well so as to satisfy~(\ref{condclos}),
resulting, in general, in an infinite discrete spectrum ``above''
the point $(1,\mu)$ in the $(\sigma,\mu)$-plane. 
%%%%%%%%%%%%%%%%%%%%%%%% FIGURE
\begin{figure}
%\framebox{%
%%%%%%%%%%%%%%%% PSPICTURE
\begin{pspicture}(0,0)(.16\textwidth,.3\textwidth)
%%%%%%%%% Units
\psset{unit=.1\textwidth}
\setlength{\unitlength}{.1\textwidth}
%\psgrid[subgriddiv=10,griddots=10,gridlabels=10pt]
%%%%%%%%% Puts (labels)
\put(.1,.35){\makebox[0mm][l]{$\sigma=1$}}
\put(.1,.13){\makebox[0mm][l]{$\bar{\mu}=0.5$}}
\put(1.95,2.8){\makebox[0mm][r]{$\bar{V}$}}
\put(3.8,1.4){\makebox[0mm][l]{$\bar{K}$}}
\put(3.62,1.75){\makebox[0mm][l]{$n \! = \! 2$}}
\put(3.65,1.93){\makebox[0mm][l]{$n \! = \! 3$}}
\put(3.67,2.08){\makebox[0mm][l]{$n \! = \! 4$}}
\put(3.69,2.26){\makebox[0mm][l]{$n \! = \! 5$}}
%%%%%%%%% Axes
\psline[linewidth=.3mm]{->}%
(.4,1.5)(3.75,1.5)
\psline[linewidth=.3mm]{->}%
(1.71,.3)(1.71,2.85)
%%%%%%%%% Lines
\psline[linewidth=.2mm]{*-*}%
(1.25,1.84)(3.54,1.84)
\psline[linewidth=.2mm]{*-*}%
(1,2)(3.57,2)
\psline[linewidth=.2mm]{*-*}%
(.85,2.12)(3.59,2.12)
\psline[linewidth=.2mm]{*-*}%
(.72,2.26)(3.61,2.26)
%\rput(3,2.3){\rnode{A}{}}
%\rput(4.3,1.83){\rnode{B}{}}
%\ncarc{->}{A}{B}
%%%%%%%%% Included graphic
%\framebox{
\raisebox{\totalheight}{%
\rotatebox{270}{%
%\framebox{%
\includegraphics[width=.3\textwidth]{potV3.ps}%
}%
%}%
%}
}
\end{pspicture}
%%%%%%%%%%%%%%%% PSPICTURE
%}
\hfill
%%%%%%%%%%%%%%%% PSPICTURE
\begin{pspicture}(0\textwidth,0\textwidth)(.4\textwidth,.3\textwidth)
%%%%%%%%% Units
\psset{unit=.1\textwidth}
\setlength{\unitlength}{.1\textwidth}
%\psgrid[subgriddiv=10,griddots=10,gridlabels=10pt]
%%%%%%%%% Axes
\psline[linewidth=.3mm]{->}%
(.4,1.5)(3.85,1.5)
\psline[linewidth=.3mm]{->}%
(1.563,.3)(1.563,2.75)
%%%%%%%%% Lines
%%%%%%%%% Puts
\put(.1,.35){\makebox[0mm][l]{$\sigma=1$}}
\put(.1,.13){\makebox[0mm][l]{$\bar{\mu}=0.5$}}
\put(1.5,2.8){\makebox[0mm][r]{$\bar{K'}$}}
\put(3.8,1.27){\makebox[0mm][l]{$\bar{K}$}}
\put(2.3,2.23){\makebox[0mm][l]{$n \! = \! 2$}}
\put(2.13,2.55){\makebox[0mm][r]{$n \! = \! 5$}}
%%%%%%%%% Included graphic
\raisebox{\totalheight}{%
\rotatebox{270}{%
\includegraphics[width=.3\textwidth]{phase.ps}%
}%
}
\end{pspicture}
%%%%%%%%%%%%%%%% PSPICTURE
%%%%%%%%%%%%%%%% CAPTION
\capitem{%
On the left: the potential $\bar{V}(\bar{K})$, for the values of
$\bar{\mu}$, $\sigma$ shown. Barred 
quantities, in this and subsequent figures, are
measured in units of $\mu_0^{-q/2}$, $q$ being their length
dimension. Also shown, with horizontal lines, are the energies
$\bar{E}^{(n)}$ 
that give rise to the $n=2,3,4,5$ closed configurations, equal to
0.253, 0.278, 0.298, 0.320 respectively (in units of $\mu_0^2$ and
{\em measured from the bottom of the well} --- compare
with the $\bar{\mu}=0.5$ curve in Fig.{}~\ref{Theta0Rpm}). 
On the right: the closed trajectories in the phase plane
$\bar{K}-\bar{K'}$ of the
ficticious particle, corresponding to oscillations in the
potential $V$ with energies $\bar{E}^{(2)}$, $\bar{E}^{(5)}$ ---
the $n=3,4$ trajectories lie in between the two shown.
}
\label{phase}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%% FIGURE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Windings} 
\label{Wind}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The closed configurations we wish to classify possess two
topological invariants, both given as the winding numbers of maps
$S^1 \to S^1$. The first such map is the normal map of the loop,
associating with each value of the parameter $s$ (which ranges
over the first $S^1$ above) the corresponding value of $\nh$ (which
ranges over the unit circle, the second $S^1$ above). For each
rotation of $s$, $\nh$ will generally rotate $m$ times, with
$m$ an integer. 
Configurations with distinct $m$'s are topologically isolated,
the physical implementation being the infinite energy barrier 
associated with the move
%%%%%%%%%%%%% PS PICTURE
\begin{pspicture}(0,0)(5.8,.3)
%\pssetlength{\linewidth}{.1mm}
\psset{xunit=1cm,yunit=.4cm}
\pscurve[linewidth=.2mm]{<->}%
(0,0)(.7,.6)(.5,.8)(.3,.6)(1,0)
\pscurve[linewidth=.2mm]{->}%
(1.3,.3)(1.6,.3)(1.8,.3)
\pscurve[linewidth=.2mm]{<->}%
(2.1,0)(2.65,.75)(2.6,.8)(2.55,.75)(3.1,0)
\pscurve[linewidth=.2mm]{->}%
(3.4,.3)(3.7,.3)(3.9,.3)
\pscurve[linewidth=.2mm]{<->}%
(4.2,0)(4.8,.3)(5,.7)(5.2,.3)(5.8,0)
\end{pspicture}
%%%%%%%%%%%%% PS PICTURE
. Non-self-intersecting loops correspond to normal maps with 
index $m=\pm 1$ (the converse is not true).

The second map is from the $s$-circle to the  closed orbit 
($\sim S^1$) traced by the phase point in the plane $(K,K')$. 
For a configuration
corresponding to $n$ complete oscillations of the particle, 
the phase point goes around the closed curve $\frac{1}{2} {K'}^2
+ V(K)=E$ $n$ times, Fig.{}~\ref{phase}.
There is a finite energy barrier separating configurations 
with distinct $n$'s which prevents transitions between them.  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Forces and torques} 
\label{oft}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
What can we learn about the loop configurations by looking at the
equilibrium of forces and torques on an infinitesimal loop
segment? First we ask, why would a rigid loop want to have area less
than the maximal allowed by its length? One setup that supplies 
an answer is to imagine that our loop is actually the
cross-section of an infinite cylinder, the interior {\em and} 
exterior of
which are filled with an incompressible fluid. We start by
filling the cylinder to its maximum capacity, this gives a
circular loop. We then take out some fluid from the interior 
while making sure that the external pressure is large enough so as
to prevent the formation of bubbles in the interior.
Notice that, because of its
rigidity, the cylinder takes up some part of the exterior
pressure and only transmits to its interior a fraction of it, it's
the differential pressure that crumbles the cylinder walls. The 
second of~(\ref{musigma}) then points to the identification of
$-\sigma$ with this differential pressure, taking into account
that the latter points inwards. One has to be careful in applying
the same argument to $\mu$. The first of (\ref{musigma}) seems to
suggest that $\mu$ is the tension of the loop but this would
presuppose the possibility of tangential deformations --- there
is nothing in our energy functional that tells us how much energy
these cost and, indeed, we have already assumed that the loop
{\em cannot} be stretched or compressed tangentially. The
derivative in the first of~(\ref{musigma}) is computed by
comparing distinct loops with infinitesimally differing  lengths, 
it does not refer
to the deformation of a single loop.  With this in mind, we now
turn to loop statics.

We denote by $\vec T(\ell_0)$  the total force from the
segment of the loop with $\ell < \ell_0$ to the one with $\ell >
\ell_0$ and by $\tau(\ell_0)$ the corresponding torque. The
latter is equal to $-2K$ --- this follows from our normalization of
the bending energy $F$. Then,
balancing the torques on a segment extending from $\ell$ to $\ell +
d \ell$ we get
\ble{torquebal}
\tau(\ell) - \tau(\ell + d \ell) + T_n(\ell + d \ell) d\ell =0
\qquad \Rightarrow \qquad
\tau' - T_n = 0
\, ,
\ee
where $T_n$ is the normal force, the reference point was taken at $\ell$ and the sign
conventions are shown in Fig.{}~\ref{torqfig}. 
%%%%%%%%%%%%%%%%%%%%%%%% FIGURE
\begin{figure}
\resizebox{\textwidth}{.28\textwidth}{%
\setlength{\fboxsep}{4mm}
\framebox{%
%%%%%%%%%%%%%%%%%% PS PICTURE: Torque balancing
\begin{pspicture}(0,0)(.33\textwidth,.33\textwidth)
%%%%---- unit lengths for Latex, pstricks
\psset{unit=.1\textwidth}
\setlength{\unitlength}{.1\textwidth}
%\psgrid[subgriddiv=10,griddots=10,gridlabels=10pt]
%%%%---- Main curve
\pscurve[linewidth=.3mm,showpoints=false]{-}%
(0.6,0.6)(.93,1.5)(1,2)(.9,2.5)(.6,2.85)(0,3)
%%%%---- Lines
\psline[linewidth=.3mm]{->}%
(1,2)(1,3)
\psline[linewidth=.3mm]{->}%
(1,2)(2,2)
\psline[linestyle=dashed]{-}%
(.9,2.5)(2.5,2.5)
%\psline{->}%
%(1,2)(2.6,2)
\psline{->}%
(.9,2.5)(2.27,3.2)
%%%%---- Positive direction for torques
\psarc{->}(1.4,1.2){.2}{-180}{90}
%%%%---- Actual directions for torques, angle
\psarcn{->}(1,2){.1}{90}{-180}
\psarc{->}(.9,2.5){.1}{0}{270}
\psarc{->}(.9,2.5){.5}{0}{26}
%%%%---- Labels, dots
\put(1.33,1.16){$+$}
\put(1.1,3){$\th$}
\put(1.95,1.8){$\nh$}
\psdots(1,2)(.9,2.5)
\put(1.8,2.6){$K(\ell)d\ell$}
%\put(2.6,1.8){$\vec T_n(\ell)$}
\put(2.38,3.1){$- \vec T_n(\ell+d\ell)$}
\put(.8,1.9){\makebox[0cm][r]{$\tau(\ell)$}}
\put(.7,2.4){\makebox[0cm][r]{$-\tau(\ell+d\ell)$}}
\put(1.6,0){\large (a)}
\end{pspicture}
%%%%%%%%%%%%%%%%%% PS PICTURE
}%
\qquad
\qquad
\framebox{%
%%%%%%%%%%%%%%%%%% PS PICTURE: T_n balancing
\begin{pspicture}(-.07\textwidth,0)(.33\textwidth,.33\textwidth)
%%%%---- unit lengths for Latex, pstricks
\psset{unit=.1\textwidth}
\setlength{\unitlength}{.1\textwidth}
%\psgrid[subgriddiv=10,griddots=10,gridlabels=10pt]
%%%%---- Main curve
\pscurve[linewidth=.3mm,showpoints=false]{-}%
(0.6,0.6)(.93,1.5)(1,2)(.9,2.5)(.6,2.85)(0,3)
%%%%---- Lines
\psline[linewidth=.3mm]{->}%
(1,2)(1,3)
\psline[linewidth=.3mm]{->}%
(1,2)(2,2)
\psline[linestyle=dashed]{-}%
(.9,2.5)(2.5,2.5)
\psline{->}%
(1,2)(-.6,2)
\psline{->}%
(.9,2.5)(2.27,3.2)
\psline{->}%
(.9,2.5)(.5,3.3)
\psline{<-}%
(1.05,2.25)(1.4,2.35)
%%%%---- Positive direction for torques
\psarc{->}(1.4,1.2){.2}{-180}{90}
%%%%---- Actual directions for torques, angle
%\psarcn{->}(1,2){.1}{90}{-180}
%\psarc{->}(.9,2.5){.1}{0}{270}
\psarc{->}(.9,2.5){.5}{0}{26}
%%%%---- Labels, dots
\put(1.33,1.16){$+$}
\put(1.1,3){$\th$}
\put(1.95,1.8){$\nh$}
\psdots(1,2)(.9,2.5)
\put(1.8,2.6){$K(\ell)d\ell$}
\put(-.65,1.7){$\vec T_n(\ell)$}
\put(2.38,3.1){$- \vec T_n(\ell+d\ell)$}
\put(.4,3.2){\makebox[0cm][r]{$-\vec T_t(\ell + d\ell)$}}
\put(1.3,2.2){$\sigma$}
\put(1.2,0){\large (b)}
%\put(.8,1.9){\makebox[0cm][r]{$\tau(\ell)$}}
%\put(.7,2.4){\makebox[0cm][r]{$-\tau(\ell+d\ell)$}}
\end{pspicture}
%%%%%%%%%%%%%%%%%% PS PICTURE
}%
\qquad
\qquad
\framebox{%
%%%%%%%%%%%%%%%%%% PS PICTURE: T_t balancing
\begin{pspicture}(0,0)(.33\textwidth,.33\textwidth)
%%%%---- unit lengths for Latex, pstricks
\psset{unit=.1\textwidth}
\setlength{\unitlength}{.1\textwidth}
%\psgrid[subgriddiv=10,griddots=10,gridlabels=10pt]
%%%%---- Main curve
\pscurve[linewidth=.3mm,showpoints=false]{-}%
(0.6,0.6)(.93,1.5)(1,2)(.9,2.5)(.6,2.85)(0,3)
%%%%---- Lines
\psline[linewidth=.3mm]{->}%
(1,2)(1,3)
\psline[linewidth=.3mm]{->}%
(1,2)(2,2)
\psline[linestyle=dashed]{-}%
(.9,2.5)(2.5,2.5)
%\psline{->}%
%(1,2)(2.6,2)
\psline{->}%
(.9,2.5)(2.27,3.2)
\psline{->}%
(1,2)(1,3.5)
\psline{->}%
(.9,2.5)(1.4,1.4)
%%%%---- Positive direction for torques
\psarc{->}(1.5,1.1){.2}{-180}{90}
%%%%---- Actual directions for torques, angle
%\psarcn{->}(1,2){.1}{90}{-180}
%\psarc{->}(.9,2.5){.1}{0}{270}
\psarc{->}(.9,2.5){.5}{0}{26}
%%%%---- Labels, dots
\put(1.43,1.06){$+$}
\put(1.1,3){$\th$}
\put(1.95,1.8){$\nh$}
\psdots(1,2)(.9,2.5)
\put(1.8,2.6){$K(\ell)d\ell$}
\put(2.38,3.1){$- \vec T_n(\ell+d\ell)$}
\put(.9,3.25){\makebox[0cm][r]{$\vec T_t(\ell)$}}
\put(1.5,1.45){$-\vec T_t(\ell+ d\ell)$}
\put(1.6,0){\large (c)}
%\put(2.6,1.8){$\vec T_n(\ell)$}
%\put(.8,1.9){\makebox[0cm][r]{$\tau(\ell)$}}
%\put(.7,2.4){\makebox[0cm][r]{$-\tau(\ell+d\ell)$}}
\end{pspicture}
}%
}%
\capitem{Balancing of (a) torques, (b) normal forces and (c)
tangential forces on a segment of the loop. $K$ and $K'$ are
sketched positive, the resulting directions of torques and forces
are shown. For $T_t$ this data is not enough, we have assumed
additionally $K^2>\mu$ --- this puts the center of the loop 
somewhere towards the left of each picture.
}
%%%%%%%%%%%%%%%%%% PS PICTURE
%\end{center}
\label{torqfig}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIGURE
The equilibrium of
normal forces on the segment gives
\ble{nforceeq}
T_n(\ell)   - T_n(\ell + d\ell)
+ T_t(\ell + d \ell) K(\ell)d\ell -\sigma d\ell =0
\qquad \Rightarrow \qquad
-T'_n +KT_t-\sigma=0
\, ,
\ee
while the tangential components give
\ble{tforceeq}
T_t(\ell) - T_t(\ell + d\ell) - T_n(\ell + d \ell) K(\ell) d\ell =0
\qquad \Rightarrow \qquad
T'_t + KT_n =0
\, .
\ee
Notice how, in~(\ref{nforceeq}) and~(\ref{tforceeq}), the
curvature $K$ is responsible for the tangential force at $\ell + d\ell$
contributing a normal component at $\ell$ and {\em vice-versa}.
Solving the above system of equations we find
\fle{summtf}{%
\tau = -2K
\, , \qquad \qquad
T_n=-2K'
\, , \qquad \qquad
T_t=K^2-\mu
\, ,
}%
where, in the third relation, the integration constant was fixed to
the value $\mu$ by the requirement that one recover the differential 
equation for $K$, Eq.~(\ref{eq:D1}). We see from~(\ref{summtf})
that $-\mu$ is the tension of the loop at its inflection points,
if any. Notice also how~(\ref{eq:D1}) is obtained upon substitution 
of the last two of~(\ref{summtf}) in~(\ref{nforceeq}), thereby
identifying the physical origin of each of the terms in the
former. In a forthcoming publication, where we extend our
considerations to the case of a loop in space, it is shown how
the above expressions for the forces and torque follow, in a
model independent way, from an application of Noether's theorem. 


Our submerged cylinder model for the loop leaves no room for
self-intersecting configurations, could there be any use for
these? Imagine the loop made of superconducting material, in
the presence of a uniform magnetic field perpendicular to its
plane. In the limit where the magnetic flux due to
self-inductance is negligible compared to the one due to the
external field, the area of the loop has to be constant to keep
the flux constant. One can
then adjust the area by changing the magnetic field and, for small
enough areas, self-intersecting configurations will appear. 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Configurations}
\label{Config}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Qualitative remarks}
\label{qr}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
For the purposes of this section, we may set, as explained above, 
$\sigma=1$ in the expression for
the potential $V(K)$. Its critical points are given by the zeros
of its derivative, \ie, \ by the roots $K_i$, $i=1,2,3$, of
\be
\label{Vpeqz}
K^3 - \mu K -1 = 0
\, .
\ee
We find
\be
\label{Vproots}
K_1 = -K_+ + i \sqrt{3} K_-
\, , \qquad
K_2 = -K_+ - i \sqrt{3} K_-
\, , \qquad
K_3 = 2K_+
\, ,
\ee
where 
\be
\label{mdef}
K_+ \equiv {m \over 12} + {\mu \over m}
\, , \qquad \qquad
K_- \equiv {m \over 12} - {\mu \over m}
\, , \qquad \qquad
m^3 \equiv 108 +108 \sqrt{1 - \frac{\mu^3}{\mu_0^3}}
\, ,
\ee
where $\mu_0 \equiv 3/2^{2/3}$.
Of these, $K_3$ is always real while the first two are real only
for $\mu \geq \mu_0$. 
Notice that, for any $\mu$,
the effect of the quadratic and the linear term in the
potential is relatively important only in a neighborhood of the 
origin. For
motions of the particle with sufficiently high energy $E$, the
time spent by the particle in this region is negligible and the
quartic term dominates the motion. As a result, we may conclude
that $\Theta_0$ approaches zero with increasing $E$, due to the
approximate symmetry $K \rightarrow -K$ of the motion. The term
linear in $K$ spoils this symmetry 
and, for $\sigma > 0$ (as taken in this section), makes 
$\Theta_0$ slightly positive for large $E$. 
As $\Theta_0$ descends, with increasing $E$, from 
this positive value to 0, it will cross all critical values
$2\pi/n$ for $n$ greater than some $n_0$. We expect therefore to 
encounter configurations with arbitrarily high $n$, for all
$\mu$ --- see  Fig.{}~\ref{Theta0Rpm}. 

\par
%%%%%%%%%%%%%%%%%% FIGURE
\setlength{\figurewidth}{.4\textwidth}
\begin{floatingfigure}{\figurewidth}
\rule{0mm}{.675\figurewidth}
\begin{pspicture}(0\figurewidth,0\figurewidth)%
                 (.9\figurewidth,.625\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
%%%%%%% Puts
\put(3.1,1.42){\makebox[0cm][l]{$\mu/\mu_0$}}
\put(2,2.35){\makebox[0cm][r]{$\Theta_{0i}^{(max)}/2\pi$}}
\put(2.9,2.05){\makebox[0cm][l]{$i=3$}}
\put(2.9,.7){\makebox[0cm][l]{$i=1$}}
%%%%%%% Axes
\psline[linewidth=.3mm]{->}%
(2.068,.27)(2.068,2.5)
\psline[linewidth=.3mm]{->}%
(.35,1.65)(3.3,1.65)
\psline[linewidth=.15mm,linestyle=dashed]{-}%
(2.63,.27)(2.63,2.5)
\psline[linewidth=.15mm]{-}%
(2.068,2.32)(3.2,2.32)
\psline[linewidth=.15mm]{-}%
(2.068,.96)(3.2,.96)
%%%%%%% Included graphic
\raisebox{\totalheight}{%
\includegraphics[angle=270,width=.9\figurewidth]{the0max.ps}%
}
\end{pspicture}%
\capitem{$\Theta_{0i}^{max}(\mu)$, $i=1,3$ \\ \\ }
\label{the0max}
\end{floatingfigure}
%%%%%%%%%%%%%%%%%% FIGURE
\par


%%%%%%%%%%%%%%%%%% FIGURE
\setlength{\figurewidth}{.8\textwidth}
\begin{figure*}
%\rule{0mm}{.675\figurewidth}
\begin{pspicture}(0\figurewidth,0\figurewidth)%
                 (\textwidth,.7\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
%%%%%%% Puts
\put(3.38,2.1){\makebox[0cm][l]{$\bar{\mu} \! = \! 2$}}
\put(2.68,2.1){\makebox[0cm][l]{$\bar{\mu} \! = \! 1.5$}}
\put(2.13,2.1){\makebox[0cm][l]{$\bar{\mu} \! = \! 1.01$}}
\put(1.74,2){\makebox[0cm][l]{$\bar{\mu} \! = \! 0.5$}}
\put(1.2,1.7){\makebox[0cm][l]{$\bar{\mu} \! = \! -1$}}
\put(1.15,1.47){\makebox[0cm][l]{$\bar{\mu} \! = \! -2.5$}}
\put(4.1,1.25){\makebox[0cm][l]{$\bar{E}$}}
\put(1.1,2.43){\makebox[0cm][l]{$\Theta_{03}/2\pi$}}
\put(3.97,1.8){\makebox[0cm][l]{$n \! = \! 2$}}
\put(3.97,1.63){\makebox[0cm][l]{$n \! = \! 3$}}
\put(3.97,1.53){\makebox[0cm][l]{$n \! = \! 4$}}
\put(3.97,1.025){\makebox[0cm][l]{$n \! = \! -4$}}
\put(3.97,.92){\makebox[0cm][l]{$n \! = \! -3$}}
\put(3.97,.76){\makebox[0cm][l]{$n \! = \! -2$}}
\put(1.95,1.08){\makebox[0cm][r]{%
                $\bar{E}^{(2)}(\bar{\mu} \! = \! 0.5)$}}
\rput(1.97,1.1){\rnode{A}{}}
\rput(1.8,1.28){\rnode{B}{}}
\nccurve[angleA=45,angleB=-40,linewidth=.18mm]{->}{A}{B}
\psdots[dotscale=1]%
(1.79,1.825)
\put(1.82,1.828){\makebox[0cm][l]{$A$}}
\psdots[dotscale=1]%
(1.79,1.3)
\psdots[dotscale=1]%
(2.14,1.04)
\put(2.13,1){\makebox[0cm][r]{$B_1$}}
\psdots[dotscale=1]%
(2.195,1.04)
\put(2.22,1){\makebox[0cm][l]{$B_2$}}
%%%%%%% Axes
\psline[linewidth=.3mm]{->}%
(1.065,1.3)(4.05,1.3)
\psline[linewidth=.3mm]{->}%
(1.065,0.26)(1.065,2.45)
\psline[linewidth=.15mm,linestyle=dashed]{-}%
(1.79,1.825)(1.79,1.3)
%%%%%%% Included graphic
\centerline{%
\raisebox{\totalheight}{%
\includegraphics[angle=270,width=.9\figurewidth]{Theta0Rpm.ps}%
}%
}
\end{pspicture}%
%%%%%%% Caption
\capitem{$\Theta_{03}(\bar{E})$, $\bar{E} \equiv
(E-V(K_3))/\mu_0^2$, for various values of $\bar{\mu} \equiv
\mu/\mu_0$. Also shown, with horizontal dashed lines, are some of 
the values of
$\Theta_{03}$ that give rise to closed configurations. The
corresponding values of $\bar{E}$ can be read off as in the case
$\bar{\mu} \! = \! 0.5$, $n \! = \! 2$ shown --- the
(self-intersecting) configuration itself appears in
Fig.{}~\ref{configint}. Notice how the
$\bar{\mu}=-1$, $-2.5$ curves miss the $n=2$, $n=2,3,4$
configurations respectively.}
\label{Theta0Rpm}
\end{figure*}
%%%%%%%%%%%%%%%%%% FIGURE

On the other extreme, when the energy $E$ is only slightly greater
than a local minimum of the potential (at $K_1$ or $K_3$),  and 
the particle
oscillates around that minimum, we may approximate $V(K)$
by a quadratic expression in $K$ and find for $\Theta_0$ the
limiting value
\be
\label{the0min}
\Theta_{0i}^{(max)} = 2\pi
\frac{\sqrt{2}}{\sqrt{3-\frac{\mu}{{K_i}^2}}}
\, , \qquad \qquad
i=1,3
\, ,
\ee
where the superscript {\em (max)} is used because, as we shall
see shortly, this is actually a maximum of
$\Theta_{0i}(\mu,E)$, for fixed $\mu$. Starting
from~(\ref{Vproots}), one infers the limiting values
\ble{The1lim}
\Theta_{01}^{(max)}(\mu \to \mu_0^+)=-\infty
\, , \qquad 
\Theta_{01}^{(max)}(\mu \to \infty)=-2\pi
\, , 
\ee
as well as
\ble{The3lim}
\Theta_{03}^{(max)}(\mu \to -\infty)=0
\, , \qquad 
\Theta_{03}^{(max)}(\mu = 0)=2\pi \sqrt{{2 \over 3}}
\, , \qquad 
\Theta_{03}^{(max)}(\mu \to \infty)=2\pi
\, .  
\ee
A plot of 
$\Theta_{0i}^{(max)}(\mu)$ is given in Fig.{}~\ref{the0max}. We
notice that, for $\mu > \mu_0$, {\em there are no non-self-intersecting 
configurations corresponding to oscillations in the left well}.   

We explain now why the value $n=1$ was omitted
in~(\ref{condclos}). The reasoning behind that relation was that
a closed configuration should correspond to $n$ complete
oscillations of the particle. This is not necessarily so in the
case of the circle. {\em Any} number of ``oscillations'' (of zero
amplitude) will fit into a circle, including irrational numbers,
and indeed,~(\ref{the0min}) shows that the circle corresponding
to the particle resting at $K_i$, $i=1,3$, is made of
$\sqrt{3-\frac{\mu}{{K_i}^2}}/\sqrt{2}$ complete oscillations.

To examine what happens for values of $E$ that render the
quadratic and linear terms important, we analyze the cases $\mu <
\mu_0$ and $\mu \geq \mu_0$ separately.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{\mathversion{bold} $\mu < \mu_0$ \mathversion{normal}}
\label{mulz}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The potential possesses only 
one minimum,
at $K_3 > 0$ given by~(\ref{Vproots}) (see Fig.~\ref{phase}). 
$\Theta_{03}$ starts at
$\Theta_{03}^{(max)}$, for $E=V(K_3)$, and for $\mu$ far from 
$\mu_0$, decreases monotonically 
to zero with increasing $E$. The configurations that do not 
appear are those for
which $2 \leq n < 2\pi/\Theta_0^{(max)}$ as well as all with
negative $n$. This condition determines a
set $\{\mu_n | n=2,3, \dots\}$ of critical values of $\mu$, such
that, for $\mu < \mu_n$, all configurations with $n'=2,3,\dots,n$
are absent (the circle is, of course, always there). 
As $\mu$ approaches $\mu_0$, the left wall of the potential
develops a plateau that tends to the horizontal, as $\mu \to
\mu_0$. The particle spends a relatively long time in this
(negative $K$) region, which results in a negative bump in the
$\Theta_0$ curve. As $\mu \to \mu_0$, the minimum of this bump
tends to $-\infty$ --- negative $n$ configurations appear
accordingly. Direct evaluation of the integral~(\ref{Thetaint})
gives~\cite{Byr.Fri:54}
\ble{Thetaexp}
\Theta_{03}(\mu,E)=\frac{8g(aB+bA)}{A-B} 
\left[ \alpha_2 \K (k) + \frac{\alpha - \alpha_2}{1-\alpha^2}
\Pi(\frac{\alpha^2}{\alpha^2-1},k) \right]
\, ,
\ee
where $k^2=\frac{(a-b)^2-(A-B)^2}{4AB}$,
\ble{vardef1}
\begin{array}{rclcrclcrcl}
\dss g \fedss \frac{1}{\sqrt{AB}}
\aqqadss
\alpha \fedss \frac{A-B}{A+B}
\aqqadss
\alpha_2 \fedss \frac{bA-aB}{aB+bA}
\\
\dss A^2 \fedss (a-b_1)^2+a_1^2
\aqqadss
B^2 \fedss (b-b_1)^2+a_1^2
\aqqadss
b_1 \fedss -\frac{1}{2}(a+b)
\\
\dss a_1^2 \fedss \frac{4}{a+b} + ab - \frac{1}{4}(a+b)^2
\aqqadss
a \fedss K_{max}(\mu,E)
\aqqadss
b \fe K_{min}(\mu,E)
\end{array}
\ee
and $\K$, $\Pi$ are the complete elliptic integrals of the first
and third kind respectively, given by
\ble{KPIdef}
\K(k) = \int_0^{\pi/2} \frac{d\theta}{\sqrt{1-k^2
\sin^2\theta}}
\, , \qquad \quad
\Pi(\alpha^2, k) = \int_0^{\pi/2} \frac{d \theta}{(1-\alpha^2
\sin^2 \theta) \sqrt{1-k^2 \sin^2 \theta}}
\, .
\ee
The result~(\ref{Thetaexp}) holds for $\mu > \mu_0$ as well, with
the appropriate choice of $K_{min}$, $K_{max}$. A plot of
$\Theta_{03}(\mu,E)$, for various values of $\mu$, appears in
Fig.{}~\ref{Theta0Rpm}.

A couple of remarks are in order at this point. 
Consider the point $A$ in Fig.{}~\ref{Theta0Rpm}, which is 
the intersection of
the $\bar{\mu}=0.5$ curve with the $n=2$ line, corresponding to
an $n=2$ configuration. Imagine now that $\bar{\mu}$ is
diminished continuously --- the corresponding curve will move
more or less downwards forcing $A$ to move to the left. The
corresponding $\bar{E}$ then diminishes which means that the
fictitious particle oscillates in the potential well with smaller 
amplitude. When $A$ hits the $\Theta_{03}$-axis, $\bar{E}$ is
zero, the particle sits at the bottom of the well and the
corresponding configuration becomes a circle. In other words,
{\em all
configurations like the one corresponding to the point $A$ can be
continuously deformed to a circle}. 

\par
%%%%%%%%%%%%%%%%%% FIGURE
\setlength{\figurewidth}{.45\textwidth}
\begin{floatingfigure}{\figurewidth}
\rule{0mm}{.685\figurewidth}
\begin{pspicture}(0\figurewidth,0\figurewidth)%
                 (.9\figurewidth,.625\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
%%%%%%% Puts
%\put(3.1,1.42){\makebox[0cm][l]{$\mu/\mu_0$}}
%\put(2,2.35){\makebox[0cm][r]{$\Theta_{0i}^{(max)}/2\pi$}}
%\put(2.9,2.05){\makebox[0cm][l]{$i=3$}}
%\put(2.9,.7){\makebox[0cm][l]{$i=1$}}
%%%%%%% Axes
\psline[linewidth=.3mm]{->}%
(0,1)(3.3,1)
\psline[linewidth=.3mm]{->}%
(0,.1)(0,2.5)
\psline[linewidth=.15mm,linestyle=dashed]{-}%
(0,2)(3.3,2)
\psline[linewidth=.15mm,linestyle=dashed]{-}%
(0,1.2)(3.3,1.2)
\psline[linewidth=.15mm,linestyle=dashed]{-}%
(0,.75)(3.3,.75)
\pscurve[linewidth=.25mm]{-}%
(0,1.9)(.5,1.89)(1,1.8)(1.05,1.6)(1.1,.75)%
(1.15,.65)(1.2,.75)(1.33,1.2)%
(2,1.4)(3.2,1.1)
\psdots[dotscale=1]%
(1.1,.75)(1.2,.75)(1.07,1.2)(1.32,1.2)(2.92,1.2)
\put(1.02,1.1){\makebox[0cm][r]{$B'_1$}}
\put(1.38,1.1){\makebox[0cm][l]{$B'_2$}}
\put(2.92,1.3){\makebox[0cm][l]{$B'_3$}}
\put(1.07,.56){\makebox[0cm][r]{$B_1$}}
\put(1.25,.56){\makebox[0cm][l]{$B_2$}}
\put(.1,2.05){\makebox[0cm][l]{$n \! = \! 1$}}
\put(.1,1.25){\makebox[0cm][l]{$n \! = \! 5$}}
\put(.1,.8){\makebox[0cm][l]{$n \! = \! -4$}}
\put(.05,2.5){\makebox[0cm][l]{$\Theta_{03}/2\pi$}}
\put(3.35,.95){\makebox[0cm][l]{$\bar{E}$}}
\end{pspicture}%
\capitem{Bifurcations: as $\bar{\mu}$ is reduced, the minimum of
the curve shifts upwards and $B_1$, $B_2$ collapse to a 
point. Further decrease of $\bar{\mu}$ forces $B'_1$, $B'_2$ to
collapse to a point. The corresponding configurations cannot be
continuously deformed to a circle.% 
}
\label{exag}
\end{floatingfigure}
%%%%%%%%%%%%%%%%%% FIGURE
\par

This is not the case though with
the points $B_1$, $B_2$ in the same figure. Consider $B_1$ --- 
it corresponds
to an $n=-4$ configuration for $\bar{\mu}=1.01$. Imagine now that
$\bar{\mu}$ is diminished in a continuous way. As soon as it
becomes smaller then 1, the infinite negative pole of the
corresponding curve is softened to a negative minimum which, for
$\bar{\mu}$ sufficiently close to 1, still intersects the $n=-4$
line. Given that the $\mu$-curves in Fig.~\ref{Theta0Rpm} become
almost horizontal at high $E$, we give an exagerrated sketch of
the situation in Fig.~\ref{exag}. 
As the value of $\bar{\mu}$ is lowered, this negative
minimum rises and, for a critical value of $\bar{\mu}$, will
just touch the $n=-4$ line, \ie, \ $B_1$ and $B_2$
collapse to a single point $B$. The configuration that corresponds to
this point is not a circle, since $\bar{E}$ is positive and the
particle oscillates with a finite amplitude, \ie, \ $K$ is not
constant. We conclude that {\em configurations corresponding to points
like $B_1$, $B_2$ cannot be continuously deformed to a circle}.
Moreover, {\em there exist bifurcation points, like $B$ above, 
distinct from the circle.} 
When $\bar{\mu}$ is lowered even more, the minimum of the
$\bar{\mu}$-curve becomes positive and remarks similar to the
above can be made about its points of intersection $B'_1$, $B'_2$
with sufficiently high $n$ lines (see Fig.~\ref{exag}). 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{\mathversion{bold} $\mu \geq \mu_0$ \mathversion{normal}}
\label{mugez}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\noindent The potential posseses two
local minima, at $K_1 < 0$ and $K_3 > 0$ (with $V(K_1) > 
V(K_3)$) and one local maximum at
$K_2 < 0$ (see Fig.{}~\ref{potspi}). 
Depending on its energy and where it is started from, the
particle is confined in the left well, the right well or visits
both during every oscillation.

We note the following, regarding the asymptotic behaviour of
$\Theta_{0i}$ as $\mu \rightarrow \infty$. In this regime, the
linear term becomes negligible in $V(K)$ and the integral giving
$\Theta_{0i}$ can be easily seen to reduce (with $K^2 \rightarrow
x$) to an integral giving (half) the {\em period} of a {\em harmonic}
oscillator in a potential $x^2/4 - \mu x/2$, which is 
independent of its  energy $E$, 
as well as the `constant force' $\mu$. Another way to see the
$\mu$-independence is by observing that, with $\sigma =0$ (which is
equivalent to sending $\mu$ to infinity), one lies on the
$\mu$-axis in the $(\sigma,\mu)$-plane, which is an orbit under
scaling, hence changes in $\mu$ in this regime leave $\Theta_{0i}$
invariant. Another novelty in this case is that, as the
energy approaches $V(K_2)$ (either from above or below), the period 
of the motion
tends to infinity, most of which the particle spends at $K_2$.
Assume we start the particle at the turning point on the right
with zero velocity and with just the right energy to reach the
central maximum of $V$, $E=V(K_2)$. 
The corresponding curve starts in a counterclockwise sense with
decreasing curvature, passes through an inflection point and
acquires infinite length  spiralling forever
clockwise as it approaches asymptotically a circle of radius
$1/K_2$, see Fig.{}~\ref{potspi}.

%%%%%%%%%%%%%%%%%%%%%%%% FIGURE
\begin{figure}
%%%%%%%%%%%%%%%% PSPICTURE
\setlength{\figurewidth}{.43\textwidth}
%\fbox{%
\begin{pspicture}(0\figurewidth,0\figurewidth)%
                 (.48\figurewidth,.625\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
%%%%%%% Puts
\put(3.3,1.5){\makebox[0cm][l]{$\bar{K}$}}
\put(1.8,2.35){\makebox[0cm][l]{$\bar{V}$}}
%%%%%%% Axes
\psline[linewidth=.2mm]{->}%
(.35,1.61)(3.25,1.61)
\psline[linewidth=.2mm]{->}%
(1.7,.25)(1.7,2.4)
%%%%%%% Included graphic
\raisebox{\totalheight}{%
\includegraphics[angle=270,width=.9\figurewidth]{potV4.ps}%
}
\end{pspicture}%
%}
%%%%%%%%%%%%%%%% PSPICTURE
\hfill
%%%%%%%%%%%%%%%% PSPICTURE
\setlength{\figurewidth}{.43\textwidth}
%\fbox{%
\begin{pspicture}(0\figurewidth,.05\figurewidth)%
                 (.9\figurewidth,.625\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
%%%%%%% Puts
\put(2.7,.3){\makebox[0cm][l]{$X$}}
\put(1.65,2.5){\makebox[0cm][r]{$Y$}}
%%%%%%% Axes
\psline[linewidth=.2mm]{->}%
(1,.48)(2.72,.48)
\psline[linewidth=.2mm]{->}%
(1.75,.45)(1.75,2.5)
%%%%%%% Included graphic
\raisebox{\totalheight}{%
\includegraphics[angle=270,width=.96\figurewidth]{spiral.ps}%
}
\end{pspicture}%
%}
%%%%%%%%%%%%%%%% PSPICTURE
%%%%%%%%%%%%%%%% CAPTION
\capitem{%
On the left:
the potential $\bar{V}(\bar{K})$ for $\bar{\mu}=2$.
On the right:
spiralling configuration for $E=V(K_2)$, 
with the particle starting at the turning point on the right with
zero velocity.
}
\label{potspi}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%% FIGURE
$\Theta_{03}$ tends accordingly to $-\infty$, this corresponds to
the negative poles in Fig.{}~\ref{Theta0Rpm}. As mentioned
already, for $V(K_1) <E< V(K_2)$, 
$\Theta_0$ will have two branches, $\Theta_{01}$ and
$\Theta_{03}$, corresponding to
the motions confined to either well. Both of these branches will
tend to $-\infty$ as $E \rightarrow V(K_2)$. For $E> V(K_2)$ 
there is only one branch, which starts from $-\infty$
and approaches asymptotically zero (as $E \rightarrow \infty$),
after having reached a positive local maximum. 
A three-dimensional plot of $\Theta_{03}(\mu,E)$
is given in Fig.{}~\ref{T0Rpm}.
We present a representative collection of configurations in 
Fig.{}~\ref{config}. We also show, for reference purposes, some 
self-intersecting configurations in 
Fig.{}~\ref{configint}. 

%%%%%%%%%%%%%%%%%% FIGURE
\setlength{\figurewidth}{.8\textwidth}
\begin{figure*}
%\rule{0mm}{.675\figurewidth}
\begin{pspicture}(0\figurewidth,0\figurewidth)%
                 (\textwidth,.7\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
%%%%%%% Puts
\put(.83,1.27){\makebox[0cm][r]{$\bar{\mu}$}}
\put(4.1,1.27){\makebox[0cm][l]{$\bar{E}$}}
\put(2.41,2.67){\makebox[0cm][r]{$\Theta_{03}/2\pi$}}
%%%%%%% Axes
%\psline[linewidth=.3mm]{->}%
%(2.068,.27)(2.068,2.5)
%\psline[linewidth=.15mm,linestyle=dashed]{-}%
%(2.63,.27)(2.63,2.5)
%%%%%%% Included graphic
\centerline{%
\raisebox{\totalheight}{%
\includegraphics[angle=270,width=\figurewidth]{T0Rpm3.ps}%
}%
}
\end{pspicture}%
\capitem{The angle $\Theta_{03}(\bar{\mu}, \bar{E})$, for $0.5 \leq
\bar{\mu} \leq 1.3$, in steps of 0.05 and $0 \leq \bar{E} \leq
.8$, in variable step. The $\bar{\mu}=1$ curve
has been shifted to $\bar{\mu}=1.01$ in order to avoid the
ambiguity in the number of roots of $\dot{V}$. The negative pole
in the curves for $\bar{\mu} > 1$ occurs at $E=V(K_2)$.%
}
\label{T0Rpm}
\end{figure*}
%%%%%%%%%%%%%%%%%% FIGURE

%%%%%%%%%%%%%%%%%% FIGURE
\setlength{\figurewidth}{.8\textwidth}
\begin{figure*}
%\rule{0mm}{.675\figurewidth}
\begin{pspicture}(.1\figurewidth,0\figurewidth)%
                 (\textwidth,.85\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
%%%%%%% Puts
%\put(.83,1.27){\makebox[0cm][r]{$\bar{\mu}$}}
%\put(4.1,1.27){\makebox[0cm][l]{$\bar{E}$}}
%\put(2.43,2.65){\makebox[0cm][r]{$\Theta_{03}$}}
%%%%%%% Axes
%\psline[linewidth=.3mm]{->}%
%(2.068,.27)(2.068,2.5)
%\psline[linewidth=.15mm,linestyle=dashed]{-}%
%(2.63,.27)(2.63,2.5)
%%%%%%% Included graphic
\centerline{%
\raisebox{-.53\totalheight}{%
$\qquad \qquad$ 
$\qquad$ 
\includegraphics[angle=0,width=1.9\figurewidth]{CFINH.ps}%
}%
}
\end{pspicture}%
\capitem{%
Non-self-intersecting configurations for $\bar{\mu}=-0.5$,
$\sigma=1$ and $n=2,3,4,5$.  Also shown, for each configuration, 
is the circle of radius
$X_0$ (see Eq.~(\ref{geomproof})), passing through its inflection 
points.
}
\label{config}
\end{figure*}
%%%%%%%%%%%%%%%%%% FIGURE

%%%%%%%%%%%%%%%%%% FIGURE
\setlength{\figurewidth}{.8\textwidth}
\begin{figure*}
%\rule{0mm}{.675\figurewidth}
\begin{pspicture}(.1\figurewidth,0\figurewidth)%
                 (\textwidth,.85\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
%%%%%%% Puts
%\put(.83,1.27){\makebox[0cm][r]{$\bar{\mu}$}}
%\put(4.1,1.27){\makebox[0cm][l]{$\bar{E}$}}
%\put(2.43,2.65){\makebox[0cm][r]{$\Theta_{03}$}}
%%%%%%% Axes
%\psline[linewidth=.3mm]{->}%
%(2.068,.27)(2.068,2.5)
%\psline[linewidth=.15mm,linestyle=dashed]{-}%
%(2.63,.27)(2.63,2.5)
%%%%%%% Included graphic
\centerline{%
\raisebox{-.53\totalheight}{%
$\qquad \qquad$ 
$\qquad$ 
\includegraphics[angle=0,width=1.9\figurewidth]{CFIN.ps}%
}%
}
\end{pspicture}%
\capitem{%
\textsf{Self-intersecting configurations for $\bar{\mu}=0.5$,
$\sigma=1$ and  $n=2,3,4,5$.  Also shown, for each configuration, 
is the circle of radius
$X_0$ (see Eq.~(\ref{geomproof})), passing through its inflection 
points.
}
}
\label{configint}
\end{figure*}
%%%%%%%%%%%%%%%%%% FIGURE

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Perturbations}
\label{PA}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Equilibrium-connecting deformations}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
We study here the following problem: given an  
equilibrium configuration $\vec X$,
find an infinitesimal deformation $\deps \vec
X=\epsilon \nh$ such that $\vec X + \deps \vec X$
describes a nearby equilibrium. Notice that $\deps \vec X$ is not
necessarily the displacement vector of some point of the loop ---
the latter will generally have a tangential component as well.
 Our motivation is to
obtain new solutions from known ones, with the closure
condition automatically satisfied. 

Using some
of the formulae listed in the appendix, the linearization of the
equilibrium condition~(\ref{eq:D1}) gives 
that the deformation $\epsilon$ must satisfy 
\bae
\label{epsde4}
DE_4(\epsilon) 
& \equiv & 2 
\epsilon'''' +(5K^2-\mu)\epsilon'' +10KK' \epsilon'
+(12E-{5 \over 2} K^4 +6\mu K^2 +10\sigma K)\epsilon
\ff
 & = & 
-\deps \mu K - \deps \sigma
\, ,
\eae
where the deformed configuration satisfies~(\ref{eq:D1}),
with $\mu \to \mu + \deps \mu$, $\sigma \to \sigma +
\deps \sigma$. The energy  will change as well, $E \to E + \deps
E$. This appears explicitly in the
linearization of~(\ref{DEKalt}), which gives
\bae
\label{epsde3}
DE_3(\epsilon) 
& \equiv &
2 K' \epsilon''' + (K^3 - \mu K - \sigma ) \epsilon''
+ 2 K^2 K' \epsilon' + K ( 12 E - {1 \over 2} K^4
+ 2 \mu K^2 + 5 \sigma K ) \epsilon 
\ff
 & = &
- {1 \over 2} K^2 \deps \mu - K \deps \sigma - \deps E
\, .
\eae
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{\mathversion{bold}%
The $\sigma$-identities
\mathversion{normal}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
We introduce a number of functions on the loop,
relevant in the study of the solutions of~(\ref{epsde4}).
Any vector field $\vec a$ defines the following
two functions on the loop
\be
\label{anatdef}
a_n \equiv \vec a \cdot \nh
\, , \qquad \qquad
a_t \equiv \vec a \cdot \th
\, .
\ee
The position vector $\vec X$, in particular, supplies
\be
\label{phdef}
h \equiv \vec X \cdot \nh
\, , \qquad \qquad
p \equiv \vec X \cdot \th
\, ,
\ee
both functions evidently dependent on the choice of origin.
One finds
\be
\label{anathpid}
a_n'=-Ka_t
\, , \qquad \qquad
a_t'=Ka_n
\, , \qquad \qquad
h'=Kp
\, , \qquad \qquad
p'=1-Kh
\, ,
\ee
where $\vec a$ is henceforth assumed constant.
We will say that a function $f$ on the loop is the {\em generator}
of a transformation iff, under the latter, $\delta \vec X
\cdot \nh = f$. With this definition, 
$a_n$, $a_t$ are the generators of translations along 
$\vec a$ and perpendicularly to it respectively. $p$ and
$h$ generate rotations and dilations respectively (both
w.r.t.{} the origin). One easily verifies that
$DE_4(a_n)=DE_4(a_t)=DE_4(p)=0$
while $DE_4(h)=2\mu K + 3\sigma$, in accordance with the
scaling behavior of $\mu$, $\sigma$ found earlier,
Eq.~(\ref{eq:Pscale}).  
Experimenting a little with~(\ref{epsde4}) we find, not
without some surprise, two more solutions
\be
\label{twomore}
DE_4(K')=0
\, , \qquad \qquad
DE_4 \left(\sigma^{-1} (K^2 -\mu)\right) = 2 \mu K + 3\sigma
\, .
\ee
Noting, additionally, that when the origin is at the center of the
loop, the zeros of $p$ coincide with the extrema of $K$,
as well as the coincidence of the extrema of $h$ and
$K^2$, we make the ansatz
\be
\label{hpans}
h = \sigma^{-1}(K^2 -\mu) +f
\, , \qquad \qquad
p=2 \sigma^{-1} K' + g
\, ,
\ee
with $f$, $g$ to be determined. Substituting
in~(\ref{anathpid}), we find $f'=Kg$, $g'=-Kf$, with
solution
\be
f = a \cos(\Theta -\phi_0)
\, , \qquad \qquad
g = a \sin(\Theta - \phi_0)
\, ,
\ee
where $a$, $\phi_0$ are arbitrary constants. 
One recognizes $f$, $g$ to be, respectively, the functions $a_n$,
$a_t$ corresponding to the position vector $\vec a$ of the center
of the loop, then~(\ref{hpans}) state
\fle{magicids}{%
h = \sigma^{-1} (K^2 - \mu) + a_n
\, , \qquad \qquad
p=2\sigma^{-1} K' +a_t
\, ,
}%
a remarkable geometrical property, the implications of which will
occupy us shortly. Notice that neither of~(\ref{magicids})
survives in the $\sigma \rightarrow 0$ limit. Unless otherwise stated, 
we will take $\vec a$ equal to zero in what follows.

One might wonder whether~(\ref{epsde4}) admits other polynomial
solutions in $K$, apart from the second of~(\ref{twomore}). To
investigate this, we rewrite~(\ref{epsde4}) in terms of
derivatives w.r.t. $K$, using $\frac{d}{d\ell} = K' \frac{d}{d
K}$ and find for $DE(K^n)$ the leading term $(\frac{1}{8} n^4 +
\frac{3}{4} n^3 + \frac{1}{8} n^2 -3n -\frac{5}{2}) K^{n+4}$,
with only positive integer root $n=2$. We conclude that no other
polynomial solutions of~(\ref{epsde4}) exist.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Geometrics}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
We are now
in a position to give a purely geometrical construction
of the equilibria. Indeed, starting from $X^2 = h^2 + p^2$ and
using~(\ref{magicids}), we
find
\fle{geomproof}{%
X^2 -X_0^2  = 4 \sigma^{-1} K
\, , \qquad \qquad X_0 \equiv \sigma^{-1}\sqrt{8E+\mu^2}
\, ,
}%
where, in the derivation, use was made of the first 
integral, Eq.~(\ref{eq:D2}). This remarkable formula
expresses the embedding completely in terms of
$K(\ell)$. We emphasize that the shape is obtained
directly from $K$, given $(\sigma, \mu, E)$, without
any integration.
%The model is completely integrable.
Note that both the relations (\ref{magicids}) follow
by taking derivatives with respect to arclength of
(\ref{geomproof}). It follows from~(\ref{geomproof}) that the
moment of inertia $\calI$ of the loop around an axis
perpendicular to its plane and passing through its center, is
given by 
\begin{equation}
\calI = L X_0^2 +8\pi\sigma^{-1} 
\,.
\label{eq:K8}
\end{equation}

\par
%%%%%%%%%%%%%%%%%% FIGURE
\setlength{\figurewidth}{.9\textwidth}
\begin{figure}
%\setlength{\figurewidth}{.48\textwidth}
%\begin{floatingfigure}{.93\figurewidth}
%\begin{figure}
%\rule{0mm}{.675\figurewidth}
\begin{pspicture}(0\figurewidth,0\figurewidth)%
                 (.9\figurewidth,.63\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
\psdots[dotscale=1.3]%
(2.807,.81)(1.9,.85)(2.31,1.06)
\put(2.83,.7){\makebox[0cm][l]{$P$}}
\put(2.32,.94){\makebox[0cm][r]{$A$}}
\put(2.07,.97){\makebox[0cm][r]{$X_0$}}
\put(2.18,.73){\makebox[0cm][r]{$X$}}
\put(3.42,1.34){\makebox[0cm][l]{$\rho=\frac{1}{K}$}}
\psline[linewidth=.2mm]{->}%
(1.9,.85)(2.31,1.06)
\psline[linewidth=.2mm]{->}%
(1.9,.85)(2.801,.81)
\psline[linewidth=.2mm]{<->}%
(3.37,1.055)(3.37,1.675)
%\put(1.1,1){\makebox[0cm][l]{$\cal{O}$}}
%\put(.85,1.25){\makebox[0cm][l]{$\vec a$}}
%%%%%%% Included graphic
\centerline{%
\raisebox{\totalheight}{%
\includegraphics[angle=270,width=.83\figurewidth]{construct.ps}%
}%
}
\rput(-2.1,2){\rnode{A}{$\mbox{Volume}=4 \sigma^{-1}$}}
\rput(-1.8,1.7){\rnode{B}{}}
\nccurve[angleA=-45,angleB=100,linewidth=.18mm]{->}{A}{B}
%\put(-2,2){\makebox[0cm][l]{$\mbox{Volume}=4 \sigma^{-1}$}}
\end{pspicture}%
%}%
\capitem{\textsf{Geometrical construction of the equilibrium
curve. The parallelepiped has square base with side $AP$ and
volume $4\sigma^{-1}$. Its height $\rho$ gives the radius of 
curvature at $P$. The part
of the curve lying in the interior of the circle is constructed
similarly.}}
\label{construct}
%\end{floatingfigure}
\end{figure}
%%%%%%%%%%%%%%%%%% FIGURE
\par

\shortpage
\shortpage

To construct geometrically the equilibrium curve (for given
$\sigma$, $\mu$, $E$), we draw a circle with
radius $X_0$ and from a point $P$ outside it, bring the
tangent $PA$ to the circle (see Fig.~\ref{construct}). Taking as
base the square of this tangent, we construct a
parallellepiped with volume $4\sigma^{-1}$, the
height of which is the radius of curvature of the
equilibrium curve at $P$ --- this follows from~(\ref{geomproof}), 
written in the form $(X^2-X_0^2)\rho=4\sigma^{-1}$, where $\rho$
is the radius of curvature at $P$. To achieve closure of the
resulting curve, one has to start with a particular
slope, given by either of~(\ref{magicids}). 
In this way, one constructs the part of the curve lying
outside the circle (the latter intersects the
curve at its inflection points, if any) --- the interior part, 
present only if the ficticious particle reaches into the negative $K$ 
region, is constructed in a similar manner.  

\shortpage
\shortpage

Referring back to our expression for the force $\vec T(\ell)$,
Eq.~(\ref{summtf}), we realize that~(\ref{magicids}) implies that $\vec
T(\ell)$ is orthogonal to $\vec X(\ell)$ while $T(\ell) = \sigma
X(\ell)$, \ie,
\fle{TXrel}{%
\vec T(\ell) = \sigma ( \nh \times \th \, ) \times \vec X(\ell)
\, , \qquad \qquad
T_n = -\sigma p
\, , \qquad \qquad
T_t = \sigma h
\, ,
}%
with $\vec T(\ell)$ the force on the part of the loop pointed to
by $\th$. 
Notice that $\vec T$ is generally compressing but changes
nevertheless to true
tension at the points were $\vec X$ is tangential to the loop.
Also, $p$ has acquired a direct physical interpretation as a
consequence of~(\ref{TXrel}): $\sigma p d\ell$ is just the torque, 
w.r.t.{} the origin,
of the force due to the pressure on a segment of the loop with
length $d\ell$. Then the vanishing of the total torque on the
loop is guaranteed by the fact that $p$ is a derivative. In fact,
one may derive a compact and rather pleasing formula for the torque 
due to pressure
on any segment of the loop, like the one defined by $A$, $B$ in
the sketch of an $n=4$ configuration of Fig.{}~\ref{tcompf}.

\par
%%%%%%%%%%%%%%%%%% FIGURE
\begin{floatingfigure}{.25\textwidth}
\framebox{%
\begin{pspicture}(0\textwidth,0cm)(.2\textwidth,.2\textwidth)
\setlength{\unitlength}{.1\textwidth}
\psset{xunit=.1\textwidth,yunit=.1\textwidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
\psccurve(0,1)(.6,1.4)(1,2)(1.4,1.4)(2,1)(1.4,.6)(1,0)(.6,.6)(0,1)
\psline[linewidth=.2mm]{->}%
(.6,1.4)(1,0)
\psline[linewidth=.2mm]{->}%
(.6,1.4)(1,1)
\psdots[dotscale=1.3]%
(.6,1.4)(1,0)(1,1)
\put(.5,1.4){\makebox[0cm][r]{$A$}}
\put(1.,.15){\makebox[0cm][l]{$B$}}
\put(1.1,1){\makebox[0cm][l]{$\cal{O}$}}
\put(.85,1.25){\makebox[0cm][l]{$\vec a$}}
\end{pspicture}%
}%
\capitem{\textsf{Computing the torque due to pressure on the arc
$AB$}}
\label{tcompf}
\end{floatingfigure}
%%%%%%%%%%%%%%%%%% FIGURE
\par

Suppose we take $A$ as reference point,
then~(\ref{magicids}) is valid with $\vec a$ connecting $A$ with
the center $\cal{O}$ of the loop. We get
\[
\tau^{(A)}_{AB} \, = \, \sigma \int_A^B d\ell p
\, = \,
\sigma \int_A^B d\ell (2\sigma^{-1} K' +a_t)
\, = \,
2(K_B -K_A) + \sigma \vec a \cdot \int_A^B \vec{d\ell}
\]
\ie,
\fle{torqAB}{%
\tau^{(A)}_{AB} = 2(K_B - K_A) + \sigma \vec a \cdot
\overrightarrow{AB}
\, .
}%
Moving the reference point simply moves one endpoint of $\vec a$.
For $\vec a=0$ (torque w.r.t.{} $\cal{O}$),
$\tau^{(O)}_{AB} = 2(K_B - K_A)$. 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Self-intersections}
\label{osi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Given that some potential applications of our model
exclude self-intersecting configurations, we look now for
sufficient conditions for non-self-intersection.
We restrict our attention to self-intersections
that can be reached by a continuous deformation of
non-self-intersecting configurations. In other words, we consider
a one-parameter family of configurations $\vec X (\ell, t)$, $t
\in [0,1]$, continuous in $t$, such that, for every $t$, the
corresponding curvature satisfies~(\ref{eq:D1}) and we take $\vec X
(\ell,0)$, $\vec X (\ell,1)$ to be non-self-intersecting and
self-intersecting respectively. Then, we observe that  as $t$
varies from 0 to 1, one necessarily encounters a ``kiss":
%%%%%%%%%%%%%%%%%%%
\raisebox{0ex}[1.2\height][.6\height]{%
\begin{pspicture}(0ex,1.5ex)(5ex,4.5ex)
\psset{xunit=.6ex,yunit=.5ex}
\setlength{\unitlength}{.6ex}
%\psgrid[subgriddiv=2,griddots=2,gridlabels=8pt]
\put(4.5,2.5){$A$}
\psline[linewidth=.15mm]{*-*}%
(3,3.5)(3,3.5)
\pscurve[linewidth=.2mm]{-}%
(1,0)(3,3.5)(1,7.5)(3,9)(5,7.5)(3,3.5)(5,0)
\end{pspicture}
}%
%%%%%%%%%%%%%%%%%%%
The position vector $\vec X_A$ is along the axis of symmetry of
the lobe and tangential to the loop at $A$. The third
of~(\ref{TXrel}) then shows that the force at $A$ is normal to
the loop, while the second of~(\ref{TXrel}) gives its magnitude as 
\ble{Tnkiss}
T_{A} = \sigma X_{A}
\, .
\ee
The tangency of $\vec X$ at $A$ implies that $h_{A}=0$ and
hence, using~(\ref{magicids}) once more, we get (assuming that
$K$ is negative at a kiss\footnote{%
This assumption is true for all configurations we have
studied numerically.})
\fle{Kkiss}{%
K_{A} = - \sqrt{\mu}
\, ,
}%
for all kisses, regardless of the order of the configuration. 
We conclude that {\em a sufficient condition for
non-self-intersection (of the type defined above), is
$\mu <0$}. (\ref{Kkiss}) gives 
${K'}^2_{A}$ in terms of $\sigma$, $\mu$, $E$
\ble{KpE}
{K'}^2_{A} = 2\left(E + \frac{1}{8} \mu^2 - \frac{1}{2}
\sigma \sqrt{\mu}\right)
\, .
\ee
On the other hand, from~(\ref{geomproof}) we find that
\ble{Xkiss}
X^2_A = \sigma^{-2} (8E + \mu^2) - 4 \sigma^{-1} \sqrt{\mu} 
\, .
\ee
The tangency of $X_A$ though means that $2\sigma^{-1} K'_A=p_A = X_A$
and the above two equations then give (setting $\sigma=1$)
\ble{Emukiss}
E^2 + {1 \over 4} \left( \mu^2 -4 \sqrt{\mu} - {1 \over 2}
\right) E + {1 \over 64} (\mu^2 -4 \sqrt{\mu})(\mu^2 -4
\sqrt{\mu} -1) =0
\, ,
\ee
with roots
\ble{Emuroots}
E_1 = {1 \over 2} \sqrt{\mu} - {1 \over 8} \mu^2 +{1 \over 8}
\, , \qquad \qquad
E_2 = {1 \over 2} \sqrt{\mu} - {1 \over 8} \mu^2
\, .
\ee
For the particular case $n=2$, $K'_{A}=0$ and we get
$E=E_2$. We have
seen in Sec.~\ref{Config} that the relation $\Theta_0 =2\pi/n$
defines a curve in the $(\mu, E)$-plane, consisting of all
parameter pairs giving rise to a configuration of order $n$. The
intersection of that curve with the ones just written above,
consists of the points 
$(\mu,E)$ giving rise to a kissing configuration of order $n$. 

%%%%%%%%%%%%%%%%%%% ASIDE
%\begin{aside}
Consider how~(\ref{TXrel}), (\ref{torqAB}) guarantee equilibrium in
some particular examples. First, look at an even-$n$
configuration, say, $n=2$:  
%%%%%%%%%%%%%%%%%%% PS PICTURE
\raisebox{0ex}[.4\height][.6\height]{%
\begin{pspicture}(-3ex,1.8ex)(13ex,5ex)
\psset{xunit=.8ex,yunit=.6ex}
\setlength{\unitlength}{.8ex}
%\psgrid[subgriddiv=2,griddots=2,gridlabels=8pt]
\put(-3,2.25){$A$}
\put(13,2.25){$B$}
\psccurve[linewidth=.2mm]%
(3,6)(6,4)(9,6)(12,3)(9,0)(6,2)(3,0)(0,3)
\psline[linewidth=.15mm]{*-*}%
(0,3)(12,3)
%\psline{*-*}%
%(6,3)(6,3)
\psdots[dotscale=.6](6,3)
\end{pspicture}
}%
%%%%%%%%%%%%%%%%%%% PS PICTURE
The total force due to the pressure, pushing together the two
halves in the sketch, is $\sigma | \vec{AB}|$. (\ref{TXrel}) 
says that
the tension at $A$, $B$ (purely tangential, compressing) is
$\sigma |\vec{AB}|/2$, thus leaving each half at rest. As a second
example, consider the lobe defined by a self-intersection: 
%%%%%%%%%%%%%%%%%%% FIGURE
\raisebox{0ex}[1.2\height][.6\height]{%
\begin{pspicture}(-.5ex,1.5ex)(5ex,4.5ex)
\psset{xunit=.6ex,yunit=.5ex}
\setlength{\unitlength}{.6ex}
%\psgrid[subgriddiv=2,griddots=2,gridlabels=8pt]
\put(4.5,2.5){$A$}
\psline[linewidth=.15mm]{*-*}%
(3,3.5)(3,3.5)
\pscurve[linewidth=.2mm]{-}%
(0,0)(3,3.5)(6,7.5)(3,9)(0,7.5)(3,3.5)(6,0)
\end{pspicture}
}%
%%%%%%%%%%%%%%%%%%% FIGURE
The total force due to the pressure on the lobe is zero,
and~(\ref{TXrel}) says that the forces from the rest of the loop, 
on the two ends of the lobe that meet at $A$, are opposite (with
direction so as to keep the lobe closed). 
As a further check on our results, one can
verify
the balancing of torques using~(\ref{torqAB}) on, say, the right half
of a kiss.
%\end{aside}
%%%%%%%%%%%%%%%%%%% ASIDE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Connecting equilibria}
\label{ce}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
There is  more to be derived from~(\ref{geomproof}).
Taking $\deps$ on both sides, we find
\be
\label{var1}
DE_2^{(a)}(\epsilon) 
\equiv 
2 \epsilon'' + (3 K^2 -\mu)\epsilon = \frac{\sigma}{2}  \deps
X_0^2 -2K \sigma^{-1} \deps \sigma
\, ,
\ee
a considerable improvement over~(\ref{epsde4})\footnote{Notice,
however, that~(\ref{var1}) is only valid when the center of
the loop is at the origin.}. Moreover,
by varying the first of~(\ref{magicids}) we also find   
\be
\label{var2}
DE_2^{(b)}(\epsilon) 
\equiv 
2 K \epsilon'' -2K'\epsilon' + (\sigma +2K^3)\epsilon =
-\sigma^{-1} (K^2-\mu) \deps \sigma -\deps \mu
\, .
\ee
Comparison with~(\ref{var1}) leads to a first order
equation for $\epsilon$
\be
\label{firstord}
DE_1(\epsilon) 
\equiv 
4K' \epsilon' -4 K'' \epsilon = c_2 K^2 + c_1 K + c_0
\, ,
\ee
where the constants $c_i$ are given by
\ble{cidef}
c_2 \equiv  -2 \sigma^{-1} \deps \sigma 
\, , \qquad \qquad
c_1 \equiv \sigma \deps X_0^2
\, , \qquad \qquad
c_0 \equiv 2 \deps \mu - 2\mu \sigma^{-1} \deps \sigma
\, .
\ee
Noting that ${d \over dK} =(K')^{-1} {d \over
d\ell}$,~(\ref{firstord}) can be written in the form 
\be
\label{first2}
8(E-V) \dot{\epsilon} +4\dot{V}\epsilon =c_2 K^2 + c_1 K
+ c_0
\, ,
\ee
where the dot denotes differentiation w.r.t. $K$ and
$V=V(K)$. This latter equation is readily integrated to
give
\fle{epsiatlast}{%
\dss
\epsilon = {1 \over 4} K' \int d K {c_2
K^2 + c_1 K + c_0 \over \big(2(E-V) \big)^{3/2}}
\, .
}%
One may add an arbitrary amount of $K'$ (rotation) to this (but
{\em not} $a_n$ or $a_t$, since these move the origin). 
To get particular solutions from~(\ref{epsiatlast}), we
need to specify the direction of the deformation in the
$(\sigma,\, \mu)$-plane, \ie, \ the ratio $\deps \mu
/\deps \sigma$. 
It will prove convenient for our further analysis 
of~(\ref{epsiatlast}), to reparameterize the $(\sigma,\, 
\mu)$-plane introducing new coordinates $(\lambda, \xi)$ via
\ble{smlk}
\lambda(\sigma, \mu) =\sigma^{-1/3}
\, , \qquad \qquad
\xi(\sigma, \mu) = \sigma^{-2/3} \mu
\, .
\ee

\par
%%%%%%%%%%%%%%%%%% FIGURE
\begin{floatingfigure}{.32\textwidth}
\vspace{2mm}
\framebox{%
\begin{pspicture}(-.04\textwidth,-.035\textwidth)%
(.22\textwidth,.19\textwidth)
\setlength{\unitlength}{.1\textwidth}
\psset{xunit=.1\textwidth,yunit=.1\textwidth,arrowsize=2pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
\psline[linewidth=.3mm]{->}%
(0,0)(2,0)
\psline[linewidth=.3mm]{->}%
(0,0)(0,1.6)
\pscurve(0,0)(.01,.0464)(.5,.629)(1,1)(1.25,1.16)(1.5,1.31)(2,1.587)
\pscurve{->}(0,0)(.01,.0464)(.5,.629)(1,1)(1.25,1.16)
\psline[linewidth=.2mm,linestyle=dashed]{-}%
(1,0)(1,1)
\psline[linewidth=.2mm,linestyle=dashed]{-}%
(0,1)(1,1)
\psline[linewidth=.2mm,linestyle=dashed]{-}%
(1.5,0)(1.5,1.31)
\psline[linewidth=.2mm,linestyle=dashed]{-}%
(0,1.31)(1.5,1.31)
\psdots[dotscale=1.3]%
(1,1)(1.5,1.31)
\put(1.05,.85){\makebox[0cm][l]{$P'$}}
\put(1.55,1.15){\makebox[0cm][l]{$P$}}
\put(.8,-.2){\makebox[0cm][l]{$\sigma \! = \! 1$}}
\put(1.45,-.2){\makebox[0cm][l]{$\sigma$}}
\put(-.1,1){\makebox[0cm][r]{$\xi$}}
\put(-.1,1.31){\makebox[0cm][r]{$\mu$}}
\put(1.1,1.12){\makebox[0cm][r]{$\lambda$}}
\end{pspicture}%
}%
\capitem{\textsf{Definition of the coordinates $\lambda$, $\xi$.
\\ }}
\label{laxi}
\end{floatingfigure}
%%%%%%%%%%%%%%%%%% FIGURE
\par

A point $P$ with coordinates $(\sigma,\mu) \neq (0,0)$ lies on a 
unique scaling orbit, which can be specified by the 
$\mu$-coordinate of its point of intersection $P'$ with the 
$\sigma=1$ 
line, this is the value of $\xi$ for $P$. One can get now from 
$P'$ to $P$ by scaling by $\lambda$ (see Fig.~\ref{laxi}). The
obvious advantage of these new coordinates is that the
scaling orbits are constant-$\xi$ lines. The dependence on
$\lambda$ of
an arbitrary quantity $S(\lambda,\xi)$, with length dimension
$q$, is $S(\lambda,\xi)=\lambda^q \tilde{S}(\xi)$, where we denote
by a tilde the remaining function of $\xi$. It follows that
${\partial S \over \partial \lambda} = q \lambda^{-1} S$ so that
$\deps S = q \lambda^{-1} S \deps \lambda + \lambda^{q} 
\tilde{S}' \deps \xi$, the prime denoting here differentiation
w.r.t.{} $\xi$.

%%%%%%%%%%%%%%%%%% ASIDE
%\begin{aside}
We verify that~(\ref{epsiatlast}) gives $\epsilon \sim
h$ for scaling. Eq.~(\ref{cidef}), written in terms of
$(\lambda,\xi)$, gives
\bae
c_2
\fe
6 \lambda^{-1} \deps \lambda
\ff
c_1
\fe 
\lambda^{-2} \left( 16 \tilde{E} +2  \xi^2
\right) \deps \lambda + \lambda^{-1} \left( 8 
\tilde{E}' + 2  \xi \right) \deps \xi
\\
c_0 
\fe
2 \lambda^{-3} \xi \deps \lambda + 2 \lambda^{-2} \deps \xi
\, ,
\nn
\label{cidef2}
\eae
where $E(\lambda,\xi) = \lambda^{-4} \tilde{E}(\xi)$ is the energy
that guarantees closure of some particular configuration. 
An increment $\deps \lambda$ corresponds to scaling by a
factor $1+ \deps \lambda / \lambda$, hence the
corresponding $\epsilon$ should be $\epsilon = (\deps \lambda
/ \lambda) h$. Putting $\deps \xi=0$ in~(\ref{cidef2})
one determines the $c_i$ for pure scaling, then computing $d
/ dK \bigl((K^2 - \mu) / K')$ one finds that the $K^5$ and
$K^3$ terms in the numerator cancel and one recovers the
integrand in~(\ref{epsiatlast}) with just the right $c$'s.
%\end{aside}
%%%%%%%%%%%%%%%%%% ASIDE

Integrating the first of~(\ref{magicids}) w.r.t. $d\ell$,
and using 
\be
\label{Ainth}
A = {1 \over 2} \int d\ell h
\, ,
\ee
we get
\be
\label{WAL}
F = \mu L + 2 \sigma A
\, ,
\ee
from which
\be
\label{Wvar1}
\deps F = L \deps \mu  + \mu \deps L + 2 A \deps \sigma  +
2 \sigma \deps A
\ee
follows.  On the other hand, direct variation of $F$,
Eq.~(\ref{Fzdef}), 
gives
\be
\label{Wvar2}
\deps F = - \mu \deps L - \sigma \deps A
\, .
\ee
Comparing with~(\ref{Wvar1}) we find 
\be
\label{comprel}
L \deps \mu + 2 A \deps \sigma  + 3 \sigma \deps A 
+ 2 \mu \deps L =0
\, .
\ee
For a length-preserving deformation, $\deps L=0$,
and~(\ref{comprel}) reduces to
\be
\label{musirat}
L \deps \mu + 2 A \deps \sigma  
+ 3 \sigma \deps A =0
\, .
\ee
We note in passing that the various differential operators we have 
defined above are related in the following way
\bae
\label{relDE}
[ DE_1 (\epsilon ) ] ' 
\fe 2 K' DE_2{}^{(a)}  (\epsilon )
\, ,
\ff
K [ DE_1  (\epsilon )] ' 
\fe 
2 K' DE_2{}^{(b)} (\epsilon ) + K' DE_1 (\epsilon ) 
\,,
\ff
DE_3 (\epsilon ) 
\fe 
K' [ DE_2{}^{(a)} (\epsilon ) ] ' - K''  DE_2{}^{(a)} (\epsilon ) 
- {1 \over 4} (K^2 - \mu ) DE_1 (\epsilon ) 
\, , 
\ff
K'  DE_4 (\epsilon )   
\fe 
2 [ DE_3 (\epsilon ) ]' 
\, . 
\nonumber
\eae
It follows that any perturbation that satisfies Eq.~(\ref{firstord})
will necessarily satisfy all the higher order ones. 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Perturbing the circle}
\label{ptc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Referring to our cylinder model of the loop (see Sec.~\ref{oft}), 
we consider here the following thought experiment: we start with
the loop ``filled'' to capacity, \ie, in a circular
configuration, and start deflating it by removing fluid from its
interior while keeping its length fixed. We would like to follow 
the evolution of its shape, for
distinct $n$'s, and derive the limiting form of the bending
energy $F$ as a function of the area $A$ near the circular
extreme. Going beyond the cylinder model, we would also like to
allow for self-intersections --- what happens if one just keeps
subtracting area?

Consider the following perturbation to a circle of radius $R$
\ble{pertcirc}
\rho(\theta) = R_{\alpha}\bigl(1+\alpha \sin(n \theta)\bigr)
\, , 
\qquad \qquad
\alpha \ll 1
\, .
\ee
The line element and curvature in these coordinates are 
\ble{lecurv}
d \ell = \sqrt{\rho^2 + \dot{\rho}^2} d\theta
\, ,
\qquad \qquad
K = \frac{\rho^2 +2 \dot{\rho}^2 -\rho
\ddot{\rho}}{(\rho^2+\dot{\rho}^2)^{3/2}}
\, ,
\ee
where the dot here denotes differentiation w.r.t. $\theta$.
Substituting~(\ref{pertcirc}) in the first of~(\ref{lecurv}), 
integrating over $\theta$ and requiring the total length to be
equal to the initial value $2\pi R$, we find
\ble{Ralpha}
R_\alpha = R(1 - \frac{n^2 \alpha^2}{4}) + \calO (\alpha^3)
\, ,
\ee
while for the curvature the second of~(\ref{lecurv}) gives
\ble{curvpert}
K = \frac{1}{R} \bigl(1 + \alpha (n^2-1) \sin(n \theta)\bigr) +
\calO(\alpha^2)
\, .
\ee
We substitute the above expression in the differential equation
for $K$, Eq.~(\ref{eq:D1}), and demand that it be a solution to  
$\calO(\alpha)$. The
constant and $\calO(\alpha)$ terms respectively give
\ble{a01}
1-R^2 \mu - R^3 \sigma=0 
\, ,
\qquad \qquad
2n^4 + (R^2 \mu -5) n^2 + 3 - R^2 \mu =0
\, .
\ee
Notice that the first relation is simply the statement
$\dot{V}(1/R)=0$ while the second also follows 
from~(\ref{epsde4}) with $\epsilon$ as in~(\ref{pertcirc}).
For this perturbation  the differential equation
cannot be satisfied to $\calO(\alpha^2)$. From~(\ref{a01}) 
we get
\ble{musipert}
\sigma = \frac{2}{R^3} (n^2-1)
\, ,
\qquad \qquad
\mu = \frac{1}{R^2} (3-2n^2)
\, .
\ee
During the deflating process, both $\sigma$ and $\mu$ will
vary as functions of $A$. The point in the $\sigma$-$\mu$ plane
corresponding to the configuration will trace out an orbit, 
starting at the above points (for each $n$), all of which lie on
the line $R^3 \sigma + R^2 \mu =1$. For $F$ and $A$ we find
\ble{FApert}
F = \frac{2\pi}{R} \bigl(1 + \frac{1}{2}(n^2-1)^2 \alpha^2
\bigr)
+\calO(\alpha^3)
\, ,
\qquad \qquad
A = \pi R^2 \bigl(1 - \frac{1}{2} (n^2-1) \alpha^2\bigr) 
     + \calO(\alpha^3)
\, .
\ee
Notice that, near the circle, 
\[ \frac{\delta F}{\delta
A}=-\frac{2}{R^3} (n^2-1) = - \sigma
\, ,
\]
in agreement with~(\ref{Wvar2}) (for $\delta L =0$). As 
$A$ keeps diminishing, our numerical analysis shows that the
configurations start self-intersecting, giving rise to regions of
negative area --- this scenario is sketched in Fig.{}~\ref{seque}.
Notice how the winding numbers ($+1$ for the little circles, $-1$ for
the big one) add up correctly to match that of the circle to
which this configuration can be continuously deformed. This
observation points to a feature of the above $m=1$ limiting
configurations already alluded to in the
introduction: the big circle in the configuration of order $n$
actually winds around itself $n-1$ times. For example, to move
from one lobe to the next  along the loop, in the $n=3$
configuration, one must travel an angle of $4\pi/3$, {\em not}
$2\pi/3$ (a glance at Fig.~\ref{configint}.b reveals how this
comes about). 
The limiting shape in this direction then is a circular one, 
with radius 
slightly less than $R/(n-1)$ and $n$ little circles attached to it. 
In this extreme, $F(A)$ is dominated by the little circles
and assumes the limiting form
\ble{FAm1}
F(A) \cong \frac{4\pi n^2}{R} \frac{1}{1+(n-1) \frac{A}{\pi R^2}}
\, ,
\ee
where the area is counted with the appropriate multiplicity due
to the winding (\eg, plus three times the area of the little
circle, minus twice that of the big one, in the $n=3$ case). 
A sketch of $F(A)$ that interpolates between~(\ref{FApert})
and~(\ref{FAm1}) is given in Fig.{}~\ref{FAplot}. 
%%%%%%%%%%%%%%%%%% FIGURE
\setlength{\figurewidth}{.9\textwidth}
\begin{figure}
\begin{center}
\begin{pspicture}(0\figurewidth,0\figurewidth)%
                 (\figurewidth,.25\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
%%%%%%% Puts
%\put(2.6,.3){\makebox[0cm][l]{$X$}}
%\put(1.52,2.4){\makebox[0cm][r]{$Y$}}
%%%%%%% Axes
%\psline[linewidth=.2mm]{->}%
%(1,.45)(2.6,.45)
%\psline[linewidth=.2mm]{->}%
%(1.64,.45)(1.64,2.5)
%%%%%%% Curves
\pscircle%
(.5,.5){.4}
\psline[linewidth=.3mm]{->}%
(.97,.5)(1.15,.5)
\psccurve%
(1.5,.95)(1.8,.75)(1.7,.5)(1.8,.25)(1.5,.05)(1.2,.25)(1.3,.5)(1.2,.75)
\psline[linewidth=.3mm]{->}%
(1.9,.5)(2.08,.5)
\psccurve%
(2.5,.92)(2.65,.85)(2.2,.5)(2.65,.15)(2.5,.08)%
(2.35,.15)(2.8,.5)(2.35,.85)
\psline[linewidth=.3mm]{->}%
(2.87,.5)(3.05,.5)
\pscircle%
(3.5,.5){.38}
\pscircle%
(3.5,.915){.04}
\pscircle%
(3.5,.085){.04}
%\psccurve%
%(3.5,.94)(3.53,.91)(3.5,.88)(3.12,.5)(3.5,.12)(3.53,.09)(3.5,.06)%
%(3.47,.09)(3.5,.12)(3.88,.5)(3.5,.88)(3.47,.91)
\end{pspicture}%
\end{center}
\capitem{Evolution of a $n=2$ configuration under deflation
(sketch). The central region in the third configuration, as well
as the big circle in the fourth one, contribute negative area.}
\label{seque}
\end{figure}
%%%%%%%%%%%%%%%%%% FIGURE

\par
%%%%%%%%%%%%%%%%%% FIGURE
\setlength{\figurewidth}{.7\textwidth}
%\begin{floatingfigure}{.93\figurewidth}
\begin{figure}
%\rule{0mm}{.675\figurewidth}
\begin{pspicture}(0\figurewidth,0\figurewidth)%
                 (.9\figurewidth,.7\figurewidth)
\setlength{\unitlength}{.25\figurewidth}
\psset{xunit=.25\figurewidth,yunit=.25\figurewidth,arrowsize=1.5pt 3}
%\psgrid[subgriddiv=10,griddots=5,gridlabels=8pt]
%%%%%%% Puts
\put(2.87,2.42){\makebox[0cm][r]{$\bar{F}$}}
\put(4.35,.149){\makebox[0cm][l]{$\frac{A}{\pi R^2}$}}
\put(1.15,2.38){\makebox[0cm][l]{$n=$}}
\put(1.45,2.38){\makebox[0cm][l]{$2$}}
\put(2.2,2.38){\makebox[0cm][l]{$3$}}
\put(2.46,2.38){\makebox[0cm][l]{$4$}}
\put(2.61,2.38){\makebox[0cm][l]{$5$}}
%%%%%%% Axes
\psline[linewidth=.2mm]{->}%
(2.83,.27)(2.83,2.4)
\psline[linewidth=.2mm]{->}%
(1.41,.265)(4.4,.265)
%%%%%%% Included graphic
\centerline{%
\raisebox{\totalheight}{%
\includegraphics[angle=270,width=.9\figurewidth]{FAplot.ps}%
}%
}
\end{pspicture}%
\capitem{Bending energy $\bar{F}$ {\em vs.} area $A/\pi R^2$ for
$n=2,3,4,5$ (interpolation). All curves touch at the point on the
right, which corresponds to a circular configuration, giving rise
to bifurcation. The vertical asymptotes are at $-\frac{1}{n-1}$.}
\label{FAplot}
\end{figure}
%\end{floatingfigure}
%%%%%%%%%%%%%%%%%% FIGURE
\par

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Conclusions}
\label{Conc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
In this paper, we have studied the equilibrium configurations
of elastic planar loops  with constant area and constant
length. 
The condition of closure of the
loop gives a discrete spectrum of configurations, lying along
several branches in parameter space.
We focus on non self-intersecting loops that
inflate to a circle when the enclosed area is increased, due to
their relevance as toy model 
for two-dimensional membranes.  For this branch,
starting from analytical expressions
in the relevant limit cases, we obtain a reliable
sketch of the dependence of the energy
on the area. The equation that determines equilibria
connecting perturbations led us, rather unexpectedly, to the
$\sigma$-identities~(\ref{magicids}), from which
a novel geometrical construction of the (constrained) elastic
loop followed.
In turn, these identities permit the expression 
of an equilibrium connecting normal deformation in terms
of the curvature and the appropriate perturbations of
the parameters.

In future work, we plan to address the important issue
of the stability of the equilibrium configurations.
In light of the complicated structure of the fourth
order differential operator appearing in (\ref{epsde4}), this
appears to be a non-trivial task in the general case.
It is indicative of the intrinsic complexity of the question that
even the relatively simple case of the figure eight configuration
requires the elaborate analysis of~\cite{Ive.Sin:97}.

Another interesting issue is the analysis of thermal fluctuations 
in this model, which would provide an analytical
counterpart to the study of Ref.~\cite{Fis.Lei.Sin:87} of 
two-dimensional
vesicles, using Monte Carlo techniques. In particular,
there is a similarity between
some of the configurations of Fig.~2 of the above work and the
configuration of Fig.~\ref{config}.a in this paper.
It is also interesting to note
that the shapes of Fig.~\ref{config} closely resemble a top view
of the starfish vesicles of Ref.~\cite{Win.Dob.Sei:96},
which are almost planar. Finally, configurations similar to ours
appear in~\cite{Tad.Ode:67}, where our problem has been
approached from a functional analytic point of view and important
existence results have been derived, as well as in~\cite{Fuk:97}. 

After the completion of this paper, we set out to study its
most natural extension: geometric models for loops in space.
We became aware of a large body of literature that explores 
the interconnections among hierarchies of functionals of the
geometry of a curve, 
their corresponding
generators of rigid motion and integrable systems, such as
the KdV equation. We have found Ref.~\cite{Lan:99} an excellent point
of entry to the subject.
We also realized that our $\sigma$-identities can be obtained by
adapting the cylindrical coordinates used by Langer and
Singer~\cite{Lan.Sin:84a} in the analysis of buckled rings.
We expect that these explorations, apart from their intrinsic
interest,  will contribute to a deeper
understanding of two-dimensional membranes.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Acknowledgements}
G.A. wishes to thank Gilberto Tavares for technical assistance
and CONACyT for a graduate fellowship. R.C. was supported by
CONACyT grant 32187-E. G.A., C.C. and J.G. were supported by
CONACyT grant 32307-E and DGAPA-UNAM grant IN119792. 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\appendix
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\renewcommand{\thesection}{}
\appendix
\section{Some Useful Formulae}
\label{Dereom}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Under an infinitesimal 
deformation of the loop along the normal, $\vec X
\rightarrow \vec X + \delta_\epsilon \vec X \equiv \vec X +
\epsilon(\ell) \nh$, we find
\[
\begin{array}{rclcrclcrcl}
\dss \deps d\ell \fedss K \epsilon d \ell
\, , \aqqadss
\deps \th \fedss \epsilon' \nh
\, , \aqqadss
\deps K \fedss -\epsilon'' - K^2 \epsilon 
\ff
\dss \deps \derl \fedss -K \epsilon \derl
\, , \aqqadss 
\deps \nh \fedss -\epsilon' \th 
\, ,  \aqqadss 
\deps K' \fedss 
-\epsilon''' -K^2 \epsilon' -3KK' \epsilon
\\[1mm] \nonumber
\deps h \fedss 
\epsilon -p\epsilon'
\, , \aqqadss 
\deps p \fedss
\epsilon' h
\, , \aqqadss 
\deps K'' \fedss
-\epsilon''''-K^2 \epsilon'' -5KK'\epsilon' \\
 & & & & & & & & & & \dss -(6E-{11 \over 4} K^4 + {7 \over 2}
\mu K^2 + 5 \sigma K)\epsilon
\end{array}
\]
(we have used the e.o.m and the first integral,
Eqs.~(\ref{eq:D1}) and (\ref{eq:D2}), to express
$K''$ and $(K')^2$ in terms of $K$). 

\noindent For the derivatives of $h$, $p$, $K$ we find
\bae
h' \fe Kp
\ff
h'' \fe -K^2 h + K' p +k
\ff
h''' \fe -3KK' h + (-{3 \over 2} K^3 +{\mu \over 2} K + {
\sigma \over 2}) p + 2K'
\ff
h'''' \fe \big(-6E +{15 \over 4} K^4 - {7 \over 2} \mu K^2 -5
\sigma K\big) h +\big(-{15 \over 2} K^2 K' + {\sigma \over 2}
K'\big)p -{5 \over 2} K^3 + {3 \over 2} \mu K + {3 \over 2}
\sigma 
\ff
 & & \ff
p' \fe 1 -Kh
\ff
p'' \fe -K' h -K^2 p
\ff
p''' \fe ({3 \over 2} K^3 -{\mu \over 2} K - {\sigma
\over 2})h -3KK' p -K^2
\ff
p'''' \fe ({15 \over 2} K^2 K' - {\mu \over 2} K') h 
+ ({15 \over 4} K^4 - {7 \over 2} \mu K^2 -5 \sigma K
-6E) p -5KK'
\ff
\ & & \ff
K' \fe \sqrt{2}(E-\frac{1}{8} K^4 +\frac{\mu}{4} K^2 +
\frac{\sigma}{2} K)^{1/2}
\ff
K'' \fe \frac{1}{2} (-K^3 +\mu K + \sigma)
\ff
K''' \fe -{3 \over 2} K^2 K' + {\mu \over 2} K'
\ff
K'''' \fe {3 \over 2} K^5 - {10 \over 4} \mu  K^3 - {15 \over
4} \sigma K^2 + ({\mu^2 \over 4} -6E)K + {\mu \sigma
\over 4}
\nonumber
\eae
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Averages}
\label{Ave}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Consider the quantities $W_n$, defined by
\ble{Wndef}
W_n = \int_0^{L_0} K^n d\ell  = 
2\int_{K_{min}}^{K_{max}} K^n \frac{dK}{K'} 
\, .
\ee
$L_0$ here is the length along the loop corresponding to one full
oscillation of the particle (we will use $F_0$ later with a
similar meaning). $W_n$ is then (proportional to) the average of
$K^n$ along the loop. Starting from 
\ble{intze}
\int_{K_{min}}^{K_{max}} \frac{d}{dK} (K^n K') =0
\, ,
\ee
one may derive the recursion relation~\cite{Abr.Ste:65}
\ble{recrel}
-\frac{1}{8} (n+2) W_{n+3} + \frac{\mu}{4} (n+1) W_{n+1} +
\frac{\sigma}{4} (2n+1) W_n + En W_{n-1}=0
\, ,
\qquad
n=0,1,2,\dots
\, ,
\ee
which permits, in principle, the calculation of the average of any 
power series in $K$, for a given equilibrium configuration. 
In particular,
\ble{W4W3}
W_3 = \mu W_1 + \sigma W_0
\, ,
\qquad 
\qquad 
\qquad 
W_4 = \frac{4}{3} W_2 +2\sigma W_1 +\frac{8}{3} E W_0
\, .
\ee

Referring back to Fig.~\ref{phase}, we notice that the area $S$
enclosed by the orbit of the phase point, for some given $\sigma$, 
$\mu$, $E$, is given by 
\ble{SmusE}
S(\sigma, \mu, E)=2\int_{K_{min}}^{K_{max}} K'dK
\, .
\ee
Differentiating w.r.t.{} $\sigma$ and using the fact that the
integrand vanishes at the endpoints,  we find
\ble{ThetaS}
\Theta_{0}= 2 \frac{\partial S}{\partial \sigma}
\, .
\ee
Length and bending energy per full oscillation 
also follow by simple differentiation
\ble{LFS}
L_0 =  \frac{\partial S}{\partial E}
\, , 
\qquad 
\qquad 
\qquad
F_0 = 4 \frac{\partial S}{\partial \mu}
\, .
\ee
Notice that these quantities are defined whether or not the
closure condition is satisfied, \ie, they are functions of the
three independent variables $\sigma$, $\mu$, $E$.
Combining~(\ref{SmusE}) and~(\ref{W4W3}) above, we get
\ble{Sexp}
S=\frac{4}{3} EL + \frac{1}{6} \mu F +\frac{1}{2} \sigma \Theta
\, .
\ee
One may regard $L_0$, $\Theta_0$ and $F_0$ as new coordinates in
the space of (not necessarily closed) configurations --- the
change of coordinates is non-singular, except for some special
points, and is given by a Legendre transform. Then 
the closure condition, Eq.~(\ref{condclos}),
restricts to the configurations that lie on the $L_0$-$F_0$
plane, with $\Theta_0=2\pi/n$. 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\bibliographystyle{plain}
%\bibliography{strings}
\begin{thebibliography}{10}

\bibitem{Abr.Ste:65}
M.~Abramowitz and I.A. Stegun.
\newblock {\em Handbook of {M}athematical {F}unctions}.
\newblock Dover Publications, New York, 1965.

\bibitem{Amb.Dur.Jon:97}
J.~Ambjorn, B.~Durhuus, and T.~Jonsson.
\newblock {\em Quantum Geometry: A statistical field approach}.
\newblock Cambridge University Press, 1997.

\bibitem{Bou.Mez:98}
C.~Bouchiat and M.~Mezard.
\newblock Elasticity {M}odel of a {S}upercoiled {DNA} {M}olecule.
\newblock {\em Phys. Rev. Lett.}, 80:1156--1159, 1998.

\bibitem{Bry.Gri:86}
R.~Bryant and P.~Griffiths.
\newblock Reduction for {C}onstrained {V}ariational {P}roblems and $\int
  \frac{\kappa^2}{2} ds$.
\newblock {\em Amer. Journ. of Math.}, 108:525--570, 1986.

\bibitem{Byr.Fri:54}
P.F. Byrd and M.D. Friedman.
\newblock {\em Handbook of {E}lliptic {I}ntegrals for {E}ngineers and
  {P}hysicists}.
\newblock Springer Verlag, Berlin, 1954.

\bibitem{Deu.Hel:76}
H.J. Deuling and W.~Helfrich.
\newblock The {C}urvature {E}lasticity of {F}luid {M}embranes: a {C}atalogue of
  {V}esicle {S}hapes.
\newblock {\em J. Phys. (Paris)}, 37:1335--1345, 1976.

\bibitem{Car:76}
M.~do~Carmo.
\newblock {\em Differential {G}eometry of {C}urves and {S}urfaces}.
\newblock Prentice Hall, 1976.

\bibitem{Fuk:97}
Y.~Fukumoto.
\newblock Stationary {C}onfigurations of a {V}ortex {F}ilament in 
{B}ackground {F}lows.
\newblock {\em Proc. R. Soc. Lond. A}, 453:1205--1232, 1997.

\bibitem{Gia.Hil:96}
M.~Giaquinta and S.~Hildebrandt.
\newblock {\em Calculus of {V}ariations {I}}.
\newblock Springer Verlag, 1996.

\bibitem{Gri:83}
P.~A. Griffiths.
\newblock {\em Exterior {D}ifferential {S}ystems and the {C}alculus of
  {V}ariations}.
\newblock Birkha\"user, Boston, 1983.

\bibitem{Hel:73}
W.~Helfrich.
\newblock Elastic {P}roperties of {L}ipid {B}ilayers: {T}heory and {P}ossible
  {E}xperiments.
\newblock {\em Z. Naturforsch.}, C28:693--703, 1973.

\bibitem{Ive.Sin:97}
T.~Ivey and D.~Singer.
\newblock Knot {T}ypes, {H}omotopies and {S}tability of {C}losed {E}lastic
  {R}ods.
\newblock \texttt{math.DG/9901131}.

\bibitem{Lan:99}
J.~Langer.
\newblock {R}ecursion in {C}urve {G}eometry.
\newblock {\em New York Journ. of Math.}, 5:25--51, 1999.

\bibitem{Lan.Sin:84a}
J.~Langer and D.~Singer.
\newblock {K}notted {E}lastic {C}urves in ${R^3}$.
\newblock {\em J. London Math. Soc.}, 30:512--520, 1984.

\bibitem{Lan.Sin:84}
J.~Langer and D.~Singer.
\newblock The {T}otal {S}quared {C}urvature of {C}losed {C}urves.
\newblock {\em Journ. Diff. Geom.}, 20:1--22, 1984.

\bibitem{Fis.Lei.Sin:87}
S.~Leibler, R.~R.~P. Singh, and M.~E. Fisher.
\newblock Thermodynamic {B}ehavior of {T}wo-dimensional {V}esicles.
\newblock {\em Phys.{} Rev.{} Lett.}, 59:1989--1992, 1987.

\bibitem{Mar.Sig:95}
J.F. Marko and E.D. Siggia.
\newblock Bending and {T}wisting {E}lasticity of {DNA}.
\newblock {\em Macromolecules}, 27:981, 1994.
\newblock Streching DNA. {\it ibid.} 28:8759 (1995).

\bibitem{Hel.OuY:87}
Z.C. Ou-Yang and W.~Helfrich.
\newblock Instability and {D}eformation of a {S}pherical {V}esicle by
  {P}ressure.
\newblock {\em Phys. Rev. Lett.}, 59:2486--2488, 1987.

\bibitem{Hel.OuY:89}
Z.C. Ou-Yang and W.~Helfrich.
\newblock Bending {E}nergy of {V}esicle {M}embranes: {G}eneral {E}xpressions
  for the {F}irst, {S}econd and {T}hird {V}ariation of the {S}hape 
{E}nergy and {A}pplications to {S}pheres and {C}ylinders.
\newblock {\em Phys. Rev.}, A39:5280--5288, 1989.

\bibitem{Pel:94}
L.~Peliti.
\newblock Amphiphilic {M}embranes.
\newblock In F.{} David, P.{} Ginsparg, and J.{} Zinn-Justin, editors, {\em
  Fluctuating {G}eometries in {S}tatistical {P}hysics and {F}ield {T}heory
  ({L}es {H}ouches {1994})}. Elsevier Science B.V., 1996.

\bibitem{Saf:94}
S.A. Safran.
\newblock {\em Statistical Physics of Surfaces, Interfaces, and Membranes}.
\newblock Reading UK, Addison Wesley, 1994.

\bibitem{Sei:97}
U.~Seifert.
\newblock Configurations of {F}luid {M}embranes and {V}esicles.
\newblock {\em Adv. in Phys.}, 46:13--137, 1997.

\bibitem{Sve.Zek:89}
S.~Svetina and B.~Zeks.
\newblock Memebrane {B}ending {E}nergy and {S}hape {D}etermination of
  {P}hospholipid {V}esicles and {R}ed {B}lood {C}ells.
\newblock {\em Euro. Biophys. J.}, 17:101--111, 1989.

\bibitem{Tad.Ode:67}
I.~Tadjbakhsh and F.~Odeh.
\newblock {E}quilibrium {S}tates of {E}lastic {R}ings.
\newblock {\em J. of Math. Anal. Appl.}, 18:59--74, 1967.

\bibitem{Tru:83}
C.~Truesdell.
\newblock The {I}nfluence of {E}lasticity on {A}nalysis: the {C}lassical
  {H}eritage.
\newblock {\em Bull. Amer. Math. Soc.}, 9:293--310, 1983.

\bibitem{Wil:82}
T.J. Willmore.
\newblock {\em Total {C}urvature in {R}iemannian {G}eometry}.
\newblock Ellis Horwood, Chichester, England, 1982.

\bibitem{Wil:00}
T.J. Willmore.
\newblock {\em Curves}, volume~1 of {\em Handbook of {D}ifferential
  {G}eometry}, chapter~11, pages 997--1023.
\newblock Elsevier Science B.V., 2000.

\bibitem{Win.Dob.Sei:96}
W.~Wintz, H.~H. Dobereiner, and U.~Seifert.
\newblock {S}tarfish {V}esicles.
\newblock {\em Europhys. Lett.}, 33:403--408, 1996.

\end{thebibliography}
\end{document}


pst-node.tex
%% BEGIN pst-node.tex
%%
%% Nodes with PSTricks 97.
%% See the betadoc documentation for usage. 
%% This uses the header file `pst-node.pro'.
%%
\def\fileversion{97 patch 9}
\def\filedate{1999/04/14}
%%
%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt.
%%
\message{ v\fileversion, \filedate}
\csname PSTnodesLoaded\endcsname
\let\PSTnodesLoaded\endinput
\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi\relax
\edef\TheAtCode{\the\catcode`\@}
\catcode`\@=11
\pstheader{pst-node.pro}
\def\pst@nodedict{tx@NodeDict begin }
\def\pst@zapspace#1 #2{%
#1%
\ifx#2\@empty\else\expandafter\pst@zapspace\fi
#2}
\def\pst@getnode#1#2{%
\pst@expandafter\pst@@getnode{#1},,\@nil#2}
\def\pst@@getnode#1,#2,#3\@nil#4{%
\ifx\@empty#3\@empty
\edef#4{/N@\pst@zapspace#1 \@empty\space}%
\else
\pst@cntg=#1\relax
\pst@cnth=#2\relax
\edef#4{/N@M-\ifnum\psmatrixcnt=\z@ 1\else\the\psmatrixcnt\fi
-\the\pst@cntg-\the\pst@cnth\space}%
\fi}
\def\tx@NewNode{NewNode }
\def\pst@newnode#1#2#3#4{%
\leavevmode
\pst@getnode{#1}\pst@thenode
\pst@Verb{%
\pst@nodedict
{#3}
\ifx\psk@name\relax false \else \psk@name true \fi
\pst@thenode
#2
{#4}
\tx@NewNode
end}%
\global\let\psk@name\relax
\pstree@nodehook
\global\let\pstree@nodehook\relax}
\let\pstree@nodehook\relax
\newif\ifnodealign
\def\psset@nodealign#1{\@nameuse{nodealign#1}}
\psset@nodealign{false}
\def\pst@nodealign{%
\pst@dimg=\ht\pst@hbox
\advance\pst@dimg-\dp\pst@hbox
\divide\pst@dimg2
\lower\pst@dimg}
\def\tx@InitPnode{InitPnode }
\def\pnode{\@ifnextchar({\pnode@}{\pnode@(0,0)}}
\def\pnode@(#1)#2{%
\pst@@getcoor{#1}%
\pst@newnode{#2}{10}{\pst@coor}{\tx@InitPnode}%
\ignorespaces}
\def\tx@InitCnode{InitCnode }
\def\cnode{\pst@object{cnode}}
\def\cnode@i{\@ifnextchar({\cnode@ii}{\cnode@ii(0,0)}}
\def\cnode@ii(#1)#2#3{%
\leavevmode
\hbox{%
\use@par
\pst@@getcoor{#1}%
\pssetlength\pst@dimc{#2}%
\pst@dimg=\psk@dimen\pslinewidth
\advance\pst@dimc-\pst@dimg
\advance\pst@dimc.5\pslinewidth
\ifnodealign
\kern\pst@dimc
\vrule width\z@ height \pst@dimc depth \pst@dimc
\fi
\pscircle@do(#1){#2}%
\pst@newnode{#3}{11}{\pst@coor \pst@number\pst@dimc}{\tx@InitCnode}%
% DG/SR modification begin - Jul. 30, 1997 - Patch 2
%\ifnodealign \kern\pst@dimc\egroup \fi}%
\ifnodealign\kern\pst@dimc\fi}%
% DG/SR modification end
\ignorespaces}
\def\Cnode{\pst@object{Cnode}}
\def\Cnode@i{\@ifnextchar({\Cnode@ii}{\Cnode@ii(0,0)}}
\def\Cnode@ii(#1)#2{\cnode@ii(#1){\psk@radius}{#2}}%
\def\cnodeput{\pst@object{cnodeput}}
\def\cnodeput@i{\@ifnextchar({\cnodeput@iii}{\cnodeput@ii}}
\def\cnodeput@ii#1{%
\addto@par{rot={#1}}%
\@ifnextchar({\cnodeput@iii}{\cnodeput@iii(\z@,\z@)}}
\def\cnodeput@iii(#1)#2{%
\pst@killglue
\@fixedradiusfalse
\def\pst@nodehook{\cnodeput@iv{#2}}%
\pst@makebox{\cput@v{#1}}}
\def\cnodeput@iv#1{%
\pst@newnode{#1}{11}{\pscirclebox@iv \pst@number\pslinewidth add}%
{\tx@InitCnode}%
\global\let\pst@nodehook\relax}
\def\Cnodeput{\pst@object{Cnodeput}}
\def\Cnodeput@i{\@ifnextchar({\Cnodeput@iii}{\Cnodeput@ii}}
\def\Cnodeput@ii#1{%
\addto@par{rot={#1}}%
\@ifnextchar({\Cnodeput@iii}{\Cnodeput@iii(\z@,\z@)}}
\def\Cnodeput@iii(#1)#2{%
\pst@killglue
\@fixedradiustrue
\def\pst@nodehook{\Cnodeput@iv{#2}}%
\pst@makebox{\cput@iv{#1}}}
\def\Cnodeput@iv#1{%
\pst@newnode{#1}{11}{%
\pst@number{\wd\pst@hbox} 2 div \pst@number\pst@dima % x y
\pst@number\pst@dimb \pst@number\pslinewidth \psk@dimen .5 sub mul sub }% r
{\tx@InitCnode}%
\global\let\pst@nodehook\relax}
\def\circlenode{\pst@object{circlenode}}
\def\circlenode@i#1{\pst@makebox{\circlenode@ii{#1}}}
\def\circlenode@ii#1{%
\begingroup
\pst@useboxpar
\setbox\pst@hbox=\hbox{%
\cnodeput@iv{#1}%
\pscirclebox@iii
\box\pst@hbox}%
\ifnodealign \psboxseptrue \fi
\ifpsboxsep \pscirclebox@sep \fi
\leavevmode
\ifnodealign\pst@nodealign\fi
\box\pst@hbox
\endgroup}
\def\Circlenode{\pst@object{Circlenode}}
\def\Circlenode@i#1{\pst@makebox{\Circlenode@ii{#1}}}
\def\Circlenode@ii#1{%
\begingroup
\pst@useboxpar
\pst@dima=\ht\pst@hbox
\advance\pst@dima\dp\pst@hbox
\divide\pst@dima\tw@
\pssetlength\pst@dimb\psk@radius
\setbox\pst@hbox=\hbox{%
\Cnodeput@iv{#1}%
\pscircle(.5\wd\pst@hbox,\pst@dima){\pst@dimb}%
\box\pst@hbox}%
\ifnodealign \psboxseptrue \fi
\ifpsboxsep \psCirclebox@sep \fi
\leavevmode
\ifnodealign\pst@nodealign\fi
\box\pst@hbox
\endgroup}
\def\tx@GetRnodePos{GetRnodePos }
\def\tx@InitRnode{InitRnode }
\def\rnode{\@ifnextchar[{\rnode@i}{\def\pst@par{}\rnode@ii}}
\def\rnode@i[#1]{\def\pst@par{ref=#1}\rnode@ii}
\def\rnode@ii#1{\pst@makebox{\rnode@iii\rnode@iv{#1}}}
\def\rnode@iii#1#2{%
% DG modification begin - Jan. 1997
\leavevmode
% DG modification end
\begingroup
% DG/SR modification begin - Apr. 28, 1998 - Patch 6
\pst@useboxpar
% DG/SR modification end
#1%
\if@star\pst@starbox\fi
\ifnodealign\lower\pst@dimb\fi
\hbox{%
\pst@newnode{#2}{16}{%
\pst@number{\ht\pst@hbox}%
\pst@number{\dp\pst@hbox}%
\pst@number{\wd\pst@hbox}%
\pst@number\pst@dima
\pst@number\pst@dimb}%
{\tx@InitRnode}%
\box\pst@hbox}%
\endgroup}
\def\rnode@iv{%
\pst@dima=\psk@xref\wd\pst@hbox
\ifx\psk@yref\relax
\pst@dimb=\z@
\else
\pst@dimb=\ht\pst@hbox
\advance\pst@dimb\dp\pst@hbox
\pst@dimb=\psk@yref\pst@dimb
\advance\pst@dimb-\dp\pst@hbox
\fi}
\def\psset@href#1{\pst@checknum{#1}\psk@href}
\psset@href{0}
\def\psset@vref#1{\def\psk@vref{#1}}
\psset@vref{.7ex}
\def\Rnode{\pst@object{Rnode}}
\def\Rnode@i#1{\pst@makebox{\rnode@iii\Rnode@ii{#1}}}
\def\Rnode@ii{%
% DG modification begin - Jan. 1997
%   - \begingroup removed  as it seems to doesn't work any more
%   - \Rnode doesn't process the optional parameter changes
%\begingroup
\use@par
% DG modification end
\pst@dima=\psk@href\wd\pst@hbox
\advance\pst@dima\wd\pst@hbox
\divide\pst@dima 2
\pssetlength\pst@dimb{\psk@vref}}
\def\tx@DiaNodePos{DiaNodePos }
\def\dianode{\pst@object{dianode}}
\def\dianode@i#1{\pst@makebox{\dianode@ii{#1}}}
\def\dianode@ii#1{%
\begingroup
\pst@useboxpar
\psdiabox@iii
\setbox\pst@hbox=\hbox{%
\pst@newnode{#1}{14}{}{%
/X \pst@number\pst@dima def
/Y \pst@number\pst@dimb def
/w \pst@number\pst@dimc 2 mul def
/h \pst@number\pst@dimd 2 mul def
/NodePos { \tx@DiaNodePos } def}%
\box\pst@hbox}%
\ifnodealign\psboxseptrue\fi
\ifpsboxsep\psdiabox@sep\fi
% DG/SR modification begin - Sep. 2, 1997 - Patch 3
\leavevmode
% DG/SR modification end
\ifnodealign\lower\pst@dimb\fi
\box\pst@hbox
\endgroup}
\def\tx@TriNodePos{TriNodePos }
\def\tx@InitTriNode{InitTriNode }
\def\trinode{\pst@object{trinode}}
\def\trinode@i#1{\pst@makebox{\trinode@ii{#1}}}
\def\trinode@ii#1{%
\begingroup
\pst@useboxpar
\pstribox@iii
\setbox\pst@hbox=\hbox{%
\pst@newnode{#1}{14}{}{%
\pst@number\pst@dimc
\pst@number\pst@dimd
\ifodd\psk@trimode
exch
\pst@number\pst@dima
\else
\pst@number\pst@dimb
\fi
\psk@trimode
\pst@number{\wd\pst@hbox}%
\pst@number{\ht\pst@hbox}%
\pst@number{\dp\pst@hbox}%
\tx@InitTriNode}%
\box\pst@hbox}%
\ifnodealign\psboxseptrue\fi
\ifpsboxsep\pstribox@sep\fi
% DG/SR modification begin - Sep. 2, 1997 - Patch 3
\leavevmode
% DG/SR modification end
\ifnodealign\lower\pst@tempa\fi
\box\pst@hbox
\endgroup}
\def\tx@OvalNodePos{OvalNodePos }
\def\ovalnode{\pst@object{ovalnode}}
\def\ovalnode@i#1{\pst@makebox{\ovalnode@ii{#1}}}
\def\ovalnode@ii#1{%
\begingroup
\pst@useboxpar
\psovalbox@iii
\setbox\pst@hbox=\hbox{%
\pst@newnode{#1}{14}{}{%
/X \pst@number\pst@dima def
/Y \pst@number\pst@dimb def
/w \pst@number\pst@dimc def
/h \pst@number\pst@dimd def
/NodePos { \tx@OvalNodePos } def}%
\unhbox\pst@hbox}%
\ifnodealign\psboxseptrue\fi
\ifpsboxsep\psovalbox@sep\fi
% DG/SR modification begin - Sep. 2, 1997 - Patch 3
\leavevmode
% DG/SR modification end
\ifnodealign\lower\pst@dimb\fi
\box\pst@hbox
\endgroup}
\def\dotnode{\pst@object{dotnode}}
\def\dotnode@i{\@ifnextchar({\dotnode@ii}{\dotnode@ii(\z@,\z@)}}
\def\dotnode@ii(#1)#2{%
\leavevmode
\hbox{%
\use@par
\pst@@getcoor{#1}%
\pst@getdotsize
\pstree@nodehook
\ifnodealign
\pst@dima=\pst@dimg
\kern\pst@dima
\vrule width\z@ height \pst@dimh depth \pst@dimh
\fi
\pst@newnode{#2}{14}{}{%
\pst@coor
/Y ED /X ED
/w \pst@number\pst@dimg def
/h \pst@number\pst@dimh def
/NodePos { \tx@OvalNodePos } def}%
\psdot@ii(#1)%
\ifnodealign\kern\pst@dima\fi}%
\ignorespaces}
\def\psset@framesize#1{\pst@expandafter\psset@@framesize{#1} \@nil}
\def\psset@@framesize#1 #2\@nil{%
\pssetlength\pst@dimg{#1}%
\divide\pst@dimg2
\edef\psk@framewidth{\pst@number\pst@dimg}%
\ifx\@empty#2\@empty
\let\psk@frameheight\psk@framewidth
\else
\pssetlength\pst@dimg{#2}%
\divide\pst@dimg2
\edef\psk@frameheight{\pst@number\pst@dimg}%
\fi}
\psset@framesize{10pt}
\def\fnode{\pst@object{fnode}}
\def\fnode@i{\@ifnextchar({\fnode@ii}{\fnode@ii(\z@,\z@)}}
\def\fnode@ii(#1)#2{%
\leavevmode
\pst@killglue
\hbox{%
\use@par
\begin@ClosedObj
\ifnodealign
\kern\psk@framewidth\p@
\vrule width\z@ height \psk@frameheight\p@ depth \psk@frameheight\p@
\edef\pst@coor{0 0 }%
\else
\pst@@getcoor{#1}%
\fi
\pst@newnode{#2}{14}{}{%
\pst@coor
/Y ED /X ED
/d \psk@dimen .5 sub CLW mul neg def
/r \psk@framewidth d add def
/l r neg def
/u \psk@frameheight d add def
/d u neg def
/NodePos { \tx@GetRnodePos } def}%
\addto@pscode{%
/x2 \psk@framewidth CLW \psk@dimen mul sub def
/y2 \psk@frameheight CLW \psk@dimen mul sub def
\pst@coor 2 copy
y2 sub /y1 ED
x2 sub /x1 ED
y2 add /y2 ED
x2 add /x2 ED
\psk@cornersize
1 index 0 eq { pop pop \tx@Rect } { \tx@OvalFrame } ifelse}%
\def\pst@linetype{2}%
\showpointsfalse
\end@ClosedObj
\ifnodealign\kern\psk@framewidth\p@\fi}%
\ignorespaces}
\def\psset@nodesepA#1{%
\pst@getlength{#1}\psk@nodesepA
\def\psk@nodeseptypeA{0 }}
\def\psset@nodesepB#1{%
\pst@getlength{#1}\psk@nodesepB
\def\psk@nodeseptypeB{0 }}
\def\psset@nodesep#1{%
\pst@getlength{#1}\psk@nodesepA
\let\psk@nodesepB\psk@nodesepA
\def\psk@nodeseptypeA{0 }%
\def\psk@nodeseptypeB{0 }}
\psset@nodesep{0pt}
\def\psset@XnodesepA#1{%
\pst@getlength{#1}\psk@nodesepA
\def\psk@nodeseptypeA{1 }}
\def\psset@XnodesepB#1{%
\pst@getlength{#1}\psk@nodesepB
\def\psk@nodeseptypeB{1 }}
\def\psset@Xnodesep#1{%
\pst@getlength{#1}\psk@nodesepA
\let\psk@nodesepB\psk@nodesepA
\def\psk@nodeseptypeA{1 }%
\def\psk@nodeseptypeB{1 }}
\def\psset@YnodesepA#1{%
\pst@getlength{#1}\psk@nodesepA
\def\psk@nodeseptypeA{2 }}
\def\psset@YnodesepB#1{%
\pst@getlength{#1}\psk@nodesepB
\def\psk@nodeseptypeB{2 }}
\def\psset@Ynodesep#1{%
\pst@getlength{#1}\psk@nodesepA
\let\psk@nodesepB\psk@nodesepA
\def\psk@nodeseptypeA{2 }%
\def\psk@nodeseptypeB{2 }}
\def\psset@armA#1{%
\pst@getlength{#1}\psk@armA
\def\psk@armtypeA{0 }}
\def\psset@armB#1{%
\pst@getlength{#1}\psk@armB
\def\psk@armtypeB{0 }}
\def\psset@arm#1{%
\pst@getlength{#1}\psk@armA
\let\psk@armB\psk@armA
\def\psk@armtypeA{0 }%
\def\psk@armtypeB{0 }}
\psset@arm{10pt}
\def\psset@XarmA#1{%
\pst@getlength{#1}\psk@armA
\def\psk@armtypeA{1 }}
\def\psset@XarmB#1{%
\pst@getlength{#1}\psk@armB
\def\psk@armtypeB{1 }}
\def\psset@Xarm#1{%
\pst@getlength{#1}\psk@armA
\let\psk@armB\psk@armA
\def\psk@armtypeA{1 }%
\def\psk@armtypeB{1 }}
\def\psset@YarmA#1{%
\pst@getlength{#1}\psk@armA
\def\psk@armtypeA{2 }}
\def\psset@YarmB#1{%
\pst@getlength{#1}\psk@armB
\def\psk@armtypeB{2 }}
\def\psset@Yarm#1{%
\pst@getlength{#1}\psk@armA
\let\psk@armB\psk@armA
\def\psk@armtypeA{2 }%
\def\psk@armtypeB{2 }}
\def\psset@offsetA#1{\pst@getlength{#1}\psk@offsetA}
\def\psset@offsetB#1{\pst@getlength{#1}\psk@offsetB}
\def\psset@offset#1{\psset@offsetA{#1}\let\psk@offsetB\psk@offsetA}
\psset@offset{0pt}
\def\psset@angleA#1{\pst@getangle{#1}\psk@angleA}
\def\psset@angleB#1{\pst@getangle{#1}\psk@angleB}%
\def\psset@angle#1{%
\pst@getangle{#1}\psk@angleA
\let\psk@angleB\psk@angleA}
\psset@angle{0}
\def\psset@arcangleA#1{\pst@getangle{#1}\psk@arcangleA}
\def\psset@arcangleB#1{\pst@getangle{#1}\psk@arcangleB}%
\def\psset@arcangle#1{%
\pst@getangle{#1}\psk@arcangleA
\let\psk@arcangleB\psk@arcangleA}
\psset@arcangle{8}
\def\psset@ncurvA#1{\pst@checknum{#1}\psk@ncurvA}
\def\psset@ncurvB#1{\pst@checknum{#1}\psk@ncurvB}%
\def\psset@ncurv#1{\psset@ncurvA{#1}\let\psk@ncurvB\psk@ncurvA}
\psset@ncurv{.67}
\def\tx@GetCenter{GetCenter }
\def\tx@XYPos{XYPos }
\def\tx@GetEdge{GetEdge }
\def\tx@AddOffset{AddOffset }
\def\tx@GetEdgeA{GetEdgeA }
\def\tx@GetEdgeB{GetEdgeB }
\def\tx@GetArmA{GetArmA }
\def\tx@GetArmB{GetArmB }
\def\check@arrow#1#2{%
\check@@arrow#2-\@nil
\if@pst
\addto@par{arrows=#2}%
\def\next{#1}%
\else
\def\next{#1{#2}}%
\fi
\next}
\def\check@@arrow#1-#2\@nil{%
\ifx\@nil#2\@nil\@pstfalse\else\@psttrue\fi}
\def\tx@InitNC{InitNC }
\def\nc@object#1#2#3#4#5{%
\csname begin@#1Obj\endcsname
\showpointsfalse
\pst@getnode{#2}\pst@tempa
\pst@getnode{#3}\pst@tempb
\gdef\npos@default{#4 }%
\addto@pscode{%
/NCLW CLW def
\pst@nodedict
\psk@offsetA
\psk@offsetB neg
\psk@nodesepA
\psk@nodesepB
\psk@nodeseptypeA
\psk@nodeseptypeB
\pst@tempa
\pst@tempb
\tx@InitNC { #5 } if
end}%
\def\use@pscode{%
\pst@Verb{gsave \tx@STV newpath \pst@code\space grestore}%
\gdef\pst@code{}}%
\csname end@#1Obj\endcsname
\pst@shortput}
\def\npos@default{.5 }
\def\pc@object#1{%
\@ifnextchar({\pc@@object#1}{\pst@getarrows{\pc@@object#1}}}
\def\pc@@object#1(#2)(#3){%
\pnode(#2){@@A}\pnode(#3){@@B}%
#1{@@A}{@@B}}
\def\tx@LPutLine{LPutLine }
\def\tx@LPutLines{LPutLines }
\def\tx@BezierMidpoint{BezierMidpoint }
\def\tx@HPosBegin{HPosBegin }
\def\tx@HPosEnd{HPosEnd }
\def\tx@HPutLine{HPutLine }
\def\tx@HPutLines{HPutLines }
\def\tx@VPosBegin{VPosBegin }
\def\tx@VPosEnd{VPosEnd }
\def\tx@VPutLine{VPutLine }
\def\tx@VPutLines{VPutLines }
\def\tx@HPutCurve{HPutCurve }
\def\tx@NCCoor{NCCoor }
\def\tx@NCLine{NCLine }
\def\ncline{\pst@object{ncline}}
\def\ncline@i{\check@arrow{\ncline@ii}}
\def\ncline@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{\tx@NCLine}}
\def\pcline{\pst@object{pcline}}
\def\pcline@i{\pc@object\ncline@ii}
\def\ncLine{\pst@object{ncLine}}
\def\ncLine@i{\check@arrow{\ncLine@ii}}
\def\ncLine@ii#1#2{\nc@object{Open}{#1}{#2}{.5}%
% DG/SR modification begin - Apr. 14, 1999 - Patch 9
%{\tx@NCLine /LPutPos { xB xA yB yA \tx@LPutLine } def}}
{\tx@NCLine /LPutPos { xB yB xA yA \tx@LPutLine } def}}
% DG/SR modification end
\def\tx@NCLines{NCLines }
\def\nclines{\pst@object{nclines}}
\def\nclines@i{\check@arrow\nclines@ii}
\def\nclines@ii#1#2{%
\begingroup
\use@par
\def\pst@aftercoors{\nclines@iii{#1}{#2}}%
\def\pst@coors{}%
\pst@@getcoors}
\def\nclines@iii#1#2{%
\nc@object{Open}{#1}{#2}{.5}{%
tx@Dict begin \psline@iii pop end
mark \pst@coors \tx@NCLines}%
\endgroup
\ignorespaces}
\def\tx@NCCurve{NCCurve }
\def\nccurve{\pst@object{nccurve}}
\def\nccurve@i{\check@arrow{\nccurve@ii}}
\def\nccurve@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
/AngleA \psk@angleA\space def /AngleB \psk@angleB\space def
\psk@ncurvB\space \psk@ncurvA\space
\tx@NCCurve}}
\def\pccurve{\pst@object{pccurve}}
\def\pccurve@i{\pc@object\nccurve@ii}
\def\ncarc{\pst@object{ncarc}}
\def\ncarc@i{\check@arrow{\ncarc@ii}}
\def\ncarc@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
yB yA sub xB xA sub \tx@Atan dup
\psk@arcangleA\space add /AngleA ED
\psk@arcangleB\space sub 180 add /AngleB ED
\psk@ncurvB\space \psk@ncurvA\space
\tx@NCCurve}}
\def\pcarc{\pst@object{pcarc}}
\def\pcarc@i{\pc@object\ncarc@ii}
\def\tx@NCAngles{NCAngles }
\def\ncangles{\pst@object{ncangles}}
\def\ncangles@i{\check@arrow{\ncangles@ii}}
\def\ncangles@ii#1#2{%
\nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCAngles}}
\def\ncangles@iii{%
tx@Dict begin \psline@iii pop end
/AngleA \psk@angleA def
/AngleB \psk@angleB def
/ArmA \psk@armA def
/ArmB \psk@armB def
/ArmTypeA \psk@armtypeA def
/ArmTypeB \psk@armtypeB def }
\def\pcangles{\pst@object{pcangles}}
\def\pcangles@i{\pc@object\ncangles@ii}
\def\tx@NCAngle{NCAngle }
\def\ncangle{\pst@object{ncangle}}
\def\ncangle@i{\check@arrow{\ncangle@ii}}
\def\ncangle@ii#1#2{%
\nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCAngle}}
\def\pcangle{\pst@object{pcangle}}
\def\pcangle@i{\pc@object\ncangle@ii}
\def\tx@NCBar{NCBar }
\def\ncbar{\pst@object{ncbar}}
\def\ncbar@i{\check@arrow{\ncbar@ii}}
\def\ncbar@ii#1#2{\nc@object{Open}{#1}{#2}{1.5}{%
\ncangles@iii /AngleB \psk@angleA def \tx@NCBar}}
\def\pcbar{\pst@object{pcbar}}
\def\pcbar@i{\pc@object\ncbar@ii}
\def\tx@NCDiag{NCDiag }
\def\ncdiag{\pst@object{ncdiag}}
\def\ncdiag@i{\check@arrow{\ncdiag@ii}}
\def\ncdiag@ii#1#2{%
\nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCDiag}}
\def\pcdiag{\pst@object{pcdiag}}
\def\pcdiag@i{\pc@object\ncdiag@ii}
\def\tx@NCDiagg{NCDiagg }
\def\ncdiagg{\pst@object{ncdiagg}}
\def\ncdiagg@i{\check@arrow{\ncdiagg@ii}}
\def\ncdiagg@ii#1#2{%
\nc@object{Open}{#1}{#2}{.5}{\ncangles@iii \tx@NCDiagg}}
\def\pcdiagg{\pst@object{pcdiagg}}
\def\pcdiagg@i{\pc@object\ncdiagg@ii}
\def\tx@NCLoop{NCLoop }
\def\psset@loopsize#1{\pst@getlength{#1}\psk@loopsize}
\psset@loopsize{1cm}
\def\ncloop{\pst@object{ncloop}}
\def\ncloop@i{\check@arrow{\ncloop@ii}}
\def\ncloop@ii#1#2{%
\nc@object{Open}{#1}{#2}{2.5}%
{\ncangles@iii /loopsize \psk@loopsize def \tx@NCLoop}}
\def\pcloop{\pst@object{pcloop}}
\def\pcloop@i{\pc@object\ncloop@ii}
\def\tx@NCCircle{NCCircle }
\def\nccircle{\pst@object{nccircle}}
\def\nccircle@i{\check@arrow{\nccircle@ii}}
\def\nccircle@ii#1#2{%
\pssetlength\pst@dima{#2}%
\nc@object{Open}{#1}{#1}{.5}{%
/AngleA \psk@angleA def
/r \pst@number\pst@dima def
\tx@NCCircle \psarc@v end}}
\def\tx@NCBox{NCBox }
\def\ncbox{\pst@object{ncbox}}
\def\ncbox@i{\check@arrow{\ncbox@ii}}
\def\ncbox@ii#1#2{%
\def\pst@linetype{2}%
\nc@object{Closed}{#1}{#2}{.5}{%
tx@Dict begin \psline@iii pop end
\psk@boxheight \psk@boxdepth
\tx@NCBox}}
\def\pcbox{\pst@object{pcbox}}
\def\pcbox@i{\pc@object\ncbox@ii}
\def\tx@NCArcBox{NCArcBox }
\def\psset@boxheight#1{\pst@getlength{#1}\psk@boxheight}
\def\psset@boxdepth#1{\pst@getlength{#1}\psk@boxdepth}
\def\psset@boxsize#1{%
\psset@boxheight{#1}%
\let\psk@boxdepth\psk@boxheight}
\psset@boxsize{.4cm}
\def\ncarcbox{\pst@object{ncarcbox}}
\def\ncarcbox@i{\check@arrow{\ncarcbox@ii}}
\def\ncarcbox@ii#1#2{%
\def\pst@linetype{1}%
\nc@object{Closed}{#1}{#2}{.5}{%
\psk@arcangleA \psk@boxheight \psk@boxdepth \pst@number\pslinearc
\tx@NCArcBox}}
\def\pcarcbox{\pst@object{pcarcbox}}
\def\pcarcbox@i{\pc@object\ncarcbox@ii}
\def\tx@Tfan{Tfan }
% Changed according pst-beta.bug December 3, 1993
% nrot=:<angle> does not work when : is active.
\begingroup
\catcode`\:=13
\gdef\pst@activerot{\def:{\string:}}
\endgroup
\def\psset@nrot#1{%
\begingroup
\pst@activerot
\pst@expandafter{\@ifnextchar:{\psset@@nrot}{\psset@@rot}}{#1}\@nil
\global\let\pst@tempg\psk@rot
\endgroup
\let\psk@nrot\pst@tempg}
\def\psset@@nrot:#1\@nil{%
\psset@@rot#1\@nil
\edef\psk@rot{NAngle \ifx\psk@rot\@empty\else\psk@rot add \fi}}
\psset@nrot{0}
\def\tx@LPutCoor{LPutCoor }
\def\tx@LPut{LPut }
\def\psset@npos#1{%
\def\pst@tempa{#1}%
\ifx\pst@tempa\@empty
\def\psk@npos{\npos@default}%
\else
\pst@checknum{#1}\psk@npos
\fi}
\psset@npos{}
\def\ncput{\pst@object{ncput}}
\def\ncput@i{\pst@killglue\pst@makebox{\ncput@ii}}
\def\ncput@ii{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\pst@makesmall\pst@hbox
\pst@rotate\psk@nrot\pst@hbox
\ncput@iii
\endgroup
\pst@shortput}
\def\ncput@iii{%
\leavevmode
\hbox{%
\pst@Verb{%
\pst@nodedict
/t \psk@npos def
\tx@LPut
end
\tx@PutBegin}%
\box\pst@hbox
\pst@Verb{\tx@PutEnd}}}
\def\naput{\pst@object{naput}}
\def\naput@i{\pst@killglue\pst@makebox{\naput@ii{NAngle 90 add}}}
\def\naput@ii#1{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\def\psk@refangle{#1 }%
\let\psk@rot\psk@nrot
\uput@vii
{exch pop add a \tx@PtoC h1 add exch w1 add exch }%
{tx@Dict /NCLW known { NCLW add } if }%
\ncput@iii
\endgroup
\pst@shortput}
\def\nbput{\pst@object{nbput}}
\def\nbput@i{\pst@killglue\pst@makebox{\naput@ii{NAngle 90 sub}}}
\def\psset@tpos#1{%
\pst@checknum{#1}\psk@tpos
\ifdim\psk@tpos \p@<\z@
\def\psk@tpos{.5}%
% DG/SR modification begin - Sep. 23, 1998 - Patch 7
%\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@epha
\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@ehpa
% DG/SR modification end
\else
\ifdim\psk@tpos \p@>\p@
\def\psk@tpos{.5}%
% DG/SR modification begin - Sep. 23, 1998 - Patch 7
%\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@epha
\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@ehpa
% DG/SR modification end
\fi
\fi}
\psset@tpos{.5}
\def\tvput{\pst@object{tvput}}
\def\tvput@i{\pst@makebox{\psput@tput{H}{1}}}
\def\tlput{\pst@object{tlput}}
\def\tlput@i{\pst@makebox{\psput@tput{H}{true}}}
\def\trput{\pst@object{trput}}
\def\trput@i{\pst@makebox{\psput@tput{H}{false}}}
\def\thput{\pst@object{thput}}
\def\thput@i{\pst@makebox{\psput@tput{V}{1}}}
\def\taput{\pst@object{taput}}
\def\taput@i{\pst@makebox{\psput@tput{V}{true}}}
\def\tbput{\pst@object{tbput}}
\def\tbput@i{\pst@makebox{\psput@tput{V}{false}}}
\def\tx@HPutAdjust{HPutAdjust }
\def\tx@VPutAdjust{VPutAdjust }
\def\psput@tput#1#2{%
\begingroup
\use@par
\pst@tputmakesmall
\leavevmode
\hbox{%
\pst@Verb{%
\pst@nodedict
/t \psk@tpos \pst@tposflip def
tx@NodeDict /HPutPos known
{ #1PutPos }
{ CP /Y ED /X ED /NAngle 0 def /NCLW 0 def }
ifelse
/Sin NAngle sin def
/Cos NAngle cos def
/s \pst@number\pslabelsep NCLW add def
/l \pst@number\pst@dima def
/r \pst@number\pst@dimb def
/h \pst@number\pst@dimc def
/d \pst@number\pst@dimd def
% DG/SR modification begin - Sep. 26, 1997 - Patch 4
%\ifnum1=0#2\else
\ifnum1=0#2 \else
% DG/SR modification end
/flag #2 def
\csname tx@#1PutAdjust\endcsname
\fi
\tx@LPutCoor
end
\tx@PutBegin}%
\box\pst@hbox
\pst@Verb{\tx@PutEnd}}%
\endgroup
\pst@shortput}
\def\pst@tposflip{}
\def\pst@tputmakesmall{%
\pst@dima=\wd\pst@hbox
\divide\pst@dima 2
\pst@dimg=\psk@href\pst@dimg
\pst@dimb\pst@dima
\advance\pst@dima\pst@dimg % leftsize
\advance\pst@dimb-\pst@dimg % rightsize
\pst@dimd=\psk@vref\relax
\pst@dimc=\ht\pst@hbox
\advance\pst@dimc-\pst@dimd % height
\advance\pst@dimd\dp\pst@hbox % depth
\setbox\pst@hbox=\hbox to\z@{%
\kern-\pst@dima\vbox to\z@{\vss\box\pst@hbox\vskip-\pst@dimd}\hss}}
\def\MakeShortNab#1#2{%
  \def\pst@shortput@nab{%
    \def\pst@tempg{\next}%
    \ifx#1\next
      \let\pst@tempg\naput
    \else
      \ifx#2\next
        \let\pst@tempg\nbput
      \else
        \ifx\@sptoken\next
          \let\pst@tempg\pst@shortput
        \fi
      \fi
    \fi
    \pst@tempg}}
\MakeShortNab{^}{_}
\def\MakeShortTablr#1#2#3#4{%
  \def\pst@shortput@tablr{%
    \def\pst@tempg{\next}%
    \ifx#1\next
      \let\pst@tempg\taput
    \else
      \ifx#2\next
        \let\pst@tempg\tbput
      \else
        \ifx#3\next
          \let\pst@tempg\tlput
        \else
          \ifx#4\next
            \let\pst@tempg\trput
          \else
            \ifx\@sptoken\next
              \let\pst@tempg\pst@shortput
            \fi
          \fi
        \fi
      \fi
    \fi
    \pst@tempg}}
\MakeShortTablr{^}{_}{<}{>}
\def\MakeShortTab#1#2{%
  \def\pst@shortput@tab{%
    \def\pst@tempg{\next}%
    \ifx#1\next
      \def\pst@tempg{%
        \@nameuse{%
          t\ifodd\psk@treemode\ifpstreeflip b\else a\fi
          \else\ifpstreeflip r\else l\fi\fi put}}%
    \else
      \ifx#2\next
        \def\pst@tempg{%
          \@nameuse{%
            t\ifodd\psk@treemode\ifpstreeflip a\else b\fi
            \else\ifpstreeflip l\else r\fi\fi put}}%
      \else
        \ifx\@sptoken\next
          \let\pst@tempg\pst@shortput
        \fi
      \fi
    \fi
    \pst@tempg}}
\MakeShortTab{^}{_}
\def\psset@shortput#1{%
\def\pst@tempg{#1}%
\ifx\pst@tempg\@none
\let\pst@shortput\ignorespaces
\else
\@ifundefined{pst@shortput@#1}%
{\@pstrickserr{Bad short put: `#1'}\@ehpa}%
{\edef\pst@shortput{\noexpand\afterassignment\expandafter\noexpand
\csname pst@shortput@#1\endcsname\noexpand\let\noexpand\next}}%
\fi}
\psset@shortput{none}
\def\lput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\lput@i}{\lput@ii}}}
\def\lput@i[#1]{\addto@par{ref=#1}\lput@ii}
\def\lput@ii{\@ifnextchar({\lput@iv}{\lput@iii}}
\def\lput@iii#1{\addto@par{nrot=#1}\@ifnextchar({\lput@iv}{\ncput@i}}
\def\lput@iv(#1){\addto@par{npos=#1}\ncput@i}
\def\mput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\mput@i}{\ncput@i}}}
\def\mput@i[#1]{\addto@par{ref=#1}\ncput@i}
\def\Lput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Lput@ii}{\Lput@i}}}
\def\Lput@i#1{\addto@par{labelsep=#1}\Lput@ii}
\def\Lput@ii[#1]{\addto@par{ref={#1}}\@ifnextchar({\Lput@iv}{\Lput@iii}}
\def\Lput@iii#1{\addto@par{nrot={#1}}\@ifnextchar({\Lput@iv}{\Lput@v}}
\def\Lput@iv(#1){\addto@par{npos=#1}\Lput@v}
\def\Lput@v{\pst@killglue\pst@makebox{\Lput@vi}}
\def\Lput@vi{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\Rput@vi
\pst@makesmall\pst@hbox
\pst@rotate\psk@nrot\pst@hbox
\ncput@iii
\endgroup
\pst@shortput}
\def\Mput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Mput@ii}{\Mput@i}}}
\def\Mput@i#1{\addto@par{labelsep=#1}\Mput@ii}
\def\Mput@ii[#1]{\addto@par{ref={#1}}\Lput@v}
\def\aput@#1{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\aput@i#1}{\aput@ii#1}}}
\def\aput@i#1[#2]{\addto@par{labelsep=#2}\aput@ii#1}
\def\aput@ii#1{\@ifnextchar({\aput@iv#1}{\aput@iii#1}}
\def\aput@iii#1#2{\addto@par{nrot=#2}\@ifnextchar({\aput@iv#1}{#1}}
\def\aput@iv#1(#2){\addto@par{npos=#2}#1}
\def\aput{\aput@\naput@i}
\def\bput{\aput@\nbput@i}
\def\Aput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Aput@i}{\naput@i}}}
\def\Aput@i[#1]{\addto@par{labelsep=#1}\naput@i}
\def\Bput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Bput@i}{\nbput@i}}}
\def\Bput@i[#1]{\addto@par{labelsep=#1}\nbput@i}
\def\node@coor#1;#2\@nil{%
\pst@getnode{#1}\pst@tempg
\edef\pst@coor{%
\pst@nodedict
tx@NodeDict \pst@tempg known
{ \pst@tempg load \tx@GetCenter }
{ 0 0 }
ifelse
end }}
\def\Node@coor[#1]#2;#3\@nil{%
\begingroup
\psset{#1}%
\@ifnextchar\bgroup{\Node@@@coor}{\Node@@coor}#2\@nil
\endgroup
\let\pst@coor\pst@tempg}
\def\Node@@coor#1\@nil{%
\pst@getnode{#1}\pst@tempg
\xdef\pst@tempg{%
\pst@nodedict
tx@NodeDict \pst@tempg known
{ \psk@nodesepA \psk@angleA
\pst@tempg load \psk@nodeseptypeA \tx@GetEdge
\psk@offsetA \psk@angleA \tx@AddOffset
\pst@tempg load \tx@GetCenter
3 -1 roll add 3 1 roll add exch }
{ CP }
ifelse
end }}%
\def\Node@@@coor#1{%
\pst@@getcoor{#1}%
\def\psk@angleA{%
\pst@tempg load \tx@GetCenter \pst@coor
3 -1 roll sub 3 1 roll sub neg \tx@Atan}%
\Node@@coor}
\def\nput{\pst@object{nput}}
\def\nput@i#1#2{\pst@killglue\pst@makebox{\nput@ii{#1}{#2}}}
\def\nput@ii#1#2{%
\begingroup
\use@par
\psset@refangle{#1}%
\let\psk@angleA\psk@refangle
\edef\psk@nodesepA{\pst@number\pslabelsep}%
\def\psk@nodeseptypeA{0 }%
\pslabelsep\z@
\uput@vi
\Node@@coor#2\@nil
\let\pst@coor\pst@tempg
\leavevmode
\psput@special\pst@hbox
\endgroup
\ignorespaces}
\newcount\psrow
\newcount\pscol
\newcount\psmatrixcnt
\newskip\psrowsep
\newskip\pscolsep
\def\psset@colsep#1{\pssetlength\pscolsep{#1}}
\def\psset@rowsep#1{\pssetlength\psrowsep{#1}}
\psset@colsep{1.5cm}
\psset@rowsep{1.5cm}
\newif\ifpsmatrix
% DG/SR modification begin - Nov. 27, 1998 - Patch 8
%\let\mscount\@multicnt
\ifx\mscount\@undefined\let\mscount\@multicnt\fi
% DG/SR modification end
\def\psmatrix{%
  \begingroup
{\ifnum0=`}\fi % Don't want to expand any &.
\@ifnextchar[{\psmatrix@i}{\ifnum0=`{\fi}{}\psmatrix@ii}}
\def\psmatrix@i[#1]{%
\ifnum0=`{\fi}{}%
\psset{#1}%
\psmatrix@ii}
\def\psmatrix@ii{%
\KillGlue
\edef\psm@beginmath{%
\ifmmode$\m@th\ifinner\textstyle\else\displaystyle\fi\fi}%
\edef\psm@endmath{\ifmmode$\fi}%
\let\\\psm@cr
\advance\psmatrixcnt 1
\def\psm@thenode{M-\the\psmatrixcnt-\the\psrow-\the\pscol}%
\tabskip\z@
\psrow1
\pscol\z@
\psset@shortput{tablr}%
\leavevmode
\vbox\bgroup\halign\bgroup&%
\begingroup
\global\advance\pscol 1
\csname psrowhook\romannumeral\psrow\endcsname
\csname pscolhook\romannumeral\pscol\endcsname
\psm@beginnode##\psm@endnode\endgroup
\cr}
\def\endpsmatrix{%
\crcr\egroup\unskip\egroup
\endgroup}
\def\psm@cr{{\ifnum0=`}\fi\@ifnextchar[{\psm@@cr}{\psm@@@cr{}}}
\def\psm@@cr[#1]{\psm@@@cr{\vskip#1\relax}}
\def\psm@@@cr#1{%
\ifnum0=`{\fi}{}\cr
\noalign{%
\global\advance\psrow 1
\global\pscol\z@
\vskip\psrowsep
#1}}
\def\psm@beginnode{%
\@ifnextchar\psm@endnode
{\let\psm@endnode@i\relax\setbox\pst@hbox=\hbox{}}%
{\pst@object{psm@beginnode}}}
\def\psm@beginnode@i{%
\setbox\pst@hbox=\hbox\bgroup
\psm@beginmath
\begingroup
\ignorespaces}
\def\psm@endnode@i{%
\unskip
\endgroup
\psm@endmath
\egroup
\use@par
\@psttrue}
\def\psm@endnode{%
\@pstfalse
\psm@endnode@i
\ifnum\pscol>1 \hskip\pscolsep \fi
\psk@mnodesize
\hfil
\nodealigntrue
\if@pst
\csname mnode@\psk@mnode\endcsname
\else
\csname mnode@\psk@emnode\endcsname
\fi
\psk@mcol
\psk@@mnodesize}
\def\psspan#1{\mscount#1\relax\loop\ifnum\mscount>\@ne \sp@n\repeat}
\def\psset@name#1{\pst@getnode{#1}\psk@name}
\let\psk@name\relax
\def\psset@mcol#1{%
\ifx r#1\relax
\let\psk@mcol\relax
\else
\ifx l#1\relax
\let\psk@mcol\hfill
\else
\let\psk@mcol\hfil
\fi
\fi}
\psset@mcol{c}
\def\psset@mnodesize#1{%
\pssetlength\pst@dimg{#1}%
\ifdim\pst@dimg<\z@
\let\psk@mnodesize\relax
\let\psk@@mnodesize\relax
\else
\edef\psk@mnodesize{\noexpand\hbox to\number\pst@dimg sp\noexpand\bgroup}%
\let\psk@@mnodesize\egroup
\fi}
\psset@mnodesize{-1pt}
\def\mnode@R{\rnode@iii\Rnode@ii{\psm@thenode}}
\def\mnode@r{\rnode@iii\rnode@iv{\psm@thenode}}
\def\mnode@oval{\ovalnode@ii{\psm@thenode}}
\def\mnode@tri{\trinode@ii{\psm@thenode}}
\def\mnode@dia{\dianode@ii{\psm@thenode}}
\def\mnode@C{{\nodealigntrue\cnode@ii(\z@,\z@){\psk@radius}{\psm@thenode}}}
\def\mnode@f{{\nodealigntrue\fnode@ii(\z@,\z@){\psm@thenode}}}
\def\mnode@circle{\circlenode@ii{\psm@thenode}}
\def\mnode@p{\pnode(\z@,\z@){\psm@thenode}}
% DG/SR modification begin - Jul. 22, 1997 - Patch 1
\def\mnode@dot{\dotnode@ii(\z@,\z@){\psm@thenode}}
% DG/SR modification end
\def\mnode@none{\box\pst@hbox}
\def\psset@mnode#1{%
\@ifundefined{mnode@#1}%
{\@pstrickserr{\string\psmatrix\space node `#1' not defined.}\@ehpa}%
{\edef\psk@mnode{#1}}}
\def\psset@emnode#1{%
\@ifundefined{mnode@#1}%
{\@pstrickserr{\string\psmatrix\space node `#1' not defined.}\@ehpa}%
{\edef\psk@emnode{#1}}}
\psset@mnode{R}
\psset@emnode{none}
%%%% FROM pst-coil.tex
\def\nccoil{\pst@object{nccoil}}
\def\nccoil@i{\check@arrow{\nccoil@ii}}
\def\nccoil@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
\tx@NCCoor
tx@Dict begin
% DG/SR modification begin - Mar. 19, 1998 - Patch 5
4 2 roll
% DG/SR modification end
\psk@coilwidth \pscoilheight
\psk@coilarmA \psk@coilarmB
\psk@coilaspect \psk@coilinc
\pst@coildict \tx@Coil end
end}}
\def\nczigzag{\pst@object{nczigzag}}
\def\nczigzag@i{\check@arrow{\nczigzag@ii}}
\def\nczigzag@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
\tx@NCCoor
tx@Dict begin
% DG/SR modification begin - Mar. 19, 1998 - Patch 5
4 2 roll
% DG/SR modification end
\pscoilheight
\psk@coilwidth
\psk@coilarmA
\psk@coilarmB
\pst@coildict \tx@ZigZag end
\psline@iii
\tx@Line
end}}
\catcode`\@=\TheAtCode\relax
\endinput
%%
%% END pst-node.tex

pstricks.tex
%% BEGIN: pstricks.tex
%%
%% PostScript macros for Generic TeX: main input file for PSTricks 97.
%% See the PSTricks User's Guide for description.
%% This uses the header file `pstricks.pro'.
%%
\def\fileversion{97 patch 10}
\def\filedate{1999/03/24}
%%
%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt.
%%
\csname PSTricksLoaded\endcsname
\let\PSTricksLoaded\endinput
\edef\PstAtCode{\the\catcode`\@}
\catcode`\@=11\relax
\expandafter\ifx\csname @latexerr\endcsname\relax
\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname
#1\endcsname\relax#2\else#3\fi}
\def\@namedef#1{\expandafter\def\csname #1\endcsname}
\def\@nameuse#1{\csname #1\endcsname}
\def\@eha{%
Your command was ignored.^^J
Type \space I <command> <return> \space to replace
it with another command,^^J
or \space <return> \space to continue without it.}
\def\@spaces{\space\space\space\space}
\def\typeout#1{\immediate\write\@unused{#1}}
\alloc@7\write\chardef\sixt@@n\@unused
\def\@empty{}
\def\@gobble#1{}
\def\@nnil{\@nil}
\def\@ifnextchar#1#2#3{%
\let\@tempe#1\def\@tempa{#2}\def\@tempb{#3}\futurelet\@tempc\@ifnch}
\def\@ifnch{%
\ifx\@tempc\@sptoken
\let\@tempd\@xifnch
\else
\ifx\@tempc\@tempe \let\@tempd\@tempa \else \let\@tempd\@tempb \fi
\fi
\@tempd}
\begingroup
\def\:{\global\let\@sptoken= } \:
\def\:{\@xifnch} \expandafter\gdef\: {\futurelet\@tempc\@ifnch}
\endgroup
\fi
\typeout{`PSTricks' v\fileversion\space\space <\filedate> (tvz)}
\def\@pstrickserr#1#2{%
\begingroup
\newlinechar`\^^J
\edef\pst@tempc{#2}%
\expandafter\errhelp\expandafter{\pst@tempc}%
\typeout{%
PSTricks error. \space See User's Guide for further information.^^J
\@spaces\@spaces\@spaces\@spaces
Type \space H <return> \space for immediate help.}%
\errmessage{#1}%
\endgroup}
\def\@ehpa{%
Your command was ignored. Default value substituted.^^J
Type \space <return> \space to procede.}
\def\@ehpb{%
Your command was ignored. Will recover best I can.^^J
Type \space <return> \space to procede.}
\def\@ehpc{%
You better fix this before proceding.^^J
See the PSTricks User's Guide or ask your system administrator for help.^^J
Type \space X <return> \space to quit.}
\def\pst@misplaced#1{\@pstrickserr{Misplaced \string#1 command}\@ehpb}
\newdimen\pst@dima
\newdimen\pst@dimb
\newdimen\pst@dimc
\newdimen\pst@dimd
\newdimen\pst@dimg
\newdimen\pst@dimh
\newbox\pst@hbox
\newbox\pst@boxg
\newcount\pst@cnta
\newcount\pst@cntb
\newcount\pst@cntc
\newcount\pst@cntd
\newcount\pst@cntg
\newcount\pst@cnth
\newif\if@pst
\newtoks\pst@toks
\newif\if@star
\def\pst@ifstar#1{%
\@ifnextchar*{\@startrue\def\next*{#1}\next}{\@starfalse#1}}
\def\pst@expandafter#1#2{%
\def\next{#1}%
\edef\@tempa{#2}%
\ifx\@tempa\@empty
\@pstrickserr{Unexpected empty argument!}\@ehpb
\def\@tempa{\@empty}%
\fi
\expandafter\next\@tempa}
\def\pst@dimtonum#1#2{\edef#2{\pst@@dimtonum#1}}
\def\pst@@dimtonum#1{\expandafter\pst@@@dimtonum\the#1}
{\catcode`\p=12 \catcode`\t=12 \global\@namedef{pst@@@dimtonum}#1pt{#1}}
\def\pst@pyth#1#2#3{%
\ifdim#1>#2\pst@@pyth#1#2#3\else\pst@@pyth#2#1#3\fi}
\def\pst@@pyth#1#2#3{%
\ifdim4#1>9#2%
#3=#1\advance#3 .2122#2%
\else
#3=.8384#1\advance#3 .5758#2%
\fi}
\def\pst@divide#1#2#3{%
\pst@@divide{#1}{#2}%
\pst@dimtonum\pst@dimg{#3}}
\def\pst@@divide#1#2{%
\pst@dimg=#1\relax
\pst@dimh=#2\relax
\pst@cntg=\pst@dimh
\pst@cnth=67108863
\pst@@@divide\pst@@@divide\pst@@@divide\pst@@@divide
\divide\pst@dimg\pst@cntg}
\def\pst@@@divide{%
\ifnum
\ifnum\pst@dimg<\z@-\fi\pst@dimg<\pst@cnth
\multiply\pst@dimg\sixt@@n
\else
\divide\pst@cntg\sixt@@n
\fi}
\def\pst@configerr#1{%
\@pstrickserr{\string#1 not defined in pstricks.con}\@ehpc}
% % \begin{macrocode}
\def\pstVerb#1{\pst@configerr\pstVerb}
\def\pstverb#1{\pst@configerr\pstverb}
\def\pstverbscale{\pst@configerr\pstverbscale}
\def\pstrotate{\pst@configerr\pstrotate}
\def\pstheader#1{\pst@configerr\pstheader}
\def\pstdriver{\pst@configerr\pstdriver}
\@ifundefined{pstcustomize}%
{\def\pstcustomize{\endinput\let\pstcustomize\relax}}{}
\input pstricks.con
\newif\ifPSTricks
\PSTrickstrue
\def\PSTricksOff{%
\def\pstheader##1{}%
\def\pstverb##1{}%
\def\pstVerb##1{}%
\PSTricksfalse}
\@ifundefined{pst@def}{\def\pst@def#1<#2>{\@namedef{tx@#1}{#2 }}}{}
\@ifundefined{pst@ATH}{\def\pst@ATH<#1>{}}{}
\pstheader{pstricks.pro}
\def\pst@dict{tx@Dict begin }
\def\pst@theheaders{pstricks.pro}
\def\pst@Verb#1{\pstVerb{\pst@dict #1 end}}
\def\tx@Atan{Atan }
\def\tx@Div{Div }
\def\tx@NET{NET }
\def\tx@Pyth{Pyth }
\def\tx@PtoC{PtoC }
\def\tx@PathLength@{PathLength@ }
\def\tx@PathLength{PathLength }
\pst@dimg=\pstunit\relax
\ifdim\pst@dimg=1bp
\def\pst@stp{.996264 dup scale}
\else
\edef\pst@stp{1 \pst@@dimtonum\pst@dimg\space div dup scale}
\fi
\def\tx@STP{STP }
\def\tx@STV{STV }
\def\pst@number#1{\pst@@dimtonum#1\space}
\def\pst@checknum#1#2{%
\edef\next{#1}%
\ifx\next\@empty
\let\pst@num\z@
\else
\expandafter\pst@@checknum\next..\@nil
\fi
\ifnum\pst@num=\z@
\@pstrickserr{Bad number: `#1'. 0 substituted.}\@ehpa
\def#2{0 }%
\else
\edef#2{\ifnum\pst@num=\tw@-\fi\the\pst@cntg.%
\expandafter\@gobble\the\pst@cnth\space}%
\fi}
\def\pst@@checknum{%
\@ifnextchar-%
{\let\pst@num\tw@\expandafter\pst@@@checknum\@gobble}%
{\let\pst@num\@ne\pst@@@checknum}}
\def\pst@@@checknum#1.#2.#3\@nil{%
\afterassignment\pst@@@@checknum\pst@cntg=0#1\relax\@nil
\afterassignment\pst@@@@checknum\pst@cnth=1#2\relax\@nil}
\def\pst@@@@checknum#1\relax\@nil{%
\ifx\@nil#1\@nil\else\let\pst@num\z@\fi}
\def\pst@getnumii#1 #2 #3\@nil{%
\pst@checknum{#1}\pst@tempg
\pst@checknum{#2}\pst@temph}
\def\pst@getnumiii#1 #2 #3 #4\@nil{%
\pst@checknum{#1}\pst@tempg
\pst@checknum{#2}\pst@temph
\pst@checknum{#3}\pst@tempi}
\def\pst@getnumiv#1 #2 #3 #4 #5\@nil{%
\pst@checknum{#1}\pst@tempg
\pst@checknum{#2}\pst@temph
\pst@checknum{#3}\pst@tempi
\pst@checknum{#4}\pst@tempj}
\def\pst@getdimnum#1 #2 #3\@nil{%
\pssetlength\pst@dimg{#1}%
\pst@checknum{#2}\pst@tempg}
% DG/SR modification begin - Jan. 7, 1998 - Patch 9
% Missing from pstricks.bug 0.93
%\def\pst@getscale#1#2{%
%\pst@expandafter\pst@getnumii{#1 #1} {} {} {}\@nil
%\@psttrue
%\ifdim\pst@tempg\p@=\z@
%\@pstrickserr{Bad scaling argument `#1'}\@ehpa
%\def\pst@tempg{1 }%
%\@pstfalse
%\fi
%\ifdim\pst@temph\p@=\z@
%\if@pst\@pstrickserr{Bad scaling argument `#1'}\@ehpa\fi
%\def\pst@temph{1 }%
%\fi
%\edef#2{\pst@tempg\space \pst@temph\space scale }%
%\ifdim\pst@tempg\p@=\p@ \ifdim\pst@temph\p@=\p@
%\def#2{}%
%\fi\fi}
\def\pst@getscale#1#2{%
\edef\pst@tempg{#1}%
\ifx\pst@tempg\@none
\def#2{}%
\else
\pst@expandafter\pst@getnumii{#1 #1} {} {} {}\@nil
\ifdim\pst@tempg\p@=\z@
\@pstrickserr{Bad scaling argument `#1'}\@ehpa
\def#2{}%
\else
\ifdim\pst@temph\p@=\z@
\@pstrickserr{Bad scaling argument `#1'}\@ehpa
\def#2{}%
\else
\edef#2{\pst@tempg\space \pst@temph\space scale }%
\fi
\fi
\fi}
% DG/SR modification end
\def\pst@getint#1#2{%
\pst@cntg=#1\relax
\edef#2{\the\pst@cntg\space}}
\begingroup
\catcode`\{=12
\catcode`\}=12
\catcode`\[=1
\catcode`\]=2
\gdef\pslbrace[{ ]
\gdef\psrbrace[} ]
\endgroup
\def\@newcolor#1#2{%
\expandafter\edef\csname #1\endcsname{\noexpand\pst@color{#2}}%
\expandafter\edef\csname color@#1\endcsname{#2}%
\ignorespaces}
\def\pst@color#1{%
\def\pst@currentcolor{#1}\pstVerb{#1}\aftergroup\pst@endcolor}
\def\pst@endcolor{\pstVerb{\pst@currentcolor}}
\def\pst@currentcolor{0 setgray}
\def\altcolormode{%
\def\pst@color##1{%
\pstVerb{gsave ##1}\aftergroup\pst@endcolor}%
\def\pst@endcolor{\pstVerb{\pst@grestore}}}
\def\pst@grestore{%
currentpoint
matrix currentmatrix
currentfont
grestore
setfont
setmatrix
moveto}
\def\pst@usecolor#1{\csname color@#1\endcsname\space}
\def\newgray#1#2{%
\pst@checknum{#2}\pst@tempg
\@newcolor{#1}{\pst@tempg setgray}}
\def\newrgbcolor#1#2{%
\pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil
\@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi setrgbcolor}}
\def\newhsbcolor#1#2{%
\pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil
\@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi sethsbcolor}}
\def\newcmykcolor#1#2{%
\pst@expandafter\pst@getnumiv{#2} {} {} {} {} {}\@nil
\@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi \pst@tempj setcmykcolor}}
\newgray{black}{0}
\newgray{darkgray}{.25}
\newgray{gray}{.5}
\newgray{lightgray}{.75}
\newgray{white}{1}
\newrgbcolor{red}{1 0 0}
\newrgbcolor{green}{0 1 0}
\newrgbcolor{blue}{0 0 1}
\newrgbcolor{yellow}{1 1 0}
\newrgbcolor{cyan}{0 1 1}
\newrgbcolor{magenta}{1 0 1}
\def\psset#1{\@psset#1,\@nil\ignorespaces}
\def\@psset#1,{%
\@@psset#1==\@nil
\@ifnextchar\@nil{\@gobble}{\@psset}}
\def\@@psset#1=#2=#3\@nil{%
\@ifundefined{psset@#1}%
{\@pstrickserr{Graphics parameter `#1' not defined.}\@ehpa}%
{\@nameuse{psset@#1}{#2}}}%
\def\psset@style#1{%
\@ifundefined{pscs@#1}%
{\@pstrickserr{Custom style `#1' undefined}\@ehpa}%
{\@nameuse{pscs@#1}}}
\def\newpsstyle#1#2{\@namedef{pscs@#1}{\psset{#2}}}
\def\@none{none}
\def\pst@getcolor#1#2{%
\@ifundefined{color@#1}%
{\@pstrickserr{Color `#1' not defined}\@eha}%
{\edef#2{#1}}}
\newdimen\psunit \psunit 1cm
\newdimen\psxunit \psxunit 1cm
\newdimen\psyunit \psyunit 1cm
\let\psrunit\psunit
\def\pstunit@off{\let\@psunit\ignorespaces\ignorespaces}
\def\pssetlength#1#2{%
\let\@psunit\psunit
\afterassignment\pstunit@off
#1 #2\@psunit}
\def\psaddtolength#1#2{%
\let\@psunit\psunit
\afterassignment\pstunit@off
\advance#1 #2\@psunit}
\def\pssetxlength#1#2{%
\let\@psunit\psxunit
\afterassignment\pstunit@off
#1 #2\@psunit}
\def\pssetylength#1#2{%
\let\@psunit\psyunit
\afterassignment\pstunit@off
#1 #2\@psunit}
\def\psset@unit#1{%
\pssetlength\psunit{#1}%
\psxunit=\psunit
\psyunit=\psunit}
\def\psset@runit#1{\pssetlength\psrunit{#1}}
\def\psset@xunit#1{\pssetxlength\psxunit{#1}}
\def\psset@yunit#1{\pssetylength\psyunit{#1}}
\def\pst@getlength#1#2{%
\pssetlength\pst@dimg{#1}%
\edef#2{\pst@number\pst@dimg}}
\def\pst@@getlength#1#2{%
\pssetlength\pst@dimg{#1}%
\edef#2{\number\pst@dimg sp}}
\def\pst@getcoor#1#2{\pst@@getcoor{#1}\let#2\pst@coor}
\def\pst@coor{0 0 }
\def\pst@getcoors#1#2{%
\def\pst@aftercoors{\addto@pscode{#1 \pst@coors }#2}%
\def\pst@coors{}%
\pst@@getcoors}
\def\pst@@getcoors(#1){%
\pst@@getcoor{#1}%
\edef\pst@coors{\pst@coor\pst@coors}%
\@ifnextchar({\pst@@getcoors}{\pst@aftercoors}}
\def\pst@getangle#1#2{\pst@@getangle{#1}\let#2\pst@angle}
\def\pst@angle{0 }
\def\cartesian@coor#1,#2,#3\@nil{%
\pssetxlength\pst@dimg{#1}%
\pssetylength\pst@dimh{#2}%
\edef\pst@coor{\pst@number\pst@dimg \pst@number\pst@dimh}}
\def\NormalCoor{%
\def\pst@@getcoor##1{\pst@expandafter\cartesian@coor{##1},\relax,\@nil}%
\def\pst@@getangle##1{%
\pst@checknum{##1}\pst@angle
\edef\pst@angle{\pst@angle \pst@angleunit}}%
\def\psput@##1{\pst@@getcoor{##1}\leavevmode\psput@cartesian}}
\NormalCoor
\def\degrees{\@ifnextchar[{\@degrees}{\def\pst@angleunit{}}}
\def\@degrees[#1]{%
\pst@checknum{#1}\pst@tempg
\edef\pst@angleunit{360 \pst@tempg div mul }%
\ignorespaces}
\def\radians{\def\pst@angleunit{57.2956 mul }}
\def\pst@angleunit{}
\def\SpecialCoor{%
\def\pst@@getcoor##1{%
\begingroup
\pst@activecoor
\xdef\pst@tempg{##1}%
\endgroup
\expandafter\special@coor\pst@tempg||\@nil}%
\def\pst@@getangle##1{%
\begingroup
\pst@activecoor
\xdef\pst@tempg{##1}%
\endgroup
\expandafter\special@angle\pst@tempg\@empty)\@nil}%
\def\psput@##1{\pst@@getcoor{##1}\leavevmode\psput@special}}
\begingroup
\catcode`\|=13
\catcode`\;=13
\catcode`\!=13
\gdef\pst@activecoor{%
\def|{\string|}%
\def;{\string;}%
\def!{\string!}}
\endgroup
\def\special@coor#1|#2|#3\@nil{%
\ifx#3|\relax
\mixed@coor{#1}{#2}%
\else
\special@@coor#1;;\@nil
\fi}
\def\special@@coor#1{%
\ifcat#1a\relax
\def\next{\node@coor#1}%
\else
\ifx#1[\relax
\def\next{\Node@coor[}%
\else
\ifx#1!\relax
\def\next{\raw@coor}%
\else
\def\next{\special@@@coor#1}%
\fi
\fi
\fi
\next}
\def\special@@@coor#1;#2;#3\@nil{%
\ifx#3;\relax
\polar@coor{#1}{#2}%
\else
\cartesian@coor#1,\relax,\@nil
\fi}
\def\mixed@coor#1#2{%
\begingroup
% DG/SR modification begin - Oct. 27, 1997 - Patch 6
%\specialcoor@ii#1;;\@nil
%\let\pst@tempa\pst@coor
%\specialcoor@ii#2;;\@nil
\special@@coor#1;;\@nil
\let\pst@tempa\pst@coor
\special@@coor#2;;\@nil
% DG/SR modification end
\xdef\pst@tempg{\pst@tempa pop \pst@coor exch pop }%
\endgroup
\let\pst@coor\pst@tempg}
\def\polar@coor#1#2{%
\pssetlength\pst@dimg{#1}%
\pst@@getangle{#2}%
\edef\pst@coor{\pst@number\pst@dimg \pst@angle \tx@PtoC}}
\def\raw@coor#1;#2\@nil{%
\edef\pst@coor{%
#1 \pst@number\psyunit mul exch \pst@number\psxunit mul exch }}
\def\node@coor#1\@nil{%
\@pstrickserr{You must load `pst-node.tex' to use node coordinates.}\@ehps
\def\pst@coor{0 0 }}
\def\Node@coor{\node@coor}
\def\special@angle#1#2)#3\@nil{%
\ifx!#1\relax
\edef\pst@angle{#2 \pst@angleunit}%
\else
\ifx(#1\relax
\pst@@getcoor{#2}%
\edef\pst@angle{\pst@coor exch \tx@Atan}%
\else
\pst@checknum{#1#2}\pst@angle
\edef\pst@angle{\pst@angle \pst@angleunit}%
\fi
\fi}
\def\Cartesian{%
\def\cartesian@coor##1,##2,##3\@nil{%
\pssetxlength\pst@dimg{##1}%
\pssetylength\pst@dimh{##2}%
\edef\pst@coor{\pst@number\pst@dimg \pst@number\pst@dimh}}%
\@ifnextchar({\Cartesian@}{}}
\def\Cartesian@(#1,#2){%
\pssetxlength\psxunit{#1}%
\pssetylength\psyunit{#2}%
\ignorespaces}
\def\Polar{%
\def\psput@cartesian{\psput@special}%
\def\cartesian@coor##1,##2,##3\@nil{\polar@coor{##1}{##2}}}%
\def\psset@origin#1{%
\pst@@getcoor{#1}%
\edef\psk@origin{\pst@coor \tx@NET }}
\def\psk@origin{}
\newif\ifswapaxes
\def\psset@swapaxes#1{%
\@nameuse{@pst#1}%
\if@pst
\def\psk@swapaxes{-90 rotate -1 1 scale }%
\else
\def\psk@swapaxes{}%
\fi}
\psset@swapaxes{false}
\newif\ifshowpoints
\def\psset@showpoints#1{\@nameuse{showpoints#1}}
\psset@showpoints{false}
\let\pst@setrepeatarrowsflag\relax
\def\psset@border#1{%
\pst@getlength{#1}\psk@border
\pst@setrepeatarrowsflag}
\psset@border{0pt}
\def\psset@bordercolor#1{\pst@getcolor{#1}\psbordercolor}
\psset@bordercolor{white}
\newif\ifpsdoubleline
\def\psset@doubleline#1{%
\@nameuse{psdoubleline#1}%
\pst@setrepeatarrowsflag}
\psset@doubleline{false}
\def\psset@doublesep#1{\def\psdoublesep{#1}}
\psset@doublesep{1.25\pslinewidth}
\def\psset@doublecolor#1{\pst@getcolor{#1}\psdoublecolor}
\psset@doublecolor{white}
\newif\ifpsshadow
\def\psset@shadow#1{%
\@nameuse{psshadow#1}%
\pst@setrepeatarrowsflag}
\psset@shadow{false}
\def\psset@shadowsize#1{\pst@getlength{#1}\psk@shadowsize}
\psset@shadowsize{3pt}
\def\psset@shadowangle#1{\pst@getangle{#1}\psk@shadowangle}
\psset@shadowangle{-45}
\def\psset@shadowcolor#1{\pst@getcolor{#1}\psshadowcolor}
\psset@shadowcolor{darkgray}
\def\pst@repeatarrowsflag{\z@}
\def\pst@setrepeatarrowsflag{%
\edef\pst@repeatarrowsflag{%
\ifdim\psk@border\p@>\z@ 1\else\ifpsdoubleline 1\else
\ifpsshadow 1\else \z@\fi\fi\fi}}
\def\psls@none{}
\newdimen\pslinewidth
\def\psset@linewidth#1{\pssetlength\pslinewidth{#1}}
\psset@linewidth{.8pt}
\def\psset@linecolor#1{\pst@getcolor{#1}\pslinecolor}
\psset@linecolor{black}
\def\psls@solid{0 setlinecap stroke }
\def\pst@missing{%
\z@
\@pstrickserr{Missing number or dimension. 0 substituted}\@ehpa}
\def\psset@dash#1{%
\pst@expandafter\psset@@dash{#1} {\pst@missing} {\pst@missing} {}\@nil
\edef\psk@dash{\pst@number\pst@dimg \pst@number\pst@dimh}}
\def\psset@@dash#1 #2 #3\@nil{%
\pssetlength\pst@dimg{#1}%
\pssetlength\pst@dimh{#2}}
\psset@dash{5pt 3pt}
\newif\ifpsdashadjust
\def\psset@dashadjust#1{\@nameuse{psdashadjust#1}}
\psset@dashadjust{true}
\def\psls@dashed{%
\ifpsdashadjust
\psk@dash \pst@linetype\space \tx@DashLine
\else
[ \psk@dash ] 0 setdash stroke
\fi}
\def\tx@DashLine{DashLine }
\def\psset@dotsep#1{\pst@getlength{#1}\psk@dotsep}
\psset@dotsep{3pt}
\def\psls@dotted{%
\ifpsdashadjust
\psk@dotsep \pst@linetype\space \tx@DotLine
\else
[ 0 \psk@dotsep CLW add ] 0 setdash 1 setlinecap stroke
\fi}
\def\tx@DotLine{DotLine }
\def\psset@linestyle#1{%
\@ifundefined{psls@#1}%
{\@pstrickserr{Line style `#1' not defined}\@eha}%
{\edef\pslinestyle{#1}}}
\psset@linestyle{solid}
\def\psfs@none{}
\def\psset@fillcolor#1{\pst@getcolor{#1}\psfillcolor}
\psset@fillcolor{white}
\def\psfs@solid{\pst@fill{\pst@usecolor\psfillcolor fill}}
\def\psset@hatchwidth#1{\pst@getlength{#1}\psk@hatchwidth}
\psset@hatchwidth{.8pt}
\def\psset@hatchsep#1{\pst@getlength{#1}\psk@hatchsep}
\psset@hatchsep{4pt}
\def\psset@hatchcolor#1{\pst@getcolor{#1}\pshatchcolor}
\psset@hatchcolor{black}
\def\psset@hatchangle#1{\pst@getangle{#1}\psk@hatchangle}
\psset@hatchangle{45}
\def\pst@linefill{%
\psk@hatchangle rotate
\psk@hatchwidth SLW
\pst@usecolor\pshatchcolor
\psk@hatchsep \tx@LineFill}
\def\psfs@vlines{\pst@fill\pst@linefill}
\@namedef{psfs@vlines*}{\psfs@solid \psfs@vlines}
\def\psfs@hlines{\pst@fill{90 rotate \pst@linefill}}
\@namedef{psfs@hlines*}{\psfs@solid \psfs@hlines}
\def\psfs@crosshatch{\psfs@vlines \psfs@hlines}
\@namedef{psfs@crosshatch*}{\psfs@solid \psfs@vlines \psfs@hlines}
\def\tx@LineFill{LineFill }
\def\psset@fillstyle#1{%
\edef\pst@tempg{#1}\def\pst@temph{none}%
\ifx\pst@tempg\pst@temph
\let\psk@fillstyle\relax
\else
\@ifundefined{psfs@#1}%
{\@pstrickserr{Undefined fill style: `#1'}\@eha}%
{\edef\psk@fillstyle{\expandafter\noexpand\csname psfs@#1\endcsname}}%
\fi}
\def\psset@addfillstyle#1{%
\@ifundefined{psfs@#1}%
{\@pstrickserr{Undefined fill style: `#1'}\@eha}%
{\edef\psk@fillstyle{%
\expandafter\noexpand\psk@fillstyle
\expandafter\noexpand\csname psfs@#1\endcsname}}}
\psset@fillstyle{none}
\def\psset@arrows#1{%
\begingroup
\pst@activearrows
\xdef\pst@tempg{#1}%
\endgroup
\expandafter\psset@@arrows\pst@tempg\@empty-\@empty\@nil
\if@pst\else
\@pstrickserr{Bad arrows specification: #1}\@ehpa
\fi}
\def\psset@@arrows#1-#2\@empty#3\@nil{%
\@psttrue
\def\next##1,#1-##2,##3\@nil{\def\pst@tempg{##2}}%
\expandafter\next\pst@arrowtable,#1-#1,\@nil
\@ifundefined{psas@\pst@tempg}%
{\@pstfalse\def\psk@arrowA{}}%
{\let\psk@arrowA\pst@tempg}%
\@ifundefined{psas@#2}%
{\@pstfalse\def\psk@arrowB{}}%
{\def\psk@arrowB{#2}}}
\def\psk@arrowA{}
\def\psk@arrowB{}
\def\pst@arrowtable{,<->,<<->>,>-<,>>-<<,(-),[-]}
\begingroup
\catcode`\<=13
\catcode`\>=13
\catcode`\|=13
\gdef\pst@activearrows{\def<{\string<}\def>{\string>}\def|{\string|}}
\endgroup
\def\tx@BeginArrow{BeginArrow }
\def\tx@EndArrow{EndArrow }
\def\psset@arrowscale#1{\pst@getscale{#1}\psk@arrowscale}
\psset@arrowscale{1}
\def\psset@arrowsize#1{%
\pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil
\edef\psk@arrowsize{\pst@number\pst@dimg \pst@tempg}}
\psset@arrowsize{1.5pt 2}
\def\psset@arrowlength#1{\pst@checknum{#1}\psk@arrowlength}
\psset@arrowlength{1.4}
\def\psset@arrowinset#1{\pst@checknum{#1}\psk@arrowinset}%
\psset@arrowinset{.4}
\def\tx@Arrow{Arrow }
\@namedef{psas@>}{%
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow}
\@namedef{psas@>>}{%
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow
0 h T
gsave
newpath
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow
CP
grestore
CP newpath moveto
2 copy
L
stroke
moveto}
\@namedef{psas@<}{%
true \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow}
\@namedef{psas@<<}{%
true \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow
CP newpath moveto 0 a neg L stroke 0 h neg T
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow}
\def\psset@tbarsize#1{%
\pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil
\edef\psk@tbarsize{\pst@number\pst@dimg \pst@tempg}}
\psset@tbarsize{2pt 5}
\def\tx@Tbar{Tbar }
\@namedef{psas@|}{\psk@tbarsize \tx@Tbar}
\@namedef{psas@|*}{0 CLW -2 div T \psk@tbarsize \tx@Tbar}
\@namedef{psas@>|}{%
\psk@tbarsize \tx@Tbar
0 CLW 2 div T
newpath
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow}
\@namedef{psas@>|*}{%
0 CLW -2 div T
\psk@tbarsize \tx@Tbar
0 CLW 2 div T
newpath
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow}
\edef\pst@arrowtable{\pst@arrowtable,|<*->|*,|<->|}
\def\psset@bracketlength#1{\pst@checknum{#1}\psk@bracketlength}
\psset@bracketlength{.15}
\def\tx@Bracket{Bracket }
\@namedef{psas@]}{\psk@bracketlength \psk@tbarsize \tx@Bracket}
\def\psset@rbracketlength#1{\pst@checknum{#1}\psk@rbracketlength}
\psset@rbracketlength{.15}
\def\tx@RoundBracket{RoundBracket }
\@namedef{psas@)}{\psk@rbracketlength \psk@tbarsize \tx@RoundBracket}
\def\psas@c{1 \psas@@c}
\def\psas@cc{0 CLW 2 div T 1 \psas@@c}
\def\psas@C{2 \psas@@c}
\def\psas@@c{%
setlinecap
0 0 moveto
0 CLW 2 div L
stroke
0 0 moveto}
\def\psas@{}
\psset@arrows{-}
\def\tx@SD{SD }
\def\tx@EndDot{EndDot }
\def\psas@oo{{\pst@usecolor\psfillcolor true} true \psk@dotsize \tx@EndDot}
\def\psas@o{{\pst@usecolor\psfillcolor true} false \psk@dotsize \tx@EndDot}
\@namedef{psas@**}{{false} true \psk@dotsize \tx@EndDot}
\@namedef{psas@*}{{false} false \psk@dotsize \tx@EndDot}
\def\pst@par{}
\def\addto@par#1{%
\ifx\pst@par\@empty
\def\pst@par{#1}%
\else
\expandafter\def\expandafter\pst@par\expandafter{\pst@par,#1}%
\fi}
\def\addbefore@par#1{%
\ifx\pst@par\@empty
\def\pst@par{#1}%
\else
\toks@{#1}%
\pst@toks\expandafter{\pst@par}%
\edef\pst@par{\the\toks@,\the\pst@toks}%
\fi}
\def\use@par{%
\ifx\pst@par\@empty\else
\expandafter\@psset\pst@par,\@nil
\def\pst@par{}%
\fi}
\def\pst@object#1{%
\pst@ifstar{%
\@ifnextchar[%
{\pst@@object{#1}}%
{\def\pst@par{}\@nameuse{#1@i}}}}
\def\pst@@object#1[#2]{%
\def\pst@par{#2}%
\@ifnextchar+{\@nameuse{#1@i}}{\@nameuse{#1@i}}}
\def\newpsobject#1#2#3{%
\@ifundefined{#2@i}%
{\@pstrickserr{Graphics object `#2' not defined}\@eha}{%
\@namedef{#1}{\pst@object{#1}}%
\@namedef{#1@i}{\addbefore@par{#3}\@nameuse{#2@i}}}%
\ignorespaces}
\def\pst@getarrows#1{\@ifnextchar({#1}{\pst@@getarrows{#1}}}
\def\pst@@getarrows#1#2{\addto@par{arrows=#2}#1}
\def\begin@ClosedObj{%
\leavevmode
\pst@killglue
\begingroup
\use@par
\solid@star
\ifpsdoubleline \pst@setdoublesep \fi
\init@pscode}
\def\end@ClosedObj{%
\ifpsshadow \pst@closedshadow \fi
\ifdim\psk@border\p@>\z@ \pst@addborder \fi
\psk@fillstyle
\pst@stroke
\ifpsdoubleline \pst@doublestroke \fi
\ifshowpoints
% DG modification begin - Mar. 4, 1995
%\addto@pscode{Points aload length 2 div cvi /N ED \psdots@iii}%
\pst@OpenShowPoints
% DG modification end
\fi
\use@pscode
\endgroup
\ignorespaces}
\def\begin@OpenObj{%
\begin@ClosedObj
\let\pst@linetype\pst@arrowtype
\pst@addarrowdef}
\def\begin@AltOpenObj{%
\begin@ClosedObj
\def\pst@repeatarrowsflag{\z@}%
\def\pst@linetype{0}}
\def\end@OpenObj{%
\ifpsshadow \pst@openshadow \fi
\ifdim\psk@border\p@>\z@ \pst@addborder \fi
\psk@fillstyle
\pst@stroke
\ifpsdoubleline \pst@doublestroke \fi
\ifnum\pst@repeatarrowsflag>\z@ \pst@repeatarrows \fi
\ifshowpoints \pst@OpenShowPoints \fi
\use@pscode
\endgroup
\ignorespaces}
\def\begin@SpecialObj{%
\leavevmode
\pst@killglue
\begingroup
\use@par
\init@pscode}
\def\end@SpecialObj{%
\use@pscode
\endgroup
\ignorespaces}
\def\pst@code{}%
\def\init@pscode{%
\addto@pscode{%
\pst@number\pslinewidth SLW
\pst@usecolor\pslinecolor}}
\def\addto@pscode#1{\xdef\pst@code{\pst@code#1\space}}
\def\use@pscode{%
\pstverb{%
\pst@dict
\tx@STP
\pst@newpath
\psk@origin
\psk@swapaxes
\pst@code
end}%
\gdef\pst@code{}}
\def\pst@newpath{newpath }
\def\pst@@killglue{\unskip\ifdim\lastskip>\z@\expandafter\pst@@killglue\fi}
\def\KillGlue{\let\pst@killglue\pst@@killglue}
\def\DontKillGlue{\let\pst@killglue\relax}
\DontKillGlue
\def\solid@star{%
\if@star
\pslinewidth=\z@
\psdoublelinefalse
\def\pslinestyle{none}%
\def\psk@fillstyle{\psfs@solid}%
\let\psfillcolor\pslinecolor
\fi}
\def\pst@setdoublesep{%
\pst@getlength\psdoublesep\psdoublesep
\pslinewidth=2\pslinewidth
\advance\pslinewidth\psdoublesep\p@
\let\pst@setdoublesep\relax}
\def\tx@Shadow{Shadow }
\def\pst@closedshadow{%
\addto@pscode{%
gsave
\psk@shadowsize \psk@shadowangle \tx@PtoC
\tx@Shadow
\pst@usecolor\psshadowcolor
gsave fill grestore
stroke
grestore
gsave
\pst@usecolor\psfillcolor
gsave fill grestore
stroke
grestore}}
\def\pst@openshadow{%
\addto@pscode{%
gsave
\psk@shadowsize \psk@shadowangle \tx@PtoC
\tx@Shadow
\pst@usecolor\psshadowcolor
\ifx\psk@fillstyle\relax\else
gsave fill grestore
\fi
stroke}%
\pst@repeatarrows
\addto@pscode{grestore}
\ifx\psk@fillstyle\relax\else
\addto@pscode{%
gsave
\pst@usecolor\psfillcolor
gsave fill grestore
stroke
grestore}
\fi}
\def\pst@addborder{%
\addto@pscode{%
gsave
\psk@border 2 mul
CLW add SLW
\pst@usecolor\psbordercolor
stroke
grestore}}
\def\pst@stroke{%
\ifx\pslinestyle\@none\else
\addto@pscode{%
gsave
\pst@number\pslinewidth SLW
\pst@usecolor\pslinecolor
\@nameuse{psls@\pslinestyle}
grestore}%
\fi}
\def\pst@fill#1{\addto@pscode{gsave #1 grestore}}%
\def\pst@doublestroke{%
\addto@pscode{%
gsave
\psdoublesep SLW
\pst@usecolor\psdoublecolor
stroke
grestore}}
\def\pst@arrowtype{%
\ifx\psk@arrowB\@empty 0 \else -2 \fi
\ifx\psk@arrowA\@empty 0 \else -1 \fi
add}
\def\pst@addarrowdef{%
\addto@pscode{%
/ArrowA {
\ifx\psk@arrowA\@empty
\pst@oplineto
\else
\pst@arrowdef{A}
moveto
\fi
} def
/ArrowB {
\ifx\psk@arrowB\@empty \else \pst@arrowdef{B} \fi
} def}}
\def\pst@arrowdef#1{%
\ifnum\pst@repeatarrowsflag>\z@
/Arrow#1c [ 6 2 roll ] cvx def Arrow#1c
\fi
\tx@BeginArrow
\psk@arrowscale
\@nameuse{psas@\@nameuse{psk@arrow#1}}
\tx@EndArrow}
\def\pst@repeatarrows{%
\addto@pscode{%
gsave
\ifx\psk@arrowA\@empty\else
ArrowAc ArrowA pop pop
\fi
\ifx\psk@arrowB\@empty\else
ArrowBc ArrowB pop pop pop pop
\fi
grestore}}
\def\pst@OpenShowPoints{%
\addto@pscode{%
gsave
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}
newpath
Points aload length 2 div 2 sub cvi /N ED
N 0 ge
{ \ifx\psk@arrowA\@empty
Dot
\else
pop pop
\fi
N { Dot } repeat
\ifx\psk@arrowB\@empty
Dot
\else
pop pop
\fi }
{ N 2 mul { pop } repeat }
ifelse
grestore}}
\def\pscustom{\pst@object{pscustom}}
\long\def\pscustom@i#1{%
\begin@SpecialObj
\solid@star
\let\pst@ifcustom\iftrue
\let\begin@ClosedObj\begin@CustomObj
\let\end@ClosedObj\endgroup
\def\begin@OpenObj{\begin@CustomObj\pst@addarrowdef}%
\let\end@OpenObj\endgroup
\let\begin@AltOpenObj\begin@CustomObj
\def\begin@SpecialObj{%
\begingroup
\pst@misplaced{special graphics object}%
\def\addto@pscode####1{}
\let\end@SpecialObj\endgroup}%
\def\@multips(##1)(##2)##3##4{\pst@misplaced\multips}%
\def\psclip##1{\pst@misplaced\psclip}%
\def\pst@repeatarrowsflag{\z@}%
\let\pst@setrepeatarrowsflag\relax
\showpointsfalse
\let\showpointstrue\relax
\def\pst@linetype{\pslinetype}%
\let\psset@liftpen\psset@@liftpen
\psset@liftpen{\z@}%
\def\pst@cp{/currentpoint load stopped pop }%
\def\pst@oplineto{/lineto load stopped { moveto } if }%
\def\pst@optcp##1##2{%
\ifnum##1=\z@\def##2{/currentpoint load stopped { 0 0 } if }\fi}%
\let\caddto@pscode\addto@pscode
\def\cuse@par##1{{\use@par##1}}%
\the\pst@customdefs
\setbox\pst@hbox=\hbox{#1}%
\psk@fillstyle
\pst@stroke
\end@SpecialObj}
\def\begin@CustomObj{%
\begingroup
\use@par
\addto@pscode{%
\pst@number\pslinewidth SLW
\pst@usecolor\pslinecolor}}
\def\pst@oplineto{moveto }
\def\pst@cp{}
\def\pst@optcp#1#2{}
\def\psset@liftpen#1{}
\def\psset@@liftpen#1{%
\ifcase#1\relax
\def\psk@liftpen{\z@}%
\def\pst@cp{/currentpoint load stopped pop }%
\def\pst@oplineto{/lineto load stopped { moveto } if }%
\or
\def\psk@liftpen{1}%
\def\pst@cp{}%
\def\pst@oplineto{/lineto load stopped { moveto } if }%
\or
\def\psk@liftpen{2}%
\def\pst@cp{}%
\def\pst@oplineto{moveto }%
\fi}
\psset@liftpen{0}
\def\psk@liftpen{-1}
\def\psset@linetype#1{%
\pst@getint{#1}\pslinetype
\ifnum\pst@dimg<-3
\@pstrickserr{linetype must be greater than -3}\@ehpa
\def\pslinetype{0}%
\fi}
\psset@linetype{0}
\def\caddto@pscode#1{%
\@pstrickserr{Command can only be used in \string\pscustom}\@ehpa}
\let\cuse@par\caddto@pscode
\def\tx@MSave{%
/msavemtrx
[ tx@Dict /msavemtrx known { msavemtrx aload pop } if CM ]
def }
\def\tx@MRestore{%
tx@Dict /msavemtrx known { length 0 gt } { false } ifelse
{ /msavematrx [ msavematrx aload pop setmatrix ] def }
if }
\newtoks\pst@customdefs
\pst@customdefs{%
\def\newpath{\addto@pscode{newpath}}%
\def\moveto(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor moveto}}%
\def\closepath{\addto@pscode{closepath}}%
\def\gsave{\begingroup\addto@pscode{gsave}}%
\def\grestore{\endgroup\addto@pscode{grestore}}%
% DG/SR modification begin - May 12, 1997 - Patch 2
%\def\translate(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor moveto}}%
\def\translate(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor translate}}%
% DG/SR modification end
\def\rotate#1{\pst@@getangle{#1}\addto@pscode{\pst@angle rotate}}%
\def\scale#1{\pst@getscale{#1}\pst@tempg\addto@pscode{\pst@tempg}}%
\def\msave{\addto@pscode{\tx@MSave}}%
\def\mrestore{\addto@pscode{\tx@MRestore}}%
\def\swapaxes{\addto@pscode{-90 rotate -1 1 scale}}%
\def\stroke{\pst@object{stroke}}%
\def\fill{\pst@object{fill}}%
\def\openshadow{\pst@object{openshadow}}%
\def\closedshadow{\pst@object{closedshadow}}%
% DG/SR modification begin - Jan. 7, 1998 - Patch 8
%\def\movepath(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor tx@Shadow}}%
\def\movepath(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor \tx@Shadow}}%
% DG/SR modification end
\def\lineto{\pst@onecoor{lineto}}%
\def\rlineto{\pst@onecoor{rlineto}}%
\def\curveto{\pst@threecoor{curveto}}%
\def\rcurveto{\pst@threecoor{rcurveto}}%
\def\code#1{\addto@pscode{#1}}%
\def\coor(#1){\pst@@getcoor{#1}\addto@pscode\pst@coor\@ifnextchar({\coor}{}}%
\def\rcoor{\pst@getcoors{}{}}%
\def\dim#1{\pssetlength\pst@dimg{#1}\addto@pscode{\pst@number\pst@dimg}}%
\def\setcolor#1{%
\@ifundefined{color@#1}{}{\addto@pscode{\use@color{#1}}}}%
\def\arrows#1{{\psset@arrows{#1}\pst@addarrowdef}}%
\let\file\pst@rawfile
} % END \pst@customdefs
\def\closedshadow@i{\cuse@par\pst@closedshadow}
\def\openshadow@i{\cuse@par\pst@openshadow}
\def\stroke@i{\cuse@par\pst@stroke}%
\def\fill@i{\cuse@par\psk@fillstyle}%
\def\pst@onecoor#1(#2){%
\pst@@getcoor{#2}%
\addto@pscode{\pst@coor #1}}
\def\pst@threecoor#1(#2)#3(#4)#5(#6){%
\begingroup
\pst@getcoor{#2}\pst@tempa
\pst@getcoor{#4}\pst@tempb
\pst@getcoor{#6}\pst@tembc
\addto@pscode{\pst@tempa \pst@tempb \pst@tempc #1}%
\endgroup}
\def\pst@rawfile#1{%
\begingroup
\def\do##1{\catcode`##1=12\relax}"
\dospecials
\catcode`\%=14
\pst@@rawfile{#1}%
\endgroup}
\def\pst@@rawfile#1{%
\immediate\openin1 #1
\ifeof1
\@pstrickserr{File `#1' not found}\@ehpa
\else
\immediate\read1 to \pst@tempg
\loop
\ifeof1 \@pstfalse\else\@psttrue\fi
\if@pst
\addto@pscode\pst@tempg
\immediate\read1 to \pst@tempg
\repeat
\fi
\immediate\closein1\relax}
\def\tx@NArray{NArray }
\def\tx@NArray{NArray }
\def\tx@Line{Line }
\def\tx@Arcto{Arcto }
\def\tx@CheckClosed{CheckClosed }
\def\tx@Polygon{Polygon }
\def\psset@gangle#1{\pst@getangle{#1}\psk@gangle}
\psset@gangle{0}
\def\tx@Diamond{Diamond }
\def\psdiamond{\pst@object{psdiamond}}
\def\psdiamond@i(#1){%
\@ifnextchar({\psdiamond@ii(#1)}{\psdiamond@ii(0,0)(#1)}}
\def\psdiamond@ii(#1)(#2){%
\begin@ClosedObj
\pst@getcoor{#1}\pst@tempa
\pst@getcoor{#2}\pst@tempb
\addto@pscode{%
\psline@iii
pop
\psk@dimen
\pst@tempb
\psk@gangle
\pst@tempa
\tx@Diamond}%
\def\pst@linetype{4}%
\end@ClosedObj}
\def\tx@Triangle{Triangle }
\def\pstriangle{\pst@object{pstriangle}}
\def\pstriangle@i(#1){%
\@ifnextchar({\pstriangle@ii(#1)}{\pstriangle@ii(0,0)(#1)}}
\def\pstriangle@ii(#1)(#2){%
\begin@ClosedObj
\pst@getcoor{#1}\pst@tempa
\pst@getcoor{#2}\pst@tempb
\addto@pscode{%
\psline@iii
pop
\psk@dimen
\pst@tempb
\psk@gangle
\pst@tempa
\tx@Triangle}%
\def\pst@linetype{2}%
\end@ClosedObj}
\def\tx@CCA{CCA }
\def\tx@CCA{CCA }
\def\tx@CC{CC }
\def\tx@IC{IC }
\def\tx@BOC{BOC }
\def\tx@NC{NC }
\def\tx@EOC{EOC }
\def\tx@BAC{BAC }
\def\tx@NAC{NAC }
\def\tx@EAC{EAC }
\def\tx@OpenCurve{OpenCurve }
\def\tx@AltCurve{AltCurve }
\def\tx@ClosedCurve{ClosedCurve }
\def\psset@curvature#1{%
\edef\pst@tempg{#1 }%
\expandafter\psset@@curvature\pst@tempg * * * \@nil}
\def\psset@@curvature#1 #2 #3 #4\@nil{%
\pst@checknum{#1}\pst@tempg
\pst@checknum{#2}\pst@temph
\pst@checknum{#3}\pst@tempi
\edef\psk@curvature{\pst@tempg \pst@temph \pst@tempi}}
\psset@curvature{1 .1 0}
\def\pscurve{\pst@object{pscurve}}
\def\pscurve@i{%
\pst@getarrows{%
\begin@OpenObj
\pst@getcoors[\pscurve@ii}}
\def\pscurve@ii{%
\addto@pscode{%
\pst@cp
\psk@curvature\space /c ED /b ED /a ED
\ifshowpoints true \else false \fi
\tx@OpenCurve}%
\end@OpenObj}
\def\psecurve{\pst@object{psecurve}}
\def\psecurve@i{%
\pst@getarrows{%
\begin@OpenObj
\pst@getcoors[\psecurve@ii}}
\def\psecurve@ii{%
\addto@pscode{%
\psk@curvature\space /c ED /b ED /a ED
\ifshowpoints true \else false \fi
\tx@AltCurve}%
\end@OpenObj}
\def\psccurve{\pst@object{psccurve}}
\def\psccurve@i{%
\begin@ClosedObj
\pst@getcoors[\psccurve@ii}
\def\psccurve@ii{%
\addto@pscode{%
\psk@curvature\space /c ED /b ED /a ED
\ifshowpoints true \else false \fi
\tx@ClosedCurve}%
\def\pst@linetype{1}%
\end@ClosedObj}
\def\psset@dotsize#1{%
\pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil
\edef\psk@@dotsize{\pst@number\pst@dimg}%
\let\psk@@@dotsize\pst@tempg
\edef\psk@dotsize{%
/DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }}
\psset@dotsize{2pt 2}
\def\psset@dotscale#1{%
\pst@getscale{#1}\psk@dotscale
\ifx\psk@dotscale\@empty
\def\psk@xdotscale{1 }%
\def\psk@ydotscale{1 }%
\else
\let\psk@xdotscale\pst@tempg
\let\psk@ydotscale\pst@temph
% DG/SR modification begin - Oct. 17, 1997 - Patch 5
%\fi}
\fi
\pst@getdotsize%
\psset@dotsize{\pst@dimg\space\pst@@dimtonum\pst@dimh}}
%\psset@dotscale{1}
% DG/SR modification end
\def\pst@Getangle#1#2{%
\pst@getangle{#1}\pst@tempg
\def\pst@temph{0. }%
\ifx\pst@tempg\pst@temph
\def#2{}%
\else
\edef#2{\pst@tempg\space rotate }%
\fi}
\def\psset@dotangle#1{%
\pst@getangle{#1}\psk@@dotangle
\ifdim\psk@@dotangle\p@=\z@
\let\psk@dotangle\@empty
\else
% DG/SR modification begin - Aug. 8, 1997 - Patch 4
%\edef\psk@dotangle{\psk@@dotangle rotate }
\edef\psk@dotangle{\psk@@dotangle rotate }%
% DG/SR modification end
\fi}
\psset@dotangle{0}
\def\pst@getdotsize{%
\pst@dimg=\psk@@@dotsize\pslinewidth
\advance\pst@dimg\psk@@dotsize\p@
\pst@dimh=\psk@ydotscale\pst@dimg
\pst@dimg=\psk@xdotscale\pst@dimg
\divide\pst@dimh 2
\divide\pst@dimg 2\relax}
% DG/SR modification begin - Oct. 17, 1997 - Patch 5
\psset@dotscale{1}
% DG/SR modification end
\def\psdot{\pst@object{psdot}}
\def\psdot@i{\@ifnextchar({\psdot@ii}{\psdot@ii(\z@,\z@)}}
\def\psdot@ii(#1){%
\begin@SpecialObj
\pst@@getcoor{#1}%
\addto@pscode{%
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}%
\pst@coor Dot}%
\end@SpecialObj}
\def\psdots{\pst@object{psdots}}
\def\psdots@i{%
\begin@SpecialObj
\pst@getcoors[\psdots@ii}
\def\psdots@ii{%
\addto@pscode{false \tx@NArray \psdots@iii}%
\end@SpecialObj}
\def\psdots@iii{%
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}
newpath
n { transform floor .5 add exch floor .5 add exch itransform Dot } repeat}
% DG: dead code (to suppress until \psset@dotstyle) ? - Aug. 4, 1997
\def\tx@SQ{SQ }
\def\tx@ST{ST }
\def\tx@SP{SP }
\def\pst@gdot#1{/Dot { gsave T \psk@dotangle \psk@dotscale #1 grestore } def }
\@namedef{psds@*}{\pst@gdot{0 0 DS \tx@SD}}
\@namedef{psds@o}{%
/r2 DS CLW sub def
\pst@gdot{0 0 DS \tx@SD \pst@usecolor\psfillcolor 0 0 r2 \tx@SD}}
\@namedef{psds@square*}{%
/r1 DS .886 mul def
\pst@gdot{r1 \tx@SQ}}
\@namedef{psds@square}{%
/r1 DS .886 mul def /r2 r1 CLW sub def
\pst@gdot{r1 \tx@SQ \pst@usecolor\psfillcolor r2 \tx@SQ}}
\@namedef{psds@triangle*}{%
/y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
\pst@gdot{x1 y1 \tx@ST}}
\@namedef{psds@triangle}{%
/y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
/y2 y1 CLW add def /x2 y2 1.732 mul neg def
\pst@gdot{x1 y1 \tx@ST \pst@usecolor\psfillcolor x2 y2 \tx@ST}}
\@namedef{psds@pentagon*}{%
/r1 DS 1.149 mul def
\pst@gdot{r1 \tx@SP}}
\@namedef{psds@pentagon}{%
DS .93 mul dup 1.236 mul /r1 ED CLW sub 1.236 mul /r2 ED
\pst@gdot{r1 \tx@SP \pst@usecolor\psfillcolor r2 \tx@SP}}
\@namedef{psds@+}{%
/DS DS 1.253 mul def
\pst@gdot{DS 0 moveto DS neg 0 L stroke 0 DS moveto 0 DS neg L stroke}}
\@namedef{psds@|}{%
\psk@tbarsize CLW mul add 2 div /DS ED
\pst@gdot{0 DS moveto 0 DS neg L stroke}}
% DG: end dead code?
\def\psset@dotstyle#1{%
\@ifundefined{psds@#1}%
{\@pstrickserr{Dot style `#1' not defined}\@eha}%
{\edef\psk@dotstyle{#1}}}
\psset@dotstyle{*}
\def\tx@FontDot{FontDot }
\def\newpsfontdot#1[#2]#3#4{%
\@namedef{psds@#1}{%
/#3 \psk@@dotangle [#2] \tx@FontDot
/Dot { moveto #4 show } bind def }}
\def\newpsfontdotH#1[#2]#3#4#5{%
\@namedef{psds@#1}{%
/#3 \psk@@dotangle [#2] \tx@FontDot
/Dot {
moveto
\iftrue
gsave \pst@usecolor\psfillcolor #5 show grestore
\fi
#4 show
} bind def }}
\pstheader{pst-dots.pro}
\newpsfontdot{*}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(b)}
\newpsfontdotH{o}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(c)}{(b)}
\newpsfontdotH{Bo}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(C)}{(b)}
\newpsfontdotH{triangle}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(t)}{(u)}
\newpsfontdotH{Btriangle}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(T)}{(u)}
\newpsfontdot{triangle*}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(u)}
\newpsfontdotH{square}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(s)}{(r)}
\newpsfontdotH{Bsquare}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(S)}{(r)}
\newpsfontdot{square*}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(r)}
\newpsfontdotH{pentagon}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(p)}{(q)}
\newpsfontdotH{Bpentagon}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(P)}{(q)}
\newpsfontdot{pentagon*}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(q)}
% DG/SR modification begin - Mar. 18, 1997
%\newpsfontdot{diamond*}%
%[1.9 0.0 0.0 1.9 -0.4598 -0.70775]{Symbol}{<E0>}
%\newpsfontdot{diamond}%
%[2.3 0.0 0.0 2.3 -0.8533 -0.5336]{Symbol}{<A8>}
\newpsfontdot{diamond}%
[1.9 0.0 0.0 1.9 -0.4598 -0.70775]{Symbol}{<E0>}
\newpsfontdot{diamond*}%
[2.3 0.0 0.0 2.3 -0.8533 -0.5336]{Symbol}{<A8>}
% DG/SR modification end
\newpsfontdot{oplus}%
[1.44928 0.0 0.0 1.44928 -0.562319 -0.478261]{Symbol}{<C5>}
\newpsfontdot{otimes}%
[1.44928 0.0 0.0 1.44928 -0.562319 -0.475362]{Symbol}{<C4>}
\newpsfontdot{x}%
[1.8 0.0 0.0 1.8 -0.495 -0.4788]{Symbol}{<B4>}
\newpsfontdot{+}%
[2.3 0.0 0.0 2.3 -0.6486 -0.5819]{Times-Roman}{<2B>}
\newpsfontdot{asterisk}%
[2.43309 0.0 0.0 2.43309 -0.609489 -1.14477]{Times-Roman}{<2A>}
\newpsfontdot{B+}%
[2.3 0.0 0.0 2.3 -0.6555 -0.5819]{Times-Bold}{<2B>}
\newpsfontdot{Basterisk}%
[2.29358 0.0 0.0 2.29358 -0.576835 -1.08486]{Times-Bold}{<2A>}
\newpsfontdot{|}%
% DG/SR modification begin - Oct. 27, 1997 - Patch 7
%[1.98413 0.0 0.0 1.98413 -0.258929 -0.712302]{Helvetica}{(|)}
[1.98413 0.0 0.0 1.38 -0.258929 -0.5]{Helvetica}{(|)}
% DG/SR modification end
\newpsfontdot{B|}%
% DG/SR modification begin - Oct. 27, 1997 - Patch 7
%[1.98413 0.0 0.0 1.98413 -0.277778 -0.78302]{Helvetica-Bold}{(|)}
[1.98413 0.0 0.0 1.38 -0.277778 -0.5]{Helvetica-Bold}{(|)}
% DG/SR modification end
\iffalse
\newpsfontdot{*}%
[2.77778 0.0 0.0 2.77778 -0.638889 -0.813889]{Symbol}{<B7>}
\newpsfontdot{o}%
[3.33333 0.0 0.0 3.33333 -0.666667 -1.78167]{Symbol}{<B0>}
\newpsfontdot{Bo}%
[4.69484 0.0 0.0 4.69484 -0.78169 -2.97418]{Times-Bold}{<CA>}
\fi
\newdimen\pslinearc
\def\psset@linearc#1{\pssetlength\pslinearc{#1}}
\psset@linearc{0pt}
\def\psline{\pst@object{psline}}
\def\psline@i{%
\pst@getarrows{%
\begin@OpenObj
\pst@getcoors[\psline@ii}}
\def\psline@ii{%
\addto@pscode{\pst@cp \psline@iii \tx@Line}%
\end@OpenObj}
\def\psline@iii{%
\ifdim\pslinearc>\z@
/r \pst@number\pslinearc def
/Lineto { \tx@Arcto } def
\else
/Lineto /lineto load def
\fi
\ifshowpoints true \else false \fi}
\def\qline(#1)(#2){%
\def\pst@par{}%
\begin@SpecialObj
\def\pst@linetype{0}%
\pst@getcoor{#1}\pst@tempa
\pst@@getcoor{#2}%
\addto@pscode{%
\pst@tempa moveto \pst@coor L
\@nameuse{psls@\pslinestyle}}%
\end@SpecialObj}
\def\pspolygon{\pst@object{pspolygon}}
\def\pspolygon@i{%
\begin@ClosedObj
\def\pst@cp{}%
\pst@getcoors[\pspolygon@ii}
\def\pspolygon@ii{%
\addto@pscode{\psline@iii \tx@Polygon}%
\def\pst@linetype{1}%
\end@ClosedObj}
\def\psset@framearc#1{\pst@checknum{#1}\psk@framearc}
\psset@framearc{0}
\def\psset@cornersize#1{%
\pst@expandafter\psset@@cornersize{#1}\@nil}
\def\psset@@cornersize#1#2\@nil{%
\if #1a\relax
\def\psk@cornersize{\pst@number\pslinearc false }%
\else
\def\psk@cornersize{\psk@framearc true }%
\fi}
\psset@cornersize{relative}
\def\tx@Rect{Rect }
\def\tx@OvalFrame{OvalFrame }
\def\tx@Frame{Frame }
\def\psset@dimen#1{%
\pst@expandafter\psset@@dimen{#1}\@nil}
\def\psset@@dimen#1#2\@nil{%
\if #1o\relax
\def\psk@dimen{.5 }%
\else
\if #1m\relax
\def\psk@dimen{0 }%
\else
\if #1i\relax
\def\psk@dimen{-.5 }%
\fi
\fi
\fi}
\psset@dimen{outer}
\def\psframe{\pst@object{psframe}}
\def\psframe@i(#1){%
\@ifnextchar({\psframe@ii(#1)}{\psframe@ii(0,0)(#1)}}
\def\psframe@ii(#1)(#2){%
\begin@ClosedObj
\pst@getcoor{#1}\pst@tempa
\pst@@getcoor{#2}%
\addto@pscode{\psk@cornersize \pst@tempa \pst@coor \psk@dimen \tx@Frame}%
\def\pst@linetype{2}%
\showpointsfalse
\end@ClosedObj}
\def\tx@BezierNArray{BezierNArray }
\def\tx@OpenBezier{OpenBezier }
\def\tx@ClosedBezier{ClosedBezier }
\def\tx@BezierShowPoints{BezierShowPoints }
\def\psbezier{\pst@object{psbezier}}
\def\psbezier@i{%
\pst@getarrows{%
\begin@OpenObj
\pst@getcoors[\psbezier@ii}}
\def\psbezier@ii{%
\addto@pscode{%
% DG/SR modification begin - Apr. 28, 1997 - Patch 1
% \psbezier doesn't work inside \pscustom
%\pst@cp
% DG/SR modification end
\ifshowpoints true \else false \fi
\tx@OpenBezier
\ifshowpoints \tx@BezierShowPoints \fi}%
\end@OpenObj}
\def\pscbezier{\pst@object{pscbezier}}
\def\pscbezier@i{%
\begin@ClosedObj
\pst@getcoors[\pscbezier@ii}
\def\pscbezier@ii{%
\addto@pscode{%
\ifshowpoints true \else false \fi
\tx@ClosedBezier
\ifshowpoints \tx@BezierShowPoints \fi}%
\chardef\pst@linetype=1
\end@ClosedObj}
\def\tx@Parab{Parab }
\def\parabola{\pst@object{parabola}}
\def\parabola@i{\pst@getarrows\parabola@ii}
\def\parabola@ii#1(#2)#3(#4){%
\begin@OpenObj
\pst@getcoor{#2}\pst@tempa
\pst@@getcoor{#4}%
\addto@pscode{\pst@tempa \pst@coor \tx@Parab}%
\end@OpenObj}
\def\psset@gridwidth#1{\pst@getlength{#1}\psk@gridwidth}
\psset@gridwidth{.8pt}
\def\psset@griddots#1{%
\pst@cntg=#1\relax
\edef\psk@griddots{\the\pst@cntg}}
\psset@griddots{0}
\def\psset@gridcolor#1{\pst@getcolor{#1}\psgridcolor}
\psset@gridcolor{black}
\def\psset@subgridwidth#1{\pst@getlength{#1}\psk@subgridwidth}
\psset@subgridwidth{.4pt}
\def\psset@subgridcolor#1{\pst@getcolor{#1}\pssubgridcolor}
\psset@subgridcolor{gray}
\def\psset@subgriddots#1{%
\pst@cntg=#1\relax\edef\psk@subgriddots{\the\pst@cntg}}
\psset@subgriddots{0}
\def\psset@subgriddiv#1{%
\pst@cntg=#1\relax\edef\psk@subgriddiv{\the\pst@cntg}}
\psset@subgriddiv{5}
\def\psset@gridlabels#1{\pst@getlength{#1}\psk@gridlabels}
\psset@gridlabels{10pt}
\def\psset@gridlabelcolor#1{\pst@getcolor{#1}\psgridlabelcolor}
\psset@gridlabelcolor{black}
\def\tx@Grid{Grid }
\def\psgrid{\pst@object{psgrid}}
\def\psgrid@i{\@ifnextchar(%
{\psgrid@ii}{\expandafter\psgrid@iv\pic@coor}}
\def\psgrid@ii(#1){\@ifnextchar(%
{\psgrid@iii(#1)}{\psgrid@iv(0,0)(0,0)(#1)}}
\def\psgrid@iii(#1)(#2){\@ifnextchar(%
{\psgrid@iv(#1)(#2)}{\psgrid@iv(#1)(#1)(#2)}}
\def\psgrid@iv(#1)(#2)(#3){%
\begin@SpecialObj
\pst@getcoor{#1}\pst@tempa
\pst@getcoor{#2}\pst@tempb
\pst@@getcoor{#3}%
\ifnum\psk@subgriddiv>1
\addto@pscode{gsave
\psk@subgridwidth SLW \pst@usecolor\pssubgridcolor
\pst@tempb \pst@coor \pst@tempa
\pst@number\psxunit \pst@number\psyunit
\psk@subgriddiv\space \psk@subgriddots\space
{} 0 \tx@Grid grestore}%
\fi
\addto@pscode{gsave
\psk@gridwidth SLW \pst@usecolor\psgridcolor
\pst@tempb \pst@coor \pst@tempa
\pst@number\psxunit \pst@number\psyunit
1 \psk@griddots\space { \pst@usecolor\psgridlabelcolor }
\psk@gridlabels \tx@Grid grestore}%
\end@SpecialObj}
\newif\ifpsmathbox
\psmathboxtrue
\def\pst@mathflag{\z@}
\newtoks\everypsbox
\let\pst@thisbox\relax
\long\def\pst@makenotverbbox#1#2{%
\edef\pst@mathflag{%
\ifpsmathbox\ifmmode\ifinner 1\else 2\fi\else \z@\fi\else \z@\fi}%
\setbox\pst@hbox=\hbox{%
\ifcase\pst@mathflag\or$\m@th\textstyle\or$\m@th\displaystyle\fi
{\pst@thisbox\the\everypsbox#2}%
\ifnum\pst@mathflag>\z@$\fi}%
#1}
\def\pst@makeverbbox#1{%
\def\pst@afterbox{#1}%
\edef\pst@mathflag{%
\ifpsmathbox\ifmmode\ifinner 1\else 2\fi\else \z@\fi\else \z@\fi}%
\afterassignment\pst@beginbox
\setbox\pst@hbox\hbox}
\def\pst@beginbox{%
\ifcase\pst@mathflag\or$\m@th\or$\m@th\displaystyle\fi
\bgroup\aftergroup\pst@endbox
\pst@thisbox
\the\everypsbox}
\def\pst@endbox{%
\ifnum\pst@mathflag>\z@$\fi
\egroup
\pst@afterbox}
\def\pst@makebox{\pst@@makebox}
\def\psverbboxtrue{\def\pst@@makebox{\pst@makeverbbox}}
\def\psverbboxfalse{\def\pst@@makebox{\pst@makenotverbbox}}
\psverbboxfalse
\def\pst@longbox{%
\def\pst@makebox{%
\gdef\pst@makebox{\pst@@makebox}%
\pst@makelongbox}}
\def\pst@makelongbox#1{%
\def\pst@afterbox{#1}%
\edef\pst@mathflag{%
\ifpsmathbox\ifmmode\ifinner 1\else 2\fi\else \z@\fi\else \z@\fi}%
\setbox\pst@hbox\hbox\bgroup
\aftergroup\pst@afterbox
\ifcase\pst@mathflag\or$\m@th\or$\m@th\displaystyle\fi
\begingroup
\pst@thisbox
\the\everypsbox}
\def\pst@endlongbox{%
\endgroup
\ifnum\pst@mathflag>\z@$\fi
\egroup}
\def\pslongbox#1#2{%
\@namedef{#1}{\pst@longbox#2}%
\@namedef{end#1}{\pst@endlongbox}}
\newdimen\psframesep
\def\psset@framesep#1{\pssetlength\psframesep{#1}}
\psset@framesep{3pt}
\newif\ifpsboxsep
\def\psset@boxsep#1{\@nameuse{psboxsep#1}}
\psset@boxsep{true}
\def\pst@useboxpar{%
\use@par
\if@star
\let\pslinecolor\psfillcolor
\solid@star
\let\solid@star\relax
\fi
\ifpsdoubleline \pst@setdoublesep \fi}
\def\psframebox{\pst@object{psframebox}}
\def\psframebox@i{\pst@makebox\psframebox@ii}
\def\psframebox@ii{%
\begingroup
\pst@useboxpar
\pst@dima=\pslinewidth
\advance\pst@dima by \psframesep
\pst@dimc=\wd\pst@hbox\advance\pst@dimc by \pst@dima
\pst@dimb=\dp\pst@hbox\advance\pst@dimb by \pst@dima
\pst@dimd=\ht\pst@hbox\advance\pst@dimd by \pst@dima
\setbox\pst@hbox=\hbox{%
\ifpsboxsep\kern\pst@dima\fi
\begin@ClosedObj
\addto@pscode{%
\psk@cornersize
\pst@number\pst@dima neg
\pst@number\pst@dimb neg
\pst@number\pst@dimc
\pst@number\pst@dimd
.5
\tx@Frame}%
\def\pst@linetype{2}%
\showpointsfalse
\end@ClosedObj
\box\pst@hbox
\ifpsboxsep\kern\pst@dima\fi}%
\ifpsboxsep\dp\pst@hbox=\pst@dimb\ht\pst@hbox=\pst@dimd\fi
\leavevmode\box\pst@hbox
\endgroup}
\def\psdblframebox{\pst@object{psdblframebox}}
\def\psdblframebox@i{\addto@par{doubleline=true}\psframebox@i}
\def\psclip#1{%
\leavevmode
\begingroup
\begin@psclip
\begingroup
\def\use@pscode{%
\pstVerb{%
\pst@dict
/mtrxc CM def
CP CP T
\tx@STV
\psk@origin
\psk@swapaxes
newpath
\pst@code
clip
newpath
mtrxc setmatrix
moveto
0 setgray
end}%
\gdef\pst@code{}}%
\def\@multips(##1)(##2)##3##4{\pst@misplaced\multips}%
\def\nc@object##1##2##3##4{\pst@misplaced{node connection}}%
\hbox to\z@{#1}%
\endgroup
\def\endpsclip{%
\end@psclip
\endgroup}%
\ignorespaces}
\def\endpsclip{\pst@misplaced\endpsclip}
\let\begin@psclip\relax
\def\end@psclip{\pstVerb{currentpoint initclip moveto}}
\def\AltClipMode{%
\def\end@psclip{\pstVerb{\pst@grestore}}%
\def\begin@psclip{\pstVerb{gsave}}}
\def\clipbox{\@ifnextchar[{\clipbox@}{\clipbox@[\z@]}}
% DG modification begin - Apr. 3, 1997
% From paulus@immd5.informatik.uni-erlangen.de (Dietrich Paulus)
%\def\clipbox@[#1]{\pst@makebox\clipbox@@{#1}}
\def\clipbox@[#1]{\pst@makebox{\clipbox@@{#1}}}
% DG modification end
\def\clipbox@@#1{%
\pssetlength\pst@dimg{#1}%
\leavevmode\hbox{%
\begin@psclip
\pst@Verb{%
CM \tx@STV CP T newpath
/a \pst@number\pst@dimg def
/w \pst@number{\wd\pst@hbox}a add def
/d \pst@number{\dp\pst@hbox}a add neg def
/h \pst@number{\ht\pst@hbox}a add def
a neg d moveto
a neg h L
w h L
w d L
closepath
clip
newpath
0 0 moveto
setmatrix}%
\unhbox\pst@hbox
\end@psclip}}
\def\psshadowbox{\pst@object{psshadowbox}}
\def\psshadowbox@i{\pst@makebox\psshadowbox@ii}
\def\psshadowbox@ii{%
\begingroup
\pst@useboxpar
\psshadowtrue
\psboxseptrue
\def\psk@shadowangle{-45 }%
\setbox\pst@hbox=\hbox{\psframebox@ii}%
\pst@dimh=\psk@shadowsize\p@
\pst@dimh=.7071\pst@dimh
\pst@dimg=\dp\pst@hbox
\advance\pst@dimg\pst@dimh
\dp\pst@hbox=\pst@dimg
\pst@dimg=\wd\pst@hbox
\advance\pst@dimg\pst@dimh
\wd\pst@hbox=\pst@dimg
\leavevmode
\box\pst@hbox
\endgroup}
\def\pscirclebox{\pst@object{pscirclebox}}
\def\pscirclebox@i{\pst@makebox\pscirclebox@ii}
\def\pscirclebox@ii{%
\begingroup
\pst@useboxpar
\setbox\pst@hbox=\hbox{%
\pst@nodehook
\pscirclebox@iii
\box\pst@hbox}%
\ifpsboxsep \pscirclebox@sep \fi
\leavevmode
\box\pst@hbox
\endgroup}
\def\pscirclebox@iii{%
\if@star
\pslinewidth\z@
\pstverb{\pst@dict \tx@STP \pst@usecolor\psfillcolor
newpath \pscirclebox@iv \tx@SD end}%
\else
\begin@ClosedObj
\def\pst@linetype{4}\showpointsfalse
\addto@pscode{%
\pscirclebox@iv CLW 2 div add 0 360 arc closepath}%
\end@ClosedObj
\fi}
\def\pscirclebox@iv{%
\pst@number{\wd\pst@hbox}2 div
\pst@number{\ht\pst@hbox}\pst@number{\dp\pst@hbox}add 2 div
2 copy \pst@number{\dp\pst@hbox}sub 4 2 roll
\tx@Pyth \pst@number\psframesep add }
\def\pscirclebox@sep{%
\pst@dimb=\ht\pst@hbox
\advance\pst@dimb\dp\pst@hbox
\divide\pst@dimb 2
\pst@dima=.5\wd\pst@hbox
\pst@pyth\pst@dima\pst@dimb\pst@dimc
\advance\pst@dimc\pslinewidth
\advance\pst@dimc\psframesep
\advance\pst@dimb-\pst@dimc
\setbox\pst@hbox=\hbox to2\pst@dimc{%
\hss
\vbox{\kern-\pst@dimb\box\pst@hbox}%
\hss}%
\advance\pst@dimb-\dp\pst@hbox
\dp\pst@hbox=-\pst@dimb}
\let\pst@nodehook\relax
\def\psCirclebox{\pst@object{psCirclebox}}
\def\psCirclebox@i{\pst@makebox\psCirclebox@ii}
\def\psCirclebox@ii{%
\begingroup
\pst@useboxpar
\pst@dima=\ht\pst@hbox
\advance\pst@dima\dp\pst@hbox
\divide\pst@dima\tw@
\pssetlength\pst@dimb\psk@radius
\setbox\pst@hbox=\hbox{%
\pst@nodehook
\pscircle(.5\wd\pst@hbox,\pst@dima){\pst@dimb}%
\box\pst@hbox}%
\ifpsboxsep \psCirclebox@sep \fi
\leavevmode
\box\pst@hbox
\endgroup}
\def\psCirclebox@sep{%
\pst@dimc=\pst@dimb
\advance\pst@dimb-\pst@dima
\advance\pst@dima\pst@dimc
\setbox\pst@hbox=\hbox to\tw@\pst@dimc{%
\hss
\vrule width \z@ depth \pst@dimb height \pst@dima
\box\pst@hbox
\hss}}%
\def\psovalbox{\pst@object{psovalbox}}
\def\psovalbox@i{\pst@makebox{\psovalbox@ii}}
\def\psovalbox@ii{%
\begingroup
\pst@useboxpar
\psovalbox@iii
\ifpsboxsep\psovalbox@sep\fi
\leavevmode
\box\pst@hbox
\endgroup}
\def\psovalbox@iii{%
\psovalbox@iv
\setbox\pst@hbox=\hbox{%
\begin@ClosedObj
\addto@pscode{%
0 360
\pst@number\pst@dimc CLW 2 div sub
\pst@number\pst@dimd CLW 2 div sub
\pst@number\pst@dima
\pst@number\pst@dimb
\tx@Ellipse
closepath}%
\def\pst@linetype{2}%
\end@ClosedObj
\unhbox\pst@hbox}}
\def\psovalbox@iv{%
\pst@dimc=\pslinewidth\advance\pst@dimc\psframesep
\pst@dimd=\ht\pst@hbox\advance\pst@dimd\dp\pst@hbox
\pst@dima=.5\wd\pst@hbox
\pst@dimb=.5\pst@dimd\advance\pst@dimb-\dp\pst@hbox
\pst@dimd=.707\pst@dimd
\advance\pst@dimd\pst@dimc
\advance\pst@dimc.707\wd\pst@hbox}
\def\psovalbox@sep{%
\setbox\pst@hbox\hbox to 2\pst@dimc{\hss\unhbox\pst@hbox\hss}%
\pst@dimg=\pst@dimd
\advance\pst@dimg-\pst@dimb
\dp\pst@hbox=\pst@dimg
\advance\pst@dimd\pst@dimb
\ht\pst@hbox=\pst@dimd}
\def\psdiabox{\pst@object{psdiabox}}
\def\psdiabox@i{\pst@makebox{\psdiabox@ii}}
\def\psdiabox@ii{%
\begingroup
\pst@useboxpar
\psdiabox@iii
\ifpsboxsep\psdiabox@sep\fi
\leavevmode
\box\pst@hbox
\endgroup}
\def\psdiabox@iv{%
\pst@dimg=.707\pslinewidth
\advance\pst@dimg.707\psframesep
\pst@dima=\wd\pst@hbox
\divide\pst@dima 2
\pst@dimc=\pst@dima
\advance\pst@dimc\pst@dimg
\pst@dimd=\ht\pst@hbox
\advance\pst@dimd\dp\pst@hbox
\divide\pst@dimd 2
\pst@dimb=\pst@dimd
\advance\pst@dimb-\dp\pst@hbox
\advance\pst@dimd\pst@dimg}
\def\psdiabox@iii{%
\psdiabox@iv
\setbox\pst@hbox=\hbox{%
\begin@ClosedObj
\addto@pscode{%
\psline@iii
pop
.5
\pst@number\pst@dimc 2 mul \pst@number\pst@dimd 2 mul
0
\pst@number\pst@dima \pst@number\pst@dimb
\tx@Diamond}%
\def\pst@linetype{4}%
\end@ClosedObj
\box\pst@hbox}}
\def\psdiabox@sep{%
\setbox\pst@hbox\hbox to 4\pst@dimc{\hss\unhbox\pst@hbox\hss}%
\multiply\pst@dimd 2
\advance\pst@dimd\pst@dimb
\ht\pst@hbox\pst@dimd
\advance\pst@dimd-2\pst@dimb
\dp\pst@hbox\pst@dimd}
\def\psset@trimode#1{\pst@expandafter\psset@@trimode{#1}\@empty\@empty\@nil}
\def\psset@@trimode#1#2#3\@nil{%
\let\pst@tempg#1\relax
\ifx\pst@tempg*%
\let\psk@@trimode\@empty
\let\pst@tempg#2\relax
\else
\let\psk@@trimode\relax
\fi
\edef\psk@trimode{%
\ifx R\pst@tempg 1 \else\ifx D\pst@tempg 2
\else\ifx L\pst@tempg 3 \else 0 \fi\fi\fi}}
\psset@trimode{U}
\def\pstribox{\pst@object{pstribox}}
\def\pstribox@i{\pst@makebox{\pstribox@ii}}
\def\pstribox@ii{%
\begingroup
\pst@useboxpar
\pstribox@iii
\ifpsboxsep\pstribox@sep\fi
\leavevmode
\box\pst@hbox
\endgroup}
\def\pstribox@iii{%
\pstribox@iv
\setbox\pst@hbox=\hbox{%
\begin@ClosedObj
\addto@pscode{%
\psline@iii
pop
.5
\pst@number\pst@dimc \pst@number\pst@dimd
\ifodd\psk@trimode exch \fi
\psk@trimode -90 mul
\pst@number\pst@dima \pst@number\pst@dimb
\tx@Triangle}%
\def\pst@linetype{2}%
\end@ClosedObj
\box\pst@hbox}}
\def\pstribox@iv{%
\pst@dimh=\pslinewidth
\advance\pst@dimh\psframesep
\pst@dimg=\ht\pst@hbox
\advance\pst@dimg-\dp\pst@hbox
\divide\pst@dimg 2
\edef\pst@tempa{\number\pst@dimg sp}% For use by nodes.
\ifodd\psk@trimode
\pst@dimb\pst@dimg
\else
\pst@dima=\wd\pst@hbox
\divide\pst@dima 2
\fi
\ifcase\psk@trimode
\pst@dimb=-\dp\pst@hbox
\advance\pst@dimb-\pst@dimh
\or
\pst@dima=-\pst@dimh
\or
\pst@dimb=\ht\pst@hbox
\advance\pst@dimb\pst@dimh
\or
\pst@dima=\wd\pst@hbox
\advance\pst@dima\pst@dimh
\fi
\pst@dimd=\dp\pst@hbox
\advance\pst@dimd\ht\pst@hbox
\ifx\psk@@trimode\relax
\pst@dimc=\wd\pst@hbox
\advance\pst@dimc\ifodd\psk@trimode 1.447\else 1.789\fi\pst@dimh
\multiply\pst@dimc 2
\advance\pst@dimd\ifodd\psk@trimode 1.789\else 1.447\fi\pst@dimh
\multiply\pst@dimd 2
\else
\ifodd\psk@trimode
\advance\pst@dimd 1.1547\wd\pst@hbox
\advance\pst@dimd 3.4641\pst@dimh
\pst@dimc=.866\pst@dimd
\else
\advance\pst@dimd .866\wd\pst@hbox %.866=(sqrt(3)/2)
\advance\pst@dimd 3\pst@dimh
\pst@dimc=1.1547\pst@dimd % 1.1547=(2/sqrt(3))
\fi
\fi}
\def\pstribox@sep{%
\ifodd\psk@trimode
\advance\pst@dimb.5\pst@dimd
\ht\pst@hbox=\pst@dimb
\advance\pst@dimd-\pst@dimb
\dp\pst@hbox=\pst@dimd
\else
\setbox\pst@hbox\hbox to \pst@dimc{\hss\unhbox\pst@hbox\hss}%
\global\pst@dimg=.5\pst@dimc
\fi
\ifcase\psk@trimode
\dp\pst@hbox-\pst@dimb
\advance\pst@dimd\pst@dimb
\ht\pst@hbox\pst@dimd
\or
\pst@dimg=.5\wd\pst@hbox
\global\advance\pst@dimg-\pst@dima
\setbox\pst@hbox\hbox to \pst@dimc{\kern-\pst@dima\box\pst@hbox\hss}%
\or
\ht\pst@hbox\pst@dimb
\advance\pst@dimd-\pst@dimb
\dp\pst@hbox\pst@dimd
\or
\pst@dimg=\pst@dimc
\advance\pst@dimg-\pst@dima
\global\advance\pst@dimg.5\wd\pst@hbox
\setbox\pst@hbox\hbox to \pst@dimc{%
\hss\box\pst@hbox\kern\psframesep\kern\pslinewidth}%
\fi}
\def\psset@arcsepA#1{\pst@getlength{#1}\psk@arcsepA}
\def\psset@arcsepB#1{\pst@getlength{#1}\psk@arcsepB}
\def\psset@arcsep#1{%
\psset@arcsepA{#1}\let\psk@arcsepB\psk@arcsepA}
\psset@arcsep{0}
\def\tx@ArcArrow{ArcArrow }
\def\psarc{\pst@object{psarc}}
\def\psarc@i{%
\@ifnextchar({\psarc@iii}{\psarc@ii}}
\def\psarc@ii#1{\addto@par{arrows=#1}%
\@ifnextchar({\psarc@iii}{\psarc@iii(0,0)}}
\def\psarc@iii(#1)#2#3#4{%
\begin@OpenObj
\pst@getangle{#3}\pst@tempa
\pst@getangle{#4}\pst@tempb
\pst@@getcoor{#1}%
\pssetlength\pst@dima{#2}%
\addto@pscode{\psarc@iv \psarc@v}%
\gdef\psarc@type{0}%
\showpointsfalse
\end@OpenObj}
\def\psarc@iv{%
\pst@coor /y ED /x ED
/r \pst@number\pst@dima def
/c 57.2957 r \tx@Div def
/angleA
\pst@tempa
\psk@arcsepA c mul 2 div
\ifcase \psarc@type add \or sub \fi
def
/angleB
\pst@tempb
\psk@arcsepB c mul 2 div
\ifcase \psarc@type sub \or add \fi
def
\ifshowpoints\psarc@showpoints\fi
\ifx\psk@arrowA\@empty
\ifnum\psk@liftpen=2
r angleA \tx@PtoC
y add exch x add exch
moveto
\fi
\fi}
\def\psarc@v{%
x y r
angleA
\ifx\psk@arrowA\@empty\else
{ ArrowA CP }
{ \ifcase\psarc@type add \or sub \fi }
\tx@ArcArrow
\fi
angleB
\ifx\psk@arrowB\@empty\else
{ ArrowB }
{ \ifcase\psarc@type sub \or add \fi }
\tx@ArcArrow
\fi
\ifcase\psarc@type arc \or arcn \fi}
\def\psarc@type{0}
\def\psarc@showpoints{%
gsave
newpath
x y moveto
x y r \pst@tempa \pst@tempb
\ifcase\psarc@type arc \or arcn \fi
closepath
CLW 2 div SLW
[ \psk@dash\space ] 0 setdash stroke
grestore }
\def\psarcn{\pst@object{psarcn}}
\def\psarcn@i{\def\psarc@type{1}\psarc@i}
\def\pscircle{\pst@object{pscircle}}
\def\pscircle@i{\@ifnextchar({\pscircle@do}{\pscircle@do(0,0)}}
\def\pscircle@do(#1)#2{%
\if@star
{\use@par\qdisk(#1){#2}}%
\else
\begin@ClosedObj
\pst@@getcoor{#1}%
\pssetlength\pst@dimc{#2}%
\def\pst@linetype{4}%
\addto@pscode{%
\pst@coor
\pst@number\pst@dimc
\psk@dimen CLW mul sub
0 360 arc
closepath}%
\showpointsfalse
\end@ClosedObj
\fi
\ignorespaces}
\def\qdisk(#1)#2{%
\def\pst@par{}%
\begin@SpecialObj
\pst@@getcoor{#1}%
\pssetlength\pst@dimg{#2}%
\addto@pscode{\pst@coor \pst@number\pst@dimg \tx@SD}%
\end@SpecialObj}
\def\psset@radius#1{\pst@@getlength{#1}\psk@radius}
\psset@radius{.25cm}
\def\psCircle{\pst@object{psCircle}}
\def\psCircle@i{\@ifnextchar({\psCircle@ii}{\psCircle@ii(0,0)}}
\def\psCircle@ii(#1){\pscircle@do(#1){\psk@radius}}
\def\pswedge{\pst@object{pswedge}}
\def\pswedge@i{\@ifnextchar({\pswedge@ii}{\pswedge@ii(0,0)}}
\def\pswedge@ii(#1)#2#3#4{%
\begin@ClosedObj
\pssetlength\pst@dimc{#2}
\pst@getangle{#3}\pst@tempa
\pst@getangle{#4}\pst@tempb
\pst@@getcoor{#1}%
\def\pst@linetype{1}%
\addto@pscode{%
\pst@coor
2 copy
moveto
\pst@number\pst@dimc \psk@dimen CLW mul sub % Adjusted radius
\pst@tempa \pst@tempb
arc
closepath}%
\showpointsfalse
\end@ClosedObj}
\def\tx@Ellipse{Ellipse }
\def\psellipse{\pst@object{psellipse}}
\def\psellipse@i(#1){\@ifnextchar(%
{\psellipse@ii(#1)}{\psellipse@ii(0,0)(#1)}}
\def\psellipse@ii(#1)(#2){%
\begin@ClosedObj
\pst@getcoor{#1}\pst@tempa
\pst@@getcoor{#2}%
\addto@pscode{%
0 360
\pst@coor
\ifdim\psk@dimen\p@=\z@\else
\psk@dimen CLW mul
dup 4 -1 roll sub neg 3 1 roll sub
\fi
\pst@tempa
\tx@Ellipse
closepath}%
\def\pst@linetype{2}%
\end@ClosedObj}
\def\multips{\@ifnextchar({\def\pst@par{}\multips@ii}{\multips@i}}
\def\multips@i#1{\def\pst@par{rot=#1}\multips@ii}
\def\multips@ii(#1){\@ifnextchar({\multips@iii(#1)}{\multips@iii(\z@,\z@)(#1)}}
\long\def\multips@iii(#1)(#2)#3#4{%
\begingroup
\use@par
\pst@getcoor{#1}\pst@tempa
\pst@@getcoor{#2}%
\pst@cnta=#3\relax
\init@pscode
\addto@pscode{%
\pst@tempa T \the\pst@cnta\space \pslbrace
gsave \ifx\psk@rot\@empty\else\psk@rot rotate \fi}%
\hbox to\z@{%
\def\init@pscode{%
\addto@pscode{%
gsave
\pst@number\pslinewidth SLW
\pst@usecolor\pslinecolor}}%
\def\use@pscode{\addto@pscode{grestore}}%
\def\psclip##1{\pst@misplaced\psclip}%
\def\nc@object##1##2##3##4{\pst@misplaced{node connection}}%
#4}%
\addto@pscode{grestore \pst@coor T \psrbrace repeat}%
\leavevmode
\use@pscode
\endgroup
\ignorespaces}
\def\scalebox#1{\pst@makebox{\@scalebox{#1}}}
\def\@scalebox#1{%
\begingroup
\pst@getscale{#1}\pst@tempa
\let\pst@tempc\pst@tempg
\let\pst@tempd\pst@temph
\@@scalebox
\endgroup}
\def\@@scalebox{%
\leavevmode
\hbox{%
\ifdim\pst@tempd\p@<\z@
\pst@dimg=\pst@tempd\ht\pst@hbox
\pst@dimh=\pst@tempd\dp\pst@hbox
\dp\pst@hbox=-\pst@dimg
\ht\pst@hbox=-\pst@dimh
\else
\ht\pst@hbox=\pst@tempd\ht\pst@hbox
\dp\pst@hbox=\pst@tempd\dp\pst@hbox
\fi
\pst@dima=\pst@tempc\wd\pst@hbox
\ifdim\pst@dima<\z@\kern-\pst@dima\fi
\pst@Verb{CP CP translate \pst@tempa \tx@NET}%
\hbox to \z@{\box\pst@hbox\hss}%
\pst@Verb{%
CP CP translate
1 \pst@tempc div 1 \pst@tempd div scale
\tx@NET}%
\ifdim\pst@dima>\z@\kern\pst@dima\fi}}
\pslongbox{Scalebox}{\scalebox}
\def\scaleboxto(#1,#2){\pst@makebox{\@scaleboxto(#1,#2)}}
\def\@scaleboxto(#1,#2){%
\begingroup
\pssetlength\pst@dima{#1}%
\pssetlength\pst@dimb{#2}%
\ifdim\pst@dima=\z@\else
\pst@divide{\pst@dima}{\wd\pst@hbox}\pst@tempc
\edef\pst@tempc{\pst@tempc\space}%
\fi
\ifdim\pst@dimb=\z@
\ifdim\pst@dima=\z@
\@pstrickserr{%
\string\scaleboxto\space dimensions cannot both be zero}\@ehpa
\def\pst@tempa{}%
\def\pst@tempc{1 }%
\def\pst@tempd{1 }%
\else
\let\pst@tempd\pst@tempc
\fi
\else
\pst@dimc=\ht\pst@hbox
\advance\pst@dimc\dp\pst@hbox
\pst@divide{\pst@dimb}{\pst@dimc}\pst@tempd
\edef\pst@tempd{\pst@tempd\space}%
\ifdim\pst@dima=\z@ \let\pst@tempc\pst@tempd \fi
\fi
\edef\pst@tempa{\pst@tempc \pst@tempd scale }%
\@@scalebox
\endgroup}
\pslongbox{Scaleboxto}{\scaleboxto}
\def\tx@Rot{Rot }
\def\rotateleft{\pst@makebox{\@rotateleft\pst@hbox}}
\def\@rotateleft#1{%
\leavevmode\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
\pst@Verb{90 \tx@Rot}
\vbox to \z@{\vss\hbox to \z@{\box#1\hss}\vskip\z@}%
\pst@Verb{-90 \tx@Rot}}}}
\def\rotateright{\pst@makebox{\@rotateright\pst@hbox}}
\def\@rotateright#1{%
\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
\pst@Verb{-90 \tx@Rot}
\vbox to \z@{\hbox to \z@{\hss\box#1}\vss}%
\pst@Verb{90 \tx@Rot}}}}
\def\rotatedown{\pst@makebox{\@rotatedown\pst@hbox}}
\def\@rotatedown#1{%
\hbox{\hskip\wd#1\vbox{\vskip\ht#1\vskip\dp#1%
\pst@Verb{180 \tx@Rot}%
\vbox to \z@{\hbox to \z@{\box#1\hss}\vss}%
\pst@Verb{-180 \tx@Rot}}}}
\pslongbox{Rotateleft}{\rotateleft}
\pslongbox{Rotateright}{\rotateright}
\pslongbox{Rotatedown}{\rotatedown}
\def\pst@starbox{%
\setbox\pst@hbox\hbox{\psframebox*[boxsep=false]{\unhbox\pst@hbox}}}
\def\pst@@makesmall#1{%
\setbox#1=\hbox to\z@{\hss\vbox to \z@{\vss\box#1\vss}\hss}}
\def\pst@@@makesmall#1{%
\pst@dimh=\psk@xref\wd#1%
\ifx\psk@yref\relax
\pst@dimg=\dp#1%
\else
\pst@dimg=\psk@yref\ht#1%
\advance\pst@dimg\psk@yref\dp#1%
\fi
\setbox#1=\hbox to\z@{%
\kern-\pst@dimh\vbox to\z@{\vss\box#1\kern-\pst@dimg}\hss}}
\def\psset@ref#1{\pst@expandafter\psset@@ref{#1}\@empty,,\@nil}
\def\psset@@ref#1#2,#3,#4\@nil{%
\def\psk@xref{.5}%
\def\psk@yref{.5}%
\let\pst@makesmall\pst@@@makesmall
\ifx\@empty#3\@empty
\@nameuse{getref@#1}%
\@nameuse{getref@#2}%
\else
\pst@checknum{#1#2}\psk@xref
\pst@checknum{#3}\psk@yref
\fi}
\def\getref@c{\let\pst@makesmall\pst@@makesmall}
\def\getref@t{\def\psk@yref{1}}
\def\getref@b{\def\psk@yref{0}}
\def\getref@B{\let\psk@yref\relax}
\def\getref@l{\def\psk@xref{0}}
\def\getref@r{\def\psk@xref{1}}
\psset@ref{c}
\def\psset@rot#1{%
\pst@expandafter{\@ifnextchar*{\psset@@@rot}{\psset@@rot}}{#1}\@nil}
\def\psset@@rot#1\@nil{%
\def\next##1@#1=##2@##3\@nil{%
\ifx\relax##2%
\pst@getangle{#1}\psk@rot
\else
\def\psk@rot{##2}%
\fi}%
\expandafter\next\pst@rottable @#1=\relax @\@nil}
\def\psset@@@rot#1#2\@nil{%
\psset@@rot#2\@nil
\edef\psk@rot{\pst@rotlist \ifx\psk@rot\@empty\else\psk@rot add \fi}}
\def\pst@rotlist{mark RAngle /a ED cleartomark a neg }
\def\pst@rottable{%
@0=%
@U=%
@L=90 %
@D=180 %
@R=-90 %
@N=\pst@rotlist
@W=\pst@rotlist 90 add %
@S=\pst@rotlist 180 add %
@E=\pst@rotlist 90 sub }
\psset@rot{0}
\def\tx@RotBegin{RotBegin }
\def\tx@RotEnd{RotEnd }
\def\pst@rotate#1#2{%
\ifx#1\@empty\else
\setbox#2=\hbox{\pst@Verb{#1 \tx@RotBegin}\box#2\pst@Verb{\tx@RotEnd}}%
\fi}
\def\psput@cartesian#1{%
\hbox to \z@{\kern\pst@dimg{\vbox to \z@{\vss\box#1\vskip\pst@dimh}\hss}}}
\def\psput@special#1{%
\hbox{%
\pst@Verb{{ \pst@coor } \tx@PutCoor \tx@PutBegin}%
\box#1%
\pst@Verb{\tx@PutEnd}}}
\def\tx@PutCoor{PutCoor }
\def\tx@PutBegin{PutBegin }
\def\tx@PutEnd{PutEnd }
\def\rput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\rput@i}{\rput@ii}}}
\def\rput@i[#1]{\addto@par{ref={#1}}\rput@ii}
\def\rput@ii{\@ifnextchar({\rput@iv}{\rput@iii}}
\def\rput@iii#1{\addto@par{rot={#1}}\@ifnextchar({\rput@iv}{\rput@iv(\z@,\z@)}}
\def\rput@iv(#1){\pst@killglue\pst@makebox{\rput@v{#1}}}
\def\rput@v#1{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\pst@makesmall\pst@hbox
\pst@rotate\psk@rot\pst@hbox
\psput@{#1}\pst@hbox
\endgroup
\ignorespaces}
\def\multirput{%
\def\pst@par{}%
\pst@ifstar{\@ifnextchar[{\multirput@i}{\multirput@ii}}}
\def\multirput@i[#1]{\addto@par{ref={#1}}\multirput@ii}
\def\multirput@ii{\@ifnextchar({\multirput@iv}{\multirput@iii}}
\def\multirput@iii#1{\addto@par{rot={#1}}\multirput@iv}
\def\multirput@iv(#1){%
\@ifnextchar({\multirput@v(#1)}{\multirput@v(\z@,\z@)(#1)}}
\def\multirput@v(#1,#2)(#3,#4)#5{%
\pst@makebox{\multirput@vi(#1,#2)(#3,#4){#5}}}
\def\multirput@vi(#1,#2)(#3,#4)#5{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\pst@makesmall\pst@hbox
\pst@rotate\psk@rot\pst@hbox
\pssetxlength\pst@dima{#1}%
\pssetylength\pst@dimb{#2}%
\pssetxlength\pst@dimc{#3}%
\pssetylength\pst@dimd{#4}%
\pst@cntg=#5\relax
\pst@cnth=\@ne
\leavevmode
\loop
\vbox to \z@{%
\vss
\hbox to \z@{\kern\pst@dima\copy\pst@hbox\hss}%
\vskip\pst@dimb}%
\ifnum\pst@cntg>\pst@cnth
\advance\pst@dima\pst@dimc
\advance\pst@dimb\pst@dimd
\advance\pst@cnth\@ne
\repeat
\endgroup
\ignorespaces}
\newif\if@fixedradius
\def\cput{\pst@object{cput}}
\def\cput@i{\@fixedradiusfalse\cput@ii}
\def\cput@ii{\pst@killglue\@ifnextchar({\cput@iv}{\cput@iii}}
\def\cput@iii#1{%
\addto@par{rot={#1}}%
\@ifnextchar({\cput@iv}{\cput@iv(\z@,\z@)}}
\def\cput@iv(#1){\pst@makebox{\cput@v{#1}}}
\def\cput@v#1{%
\begingroup
\use@par
\setbox\pst@hbox=\hbox{%
\psboxsepfalse
\if@fixedradius\psCirclebox@ii\else\pscirclebox@ii\fi}%
\pst@@makesmall\pst@hbox
\pst@rotate\psk@rot\pst@hbox
\psput@{#1}\pst@hbox
\endgroup
\ignorespaces}
\def\Cput{\pst@object{Cput}}
\def\Cput@i{\@fixedradiustrue\cput@ii}
\newdimen\pslabelsep
\def\psset@labelsep#1{\pssetlength\pslabelsep{#1}}
\psset@labelsep{5pt}
\def\psset@refangle#1{\pst@expandafter\psset@@refangle{#1}\@nil}
\def\psset@@refangle#1\@nil{%
\def\next##1@#1=##2"##3@##4\@nil{%
\ifx\relax##2%
\pst@getangle{#1}\psk@refangle
\def\psk@uputref{}%
\else
\def\psk@refangle{##2 }%
\def\psk@uputref{##3}%
\fi}%
\expandafter\next\pst@refangletable @#1=\relax"@\@nil}
\def\pst@refangletable{%
@r=0"20%
@u=90"02%
@l=180"10%
@d=-90"01%
@ur=45"22%
@ul=135"12%
@dr=-135"21%
@dl=-45"11}
\psset@refangle{0}
% DG/SR modification begin - Mar. 24, 1999 - Patch 10
%\def\uput{\def\pst@par{}\@ifnextchar[{\uput@ii}{\uput@i}}
\def\uput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\uput@ii}{\uput@i}}} 
% DG/SR modification end
\def\uput@i#1{\addto@par{labelsep=#1}\uput@ii}
\def\uput@ii[#1]{%
\addto@par{refangle={#1}}%
\@ifnextchar({\uput@iv}{\uput@iii}}
\def\uput@iii#1{%
\addto@par{rot={#1}}%
\@ifnextchar({\uput@iv}{\uput@iv(\z@,\z@)}}
\def\uput@iv(#1){\pst@killglue\pst@makebox{\uput@v{#1}}}
\def\uput@v#1{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\uput@vi
\psput@{#1}\pst@hbox
\endgroup
\ignorespaces}
\def\uput@vi{%
\ifx\psk@uputref\@empty
\uput@vii\tx@UUput{}%
\else
\ifx\psk@rot\@empty
\expandafter\uput@viii\psk@uputref
\else
\uput@vii\tx@UUput{}%
\fi
\fi}
\def\uput@vii#1#2{%
\edef\pst@coor{%
\pst@number\pslabelsep
#2%
\pst@number{\wd\pst@hbox}%
\pst@number{\ht\pst@hbox}%
\pst@number{\dp\pst@hbox}%
\psk@refangle\space \ifx\psk@rot\@empty\else\psk@rot\space sub \fi
\tx@Uput #1}%
\setbox\pst@hbox=\hbox to\z@{\hss\vbox to\z@{\vss\box\pst@hbox\vss}\hss}%
\setbox\pst@hbox=\psput@special\pst@hbox
\ifx\psk@rot\@empty\else\pst@rotate\psk@rot\pst@hbox\fi}
\def\uput@viii#1#2{%
\ifnum#1>\z@\ifnum#2>\z@\pslabelsep=.707\pslabelsep\fi\fi
\setbox\pst@hbox=\vbox to\z@{%
\ifnum#2=1 \vskip\pslabelsep\else\vss\fi
\hbox to\z@{%
\ifnum#1=2 \hskip\pslabelsep\else\hss\fi
\box\pst@hbox
\ifnum#1=1 \hskip\pslabelsep\else\hss\fi}%
\ifnum#2=2 \vskip\pslabelsep\else\vss\fi}}
\def\tx@Uput{Uput }
\def\tx@UUput{UUput }
\def\Rput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Rput@ii}{\Rput@i}}}
\def\Rput@i#1{\addto@par{labelsep=#1}\Rput@ii}
\def\Rput@ii[#1]{\addto@par{ref={#1}}\@ifnextchar({\Rput@iv}{\Rput@iii}}
\def\Rput@iii#1{\addto@par{rot={#1}}\@ifnextchar({\Rput@iv}{\Rput@iv(\z@,\z@)}}
\def\Rput@iv(#1){\pst@killglue\pst@makebox{\Rput@v{#1}}}
\def\Rput@v#1{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\Rput@vi
\pst@makesmall\pst@hbox
\pst@rotate\psk@rot\pst@hbox
\psput@{#1}\pst@hbox
\endgroup
\ignorespaces}
\def\Rput@vi{%
\pst@dimg=\dp\pst@hbox
\advance\pst@dimg\pslabelsep
\dp\pst@hbox=\pst@dimg
\pst@dimg=\ht\pst@hbox
\advance\pst@dimg\pslabelsep
\ht\pst@hbox=\pst@dimg
\setbox\pst@hbox\hbox{\kern\pslabelsep\box\pst@hbox\kern\pslabelsep}}%
\def\oldpsput{%
\def\pst@par{}\pst@ifstar{\@ifnextchar[{\oldpsput@i}{\oldpsput@ii}}}
\def\oldpsput@i[#1]{\addto@par{ref={#1}}\oldpsput@ii}
\def\oldpsput@ii{\@ifnextchar<{\oldpsput@iii}{\oldpsput@iv}}
\def\oldpsput@iii<#1>{\rput@iii{#1}}
\def\OldPsput{\let\psput\oldpsput}
\def\NewPsput{\let\psput\rput}
\def\pspicture{\begingroup\pst@ifstar\pst@picture}
\def\pst@picture{%
\@ifnextchar[{\pst@@picture}{\pst@@picture[0]}}
\def\pst@@picture[#1]#2(#3,#4){%
\@ifnextchar({\pst@@@picture[#1](#3,#4)}%
{\pst@@@picture[#1](0,0)(#3,#4)}}
\def\pst@@@picture[#1](#2,#3)(#4,#5){%
\pssetxlength\pst@dima{#2}%
\pssetylength\pst@dimb{#3}%
\pssetxlength\pst@dimc{#4}%
\pssetylength\pst@dimd{#5}%
\ifdim\pst@dima>\pst@dimc
\pst@dimg=\pst@dima
\pst@dima=\pst@dimc
\pst@dimc=\pst@dimg
\fi
\ifdim\pst@dimb>\pst@dimd
\pst@dimg=\pst@dimb
\pst@dimb=\pst@dimd
\pst@dimd=\pst@dimg
\fi
\def\pst@tempa{#1}%
\setbox\pst@hbox=\hbox\bgroup
\begingroup\KillGlue
\@ifundefined{@latexerr}{}{\let\unitlength\psunit}%
\edef\pic@coor{(#2,#3)(#2,#3)(#4,#5)}\ignorespaces}
\def\pic@coor{(0,0)(0,0)(10,10)}
\def\endpspicture{%
\pst@killglue
\endgroup
\egroup
\ifdim\wd\pst@hbox=\z@\else
%\@pstrickserr{Extraneous space in the pspicture environment}%
%{Type \space <return> \space to procede.}%
\fi
\ht\pst@hbox=\pst@dimd
\dp\pst@hbox=-\pst@dimb
\setbox\pst@hbox=\hbox{%
\kern-\pst@dima
\ifx\pst@tempa\@empty\else
\advance\pst@dimd-\pst@dimb
\pst@dimd=\pst@tempa\pst@dimd
\advance\pst@dimd\pst@dimb
\lower\pst@dimd
\fi
\box\pst@hbox
\kern\pst@dimc}%
\if@star\setbox\pst@hbox=\hbox{\clipbox@@\z@}\fi
\leavevmode\box\pst@hbox
\endgroup}
\@namedef{pspicture*}{\pspicture*}
\@namedef{endpspicture*}{\endpspicture}
\def\tx@BeginOL{BeginOL }
\def\tx@InitOL{InitOL }
\def\pst@initoverlay#1{\pst@Verb{\tx@InitOL /TheOL (#1) def}}
\def\AltOverlayMode{%
\def\pst@initoverlay##1{%
\pst@Verb{%
\tx@InitOL
/Visible { initclip } def
/Invisible {
CP newpath OLUnit itransform moveto clip newpath moveto
} def
/TheOL (##1) def}}}
\def\pst@overlay#1{%
\edef\curr@overlay{#1}%
\pst@Verb{(#1) BOL}%
\aftergroup\pst@endoverlay}
\def\pst@endoverlay{%
\pst@Verb{(\curr@overlay) BOL}}
\def\curr@overlay{all}
\newbox\theoverlaybox
\def\overlaybox{%
\global\setbox\theoverlaybox=\hbox\bgroup
\begingroup
\let\psoverlay\pst@overlay
\def\overlaybox{%
\@pstrickserr{Overlays cannot be nested}\@eha}%
\def\putoverlaybox{%
\@pstrickserr{You must end the overlay box
before using \string\putoverlaybox}}%
\psoverlay{main}%
\ignorespaces}
\def\endoverlaybox{\endgroup\egroup}
\def\putoverlaybox#1{%
\hbox{\pst@initoverlay{#1}\copy\theoverlaybox}}
\def\psoverlay{\@pstrickserr{\string\psoverlay\space
can only be used after \string\overlaybox}}
\ifx\pstcustomize\relax \input pstricks.con \fi
\catcode`\@=\PstAtCode\relax
%
\endinput
%%
%% END: pstricks.tex

cond-mat0103262.extracted_bib
\begin{thebibliography}{10}

\bibitem{Abr.Ste:65}
M.~Abramowitz and I.A. Stegun.
\newblock {\em Handbook of {M}athematical {F}unctions}.
\newblock Dover Publications, New York, 1965.

\bibitem{Amb.Dur.Jon:97}
J.~Ambjorn, B.~Durhuus, and T.~Jonsson.
\newblock {\em Quantum Geometry: A statistical field approach}.
\newblock Cambridge University Press, 1997.

\bibitem{Bou.Mez:98}
C.~Bouchiat and M.~Mezard.
\newblock Elasticity {M}odel of a {S}upercoiled {DNA} {M}olecule.
\newblock {\em Phys. Rev. Lett.}, 80:1156--1159, 1998.

\bibitem{Bry.Gri:86}
R.~Bryant and P.~Griffiths.
\newblock Reduction for {C}onstrained {V}ariational {P}roblems and $\int
  \frac{\kappa^2}{2} ds$.
\newblock {\em Amer. Journ. of Math.}, 108:525--570, 1986.

\bibitem{Byr.Fri:54}
P.F. Byrd and M.D. Friedman.
\newblock {\em Handbook of {E}lliptic {I}ntegrals for {E}ngineers and
  {P}hysicists}.
\newblock Springer Verlag, Berlin, 1954.

\bibitem{Deu.Hel:76}
H.J. Deuling and W.~Helfrich.
\newblock The {C}urvature {E}lasticity of {F}luid {M}embranes: a {C}atalogue of
  {V}esicle {S}hapes.
\newblock {\em J. Phys. (Paris)}, 37:1335--1345, 1976.

\bibitem{Car:76}
M.~do~Carmo.
\newblock {\em Differential {G}eometry of {C}urves and {S}urfaces}.
\newblock Prentice Hall, 1976.

\bibitem{Fuk:97}
Y.~Fukumoto.
\newblock Stationary {C}onfigurations of a {V}ortex {F}ilament in 
{B}ackground {F}lows.
\newblock {\em Proc. R. Soc. Lond. A}, 453:1205--1232, 1997.

\bibitem{Gia.Hil:96}
M.~Giaquinta and S.~Hildebrandt.
\newblock {\em Calculus of {V}ariations {I}}.
\newblock Springer Verlag, 1996.

\bibitem{Gri:83}
P.~A. Griffiths.
\newblock {\em Exterior {D}ifferential {S}ystems and the {C}alculus of
  {V}ariations}.
\newblock Birkha\"user, Boston, 1983.

\bibitem{Hel:73}
W.~Helfrich.
\newblock Elastic {P}roperties of {L}ipid {B}ilayers: {T}heory and {P}ossible
  {E}xperiments.
\newblock {\em Z. Naturforsch.}, C28:693--703, 1973.

\bibitem{Ive.Sin:97}
T.~Ivey and D.~Singer.
\newblock Knot {T}ypes, {H}omotopies and {S}tability of {C}losed {E}lastic
  {R}ods.
\newblock \texttt{math.DG/9901131}.

\bibitem{Lan:99}
J.~Langer.
\newblock {R}ecursion in {C}urve {G}eometry.
\newblock {\em New York Journ. of Math.}, 5:25--51, 1999.

\bibitem{Lan.Sin:84a}
J.~Langer and D.~Singer.
\newblock {K}notted {E}lastic {C}urves in ${R^3}$.
\newblock {\em J. London Math. Soc.}, 30:512--520, 1984.

\bibitem{Lan.Sin:84}
J.~Langer and D.~Singer.
\newblock The {T}otal {S}quared {C}urvature of {C}losed {C}urves.
\newblock {\em Journ. Diff. Geom.}, 20:1--22, 1984.

\bibitem{Fis.Lei.Sin:87}
S.~Leibler, R.~R.~P. Singh, and M.~E. Fisher.
\newblock Thermodynamic {B}ehavior of {T}wo-dimensional {V}esicles.
\newblock {\em Phys.{} Rev.{} Lett.}, 59:1989--1992, 1987.

\bibitem{Mar.Sig:95}
J.F. Marko and E.D. Siggia.
\newblock Bending and {T}wisting {E}lasticity of {DNA}.
\newblock {\em Macromolecules}, 27:981, 1994.
\newblock Streching DNA. {\it ibid.} 28:8759 (1995).

\bibitem{Hel.OuY:87}
Z.C. Ou-Yang and W.~Helfrich.
\newblock Instability and {D}eformation of a {S}pherical {V}esicle by
  {P}ressure.
\newblock {\em Phys. Rev. Lett.}, 59:2486--2488, 1987.

\bibitem{Hel.OuY:89}
Z.C. Ou-Yang and W.~Helfrich.
\newblock Bending {E}nergy of {V}esicle {M}embranes: {G}eneral {E}xpressions
  for the {F}irst, {S}econd and {T}hird {V}ariation of the {S}hape 
{E}nergy and {A}pplications to {S}pheres and {C}ylinders.
\newblock {\em Phys. Rev.}, A39:5280--5288, 1989.

\bibitem{Pel:94}
L.~Peliti.
\newblock Amphiphilic {M}embranes.
\newblock In F.{} David, P.{} Ginsparg, and J.{} Zinn-Justin, editors, {\em
  Fluctuating {G}eometries in {S}tatistical {P}hysics and {F}ield {T}heory
  ({L}es {H}ouches {1994})}. Elsevier Science B.V., 1996.

\bibitem{Saf:94}
S.A. Safran.
\newblock {\em Statistical Physics of Surfaces, Interfaces, and Membranes}.
\newblock Reading UK, Addison Wesley, 1994.

\bibitem{Sei:97}
U.~Seifert.
\newblock Configurations of {F}luid {M}embranes and {V}esicles.
\newblock {\em Adv. in Phys.}, 46:13--137, 1997.

\bibitem{Sve.Zek:89}
S.~Svetina and B.~Zeks.
\newblock Memebrane {B}ending {E}nergy and {S}hape {D}etermination of
  {P}hospholipid {V}esicles and {R}ed {B}lood {C}ells.
\newblock {\em Euro. Biophys. J.}, 17:101--111, 1989.

\bibitem{Tad.Ode:67}
I.~Tadjbakhsh and F.~Odeh.
\newblock {E}quilibrium {S}tates of {E}lastic {R}ings.
\newblock {\em J. of Math. Anal. Appl.}, 18:59--74, 1967.

\bibitem{Tru:83}
C.~Truesdell.
\newblock The {I}nfluence of {E}lasticity on {A}nalysis: the {C}lassical
  {H}eritage.
\newblock {\em Bull. Amer. Math. Soc.}, 9:293--310, 1983.

\bibitem{Wil:82}
T.J. Willmore.
\newblock {\em Total {C}urvature in {R}iemannian {G}eometry}.
\newblock Ellis Horwood, Chichester, England, 1982.

\bibitem{Wil:00}
T.J. Willmore.
\newblock {\em Curves}, volume~1 of {\em Handbook of {D}ifferential
  {G}eometry}, chapter~11, pages 997--1023.
\newblock Elsevier Science B.V., 2000.

\bibitem{Win.Dob.Sei:96}
W.~Wintz, H.~H. Dobereiner, and U.~Seifert.
\newblock {S}tarfish {V}esicles.
\newblock {\em Europhys. Lett.}, 33:403--408, 1996.

\end{thebibliography}