extrarpms/0040755000076400007640000000000010133247705012103 5ustar karenkarenextrarpms/install_grace0100744000076400007640000000066607472722575014662 0ustar karenkaren#!/bin/sh EXTRARPMSDIR=`pwd`; export EXTRARPMSDIR; GRACEDIR=`pwd`;export GRACEDIR; ls $GRACEDIR/grace*.gz > $GRACEDIR/gracelist; env | grep -i grace; cd /usr/local; mkdir /usr/local/grace/lib; mkdir /usr/local/grace/include; echo `pwd`; for item in `cat $GRACEDIR/gracelist` do #/usr/bin/gunzip -dc $item | /bin/tar xvf - /bin/tar zxvf $item done ln -s /usr/local/grace/bin/xmgrace /usr/local/bin/xmgrace cd $EXTRARPMSDIR; exit; extrarpms/install_revtex0100744000076400007640000000033210133246262015062 0ustar karenkaren#!/bin/sh EXTRARPMSDIR=`pwd`; export EXTRARPMSDIR; cp -R ./revtex /usr/share/texmf/tex/latex cp /usr/share/texmf/tex/latex/revtex/revtex.cls /usr/share/texmf/tex/latex/misc /usr/bin/texhash cd $EXTRARPMSDIR exit; extrarpms/revtex4/0040755000076400007640000000000007332611045013503 5ustar karenkarenextrarpms/revtex4/10pt.rtx0100644000076400007640000000771707332561030015035 0ustar karenkaren%% %% This is file `10pt.rtx', %% generated with the docstrip utility. %% %% The original source files were: %% %% revtex4.dtx (with options: `10pt') %% %% This file is part of the APS files in the REVTeX 4 distribution. %% For the version number, search on the string %% Original version by David Carlisle %% Modified by Arthur Ogawa (mailto:ogawa@teleport.com) %% %% Copyright (c) 1999 The American Physical Society. %% http://publish.aps.org/revtex4/ %% mailto:revtex4@aps.org %% %% See the REVTeX 4 README file for restrictions and more information. %% \ProvidesFile{10pt.rtx} [2001/08/03 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo \def\normalsize{% \@setfontsize\normalsize\@xpt{11.5}% \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% \def\small{% \@setfontsize\small\@ixpt{10.5}% \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ \@plus2\p@ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ \def\@listi{% \leftmargin\leftmargini \topsep 4\p@ \@plus2\p@ \@minus2\p@ \parsep 2\p@ \@plus\p@ \@minus\p@ \itemsep \parsep }% }% \def\footnotesize{% \@setfontsize\footnotesize\@viiipt{9.5pt}% \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ \@plus\p@ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ \def\@listi{% \leftmargin\leftmargini \topsep 3\p@ \@plus\p@ \@minus\p@ \parsep 2\p@ \@plus\p@ \@minus\p@ \itemsep \parsep }% }% \def\scriptsize{% \@setfontsize\scriptsize\@viipt\@viiipt }% \def\tiny{% \@setfontsize\tiny\@vpt\@vipt }% \def\large{% \@setfontsize\large\@xiipt{14pt}% }% \def\Large{% \@setfontsize\Large\@xivpt{18pt}% }% \def\LARGE{% \@setfontsize\LARGE\@xviipt{22pt}% }% \def\huge{% \@setfontsize\huge\@xxpt{25pt}% }% \def\Huge{% \@setfontsize\Huge\@xxvpt{30pt}% }% \@ifxundefined\twoside@sw{\@booleanfalse\twoside@sw}{}% \twoside@sw{% \oddsidemargin -20pt \evensidemargin -20pt \marginparwidth 107pt }{% \oddsidemargin -.25in \evensidemargin -.25in \marginparwidth 30pt }% \marginparsep 6pt \topmargin -61pt \headheight 25pt \headsep 16pt \topskip 10pt \footskip 30pt \textheight = 56pc \textwidth42.5pc \columnsep 1.5pc \columnseprule 0pt \footnotesep 1pt \skip\footins 39pt plus 4pt minus 2pt \def\footnoterule{\kern-19pt\hrule width.5in\kern18.6pt\relax}% \floatsep 12pt plus 2pt minus 2pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 12pt plus 2pt minus 2pt \dblfloatsep 12pt plus 2pt minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil \marginparpush 5pt \parskip 0pt plus 1pt \parindent 10pt \emergencystretch8\p@ \partopsep 2pt plus 1pt minus 1pt \leftmargini 25pt \leftmarginii 22pt \leftmarginiii 18.7pt \leftmarginiv 17pt \leftmarginv 10pt \leftmarginvi 10pt \def\@listI{% \leftmargin\leftmargini \parsep 4\p@ plus2\p@ minus\p@ \topsep 8\p@ plus2\p@ minus4\p@ \itemsep 4\p@ plus2\p@ minus\p@ }% \labelsep 4pt \def\@listii{% \leftmargin\leftmarginii \labelwidth\leftmarginii \advance\labelwidth-\labelsep \topsep 4\p@ plus2\p@ minus\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep }% \def\@listiii{% \leftmargin\leftmarginiii \labelwidth\leftmarginiii \advance\labelwidth-\labelsep \topsep 2\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep }% \def\@listiv{% \leftmargin\leftmarginiv \labelwidth\leftmarginiv \advance\labelwidth-\labelsep }% \def\@listv{% \leftmargin\leftmarginv \labelwidth\leftmarginv \advance\labelwidth-\labelsep }% \def\@listvi{% \leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep }% \endinput %% %% End of file `10pt.rtx'. extrarpms/revtex4/11pt.rtx0100644000076400007640000001023707332561030015025 0ustar karenkaren%% %% This is file `11pt.rtx', %% generated with the docstrip utility. %% %% The original source files were: %% %% revtex4.dtx (with options: `11pt') %% %% This file is part of the APS files in the REVTeX 4 distribution. %% For the version number, search on the string %% Original version by David Carlisle %% Modified by Arthur Ogawa (mailto:ogawa@teleport.com) %% %% Copyright (c) 1999 The American Physical Society. %% http://publish.aps.org/revtex4/ %% mailto:revtex4@aps.org %% %% See the REVTeX 4 README file for restrictions and more information. %% \ProvidesFile{11pt.rtx} [2001/08/03 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo \def\normalsize{% \@setfontsize\normalsize\@xipt{13.6}% \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% \def\small{% \@setfontsize\small\@xpt\@xiipt \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ \def\@listi{\leftmargin\leftmargini \topsep 6\p@ \@plus2\p@ \@minus2\p@ \parsep 3\p@ \@plus2\p@ \@minus\p@ \itemsep \parsep }% \belowdisplayskip \abovedisplayskip }% \def\footnotesize{% \@setfontsize\footnotesize\@ixpt{11}% \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@ \abovedisplayshortskip \z@ \@plus\p@ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 4\p@ \@plus2\p@ \@minus2\p@ \parsep 2\p@ \@plus\p@ \@minus\p@ \itemsep \parsep }% \belowdisplayskip \abovedisplayskip }% \def\scriptsize{% \@setfontsize\scriptsize\@viiipt{9.5}% }% \def\tiny{% \@setfontsize\tiny\@vipt\@viipt }% \def\large{% \@setfontsize\large\@xiipt{14}% }% \def\Large{% \@setfontsize\Large\@xivpt{18}% }% \def\LARGE{% \@setfontsize\LARGE\@xviipt{22}% }% \def\huge{% \@setfontsize\huge\@xxpt{25pt}% }% \def\Huge{% \@setfontsize\Huge\@xxvpt{30pt}% }% \@ifxundefined\twoside@sw{\@booleanfalse\twoside@sw}{}% \twoside@sw{% \oddsidemargin 0pt \evensidemargin 0pt \marginparwidth 60pt }{% \oddsidemargin 0pt \evensidemargin 0pt \marginparwidth 44pt }% \marginparsep 10pt \topmargin -37pt \headheight 12pt \headsep 25pt \topskip 10pt \footskip 30pt \@ifxundefined\tightenlines@sw{\@booleanfalse\tightenlines@sw}{}% \textheight=665.5\p@ \tightenlines@sw{% \def\baselinestretch{1}% }{% \def\baselinestretch{1.5}% }% \textwidth 468pt \columnsep 10pt \columnseprule 0pt \footnotesep 1pt \skip\footins 25.25pt plus 4pt minus 2pt \def\footnoterule{\kern-5.25pt\hrule width.5in\kern4.85pt\relax} \floatsep 14pt plus 2pt minus 4pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 14pt plus 4pt minus 4pt \dblfloatsep 14pt plus 2pt minus 4pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@fptop 0pt plus 1fil \@fpsep 10pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 10pt plus 2fil% \@dblfpbot 0pt plus 1fil \marginparpush 7pt \parskip 0pt plus 1pt \parindent 15pt \emergencystretch8\p@ \partopsep 3pt plus 2pt minus 2pt \leftmargini 30pt \leftmarginii 26pt \leftmarginiii 22pt \leftmarginiv 20pt \leftmarginv 12pt \leftmarginvi 12pt \def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ }% \labelsep 6pt \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 5\p@ plus2.5\p@ minus\p@ \parsep 2.5\p@ plus\p@ minus\p@ \itemsep \parsep }% \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2.5\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep }% \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep }% \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep }% \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep }% \endinput %% %% End of file `11pt.rtx'. extrarpms/revtex4/12pt.rtx0100644000076400007640000001011707332561030015023 0ustar karenkaren%% %% This is file `12pt.rtx', %% generated with the docstrip utility. %% %% The original source files were: %% %% revtex4.dtx (with options: `12pt') %% %% This file is part of the APS files in the REVTeX 4 distribution. %% For the version number, search on the string %% Original version by David Carlisle %% Modified by Arthur Ogawa (mailto:ogawa@teleport.com) %% %% Copyright (c) 1999 The American Physical Society. %% http://publish.aps.org/revtex4/ %% mailto:revtex4@aps.org %% %% See the REVTeX 4 README file for restrictions and more information. %% \ProvidesFile{12pt.rtx} [2001/08/03 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo \def\normalsize{% \@setfontsize\normalsize\@xiipt{14pt}% \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ \let\@listi\@listI }% \def\small{% \@setfontsize\small\@xipt{14.5pt}% \abovedisplayskip 8\p@ \@plus3\p@ \@minus6\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ \def\@listi{% \leftmargin\leftmargini \topsep 9\p@ \@plus3\p@ \@minus5\p@ \parsep 4.5\p@ \@plus2\p@ \@minus\p@ \itemsep \parsep }% }% \def\footnotesize{% \@setfontsize\footnotesize\@xpt{14.5pt}% \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ \def\@listi{% \leftmargin\leftmargini \topsep 6\p@ \@plus2\p@ \@minus2\p@ \parsep 3\p@ \@plus2\p@ \@minus\p@ \itemsep \parsep }% }% \def\scriptsize{% \@setfontsize\scriptsize\@viiipt{9.5pt}% }% \def\tiny{% \@setfontsize\tiny\@vipt{7pt}% }% \def\large{% \@setfontsize\large\@xivpt{18pt}% }% \def\Large{% \@setfontsize\Large\@xviipt{22pt}% }% \def\LARGE{% \@setfontsize\LARGE\@xxpt{25pt}% }% \def\huge{% \@setfontsize\huge\@xxvpt{30pt}% }% \let\Huge=\huge \@ifxundefined\twoside@sw{\@booleanfalse\twoside@sw}{}% \twoside@sw{% \oddsidemargin 0pt \evensidemargin 0pt \marginparwidth 60pt }{% \oddsidemargin 0pt \evensidemargin 0pt \marginparwidth 44pt }% \marginparsep 10pt \topmargin -37pt \headheight 12pt \headsep 25pt \topskip 10pt \footskip 30pt \@ifxundefined\tightenlines@sw{\@booleanfalse\tightenlines@sw}{}% \textheight=665.5\p@ \tightenlines@sw{% \def\baselinestretch{1}% }{% \def\baselinestretch{1.5}% }% \textwidth 468pt \columnsep 10pt \columnseprule 0pt \footnotesep 1pt \skip\footins 25.25pt plus 4pt minus 2pt \def\footnoterule{\kern-5.25pt\hrule width.5in\kern4.85pt\relax} \floatsep 14pt plus 2pt minus 4pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 14pt plus 4pt minus 4pt \dblfloatsep 14pt plus 2pt minus 4pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@fptop 0pt plus 1fil \@fpsep 10pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 10pt plus 2fil% \@dblfpbot 0pt plus 1fil \marginparpush 7pt \parskip 0pt plus 1pt \parindent 15pt \emergencystretch8\p@ \partopsep 3pt plus 2pt minus 2pt \leftmargini 30pt \leftmarginii 26pt \leftmarginiii 22pt \leftmarginiv 20pt \leftmarginv 12pt \leftmarginvi 12pt \def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ }% \labelsep 6pt \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 5\p@ plus2.5\p@ minus\p@ \parsep 2.5\p@ plus\p@ minus\p@ \itemsep \parsep }% \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2.5\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep }% \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep }% \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep }% \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep }% \endinput %% %% End of file `12pt.rtx'. extrarpms/revtex4/aps.rtx0100644000076400007640000003343507332561030015030 0ustar karenkaren%% %% This is file `aps.rtx', %% generated with the docstrip utility. %% %% The original source files were: %% %% revtex4.dtx (with options: `aps') %% %% This file is part of the APS files in the REVTeX 4 distribution. %% For the version number, search on the string %% Original version by David Carlisle %% Modified by Arthur Ogawa (mailto:ogawa@teleport.com) %% %% Copyright (c) 1999 The American Physical Society. %% http://publish.aps.org/revtex4/ %% mailto:revtex4@aps.org %% %% See the REVTeX 4 README file for restrictions and more information. %% \NeedsTeXFormat{LaTeX2e}[1996/12/01] \ProvidesFile{aps.rtx} [2001/08/03 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo \ifx\undefined\substyle@ext \def\@tempa{% \endinput \GenericWarning{I must be read in by REVTeX! (Bailing out)}% }% \expandafter\else \def\@tempa{}% \expandafter\fi\@tempa \def\ao{Appl.\ Opt.\ } \def\ap{Appl.\ Phys.\ } \def\apl{Appl.\ Phys.\ Lett.\ } \def\apj{Astrophys.\ J.\ } \def\bell{Bell Syst.\ Tech.\ J.\ } \def\jqe{IEEE J.\ Quantum Electron.\ } \def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.\ } \def\aprop{IEEE Trans.\ Antennas Propag.\ } \def\mtt{IEEE Trans.\ Microwave Theory Tech.\ } \def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.\ } \def\jcp{J.\ Chem.\ Phys.\ } \def\jmo{J.\ Mod.\ Opt.\ } \def\josa{J.\ Opt.\ Soc.\ Am.\ } \def\josaa{J.\ Opt.\ Soc.\ Am.\ A } \def\josab{J.\ Opt.\ Soc.\ Am.\ B } \def\jpp{J.\ Phys.\ (Paris) } \def\nat{Nature (London) } \def\oc{Opt.\ Commun.\ } \def\ol{Opt.\ Lett.\ } \def\pl{Phys.\ Lett.\ } \def\pra{Phys.\ Rev.\ A } \def\prb{Phys.\ Rev.\ B } \def\prc{Phys.\ Rev.\ C } \def\prd{Phys.\ Rev.\ D } \def\pre{Phys.\ Rev.\ E } \def\prl{Phys.\ Rev.\ Lett.\ } \def\rmp{Rev.\ Mod.\ Phys.\ } \def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.\ } \def\sjqe{Sov.\ J.\ Quantum Electron.\ } \def\vr{Vision Res.\ } \def\@fnsymbol#1{% \ensuremath{% \ifcase#1\or *\or \dagger \or \ddagger \or \mathsection \or \mathparagraph\or **\or \dagger\dagger \or \ddagger\ddagger \or \mathsection \mathsection \or \mathparagraph\mathparagraph\or *{*}*\ignorespaces \or \dagger\dagger\dagger \or \ddagger\ddagger\ddagger\or \mathsection \mathsection \mathsection \or \mathparagraph\mathparagraph\mathparagraph\or \else \@ctrerr \fi }% }% \renewenvironment{titlepage}{% \let\wastwocol@sw\twocolumn@sw \onecolumngrid \newpage \thispagestyle{titlepage}% \c@page\z@% article sets this to one not zero??? }{% \wastwocol@sw{\twocolumngrid}{\newpage}% }% \def\frontmatter@abstractheading{% \preprintsty@sw{% \begingroup \centering\large \abstractname \par \endgroup }{}% }% \def\frontmatter@abstractwidth{400\p@}% \def\frontmatter@abstractfont{% \small \parindent1em\relax \adjust@abstractwidth }% \def\adjust@abstractwidth{% \dimen@\textwidth\advance\dimen@-\frontmatter@abstractwidth \divide\dimen@\tw@ \galley@sw{% \advance\rightskip\tw@\dimen@ }{% \advance\leftskip\dimen@ \advance\rightskip\dimen@ }% }% \appdef\class@documenthook{% \preprintsty@sw{% \@ifxundefined\titlepage@sw{\@booleantrue\titlepage@sw}{}% \def\frontmatter@abstractwidth{\textwidth}% \def\frontmatter@affiliationfont{\it}% \let\section\section@preprintsty \let\subsection\subsection@preprintsty \let\subsubsection\subsubsection@preprintsty }{}% }% \def\frontmatter@authorformat{% \skip@\@flushglue \@flushglue\z@ plus.3\hsize\relax \centering \advance\baselineskip\p@ \parskip11.5\p@\relax \@flushglue\skip@ }% \def\frontmatter@above@affilgroup{% }% \def\frontmatter@above@affiliation@script{% \skip@\@flushglue \@flushglue\z@ plus.3\hsize\relax \centering \@flushglue\skip@ \addvspace{3.5\p@}% }% \def\frontmatter@above@affiliation{% \preprintsty@sw{}{% }% }% \def\frontmatter@affiliationfont{% \small\it }% \def\frontmatter@collaboration@above{% \preprintsty@sw{% }{% \parskip1.5\p@\relax }% }% \@ifxundefined\groupauthors@sw{% \clo@groupedaddress }{}% \def\frontmatter@setup{% \normalfont }% \def\frontmatter@title@above{\addvspace{6\p@}}% \def\frontmatter@title@format{\large\bfseries\centering\parskip\z@skip}% \def\frontmatter@title@below{}% \def\@author@parskip{3\p@}% \def\frontmatter@makefnmark{% \@textsuperscript{% \normalfont\@thefnmark }% }% \def\frontmatter@authorbelow{% \addvspace{3\p@}% }% \def\frontmatter@RRAP@format{% \small \centering \everypar{\hbox\bgroup(\@gobble@leavemode@uppercase}% \def\par{\@ifvmode{}{\unskip)\egroup\@@par}}% }% \def\punct@RRAP{;\egroup\ \hbox\bgroup}% \def\@gobble@leavemode@uppercase#1#2{\expandafter\MakeTextUppercase}% \def\frontmatter@PACS@format{% \addvspace{11\p@}% \footnotesize \adjust@abstractwidth \parindent\z@ \parskip\z@skip \samepage }% \def\frontmatter@keys@format{% \footnotesize \adjust@abstractwidth \parindent\z@ \samepage }% \def\ps@titlepage{% \def\@oddhead{% \hfill \produce@preprints\@preprint }% \let\@evenhead\@oddhead \def\@oddfoot{% \hb@xt@\z@{\byrevtex\hss}% \hfil \preprintsty@sw{\thepage}{}% \quad\checkindate \hfil }% \let\@evenfoot\@oddfoot }% \def\byrevtex{\byrevtex@sw{Typeset by REV\TeX}{}}% \def\produce@preprints#1{% \preprint@sw{% \vtop to \z@{% \def\baselinestretch{1}% \small \let\preprint\preprint@count \count@\z@#1\@ifnum{\count@>\tw@}{% \hbox{% \let\preprint\preprint@hlist #1\setbox\z@\lastbox }% }{% \let\preprint\preprint@cr \halign{\hfil##\cr#1\crcr}% \par \vss }% }% }{}% }% \def\preprint@cr#1{#1\cr}% \def\preprint@count#1{\advance\count@\@ne}% \def\preprint@hlist#1{#1\hbox{, }}% \def\@seccntformat#1{\csname the#1\endcsname.\quad}% \def\@hang@from#1#2#3{#1#2#3}% \def\section{% \@startsection {section}% {1}% {\z@}% {0.8cm \@plus1ex \@minus .2ex}% {0.5cm}% {% \normalfont\small\bfseries \centering }% }% \def\@hangfrom@section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}% \def\subsection{% \@startsection {subsection}% {2}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {% \normalfont\small\bfseries \centering }% }% \def\subsubsection{% \@startsection {subsubsection}% {3}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {% \normalfont\small\itshape \centering }% }% \def\paragraph{% \@startsection {paragraph}% {4}% {\parindent}% {\z@}% {-1em}% {\normalfont\normalsize\itshape}% }% \def\subparagraph{% \@startsection {subparagraph}% {5}% {\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}% }% \def\section@preprintsty{% \@startsection {section}% {1}% {\z@}% {0.8cm \@plus1ex \@minus .2ex}% {0.5cm}% {% \normalfont\small\bfseries }% }% \def\subsection@preprintsty{% \@startsection {subsection}% {2}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {% \normalfont\small\bfseries }% }% \def\subsubsection@preprintsty{% \@startsection {subsubsection}% {3}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {% \normalfont\small\itshape }% }% \@ifxundefined\frontmatter@footnote@produce{% \let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote }{}% \def\@pnumwidth{1.55em} \def\@tocrmarg {2.55em} \def\@dotsep{4.5pt} \setcounter{tocdepth}{3} \def\tableofcontents{% \addtocontents{toc}{\string\tocdepth@munge}% \print@toc{toc}% \addtocontents{toc}{\string\tocdepth@restore}% }% \def\tocdepth@munge{% \let\l@section@saved\l@section \let\l@section\@gobble@tw@ }% \def\@gobble@tw@#1#2{}% \def\tocdepth@restore{% \let\l@section\l@section@saved }% \def\l@part#1#2{\addpenalty{\@secpenalty}% \begingroup \set@tocdim@pagenum{#2}% \parindent \z@ \rightskip\tocleft@pagenum plus 1fil\relax \skip@\parfillskip\parfillskip\z@ \addvspace{2.25em plus\p@}% \large \bf % \leavevmode\ignorespaces#1\unskip\nobreak\hskip\skip@ \hb@xt@\rightskip{\hfil\unhbox\z@}\hskip-\rightskip\hskip\z@skip \par \nobreak % \endgroup }% \def\tocleft@{\z@}% \def\tocdim@min{5\p@}% \def\l@section{% \l@@sections{}{section}% Implicit #3#4 }% \def\l@f@section{% \addpenalty{\@secpenalty}% \addvspace{1.0em plus\p@}% \bf }% \def\l@subsection{% \l@@sections{section}{subsection}% Implicit #3#4 }% \def\l@subsubsection{% \l@@sections{subsection}{subsubsection}% Implicit #3#4 }% \def\l@paragraph#1#2{}% \def\l@subparagraph#1#2{}% \let\toc@pre\toc@pre@auto \let\toc@post\toc@post@auto \def\listoffigures{\print@toc{lof}}% \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} \def\listoftables{\print@toc{lot}}% \let\l@table\l@figure \appdef\class@documenthook{% \@ifxundefined\raggedcolumn@sw{\@booleantrue\raggedcolumn@sw}{}% \raggedcolumn@sw{\raggedbottom}{\flushbottom}% }% \def\tableft@skip@float{\z@ plus\hsize}% \def\tabmid@skip@float{\@flushglue}% \def\tabright@skip@float{\z@ plus\hsize}% \def\array@row@pre@float{\hline\hline\noalign{\vskip\doublerulesep}}% \def\array@row@pst@float{\noalign{\vskip\doublerulesep}\hline\hline}% \def\@makefntext#1{% \def\baselinestretch{1}% \reset@font \footnotesize \leftskip1em \parindent1em \noindent\nobreak\hskip-\leftskip \hb@xt@\leftskip{% \Hy@raisedlink{\hyper@anchorstart{footnote@\the\c@footnote}\hyper@anchorend}% \hss\@makefnmark\ }% #1% \par }% \prepdef\appendix{% \par \let\@hangfrom@section\@hangfrom@appendix \let\@hangfroms@section\@hangfroms@appendix \let\@sectioncntformat\@appendixcntformat }% \def\@hangfrom@appendix#1#2#3{% #1% \@if@empty{#2}{% \MakeTextUppercase{#3}% }{% #2\@if@empty{#3}{}{:\ \MakeTextUppercase{#3}}% }% }% \def\@hangfroms@appendix#1#2{% #1\MakeTextUppercase{#2}% }% \def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}% \def\appendixesname{APPENDICES}% \def\appendixname{APPENDIX}% \bibpunct{[}{]}{,}{n}{}{,}% \def\bibsection{% \par \onecolumngrid@push \begingroup \baselineskip26\p@ \bib@device{\textwidth}{245.5\p@}% \endgroup \nobreak\@nobreaktrue \addvspace{19\p@}% \par \onecolumngrid@pop }% \def\bib@device#1#2{% \hb@xt@#1{% \hfil \phantomsection \addcontentsline {toc}{section}{\protect\numberline{}\refname}% \hb@xt@#2{% \skip@\z@\@plus-1fil\relax \leaders\hrule height.25 \p@ depth.25 \p@ \hskip\z@\@plus1fil \hskip\skip@ \hskip\z@\@plus0.125fil\leaders\hrule height.375\p@ depth.375\p@ \hskip\z@\@plus0.75fil \hskip\z@\@plus0.125fil \hskip\skip@ \hskip\z@\@plus0.25 fil\leaders\hrule height.5 \p@ depth.5 \p@ \hskip\z@\@plus0.5 fil \hskip\z@\@plus0.25 fil \hskip\skip@ \hskip\z@\@plus0.375fil\leaders\hrule height.625\p@ depth.625\p@ \hskip\z@\@plus0.25fil \hskip\z@\@plus0.375fil }% \hfil }% }% \let\bibpreamble\@empty \bibsep\z@\relax \def\newblock{\ }% \def\bibfont{% \small }% \newenvironment{theindex}{% \columnseprule \z@ \columnsep 35\p@ \c@secnumdepth-\maxdimen \onecolumngrid@push \section{\indexname}% \thispagestyle{plain}% \parindent\z@ \parskip\z@ plus.3\p@\relax \let\item\@idxitem \onecolumngrid@pop }{% }% \def\@idxitem{\par\hangindent 40\p@} \def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}} \def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}} \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} \def\journal@pra{pra}% \def\journal@prb{prb}% \def\journal@prc{prc}% \def\journal@prd{prd}% \def\journal@pre{pre}% \def\journal@prl{prl}% \def\journal@prstab{prstab}% \def\journal@rmp{rmp}% \@ifx{\@journal\journal@pra}{% }{}% \@ifx{\@journal\journal@prb}{% \@ifxundefined\bibnotes@sw{\@booleantrue\bibnotes@sw}{}% \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}% \def\@onlinecite#1{\begingroup\let\@cite\NAT@citenum\citealp{#1}\endgroup}% \appdef\class@documenthook{% \@ifxundefined\place@bibnumber{% \let\place@bibnumber\place@bibnumber@sup }{}% }% }{}% \@ifx{\@journal\journal@prc}{% }{}% \@ifx{\@journal\journal@prd}{% }{}% \@ifx{\@journal\journal@pre}{% }{}% \@ifx{\@journal\journal@prl}{% \@ifxundefined\bibnotes@sw{\@booleantrue\bibnotes@sw}{}% \@booleanfalse\acknowledgments@sw \def\bibsection{% \par \begingroup \baselineskip26\p@ \bib@device{\hsize}{72\p@}% \endgroup \nobreak\@nobreaktrue \addvspace{19\p@}% }% \@ifxundefined\lengthcheck@sw{\@booleanfalse\lengthcheck@sw}{}% \lengthcheck@sw{% \RequirePackage{times}% }{% }% \c@secnumdepth=-\maxdimen \appdef\set@typesize@hook{% \@ifnum{\@pointsize=10\relax}{% \lengthcheck@sw{% \def\large{% \@setfontsize\large{12.5}{14\p@}% }% \def\normalsize{% \@setfontsize\normalsize{10.5}\@xiipt \abovedisplayskip 6\p@ \@plus6\p@ \@minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% \def\small{% \@setfontsize\small{9.5}\@xipt \abovedisplayskip 5\p@ \@plus5\p@ \@minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% \DeclareMathSizes{12.5}{12.5}{9}{6}% \DeclareMathSizes{10.5}{10.5}{7.5}{5}% \DeclareMathSizes{9.5}{9.5}{7.0}{5}% }{% \def\normalsize{% \@setfontsize\normalsize\@xpt\@xiipt \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% }% }{}% }% \@ifnum{\@pointsize=10\relax}{% \textheight = 694.0\p@ }{}% }{}% \@ifx{\@journal\journal@prstab}{% }{}% \@ifx{\@journal\journal@rmp}{\input{\@journal\substyle@ext}}{}% \@ifxundefined\footinbib@sw{\@booleantrue\footinbib@sw}{}% \appdef\class@documenthook{% \@ifxundefined\place@bibnumber{% \let\place@bibnumber\place@bibnumber@inl }{}% \@ifxundefined\@bibstyle{% \def\@bibstyle{apsrev}% }{}% }% \endinput %% %% End of file `aps.rtx'. extrarpms/revtex4/apsrev.bst0100644000076400007640000012617307332606040015523 0ustar karenkaren%% %% This is file `apsrev.bst', %% generated with the docstrip utility. %% %% The original source files were: %% %% merlin.mbs (with options: `head,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}') %% physjour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}') %% geojour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}') %% photjour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}') %% merlin.mbs (with options: `tail,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}') %% ---------------------------------------- %% *** REVTeX-compatible apsrev.bst 1702 *** %% %% Copyright 1994-2000 Patrick W Daly % =============================================================== % IMPORTANT NOTICE: % This bibliographic style (bst) file has been generated from one or % more master bibliographic style (mbs) files, listed above. % % This generated file 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; either % version 1 of the License, or any later version. % =============================================================== % Name and version information of the main mbs file: % \ProvidesFile{merlin.mbs}[2000/05/04 4.01 (PWD, AO, DPC)] % For use with BibTeX version 0.99a or later %------------------------------------------------------------------- % This bibliography style file is intended for texts in ENGLISH % This is an author-year citation style bibliography. As such, it is % non-standard LaTeX, and requires a special package file to function properly. % Such a package is natbib.sty by Patrick W. Daly % The form of the \bibitem entries is % \bibitem[Jones et al.(1990)]{key}... % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... % The essential feature is that the label (the part in brackets) consists % of the author names, as they should appear in the citation, with the year % in parentheses following. There must be no space before the opening % parenthesis! % With natbib v5.3, a full list of authors may also follow the year. % In natbib.sty, it is possible to define the type of enclosures that is % really wanted (brackets or parentheses), but in either case, there must % be parentheses in the label. % The \cite command functions as follows: % \citet{key} ==>> Jones et al. (1990) % \citet*{key} ==>> Jones, Baker, and Smith (1990) % \citep{key} ==>> (Jones et al., 1990) % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) % \citeauthor{key} ==>> Jones et al. % \citeauthor*{key} ==>> Jones, Baker, and Smith % \citeyear{key} ==>> 1990 %--------------------------------------------------------------------- ENTRY { address archive author booktitle chapter collaboration edition editor eid eprint howpublished institution isbn issn journal key month note number numpages organization pages publisher school series title type url volume year } {} { label extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block } FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := } STRINGS { s t} FUNCTION {output.nonnull} { 's := output.state mid.sentence = { ", " * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output} { duplicate$ empty$ 'pop$ 'output.nonnull if$ } FUNCTION {output.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ } FUNCTION {fin.entry} { add.period$ write$ newline$ } FUNCTION {new.block} { output.state before.all = 'skip$ { after.block 'output.state := } if$ } FUNCTION {new.sentence} { output.state after.block = 'skip$ { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } if$ } FUNCTION {add.blank} { " " * before.all 'output.state := } FUNCTION {date.block} { skip$ } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {new.block.checkb} { empty$ swap$ empty$ and 'skip$ 'new.block if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "\emph{" swap$ * "}" * } if$ } FUNCTION {bolden} { duplicate$ empty$ { pop$ "" } { "\textbf{" swap$ * "}" * } if$ } FUNCTION {bib.name.font} { duplicate$ empty$ { pop$ "" } { "\bibnamefont{" swap$ * "}" * } if$ } FUNCTION {bib.fname.font} { duplicate$ empty$ { pop$ "" } { "\bibfnamefont{" swap$ * "}" * } if$ } FUNCTION {cite.name.font} { duplicate$ empty$ { pop$ "" } { "\citenamefont{" swap$ * "}" * } if$ } FUNCTION {tie.or.space.prefix} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ } FUNCTION {capitalize} { "u" change.case$ "t" change.case$ } FUNCTION {space.word} { " " swap$ * " " * } % Here are the language-specific definitions for explicit words. % Each function has a name bbl.xxx where xxx is the English word. % The language selected here is ENGLISH FUNCTION {bbl.and} { "and"} FUNCTION {bbl.etal} { "et~al." } FUNCTION {bbl.editors} { "eds." } FUNCTION {bbl.editor} { "ed." } FUNCTION {bbl.edby} { "edited by" } FUNCTION {bbl.edition} { "ed." } FUNCTION {bbl.volume} { "vol." } FUNCTION {bbl.of} { "of" } FUNCTION {bbl.number} { "no." } FUNCTION {bbl.nr} { "no." } FUNCTION {bbl.in} { "in" } FUNCTION {bbl.pages} { "pp." } FUNCTION {bbl.page} { "p." } FUNCTION {bbl.eidpp} { "pages" } FUNCTION {bbl.chapter} { "chap." } FUNCTION {bbl.techrep} { "Tech. Rep." } FUNCTION {bbl.mthesis} { "Master's thesis" } FUNCTION {bbl.phdthesis} { "Ph.D. thesis" } FUNCTION {bbl.first} { "1st" } FUNCTION {bbl.second} { "2nd" } FUNCTION {bbl.third} { "3rd" } FUNCTION {bbl.fourth} { "4th" } FUNCTION {bbl.fifth} { "5th" } FUNCTION {bbl.st} { "st" } FUNCTION {bbl.nd} { "nd" } FUNCTION {bbl.rd} { "rd" } FUNCTION {bbl.th} { "th" } MACRO {jan} {"Jan."} MACRO {feb} {"Feb."} MACRO {mar} {"Mar."} MACRO {apr} {"Apr."} MACRO {may} {"May"} MACRO {jun} {"Jun."} MACRO {jul} {"Jul."} MACRO {aug} {"Aug."} MACRO {sep} {"Sep."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} FUNCTION {eng.ord} { duplicate$ "1" swap$ * #-2 #1 substring$ "1" = { bbl.th * } { duplicate$ #-1 #1 substring$ duplicate$ "1" = { pop$ bbl.st * } { duplicate$ "2" = { pop$ bbl.nd * } { "3" = { bbl.rd * } { bbl.th * } if$ } if$ } if$ } if$ } %------------------------------------------------------------------- % Begin module: % \ProvidesFile{physjour.mbs}[1999/10/05 2.1 (PWD)] MACRO {aa}{"Astron. \& Astrophys."} MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} MACRO {aj} {"Astron. J."} MACRO {aph} {"Acta Phys."} MACRO {advp} {"Adv. Phys."} MACRO {ajp} {"Amer. J. Phys."} MACRO {ajm} {"Amer. J. Math."} MACRO {amsci} {"Amer. Sci."} MACRO {anofd} {"Ann. Fluid Dyn."} MACRO {am} {"Ann. Math."} MACRO {ap} {"Ann. Phys. (NY)"} MACRO {adp} {"Ann. Phys. (Leipzig)"} MACRO {ao} {"Appl. Opt."} MACRO {apl} {"Appl. Phys. Lett."} MACRO {app} {"Astroparticle Phys."} MACRO {apj} {"Astrophys. J."} MACRO {apjsup} {"Astrophys. J. Suppl."} MACRO {apss} {"Astrophys. Space Sci."} MACRO {araa} {"Ann. Rev. Astron. Astrophys."} MACRO {baas} {"Bull. Amer. Astron. Soc."} MACRO {baps} {"Bull. Amer. Phys. Soc."} MACRO {cmp} {"Comm. Math. Phys."} MACRO {cpam} {"Commun. Pure Appl. Math."} MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} MACRO {cpc} {"Comp. Phys. Comm."} MACRO {cqg} {"Class. Quant. Grav."} MACRO {cra} {"C. R. Acad. Sci. A"} MACRO {fed} {"Fusion Eng. \& Design"} MACRO {ft} {"Fusion Tech."} MACRO {grg} {"Gen. Relativ. Gravit."} MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} MACRO {ip} {"Infrared Phys."} MACRO {irp} {"Infrared Phys."} MACRO {jap} {"J. Appl. Phys."} MACRO {jasa} {"J. Acoust. Soc. America"} MACRO {jcp} {"J. Comp. Phys."} MACRO {jetp} {"Sov. Phys.--JETP"} MACRO {jfe} {"J. Fusion Energy"} MACRO {jfm} {"J. Fluid Mech."} MACRO {jmp} {"J. Math. Phys."} MACRO {jne} {"J. Nucl. Energy"} MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} MACRO {jnm} {"J. Nucl. Mat."} MACRO {jpc} {"J. Phys. Chem."} MACRO {jpp} {"J. Plasma Phys."} MACRO {jpsj} {"J. Phys. Soc. Japan"} MACRO {jsi} {"J. Sci. Instrum."} MACRO {jvst} {"J. Vac. Sci. \& Tech."} MACRO {nat} {"Nature"} MACRO {nature} {"Nature"} MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} MACRO {nf} {"Nucl. Fusion"} MACRO {nim} {"Nucl. Inst. \& Meth."} MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} MACRO {np} {"Nucl. Phys."} MACRO {npb} {"Nucl. Phys. B"} MACRO {nt/f} {"Nucl. Tech./Fusion"} MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} MACRO {inc} {"Nuovo Cimento"} MACRO {nc} {"Nuovo Cimento"} MACRO {pf} {"Phys. Fluids"} MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} MACRO {pl} {"Phys. Lett."} MACRO {pla} {"Phys. Lett. A"} MACRO {plb} {"Phys. Lett. B"} MACRO {prep} {"Phys. Rep."} MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} MACRO {pp} {"Phys. Plasmas"} MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} MACRO {prl} {"Phys. Rev. Lett."} MACRO {pr} {"Phys. Rev."} MACRO {physrev} {"Phys. Rev."} MACRO {pra} {"Phys. Rev. A"} MACRO {prb} {"Phys. Rev. B"} MACRO {prc} {"Phys. Rev. C"} MACRO {prd} {"Phys. Rev. D"} MACRO {pre} {"Phys. Rev. E"} MACRO {ps} {"Phys. Scripta"} MACRO {procrsl} {"Proc. Roy. Soc. London"} MACRO {rmp} {"Rev. Mod. Phys."} MACRO {rsi} {"Rev. Sci. Inst."} MACRO {science} {"Science"} MACRO {sciam} {"Sci. Am."} MACRO {sam} {"Stud. Appl. Math."} MACRO {sjpp} {"Sov. J. Plasma Phys."} MACRO {spd} {"Sov. Phys.--Doklady"} MACRO {sptp} {"Sov. Phys.--Tech. Phys."} MACRO {spu} {"Sov. Phys.--Uspeki"} MACRO {st} {"Sky and Telesc."} % End module: physjour.mbs %------------------------------------------------------------------- % Begin module: % \ProvidesFile{geojour.mbs}[1999/11/16 2.0g (PWD)] MACRO {aisr} {"Adv. Space Res."} MACRO {ag} {"Ann. Geophys."} MACRO {anigeo} {"Ann. Geofis."} MACRO {angl} {"Ann. Glaciol."} MACRO {andmet} {"Ann. d. Meteor."} MACRO {andgeo} {"Ann. d. Geophys."} MACRO {andphy} {"Ann. Phys.-Paris"} MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."} MACRO {atph} {"Atm\'osphera"} MACRO {aao} {"Atmos. Ocean"} MACRO {ass}{"Astrophys. Space Sci."} MACRO {atenv} {"Atmos. Environ."} MACRO {aujag} {"Aust. J. Agr. Res."} MACRO {aumet} {"Aust. Meteorol. Mag."} MACRO {blmet} {"Bound.-Lay. Meteorol."} MACRO {bams} {"Bull. Amer. Meteorol. Soc."} MACRO {cch} {"Clim. Change"} MACRO {cdyn} {"Clim. Dynam."} MACRO {cbul} {"Climatol. Bull."} MACRO {cap} {"Contrib. Atmos. Phys."} MACRO {dsr} {"Deep-Sea Res."} MACRO {dhz} {"Dtsch. Hydrogr. Z."} MACRO {dao} {"Dynam. Atmos. Oceans"} MACRO {eco} {"Ecology"} MACRO {empl}{"Earth, Moon and Planets"} MACRO {envres} {"Environ. Res."} MACRO {envst} {"Environ. Sci. Technol."} MACRO {ecms} {"Estuarine Coastal Mar. Sci."} MACRO {expa}{"Exper. Astron."} MACRO {geoint} {"Geofis. Int."} MACRO {geopub} {"Geofys. Publ."} MACRO {geogeo} {"Geol. Geofiz."} MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."} MACRO {gfd} {"Geophys. Fluid Dyn."} MACRO {geomag} {"Geophys. Mag."} MACRO {georl} {"Geophys. Res. Lett."} MACRO {grl} {"Geophys. Res. Lett."} MACRO {ga} {"Geophysica"} MACRO {gs} {"Geophysics"} MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."} MACRO {ijawp} {"Int. J. Air Water Pollut."} MACRO {ijc} {"Int. J. Climatol."} MACRO {ijrs} {"Int. J. Remote Sens."} MACRO {jam} {"J. Appl. Meteorol."} MACRO {jaot} {"J. Atmos. Ocean. Technol."} MACRO {jatp} {"J. Atmos. Terr. Phys."} MACRO {jce} {"J. Climate"} MACRO {jcam} {"J. Climate Appl. Meteor."} MACRO {jcm} {"J. Climate Meteor."} MACRO {jcy} {"J. Climatol."} MACRO {jgr} {"J. Geophys. Res."} MACRO {jga} {"J. Glaciol."} MACRO {jh} {"J. Hydrol."} MACRO {jmr} {"J. Mar. Res."} MACRO {jmrj} {"J. Meteor. Res. Japan"} MACRO {jm} {"J. Meteor."} MACRO {jpo} {"J. Phys. Oceanogr."} MACRO {jra} {"J. Rech. Atmos."} MACRO {jaes} {"J. Aeronaut. Sci."} MACRO {japca} {"J. Air Pollut. Control Assoc."} MACRO {jas} {"J. Atmos. Sci."} MACRO {jmts} {"J. Mar. Technol. Soc."} MACRO {jmsj} {"J. Meteorol. Soc. Japan"} MACRO {josj} {"J. Oceanogr. Soc. Japan"} MACRO {jwm} {"J. Wea. Mod."} MACRO {lao} {"Limnol. Oceanogr."} MACRO {mwl} {"Mar. Wea. Log"} MACRO {mau} {"Mausam"} MACRO {meteor} {"``Meteor'' Forschungsergeb."} MACRO {map} {"Meteorol. Atmos. Phys."} MACRO {metmag} {"Meteor. Mag."} MACRO {metmon} {"Meteor. Monogr."} MACRO {metrun} {"Meteor. Rundsch."} MACRO {metzeit} {"Meteor. Z."} MACRO {metgid} {"Meteor. Gidrol."} MACRO {mwr} {"Mon. Weather Rev."} MACRO {nwd} {"Natl. Weather Dig."} MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."} MACRO {npg} {"Nonlin. Proc. Geophys."} MACRO {om} {"Oceanogr. Meteorol."} MACRO {ocac} {"Oceanol. Acta"} MACRO {oceanus} {"Oceanus"} MACRO {paleoc} {"Paleoceanography"} MACRO {pce} {"Phys. Chem. Earth"} MACRO {pmg} {"Pap. Meteor. Geophys."} MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."} MACRO {physzeit} {"Phys. Z."} MACRO {pps} {"Planet. Space Sci."} MACRO {pss} {"Planet. Space Sci."} MACRO {pag} {"Pure Appl. Geophys."} MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."} MACRO {quatres} {"Quat. Res."} MACRO {rsci} {"Radio Sci."} MACRO {rse} {"Remote Sens. Environ."} MACRO {rgeo} {"Rev. Geophys."} MACRO {rgsp} {"Rev. Geophys. Space Phys."} MACRO {rdgeo} {"Rev. Geofis."} MACRO {revmeta} {"Rev. Meteorol."} MACRO {sgp}{"Surveys in Geophys."} MACRO {sp} {"Solar Phys."} MACRO {ssr} {"Space Sci. Rev."} MACRO {tellus} {"Tellus"} MACRO {tac} {"Theor. Appl. Climatol."} MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"} MACRO {wrr} {"Water Resour. Res."} MACRO {weather} {"Weather"} MACRO {wafc} {"Weather Forecast."} MACRO {ww} {"Weatherwise"} MACRO {wmob} {"WMO Bull."} MACRO {zeitmet} {"Z. Meteorol."} % End module: geojour.mbs %------------------------------------------------------------------- % Begin module: % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] MACRO {appopt} {"Appl. Opt."} MACRO {bell} {"Bell Syst. Tech. J."} MACRO {ell} {"Electron. Lett."} MACRO {jasp} {"J. Appl. Spectr."} MACRO {jqe} {"IEEE J. Quantum Electron."} MACRO {jlwt} {"J. Lightwave Technol."} MACRO {jmo} {"J. Mod. Opt."} MACRO {josa} {"J. Opt. Soc. America"} MACRO {josaa} {"J. Opt. Soc. Amer.~A"} MACRO {josab} {"J. Opt. Soc. Amer.~B"} MACRO {jdp} {"J. Phys. (Paris)"} MACRO {oc} {"Opt. Commun."} MACRO {ol} {"Opt. Lett."} MACRO {phtl} {"IEEE Photon. Technol. Lett."} MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} MACRO {sse} {"Solid-State Electron."} MACRO {sjot} {"Sov. J. Opt. Technol."} MACRO {sjqe} {"Sov. J. Quantum Electron."} MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} MACRO {stph} {"Sov. Phys.--Techn. Phys."} MACRO {stphl} {"Sov. Techn. Phys. Lett."} MACRO {vr} {"Vision Res."} MACRO {zph} {"Z. f. Physik"} MACRO {zphb} {"Z. f. Physik~B"} MACRO {zphd} {"Z. f. Physik~D"} MACRO {CLEO} {"CLEO"} MACRO {ASSL} {"Adv. Sol.-State Lasers"} MACRO {OSA} {"OSA"} % End module: photjour.mbs %% Copyright 1994-2000 Patrick W Daly MACRO {acmcs} {"ACM Comput. Surv."} MACRO {acta} {"Acta Inf."} MACRO {cacm} {"Commun. ACM"} MACRO {ibmjrd} {"IBM J. Res. Dev."} MACRO {ibmsj} {"IBM Syst.~J."} MACRO {ieeese} {"IEEE Trans. Software Eng."} MACRO {ieeetc} {"IEEE Trans. Comput."} MACRO {ieeetcad} {"IEEE Trans. Comput. Aid. Des."} MACRO {ipl} {"Inf. Process. Lett."} MACRO {jacm} {"J.~ACM"} MACRO {jcss} {"J.~Comput. Syst. Sci."} MACRO {scp} {"Sci. Comput. Program."} MACRO {sicomp} {"SIAM J. Comput."} MACRO {tocs} {"ACM Trans. Comput. Syst."} MACRO {tods} {"ACM Trans. Database Syst."} MACRO {tog} {"ACM Trans. Graphic."} MACRO {toms} {"ACM Trans. Math. Software"} MACRO {toois} {"ACM Trans. Office Inf. Syst."} MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} MACRO {tcs} {"Theor. Comput. Sci."} FUNCTION {bibinfo.check} { swap$ duplicate$ missing$ { pop$ pop$ "" } { duplicate$ empty$ { swap$ pop$ } { swap$ "\bibinfo{" swap$ * "}{" * swap$ * "}" * } if$ } if$ } FUNCTION {bibinfo.warn} { swap$ duplicate$ missing$ { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" } { duplicate$ empty$ { swap$ "empty " swap$ * " in " * cite$ * warning$ } { swap$ "\bibinfo{" swap$ * "}{" * swap$ * "}" * } if$ } if$ } FUNCTION {format.eprint} { eprint duplicate$ empty$ 'skip$ { "\eprint" archive empty$ 'skip$ { "[" * archive * "]" * } if$ "{" * swap$ * "}" * } if$ } FUNCTION {format.url} { url empty$ { "" } { "\urlprefix\url{" url * "}" * } if$ } STRINGS { bibinfo} INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} { 'bibinfo := duplicate$ empty$ 'skip$ { 's := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{f.}" format.name$ duplicate$ empty$ 'skip$ { tie.or.space.prefix bib.fname.font swap$ * } if$ s nameptr "{vv~}{ll}" format.name$ bib.name.font * s nameptr "{jj}" format.name$ duplicate$ empty$ 'skip$ { bib.fname.font ", " swap$ * } if$ * bibinfo bibinfo.check 't := nameptr #1 > { nameptr #0 #10 + #1 + = numnames #0 #10 + > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { numnames #2 > { "," * } 'skip$ if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { " " * bbl.etal bib.name.font * } { bbl.and bib.name.font space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } if$ } FUNCTION {format.names.ed} { format.names } FUNCTION {format.key} { empty$ { key field.or.null } { "" } if$ } FUNCTION {format.authors} { author "author" format.names duplicate$ empty$ 'skip$ { collaboration "collaboration" bibinfo.check duplicate$ empty$ 'skip$ { " (" swap$ * ")" * } if$ * } if$ } FUNCTION {get.bbl.editor} { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } FUNCTION {format.editors} { editor "editor" format.names duplicate$ empty$ 'skip$ { "," * " " * get.bbl.editor * } if$ } FUNCTION {format.isbn} { isbn "isbn" bibinfo.check duplicate$ empty$ 'skip$ { "ISBN " swap$ * } if$ } FUNCTION {format.issn} { issn "issn" bibinfo.check duplicate$ empty$ 'skip$ { "ISSN " swap$ * } if$ } FUNCTION {format.note} { note empty$ { "" } { note #1 #1 substring$ duplicate$ "{" = 'skip$ { output.state mid.sentence = { "l" } { "u" } if$ change.case$ } if$ note #2 global.max$ substring$ * "note" bibinfo.check } if$ } FUNCTION {format.title} { title duplicate$ empty$ { skip$ } { "t" change.case$ } if$ "title" bibinfo.check duplicate$ empty$ 'skip$ { emphasize } if$ } FUNCTION {format.full.names} {'s := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}" format.name$ 't := nameptr #1 > { nameptr #0 #10 + #1 + = numnames #0 #10 + > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { " " * bbl.etal * cite.name.font } { numnames #2 > { "," * } 'skip$ if$ bbl.and space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ t "others" = 'skip$ { cite.name.font } if$ } FUNCTION {author.editor.key.full} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.full.names } if$ } { author format.full.names } if$ } FUNCTION {author.key.full} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.full.names } if$ } FUNCTION {editor.key.full} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.full.names } if$ } FUNCTION {make.full.names} { type$ "book" = type$ "inbook" = or 'author.editor.key.full { type$ "proceedings" = 'editor.key.full 'author.key.full if$ } if$ } FUNCTION {output.bibitem} { newline$ "\bibitem[{" write$ label write$ ")" make.full.names duplicate$ short.list = { pop$ } { * } if$ "}]{" * write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := } FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {word.in} { bbl.in " " * } FUNCTION {format.date} { year "year" bibinfo.check duplicate$ empty$ { "empty year in " cite$ * "; set to ????" * warning$ pop$ "????" } 'skip$ if$ extra.label * before.all 'output.state := " (" swap$ * ")" * } FUNCTION {format.date.misc} { year empty$ 'skip$ { format.date "year" output.check } if$ } FUNCTION {format.btitle} { title "title" bibinfo.check duplicate$ empty$ 'skip$ { emphasize } if$ } FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } FUNCTION {format.bvolume} { volume empty$ { "" } { bbl.volume volume tie.or.space.prefix "volume" bibinfo.check * * series "series" bibinfo.check duplicate$ empty$ 'pop$ { swap$ bbl.of space.word * swap$ emphasize * } if$ "volume and number" number either.or.check } if$ } FUNCTION {format.number.series} { volume empty$ { number empty$ { series field.or.null } { series empty$ { number "number" bibinfo.check } { output.state mid.sentence = { bbl.number } { bbl.number capitalize } if$ number tie.or.space.prefix "number" bibinfo.check * * bbl.in space.word * series "series" bibinfo.check * } if$ } if$ } { "" } if$ } FUNCTION {is.num} { chr.to.int$ duplicate$ "0" chr.to.int$ < not swap$ "9" chr.to.int$ > not and } FUNCTION {extract.num} { duplicate$ 't := "" 's := { t empty$ not } { t #1 #1 substring$ t #2 global.max$ substring$ 't := duplicate$ is.num { s swap$ * 's := } { pop$ "" 't := } if$ } while$ s empty$ 'skip$ { pop$ s } if$ } FUNCTION {convert.edition} { extract.num "l" change.case$ 's := s "first" = s "1" = or { bbl.first 't := } { s "second" = s "2" = or { bbl.second 't := } { s "third" = s "3" = or { bbl.third 't := } { s "fourth" = s "4" = or { bbl.fourth 't := } { s "fifth" = s "5" = or { bbl.fifth 't := } { s #1 #1 substring$ is.num { s eng.ord 't := } { edition 't := } if$ } if$ } if$ } if$ } if$ } if$ t } FUNCTION {format.edition} { edition duplicate$ empty$ 'skip$ { convert.edition output.state mid.sentence = { "l" } { "t" } if$ change.case$ "edition" bibinfo.check " " * bbl.edition * } if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {format.pages} { pages duplicate$ empty$ 'skip$ { duplicate$ multi.page.check { bbl.pages swap$ n.dashify } { bbl.page swap$ } if$ tie.or.space.prefix "pages" bibinfo.check * * } if$ } FUNCTION {first.page} { 't := "" { t empty$ not t #1 #1 substring$ "-" = not and } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } while$ } FUNCTION {format.journal.pages} { pages duplicate$ empty$ 'pop$ { swap$ duplicate$ empty$ { pop$ pop$ format.pages } { ", " * swap$ first.page "pages" bibinfo.check * } if$ } if$ } FUNCTION {format.journal.eid} { eid "eid" bibinfo.check duplicate$ empty$ 'skip$ { swap$ duplicate$ empty$ 'skip$ { ", " * } if$ swap$ numpages empty$ 'skip$ { bbl.eidpp numpages tie.or.space.prefix "numpages" bibinfo.check * * " (" swap$ * ")" * * } if$ } if$ * } FUNCTION {format.vol.num.pages} { volume field.or.null duplicate$ empty$ 'skip$ { "volume" bibinfo.check } if$ bolden eid empty$ { format.journal.pages } { format.journal.eid } if$ } FUNCTION {format.chapter.pages} { chapter empty$ 'format.pages { type empty$ { bbl.chapter } { type "l" change.case$ "type" bibinfo.check } if$ chapter tie.or.space.prefix "chapter" bibinfo.check * * pages empty$ 'skip$ { ", " * format.pages * } if$ } if$ } FUNCTION {format.booktitle} { booktitle "booktitle" bibinfo.check emphasize } FUNCTION {format.in.ed.booktitle} { format.booktitle duplicate$ empty$ 'skip$ { editor "editor" format.names.ed duplicate$ empty$ 'pop$ { bbl.edby " " * swap$ * swap$ "," * " " * swap$ * } if$ word.in swap$ * } if$ } FUNCTION {format.thesis.type} { type duplicate$ empty$ 'pop$ { swap$ pop$ "t" change.case$ "type" bibinfo.check } if$ } FUNCTION {format.tr.number} { number "number" bibinfo.check type duplicate$ empty$ { pop$ bbl.techrep } 'skip$ if$ "type" bibinfo.check swap$ duplicate$ empty$ { pop$ "t" change.case$ } { tie.or.space.prefix * * } if$ } FUNCTION {format.article.crossref} { word.in " \cite{" * crossref * "}" * } FUNCTION {format.book.crossref} { volume duplicate$ empty$ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ pop$ word.in } { bbl.volume swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * } if$ " \cite{" * crossref * "}" * } FUNCTION {format.incoll.inproc.crossref} { word.in " \cite{" * crossref * "}" * } FUNCTION {format.org.or.pub} { 't := "" add.blank "(" * t empty$ { address "address" bibinfo.check * } { t * address empty$ 'skip$ { ", " * address "address" bibinfo.check * } if$ } if$ year duplicate$ empty$ { "empty year in " cite$ * "; set to ????" * warning$ pop$ "????" } { "year" bibinfo.check extra.label * } if$ t empty$ address empty$ and { * } { ", " swap$ * * } if$ ")" * } FUNCTION {format.publisher.address} { publisher "publisher" bibinfo.warn format.org.or.pub } FUNCTION {format.organization.address} { organization "organization" bibinfo.check format.org.or.pub } FUNCTION {article} { output.bibitem format.authors "author" output.check author format.key output crossref missing$ { "" journal duplicate$ empty$ { pop$ pop$ } { "journal" bibinfo.check * "journal" output.check add.blank } if$ format.vol.num.pages output format.date "year" output.check } { format.article.crossref output.nonnull format.pages output } if$ format.issn output format.note output format.eprint output format.url output fin.entry } FUNCTION {book} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ format.btitle "title" output.check crossref missing$ { format.bvolume output format.number.series output format.publisher.address output } { format.book.crossref output.nonnull format.date "year" output.check } if$ format.edition output format.isbn output format.note output format.eprint output format.url output fin.entry } FUNCTION {booklet} { output.bibitem format.authors output author format.key output format.title "title" output.check howpublished "howpublished" bibinfo.check output address "address" bibinfo.check output format.date "year" output.check format.isbn output format.note output format.eprint output format.url output fin.entry } FUNCTION {inbook} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ format.btitle "title" output.check crossref missing$ { format.publisher.address output format.bvolume output format.chapter.pages "chapter and pages" output.check format.number.series output } { format.chapter.pages "chapter and pages" output.check format.book.crossref output.nonnull format.date "year" output.check } if$ format.edition output crossref missing$ { format.isbn output } 'skip$ if$ format.note output format.eprint output format.url output fin.entry } FUNCTION {incollection} { output.bibitem format.authors "author" output.check author format.key output crossref missing$ { format.in.ed.booktitle "booktitle" output.check format.publisher.address output format.bvolume output format.number.series output format.chapter.pages output format.edition output format.isbn output } { format.incoll.inproc.crossref output.nonnull format.chapter.pages output } if$ format.note output format.eprint output format.url output fin.entry } FUNCTION {inproceedings} { output.bibitem format.authors "author" output.check author format.key output crossref missing$ { format.in.ed.booktitle "booktitle" output.check publisher empty$ { format.organization.address output } { organization "organization" bibinfo.check output format.publisher.address output } if$ format.bvolume output format.number.series output format.pages output format.isbn output format.issn output } { format.incoll.inproc.crossref output.nonnull format.pages output } if$ format.note output format.eprint output format.url output fin.entry } FUNCTION {conference} { inproceedings } FUNCTION {manual} { output.bibitem format.authors output author format.key output format.btitle "title" output.check organization "organization" bibinfo.check output address "address" bibinfo.check output format.edition output format.date "year" output.check format.note output format.eprint output format.url output fin.entry } FUNCTION {mastersthesis} { output.bibitem format.authors "author" output.check author format.key output bbl.mthesis format.thesis.type output.nonnull school "school" bibinfo.warn output address "address" bibinfo.check output format.date "year" output.check format.note output format.eprint output format.url output fin.entry } FUNCTION {misc} { output.bibitem format.authors output author format.key output format.title output howpublished "howpublished" bibinfo.check output format.date.misc format.note output format.eprint output format.url output fin.entry } FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check author format.key output bbl.phdthesis format.thesis.type output.nonnull school "school" bibinfo.warn output address "address" bibinfo.check output format.date "year" output.check format.note output format.eprint output format.url output fin.entry } FUNCTION {proceedings} { output.bibitem format.editors output editor format.key output format.btitle "title" output.check format.bvolume output format.number.series output publisher empty$ { format.organization.address output } { organization "organization" bibinfo.check output format.publisher.address output } if$ format.isbn output format.issn output format.note output format.eprint output format.url output fin.entry } FUNCTION {techreport} { output.bibitem format.authors "author" output.check author format.key output format.tr.number output.nonnull institution "institution" bibinfo.warn output address "address" bibinfo.check output format.date "year" output.check format.note output format.eprint output format.url output fin.entry } FUNCTION {unpublished} { output.bibitem format.authors "author" output.check author format.key output format.date.misc format.note "note" output.check format.eprint output format.url output fin.entry } FUNCTION {default.type} { misc } READ FUNCTION {sortify} { purify$ "l" change.case$ } INTEGERS { len } FUNCTION {chop.word} { 's := 'len := s #1 len substring$ = { s len #1 + global.max$ substring$ } 's if$ } FUNCTION {format.lab.names} { 's := "" 't := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > { pop$ " " * bbl.etal * cite.name.font "others" 't := } { #2 < 'skip$ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " " * bbl.etal * cite.name.font "others" 't := } { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ * } if$ } if$ } if$ t "others" = 'skip$ { cite.name.font } if$ } FUNCTION {author.key.label} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.lab.names } if$ } FUNCTION {author.editor.key.label} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } { author format.lab.names } if$ } FUNCTION {editor.key.label} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.label 'author.key.label if$ } if$ 'short.list := } FUNCTION {calc.label} { calc.short.authors short.list "(" * year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ if$ * 'label := } FUNCTION {sort.format.names} { 's := #1 'nameptr := "" s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := nameptr #1 > { nameptr #0 #10 + #1 + = numnames #0 #10 + > and { "others" 't := #1 'namesleft := } 'skip$ if$ " " * namesleft #1 = t "others" = and { "zzzzz" * } { t sortify * } if$ } { t sortify * } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {sort.format.title} { 't := "A " #2 "An " #3 "The " #4 t chop.word chop.word chop.word sortify #1 global.max$ substring$ } FUNCTION {author.sort} { author empty$ { key empty$ { "to sort, need author or key in " cite$ * warning$ "" } { key sortify } if$ } { author sort.format.names } if$ } FUNCTION {author.editor.sort} { author empty$ { editor empty$ { key empty$ { "to sort, need author, editor, or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } { author sort.format.names } if$ } FUNCTION {editor.sort} { editor empty$ { key empty$ { "to sort, need editor or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } INTEGERS { seq.num } FUNCTION {init.seq} { #0 'seq.num :=} EXECUTE {init.seq} FUNCTION {int.to.fix} { "000000000" swap$ int.to.str$ * #-1 #10 substring$ } FUNCTION {presort} { calc.label label sortify " " * seq.num #1 + 'seq.num := seq.num int.to.fix 'sort.label := sort.label * " " * title field.or.null sort.format.title * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {presort} SORT STRINGS { last.label next.extra } INTEGERS { last.extra.num number.label } FUNCTION {initialize.extra.label.stuff} { #0 int.to.chr$ 'last.label := "" 'next.extra := #0 'last.extra.num := #0 'number.label := } FUNCTION {forward.pass} { last.label label = { last.extra.num #1 + 'last.extra.num := last.extra.num int.to.chr$ 'extra.label := } { "a" chr.to.int$ 'last.extra.num := "" 'extra.label := label 'last.label := } if$ number.label #1 + 'number.label := } FUNCTION {reverse.pass} { next.extra "b" = { "a" 'extra.label := } 'skip$ if$ extra.label 'next.extra := extra.label duplicate$ empty$ 'skip$ { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := label extra.label * 'label := } EXECUTE {initialize.extra.label.stuff} ITERATE {forward.pass} REVERSE {reverse.pass} FUNCTION {bib.sort.order} { sort.label " " * year field.or.null sortify * " " * title field.or.null sort.format.title * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {bib.sort.order} SORT FUNCTION {begin.bib} { preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ "\begin{thebibliography}{" number.label int.to.str$ * "}" * write$ newline$ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname bibnamefont\endcsname\relax" write$ newline$ " \def\bibnamefont#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname bibfnamefont\endcsname\relax" write$ newline$ " \def\bibfnamefont#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname citenamefont\endcsname\relax" write$ newline$ " \def\citenamefont#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname url\endcsname\relax" write$ newline$ " \def\url#1{\texttt{#1}}\fi" write$ newline$ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" write$ newline$ "\providecommand{\bibinfo}[2]{#2}" write$ newline$ "\providecommand{\eprint}[2][]{\url{#2}}" write$ newline$ } EXECUTE {begin.bib} EXECUTE {init.state.consts} ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} %% End of customized bst file %% %% End of file `apsrev.bst'. extrarpms/revtex4/apsrmp.bst0100644000076400007640000012634407332606040015525 0ustar karenkaren%% %% This is file `apsrmp.bst', %% generated with the docstrip utility. %% %% The original source files were: %% %% merlin.mbs (with options: `head,ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}') %% physjour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}') %% geojour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}') %% photjour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}') %% merlin.mbs (with options: `tail,ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}') %% ---------------------------------------- %% *** REVTeX-compatible apsrmp.bst 1702 *** %% %% Copyright 1994-2000 Patrick W Daly % =============================================================== % IMPORTANT NOTICE: % This bibliographic style (bst) file has been generated from one or % more master bibliographic style (mbs) files, listed above. % % This generated file 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; either % version 1 of the License, or any later version. % =============================================================== % Name and version information of the main mbs file: % \ProvidesFile{merlin.mbs}[2000/05/04 4.01 (PWD, AO, DPC)] % For use with BibTeX version 0.99a or later %------------------------------------------------------------------- % This bibliography style file is intended for texts in ENGLISH % This is an author-year citation style bibliography. As such, it is % non-standard LaTeX, and requires a special package file to function properly. % Such a package is natbib.sty by Patrick W. Daly % The form of the \bibitem entries is % \bibitem[Jones et al.(1990)]{key}... % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... % The essential feature is that the label (the part in brackets) consists % of the author names, as they should appear in the citation, with the year % in parentheses following. There must be no space before the opening % parenthesis! % With natbib v5.3, a full list of authors may also follow the year. % In natbib.sty, it is possible to define the type of enclosures that is % really wanted (brackets or parentheses), but in either case, there must % be parentheses in the label. % The \cite command functions as follows: % \citet{key} ==>> Jones et al. (1990) % \citet*{key} ==>> Jones, Baker, and Smith (1990) % \citep{key} ==>> (Jones et al., 1990) % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) % \citeauthor{key} ==>> Jones et al. % \citeauthor*{key} ==>> Jones, Baker, and Smith % \citeyear{key} ==>> 1990 %--------------------------------------------------------------------- ENTRY { address archive author booktitle chapter collaboration edition editor eid eprint howpublished institution isbn issn journal key month note number numpages organization pages publisher school series title type url volume year } {} { label extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block } FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := } STRINGS { s t} FUNCTION {output.nonnull} { 's := output.state mid.sentence = { ", " * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output} { duplicate$ empty$ 'pop$ 'output.nonnull if$ } FUNCTION {output.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ } FUNCTION {fin.entry} { add.period$ write$ newline$ } FUNCTION {new.block} { output.state before.all = 'skip$ { after.block 'output.state := } if$ } FUNCTION {new.sentence} { output.state after.block = 'skip$ { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } if$ } FUNCTION {add.blank} { " " * before.all 'output.state := } FUNCTION {date.block} { skip$ } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {new.block.checkb} { empty$ swap$ empty$ and 'skip$ 'new.block if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "\emph{" swap$ * "}" * } if$ } FUNCTION {bolden} { duplicate$ empty$ { pop$ "" } { "\textbf{" swap$ * "}" * } if$ } FUNCTION {bib.name.font} { duplicate$ empty$ { pop$ "" } { "\bibnamefont{" swap$ * "}" * } if$ } FUNCTION {bib.fname.font} { duplicate$ empty$ { pop$ "" } { "\bibfnamefont{" swap$ * "}" * } if$ } FUNCTION {cite.name.font} { duplicate$ empty$ { pop$ "" } { "\citenamefont{" swap$ * "}" * } if$ } FUNCTION {tie.or.space.prefix} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ } FUNCTION {capitalize} { "u" change.case$ "t" change.case$ } FUNCTION {space.word} { " " swap$ * " " * } % Here are the language-specific definitions for explicit words. % Each function has a name bbl.xxx where xxx is the English word. % The language selected here is ENGLISH FUNCTION {bbl.and} { "and"} FUNCTION {bbl.etal} { "et~al." } FUNCTION {bbl.editors} { "eds." } FUNCTION {bbl.editor} { "ed." } FUNCTION {bbl.edby} { "edited by" } FUNCTION {bbl.edition} { "edition" } FUNCTION {bbl.volume} { "volume" } FUNCTION {bbl.of} { "of" } FUNCTION {bbl.number} { "number" } FUNCTION {bbl.nr} { "no." } FUNCTION {bbl.in} { "in" } FUNCTION {bbl.pages} { "pp." } FUNCTION {bbl.page} { "p." } FUNCTION {bbl.eidpp} { "pages" } FUNCTION {bbl.chapter} { "chapter" } FUNCTION {bbl.techrep} { "Technical Report" } FUNCTION {bbl.mthesis} { "Master's thesis" } FUNCTION {bbl.phdthesis} { "Ph.D. thesis" } MACRO {jan} {"January"} MACRO {feb} {"February"} MACRO {mar} {"March"} MACRO {apr} {"April"} MACRO {may} {"May"} MACRO {jun} {"June"} MACRO {jul} {"July"} MACRO {aug} {"August"} MACRO {sep} {"September"} MACRO {oct} {"October"} MACRO {nov} {"November"} MACRO {dec} {"December"} %------------------------------------------------------------------- % Begin module: % \ProvidesFile{physjour.mbs}[1999/10/05 2.1 (PWD)] MACRO {aa}{"Astron. \& Astrophys."} MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} MACRO {aj} {"Astron. J."} MACRO {aph} {"Acta Phys."} MACRO {advp} {"Adv. Phys."} MACRO {ajp} {"Amer. J. Phys."} MACRO {ajm} {"Amer. J. Math."} MACRO {amsci} {"Amer. Sci."} MACRO {anofd} {"Ann. Fluid Dyn."} MACRO {am} {"Ann. Math."} MACRO {ap} {"Ann. Phys. (NY)"} MACRO {adp} {"Ann. Phys. (Leipzig)"} MACRO {ao} {"Appl. Opt."} MACRO {apl} {"Appl. Phys. Lett."} MACRO {app} {"Astroparticle Phys."} MACRO {apj} {"Astrophys. J."} MACRO {apjsup} {"Astrophys. J. Suppl."} MACRO {apss} {"Astrophys. Space Sci."} MACRO {araa} {"Ann. Rev. Astron. Astrophys."} MACRO {baas} {"Bull. Amer. Astron. Soc."} MACRO {baps} {"Bull. Amer. Phys. Soc."} MACRO {cmp} {"Comm. Math. Phys."} MACRO {cpam} {"Commun. Pure Appl. Math."} MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} MACRO {cpc} {"Comp. Phys. Comm."} MACRO {cqg} {"Class. Quant. Grav."} MACRO {cra} {"C. R. Acad. Sci. A"} MACRO {fed} {"Fusion Eng. \& Design"} MACRO {ft} {"Fusion Tech."} MACRO {grg} {"Gen. Relativ. Gravit."} MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} MACRO {ip} {"Infrared Phys."} MACRO {irp} {"Infrared Phys."} MACRO {jap} {"J. Appl. Phys."} MACRO {jasa} {"J. Acoust. Soc. America"} MACRO {jcp} {"J. Comp. Phys."} MACRO {jetp} {"Sov. Phys.--JETP"} MACRO {jfe} {"J. Fusion Energy"} MACRO {jfm} {"J. Fluid Mech."} MACRO {jmp} {"J. Math. Phys."} MACRO {jne} {"J. Nucl. Energy"} MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} MACRO {jnm} {"J. Nucl. Mat."} MACRO {jpc} {"J. Phys. Chem."} MACRO {jpp} {"J. Plasma Phys."} MACRO {jpsj} {"J. Phys. Soc. Japan"} MACRO {jsi} {"J. Sci. Instrum."} MACRO {jvst} {"J. Vac. Sci. \& Tech."} MACRO {nat} {"Nature"} MACRO {nature} {"Nature"} MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} MACRO {nf} {"Nucl. Fusion"} MACRO {nim} {"Nucl. Inst. \& Meth."} MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} MACRO {np} {"Nucl. Phys."} MACRO {npb} {"Nucl. Phys. B"} MACRO {nt/f} {"Nucl. Tech./Fusion"} MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} MACRO {inc} {"Nuovo Cimento"} MACRO {nc} {"Nuovo Cimento"} MACRO {pf} {"Phys. Fluids"} MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} MACRO {pl} {"Phys. Lett."} MACRO {pla} {"Phys. Lett. A"} MACRO {plb} {"Phys. Lett. B"} MACRO {prep} {"Phys. Rep."} MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} MACRO {pp} {"Phys. Plasmas"} MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} MACRO {prl} {"Phys. Rev. Lett."} MACRO {pr} {"Phys. Rev."} MACRO {physrev} {"Phys. Rev."} MACRO {pra} {"Phys. Rev. A"} MACRO {prb} {"Phys. Rev. B"} MACRO {prc} {"Phys. Rev. C"} MACRO {prd} {"Phys. Rev. D"} MACRO {pre} {"Phys. Rev. E"} MACRO {ps} {"Phys. Scripta"} MACRO {procrsl} {"Proc. Roy. Soc. London"} MACRO {rmp} {"Rev. Mod. Phys."} MACRO {rsi} {"Rev. Sci. Inst."} MACRO {science} {"Science"} MACRO {sciam} {"Sci. Am."} MACRO {sam} {"Stud. Appl. Math."} MACRO {sjpp} {"Sov. J. Plasma Phys."} MACRO {spd} {"Sov. Phys.--Doklady"} MACRO {sptp} {"Sov. Phys.--Tech. Phys."} MACRO {spu} {"Sov. Phys.--Uspeki"} MACRO {st} {"Sky and Telesc."} % End module: physjour.mbs %------------------------------------------------------------------- % Begin module: % \ProvidesFile{geojour.mbs}[1999/11/16 2.0g (PWD)] MACRO {aisr} {"Adv. Space Res."} MACRO {ag} {"Ann. Geophys."} MACRO {anigeo} {"Ann. Geofis."} MACRO {angl} {"Ann. Glaciol."} MACRO {andmet} {"Ann. d. Meteor."} MACRO {andgeo} {"Ann. d. Geophys."} MACRO {andphy} {"Ann. Phys.-Paris"} MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."} MACRO {atph} {"Atm\'osphera"} MACRO {aao} {"Atmos. Ocean"} MACRO {ass}{"Astrophys. Space Sci."} MACRO {atenv} {"Atmos. Environ."} MACRO {aujag} {"Aust. J. Agr. Res."} MACRO {aumet} {"Aust. Meteorol. Mag."} MACRO {blmet} {"Bound.-Lay. Meteorol."} MACRO {bams} {"Bull. Amer. Meteorol. Soc."} MACRO {cch} {"Clim. Change"} MACRO {cdyn} {"Clim. Dynam."} MACRO {cbul} {"Climatol. Bull."} MACRO {cap} {"Contrib. Atmos. Phys."} MACRO {dsr} {"Deep-Sea Res."} MACRO {dhz} {"Dtsch. Hydrogr. Z."} MACRO {dao} {"Dynam. Atmos. Oceans"} MACRO {eco} {"Ecology"} MACRO {empl}{"Earth, Moon and Planets"} MACRO {envres} {"Environ. Res."} MACRO {envst} {"Environ. Sci. Technol."} MACRO {ecms} {"Estuarine Coastal Mar. Sci."} MACRO {expa}{"Exper. Astron."} MACRO {geoint} {"Geofis. Int."} MACRO {geopub} {"Geofys. Publ."} MACRO {geogeo} {"Geol. Geofiz."} MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."} MACRO {gfd} {"Geophys. Fluid Dyn."} MACRO {geomag} {"Geophys. Mag."} MACRO {georl} {"Geophys. Res. Lett."} MACRO {grl} {"Geophys. Res. Lett."} MACRO {ga} {"Geophysica"} MACRO {gs} {"Geophysics"} MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."} MACRO {ijawp} {"Int. J. Air Water Pollut."} MACRO {ijc} {"Int. J. Climatol."} MACRO {ijrs} {"Int. J. Remote Sens."} MACRO {jam} {"J. Appl. Meteorol."} MACRO {jaot} {"J. Atmos. Ocean. Technol."} MACRO {jatp} {"J. Atmos. Terr. Phys."} MACRO {jce} {"J. Climate"} MACRO {jcam} {"J. Climate Appl. Meteor."} MACRO {jcm} {"J. Climate Meteor."} MACRO {jcy} {"J. Climatol."} MACRO {jgr} {"J. Geophys. Res."} MACRO {jga} {"J. Glaciol."} MACRO {jh} {"J. Hydrol."} MACRO {jmr} {"J. Mar. Res."} MACRO {jmrj} {"J. Meteor. Res. Japan"} MACRO {jm} {"J. Meteor."} MACRO {jpo} {"J. Phys. Oceanogr."} MACRO {jra} {"J. Rech. Atmos."} MACRO {jaes} {"J. Aeronaut. Sci."} MACRO {japca} {"J. Air Pollut. Control Assoc."} MACRO {jas} {"J. Atmos. Sci."} MACRO {jmts} {"J. Mar. Technol. Soc."} MACRO {jmsj} {"J. Meteorol. Soc. Japan"} MACRO {josj} {"J. Oceanogr. Soc. Japan"} MACRO {jwm} {"J. Wea. Mod."} MACRO {lao} {"Limnol. Oceanogr."} MACRO {mwl} {"Mar. Wea. Log"} MACRO {mau} {"Mausam"} MACRO {meteor} {"``Meteor'' Forschungsergeb."} MACRO {map} {"Meteorol. Atmos. Phys."} MACRO {metmag} {"Meteor. Mag."} MACRO {metmon} {"Meteor. Monogr."} MACRO {metrun} {"Meteor. Rundsch."} MACRO {metzeit} {"Meteor. Z."} MACRO {metgid} {"Meteor. Gidrol."} MACRO {mwr} {"Mon. Weather Rev."} MACRO {nwd} {"Natl. Weather Dig."} MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."} MACRO {npg} {"Nonlin. Proc. Geophys."} MACRO {om} {"Oceanogr. Meteorol."} MACRO {ocac} {"Oceanol. Acta"} MACRO {oceanus} {"Oceanus"} MACRO {paleoc} {"Paleoceanography"} MACRO {pce} {"Phys. Chem. Earth"} MACRO {pmg} {"Pap. Meteor. Geophys."} MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."} MACRO {physzeit} {"Phys. Z."} MACRO {pps} {"Planet. Space Sci."} MACRO {pss} {"Planet. Space Sci."} MACRO {pag} {"Pure Appl. Geophys."} MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."} MACRO {quatres} {"Quat. Res."} MACRO {rsci} {"Radio Sci."} MACRO {rse} {"Remote Sens. Environ."} MACRO {rgeo} {"Rev. Geophys."} MACRO {rgsp} {"Rev. Geophys. Space Phys."} MACRO {rdgeo} {"Rev. Geofis."} MACRO {revmeta} {"Rev. Meteorol."} MACRO {sgp}{"Surveys in Geophys."} MACRO {sp} {"Solar Phys."} MACRO {ssr} {"Space Sci. Rev."} MACRO {tellus} {"Tellus"} MACRO {tac} {"Theor. Appl. Climatol."} MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"} MACRO {wrr} {"Water Resour. Res."} MACRO {weather} {"Weather"} MACRO {wafc} {"Weather Forecast."} MACRO {ww} {"Weatherwise"} MACRO {wmob} {"WMO Bull."} MACRO {zeitmet} {"Z. Meteorol."} % End module: geojour.mbs %------------------------------------------------------------------- % Begin module: % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] MACRO {appopt} {"Appl. Opt."} MACRO {bell} {"Bell Syst. Tech. J."} MACRO {ell} {"Electron. Lett."} MACRO {jasp} {"J. Appl. Spectr."} MACRO {jqe} {"IEEE J. Quantum Electron."} MACRO {jlwt} {"J. Lightwave Technol."} MACRO {jmo} {"J. Mod. Opt."} MACRO {josa} {"J. Opt. Soc. America"} MACRO {josaa} {"J. Opt. Soc. Amer.~A"} MACRO {josab} {"J. Opt. Soc. Amer.~B"} MACRO {jdp} {"J. Phys. (Paris)"} MACRO {oc} {"Opt. Commun."} MACRO {ol} {"Opt. Lett."} MACRO {phtl} {"IEEE Photon. Technol. Lett."} MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} MACRO {sse} {"Solid-State Electron."} MACRO {sjot} {"Sov. J. Opt. Technol."} MACRO {sjqe} {"Sov. J. Quantum Electron."} MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} MACRO {stph} {"Sov. Phys.--Techn. Phys."} MACRO {stphl} {"Sov. Techn. Phys. Lett."} MACRO {vr} {"Vision Res."} MACRO {zph} {"Z. f. Physik"} MACRO {zphb} {"Z. f. Physik~B"} MACRO {zphd} {"Z. f. Physik~D"} MACRO {CLEO} {"CLEO"} MACRO {ASSL} {"Adv. Sol.-State Lasers"} MACRO {OSA} {"OSA"} % End module: photjour.mbs %% Copyright 1994-2000 Patrick W Daly MACRO {acmcs} {"ACM Comput. Surv."} MACRO {acta} {"Acta Inf."} MACRO {cacm} {"Commun. ACM"} MACRO {ibmjrd} {"IBM J. Res. Dev."} MACRO {ibmsj} {"IBM Syst.~J."} MACRO {ieeese} {"IEEE Trans. Software Eng."} MACRO {ieeetc} {"IEEE Trans. Comput."} MACRO {ieeetcad} {"IEEE Trans. Comput. Aid. Des."} MACRO {ipl} {"Inf. Process. Lett."} MACRO {jacm} {"J.~ACM"} MACRO {jcss} {"J.~Comput. Syst. Sci."} MACRO {scp} {"Sci. Comput. Program."} MACRO {sicomp} {"SIAM J. Comput."} MACRO {tocs} {"ACM Trans. Comput. Syst."} MACRO {tods} {"ACM Trans. Database Syst."} MACRO {tog} {"ACM Trans. Graphic."} MACRO {toms} {"ACM Trans. Math. Software"} MACRO {toois} {"ACM Trans. Office Inf. Syst."} MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} MACRO {tcs} {"Theor. Comput. Sci."} FUNCTION {bibinfo.check} { swap$ duplicate$ missing$ { pop$ pop$ "" } { duplicate$ empty$ { swap$ pop$ } { swap$ "\bibinfo{" swap$ * "}{" * swap$ * "}" * } if$ } if$ } FUNCTION {bibinfo.warn} { swap$ duplicate$ missing$ { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" } { duplicate$ empty$ { swap$ "empty " swap$ * " in " * cite$ * warning$ } { swap$ "\bibinfo{" swap$ * "}{" * swap$ * "}" * } if$ } if$ } FUNCTION {format.eprint} { eprint duplicate$ empty$ 'skip$ { "\eprint" archive empty$ 'skip$ { "[" * archive * "]" * } if$ "{" * swap$ * "}" * } if$ } FUNCTION {format.url} { url empty$ { "" } { "\urlprefix\url{" url * "}" * } if$ } STRINGS { bibinfo} INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} { 'bibinfo := duplicate$ empty$ 'skip$ { 's := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr nameptr #1 > { "{f.}" format.name$ duplicate$ empty$ 'skip$ { tie.or.space.prefix bib.fname.font swap$ * } if$ s nameptr "{vv~}{ll}" format.name$ bib.name.font * s nameptr "{jj}" format.name$ duplicate$ empty$ 'skip$ { bib.fname.font ", " swap$ * } if$ } { "{vv~}{ll}" format.name$ bib.name.font s nameptr "{f.}{, jj}" format.name$ duplicate$ empty$ 'skip$ { bib.fname.font ", " swap$ * } if$ } if$ * bibinfo bibinfo.check 't := nameptr #1 > { nameptr #2 #10 + #1 + = numnames #2 #10 + > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { "," * s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { " " * bbl.etal emphasize * } { bbl.and space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } if$ } FUNCTION {format.names.ed} { 'bibinfo := duplicate$ empty$ 'skip$ { 's := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{f.}" format.name$ duplicate$ empty$ 'skip$ { tie.or.space.prefix bib.fname.font swap$ * } if$ s nameptr "{vv~}{ll}" format.name$ bib.name.font * s nameptr "{jj}" format.name$ duplicate$ empty$ 'skip$ { bib.fname.font ", " swap$ * } if$ * bibinfo bibinfo.check 't := nameptr #1 > { namesleft #1 > { ", " * t * } { numnames #2 > { "," * } 'skip$ if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { " " * bbl.etal emphasize * } { bbl.and space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } if$ } FUNCTION {format.key} { empty$ { key field.or.null } { "" } if$ } FUNCTION {format.authors} { author "author" format.names duplicate$ empty$ 'skip$ { collaboration "collaboration" bibinfo.check duplicate$ empty$ 'skip$ { " (" swap$ * ")" * } if$ * } if$ } FUNCTION {get.bbl.editor} { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } FUNCTION {format.editors} { editor "editor" format.names duplicate$ empty$ 'skip$ { " " * get.bbl.editor "(" swap$ * ")" * * } if$ } FUNCTION {format.isbn} { isbn "isbn" bibinfo.check duplicate$ empty$ 'skip$ { "ISBN " swap$ * } if$ } FUNCTION {format.issn} { issn "issn" bibinfo.check duplicate$ empty$ 'skip$ { "ISSN " swap$ * } if$ } FUNCTION {format.note} { note empty$ { "" } { note #1 #1 substring$ duplicate$ "{" = 'skip$ { output.state mid.sentence = { "l" } { "u" } if$ change.case$ } if$ note #2 global.max$ substring$ * "note" bibinfo.check } if$ } FUNCTION {format.title} { title duplicate$ empty$ { skip$ } { "t" change.case$ } if$ "title" bibinfo.check } FUNCTION {format.full.names} {'s := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}" format.name$ 't := nameptr #1 > { nameptr #2 #10 + #1 + = numnames #2 #10 + > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { cite.name.font " " * bbl.etal emphasize * } { numnames #2 > { "," * } 'skip$ if$ bbl.and space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ t "others" = 'skip$ { cite.name.font } if$ } FUNCTION {author.editor.key.full} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.full.names } if$ } { author format.full.names } if$ } FUNCTION {author.key.full} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.full.names } if$ } FUNCTION {editor.key.full} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.full.names } if$ } FUNCTION {make.full.names} { type$ "book" = type$ "inbook" = or 'author.editor.key.full { type$ "proceedings" = 'editor.key.full 'author.key.full if$ } if$ } FUNCTION {output.bibitem} { newline$ "\bibitem[{" write$ label write$ ")" make.full.names duplicate$ short.list = { pop$ } { * } if$ "}]{" * write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := } FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {word.in} { bbl.in " " * } FUNCTION {format.date} { year "year" bibinfo.check duplicate$ empty$ { "empty year in " cite$ * "; set to ????" * warning$ pop$ "????" } 'skip$ if$ extra.label * before.all 'output.state := ", " swap$ * } FUNCTION {format.date.misc} { format.date "year" output.check } FUNCTION {format.btitle} { title "title" bibinfo.check duplicate$ empty$ 'skip$ { emphasize } if$ } FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } FUNCTION {format.bvolume} { volume empty$ { "" } { bbl.volume volume tie.or.space.prefix "volume" bibinfo.check * * series "series" bibinfo.check duplicate$ empty$ 'pop$ { swap$ bbl.of space.word * swap$ emphasize * } if$ "volume and number" number either.or.check } if$ } FUNCTION {format.number.series} { volume empty$ { number empty$ { series field.or.null } { series empty$ { number "number" bibinfo.check } { output.state mid.sentence = { bbl.number } { bbl.number capitalize } if$ number tie.or.space.prefix "number" bibinfo.check * * bbl.in space.word * series "series" bibinfo.check * } if$ } if$ } { "" } if$ } FUNCTION {format.edition} { edition duplicate$ empty$ 'skip$ { output.state mid.sentence = { "l" } { "t" } if$ change.case$ "edition" bibinfo.check " " * bbl.edition * } if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {format.pages} { pages duplicate$ empty$ 'skip$ { duplicate$ multi.page.check { bbl.pages swap$ n.dashify } { bbl.page swap$ } if$ tie.or.space.prefix "pages" bibinfo.check * * } if$ } FUNCTION {first.page} { 't := "" { t empty$ not t #1 #1 substring$ "-" = not and } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } while$ } FUNCTION {format.journal.pages} { pages duplicate$ empty$ 'pop$ { swap$ duplicate$ empty$ { pop$ pop$ format.pages } { ", " * swap$ first.page "pages" bibinfo.check * } if$ } if$ } FUNCTION {format.journal.eid} { eid "eid" bibinfo.check duplicate$ empty$ 'skip$ { swap$ duplicate$ empty$ 'skip$ { ", " * } if$ swap$ numpages empty$ 'skip$ { bbl.eidpp numpages tie.or.space.prefix "numpages" bibinfo.check * * " (" swap$ * ")" * * } if$ } if$ * } FUNCTION {format.vol.num.pages} { volume field.or.null duplicate$ empty$ 'skip$ { "volume" bibinfo.check } if$ bolden number "number" bibinfo.check duplicate$ empty$ 'skip$ { swap$ duplicate$ empty$ { "there's a number but no volume in " cite$ * warning$ } 'skip$ if$ swap$ "(" swap$ * ")" * } if$ * } FUNCTION {format.chapter.pages} { chapter empty$ { "" } { type empty$ { bbl.chapter } { type "l" change.case$ "type" bibinfo.check } if$ chapter tie.or.space.prefix "chapter" bibinfo.check * * } if$ } FUNCTION {format.booktitle} { booktitle "booktitle" bibinfo.check emphasize } FUNCTION {format.in.ed.booktitle} { format.booktitle duplicate$ empty$ 'skip$ { editor "editor" format.names.ed duplicate$ empty$ 'pop$ { bbl.edby " " * swap$ * swap$ "," * " " * swap$ * } if$ word.in swap$ * } if$ } FUNCTION {format.thesis.type} { type duplicate$ empty$ 'pop$ { swap$ pop$ "t" change.case$ "type" bibinfo.check } if$ } FUNCTION {format.tr.number} { number "number" bibinfo.check type duplicate$ empty$ { pop$ bbl.techrep } 'skip$ if$ "type" bibinfo.check swap$ duplicate$ empty$ { pop$ "t" change.case$ } { tie.or.space.prefix * * } if$ } FUNCTION {format.article.crossref} { word.in " \cite{" * crossref * "}" * } FUNCTION {format.book.crossref} { volume duplicate$ empty$ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ pop$ word.in } { bbl.volume swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * } if$ " \cite{" * crossref * "}" * } FUNCTION {format.incoll.inproc.crossref} { word.in " \cite{" * crossref * "}" * } FUNCTION {format.org.or.pub} { 't := "" address empty$ t empty$ and 'skip$ { add.blank "(" * t empty$ { address "address" bibinfo.check * } { t * address empty$ 'skip$ { ", " * address "address" bibinfo.check * } if$ } if$ ")" * } if$ } FUNCTION {format.publisher.address} { publisher "publisher" bibinfo.warn format.org.or.pub } FUNCTION {format.organization.address} { organization "organization" bibinfo.check format.org.or.pub } FUNCTION {article} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block crossref missing$ { "" journal duplicate$ empty$ { pop$ pop$ } { "journal" bibinfo.check * "journal" output.check add.blank } if$ format.vol.num.pages output } { format.article.crossref output.nonnull } if$ eid empty$ { format.journal.pages } { format.journal.eid } if$ format.issn output format.note output journal empty$ volume empty$ or { format.eprint output } {} if$ format.url output fin.entry } FUNCTION {book} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ format.date "year" output.check date.block format.btitle "title" output.check crossref missing$ { format.bvolume output format.number.series output format.publisher.address output } { format.book.crossref output.nonnull } if$ format.edition output format.isbn output format.note output format.eprint output format.url output fin.entry } FUNCTION {booklet} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.title "title" output.check howpublished "howpublished" bibinfo.check output address "address" bibinfo.check output format.isbn output format.note output format.eprint output format.url output fin.entry } FUNCTION {inbook} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ format.date "year" output.check date.block format.btitle "title" output.check crossref missing$ { format.publisher.address output format.bvolume output format.chapter.pages "chapter and pages" output.check format.number.series output } { format.chapter.pages "chapter and pages" output.check format.book.crossref output.nonnull } if$ format.edition output crossref missing$ { format.isbn output } 'skip$ if$ format.pages "pages" output.check format.note output format.eprint output format.url output fin.entry } FUNCTION {incollection} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block crossref missing$ { format.in.ed.booktitle "booktitle" output.check format.publisher.address output format.bvolume output format.number.series output format.chapter.pages output format.edition output format.isbn output } { format.incoll.inproc.crossref output.nonnull format.chapter.pages output } if$ format.pages "pages" output.check format.note output format.eprint output format.url output fin.entry } FUNCTION {inproceedings} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block crossref missing$ { format.in.ed.booktitle "booktitle" output.check publisher empty$ { format.organization.address output } { organization "organization" bibinfo.check output format.publisher.address output } if$ format.bvolume output format.number.series output format.pages output format.isbn output format.issn output } { format.incoll.inproc.crossref output.nonnull format.pages output } if$ format.note output format.eprint output format.url output fin.entry } FUNCTION {conference} { inproceedings } FUNCTION {manual} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.btitle "title" output.check organization "organization" bibinfo.check output address "address" bibinfo.check output format.edition output format.note output format.eprint output format.url output fin.entry } FUNCTION {mastersthesis} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.btitle "title" output.check bbl.mthesis format.thesis.type output.nonnull school "school" bibinfo.warn output address "address" bibinfo.check output format.note output format.eprint output format.url output fin.entry } FUNCTION {misc} { output.bibitem format.authors output author format.key output format.date.misc date.block format.title output howpublished "howpublished" bibinfo.check output format.note output format.eprint output format.url output fin.entry } FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.btitle "title" output.check bbl.phdthesis format.thesis.type output.nonnull school "school" bibinfo.warn output address "address" bibinfo.check output format.note output format.eprint output format.url output fin.entry } FUNCTION {proceedings} { output.bibitem format.editors output editor format.key output format.date "year" output.check date.block format.btitle "title" output.check format.bvolume output format.number.series output publisher empty$ { format.organization.address output } { organization "organization" bibinfo.check output format.publisher.address output } if$ format.isbn output format.issn output format.note output format.eprint output format.url output fin.entry } FUNCTION {techreport} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.btitle "title" output.check format.tr.number output.nonnull institution "institution" bibinfo.warn output address "address" bibinfo.check output format.note output format.eprint output format.url output fin.entry } FUNCTION {unpublished} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check format.note "note" output.check format.eprint output format.url output fin.entry } FUNCTION {default.type} { misc } READ FUNCTION {sortify} { purify$ "l" change.case$ } INTEGERS { len } FUNCTION {chop.word} { 's := 'len := s #1 len substring$ = { s len #1 + global.max$ substring$ } 's if$ } FUNCTION {format.lab.names} { 's := "" 't := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > { pop$ cite.name.font " " * bbl.etal emphasize * "others" 't := } { #2 < 'skip$ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " " * bbl.etal emphasize * "others" 't := } { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ * } if$ } if$ } if$ t "others" = 'skip$ { cite.name.font } if$ } FUNCTION {author.key.label} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.lab.names } if$ } FUNCTION {author.editor.key.label} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } { author format.lab.names } if$ } FUNCTION {editor.key.label} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.label 'author.key.label if$ } if$ 'short.list := } FUNCTION {calc.label} { calc.short.authors short.list "(" * year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ if$ * 'label := } FUNCTION {sort.format.names} { 's := #1 'nameptr := "" s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := nameptr #1 > { nameptr #2 #10 + #1 + = numnames #2 #10 + > and { "others" 't := #1 'namesleft := } 'skip$ if$ " " * namesleft #1 = t "others" = and { "zzzzz" * } { t sortify * } if$ } { t sortify * } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {sort.format.title} { 't := "A " #2 "An " #3 "The " #4 t chop.word chop.word chop.word sortify #1 global.max$ substring$ } FUNCTION {author.sort} { author empty$ { key empty$ { "to sort, need author or key in " cite$ * warning$ "" } { key sortify } if$ } { author sort.format.names } if$ } FUNCTION {author.editor.sort} { author empty$ { editor empty$ { key empty$ { "to sort, need author, editor, or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } { author sort.format.names } if$ } FUNCTION {editor.sort} { editor empty$ { key empty$ { "to sort, need editor or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } FUNCTION {presort} { calc.label label sortify " " * type$ "book" = type$ "inbook" = or 'author.editor.sort { type$ "proceedings" = 'editor.sort 'author.sort if$ } if$ #1 entry.max$ substring$ 'sort.label := sort.label * " " * title field.or.null sort.format.title * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {presort} SORT STRINGS { last.label next.extra } INTEGERS { last.extra.num number.label } FUNCTION {initialize.extra.label.stuff} { #0 int.to.chr$ 'last.label := "" 'next.extra := #0 'last.extra.num := #0 'number.label := } FUNCTION {forward.pass} { last.label label = { last.extra.num #1 + 'last.extra.num := last.extra.num int.to.chr$ 'extra.label := } { "a" chr.to.int$ 'last.extra.num := "" 'extra.label := label 'last.label := } if$ number.label #1 + 'number.label := } FUNCTION {reverse.pass} { next.extra "b" = { "a" 'extra.label := } 'skip$ if$ extra.label 'next.extra := extra.label duplicate$ empty$ 'skip$ { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := label extra.label * 'label := } EXECUTE {initialize.extra.label.stuff} ITERATE {forward.pass} REVERSE {reverse.pass} FUNCTION {bib.sort.order} { sort.label " " * year field.or.null sortify * " " * title field.or.null sort.format.title * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {bib.sort.order} SORT FUNCTION {begin.bib} { preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ "\begin{thebibliography}{" number.label int.to.str$ * "}" * write$ newline$ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname bibnamefont\endcsname\relax" write$ newline$ " \def\bibnamefont#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname bibfnamefont\endcsname\relax" write$ newline$ " \def\bibfnamefont#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname citenamefont\endcsname\relax" write$ newline$ " \def\citenamefont#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname url\endcsname\relax" write$ newline$ " \def\url#1{\texttt{#1}}\fi" write$ newline$ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" write$ newline$ "\providecommand{\bibinfo}[2]{#2}" write$ newline$ "\providecommand{\eprint}[2][]{\url{#2}}" write$ newline$ } EXECUTE {begin.bib} EXECUTE {init.state.consts} ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} %% End of customized bst file %% %% End of file `apsrmp.bst'. extrarpms/revtex4/docs/0040755000076400007640000000000007332612224014433 5ustar karenkarenextrarpms/revtex4/docs/auguide.rty0100644000076400007640000000002207332604463016613 0ustar karenkaren\input{docs.sty}% extrarpms/revtex4/docs/auguide.tex0100644000076400007640000021406707332604675016622 0ustar karenkaren%% ****** Start of file authguide.tex ****** % %% %% This file is part of the APS files in the REVTeX 4 distribution. %% Version 4.0 of REVTeX, August, 2001 %% %% Copyright (c) 2000,2001 The American Physical Society. %% %% See the REVTeX 4 README file for restrictions and more information. %% \listfiles \documentclass[% %prl% %,preprint% ,twocolumn% ,secnumarabic% %,tightenlines% ,amssymb, amsmath,nobibnotes, aps, prl]{revtex4} %\usepackage{acrofont}%NOTE: Comment out this line for the release version! \usepackage{docs}% \usepackage{bm}% %\usepackage[colorlinks=true,linkcolor=blue]{hyperref}% %\nofiles \expandafter\ifx\csname package@font\endcsname\relax\else \expandafter\expandafter \expandafter\usepackage \expandafter\expandafter \expandafter{\csname package@font\endcsname}% \fi \begin{document} \title{\revtex~4 Author's Guide}% \author{American Physical Society}% \email{revtex@aps.org} \affiliation{1 Research Road, Ridge, NY 11961} \date{August 2001}% \maketitle \tableofcontents \section{Introduction} This is the author's guide to \revtex~4, the preferred submission format for all APS journals. This guide is intended to be a concise introduction to \revtex~4. The documentation has been separated out into smaller units to make it easier to locate essential information. The following documentation is also part of the APS \revtex~4 distribution. Updated versions of these will be maintained at the \revtex~4 homepage located at \url{http://publish.aps.org/revtex4/}. \begin{itemize} \item \textit{APS Compuscript Guide for \revtex~4} \item \textit{\revtex~4 Command and Options Summary} \item \textit{\revtex~4 Bib\TeX\ Guide} \item \textit{Differences between \revtex~4 and \revtex~3} \end{itemize} This guide assumes a working \revtex~4 installation. Please see the installation guide included with the distribution. The \revtex\ system for \LaTeX\ began its development in 1986 and has gone through three major revisions since then. All versions prior to \revtex~4 were based on \LaTeX2.09 and, until now, \revtex\ did not keep pace with the advances of the \LaTeX\ community and thus became inconvenient to work with. \revtex~4 is designed to remedy this by incorporating the following design goals: \begin{itemize} \item Make \revtex\ fully compatible with \LaTeXe; it is now a \LaTeXe\ document class, similar in function to the standard \classname{article} class. \item Rely on standard \LaTeXe\ packages for common tasks, e.g, \classname{graphicx}, \classname{color}, and \classname{hyperref}. \item Add or improve macros to support translation to tagged formats such as XML and SGML. This added markup will be key to enhancing the peer-review process and lowering production costs. \item Provide a closer approximation to the typesetting style used in \emph{Physical Review}. \item Incorporate new features, such as hypertext, to make \revtex\ a convenient and desirable e-print format. \item Relax the restrictions in \revtex\ that had only been necessary for typesetting journal camera-ready copy. \end{itemize} To meet these goals, \revtex~4 is a complete rewrite with an emphasis on maintainability so that it will be easier to provide enhancements. The \revtex~4 distribution includes both a template (\file{template.aps}) and a sample document (\file{apssamp.tex}). The template is a good starting point for a manuscript. In the following sections are instructions that should be sufficient for creating a paper using \revtex~4. \subsection{Submitting to APS Journals} Authors using \revtex~4 to prepare a manuscript for submission to \textit{Physical Review} or \textit{Reviews of Modern Physics} must also read the companion document \textit{APS Compuscript Guide for \revtex~4} distributed with \revtex\ and follow the guidelines detailed there. Further information about the compuscript program of the American Physical Society may be found at \url{http://publish.aps.org/ESUB/}. \subsection{Contact Information}\label{sec:resources}% Any bugs, problems, or inconsistencies should reported to \revtex\ support at \verb+revtex@aps.org+. Reports should include information on the error and a \textit{small} sample document that manifests the problem if possible (please don't send large files!). \section{Some \LaTeXe\ Basics} A primary design goal of \revtex~4 was to make it as compatible with standard \LaTeXe\ as possible so that authors may take advantage of all that \LaTeXe\ offers. In keeping with this goal, much of the special formatting that was built in to earlier versions of \revtex\ is now accomplished through standard \LaTeXe\ macros or packages. The books in the bibliography provide extensive coverage of all topics pertaining to preparing documents under \LaTeXe. They are highly recommended. To accomplish its goals, \revtex~4 must sometimes patch the underlying \LaTeX\ kernel. This means that \revtex~4 requires a fairly recent version of \LaTeXe. Versions prior to 1996/12/01 may not work correctly. \revtex~4 will be maintained to be compatible with future versions of \LaTeXe. \subsection{Useful \LaTeXe\ Markup} \LaTeXe\ markup is the preferred way to accomplish many basic tasks. \subsubsection{Fonts} Because \revtex~4 is based upon \LaTeXe, it inherits all of the macros used for controlling fonts. Of particular importance are the \LaTeXe\ macros \cmd{\textit}, \cmd{\textbf}, \cmd{\texttt} for changing to an italic, bold, or typewriter font respectively. One should always use these macros rather than the lower-level \TeX\ macros \cmd{\it}, \cmd{\bf}, and \cmd{\tt}. The \LaTeXe\ macros offer improvements such as better italic correction and scaling in super- and subscripts for example. Table~\ref{tab:fonts} summarizes the font selection commands in \LaTeXe. \begin{table} \caption{\label{tab:fonts}\LaTeXe\ font commands} \begin{ruledtabular} \begin{tabular}{ll} \multicolumn{2}{c}{\textbf{Text Fonts}}\\ \textbf{Font command} & \textbf{Explanation} \\ \cmd\textit\marg{text} & Italics\\ \cmd\textbf\marg{text} & Boldface\\ \cmd\texttt\marg{text} & Typewriter\\ \cmd\textrm\marg{text} & Roman\\ \cmd\textsl\marg{text} & Slanted\\ \cmd\textsf\marg{text} & Sans Serif\\ \cmd\textsc\marg{text} & Small Caps\\ \cmd\textmd\marg{text} & Medium Series\\ \cmd\textnormal\marg{text} & Normal Series\\ \cmd\textup\marg{text} & Upright Series\\ &\\ \multicolumn{2}{c}{\textbf{Math Fonts}}\\ \cmd\mathit\marg{text} & Math Italics\\ \cmd\mathbf\marg{text} & Math Boldface\\ \cmd\mathtt\marg{text} & Math Typewriter\\ \cmd\mathsf\marg{text} & Math Sans Serif\\ \cmd\mathcal\marg{text} & Calligraphic\\ \cmd\mathnormal\marg{text} & Math Normal\\ \cmd\bm\marg{text}& Bold math for Greek letters\\ & and other symbols\\ \cmd\mathfrak\marg{text}\footnotemark[1] & Fraktur\\ \cmd\mathbb\marg{text}\footnotemark[1] & Blackboard Bold\\ \end{tabular} \end{ruledtabular} \footnotetext[1]{Requires \classname{amsfonts} or \classname{amssymb} class option} \end{table} \subsubsection{User-defined macros} \LaTeXe\ provides several macros that enable users to easily create new macros for use in their manuscripts: \begin{itemize} \footnotesize \item \cmd\newcommand\marg{\\command}\oarg{narg}\oarg{opt}\marg{def} \item \cmd\newcommand\verb+*+\marg{\\command}\oarg{narg}\oarg{opt}\marg{def} \item \cmd\renewcommand\marg{\\command}\oarg{narg}\oarg{opt}\marg{def} \item \cmd\renewcommand\verb+*+\marg{\\command}\oarg{narg}\oarg{opt}\marg{def} \item \cmd\providecommand\marg{\\command}\oarg{narg}\oarg{opt}\marg{def} \item \cmd\providecommand\verb+*+\marg{\\command}\oarg{narg}\oarg{opt}\marg{def} \end{itemize} Here \meta{\\command} is the name of the macro being defined, \meta{narg} is the number of arguments the macro takes, \meta{opt} are optional default values for the arguments, and \meta{def} is the actually macro definiton. \cmd\newcommand\ creates a new macro, \cmd\renewcommand\ redefines a previously defined macro, and \cmd\providecommand\ will define a macro only if it hasn't been defined previously. The *-ed versions are an optimization that indicates that the macro arguments will always be ``short'' arguments. This is almost always the case, so the *-ed versions should be used whenver possible. The use of these macros is preferred over using plain \TeX's low-level macros such as \cmd\def{},\cmd\edef{}, and \cmd\gdef{}. APS authors must follow the \textit{APS Compuscript Guide for \revtex~4} when defining macros. \subsubsection{Symbols} \LaTeXe\ has added some convenient commands for some special symbols and effects. These are summarized in Table~\ref{tab:special}. See \cite{Guide} for details. \begin{table} \caption{\label{tab:special}\LaTeXe\ commands for special symbols and effects} \begin{ruledtabular} \begin{tabular}{lc} Command & Symbol/Effect\\ \cmd\textemdash & \textemdash\\ \cmd\textendash & \textendash\\ \cmd\textexclamdown & \textexclamdown\\ \cmd\textquestiondown & \textquestiondown\\ \cmd\textquotedblleft & \textquotedblleft\\ \cmd\textquotedblright & \textquotedblright\\ \cmd\textquoteleft & \textquoteleft\\ \cmd\textquoteright & \textquoteright\\ \cmd\textbullet & \textbullet\\ \cmd\textperiodcentered & \textperiodcentered\\ \cmd\textvisiblespace & \textvisiblespace\\ \cmd\textcompworkmark & Break a ligature\\ \cmd\textcircled\marg{char} & Circle a character\\ \end{tabular} \end{ruledtabular} \end{table} \LaTeXe\ also removed some symbols that were previously automatically available in \LaTeX 2.09. These symbols are now contained in a separate package \classname{latexsym}. To use these symbols, include the package using: \begin{verbatim} \usepackage{latexsym} \end{verbatim} \subsection{Using \LaTeXe\ packages with \revtex}\label{sec:usepackage}% Many \LaTeXe\ packages are available, for instance, on CTAN at \url{ftp://ctan.tug.org/tex-archive/macros/latex/required/} and at \url{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/} or may be available on other distribution media, such as the \TeX\ Live CD-ROM \url{http://www.tug.org/texlive/}. Some of these packages are automatically loaded by \revtex~4 when certain class options are invoked and are, thus, ``required''. They will either be distributed with \revtex\ or are already included with a standard \LaTeXe\ distribution. Required packages are automatically loaded by \revtex\ on an as-needed basis. Other packages should be loaded using the \cmd\usepackage\ command. To load the \classname{hyperref} package, the document preamble might look like: \begin{verbatim} \documentclass{revtex} \usepackage{hyperref} \end{verbatim} Some common (and very useful) \LaTeXe\ packages are \textit{a priori} important enough that \revtex~4 has been designed to be specifically compatible with them. A bug stemming from the use of one of these packages in conjunction with any of the APS journals may be reported by contacting \revtex\ support. \begin{description} \item[\textbf{AMS packages}] \revtex~4 is compatible with and depends upon the AMS packages \classname{amsfonts}, \classname{amssymb}, and \classname{amsmath}. In fact, \revtex~4 requires use of these packages to accomplish some common tasks. See Section~\ref{sec:math} for more. \revtex~4 requires version 2.0 or higher of the AMS-\LaTeX\ package. \item[\textbf{array and dcolumn}] The \classname{array} and \classname{dcolumn} packages are part of \LaTeX's required suite of packages. \classname{dcolumn} is required to align table columns on decimal points (and it in turn depends upon the \classname{array} package). \item[\textbf{longtable}] \file{longtable.sty} may be used for large tables that will span more than one page. \revtex~4 dynamically applies patches to longtable.sty so that it will work in two-column mode. \item[\textbf{hyperref}] \file{hyperref.sty} is a package by Sebastian Rahtz that is used for putting hypertext links into \LaTeXe\ documents. \revtex~4 has hooks to allow e-mail addresses and URL's to become hyperlinks if \classname{hyperref} is loaded. \end{description} Other packages will conflict with \revtex~4 and should be avoided. Usually such a conflict arises because the package adds enhancements that \revtex~4 already includes. Here are some common packages that clash with \revtex~4: \begin{description} \item[\textbf{multicol}] \file{multicol.sty} is a package by Frank Mittelbach that adds support for multiple columns. In fact, early versions of \revtex~4 used \file{multicol.sty} for precisely this. However, to improve the handling of floats, \revtex~4 now has its own macros for two-column layout. Thus, it is not necessary to use \file{multicol.sty}. \item[\textbf{cite}] Donald Arseneau's \file{cite.sty} is often used to provide support for sorting a \cmd\cite\ command's arguments into numerical order and to collapse consecutive runs of reference numbers. \revtex~4 has this functionality built-in already via the \classname{natbib} package. \item[\textbf{endfloat}] The same functionality can be accomplished using the \classoption{endfloats} class option. \item[\textbf{float}] \revtex~4 already contains a lot of this functionality. \end{description} \section{The Document Preamble} The preamble of a \LaTeX\ document is the set of commands that precede the \envb{document} line. It contains a \cmd\documentclass\ line to load the \revtex~4 class (\textit{i.~e.}, all of the \revtex~4 macro definitions), \cmd\usepackage\ macros to load other macro packages, and other macro definitions. \subsection{The \emph{documentclass} line} The basic formatting of the manuscript is controlled by setting \emph{class options} using \cmd\documentclass\oarg{options}\aarg{\classname{revtex4}}. The macro \cmd\documentclass\ replaces the \cmd\documentstyle\ macro of \LaTeX2.09. The optional arguments that appear in the square brackets control the layout of the document. At this point, one only needs to choose a journal style (\classoption{pra}, \classoption{prb}, \classoption{prc}, \classoption{prd}, \classoption{pre}, \classoption{prl}, \classoption{prstab}, and \classoption{rmp}) and either \classoption{preprint} or \classoption{twocolumn}. Usually, one would want to use \classoption{preprint} for draft papers. \classoption{twocolumn} gives the \emph{Physical Review} look and feel. Paper size options are also available as well. In particular, \classoption{a4paper} is available as well as the rest of the standard \LaTeX\ paper sizes. A full list of class options is given in the \textit{\revtex~4 Command and Options Summary}. \subsection{Loading other packages} Other packages may be loaded into a \revtex~4 document by using the standard \LaTeXe\ \cmd\usepackage\ command. For instance, to load the \classoption{graphics} package, one would use \verb+\usepackage{graphics}+. \section{The Front Matter}\label{sec:front} After choosing the basic look and feel of the document by selecting the appropriate class options and loading in whatever other macros are needed, one is ready to move on to creating a new manuscript. After the preamble, be sure to put in a \envb{document} line (and put in an \enve{document} as well). This section describes the macros \revtex~4 provides for formatting the front matter of the article. The behavior and usage of these macros can be quite different from those provided in either \revtex~3 or \LaTeXe. See the included document \textit{Differences between \revtex~4 and \revtex~3} for an overview of these differences. \subsection{Setting the title} The title of the manuscript is simply specified by using the \cmd\title\aarg{title} macro. A \verb+\\+ may be used to put a line break in a long title. \subsection{Specifying a date}% The \cmd\date\marg{date} command outputs the date on the manuscript. Using \cmd\today\ will cause \LaTeX{} to insert the current date whenever the file is run: \begin{verbatim} \date{\today} \end{verbatim} \subsection{Specifying authors and affiliations} The macros for specifying authors and their affiliations have changed significantly for \revtex~4. They have been improved to save labor for authors and in production. Authors and affiliations are arranged into groupings called, appropriately enough, \emph{author groups}. Each author group is a set of authors who share the same set of affiliations. Author names are specified with the \cmd\author\ macro while affiliations (or addresses) are specified with the \cmd\affiliation\ macro. Author groups are specified by sequences of \cmd\author\ macros followed by \cmd\affiliation\ macros. An \cmd\affiliation\ macro applies to all previously specified \cmd\author\ macros which don't already have an affiliation supplied. For example, if Bugs Bunny and Roger Rabbit are both at Looney Tune Studios, while Mickey Mouse is at Disney World, the markup would be: \begin{verbatim} \author{Bugs Bunny} \author{Roger Rabbit} \affiliation{Looney Tune Studios} \author{Mickey Mouse} \affiliation{Disney World} \end{verbatim} The default is to display this as \begin{center} Bugs Bunny and Roger Rabbit\\ \emph{Looney Tune Studios}\\ Mickey Mouse\\ \emph{Disney World}\\ \end{center} This layout style for displaying authors and their affiliations is chosen by selecting the class option \classoption{groupedaddress}. This option is the default for all APS journal styles, so it does not need to be specified explicitly. The other major way of displaying this information is to use superscripts on the authors and affiliations. This can be accomplished by selecting the class option \classoption{superscriptaddress}. To achieve the display \begin{center} Bugs Bunny,$^{1}$ Roger Rabbit,$^{1,2}$ and Mickey Mouse$^{2}$\\ \emph{$^{1}$Looney Tune Studios}\\ \emph{$^{2}$Disney World}\\ \end{center} one would use the markup \begin{verbatim} \author{Bugs Bunny} \affiliation{Looney Tune Studios} \author{Roger Rabbit} \affiliation{Looney Tune Studios} \affiliation{Disney World} \author{Mickey Mouse} \affiliation{Disney World} \end{verbatim} Note that \revtex~4 takes care of any commas and \emph{and}'s that join the author names together and font selection, as well as any superscript numbering. Only the author names and affiliations should be given within their respective macros. There is a third class option, \classoption{unsortedaddress}, for controlling author/affiliation display. The default \classoption{groupedaddress} will actually sort authors into the approriate author groups if one chooses to specify an affiliation for each author. The markup: \begin{verbatim} \author{Bugs Bunny} \affiliation{Looney Tune Studios} \author{Mickey Mouse} \affiliation{Disney World} \author{Roger Rabbit} \affiliation{Looney Tune Studios} \end{verbatim} will result in the same display as for the first case given above even though Roger Rabbit is specified after Mickey Mouse. To avoid Roger Rabbit being moved into the same author group as Bugs Bunny, use the \classoption{unsortedaddress} option instead. In general, it is safest to list authors in the order they should appear and specify affiliations for multiple authors rather than one at a time. This will afford the most independence for choosing the display option. Finally, it should be mentioned that the affiliations for the \classoption{superscriptaddress} are presented and numbered in the order that they are encountered. These means that the order will usually follow the order of the authors. An alternative ordering can be forced by including a list of \cmd\affiliation\ commands before the first \cmd{\author} in the desired order. Then use the exact same text for each affilation when specifying them for each author. If an author doesn't have an affiliation, the \cmd\noaffiliation\ macro may be used in the place of an \cmd\affiliation\ macro. \subsubsection{Collaborations} A collaboration name can be specified with the \cmd\collaboration\ macro. This is very similar to the \cmd\author\ macro, but it can only be used with the class option \classoption{superscriptaddress}. The \cmd\collaboration\ macro should appear at the end of the list of authors. The collaboration name will be appear centered in parentheses between the list of authors and the list of affiliations. Because collaborations don't normally have affiliations, one needs to follow the \cmd\collaboration\ with \cmd\noaffiliation. \subsubsection{Footnotes for authors, collaborations, affiliations or title}\label{sec:footau} Often one wants to specify additional information associated with an author, collaboration, or affiliation such an e-mail address, an alternate affiliation, or some other anicillary information. \revtex~4 introduces several new macros just for this purpose. They are: \begin{itemize} \item\cmd\email\oarg{optional text}\aarg{e-mail address} \item\cmd\homepage\oarg{optional text}\aarg{URL} \item\cmd\altaffiliation\oarg{optional text}\aarg{affiliation} \item\cmd\thanks\aarg{miscellaneous text} \end{itemize} In the first three, the \emph{optional text} will be prepended before the actual information specified in the required argument. \cmd\email\ and \cmd\homepage\ each have a default text for their optional arguments (`Electronic address:' and `URL:' respectively). The \cmd\thanks\ macro should only be used if one of the other three do not apply. Any author name can have multiple occurences of these four macros. Note that unlike the \cmd\affiliation\ macro, these macros only apply to the \cmd\author\ that directly precedes it. Any \cmd\affiliation\ \emph{must} follow the other author-specific macros. A typical usage might be as follows: \begin{verbatim} \author{Bugs Bunny} \email[E-mail me at: ]{bugs@looney.com} \homepage[Visit: ]{http://looney.com/} \altaffiliation[Permanent address: ] {Warner Brothers} \affiliation{Looney Tunes} \end{verbatim} This would result in the footnote ``E-mail me at: \texttt{bugs@looney.com}, Visit: \texttt{http://looney.com/}, Permanent address: Warner Brothers'' being attached to Bugs Bunny. Note that: \begin{itemize} \item Only an e-mail address, URL, or affiliation should go in the required argument in the curly braces. \item The font is automatically taken care of. \item An explicit space is needed at the end of the optional text if one is desired in the output. \item Use the optional arguments to provide customized text only if there is a good reason to. \end{itemize} The \cmd\collaboration\ , \cmd\affiliation\ , or even \cmd\title\ can also have footnotes attached via these commands. If any ancillary data (\cmd\thanks, \cmd\email, \cmd\homepage, or \cmd\altaffiliation) are given in the wrong context (e.g., before any \cmd\title, \cmd\author, \cmd\collaboration, or \cmd\affiliation\ command has been given), then a warning is given in the \TeX\ log, and the command is ignored. Duplicate sets of ancillary data are merged, giving rise to a single shared footnote. However, this only applies if the ancillary data are identical: even the order of the commands specifying the data must be identical. Thus, for example, two authors can share a single footnote indicating a group e-mail address. Duplicate \cmd\affiliation\ commands may be given in the course of the front matter, without the danger of producing extraneous affiliations on the title page. However, ancillary data should be specified for only the first instance of any particular institution's \cmd\affiliation\ command; a later instance with different ancillary data will result in a warning in the \TeX\ log. It is preferable to arrange authors into sets. Within each set all the authors share the same group of affiliations. For each author, give the \cmd\author\ (and appropriate ancillary data), then follow this author group with the needed group of \cmd\affiliation\ commands. If affiliations have been listed before the first \cmd\author\ macro to ensure a particular ordering, be sure that any later \cmd\affiliation\ command for the given institution is an exact copy of the first, and also ensure that no ancillary data is given in these later instances. Each APS journal has a default behavior for the placement of these ancillary information footnotes. The \classoption{prb} option puts all such footnotes at the start of the bibliography while the other journal styles display them on the first page. One can override a journal style's default behavior by specifying explicitly the class option \classoption{bibnotes} (puts the footnotes at the start of the bibliography) or \classoption{nobibnotes} (puts them on the first page). \subsubsection{Specifying first names and surnames} Many APS authors have names in which either the surname appears first or in which the surname is made up of more than one name. To ensure that such names are accurately captured for indexing and other purposes, the \cmd\surname\ macro should be used to indicate which portion of a name is the surname. Similarly, there is a \cmd\firstname\ macro as well, although usage of \cmd\surname\ should be sufficient. If an author's surname is a single name and written last, it is not necessary to use these macros. These macros do nothing but indicate how a name should be indexed. Here are some examples; \begin{verbatim} \author{Andrew \surname{Lloyd Weber}} \author{\surname{Mao} Tse-Tung} \end{verbatim} \subsection{The abstract} An abstract for a paper is specified by using the \env{abstract} environment: \begin{verbatim} \begin{abstract} Text of abstract \end{abstract} \end{verbatim} Note that in \revtex~4 the abstract must be specified before the \cmd\maketitle\ command and there is no need to embed it in an explicit minipage environment. \subsection{PACS codes} APS authors are asked to supply suggested PACS codes with their submissions. The \cmd\pacs\ macro is provided as a way to do this: \begin{verbatim} \pacs{23.23.+x, 56.65.Dy} \end{verbatim} The actual display of the PACS numbers below the abstract is controlled by two class options: \classoption{showpacs} and \classoption{noshowpacs}. In particular, this is now independent of the \classoption{preprint} option. \classoption{showpacs} must be explicitly included in the class options to display the PACS codes. \subsection{Keywords} A \cmd\keywords\ macro may also be used to indicate keywords for the article. \begin{verbatim} \keywords{nuclear form; yrast level} \end{verbatim} This will be displayed below the abstract and PACS (if supplied). Like PACS codes, the actual display of the the keywords is controlled by two classoptions: \classoption{showkeys} and \classoption{noshowkeys}. An explicit \classoption{showkeys} must be included in the \cmd\documentclass\ line to display the keywords. \subsection{Institutional report numbers} Institutional report numbers can be specified using the \cmd\preprint\ macro. These will be displayed in the upper lefthand corner of the first page. Multiple \cmd\preprint\ macros maybe supplied (space is limited though, so only three or less may actually fit). \subsection{maketitle} After specifying the title, authors, affiliations, abstract, PACS codes, and report numbers, the final step for formatting the front matter of the manuscript is to execute the \cmd\maketitle\ macro by simply including it: \begin{verbatim} \maketitle \end{verbatim} The \cmd\maketitle\ macro must follow all of the macros listed above. The macro will format the front matter in accordance with the various class options that were specified in the \cmd\documentclass\ line (either implicitly through defaults or explicitly). \section{The body of the paper} For typesetting the body of a paper, \revtex~4 relies heavily on standard \LaTeXe\ and other packages (particulary those that are part of AMS-\LaTeX). Users unfamiliar with these packages should read the following sections carefully. \subsection{Section headings} Section headings are input as in \LaTeX. The output is similar, with a few extra features. Four levels of headings are available in \revtex{}: \begin{quote} \cmd\section\marg{title text}\\ \cmd\subsection\marg{title text}\\ \cmd\subsubsection\marg{title text}\\ \cmd\paragraph\marg{title text} \end{quote} Use the starred form of the command to suppress the automatic numbering; e.g., \begin{verbatim} \section*{Introduction} \end{verbatim} To label a section heading for cross referencing, best practice is to place the \cmd\label\marg{key} within the argument specifying the heading: \begin{verbatim} \section{\label{sec:intro}Introduction} \end{verbatim} In the some journal substyles, such as those of the APS, all text in the \cmd\section\ command is automatically set uppercase. If a lowercase letter is needed, use \cmd\lowercase\aarg{x}. For example, to use ``He'' for helium in a \cmd\section\marg{title text} command, type \verb+H+\cmd\lowercase\aarg{e} in \marg{title text}. Use \cmd\protect\verb+\\+ to force a line break in a section heading. (Fragile commands must be protected in section headings, captions, and footnotes and \verb+\\+ is a fragile command.) \subsection{Paragraphs and General Text} Paragraphs always end with a blank input line. Because \TeX\ automatically calculates linebreaks and word hyphenation in a paragraph, it is not necessary to force linebreaks or hyphenation. Of course, compound words should still be explicitly hyphenated, e.g., ``author-prepared copy.'' Use directional quotes for quotation marks around quoted text (\texttt{``xxx''}), not straight double quotes (\texttt{"xxx"}). For opening quotes, use one or two backquotes; for closing quotes, use one or two forward quotes (apostrophes). \subsection{One-column vs. two-column}\label{sec:widetext} One of the hallmarks of \textit{Physical Review} is its two-column formatting and so one of the \revtex~4 design goals is to make it easier to acheive the \textit{Physical Review} look and feel. In particular, the \classoption{twocolumn} option will take care of formatting the front matter (including the abstract) as a single column. \revtex~4 has its own built-in two-column formatting macros to provide well-balanced columns as well as reasonable control over the placement of floats in either one- or two-column modes. Occasionally it is necessary to change the formatting from two-column to one-column to better accomodate very long equations that are more easily read when typeset to the full width of the page. This is accomplished using the \env{widetext} environment: \begin{verbatim} \begin{widetext} long equation goes here \end{widetext} \end{verbatim} In two-column mode, this will temporarily return to one-column mode, balancing the text before the environment into two short columns, and returning to two-column mode after the environment has finished. \revtex~4 will also add horizontal rules to guide the reader's eye through what may otherwise be a confusing break in the flow of text. The \env{widetext} environment has no effect on the output under the \classoption{preprint} class option because this already uses one-column formatting. Use of the \env{widetext} environment should be restricted to the bare minimum of text that needs to be typeset this way. However short pieces of paragraph text and/or math between nearly contiguous wide equations should be incorporated into the surrounding wide sections. Low-level control over the column grid can be accomplished with the \cmd\onecolumngrid\ and \cmd\twocolumngrid\ commands. Using these, one can avoid the horizontal rules added by \env{widetext}. These commands should only be used if absolutely necessary. Wide figures and tables should be accomodated using the proper \verb+*+ environments. \subsection{Cross-referencing}\label{sec:xrefs} \revtex{} inherits the \LaTeXe\ features for labeling and cross-referencing section headings, equations, tables, and figures. This section contains a simplified explanation of these cross-referencing features. The proper usage in the context of section headings, equations, tables, and figures is discussed in the appropriate sections. Cross-referencing depends upon the use of ``tags,'' which are defined by the user. The \cmd\label\marg{key} command is used to identify tags for \revtex. Tags are strings of characters that serve to label section headings, equations, tables, and figures that replace explicit, by-hand numbering. Files that use cross-referencing (and almost all manuscripts do) need to be processed through \revtex\ at least twice to ensure that the tags have been properly linked to appropriate numbers. If any tags are added in subsequent editing sessions, \LaTeX{} will display a warning message in the log file that ends with \texttt{... Rerun to get cross-references right}. Running the file through \revtex\ again (possibly more than once) will resolve the cross-references. If the error message persists, check the labels; the same \marg{key} may have been used to label more than one object. Another \LaTeX\ warning is \texttt{There were undefined references}, which indicates the use of a key in a \cmd\ref\ without ever using it in a \cmd\label\ statement. \revtex{} performs autonumbering exactly as in standard \LaTeX. When the file is processed for the first time, \LaTeX\ creates an auxiliary file (with the \file{.aux} extension) that records the value of each \meta{key}. Each subsequent run retrieves the proper number from the auxiliary file and updates the auxiliary file. At the end of each run, any change in the value of a \meta{key} produces a \LaTeX\ warning message. Note that with footnotes appearing in the bibliography, extra passes of \LaTeX\ may be needed to resolve all cross-references. For instance, putting a \cmd\cite\ inside a \cmd\footnote\ will require at least three passes. Using the \classname{hyperref} package to create hyperlinked PDF files will cause reference ranges to be expanded to list every reference in the range. This behavior can be avoided by using the \classname{hypernat} package available from \url{www.ctan.org}. \subsection{Acknowledgments} Use the \env{acknowledgments} environment for an acknowledgments section. Depending on the journal substyle, this element may be formatted as an unnumbered section title \textit{Acknowledgments} or simply as a paragraph. Please note the spelling of ``acknowledgments''. \begin{verbatim} \begin{acknowlegments} The authors would like to thank... \end{acknowlegments} \end{verbatim} \subsection{Appendices} The \cmd\appendix\ command signals that all following sections are appendices, so \cmd\section\marg{title text} after \cmd\appendix\ will set \marg{title text} as an appendix heading (an empty \marg{title text} is permitted). For a single appendix, use a \cmd\appendix\verb+*+ followed by \cmd\section\marg{title text} command to suppress the appendix letter in the section heading. \section{Math and Equations}\label{sec:math} \subsection{Math in text} Not surprisingly, \revtex\ uses the \TeX\ math \verb+$+ delimiters for math embedded in text. For example, \verb|$a^{z}$| give $a^{z}$. Within math mode, use \verb+^+\marg{math} for superscripts and \verb+_+\marg{math} for subscripts. If the braces after the \verb+^+ are omitted, \TeX{} will superscript the next \emph{token} (generally a single character or command). Thus it is safest to use explicit braces \verb+{}+. As with text, math should not require extensive explicit vertical or horzontal motion commands, because \TeX\ calculates math spacing itself automatically. In particular, explicit spacing around relations (e.g., $=$) or operators (e.g., $+$) should be unnecessary. These suggestions notwithstanding, some fine-tuning of math is required in specific cases, see Chapter~18 in the \TeX book\cite{TeXbook}. \subsection{Text in math}\label{sec:textinmath} There are times when normal, non-italic text needs to be inserted into a math expression. The \cmd\text\marg{text} command is the preferred method of accomplishing this. It produces regular text \emph{and} scales correctly in superscripts: \verb+$y=x \text{ for } x_{\text{e-p}}$+ gives ``$y=x \text{ for } x_{\text{e-p}}$''. To use the \cmd\text\ command, the \classname{amsmath} package must be loaded: include a \cmd\usepackage\aarg{\classname{amsmath}} command in the document preamble or use the class option \classoption{amsmath}. Please note that \revtex~4 requires version 2.0 or higher of \classname{amsmath}. Other common alternatives may be less desirable. Using the standard \LaTeXe\ \cmd\mbox\marg{text} will give normal text, including a hyphen, but will not scale correctly in superscripts: \verb+$x_{\mbox{e-p}}$+ gives ``$x_{\mbox{e-p}}$''. The \cmd\rm\ command only switches to Roman font for math letters. It does not, for example, handle hyphens correctly: \verb+$$x_{\rm{e-p}}$+ gives ``$x_{\rm e-p}$''. But note that \cmd\textrm{}, it does work: \verb+$x_{\textrm{e-p}}$+ gives ``$x_{\textrm{e-p}}$''. \subsection{Displayed equations}\label{sec:dispmath} Equations are set centered in the column width or flush left depending on the selected journal substyle. For the simplest type of displayed equation, a numbered, one-line equation, use the \env{equation} environment. \revtex\ takes care of the equation number% ---the number will be set below the equation if necessary. Use \cmd\[\dots\cmd\] for a single, one-line unnumbered display equation. Use the \env{eqnarray} environment when more than one consecutive equation occurs, putting each equation in a separate row of the environment, and using \cmd\nonumber\ before the row end (\cmd\\) to suppress the equation number where necessary. If the equations are related to each other, align each on the respective relation operator (such as $=$). When an equation is broken over lines or is continued over multiple relation operators, it is called a multi-line or continued equation, respectively; here, too, use the \env{eqnarray} environment. For a continued equation, align each row on the relation operator just as with multiple equations, and use the \cmd\nonumber\ command to suppress auto-numbering on broken lines. Also, use the starred form of the row end (\cmd\\\verb+*+) to prevent a pagebreak at that juncture. Short displayed equations that can appear together on a single line separated by \cmd\qquad\ space may be placed in a single \env{equation} environment. As explained in Section~\ref{sec:widetext}, occasionally in two-column mode a long equation, in order to fit it in the narrow column width, would need to be broken into so many lines that it would affect readibility. Set it in a wide column using the \env{widetext} environment. Then return to the normal text width as soon as possible. The sample file \file{apssamp.tex} illustrates how to obtain each of the above effects. \subsection{Numbering displayed equations} \revtex~4 automatically numbers equations. For single-line and multi-line equations, use the \env{equation} and \env{eqnarray} environments as described above. For unnumbered single-line equations, use the \verb+\[+\dots\verb+\]+ construction. The command \cmd\nonumber\ will suppress the numbering on a single line of an \env{eqnarray}. For a multi-line equation with no equation numbers at all, use the \env{eqnarray*} environment. A series of equations can be a labeled with a lettered sequence, e.g., (3a), (3b), and (3c), by putting the respective \env{equation} or \env{eqnarray} environment within a \env{subequations} environment. The \classname{amsmath} package (can be loaded with the \classoption{amsmath} class option) is required for this. Use the command \cmd\tag\marg{number} to produce an idiosyncratic equation number: $(1')$, for example. Numbers assigned by \cmd\tag\ are completely independent of \revtex's automatic numbering. The package \classname{amsmath} is required for using the \cmd\tag\ command. To have \revtex{} reset the equation numbers at the start of each section, use the \classoption{eqsecnum} class option in the document preamble. See the sample file \file{apssamp.tex} for some examples. \subsection{Cross-referencing displayed equations} To refer to a numbered equation, use the \cmd\label\marg{key} and \cmd\ref\marg{key} commands. The \cmd\label\marg{key} command is used within the referenced equation (on the desired line of the \env{eqnarray}, if a multi-line equation): \begin{verbatim} \begin{equation} A=B \label{pauli} \end{equation} ... It follows from Eq.~(\ref{pauli}) that this is the case ... \begin{eqnarray} A & = &B,\label{pauli2}\\ A'& = &B' \end{eqnarray} \end{verbatim} gives \begin{equation} A=B \label{pauli} \end{equation} ... It follows from Eq.~(\ref{pauli}) that this is the case ... \begin{eqnarray} A & = &B,\label{pauli2}\\ A'& = &B' \end{eqnarray} Please note the parentheses surrounding the \cmd\ref\ command. These are \emph{not} provided automatically and, thus, must be explicitly incorporated. Numbers produced with \cmd\tag\ can also be cross-referenced by adding a \cmd\label\ command after the \cmd\tag\ command. Using a \cmd\label\ after \envb{subequations} to reference the \emph{general} number of the equations in the \env{subequations} environment. For example, if \begin{verbatim} \begin{subequations} \label{allequations} % notice location \begin{eqnarray} E&=&mc^2,\label{equationa} \\ E&=&mc^2,\label{equationb} \\ E&=&mc^2,\label{equationc} \end{eqnarray} \end{subequations} \end{verbatim} % gives the output \begin{subequations} \label{allequations} % notice location \begin{eqnarray} E&=&mc^2,\label{equationa} \\ E&=&mc^2,\label{equationb} \\ E&=&mc^2,\label{equationc} \end{eqnarray} \end{subequations} % then \verb+Eq.~(\ref{allequations})+ gives ``Eq.~(\ref{allequations})''. {\bf Note:} incorrect cross-referencing will result if \cmd\label\ is used in an unnumbered single-line equation (i.e., within the \verb+\[+ and \verb+\]+ commands), or if \cmd\label\ is used on a line of an eqnarray that is not being numbered (i.e., a line that has a \cmd\nonumber). \subsection{Using the AMS packages \classoption{amsfonts}, \classoption{amssymb}, and \classoption{amsmath}}\label{AMS} The American Mathematical Society's AMS-\LaTeX\ packages provided extra fonts, symbols, and math markup that are quite convenient. \revtex~4 supports the use of these packages directly. To use the \classoption{amsfonts}, \classoption{amssymb}, and \classoption{amsmath} class options, AMS-\LaTeX\ (and perhaps the additional AMS fonts) will need to be installed. Please note the \revtex~4 requires version 2.0 or higher of AMS-\LaTeX. These packages can be downloaded from \url{http://www.ams.org/tex/}. There are two class options for accessing the AMS fonts: \classoption{amsfonts} and \classoption{amssymb}. The \classoption{amsfonts} option defines the \cmd\mathfrak\ and \cmd\mathbb\ commands to switch to the Fraktur and Blackboard Bold fonts, respectively. These fonts are selected with the \cmd\mathfrak\ and \cmd\mathbb\ font-switching commands: \verb+${\mathfrak{G}}$+ gives a Fraktur ``$\mathfrak{G}$'' and \verb+${\mathbb{Z}}$+ gives a Blackboard Bold ``$\mathbb{Z}$''. \revtex{} does not currently support the use of the extra Euler fonts (the AMS fonts starting with \texttt{eur} or \texttt{eus}) or the Cyrillic fonts (the AMS fonts starting with \texttt{w}). The \classoption{amssymb} class option gives all the font capabilities of the \classoption{amsfonts} class option and further defines the commands for many commonly used math symbols. These symbols will scale correctly in superscripts and other places. See the AMS-\LaTeX\ documentation for the complete list of symbols available. \subsection{Bold symbols in math}\label{sec:bboxamsfonts} \revtex~4 uses the standard \LaTeXe\ Bold Math (\classname{bm}) package as the basis for creating bold symbols in math mode. As usual, this requires an explicit \cmd\usepackage\aarg{\classname{bm}} in the document preamble. The command \cmd\bm\marg{symbol} makes \marg{symbol} bold in math mode, ensuring that it is the correct size, even in superscripts. If the correct font in the correct size is not available then result is the \marg{symbol} set at the correct size in lightface and a \LaTeXe\ warning that says ``\texttt{No boldmath typeface in this size}\dots''. Most bold special characters will require that the AMS fonts be installed and the \classoption{amsfonts} class option be invoked. \cmd\bm\ is the proper means to get bold Greek characters---upper- and lowercase---and other symbols. The following will come out bold with \cmd\bm: normal math italic letters, numbers, Greek letters (uppercase and lowercase), small bracketing and operators, and \cmd\mathcal. Fraktur characters will come out bold in a \cmd\bm; however, Blackboard Bold requires using the \cmd\mathbb command rather than \cmd{\bm}. The \classoption{amsfonts} option adds support for bold math letters and symbols in smaller sizes and in superscripts when a \cmd\bm\marg{symbol} is used. For example, \verb+$\pi^{\bm{\pi}}$+ gives a bold lowercase pi in the superscript position: $^{\pi\bm{\pi}}$. Note that \cmd\bm\marg{math} is a fragile command and, thus, should be preceded by \cmd\protect\ in commands with moving arguments. \section{Footnotes} \LaTeX's standard \cmd\footnote\ command is available in \revtex~4. The footnote text can either appear at the bottom of a page or as part of the bibliography (in order, after the rest of the references). This choice can be controlled by two class options: \classoption{footinbib} and \classoption{nofootinbib}. \revtex~4 defaults to the former. Specific journal options may select a different value than the default. Note that in the latter case, the argument of the \cmd\footnote\ command is a moving argument in the sense of the \LUG, Appendix~C.1.3: any fragile command within that argument must be preceded by a \cmd\protect\ command. The \cmd\footnote\ macro \emph{should not} be used in the front matter for indicating author/affiliation relationships or to provide additional information about authors (such as an e-mail address). See Section~\ref{sec:footau} for the proper way to do this. Finally, footnotes that appear in tables behave differently. They will be typeset as part of the table itself. See Section~\ref{sec:tablenote} for details. \section{Citations and References}\label{sec:endnotes} In keeping with the \revtex~4 design goal of making it easier to extract tagged information from a manuscript, new macros and \BibTeX\ style files have been added to provide better markup. Furthermore, these have been built upon some widely-used \LaTeX\ packages in line with the design goal of making use of the existing packages where possible. The two main external packages that are of concern here are Patrick Daly's \classname{natbib} citation package and his \classname{custom-bib} tool kit for building new \BibTeX\ style files. From an author's point of view, all this means is that a proper \revtex~4 installation requires having \classname{natbib} (version 7 or higher) installed. It also means that the full set of \classname{natbib} functionality is available from within \revtex~4 (but see the \textit{APS Compuscript Guide for \revtex~4} for restrictions). The \classname{natbib} documentation contains many exmaples; see in particular the included \verb+natnotes.tex+ file for a convenient summary. As in standard \LaTeX, references are cited in text using the \cmd\cite\marg{key} command and are listed in the bibliography using the \cmd\bibitem\marg{key} command. The \cmd\cite{} macro enables \revtex~4 to automatically number the references in the manuscript. A typical example might be: \begin{verbatim} String theory\cite{GSW} attempts to provide a theory of everything. \end{verbatim} The corresponding \cmd\bibitem{} would be: \begin{verbatim} \bibitem{GSW} M.~Greene, J.~Schwarz, and E.~Witten, \textit{Superstring Theory: Introduction}, (Cambridge University Press, London, 1985). \end{verbatim} Journals differ in how the \cmd\cite\ will be displayed. Most APS journals display the citation in-line, as a number, enclosed in square brackets, \textit{e.~g.}, ``String theory[1] attempts\dots.'' Other journals (most notably \textit{Physical Review B}) instead use a number in a superscript: ``String theory$^{1}$ attempts\dots.'' Selecting the journal substyle using a class option (such as \classoption{prb}) will invoke the appropriate style. In journal substyles using superscripts, the macro the \cmd\onlinecite\marg{key} is necessary to get the number to appear on the baseline. For example, ``String theory (see, for example, \verb+Ref.~\onlinecite{GSW}+)'' will give the output ``String theory (see, for example, Ref.~1).'' The \cmd{\onlinecite} command has the same semantics as \classname{natbib}'s \cmd{\citealp} command. A \cmd\cite\ command with multiple keys is formatted with consecutive reference numbers collapsed; e.g., [1,2,3,5] will be output as [1--3,5]. To split the list over more than one line, use a \verb+%+ character immediately following a comma: \begin{verbatim} . . . \cite{a,b,c,d,e,f,% g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z} \end{verbatim} The \verb+%+ avoids unwanted spaces. \subsection{Author/Year (Non-numeric) Citations} \textit{Reviews of Modern Physics} uses a citation style based on the first author's last name and the year of the reference rather than a simple number. Support for this style of citing references is the primary reason \revtex~4 uses the \classname{natbib} package. \classname{natbib} uses an optional argument to the \cmd\bibitem\ macro to specify what text to use for the \cmd\cite\ text: \begin{quote} \cmd\bibitem\verb+[+\meta{short-name}\verb+(+\meta{year}\verb+)+\meta{long-name}\verb+]+ \end{quote} where \meta{short-name} is the author name used in a parenthetical citation, \meta{long-name} that used in a textual citation, and \meta{year} is the year. More concretely, the \cmd\bibitem\ example above would appear as \begin{verbatim} \bibitem[Greene et al.(1985)Green, Schwarz, and Witten]{GSW} M.~Greene, J.~Schwarz, and E.~Witten, \textit{Superstring Theory}, (Cambridge Press, London, 1985). \end{verbatim} When the citation constitutes part of the grammar of the sentence, the \cmd\textcite\marg{key} command may be used (analogous to the \cmd\onlinecite\ command above). Both \cmd\textcite\ and \cmd\onlinecite\ are built upon \classname{natbib}'s rich repertoire of macros (\cmd\citep{}, \cmd\citet{}, etc.). These macros are available in \revtex~4; however, APS authors must follow the \textit{APS Compuscript Guide for \revtex~4} guidelines regarding \classname{natbib}'s macros. \subsection{\label{sec:use-bib}Using Bib\TeX} The \cmd\bibitem{} entries can be coded by hand as above, of course, but the use of \BibTeX\ with the new style files provided with \revtex~4 makes it particularly simple to generate marked-up references that can, for instance, take advantage of packages like \classname{hyperref} for linking. They also save the trouble of having to specify formatting like the italics for the book title in the above example. And, for those wishing to use author/year citations, \BibTeX\ will automatically generate the appropriate optional arguments for the \cmd\bibitem\ commands. \BibTeX\ is an adjunct to \LaTeX\ that aids in the preparation of bibliographies. \BibTeX\ allows authors to build up a database or collection of bibliography entries that may be used for many manuscripts. A \BibTeX\ style file then specifies how to transform the entries into a proper \cmd\bibitem{} for a particular journal. Here we give a brief summary of how to get started with \BibTeX. More details can be found in the \textit{\revtex~4 \BibTeX\ Guide} included in the distribution or in the LaTeX books listed in the references. Selecting a journal style by using an appropriate class option will automatically select the correct \BibTeX\ style file. For all of the \textit{Physical Review} journals, this is \file{apsrev.bst}, while for \textit{Reviews of Modern Physics} this is \file{apsrmp.bst}. The selection can be overridden by specifying an alternative \file{.bst} file using the standard \LaTeXe \cmd\bibliographystyle\ macro. This must appear in the preamble before the \envb{document} line in \revtex~4 (this differs from standard \LaTeX). The \BibTeX\ database files will contain entries such as: \begin{verbatim} @Book{GSW, author=``M. Greene, J. Schwarz, E. Witten'', title=``Superstring theory: Introduction'', publisher=``Cambridge University Press'', address=``London'', year=``1985'' } \end{verbatim} There are entry formats for articles, technical reports, e-prints, theses, books, proceedings, and articles that appear in books or proceedings. The \file{apsrev} and \file{apsrmp} styles provided with \revtex~4 also allows URL's and e-print identifiers to be specified for any of the different entry types. There is also an additional ``collaboration'' field that can be used in addition to ``author''. To actually create the bibliography in the manuscript, the \cmd\bibliography\marg{bib files} macro is used. Here \meta{bib files} is a comma-separated list of \BibTeX\ bibliography database files, each with the \file{.bib} extension. The \cmd\bibliography\ macro should be placed at the location where the references are to appear (usually after the main body of the paper). When the manuscript is processed with \LaTeX\ for the first time, the keys corresponding for the \cmd\cite{} macros used in the manuscript are written out to the \file{.aux} file. Then \BibTeX\ should be run (if the manuscript is called \file{paper.tex}, the command would be \verb+bibtex paper+. This will produce a \file{.bbl} file containing all of the \cmd\bibitem{}'s for the manuscript. Subsequent runs of \LaTeXe\ will call this file in to resolve the references. \LaTeXe\ should be run repeatedly until all references are resolved. The \BibTeX-produced \cmd\bibitem{}'s created using the \file{apsrev} and \file{apsrmp} appear considerably more complex than the example given above. This is because the style files add in \cmd\bibinfo{}, \cmd\bibnamefont{}, \cmd\eprint{}, and \cmd\url{} macros for specifying additional formatting and tagging. The \cmd\bibinfo\ macro is mostly a do-nothing macro that serves merely to tag the information with the field information from the original entry in the \BibTeX\ database. The \cmd\eprint\ and \cmd\url\ macros can be used to create the appropriate hyperlinks in target formats such as PDF. For more information on using \BibTeX\ with \LaTeX, see Sections~4.3.1 and~C.11.3 of the \LUG\cite{LaTeXman}, Section~13.2 of \cite{Compan}, or the online \BibTeX\ manual \url{http://ctan.tug.org/tex-archive/biblio/bibtex/distribs/doc/btxdoc.tex}. %\url{http://ctan.tug.org/tex-archive/help/Catalogue/entries/bibtex.html}. \section{Figures and Artwork}\label{sec:figures} Figures may be included into a \revtex~4 manuscript by using the standard \LaTeXe\ macros. It should be noted that \LaTeXe\ includes several powerful packages for including the files in various formats. The two main packages are \classname{graphics} and \classname{graphicx}. Both offer a macro called \cmd\includegraphics\oarg{args}\marg{filename}; they mainly differ in how arguments for controlling figure scaling, translation, and orientation are specified. Old \LaTeX2.09 interfaces such as \file{epsfig} have been re-implemented on top of these packages. For more information on the enhancements of the \classname{graphicx} package, see \cite{CompanG} or \url{ftp://ctan.tug.org/tex-archive/macros/latex/required/graphics/grfguide.ps}. \revtex~4 no longer has the \classoption{epsf} class option, though the \classname{epsfig} package provides a similar interface. The \env{figure} environment should be used to add a caption to the figure and to allow \LaTeX\ to number and place the figures where they fit best. \LaTeX\ will label and automatically number the captions FIG.~1, FIG.~2, etc. For example: \begin{verbatim} \begin{figure} \includegraphics{fig1.eps} \caption{\label{fig1}Text of first caption.} \end{figure} \end{verbatim} Note how the \cmd\label\marg{key} command is used to cross-reference figures in text. The \cmd\label\marg{key} command should be inserted inside the figure caption. As usual, the \cmd\ref\marg{key} macro can then by used to refer to the label: ``As depicted in FIG.\verb+~\ref{fig1}+\dots''. Figures are normally set to the width of the column in which they are placed. This means that in two-column mode, the figure will be placed in a single, narrow column. For wide figures, the \cmd\figure\verb+*+ environment should be used instead. This will place the figure across both columns (the figure usually will appear either at the top or the bottom of the following page). Captions less than one line long are centered under the figure, otherwise they span the width of the figure. Note that is unnecessary (and undesirable) to use explicit centering commands inside the float environments. \section{Tables}\label{sec:tables} Tables are very similar to figures. They should be input using the \env{table} environment as detailed below, and \LaTeX\ will label and number the captions TABLE~1, TABLE~2, etc. (or in whatever format required by the chosen journal substyle). Tables without captions won't be numbered. Each table must begin with \envb{table}, end with \enve{table}. A caption can be specified using the \cmd\caption\marg{text} command. Captions less than one line long are centered under the figure, otherwise they span the width of the figure. To refer to the table via cross-referencing, a \cmd\label\marg{key} command should appear within the \cmd{\caption}. Use the \cmd\ref\marg{key} command to cite tables in text. The \env{table} environment will set the table to the width of the column. Thus, in two-column mode, the table will confined to a single column. To set a table to the full width of the page, rather than the column, use the \env{table*} environment. The heart of the table is the \env{tabular} environment. This will behave for the most part as in standard \LaTeXe\ (please refer to Section~3.6.3 and Appendix~C.10.2 of the \LUG{} for more details about the \env{tabular} environment). Note that \revtex~4 no longer automatically adds double (Scotch) rules around tables. Nor does the \env{tabular} environment set various table parameters for column spacing as before. Instead, a new environment \env{ruledtabular} provides this functionality. This environment should surround the \env{tabular} environment: \begin{verbatim} \begin{table} \caption{\label{}....} \begin{ruledtabular} \begin{tabular} ... \end{tabular} \end{ruledtabular} \end{table} \end{verbatim} A basic table looks as follows: \begin{verbatim} \begin{table} \caption{\label{tab:example}Text of table caption.} \begin{ruledtabular} \begin{tabular}{ll} Heading 1 & Heading 2\\ Cell 1 & Cell 2\\ \end{tabular} \end{ruledtabular} \end{table} \end{verbatim} The \env{quasitable} environment is no longer in \revtex~4. The standard \env{tabular} environment can be used instead because it no longer puts in the double rules. \subsection{Aligning on a decimal point} Numerical columns should align on the decimal point (or decimal points if more than one is is present). This is accomplished by again using a standard \LaTeXe\ package, \classname{dcolumn} which must be loaded in the manuscript's preamble: \begin{verbatim} \usepackage{dcolumn} \end{verbatim} Once this package is loaded, the column specifier `\texttt{d}' can be used in the table's \env{tabular}\marg{preamble} enviroment preamble. The `\texttt{d}' should be used for simple numeric data with a single decimal point. % The entry of a \texttt{d} column is typeset in math mode; do not insert any \verb+$+ math delimiters into a `\texttt{d}' column. Items without a decimal point are simply set in math mode, centered. If text is required in the column, use \cmd\text\ or \cmd\mbox\ as appropriate. If multiple decimal points are present then the last is used for alignment. To escape from the `\texttt{d}' column use \cmd\multicolumn\ as usual. See the sample file \file{apssamp.tex} for examples. \subsection{Footnotes in Tables}\label{sec:tablenote} Footnotes in a table are labeled \emph{a}, \emph{b}, \emph{c}, etc. They can be specified by using the \LaTeX\ \cmd\footnote\ command. Furthermore, \cmd\footnotemark\ and \cmd\footnotetext\ can be used so that multiple entries can to refer to the same footnote. The footnotes for a table are typeset at the bottom of the table, rather than at the bottom of the page or at the end of the references. The arguments for \cmd\footnotemark\ and \cmd\footnotetext\ should be numbers 1, 2, \dots. The journal style will convert these to letters. See sample file \file{apssamp.tex} for examples and explanations of use. \subsection{Dealing with Long Tables} By default, tables are set in a smaller size than the text body (\cmd\small). The \cmd\squeezetable\ declaration makes the table font smaller still (\cmd\scriptsize). Thus, putting the \cmd\squeezetable\ command before the \envb{table} line in a table will reduce the font size. If this isn't sufficient to fit the table on a page, the standard \LaTeXe\ \classname{longtable} package may be used. The scope of the \cmd\squeezetable\ command must be limited by enclosing it with a group: \begin{verbatim} \begingroup \squeezetable \begin{table} [...] \end{table} \endgroup \end{verbatim} Tables are normally set to the width of the column in which they are placed. This means that in two-column mode, the table will be placed in a single, narrow column. For wide tables, the \cmd\table\verb+*+ environment should be used instead. This will place the table across both columns (the table usually will appear either at the top or the bottom of the following page). Under \revtex~3, tables automatically break across pages; \revtex~4 provides some of this functionality. However, this requires adding to the table a float placement option of [H] (meaning put the table ``here'' and effectively ``unfloating'' the table) to the \envb{table} command. The commands \verb+\\*+ and \cmd{\samepage} can be used to control where the page breaks occur (these are the same as for the \env{eqnarray} environment). Long tables are more robustly handled by using the \classname{longtable.sty} package included with the standard \LaTeXe\ distribution (put \verb+\usepackage{longtable}+ in the preamble). This package gives precise control over the layout of the table. The \revtex~4 package contains patches that enable the \classname{longtable} package to work in two-column mode. Of course, a table set in two-column mode needs to be narrow enough to fit within the column. Otherwise, the columns may overlap. \revtex~4 provides an additional environment \env{longtable*} which allows a longtable to span the whole page width. Currently, the \env{longtable*} and \env{ruledtabular} environments are incompatible. In order to get the double (Scotch) rule, it is necessary to add the \verb+\hline\hline+ manually (or define \verb+\endfirsthead+ and \verb+\endlastfoot+ appropriately). For more documentation on the \env{longtable} environment and on the package options of the \classname{longtable} package, please see the documentation available at \url{ftp://ctan.tug.org/macros/latex/required/tools/longtable.dtx} or refer to \cite{Compan}. \section{Placement of Figures, Tables, and Other Floats} \label{sec:place} By default, figures and tables (and any other ``floating'' environments defined by other packages) float to the top or bottom of the page using the standard \LaTeX\ float placement mechanism. Initially, each \env{figure} or \env{table} environment should be put immediately following its first reference in the text; this will usually result in satisfactory placement on the page. An optional argument for either environment adjusts the float placement. For example: \begin{quote} \envb{figure}\oarg{placement}\\ \dots\\ \enve{figure} \end{quote} where \meta{placement} can be any combination of \verb|htbp!|, signifying ``here'', ``top'', ``bottom'', ``page'', and ``as soon as possible'', respectively. The same placement argument may be added to a \envb{table}. For more details about float placement, see the instructions in the \LUG, Appendix~C.9.1. In two-column mode, a page may contain both a \env{widetext} environment and a float. \revtex~4 may not always be able to automatically put the float in the optimal place. For instance, a float may be placed at the bottom of a column just before the \env{widetext} begins. To workaround this, try moving the float environment below the \env{widetext} environment. Alternative \meta{placements} may also alleviate the problem. \env{figure} and \env{table} environments should not be enclosed in a \env{widetext} environment to make them span the page to accomodate wide figures or tables. Rather, the \env{figure*} or \env{table*} environments should be used instead. Sometimes in \LaTeX\ the float placement mechanism breaks down and a float can't be placed. Such a ``stuck'' float may mean that it and all floats that follow are moved to the end of the job (and if there are too many of floats, the fatal error \texttt{Too many unprocessed floats} will occur). \revtex~4 provides the class option \classoption{floatfix} which attempts to invoke emergency float processing to avoid creating a ``stuck'' float. \revtex~4 will provide a message suggesting the use of \classoption{floatfix}. If \classoption{floatfix} doesn't work or if the resulting positioning of the float is poor, the float should be repositioned by hand. \revtex~4 offers an additional possibility for placing the floats. By using the either the \classoption{endfloats} or the \classoption{endfloats*} class option all floats may be held back (using an external file) and then set elsewhere in the document using the the commands \cmd\printtables\ and \cmd\printfigures{}, placed where the tables and figures are to be printed (usually at the end of the document). (This is similar to the standard \cmd\printindex\ command). Using a \texttt{*}-form of the commands (\cmd\printfigures\verb+*+ and \cmd\printtables\verb+*+) will begin the figures or tables on a new page. Alternatively, the option \classoption{endfloats*} may be used to change the behavior of the non-\texttt{*}-forms so that every float will appear on a separate page at the end. Without one of the \classoption{endfloats} class options, these float placement commands are silently ignored, so it is always safe to use them. If one of the \classoption{endfloats} class options is given, but the \cmd\printtables\ command is missing, the tables will be printed at the end of the document. Likewise, if \cmd\printfigures\ is missing, the figures will be printed at the end of the document. Therefore it is also safe to omit these commands as long as \revtex's default choices for ordering figures and tables are satisfactory. The \classoption{endfloats} option (or perhaps some journal substyle that invokes it), requires explicit \envb{figure}, \enve{figure}, \envb{table}, and \enve{table} lines. In particular, do \emph{not} define typing shortcuts for table and figure environments, such as \begin{verbatim} \def\bt{\begin{table}}% Incompatible! \def\et{\end{table}}% \end{verbatim} Please note that it is generally undesirable to have all floats moved to the end of the manuscript. APS no longer requires this for submissions. In fact, the editors and referees will have an easier time reading the paper if the floats are set in their normal positions. \section{Rotating Floats} Often a figure or table is too wide to be typeset in the standard orientation and it is necessary to rotate the float 90 degrees. \revtex~4 provides a new environment \env{turnpage} as an easy means to accomplish this. The \env{turnpage} environment depends on one of the packages \classname{graphics} or \classname{graphicx} being loaded. To use the \env{turnpage} environment, simply enclose the \env{figure} or \env{table} environment with the \env{turnpage} environment: \begin{verbatim} \documentclass[...]{revtex4} \usepackage{graphicx} [...] \begin{turnpage} \begin{figure} or \begin{table} [...] \end{figure} or \end{table} \end{turnpage} \end{verbatim} A turnpage float will be typeset on a page by itself. Currently, there is no mechanism for breaking such a float across multiple pages. \section{\revtex~4 symbols and the \classname{revsymb} package} Symbols made available in earlier versions of \revtex\ are defined in a separate package, \classname{revsymb}, so that they may be used with other classes. This might be useful if, say, copying text from a \revtex\ document to a non-\revtex\ document. \revtex~4 automatically includes these symbols so it is not necessary to explicitly call them in with a \cmd\usepackage\ statement. Table~\ref{tab:revsymb} summarizes the symbols defined in this package. Note that \cmd{\overcirc}, \cmd{\overdots}, and \cmd{\corresponds} are no longer in \revtex~4. Use \cmd{\mathring} (standard in \LaTeXe), \cmd{\dddot} (with the \classoption{amsmath} package loaded), and \cmd\triangleq\ (with the \classoption{amssymb} class option) respectively. \cmd{\succsim}, \cmd{\precsim}, \cmd{\lesssim}, and \cmd{\gtrsim} are also defined either in \classname{amsmath} or \classname{amssymb}. The AMS versions of these commands will be used if the appropriate AMS package is loaded. \begin{table} \caption{\label{tab:revsymb}Special \revtex~4 symbols, accents, and boldfaced parentheses defined in \file{revsymb.sty}} \begin{ruledtabular} \begin{tabular}{ll|ll} \cmd\lambdabar & $\lambdabar$ &\cmd\openone & $\openone$\\ \cmd\altsuccsim & $\altsuccsim$ & \cmd\altprecsim & $\altprecsim$ \\ \cmd\alt & $\alt$ & \cmd\agt & $\agt$ \\ \cmd\tensor\ x & $\tensor x$ & \cmd\overstar\ x & $\overstar x$ \\ \cmd\loarrow\ x & $\loarrow x$ & \cmd\roarrow\ x & $\roarrow x$ \\ \cmd\biglb\ ( \cmd\bigrb ) & $\biglb( \bigrb)$ & \cmd\Biglb\ ( \cmd\Bigrb )& $\Biglb( \Bigrb)$ \\ & & \\ \cmd\bigglb\ ( \cmd\biggrb ) & $\bigglb( \biggrb)$ & \cmd\Bigglb\ ( \cmd\Biggrb\ ) & $\Bigglb( \Biggrb)$ \\ \end{tabular} \end{ruledtabular} \end{table} \section{Other \revtex~4 Features} %\subsection{Hooks} %To be written.... \subsection{Job-specific Override Files} \revtex~4 allows manuscript-specific macro definitions to be put in a file separate from the main \TeX\ file. One merely creates a file with the same basename as the \TeX\ file, but with the extension `.rty'. Thus, if the \TeX\ file is names man.tex, the macro definitions would go in man.rty. Note that the .rty file should be in the same directory as the \TeX\ file. APS authors should follow the guidelines in the \textit{APS Compuscript Guide for \revtex~4} when submitting. \begin{thebibliography}{}\label{sec:TeXbooks} \bibitem[Knuth(1986)]{TeXbook} D.E. Knuth, \emph{The \TeX book}, (Addison-Wesley, Reading, MA, 1986). \bibitem[Lamport(1996)]{LaTeXman} L. Lamport, \emph{\LaTeX, a Document Preparation System}, (Addison-Wesley, Reading, MA, 1996). \bibitem[Kopka(1995)]{Guide} H. Kopka and P. Daly, \emph{A Guide to \LaTeXe}, (Addison-Wesley, Reading, MA, 1995). \bibitem[Goossens(1994)]{Compan} M. Goosens, F. Mittelbach, and A. Samarin, \emph{The \LaTeX\ Companion}, (Addison-Wesley, Reading, MA, 1994). \bibitem[Goossens(1997)]{CompanG} M. Goossens, S. Rahtz, and F. Mittelbach, \emph{The \LaTeX\ Graphics Companion}, (Addison-Wesley, Reading, MA, 1997). \bibitem[Rahtz(1999)]{CompanW} S. Rahtz, M. Goossens, \emph{et al.},\emph{The \LaTeX\ Web Companion}, (Addison-Wesley, Reading, MA, 1999). \end{thebibliography} \end{document} extrarpms/revtex4/docs/differ.tex0100644000076400007640000005750307332605204016423 0ustar karenkaren%% ****** Start of file authguide.tex ****** % %% %% This file is part of the APS files in the REVTeX 4 distribution. %% Version 4.0 of REVTeX, August 2001 %% %% Copyright (c) 2000, 2001 The American Physical Society. %% %% See the REVTeX 4 README file for restrictions and more information. %% \documentclass[% %prl% %,preprint% ,twocolumn% ,secnumarabic% %,tightenlines% ,amssymb,aps,prl,nobibnotes]{revtex4} \usepackage{docs} %\usepackage{acrofont}%NOTE: Comment out this line for the release version! %\usepackage[colorlinks=true,linkcolor=blue]{hyperref}% %\nofiles \expandafter\ifx\csname package@font\endcsname\relax\else \expandafter\expandafter \expandafter\usepackage \expandafter\expandafter \expandafter{\csname package@font\endcsname}% \fi \DeclareRobustCommand\substyle{\name@idx{document substyle}}% \DeclareRobustCommand\classoption{\name@idx{document class option}}% \DeclareRobustCommand\classname{\name@idx{document class}}% \def\name@idx#1#2{% {\ttfamily#2}% \index{#2\space#1=\string\ttt{#2}\space#1}\index{#1>#2=\string\ttt{#2}}% }% \DeclareRobustCommand\revtex{REV\TeX} \begin{document} \title{Differences between \revtex~4 and \revtex~3}% \author{American Physical Society}% \email{revtex4@aps.org} \affiliation{1 Research Road, Ridge, NY 11961} \date{August 2001}% \maketitle \tableofcontents \section{Introduction} This document gives a brief summary of how \revtex~4 is different from what authors may already be familiar with. The two primary design goals for \revtex~4 are to 1) move to \LaTeXe\ and 2) improve the markup so that infomation can be more reliably extracted for the editorial and production processes. Both of these goals require that authors comfortable with earlier versions of \revtex\ change their habits. In addition, authors may already be familiar with the standard \classname{article.cls} in \LaTeXe. \revtex~4 differs in some important ways from this class as well. For more complete documentation on \revtex~4, see the main \textit{\revtex~4 Author's Guide}. The most important changes are in the markup of the front matter (title, authors, affiliations, abstract, etc.). Please see Sec.~\ref{sec:front}. \section{Version of \LaTeX} The most obvious difference between \revtex~4 and \revtex~3 is that \revtex~4 works solely with \LaTeXe; it is not useable as a \LaTeX2.09 package. Furthermore, \revtex~4 requires an up-to-date \LaTeX\ installation (1996/06/01 or later); its use under older versions is not supported. \section{Class Options and Defaults} Many of the class options in \revtex~3 have been retained in \revtex~4. However, the default behavior for these options can be different than in \revtex~3. Currently, there is only one society option, \classoption{aps}, and this is the default. Furthermore, the selection of a journal (such as \classoption{prl}) will automatically set the society as well (this will be true even after other societies are added). In \revtex~3, it was necessary to invoke the \classoption{floats}, but this is the default for \classoption{aps} journal in \revtex~4. \revtex~4 introduces two new class options, \classoption{endfloats} and \classoption{endfloats*} for moving floats to the end of the paper. The preamble commands \cmd{\draft} and \cmd{\tighten} have been replaced with new class options \classoption{draft} and \classoption{tightenlines}, respectively. The \cmd{\preprint} command is now used only for specifying institutional report numbers (typeset in the upper-righthand corner of the first page); it no longer influences whether PACS numbers are displayed below the abstract. PACS display is controlled by the \classoption{showpacs} and \classoption{noshowpacs} (default) class options. Paper size options (\classoption{letter}, \classoption{a4paper}, etc.) work in \revtex~4. The text ``Typeset by \revtex'' no longer appears by default - the option \classoption{byrevtex} will place this text in the lower-lefthand corner of the first page. \section{One- and Two-column formatting} \revtex~4 has excellent support for achieving the two-column formatting in the \textit{Physical~Review} and \textit{Reviews of Modern Physics} styles. It will balance the columns automatically. Whereas \revtex~3 had the \cmd{\widetext} and \cmd{\narrowtext} commands for switching between one- and two-cloumn modes, \revtex~4 simply has a \env{widetext} environment, \envb{widetext} \dots \enve{widetext}. One-column formatting can be specified by choosing either the \classoption{onecolumn} or \classoption{preprint} class option (the \revtex~3 option \classoption{manuscript} no longer exists). Two-column formatting is the default for most journal styles, but can be specified with the \classoption{twocolumn} option. Note that the spacing for \classoption{preprint} is now set to 1.5, rather than full double-spacing. The \classoption{tightenlines} option can be used to reduce this to single spacing. \section{Front Matter Markup} \label{sec:front} \revtex~4 has substantially changed how the front matter for an article is marked up. These are the most significant differences between \revtex~4 and other systems for typesetting manuscripts. It is essential that authors new to \revtex~4 be familiar with these changes. \subsection{Authors, Affiliations, and Author Notes} \revtex~4 has substantially changed the markup of author names, affiliations, and author notes (footnotes giving additional information about the author such as a permanent address or an email address). \begin{itemize} \item Each author name should appear separately in individual \cmd\author\ macros. \item Email addresses should be marked up using the \cmd\email\ macro. \item Alternative affiliation information should be marked up using the \cmd\altaffiliation\ macro. \item URLs for author home pages can be specified with a \cmd\homepage\ macro. \item The \cmd\thanks\ macro should only be used if one of the above don't apply. \item \cmd{\email}, \cmd{\homepage}, \cmd{\altaffiliation}, and \cmd{\thanks} commands are grouped together under a single footnote for each author. These footnotes can either appear at the bottom of the first page of the article or as the first entries in the bibliography. The journal style controls this placement, but it may be overridden by using the class options \classoption{bibnotes} and \classoption{nobibnotes}. Note that these footnotes are treated differently than the other footnotes in the article. \item The grouping of authors by affiliations is accomplished automatically. Each affiliation should be in its own \cmd{\affiliation} command. Multiple \cmd{\affiliation}, \cmd{\email}, \cmd{\homepage}, \cmd{\altaffiliation}, and \cmd{\thanks} commands can be applied to each author. The macro \cmd\and\ has been eliminated. \item \cmd\affiliation\ commmands apply to all previous authors that don't have an affiliation already declared. Furthermore, for any particular author, the \cmd\affilation\ must follow any \cmd{\email}, \cmd{\homepage}, \cmd{\altaffiliation}, or \cmd{\thanks} commands for that author. \item Footnote-style associations of authors with affilitations should not be done via explicit superscripts; rather, the class option \classoption{superscriptaddress} should be used to accomplish this automatically. \item A collaboration for a group of authors can be given using the \cmd\collaboration\ command. \end{itemize} Table~\ref{tab:front} summarizes some common pitfalls in moving from \revtex~3 to \revtex~4. \begin{table*} \begin{ruledtabular} \begin{tabular}{lll} \textbf{\revtex~3 Markup} & \textbf{\revtex~4 Markup} & \textbf{Explanation}\\ & & \\ \verb+\author{Author One and Author Two}+ & \verb+\author{Author One}+ & One name per\\ & \verb+\author{Author Two}+ & \verb+\author+ \\ & & \\ \verb+\author{Author One$^{1}$}+ & \verb+\author{Author One}+& Use \classoption{superscriptaddress}\\ \dots &\dots & class option \\ \verb+\address{$^{1}$APS}+ &\verb+\affiliation{APS}+ & \\ & & \\ \verb+\thanks{Permanent address...}+ & \verb+\altaffiliation{}+& Use most specific macro \\ \verb+\thanks{Electronic address: user@domain.edu}+ & \verb+\email{user@domain.edu}+& available\\ \verb+\thanks{http://publish.aps.org/}+ & \verb+\homepage{http://publish.aps.org/}+& \\ \end{tabular} \end{ruledtabular} \caption{Common mistakes in marking up the front matter} \label{tab:front} \end{table*} \subsection{Abstracts} \revtex~4, like \revtex~3, uses the \env{abstract} environment \envb{abstract} \dots \enve{abstract} for the abstract. The \env{abstract} environment must appear before the \cmd{\maketitle} command in \revtex~4. The abstract will be formatted appropriately for either one-column (preprint) or two-column formatting. In particular, in the two-column case, the abstract will automatically be placed in a single column that spans the width of the page. It is unnecessary to use a \cmd{\minipage} or any other macro to achieve this result. \section{Citations and References} \revtex~4 uses the same \cmd{\cite},\cmd{\ref}, and \cmd{\bibitem} commmands as standard \LaTeX\ and \revtex~3. Citation handling is based upon Patick Daly's \classname{natbib} package. The \env{references} environment is no longer used. Instead, use the standard \LaTeXe\ environment \env{thebibliography}. Two new \BibTeX\ files have been included with \revtex~4, \file{apsrev.bst} and \file{apsrmp.bst}. These will format references in the style of \textit{Physical Review} and \textit{Reviews of Modern Physics} respectively. In addition, these \BibTeX\ styles automatically apply a special macro \cmd{\bibinfo} to each element of the bibliography to make it easier to extract information for use in the editorial and production processes. Authors are strongly urged to use \BibTeX\ to manage their bibliographies so that the \cmd{\bibinfo} directives will be automatically included. Other bibliography styles can be specified by using the \cmd\bibliographystyle\ command, but unlike standard \LaTeXe, you must give this command \emph{before} the \envb{document} statement. Please note that the package \classname{cite.sty} is not needed with \revtex~4 and is incompatible. \section{Footnotes and Tablenotes} \label{sec:foot} \revtex~4 uses the standard \cmd{\footnote} macro for footnotes. Footnotes can either appear on the bottom of the page on which they occur or they can appear as entries at the end of the bibliography. As with author notes, the journal style option controls the placement; however, this can be overridden with the class options \classoption{footinbib} and \classoption{nofootinbib}. Within a table, the \cmd{\footnote} command behaves differently. Footnotes appear at the bottom of the table. \cmd{\footnotemark} and \cmd{\footnotetext} are also available within the table environment so that multiple table entries can share the same footnote text. There is no longer a need to use a \cmd{\tablenote}, \cmd{\tablenotemark}, and \cmd{\tablenotetext} macros. \section{Section Commands} The title in a \cmd\section\marg{title} command will be automatically uppercased in \revtex~4. To prevent a particular letter from being uppercased, enclose it in curly braces. \section{Figures} Figures should be enclosed within either a \env{figure} or \env{figure*} environment (the latter will cause the figure to span the full width of the page in two-column mode). \LaTeXe\ has two convenient packages for including the figure file itself: \classname{graphics} and \classname{graphicx}. These two packages both define a macro \cmd{\includegraphics} which calls in the figure. They differ in how arguments for rotation, translation, and scaling are specified. The package \classname{epsfig} has been re-implemented to use these \classname{graphicx} package. The package \classname{epsfig} provides an interface similar to that under the \revtex~3 \classoption{epsf} class option. Authors should use these standard \LaTeXe\ packages rather than some other alternative. \section{Tables} Short tables should be enclosed within either a \env{table} or \env{table*} environmnent (the latter will cause the table to span the full width of the page in two-column mode). The heart of the table is the \env{tabular} environment. This will behave for the most part as in standard \LaTeXe. Note that \revtex~4 no longer automatically adds double (Scotch) rules around tables. Nor does the \env{tabular} environment set various table parameters as before. Instead, a new environment \env{ruledtabular} provides this functionality. This environment should surround the \env{tabular} environment: \begin{verbatim} \begin{table} \caption{...} \label{tab:...} \begin{ruledtabular} \begin{tabular} ... \end{tabular} \end{ruledtabular} \end{table} \end{verbatim} Under \revtex~3, tables automatically break across pages. \revtex~4 provides some of this functionality. However, this requires adding the table a float placement option of [H] (meaning put the table ``here'') to the \envb{table} command. Long tables are more robustly handled by using the \classname{longtable.sty} package included with the standard \LaTeXe\ distribution (put \verb+\usepackage{longtable}+ in the preamble). This package gives precise control over the layout of the table. \revtex~4 goes out of its way to provide patches so that the \env{longtable} environment will work within a two-column format. A new \env{longtable*} environment is also provided for long tables that are too wide for a narrow column. (Note that the \env{table*} and \env{longtable*} environments should always be used rather than attempting to use the \env{widetext} environment.) To create tables with columns of numbers aligned on decimal points, load the standard \LaTeXe\ \classname{dcolumn} package and use the \verb+d+ column specifier. The content of each cell in the column is implicitly in math mode: Use of math delimiters (\verb+$+) is unnecessary in a \verb+d+ column. Footnotes within a table can be specified with the \cmd{\footnote} command (see Sec.~\ref{sec:foot}). \section{Font selection} The largest difference between \revtex~3 and \revtex~4 with respect to fonts is that \revtex~4 allows one use the \LaTeXe\ font commands such as \cmd{\textit}, \cmd{\texttt}, \cmd{\textbf} etc. These commands should be used in place of the basic \TeX/\LaTeX\ 2.09 font commands such as \cmd{\it}, \cmd{\tt}, \cmd{\bf}, etc. The new font commands better handle subtleties such as italic correction and scaling in super- and subscripts. \section{Math and Symbols} \revtex~4 depends more heavily on packages from the standard \LaTeXe\ distribution and AMS-\LaTeX\ than \revtex~3 did. Thus, \revtex~4 users should make sure their \LaTeXe\ distributions are up to date and they should install AMS-\LaTeX\ 2.0 as well. In general, if any fine control of equation layout, special math symbols, or other specialized math constructs are needed, users should look to the \classname{amsmath} package (see the AMS-\LaTeX\ documentation). \revtex~4 provides a small number of additional diacritics, symbols, and bold parentheses. Table~\ref{tab:revsymb} summarizes this. \begin{table} \caption{Special \revtex~4 symbols, accents, and boldfaced parentheses defined in \file{revsymb.sty}} \label{tab:revsymb} \begin{ruledtabular} \begin{tabular}{ll|ll} \cmd\lambdabar & $\lambdabar$ &\cmd\openone & $\openone$\\ \cmd\altsuccsim & $\altsuccsim$ & \cmd\altprecsim & $\altprecsim$ \\ \cmd\alt & $\alt$ & \cmd\agt & $\agt$ \\ \cmd\tensor\ x & $\tensor x$ & \cmd\overstar\ x & $\overstar x$ \\ \cmd\loarrow\ x & $\loarrow x$ & \cmd\roarrow\ x & $\roarrow x$ \\ \cmd\biglb\ ( \cmd\bigrb ) & $\biglb( \bigrb)$ & \cmd\Biglb\ ( \cmd\Bigrb )& $\Biglb( \Bigrb)$ \\ & & \\ \cmd\bigglb\ ( \cmd\biggrb ) & $\bigglb( \biggrb)$ & \cmd\Bigglb\ ( \cmd\Biggrb\ ) & $\Bigglb( \Biggrb)$ \\ \end{tabular} \end{ruledtabular} \end{table} Here is a partial list of the more notable changes between \revtex~3 and \revtex~4 math: \begin{itemize} \item Bold math characters should now be handle via the standard \LaTeXe\ \classname{bm} package (use \cmd{\bm} instead of \cmd{\bbox}). \cmd{\bm} will handle Greek letters and other symbols. \item Use the class options \classoption{amsmath}, \classoption{amsfonts} and \classoption{amssymb} to get even more math fonts and symbols. \cmd{\mathfrak} and \cmd{\mathbb} will, for instance, give Fraktur and Blackboard Bold symbols. \item Use the \classoption{fleqn} class option for making equation flush left or right. \cmd{\FL} and \cmd{\FR} are no longer provided. \item In place of \cmd{\eqnum}, load the \classname{amsmath} package [\verb+\usepackage{amsmath}+] and use \cmd{\tag}. \item In place of \cmd{\case}, use \cmd{\textstyle}\cmd{\frac}. \item In place of the \env{mathletters} environment, load the \classname{amsmath} package and use \env{subequations} environment. \item In place of \cmd{\slantfrac}, use \cmd{\frac}. \item The macros \cmd{\corresponds}, \cmd{\overdots}, and \cmd{\overcirc} have been removed. See Table~\ref{tab:obsolete}. \end{itemize} \section{Obsolete \revtex~3.1 commands} Table~\ref{tab:obsolete} summarizes more differences between \revtex~4 and \revtex~3, particularly which \revtex~3 commands are now obsolete. \begin{table*} \caption{Differences between \revtex~3.1 and \revtex~4 markup}\label{tab:diff31} \label{tab:obsolete} \begin{ruledtabular} \begin{tabular}{lp{330pt}} \textbf{\revtex~3.1 command}&\textbf{\revtex~4 replacement} \lrstrut\\ \cmd\documentstyle\oarg{options}\aarg{\classname{revtex}}&\cmd\documentclass\oarg{options}\aarg{\classname{revtex4}} \\ option \classoption{manuscript}& \classoption{preprint} \\ \cmd\tighten\ preamble command & \classoption{tightenlines} class option \\ \cmd\draft\ preamble command & \classoption{draft} class option \\ \cmd\author & \cmd\author\marg{name} may appear multiple times; each signifies a new author name.\\ & \cmd\collaboration\marg{name}: Collaboration name (should appear after last \cmd\author)\\ & \cmd\homepage\marg{URL}: URL for preceding author\\ & \cmd\email\marg{email}: email address for preceding author\\ & \cmd{\altaffiliation}: alternate affiliation for preceding \cmd\author\\ \cmd\thanks & \cmd\thanks, but use only for information not covered by \cmd{\email}, \cmd{\homepage}, or \cmd{\altaffilitiation}\\ \cmd\and & obsolete, remove this command\\ \cmd\address & \cmd\affiliation\marg{institution}\ gives the affiliation for the group of authors above\\ & \cmd\affiliation\oarg{note} lets you specify a footnote to this institution\\ & \cmd\noaffiliation\ signifies that the above authors have no affiliation\\ \cmd\preprint & \cmd\preprint\marg{number} can appear multiple times, and must precede \cmd\maketitle\\ \cmd\pacs & \cmd\pacs\ must precede \cmd\maketitle\\ \env{abstract} environment & \env{abstract} environment must precede \cmd\maketitle\\ \cmd\wideabs & obsolete, remove this command\\ \cmd\maketitle & \cmd\maketitle\ must follow \emph{all} front matter data commands\\ \cmd\narrowtext & obsolete, remove this command\\ \cmd\mediumtext & obsolete, remove this command\\ \cmd\widetext & obsolete, replace with \env{widetext} environment\\ \cmd\FL & obsolete, remove this command\\ \cmd\FR & obsolete, remove this command\\ \cmd\eqnum & replace with \cmd\tag, load \classname{amsmath}\\ \env{mathletters} & replace with \env{subequations}, load \classname{amsmath}\\ \env{tabular} environment & No longer puts in doubled-rules. Enclose \env{tabular} in \env{ruledtabular} to get old behavior.\\ \env{quasitable} environment & obsolete, \env{tabular} environment no longer puts in rules\\ \env{references} environment & replace with \env{thebibliography}\verb+{}+\\ \cmd\case & replace with \cmd\textstyle\cmd\frac\\ \cmd\slantfrac & replace with \cmd\frac\\ \cmd\tablenote & replace with \cmd\footnote\\ \cmd\tablenotemark & replace with \cmd\footnotemark\\ \cmd\tablenotetext & replace with \cmd\footnotetext\lrstrut\\ \cmd\overcirc & Use standard \LaTeXe\ \cmd\mathring\ \\ \cmd\overdots & Use \cmd\dddot\ with \classoption{amsmath}\\ \cmd\corresponds & Use \cmd\triangleq\ with \classoption{amssymb}\\ \classoption{epsf} class option & \verb+\usepackage{epsfig}+\\ \end{tabular} \end{ruledtabular} \end{table*} \section{Converting a \revtex~3.1 Document to \revtex~4}\label{sec:conv31}% \revtex~3 documents can be converted to \revtex~4 rather straightforwardly. The following checklist covers most of the major steps involved. \begin{itemize} \item Change \cmd\documentstyle\verb+{revtex}+ to \cmd\documentclass\verb+{revtex4}+, and run the document under \LaTeXe\ instead of \LaTeX2.09. \item Replace the \cmd\draft\ command with the \classoption{draft} class option. \item Replace the \cmd\tighten\ command with the \classoption{tightenlines} class option. \item For each \cmd\author\ command, split the multiple authors into individual \cmd\author\ commands. Remove any instances of \cmd\and. \item For superscript-style associations between authors and affiliations, remove explicit superscripts and use the \classoption{superscriptaddress} class option. \item Use \cmd\affiliation\ instead of \cmd\address. \item Put \cmd\maketitle\ after the \env{abstract} environment and any \cmd\pacs\ commands. \item If double-ruled table borders are desired, enclose \env{tabular} enviroments in \env{ruledtabular} environments. \item Convert long tables to \env{longtable}, and load the \classname{longtable} package. Alternatively, give the \env{table} an [H] float placement parameter so that the table will break automatically. \item Replace any instances of the \cmd\widetext\ and \cmd\narrowtext\ commands with the \env{widetext} environment. Usually, the \envb{widetext} statement will replace the \cmd\widetext\ command, and the \enve{widetext} statement replaces the matching \cmd\narrowtext\ command. Note in this connection that due to a curious feature of \LaTeX\ itself, \revtex~4 having a \env{widetext} environment means that it also has a definition for the \cmd\widetext\ command, even though the latter cammand is not intended to be used in your document. Therefore, it is particularly important to remove all \cmd\widetext\ commands when converting to \revtex~4. \item Remove all obsolete commands: \cmd\FL, \cmd\FR, \cmd\narrowtext, and \cmd\mediumtext\ (see Table~\ref{tab:diff31}). \item Replace \cmd\case\ with \cmd\frac. If a fraction needs to be set in text style despite being in a display equation, use the construction \cmd\textstyle\cmd\frac. Note that \cmd\frac\ does not support the syntax \cmd\case\verb+1/2+. \item Replace \cmd\slantfrac\ with \cmd\frac. \item Change \cmd\frak\ to \cmd\mathfrak\marg{char}\index{Fraktur} and \cmd\Bbb\ to \cmd\mathbb\marg{char}\index{Blackboard Bold}, and invoke one of the class options \classoption{amsfonts} or \classoption{amssymb}. \item Replace environment \env{mathletters} with environment \env{subequations} and load the \classname{amsmath} package. \item Replace \cmd\eqnum\ with \cmd\tag\ and load the \classname{amsmath} package. \item Replace \cmd\bbox\ with \cmd\bm\ and load the \classname{bm} package. \item If using the \cmd\text\ command, load the \classname{amsmath} package. \item If using the \verb+d+ column specifier in \env{tabular} environments, load the \classname{dcolumn} package. Under \classname{dcolumn}, the content of each \verb+d+ column cell is implicitly in math mode: remove any \verb+$+ math delimiters appearing in cells in a \verb+d+ column. \item Replace \cmd\tablenote\ with \cmd\footnote, \cmd\tablenotemark\ with \cmd\footnotemark, and \cmd\tablenotetext\ with \cmd\footnotetext. \item Replace \envb{references} with \envb{thebibliography}\verb+{}+; \enve{references} with \enve{thebibliography}. \end{itemize} \end{document} extrarpms/revtex4/docs/docs.sty0100644000076400007640000000676507332605050016136 0ustar karenkaren% authguide.rty - macros for processing revguide.tex under \documentclass{revtex4} % Text entities \DeclareRobustCommand\SNG{\emph{Physical Review Style and Notation Guide}} \DeclareRobustCommand\LUG{\emph{\LaTeX{} User's Guide \& Reference Manual}} \DeclareRobustCommand\revtex{REV\TeX} \DeclareRobustCommand\marglat{\marginpar[\textbf{2e}]{\textbf{2e}}} \DeclareRobustCommand\margrev{\marginpar[\textbf{4}]{\textbf{4}}} \DeclareRobustCommand\AmS{% {\protect\the\textfont\tw@ A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}% }% \DeclareRobustCommand\AmSLaTeX{\AmS-\LaTeX} \DeclareRobustCommand\BibTeX{{\rm B}{\sc ib}\TeX} % % Various forms of self-indexing commands: % \begin{macrocode} \DeclareRobustCommand{\m}[1]{% \meta{#1}% \index{#1=\string\meta{#1} placeholder}\index{placeholder>#1=\string\meta{#1}}% }% \DeclareRobustCommand\meta[1]{% \mbox{\m@th\LANGLE\itshape#1\/\RANGLE}% }% \def\LANGLE{$\langle$}% \def\RANGLE{$\rangle$}% \DeclareRobustCommand{\marg}[1]{% {\ttfamily\string{}\meta{#1}{\ttfamily\string}}% \index{#1=\string\ttt{#1}, argument}\index{argument>#1=\string\ttt{#1}}% }% \DeclareRobustCommand{\aarg}[1]{% {\ttfamily\string{}#1{\ttfamily\string}}% }% \let\oarg\undefined \DeclareRobustCommand{\oarg}[1]{% {\ttfamily[%] }\meta{#1}{\ttfamily%[ ]}% \index{#1=\string\ttt{#1}, optional argument}% \index{argument, optional>#1=\string\ttt{#1}}% }% \DeclareRobustCommand\cmd{\begingroup\makeatletter\@cmd}% \long\def\@cmd#1{% \endgroup \cs{\expandafter\cmd@to@cs\string#1}% \expandafter\cmd@to@index\string#1\@nil }% \def\cmd@to@cs#1#2{\char\number`#2\relax}% \def\cmd@to@index#1#2\@nil{% \index{#2=\string\cmd#1#2}%\index{command>#2=\string\cmd#1#2}% }% \DeclareRobustCommand\cs[1]{{\ttfamily\char`\\#1}}% \def\scmd#1{% \cs{\expandafter\cmd@to@cs\string#1}% \expandafter\scmd@to@index\string#1\@nil }% \def\scmd@to@index#1#2\@nil#3{% \index{\string$#3=\string\cmd#1#2---#3}% %\index{command>\string$#3=\string\cmd#1#2---#3}% }% \DeclareRobustCommand\env{\name@idx{environment}}% \DeclareRobustCommand\envb[1]{% {\ttfamily\string\begin\string{}\env{#1}{\ttfamily\string}}% }% \DeclareRobustCommand\enve[1]{{\ttfamily\string\end\string{}\env{#1}{\ttfamily\string}}}% \DeclareRobustCommand*{\file}[1]{% {\ttfamily#1}% \index{#1=\string\ttt{#1}}\index{file>#1=\string\ttt{#1}}% }% \DeclareRobustCommand\substyle{\name@idx{document substyle}}% \DeclareRobustCommand\classoption{\name@idx{document class option}}% \DeclareRobustCommand\classname{\name@idx{document class}}% \def\name@idx#1#2{% {\ttfamily#2}% \index{#2\space#1=\string\ttt{#2}\space#1}\index{#1>#2=\string\ttt{#2}}% }% % % Needed for index: % \def\ttt{\texttt}% \def\pfill{\ }% \def\efill{\ }% \let\scan@allowedfalse\relax %\makeindex \AtEndDocument{\@input@{\jobname.ind}\null}% % % Processing options % % % Layout: override revtex4|aps \c@secnumdepth2 \prepdef\@verbatim{\topsep.5\baselineskip}% \renewenvironment{quotation}{% \list{}{% \listparindent 10\p@ \itemindent\listparindent \leftmargin10\p@ \rightmargin\leftmargin \parsep \z@ \@plus\p@ \small }% \item[]% }{% \endlist }% \renewenvironment{quote}{% \list{}{% \leftmargin\z@ \rightmargin\leftmargin }\item[]% }{% \endlist }% \leftmargini\parindent \def\descriptionlabel#1{% \hspace\labelsep\ignorespaces #1\unskip }% \def\toprule{\hline\hline\frstrut}% \def\colrule{\hline\frstrut}% \def\frstrut{\vrule height2.5ex width\z@ depth\z@\relax}% \def\lrstrut{\vrule height\z@ width\z@ depth.5ex\relax}% % % Klootches % \let\savenofiles\nofiles % % Patches: % % \endinput extrarpms/revtex4/docs/summary.tex0100644000076400007640000005052407332604453016662 0ustar karenkaren%% ****** Start of file cos.tex ****** % %% %% This file is part of the APS files in the REVTeX 4 distribution. %% Version 4.0 beta 5 of REVTeX, December, 2000. %% %% Copyright (c) 2000,2001 The American Physical Society. %% %% See the REVTeX 4 README file for restrictions and more information. %% \listfiles \documentclass[twocolumn,secnumarabic,amssymb, amsmath, nofootinbib,tightenlines, nobibnotes, aps, prl]{revtex4} %\usepackage{acrofont}%NOTE: Comment out this line for the release version! %\usepackage{amsmath}% \usepackage{longtable}% \usepackage{bm}% \usepackage{docs} %\usepackage[colorlinks=true,linkcolor=blue]{hyperref}% \nofiles \expandafter\ifx\csname package@font\endcsname\relax\else \expandafter\expandafter \expandafter\usepackage \expandafter\expandafter \expandafter{\csname package@font\endcsname}% \fi \begin{document} \title[Command Option Summary]{\revtex~4 Command and Options Summary}% \author{American Physical Society}% \email{revtex4@aps.org} \affiliation{One Research Road, Ridge, NY 11961} \date{July 2001}% \maketitle This is the \textit{\revtex~4 Command and Options Summary}. It details usage for many of the new commands and options that are available in \revtex~4. Please see the \textit{\revtex~4 Author's Guide} for complete information on how to use \revtex~4. Class options for the \verb+\documentclass+ line are marked with square brackets. Environments are indicated by \verb+\begin{}+ and always require a matching \verb+\end{}+. \setlength\LTleft{0pt} \setlength\LTright{0pt} \begin{longtable*}{@{\extracolsep{1in}}p{3in}p{3in}} \caption{\revtex~4 Command Summary}\\ \hline\hline & \\ \textbf{\revtex~4/\LaTeXe\ Markup} & \textbf{Details and Usage}\\ & \\ \endfirsthead \multicolumn{2}{c}{\revtex~4 Command Summary continued...}\\ \hline & \\ \textbf{\revtex~4/\LaTeXe\ Markup} & \textbf{Details and Usage}\\ & \\ \endhead &\\ \hline \endfoot &\\ \hline\hline \endlastfoot \multicolumn{2}{c}{\textsc{Frequently Used Class Options}}\\ &\\ \verb+[aps]+ & \textit{American Physical Society} styling. Default.\\ \verb+[prl]+,\verb+[pra]+,\verb+[prb]+,\verb+[prc]+,\verb+[prd]+,\verb+[pre]+,\verb+[prstab]+& Further customize \verb+[aps]+ styling for \textit{Physical Review} journals.\\ \verb+[rmp]+ & Further customize \verb+[aps]+ styling for \textit{Reviews of Modern Physics}.\\ \verb+[twocolumn]+ & Two column formatting.\\ \verb+[onecolumn]+ & Single column formatting.\\ \verb+[preprint]+ & Single column formatting with increased interline spacing.\\ \verb+[10pt]+,\verb+[11pt]+,\verb+[12pt]+ & Set font size. \verb+[preprint]+ gives \verb+[12pt]+, \verb+[twocolumn]+ gives \verb+[10pt]+ by default.\\ \verb+[groupedaddress]+ & Group authors with same affiliations together. Default. \\ \verb+[superscriptaddress]+ & Associate authors with affiliations via superscript numbers. Appropriate for collaborations or if several authors share some, but not all, affiliations.\\ \verb+[draft]+ & Mark overfull lines.\\ \verb+[amsfonts]+,\verb+[noamsfonts]+ & Load (don't load) \verb+amsfonts+ package. Adds AMS font support.\\ \verb+[amssymb]+, \verb+[noamssymb]+ & Load (don't load) \verb+amssymb+ package. Adds additional AMS symbols.\\ \verb+[amsmath]+, \verb+[noamsmath]+ & Load (don't load) \verb+amsmath+ package. Adds AMS-\LaTeX\ features.\\ &\\ \multicolumn{2}{c}{\textsc{Other Class Options}}\\ &\\ \verb+[preprintnumbers]+,\verb+[nopreprintnumbers]+ & Control display of preprint numbers given by \verb+\preprint+ command. \verb+[preprintnumbers]+ is default for \verb+[preprint]+; otherwise \verb+[nopreprintnumbers]+ is default.\\ \verb+[floatfix]+ & Invoke emergency processing to avoid the \LaTeX\ error \verb+``Too many unprocessed floats''+ or all subsequent floats being moved to the end of the job. \revtex~4 will display a message recommending this option if warranted.\\ \verb+[bibnotes]+,\verb+[nobibnotes]+ & Control location of author footnotes. Default varies with journal style.\\ \verb+[footinbib]+,\verb+[nofootinbib]+ & Control location of footnotes. Default varies with journal style.\\ \verb+[altaffilletter]+, \verb+[altaffillsymbol]+ & Use letters or symbols for \verb+\altaffiliation+ superscripts. \verb+[altaffillsymbol]+ is default.\\ \verb+[unsortedaddress]+ & Like \verb+[groupedaddress]+, but doesn't combine authors together who share the same affiliations.\\ \verb+[runinaddress]+ & Like \verb+[groupedaddress]+, but joins multiple affiliations together into a single sequence separated by commas.\\ \verb+[showpacs]+,\verb+[noshowpacs]+ & Control display of PACS: line.\\ \verb+[showkeys]+,\verb+[noshowkeyws]+ & Control display of Keywords: line.\\ \verb+[tightenlines]+ & Single space manuscript (for use with \verb+[preprint]+).\\ \verb+[floats]+ & Position floats near call outs. Default.\\ \verb+[endfloats]+ & Move all floats to the end of the document.\\ \verb+[endfloats*]+ & Move all floats to the end of the document and put each on a separate page.\\ \verb+[titlepage]+,\verb+[notitlepage]+ & Control appearance of title page.\\ \verb+[final]+ & Don't mark overfull lines. Default.\\ \verb+[letterpaper]+,\verb+[a4paper]+, \verb+[a5paper]+ & Select paper size. \verb+[letterpaper]+ is default.\\ \verb+[oneside]+,\verb+[twoside]+ & Control book syle layout. \verb+[oneside]+ is default.\\ \verb+[fleqn]+ & Flush displayed equations left. \\ \verb+[eqsecnum]+ & Number equations by section.\\ \verb+[balancelastpage]+,\verb+[nobalancelastpage]+ & Control \verb+[twocolumn]+ balancing on last page. \verb+[balancelastpage]+ is default.\\ \verb+[raggedbottom]+,\verb+[flushbottom]+ & Control \verb+[twocolumn]+ balancing. \verb+[flushbottom]+ is default.\\ \verb+[raggedfooter]+,\verb+[noraggedfooter]+ & Control positioning of footer. \verb+[noraggedfooter]+ is default.\\ \verb+[byrevtex]+ & Display ``Typeset by \revtex~4''.\\ \verb+[citeautoscript]+ & Fix up spacing and punctuation when switching from non-superscript style citations to superscript citation styles. \verb+\cite+ commands and associated spacing and punctuation should be as for the non-superscript style.\\ \verb+[galley]+ & Typeset in a single narrow column.\\ &\\ \multicolumn{2}{c}{\textsc{Frontmatter Commands}}\\ &\\ \verb+\title{}+ & The manuscript title.\\ \verb+\author{One Author}+ & Specify one author's name.\\ \verb+\surname{Llyod Weber}+,\verb+\surname{Mao}+ & Indicate which part of a name within \verb+\author+ should be used for alphabetizing and indexing.\\ \verb+\email[<optional text>]{author@any.edu}+& Specify an e-mail address for an author.\\ \verb+\homepage[<optional text>]{http://any.edu/homepage/}+& Specify a URL for an author's web site.\\ \verb+\altaffiliation[<optional text>]{affiliation information}+& Specify an alternate or temporary address for an author.\\ \verb+\thanks{text}+& Additional information about an author not covered by the more specific macros above.\\ \verb+\collaboration{<The Collaboration>}+ & Specify a collaboration name for a group of authors. Requires \verb+[superscriptaddress]+ and should be placed after the authors. \\ \verb+\affiliation{text}+ & Specify a single affiliation. Applies to all previous authors without a specified affiliation.\\ \verb+\noaffiliation+ & For an author or collaboration without an affiliation.\\ \verb+\date{<date>}+ & Show the date on the manuscript. \verb+\date{\today}+ gives the current date.\\ \verb+\begin{abstract}+ & Start the manuscript's abstract. Must appear before \verb+\maketitle+ command.\\ \verb+\pacs{<pacs codes>}+& PACS codes for manuscript. Multiple PACS codes should be specified together in a single \verb+\pacs+ macro.\\ \verb+\keywords{<keywords>}+ & Suggested keywords for indexing.\\ \verb+\preprint{<report number>}+ & Specify an institutional report number to appear in the upper-righthand corner of the first page. Multiple \verb+\preprint+ macros may be supplied, but space may limit how many can appear.\\ \verb+\maketitle+ & Typeset the title/author/abstract block.\\ &\\ \multicolumn{2}{c}{\textsc{Sectioning Commands}}\\ & \\ \verb+\section{<heading>}+, \verb+\subsection{<heading>}+, \verb+\subsubsection{<heading>}+ & Start a new section or subsection.\\ \verb+\section*{<heading>}+ & Start a new section without a number.\\ \verb+\appendix+ & Makes all following sections appendices.\\ \verb+\appendix*+ & Signifies there is a single appendix section to follow.\\ \verb+\begin{acknowledgments}+ & Start an Acknowledgments section. Note spelling.\\ \verb+\lowercase{<text>}+ & Escape a letter or word from being uppercased in a top-level \verb+\section+ heading.\\ &\\ \multicolumn{2}{c}{\textsc{Citation, Footnote, and Cross-referencing Commands}}\\ & \\ \verb+\bibliography{<bib file basename>}+ & Specify a list of .bib files in which to find references. Read in the resulting .bbl file. For use with Bib\TeX\ . \\ \verb+\bibligraphystyle{<bst stylefile>}+ & Specify a Bib\TeX\ (.bst) sytle file to use. APS journal options select the proper default (\texttt{apsrev} or \texttt{apsrmp}).\\ \verb+\begin{thebibliography}+ & Start the reference section (when not using Bib\TeX\ . \\ \verb+\bibitem[<optional text>]{<key>}+ & Specify a single reference.\\ \verb+\cite{<list of keys>}+ & Cite one or more references. \verb+<key>+ is same as that of \verb+\bibitem+.\\ \verb+\onlinecite{<key>}+ & For superscript style citations, place the corresponding number on the baseline rather than as a superscript.\\ \verb+\bibinfo[<tag>]{<text>}+ & A pure markup macro that adds tagging information to the components of a reference. \revtex~4 Bib\TeX\ style files automatically add them appropriately. Doesn't affect the typesetting.\\ \verb+\url{<url>}+ & Typeset a URL (\revtex~4 automatically loads \texttt{url.sty}).Bib\TeX\ styles automatically add this markup.\\ \verb+\eprint{<e-print id>}+ & Typeset an e-print identifier. Bib\TeX\ styles automatically add this markup.\\ \verb+\footnote{<text>}+ & Create a footnote or endnote in bibliography depending on class options. \verb+\footnote+ within a table will create a footnote attached to the table.\\ \verb+\footnotemark{<key>}+, \verb+\footnotetext[<key>]{<text>}+ & In a table, allows for multiple items to share the note. \\ \verb+\label{<key>}+ & Label an item for cross-referencing. \verb+\label+ should appear within the argument of the cross-referenced item (e.g., \verb+\section{\label{<key>}...}+ or \verb+\caption{\label{<key>}...}+.\\ \verb+\ref{<key>}+ & Refer to an item labeled by \verb+\label{<key>}+.\\ \verb+\pageref{<key>}+ & Refer to the page on which an item labeled by \verb+\label{<key>}+ appears.\\ & \\ \multicolumn{2}{c}{\textsc{Math and Equation Commands}}\\ &\\ \verb+$+ & Inline math delimiter.\\ \verb+\begin{equation}+ & Display numbered one-line equation.\\ \verb+\[+, \verb+\]+ & Display unnumbered one-line equation.\\ \verb+\begin{eqnarray}+ & Display multiple equations together or a long equation that requires multiple lines. Use \verb+widetext+ environment for an equation that must span the page in two-column formatting.\\ \verb+\nonumber+ & Suppress numbering of an equation with \verb+eqnarray+.\\ \verb+\begin{eqnarray*}+ & Display multiple equations with no equation numbering at all.\\ \verb+&+ & Alignment character for equations within \verb+eqnarray+.\\ \verb+\\+ & End a row in \verb+eqnarray+.\\ \verb+\\*+ & Prevent a page break at this point in an \verb+eqnarray+.\\ \verb+\label{<key>}+ & Label an equation or group of equations for cross-referencing.\\ \verb+\ref{<key>}+ & Refer to an equation by its label (e.g., \verb+Eq~(ref{<key>})+).\\ \verb+\tag{<key}}+ & Specify an alternative labeling separate from the automatic numbering of equations. Requires \verb+[amsmath]+.\\ \verb+\text{<text>}+ & Non-italicized text within a math context. Requires \verb+[amsmath]+. Do not use \verb+\rm+, \verb+\textrm+, or \verb+\mbox+.\\ &\\ \multicolumn{2}{c}{\textsc{Some} AMS-\LaTeX\ \textsc{Commands}}\\ &\\ \verb+\begin{split}+ & Split equations with alignment.\\ \verb+\begin{multiline}+ & Split equations without alignment.\\ \verb+\begin{align}+ & Equation groups with alignment.\\ \verb+\begin{gather}+ & Equation groups without alignment.\\ \verb+\begin{subequations}+ & Create an equation array in which each equation is individually numbered (4a, 4b, 4c, etc.) as part of a single group of equations that can be referenced as a whole.\\ \verb+\intertext+ & Textual interjections witin a display equation.\\ \verb+\usepackage{amscd}+ & Create commutative diagrams.\\ \verb+\begin{pmatrix}+ & Matrices with parentheses as delimiters.\\ \verb+\begin{bmatrix}+ & Matrices with square brackets as delimiters.\\ \verb+\begin{Bmatrix}+ & Matrices with curly braces as delimiters.\\ \verb+\begin{vmatrix}+ & Matrices with vertical bars as delimiters.\\ \verb+\begin{Vmatrix}+ & Matrices with double vertical bars as delimiters.\\ \verb+\hdotsfor+ & Row of dots in a matrix.\\ \verb+\Hat+ & Alternative \verb+\hat+ accent for stacking.\\ \verb+\Check+ & Alternative \verb+\check+ accent for stacking.\\ \verb+\Tilde+ & Alternative \verb+\tilde+ accent for stacking.\\ \verb+\Acute+ & Alternative \verb+\acute+ accent for stacking.\\ \verb+\Grave+ & Alternative \verb+\grave+ accent for stacking.\\ \verb+\Dot+ & Alternative \verb+\dot+ accent for stacking.\\ \verb+\Ddot+ & Alternative \verb+\ddot+ accent for stacking.\\ \verb+\Breve+ & Alternative \verb+\breve+ accent for stacking.\\ \verb+\Vec+ & Alternative \verb+\vec+ accent for stacking.\\ \verb+\xleftarrow+ & Extensible left arrow.\\ \verb+\xrightarrow+ & Extensible right arrow.\\ \verb+\overset+ & Place a symbol over another.\\ \verb+\underset+ & Place a symbol under another.\\ \verb+\lvert+ & Vertical bar with spacing rules appropriate for use as a left delimiter.\\ \verb+\rvert+ & Vertical bar with spacing rules appropriate for use as a right delimiter.\\ \verb+\lVert+ & Double vertical bar with spacing rules appropriate for use as a left delimiter.\\ \verb+\rVert+ & Double vertical bar with spacing rules appropriate for use as a right delimiter.\\ \verb+\DeclareMathOperator+ & Declare a new math operator so that spacing and font is correct.\\ \verb+\text+ & Words and phrases in display math.\\ \verb+\boldsymbol+ & Make symbol bold. Also available in bm.sty.\\ \verb+\sideset+ & Sets subscripts and superscripts at the corners of a summation or product.\\ \verb+\substack+ & Create a stack of subexpressions (for example, stacked summation limits).\\ \verb+\begin{subarray}+ & Like \verb+\substack+, but allows finer control of subexpression alignment.\\ \verb+\mathfrak+ & Replaces \verb+\frak+.\\ \verb+\mathbb+ & Replaces \verb+\Bbb+.\\ & \\ \multicolumn{2}{c}{\textsc{Font Commands}}\\ & \\ \verb+\textbf{<text>}+ & Text boldface font.\\ \verb+\textit{<text>}+ & Text italicixed font.\\ \verb+\textrm{<text>}+ & Text Roman font.\\ \verb+\textsl{<text>}+ & Text Slanted font.\\ \verb+\textsc{<text>}+ & Text Small Caps font.\\ \verb+\textsf{<text>}+ & Text Sans Serif font.\\ \verb+\textmd{<text>}+ & Text Medium Series font.\\ \verb+\textnormal{<text>}+ & Text Normal Series font.\\ \verb+\textup{<text>}+ & Text Upright Series font.\\ \verb+\texttt{<text>}+ & Text Typewriter font.\\ \verb+\mathit{<text>}+ & Math italics font. \\ \verb+\mathbf{<text>}+ & Math boldface font.\\ \verb+\mathtt{<text>}+ & Math typewriter font.\\ \verb+\mathsf{<text>}+ & Math sans serif font.\\ \verb+\mathcal{<text>}+ & Math calligraphic font. \\ \verb+\mathfrak{<text>}+ & Math fraktur font. Requires \verb+[amsfonts]+ or \verb+[amssymb]+.\\ \verb+\mathbb{<text>}+ & Math blackboard bold font. Requires \verb+[amsfonts]+ or \verb+[amssymb]+.\\ \verb+\bm{<text>}+ & Bold math symbols (Greek and other symbols). Requires \verb+\usepackage{bm}+.\\ & \\ \multicolumn{2}{c}{\textsc{Table Commands}}\\ &\\ \verb+\begin{table}[<placement>]+ & Start a table float environment set to the current column width. The placement options may be any combination of h, t, b, p, or ! signifying here, top, bottom, page, and ``as soon as possible'', respectively. A placement option of H will allow a long table to break across pages. \LaTeX\ may not be able to honor placement requests.\\ \verb+\begin{table*}+ & Start a non-floating table environment set to the current page width. Will be deferred to the following page.\\ \verb+\begin{ruledtabular}+ & Adds \textit{Physical Review} style double (Scotch) rules around a table and adjusts the intercolumn spacing.\\ \verb+\begin{tabular}[<position>]{<column specs>}+ & The \verb+\tabular+ envrionment sets the positions and the number of columns (as well as alignment) in the table.\\ \verb+\begin{tabular*}{<width>}[<position>]{<column specs>}+ & Like \verb+tabular+, but with a set width.\\ \verb+\squeezetable+ & Set table in a smaller font smaller. Place this macro before the \verb+\begin{table}+ line and sandwich everything between \verb+\begingroup+ and \verb+\endgroup+.\\ \verb+\begin{longtable}{<column specs>}+ & Create a table set to the current column width that spans more than one page or column. \verb+\usepackage{longtable}+ required.\\ \verb+\begin{longtable*}{<column specs>}+ & Create a table set to the current page width that spans more than one page. \verb+\usepackage{longtable}+ required.\\ \verb+\caption{<text>}+ & Adds a caption for the table.\\ \verb+\printtables+ & With \verb+[endfloats]+, control where the held back tables actually appear.\\ \verb+\begin{turnpage}+ & Rotate a table or figure by 90 degrees (landscape mode). Will put figure or table on a page by itself. Requires \verb+\graphics+ package.\\ &\\ \multicolumn{2}{c}{\textsc{Graphics Commands}}\\ & \\ \verb+\begin{figure}[<placement>]+ & Start a figure float environment set to the current column width. The placement options may be any combination of h, t, b, p, or ! signifying here, top, bottom, page, and ``as soon as possible'', respectively. A placement option of H will allow a long table to break across pages. \LaTeX\ may not be able to honor placement requests.\\ \verb+\begin{figure*}+ & Start a non-floating figure environment set to the current page width. Will be deferred to the following page.\\ \verb+\includegraphics[<scale,rotation>]+\verb+{figure file}+& Defined by invoking either \verb+\usepackage{graphics}+ or \verb+\usepackage{graphicx}+, the standard \LaTeXe\ packages for calling in figures. \verb+graphicx+ is the same as \verb+graphics+, but uses key-value pairs for optional arguments.\\ \verb+\usepackage{epsfig}+ & Provides an alternative interface to the \verb+graphics+ package similar to the epsf class option in \revtex~3.\\ \verb+\printfigures+ & With \verb+[endfloats]+, control where the held back figures actually appear.\\ & \\ \multicolumn{2}{c}{\textsc{Miscellaneous Commands}}\\ & \\ \verb+\begin{widetext}+ & Change column width to be the page width. Will add guiding rules.\\ \verb+\twocolumngrid+ & Low-level switch to a two column layout.\\ \verb+\onecolumngrid+ & Low-level switch to a single page-wide column layout.\\ \verb+\protect+ & Protect a fragile command within a macro with a ``moving'' argument. \verb+\caption+ and \verb+\footnote+ are common macros that have moving arguments.\\ \verb+\frac{numerator}{denominator}+ & Create a fraction. Use in place of \verb+\over+.\\ &\\ \multicolumn{2}{c}{\textsc{\revtex~4 and Miscellaneous Symbols}}\\ &\\ \verb+\texemdash+ & \textemdash\\ \verb+\texendash+ & \textendash\\ \verb+\textexclamdown+ & \textexclamdown\\ \verb+\textquestiondown+ & \textquestiondown\\ \verb+\textquotedblleft+ & \textquotedblleft\\ \verb+\textquotedblright+ & \textquotedblright\\ \verb+\textquoteleft+ & \textquoteleft\\ \verb+\textquoteright+ & \textquoteright\\ \verb+\textbullet+ & \textbullet\\ \verb+\textperiodcentered+ & \textperiodcentered\\ \verb+\textvisiblespace+ & \textvisiblespace\\ \verb+\textcompworkmark+ & Break a ligature.\\ % ``fluffier'' %vs. ``f\textcompworkmark luf\textcompworkmark fier''.\\ \verb+\textcircled{<char>}+ & Circle a character. \textcircled{e}.\\ \verb+\lambdabar+ & $\lambdabar$ \\ \cmd\openone & $\openone$\\ \cmd\altsuccsim & $\altsuccsim$ \\ \cmd\altprecsim & $\altprecsim$ \\ \cmd\alt & $\alt$ \\ \cmd\agt & $\agt$ \\ \cmd\tensor\ x & $\tensor x$ \\ \cmd\overstar\ x & $\overstar x$ \\ \cmd\loarrow\ x & $\loarrow x$ \\ \cmd\roarrow\ x & $\roarrow x$ \\ \verb+\mathring{x}+ & $\mathring{x}$ (Replaces \verb+\overcir+). Standard \LaTeXe\ . \\ \verb+\dddot{x}+ & $\dddot{x}$ (Replaces \verb+\overdots+). Requires \verb+[amsmath]+.\\ \verb+\triangleq+ & $\triangleq$ (Replaces \verb+\corresponds+). Requires \verb+[amssymb]+.\\ \cmd\biglb\ ( \cmd\bigrb ) & $\biglb( \bigrb)$ \\ \cmd\Biglb\ ( \cmd\Bigrb ) & $\Biglb( \Bigrb)$ \\ \cmd\bigglb\ ( \cmd\biggrb ) & $\bigglb( \biggrb)$ \\ \cmd\Bigglb\ ( \cmd\Biggrb\ ) & $\Bigglb( \Biggrb)$ \\ \end{longtable*} \end{document} ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/DOWNLOAD��������������������������������������������������������������������������0100644�0000764�0000764�00000006773�07332607455�014661� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Last updated August 3, 2001 To download REVTeX 4, download the files listed below, or, more, conveniently, download revtex4.tar.gz or revtex4.zip which contains all of the files. Only the files under 'Essential files' are required to run REVTeX 4, but be sure to read the documentation under the 'docs' subdirectory and look over the sample files in the 'samples' subdirectory. Essential files --------------- revtex4.cls - The REVTeX 4 class file aps.rtx - APS specific REVTeX 4 customizations for Phys. Rev. rmp.rtx - APS specific REVTeX 4 customizations for Rev. Mod. Phys. 10pt.rtx - 10 point size class option file for REVTeX. 11pt.rtx - 11 point size class option file for REVTeX. 12pt.rtx - 12 point size class option file for REVTeX. apsrev.bst - A new custom-bib based BibTeX style file for use with REVTeX 4 for Phys. Rev. style citations. apsrmp.bst - For Rev. Mod. Physics (author/year) style citations revsymb.sty - A collection of common symbols for use outside of REVTeX. Documentation files ------------------- (located in /docs subdirectory) auguide.tex - Author's guide to REVTeX 4 (Note: There is a separate "APS Compuscript Guide for REVTeX 4" detailing restrictions for APS submissions) differ.tex - "Differences between REVTeX 3 and REVTeX 4" summary.tex - "REVTeX 4 Command and Options Summary" revbib.tex - A short introduction to using BibTeX with REVTeX 4 (Not available yet) docs.sty - Used by auguide.tex and differ.tex Sample files ------------ (located in /sample subdirectory) template.aps - A template for APS authors to follow apssamp.tex - A sample file showing how to achieve certain effects using REVTeX 4 fig_1.eps - sample figure for apssamp.tex fig_2.eps - sample wide figure for apssamp.tex apssamp.bib - sample BibTeX source file for apssamp.tex Source files ------------ (located in /src subdirectory) revtex4.dtx - The commented source file for revtex4.cls and revsymb.sty. revtex4.pdf - PDF documentation generated from .dtx file ltxgrid.dtx - The commented source file for the ltxgrid package ltxgrid.pdf - PDF documentation generated from .dtx file ltxutil.dtx - The commented source file for the ltxutil package ltxutil.pdf - PDF documentation generated from .dtx file ltxdocext.dtx - The commented source file for the ltxdocext package ltxdocext.pdf - PDF documentation generated from .dtx file textcase.dtx - The commented source file for the textcase package revtex4.ins - A docstrip (version 2.4 or higher) file for extracting revtex4.cls and revsymb.sty from the *.dtx files Not Included ------------ The following packages are required by REVTeX but are not included in this distribution. Please obtain from CTAN (Comprehensive TeX Archive Network), e.g. <http://www.ctan.org/>. These can also be downloaded from <http://publish.aps.org/revtex4/>. natbib.dtx - Version 7 or later needed natbib.ins - LaTeX this to create natbib.sty and natbib documentation from natbib.dtx bm.dtx - Bold math style - part of (current!) standard LaTeX2e tools bm.sty - generated from bm.dtx by running tools.ins An up-to-date installation of AMS-LaTeX is also required for certain documentclass options. Version 2.0 or higher is needed. It is available from <http://www.ams.org/tex/>. �����extrarpms/revtex4/README����������������������������������������������������������������������������0100644�0000764�0000764�00000012756�07332610470�014374� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%% ****** Start of file README ****** % %% %% This file is part of the APS files in the REVTeX 4 distribution. %% Version 4.0 of REVTeX, August 2001. %% %% Copyright (c) 1999, 2000, 2001 The American Physical Society. %% Last updated August 3, 2001 This file describes the contents of this distribution of REVTeX 4.0. The definitive source of information about REVTeX 4 is the APS web page http://publish.aps.org/revtex4/. User queries should be directed to revtex@aps.org. Manifest -------- Only the files under 'Essential files' are required to run REVTeX 4. Essential files --------------- revtex4.cls - The REVTeX 4 class file aps.rtx - APS specific REVTeX 4 customizations for Phys. Rev. rmp.rtx - APS specific REVTeX 4 customizations for Rev. Mod. Phys. 10pt.rtx - 10 point size class option file for REVTeX. 11pt.rtx - 11 point size class option file for REVTeX. 12pt.rtx - 12 point size class option file for REVTeX. apsrev.bst - A new custom-bib based BibTeX style file for use with REVTeX 4 for Phys. Rev. style citations. apsrmp.bst - For Rev. Mod. Physics (author/year) style citations revsymb.sty - A collection of common symbols for use outside of REVTeX. Documentation files ------------------- (located in /docs subdirectory) auguide.tex - Author's guide to REVTeX 4 (Note: There is a separate "APS Compuscript Guide for REVTeX 4" detailing restrictions for APS submissions) differ.tex - "Differences between REVTeX 3 and REVTeX 4" summary.tex - "REVTeX 4 Command and Options Summary" revbib.tex - A short introduction to using BibTeX with REVTeX 4 (Not available yet) docs.sty - Used by auguide.tex and differ.tex Sample files ------------ (located in /sample subdirectory) template.aps - A template for APS authors to follow apssamp.tex - A sample file showing how to achieve certain effects using REVTeX 4 fig_1.eps - sample figure for apssamp.tex fig_2.eps - sample wide figure for apssamp.tex apssamp.bib - sample BibTeX source file for apssamp.tex Source files ------------ (located in /src subdirectory) revtex4.dtx - The commented source file for revtex4.cls and revsymb.sty. revtex4.pdf - PDF documentation generated from .dtx file ltxgrid.dtx - The commented source file for the ltxgrid package ltxgrid.pdf - PDF documentation generated from .dtx file ltxutil.dtx - The commented source file for the ltxutil package ltxutil.pdf - PDF documentation generated from .dtx file ltxdocext.dtx - The commented source file for the ltxdocext package ltxdocext.pdf - PDF documentation generated from .dtx file textcase.dtx - The commented source file for the textcase package revtex4.ins - A docstrip (version 2.4 or higher) file for extracting revtex4.cls and revsymb.sty from the *.dtx files Not Included ------------ The following packages are required by REVTeX but are not included in this distribution. Please obtain from CTAN (Comprehensive TeX Archive Network), e.g. <http://www.ctan.org/>. These can also be downloaded from <http://publish.aps.org/revtex4/>. natbib.dtx - Version 7 or later needed natbib.ins - LaTeX this to create natbib.sty and natbib documentation from natbib.dtx bm.dtx - Bold math style - part of (current!) standard LaTeX2e tools bm.sty - generated from bm.dtx by running tools.ins An up-to-date installation of AMS-LaTeX is also required for certain documentclass options. Version 2.0 or higher is needed. It is available from <http://www.ams.org/tex/>. Recommended styles and packages -------------------------- By implementing REVTeX as a native LaTeX2e document class, users can now take advantage of many of the well-supported LaTeX2e packages available. Here are some that are particularly useful and recommended. longtable.sty for tables running to multiple pages - part of a standard LaTeX2e distribution. hyperref.sty for hyperlinking - should work well with REVTeX 4. graphics.sty and graphicx.sty for figure inclusion - part of LaTeX2e's standard distribution. Installation ------------ To install REVTeX 4, put revtex4.cls, *.rtx, *.sty, and *.bst (files listed under 'Essential Files' above) somewhere in your TEXINPUTS path or whereever your TeX software looks for input files. Under the TDS, you should install them into $TEXMFLOCAL/tex/latex/revtex4. The *.bst files should go under $TEXMFLOCAL/bibtex/bst/revtex4. Run the appropriate update command (texhash, initexmf -u, etc.). Install required non-REVTeX packages (natbib and bm). Please consult the documentaton for your local TeX package for more information. MikTeX users should use version MikTeX 2.1. Credits ------- David Carlisle created the initial versions of REVTeX 4 under commission by the APS. Arthur Ogawa has extensively reworked those early versions and added much new functionality. Mark Doyle, APS Manager of Product Development coordinated the effort. The APS is the maintainer of REVTeX 4, and all bugs are our responsibility. Please e-mail complaints to revtex@aps.org. Backwards compatibility ----------------------- The REVTeX 4 class file has been named revtex4.cls to distinguish it from its predecessors. If the class file is copied to revtex.cls, files created with earlier versions of REVTeX should still work. LaTeX2e requirements -------------------- REVTeX 4 requires LaTeX2e [1996/06/01] ������������������extrarpms/revtex4/revsymb.sty�����������������������������������������������������������������������0100644�0000764�0000764�00000012002�07332561030�015721� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%% %% This is file `revsymb.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% revtex4.dtx (with options: `revsymb') %% %% This file is part of the APS files in the REVTeX 4 distribution. %% For the version number, search on the string %% Original version by David Carlisle %% Modified by Arthur Ogawa (mailto:ogawa@teleport.com) %% %% Copyright (c) 1999 The American Physical Society. %% http://publish.aps.org/revtex4/ %% mailto:revtex4@aps.org %% %% See the REVTeX 4 README file for restrictions and more information. %% \ProvidesPackage{revsymb} [2001/08/03 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo \def\REVSYMB@warn#1{\PackageWarningNoLine{revsymb}{#1}}% \DeclareRobustCommand\lambdabar{% \bgroup \def\@tempa{% \hbox{% \raise.73\ht\z@ \hb@xt@\z@{% \kern.25\wd\z@ \vrule \@width.5\wd\z@\@height.1\p@\@depth.1\p@ \hss }% \box\z@ }% }% \mathchoice {\setbox\z@\hbox{$\displaystyle \lambda$}\@tempa}% {\setbox\z@\hbox{$\textstyle \lambda$}\@tempa}% {\setbox\z@\hbox{$\scriptstyle \lambda$}\@tempa}% {\setbox\z@\hbox{$\scriptscriptstyle\lambda$}\@tempa}% \egroup }% \DeclareRobustCommand\openone{\leavevmode\hbox{\small1\normalsize\kern-.33em1}}% \DeclareRobustCommand\corresponds{\replace@command\corresponds\triangleq}% \DeclareRobustCommand\overcirc{\replace@command\overcirc\mathring}% \DeclareRobustCommand\overdots{\replace@command\overdots\dddot}% \DeclareRobustCommand\REV@triangleq{% {\lower.2ex\hbox{=}}{\kern-.75em^\triangle}% }% \DeclareRobustCommand\REV@dddot[1]{% \@ontopof{#1}{\cdots}{1.0}\mathord{\box2}% }% \DeclareRobustCommand\altsuccsim{\succ\kern-.9em_\sim\kern.3em}% \DeclareRobustCommand\altprecsim{\prec\kern-1em_\sim\kern.3em}% \let\REV@succsim\altsuccsim \let\REV@precsim\altprecsim \DeclareRobustCommand\REV@lesssim{\mathrel{\mathpalette\vereq{<}}}% \DeclareRobustCommand\REV@gtrsim{\mathrel{\mathpalette\vereq{>}}}% \DeclareRobustCommand\alt{\lesssim} \DeclareRobustCommand\agt{\gtrsim} \def\vereq#1#2{% \lower3\p@\vbox{% \baselineskip1.5\p@ \lineskip1.5\p@ \ialign{$\m@th#1\hfill##\hfil$\crcr#2\crcr\sim\crcr}% }% }% \DeclareRobustCommand\tensor[1]{\@ontopof{#1}{\leftrightarrow}{1.15}\mathord{\box2}} \DeclareRobustCommand\overstar[1]{\@ontopof{#1}{\ast}{1.15}\mathord{\box2}} \DeclareRobustCommand\loarrow[1]{\@ontopof{#1}{\leftarrow}{1.15}\mathord{\box2}} \DeclareRobustCommand\roarrow[1]{\@ontopof{#1}{\rightarrow}{1.15}\mathord{\box2}} \def\@ontopof#1#2#3{% {% \mathchoice {\@@ontopof{#1}{#2}{#3}\displaystyle \scriptstyle }% {\@@ontopof{#1}{#2}{#3}\textstyle \scriptstyle }% {\@@ontopof{#1}{#2}{#3}\scriptstyle \scriptscriptstyle}% {\@@ontopof{#1}{#2}{#3}\scriptscriptstyle\scriptscriptstyle}% }% }% \def\@@ontopof#1#2#3#4#5{% \setbox\z@\hbox{$#4#1$}% \setbox\f@ur\hbox{$#5#2$}% \setbox\tw@\null\ht\tw@\ht\z@ \dp\tw@\dp\z@ \@ifdim{\wd\z@>\wd\f@ur}{% \setbox\f@ur\hb@xt@\wd\z@{\hss\box\f@ur\hss}% \mathord{\rlap{\raise#3\ht\z@\box\f@ur}\box\z@}% }{% \setbox\f@ur\hb@xt@.9\wd\f@ur{\hss\box\f@ur\hss}% \setbox\z@\hb@xt@\wd\f@ur{\hss$#4\relax#1$\hss}% \mathord{\rlap{\copy\z@}\raise#3\ht\z@\box\f@ur}% }% }% \DeclareRobustCommand\frak{% \REVSYMB@warn{% Command \string\frak\space unsupported:^^J% please use \string\mathfrak\space instead.% }% \global\let\frak\mathfrak \frak }% \DeclareRobustCommand\REV@mathfrak{% \REVSYMB@warn{% Command \string\mathfrak\space undefined:^^J% please specify the amsfonts or amssymb option!% }% \global\let\mathfrak\@firstofone \mathfrak }% \DeclareRobustCommand\Bbb{% \REVSYMB@warn{% Command \string\Bbb\space unsupported:^^J% please use \string\mathbb\space instead.% }% \global\let\Bbb\mathbb \Bbb }% \DeclareRobustCommand\REV@mathfrak{% \REVSYMB@warn{% Command \string\mathbb\space undefined:^^J% please specify the amsfonts or amssymb option!% }% \global\let\mathbb\@firstofone \mathbb }% \def\Bigglb{\REV@boldopen \Bigg}% \def\Biglb {\REV@boldopen \Big }% \def\bigglb{\REV@boldopen \bigg}% \def\biglb {\REV@boldopen \big }% \def\Biggrb{\REV@boldclose\Bigg}% \def\Bigrb {\REV@boldclose\Big }% \def\biggrb{\REV@boldclose\bigg}% \def\bigrb {\REV@boldclose\big }% \def\REV@pmb#1{% \hbox{% \setbox\z@=\hbox{#1}% \kern-.02em\copy\z@\kern-\wd\z@ \kern .04em\copy\z@\kern-\wd\z@ \kern-.02em \raise.04em\copy\z@ }% }% \def\REV@boldopen #1#2{\mathopen {\REV@pmb{$#1#2$}}}% \def\REV@boldclose#1#2{\mathclose{\REV@pmb{$#1#2$}}}% \def\revsymb@inithook{% \@ifxundefined\dddot{\let\dddot\REV@dddot}{}% \@ifxundefined\triangleq{\let\triangleq\REV@triangleq}{}% \@ifxundefined\succsim{\let\succsim\altsuccsim}{}% \@ifxundefined\precsim{\let\precsim\altprecsim}{}% \@ifxundefined\lesssim{\let\lesssim\REV@lesssim}{}% \@ifxundefined\gtrsim {\let\gtrsim \REV@gtrsim }{}% \@ifxundefined\mathfrak{\let\mathfrak\REV@mathfrak}{}% \@ifxundefined\mathbb{\let\mathbb\REV@mathbb}{}% }% \endinput %% %% End of file `revsymb.sty'. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/revtex4.cls�����������������������������������������������������������������������0100644�0000764�0000764�00000455035�07332561032�015620� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%% %% This is file `revtex4.cls', %% generated with the docstrip utility. %% %% The original source files were: %% %% revtex4.dtx (with options: `class-pre') %% ltxutil.dtx (with options: `ltxutil-krn') %% ltxgrid.dtx (with options: `ltxgrid-krn') %% textcase.dtx (with options: `package') %% revtex4.dtx (with options: `class-pst') %% %% This file is part of the APS files in the REVTeX 4 distribution. %% For the version number, search on the string %% Original version by David Carlisle %% Modified by Arthur Ogawa (mailto:ogawa@teleport.com) %% %% Copyright (c) 1999 The American Physical Society. %% http://publish.aps.org/revtex4/ %% mailto:revtex4@aps.org %% %% See the REVTeX 4 README file for restrictions and more information. %% \NeedsTeXFormat{LaTeX2e}[1996/12/01] \ProvidesClass{revtex4} [2001/08/03 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo \def\class@name{revtex4}% \GenericInfo{}{\space Copyright (c) 2001 The American Physical Society.^^J mailto:revtex@aps.org^^J Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J Arthur Ogawa <ogawa@teleport.com>^^J Based on work by David Carlisle <david@dcarlisle.demon.co.uk>% \@gobble }% \if@compatibility \edef\reserved@a{\errhelp{% Change your \string\documentstyle\space statement to \string\documentclass\space and rerun. }}\reserved@a \errmessage{You cannot run \class@name\space in compatability mode}% \expandafter\@@end \fi \let\DeclareOption@latex\DeclareOption \let\DeclareOption\@gobbletwo \let\ProcessOptions@latex\ProcessOptions \let\ProcessOptions\@empty \let\ProvidesPackage@latex\ProvidesPackage \def\ProvidesPackage#1[#2]{% \class@info{Incorporating package #1 [#2].}% }% \typeout{% ltxutil: portions licensed from W. E. Baxter (web@superscript.com)% }% \def\class@err#1{\ClassError{\class@name}{#1}\@eha}% \def\class@warn#1{\ClassWarningNoLine{\class@name}{#1}}% \def\class@info#1{\ClassInfo{\class@name}{#1}}% \def\obsolete@command#1{% \class@warn@end{Command \string#1\space is obsolete.^^JPlease remove from your document}% \global\let#1\@empty #1% }% \def\replace@command#1#2{% \class@warn@end{Command \string#1\space is obsolete;^^JUse \string#2\space instead}% \global\let#1#2% #1% }% \def\replace@environment#1#2{% \class@warn@end{Environment #1 is obsolete;^^JUse #2 instead}% \glet@environment{#1}{#2}% \@nameuse{#1}% }% \def\incompatible@package#1{% \@ifpackageloaded{#1}{% \def\@tempa{I cannot continue. You must remove the \string\usepackage\ statement that caused that package to be loaded.}% \ClassError{\class@name}{The #1 package cannot be used with \class@name}% \@tempa\stop }{% \class@info{#1 was not loaded (OK!)}% }% }% \def\class@warn@end#1{% \gappdef\class@enddocumenthook{\class@warn{#1}}% }% \AtEndOfClass{% \@ifxundefined\class@name{\def\class@name{Generic Class}}{}% }% \def\t@{to}% \dimendef\dimen@iii\thr@@ \def\halignt@{\halign\t@}% \chardef\f@ur=4\relax \chardef\cat@letter=11\relax \chardef\other=12\relax \def\let@environment#1#2{% \expandafter\let \csname#1\expandafter\endcsname\csname#2\endcsname \expandafter\let \csname end#1\expandafter\endcsname\csname end#2\endcsname }% \def\glet@environment#1#2{% \global\expandafter\let \csname#1\expandafter\endcsname\csname#2\endcsname \global\expandafter\let \csname end#1\expandafter\endcsname\csname end#2\endcsname }% \newcommand\tracingplain{% \tracingonline\z@\tracingcommands\z@\tracingstats\z@ \tracingpages\z@\tracingoutput\z@\tracinglostchars\@ne \tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@ \showboxbreadth5\showboxdepth3\relax %\errorstopmode }% \newcommand\traceoutput{% \appdef\@resetactivechars{\showoutput}% }% \newcommand\say[1]{\typeout{<\noexpand#1=\meaning#1>}}% \newcommand\saythe[1]{\typeout{<\noexpand#1=\the#1>}}% \def\fullinterlineskip{\prevdepth\z@}% \countdef\count@i\@ne \countdef\count@ii\tw@ \long\def\prepdef#1#2{% \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% \toks@ii{#2}% \edef#1{\the\toks@ii\the\toks@}% }% \long\def\appdef#1#2{% \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% \toks@ii{#2}% \edef#1{\the\toks@\the\toks@ii}% }% \long\def\gappdef#1#2{% \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% \toks@ii{#2}% \global\edef#1{\the\toks@\the\toks@ii}% }% \long\def\appdef@val#1#2{% \appdef#1{{#2}}% }% \long\def\appdef@e#1#2{% \expandafter\appdef \expandafter#1% \expandafter{#2}% }% \long\def\appdef@eval#1#2{% \expandafter\appdef@val \expandafter#1% \expandafter{#2}% }% \toksdef\toks@ii=\tw@ \long\def\@ifxundefined#1{\@ifx{\undefined#1}}% \long\def\@ifnotrelax#1#2#3{\@ifx{\relax#1}{#3}{#2}}% \long\def\@argswap#1#2{#2#1}% \long\def\@argswap@val#1#2{#2{#1}}% \def\@ifxundefined@cs#1{\expandafter\@ifx\expandafter{\csname#1\endcsname\relax}}% \def\@boolean#1#2{% \long\def#1{% #2% \if<something> \expandafter\true@sw \else \expandafter\false@sw \fi }% }% \def\@boole@def#1#{\@boolean{#1}}% Implicit #2 \def\@booleantrue#1{\let#1\true@sw}% \def\@booleanfalse#1{\let#1\false@sw}% \@boole@def\@ifx#1{\ifx#1}% \@boole@def\@ifx@empty#1{\ifx\@empty#1}% \@boole@def\@if@empty#1{\if!#1!}% \def\@if@sw#1#2{#1\expandafter\true@sw\else\expandafter\false@sw#2}% \@boole@def\@ifdim#1{\ifdim#1}% \@boole@def\@ifeof#1{\ifeof#1}% \@boole@def\@ifhbox#1{\ifhbox#1}% \@boole@def\@ifhmode{\ifhmode}% \@boole@def\@ifinner{\ifinner}% \@boole@def\@ifmmode{\ifmmode}% \@boole@def\@ifnum#1{\ifnum#1}% \@boole@def\@ifodd#1{\ifodd#1}% \@boole@def\@ifvbox#1{\ifvbox#1}% \@boole@def\@ifvmode{\ifvmode}% \@boole@def\@ifvoid#1{\ifvoid#1}% \long\def\true@sw#1#2{#1}% \long\def\false@sw#1#2{#2}% \long\def\loopuntil#1{#1{}{\loopuntil{#1}}}% \long\def\loopwhile#1{#1{\loopwhile{#1}}{}}% \def\@provide#1{% \@ifx{\undefined#1}{\true@sw}{\@ifx{\relax#1}{\true@sw}{\false@sw}}% {\def#1}{\def\j@nk}% }% \prepdef\document{% \endgroup \init@documenthook \set@typesize@hook \normalsize \set@pica@hook \true@sw{}% }% \def\init@documenthook{}% \AtBeginDocument{% \class@documenthook }% \AtEndDocument{% \class@enddocumenthook }% \def\class@documenthook{}% \def\class@enddocumenthook{}% \def\set@typesize@hook{}% \def\set@pica@hook{}% \def\enddocument{% \@enddocumenthook \@checkend{document}% \clear@document \check@aux \deadcycles\z@ \@@end }% \def\clear@document{\clearpage}% \def\check@aux{\do@check@aux}% \def\do@check@aux{% \@if@sw\if@filesw\fi{% \immediate\closeout\@mainaux \let\@setckpt\@gobbletwo \let\@newl@bel\@testdef \@tempswafalse \makeatletter \input\jobname.aux\relax }{}% \@dofilelist \@ifdim{\font@submax >\fontsubfuzz\relax}{% \@font@warning{% Size substitutions with differences\MessageBreak up to \font@submax\space have occured.\@gobbletwo }% }{}% \@defaultsubs \@refundefined \@if@sw\if@filesw\fi{% \@ifx{\@multiplelabels\relax}{% \@if@sw\if@tempswa\fi{% \@latex@warning@no@line{% Label(s) may have changed. Rerun to get cross-references right }% }{}% }{% \@multiplelabels }% }{}% }% \def\flushing{% \let\\\@normalcr \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip \parfillskip\@flushglue }% \def\eqnarray@LaTeX{% \stepcounter{equation}% \def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue \m@th \global\@eqcnt\z@ \tabskip\@centering \let\\\@eqncr $$\everycr{}\halign\t@\displaywidth\bgroup \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep $\displaystyle{##}$\hfil\tabskip\@centering &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip \cr } \long\def\eqnarray@fleqn@fixed{% \stepcounter{equation}\def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue\m@th\global\@eqcnt\z@ \tabskip\mathindent \let\\=\@eqncr \setlength\abovedisplayskip{\topsep}% \ifvmode\addtolength\abovedisplayskip{\partopsep}\fi \addtolength\abovedisplayskip{\parskip}% \setlength\belowdisplayskip{\abovedisplayskip}% \setlength\belowdisplayshortskip{\abovedisplayskip}% \setlength\abovedisplayshortskip{\abovedisplayskip}% $$% \everycr{}% \halignt@\linewidth\bgroup \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel &\global\@eqcnt\@ne \hskip\tw@\eqncolsep \hfil${{}##{}}$\hfil &\global\@eqcnt\tw@ \hskip\tw@\eqncolsep $\displaystyle{##}$\hfil\tabskip\@centering &\global\@eqcnt\thr@@\hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip \cr }% \@ifx{\eqnarray\eqnarray@LaTeX}{% \class@info{Repairing broken LaTeX eqnarray}% \let\eqnarray\eqnarray@fleqn@fixed \newlength\eqncolsep \setlength\eqncolsep\z@ \let\eqnarray@LaTeX\relax \let\eqnarray@fleqn@fixed\relax }{}% \def\mathindent{\@centering}% \def\set@eqnarray@skips{}% \def\footnote{% \@ifnextchar[\@xfootnote{\@yfootnote\@footnotetext}% }% \def\footnotemark{% \@ifnextchar[\@xfootnotemark{\@yfootnote}% }% \def\@xfootnote[#1]{% \@xfootnotemark[#1]% \@footnotetext }% \def\@xfootnotemark@ltx[#1]{% \begingroup \csname c@\@mpfn\endcsname #1\relax \unrestored@protected@xdef\@thefnmark{\thempfn}% \endgroup \H@@footnotemark }% \def\@yfootnote{% \stepcounter\@mpfn \protected@xdef\@thefnmark{\thempfn}% \H@@footnotemark }% \appdef\class@documenthook{% \@ifxundefined\H@@footnotemark{% \let\H@@footnotemark\@footnotemark }{}% \let\@xfootnotemark\@xfootnotemark@ltx }% \long\def\@footnotetext{% \insert\footins\bgroup \make@footnotetext }% \long\def\@mpfootnotetext{% \minipagefootnote@pick \make@footnotetext }% \def\make@footnotetext#1{% \reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth\dp\strutbox \set@footnotewidth \@parboxrestore \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox }% \color@endgroup \minipagefootnote@drop }% \def\set@footnotewidth{% \hsize\columnwidth \linewidth\hsize }% \def\set@footnotewidth@ii{% \hsize\textwidth \advance\hsize\columnsep \divide\hsize\tw@ \advance\hsize-\columnsep \linewidth\hsize }% \def\addtocontents#1#2{% \protected@write\@auxout{% \let \label \@gobble \let \index \@gobble \let \glossary \@gobble \def\({\string\(}% \def\){\string\)}% \def\\{\string\\}% }{\string \@writefile {#1}{#2}}% }% \def\addcontentsline#1#2#3{% \addtocontents{#1}{% \protect\contentsline{#2}{#3}{\thepage}{}% }% }% \def\contentsline#1#2#3#4{% \csname l@#1\endcsname{#2}{#3}% }% \def\label#1{% \@bsphack \protected@write\@auxout{}{% \string\newlabel{#1}{{\@currentlabel}{\thepage}{}{}{}}% }% \@esphack }% \appdef\class@documenthook{% \prepdef\caption{\minipagefootnote@here}% }% \def\minipagefootnote@init{% \setbox\@mpfootins\box\voidb@x }% \def\minipagefootnote@pick{% \global\setbox\@mpfootins\vbox\bgroup \unvbox\@mpfootins }% \def\minipagefootnote@drop{% \egroup }% \def\minipagefootnote@here{% \par \@ifvoid\@mpfootins{}{% \vskip\skip\@mpfootins \fullinterlineskip \@ifinner{% \vtop{\unvcopy\@mpfootins}% {\setbox\z@\lastbox}% }{}% \unvbox\@mpfootins }% }% \def\minipagefootnote@foot{% \@ifvoid\@mpfootins{}{% \insert\footins\bgroup\unvbox\@mpfootins\egroup }% }% \def\endminipage{% \par \unskip \minipagefootnote@here \@minipagefalse %% added 24 May 89 \color@endgroup \egroup \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}% }% \let\@xfloat@LaTeX\@xfloat \def\@xfloat#1[#2]{% \@xfloat@prep \@nameuse{fp@proc@#2}% \@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}% \floats@sw{\@xfloat@LaTeX{#1}[#2]}{\@xfloat@anchored{#1}[]}% }% \def\@xfloat@prep{% \let\footnote\footnote@latex \def\@mpfn{mpfootnote}% \def\thempfn{\thempfootnote}% \c@mpfootnote\z@ \let\@footnotetext\@mpfootnotetext \let\H@@footnotetext\@mpfootnotetext \let\@makefntext\@mpmakefntext }% \appdef\class@documenthook{% \let\footnote@latex\footnote }% \def\@xfloat@anchored#1[#2]{% \def\@captype{#1}% \begin@float@pagebreak \let\end@float\end@float@anchored \let\end@dblfloat\end@float@anchored \hsize\columnwidth \@parboxrestore \@floatboxreset \minipagefootnote@init }% \def\end@float@anchored{% \minipagefootnote@here \par\vskip\z@skip %% \par\vskip\z@ added 15 Dec 87 \par \end@float@pagebreak }% \def\begin@float@pagebreak{\par\addvspace\intextsep}% \def\end@float@pagebreak{\par\addvspace\intextsep}% \def\@mpmakefntext#1{% \parindent=1em \noindent \hb@xt@1em{\hss\@makefnmark}% #1% }% \def\do@if@floats#1#2{% \@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}% \floats@sw{}{% \expandafter\newwrite \csname#1write\endcsname \expandafter\def \csname#1@stream\endcsname{\jobname#2}% \expandafter\immediate \expandafter\openout \csname#1write\endcsname \csname#1@stream\endcsname\relax \@ifxundefined\@float@LaTeX{% \let\@float@LaTeX\@float \let\@dblfloat@LaTeX\@dblfloat \let\@float\write@float \let\@dblfloat\write@floats }{}% \let@environment{#1@float}{#1}% \let@environment{#1@floats}{#1*}% \@ifxundefined@cs{#1@write}{}{% \let@environment{#1}{#1@write}% }% }% }% \def\triggerpar{\leavevmode\@@par}% \def\oneapage{\def\begin@float@pagebreak{\newpage}\def\end@float@pagebreak{\newpage}}% \def\print@float#1#2{% \@ifxundefined@cs{#1write}{}{% \begingroup \@booleanfalse\floats@sw #2% \raggedbottom \def\array@default{v}% floats must \let\@float\@float@LaTeX \let\@dblfloat\@dblfloat@LaTeX \let\trigger@float@par\triggerpar \let@environment{#1}{#1@float}% \let@environment{#1*}{#1@floats}% \expandafter\prepdef\csname#1\endcsname{\trigger@float@par}% \expandafter\prepdef\csname#1*\endcsname{\trigger@float@par}% \@namedef{fps@#1}{h!}% \expandafter\immediate \expandafter\closeout \csname#1write\endcsname \everypar{% \global\let\trigger@float@par\relax \global\everypar{}\setbox\z@\lastbox \@ifxundefined@cs{#1sname}{}{% \begin@float@pagebreak \expandafter\section \expandafter*% \expandafter{% \csname#1sname\endcsname }% }% }% \input{\csname#1@stream\endcsname}% \endgroup \global\expandafter\let\csname#1write\endcsname\relax }% }% \def\write@float#1{\write@@float{#1}{#1}}% \def\endwrite@float{\@Esphack}% \def\write@floats#1{\write@@float{#1*}{#1}}% \def\endwrite@floats{\@Esphack}% \def\write@@float#1#2{% \ifhmode \@bsphack \fi \chardef\@tempc\csname#2write\endcsname \toks@{\begin{#1}}% \def\@tempb{#1}% \expandafter\let\csname end#1\endcsname\endwrite@float \catcode`\^^M\active \@makeother\{\@makeother\}\@makeother\% \write@floatline }% \begingroup \catcode`\[\the\catcode`\{\catcode`\]\the\catcode`\}\@makeother\{\@makeother\}% \gdef\float@end@tag#1\end{#2}#3\@nul[% \def\@tempa[#2]% \@ifx[\@tempa\@tempb][\end[#2]][\write@floatline]% ]% \obeylines% \gdef\write@floatline#1^^M[% \begingroup% \newlinechar`\^^M% \toks@\expandafter[\the\toks@#1]\immediate\write\@tempc[\the\toks@]% \endgroup% \toks@[]% \float@end@tag#1\end{}\@nul% ]% \endgroup \def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi} \def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi} \def\@startsection#1#2#3#4#5#6{% \@startsection@hook \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \@ifstar {\@dblarg{\@ssect@ltx{#1}{#2}{#3}{#4}{#5}{#6}}}% {\@dblarg{\@sect@ltx {#1}{#2}{#3}{#4}{#5}{#6}}}% }% \def\@startsection@hook{}% \class@info {Repairing broken LateX \string\@sect}% \def\@sect@ltx#1#2#3#4#5#6[#7]#8{% \@ifnum{#2>\c@secnumdepth}{% \def\H@svsec{\phantomsection}% \let\@svsec\@empty }{% \H@refstepcounter{#1}% \def\H@svsec{% \phantomsection }% \protected@edef\@svsec{{#1}}% \@ifundefined{@#1cntformat}{% \prepdef\@svsec\@seccntformat }{% \expandafter\prepdef \expandafter\@svsec \csname @#1cntformat\endcsname }% }% \@tempskipa #5\relax \@ifdim{\@tempskipa>\z@}{% \begingroup \interlinepenalty \@M #6{% \@ifundefined{@hangfrom@#1}{\@hang@from}{\csname @hangfrom@#1\endcsname}% {\hskip#3\relax\H@svsec}{\@svsec}{#8}% }% \@@par \endgroup \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}% \addcontentsline{toc}{#1}{% \@ifnum{#2>\c@secnumdepth}{% \protect\numberline{}% }{% \protect\numberline{\csname the#1\endcsname}% }% #8}% }{% \def\@svsechd{% #6{% \@ifundefined{@runin@to@#1}{\@runin@to}{\csname @runin@to@#1\endcsname}% {\hskip#3\relax\H@svsec}{\@svsec}{#8}% }% \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}% \addcontentsline{toc}{#1}{% \@ifnum{#2>\c@secnumdepth}{% \protect\numberline{}% }{% \protect\numberline{\csname the#1\endcsname}% }% #8}% }% }% \@xsect{#5}% }% \def\@hang@from#1#2#3{\@hangfrom{#1#2}#3}% \def\@runin@to #1#2#3{#1#2#3}% \def\@ssect@ltx#1#2#3#4#5#6[#7]#8{% \def\H@svsec{\phantomsection}% \@tempskipa #5\relax \@ifdim{\@tempskipa>\z@}{% \begingroup \interlinepenalty \@M #6{% \@ifundefined{@hangfroms@#1}{\@hang@froms}{\csname @hangfroms@#1\endcsname}% {\hskip#3\relax\H@svsec}{#8}% }% \@@par \endgroup \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}% \addcontentsline{toc}{#1}{\protect\numberline{}#8}% }{% \def\@svsechd{% #6{% \@ifundefined{@runin@tos@#1}{\@runin@tos}{\csname @runin@tos@#1\endcsname}% {\hskip#3\relax\H@svsec}{#8}% }% \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}% \addcontentsline{toc}{#1}{\protect\numberline{}#8}% }% }% \@xsect{#5}% }% \def\@hang@froms#1#2{#1#2}% \def\@runin@tos #1#2{#1#2}% \appdef\init@documenthook{% \providecommand\phantomsection{}% \providecommand\hyper@anchor[1]{}% \providecommand\hyper@last{}% \providecommand\Hy@raisedlink[1]{#1}% \providecommand\hyper@anchorstart[1]{}% \providecommand\hyper@anchorend{}% \providecommand\hyper@linkstart[2]{}% \providecommand\hyper@linkend{}% }% \let\H@refstepcounter\refstepcounter \def\sec@upcase#1{\relax{#1}}% \appdef\class@documenthook{% \@ifpackageloaded{array}{\switch@array}{\switch@tabular}% \prepdef\endtabular{\endtabular@hook}% \@provide\endtabular@hook{}% \prepdef\endarray{\endarray@hook}% \@provide\endarray@hook{}% \providecommand\array@hook{}% \prepdef\@tabular{\tabular@hook}% \@provide\tabular@hook{}% }% \def\switch@tabular{% \let\@array@sw\@array@sw@array \@ifx{\@array\@array@LaTeX}{% \@ifx{\multicolumn\multicolumn@LaTeX}{% \@ifx{\@tabular\@tabular@LaTeX}{% \@ifx{\@tabarray\@tabarray@LaTeX}{% \@ifx{\array\array@LaTeX}{% \@ifx{\endarray\endarray@LaTeX}{% \@ifx{\endtabular\endtabular@LaTeX}{% \@ifx{\@mkpream\@mkpream@LaTeX}{% \@ifx{\@addamp\@addamp@LaTeX}{% \@ifx{\@arrayacol\@arrayacol@LaTeX}{% \@ifx{\@tabacol\@tabacol@LaTeX}{% \@ifx{\@arrayclassz\@arrayclassz@LaTeX}{% \@ifx{\@tabclassiv\@tabclassiv@LaTeX}{% \@ifx{\@arrayclassiv\@arrayclassiv@LaTeX}{% \@ifx{\@tabclassz\@tabclassz@LaTeX}{% \@ifx{\@classv\@classv@LaTeX}{% \@ifx{\hline\hline@LaTeX}{% \@ifx{\@tabularcr\@tabularcr@LaTeX}{% \@ifx{\@xtabularcr\@xtabularcr@LaTeX}{% \@ifx{\@xargarraycr\@xargarraycr@LaTeX}{% \@ifx{\@yargarraycr\@yargarraycr@LaTeX}{% \true@sw }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% {% \class@info{Patching LaTeX tabular.}% }{% \class@info{Unrecognized LaTeX tabular. Please update this document class! (Proceeding with fingers crossed.)}% }% \let\@array\@array@ltx \let\multicolumn\multicolumn@ltx \let\@tabular\@tabular@ltx \let\@tabarray\@tabarray@ltx \let\array\array@ltx \let\endarray\endarray@ltx \let\endtabular\endtabular@ltx \let\@mkpream\@mkpream@ltx \let\@addamp\@addamp@ltx \let\@arrayacol\@arrayacol@ltx \let\@tabacol\@tabacol@ltx \let\@arrayclassz\@arrayclassz@ltx \let\@tabclassiv\@tabclassiv@ltx \let\@arrayclassiv\@arrayclassiv@ltx \let\@tabclassz\@tabclassz@ltx \let\@classv\@classv@ltx \let\hline\hline@ltx \let\@tabularcr\@tabularcr@ltx \let\@xtabularcr\@xtabularcr@ltx \let\@xargarraycr\@xargarraycr@ltx \let\@yargarraycr\@yargarraycr@ltx }% \def\switch@array{% \let\@array@sw\@array@sw@LaTeX \@ifx{\@array\@array@array}{% \@ifx{\@tabular\@tabular@array}{% \@ifx{\@tabarray\@tabarray@array}{% \@ifx{\array\array@array}{% \@ifx{\endarray\endarray@array}{% \@ifx{\endtabular\endtabular@array}{% \@ifx{\@mkpream\@mkpream@array}{% \@ifx{\@classx\@classx@array}{% \@ifx{\insert@column\insert@column@array}{% \@ifx{\@arraycr\@arraycr@array}{% \@ifx{\@xarraycr\@xarraycr@array}{% \@ifx{\@xargarraycr\@xargarraycr@array}{% \@ifx{\@yargarraycr\@yargarraycr@array}{% \true@sw }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }{% \class@info{Patching array package.}% }{% \class@info{Unrecognized array package. Please update this document class! (Proceeding with fingers crossed.)}% }% \let\@array \@array@array@new \let\@@array \@array % Cosi fan tutti \let\@tabular \@tabular@array@new \let\@tabarray \@tabarray@array@new \let\array \array@array@new \let\endarray \endarray@array@new \let\endtabular\endtabular@array@new \let\@mkpream \@mkpream@array@new \let\@classx \@classx@array@new \let\@arrayacol\@arrayacol@ltx \let\@tabacol \@tabacol@ltx \let\insert@column\insert@column@array@new \expandafter\let\csname endtabular*\endcsname\endtabular % Cosi fan tutti \let\@arraycr \@arraycr@new \let\@xarraycr \@xarraycr@new \let\@xargarraycr\@xargarraycr@new \let\@yargarraycr\@yargarraycr@new }% \def\@array@sw@LaTeX{\@ifx{\\\@tabularcr}}% \def\@array@sw@array{\@ifx{\d@llarbegin\begingroup}}% \def\@tabular@LaTeX{% \leavevmode \hbox\bgroup$% \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr \@tabarray }% \def\@tabular@ltx{% \let\@acoll\@tabacoll \let\@acolr\@tabacolr \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr \@tabarray }% \def\@tabular@array{% \leavevmode \hbox\bgroup$% \col@sep\tabcolsep \let\d@llarbegin\begingroup \let\d@llarend\endgroup \@tabarray }% \def\@tabular@array@new{% \let\@acoll\@tabacoll \let\@acolr\@tabacolr \let\@acol\@tabacol \let\col@sep\@undefined \let\d@llarbegin\begingroup \let\d@llarend\endgroup \@tabarray }% \def\@tabarray@LaTeX{% \m@th\@ifnextchar[\@array{\@array[c]}% }% \def\@tabarray@ltx{% \m@th\@ifnextchar[\@array{\expandafter\@array\expandafter[\array@default]}% }% \def\@tabarray@array{% \@ifnextchar[{\@@array}{\@@array[c]}% }% \def\@tabarray@array@new{% \@ifnextchar[{\@@array}{\expandafter\@@array\expandafter[\array@default]}% }% \newcount\intertabularlinepenalty \intertabularlinepenalty=100 \newcount\@tbpen \appdef\samepage{\intertabularlinepenalty\@M}% \def\@tabularcr@LaTeX{{\ifnum 0=`}\fi \@ifstar \@xtabularcr \@xtabularcr}% \def\@tabularcr@ltx{{\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xtabularcr }{\global \@tbpen \intertabularlinepenalty \@xtabularcr }}% \def\@xtabularcr@LaTeX{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr }}% \def\@xtabularcr@ltx{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr \noalign {\penalty \@tbpen }}}% \def\@xargarraycr@LaTeX#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr}% \def\@xargarraycr@ltx#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr \noalign {\penalty \@tbpen }}% \def\@yargarraycr@LaTeX#1{\cr \noalign {\vskip #1}}% \def\@yargarraycr@ltx#1{\cr \noalign {\penalty \@tbpen \vskip #1}}% \def\@arraycr@array{% \relax \iffalse{\fi\ifnum 0=`}\fi \@ifstar \@xarraycr \@xarraycr }% \def\@arraycr@new{% \relax \iffalse{\fi\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xarraycr }{\global \@tbpen \intertabularlinepenalty \@xarraycr }% }% \def\@xarraycr@array{% \@ifnextchar [%] \@argarraycr {\ifnum 0=`{}\fi\cr}% }% \def\@xarraycr@new{% \@ifnextchar [%] \@argarraycr {\ifnum 0=`{}\fi\cr \noalign {\penalty \@tbpen }}% }% \def\@xargarraycr@array#1{% \unskip \@tempdima #1\advance\@tempdima \dp\@arstrutbox \vrule \@depth\@tempdima \@width\z@ \cr }% \def\@xargarraycr@new#1{% \unskip \@tempdima #1\advance\@tempdima \dp\@arstrutbox \vrule \@depth\@tempdima \@width\z@ \cr \noalign {\penalty \@tbpen }% }% \def\@yargarraycr@array#1{% \cr \noalign{\vskip #1}% }% \def\@yargarraycr@new#1{% \cr \noalign{\penalty \@tbpen \vskip #1}% }% \def\array@LaTeX{% \let\@acol\@arrayacol \let\@classz\@arrayclassz \let\@classiv\@arrayclassiv \let\\\@arraycr \let\@halignto\@empty \@tabarray }% \def\array@ltx{% \@ifmmode{}{\@badmath$}% \let\@acoll\@arrayacol \let\@acolr\@arrayacol \let\@acol\@arrayacol \let\@classz\@arrayclassz \let\@classiv\@arrayclassiv \let\\\@arraycr \let\@halignto\@empty \@tabarray }% \def\array@array{% \col@sep\arraycolsep \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}% \@tabarray } \def\array@array@new{% \@ifmmode{}{\@badmath$}% \let\@acoll\@arrayacol \let\@acolr\@arrayacol \let\@acol\@arrayacol \let\col@sep\@undefined \def\d@llarbegin{$}% \let\d@llarend\d@llarbegin \gdef\@halignto{}% \@tabarray }% \def\@array@LaTeX[#1]#2{% \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi \bgroup \setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch\ht\strutbox \@depth\arraystretch \dp\strutbox \@width\z@}% \@mkpream{#2}% \edef\@preamble{% \ialign \noexpand\@halignto \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox \let\tabularnewline\\% \let\par\@empty \let\@sharp##% \set@typeset@protect \lineskip\z@skip\baselineskip\z@skip \ifhmode \@preamerr\z@ \@@par\fi \@preamble }% \def\@array@ltx[#1]#2{% \@nameuse{@array@align@#1}% \set@arstrutbox \@mkpream{#2}% \prepdef\@preamble{% \tabskip\tabmid@skip \@arstrut }% \appdef\@preamble{% \tabskip\tabright@skip \cr \array@row@pre }% \let\tabularnewline\\% \let\par\@empty \let\@sharp##% \set@typeset@protect \lineskip\z@skip\baselineskip\z@skip \tabskip\tableft@skip\relax \ifhmode \@preamerr\z@ \@@par\fi \everycr{}% \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble }% \def\set@arstrutbox{% \setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch\ht\strutbox \@depth\arraystretch \dp\strutbox \@width\z@ }% }% \def\@array@array[#1]#2{% \@tempdima \ht \strutbox \advance \@tempdima by\extrarowheight \setbox \@arstrutbox \hbox{\vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@}% \begingroup \@mkpream{#2}% \xdef\@preamble{\noexpand \ialign \@halignto \bgroup \@arstrut \@preamble \tabskip \z@ \cr}% \endgroup \@arrayleft \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi \bgroup \let \@sharp ##\let \protect \relax \lineskip \z@ \baselineskip \z@ \m@th \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble }% \def\@array@array@new[#1]#2{% \@tempdima\ht\strutbox \advance\@tempdima by\extrarowheight \setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch\@tempdima \@depth \arraystretch\dp\strutbox \@width \z@ }% \begingroup \@mkpream{#2}% \xdef\@preamble{\@preamble}% \endgroup \prepdef\@preamble{% \tabskip\tabmid@skip \@arstrut }% \appdef\@preamble{% \tabskip\tabright@skip \cr \array@row@pre }% \@arrayleft \@nameuse{@array@align@#1}% \m@th \let\\\@arraycr \let\tabularnewline\\% \let\par\@empty \let\@sharp##% \set@typeset@protect \lineskip\z@\baselineskip\z@ \tabskip\tableft@skip \everycr{}% \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble }% \def\endarray@LaTeX{% \crcr\egroup\egroup }% \def\endarray@ltx{% \crcr\array@row@pst\egroup\egroup }% \def\endarray@array{% \crcr \egroup \egroup \@arrayright \gdef\@preamble{}% }% \def\endarray@array@new{% \crcr\array@row@pst\egroup\egroup % Same as \endarray@ltx \@arrayright \global\let\@preamble\@empty }% \def\endtabular@LaTeX{% \crcr\egroup\egroup $\egroup }% \def\endtabular@ltx{% \endarray }% \def\endtabular@array{% \endarray $\egroup }% \def\endtabular@array@new{% \endarray }% \@namedef{endtabular*}{\endtabular}% \long\def\multicolumn@LaTeX#1#2#3{% \multispan{#1}\begingroup \@mkpream{#2}% \def\@sharp{#3}\set@typeset@protect \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox \@arstrut \@preamble\hbox{}\endgroup\ignorespaces }% \long\def\multicolumn@ltx#1#2#3{% \multispan{#1}% \begingroup \@mkpream{#2}% \def\@sharp{#3}% \set@typeset@protect %\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox \@arstrut \@preamble \hbox{}% \endgroup \ignorespaces }% \def\@array@align@t{\leavevmode\vtop\bgroup}% \def\@array@align@b{\leavevmode\vbox\bgroup}% \def\@array@align@c{\leavevmode\@ifmmode{\vcenter\bgroup}{$\vcenter\bgroup\aftergroup$\aftergroup\relax}}% \def\@array@align@v{% \@ifmmode{% \@badmath \vcenter\bgroup }{% \@ifinner{% $\vcenter\bgroup\aftergroup$ }{% \@@par\bgroup }% }% }% \def\array@default{c}% \def\array@row@rst{% \let\@array@align@v\@array@align@c }% \def\array@row@pre{}% \def\array@row@pst{}% \newcommand\toprule{\tab@rule{\column@font}{\column@fil}{\frstrut}}% \newcommand\colrule{\unskip\lrstrut\\\tab@rule{\body@font}{}{\frstrut}}% \newcommand\botrule{\unskip\lrstrut\\\noalign{\hline@rule}{}}% \def\hline@LaTeX{% \noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet \reserved@a\@xhline }% \def\hline@ltx{% \noalign{% \ifnum0=`}\fi \hline@rule \futurelet\reserved@a\@xhline % \noalign ended in \@xhline }% \def\@xhline@unneeded{% \say\reserved@a \ifx\reserved@a\hline \vskip\doublerulesep \vskip-\arrayrulewidth \fi \ifnum0=`{\fi}% }% \def\tab@rule#1#2#3{% \crcr \noalign{% \hline@rule \gdef\@arstrut@hook{% \global\let\@arstrut@hook\@empty #3% }% \gdef\cell@font{#1}% \gdef\cell@fil{#2}% }% }% \def\column@font{}% \def\column@fil{}% \def\body@font{}% \def\cell@font{}% \def\frstrut{}% \def\lrstrut{}% \def\@arstrut@hline{% \relax \@ifmmode{\copy}{\unhcopy}\@arstrutbox@hline \@arstrut@hook }% \let\@arstrut@org\@arstrut \def\@arstrut@hook{% \global\let\@arstrut\@arstrut@org }% \newbox\@arstrutbox@hline \appdef\set@arstrutbox{% \setbox\@arstrutbox@hline\hbox{% \setbox\z@\hbox{$0^{0}_{}$}% \dimen@\ht\z@\advance\dimen@\@arstrut@hline@clnc \@ifdim{\dimen@<\arraystretch\ht\strutbox}{\dimen@=\arraystretch\ht\strutbox}{}% \vrule \@height\dimen@ \@depth\arraystretch \dp\strutbox \@width\z@ }% }% \def\hline@rule{% \hrule \@height \arrayrulewidth \global\let\@arstrut\@arstrut@hline }% \def\@arstrut@hline@clnc{2\p@}% % Klootch: magic number \def\tableft@skip{\z@skip}% \def\tabmid@skip{\z@skip}%\@flushglue \def\tabright@skip{\z@skip}% \def\tableftsep{\tabcolsep}% \def\tabmidsep{\tabcolsep}% \def\tabrightsep{\tabcolsep}% \def\cell@fil{}% \def\pbox@hook{}% \appdef\@arstrut{\@arstrut@hook}% \let\@arstrut@hook\@empty \def\@addtopreamble{\appdef\@preamble}% \def\@mkpream@LaTeX#1{% \@firstamptrue\@lastchclass6 \let\@preamble\@empty \let\protect\@unexpandable@protect \let\@sharp\relax \let\@startpbox\relax\let\@endpbox\relax \@expast{#1}% \expandafter\@tfor \expandafter \@nextchar \expandafter:\expandafter=\reserved@a\do {\@testpach\@nextchar \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or\@classv \fi\@lastchclass\@chclass}% \ifcase \@lastchclass \@acol \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi }% \def\@mkpream@ltx#1{% \@firstamptrue \@lastchclass6 \let\@preamble\@empty \let\protect\@unexpandable@protect \let\@sharp\relax \@expast{#1}% \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\reserved@a \do{% \expandafter\@testpach\expandafter{\@nextchar}% \ifcase\@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or \@classv \fi \@lastchclass\@chclass }% \ifcase\@lastchclass \@acolr % right-hand column \or \or \@preamerr\@ne \or \@preamerr\tw@ \or \or \@acolr % right-hand column \fi }% \def\insert@column@array{% \the@toks \the \@tempcnta \ignorespaces \@sharp \unskip \the@toks \the \count@ \relax }% \def\insert@column@array@new{% \the@toks\the\@tempcnta \array@row@rst\cell@font \ignorespaces\@sharp\unskip \the@toks\the\count@ \relax }% \def\@mkpream@relax{% \let\tableftsep\relax \let\tabmidsep\relax \let\tabrightsep\relax \let\array@row@rst\relax \let\cell@font\relax \let\@startpbox\relax }% \def\@mkpream@array#1{% \gdef\@preamble{}\@lastchclass 4 \@firstamptrue \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax \@temptokena{#1}\@tempswatrue \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% \count@\m@ne \let\the@toks\relax \prepnext@tok \expandafter \@tfor \expandafter \@nextchar \expandafter :\expandafter =\the\@temptokena \do {\@testpach \ifcase \@chclass \@classz \or \@classi \or \@classii \or \save@decl \or \or \@classv \or \@classvi \or \@classvii \or \@classviii \or \@classx \or \@classx \fi \@lastchclass\@chclass}% \ifcase\@lastchclass \@acol \or \or \@acol \or \@preamerr \thr@@ \or \@preamerr \tw@ \@addtopreamble\@sharp \or \or \else \@preamerr \@ne \fi \def\the@toks{\the\toks}% }% \def\@mkpream@array@new#1{% \gdef\@preamble{}% \@lastchclass\f@ur \@firstamptrue \let\@sharp\relax \@mkpream@relax \@temptokena{#1}\@tempswatrue \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% \count@\m@ne \let\the@toks\relax \prepnext@tok \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the\@temptokena \do{% \@testpach \ifcase\@chclass \@classz \or \@classi \or \@classii \or \save@decl \or \or \@classv \or \@classvi \or \@classvii \or \@classviii \or \@classx \or \@classx \fi \@lastchclass\@chclass }% \ifcase\@lastchclass \@acolr % right-hand column \or \or \@acolr % right-hand column \or \@preamerr\thr@@ \or \@preamerr\tw@\@addtopreamble\@sharp \or \or \else \@preamerr\@ne \fi \def\the@toks{\the\toks}% }% \def\@addamp@LaTeX{% \if@firstamp\@firstampfalse\else\edef\@preamble{\@preamble &}\fi }% \def\@addamp@ltx{% \if@firstamp\@firstampfalse\else\@addtopreamble{&}\fi }% \def\@arrayacol@LaTeX{% \edef\@preamble{\@preamble \hskip \arraycolsep}% }% \def\@arrayacol@ltx{% \@addtopreamble{\hskip\arraycolsep}% }% \def\@tabacoll{% \@addtopreamble{\hskip\tableftsep\relax}% }% \def\@tabacol@LaTeX{% \edef\@preamble{\@preamble \hskip \tabcolsep}% }% \def\@tabacol@ltx{% \@addtopreamble{\hskip\tabmidsep\relax}% }% \def\@tabacolr{% \@addtopreamble{\hskip\tabrightsep\relax}% }% \def\@arrayclassz@LaTeX{% \ifcase \@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi \edef\@preamble{\@preamble \ifcase \@chnum \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil \or \hfil$\relax\@sharp$\fi}% }% \def\@arrayclassz@ltx{% \ifcase\@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse\@acoll \fi \ifcase\@chnum \@addtopreamble{% \hfil\array@row@rst$\relax\@sharp$\hfil }% \or \@addtopreamble{% \array@row@rst$\relax\@sharp$\hfil }% \or \@addtopreamble{% \hfil\array@row@rst$\relax\@sharp$% }% \fi }% \def\@tabclassz@LaTeX{% \ifcase\@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse\@acol \fi \edef\@preamble{% \@preamble{% \ifcase\@chnum \hfil\ignorespaces\@sharp\unskip\hfil \or \hskip1sp\ignorespaces\@sharp\unskip\hfil \or \hfil\hskip1sp\ignorespaces\@sharp\unskip \fi}}% }% \def\@tabclassz@ltx{% \ifcase\@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse\@acoll \fi \ifcase\@chnum \@addtopreamble{% {\hfil\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}% }% \or \@addtopreamble{% {\cell@fil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}% }% \or \@addtopreamble{% {\hfil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\cell@fil}% }% \fi }% \def\@tabclassiv@LaTeX{% \@addtopreamble\@nextchar }% \def\@tabclassiv@ltx{% \expandafter\@addtopreamble\expandafter{\@nextchar}% }% \def\@arrayclassiv@LaTeX{% \@addtopreamble{$\@nextchar$}% }% \def\@arrayclassiv@ltx{% \expandafter\@addtopreamble\expandafter{\expandafter$\@nextchar$}% }% \def\@classv@LaTeX{% \@addtopreamble{\@startpbox{\@nextchar}\ignorespaces \@sharp\@endpbox}% }% \def\@classv@ltx{% \expandafter\@addtopreamble \expandafter{% \expandafter \@startpbox \expandafter {\@nextchar}% \pbox@hook\array@row@rst\cell@font\ignorespaces\@sharp\@endpbox }% }% \def\@classx@array{% \ifcase \@lastchclass \@acolampacol \or \@addamp \@acol \or \@acolampacol \or \or \@acol \@firstampfalse \or \@addamp \fi }% \def\@classx@array@new{% \ifcase \@lastchclass \@acolampacol \or \@addamp \@acol \or \@acolampacol \or \or \@firstampfalse\@acoll \or \@addamp \fi }% \def\@xbitor@LaTeX #1{\@tempcntb \count#1 \ifnum \@tempcnta =\z@ \else \divide\@tempcntb\@tempcnta \ifodd\@tempcntb \@testtrue\fi \fi}% \def\@xbitor@ltx#1{% \@tempcntb\count#1% \@ifnum{\@tempcnta=\z@}{}{% \divide\@tempcntb\@tempcnta \@ifodd\@tempcntb{\@testtrue}{}% }% }% \@ifx{\@xbitor\@xbitor@LaTeX}{% \class@info{Repairing broken LaTeX \string\@xbitor}% }{% \class@info{Unrecognized LaTeX \string\@xbitor. Please update this document class! (Proceeding with fingers crossed.)}% }% \let\@xbitor\@xbitor@ltx \newcommand*\@gobble@opt@one[2][]{}% \def\@starttoc#1{% \begingroup \toc@pre \makeatletter \@input{\jobname.#1}% \if@filesw \expandafter\newwrite\csname tf@#1\endcsname \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax \fi \@nobreakfalse \toc@post \endgroup }% \def\toc@pre{}% \def\toc@post{}% \def\toc@@font{}%{\footnotesize\rmfamily}% \def\@dotsep{\z@}%{5.5pt}% \let\tocdim@section \leftmargini \let\tocdim@subsection \leftmarginii \let\tocdim@subsubsection \leftmarginiii \let\tocdim@paragraph \leftmarginiv \let\tocdim@appendix \leftmarginv \let\tocdim@pagenum \leftmarginvi \def\toc@pre@auto{% \toc@@font \@tempdima\z@ \toc@setindent\@tempdima{section}% \toc@setindent\@tempdima{subsection}% \toc@setindent\@tempdima{subsubsection}% \toc@setindent\@tempdima{paragraph}% \toc@letdimen{appendix}% \toc@letdimen{pagenum}% }% \def\toc@post@auto{% \if@filesw \begingroup \toc@writedimen{section}% \toc@writedimen{subsection}% \toc@writedimen{subsubsection}% \toc@writedimen{paragraph}% \toc@writedimen{appendix}% \toc@writedimen{pagenum}% \endgroup \fi }% \def\toc@setindent#1#2{% \csname tocdim@#2\endcsname\tocdim@min\relax \@ifundefined{tocmax@#2}{\@namedef{tocmax@#2}{\z@}}{}% \advance#1\@nameuse{tocmax@#2}\relax \expandafter\edef\csname tocleft@#2\endcsname{\the#1}% }% \def\toc@letdimen#1{% \csname tocdim@#1\endcsname\tocdim@min\relax \@ifundefined{tocmax@#1}{\@namedef{tocmax@#1}{\z@}}{}% \expandafter\let\csname tocleft@#1\expandafter\endcsname\csname tocmax@#1\endcsname }% \def\toc@writedimen#1{% \immediate\write\@auxout{% \gdef\expandafter\string\csname tocmax@#1\endcsname{% \expandafter\the\csname tocdim@#1\endcsname }% }% }% \def\l@@sections#1#2#3#4{% % #1 - superior section % #2 - this section % #3 - content, including possible \numberline % #4 - page number \begingroup \everypar{}% \set@tocdim@pagenum{#4}% \global\@tempdima\csname tocdim@#2\endcsname \leftskip\csname tocleft@#2\endcsname\relax \dimen@\csname tocleft@#1\endcsname\relax \parindent-\leftskip\advance\parindent\dimen@ \rightskip\tocleft@pagenum plus 1fil\relax \skip@\parfillskip\parfillskip\z@ \let\numberline\numberline@@sections \@nameuse{l@f@#2}% \ignorespaces#3\unskip\nobreak\hskip\skip@ \hb@xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z@skip \par \expandafter\aftergroup\csname tocdim@#2\endcsname\expandafter \endgroup\the\@tempdima\relax }% \def\set@tocdim@pagenum#1{% \setbox\@tempboxa\hbox{\ignorespaces#1}% \@ifdim{\tocdim@pagenum<\wd\z@}{\global\tocdim@pagenum\wd\z@}{}% }% \def\numberline@@sections#1{% \leavevmode\hb@xt@-\parindent{% \hfil \@if@empty{#1}{}{% \setbox\z@\hbox{#1.\kern\@dotsep}% \@ifdim{\@tempdima<\wd\z@}{\global\@tempdima\wd\z@}{}% \unhbox\z@ }% }% \ignorespaces }% \def\tocdim@min{\z@}% \def\list#1#2{% \ifnum \@listdepth >5\relax \@toodeep \else \global\advance\@listdepth\@ne \fi \rightmargin\z@ \listparindent\z@ \itemindent\z@ \csname @list\romannumeral\the\@listdepth\endcsname \def\@itemlabel{#1}% \let\makelabel\@mklab \@nmbrlistfalse #2\relax \@trivlist \parskip\parsep \set@listindent \ignorespaces }% \def\set@listindent@parshape{% \parindent\listparindent \advance\@totalleftmargin\leftmargin \advance\linewidth-\rightmargin \advance\linewidth-\leftmargin \parshape\@ne\@totalleftmargin\linewidth }% \def\set@listindent@{% \parindent\listparindent \advance\@totalleftmargin\leftmargin \advance\rightskip\rightmargin \advance\leftskip\@totalleftmargin }% \let\set@listindent\set@listindent@parshape \typeout{% ltxgrid: portions licensed from W. E. Baxter (web@superscript.com)% }% \newcounter{linecount} \def\lineloop#1{% \loop \ifnum\c@linecount<#1\relax \global\advance\c@linecount\@ne \par \hb@xt@\hsize{% \ifnum\c@linecount<100 0\fi\ifnum\c@linecount<10 0\fi\number\c@linecount \vrule depth2.5\p@ \leaders\hrule\hfil }% \penalty\interlinepenalty \repeat }% \let\@@mark\mark \let\@@topmark\topmark \let\@@firstmark\firstmark \let\@@botmark\botmark \let\@@splitfirstmark\splitfirstmark \let\@@splitbotmark\splitbotmark \def\@themark{{}{}{}{}}% \def\nul@mark{{}{}{}{}\@@nul}% \def\set@mark@netw@#1#2#3#4#5#6#7{\gdef#1{{#6}{#7}{#4}{#5}}\do@mark}% \def\set@marktw@#1#2#3#4#5#6{\gdef#1{{#2}{#6}{#4}{#5}}\do@mark}% \def\set@markthr@@#1#2#3#4#5#6{\gdef#1{{#2}{#3}{#6}{#5}}\do@mark}% \def\get@mark@@ne#1#2#3#4#5\@@nul{#1}% \def\get@mark@tw@#1#2#3#4#5\@@nul{#2}% \def\get@mark@thr@@#1#2#3#4#5\@@nul{#3}% \def\get@mark@f@ur#1#2#3#4#5\@@nul{#4}% \def\mark@netw@{\expandafter\set@mark@netw@\expandafter\@themark\@themark}% \def\marktw@{\expandafter\set@marktw@\expandafter\@themark\@themark}% \def\markthr@@{\expandafter\set@markthr@@\expandafter\@themark\@themark}% \def\do@mark{\do@@mark\@themark\nobreak@mark}% \def\do@@mark#1{% \begingroup \let@mark \@@mark{#1}% \endgroup }% \def\let@mark{% \let\protect\@unexpandable@protect \let\label\relax \let\index\relax \let\glossary\relax }% \def\nobreak@mark{% \@if@sw\if@nobreak\fi{\@ifvmode{\nobreak}{}}{}% }% \def\mark@envir{\markthr@@}% \def\bot@envir{% \expandafter\expandafter \expandafter\get@mark@thr@@ \expandafter\@@botmark \nul@mark }% \def\markboth{\mark@netw@}% \def\markright{\marktw@}% \def\leftmark{% \expandafter\expandafter \expandafter\get@mark@@ne \expandafter\saved@@botmark \nul@mark }% \def\rightmark{% \expandafter\expandafter \expandafter\get@mark@tw@ \expandafter\saved@@firstmark \nul@mark }% \let\primitive@output\output \long\def\@tempa#1\@@nil{#1}% \toks@ \expandafter\expandafter \expandafter{% \expandafter \@tempa \the\output \@@nil }% \newtoks\output \output\expandafter{\the\toks@}% \primitive@output{\dispatch@output}% \def\dispatch@output{% \let\par\@@par \expandafter\let\expandafter\@tempa\csname output@\the\outputpenalty\endcsname \outputdebug@sw{% \saythe\badness \saythe\outputpenalty \saythe\holdinginserts \say\thepagegrid \saythe\pagegrid@col \saythe\pagegrid@cur %\say\bot@envir \saythe\insertpenalties %\say\@@topmark %\say\saved@@topmark %\say\@@firstmark %\say\saved@@firstmark \say\@@botmark %\say\saved@@botmark \saythe\pagegoal \saythe\pagetotal \saythe{\badness\@cclv}% \expandafter\@ifx\expandafter{\csname output@-\the\execute@message@pen\endcsname\@tempa}{% \say\@message@saved }{% \expandafter\say\csname output@\the\outputpenalty\endcsname }% \say\@toplist \say\@botlist \say\@dbltoplist \say\@deferlist {\tracingall\scrollmode \showbox\@cclv \showbox\@cclv@saved \showbox\pagesofar \showbox\footbox \showbox\footins@saved \showbox\footins \showlists }% }{}% \@ifnotrelax\@tempa{\@tempa}{\the\output}% }% \@ifxundefined{\outputdebug@sw}{% \@booleanfalse\outputdebug@sw }{}% \output={\toggle@insert\output@holding\output@moving}% \def\output@holding{% \csname output@init@\bot@envir\endcsname \@if@exceed@pagegoal{\unvcopy\@cclv}{% \setbox\z@\vbox{\unvcopy\@cclv}% \outputdebug@sw{{\tracingall\scrollmode\showbox\z@}}{}% \dimen@\ht\@cclv\advance\dimen@-\ht\z@ \dead@cycle@repair\dimen@ }{% \dead@cycle }% }% \def\@if@exceed@pagegoal#1{% \begingroup \setbox\z@\vbox{#1}% \dimen@\ht\z@\advance\dimen@\dp\z@ \outputdebug@sw{\saythe\dimen@}{}% \@ifdim{\dimen@>\pagegoal}{% \setbox\z@\vbox{\@@mark{}\unvbox\z@}% \splittopskip\topskip \splitmaxdepth\maxdepth \vbadness\@M \vfuzz\maxdimen \setbox\tw@\vsplit\z@ to\pagegoal \outputdebug@sw{{\tracingall\scrollmode\showbox\tw@\showbox\z@}}{}% \setbox\tw@\vbox{\unvbox\tw@}% \@ifdim{\ht\tw@=\z@}{% \ltxgrid@info{Found overly large chunk while preparing to move insertions. Attempting repairs}% \aftergroup\true@sw }{% \aftergroup\false@sw }% }{% \aftergroup\false@sw }% \endgroup }% %% \item %% Put down the same interrupts as for the non-trivial case above. \def\output@moving{% \set@top@firstmark \@ifnum{\outputpenalty=\do@newpage@pen}{% \setbox\@cclv\vbox{% \unvbox\@cclv \setbox\z@\lastbox \@ifdim{\ht\z@=\ht\@protection@box}{\box\lastbox}{\unskip}% }% }{}% \@cclv@nontrivial@sw{% \csname output@prep@\bot@envir \endcsname \@makecol\csname output@column@\thepagegrid\endcsname \protect@penalty\do@startcolumn@pen \clearpage@sw{% \protect@penalty\do@endpage@pen }{}% \csname output@post@\bot@envir \endcsname }{% {\setbox\z@\box\@cclv}% }% \set@colroom \global\@mparbottom\z@ \global\@textfloatsheight\z@ %FIXME: this legacy LaTeX variable is set, but never queried! }% \def\@cclv@nontrivial@sw{% \@ifx@empty\@toplist{% \@ifx@empty\@botlist{% \@ifvoid\footins{% \@ifvoid\@cclv{% \false@sw }{% \setbox\z@\vbox{\unvcopy\@cclv}% \@ifdim{\ht\z@=\topskip}{% \setbox\z@\vbox{% \unvbox\z@ \setbox\z@\lastbox\dimen@\lastskip\unskip \@ifdim{\ht\z@=\ht\@protection@box}{% \advance\dimen@\ht\z@ \@ifdim{\dimen@=\topskip}{% \aftergroup\true@sw }{% \aftergroup\false@sw }% }{% \aftergroup\false@sw }% }% {% \false@sw % Normal for \clearpage }{% \true@sw }% }{% \@ifdim{\ht\z@=\z@}{% \ltxgrid@info{Found trivial column. Discarding it}% \outputdebug@sw{{\tracingall\scrollmode\showbox\@cclv}}{}% \false@sw }{% \true@sw }% }% }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }% \def\protect@penalty#1{\protection@box\penalty-#1\relax}% \newbox\@protection@box \setbox\@protection@box\vbox to1986sp{\vfil}% \def\protection@box{\nointerlineskip\copy\@protection@box}% \def\dead@cycle@repair#1{% \expandafter\do@@mark \expandafter{% \@@botmark }% \unvbox\@cclv \nointerlineskip \vbox to#1{\vss}% \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% }% \def\dead@cycle@repair@protected#1{% \expandafter\do@@mark \expandafter{% \@@botmark }% \begingroup \unvbox\@cclv \setbox\z@\lastbox % Remove protection box \nointerlineskip \advance#1-\ht\@protection@box \vbox to#1{\vss}% \protection@box % Reinsert protection box \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% \endgroup }% \def\dead@cycle{% \expandafter\do@@mark \expandafter{% \@@botmark }% \unvbox\@cclv \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% }% \def\output@init@document{% \@ifvoid\footbox{}{% \global\advance\vsize-\ht\footbox \global\advance\vsize-\dp\footbox }% }% \def\output@prep@document{% \@ifvoid\footbox{}{% \setbox\footins\vbox{\unvbox\footbox\unvbox\footins}% }% }% \def\output@post@document{}% \let\@opcol\@undefined \def\@makecol{% \setbox\@outputbox\vbox{% \boxmaxdepth\@maxdepth \@tempdima\dp\@cclv \unvbox\@cclv \vskip-\@tempdima }% \xdef\@freelist{\@freelist\@midlist}\global\let\@midlist\@empty \@combinefloats \@combineinserts\@outputbox\footins \set@adj@colht\dimen@ \count@\vbadness \vbadness\@M \setbox\@outputbox\vbox to\dimen@{% \@texttop \dimen@\dp\@outputbox \unvbox\@outputbox \vskip-\dimen@ \@textbottom }% \vbadness\count@ \global\maxdepth\@maxdepth }% \let\@makespecialcolbox\@undefined \def\@combineinserts#1#2{% \setbox#1\vbox{% \unvbox#1% \vbox{% \@ifvoid#2{}{% \vskip\skip\footins \color@begingroup \normalcolor \footnoterule \nointerlineskip \box#2% \color@endgroup }{}% }% }% }% \appdef\@floatplacement{% \global\@fpmin\@fpmin }% \mathchardef\pagebreak@pen=\@M \expandafter\let\csname output@-\the\pagebreak@pen\endcsname\relax \mathchardef\do@startcolumn@pen=10005 \@namedef{output@-\the\do@startcolumn@pen}{\do@startcolumn}% \def\do@startcolumn{% \setbox\@cclv\vbox{\unvbox\@cclv\setbox\z@\lastbox\unskip}% \clearpage@sw{\@clearfloatplacement}{\@floatplacement}% \set@colroom \@booleanfalse\pfloat@avail@sw \begingroup \@colht\@colroom \@booleanfalse\float@avail@sw \@tryfcolumn\test@colfloat \float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}% \endgroup \fcolmade@sw{% \setbox\@cclv\vbox{\unvbox\@outputbox\unvbox\@cclv}% \outputpenalty-\pagebreak@pen % ask for a return visit, this time with insertions and all. \dead@cycle }{% \begingroup \let\@elt\@scolelt \let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b \endgroup \clearpage@sw{% \outputpenalty\@M }{% \outputpenalty\do@newpage@pen }% \dead@cycle }% \check@deferlist@stuck\do@startcolumn \set@vsize }% \def\@scolelt#1{\def\@currbox{#1}\@addtonextcol}% \def\test@colfloat#1{% \csname @floatselect@sw@\thepagegrid\endcsname#1{}{\@testtrue}% \@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}% }% \def\@addtonextcol{% \begingroup \@insertfalse \@setfloattypecounts \csname @floatselect@sw@\thepagegrid\endcsname\@currbox{% \@ifnum{\@fpstype=8 }{}{% \@ifnum{\@fpstype=24 }{}{% \@flsettextmin \@reqcolroom \ht\@currbox \advance \@reqcolroom \@textmin \advance \@reqcolroom \vsize % take into account split insertions \advance \@reqcolroom -\pagegoal \@ifdim{\@colroom>\@reqcolroom}{% \@flsetnum \@colnum \@ifnum{\@colnum>\z@}{% \@bitor\@currtype\@deferlist \@if@sw\if@test\fi{}{% \@addtotoporbot }% }{}% }{}% }% }% }{}% \@if@sw\if@insert\fi{}{% \@cons\@deferlist\@currbox }% \endgroup }% \mathchardef\do@startpage@pen=10006 \@namedef{output@-\the\do@startpage@pen}{\do@startpage}% \def\do@startpage{% \setbox\@cclv\vbox{\unvbox\@cclv\setbox\z@\lastbox\unskip}% \clearpage@sw{\@clearfloatplacement}{\@dblfloatplacement}% \set@colht \@booleanfalse\pfloat@avail@sw \begingroup \@booleanfalse\float@avail@sw \@tryfcolumn\test@dblfloat \float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}% \endgroup \fcolmade@sw{% \global\setbox\pagesofar\vbox{\unvbox\pagesofar\unvbox\@outputbox}% \@combinepage \@combinedblfloats \@outputpage \global\pagegrid@cur\@ne \protect@penalty\do@startpage@pen }{% \begingroup \@booleanfalse\float@avail@sw \let\@elt\@sdblcolelt \let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b \endgroup \@ifdim{\@colht=\textheight}{% No luck... \pfloat@avail@sw{% ...but a float *was* available! \forcefloats@sw{% \ltxgrid@warn{Forced dequeueing of floats stalled}% }{% \ltxgrid@warn{Dequeueing of floats stalled}% }% }{}% }{}% \outputpenalty\@M \dead@cycle }% \check@deferlist@stuck\do@startpage \set@colht }% \def\@sdblcolelt#1{\def\@currbox{#1}\@addtodblcol}% \def\test@dblfloat#1{% \@if@notdblfloat{#1}{\@testtrue}{}% \@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}% }% \def\@if@notdblfloat#1{\@ifdim{\wd#1<\textwidth}}% \@booleanfalse\forcefloats@sw \def\@addtodblcol{% \begingroup \@if@notdblfloat{\@currbox}{% \false@sw }{% \@setfloattypecounts \@getfpsbit \tw@ \@bitor \@currtype \@deferlist \@if@sw\if@test\fi{% \false@sw }{% \@ifodd\@tempcnta{% \aftergroup\@booleantrue\aftergroup\float@avail@sw \@flsetnum \@dbltopnum \@ifnum{\@dbltopnum>\z@}{% \@ifdim{\@dbltoproom>\ht\@currbox}{% \true@sw }{% \@ifnum{\@fpstype<\sixt@@n}{% \begingroup \advance \@dbltoproom \@textmin \@ifdim{\@dbltoproom>\ht\@currbox}{% \endgroup\true@sw }{% \endgroup\false@sw }% }{% \false@sw }% }% }{% \false@sw }% }{% \false@sw }% }% }% {% \@tempdima -\ht\@currbox \advance\@tempdima -\@ifx{\@dbltoplist\@empty}{\dbltextfloatsep}{\dblfloatsep}% \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@dbltopnum \m@ne \@cons \@dbltoplist \@currbox }{% \@cons \@deferlist \@currbox }% \endgroup }% \def\@tryfcolumn#1{% \global\@booleanfalse\fcolmade@sw \@ifx@empty\@deferlist{}{% \global\let\@trylist\@deferlist \global\let\@failedlist\@empty \begingroup \dimen@\vsize\advance\dimen@-\pagegoal\@ifdim{\dimen@>\z@}{% \advance\@fpmin-\dimen@ }{}% \def\@elt{\@xtryfc#1}\@trylist \endgroup \fcolmade@sw{% \global\setbox\@outputbox\vbox{\vskip \@fptop}% \let \@elt \@wtryfc \@flsucceed \global\setbox\@outputbox\vbox{\unvbox\@outputbox \unskip \vskip \@fpbot }% \let \@elt \relax \xdef\@deferlist{\@failedlist\@flfail}% \xdef\@freelist{\@freelist\@flsucceed}% }{}% }% }% \def\@wtryfc #1{% \global\setbox\@outputbox\vbox{\unvbox\@outputbox \box #1\vskip\@fpsep }% }% \def\@xtryfc#1#2{% \@next\reserved@a\@trylist{}{}% trim \@trylist. Ugly! \@currtype \count #2% \divide\@currtype\@xxxii\multiply\@currtype\@xxxii \@bitor \@currtype \@failedlist \@testfp #2% #1#2% \@ifdim{\ht #2>\@colht }{\@testtrue}{}% \@if@sw\if@test\fi{% \@cons\@failedlist #2% }{% \begingroup \gdef\@flsucceed{\@elt #2}% \global\let\@flfail\@empty \@tempdima\ht #2% \def \@elt {\@ztryfc#1}\@trylist \@ifdim{\@tempdima >\@fpmin}{% \global\@booleantrue\fcolmade@sw }{% \@cons\@failedlist #2% }% \endgroup \fcolmade@sw{% \let \@elt \@gobble }{}% }% }% \def\@ztryfc #1#2{% \@tempcnta \count#2% \divide\@tempcnta\@xxxii\multiply\@tempcnta\@xxxii \@bitor \@tempcnta {\@failedlist \@flfail}% \@testfp #2% #1#2% \@tempdimb\@tempdima \advance\@tempdimb \ht#2\advance\@tempdimb\@fpsep \@ifdim{\@tempdimb >\@colht}{% \@testtrue }{}% \@if@sw\if@test\fi{% \@cons\@flfail #2% }{% \@cons\@flsucceed #2% \@tempdima\@tempdimb }% }% \def\newpage@prep{% \if@noskipsec \ifx \@nodocument\relax \leavevmode \global \@noskipsecfalse \fi \fi \if@inlabel \leavevmode \global \@inlabelfalse \fi \if@nobreak \@nobreakfalse \everypar{}\fi \par }% \def \newpage {% \newpage@prep \do@output@MVL{% \vfil \penalty-\pagebreak@pen }% }% \def\clearpage{% \newpage@prep \do@output@MVL{% \vfil \penalty-\pagebreak@pen \global\@booleantrue\clearpage@sw \protect@penalty\do@startcolumn@pen \protect@penalty\do@endpage@pen }% \do@output@MVL{% \global\@booleanfalse\clearpage@sw }% }% \def\cleardoublepage{% \clearpage \@if@sw\if@twoside\fi{% \@ifodd\c@page{}{% \null\clearpage }% }{}% }% \@booleanfalse\clearpage@sw \mathchardef\do@endpage@pen=10007 \@namedef{output@-\the\do@endpage@pen}{% \csname end@column@\thepagegrid\endcsname }% \mathchardef\do@newpage@pen=10001 \expandafter\let\csname output@-\the\do@newpage@pen\endcsname\relax \def\@clearfloatplacement{% \global\@topnum \maxdimen % \c@topnumber \global\@toproom \maxdimen % \topfraction\@colht \global\@botnum \maxdimen % \c@bottomnumber \global\@botroom \maxdimen % \bottomfraction\@colht \global\@colnum \maxdimen % \c@totalnumber \global\@dbltopnum \maxdimen % \c@dbltopnumber \global\@dbltoproom \maxdimen % \dbltopfraction\@colht \global\@textmin \z@ % \@colht\advance \@textmin -\@dbltoproom \global\@fpmin \z@ % \dblfloatpagefraction\textheight \let\@testfp\@gobble \appdef\@setfloattypecounts{\@fpstype16\advance\@fpstype\m@ne}% }% \let\@doclearpage\@undefined \let\@makefcolumn\@undefined \def\clr@top@firstmark{% \global\let\saved@@topmark\@undefined \global\let\saved@@firstmark\@empty \global\let\saved@@botmark\@empty }% \clr@top@firstmark \def\set@top@firstmark{% \@ifxundefined\saved@@topmark{\expandafter\gdef\expandafter\saved@@topmark\expandafter{\@@topmark}}{}% \@if@empty\saved@@firstmark{\expandafter\gdef\expandafter\saved@@firstmark\expandafter{\@@firstmark}}{}% \@if@empty\@@botmark{}{\expandafter\gdef\expandafter\saved@@botmark\expandafter{\@@botmark}}% }% \appdef\@outputpage{% \clr@top@firstmark }% \def\@float#1{% \@ifnextchar[{%}]{%Brace-matching klootch \@yfloat\width@float{#1}% }{% \@ifxundefined@cs{fps@#1}{% \edef\reserved@a{\noexpand\@yfloat\noexpand\width@float{#1}[\csname fps@\endcsname]}\reserved@a }{% \edef\reserved@a{\noexpand\@yfloat\noexpand\width@float{#1}[\csname fps@#1\endcsname]}\reserved@a }% }% }% \def\@dblfloat#1{% \@ifnum{\pagegrid@col=\@ne}{% \@float{#1}% }{% \@ifnextchar[{%}]{%Brace-matching klootch \@yfloat\widthd@float{#1}% }{% \@ifxundefined@cs{fpsd@#1}{% \edef\reserved@a{\noexpand\@yfloat\noexpand\widthd@float{#1}[\csname fpsd@\endcsname]}\reserved@a }{% \edef\reserved@a{\noexpand\@yfloat\noexpand\widthd@float{#1}[\csname fpsd@#1\endcsname]}\reserved@a }% }% }% }% \def\@yfloat#1#2[#3]{% \@xfloat{#2}[#3]% \hsize#1\linewidth\hsize \minipagefootnote@init }% \def\fps@{tbp}% \def\fpsd@{tp}% \def\width@float{\columnwidth}% \def\widthd@float{\textwidth}% \def\end@float{% \end@@float{% \check@currbox@count }% }% \def\end@dblfloat{% \@ifnum{\pagegrid@col=\@ne}{% \end@float }{% \end@@float{% \@boxfpsbit\@currbox{1}\@ifodd\@tempcnta{\global\advance\count\@currbox\m@ne}{}% \@boxfpsbit\@currbox{4}\@ifodd\@tempcnta{\global\advance\count\@currbox-4\relax}{}% \global\wd\@currbox\textwidth % Klootch \check@currbox@count }% }% }% \def\end@@float#1{% \minipagefootnote@here \@endfloatbox #1% \@ifnum{\@floatpenalty <\z@}{% \@largefloatcheck \@cons\@currlist\@currbox \@ifnum{\@floatpenalty <-\@Mii}{% \do@output@cclv{\@add@float}% }{% \vadjust{\do@output@cclv{\@add@float}}% \@Esphack }% }{}% }% \def\check@currbox@count{% \@ifnum{\count\@currbox>\z@}{% \count@\count\@currbox\divide\count@\sixt@@n\multiply\count@\sixt@@n \@tempcnta\count\@currbox\advance\@tempcnta-\count@ \@ifnum{\@tempcnta=\z@}{% \ltxgrid@warn{Float cannot be placed}% }{}% }{% % Is a \marginpar }% }% \providecommand\minipagefootnote@init{}% \providecommand\minipagefootnote@here{}% \let\@specialoutput\@undefined \def\@add@float{% \@pageht\ht\@cclv\@pagedp\dp\@cclv \unvbox\@cclv \@next\@currbox\@currlist{% \csname @floatselect@sw@\thepagegrid\endcsname\@currbox{% \@ifnum{\count\@currbox>\z@}{% \advance \@pageht \@pagedp \advance \@pageht \vsize \advance \@pageht -\pagegoal % do not assume \holdinginserts is cleared! \@addtocurcol % Commit an h float }{% \@addmarginpar }% }{% \@resethfps \@cons\@deferlist\@currbox }% }{\@latexbug}% \@ifnum{\outputpenalty<\z@}{% \@if@sw\if@nobreak\fi{% \nobreak }{% \addpenalty \interlinepenalty }% }{}% \set@vsize }% \let\@reinserts\@undefined \def \@addtocurcol {% \@insertfalse \@setfloattypecounts \ifnum \@fpstype=8 \else \ifnum \@fpstype=24 \else \@flsettextmin \advance \@textmin \@textfloatsheight \@reqcolroom \@pageht \ifdim \@textmin>\@reqcolroom \@reqcolroom \@textmin \fi \advance \@reqcolroom \ht\@currbox \ifdim \@colroom>\@reqcolroom \@flsetnum \@colnum \ifnum \@colnum>\z@ \@bitor\@currtype\@deferlist \if@test \else \@bitor\@currtype\@botlist \if@test \@addtobot \else \ifodd \count\@currbox \advance \@reqcolroom \intextsep \ifdim \@colroom>\@reqcolroom \global \advance \@colnum \m@ne \global \advance \@textfloatsheight \ht\@currbox \global \advance \@textfloatsheight 2\intextsep \@cons \@midlist \@currbox \if@nobreak \nobreak \@nobreakfalse \everypar{}% \else \addpenalty \interlinepenalty \fi \vskip \intextsep \unvbox\@currbox %AO \penalty\interlinepenalty \vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi \outputpenalty \z@ \@inserttrue \fi \fi \if@insert \else \@addtotoporbot \fi \fi \fi \fi \fi \fi \fi \if@insert \else \@resethfps \@cons\@deferlist\@currbox \fi }% \@twocolumnfalse \let\@twocolumntrue\@twocolumnfalse \def\@addmarginpar{% \@next\@marbox\@currlist{% \@cons\@freelist\@marbox\@cons\@freelist\@currbox }\@latexbug \setbox\@marbox\hb@xt@\columnwidth{% \csname @addmarginpar@\thepagegrid\endcsname{% \hskip-\marginparsep\hskip-\marginparwidth \box\@currbox }{% \hskip\columnwidth\hskip\marginparsep \box\@marbox }% \hss }% \setbox\z@\box\@currbox \@tempdima\@mparbottom \advance\@tempdima -\@pageht \advance\@tempdima\ht\@marbox \@ifdim{\@tempdima >\z@}{% \@latex@warning@no@line {Marginpar on page \thepage\space moved}% }{% \@tempdima\z@ }% \global\@mparbottom\@pageht \global\advance\@mparbottom\@tempdima \global\advance\@mparbottom\dp\@marbox \global\advance\@mparbottom\marginparpush \advance\@tempdima -\ht\@marbox \global\setbox \@marbox \vbox {\vskip \@tempdima \box \@marbox}% \global \ht\@marbox \z@ \global \dp\@marbox \z@ \kern -\@pagedp \nointerlineskip \box\@marbox \nointerlineskip \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}% }% \newenvironment{turnpage}{% \def\width@float{\textheight}% \def\widthd@float{\textheight}% \appdef\@endfloatbox{% \@ifxundefined\@currbox{% \ltxgrid@warn{Cannot rotate! Not a float}% }{% \setbox\@currbox\vbox to\textwidth{\vfil\unvbox\@currbox\vfil}% \global\setbox\@currbox\vbox{\rotatebox{90}{\box\@currbox}}% }% }% }{% }% \def\rotatebox@dummy#1#2{% \ltxgrid@warn{You must load the graphics or graphicx package in order to use the turnpage environment}% #2% }% \AtBeginDocument{% \@ifxundefined\rotatebox{\let\rotatebox\rotatebox@dummy}{}% }% \@namedef{output@-1073741824}{%"40000000 \deadcycles\z@ \setbox\z@\box\@cclv }% \mathchardef\save@column@pen=10016 \@namedef{output@-\the\save@column@pen}{\save@column}% \let \@cclv@saved \@holdpg \let \@holdpg \@undefined \def\save@column{% \@ifvoid\@cclv@saved{% \set@top@firstmark \global\@topmark@saved\expandafter{\@@topmark}% }{}% \global\setbox\@cclv@saved\vbox{% \@ifvoid\@cclv@saved{}{% \unvbox\@cclv@saved \marry@baselines }% \unvbox\@cclv \lose@breaks \setbox\z@\lastbox }% }% \newtoks\@topmark@saved \def\prep@cclv{% \setbox\z@\box\@cclv \setbox\@cclv\box\@cclv@saved \vbadness\@M }% \mathchardef\save@column@insert@pen=10017 \@namedef{output@-\the\save@column@insert@pen}{\toggle@insert\savecolumn@holding\savecolumn@moving}% \def\savecolumn@holding{% \@if@exceed@pagegoal{\unvcopy\@cclv\setbox\z@\lastbox}{% \setbox\z@\vbox{\unvcopy\@cclv\setbox\z@\lastbox}% \outputdebug@sw{{\tracingall\scrollmode\showbox\z@}}{}% \dimen@\ht\@cclv\advance\dimen@-\ht\z@ \dead@cycle@repair@protected\dimen@ }{% \dead@cycle }% }% \def\savecolumn@moving{% \@cclv@nontrivial@sw{% \save@column }{% {\setbox\z@\box\@cclv}% }% \@ifvoid\footins{}{% \outputdebug@sw{{\tracingall\scrollmode\showbox\footins}}{}% \global\setbox\footins@saved\vbox{\unvbox\footins@saved\marry@baselines\unvbox\footins}% \protect@penalty\save@column@insert@pen }% }% \newbox\footins@saved \mathchardef\save@message@pen=10018 \@namedef{output@-\the\save@message@pen}{\save@message}% \def\save@message{% \setbox\z@\box\@cclv %FIXME: what if \box\@cclv is not empty? \toks@\expandafter{\@@firstmark}% \expandafter\gdef\expandafter\@message@saved\expandafter{\the\toks@}% \expandafter\do@@mark\expandafter{\the\@topmark@saved}% }% \gdef\@message@saved{}% \mathchardef\execute@message@pen=10019 \@namedef{output@-\the\execute@message@pen}{\@message@saved}% \def\execute@message{% \@execute@message\save@column@pen %Implicit #2 }% \def\execute@message@insert#1{% \@execute@message\save@column@insert@pen{\setbox\footins\box\footins@saved#1}% }% \long\def\@execute@message#1#2{% \begingroup \dimen@\prevdepth\@ifdim{\dimen@<\z@}{\dimen@\z@}{}% \setbox\z@\vbox{% \protect@penalty#1% \protection@box \toks@{\prep@cclv#2}% \@@mark{\the\toks@}% \penalty-\save@message@pen \setbox\z@\null\dp\z@\dimen@\ht\z@-\dimen@ \nointerlineskip\box\z@ \penalty-\execute@message@pen }\unvbox\z@ \endgroup }% \def\do@output@cclv{\execute@message}% \def\do@output@MVL#1{% \@ifvmode{% \begingroup\execute@message{\unvbox\@cclv#1}\endgroup }{% \@ifhmode{% \vadjust{\execute@message{\unvbox\@cclv#1}}% }{% \@latexerr{\string\do@output@MVL\space cannot be executed in this mode!}\@eha }% }% }% \def\lose@breaks{% \loopwhile{% \count@\lastpenalty \@ifnum{\count@=\@M}{% 10000 is a TeX magic number! \unpenalty\true@sw }{% \false@sw }% }% }% \def\removestuff{\do@output@MVL{\unskip\unpenalty}}% \def\removephantombox{% \vadjust{% \execute@message{% \unvbox\@cclv \setbox\z@\lastbox \unskip \unskip \unpenalty \penalty\predisplaypenalty \vskip\abovedisplayskip }% }% }% \def\addstuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@addstuff{#1}{#2}}}\@tempa}% \def\@addstuff#1#2{% \skip@\lastskip\unskip \count@\lastpenalty\unpenalty \@if@empty{#1}{}{\penalty#1\relax}% \@ifnum{\count@=\z@}{}{\penalty\count@}% \vskip\skip@ \@if@empty{#2}{}{\vskip#2\relax}% }% \def\replacestuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@replacestuff{#1}{#2}}}\@tempa}% \def\@replacestuff#1#2{% \skip@\lastskip\unskip \count@\lastpenalty\unpenalty \@if@empty{#1}{}{% \@ifnum{\count@>\@M}{}{% \@ifnum{\count@=\z@}{\count@=#1\relax}{% \@ifnum{\count@<#1\relax}{}{% \count@=#1\relax }% }% }% }% \@ifnum{\count@=\z@}{}{\penalty\count@}% \@if@empty{#2}{}{% \@tempskipa#2\relax \@ifdim{\z@>\@tempskipa}{% \advance\skip@-\@tempskipa }{% \@ifdim{\skip@>\@tempskipa}{}{% \skip@\@tempskipa }% }% }% \vskip\skip@ }% \def\move@insertions{\global\holdinginserts\z@}% \def\hold@insertions{\global\holdinginserts\@ne}% \hold@insertions \def\move@insert@sw{\@ifnum{\holdinginserts=\z@}}% \def\toggle@insert#1#2{% \@ifnum{\holdinginserts=\z@}{\hold@insertions#2}{\move@insertions#1}% }% \def\do@columngrid#1#2{% \par \expandafter\let\expandafter\@tempa\csname open@column@#1\endcsname \@ifx{\relax\@tempa}{% \ltxgrid@warn{Unknown page grid #1. No action taken}% }{% \do@output@MVL{\start@column{#1}{#2}}% }% }% \def\start@column#1#2{% \def\@tempa{#1}\@ifx{\@tempa\thepagegrid}{% \ltxgrid@info{Already in page grid \thepagegrid. No action taken}% }{% \expandafter\execute@message@insert \expandafter{% \csname shut@column@\thepagegrid\expandafter\endcsname \csname open@column@#1\endcsname{#2}% \set@vsize }% }% }% \def\thepagegrid{one}% \newbox\pagesofar \newbox\footbox \newcommand\onecolumngrid{\do@columngrid{one}{\@ne}}% \let\onecolumn\@undefined \def\open@column@one#1{% \unvbox\pagesofar \gdef\thepagegrid{one}% \global\pagegrid@col#1% \global\pagegrid@cur\@ne \set@colht \set@column@hsize\pagegrid@col }% \def\shut@column@one{% \@makecol \global\setbox\pagesofar\vbox{\unvbox\@outputbox\recover@footins}% \set@colht }% \def\float@column@one{% \@makecol \@outputpage }% \def\end@column@one{% \unvbox\@cclv\setbox\z@\lastbox \protect@penalty\do@newpage@pen }% \def\output@column@one{% \@outputpage }% \def\@addmarginpar@one{% \@if@sw\if@mparswitch\fi{% \@ifodd\c@page{\false@sw}{\true@sw}% }{\false@sw}{% \@if@sw\if@reversemargin\fi{\false@sw}{\true@sw}% }{% \@if@sw\if@reversemargin\fi{\true@sw}{\false@sw}% }% }% \def\@floatselect@sw@one#1{\true@sw}% \def\onecolumngrid@push{% \do@output@MVL{% \@ifnum{\pagegrid@col=\@ne}{% \global\let\restorecolumngrid\@empty }{% \xdef\restorecolumngrid{% \noexpand\start@column{\thepagegrid}{\the\pagegrid@col}% }% \start@column{one}{\@ne}% }% }% }% \def\onecolumngrid@pop{% \do@output@MVL{\restorecolumngrid}% }% \newcommand\twocolumngrid{\do@columngrid{mlt}{\tw@}}% \let\twocolumn\@undefined \let\@topnewpage\@undefined \def\open@column@mlt#1{% \gdef\thepagegrid{mlt}% \global\pagegrid@col#1% \global\pagegrid@cur\@ne \set@column@hsize\pagegrid@col \set@colht }% \def\shut@column@mlt{% \@cclv@nontrivial@sw{% \@makecol \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox \global\advance\pagegrid@cur\@ne }{}% }{% {\setbox\z@\box\@cclv}% }% \@ifnum{\pagegrid@cur>\@ne}{% \csname balance@\the\pagegrid@col\endcsname \grid@column{}% \@combinepage \@combinedblfloats \global\setbox\pagesofar\box\@outputbox }{}% \set@colht }% \def\float@column@mlt{% \@combinepage \@combinedblfloats \@outputpage \global\pagegrid@cur\@ne \protect@penalty\do@startpage@pen }% \def\end@column@mlt{% \@ifx@empty\@toplist{% \@ifx@empty\@botlist{% \@ifx@empty\@dbltoplist{% \@ifx@empty\@deferlist{% \@ifnum{\pagegrid@cur=\@ne}{% \false@sw }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% % true = kick out a column and try again {% \@cclv@nontrivial@sw{% \unvbox\@cclv\setbox\z@\lastbox }{% \unvbox\@cclv\setbox\z@\lastbox\unskip\null }% \protect@penalty\do@newpage@pen \protect@penalty\do@endpage@pen }{% \unvbox\@cclv\setbox\z@\lastbox }% }% \def\output@column@mlt{% \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox \global\advance\pagegrid@cur\@ne }{% \set@adj@colht\dimen@ \grid@column{}%{\dimen@}% \@combinepage \@combinedblfloats \@outputpage \global\pagegrid@cur\@ne \protect@penalty\do@startpage@pen }% }% \let\@outputdblcol\@undefined \def\@floatselect@sw@mlt#1{\@if@notdblfloat{#1}}% \def\@addmarginpar@mlt{% emits a boolean \@ifnum{\pagegrid@cur=\@ne}% }% \let\pagegrid@cur\col@number \let\col@number\@undefined \newcount\pagegrid@col \pagegrid@cur\@ne \expandafter\let\csname col@\the\pagegrid@cur\endcsname\@leftcolumn \let\@leftcolumn\@undefined \pagegrid@col\tw@ \def\pagegrid@init{% \advance\pagegrid@cur\@ne \@ifnum{\pagegrid@cur<\pagegrid@col}{% \csname newbox\expandafter\endcsname\csname col@\the\pagegrid@cur\endcsname \pagegrid@init }{% }% }% \appdef\class@documenthook{% \pagegrid@init }% \def\grid@column#1{% \global\setbox\@outputbox\vbox{% \hb@xt@\textwidth{% \vrule\@height\z@\@width\z@\@if@empty{#1}{}{\@depth#1}% \pagegrid@cur\@ne \append@column \box@column\@outputbox }% \vskip\z@skip % FIXME: page depth! }% }% \def\append@column{% \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\box@column\csname col@\the\pagegrid@cur\endcsname \hfil \vrule \@width\columnseprule \hfil \advance\pagegrid@cur\@ne \append@column }{% }% }% \def\box@column#1{% \raise\topskip \hb@xt@\columnwidth{% \dimen@\ht#1\@ifdim{\dimen@>\@colht}{\dimen@\@colht}{}% \count@\vbadness\vbadness\@M \dimen@ii\vfuzz\vfuzz\maxdimen \outputdebug@sw{\saythe\@colht\saythe\dimen@}{}% \vtop to\dimen@ {\hrule\@height\z@ \unvbox#1% \raggedcolumn@skip }% \vfuzz\dimen@ii \vbadness\count@ \hss }% }% \def\marry@baselines{% \vskip\marry@skip\relax }% \gdef\marry@skip{\z@skip}% \def\set@marry@skip{% \begingroup \skip@\baselineskip\advance\skip@-\topskip \@ifdim{\skip@>\z@}{% \xdef\marry@skip{\the\skip@}% }{}% \endgroup }% \AtBeginDocument{% \@ifxundefined\raggedcolumn@sw{\@booleanfalse\raggedcolumn@sw}{}% }% \def\raggedcolumn@skip{% \vskip\z@\raggedcolumn@sw{\@plus.0001fil\@minus.0001fil}{}\relax }% \def\@combinepage{% \@ifvoid\pagesofar{}{% \setbox\@outputbox\vbox{% \unvbox\pagesofar \marry@baselines \unvbox\@outputbox }% }% \@ifvoid\footbox{}{% \setbox\@outputbox\vbox{% \unvbox\@outputbox \marry@baselines \unvbox\footbox }% }% }% \def\@combinedblfloats{% \@ifx@empty\@dbltoplist{}{% \setbox\@tempboxa\vbox{}% \let\@elt\@comdblflelt\@dbltoplist \let\@elt\relax\xdef\@freelist{\@freelist\@dbltoplist}% \global\let\@dbltoplist\@empty \setbox\@outputbox\vbox{% %\boxmaxdepth\maxdepth %% probably not needed, CAR \unvbox\@tempboxa\unskip \@ifnum{\@dbltopnum>\m@ne}{\dblfigrule}{}%FIXME: how is \@dbltopnum maintained? \vskip\dbltextfloatsep \unvbox\@outputbox }% }% }% \def\set@column@hsize#1{% \pagegrid@col#1% \global\columnwidth\textwidth \global\advance\columnwidth\columnsep \global\divide\columnwidth\pagegrid@col \global\advance\columnwidth-\columnsep \global\hsize\columnwidth \global\linewidth\columnwidth \skip@\baselineskip\advance\skip@-\topskip \@ifnum{\pagegrid@col>\@ne}{\set@marry@skip}{}% }% \def\set@colht{% \set@adj@textheight\@colht \global\let\enlarge@colroom\@empty \set@colroom }% \def\set@adj@textheight#1{% #1\textheight \def\@elt{\adj@page#1}% \@booleantrue\firsttime@sw\@dbltoplist \let\@elt\relax \global#1#1\relax \outputdebug@sw{\saythe#1}{}% }% \def\set@colroom{% \set@adj@colht\@colroom \@if@empty\enlarge@colroom{}{% \global\advance\@colroom\enlarge@colroom\relax }% \outputdebug@sw{\saythe\@colroom}{}% \@ifdim{\@colroom>\topskip}{}{% \ltxgrid@info{Not enough room: \string\@colroom=\the\@colroom; increasing to \the\topskip}% \@colroom\topskip }% \global\@colroom\@colroom \set@vsize }% \def\set@vsize{% \global\vsize\@colroom \outputdebug@sw{\saythe\vsize}{}% }% \def\set@adj@colht#1{% #1\@colht \@ifvoid\pagesofar{}{% \advance#1-\ht\pagesofar\advance#1-\dp\pagesofar }% \@ifvoid\footbox{}{% \advance#1-\ht\footbox\advance#1-\dp\footbox }% \def\@elt{\adj@column#1}% \@booleantrue\firsttime@sw\@toplist \@booleantrue\firsttime@sw\@botlist \let\@elt\relax \outputdebug@sw{\saythe#1}{}% }% \def\adj@column#1#2{% \advance#1-\ht#2% \advance#1-\firsttime@sw{\textfloatsep\@booleanfalse\firsttime@sw}{\floatsep}% }% \def\adj@page#1#2{% \advance#1-\ht#2% \advance#1-\firsttime@sw{\dbltextfloatsep\@booleanfalse\firsttime@sw}{\dblfloatsep}% }% \appdef\@outputpage{% \set@colht % FIXME: needed? \@floatplacement % FIXME: needed? \@dblfloatplacement % FIXME: needed? }% \@namedef{balance@2}{% \expandafter\balance@two\csname col@1\endcsname\@outputbox % Avoid a bug by preventing a restore when leaving this group \global\setbox\csname col@1\endcsname\box\csname col@1\endcsname \@ifvoid\footbox{}{% \global\setbox\footbox\vbox{% \setbox\z@\box\@tempboxa \let\recover@footins\relax \balance@two\footbox\@tempboxa \hb@xt@\textwidth{\box\footbox\hfil\box\@tempboxa}% }% }% }% \def\balance@two#1#2{% \outputdebug@sw{{\tracingall\scrollmode\showbox#1\showbox#2}}{}% \setbox\@ne\vbox{% \@ifvoid#1{}{% \unvcopy#1\recover@footins \@ifvoid#2{}{\marry@baselines}% }% \@ifvoid#2{}{% \unvcopy#2\recover@footins }% }% \dimen@\ht\@ne\divide\dimen@\tw@ \dimen@i\dimen@ \vbadness\@M \vfuzz\maxdimen \loopwhile{% \dimen@i=.5\dimen@i \outputdebug@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}% \setbox\z@\copy\@ne\setbox\tw@\vsplit\z@ to\dimen@ \setbox\z@ \vbox{% \unvcopy\z@ \setbox\z@\vbox{\unvbox\z@ \setbox\z@\lastbox\aftergroup\vskip\aftergroup-\expandafter}\the\dp\z@\relax }% \setbox\tw@\vbox{% \unvcopy\tw@ \setbox\z@\vbox{\unvbox\tw@\setbox\z@\lastbox\aftergroup\vskip\aftergroup-\expandafter}\the\dp\z@\relax }% \dimen@ii\ht\tw@\advance\dimen@ii-\ht\z@ \@ifdim{\dimen@i>.5\p@}{% \advance\dimen@\@ifdim{\dimen@ii<\z@}{}{-}\dimen@i \true@sw }{% \@ifdim{\dimen@ii<\z@}{% \advance\dimen@\tw@\dimen@i \true@sw }{% \false@sw }% }% }% \outputdebug@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}% \@ifdim{\ht\z@=\z@}{% \@ifdim{\ht\tw@=\z@}{% \true@sw }{% \false@sw }% }{% \true@sw }% {% }{% \ltxgrid@info{Unsatifactorily balanced columns: giving up}% \setbox\tw@\box#1% \setbox\z@ \box#2% }% \setbox\tw@\vbox{\unvbox\tw@\vskip\z@skip}% \setbox\z@ \vbox{\unvbox\z@ \vskip\z@skip}% \set@colroom \dimen@\ht\z@\@ifdim{\dimen@<\ht\tw@}{\dimen@\ht\tw@}{}% \@ifdim{\dimen@>\@colroom}{\dimen@\@colroom}{}% \outputdebug@sw{\saythe{\ht\z@}\saythe{\ht\tw@}\saythe\@colroom\saythe\dimen@}{}% \setbox#1\vbox to\dimen@{\unvbox\tw@\unskip\raggedcolumn@skip}% \setbox#2\vbox to\dimen@{\unvbox\z@ \unskip\raggedcolumn@skip}% \outputdebug@sw{{\tracingall\scrollmode\showbox#1\showbox#2}}{}% }% \def\recover@footins{% \skip\z@ \lastskip\unskip \skip\@ne\lastskip\unskip \setbox\z@\lastbox \@ifvbox\z@{% \setbox\z@\vbox{% \unvbox\z@ \setbox\z@\lastbox \@ifvoid\z@{}{% \global\setbox\footbox\vbox{% \unvbox\footbox \@ifvbox\z@{% \unvbox\z@ }{% \box\z@ }% }% }% }% }{}% \outputdebug@sw{{\tracingall\scrollmode\showbox\footbox}}{}% }% \prepdef\@begindocumenthook{% \open@column@one\@ne \set@colht \@floatplacement \@dblfloatplacement }% \def\longtable@longtable{% \par \ifx\multicols\@undefined\else\ifnum\col@number>\@ne\@twocolumntrue\fi\fi \if@twocolumn\LT@err{longtable not in 1-column mode}\@ehc\fi \begingroup \@ifnextchar[\LT@array{\LT@array[x]}% }% \def\longtable@new{% \par \@ifnextchar[\LT@array{\LT@array[x]}% }% \def\endlongtable@longtable{% \crcr \noalign{% \let\LT@entry\LT@entry@chop \xdef\LT@save@row{\LT@save@row}}% \LT@echunk \LT@start \unvbox\z@ \LT@get@widths \if@filesw {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% \gdef\expandafter\noexpand \csname LT@\romannumeral\c@LT@tables\endcsname {\LT@save@row}}}% \fi \ifx\LT@save@row\LT@@save@row \else \LT@warn{Column \@width s have changed\MessageBreak in table \thetable}% \LT@final@warn \fi \endgraf\penalty -\LT@end@pen \endgroup \global\@mparbottom\z@ \pagegoal\vsize \endgraf\penalty\z@\addvspace\LTpost \ifvoid\footins\else\insert\footins{}\fi }% \def\endlongtable@new{% \crcr \noalign{% \let\LT@entry\LT@entry@chop \xdef\LT@save@row{\LT@save@row}% }% \LT@echunk \LT@start \unvbox\z@ \LT@get@widths \@if@sw\if@filesw\fi{% {% \let\LT@entry\LT@entry@write \immediate\write\@auxout{% \gdef\expandafter\noexpand\csname LT@\romannumeral\c@LT@tables\endcsname {\LT@save@row}% }% }% }{}% \@ifx\LT@save@row\LT@@save@row{}{% \LT@warn{% Column \@width s have changed\MessageBreak in table \thetable }\LT@final@warn }% \endgraf \nobreak \box\@ifvoid\LT@lastfoot{\LT@foot}{\LT@lastfoot}% \global\@mparbottom\z@ \endgraf \LT@post }% \def\LT@start@longtable{% \let\LT@start\endgraf \endgraf \penalty\z@ \vskip\LTpre \dimen@\pagetotal \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi \advance\dimen@ \ht\LT@foot \dimen@ii\vfuzz\vfuzz\maxdimen \setbox\tw@\copy\z@ \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox \setbox\tw@\vbox{\unvbox\tw@}% \vfuzz\dimen@ii \advance\dimen@ \ht \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi \advance\dimen@\dp \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi \advance\dimen@ -\pagegoal \ifdim \dimen@>\z@\vfil\break\fi \global\@colroom\@colht \ifvoid\LT@foot\else \advance\vsize-\ht\LT@foot \global\advance\@colroom-\ht\LT@foot \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ \maxdepth\z@ \fi \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi \output{\LT@output}% }% \def\LT@start@new{% \let\LT@start\endgraf \endgraf \markthr@@{}% \LT@pre \@ifvoid\LT@firsthead{\LT@top}{\box\LT@firsthead\nobreak}% \mark@envir{longtable}% }% \def\LT@end@hd@ft@longtable#1{% \LT@echunk \ifx\LT@start\endgraf \LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}% \fi \setbox#1\box\z@ \LT@get@widths\LT@bchunk }% \def\LT@end@hd@ft@new#1{% \LT@echunk \@ifx{\LT@start\endgraf}{% \LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}% }% \global\setbox#1\box\z@ \LT@get@widths \LT@bchunk }% \def\LT@array@longtable[#1]#2{% \refstepcounter{table}\stepcounter{LT@tables}% \if l#1% \LTleft\z@ \LTright\fill \else\if r#1% \LTleft\fill \LTright\z@ \else\if c#1% \LTleft\fill \LTright\fill \fi\fi\fi \let\LT@mcol\multicolumn \let\LT@@tabarray\@tabarray \let\LT@@hl\hline \def\@tabarray{% \let\hline\LT@@hl \LT@@tabarray}% \let\\\LT@tabularcr\let\tabularnewline\\% \def\newpage{\noalign{\break}}% \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption \@tempdima\ht\strutbox \let\@endpbox\LT@endpbox \ifx\extrarowheight\@undefined \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \def\@startpbox{\vtop\LT@startpbox}% \let\@@startpbox\@startpbox \let\@@endpbox\@endpbox \let\LT@LL@FM@cr\@tabularcr \else \advance\@tempdima\extrarowheight \col@sep\tabcolsep \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr \fi \setbox\@arstrutbox\hbox{\vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@}% \let\@sharp##\let\protect\relax \begingroup \@mkpream{#2}% \xdef\LT@bchunk{% \global\advance\c@LT@chunks\@ne \global\LT@rows\z@\setbox\z@\vbox\bgroup \LT@setprevdepth \tabskip\LTleft\halign to\hsize\bgroup \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% \endgroup \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols \LT@make@row \m@th\let\par\@empty \everycr{}\lineskip\z@\baselineskip\z@ \LT@bchunk }% \def\LT@LR@l{\LTleft\z@ \LTright\fill}% \def\LT@LR@r{\LTleft\fill \LTright\z@ }% \def\LT@LR@c{\LTleft\fill \LTright\fill}% \def\LT@array@new[#1]#2{% \refstepcounter{table}\stepcounter{LT@tables}% \table@hook \LTleft\fill \LTright\fill \csname LT@LR@#1\endcsname \let\LT@mcol\multicolumn \let\LT@@hl\hline \prepdef\@tabarray{\let\hline\LT@@hl}% \let\\\LT@tabularcr \let\tabularnewline\\% \def\newpage{\noalign{\break}}% \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% \let\hline\LT@hline \let\kill\LT@kill \let\caption\LT@caption \@tempdima\ht\strutbox \let\@endpbox\LT@endpbox \@ifxundefined\extrarowheight{% \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \def\@startpbox{\vtop\LT@startpbox}% \let\@@startpbox\@startpbox \let\@@endpbox\@endpbox \let\LT@LL@FM@cr\@tabularcr }{% \advance\@tempdima\extrarowheight \col@sep\tabcolsep \let\@startpbox\LT@startpbox \let\LT@LL@FM@cr\@arraycr }% \let\@acoll\@tabacoll \let\@acolr\@tabacolr \let\@acol\@tabacol \setbox\@arstrutbox\hbox{% \vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@ }% \let\@sharp##% \let\protect\relax \begingroup \@mkpream{#2}% \@mkpream@relax \edef\@preamble{\@preamble}% \prepdef\@preamble{% \global\advance\c@LT@chunks\@ne \global\LT@rows\z@ \setbox\z@\vbox\bgroup \LT@setprevdepth \tabskip\LTleft \halign to\hsize\bgroup \tabskip\z@ \@arstrut }% \appdef\@preamble{% \tabskip\LTright \cr }% \global\let\LT@bchunk\@preamble \endgroup \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols \LT@make@row \m@th \let\par\@empty \everycr{}% \lineskip\z@ \baselineskip\z@ \LT@bchunk }% \appdef\table@hook{}% %% Note that it is not enough to define the environment itself; we also have to create the corresponding %% \cmd\output\ routine procedures, which provide for continued footers and headers %% (the very feature of \env{longtable} requiring support in the output routine). %% This same consideration would arise in defining any syntactic extension to \env{longtable}, because %% the environment name itself is exposed in the output routine. \def\switch@longtable{% \@ifpackageloaded{longtable}{% \@ifx{\longtable\longtable@longtable}{% \@ifx{\endlongtable\endlongtable@longtable}{% \@ifx{\LT@start\LT@start@longtable}{% \@ifx{\LT@end@hd@ft\LT@end@hd@ft@longtable}{% \@ifx{\LT@array\LT@array@longtable}{% \true@sw }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% {% \class@info{Patching longtable package}% }{% \class@info{Patching unrecognized longtable package. (Proceeding with fingers crossed)}% }% \let\longtable\longtable@new \let\endlongtable\endlongtable@new \let\LT@start\LT@start@new \let\LT@end@hd@ft\LT@end@hd@ft@new \let\LT@array\LT@array@new \newenvironment{longtable*}{% \onecolumngrid@push \longtable }{% \endlongtable \onecolumngrid@pop }% }{}% }% \def\LT@pre{\penalty\z@\vskip\LTpre}% \def\LT@bot{\nobreak\copy\LT@foot\vfil}% \def\LT@top{\copy\LT@head\nobreak}% \def\LT@post{\penalty\z@\addvspace\LTpost\mark@envir{\curr@envir}}% \def\LT@adj{% \setbox\z@\vbox{\null}\dimen@-\ht\z@ \setbox\z@\vbox{\unvbox\z@\LT@bot}\advance\dimen@\ht\z@ \global\advance\vsize-\dimen@ }% \def\output@init@longtable{\LT@adj}% \def\output@prep@longtable{\setbox\@cclv\vbox{\unvbox\@cclv\LT@bot}}% \def\output@post@longtable{\LT@top}% \let\output@init@theindex\@empty \let\output@prep@theindex\@empty \def\output@post@theindex{% \@ifodd\c@page{}{% \@ifnum{\pagegrid@cur=\@ne}{% we have the leftmost column of a verso page % insert the current top-level continued head }% }% }% \def\check@aux{\do@output@MVL{\do@check@aux}}% \def\check@deferlist@stuck#1{% \@ifx{\@deferlist@postshipout\@empty}{}{% \@ifx{\@deferlist@postshipout\@deferlist}{% \@fltstk \clearpage@sw{% \ltxgrid@warn{Deferred float stuck during \string\clearpage\space processing}% }{% \force@deferlist@stuck#1% }% }{% %Successfully committed float(s) }% \global\let\@deferlist@postshipout\@empty }% }% \def\@fltstk{% \@latex@warning{A float is stuck (cannot be placed without \string\clearpage)}% }% \appdef\@outputpage{% \global\let\@deferlist@postshipout\@deferlist }% \def\@next#1#2{% \@ifx{#2\@empty}{\false@sw}{% \expandafter\@xnext#2\@@#1#2% \true@sw }% }% \def\@xnext\@elt#1#2\@@#3#4{% \def#3{#1}% \gdef#4{#2}% \def\@tempa{#4}\def\@tempb{\@freelist}% \@ifx{\@tempa\@tempb}{% \@ifx{#4\@empty}{% \force@deferlist@empty%{Float register pool exhausted}% }{}% }{}% }% \def\force@deferlist@stuck#1{% \force@deferlist@sw{% \@booleantrue\clearpage@sw \@booleantrue\forcefloats@sw #1% }{% }% }% \def\force@deferlist@empty{% \force@deferlist@sw{% \penalty-\pagebreak@pen \protect@penalty\do@forcecolumn@pen }{% }% }% \@booleanfalse\force@deferlist@sw \mathchardef\do@forcecolumn@pen=10009 \@namedef{output@-\the\do@forcecolumn@pen}{\do@forcecolumn}% \def\do@forcecolumn{% \@booleantrue\clearpage@sw \@booleantrue\forcefloats@sw \do@startcolumn }% \def\enlargethispage{% \@ifstar{% \@enlargethispage{}% }{% \@enlargethispage{}% }% }% \def\@enlargethispage#1#2{% \begingroup \dimen@#2\relax \edef\@tempa{#1}% \edef\@tempa{\noexpand\@@enlargethispage{\@tempa}{\the\dimen@}}% \expandafter\do@output@MVL\expandafter{\@tempa}% \endgroup }% \def\@@enlargethispage#1#2{% \def\@tempa{one}% \@ifx{\thepagegrid\@tempa}{% \true@sw }{% \def\@tempa{mlt}% \@ifx{\thepagegrid\@tempa}{% \@ifnum{\pagegrid@cur=\@ne}{% OK to adjust this page \gdef\enlarge@colroom{#2}% \true@sw }{% Can only adjust this column; give up \ltxgrid@warn{Too late to enlarge this page; move the command to the first column.}% \false@sw }% }{% Unknown page grid \ltxgrid@warn{Unable to enlarge a page of this kind.}% \false@sw }% }% {% \class@info{Enlarging page \thepage\space by #2}% \global\advance\@colroom#2\relax \set@vsize }{% % Could not adjust this page }% }% \let\enlarge@colroom\@empty \let\@kludgeins\@undefined \@booleantrue\textheight@sw \prepdef\@outputpage{% \textheight@sw{% \count@\vbadness\vbadness\@M \dimen@\vfuzz\vfuzz\maxdimen \setbox\@outputbox\vbox to\textheight{\unvbox\@outputbox}% \vfuzz\dimen@ \vbadness\count@ }{}% }% \def\ltxgrid@info{% \ltxgrid@info@sw{\class@info}{\@gobble}% }% \@booleanfalse\ltxgrid@info@sw \def\ltxgrid@warn{% \ltxgrid@warn@sw{\class@warn}{\@gobble}% }% \@booleantrue\ltxgrid@warn@sw %% Source File: textcase.dtx %% Copyright 1997 1998 David Carlisle %% %% This file may be distributed under the terms of the LPPL. %% See 00readme.txt for details. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{textcase} [1998/11/12 v0.06 Text only upper/lower case changing (DPC)] \def\@uclcnotmath#1#2#3#4{\begingroup #1% \def\({$}\let\)\(% \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}% \@nonchangecase\label \@nonchangecase\ref \@nonchangecase\ensuremath \def\cite##1##{\toks@{\noexpand\cite##1}\@citex}% \def\@citex##1{\NoCaseChange{\the\toks@{##1}}}% \def\reserved@a##1##2{\let#2\reserved@a}% \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% \protected@edef\reserved@a{\endgroup \noexpand\@skipmath#3#4$\valign$}% \reserved@a} \def\@nonchangecase#1{\def#1##1{\NoCaseChange{#1{##1}}}} \let\NoCaseChange\@firstofone \def\@skipmath#1#2$#3${% \@skip@nonchangecase#1#2\NoCaseChange\valign \ifx\valign#3% \else $#3$% \expandafter\@skipmath\expandafter#1% \fi} \def\@skip@nonchangecase#1#2\NoCaseChange#3{% #1{#2}% \ifx\valign#3% \else #3% \expandafter\@skip@nonchangecase\expandafter#1% \fi} \DeclareRobustCommand\MakeTextUppercase{% \@uclcnotmath{\def\i{I}\def\j{J}}{##1##2}\uppercase} \protected@edef\MakeTextUppercase#1{\MakeTextUppercase{#1}} \DeclareRobustCommand\MakeTextLowercase{% \@uclcnotmath{}{##2##1}\lowercase} \protected@edef\MakeTextLowercase#1{\MakeTextLowercase{#1}} \DeclareOption{overload}{% \expandafter\let\csname MakeUppercase \expandafter\endcsname \csname MakeTextUppercase \endcsname \expandafter\let\csname MakeLowercase \expandafter\endcsname \csname MakeTextLowercase \endcsname} \ProcessOptions \let\ProvidesPackage\ProvidesPackage@latex \let\ProcessOptions\ProcessOptions@latex \let\DeclareOption\DeclareOption@latex \expandafter \let\csname MakeUppercase \expandafter\endcsname \csname MakeTextUppercase \endcsname \expandafter \let\csname MakeLowercase \expandafter\endcsname \csname MakeTextLowercase \endcsname \appdef\class@documenthook{% \switch@longtable }% \appdef\class@documenthook{% \expandafter\@ifnotrelax\csname boldmath \endcsname{}{% \expandafter\let\csname boldmath \endcsname\boldmath \expandafter\def\expandafter\boldmath\expandafter{\expandafter\protect\csname boldmath \endcsname}% }% }% \appdef\class@documenthook{% \class@inithook }% \def\class@inithook{}% \appdef\class@inithook{% \@ifxundefined\twocolumn@sw{\@booleanfalse\twocolumn@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\footinbib@sw{\@booleanfalse\footinbib@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\preprintsty@sw{\@booleanfalse\preprintsty@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\preprint@sw{\@booleanfalse\preprint@sw}{}% \preprintsty@sw{\@booleantrue\preprint@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\galley@sw{\@booleanfalse\galley@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\showPACS@sw{\@booleanfalse\showPACS@sw}{}% \@ifxundefined\showKEYS@sw{\@booleanfalse\showKEYS@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\twoside@sw{\@booleanfalse\twoside@sw}{}% \twoside@sw{\@twosidetrue}{\@twosidefalse}% }% \appdef\class@inithook{% \@ifxundefined\draft@sw{\@booleanfalse\draft@sw}{}% \draft@sw{\overfullrule 5\p@}{\overfullrule\z@}% }% \appdef\class@inithook{% \@ifxundefined\tightenlines@sw{\@booleanfalse\tightenlines@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\lengthcheck@sw{\@booleanfalse\lengthcheck@sw}{}% }% \appdef\class@inithook{% \@ifxundefined\eqsecnum@sw{\@booleanfalse\eqsecnum@sw}{}% \eqsecnum@sw{% \@addtoreset{equation}{section}% \def\theequation@prefix{\arabic{section}.}% }{}% }% \appdef\class@inithook{% \@ifxundefined\byrevtex@sw{\@booleanfalse\byrevtex@sw}{}% }% \DeclareOption{checkin}{% \@booleantrue\dateinRH@sw \@booleantrue\preprintsty@sw \def\@pointsize{12}% \@booleantrue\showPACS@sw \@booleantrue\showKEYS@sw \def\fp@proc@h{\allow@breaking@tables}% \def\fp@proc@H{\allow@breaking@tables}% }% \@booleanfalse\dateinRH@sw \def\checkindate{\dateinRH@sw{{\tiny(\today)}}{}}% \def\allow@breaking@tables{% \def\array@default{v}% tabular can break over pages \@booleanfalse\floats@sw % table can break over pages }% \DeclareOption{preprint}{% \@booleantrue\preprintsty@sw \def\@pointsize{12}% }% \DeclareOption{manuscript}{% \class@warn{Document class option manuscript is obsolete; use preprint instead}% \ExecuteOptions{preprint}% }% \DeclareOption{showpacs}{% \@booleantrue\showPACS@sw }% \DeclareOption{noshowpacs}{% \@booleanfalse\showPACS@sw }% \DeclareOption{showkeys}{% \@booleantrue\showKEYS@sw }% \DeclareOption{noshowkeys}{% \@booleanfalse\showKEYS@sw }% \DeclareOption{balancelastpage}{% \@booleantrue\balancelastpage@sw }% \DeclareOption{nobalancelastpage}{% \@booleanfalse\balancelastpage@sw }% \appdef\class@inithook{% \@ifxundefined\balancelastpage@sw{% \@booleantrue\balancelastpage@sw }{}% }% \DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint@sw}% \DeclareOption{preprintnumbers}{\@booleantrue\preprint@sw}% \DeclareOption{hyperref}{% \class@warn{Class option "hyperref" is no longer supported.^^JEmploy \string\usepackage{hyperref} instead}% }% \DeclareOption{10pt}{\def\@pointsize{10}} \DeclareOption{11pt}{\def\@pointsize{11}} \DeclareOption{12pt}{\def\@pointsize{12}} \DeclareOption{a4paper} {\setlength\paperheight {297mm}% \setlength\paperwidth {210mm}} \DeclareOption{a5paper} {\setlength\paperheight {210mm}% \setlength\paperwidth {148mm}} \DeclareOption{b5paper} {\setlength\paperheight {250mm}% \setlength\paperwidth {176mm}} \DeclareOption{letterpaper} {\setlength\paperheight {11in}% \setlength\paperwidth {8.5in}} \DeclareOption{legalpaper} {\setlength\paperheight {14in}% \setlength\paperwidth {8.5in}} \DeclareOption{executivepaper} {\setlength\paperheight {10.5in}% \setlength\paperwidth {7.25in}} \DeclareOption{landscape} {\setlength\@tempdima {\paperheight}% \setlength\paperheight {\paperwidth}% \setlength\paperwidth {\@tempdima}} \DeclareOption{bibnotes}{\@booleantrue\bibnotes@sw}% \DeclareOption{nobibnotes}{\@booleanfalse\bibnotes@sw}% \appdef\class@enddocumenthook{\auto@bib}% \appdef\class@inithook{% \@ifxundefined\bibnotes@sw{\@booleanfalse\bibnotes@sw}{}% \bibnotes@sw{% \let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote }{% \let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote }% }% \DeclareOption{footinbib}{\@booleantrue\footinbib@sw} \DeclareOption{nofootinbib}{\@booleanfalse\footinbib@sw} \DeclareOption{altaffilletter}{\@booleantrue\altaffilletter@sw}% \DeclareOption{altaffilsymbol}{\@booleanfalse\altaffilletter@sw}% \appdef\class@inithook{% \@ifxundefined\altaffilletter@sw{\@booleanfalse\altaffilletter@sw}{}% }% \DeclareOption{superbib}{% \def\place@bibnumber{\place@bibnumber@sup}% }% \DeclareOption{citeautoscript}{% \@booleantrue\citeautoscript@sw }% \@booleanfalse\citeautoscript@sw \DeclareOption{twoside}{\@booleantrue\twoside@sw \@mparswitchfalse} \DeclareOption{oneside}{\@booleanfalse\twoside@sw\@mparswitchtrue} \AtEndOfClass{% \def\clear@document{% \close@column }% \appdef\class@inithook{% \@ifxundefined\close@column{% \let\close@column\close@column@default }{}% }% }% \DeclareOption{twocolumn}{% \@booleantrue\twocolumn@sw }% \DeclareOption{onecolumn}{% \@booleanfalse\twocolumn@sw }% \DeclareOption{galley}{% \ExecuteOptions{onecolumn}% \@booleantrue\galley@sw \appdef\set@pica@hook{% \advance\textwidth-\columnsep \textwidth.5\textwidth }% }% \DeclareOption{raggedbottom}{\@booleantrue\raggedcolumn@sw} \DeclareOption{flushbottom}{\@booleanfalse\raggedcolumn@sw} \DeclareOption{tightenlines}{\@booleantrue\tightenlines@sw} \DeclareOption{lengthcheck}{% \@booleantrue\lengthcheck@sw \@booleantrue\twoside@sw \@booleantrue\twocolumn@sw }% \DeclareOption{draft}{% \@booleantrue\draft@sw }% \DeclareOption{final}{% \@booleanfalse\draft@sw }% \DeclareOption{eqsecnum}{\@booleantrue\eqsecnum@sw} \DeclareOption{secnumarabic}{\@booleantrue\secnumarabic@sw} \DeclareOption{fleqn}{\input{fleqn.clo}} \DeclareOption{floats}{\@booleantrue\floats@sw\@booleanfalse\floatp@sw} \DeclareOption{endfloats}{\@booleanfalse\floats@sw\@booleanfalse\floatp@sw} \DeclareOption{endfloats*}{\@booleanfalse\floats@sw\@booleantrue\floatp@sw} \appdef\class@inithook{% \@ifxundefined\floats@sw{\@booleantrue\floats@sw}{}% \@ifxundefined\floatp@sw{\@booleantrue\floatp@sw}{}% }% \DeclareOption{titlepage}{\@booleantrue\titlepage@sw} \DeclareOption{notitlepage}{\@booleanfalse\titlepage@sw} \appdef\defaults@hook{% \@ifxundefined\titlepage@sw{\@booleanfalse\titlepage@sw}{}% }% \def\change@society#1{% \def\@tempa{#1}% \@ifxundefined\@society{}{% \@ifx{\@tempa\@society}{}{% \class@warn{Conflicting society \@tempa<>\@society.}% }% }% \let\@society\@tempa }% \DeclareOption{aps}{\change@society{aps}\def\@journal{}}% \DeclareOption{pra}{\change@society{aps}\def\@journal{pra}}% \DeclareOption{prb}{\change@society{aps}\def\@journal{prb}}% \DeclareOption{prc}{\change@society{aps}\def\@journal{prc}}% \DeclareOption{prd}{\change@society{aps}\def\@journal{prd}}% \DeclareOption{pre}{\change@society{aps}\def\@journal{pre}}% \DeclareOption{prl}{\change@society{aps}\def\@journal{prl}}% \DeclareOption{prstab}{\change@society{aps}\def\@journal{prstab}}% \DeclareOption{rmp}{\change@society{aps}\def\@journal{rmp}}% \DeclareOption{osa}{\change@society{osa}\def\@journal{}}% \DeclareOption{osameet}{\change@society{osa}\def\@journal{osameet}}% \DeclareOption{opex}{\change@society{osa}\def\@journal{opex}}% \DeclareOption{tops}{\change@society{osa}\def\@journal{tops}}% \DeclareOption{josa}{\change@society{osa}\def\@journal{josa}}% \DeclareOption{amsfonts}{% \def\class@amsfonts{\RequirePackage{amsfonts}}% }% \DeclareOption{noamsfonts}{% \let\class@amsfonts\@empty }% \AtEndOfClass{% \@ifxundefined\class@amsfonts{}{\class@amsfonts}% }% \DeclareOption{amssymb}{% \def\class@amssymb{\RequirePackage{amssymb}}% }% \DeclareOption{noamssymb}{% \let\class@amssymb\@empty }% \AtEndOfClass{% \@ifxundefined\class@amssymb{}{\class@amssymb}% }% \DeclareOption{amsmath}{% \def\class@amsmath{\RequirePackage{amsmath}[\ver@amsmath@prefer]}% }% \DeclareOption{noamsmath}{% \let\class@amsmath\@empty }% \AtEndOfClass{% \preserve@LaTeX \@ifxundefined\class@amsmath{}{\class@amsmath}% \appdef\class@enddocumenthook{\test@amsmath@ver}% }% \appdef\preserve@LaTeX{% \let\@ifl@aded@LaTeX\@ifl@aded \let\@ifpackageloaded@LaTeX\@ifpackageloaded \let\@pkgextension@LaTeX\@pkgextension \let\@ifpackagelater@LaTeX\@ifpackagelater \let\@ifl@ter@LaTeX\@ifl@ter \let\@ifl@t@r@LaTeX\@ifl@t@r \let\@parse@version@LaTeX\@parse@version }% \appdef\restore@LaTeX{% \let\@ifl@aded\@ifl@aded@LaTeX \let\@ifpackageloaded\@ifpackageloaded@LaTeX \let\@pkgextension\@pkgextension@LaTeX \let\@ifpackagelater\@ifpackagelater@LaTeX \let\@ifl@ter\@ifl@ter@LaTeX \let\@ifl@t@r\@ifl@t@r@LaTeX \let\@parse@version\@parse@version@LaTeX }% \def\test@amsmath@ver{% \begingroup \restore@LaTeX \@ifpackageloaded{amsmath}{% \@ifpackagelater{amsmath}{\ver@amsmath@prefer}{}{% \class@warn{% You have loaded amsmath, version "\csname ver@amsmath.sty\endcsname",\MessageBreak but this class requires version "\ver@amsmath@prefer", or later.\MessageBreak Please update your LaTeX installation. }% }% }{% }% \endgroup }% \def\ver@amsmath@prefer{2000/01/15 v2.05 AMS math features}% \DeclareOption{groupedaddress}{\clo@groupedaddress}% \def\clo@groupedaddress{% \@booleantrue\groupauthors@sw \@booleantrue\@affils@sw \@booleanfalse\runinaddress@sw }% \appdef\class@inithook{% \@ifxundefined\groupauthors@sw{\clo@groupedaddress}{}% }% \DeclareOption{unsortedaddress}{\clo@unsortedaddress}% \def\clo@unsortedaddress{% \@booleantrue\groupauthors@sw \@booleanfalse\@affils@sw \@booleanfalse\runinaddress@sw }% \DeclareOption{runinaddress}{\clo@runinaddress}% \def\clo@runinaddress{% \@booleantrue\groupauthors@sw \@booleantrue\@affils@sw \@booleantrue\runinaddress@sw }% \DeclareOption{superscriptaddress}{\clo@superscriptaddress}% \def\clo@superscriptaddress{% \@booleanfalse\groupauthors@sw \@booleantrue\@affils@sw \@booleanfalse\runinaddress@sw }% \DeclareOption{byrevtex}{\@booleantrue\byrevtex@sw}% \DeclareOption{floatfix}{\@booleantrue\force@deferlist@sw}% \DeclareOption{nofloatfix}{\@booleanfalse\force@deferlist@sw}% \appdef\class@inithook{% \@ifxundefined\force@deferlist@sw{\@booleanfalse\force@deferlist@sw}{}% }% \gdef\@fltovf{% \@latex@error{% Too many unprocessed floats% \force@deferlist@sw{}{; try class option [floatfix]}% }\@ehb }% \def\@fltstk{% \@latex@warning{% A float is stuck (cannot be placed)% \force@deferlist@sw{}{; try class option [floatfix]}% }% }% \DeclareOption{ltxgridinfo}{\@booleantrue\ltxgrid@info@sw}% \DeclareOption{outputdebug}{\@booleantrue\outputdebug@sw}% \DeclareOption{raggedfooter}{\@booleanfalse\textheight@sw}% \DeclareOption{noraggedfooter}{\@booleantrue\textheight@sw}% \DeclareOption{newabstract}{\@booleanfalse\oldabstract@sw}% \DeclareOption{oldabstract}{\@booleantrue \oldabstract@sw}% \appdef\class@inithook{% \@ifxundefined\oldabstract@sw{\@booleanfalse\oldabstract@sw}{}% \oldabstract@sw{% \let@environment{abstract}{abstract-old}% }{}% }% \DeclareOption*{% \IfFileExists{\CurrentOption\substyle@ext}{% \expandafter\change@society\expandafter{\CurrentOption}% }{% \OptionNotUsed }% }% \def\substyle@ext{.rtx}% \AtEndOfClass{% \@ifxundefined\@society{% \class@warn{No Society specified, using generic APS style}% \def\@society{aps}\def\@journal{}% }{}% \expandafter\input\expandafter{\@society\substyle@ext}% }% \ExecuteOptions{10pt} \ProcessOptions\relax \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\sectionmark##1{% \markboth {\MakeUppercase{% \ifnum \c@secnumdepth >\z@ \thesection\quad \fi ##1}}{}}% \def\subsectionmark##1{% \markright {% \ifnum \c@secnumdepth >\@ne \thesubsection\quad \fi ##1}}}% \def\ps@myheadings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\@gobbletwo \let\sectionmark\@gobble \let\subsectionmark\@gobble }% \def\ps@article{% \@provide\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}% \@provide\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}% \@provide\@oddfoot{}% \@provide\@evenfoot{}% \let\@mkboth\markboth \let\sectionmark\@gobble \let\subsectionmark\@gobble }% \def\ps@article@final{% \@provide\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}% \@provide\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}% \@provide\@oddfoot{}% \@provide\@evenfoot{}% \let\@mkboth\markboth \def\sectionmark##1{% \markboth{% \MakeTextUppercase{% \@ifnum{\c@secnumdepth >\z@}{\thesection\hskip 1em\relax}{}% ##1% }% }{}% }% \def\subsectionmark##1{% \markright {% \@ifnum{\c@secnumdepth >\@ne}{\thesubsection\hskip 1em\relax}{}% ##1% }% }% }% \appdef\class@inithook{% }% \def\heading@cr{\unskip\space\ignorespaces}% \def\ps@preprint{% \@provide\@oddfoot{\hfil\thepage\quad\checkindate\hfil}% \@provide\@evenfoot{\hfil\thepage\quad\checkindate\hfil}% \@provide\@oddhead{}% \@provide\@evenhead{}% \let\@mkboth\@gobbletwo \let\sectionmark\@gobble \let\subsectionmark\@gobble }% \let\@oddhead\@undefined \let\@evenhead\@undefined \let\@oddfoot\@undefined \let\@evenfoot\@undefined \AtEndOfClass{% \appdef\class@documenthook{% \@provide\@oddhead{}% \@provide\@evenhead{}% \@provide\@oddfoot{}% \@provide\@evenfoot{}% }% }% \def\lastpage@putlabel{% \if@filesw \begingroup \advance\c@page\m@ne \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}}}% \endgroup \fi }% \AtEndOfClass{% \appdef\clear@document{% \clearpage \lastpage@putlabel }% }% \RequirePackage{url}% \appdef\class@inithook{% \incompatible@package{cite}% \incompatible@package{multicol}% }% \renewcommand\title[2][]{% \def\@title{#2}% \def\@shorttitle{#1}% \let\@AF@join\@title@join }% \appdef\class@inithook{% \def\@title{\class@warn{No title}}% \let\@shorttitle\@empty \let\@title@aux\@title@aux@cleared }% \def\@title@join{\expandafter\@title@join@\@title@aux}% \def\@title@join@#1#2{% \def\@title@aux{{\@join{\@separator}{#1}{#2}}}% }% \def\@title@aux@cleared{{}}% \newcounter{affil} \renewcommand\author{% implicit #1 \@author@def{}% implicit #2 }% \def\collaboration{% implicit #1 \groupauthors@sw{% \class@warn{% \string\collaboration\space is only allowed with superscriptaddress option. Use superscriptaddress in place of groupedaddress, unsortedaddress, or runinaddress% }% }{}% \@author@def{\@booleantrue\collaboration@sw}% implicit #2 }% \def\@author@cleared{{}{}}% \def\@author@init{% \let\@author\@author@cleared }% \def\@authorclear@sw{\@ifx{\@author\@author@cleared}}% \appdef\class@inithook{% \@author@init }% \def\@author@def#1#2{% \move@AU\move@AF\move@AUAF \let\@AF@join\@author@join #1% \def\@author{{#2}{}}% }% \def\@author@join@#1#2#3{% \def\@author{{#1}{\@join{\@separator}{#2}{#3}}}% }% \def\@author@join{\expandafter\@author@join@\@author}% \def\@author@gobble#1#2{}% \def\move@AU{% \@authorclear@sw{}{% \collaboration@sw{% \expandafter\appdef \expandafter\AU@grp \expandafter{% \expandafter \CO@opr \@author }% }{% \expandafter\appdef \expandafter\AU@grp \expandafter{% \expandafter \AU@opr \@author }% }% }% \@author@init \@booleanfalse\collaboration@sw }% \def\@author@finish{% \move@AU\move@AF \@ifx{\AU@grp\@empty}{}{% \@ifx{\AF@grp\@empty}{% \begingroup \let\href\@secondoftwo \let\AU@opr\@firstoftwo \let\CO@opr\@firstoftwo \class@warn{Assuming \string\noaffiliation\space for \AU@grp}% \endgroup \begingroup\@affiliation{\blankaffiliation}%\endgroup in \@affiliation \move@AF }{}% }% \move@AUAF }% \def\@join#1#2#3{% \@if@empty{#2}{#3}{#2#1#3}% }% \def\@separator{;\space}% \let\surname\@firstofone \let\firstname\@firstofone \let\AU@grp\@empty \renewcommand\and{\class@err{\protect\and\space is not supported}} \def\cat@comma@active{\catcode`\,\active}% {\cat@comma@active\gdef,{\active@comma}}% \def\active@comma{,\penalty-300\relax}% \newcommand\affiliation{% \move@AU\move@AF \begingroup \cat@comma@active \@affiliation }% \def\@affiliation#1{% \endgroup \let\@AF@join\@affil@join \@affil@def{#1}% }% \newcommand\noaffiliation{% \move@AU\move@AF \begingroup\@affiliation{\blankaffiliation}% }% \def\blankaffiliation{}% \def\@affil@cleared{{}{}}% \def\@affil@init{% \let\@affil\@affil@cleared }% \def\@affilclear@sw{\@ifx{\@affil\@affil@cleared}}% \appdef\class@inithook{% \@affil@init }% \def\@affil@def#1{\def\@affil{{#1}{}}}% \def\@affil@join@#1#2#3{% \def\@affil{{#1}{\@join{\@separator}{#2}{#3}}}% }% \def\@affil@join{\expandafter\@affil@join@\@affil}% \def\move@AF{% \@affilclear@sw{}{% \@booleanfalse\temp@sw \let\@tempd\@empty \@affils@sw{% \expandafter\@firstoftwodef\expandafter\@tempa\@affil \def\AFF@opr{\@affil@match\@tempa}% \@AFF@list }{}\temp@sw {% \expandafter\@secondoftwodef\expandafter\@tempb\@affil \@ifx{\@tempb\@empty}{}{% \@ifx{\@tempb\@tempd}{}{% \class@warn{% Ancillary information for \@tempa\space must not be different! Please put it on the first instance% }% }% }% \appdef@eval\AF@grp\@tempc }% {% \@if@empty{\expandafter\@firstoftwo\@affil}{% \edef\@tempc{\z@}% }{% \stepcounter{affil}% \edef\@tempc{\theaffil}% }% \appdef \@AFF@list{\AFF@opr}% \appdef@eval\@AFF@list\@tempc \appdef@e \@AFF@list{\@affil}% \appdef@eval\AF@grp\@tempc }% \@affil@init }% }% \def\@firstoftwodef#1#2#3{% \def#1{#2}% }% \def\@secondoftwodef#1#2#3{% \def#1{#3}% }% \def\move@AUAF{% \@ifx{\AF@grp\@empty}% {}{% \appdef \@AAC@list{\AF@opr}% \appdef@eval\@AAC@list{\AF@grp}% \appdef@e \@AAC@list{\AU@grp}% \@ifx{\@empty\AU@grp}{}{% \@ifx{\@empty\AF@grp}{}{% \@booleanfalse\temp@sw \def\AFS@opr{\x@match\AF@grp}% \@AFG@list \temp@sw{}{% \appdef \@AFG@list{\AFS@opr}% \appdef@eval\@AFG@list{\AF@grp}% }% }% }% \let\AU@grp\@empty \let\AF@grp\@empty }% }% \appdef\class@inithook{% \let\@AAC@list\@empty }% \appdef\class@inithook{% \let\@AFG@list\@empty }% \appdef\class@inithook{% \let\@AFF@list\@empty }% \let\AF@grp\@empty \def\@affil@match#1#2#3#4{% \temp@sw{}{% \def\@tempifx{#3}% \@ifx{\@tempifx#1}{% \@booleantrue\temp@sw \def\@tempc{#2}% \def\@tempd{#4}% }{% }% }% }% \appdef\class@inithook{% \let\@AF@join\@AF@join@error }% \def\@AF@join@error#1{% \class@warn{% \string\email, \string\homepage, \string\thanks, or \string\altaffiliation\space appears in wrong context. }% }% \def\sanitize@url{% \@makeother\%% \@makeother\~% \@makeother\_% }% \newcommand*\email[1][Electronic address: ]{\begingroup\sanitize@url\@email{#1}}% \def\@email#1#2{% \endgroup \@AF@join{#1\href{mailto:#2}{#2}}% }% \newcommand*\homepage[1][URL:~]{\begingroup\sanitize@url\@homepage{#1}}% \def\@homepage#1#2{% \endgroup \@AF@join{#1\url{#2}}% }% \appdef\class@documenthook{% \providecommand\url{\texttt}% \providecommand\href[2]{\url{#2}}% }% \def\thanks{% implicit #1 \@AF@join }% \newcommand*\altaffiliation[2][]{% \@AF@join{#1#2}% }% \def\set@listcomma@list#1{% \expandafter\@reset@ac\expandafter#1#1{0}\@reset@ac{% \let\@listcomma\relax }{% \let\@listcomma\@listcomma@comma }% }% \def\set@listcomma@count#1{% \@ifnum{#1=\tw@}{% \let\@listcomma\relax }{% \let\@listcomma\@listcomma@comma }% }% \def\@reset@ac#1#2#3\@reset@ac{% \def#1{#3}% \@tempcnta#2\relax \@ifnum{#2=\tw@}% }% \def\@listand{\@ifnum{\@tempcnta=\tw@}{\andname\space}{}}% \def\@listcomma@comma{\@ifnum{\@tempcnta>\@ne}{,}{}}% \def\@listcomma@comma@UK{\@ifnum{\@tempcnta>\tw@}{,}{}}% \def\@collaboration@err#1#2{% }% \def\doauthor#1#2#3{% \ignorespaces#1\unskip\@listcomma \def\@tempifx{#3}% \@ifx{\@tempifx\@empty}{% \def\@tempifx{#2}% \@ifx{\@tempifx\@empty}{}{\frontmatter@footnote{#2}}% }{% #3% \def\@tempifx{#2}% \@ifx{\@tempifx\@empty}{}{\comma@space\frontmatter@footnote{#2}}% }% \space \@listand }% \def\@thanks{\comma@space\footnote} \def\x@match#1#2{% \temp@sw{}{% \def\@tempifx{#2}% \@ifx{\@tempifx#1}{% \@booleantrue\temp@sw }{% }% }% }% \def\y@match#1#2#3{% \temp@sw{}{% \def\@tempifx{#3}% \@ifx{\@tempifx#1}{% \@booleantrue\temp@sw \def\@tempb{#2}% }{% }% }% }% \def\frontmatter@footnote#1{% \begingroup \@booleanfalse\temp@sw \def\@tempa{#1}% \let\@tempb\@empty \def\@TBN@opr{\y@match\@tempa}% \@FMN@list \temp@sw{% \expandafter\frontmatter@footnotemark \expandafter{\@tempb}% }{% \stepcounter\@mpfn \protected@xdef\@tempb{\the\csname c@\@mpfn\endcsname}% \expandafter\frontmatter@footnotemark \expandafter{\@tempb}% \expandafter\g@addto@macro \expandafter\@FMN@list \expandafter{% \expandafter \@TBN@opr \expandafter {\@tempb}{#1}% }% }% \endgroup }% \appdef\class@inithook{% \global\let\@FMN@list\@empty }% \def\frontmatter@footnotemark#1{% \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi \begingroup \hyper@linkstart {link}{frontmatter@#1}% \csname c@\@mpfn\endcsname#1\relax \def\@thefnmark{\thempfn}% \@makefnmark \hyper@linkend \endgroup \ifhmode\spacefactor\@x@sf\fi \relax }% \def\keywords#1{% \aftermaketitle@chk{\keywords}% \gdef\@keywords{#1}% }% \def\@keywords{}% \renewcommand*\date[2][\Dated@name]{\def\@date{#1#2}}% \def\@date{}% \newcommand*\received[2][\Received@name]{\def\@received{#1#2}}% \def\@received{}% \newcommand*\revised[2][\Revised@name]{\def\@revised{#1#2}}% \def\@revised{}% \newcommand*\accepted[2][\Accepted@name]{\def\@accepted{#1#2}}% \def\@accepted{}% \newcommand*\published[2][\Published@name]{\def\@published{#1#2}}% \def\@published{}% \def\pacs#1{% \aftermaketitle@chk{\pacs}% \gdef\@pacs{#1}% }% \def\@pacs{}%{\class@warn{No PACS numbers}}% \def\preprint#1{\gappdef\@preprint{\preprint{#1}}}% \let\@preprint\@empty \newbox\absbox \newenvironment{abstract}{% \aftermaketitle@chk{\begin{abstract}}% \global\setbox\absbox\vbox\bgroup \color@begingroup \columnwidth\textwidth \hsize\columnwidth \@parboxrestore \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@ \let\@footnotetext\frontmatter@footnotetext \minipagefootnote@init \let\@listdepth\@mplistdepth \@mplistdepth\z@ \@minipagerestore \@setminipage \frontmatter@abstractheading \frontmatter@abstractfont \let\footnote\mini@note }{% \par \unskip \minipagefootnote@here \@minipagefalse %% added 24 May 89 \color@endgroup \egroup }% \long\def\frontmatter@footnotetext#1{% \minipagefootnote@pick \reset@font\footnotesize \interlinepenalty \interfootnotelinepenalty \splittopskip \footnotesep \splitmaxdepth \dp \strutbox \set@footnotewidth \@parboxrestore \protected@edef\@currentlabel{\csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup \frontmatter@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox }% \color@endgroup \minipagefootnote@drop }% \def\frontmatter@abstractheading{% \begingroup \centering\large \abstractname \par \endgroup }% \def\frontmatter@abstractfont{}% \def\frontmatter@abstractwidth{\textwidth} \def\frontmatter@abstract@produce{% \par \preprintsty@sw{% \do@output@MVL{% \vskip\frontmatter@preabstractspace \vskip200\p@\@plus1fil \penalty-200\relax \vskip-200\p@\@plus-1fil }% }{% \addvspace{\frontmatter@preabstractspace}% }% \begingroup \dimen@\baselineskip \setbox\z@\vtop{\unvcopy\absbox}% \advance\dimen@-\ht\z@\advance\dimen@-\prevdepth \@ifdim{\dimen@>\z@}{\vskip\dimen@}{}% \endgroup \unvbox\absbox \@ifx{\@empty\mini@notes}{}{\mini@notes\par}% \addvspace\frontmatter@postabstractspace }% \def\frontmatter@preabstractspace{.5\baselineskip} \def\frontmatter@postabstractspace{.5\baselineskip} \newenvironment{titlepage}{% \twocolumn@sw{\onecolumngrid}{\newpage}% \thispagestyle{titlepage}% \setcounter{page}\@ne }{% \twocolumn@sw{\twocolumngrid}{\newpage}% \twoside@sw{}{% \setcounter{page}\@ne }% }% \def\maketitle{% \@author@finish \title@column\titleblock@produce \suppressfloats[t]% \let\and\relax \let\affiliation\@gobble \let\author\@gobble \let\@AAC@list\@empty \let\@AFF@list\@empty \let\@AFG@list\@empty \let\@AF@join\@AF@join@error \let\email\@gobble \let\@address\@empty \let\maketitle\relax \let\thanks\@gobble \titlepage@sw{% \vfil \clearpage }{}% }% \def\titleblock@produce{% \begingroup \let\footnote\footnote@latex \let\@makefnmark\@makefnmark@latex \let\@footnotemark\@footnotemark@latex \let\thefootnote\frontmatter@thefootnote \global\c@footnote\z@ \let\@makefnmark\frontmatter@makefnmark \frontmatter@setup \thispagestyle{titlepage}\label{FirstPage}% \frontmatter@title@produce \groupauthors@sw{% \frontmatter@author@produce@group }{% \frontmatter@author@produce@script }% \frontmatter@RRAPformat{% \expandafter\produce@RRAP\expandafter{\@date}% \expandafter\produce@RRAP\expandafter{\@received}% \expandafter\produce@RRAP\expandafter{\@revised}% \expandafter\produce@RRAP\expandafter{\@accepted}% \expandafter\produce@RRAP\expandafter{\@published}% }% \frontmatter@abstract@produce \@pacs@produce\@pacs \@keywords@produce\@keywords \par \frontmatter@finalspace \endgroup }% \def\frontmatter@title@produce{% \begingroup \frontmatter@title@above \frontmatter@title@format \@title \@ifx{\@title@aux\@title@aux@cleared}{}{% \expandafter\frontmatter@footnote\expandafter{\@title@aux}% }% \par %% \class@warn{Unused short title ignored}% \frontmatter@title@below \endgroup }% \appdef\let@mark{\let\\\relax}% \def\frontmatter@title@above{}% \def\frontmatter@title@format{}% \def\frontmatter@title@below{\addvspace{\baselineskip}}% \def\frontmatter@author@produce@script{% \begingroup \let\@author@present\@author@present@script \let\AU@temp\@empty \@tempcnta\z@ \let\AF@opr \@gobble \def\AU@opr{\@author@count\@tempcnta}% \def\CO@opr{\@collaboration@count\AU@temp\@tempcnta}% \@AAC@list \expandafter\CO@opr\@author@cleared \begingroup \frontmatter@authorformat \let\AF@opr \@affilID@def \let\AU@opr \@author@present \def\CO@opr{\@collaboration@present\AU@temp}% \set@listcomma@list\AU@temp \@AAC@list \unskip\unskip \par \endgroup \begingroup \frontmatter@above@affiliation@script \let\AFF@opr \@affil@script \@AFF@list \frontmatter@footnote@produce \par \endgroup \endgroup }% \def\@author@count#1{\advance#1\@ne\@author@gobble}% \def\@collaboration@present#1#2#3{% \par \begingroup \frontmatter@collaboration@above \@author@present{(\ignorespaces#2\unskip)}{#3}% \par \endgroup \set@listcomma@list#1% }% \def\frontmatter@collaboration@above{}% \def\@collaboration@count#1#2{% \appdef@eval#1{\the#2}#2\z@ \@author@gobble }% \def\@affilID@def{\def\@affilID@temp}% \let\@affilID@temp\@empty \def\affil@script#1#2#3{% \def\@tempifx{#1}\@ifx{\@tempifx\@tempa}{% \@if@empty{#2}{}{% \par \begingroup \textsuperscript{\normalfont#1}% #2% \@if@empty{#3}{}{\frontmatter@footnote{#3}}% \par \endgroup }% }{}% }% \def\@affil@script#1#2#3{% \@ifnum{#1=\z@}{}{% \par \begingroup \frontmatter@affiliationfont \textsuperscript{#1}% #2% \@if@empty{#3}{}{\frontmatter@footnote{#3}}% \par \endgroup }% }% \def\@author@present@script#1#2{% \begingroup \gdef\comma@space{\textsuperscript{,\,}}% \doauthor{#1}{#2}{% \let\@tempa\@empty \expandafter\@affil@present@script\@affilID@temp\relax }% \endgroup \advance\@tempcnta\m@ne }% \def\@affilcomma#1#2{% \@ifx{\z@#1}{% \@ifx{\relax#2}{}{% \@affilcomma{#2}% }% }{% #1% \@ifx{\relax#2}{}{% \@ifx{\z@#2}{% \@affilcomma }{% ,\,\@affilcomma{#2}% }% }% }% }% \def\@affil@present@script#1{% \@ifx{\relax#1}{% \@ifx{\@tempa\@empty}{}{% \textsuperscript{\expandafter\@affilcomma\@tempa\relax\relax}% }% }{% \@ifx{\z@#1}{}{\appdef\@tempa{{#1}}}% \@affil@present@script }% }% \@provide\@author@parskip{\z@skip}% \def\frontmatter@author@produce@group{% \begingroup \let\@author@present\@author@present@group \frontmatter@authorformat \let\AFS@opr \affils@present@group \let\@listcomma\relax \@AFG@list \frontmatter@footnote@produce \par \endgroup \frontmatter@authorbelow }% \@provide\frontmatter@authorbelow{}% \def\affils@present@group#1{% \begingroup \def\AF@temp{#1}% % 0B13 \@tempcnta\z@ \let\AU@opr \undefined % 0B13 \let\CO@opr \undefined % 0B13 \def\AF@opr{\@affilID@count\AF@temp\@tempcnta}% 0B13 \@AAC@list \@ifnum{\@tempcnta=\z@}{}{% \begingroup \frontmatter@above@affilgroup \set@listcomma@count\@tempcnta \let\AU@opr \undefined % 0B13 \let\CO@opr \undefined % 0B13 \def\AF@opr{\@affilID@match\AF@temp}% \@AAC@list \endgroup \begingroup \par \frontmatter@above@affiliation \frontmatter@affiliationfont \let\\\frontmatter@addressnewline \@tempcnta\z@ \@tfor\AF@temp:=#1\do{% \expandafter\@ifx\expandafter{\z@\AF@temp}{}{% \advance\@tempcnta\@ne }% }% \@ifnum{\@tempcnta=\tw@}{% \let\@listcomma\relax }{}% \def\after@address{\@listcomma\ \@listand}% \runinaddress@sw{% }{% \tightenlines@sw{% }{% \parskip\z@ %space between affilations in grouped mode }% \appdef\after@address\par }% \let\AFF@opr \@affil@group \do@affil@fromgroup\@AFF@list#1\relax \endgroup }% \par \endgroup }% \def\@affilID@count#1#2#3{% \def\@tempifx{#3}% \@ifx{\@tempifx#1}{% \def\AU@opr{\@author@count#2}% }{% \let\AU@opr \@author@gobble }% \let\CO@opr \@collaboration@err }% \def\@affilID@match#1#2{% \def\@tempifx{#2}% \@ifx{\@tempifx#1}{% \let\AU@opr \@author@present }{% \let\AU@opr \@author@gobble }% \let\CO@opr \@collaboration@err }% \def\do@affil@fromgroup#1#2{% \@ifx{\relax#2}{}{% \count@#2\relax \@ifnum{\count@=\z@}{}{#1}% \do@affil@fromgroup#1% }% }% \def\@affil@group#1#2#3{% \@ifnum{\count@=#1\relax}{% \@ifx{#2\blankaffiliation}{}{% #2% \@if@empty{#3}{}{% \frontmatter@footnote{#3}% }% \after@address }% \advance\@tempcnta\m@ne }{}% }% \def\@author@present@group#1#2{% \gdef\comma@space{\gdef\comma@space{\textsuperscript{,\,}}}% \doauthor{#1}{#2}{}% \advance\@tempcnta\m@ne }% \def\@pacs@produce#1{% \showPACS@sw{% \begingroup \frontmatter@PACS@format \@pacs@name#1\par \endgroup }{% \@if@empty{#1}{}{% \class@warn{\PACS@warn}% }% }% }% \def\PACS@warn{If you want your PACS to appear in your output, use document class option showpacs}% \def\@keywords@produce#1{% \showKEYS@sw{% \begingroup \frontmatter@keys@format \@keys@name#1\par \endgroup }{% \@if@empty{#1}{}{% \class@warn{If you want your keywords to appear in your output, use document class option showkeys}% }% }% }% \def\frontmatter@footnote@produce@footnote{% \let\@TBN@opr\present@FM@footnote \@FMN@list \global\let\@FMN@list\@empty }% \def\present@FM@footnote#1#2{% \begingroup \csname c@\@mpfn\endcsname#1\relax \def\@thefnmark{\thempfn}% \frontmatter@footnotetext{#2}% \endgroup }% \def\frontmatter@footnote@produce@endnote{% }% \def\frontmatter@thefootnote{% \altaffilletter@sw{\@alph}{\@fnsymbol}\c@footnote }% \def\frontmatter@makefnmark{% \@textsuperscript{% \normalfont\@thefnmark }% }% \long\def\frontmatter@makefntext#1{% \parindent 1em \noindent \Hy@raisedlink{\hyper@anchorstart{frontmatter@\the\c@footnote}\hyper@anchorend}% \@makefnmark #1% }% \def\frontmatter@setup{}% \def\frontmatter@RRAPformat#1{% \removelastskip \begingroup \frontmatter@RRAP@format #1\par \endgroup }% \def\punct@RRAP{; }% \def\produce@RRAP#1{% \@if@empty{#1}{}{% \@ifvmode{\leavevmode}{\unskip\punct@RRAP\ignorespaces}% #1% }% }% \def\frontmatter@authorformat{}% \def\frontmatter@above@affilgroup{}% \def\frontmatter@above@affiliation{}% \def\frontmatter@above@affiliation@script{}% \def\frontmatter@affiliationfont{}% \def\frontmatter@RRAP@format{}% \def\frontmatter@PACS@format{}% \def\frontmatter@keys@format{}% \def\frontmatter@finalspace{\addvspace{18\p@}} \def\frontmatter@addressnewline{% \@ifhmode{\skip@\lastskip\unskip\unpenalty\break\hskip\skip@}{}% % was: \vskip-.5ex }% \def\frontmatter@preabstractspace{5.5\p@} \def\frontmatter@postabstractspace{6.5\p@} \def\aftermaketitle@chk#1{% \@ifx{\maketitle\relax}{% \class@err{\protect#1 must be used before \protect\maketitle}% }{}% }% \def\ps@titlepage{\ps@empty}% \def\volumeyear#1{\gdef\@volumeyear{#1}}% \def\@volumeyear{}% \def\volumenumber#1{\gdef\@volumenumber{#1}}% \def\@volumenumber{}% \def\issuenumber#1{\gdef\@issuenumber{#1}}% \def\@issuenumber{}% \def\eid#1{\gdef\@eid{#1}}% \def\@eid{}% \def\startpage#1{\gdef\@startpage{#1}\c@page#1\relax}% \def\@startpage{\pageref{FirstPage}}% \def\endpage#1{\gdef\@endpage{#1}}% \def\@endpage{\pageref{LastPage}}% \def\print@toc#1{% \begingroup \expandafter\section \expandafter*% \expandafter{% \csname#1name\endcsname }% \let\appendix\appendix@toc \@starttoc{#1}% \endgroup }% \def\appendix@toc{}% \def\labelenumi{\theenumi.} \def\theenumi{\arabic{enumi}} \def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}} \def\p@enumii{\theenumi} \def\labelenumiii{\theenumiii.} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{\theenumiv.} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} \def\labelitemi{\textbullet} \def\labelitemii{\normalfont\bfseries\textendash} \def\labelitemiii{\textasteriskcentered} \def\labelitemiv{\textperiodcentered} \pagenumbering{arabic} \setcounter{topnumber}{2} \def\topfraction{.9} \setcounter{bottomnumber}{1} \def\bottomfraction{.9} \setcounter{totalnumber}{3} \def\textfraction{.1} \def\floatpagefraction{.9} \setcounter{dbltopnumber}{2} \def\dbltopfraction{.9} \def\dblfloatpagefraction{.9} \newenvironment{verse}{% \let\\=\@centercr \list{}{% \itemsep\z@ \itemindent -1.5em\listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]% }{% \endlist }% \newenvironment{quotation}{% \list{}{% \listparindent 1.5em \itemindent\listparindent \rightmargin\leftmargin \parsep \z@ \@plus\p@}\item[]% }{% \endlist }% \newenvironment{quote}{% \list{}{% \rightmargin\leftmargin}\item[]% }{% \endlist }% \def\descriptionlabel#1{% \hspace\labelsep \normalfont\bfseries #1% }% \newenvironment{description}{% \list{}{% \labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel }% }{% \endlist }% \newcounter{part} \newcounter{section} \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph] \def\thepart {\Roman{part}} % \def\thesection {\Roman{section}} \def\p@section {} \def\thesubsection {\Alph{subsection}} \def\p@subsection {\thesection\,} \def\thesubsubsection {\arabic{subsubsection}} \def\p@subsubsection {\thesection\,\thesubsection\,} \def\theparagraph {\alph{paragraph}} \def\p@paragraph {\thesection\,\thesubsection\,\thesubsubsection\,} \def\thesubparagraph {\arabic{subparagraph}} \def\p@subparagraph {\thesection\,\thesubsection\,\thesubsubsection\,\theparagraph\,} \newenvironment{acknowledgments}{% \acknowledgments@sw{% \section*{\acknowledgmentsname}% }{% \par \phantomsection \addcontentsline{toc}{section}{\protect\numberline{}\acknowledgmentsname}% }% }{% \par }% \@booleantrue\acknowledgments@sw \newenvironment{acknowledgements}{% \replace@environment{acknowledgements}{acknowledgments}% }{% \endacknowledgments }% \def\part{\par \addvspace{4ex}% \@afterindentfalse \secdef\@part\@spart}% \def\@part[#1]#2{% \@ifnum{\c@secnumdepth >\m@ne}{% \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% }{% \addcontentsline{toc}{part}{#1}% }% \begingroup \parindent \z@ \raggedright \interlinepenalty\@M \@ifnum{\c@secnumdepth >\m@ne}{% \Large \bf \partname~\thepart% \par\nobreak }{}% \huge \bf #2% \markboth{}{}\par \endgroup \nobreak \vskip 3ex \@afterheading }% \def\@spart#1{{\parindent \z@ \raggedright \interlinepenalty\@M \huge \bf #1\par} \nobreak \vskip 3ex \@afterheading} \def\section{% \@startsection {section}% {1}% {\z@}% {0.8cm \@plus1ex \@minus .2ex}% {0.5cm}% {\normalfont\small\bfseries}% }% \def\subsection{% \@startsection {subsection}% {2}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {\normalfont\small\bfseries}% }% \def\subsubsection{% \@startsection {subsubsection}% {3}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {\normalfont\small\itshape}% }% \def\paragraph{% \@startsection {paragraph}% {4}% {\parindent}% {\z@}% {-1em}% {\normalfont\normalsize\itshape}% }% \def\subparagraph{% \@startsection {subparagraph}% {5}% {\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}% }% \def\theequation{% \theequation@prefix\arabic{equation}% }% \def\theequation@prefix{}% \AtEndOfClass{% \expandafter\input\expandafter{\@pointsize pt\substyle@ext}% }% \setcounter{secnumdepth}{4} \lineskip 1pt \normallineskip 1pt \def\baselinestretch{1}% \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \arraycolsep 3pt \tabcolsep 2pt \arrayrulewidth .4pt \doublerulesep 2pt \skip\@mpfootins = 0pt \fboxsep = 3.0pt \fboxrule = 0.4pt \newenvironment{figure} {\@float{figure}} {\end@float} \newenvironment{figure*} {\@dblfloat{figure}} {\end@dblfloat} \newlength\abovecaptionskip \newlength\belowcaptionskip \setlength\abovecaptionskip{10\p@} \setlength\belowcaptionskip{2\p@} \long\def\@makecaption#1#2{% \par \vskip\abovecaptionskip \begingroup \small\rmfamily \sbox\@tempboxa{% \let\\\heading@cr #1: #2% }% \@ifdim{\wd\@tempboxa >\hsize}{% \begingroup \samepage \flushing \let\footnote\@footnotemark@gobble #1: #2\par \endgroup }{% \global \@minipagefalse \hb@xt@\hsize{\hfil\unhbox\@tempboxa\hfil}% }% \endgroup \vskip\belowcaptionskip }% \def\@footnotemark@gobble{% \@footnotemark \@ifnextchar[{\@gobble@opt@i}{\@gobble}% }% \def\@gobble@opt@i[#1]#2{}% \def\@mpmakefntext#1{% \flushing \parindent=1em \noindent \hb@xt@1em{\hss\@makefnmark}% #1% }% \newcounter{figure} \renewcommand \thefigure {\@arabic\c@figure} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{\figurename~\thefigure} \appdef\class@documenthook{% \do@if@floats{figure}{.fgx}% }% \appdef\class@enddocumenthook{% \printfigures\relax }% \newcommand\printfigures{% \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}% {% \print@float{figure}{\oneapage}% }{% \print@float{figure}{}% }% }% \appdef\@xfloat@prep{% \appdef\@parboxrestore{\centering}% \let\@makefnmark\@makefnmark@latex \let\@footnotemark\@footnotemark@latex }% \newenvironment{table} {\@float{table}} {\end@float} \newenvironment{table*} {\@dblfloat{table}} {\end@dblfloat} \newcounter{table} \renewcommand\thetable{\@Roman\c@table} \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{\tablename~\thetable} \def\table@hook{\small}% \def\squeezetable{\def\table@hook{\scriptsize}}% \appdef\@floatboxreset{\table@hook}% \appdef\class@documenthook{% \floats@sw{}{% \let@environment{longtable@float}{longtable}% \let@environment{longtable}{longtable@write}% \let@environment{longtable*@float}{longtable*}% \let@environment{longtable*}{longtable*@write}% \let@environment{turnpage@float}{turnpage}% \let@environment{turnpage}{turnpage@write}% }% \do@if@floats{table}{.tbx}% }% \appdef\class@enddocumenthook{% \printtables\relax }% \newenvironment{longtable@write}{% \write@@float{longtable}{table}% }{% \endwrite@float }% \newenvironment{longtable*@write}{% \write@@float{longtable*}{table}% }{% \endwrite@float }% \newenvironment{turnpage@write}{% \immediate\write\tablewrite{\string\begin{turnpage}}% }{% \immediate\write\tablewrite{\string\end{turnpage}}% }% \newcommand\printtables{% \begingroup \let@environment{longtable}{longtable@float}% \let@environment{longtable*}{longtable*@float}% \let@environment{turnpage}{turnpage@anchored}% \prepdef\longtable{\trigger@float@par}% \expandafter\prepdef\csname longtable*\endcsname{\trigger@float@par}% \expandafter\prepdef\csname table@floats\endcsname{% \onecolumngrid@push }% \expandafter\appdef\csname endtable@floats\endcsname{% \onecolumngrid@pop }% \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}% {% \print@float{table}{\oneapage}% }{% \print@float{table}{}% }% \endgroup }% \newenvironment{turnpage@anchored}{% \onecolumngrid@push \setbox\z@\vbox to\textwidth\bgroup \columnwidth\textheight }{% \vfil \egroup \rotatebox{90}{\box\z@}% \onecolumngrid@pop }% \def\endtabular@hook{}% \appdef\class@documenthook{% \@ifpackageloaded{dcolumn}{% \newcolumntype{d}{D{.}{.}{-1}}% }{}% }% \def\toprule{\hline\hline}% \def\colrule{\hline}% \def\botrule{\hline\hline}% \newenvironment{ruledtabular}{% \def\array@default{v}% \appdef\tabular@hook{\def\@halignto{to\hsize}}% \let\tableft@skip@default\tableft@skip \let\tableft@skip\tableft@skip@float \let\tabmid@skip@default\tabmid@skip \let\tabmid@skip\tabmid@skip@float \let\tabright@skip@default\tabright@skip \let\tabright@skip\tabright@skip@float \let\array@row@pre@default\array@row@pre \let\array@row@pre\array@row@pre@float \let\array@row@pst@default\array@row@pst \let\array@row@pst\array@row@pst@float \appdef\array@row@rst{% \let\array@row@pre\array@row@pre@default \let\array@row@pst\array@row@pst@default \let\tableft@skip\tableft@skip@default \let\tabmid@skip\tabmid@skip@default \let\tabright@skip\tabright@skip@default \appdef\tabular@hook{\let\@halignto\@empty}% }% }{% }% \def\@makefntext#1{% \def\baselinestretch{1}% \reset@font\footnotesize \parindent 1em% \noindent \hb@xt@1.8em{% \Hy@raisedlink{\hyper@anchorstart{footnote@\the\c@footnote}\hyper@anchorend}% \hss\@makefnmark }% #1\par }% \newenvironment{thebibliography}{}{}% \let\@listi\@empty \RequirePackage[sort&compress]{natbib}[1999/05/28 7.0]% \let\NAT@thebibliography\thebibliography \let\NAT@endthebibliography\endthebibliography \let\bibliographystyle@latex\bibliographystyle \renewcommand\NAT@citesuper[3]{% \ifNAT@swa \leavevmode \unskip \textsuperscript{#1}% \if*#3*\else\ (#3)\fi \else #1% \fi \endgroup }% \def\@makefnmark@cite{\begingroup\NAT@swatrue\@cite{{\@thefnmark}}{}{}}% \let\bibliographystyle@latex\bibliographystyle \def\bibliographystyle{\def\@bibstyle}% \def\bibsection{% \@ifx@empty\refname{% \par }{% \let\@hangfroms@section\@hang@froms \section*{\refname}% \@nobreaktrue }% }% \let\NATx@bibsetnum\NAT@bibsetnum \def\NAT@bibsetnum#1{% \setlength{\topsep}{\z@}% \NATx@bibsetnum{\ref{LastBibItem}}% }% \let\NATx@bibsetup\NAT@bibsetup \def\NAT@bibsetup{% \setlength{\labelwidth}{\z@}% \setlength{\labelsep}{\z@}% \setlength{\itemindent}{\z@}% \setlength{\listparindent}{\z@}% \setlength{\topsep}{\z@}% \setlength{\parsep}{\z@}% \NATx@bibsetup }% \let\bibpreamble\@empty \def\newblock{\ }% \let\NATx@bibnumfmt\bibnumfmt \def\bibnumfmt{\place@bibnumber}% \AtEndOfClass{% \appdef\class@documenthook{% \@ifxundefined\place@bibnumber{% \let\place@bibnumber\NATx@bibnumfmt }{}% }% }% \let\NAT@citeyear\citeyear \def\NAT@onlinecite#1{% \begingroup \let\@cite\NAT@citenum \let\NAT@mbox\mbox \let\citeyear\NAT@citeyear \def\NAT@space{ }% \cite{#1}% \endgroup }% \appdef\class@inithook{% \@ifxundefined\@onlinecite{\def\@onlinecite{\citealp}}{}% \@ifxundefined\@textcite{\def\@textcite{\citet}}{}% }% \DeclareRobustCommand\onlinecite{\@onlinecite}% \DeclareRobustCommand\textcite{\@textcite}% \renewenvironment{thebibliography}[1]{% \NAT@thebibliography{#1}% \@clubpenalty\clubpenalty \let\@TBN@opr\present@bibnote \@FMN@list }{% \@endnotesinbib \edef\@currentlabel{\arabic{NAT@ctr}}% \label{LastBibItem}% \NAT@endthebibliography \global\let\auto@bib\@empty }% \def\present@bibnote#1#2{% \item[% \textsuperscript{% \normalfont \Hy@raisedlink{\hyper@anchorstart{frontmatter@#1}\hyper@anchorend}% \begingroup \c@footnote#1\relax \frontmatter@thefootnote \endgroup }% ]#2\par }% \def\place@bibnumber@sup#1{\textsuperscript{#1}}% \def\place@bibnumber@inl#1{[#1]}% %% \begin{macro}{\@cite} %% \begin{macro}{\nocite} %% For the sake of Bib\TeX, we must execute the \cmd\bibliographystyle\ command %% (putting a \cmd\bibstyle\ command into the auxiliary file) %% somewhere before the first \cmd\cite\ command (or any other like command), %% which puts a \cmd\citation\ command into the auxiliary file. %% %% Therefore, we headpatch the two procedures in \classname{natbib} that can result in %% the appearance in the auxiliary file of a \cmd\citation\ command. %% These two procedures are \cmd\@cite\ and \cmd\nocite. %% %% Not! \def\write@bibliographystyle{% \@ifxundefined\@bibstyle{}{% \expandafter\bibliographystyle@latex\expandafter{\@bibstyle}% }% \global\let\write@bibliographystyle\relax }% \AtEndDocument{\write@bibliographystyle}% %% \end{macro} %% \end{macro} \def\super@cite[#1][#2]#3{% \leavevmode \skip@\lastskip \unskip \begingroup \def\@tempa{[#1][#2]{#3}}% \super@cite@ }% \def\super@cite@{% \futurelet\@let@token\super@cite@@ }% \long\def\super@cite@@#1{% \@ifx{\@let@token\@sptoken}{% \aftergroup\@sptoken\false@sw }{% \@ifx{\@let@token.}{\true@sw}{% \@ifx{\@let@token,}{\true@sw}{% \@ifx{\@let@token'}{\true@sw}{% \@ifx{\@let@token)}{\true@sw}{% \false@sw }% }% }% }% }% {% #1% \super@cite@ }{% \expandafter\@citex@NAT\@tempa\endgroup #1% }% }% \AtBeginDocument{% \citeautoscript@sw{% \@ifx{\place@bibnumber\place@bibnumber@sup}{% \let\@citex@NAT\@citex\let\@citex\super@cite }{}% }{}% }% \@ifx{\chapter\relax}{\let\chapter\@undefined}{}% \def\mini@note{\save@note\mini@notes}%Implicit #1 \def\save@note#1#2{% \stepcounter{footnote}% \protected@xdef\@thefnmark{\the\c@footnote}% \@footnotemark \expandafter\g@addto@macro \expandafter#1% \expandafter{% \expandafter \@@footnotetext \expandafter {\@thefnmark}{#2}% }% }% \long\def\@@footnotetext#1{\def\@thefnmark{#1}\@footnotetext}% \let\mini@notes\@empty \def\endnote{% \begingroup \aftergroup\@footnotemark \aftergroup\@endnotetext \@ifnextchar[{% \@xendnote }{% \stepcounter{footnote}% \protected@xdef\@tempa{\thefootnote}% \expandafter\@xendnote\expandafter[\@tempa]% }% }% \def\@xendnote[#1]{% \begingroup \c@footnote#1\relax \unrestored@protected@xdef\@thefnmark{endnote\thefootnote}% \endgroup \endgroup }% \def\@endnotemark{% \expandafter\cite\expandafter{\@thefnmark}% }% \def\endnote@ext{.end}% \long\def\@endnotetext#1{% \@ifxundefined\@endnoteout{% \newwrite\@endnoteout \gdef\endnote@stream{\jobname\endnote@ext}% \immediate\openout\@endnoteout\endnote@stream\relax }{}% \begingroup \let\label\relax \let\index\relax \let\glossary\relax \let\cite \relax \let\ref \relax \let\pageref \relax \let\( \relax \let\) \relax \let\\ \relax \let \protect \@unexpandable@protect \newlinechar`\^^M% \immediate\write\@endnoteout{\string\@doendnote{\@thefnmark}{#1}}% \endgroup }% \def\endnotetext{% \@ifnextchar[{% \@xendnotenext }{% \protected@xdef\@thefnmark{\thefootnote}% \@endnotetext }% }% \def\@xendnotenext[#1]{% \begingroup \c@footnote#1\relax \unrestored@protected@xdef\@thefnmark{\thefootnote}% \endgroup \@endnotetext }% \def\printendnotes{% \@ifx{\@endnoteout\@undefined}{}{% \begingroup \c@secnumdepth-\maxdimen \section{% \notesname }% \immediate\closeout\@endnoteout \global\let\@endnoteout\@undefined \begin{enumerate}% \makeatletter \input{\endnote@stream}% \end{enumerate}% \endgroup }% }% \appdef\class@enddocumenthook{% \printendnotes }% \mathchardef\firstnote@num\z@ \appdef\class@documenthook{% \global\c@footnote\firstnote@num \appdef\maketitle{\global\c@footnote\firstnote@num}% }% \def\set@firstnote#1{% \@ifnum{\firstnote@num=#1\relax}{}{% \class@warn@end{Endnote numbers changed: rerun LaTeX}% }% \immediate\write\@mainaux{% \global\chardef\string\firstnote@num#1\relax }% }% \def\@endnotesinbib{% \set@firstnote\z@ }% \def\@endnotesinbibliography{% \expandafter\set@firstnote\expandafter{\the\c@NAT@ctr}% \@ifx{\@endnoteout\@undefined}{}{% \immediate\closeout\@endnoteout \global\let\@endnoteout\@undefined \makeatletter \input{\endnote@stream}% }% }% \appdef\class@documenthook{% \let\@makefnmark@latex\@makefnmark \let\@footnotemark@latex\@footnotemark \footinbib@sw{% \let\footnote\endnote \let\@footnotemark\@endnotemark \let\@makefnmark\@makefnmark@cite \let\@endnotesinbib\@endnotesinbibliography \appdef\class@enddocumenthook{\auto@bib}% \let\printendnotes\relax }{}% }% \def\auto@bib{% \@ifx@empty\@FMN@list{% \@ifxundefined\@endnoteout{% \false@sw }{% \true@sw }% }{% \true@sw }{% \begin{thebibliography}{}\end{thebibliography}% }% }% \def\@doendnote#1#2{\bibitem{#1}#2} \appdef\class@documenthook{% \@ifxundefined\@evenhead{% \@ifxundefined\@oddhead{% \@ifxundefined\@oddfoot{% \@ifxundefined\@evenfoot{% \preprintsty@sw{% \ps@preprint }{% \ps@article }% }{}% }{}% }{}% }{}% \pagenumbering{arabic}% \normalsize \tabbingsep \labelsep \leftmargin\leftmargini \labelwidth\leftmargin\advance\labelwidth-\labelsep \let\@listi\@listI \@listi \def\curr@envir{document}% \mark@envir{\curr@envir}% \twocolumn@sw{% \open@column@mlt\tw@ \set@colht \@floatplacement \@dblfloatplacement \sloppy \@booleanfalse\raggedcolumn@sw \let\set@listindent\set@listindent@ }{% \open@column@one\@ne \set@colht \@floatplacement \@dblfloatplacement \sloppy \let\set@listindent\set@listindent@parshape }% }% \def\appendix{% \par \setcounter{section}\z@ \setcounter{subsection}\z@ \setcounter{subsubsection}\z@ \def\thesubsection{\arabic{subsection}}% \def\thesubsubsection{\alph{subsubsection}}% \@addtoreset{equation}{section}% \def\theequation@prefix{\thesection}% \addtocontents{toc}{\protect\appendix}% \@ifstar{% \def\thesection{\unskip}% \def\theequation@prefix{A.}% }{% \def\thesection{\Alph{section}}% }% }% \def\title@column@default#1{% \minipagefootnote@init #1% \minipagefootnote@foot }% \def\close@column@default{% \newpage }% \def\galley@outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}% \let\widetext@outdent\@empty \newenvironment{widetext@galley}{% \list{}{% \topsep \z@skip \listparindent \parindent \itemindent \parindent \leftmargin \z@ \parsep \z@\@plus\p@ \widetext@outdent \relax }% \item\relax }{ \endlist }% \def\title@column@grid#1{% \minipagefootnote@init \onecolumngrid \begingroup \let\@footnotetext\frontmatter@footnotetext \let\set@footnotewidth\set@footnotewidth@ii #1% \endgroup \twocolumngrid \minipagefootnote@foot }% \def\close@column@grid{% \balancelastpage@sw{% \onecolumngrid }{}% }% \newenvironment{widetext@grid}{% \par\ignorespaces \setbox\widetext@top\vbox{% \vskip15\p@ \hb@xt@\hsize{% \leaders\hrule\hfil \vrule\@height6\p@ }% \vskip6\p@ }% \setbox\widetext@bot\hb@xt@\hsize{% \vrule\@depth6\p@ \leaders\hrule\hfil }% \onecolumngrid \dimen@\ht\widetext@top\advance\dimen@\dp\widetext@top \cleaders\box\widetext@top\vskip\dimen@ \let\set@footnotewidth\set@footnotewidth@ii }{% \par \setbox\widetext@bot\vbox{% \hb@xt@\hsize{\hfil\box\widetext@bot}% \vskip14\p@ }% \dimen@\ht\widetext@bot\advance\dimen@\dp\widetext@bot \cleaders\box\widetext@bot\vskip\dimen@ \twocolumngrid\global\@ignoretrue \@endpetrue }% \newbox\widetext@top \newbox\widetext@bot \appdef\class@documenthook{% \twocolumn@sw{% \let@environment{widetext}{widetext@grid}% \let\title@column\title@column@grid \let\close@column\close@column@grid }{% \let@environment{widetext}{widetext@galley}% \preprintsty@sw{% }{% \galley@sw{% \let\widetext@outdent\galley@outdent }{% }% }% }% }% \appdef\class@inithook{% \@ifxundefined\title@column{% \let\title@column\title@column@default }{}% }% \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} \def\notesname{Notes} \def\partname{Part} \def\tocname{Contents} \def\lofname{List of Figures} \def\lotname{List of Tables} \def\refname{References} \def\indexname{Index} \def\figurename{FIG.} \def\figuresname{Figures}% \def\tablename{TABLE} \def\tablesname{Tables}% \def\abstractname{Abstract} \def\appendixesname{Appendixes}% \def\appendixname{Appendix}% \def\acknowledgmentsname{Acknowledgments} \def\journalname{??} \def\copyrightname{??} \def\andname{and} \def\@pacs@name{PACS numbers: }% \def\@keys@name{Keywords: }% \def\ppname{pp} \def\numbername{number} \def\volumename{volume} \def\Dated@name{Dated: }% \def\Received@name{Received }% \def\Revised@name{Revised }% \def\Accepted@name{Accepted }% \def\Published@name{Published }% \def\address{\replace@command\address\affiliation}% \def\altaddress{\replace@command\altaddress\altaffiliation}% \newenvironment{references}{% \class@warn@end{The references environment is not supported; use thebibliography instead.} \gdef\references{\thebibliography{}}\references }{% \endthebibliography }% \def\draft{% \class@warn@end{Command \string\draft\space is obsolete;^^JInvoke option draft instead.}% \@booleantrue\draft@sw }% \def\tighten{% \class@warn@end{Command \string\tighten\space is obsolete;^^JInvoke option tightenlines instead.}% \@booleantrue\tightenlines@sw }% \def\tableline{% \noalign{% \class@warn@end{Command \string\tableline\space is obsolete;^^JUse \string\colrule\space instead.}% \global\let\tableline\colrule }% \tableline }% \def\case{\replace@command\case\frac}% \def\slantfrac{\replace@command\slantfrac\frac}% \def\tablenote{\replace@command\tablenote\footnote}% \def\tablenotemark{\replace@command\tablenotemark\footnotemark}% \def\tablenotetext{\replace@command\tablenotetext\footnotetext}% \DeclareRobustCommand\REV@text[1]{% \relax \ifmmode \mathchoice {\hbox{{\everymath{\displaystyle }#1}}}% {\hbox{{\everymath{\textstyle }#1}}}% {\hbox{{\everymath{\scriptstyle }\let\f@size\sf@size\selectfont#1}}}% {\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}% \glb@settings \else \mbox{#1}% \fi }% \DeclareRobustCommand\REV@bbox[1]{% \relax \ifmmode \mathchoice {\hbox{{\everymath{\displaystyle }\boldmath$#1$}}}% {\hbox{{\everymath{\textstyle }\boldmath$#1$}}}% {\hbox{{\everymath{\scriptstyle }\boldmath$#1$}}}% {\hbox{{\everymath{\scriptscriptstyle}\boldmath$#1$}}}% \glb@settings \else \mbox{#1}% \fi }% \DeclareRobustCommand\REV@bm[1]{% \class@warn@end{To use \string\bm, please load the bm package!}% \global\let\bm\relax }% \def\FL{\obsolete@command\FL}% \def\FR{\obsolete@command\FR}% \def\narrowtext{\obsolete@command\narrowtext}% \def\mediumtext{\obsolete@command\mediumtext}% \newenvironment{quasitable}{% \let@environment{tabular}{longtable}% }{% }% \appdef\class@inithook{% \@ifxundefined\text{\let\text\REV@text}{}% \@ifxundefined\bm{\let\bm\REV@bm}{}% \providecommand\bibinfo[2]{#2}% \providecommand\eprint[2][]{#2}% \providecommand\url[1]{#1}% }% \def\bbox#1{% \class@warn@end{\string\bbox\space is obsolete,^^Jload the bm package and use \string\bm\space instead.}% \global\let\bbox\relax }% \newenvironment{mathletters}{% \class@warn@end{Environment {mathletters} is obsolete;^^Jload the amsmath package and use {subequations}!}% \global\let\mathletters\@empty }{% }% \def\eqnum#1{% \class@warn@end{\string\eqnum\space is obsolete, load the amsmath package and use \string\tag!}% \global\let\eqnum\@gobble }% \RequirePackage{revsymb}% \appdef\class@inithook{\revsymb@inithook}% \AtEndOfClass{% \InputIfFileExists{\jobname.rty}{}{}% }% \AtEndOfClass{% \@ifxundefined\secnumarabic@sw{\@booleanfalse\secnumarabic@sw}{}% \secnumarabic@sw{% \def\p@section {}% \def\thesection {\arabic{section}}% \def\p@subsection {}% \def\thesubsection {\thesection.\arabic{subsection}}% \def\p@subsubsection {}% \def\thesubsubsection {\thesubsection.\arabic{subsubsection}}% }{}% }% \AtEndOfClass{% \appdef\class@documenthook{% \defaults@hook }% }% \@ifxundefined\defaults@hook{\let\defaults@hook\@empty}{}% \endinput %% %% End of file `revtex4.cls'. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/rmp.rtx���������������������������������������������������������������������������0100644�0000764�0000764�00000014302�07332561030�015033� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%% %% This is file `rmp.rtx', %% generated with the docstrip utility. %% %% The original source files were: %% %% revtex4.dtx (with options: `rmp') %% %% This file is part of the APS files in the REVTeX 4 distribution. %% For the version number, search on the string %% Original version by David Carlisle %% Modified by Arthur Ogawa (mailto:ogawa@teleport.com) %% %% Copyright (c) 1999 The American Physical Society. %% http://publish.aps.org/revtex4/ %% mailto:revtex4@aps.org %% %% See the REVTeX 4 README file for restrictions and more information. %% \NeedsTeXFormat{LaTeX2e}[1996/12/01] \ProvidesFile{rmp.rtx} [2001/08/03 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo \ifx\undefined\substyle@ext \def\@tempa{% \endinput \GenericWarning{I must be read in by REVTeX! (Bailing out)}% }% \expandafter\else \def\@tempa{}% \expandafter\fi\@tempa \@ifx@empty\@journal{% \class@warn{I have to read in the aps substyle first!}% \endinput \def\@society{aps}\def\@journal{rmp}% \expandafter\input\expandafter{\@society\substyle@ext}% }{}% \def\frontmatter@setup{% \normalfont\sffamily\raggedright }% \def\PACS@warn{RMP documents do not display PACS. Your \string\pacs\space will be ignored}% \def\frontmatter@title@above{}% \def\frontmatter@title@format{\Large\bfseries\raggedright}% HelveticaNeue-Medium(Italic) 14pt. \def\frontmatter@title@below{\addvspace{12\p@}}% 24pt b-b down to first author \def\frontmatter@authorformat{% \preprintsty@sw{\vskip0.5pc\relax}{}% \@tempskipa\@flushglue \@flushglue\z@ plus50\p@\relax \raggedright\advance\leftskip.5in\relax \@flushglue\@tempskipa \parskip\z@skip }% \def\frontmatter@affiliationfont{% Helvetica 9/10.2 \small\slshape\selectfont\baselineskip10.5\p@\relax \@tempskipa\@flushglue \@flushglue\z@ plus50\p@\relax \raggedright\advance\leftskip.5in\relax \@flushglue\@tempskipa }% \def\frontmatter@above@affilgroup{\addvspace{7.2\p@}}% additional leading above an author \def\frontmatter@above@affiliation{\addvspace{5.3\p@}}% \def\frontmatter@above@affiliation@script{}% \@ifxundefined\groupauthors@sw{% \clo@groupedaddress }{}% \def\frontmatter@RRAP@format{% \addvspace{7.3\p@}% \small \raggedright\advance\leftskip.5in\relax }% \def\produce@RRAP#1{% \@if@empty{#1}{}{% \@ifvmode{\leavevmode}{}% \unskip(\ignorespaces#1\unskip)\quad }% }% \def\frontmatter@abstractheading{% \preprintsty@sw{% \begingroup \centering\large \abstractname \par \endgroup \vspace{.5pc}% }{}% }% \def\frontmatter@abstractfont{% \footnotesize \hsize360\p@ \leftskip=0.5in \advance\hsize\leftskip \parindent\z@ }% \def\frontmatter@preabstractspace{7.7\p@}% \def\frontmatter@postabstractspace{24.6\p@}% \appdef\set@typesize@hook{% \@ifxundefined\preprintsty@sw{}{% \preprintsty@sw{}{% \def\normalsize{% \@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% }% }% }% \footnotesep 9.25pt \skip\footins 36pt plus 4pt minus 2pt \def\footnoterule{\kern-13pt\hrule width.5in\kern15.6pt\relax}% \def\thepart{\Roman{part}} % \def\thesection{\Roman{section}} \def\p@section{} \def\thesubsection{\Alph{subsection}} \def\p@subsection{\thesection.} \def\thesubsubsection{\arabic{subsubsection}} \def\p@subsubsection{\thesection.\thesubsection.} \def\theparagraph{\alph{paragraph}} \def\p@paragraph{\thesection.\thesubsection.\thesubsubsection.} \def\thesubparagraph{\arabic{subparagraph}} \def\p@subparagraph{\thesection.\thesubsection.\thesubsubsection.\theparagraph.} \def\@seccntformat#1{\csname the#1\endcsname.\hskip0.5em\relax}% \def\section{% \@startsection{section}{1}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}% {% \small\sffamily\bfseries\selectfont \raggedright \parindent\z@ }% }% \def\@hangfrom@section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}% \def\subsection{% \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}% {% \small\sffamily\bfseries \raggedright \parindent\z@ }% }% \def\subsubsection{% \@startsection{subsubsection}{3}{\z@}{.8cm plus1ex minus.2ex}{0.4cm}% {% \small\sffamily\selectfont \raggedright \parindent\z@ }% }% \def\paragraph{% \@startsection{paragraph}{4}{\z@}{.8cm plus1ex minus.2ex}{-1em}% {% \small\slshape\selectfont \raggedright \parindent\z@ }% }% \def\subparagraph{% \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus.2ex}{-1em}% {\normalsize\bfseries\selectfont}% }% \setcounter{tocdepth}{4}% FIXME: has no effect \appdef\appendix{% \let\@hangfrom@section\@hangfrom@appendix \let\@hangfroms@section\@hangfroms@appendix \let\@sectioncntformat\@appendixcntformat }% \def\@hangfrom@appendix#1#2#3{% #1% \@if@empty{#2}{% #3% }{% #2\@if@empty{#3}{}{:\ #3}% }% }% \def\@hangfroms@appendix#1#2{% #1\appendixname\@if@empty{#2}{}{:\ #2}% }% \def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}% \setlength\belowcaptionskip{2\p@} \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \vbox{% \flushing \small\rmfamily \noindent #1\nobreak\hskip.5em plus.2em\ignorespaces#2\par }% \vskip\belowcaptionskip }% \appdef\class@documenthook{% \@ifxundefined\@bibstyle{% \def\@bibstyle{apsrmp}% }{}% }% \bibpunct{(}{)}{;}{a}{,}{,}% \let\cite\citep \def\bibsection{% \let\@hangfroms@section\@hang@froms \section*{\refname}% \@nobreaktrue }% \let\bibpreamble\@empty \def\newblock{\ }% \bibhang10\p@ \bibsep\z@ \@ifxundefined\footinbib@sw{}{% \footinbib@sw{% \class@warn{% Footnotes in bibliography are incompatible with RMP.^^J% Undoing the footinbib option. }% }{}% }% \@booleanfalse\footinbib@sw \def\eprint#1{eprint #1}% \def\toc@@font{% \footnotesize\rmfamily \def\\{\space\ignorespaces}% }% \def\@dotsep{5.5pt}% \def\tocleft@{\z@}% \def\tocdim@min{5\p@}% \def\l@section{% \l@@sections{}{section}% Implicit #3#4 }% \def\l@subsection{% \l@@sections{section}{subsection}% Implicit #3#4 }% \def\l@subsubsection{% \l@@sections{subsection}{subsubsection}% Implicit #3#4 }% \def\l@paragraph#1#2{}% \def\l@subparagraph#1#2{}% \let\toc@pre\toc@pre@auto \let\toc@post\toc@post@auto \endinput %% %% End of file `rmp.rtx'. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/sample/���������������������������������������������������������������������������0040755�0000764�0000764�00000000000�07332605776�015002� 5����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/sample/apssamp.bib����������������������������������������������������������������0100644�0000764�0000764�00000000553�07332603760�017113� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@ARTICLE{feyn54, author = "R. P. Feynman", year = "1954", journal = "Phys.\ Rev.", volume = "94", pages = "262" } @ARTICLE{epr, author = "A. Einstein and B. Podolsky and N. Rosen", year = "1935", journal = "Phys.\ Rev.", volume = "47", pages = "777" } @MISC{witten2001, author = "Edward Witten", eprint = "hep-th/0106109" } �����������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/sample/apssamp.tex����������������������������������������������������������������0100644�0000764�0000764�00000055541�07332605761�017171� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file apssamp.tex ****** % % This file is part of the APS files in the REVTeX 4 distribution. % Version 4.0 of REVTeX, August 2001 % % Copyright (c) 2001 The American Physical Society. % % See the REVTeX 4 README file for restrictions and more information. % % TeX'ing this file requires that you have AMS-LaTeX 2.0 installed % as well as the rest of the prerequisites for REVTeX 4.0 % % See the REVTeX 4 README file % It also requires running BibTeX. The commands are as follows: % % 1) latex apssamp.tex % 2) bibtex apssamp % 3) latex apssamp.tex % 4) latex apssamp.tex % \documentclass[twocolumn,showpacs,preprintnumbers,amsmath,amssymb]{revtex4} %\documentclass[preprint,showpacs,preprintnumbers,amsmath,amssymb]{revtex4} % Some other (several out of many) possibilities %\documentclass[preprint,aps]{revtex4} %\documentclass[preprint,aps,draft]{revtex4} %\documentclass[prb]{revtex4}% Physical Review B \usepackage{graphicx}% Include figure files \usepackage{dcolumn}% Align table columns on decimal point \usepackage{bm}% bold math %\nofiles \begin{document} \preprint{APS/123-QED} \title{Manuscript Title:\\with Forced Linebreak}% Force line breaks with \\ \author{Ann Author} \altaffiliation[Also at ]{Physics Department, XYZ University.}%Lines break automatically or can be forced with \\ \author{Second Author}% \email{Second.Author@institution.edu} \affiliation{% Authors' institution and/or address\\ This line break forced with \textbackslash\textbackslash }% \author{Charlie Author} \homepage{http://www.Second.institution.edu/~Charlie.Author} \affiliation{ Second institution and/or address\\ This line break forced% with \\ }% \date{\today}% It is always \today, today, % but any date may be explicitly specified \begin{abstract} An article usually includes an abstract, a concise summary of the work covered at length in the main body of the article. It is used for secondary publications and for information retrieval purposes. Valid PACS numbers may be entered using the \verb+\pacs{#1}+ command. \end{abstract} \pacs{Valid PACS appear here}% PACS, the Physics and Astronomy % Classification Scheme. %\keywords{Suggested keywords}%Use showkeys class option if keyword %display desired \maketitle \section{\label{sec:level1}First-level heading:\protect\\ The line break was forced \lowercase{via} \textbackslash\textbackslash} This sample document demonstrates proper use of REV\TeX~4 (and \LaTeXe) in mansucripts prepared for submission to APS journals. Further information can be found in the REV\TeX~4 documentation included in the distribution or available at \url{http://publish.aps.org/revtex4/}. When commands are referred to in this example file, they are always shown with their required arguments, using normal \TeX{} format. In this format, \verb+#1+, \verb+#2+, etc. stand for required author-supplied arguments to commands. For example, in \verb+\section{#1}+ the \verb+#1+ stands for the title text of the author's section heading, and in \verb+\title{#1}+ the \verb+#1+ stands for the title text of the paper. Line breaks in section headings at all levels can be introduced using \textbackslash\textbackslash. A blank input line tells \TeX\ that the paragraph has ended. Note that top-level section headings are automatically uppercased. If a specific letter or word should appear in lowercase instead, you must escape it using \verb+\lowercase{#1}+ as in the word ``via'' above. \subsection{\label{sec:level2}Second-level heading: Formatting} This file may be formatted in both the \texttt{preprint} and \texttt{twocolumn} styles. \texttt{twocolumn} format may be used to mimic final journal output. Either format may be used for submission purposes; however, for peer review and production, APS will format the article using the \texttt{preprint} class option. Hence, it is essential that authors check that their manuscripts format acceptably under \texttt{preprint}. Manuscripts submitted to APS that do not format correctly under the \texttt{preprint} option may be delayed in both the editorial and production processes. The \texttt{widetext} environment will make the text the width of the full page, as on page~\pageref{eq:wideeq}. (Note the use the \verb+\pageref{#1}+ to get the page number right automatically.) The width-changing commands only take effect in \texttt{twocolumn} formatting. It has no effect if \texttt{preprint} formatting is chosen instead. \subsubsection{\label{sec:level3}Third-level heading: References and Footnotes} Reference citations in text use the commands \verb+\cite{#1}+ or \verb+\onlinecite{#1}+. \verb+#1+ may contain letters and numbers. The reference itself is specified by a \verb+\bibitem{#1}+ command with the same argument as the \verb+\cite{#1}+ command. \verb+\bibitem{#1}+ commands may be crafted by hand or, preferably, generated by using Bib\TeX. REV\TeX~4 includes Bib\TeX\ style files \verb+apsrev.bst+ and \verb+apsrmp.bst+ appropriate for \textit{Physical Review} and \textit{Reviews of Modern Physics}, respectively. REV\TeX~4 will automatically choose the style appropriate for the journal specified in the document class options. This sample file demonstrates the basic use of Bib\TeX\ through the use of \verb+\bibliography+ command which references the \verb+assamp.bib+ file. Running Bib\TeX\ (typically \texttt{bibtex apssamp}) after the first pass of \LaTeX\ produces the file \verb+apssamp.bbl+ which contains the automatically formatted \verb+\bibitem+ commands (including extra markup information via \verb+\bibinfo+ commands). If not using Bib\TeX, the \verb+thebibiliography+ environment should be used instead. To cite bibliography entries, use the \verb+\cite{#1}+ command. Most journal styles will display the corresponding number(s) in square brackets: \cite{feyn54,witten2001}. To avoid the square brackets, use \verb+\onlinecite{#1}+: Refs.~\onlinecite{feyn54} and \onlinecite{witten2001}. REV\TeX\ ``collapses'' lists of consecutive reference numbers where possible. We now cite everyone together \cite{feyn54,witten2001,epr}, and once again (Refs.~\onlinecite{epr,feyn54,witten2001}). Note that the references were also sorted into the correct numerical order as well. When the \verb+prb+ class option is used, the \verb+\cite{#1}+ command displays the reference's number as a superscript rather than using square brackets. Note that the location of the \verb+\cite{#1}+ command should be adjusted for the reference style: the superscript references in \verb+prb+ style must appear after punctuation; otherwise the reference must appear before any punctuation. This sample was written for the regular (non-\texttt{prb}) citation style. The command \verb+\onlinecite{#1}+ in the \texttt{prb} style also displays the reference on the baseline. Footnotes are produced using the \verb+\footnote{#1}+ command. Most APS journal styles put footnotes into the bibliography. REV\TeX~4 does this as well, but instead of interleaving the footnotes with the references, they are listed at the end of the references\footnote{This may be improved in future versions of REV\TeX.}. Because the correct numbering of the footnotes must occur after the numbering of the references, an extra pass of \LaTeX\ is required in order to get the numbering correct. \section{Math and Equations} Inline math may be typeset using the \verb+$+ delimiters. Bold math symbols may be achieved using the \verb+bm+ package and the \verb+\bm{#1}+ command it supplies. For instance, a bold $\alpha$ can be typeset as \verb+$\bm{\alpha}$+ giving $\bm{\alpha}$. Fraktur and Blackboard (or open face or double struck) characters should be typeset using the \verb+\mathfrak{#1}+ and \verb+\mathbb{#1}+ commands respectively. Both are supplied by the \texttt{amssymb} package. For example, \verb+$\mathbb{R}$+ gives $\mathbb{R}$ and \verb+$\mathfrak{G}$+ gives $\mathfrak{G}$ In \LaTeX\ there are many different ways to display equations, and a few preferred ways are noted below. Displayed math will center by default. Use the class option \verb+fleqn+ to flush equations left. Below we have numbered single-line equations; this is the most common type of equation in \textit{Physical Review}: \begin{eqnarray} \chi_+(p)\alt{\bf [}2|{\bf p}|(|{\bf p}|+p_z){\bf ]}^{-1/2} \left( \begin{array}{c} |{\bf p}|+p_z\\ px+ip_y \end{array}\right)\;, \\ \left\{% \openone234567890abc123\alpha\beta\gamma\delta1234556\alpha\beta \frac{1\sum^{a}_{b}}{A^2}% \right\}% \label{eq:one}. \end{eqnarray} Note the open one in Eq.~(\ref{eq:one}). Not all numbered equations will fit within a narrow column this way. The equation number will move down automatically if it cannot fit on the same line with a one-line equation: \begin{equation} \left\{ ab12345678abc123456abcdef\alpha\beta\gamma\delta1234556\alpha\beta \frac{1\sum^{a}_{b}}{A^2}% \right\}. \end{equation} When the \verb+\label{#1}+ command is used [cf. input for Eq.~(\ref{eq:one})], the equation can be referred to in text without knowing the equation number that \TeX\ will assign to it. Just use \verb+\ref{#1}+, where \verb+#1+ is the same name that used in the \verb+\label{#1}+ command. Unnumbered single-line equations can be typeset using the \verb+\[+, \verb+\]+ format: \[g^+g^+ \rightarrow g^+g^+g^+g^+ \dots ~,~~q^+q^+\rightarrow q^+g^+g^+ \dots ~. \] \subsection{Multiline equations} Multiline equations are obtained by using the \verb+eqnarray+ environment. Use the \verb+\nonumber+ command at the end of each line to avoid assigning a number: \begin{eqnarray} {\cal M}=&&ig_Z^2(4E_1E_2)^{1/2}(l_i^2)^{-1} \delta_{\sigma_1,-\sigma_2} (g_{\sigma_2}^e)^2\chi_{-\sigma_2}(p_2)\nonumber\\ &&\times [\epsilon_jl_i\epsilon_i]_{\sigma_1}\chi_{\sigma_1}(p_1), \end{eqnarray} \begin{eqnarray} \sum \vert M^{\text{viol}}_g \vert ^2&=&g^{2n-4}_S(Q^2)~N^{n-2} (N^2-1)\nonumber \\ & &\times \left( \sum_{i<j}\right) \sum_{\text{perm}} \frac{1}{S_{12}} \frac{1}{S_{12}} \sum_\tau c^f_\tau~. \end{eqnarray} \textbf{Note:} Do not use \verb+\label{#1}+ on a line of a multiline equation if \verb+\nonumber+ is also used on that line. Incorrect cross-referencing will result. Notice the use \verb+\text{#1}+ for using a Roman font within a math environment. To set a multiline equation without \emph{any} equation numbers, use the \verb+\begin{eqnarray*}+, \verb+\end{eqnarray*}+ format: \begin{eqnarray*} \sum \vert M^{\text{viol}}_g \vert ^2&=&g^{2n-4}_S(Q^2)~N^{n-2} (N^2-1)\\ & &\times \left( \sum_{i<j}\right) \left( \sum_{\text{perm}}\frac{1}{S_{12}S_{23}S_{n1}} \right) \frac{1}{S_{12}}~. \end{eqnarray*} To obtain numbers not normally produced by the automatic numbering, use the \verb+\tag{#1}+ command, where \verb+#1+ is the desired equation number. For example, to get an equation number of (\ref{eq:mynum}), \begin{equation} g^+g^+ \rightarrow g^+g^+g^+g^+ \dots ~,~~q^+q^+\rightarrow q^+g^+g^+ \dots ~. \tag{2.6$'$}\label{eq:mynum} \end{equation} A few notes on \verb=\tag{#1}=. \verb+\tag{#1}+ requires \texttt{amsmath}. The \verb+\tag{#1}+ must come before the \verb+\label{#1}+, if any. The numbering set with \verb+\tag{#1}+ is \textit{transparent} to the automatic numbering in REV\TeX{}; therefore, the number must be known ahead of time, and it must be manually adjusted if other equations are added. \verb+\tag{#1}+ works with both single-line and multiline equations. \verb+\tag{#1}+ should only be used in exceptional case - do not use it to number all equations in a paper. Enclosing single-line and multiline equations in \verb+\begin{subequations}+ and \verb+\end{subequations}+ will produce a set of equations that are ``numbered'' with letters, as shown in Eqs.~(\ref{subeq:1}) and (\ref{subeq:2}) below: \begin{subequations} \label{eq:whole} \begin{equation} \left\{ abc123456abcdef\alpha\beta\gamma\delta1234556\alpha\beta \frac{1\sum^{a}_{b}}{A^2} \right\},\label{subeq:1} \end{equation} \begin{eqnarray} {\cal M}=&&ig_Z^2(4E_1E_2)^{1/2}(l_i^2)^{-1} (g_{\sigma_2}^e)^2\chi_{-\sigma_2}(p_2)\nonumber\\ &&\times [\epsilon_i]_{\sigma_1}\chi_{\sigma_1}(p_1).\label{subeq:2} \end{eqnarray} \end{subequations} Putting a \verb+\label{#1}+ command right after the \verb+\begin{subequations}+, allows one to reference all the equations in a subequations environment. For example, the equations in the preceding subequations environment were Eqs.~(\ref{eq:whole}). \subsubsection{Wide equations} The equation that follows is set in a wide format, i.e., it spans across the full page. The wide format is reserved for long equations that cannot be easily broken into four lines or less: \begin{widetext} \begin{equation} {\cal R}^{(\text{d})}= g_{\sigma_2}^e \left( \frac{[\Gamma^Z(3,21)]_{\sigma_1}}{Q_{12}^2-M_W^2} +\frac{[\Gamma^Z(13,2)]_{\sigma_1}}{Q_{13}^2-M_W^2} \right) + x_WQ_e \left( \frac{[\Gamma^\gamma(3,21)]_{\sigma_1}}{Q_{12}^2-M_W^2} +\frac{[\Gamma^\gamma(13,2)]_{\sigma_1}}{Q_{13}^2-M_W^2} \right)\;. \label{eq:wideeq} \end{equation} \end{widetext} This is typed to show the output is in wide format. (Since there is no input line between \verb+\equation+ and this paragraph, there is no paragraph indent for this paragraph.) \section{Cross-referencing} REV\TeX{} will automatically number sections, equations, figure captions, and tables. In order to reference them in text, use the \verb+\label{#1}+ and \verb+\ref{#1}+ commands. To reference a particular page, use the \verb+\pageref{#1}+ command. The \verb+\label{#1}+ should appear in a section heading, within an equation, or in a table or figure caption. The \verb+\ref{#1}+ command is used in the text where the citation is to be displayed. Some examples: Section~\ref{sec:level1} on page~\pageref{sec:level1}, Table~\ref{tab:table1}, and Fig.~\ref{fig:epsart}. \section{Figures and Tables} Figures and tables are typically ``floats'' which means that their final position is determined by \LaTeX\ while the document is being typeset. \LaTeX\ isn't always successful in placing floats optimally. Figures may be inserted by using either the \texttt{graphics} or \texttt{graphix} packages. These packages both define the \verb+\includegraphics{#1}+ command, but they differ in how optional arguments for specifying the orientation, scaling, and translation of the figure. Fig.~\ref{fig:epsart} shows a figure that is small enough to fit in a single column. It is embedded using the \texttt{figure} environment which provides both the caption and the imports the figure file. \begin{figure} \includegraphics{fig_1}% Here is how to import EPS art \caption{\label{fig:epsart} A figure caption. The figure captions are automatically numbered.} \end{figure} Fig.~\ref{fig:wide} is a figure that is too wide for a single column, so instead the \texttt{figure*} environment has been used. \begin{figure*} \includegraphics{fig_2}% Here is how to import EPS art \caption{\label{fig:wide}Use the figure* environment to get a wide figure that spans the page in \texttt{twocolumn} formatting.} \end{figure*} The heart of any table is the \texttt{tabular} environment which gives the rows of the tables. Each row consists of column entries separated by \verb+&+'s and terminates with \textbackslash\textbackslash. The required argument for the \texttt{tabular} environment specifies how data are displayed in the columns. For instance, entries may be centered, left-justified, right-justified, aligned on a decimal point. Extra column-spacing may be be specified as well, although REV\TeX~4 sets this spacing so that the columns fill the width of the table. Horizontal rules are typeset using the \verb+\hline+ command. The doubled (or Scotch) rules that appear at the top and bottom of a table can be achieved enclosing the \texttt{tabular} environment within a \texttt{ruledtabular} environment. Rows whose columns span multiple columns can be typeset using the \verb+\multicolumn{#1}{#2}{#3}+ command (for example, see the first row of Table~\ref{tab:table3}). Tables~\ref{tab:table1}-\ref{tab:table4} show various effects. Tables that fit in a narrow column are contained in a \texttt{table} environment. Table~\ref{tab:table3} is a wide table set with the \texttt{table*} environment. Long tables may need to break across pages. The most straightforward way to accomplish this is to specify the \verb+[H]+ float placement on the \texttt{table} or \texttt{table*} environment. However, the standard \LaTeXe\ package \texttt{longtable} will give more control over how tables break and will allow headers and footers to be specified for each page of the table. A simple example of the use of \texttt{longtable} can be found in the file \texttt{summary.tex} that is included with the REV\TeX~4 distribution. There are two methods for setting footnotes within a table (these footnotes will be displayed directly below the table rather than at the bottom of the page or in the bibliography). The easiest and preferred method is just to use the \verb+\footnote{#1}+ command. This will automatically enumerate the footnotes with lowercase roman letters. However, it is sometimes necessary to have multiple entries in the table share the same footnote. In this case, there is no choice but to manually create the footnotes using \verb+\footnotemark[#1]+ and \verb+\footnotetext[#1]{#2}+. \texttt{\#1} is a numeric value. Each time the same value for \texttt{\#1} is used, the same mark is produced in the table. The \verb+\footnotetext[#1]{#2}+ commands are placed after the \texttt{tabular} environment. Examine the \LaTeX\ source and output for Tables~\ref{tab:table1} and \ref{tab:table2} for examples. \begin{table} \caption{\label{tab:table1}This is a narrow table which fits into a narrow column when using \texttt{twocolumn} formatting. Note that REV\TeX~4 adjusts the intercolumn spacing so that the table fills the entire width of the column. Table captions are numbered automatically. This table illustrates left-aligned, centered, and right-aligned columns. } \begin{ruledtabular} \begin{tabular}{lcr} Left\footnote{Note a.}&Centered\footnote{Note b.}&Right\\ \hline 1 & 2 & 3\\ 10 & 20 & 30\\ 100 & 200 & 300\\ \end{tabular} \end{ruledtabular} \end{table} \begin{table} \caption{\label{tab:table2}A table with more columns still fits properly in a column. Note that several entries share the same footnote. Inspect the \LaTeX\ input for this table to see exactly how it is done.} \begin{ruledtabular} \begin{tabular}{cccccccc} &$r_c$ (\AA)&$r_0$ (\AA)&$\kappa r_0$& &$r_c$ (\AA) &$r_0$ (\AA)&$\kappa r_0$\\ \hline Cu& 0.800 & 14.10 & 2.550 &Sn\footnotemark[1] & 0.680 & 1.870 & 3.700 \\ Ag& 0.990 & 15.90 & 2.710 &Pb\footnotemark[2] & 0.450 & 1.930 & 3.760 \\ Au& 1.150 & 15.90 & 2.710 &Ca\footnotemark[3] & 0.750 & 2.170 & 3.560 \\ Mg& 0.490 & 17.60 & 3.200 &Sr\footnotemark[4] & 0.900 & 2.370 & 3.720 \\ Zn& 0.300 & 15.20 & 2.970 &Li\footnotemark[2] & 0.380 & 1.730 & 2.830 \\ Cd& 0.530 & 17.10 & 3.160 &Na\footnotemark[5] & 0.760 & 2.110 & 3.120 \\ Hg& 0.550 & 17.80 & 3.220 &K\footnotemark[5] & 1.120 & 2.620 & 3.480 \\ Al& 0.230 & 15.80 & 3.240 &Rb\footnotemark[3] & 1.330 & 2.800 & 3.590 \\ Ga& 0.310 & 16.70 & 3.330 &Cs\footnotemark[4] & 1.420 & 3.030 & 3.740 \\ In& 0.460 & 18.40 & 3.500 &Ba\footnotemark[5] & 0.960 & 2.460 & 3.780 \\ Tl& 0.480 & 18.90 & 3.550 & & & & \\ \end{tabular} \end{ruledtabular} \footnotetext[1]{Here's the first, from Ref.~\onlinecite{feyn54}.} \footnotetext[2]{Here's the second.} \footnotetext[3]{Here's the third.} \footnotetext[4]{Here's the fourth.} \footnotetext[5]{And etc.} \end{table} \begin{table*} \caption{\label{tab:table3}This is a wide table that spans the page width in \texttt{twocolumn} mode. It is formatted using the \texttt{table*} environment. It also demonstates the use of \textbackslash\texttt{multicolumn} in rows with entries that span more than one column.} \begin{ruledtabular} \begin{tabular}{ccccc} &\multicolumn{2}{c}{$D_{4h}^1$}&\multicolumn{2}{c}{$D_{4h}^5$}\\ Ion&1st alternative&2nd alternative&lst alternative &2nd alternative\\ \hline K&$(2e)+(2f)$&$(4i)$ &$(2c)+(2d)$&$(4f)$ \\ Mn&$(2g)$\footnote{The $z$ parameter of these positions is $z\sim\frac{1}{4}$.} &$(a)+(b)+(c)+(d)$&$(4e)$&$(2a)+(2b)$\\ Cl&$(a)+(b)+(c)+(d)$&$(2g)$\footnotemark[1] &$(4e)^{\text{a}}$\\ He&$(8r)^{\text{a}}$&$(4j)^{\text{a}}$&$(4g)^{\text{a}}$\\ Ag& &$(4k)^{\text{a}}$& &$(4h)^{\text{a}}$\\ \end{tabular} \end{ruledtabular} \end{table*} \begin{table} \caption{\label{tab:table4}Numbers in columns Three--Five have been aligned by using the ``d'' column specifier (requires the \texttt{dcolumn} package). Non-numeric entries (those entries without a ``.'') in a ``d'' column are aligned on the decimal point. Use the ``D'' specifier for more complex layouts. } \begin{ruledtabular} \begin{tabular}{ccddd} One&Two&\mbox{Three}&\mbox{Four}&\mbox{Five}\\ \hline one&two&\mbox{three}&\mbox{four}&\mbox{five}\\ He&2& 2.77234 & 45672. & 0.69 \\ C\footnote{Some tables require footnotes.} &C\footnote{Some tables need more than one footnote.} & 12537.64 & 37.66345 & 86.37 \\ \end{tabular} \end{ruledtabular} \end{table} \textit{Physical Review} style requires that the initial citation of figures or tables be in numerical order in text, so don't cite Fig.~\ref{fig:wide} until Fig.~\ref{fig:epsart} has been cited. \begin{acknowledgments} We wish to acknowledge the support of the author community in using REV\TeX{}, offering suggestions and encouragement, testing new versions, \dots. \end{acknowledgments} \appendix \section{Appendixes} To start the appendixes, use the \verb+\appendix+ command. This signals that all following section commands refer to appendixes instead of regular sections. Therefore, the \verb+\appendix+ command should be used only once---to setup the section commands to act as appendixes. Thereafter normal section commands are used. The heading for a section can be left empty. For example, \begin{verbatim} \appendix \section{} \end{verbatim} will produce an appendix heading that says ``APPENDIX A'' and \begin{verbatim} \appendix \section{Background} \end{verbatim} will produce an appendix heading that says ``APPENDIX A: BACKGROUND'' (note that the colon is set automatically). If there is only one appendix, then the letter ``A'' should not appear. This is suppressed by using the star version of the appendix command (\verb+\appendix*+ in the place of \verb+\appendix+). \section{A little more on appendixes} Observe that this appendix was started by using \begin{verbatim} \section{A little more on appendixes} \end{verbatim} Note the equation number in an appendix: \begin{equation} E=mc^2. \end{equation} \subsection{\label{app:subsec}A subsection in an appendix} You can use a subsection or subsubsection in an appendix. Note the numbering: we are now in Appendix \ref{app:subsec}. Note the equation numbers in this appendix, produced with the subequations environment: \begin{subequations} \begin{eqnarray} E&=&mc, \label{appa} \\ E&=&mc^2, \label{appb} \\ E&\agt& mc^3. \label{appc} \end{eqnarray} \end{subequations} They turn out to be Eqs.~(\ref{appa}), (\ref{appb}), and (\ref{appc}). \newpage %Just because of unusual number of tables stacked at end \bibliography{apssamp}% Produces the bibliography via BibTeX. \end{document} % % ****** End of file apssamp.tex ****** ���������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/sample/fig_1.eps������������������������������������������������������������������0100644�0000764�0000764�00000000273�07332603765�016473� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%!PS-Adobe-3.0 %%BoundingBox: 0 0 100 100 0 0 moveto 100 0 lineto 100 100 lineto 0 100 lineto 0 0 lineto stroke 20 50 moveto /Times findfont 10 scalefont setfont (Test Figure) show %%EOF �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/sample/fig_2.eps������������������������������������������������������������������0100644�0000764�0000764�00000000276�07332603765�016477� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%!PS-Adobe-3.0 %%BoundingBox: 0 0 500 80 0 0 moveto 500 0 lineto 500 80 lineto 0 80 lineto 0 0 lineto stroke 200 40 moveto /Times findfont 10 scalefont setfont (Wide Test Figure) show %%EOF ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/sample/template.aps���������������������������������������������������������������0100644�0000764�0000764�00000013331�07332604061�017302� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%% ****** Start of file template.aps ****** % %% %% %% This file is part of the APS files in the REVTeX 4 distribution. %% Version 4.0 of REVTeX, August 2001 %% %% %% Copyright (c) 2001 The American Physical Society. %% %% See the REVTeX 4 README file for restrictions and more information. %% % % This is a template for producing manuscripts for use with REVTEX 4.0 % Copy this file to another name and then work on that file. % That way, you always have this original template file to use. % % Group addresses by affiliation; use superscriptaddress for long % author lists, or if there are many overlapping affiliations. % For Phys. Rev. appearance, change preprint to twocolumn. % Choose pra, prb, prc, prd, pre, prl, prstab, or rmp for journal % Add 'draft' option to mark overfull boxes with black boxes % Add 'showpacs' option to make PACS codes appear % Add 'showkeys' option to make keywords appear \documentclass[aps,prl,preprint,groupedaddress]{revtex4} %\documentclass[aps,prl,preprint,superscriptaddress]{revtex4} %\documentclass[aps,prl,twocolumn,groupedaddress]{revtex4} % You should use BibTeX and apsrev.bst for references % Choosing a journal automatically selects the correct APS % BibTeX style file (bst file), so only uncomment the line % below if necessary. %\bibliographystyle{apsrev} \begin{document} % Use the \preprint command to place your local institutional report % number in the upper righthand corner of the title page in preprint mode. % Multiple \preprint commands are allowed. % Use the 'preprintnumbers' class option to override journal defaults % to display numbers if necessary %\preprint{} %Title of paper \title{} % repeat the \author .. \affiliation etc. as needed % \email, \thanks, \homepage, \altaffiliation all apply to the current % author. Explanatory text should go in the []'s, actual e-mail % address or url should go in the {}'s for \email and \homepage. % Please use the appropriate macro foreach each type of information % \affiliation command applies to all authors since the last % \affiliation command. The \affiliation command should follow the % other information % \affiliation can be followed by \email, \homepage, \thanks as well. \author{} %\email[]{Your e-mail address} %\homepage[]{Your web page} %\thanks{} %\altaffiliation{} \affiliation{} %Collaboration name if desired (requires use of superscriptaddress %option in \documentclass). \noaffiliation is required (may also be %used with the \author command). %\collaboration can be followed by \email, \homepage, \thanks as well. %\collaboration{} %\noaffiliation \date{\today} \begin{abstract} % insert abstract here \end{abstract} % insert suggested PACS numbers in braces on next line \pacs{} % insert suggested keywords - APS authors don't need to do this %\keywords{} %\maketitle must follow title, authors, abstract, \pacs, and \keywords \maketitle % body of paper here - Use proper section commands % References should be done using the \cite, \ref, and \label commands \section{} % Put \label in argument of \section for cross-referencing %\section{\label{}} \subsection{} \subsubsection{} % If in two-column mode, this environment will change to single-column % format so that long equations can be displayed. Use % sparingly. %\begin{widetext} % put long equation here %\end{widetext} % figures should be put into the text as floats. % Use the graphics or graphicx packages (distributed with LaTeX2e) % and the \includegraphics macro defined in those packages. % See the LaTeX Graphics Companion by Michel Goosens, Sebastian Rahtz, % and Frank Mittelbach for instance. % % Here is an example of the general form of a figure: % Fill in the caption in the braces of the \caption{} command. Put the label % that you will use with \ref{} command in the braces of the \label{} command. % Use the figure* environment if the figure should span across the % entire page. There is no need to do explicit centering. % \begin{figure} % \includegraphics{}% % \caption{\label{}} % \end{figure} % Surround figure environment with turnpage environment for landscape % figure % \begin{turnpage} % \begin{figure} % \includegraphics{}% % \caption{\label{}} % \end{figure} % \end{turnpage} % tables should appear as floats within the text % % Here is an example of the general form of a table: % Fill in the caption in the braces of the \caption{} command. Put the label % that you will use with \ref{} command in the braces of the \label{} command. % Insert the column specifiers (l, r, c, d, etc.) in the empty braces of the % \begin{tabular}{} command. % The ruledtabular enviroment adds doubled rules to table and sets a % reasonable default table settings. % Use the table* environment to get a full-width table in two-column % Add \usepackage{longtable} and the longtable (or longtable*} % environment for nicely formatted long tables. Or use the the [H] % placement option to break a long table (with less control than % in longtable). % \begin{table}%[H] add [H] placement to break table across pages % \caption{\label{}} % \begin{ruledtabular} % \begin{tabular}{} % Lines of table here ending with \\ % \end{tabular} % \end{ruledtabular} % \end{table} % Surround table environment with turnpage environment for landscape % table % \begin{turnpage} % \begin{table} % \caption{\label{}} % \begin{ruledtabular} % \begin{tabular}{} % \end{tabular} % \end{ruledtabular} % \end{table} % \end{turnpage} % Specify following sections are appendices. Use \appendix* if there % only one appendix. %\appendix %\section{} % If you have acknowledgments, this puts in the proper section head. %\begin{acknowledgments} % put your acknowledgments here. %\end{acknowledgments} % Create the reference section using BibTeX: \bibliography{basename of .bib file} \end{document} % % ****** End of file template.aps ****** �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/src/������������������������������������������������������������������������������0040755�0000764�0000764�00000000000�07332604132�014271� 5����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/src/ltxdocext.dtx�����������������������������������������������������������������0100644�0000764�0000764�00000121012�07332604132�017022� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% \iffalse &pdflatex ltxdoc klootch % ltxdocext.dtx: package to extend the ltxdoc class of standard LaTeX % Copyright (c) 1999 Arthur Ogawa % % Disclaimer % This file is distributed WITHOUT ANY WARRANTY; % without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % ReadMe % For the documentation and more detailed instructions for % installation, typeset this document with \LaTeX. % \fi % \CheckSum{938} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~}% % % \iffalse ltxdoc klootch %%% @LaTeX-file{ %%% filename = "ltxdocext.dtx", %%% version = "0.0a0", %%% date = "1999/06/04", %%% time = "11:23:00 GMT", %%% checksum = "929", %%% author = "Arthur Ogawa (mailto:ogawa@teleport.com)", %%% copyright = "Copyright (C) 1999 Arthur Ogawa, %%% all rights reserved. Copying of this file is %%% authorized only if either: %%% (1) you make absolutely no changes to your copy, %%% including name; OR %%% (2) if you do make changes, you first rename it %%% to some other name.", %%% address = "Arthur Ogawa, %%% USA", %%% telephone = "", %%% FAX = "", %%% email = "ogawa@teleport.com", %%% codetable = "ISO/ASCII", %%% keywords = "latex, ltxdoc", %%% supported = "yes", %%% abstract = "extensions to the ltxdoc class", %%% docstring = "The checksum field above generated by ltxdoc", %%% } % \fi % % \iffalse ltxdoc klootch % The following references the \file{00readme.txt} file, % which contains basic information about this package. % The contents of this file are generated when % you typeset the programmer's documentation. % Search on "{filecontents*}{00readme.txt}" to locate it. % \fi\input{00readme.txt}% % % \subsection{Bill of Materials} % % Following is a list of the files in this distribution arranged % according to provenance. % % \subsubsection{Primary Source}% % One single file generates all. %\begin{verbatim} %ltxdocext.dtx %\end{verbatim} % % \subsubsection{Generated by \texttt{latex ltxdocext.dtx}}% % Typesetting the source file under \LaTeX\ % generates the readme and the installer. %\begin{verbatim} %00readme.txt ltxdocext.ins %\end{verbatim} % % \subsubsection{Generated by \texttt{tex ltxdocext.ins}}% % Typesetting the installer generates % the package files. %\begin{verbatim} %ltxdocext.sty acrofont.sty %\end{verbatim} % % \subsubsection{Documentation}% % The following are the online documentation: % \begin{verbatim} %ltxdocext.pdf % \end{verbatim} % % \subsubsection{Auxiliary}% % The following are auxiliary files generated % in the course of running \LaTeX: % \begin{verbatim} %ltxdocext.aux ltxdocext.idx ltxdocext.ind ltxdocext.log ltxdocext.toc % \end{verbatim} % % \section{Code common to all modules}% % % The following may look a bit klootchy, but we % want to require only one place in this file % where the version number is stated, % and we also want to ensure that the version % number is embedded into every generated file. % % Now we declare that % these files can only be used with \LaTeXe. % An appropriate message is displayed if % a different \TeX{} format is used. % \begin{macrocode} %<*doc|extensions|fonts> \NeedsTeXFormat{LaTeX2e}[1995/12/01]% %</doc|extensions|fonts> % \end{macrocode} % As desired, the following modules all % take common version information: % \begin{macrocode} %<extensions>\ProvidesFile{ltxdocext.sty}% %<fonts>\ProvidesFile{acrofont.sty}% %<*doc> \expandafter\ProvidesFile\expandafter{\jobname.dtx}% %</doc> % \end{macrocode} % % The following line contains, for once and for all, % the version and date information. % By various means, this information is reproduced % consistently in all generated files and in the % typeset documentation. % \begin{macrocode} [1999/06/04 0.0a0 ltxdoc extensions package]% \fileversion % \end{macrocode} % % % \section{The driver module \texttt{doc}} % % This module, consisting of the present section, % typesets the programmer's documentation, % generating the \file{.ins} installer and \file{00readme.txt} as required. % % Because the only uncommented-out lines of code at the beginning of % this file constitute the \file{doc} module itself, % we can simply typeset the \file{.dtx} file directly, % and there is thus rarely any need to % generate the ``doc'' {\sc docstrip} module. % Module delimiters are nonetheless required so that % this code does not find its way into the other modules. % % The \enve{document} command concludes the typesetting run. % % \begin{macrocode} %<*doc> % \end{macrocode} % % \subsection{Stubs for \file{ltxdocext.sty} and \file{acrofont.sty}} % % This \env{filecontents} environment generates stub files % \file{ltxdocext.sty} and \file{acrofont.sty}. % Stubs are needed because the documentation for this package % requires them and they might not yet be present. % % A real version of these files will be generated % when you typeset \file{ltxdocext.ins}, at which point % the stub file will be overwritten (you will have to give {\sc docstrip} % permission to do this). % \begin{macrocode} \begin{filecontents}{ltxdocext.sty} % Stub version of ltxdocext.sty \end{filecontents} \begin{filecontents}{acrofont.sty} % Stub version of acrofont.sty \end{filecontents} % \end{macrocode} % % \subsection{The Preamble} % The programmers documentation is formatted % with the \classname{ltxdoc} class with local customizations, % and with the usual code line indexing. % \begin{macrocode} \documentclass[draft]{ltxdoc} \RequirePackage{ltxdocext}% \RequirePackage{acrofont}% \CodelineIndex\EnableCrossrefs % \end{macrocode} % % \subsubsection{Docstrip and info directives} % We use so many {\sc docstrip} modules that we set the % \texttt{StandardModuleDepth} counter to 1. % \begin{macrocode} \setcounter{StandardModuleDepth}{1} % \end{macrocode} % The following command retrieves the date and version information % from this file. % \begin{macrocode} \expandafter\GetFileInfo\expandafter{\jobname.dtx}% % \end{macrocode} % % % \subsection{The installer file} % % The installer \file{ltxdocext.ins} appears here. % If you have retrieved the standard distribution of this package, % the installer file is already on your filesystem. % If you are bootstrapping, % the first typesetting of the \file{.dtx} file % will cause the installer to be generated. % % The following modules are used to direct % {\sc docstrip} in generating the external files: % \begin{center} % \begin{tabular}{lll} % \textbf{Module}&\textbf{File}&\textbf{Description}\\ % doc &\file{ltxdocext.drv}&driver for programmer's documantation\\ % extensions&\file{ltxdocext.sty}<xdoc extensions package\\ % fonts &\file{acrofont.sty} &package to use only Acrobat fonts % \end{tabular} % \end{center} % % \begin{macrocode} \begin{filecontents}{ltxdocext.ins} %% This file will generate documentation and runtime files %% from ltxdocext.dtx when run through LaTeX or TeX. \input docstrip \preamble This is a generated file; altering it directly is inadvisable; instead, modify the original source file. See the URL in the file 00readme.txt. Copyright notice. These files are distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. \endpreamble \keepsilent \generate{% \file{ltxdocext.drv}{\from{ltxdocext.dtx}{doc}}% \file{ltxdocext.sty}{\from{ltxdocext.dtx}{extensions}}% \file{acrofont.sty}{\from{ltxdocext.dtx}{fonts}}% }% \ifToplevel{ \Msg{***********************************************************} \Msg{*} \Msg{* To finish the installation, please move} \Msg{* ltxdocext.sty} \Msg{* into a directory searched by TeX.} \Msg{*} \Msg{* To produce the user documentation, run ltxdocext.tex through LaTeX.} \Msg{*} \Msg{* To produce the programmer documentation, run ltxdocext.dtx through LaTeX.} \Msg{*} \Msg{* Happy TeXing} \Msg{***********************************************************} } \endbatchfile \end{filecontents} % \end{macrocode} % Note that, because all of the files generated by the installer % are part of the standard distribution, it will % be necessary to run the installer only when bootstrapping % (or, of course, during development). % Note, too, that it is rare to generate the \file{doc} % module because it suffices to simply typeset the \file{.dtx} file itself. % % \subsection{The ``Read Me'' File} % As promised above, here is the contents of the % ``Read Me'' file. That file serves a double purpose, % since it also constitutes the beginining of the % programmer's documentation. What better thing, after % all, to have appear at the beginning of the % typeset documentation? % % A good discussion of how to write a ReadMe file can be found in % Engst, Tonya, ``Writing a ReadMe File? Read This'' % \emph{MacTech} October 1998, p. 58. % % Note the appearance of the % \cmd\StopEventually\ command, which marks the % dividing line between the user documentation % and the programmer documentation. % % The usual user will not be asked to % do a full build, not to speak % of the bootstrap. % Instructions for carrying these processes % begin the programmer's manual. % % \begin{macrocode} \begin{filecontents*}{00readme.txt} \title{% Extensions to the \classname{ltxdoc} class% \thanks{% This file has version number \fileversion, last revised \filedate.% % For version number and date, search on "\fileversion" in the .dtx file, % or see the end of the 00readme.txt file. }% }% \author{% Arthur Ogawa (\texttt{mailto:ogawa@teleport.com}), \fileversion\\Copyright (C) 1999 Arthur Ogawa }% \maketitle This file embodies the \classname{ltxdocext} package, the implementation and its user documentation. The distribution point for this work is \url{ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxdocext...}, which contains fully unpacked, prebuilt runtime files and documentation. To use this document class, you must have a working \TeX\ installation equipped with \LaTeXe\ and possibly pdftex and Adobe Acrobat Reader or equivalent. To install, retrieve the distribution, unpack it into a directory on the target computer, and move the files \file{ltxdocext.sty} and \file{acrofont.sty} into a location in your filesystem where they will be found by \LaTeX. If you will be using the \classname{acrofont} package, you must also install the virtual fonts \file{zpsynocmrv}, \file{zptmnocmr}, \file{zptmnocmrm}, and \file{zpzcnocmry}. The corresponding \file{.tfm}, \file{.vf}, and \file{.vpl} files are part of this distribution. To use, read the user documentation \file{ltxdocext.pdf}. The \file{.dtx} file, \file{ltxdocext.dtx}, constitutes in itself an instance of use of the \classname{ltxdocext} package and the \classname{acrofont} package. \tableofcontents \section{Processing Instructions} The package files \file{ltxdocext.sty} and \file{acrofont.sty} are generated from this file, \file{ltxdocext.dtx}, via the {\sc docstrip} facility of \LaTeX via |tex ltxdocext.ins|. The typeset documentation that you are now reading is generated from the same file by typesetting it with \LaTeX\ or pdftex via |latex ltxdocext.dtx| or |pdflatex ltxdocext.dtx|. \subsection{Build Instructions} You may bootstrap this suite of files solely from \file{ltxdocext.dtx}. Prepare by installing \LaTeXe\ (and either tex or pdftex) on your computer, then carry out the following steps: \begin{enumerate} \item Within an otherwise empty directory, typeset \file{ltxdocext.dtx} with \LaTeX\ or pdflatex; you will obtain the typeset documentation you are now reading, along with the installer \file{ltxdocext.ins}, and the file \file{00readme.txt}. \item Now typeset \file{ltxdocext.ins}, thereby generating the package file \file{ltxdocext.sty}, and the package file \file{acrofont.sty}. Make sure that {\sc docstrip} receives permission to overwrite existing versions of these packages. \item Install \classname{ltxdocext.sty} and \classname{acrofont.sty} by moving them to a location in your filesystem where they will be found by \LaTeX. \item Now complete the typesetting of the documentation by retypesetting \file{ltxdocext.dtx}. Note: you will have to run \LaTeX\ twice, then \file{makeindex}, then \LaTeX\ again in order to obtain a valid index and table of contents. \end{enumerate} \end{filecontents*} % \end{macrocode} % % \subsection{The Document Body} % % Here is the document body, containing only a % \cmd\DocInput\ directive---referring to this very file. % This very cute self-reference is a common \classname{ltxdoc} idiom. % \begin{macrocode} \begin{document}% \expandafter\DocInput\expandafter{\jobname.dtx}% % ^^A\PrintChanges \end{document} % \end{macrocode} % % \begin{macrocode} %</doc> % \end{macrocode} % % \section{Using the \classname{ltxdoc} and \classname{acrofont} packages}% % These packages are an adjunct to the % standard \LaTeX\ \classname{ltxdoc} class and may be % simply invoked as follows: %\begin{verbatim} %\documentclass[draft]{ltxdoc} %\RequirePackage{ltxdocext}% %\RequirePackage{acrofont}% %\CodelineIndex\EnableCrossrefs %\end{verbatim} % % Your document should simply cleave to the standards of the % \classname{ltxdoc} class, with extensions and alterations as noted. % % \subsection{Extensions to the \classname{ltxdoc} class}% % % \subsubsection{Extensions to the \env{verbatim} environment and \cs{verb} command}% % % The delimiters \verb$<<$ and \verb$>>$ within the scope of the verbatim environment % or within the argument of the \cmd\verb\ command produce % italics surrounded by angle brackets. % This typographic convention usually indicates % \emph{metalanguage}, i.e., a placeholder. % % To obtain the angle bracket character per se, % double the character, viz., ``\verb$the delimiter \verb+<<<<+$''. % % \subsubsection{The -\texttt{matter} Commands Work} % The sectioning commands \cmd\frontmatter, \cmd\mainmatter, and \cmd\backmatter % of the standard \LaTeX\ \classname{book} class are operative in the % \classname{ltxdoc} class. % % \subsubsection{The \cs{GetFileInfo} command}\label{sec:GetFileInfo} % You can use the \cmd\GetFileInfo\ command to extract % the date, version, and file info of a file which has registered itself % via the \cmd\ProvidesFile\ or \cmd\ProvidesClass\ command % (employing the optional argument thereto). % % For instance, if your document contains the following: %\begin{verbatim} %\RequirePackage{ltxdocext}% %\GetFileInfo{ltxdocext.sty}% %\end{verbatim} % then the following control sequence names will have % a value corresponding to that package's \cmd\ProvidesFile\ % command: % \cmd\filedate: the file's date, % \cmd\fileversion: the file's version, and % \cmd\fileinfo: the file's info. % % \subsubsection{Self-Indexing Commands}% % Certain commands automatically produce an index entry % (or several related entries) according to the meaning. % % \begin{unnumtable} % \begin{tabular}{ll} % meta-text &\cmd\m\arg{text}\\ % command &\cmd\cmd\cmd\csname\\ % environment name &\cmd\env\arg{name}\\ % \cmd\begin\verb`{foo}`&\cmd\envb\arg{foo}\\ % \cmd\end\verb`{foo}` &\cmd\enve\arg{foo}\\ % argument &\cmd\arg\arg{name}\\ % optional &\cmd\oarg\arg{name}\\ % filename &\cmd\file\arg{name}\\ % url &\cmd\url\arg{name}\\ % document class &\cmd\classname\arg{name}\\ % document substyle &\cmd\substyle\arg{name}\\ % class option &\cmd\classoption\arg{name} % \end{tabular} % \end{unnumtable} % % \subsubsection{Unnumbered Tables}% % % When your documentation requires the use of an unnumbered table, % use the \env{unnumtable} environment: % \begin{verbatim} %\begin{unnumtable} %\begin{tabular}{ll} %<table rows> %\end{tabular} %\end{unnumtable} % \end{verbatim} % % \subsubsection{Structuring Tables}% % The commands \cmd\toprule, \cmd\colrule, and \cmd\botrule % allow you to mark the beginning of the column heads % the beginning of the table body, and the end of % the table body, respectively. % In context, % \begin{verbatim} %\begin{tabular}{ll} %\toprule %<table head rows> %\colrule %<table rows> %\botrule %\end{tabular} % \end{verbatim} % % \subsubsection{A Sectioning Command Below \cs{subsection}}% % The \cmd\subsubsection\ command is defined. % % % \subsection{Alterations to the \classname{ltxdoc} class}% % The following involve no new markup, but they % do change the appearance of your formatted documentation: % \begin{enumerate} % \item % Using the \classname{acrofont} package causes your % document to be formatted using the standard % Acrobat fonts to the greatest extent possible. % This means that for most documents, Computer Modern % is not used at all. % Math that unavoidable must use CM still exists, however. % \item % An index will be produced at the end of the document % without your needing to explicitly mark it up, and % it will have an entry in the TOC. % \item % The \env{quote} environment has a slightly smaller left margin. % \item % Array columns are set tight by default. % \item % A host of \cmd\DoNotIndex\ directives are invoked. % I intend this list to grow to encompass % even more commands. Send me your suggestions. % \end{enumerate} % % % %\StopEventually{} % % \section{Extensions to the ltxdoc class} % The \file{extensions} {\sc docstrip} module comprises the % package \classname{ltxdocext.sty}, which provides extensions % to the standard \LaTeX\ \classname{ltxdoc} class. % % \subsection{Beginning of the \file{extensions} {\sc docstrip} module} % \begin{macrocode} %<*extensions> \def\class@name{ltxdocext}% \expandafter\PackageInfo\expandafter{\class@name}{% An extension to the \protect\LaTeXe\space ltxdoc class by A. Ogawa (ogawa@teleport.com)% }% % \end{macrocode} % % \subsection{Incorporate \classname{ltxguide.cls} extensions} % % Code extracted from \classname{ltxguide.cls}, by Alan Jeffrey. % ``This code stolen from \classname{ltxguide.cls}: % Some hacks with verbatim... NB: this would be better done with the % verbatim package, but this document has to run on any \LaTeX % installation.'' % \begin{macrocode} \RequirePackage{verbatim}% \let\o@verbatim\verbatim \def\verbatim{% \ifhmode\unskip\par\fi % \nopagebreak % Overridden by list penalty \ifx\@currsize\normalsize \small \fi \o@verbatim }% % \end{macrocode} % % Here we extend the font-setting command to include making \texttt{<>} active % (i.e., adjusting the input encoding). % \begin{macrocode} \renewcommand \verbatim@font {% \normalfont \ttfamily \catcode`\<=\active \catcode`\>=\active }% % \end{macrocode} % % Make \verb$|...|$ a synonym for \cmd\verb\verb$|...|$. % \begin{macrocode} \RequirePackage{shortvrb} \AtBeginDocument{% \MakeShortVerb{\|}% }% % \end{macrocode} % % Make active bracket characters produce italics surrounded by angle brackets % (used in \env{verbatim} and \cmd\verb). % \verb|<<| produces a less-than, and \verb|>>| produces a greater-than. % \begin{macrocode} \begingroup \catcode`\<=\active \catcode`\>=\active \gdef<{\@ifnextchar<\@lt\@meta} \gdef>{\@ifnextchar>\@gt\@gtr@err} \gdef\@meta#1>{\m{#1}} \gdef\@lt<{\char`\<} \gdef\@gt>{\char`\>} \endgroup \def\@gtr@err{% \ClassError{ltxguide}{% Isolated \protect>% }{% In this document class, \protect<...\protect> is used to indicate a parameter.\MessageBreak I've just found a \protect> on its own. Perhaps you meant to type \protect>\protect>? }% } \def\verbatim@nolig@list{\do\`\do\,\do\'\do\-} % \end{macrocode} % End of code stolen from \file{ltxguide.cls}. Thanks, Alan. % % Add functionality from doc.dtx: % (code stolen from doc.dtx): % \begin{macrocode} \def\GetFileInfo#1{% \def\filename{#1}% \def\@tempb##1 ##2 ##3\relax##4\relax{% \def\filedate{##1}% \def\fileversion{##2}% \def\fileinfo{##3}}% \edef\@tempa{\csname ver@#1\endcsname}% \expandafter\@tempb\@tempa\relax? ? \relax\relax} % \end{macrocode} % (end of code stolen from doc.dtx. Thanks FMi.) % % Various forms of self-indexing commands: % \begin{macrocode} \DeclareRobustCommand{\m}[1]{% \meta{#1}% \index{#1=\string\meta{#1} placeholder}\index{placeholder>#1=\string\meta{#1}}% }% \DeclareRobustCommand\meta[1]{% \mbox{\LANGLE\itshape#1\/\RANGLE}% }% \def\LANGLE{$\langle$}% \def\RANGLE{$\rangle$}% \DeclareRobustCommand{\arg}[1]{% {\ttfamily\string{}\meta{#1}{\ttfamily\string}}% \index{#1=\string\ttt{#1}, argument}\index{argument>#1=\string\ttt{#1}}% }% \let\oarg\undefined \DeclareRobustCommand{\oarg}[1]{% {\ttfamily[%] }\meta{#1}{\ttfamily%[ ]}% \index{#1=\string\ttt{#1}, optional argument}% \index{argument, optional>#1=\string\ttt{#1}}% }% \DeclareRobustCommand\cmd{\begingroup\makeatletter\@cmd}% \def\@cmd#1{% \endgroup \cs{\expandafter\cmd@to@cs\string#1}% \expandafter\cmd@to@index\string#1\@nil }% \def\cmd@to@cs#1#2{\char\number`#2\relax}% \def\cmd@to@index#1#2\@nil{% \index{#2=\string\cmd#1#2}%\index{command>#2=\string\cmd#1#2}% }% \DeclareRobustCommand\cs[1]{{\ttfamily\char`\\#1}}% \def\scmd#1{% \cs{\expandafter\cmd@to@cs\string#1}% \expandafter\scmd@to@index\string#1\@nil }% \def\scmd@to@index#1#2\@nil#3{% \index{\string$#3=\string\cmd#1#2---#3}% %\index{command>\string$#3=\string\cmd#1#2---#3}% }% \DeclareRobustCommand\env{\name@idx{environment}}% \DeclareRobustCommand\envb[1]{% {\ttfamily\string\begin\string{}\env{#1}{\ttfamily\string}}% }% \DeclareRobustCommand\enve[1]{{\ttfamily\string\end\string{}\env{#1}{\ttfamily\string}}}% \DeclareRobustCommand*{\file}[1]{% {\ttfamily#1}% \index{#1=\string\ttt{#1}}\index{file>#1=\string\ttt{#1}}% }% \DeclareRobustCommand\substyle{\name@idx{document substyle}}% \DeclareRobustCommand\classoption{\name@idx{document class option}}% \DeclareRobustCommand\classname{\name@idx{document class}}% \def\name@idx#1#2{% {\ttfamily#2}% \index{#2\space#1=\string\ttt{#2}\space#1}\index{#1>#2=\string\ttt{#2}}% }% \DeclareRobustCommand\url@ltxdocext{\begingroup\catcode`\/\active\catcode`\.\active\catcode`\:\active\@url}% \AtBeginDocument{% \ifx\url\undefined\let\url\url@ltxdocext\fi }% \def\@url#1{% \url@break{\ttfamily#1}% \url@char\edef\@tempa{#1=\string\url{#1}}% \expandafter\index\expandafter{\@tempa}% \expandafter\index\expandafter{\expandafter u\expandafter r\expandafter l\expandafter >\@tempa}% \endgroup }% {\catcode`\:\active\aftergroup\def\aftergroup:}{\active@colon}% \def\colon@break{\colon@char\allowbreak}% \def\colon@char{:}% {\catcode`\/\active\aftergroup\def\aftergroup/}{\active@slash}% \def\slash@break{\slash@char\allowbreak}% \def\slash@char{/}% {\catcode`\.\active\aftergroup\def\aftergroup.}{\active@dot}% \def\dot@break{\dot@char\allowbreak}% \def\dot@char{.}% \def\url@break{\let\active@slash\slash@break\let\active@dot\dot@break\let\active@colon\colon@break}% \def\url@char{\let\active@slash\slash@char\let\active@dot\dot@char\let\active@colon\colon@char}% % \end{macrocode} % % \subsection{Changes to the base class of the ltxdoc class} % Modify \env{theindex} environment so that it produces a TOC entry % \begin{macrocode} \renewenvironment{theindex} {\if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi \columnseprule \z@ \columnsep 35\p@ \def\see##1##2{\textit{See} ##1}% \def\seealso##1##2{\textit{See also} ##1}% \def\cmd##1{\cs{\expandafter\cmd@to@cs\string##1}}% \def\@url##1{\url@break\ttt{##1}\endgroup}% \def\ttt##1{{\ttfamily##1}}% \mathchardef\save@secnumdepth\c@secnumdepth \c@secnumdepth\m@ne \twocolumn[\section{\indexname}]% % \@mkboth{\MakeUppercase\indexname}% % {\MakeUppercase\indexname}% \c@secnumdepth\save@secnumdepth \thispagestyle{plain}\parindent\z@ \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem} {\if@restonecol\onecolumn\else\clearpage\fi} \renewenvironment{quote} {\list{}{% \leftmargin1em\relax \rightmargin\leftmargin }% \item\relax} {\endlist} % \end{macrocode} % % \subsection{Extensions to the base class of \classname{ltxdoc.cls}} % % Matter commands from \classname{book.cls} % \begin{macrocode} \newif\if@mainmatter \newif\if@openright \@openrighttrue \DeclareRobustCommand\frontmatter{% \cleartorecto \@mainmatterfalse \pagenumbering{roman}% }% \DeclareRobustCommand\mainmatter{% \cleartorecto \@mainmattertrue \pagenumbering{arabic}% }% \DeclareRobustCommand\backmatter{% \if@openright \cleartorecto \else \clearpage \fi \@mainmatterfalse }% \ifx\undefined\cleartorecto \def\cleartorecto{\cleardoublepage}% \fi % \end{macrocode} % % Unnumbered tables % % \begin{environment}{unnumtable} % An unnumbered table does not float. % \begin{macrocode} \def\@to{to}% \newenvironment{unnumtable}{% \par \addpenalty\predisplaypenalty \addvspace\abovedisplayskip \hbox\@to\hsize\bgroup\hfil\ignorespaces \let\@Hline\@empty }{% \unskip\hfil\egroup \penalty\postdisplaypenalty \vskip\belowdisplayskip \aftergroup\ignorespaces \@endpetrue }% % \end{macrocode} % \end{environment} % % Emulate \cmd\toprule\ and friends % \begin{macrocode} \newcommand\toprule{\hline\hline}% \newcommand\colrule{\\\hline}% \newcommand\botrule{\\\hline\hline}% % \end{macrocode} % % Define sectioning command below \cmd\subsubsection. % \begin{macrocode} \DeclareRobustCommand\subsubsubsection{% \@startsection{subsubsection}{4}% {\z@}{-15\p@\@plus-5\p@\@minus-2\p@}% {5\p@}{\normalfont\normalsize\itshape}% }% % \end{macrocode} % % \subsection{In lieu of \file{ltxdoc.cfg}} % We don't want everything to appear in the index % \begin{macrocode} \DoNotIndex{\',\.,\@M,\@@input,\@Alph,\@alph,\@addtoreset,\@arabic} \DoNotIndex{\@badmath,\@centercr,\@cite} \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue} \DoNotIndex{\@input,\@ixpt,\@m,\@minus,\@mkboth} \DoNotIndex{\@ne,\@nil,\@nomath,\@plus,\roman,\@set@topoint} \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb} \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt} \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt} \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace} \DoNotIndex{\advance,\ast,\begin,\begingroup,\bfseries,\bgroup,\box} \DoNotIndex{\bullet} \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption} \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass} \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist} \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup} \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter} \DoNotIndex{\fbox} \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef} \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule} \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi} \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi} \DoNotIndex{\input} \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark} \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright} \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment} \DoNotIndex{\NeedsTeXFormat,\newdimen} \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number} \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@} \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip} \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions} \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright} \DoNotIndex{\refstepcounter,\relax,\renewcommand} \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily} \DoNotIndex{\secdef,\selectfont,\setbox,\setcounter,\setlength} \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space} \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase} \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt} \DoNotIndex{\viipt,\vipt,\vskip,\vspace} \DoNotIndex{\wd,\xiipt,\year,\z@} \DoNotIndex{\next} % \end{macrocode} % % Direct \classname{ltxdoc} to produce an index. % \begin{macrocode} \AtEndDocument{\PrintIndex}% % \end{macrocode} % % \subsection{Extension to \LaTeX's \env{filecontents} Environment} % We want to % coax the version number into \env{filecontents}-generated files. % Note that we expect \cmd\fileversion\ and \cmd\filedate\ to % hold the needed information. For this to be the case, % your document should execute the \cmd\GetFileInfo\ command % (as documented in section~\ref{sec:GetFileInfo}) before % any instances of \env{filecontents}. % \begin{macrocode} \makeatletter \def\endfilecontents{% \immediate\write\reserved@c{% \string\iffalse\space ltxdoc klootch^^J% \ifx\undefined\fileversion\else \ifx\undefined\filedate\else This file has version number \fileversion, last revised \filedate.% \fi\fi \string\fi }% \immediate\closeout\reserved@c \def\T##1##2##3{% \ifx##1\@undefined\else \@latex@warning@no@line{##2 has been converted to Blank ##3e}% \fi }% \T\L{Form Feed}{Lin}% \T\I{Tab}{Spac}% \immediate\write\@unused{}% }% \expandafter\let\csname endfilecontents*\endcsname\endfilecontents \makeatother % \end{macrocode} % % Alter formatting in arrays; set them tight. % \begin{macrocode} \setlength\arraycolsep{0pt}% % \end{macrocode} % % \subsection{End of the \file{extensions} {\sc docstrip} module} % Here ends the module. % \begin{macrocode} %</extensions> % \end{macrocode} % % % \section{Font Package for Acrobat Compatability}% % The package \classname{acrofont} % substitutes Acrobat-standard fonts for Computer Modern where possible, % even in math mode. % Documents typeset with this package in effect will require as little % downloaded font data as possible, but will not be exemplars of % fine math typesetting. % % \subsection{Beginning of the \file{fonts} {\sc docstrip} module} % The document class module comprises this and the next % four sections. % \begin{macro}{\class@base} % We define in exactly one spot the base class. % Typically that class will be one of \classname{book}, % \classname{article}, or \classname{report}. % The base class effectively defines the use and the markup scheme % of the class of documents to be handled by this class. % % This class is a variant of the standard \LaTeX\ book class: % \url{ftp://ctan.tug.org/tex-archive/macros/latex/unpacked}. % \begin{macrocode} %<*fonts> \def\class@name{ltxdocext}% \expandafter\ClassInfo\expandafter{\class@name}{% Written for \protect\LaTeXe\space by A. Ogawa (ogawa@teleport.com)% }% % \end{macrocode} % \end{macro} % % \subsection{Variants on psfonts packages}% % The following uses \file{times.sty} from \url{/packages/psnfss/psfonts.dtx} % \begin{macrocode} \RequirePackage{times}% % \end{macrocode} % % The following uses \file{mathptm.sty} from \url{/packages/psnfss/psfonts.dtx} % \begin{macrocode} \RequirePackage{mathptm}% % \end{macrocode} % % The following is a customization of \file{ot1ptmcm.fd}. % The virtual font referred to here \file{zptmnocmr} is % a variant of Sebastian Rahtz's \file{zptmcmr}, but with % even more glyphs moved from CM to Acrobat-standard fonts. % \begin{macrocode} \DeclareFontFamily{OT1}{ptmcm}{} \DeclareFontShape{OT1}{ptmcm}{m}{n}{ <-> zptmnocmr }{} \DeclareFontShape{OT1}{ptmcm}{l}{n}{<->ssub * ptmnocm/m/n}{} % \end{macrocode} % % The following is a customization of \file{omlptmcm.fd} % The virtual font referred to here \file{zptmnocmrm} is % a variant of Sebastian Rahtz's \file{zptmcmrm}, but with % even more glyphs moved from CM to Acrobat-standard fonts. % \begin{macrocode} \DeclareFontFamily{OML}{ptmcm}{\skewchar \font =127} \DeclareFontShape{OML}{ptmcm}{m}{it}{ <-> zptmnocmrm }{} \DeclareFontShape{OML}{ptmcm}{l}{it}{<->ssub * ptmcm/m/it}{} \DeclareFontShape{OML}{ptmcm}{m}{sl}{<->ssub * ptmcm/m/it}{} \DeclareFontShape{OML}{ptmcm}{l}{sl}{<->ssub * ptmcm/m/sl}{} % \end{macrocode} % % The following is a customization of \file{omspzccm.fd} % The virtual font referred to here \file{zpzcnocmry} is % a variant of Sebastian Rahtz's \file{zpzccmry}, but with % even more glyphs moved from CM to Acrobat-standard fonts. % \begin{macrocode} \DeclareFontFamily{OMS}{pzccm}{} \DeclareFontShape{OMS}{pzccm}{m}{n}{ <-> zpzcnocmry }{}% cmsy10 Symbol Zapf Chancery Medium-Italic Times-Roman \DeclareFontShape{OMS}{pzccm}{l}{n}{<->ssub * pzccm/m/n}{} % \end{macrocode} % % The following is a customization of \file{omxpsycm.fd} % The virtual font referred to here \file{zpsynocmrv} is % a variant of Sebastian Rahtz's \file{zpsycmrv}, but with % even more glyphs moved from CM to Acrobat-standard fonts. % \begin{macrocode} \DeclareFontFamily{OMX}{psycm}{} \DeclareFontShape{OMX}{psycm}{m}{n}{ <-> zpsynocmrv }{} \DeclareFontShape{OMX}{psycm}{l}{n}{<->ssub * psycm/m/n}{} % \DeclareFontEncoding{8r}{}{}% from file: 8renc.def \DeclareFontFamily{8r}{cmr}{\hyphenchar\font45 }% from file: 8rcmr.fd \DeclareFontShape{8r}{cmr}{m}{n}{ <-> cmr10 }{} % \end{macrocode} % % \subsection{Font definition files}% % % The following forces \LaTeX\ to do now what it would do anyway: % load the `font definition' information for the fonts that we % use. In this way, we prepare for faster processing through % the \cmd\dump\ of a preformatted macro package that will not % need to read in any packages or font definitions from disk. % \begin{macrocode} \input{8rphv.fd}% \input{8rptm.fd}% \input{ot1phv.fd}% \input{ot1ptm.fd}% \input{t1ptm.fd}% % \end{macrocode} % % \subsection{More math substitutions}% % % The following definitions arrange to get certain glyphs from the % text font instead of out of math pi fonts. % In particular, the copyright and registered symbols % are single glyphs instead of composites involving % the big circle from the \file{cmsy} font. % \begin{macrocode} \def\eightRChar#1{{\def\encodingdefault{8r}\fontencoding\encodingdefault\selectfont\char"#1}}% \def\LANGLE{$<$}%{\eightRChar{8B}}% \def\RANGLE{$>$}%{\eightRChar{9B}}% %\def\ASTER{\eightRChar{2A}}% %\def\DAGGER{\eightRChar{86}}% %\def\DDAGGER{\eightRChar{87}}% \def\BULLET{\eightRChar{95}}% %\def\SECTION{\eightRChar{A7}}% %\def\PARAGRAPH{\eightRChar{B6}}% \def\VERTBAR{\eightRChar{7C}}% \def\COPYRIGHT{\eightRChar{A9}}% \def\REGISTERED{\eightRChar{AE}}% % \end{macrocode} % % \begin{macrocode} \def\textbar{\VERTBAR}% \def\textbullet{\BULLET}% \def\textcopyright{\COPYRIGHT}% \def\textregistered{\REGISTERED}% % \end{macrocode} % % I have removed \cmd\ensuremath\ from the following definition, and % all commands like \cmd\mathsection have been converted to % e.g., \cmd\textsection. % \begin{macrocode} \def\@makefnmark{\@thefnmark}% \def\@fnsymbol#1{{\ifcase#1\or *\or \dagger\or \ddagger\or \textsection\or \textparagraph\or \|\or **\or \dagger\dagger \or \ddagger\ddagger \else\@ctrerr\fi}} % \end{macrocode} % % \subsection{End of the \file{fonts} {\sc docstrip} module} % Here ends the module. % \begin{macrocode} %</fonts> % \end{macrocode} % % % \section{Programming Conventions}% % In writing the above code, I cleave to certain conventions, noted % here. % My goal in explaining them is to encourage others maintaining this % body of code to consider following them as well. % The benefits are twofold: % Some of the coding conventions aim to avoid programming pitfalls; % following them reduces maintenance costs. % Others make the code easier to read; following these eases the % process of understanding how the code works. % % And, for my part, I prefer to read code of this type. % % \subsection{Whitespace Conventions}% % Exactly where code lines break and indent, and where additional % whitespace is inserted is explained here. % \begin{itemize} % \item % Each new macro definition or register assignment begins a new line. % Therefore, \cmd\def, \cmd\newcommand, and their ilk will start in column % 1. % \item % Code is indented one space for each level of nesting within braces % \verb|{}|. % \item % Likewise, if possible, for \cmd\if\dots and matching \cmd\fi. % \item % However, the closing brace or \cmd\fi\ is outdented by one so that it % falls % at the same level of indentation as its matching brace or \cmd\if, % and it appears alone on its line. % \item % Use of the |tab| character is deprecated % (tabs are not standardized across all applications and operating % systems). % \item % Lines of code are limited to 72 characters. % I follow this convention mostly to ease the transmission of files % via email (a deprecated practice) and to accomodate people with % small monitors. % But \classname{ltxdoc} output looks better with the shorter lines, too. % \item % Extraneous whitespace is avoided by using the comment character |%|. % In most cases, if falling at the end of a line of code, % a brace will be immediately followed by a comment character, % as will the macro parameter |#1| and any one-letter control sequence, % like |\\|. % \end{itemize} % These conventions taken together are illustrated by the following: % \begin{verbatim} %\def\prepdef#1#2{% % \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% % \toks@ii{#2}% % \edef#1{\the\toks@ii\the\toks@}% %}% % \end{verbatim} % In the above, the definition of \cmd\prepdef\ would not fit on a single % line, % and required breaking. The first and last lines have matching braces, % and are a the same level of indentation, with the last line containing % a single brace. % % Each of the three intervening lines has balanced braces and is % indented by one space. Each line that would otherwise end in a single % brace character is terminated by a comment character. % % Some coders rely on the fact that a space character seen by \TeX's % scanner while in vertical mode is a no-op. % Be that as it may, I eliminate them unless actually intentional. % % \subsection{Conventions For Procedures}% % Here are some of my preferences when writing procedures: % \begin{itemize} % % \item % I dislike defining a macro within another macro, especially when the % pattern part is non-nil. % You know, you are not saving much space in |mem| when you do this, % right? % You do save space in the hash table and the string pool, though. % On the other hand, we are not dealing with small \TeX\ engines % anymore; Team \LaTeX\ has made sure of this. % % \item % If two or more macros have very similar replacement parts, consider % layering. % % \item % Macros may perform parsing, may maintain tokens or registers, or may % set type (produce marks). I try to avoid combining the three functions % in a single macro. % % \item % When a procedure both does assignments and sets type, I try to have a % clean separations between the two activities. Try to avoid: % \begin{verbatim} % \vskip10pt % \parindent=0pt % \leavevmode % \end{verbatim} % % \item % The Boolean calculus (cf. \cmd\@ifx) % is very useful and produces code that executes nicely. % Using it also helps avoid your having to debug problems where % \cmd\if\dots\ and \cmd\fi\ are not properly balanced % (a nightmare in case you didn't already experience it). % % \end{itemize} % % \subsection{Conventions For \LaTeX}% % Team \LaTeX\ make certain recommendations in \file{clsguide.tex}. % Ones that I particularly pay attention to are: % \begin{itemize} % % \item % For the sake of ``color safety'', % use \cmd\sbox\ rather than \cmd\setbox, \cmd\mbox\ rather than \cmd\hbox, and % \cmd\parbox\ or \env{minipage} rather than \cmd\vbox. % % \item % Use \cmd\newcommand\ and \cmd\newenvironment\ to declare user-level commands % and environments. Avoid the idiom \cmd\def\cmd\foo, \cmd\def\cmd\endfoo\ to define % an environment. % Ideally, all user-level markup could be extracted from the % document class by grepping on \cmd\newcommand\ and \cmd\newenvironment. % % \item % Prefer to use \cmd\setlength\ to assign registers. % % \end{itemize} % I cannot help but notice that much of the code of \LaTeX\ itself fails % to comply with many of the coding recommendations of Team \LaTeX. % % % \Finale % %Here ends the programmer's documentation. % \endinput % \endinput ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/src/ltxdocext.pdf�����������������������������������������������������������������0100644�0000764�0000764�00000162043�07332604137�017012� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%PDF-1.3 3 0 obj << /Length 2271 /Filter /FlateDecode >> stream xYK6Wh1͗(1Lf'lvLJ�IM,E1~HJ,t#�4Můz-)cKNBR1IVCf~o1,ZNnã5&+/z#e<)6xqNó}<l(\)“萧Mֈ%cDGnI/anW9$FDI[Gt͢ÚQ_hD^Yn˯ʻ!ښTemɡ,f`'$Hg_(iaJ#eV/+{2}Tt&k/)A!N)V™DH{vw *Q?6ž<ffV! zypT 0voV;j Ma.6�B?^85~{`r%. oDp�-h7BYcltq*SYu‘˚iu?'Cm0`نc$5r[lyjP^P-M[0szB1^uf|p5P^SO(da`hpO##W<.{=,p1fH�lYiq^x&J@0< ^ݎ lUm5ج0K9zw T>NN !_9WZJ/)&|NQ{ (p˝9u8``i`AOn_gm4;OQ [fUea̞=vVasQ IS$ pAfܳ W_u"(0uIU4> XO֠o@XPj0WOmң [O\KsxɈJn$ G $tH@GWk4\Or9! `9jRरO=[-'?؋N6l"ìY3Ot9eŪ` I'$<'hUz?θ=D78Ƅ6>>M7r@' yY#%Ro38!xNfp :"[ƚ<Mm)% !ATa݌b"N8|?O,NHLW B#Og8~϶q| !2oh&}LuoO8Jz>mYo!HH؈?Uӥ<bՇ̉@IhQ?Uprf>+&So@NbN zi3"!%0D]*/G5!AnG!48B4�bJ$JzQU>">y%v\u ,,r4 =`Ml>"`FDHj3~Ρ7X5I= INT$'t !oz,rqϕhg ʑf>M90 E*05^obA7o^%A&76�u�{oEXӧYd &UeSݔM^j@AiF�M#4LYH 澦Xӳ-,tצP2JGIDХ+dC)8 s"*oCj=yG5\P4DQv #B%+ܡ;fEZ #woO@`pMA'�%.:NzAR 2~Պ?xƙbdzB Y ?/sMQʊǕ65@@"ߵY9UޞƱt#bbA<Ju} Eyl"ui c`:Y aZpnauꁨph9d]5ѿ GlȹdrXE?vtt=0H+; <iP$׶Dҟ '$a,~m?BQ챍 zbЏ b*Vt˩J;aum4_(W"!K̨Ix֒rRC)&U{HnH([|TJ2׳((4ŵˈ8_ zz;v S1|Fϩu˥-a4b?qYpORr- uv#$SaƤ5/_{R e!c|# k \9�{cskG&B)6T C$sm$_cCnAWOendstream endobj 2 0 obj << /Type /Page /Contents 3 0 R /Resources 1 0 R /MediaBox [0 0 612 792] /Parent 14 0 R >> endobj 1 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F83 9 0 R /F92 11 0 R /F94 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 17 0 obj << /Length 2135 /Filter /FlateDecode >> stream xZrF}Wm*c<K,RjSLT%$$XKrlɑeq�ݧOH9IERHDosd]`/#^eDaRco s?>Op #t)}pc'd!8"B""|oN$YYFm1x~nh!p>(B Sf ^<ؾFLpQmMr4B2\v7ƗI Bڰn7i{L C5i2a& >gf0S~:� lWfÊĊ`0fbWa WϟIxWZY|Mt1jm ΠM~8""B Lhn!/B0D~*)~ KyL Cpցc0:wRq1 #J' /]LH i("xME6YnuV :a"SHX{˯'Q\}`U6թh|׳To5X_x3$ {p,K*'\hdX7ӺMuڃ% U7_ƅ[ ?zo:e3'3Gn+nq͒,< KPӺ"$H3Gi`MD-+vS2I2t7^n|/sp]d g/O&d'Mh_d8)(M)g]m6KW|Z&xjXU9? к5f`q/x6Aעiʮ`Mci{d7 #Mŧ1`@lh 0MN6V­thrVX5X[xD-W �'ԏtX)/&j"DmKVnq*rN 5gRE9m@߇Hn^ E&0 GMg{3)Lq~t9#r}XA*$6"s@$ ?s_ŦXqUY`1uO+"P*(m5*HR"BvH` ѧnb\ŃXzu48UyIN�S4K<%5_VEOR"!UZB+gʌfB,Gu}-6SDD4P׾<\V Aey CՔWi[pnέ4{!<b46"$Sa Nktg ֳ~Bg9& m6(m6(m2obN!S\,\݉^Fb4wA2.1`I'}z$ez"+pOwޢGP} 9o8~?*A&uH ɔ�aIfwI>|+JK?ZePh [*zϬHЮ0z2"2nv=}-s"=BҰOkd"02D)gqt* fÉq&Tľw`昔I`mbF%Wq&? ; BJIucc?;!f}٫z e|#k~(5a{ 1O^} x} dU~;O@>pd"uB[vDL`)17#H` ٫Ռ_1(S8YfgjHnMyw76EkmwH'T}JN~{OV߯loN?XysGΎH8;T쩦sd&q<ʠ@݌lf�{e[hx{6(tZ^zL>;C_O_?hu IRW cwJ r R8&G @UE*?O@Ϛ*\&||ށ6cC0ޞx1A?cXendstream endobj 16 0 obj << /Type /Page /Contents 17 0 R /Resources 15 0 R /MediaBox [0 0 612 792] /Parent 14 0 R >> endobj 15 0 obj << /Font << /F80 5 0 R /F92 11 0 R /F94 13 0 R /F81 7 0 R /F83 9 0 R >> /ProcSet [ /PDF /Text ] >> endobj 20 0 obj << /Length 1576 /Filter /FlateDecode >> stream xڵWߏ6 ~_pQòamh Wdg,ٱc_/wp8Ė)H~H'<F -^/ H$c7:\qߗ./+&Pߪھ&-IoN-ˍNʜ1o^׺Y~^䬔b<:EsUoP{၅'^9~%!{JX+jzC`ՋH&"v_~^Caگ+%bv!Hrފ?1fK "@Q`sO4nբ �[l<d rQM^nԝQVKã[5Z,/7V*xdÑrTۇULKq1 "$(޸U](h8D&~7OӨof /\H`\1PD穫 qAۓӲե6=jݷ{~Q HxR{ jx^_c0VGRR[/>}A; +! FlK4XIȯHhF=JTjMU>8+W_کkLT&H">LJӹMl-ikO"ɨVdoeC/GyîxJM_:1} |;#\MO0".F$OL,e8p r@;'1~*dh߀=�Rd J3T7r5z&$P},˭TnL!y_|:1"mΝ). q6g^96<v4=wۧ]P,y]k(Xa@`1@`AW CP鄹VK9->ݩ%ԭ'9na.5nMAfStsIk1OLw 23qeA'>" wvvh *%' 1>L FW;t <놡pmĜA86~:mz@fb;Z ='m \_\ӝ&Gbfذ@;㭵* W}O4Is~@ykq=4}CSƨr=D*M+;lfJU # W<ђ8aU=xl$;ǝUHwju�NX 8w9:o@=A/^B85`ths>48/Dϼ`W]fn+<pxE"e8̣[p4?'џ ɱ?##mC>v7)5c?`lb9 {0c`=pubXS܄-pt4Yy$X8Paɥl9;ɽ""l8SkФ@E烡NSn, Wy`0hd<@bX\69fj.\*'oڌGGϯ�p@aW Q*a &pb`$S/g"{endstream endobj 19 0 obj << /Type /Page /Contents 20 0 R /Resources 18 0 R /MediaBox [0 0 612 792] /Parent 14 0 R >> endobj 18 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F92 11 0 R /F94 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 23 0 obj << /Length 2235 /Filter /FlateDecode >> stream xڭX[۶~Kq䃘+ pId^%Wkl;Cek5)k oC΅̐}s,< #&g0dW3ub}sXz+Kwei]J.>ysT$-LD"6uY zǢ]ʺlRY%>PmwZD {#ow)Gా^s^`?]WΨ+Z/ӌȢmڞ/JR`3Z[mx& f#|nCO7ma#a֍4N(Rp܎WZ5,8'yj mm̕C\̉\UTEOVW][1J`qnbo2mARJi%x@iޡ�EOL}Rpń bif췒%")+#R@Kp@;w< Al-, 0*㽁<-R;z8cۥ9RD!K|1y v΋ԛxCٍnHp ,^+? 46uKh$ 1()g7ai'P!`aW_;}�nY}=Y Qqqeyҿ3r<W*矾f7,7/{'vmXHAjg!hf]y~F�!|62bhlN^~i#wEX۝\-A`7nfMo]W9gs=txpєlQtY_'NrӾB0ɇi##?h0 EբUFl4h Lݡk託r@].B,d;oOG'B9mE@ݴ?%e{:h{L<ex m3̬_{a)-:BWÅ(8w=Raa{Yj?�Pэ,hg~[+:dz>>C|5M Y;O<bIE@jsՕú) 5*q .8rX$ hg ni05XWQss;z&la9mufdvmRpN7ZG3|5axr=-{BȆgp ;{Ì)}p̓CottݘwdNM)DDDRou0CAlu%"u0panZAB~D֮B`Wf?H-Hn2J\e/=PY@ ~~d1pksF!w%6E(7M2 MqB[F;C“'1q1&�$s 5<A+(cLB1:D^Q #i8Qi84 Q5` 0F~ߛߕ5Lľq90@*GPIׇHQAq R�?rT5uvWy2ZꀎFm|z\�dO|ib*d2UXIx</u -+?n%zkd (?nx*D_$`Ɛ)�;騦ƪs<YĀNtwb?er<f\SaN[<aQanlB"qň Df"v6P۩PRv&r?#-hR)O�4,i= ΀4`UjQ13.5n5& ϗC%'g8tm,F7_{6KXOu×5{r*DE h^p^q2A`L:- ذQ&i{~;ڻ[#v=BKtw)?zR4鴴0)E_f8%-]Ӱ&l5:E2rcd,SW6L;2,ΗEX$uaE@M.|&ZSO"5࢑Ь }+`6WUv8?(>@I#q4]nvEjPLT9 s.-H'PC1J5`kD.j.^0zo싔+L+[,*䁠qw%^Z-'ttn?*9Gr0 кQendstream endobj 22 0 obj << /Type /Page /Contents 23 0 R /Resources 21 0 R /MediaBox [0 0 612 792] /Parent 14 0 R >> endobj 21 0 obj << /Font << /F92 11 0 R /F80 5 0 R /F83 9 0 R /F81 7 0 R /F94 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 26 0 obj << /Length 1782 /Filter /FlateDecode >> stream xڭXnF}W%(D w6O/ '6dIaE.-6+۪^(QRL( r̙ˊ ,#f`Mۉ髷W= Č<o0MipL{8"e9l2n! F Oz{ZȌ|G8"mZƲ**X Ige!2UZV 9KSRsmvdVps Q9sԦ8u}</cK1^#T1~dھGRy7!H ĵV˧LzJ X#f7E`}nj,['A HN88פ)a46?c3#B Є*vKIh(f|и*S4S}Vse yƅ˂"yUuZjTiV|H' 醮(W+Ym(Sɤ+<xVw$ا!@5!F]ʅ-XFG�B~�_ Gm'Sws*V&Bc0PJ|?Re0K8O _͸DGz:wDxWG MљJc;fy+]M$MQF7 ^AvCǸ hW(]ZyxrbЦb%6}$goכrv4EU%YHrdJ7˲sWv=Ư]�`.g]03:[ jvJ;YeEi1Nէkّ]=tmuƱtd  \<rri]P9:x+{O&rYި raQ jZ>6C+~%PZr ]=rJId+p+l@8m6)9+K.Oa%oR�W5W%DBC%TqXꒆ;(Vzhz םr쀋4S;X*Ta3tuRA`0T5໎b~CaO!tyΊ čs _ffZn d7X\ C1t_inrl'zGT'QjoReTtȔz"&6s$똞CZP uo5_wVt+$ʈ.kϑ0uGkqIR:3>Ѱ>1}bwl; lbb u`j~slk(ð :$ JHh_ rp%1P-N] PD9+R\=5RGg~�erYeup~QaشŎώ?m { :DsĢH }g`a\\MJ=w 'a|x#COҵ换dV$UPtk}oLdY8�!:ȱqN(r ~%gN;P6S<#[uDrEYw*@Ѡϛ4q>M&gh;]a2t<ѪVSa?a?xej<xyw'n&Hd:>>S˷ۛK'D<{":`lY? O</v;mNv'tD "7wPlkVGn糓9:�^?/l+~1 1GwwO*B\g01'yu9}Xendstream endobj 25 0 obj << /Type /Page /Contents 26 0 R /Resources 24 0 R /MediaBox [0 0 612 792] /Parent 14 0 R >> endobj 24 0 obj << /Font << /F92 11 0 R /F80 5 0 R /F81 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 29 0 obj << /Length 2008 /Filter /FlateDecode >> stream xYY6~0 "mH f 2 12y%ֶ,zE4Eh;cͦCT,UQç!S,iLDŴN}NSVdtr+կA~[|s|"Mq.gGjwS͓_|hN<dER:fՋٜ_sɻń{ݣ$gq<E1ɯjNw?1+@I:t5yӞ|ϧ`IڄHuGY/ G0 ͆vp5V6noh)VߩBB87ҥz̠cg^k/Q՝*ƃHFɮܨޖPaDIu_uK½QW\V{z$ɹ$�QzQ%gZ09+kr?2yrt6^Ѧ@]wr3?߲}˾.E!v=W`yRtM8dJG jfU7j/QLa[ a%re*5nA[ȱ( ƥr,XR�J-ЫaQkժNZtCL?Z U3q<}';K3aƃgZfjs<vr& UdYP[|FEA)TH,EH„d8p̑Hmo_AA^0 u7KjRQ7mPQDxF#g;or$qqY9HDoX(2"}h,N[�3< Ҡ|4=Q+#IH;gj=Qֿ\|�q�|HıF5+F; 1$\ca%;b1�VH> [Ɋ>(xi8s'ayBeRcPcls^1$Т'#!HF$2g D䠓#X2@7CbDt)βYn1Ҷ+F7uECb8kh[_OxX_Β$04}!IS'/N[!RwJ`sx8 厠]ɀ(CAJ�@c{v;�ɩ[@=k'F .)d{hE7y`^c僢>`Ot#k?],#qă p d�%d11$X n gc\�LAY!U0󴌠M(G,^ w$�d hCUܻR�ޝs< 䨲lDA1x.{!H ne[i .7tVv`UM]=Rѩw^i;cr%ЃнG.jICzՋ]~i^$~o 8l$RGZ-~43XȕwI>S 3dzK$aC6@u} ǽ)Th2^? c-'ȄAo&ͥcO:N㡛 w}##nP f WOX =wF>ƴrRL0e%Y)'Wqmd{kƲp%*m'ݩ*V]kEKO^eNQs|Z)CI\; +!uwI#}3Ÿ9@Ea/E}]{8x7!AO_p/\pdL`4 T-pG3=NlK+i<29+wq%8do7Tٕdo;;~\{E6ԃ֡V֍׸V5j;ˠxOdو"8|7zkcc~+P%X'}J0p՚QBW>$]Bg]VBZZtRV^*[V7m!O#�+KBؓ8;ƻendstream endobj 28 0 obj << /Type /Page /Contents 29 0 R /Resources 27 0 R /MediaBox [0 0 612 792] /Parent 14 0 R >> endobj 27 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F92 11 0 R /F91 31 0 R >> /ProcSet [ /PDF /Text ] >> endobj 34 0 obj << /Length 1664 /Filter /FlateDecode >> stream xڭY[o6~c 8(Y60`>pDUIH,Yإ;C~<;߹=p(Q?HYz{xn}S7$xx HH>K@ cWב])qk8u* 8t f:qݟt =ig'GA9a%nP@ׂjhh~7`nhkǂ7[p\J-DlKom+mK6uruЖ|[aJ�yǛE<}ݟW>z|ߋa%@*P uovkQ x6eHv[U^ Z[(«nP ;RjG]IZ3C[H#~%HuoUytԆ͔&~z{e%bLHM1m;t7@I}[ KXGey"FGk3`"x%BC#Tⷼqd�̲79kGlc2?wn3n~זԎm{{*l7Lg@tDX168jo17^5ǭ#ǓSO$AR(GT2~|hZ)WI-..JMܪ iO.qdW:`p;\h,w̍ZKm` ŝR tl$u0i<e +&v~I=GRUc%-^;]nTqOXzOZJ㺚U z3 aǚfU{/ hwe'dj@ز/mYC\,/e$"p_ M3XyZnP56K\ 6W;C/\2P$ MQEl<уr<fP nc Q 9`FEbU:әxVygVƟ8xAKhGB6].!c?d8d~&g̊;U@@s Bٹ|icDT:ê-q+W}jJ%6 Q!mI* Qy8F32R~-\Ůl2Q'+̔VD ild=\Ðl`ǎ{Ox(�`< 邁,=:2Vսc0Wۡ=6nG9ES?<!< RW;k7#w4,K-R.�5sff0HTvZfFS;�c0KSz Kk&tcc(z6`fbY7 x4F:a#=IlѲ[dcO'eIVJD߰׮̏moIk!R*q؛9~K 39S �(J\K`IMGB~+Q>{fBr>I~HٴKJj8m(rPU12X P/=OGX€5 `I~1jjbΐ0PF;%Qpl?9Wendstream endobj 33 0 obj << /Type /Page /Contents 34 0 R /Resources 32 0 R /MediaBox [0 0 612 792] /Parent 35 0 R >> endobj 32 0 obj << /Font << /F80 5 0 R /F81 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 38 0 obj << /Length 2171 /Filter /FlateDecode >> stream xڽXYF~_#0 $^/A*HѦHXcVC-`&g &ajp/wE@P.6;p]2oIH88T^zZ.ou[Wkᘤ[ 7zDŽħOEU~hI>>=wZ׌XN节IyeIҺUՃ#ǏGwdsW)iޤ!CUiɾu;8 t}ț&ʙIz++}NA7:LDڌ=udWB2yoʦMG^Z$MS&z}Ax$ԋzz> |;rw؟¢m> ~Nucz%mHNuC:yyЇ?$l?!yiu8g>5zmsPp\.[{93UFF%F $uD LFW=o:x_>2tu*.n}3Ky'7\j޼0D$db$&~=]d7t=}\-I Dpbwߛw֝0rb `Y&>oUgN8īm-u~y7[ةM>z4=@2׈�):g> 4͔Ir) xXԊD#)t]}Aa^i(Sh7אN>mQVB(DtVlY!e8@٠xj/0B4ˡhW˻SK;]O:KR` HGwB܈CxQzjc]*u~[WCs!I["a$2A83pշyӳs0pOvGwfӦPmZ1`׊g9-}OJ枣fl/ ?'Zk~ F/8tsc�ᇡk7|{#K KA< !|9!*Dȭ%\d<.ت]РiڽNJ}8ik ޭz�Wgt!7 x sI"l H"y�Jn{s 0+@ Wl9$vP>:SP!G["qW@w:skWE {|sQl3QmV';߻fDǕ '{٪]<S!>U"/,J2BL�v,ѣ!8AU4#"2W"3j8-tw`S]kp sᶱX3ˬ1K9(# RvoA#hLh Z>@AZkh~e,DBG cgGC.�Q~˺e2�za\!P)6lȧ;]o9C%1L۰Oe_ ٷJq)҃b5&^0jh TK9м%p'\=ŋhQPydĂ!Ъ[ R8P5j&nhbDJC׉Tjf# op[ʶ4B ""'ol=0#XW LeiNu0tf'#0-m \ bmkMТeиWur/d]@Ok?5@B`~/O5@!AP`5)hnsW_MJcz_WJ-K{jH8# ?'8páso ~ퟶ^@'7]?.qC^GQ߮hA z}5b(<8ݵT3FǦ.^c&k8T` GݾroTy$8(Rh% [W6^A 1?N] spv![-+Ɔ 3)xlb:0_@Y@DA(Jq!i4M|"�/(-i&- X_PDA ВcuUM\=,q1mȤvfABx<2B?͛W!a� 1endstream endobj 37 0 obj << /Type /Page /Contents 38 0 R /Resources 36 0 R /MediaBox [0 0 612 792] /Parent 35 0 R >> endobj 36 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F92 11 0 R /F94 13 0 R /F91 31 0 R >> /ProcSet [ /PDF /Text ] >> endobj 41 0 obj << /Length 1648 /Filter /FlateDecode >> stream xXK6Wj(J 4ErjE K]5cX I,%k hjfq#Lh-CIxq~׊(r}H1JfP "&*# oymya<Hl$SxLQt1NcXDƖ-ctc.Mn-\AR7>6 8'ܸ޲psTI Bl?2$Ur6~R^x9HhP‚�B*O*ݢ.ѕ^Ժbnr/hQY,b+sgF3XM F ^I]/TOTہR}.|>//ݶ.uTjRڲxsun Hb* 7 yY7Iu 7'L M<'.Ly/{]AH\(u=I?'h L}<7 \F~,@\B~mn 1e/%R^2{_)�29慧JqAIzTMa\JTo8X{*D2uG t(^ΥB@h}.@&0 H_=Tf֥ l3OwAprOE[@xl~FAMGHǩ·ǐG"N'|h�y"!`8I/e—woLI䵵#8RV/P^ C4yŽ۽Lb XϘ鶜@*OYO 7gjHP s]cBSMlH$=uR[HG$ƗcI ||Fz HcHPB`B:�Œ4GiAg $(ʔCQ8],7)^/(pAADdcu�6ऀa}<Fa4�y/c�%Ą3q se@�>iC%sjrn5۽`4@υP�:y81mu;Xx*BHGm7!2A<XAhMx n>#] 6r`�N<PbGxҙp2%,L(O]g䯲lmc~`<oۣ3Ս'LXUح g S*lq4.pgYZ !Y=gZ+DoXf\_1U"L)(7%>|lE_]!54nx ٺ]/I^1] d7y-(xR3C IȾeL%,کr's*s[/7ԯO) <.4Oaw}uMզM[}َ v|>AW+1ߘ]DD”0rX/hhy>'^9CdMq uqLnt9/Dv<$NIGg j{,J'88u©ى:Ž2D8p&9O|o:ma*,-qcSv` [0W] Xtendstream endobj 40 0 obj << /Type /Page /Contents 41 0 R /Resources 39 0 R /MediaBox [0 0 612 792] /Parent 35 0 R >> endobj 39 0 obj << /Font << /F92 11 0 R /F94 13 0 R /F80 5 0 R /F81 7 0 R /F91 31 0 R /F116 43 0 R >> /ProcSet [ /PDF /Text ] >> endobj 46 0 obj << /Length 2028 /Filter /FlateDecode >> stream xڵX[o~ϯK�h˽E7\4M�N@Q+UeΒ,9@a̷sY |ƕbHgNܿx|e,OrO.^~R̶j]}_Ă,񤳇6}s~C36.q;A7P]$qLQkoKY̒|퟾lK+u?},ͳ'' J_"^Yw8;nf=*WY$i}!E(Y:+j:ޛU-ͯ~_4赩m y"XFӋg,-wf̑lL> z)G𐪣|cј59Ld2y$δ2 :HH۲Km9R%,#Iq)?B ml ZIt땆KU3Wqy.֟\Glc+̅5}~ /[h#2*SES ;۷i/FC " LHߛy9`J?@lРthpj?Z3,nl.9ࠇTղ;8Fw5Q&D):ZxI Gč0atG�a~]WABLhco& ݎXi(ڵM Ѓs(]u9|hĹ"u yp;&@8-ZSśt )ŷdShΣDž\k1R7=yfz"P& 8ۚ4/DV2=vݗ`߿VIu00M.s V6i` dbm衮w$�t"}}01x:J�wA%[pp@jsE﮿.\; d̔K3,xrUkVBwQ ,mٸQN �RXƇ4$`m[Pt!amDgUW?Oݐ6gvl룔g7� 1 a f XK%KUy'yƬ nD7͛yu5 ֆtjE08gX 2x1�u 8]%~89@PL*Ԅby XJEtu@D5�X &ɒK`G-RJ~TDkϣ~?tB`W렭|~)=4Vc.$1? swlӔnwU#<9 j>Wkӝo(]6ů'ҔбT̒{fWчe"D㙥 ^`QɄ7a9Sbv\p)=5QB1͘T5gf<k�e?梧*[tn9Ӊ:,kg8(qn?RuI%I*uzsASu|dT1B$'Ǧ؛{Fzg03_X@n7ȬG'q=?JO@4*VF ")B�T^:Z,="7q|7Os@1"+Fwb[LAă7r B^.CzӔPC@r<fΏQcC<deMr'S<) '=5Pȱh<ZhB_p?1'C~W2`ʼn_ZiC`iG!$;v&\{n�zk ;O :h=c::+:G% }k@seu]0fs�c;N+!s1R r೒zȬm0ی yS5([dnUY lhj*hβdʂgD?_=T!Fb�ង_8X-@[!`Nߜendstream endobj 45 0 obj << /Type /Page /Contents 46 0 R /Resources 44 0 R /MediaBox [0 0 612 792] /Parent 35 0 R >> endobj 44 0 obj << /Font << /F81 7 0 R /F91 31 0 R /F116 43 0 R /F92 11 0 R /F94 13 0 R /F80 5 0 R >> /ProcSet [ /PDF /Text ] >> endobj 49 0 obj << /Length 1510 /Filter /FlateDecode >> stream xڵXm6 ~"@P4.$,׭:XePǖ4}%'['JI!# dDl g:.V0wW߼Egf]DŽϻ#(p]PDw'2!be(x&g = 5L3'`X̒{`{f3.s"fo$ K9$|�Is8EΨl:s1n�bزdtۘK,WV)6,S5U7RQ.ˊÔeIX15AGDAo:PoT }ߐG ٔ+=sld(fOdS�p'ћ)q&Zk!)r1<_ȲP&P<:g^n%=BmhQo}QAFJ0|JɃMs~C0$+bS*9 AM-p#hȹIY`9,Q}<?uōsg iN8x':rkB$aӭo98Q(v샤o5=^1 [H|e=W3gQdyAm^ҙZH 8sHyzI=9ki+%{Fz5*_ڇr7u�Vd+PDura@&r.sCH.~ʧ :x @ͨ9 ֖S2)6֢uKo"#}03<+xJ:Yn5XJLG�}HfҺjl{Au:<?"ଭcQou2t!3b-]bNbʪj&a~%sVPw=N)4xCQ %2¾{ z2vVpӰ~}jM QȰi2MKȘ`Kq a`W v%{S=CNcvc7/I2TPy1Np JOq86"z/5k@SYviXU 뗻T<j >y0lc~8rV&X$C)}F uIW敢b]KYaW]vZAW1,@B-LPql3xlAC~IQ,:rhV m_.VGlRޱrn4mQ+"ca{{pPwn7];Ssi-2yzx%#y}$پ_Hy\zZj|aD֭(RQŔE֯ZjҪ ]gC3NRm&q'EmLj"S.  u'd b&]PrRQLoG&^ɓbLLM 8�R,�=g!XYDExL[’~~I>;cAe!>h iu7~BS}5)v/ȫ�h. �`퇚Km'޲rJgMzuw/Nendstream endobj 48 0 obj << /Type /Page /Contents 49 0 R /Resources 47 0 R /MediaBox [0 0 612 792] /Parent 35 0 R >> endobj 47 0 obj << /Font << /F80 5 0 R /F81 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 52 0 obj << /Length 1202 /Filter /FlateDecode >> stream xXoFDOJkVÒw``Ȯaofg@B�,�ٛw>\xZ&j2c/Cd p]c1?<ÝFu|?ͫkE/[=N+A,h1&밈äJϤv LxnӸp0B  'QPB5 38/=FenʌzTegq.,|j/)Ro+!4ܴo$e׏<K0o^ܦ�C7^G.`:Ͻ0x)WQkVn7˭GЀ>0/M uŏbW[![n*NELYga,bAb|OQ.gDJ1P$!"ދ/q3k  YbNN�99{ eC CVVڦ~ܖzU z#ݨLr7omFF.< _H+unz &20<A%i0OѽkI:4_X7FO4M$kh#69/^n]=]ѼaD?� )$s̉ɱBp*J"9n)TޖΔJi?)5ưwy;۠)MZa$`:=T~5݇4A&Q+0*7kEt]-cli `E 1 j 3w�2syGJ(^I3UhT|\+V>-T*2i jXҖPWl>ثGP.qt!gyB!�㺶Z-=[L-OgX$v9hDeJl@lPDӉ進QCPMzxхM6DZ>QQȐ#sm##4č* U@a l+)OQsbt_`j?CTc!3�}!  }n'[c\2/I3>ud8_w/OҶ}\\DG'e,YnBendstream endobj 51 0 obj << /Type /Page /Contents 52 0 R /Resources 50 0 R /MediaBox [0 0 612 792] /Parent 35 0 R >> endobj 50 0 obj << /Font << /F80 5 0 R /F81 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 55 0 obj << /Length 1494 /Filter /FlateDecode >> stream xڭYo6_!?!E}X +0Ek-IT)Qb*y408\4�[ }ǺH«톫oW`X =OL|dImrt&ri~x)nIc_=;LK@YkqkQ O3MSV<+I2(0\-6)-RGoJs Z56/{6O\?x5y ŏZ`clP) %. |� xK{Z0fa,fEK[Fv'lI~ϼV͊J:À0XL-nQ@,VƖ!fٮ{ďmG9dw\z}e[0yRo|!ʼnک?iM?OEthnH =u|Lg^޾;*0 ͝HdKKUO<&6& *|l'6Y|3GD8'duqtzHBs�`>q?3Qqhݍ |cFYv|k- |HOH#&+RJM=Grt_ ta&J7c|yU8[I` @_ \\ t[s|�. �.й@=FHKn1W/pwpiydg~\ˡ-?GA8-Qɍ(L#xB5\'l'I)s/דg3钑3an>gQ0h0i^v<&D@`-ۇmmB"bE@c >l;kVk[F?XnQ~zH98ΣJ𚀚j|.ls'pjC N)/ J&c?,ŀ�zz$U]mV}@V$8z>^ +EqgRkV[V(tL LD mb{MoKvWL0 FéRCh@f / 7qa1Z/s(ainϞ׭9Xj�v8 1\հnsu1_tLE;G@]1XEz̨G c%Y.muC tAIyRDC`2%^I$2ޥZG~⨧"^FIp^>{μDЈT /o5`w2EA $@ .5)6w1ߊbF,̸IRVqYL围#PT0S&)O_U'ǂKq}vf)>N!ֹ)Q%Jg~o؟Uڅ1�Îb|BLOiƑ2m~&fMCC&8+䭜q-,Y}busUq_*oOLHl&'z3Eą U%xCIEendstream endobj 54 0 obj << /Type /Page /Contents 55 0 R /Resources 53 0 R /MediaBox [0 0 612 792] /Parent 56 0 R >> endobj 53 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F92 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 59 0 obj << /Length 1039 /Filter /FlateDecode >> stream xڵXM6e(ISz)JJ+Qo ˎU1Q9o8hd0%U|Uvw~5V SzDߏx<I<C+>aB[ѢmSNn Pr^ ZIQNU;vNvZ{s7u7?wu(䨽Ⳑ/Md'>3*K0a&m}<Mxk$D(I7�113׀�Į�.'�Ϣu�+6p(dei Fx1UHlgarTE-(9<lb '¨lV:� bdBjR%*rOXR3@w:.�Vb#OK�V(<S{H?|MAy߈B:I�ŪG M^q=]6\4Jh-h`$^TQy2uV^Fo 57jlwB\,*� {(7r%BG0f(n+_4(yє''($^oMՂ7f*dꕂL% r v!Y*YOO+ ɺG&^+2Jԍ%RڥeS<4VXj ΁!Y:!P#5 u+*ti835Is#b(4~^-RBWZYzVJL*-47a4%54h%kqNTey(j{X*S]y_qP3[n IH`p/Þ#Y8:<7{R�Srw;4:b׫Btݸf'M:!Ͱ5UǍD_RJ\^ RFiYEhAya"Ԡ^,w`/Uljc"ڼ\fj@pE1H ؚO5C]o@so r?endstream endobj 58 0 obj << /Type /Page /Contents 59 0 R /Resources 57 0 R /MediaBox [0 0 612 792] /Parent 56 0 R >> endobj 57 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F92 11 0 R /F94 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 62 0 obj << /Length 2086 /Filter /FlateDecode >> stream xko6jNw-m\(Hl>4N,+Cxf3yɛϛ{yF~ow9iߗr}"o<q(?zoz;OaC 6lkuRߗ>}8 t4Ҵ~ -+hUODM\(MkO�tDW#Dh1u <}r-i@$08"8ij͜sZ=,'0NnfQ:KT?_]o2WsNhC5Sdx-*xIbo tg"R$pĸsA[sxHՕPWѬ97 e" !mㆴf$X/ˎ<�~lPVJV}V ZIvQMZDЌ, e5Jp ґ?[Q7Fԟ{<Doz$,.>5ʙ+{R ġMOܽ͝޹pg?] U曥,BKυ1,a :N7j[qS(Ѣ=6 O.ym\埀Iȿ=%Msj Bg(8ezbH<I1x?t b߉BdM}x"wo;|3H;~֖R ONQx2*jg5Lc㧱$Zڕ e[\Q.+w4*<*0X2~itxÅ0t"GN>{:; >@܏6K2AF+!BJ#Tʆd 1Xl\-.4|p88IFOB2+yXAXvU$SbwHQ^ Wc!Ƭ�`K<'T;ᾱ7As4 Z8y@'PxcP yO85tƨ=8dN)>rG% tN_1HעB\Zsݢ7.iv‚�: HsvBCKp/qEL(;56.ryTj-׈sG ,z'Or{s+M.C"YѮcT.ȁJ4d"T} eI.sם?MO^0!TODM)rSpF4pw%N~0ye\O(/>6p8�|o:b&z{;0~xM8CE І0)) =SP_x !P4&7Ʉ$.6bA5*z|+.vE2*U4C-I{Dݨ(�c ^_(Β ޚWQQw/+, v:]92{euh.NjRk(Hy֐m`HyZ=;K6?$IXt pNw1*i:) UG e4AFe0:*=hpkF4,HR<Dd1 n_OK.nILʓR޺EʾŌ̠9FQф^ߊ47@шGWL <Dc*ڢrf  I$W&v`S y&ѷsU|0zYڅ:2FF;bŠL tBV#Ndw3p~d4]Ѷ][F9@2*Njvv;\@,&8pq,gXpN:GтLȅ23kM%fK5fRKTqpbs1oYqmJT�."8Q 27UXWѶ}Ԡ|U`;S#ބd=^U ]kS=ǭB U^h(_oZvq'< C 唏$&LuxW0f2>]^8IBNACF^hdL]endstream endobj 61 0 obj << /Type /Page /Contents 62 0 R /Resources 60 0 R /MediaBox [0 0 612 792] /Parent 56 0 R >> endobj 60 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F92 11 0 R /F94 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 65 0 obj << /Length 1860 /Filter /FlateDecode >> stream xڵko6 <,IaH$[nV,ѱYt%:vf9fey;ޑ )ؐy.a0x.o&W$dNG-|dÈA'zv s Te&6[Rh̜ݠ˗Z&x[dQeu md0 Jv)6  \#y%R#[CF%PM&CtnD\?Oe%U* );Fw6C Ph ^e]trR*O Fǔ#H#I�(FΥю@$ FrA#Awk&fspROċO}1rCXVV,mUwpń.ˑGȑ%Ъc]B)!QD9C*FC0dc 5=Z\TV\-20I <_3d$t]:%2R^. 0XB+PgFWݑBY {+!nc̺D&~>×$ YRo;sY̜YT)D&d^dHpA+NVf絅F̱(V5,ت7d5;iRW΃\Uf2#sRJYP!O-|'(DаGNé\,P iRVDfńlO} ve�N\p*@O yh2\LTfFκ^]yx38ɝHT!py =fb/QfmѶOi;ďtBd9Ĉ>g�10^dg鶓/YtHsk'˭=%E b4 }cR )U:m3>3qf_+8fy)vՎ,͞ddu/ɎМ܄D*'vɸzP"y{YZ~em@jyh[ .'fU7ri̡r#σ0[�{h!r+1 > ~AW0,7Ͼ*w_zGo02rL@B/ɠI&''䄟ӋMh,ZpBzTG*s]v}qV6g*g<C܂hl*1N,?H;Vjr^�!!=A?P+z9o|^Af{5]^ҹNg_ζkO{V2O$6K#H8RI皺L=:_-J7B#W*<]%J(ҫ>W P^VU<_2el= sUb-{Q t[5ǁ X9[T/%[bΰOӞȲ"v'>a.~~ O|DÿhZ?w0$i!U!Z|Dq^4} 8m$ N-XOI)/>^7\8u2"Kn-3yjn:]\,L"Wz: 'd96-ZVr&nT׌wdjZ\A\$28f*3n@ZM~e Jh=ӴSN\?li 4 oڹ�;^57lh)3X{�rgf 3+( TϫrO6{R2G<벐3�A u޶08uVvR*m*Db,bo^*-GVg0k53B>pH2!dGS'�#ߐendstream endobj 64 0 obj << /Type /Page /Contents 65 0 R /Resources 63 0 R /MediaBox [0 0 612 792] /Parent 56 0 R >> endobj 63 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F92 11 0 R /F94 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 68 0 obj << /Length 1814 /Filter /FlateDecode >> stream xXYoF~ϯЋQ(Wܓd BxXS+UUlAcɩ�Eqwv8|340c(!@pyeFdX'?Q8>UE]("<5^g[cLOy2ӵi=W2L4C| 2| x̭OQ޻+.6S$ *=]jK_&eH,M )㝀ΏΗl[ <YZ4E"d=D-j5|xDVux™( :p'Œd?1eΞgq+}0J!觘 8&aQ{7J\]v'9,it$gE,p'd(rYz!ސf/ij Ow@tί$A$3?;K(pa_DD9F8'S} 0J]KDF7R1CY"_1(G PʥB,BIיD5>lb ./NҲmsćl>-sU9QF NHvwg]Et^%ap*v9|1ueGE6tE`oX.Z6fww wq i&AZYOz $:!F "�+"Sojw~O!",:ŏq#<G9",F8J8V.#W2ot;.%h!Op{> *iݹ4v,E)M`HH|;O~A/}=# ڦjAZV4SH647'*G(S 23}fgVu~kцCh!p,b6�v$'ꣲnZrwmZO=2XcJk; NɱW]N"%Ii?H?~e$AS.Zz}`Bv.?etlׯoqn1EZԚվ;X]G5E$;Nj Me_L(Mw#{Y4Ww\Ud(�VI3_?d"LeC2/F-0vQKCQ3}F^=|]WoRŒ %6šWh GzƆzPJ2\4f)8gaըjځ}Uz.Nӝ~:� �g ӄ6|K >Oaf##Oy/Þ4A8ߕ Nsxc0B\fթ|VJ7ʟż ىEk0,vgovg'Ϥ`UF<IntrDN?W侔UQNlNkc]z?usP ;X= 4 _|?čƎdvhb9>. ?D\Jmgާ#x6QqF8RCp$6] 骼�i6d@*o0v>7Ǘ0&XcPc [ D::,[�cKo}d@VG nG A @5o A|zn.}1I.GUm*8ؽq:T]xȔ>2_@*Sh|@!t-vq߅?UcJ_LBۈ_k<Z; kxKĻJNW ~}t׿KbwUFMe2,rOo轮 t>DX-U,0";ϐ)Į <z1yendstream endobj 67 0 obj << /Type /Page /Contents 68 0 R /Resources 66 0 R /MediaBox [0 0 612 792] /Parent 56 0 R >> endobj 66 0 obj << /Font << /F92 11 0 R /F94 13 0 R /F80 5 0 R /F81 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 71 0 obj << /Length 1961 /Filter /FlateDecode >> stream xڭXo6qvQsEEN֛H[=-pLjp%9٬3CHCb=p8(޷0}~.foXBϜVj8N0XI;x%vA\PHE)<?Ugԕ/;Y2wm#>O?˧(ey'A=qC\T0AVQP UjN*r uHٖq@,A\Q-=m/aZuy²~7 Wէ/;(bsf;JϤfW WPX~)TaȡXjiZ+<"q-F`Q).RqTwa5*c<J7chs>6 D`ª}+7*JBo4N@>j&438*\+@p{4v۶95ףo#ϲYYr,$1`PYnȨ/^*/%A&<m,h,@AADPYj0d)+8̀ ls\uQH17$lc2\P-G߬g{l`S _n{?li3(C/os >4Hzv\yv$A6cN~tZ'|}]N!1L@s}@f_-Kdkۉ*o KHרsCWAV%5o`g}$}|[Kp=ILfL1saL8BwOLtx`S;#E ++3 $sjjuzң C3=y]{]pt9*5<HC Pn>eIJR1\g6=W_ua@5_Vg*K$7˕:2='".88oMnh<nA �=C3 &0= 7]WfmBg5(G l8COΏSyJwqyߒxmXE7$U\u]de視$Ak᧲[$_$ d( Հ�67-Rm׶YaQR8?v.UEHU�G ':lV ǪFL- gS.)q+ RX:Ү Nh \CLf{Q VFzੈlN+ 2Ɣ4X>wyRuog:hyde뼌+eN<}T<@桳2;(.Df|*8Ty5~ա3T&qjB_O/&~Ʒ[@Dp`d:]DEN2|wti%x̜�@+VVn?^Lx 5ʋ]srj h;5n v6naQwӰt@|3:Ԇsn3L ;`z7盛ȱ!VB`rv&+]0ߏw{T4A{e?d:7F޹C|f :vHF5ɛgT%'/12Q>Vw }@#&ITݟĚw -*mv,TMf4>̂ڈE^dI'az ux{AwxUοsLJY3b6�B * �+1_*9\GGʗ[R+m;.CQhCMNM}`Q՟ي-W b ]NF2Jƅ{Ld'o^-4,uP}[ h{ 3nZ 5C--endstream endobj 70 0 obj << /Type /Page /Contents 71 0 R /Resources 69 0 R /MediaBox [0 0 612 792] /Parent 56 0 R >> endobj 69 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F92 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 74 0 obj << /Length 2209 /Filter /FlateDecode >> stream xڕXo~À*gR\ 4.\%,[Quw+^17CKxҫ,˜WUۻw_̓%$E`]ae0xR=>;ts^^pA7[TksoYO,q/Ųc&ز(,Ӓ-.卋'sy4Y JwgQؽpNB_čV&qbA7lCiO';S'OYnJb'O#~z({$3& Y̨xUu^qd?qE攇YVקF+3#O"FKaVXd/ͤ8FZib<,X}!1n5ğ&phFaGÔ'>'oXhUݽ6Ia(9T8K�<x`yްt{- -oW)6q4~zR/q kwa0٦y|^עqD.O[U^ 8tiHyOjJ ɯ({"iHa3yh%sը g{4z# y㞏i y v(F1<5R?PDKc$VV! )]HΗ ?Zkv'8Q64X-3[�!>WzY*iܤ**m ~6G Q3+FyxR߬ˇAQ(tXe`:39糷rց[/()R@E?'/ܯ ;!'GsRE<dL:Aä }?>jhP8eQ5?,@7@;kΧ'Q %ALA~s ˠw0d!GR <XZ-FP4S:` A')"pҊnXlﬨnm=^AnGvQlЌ!6)b ĉ}^ӇK?<,UN7E<kU:XE]0OZV6FQLF5Av^94e?2n=>SEwhCg1)0kv2 ɸ" S_^/MGHӸHÌgohwEi1H"k\"B2yWÒQ-vV Ձ "2ⳓ'9#�rpqF(Ό晫zD.TLm`b䆫F Q^Tj4=rGA n9\7ۣF?V/�WBEppdѧ&)˚} b9=As2]RM4cnzYGBv҇ @Tdo?#rg<5s-8#AV=XX"7gպ9J#GtnUV/a0 88m0镠oaZ}<CA#/V/5FMhiyLV㶫C\bO8gA6SjKؑMo/:*�@)r5>87VAHZOF Z`\X:bhL .TPu +R҅` '—VC렝�= kplZWˋ90OtR$8aĶp-վ' !ڛAf/cKgma\AlSvT^HͥҰa9~tn }l Xt98c`k/7 1^8ep|K{05NvVfy+k9'T0e$>sfR;M)ϸ0AeS:jQ9lllBi&P% k m.o_F$>zZ˲PtSm֭4f*miu/Ѩ,d Nv|v]܀"9ȿ};]/7cL1o/ /{;]31?J�*_^_킝OGp؃^zD)EI:_]gvZ,ga((u}{ (8endstream endobj 73 0 obj << /Type /Page /Contents 74 0 R /Resources 72 0 R /MediaBox [0 0 612 792] /Parent 75 0 R >> endobj 72 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F92 11 0 R /F94 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 78 0 obj << /Length 2721 /Filter /FlateDecode >> stream xڵY[ܶ~ؗ"=EEH�ݠ)>p$Ύ`Jo;<FN€Er΍+""I\Y2.ͻ7ʰǣX3xov8i uw" >-hYHfjz_oq-dI$|qr~BT@|މ(/mL? 91w*^:x}y}4I^y",< Z}?,qneˏ$60 Nj'#0^TgAUz|KJ n% I-qmLZLK๙N<b8#h#xTfTV$b[KB+R$a$Nnf~*+`SoiКiyYMȴjtfF ѳ7y S{ϳR.Hg51mì5ja8\&XI(~tӪ:طqW~il [Qj=4N Sm^`G# ּAtRjm6pxaʣ !FG{DBr!"cF'RxϧuBn{2+B+s9Tˡlqm}쇱O$oܼS/, \~n>9:]LG/.m_?HjC|fP<ڔrQi%@dwb<~ +2bGHKTYaIN} qJz=*ME?h@<z3 |(!eۧ3.5\yrJRUC3*v6 iyʓЉmz<q5u\\g5Q00:lGLoimI-#|4=̳ڀnGۉT&Zጓqva&rL;Dy9v Wmꞿp4;j pZ0�BqOb.s�5H:"q+J<௷}X1~QBҝ| EjҷRClB&a~yrr r?p<rX8dEeEǖ;Fa0[N ᦪ^UtVPh3^p\5 A ӥc&+,wYWm_}% ޿x5r,<[D\M^`-4 ଇc?tLj~mFWsy3#s aS3qjԓr֯TQ֗jvqUnZ61Z⿾ٿ4x1բ5Ui "\2Y ҄CoS[ަmy V5F!KX/`BUxgs?17zz־9^ yZ"h,Gԣ;] sG $~Cd:ʯv اcs$#h\nC3g' $R@;wv3&�qե<ƵS�F^, |-.3䂝eK˛80pt]tUV?Y~eb�YXk|nxF}, ~�(xձ9<2A$UFo%J|k}#tnt D8]2B,lEt`@^?q;0ᚬ86 &˽"ܳqܳd,aqtOtC%ˆx2. njh'C>h4Xj.-j&.P�fs(QT$\7�Rt8! K"0|Kzˇ+ǍqtyXY|!Nͷ ) wDۑii|ˮ Iƥ.�7MNڊkB ЁQmݐҿ1@{8iPEVYXuftO1jַZĉ{`еU\=^@Lஎe=8t6-^gԆ<%S=mM=,JE|ו+s4Ln),Jx![H:mJZ%O7%:gU5l{ ÆfQ�Y=GL#BvdBO7o9Q@V`+Ly|uBfVq2-R嚝67nͲD%%`EhUk Mc.9M=2()T*QmX|XDh] �\4uw[+AFhmoDQz!D޳B]{q}aQ!ַpC&=][2tEuމ.gWO4OqfnǡxKfJ&u6sA׿OT@m Z\! Daf&C&.3oq5p݄6[B&8*ջ ׸{мUX<?HZqmy[8wd =Ļ7"[ w8L[hߘ3�_6iԭSvd٢cݫF{r۔yV ϑ|9TWYqyH\u}T6>4(X6J9O@^ Pc 3-�? mendstream endobj 77 0 obj << /Type /Page /Contents 78 0 R /Resources 76 0 R /MediaBox [0 0 612 792] /Parent 75 0 R >> endobj 76 0 obj << /Font << /F80 5 0 R /F81 7 0 R /F92 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 81 0 obj << /Length 1897 /Filter /FlateDecode >> stream x[Is6WhTv7%;M&6)Ɂ"!YD$7H2-Zt<M|o "C97#%0X1.Շ(4n?k؏9Ab=Q<q9i"gGÄ -ʇQUoUx$#H2ZGL^(W?J HSܑf' xVDQl"%ӦPT ) G ž'RY?3UM2,rM HMoR#Ñf93 ~Y]C3>po!H,QXr[�Q0] kدyd )i^em8XЃeU09 (SA/l3E<KL4 ggA `@4սNt/,C\΁ tl•ɒ5cEeqdBiZqEa Yv _UuJd x<)B"\a.{ns>CF=x}cN{�L]<E=yaKEG-y$S L`4jQ(hϬ > 1ٯ/"2FF /{3@c3L.{d>P1$wZzOJ D|vbJ~a^Aـ4#ċݺ>U�r ]/߂f~&qX _ (W7ΕX S˺^}'|bCїx&gnfӍ�}޵jR#c(#1\`}l#ܹ4o)Eމ*K, 9Q<b35_-Եb1 7<]-~:k3:$q>Tji_cz6!�uD#8X/}`zDn]H}W9M4R(Jyf1yKѽm^aF0xulO;y46v+O깧ۨsxl (+8kj6�t^@g%%T`Rw/ӆ8PS̒xگ mIK%K-{Hr[% 90t!.}!o ^\H+4 p5QWe 1PQkeZ-V �SmU_Av%m虁 ˃ґI?|yOuK (sd*"NjOk۷oo|N{[Y& -F x.N.a7t%<b.};'Ҥ)iaiG!p~Whf"q/81;rfdIe'6PɁZ]tw߂2iضZrT(X-M0})4 Y2 󪖃�*�Onn_ay-"~"mðf|zUv9ݜv=g 5 #QYsdyy܁eG wa5q;o 29k 18k}D1+)NӪ<p9~\<9 g [.T1$|sfx[#i QApjݑc7I'$!!-S*uY- z3lœݗvʗu; ݾ"&0|WGqzW}:mb18'+vB,vp;OXtY�-ͧqRw;`zszxxzl|HOO*o; 8A9R`dYq,`(7O95{D,ǟtf)4o6:蹵5H#Lm` )UQW1endstream endobj 80 0 obj << /Type /Page /Contents 81 0 R /Resources 79 0 R /MediaBox [0 0 612 792] /Parent 75 0 R >> endobj 79 0 obj << /Font << /F92 11 0 R /F81 7 0 R /F80 5 0 R >> /ProcSet [ /PDF /Text ] >> endobj 84 0 obj << /Length 1802 /Filter /FlateDecode >> stream x[KwFWhSO UNE7=Ỉ�wAF"! ㅱg{>;&SȔp,jM25u/wol2UHI6oy|&"޺Nr7~~b[¼..o~jɦfK%!H Q~Hp I?,-�t3jhY _6aK qe;J]-(cEǧ-�ِۀ߷z76~?@]iH ~:BUVTI�߄9!p\!!Ř 8,K(>C!XTN#0ՐoE>yo3Knkw76]C8צa@oWuGz 'o( y5KvŅ/vlw;Ex#b_K"]6'U崪8#�2-H-j>>8K vY S->'N@["gJ%'vxq+֟r) ]>:Wi.C'�CTgʜRjYs]FdrV  ZD!M<\_X"J+J#b5S9^-]hʀ 1:H>4KeKFFᢌ]f-Џ=KҴ)"Ot3{;nt<DdHVjnVT wx,pN[HXWE 4]>UUnŻt[B6EYTLU>nUr&$XkR!UQf&,)Cig6Cc l1_k$'hY_Iv <R#bH4?cQ9;|f=>DtQtgo:,E5Gd$V楏u[\TX@%,$z결�0@L[a5lϊ>',$ m#CvF{\hr~AY-2%ef& z؎dlK#Ew2a@ů-t%V>�6xi LB%tA.ll 8>3N3ZT-RK!.zorA5JW:CK`C -XI@(1HE+JzTЃ`yG[2yq -Jq@G<2k# N^qim@?h6A,?>&J3~k[CॄRj0I08 WQ 3, 2MK6n֣?5lP#mNhl>sOq,Rp@熓oO_ԛonHW|^:51t?鰖qA;,/r䯳#ZLmސ\ ,8i#0gӵ)u!/{'6l6&<^dfgGdr#?(h>)�(##R|VUަū>BeOY8罩 A,^wOEZ 3pǰvaܠ� Rh]fqfi\ۑNon_ېo2=bw =LtW&�SHP{k`.7ouxc˭ıh b>r X`W0ة7DȡPگmo! ~v󵕄ڛY7oGd,lvBgj  {i@�JfȦT%]BiE0EbEendstream endobj 83 0 obj << /Type /Page /Contents 84 0 R /Resources 82 0 R /MediaBox [0 0 612 792] /Parent 75 0 R >> endobj 82 0 obj << /Font << /F81 7 0 R /F80 5 0 R /F92 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 87 0 obj << /Length 1911 /Filter /FlateDecode >> stream x[[o6}c4hn퀡0*ӶK$MG+a((L~CGDr$K!ejƣWWRœWOi|g_~<O' o'._bRM0!)!J@M|FL G($w8JpG!ձXκi?1IaR  rB j6 _Y @&gjr�h ;W·]K.5:[G\?B #,,vw qFZ>Jw0I2l-R&pREe'U_/͍_n1E\$ۇQ_kx9nd1=I\`%i3C&F'&;GW'_|46i 6^a*,Q3rJ(CͷX)Mgy&@D*-A欦@s:蒌Jr,JTe%8s5)?],>@z1$'aNX)a,xH:*%/7eO|W8$K QVkM*F= >#PW\44Abj$%gjDF 3cQj}dzj_Gi#8f n/0<(Ate&YᵞuQ !\T V wq=A [.A;j \qAdJ̠07$rwckgSdBzR.AQ3gE ӌa~vӳ!TovvR ~C aǶ[j ~1[hvB:l8MVjw > =,PmHƄJz*J v1.f w]@[/a@QY`#UY+AqDlk4CۦOF'9St%Fq%"c啄 F~uE9&B@sad,l-i8M0] ePm=`ndq>ߵ@]k'+7-DY;HROˏu~ TYlɒZ:)z[{Ff`͕ӛ;JȔ7Leue#JKW1ĹfC!9SU6 jDhFؿCB)7pSBȮ~�$_kBB NK {V#hv\]\k׹9|-ZrϿ}D<B[-PRGP Un׭U,c|dk b Woh5gCL_&)q|󨪨s6 _ pDZ O M!=iAZoʚ@K\6�T1Q{'*-׍<(+yܸ9m]:ԲՎ=jzǯ5Bרj+Hcysr֜R+وFK1iPёo.@gn C{@-PQ p5z6FWG<o|D0"J=T/|B/@Z}tkM4pm%e|u-,7FNVt+F�7nts'h z-fY^e]uEaĝu`VyLy^Eڡ=L>>XifׁGң3JW\u>~| hfN>fz,6PlmbK .eCo~L|>`\L)<<XWݎ)^jQE,`RY1endstream endobj 86 0 obj << /Type /Page /Contents 87 0 R /Resources 85 0 R /MediaBox [0 0 612 792] /Parent 75 0 R >> endobj 85 0 obj << /Font << /F81 7 0 R /F80 5 0 R /F92 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 90 0 obj << /Length 1894 /Filter /FlateDecode >> stream x՛Ko6>@͊o(vv7M|(Ai[%MӗzFFD"?Ù?ܳaƐ$'@ػex{R/2ON *S?ܪ/~V"e.ZT0Y/<s}wt[b#iϬG7 |Oqȹ!j Ti�`$(bYn.,*y@䔊t F"\xQ E w}l_Va%r p8S_:HͰ4Vz'>jL8<ǟԩ$E`5,.�1`"q*-ٸ7g@ N"n˽٫1XQLs+R f HP;\+8, !9:ÅaY)YK">7r@Rep<5zȉ]`Y찤'[1׷sJ\&(y-70U/Z~?2z>_J88X<HA$b>gPCYI9c|<ov#@:~q]IJ௼]c #f,5)( VJ6o'Kv~+@₟`jL]s"`�?#D�у h8#G1uM~˅3`1a4Z`\hU2$k}/&QˈLmp c -%KɊr`z xFK;NM&/VF>/:5Een+]. V3aLBZB^NKwJV_FDGNm;ldޅ<1_/XVy`Ti,S9e6$Bym �IΧ.6fH岪5(uw7KNRԞ.^H$t'Ϡt8=͇Û_$0^bJ)R*LT-w ${qQʖ]`=n"mPVkX+^1JIͱ,g/[X&uv{n$v=G})&zϛӪD9qZIm|9p7h q$8;H:rNHa^U\%SCk紬Qsg7?jR LdS~ZkL8?t+{i%h;IX7vQpr_!t֪�ڟA;A*n*z_s'<HFLZIW{? N,2bmJ &-& e CRz)ybqWU8X<{e|; nNT 1 []*):!' I4^2OQZdbl1ZsQD�V%΋('r")T!jԸwY=tY*1~>6_z:)rs /]L%x\uȜ&Y`66bL53e0I FTq;.Hsݰ�v9E_T)M0~lAV(gլ 61-*SvBrj>rcÜ/2Sbci{q6AН(e@[ZL,/ Y,3̀QC=gjtҜjQ5e1Sg&Haq!:�na'|Aݜn܈kk[P@P8ree.VJ7z4!eP@)%kO7Ë͌nendstream endobj 89 0 obj << /Type /Page /Contents 90 0 R /Resources 88 0 R /MediaBox [0 0 612 792] /Parent 75 0 R >> endobj 88 0 obj << /Font << /F81 7 0 R /F80 5 0 R /F92 11 0 R /F91 31 0 R >> /ProcSet [ /PDF /Text ] >> endobj 93 0 obj << /Length 1080 /Filter /FlateDecode >> stream xXrF+pzIqs-Cl@aa�Pק BI.~MO|(|)$q}{|Cdx9~;Ų\g)I"8k$#&p% p>d bE1 Fhϸ~zevZRBjQ-#t72GO6A6AQ~$T!Z#z"^S)x?U="QNK|xkA."]enE'25- � (@)L=!QLmUVG㷼=ajQy5 e>=ب\XCEbGO셄!m8 gpb8o?_ޟ}F4B)}Nr#PMyqP܆ܵ*.!nD~d 5ι28k?XFe4O`Y^frgH. avkb/6z(4N~)H)<(2LlK\s,joAQN՜<RU i 0�*8̢, ZʭtF@{¨2C\Sā0@9j)vIɲ(kYꬪa-y:ǹGQ+MSk\ ȉ<U-~tq#VK\2 fZĄvT:fmL SEOo�!rŤLlϿuj\;zϨt B3۷:4jL&c?X›ڛV TG%Ջ5z]efMѡЧtjCci. >e)PzN"]/Ee!f31ٺ'v_xn y'Rĉەfd}n㬼zdn{_p#?)9EtEc- 1I;-F58u)A6Foň]ܰ{vrj͡}G۝ ]endstream endobj 92 0 obj << /Type /Page /Contents 93 0 R /Resources 91 0 R /MediaBox [0 0 612 792] /Parent 94 0 R >> endobj 91 0 obj << /Font << /F81 7 0 R /F80 5 0 R /F92 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 95 0 obj << /Type /Encoding /Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl 22/.notdef 30/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 141/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 157/.notdef 159/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] >> endobj 43 0 obj << /Type /Font /Subtype /Type1 /Encoding 95 0 R /BaseFont /Courier-Oblique >> endobj 31 0 obj << /Type /Font /Subtype /Type1 /Encoding 95 0 R /BaseFont /Times-Italic >> endobj 13 0 obj << /Type /Font /Subtype /Type1 /Encoding 95 0 R /BaseFont /Courier-Bold >> endobj 11 0 obj << /Type /Font /Subtype /Type1 /Encoding 95 0 R /BaseFont /Times-Bold >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /BaseFont /Symbol >> endobj 7 0 obj << /Type /Font /Subtype /Type1 /Encoding 95 0 R /BaseFont /Courier >> endobj 5 0 obj << /Type /Font /Subtype /Type1 /Encoding 95 0 R /BaseFont /Times-Roman >> endobj 14 0 obj << /Type /Pages /Count 6 /Parent 96 0 R /Kids [2 0 R 16 0 R 19 0 R 22 0 R 25 0 R 28 0 R] >> endobj 35 0 obj << /Type /Pages /Count 6 /Parent 96 0 R /Kids [33 0 R 37 0 R 40 0 R 45 0 R 48 0 R 51 0 R] >> endobj 56 0 obj << /Type /Pages /Count 6 /Parent 96 0 R /Kids [54 0 R 58 0 R 61 0 R 64 0 R 67 0 R 70 0 R] >> endobj 75 0 obj << /Type /Pages /Count 6 /Parent 96 0 R /Kids [73 0 R 77 0 R 80 0 R 83 0 R 86 0 R 89 0 R] >> endobj 94 0 obj << /Type /Pages /Count 1 /Parent 96 0 R /Kids [92 0 R] >> endobj 96 0 obj << /Type /Pages /Count 25 /Kids [14 0 R 35 0 R 56 0 R 75 0 R 94 0 R] >> endobj 97 0 obj << /Type /Catalog /Pages 96 0 R >> endobj 98 0 obj << /Producer (pdfTeX-0.14h) /Creator (TeX) /CreationDate (D:20010510160900) >> endobj xref 0 99 0000000004 65535 f 0000002463 00000 n 0000002358 00000 n 0000000009 00000 n 0000000006 00000 f 0000055510 00000 n 0000000008 00000 f 0000055425 00000 n 0000000010 00000 f 0000055358 00000 n 0000000012 00000 f 0000055269 00000 n 0000000030 00000 f 0000055178 00000 n 0000055599 00000 n 0000004899 00000 n 0000004791 00000 n 0000002577 00000 n 0000006777 00000 n 0000006669 00000 n 0000005014 00000 n 0000009303 00000 n 0000009195 00000 n 0000006881 00000 n 0000011387 00000 n 0000011279 00000 n 0000009418 00000 n 0000013674 00000 n 0000013566 00000 n 0000011479 00000 n 0000000042 00000 f 0000055087 00000 n 0000015629 00000 n 0000015521 00000 n 0000013778 00000 n 0000055707 00000 n 0000018067 00000 n 0000017959 00000 n 0000015709 00000 n 0000020018 00000 n 0000019910 00000 n 0000018183 00000 n 0000000000 00000 f 0000054993 00000 n 0000022362 00000 n 0000022254 00000 n 0000020147 00000 n 0000024188 00000 n 0000024080 00000 n 0000022491 00000 n 0000025657 00000 n 0000025549 00000 n 0000024268 00000 n 0000027418 00000 n 0000027310 00000 n 0000025737 00000 n 0000055816 00000 n 0000028736 00000 n 0000028628 00000 n 0000027510 00000 n 0000031113 00000 n 0000031005 00000 n 0000028840 00000 n 0000033264 00000 n 0000033156 00000 n 0000031217 00000 n 0000035369 00000 n 0000035261 00000 n 0000033368 00000 n 0000037621 00000 n 0000037513 00000 n 0000035473 00000 n 0000040109 00000 n 0000040001 00000 n 0000037713 00000 n 0000055925 00000 n 0000043121 00000 n 0000043013 00000 n 0000040213 00000 n 0000045297 00000 n 0000045189 00000 n 0000043213 00000 n 0000047378 00000 n 0000047270 00000 n 0000045389 00000 n 0000049568 00000 n 0000049460 00000 n 0000047470 00000 n 0000051741 00000 n 0000051633 00000 n 0000049660 00000 n 0000053112 00000 n 0000053004 00000 n 0000051845 00000 n 0000056034 00000 n 0000053204 00000 n 0000056108 00000 n 0000056196 00000 n 0000056247 00000 n trailer << /Size 99 /Root 97 0 R /Info 98 0 R >> startxref 56342 %%EOF ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/src/ltxgrid.dtx�������������������������������������������������������������������0100644�0000764�0000764�00000531156�07332604132�016477� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% \iffalse ltxdoc klootch % ltxgrid.dtx: package to change page grid, MVL. % Copyright (c) 1999 Arthur Ogawa % % Disclaimer % This file is distributed WITHOUT ANY WARRANTY; % without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % ReadMe % For the documentation and more detailed instructions for % installation, typeset this document with \LaTeX. % \fi % \GetFileInfo{ltxgrid.dtx}\CheckSum{4234} % % \iffalse ltxdoc klootch %<*ltxgrid> %%% @LaTeX-file{ %%% filename = "ltxgrid.dtx", %%% version = "1.0rc5", %%% date = "2001/07/26", %%% time = "12:23:00 GMT+8", %%% checksum = "4234", %%% author = "Arthur Ogawa (mailto:ogawa@teleport.com), %%% commissioned by the American Physical Society. %%% ", %%% copyright = "Copyright (C) 1999, 2000 Arthur Ogawa, %%% distributed under the terms of the %%% LaTeX Project Public License, see %%% ftp://ctan.tug.org/macros/latex/base/lppl.txt %%% ", %%% address = "Arthur Ogawa, %%% USA", %%% telephone = "", %%% FAX = "", %%% email = "ogawa@teleport.com", %%% codetable = "ISO/ASCII", %%% keywords = "latex, page grid, main vertical list", %%% supported = "yes", %%% abstract = "package to change page grid, MVL", %%% docstring = "The checksum field above generated by ltxdoc", %%% } %</ltxgrid> % \fi % % \iffalse ltxdoc klootch % The following references the \file{00readme.txt} file, % which contains basic information about this package. % The contents of this file are generated when % you typeset the programmer's documentation. % Search on "{filecontents*}{00readme.txt}" to locate it. % \fi\input{00readme.txt}% % % \subsection{Bill of Materials} % % Following is a list of the files in this distribution arranged % according to provenance. % % \subsubsection{Primary Source}% % One single file generates all. %\begin{verbatim} %ltxgrid.dtx %\end{verbatim} % % \subsubsection{Generated by \texttt{latex ltxgrid.dtx}}% % Typesetting the source file under \LaTeX\ % generates the readme and the installer. %\begin{verbatim} %00readme.txt ltxgrid.ins %\end{verbatim} % % \subsubsection{Generated by \texttt{tex ltxgrid.ins}}% % Typesetting the installer generates % the package files. %\begin{verbatim} %ltxgrid.sty %\end{verbatim} % % \subsubsection{Documentation}% % The following are the online documentation: % \begin{verbatim} %ltxgrid.pdf % \end{verbatim} % % \subsubsection{Auxiliary}% % The following are auxiliary files generated % in the course of running \LaTeX: % \begin{verbatim} %ltxgrid.aux ltxgrid.idx ltxgrid.ind ltxgrid.log ltxgrid.toc % \end{verbatim} % % \section{Code common to all modules}% % % The following may look a bit klootchy, but we % want to require only one place in this file % where the version number is stated, % and we also want to ensure that the version % number is embedded into every generated file. % % Now we declare that % these files can only be used with \LaTeXe. % An appropriate message is displayed if % a different \TeX{} format is used. % \begin{macrocode} %<*doc|ltxgrid> \NeedsTeXFormat{LaTeX2e}[1995/12/01]% %</doc|ltxgrid> % \end{macrocode} % As desired, the following modules all % take common version information: % \begin{macrocode} %<ltxgrid>\ProvidesFile{ltxgrid.sty}% %<*doc> \expandafter\ProvidesFile\expandafter{\jobname.dtx}% %</doc> % \end{macrocode} % % The following line contains, for once and for all, % the version and date information. % By various means, this information is reproduced % consistently in all generated files and in the % typeset documentation. % \begin{macrocode} %<*doc|ltxgrid> [2001/07/26 1.0rc5 page grid package]% \fileversion %</doc|ltxgrid> % \end{macrocode} % % % \section{The driver module \texttt{doc}} % % This module, consisting of the present section, % typesets the programmer's documentation, % generating the \file{.ins} installer and \file{00readme.txt} as required. % % Because the only uncommented-out lines of code at the beginning of % this file constitute the \file{doc} module itself, % we can simply typeset the \file{.dtx} file directly, % and there is thus rarely any need to % generate the ``doc'' {\sc docstrip} module. % Module delimiters are nonetheless required so that % this code does not find its way into the other modules. % % The \enve{document} command concludes the typesetting run. % % \begin{macrocode} %<*doc> % \end{macrocode} % % \subsection{The Preamble} % The programmers documentation is formatted % with the \classname{ltxdoc} class with local customizations, % and with the usual code line indexing. % \begin{macrocode} \documentclass{ltxdoc} \RequirePackage{ltxdocext}% \RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}% \ifx\package@font\@undefined\else \expandafter\expandafter \expandafter\RequirePackage \expandafter\expandafter \expandafter{% \csname package@font\endcsname }% \fi \CodelineIndex\EnableCrossrefs % \end{macrocode} % % \subsubsection{Docstrip and info directives} % We use so many {\sc docstrip} modules that we set the % \texttt{StandardModuleDepth} counter to 1. % \begin{macrocode} \setcounter{StandardModuleDepth}{1} % \end{macrocode} % The following command retrieves the date and version information % from this file. % \begin{macrocode} \expandafter\GetFileInfo\expandafter{\jobname.dtx}% % \end{macrocode} % % % \subsection{The installer file} % % The installer \file{ltxgrid.ins} appears here. % If you have retrieved the standard distribution of this package, % the installer file is already on your filesystem. % If you are bootstrapping, % the first typesetting of the \file{.dtx} file % will cause the installer to be generated. % % The following modules are used to direct % {\sc docstrip} in generating the external files: % \begin{center} % \begin{tabular}{lll} % \textbf{Module}&\textbf{File}&\textbf{Description}\\ % doc &\file{ltxgrid.drv}&driver for programmer's documentation\\ % ltxgrid,ltxgrid-krn &\file{ltxgrid.sty}&this package\\ % ltxgrid-krn& &the portion of this package suitable for inclusion within another package % \end{tabular} % \end{center} % % \begin{macrocode} \begin{filecontents}{ltxgrid.ins} %% This file will generate documentation and runtime files %% from ltxgrid.dtx when run through LaTeX or TeX. \input docstrip \preamble This is a generated file; altering it directly is inadvisable; instead, modify the original source file. See the URL in the file 00readme.txt. Copyright notice. These files are distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. \endpreamble \keepsilent \generate{% \file{ltxgrid.drv}{\from{ltxgrid.dtx}{doc}}% \file{ltxgrid.sty}{% \from{ltxgrid.dtx}{ltxgrid,ltxgrid-krn}% }% }% \ifToplevel{ \Msg{***********************************************************} \Msg{*} \Msg{* To finish the installation, please move} \Msg{* ltxgrid.sty} \Msg{* into a directory searched by TeX;} \Msg{* in a TDS-compliant installation:} \Msg{* texmf/tex/macros/latex/ao/.} \Msg{*} \Msg{* To produce the documentation, run ltxgrid.dtx through LaTeX.} \Msg{*} \Msg{* Happy TeXing} \Msg{***********************************************************} } \endbatchfile \end{filecontents} % \end{macrocode} % Note that, because all of the files generated by the installer % are part of the standard distribution, it will % be necessary to run the installer only when bootstrapping % (or, of course, during development). % Note, too, that it is rare to generate the \file{doc} % module because it suffices to simply typeset the \file{.dtx} file itself. % % \subsection{The ``Read Me'' File} % As promised above, here is the contents of the % ``Read Me'' file. That file serves a double purpose, % since it also constitutes the beginining of the % programmer's documentation. What better thing, after % all, to have appear at the beginning of the % typeset documentation? % % A good discussion of how to write a ReadMe file can be found in % Engst, Tonya, ``Writing a ReadMe File? Read This'' % \emph{MacTech} October 1998, p. 58. % % Note the appearance of the % \cmd\StopEventually\ command, which marks the % dividing line between the user documentation % and the programmer documentation. % % The usual user will not be asked to % do a full build, not to speak % of the bootstrap. % Instructions for carrying these processes % begin the programmer's manual. % % \begin{macrocode} \begin{filecontents*}{00readme.txt} \title{% A \LaTeX\ Package for changing the page grid and MVL% \thanks{% This file has version number \fileversion, last revised \filedate.% % For version number and date, % search on "\fileversion" in the .dtx file, % or see the end of the 00readme.txt file. }% }% \author{% Arthur Ogawa (\texttt{mailto:ogawa@teleport.com}), \fileversion\\Copyright (C) 1999, 2000 Arthur Ogawa }% \maketitle This file embodies the \classname{ltxgrid} package, the implementation and its user documentation. The distribution point for this work is \url{ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxgrid...}, which contains fully unpacked, prebuilt runtime files and documentation. The \classname{ltxgrid} package was commissioned by the American Physical Society and is distributed under the terms of the \LaTeX\ Project Public License, the same license under which all the portions of \LaTeX\ itself is distributed. Please see \url{http://ctan.tug.org/macros/latex/base/lppl.txt} for details. To use this document class, you must have a working \TeX\ installation equipped with \LaTeXe\ and possibly pdftex and Adobe Acrobat Reader or equivalent. To install, retrieve the distribution, unpack it into a directory on the target computer, into a location in your filesystem where it will be found by \LaTeX; in a TDS-compliant installation this would be: \file{texmf/tex/macros/latex/ao/.} To use, read the user documentation \file{ltxgrid.pdf}. \tableofcontents \section{Processing Instructions} The package file \file{ltxgrid.sty} is generated from this file, \file{ltxgrid.dtx}, using the {\sc docstrip} facility of \LaTeX via |tex ltxgrid.ins|. The typeset documentation that you are now reading is generated from the same file by typesetting it with \LaTeX\ or pdftex via |latex ltxgrid.dtx| or |pdflatex ltxgrid.dtx|. \subsection{Build Instructions} You may bootstrap this suite of files solely from \file{ltxgrid.dtx}. Prepare by installing \LaTeXe\ (and either tex or pdftex) on your computer, then carry out the following steps: \begin{enumerate} \item Within an otherwise empty directory, typeset \file{ltxgrid.dtx} with \LaTeX\ or pdflatex; you will obtain the typeset documentation you are now reading, along with the installer \file{ltxgrid.ins}, and the file \file{00readme.txt}. Note: you will have to run \LaTeX\ twice, then \file{makeindex}, then \LaTeX\ again in order to obtain a valid index and table of contents. \item Now typeset \file{ltxgrid.ins}, thereby generating the package file \file{ltxgrid.sty}. \item Install \classname{ltxgrid.sty} by moving it to a location in your filesystem where they will be found by \LaTeX. \end{enumerate} \end{filecontents*} % \end{macrocode} % % \subsection{The Document Body} % % Here is the document body, containing only a % \cmd\DocInput\ directive---referring to this very file. % This very cute self-reference is a common \classname{ltxdoc} idiom. % \begin{macrocode} \begin{document}% \expandafter\DocInput\expandafter{\jobname.dtx}% % ^^A\PrintChanges \end{document} % \end{macrocode} % % \begin{macrocode} %</doc> % \end{macrocode} % % \section{Using this package} % Once this package is installed on your filesystem, you can employ it in % adding functionality to \LaTeX\ by invoking it in your document or document class. % % \subsection{Invoking the package} % In your document, you can simply call it up in your preamble: % \begin{verbatim} %\documentclass{book}% %\usepackage{ltxgrid}% %\begin{document} %<your document here> %\end{document} % \end{verbatim} % However, the preferred way is to invoke this package from within your % customized document class: % \begin{verbatim} %\NeedsTeXFormat{LaTeX2e}[1995/12/01]% %\ProvidesClass{myclass}% %\LoadClass{book}% %\RequirePackage{ltxgrid}% %<class customization commands> %\endinput % \end{verbatim} % % Note that this package requires the features of the \classname{ltxutil} package, % available at % \url{ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxutil/}. % % Once loaded, the package gives you acccess to certain procedures, % usually to be invoked by a \LaTeX\ command or environment, but not at the document level. % % \subsection{Changing the page grid}% % This package provides two procedures, \cmd\onecolumngrid, \cmd\twocolumngrid, % that change the page grid (it can be extended to more columns and to other page grids). % % They differ from standard \LaTeX's \cmd\onecolumn\ and \cmd\twocolumn\ commands in that % they do not force a page break. Also, upon leaving a multiple-column grid, the columns are balanced. % In other respects they work same. % % They differ from the grid-changing commands of Frank Mittelbach's \classname{multicol} package % in that they allow floats of all types (single- and double column floats, that is) and % preserve compatability with the \classname{longtable} package. % % These commands must be issued in vertical mode (conceivably via a \cmd\vadjust) such that % they are ultimately present in the MVL, where they can do their work. % Because they do not work in \LaTeX's left-right mode, they are unsuitable at the % document level. % Furthermore, packaging a grid command in a \cmd\vadjust, although possible, will probably % not acheive satisfactory page layout. % % Page grid commands are not intended to be issued unnecessarily: only the first of % two successive \cmd\onecolumngrid\ commands is effective; the second will be silently ignored. % % \DescribeMacro\onecolumngrid % You command \LaTeX\ to return to the one-column grid with the % \cmd\onecolumngrid\ command. If you are already in the one-column grid, this % is a no-op. The one-column grid is considered special of all page grids, in that % no portion of the page is held back (in \cmd\pagesofar); all items that might go % on the current page (with the exception of floats and footnotes) are on the MVL. % % \DescribeMacro\twocolumngrid % You command \LaTeX\ to return to the two-column grid with the % \cmd\twocolumngrid\ command. If you are already in the two-column grid, this % is a no-op. % % These two commands should be issued by a macro procedure that can ensure that % \TeX\ is in outer vertical mode. % % \subsection{Changing the MVL}% % % This package also provides commands to modify the main vertical list (MVL) in a safe way. % The scheme here is to structure, insofar possible, \TeX's MVL as follows: %\begin{quotation} %box or boxes\\ %penalty\\ %glue %\end{quotation} % This should be a familiar sequence. It is the prototype sequence for a vertical list, % and is followed when \TeX\ breaks paragraphs into lines, and when \TeX\ generates % a display math equation. % % If you (as a macro programmer) wish to modify the value of the penalty or glue item, % you can use one of the MVL-altering commands to do so. Certain operations are implemented % here; you can make up your own. % % Note that these commands must be issued in vertical mode, perhaps via a \cmd\vadjust\ or a \cmd\noalign. % They can work directly if you are in inner mode (say within a parbox or a minipage). % % \DescribeMacro\removestuff % You instruct \LaTeX\ to remove both the penalty and the glue item with this command. % % \DescribeMacro\addstuff % You issue the \cmd\addstuff\arg{penalty}\arg{glue} command to add a penalty, glue, or both. % If you do not wish to add one or the other, the corresponding argument should be nil. % Note that the effect of \cmd\addstuff\ is to stack the penalties and glue items. % Therefore, the lesser of the two penalties takes effect, % and the two glue items add together. % % \cmd\addstuff\ is limited because once applied, it cannot be applied again with correct results. % % \DescribeMacro\replacestuff % The \cmd\replacestuff\ command is syntactically the same as \cmd\addstuff, but works % differently: the existing penalty and glue are replaced or modified. % % The specified penalty is not inserted if the existing penalty is greater than 10000 % (that is, in case of a \cmd\nobreak), otherwise, the lower (non-zero) of the two penalties is inserted. % % If the specified glue has a larger natural component than the existing glue, we replace the glue. % However, if the specified glue's natural component is negative, then the existing glue's natural component is % changed by that amount. % % \cmd\replacestuff\ can be applied mutiple times bceause it retains the list structure in the canonical form. % % Note that we treat two penalties specially (as does \TeX): a penalty of 10000 is considered % a garbage value, to be replaced if found. This is the signal value that \TeX\ inserts on % the MVL replacing the penalty that caused the page break (if the page break occurred at a penalty). % Also, a penalty of zero is indistinguishable from no penalty at all, so it will always % be replaced by the given value. % % Therefore, it is highly recommended to never set any of \TeX's penalty parameters to % zero (a value of, say, 1, is practically the same), nor should a skip parameter be set to zero % (instead, use, say, 1sp). Also, to prevent a pagebreak, do not use a penalty of 10000, use, say % 10001 instead. % % You can define your own construct that modifies the MVL: % Define a command, say, \cmd\myadjust, as follows: %\begin{verbatim} %\def\myadjust#1{\noexpand\do@main@vlist{\noexpand\@myadjust{#1}}\@tempa}% %\end{verbatim} % that is, \cmd\myadjust\ invokes \cmd\do@main@vlist, passing it the procedure name % \cmd\@myadjust\ along with the arguments thereof pre-expanded. % Next, define the procedure \cmd\@myadjust: %\begin{verbatim} %\def\@myadjust#1{<meddle with the MVL>}% %\end{verbatim} % when \cmd\@myadjust\ executes, you will be in the output routine (in inner vertical mode) % and the MVL will be that very vertical list. % % % % % \section{Compatability with \LaTeX's Required Packages} % Certain packages, usually ones written by members of the % \LaTeX\ Project itself, have been designated ``required'' and % are distributed as part of standard \LaTeX. % These packages have been placed in a priviledged position % vis \'a vis the \LaTeX\ kernel in that they override the definitions of certain kernel macros. % % Compatability between \classname{ltxgrid} and these packages is complicated % by a number of factors. First is that \classname{ltxgrid} alters the meaning of some of the same % kernel macros as certain of the ``required'' packages. % Second is that fact that certain of the ``required'' packages of \LaTeX\ are incompatible with % each other. % % Examples of the first kind are the \classname{ftnright}, \classname{multicol}, and \classname{longtable} % packages. % The \classname{ltxgrid} package is not compatible with \classname{multicol}, % but if you are using \classname{ltxgrid}, you do not need to use \classname{ftnright} or \classname{multicol} % anyway. The \classname{ltxgrid} package does however attempt to be compatible with \classname{longtable}. % % Among the ``required'' packages that are mutually incompatible are \classname{multicol} and \classname{longtable}, % the incompatibility arising because both packages replace \LaTeX's output routine: % if one package is active, the other must not be so. % This state of affairs has remained essentially unchanged since the introduction of the two as \LaTeX2.09 packages in the late 1980s. % % The reason that \classname{ltxgrid} can remain compatible with \classname{longtable} is due to the % introduction of a more modern architecture, the ``output routine dispatcher'', which allows all macro packages access to the % safe processing environment of the output routine, on an equal footing. % The relevant portions of the \classname{longtable} package are reimplemented in \classname{ltxgrid} % to take advantage of this mechanism. % % Timing is critical: % the \classname{ltxgrid} package will be incompatible with any package that % redefines any of the kernel macros that \classname{ltxgrid} patches---if that % package is loaded \emph{after} \classname{ltxgrid}. % % Hereinafter follows some notes on specific \LaTeX\ packages. % % \subsection{ftnright} % Frank Mittelbach's \classname{ftnright} package effects a change to \LaTeX's % \cmd\twocolumn\ mode such that footnotes are set at the bottom of the right-hand % column instead of at the foot of each of the two columns. % % Note that it overwrites three \LaTeX\ kernel macros: \cmd\@outputdblcol, \cmd\@startcolumn, and \cmd\@makecol. % Fortunately none of the three are patched by \classname{ltxgrid}, so that compatability % is not excluded on this basis. % % At the same time, it changes the meaning of \cmd\footnotesize, the macro that is automatically % invoked when setting a document's footnote into type. % One might well argue that it is an error for the meaning of \cmd\footnotesize\ to be determined by % a package such as \classname{ftnright}, that indeed such a choice should be made in the % document class, or in a file such as \file{bk10.clo}. % % To avoid being tripped up by this misfeature in \classname{ftnright}, it is only necessary to % reassert our meaning for \cmd\footnotesize\ later on, after \classname{ftnright} has been loaded. % % Note that \classname{ftnright} inserts code that demands that \LaTeX's flag \cmd\if@twocolumn\ % is true, that is, it will complain if deployed in a \cmd\onecolumn\ document. % It is therefore necessary for any other multicolumn package to assert that flag in order to % avoid this package's complaint. It is an interesting question exactly why this package has % this limitation. After all, a one-column page grid is just a degenerate case of the % two column. % % \subsection{longtable} % David Carlisle's \classname{longtable} package sets tables that can be so long as to break over pages. % According to its author, it uses the same override of \LaTeX's output routine as % Frank Mittelbach's \classname{multicol} package. By implication, then, it has a hard % incompatability with the latter. % % The \classname{longtable} package also performs a check of whether the document is in % \cmd\twocolumn\ mode, and declines to work if this is the case. It is not clear, however, % that there is any true incompatability present if so. It's just that David did not see any reason % anyone would want to set such long tables in a multicolumn document, hence the check. % % There does not appear to be any indication that \classname{longtable} would work less % well under \classname{ltxgrid} than under standard \LaTeX's \cmd\twocolumn\ mode. % Therefore, this \classname{ltxgrid} patches \classname{longtable} (if loaded) so as to provide % compatability. In the course of which, \classname{longtable} becomes more robust % (\classname{longtable} has mumerous bugs and incompatabilities of long standing, % some of which are repaired by \classname{ltxgrid}). % % One problem remains, namely that, if a \env{longtable} environment breaks over columns % and thereby inserts its special headers and footers at that break, and those columms are then % balanced (due to a return to the one-column page grid), then those inserted rows % will remain, and may no longer fall at the column break. This will, of course look % wrong. % % The only way to fix this problem is to avoid doing column balancing in the way % I have implemented here; such an enhancement to this package is possible. % % \subsection{multicol} % Frank Mittelbach's \classname{multicol} package provides a page grid with many columns, % albeit denies the placement of floats in individual columns. % % It esablishes its own \cmd\output\ routine, which is the reason it runs afoul of % the \classname{longtable} package. On the other hand, \classname{ltxgrid} specifically % allows for the case where a package installs its own \cmd\output\ routine, so % there is no incompatability on that basis. % % Still, it is pointless to use \classname{multicol} if you are using \classname{ltxgrid}, % since both packages provide multicolumn page layouts. % Therefore, \classname{multicol} is not supported by \classname{ltxgrid}. % % \subsection{ltxgrid} % It has been pointed out that one of the disadvantages of adopting the \classname{ltxgrid} package is that % it does alter the \LaTeX\ kernel. % Any package that itself alters the \LaTeX\ kernel may be incompatible with \classname{ltxgrid}, and new packages % (destined perhaps to become part of the successor to \LaTeXe) may break \classname{ltxgrid}. % % The consequence is that packages introduced in future, and future changes to \LaTeX\ may be incompatible % with \classname{ltxgrid}. % This is, of course, true. % The development plan for \classname{ltxgrid} is that when such packages and \LaTeX\ kernel changes come about, % the burden will be on \classname{ltxgrid} to change in a way that provides for continued compatability with % those packages and \LaTeX\ kernel changes. % % % \section{How \classname{ltxgrid} places footnotes} % % In conventional multicolumn layouts, a footnote will appear at the bottom of the column in which it is called out. % The \classname{ltxgrid} package implements this conventional layout choice by default. % However, other choices are possible (a la \classname{ftnright}, whose compatability with \classname{ltxgrid} has not been tested). % % One unusual feature of \classname{ltxgrid}'s default implementation must be mentioned, though, % namely the case in a two-column page grid, where a footnote is followed by a temporary change to the one-column page grid % (e.g., for a wide equation). % In such a case, the material above the wide material is split into two columns, and a footnote whose callout % appears in the right-hand column will nonetheless be set at the base of the left column. % % This arrangement was chosen because it ensures that the footnotes at the bottom of any page will appear in % numerical order. It can be argued that this choice is ``incorrect'', but be that as it may, % the \classname{ltxgrid} package does not foreclose on other arrangements for the footnotes. % The package can be adapted to accomodate any page design desired. % % \section{Limitations in \classname{ltxgrid}'s default column balancing method}% % % In a multicolumn page grid, when encountering a page that is not completely full, % it is customary to set the material in balanced columns (typically with the last column no longer than any of the others). % Such a case also crops up when temporarily interrupting the multicolumn grid to set material on the full width of the page: % the material on the page above the break is customarily set in balanced columns. % % An awkward case arises when we have already set one or more complete columns of type before encountering the need to % balance columns. In this subset of cases, the default in \classname{ltxgrid} is to % do an operation I call ``re-balancing'': % the material on the page so far is pasted back together into a single column, and new, balanced column breaks are % calculated. % % This scheme typically works fine, but it has a significant vulnerability: % any discardable items trimmed at the original column break is lost, never to be retrieved. % Consequently, after re-balancing, an element like, say, a section head can fail to have the correct amount of whitespace above. % % This problem is due to an unfortunate optimization in \TeX, wherein a certain class of nodes is trimmed from the % top of main vertical list upon returning from the output routine: % any penalty, glue, or leader node falls in to this class of discardable nodes, % and trimming proceeds until a non-discardable node (such as a box, or rule) is encountered. % It gets better: a third class of nodes is transparent to this trimming process; % they are neither discarded nor do they halt the process of trimming: % mark nodes and all whatsits fall into this class of transparent nodes; % they are quietly passed over during trimming. % % An alternative approach for \TeX\ to take would have been, % rather than discarding the node entirely, to simply mark it as discarded. % (Implementors of NTS, please note!) % Then, upon shipping out, such nodes would not make it into the DVI. % \TeX's optimization, driven by the small computer architectures current when it was developed, % does save mem, but at the cost of revisiting page breaks in a reliable way. % % FIXME: how to fix a column break in the above case? Widetext? % %\StopEventually{} % % \section{Implementation of package} % % Special acknowledgment: this package uses concepts pioneered % and first realized by William Baxter (mailto:web@superscript.com) % in his SuperScript line of commercial typesetting tools, and % which are used here with his permission. His thorough understanding % of \TeX's output routine underpins the entire \classname{ltxgrid} % package. % % \subsection{Beginning of the \file{ltxgrid} {\sc docstrip} module} % Requires the underpinnings of the \classname{ltxkrnext} package. % \begin{macrocode} %<*ltxgrid> \def\package@name{ltxgrid}% \expandafter\PackageInfo\expandafter{\package@name}{% Page grid for \protect\LaTeXe, by A. Ogawa (ogawa@teleport.com)% }% \RequirePackage{ltxutil}% %</ltxgrid> % \end{macrocode} % % \subsection{Banner}% % Credit where due. % \begin{macrocode} %<*ltxgrid-krn> \typeout{% ltxgrid: portions licensed from W. E. Baxter (web@superscript.com)% }% % \end{macrocode} % % \subsection{Sundry}% % Here are assorted macro definitions. % \begin{macro}{\lineloop} % The document-level command \cmd\lineloop\ sets numbered lines until the % specified count is reached. % This command is mainly used to construct test documents. % \begin{macrocode} \newcounter{linecount} \def\lineloop#1{% \loop \ifnum\c@linecount<#1\relax \global\advance\c@linecount\@ne \par \hb@xt@\hsize{% \ifnum\c@linecount<100 0\fi\ifnum\c@linecount<10 0\fi\number\c@linecount \vrule depth2.5\p@ \leaders\hrule\hfil }% \penalty\interlinepenalty \repeat }% % \end{macrocode} % \end{macro} % % % \subsection{Mark Components}% % % Override LaTeX's mark macros to allow more components. % % We remain bound by the weakness of LaTeX's scheme in that % one cannot emulate the action of \TeX\ whereby % material with marks can be inserted in the middle of % a vertical list such that the marks are reliably calculated. % If we did that, \cmd\@themark\ would no longer be utilized. % % A more robust scheme involves placing all marks (component and value) % into a list (using global scoping, i.e., \cmd\gdef), % and using \cmd\@@mark to place an index on that list into the MVL. % Then, e.g., \cmd\@@botmark signifies the place where that list is to be cut, % and the \cmd\botmark\ of any component is % the value of the last element of the cut % list having the given component. The \cmd\firstmark\ and \cmd\topmark\ % can likewise be defined relative to \cmd\@@firstmark\ and \cmd\@@topmark, % except in the latter case, we want the first following the cut instead of the last % preceding the cut. % % The limitation of this scheme is its demands upon \TeX's mem. % The list of marks would need to be trimmed back to, effectively, % \cmd\topmark\ at the beginning of every page. % % This approach is not yet part of the extended LaTeX kernel. % % \begin{macro}{\@@mark} % \begin{macro}{\@@topmark} % \begin{macro}{\@@firstmark} % \begin{macro}{\@@botmark} % \begin{macro}{\@@splitfirstmark} % \begin{macro}{\@@splitbotmark} % Remember primitives under a new set of names. % \begin{macrocode} \let\@@mark\mark \let\@@topmark\topmark \let\@@firstmark\firstmark \let\@@botmark\botmark \let\@@splitfirstmark\splitfirstmark \let\@@splitbotmark\splitbotmark % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \subsubsection{Procedures that expose the component data structure}% % This portion of the code exposes the internal representation of % the mark components. If we wish to add more components, we will have to revise % these macro definitions: % \cmd\@themark, % \cmd\nul@mark, % \cmd\set@mark@netw@, % \cmd\set@marktw@, % \cmd\set@markthr@@, % \cmd\get@mark@@ne, % \cmd\get@mark@tw@, % \cmd\get@mark@thr@@, % \cmd\get@mark@f@ur. % % \begin{macro}{\@themark} %FIXME: is it safer to eliminate \cmd\@themark\ in favor of a message that evaluates \cmd\@@botmark? % % Note: these definitions expose the data structure of mark components. % \begin{macrocode} \def\@themark{{}{}{}{}}% \def\nul@mark{{}{}{}{}\@@nul}% % \end{macrocode} % \end{macro} % % \begin{macro}{\set@mark@netw@} % \begin{macro}{\set@marktw@} % \begin{macro}{\set@markthr@@} % These procedures insert the new value of a particular mark component into the given argument. % They expose the data structure of mark components. % % \begin{macrocode} \def\set@mark@netw@#1#2#3#4#5#6#7{\gdef#1{{#6}{#7}{#4}{#5}}\do@mark}% \def\set@marktw@#1#2#3#4#5#6{\gdef#1{{#2}{#6}{#4}{#5}}\do@mark}% \def\set@markthr@@#1#2#3#4#5#6{\gdef#1{{#2}{#3}{#6}{#5}}\do@mark}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\get@mark@@ne} % \begin{macro}{\get@mark@tw@} % \begin{macro}{\get@mark@thr@@} % \begin{macro}{\get@mark@f@ur} % These procedures retreive the value of a particular mark component. % They expose the data structure of mark components. % \begin{macrocode} \def\get@mark@@ne#1#2#3#4#5\@@nul{#1}% \def\get@mark@tw@#1#2#3#4#5\@@nul{#2}% \def\get@mark@thr@@#1#2#3#4#5\@@nul{#3}% \def\get@mark@f@ur#1#2#3#4#5\@@nul{#4}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \subsubsection{Procedures that do not expose the component data structure}% % % \begin{macro}{\mark@netw@} % \begin{macro}{\marktw@} % \begin{macro}{\markthr@@} % These procedures insert the new value of a particular mark component into \cmd\@themark, % then execute \cmd\do@mark. % They constitute the implementation layer for mark components one, two, and three. % An analogous procedure for component four could be defined; call it \cmd\markf@ur. % % \begin{macrocode} \def\mark@netw@{\expandafter\set@mark@netw@\expandafter\@themark\@themark}% \def\marktw@{\expandafter\set@marktw@\expandafter\@themark\@themark}% \def\markthr@@{\expandafter\set@markthr@@\expandafter\@themark\@themark}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\do@mark} % \begin{macro}{\do@@mark} % Access procedures \cmd\mark (AKA \cmd\@@mark). % The \cmd\do@mark\ procedure is used when a mark is being put down into the MVL; % \cmd\do@@mark\ when this happens in the output routine. % \begin{macrocode} \def\do@mark{\do@@mark\@themark\nobreak@mark}% \def\do@@mark#1{% \begingroup \let@mark \@@mark{#1}% \endgroup }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\let@mark} % \begin{macro}{\nobreak@mark}% % The procedure that makes \cmd\csname s robust within a mark. % Use \cmd\appdef\ and \cmd\robust@\ to extend the list. % \begin{macrocode} \def\let@mark{% \let\protect\@unexpandable@protect \let\label\relax \let\index\relax \let\glossary\relax }% \def\nobreak@mark{% \@if@sw\if@nobreak\fi{\@ifvmode{\nobreak}{}}{}% }% % \end{macrocode} % \end{macro} % \end{macro} % % % \subsubsection{Using mark components}% % % These procedures use the component mark mechanism to implement % a mark component that remembers the current environment (used in page makeup) % and the the two mark components left over from the original \LaTeX. % The fourth component is presently unused. % % \begin{macro}{\mark@envir} % The third mark component's access procedures. % The \cmd\mark@envir\ and \cmd\bot@envir\ commands are a good model of how to write % access procedures for a new mark component. % \begin{macrocode} \def\mark@envir{\markthr@@}% \def\bot@envir{% \expandafter\expandafter \expandafter\get@mark@thr@@ \expandafter\@@botmark \nul@mark }% % \end{macrocode} % \end{macro} % % \begin{macro}{\markboth} % \begin{macro}{\markright} % \begin{macro}{\leftmark} % \begin{macro}{\rightmark} % Set procedures for legacy components. % \begin{macrocode} \def\markboth{\mark@netw@}% \def\markright{\marktw@}% % \end{macrocode} % % Retrieval procedures for legacy mark components. % The procedure for retrieving the first component from \cmd\botmark\ % and the second component from \cmd\firstmark have names in \LaTeX; % they are called, respectively, \cmd\leftmark\ and \cmd\rightmark. % % It is possible to retrieve the components of \cmd\topmark\ % as well: use \cmd\saved@@topmark. % \begin{macrocode} \def\leftmark{% \expandafter\expandafter \expandafter\get@mark@@ne \expandafter\saved@@botmark \nul@mark }% \def\rightmark{% \expandafter\expandafter \expandafter\get@mark@tw@ \expandafter\saved@@firstmark \nul@mark }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % % \subsection{Output Super-routine}% % % We want to change \LaTeX's output routine, but do not wish to remain vulnerable % to interference from such ``required'' packages as % \classname{multicol} (authored by Frank Mittelbach) % and \classname{longtable} (authored by David P. Carlisle), which % swap in their own output routines when the respective package is active. % % The better mechanism, used here, is due to William Baxter (web@superscript.com), % who has allowed his several ideas to be used in this package. % % In what follows, we effectively wrap up the old \LaTeX\ output routine inside % a new, more flexible ``super routine''. When the output routine is called, % the ``super routine'' acts as a dispatcher. If the old routine is needed, it is called. % % If a package attempts to substitute in their own output routine, they will effectively % be modifying a token register by the name of \cmd\output. % The primitive \cmd\output\ is now known by a different name, which should no longer be % necessary to use. % % Usage note: to make a visit to the output routine employing the dispatcher, enter % with a value of \cmd\outputpenalty\ that corresponds to a macro. Defining as follows: %\begin{verbatim} %\@namedef{output@10000}{<your code here>}% %\end{verbatim} % by convention, your output routine should void out \cmd\box\cmd\@cclv. % % In rewriting \LaTeX's output dispatcher % in a much simpler form, we also avoid the sin of multiple \cmd\shipout s % within a single visit to the output routine. % % Conceptually, we divide visits to the output routine into two classes. % The first involves natural page breaks % (at a \cmd\newpage\ or when \cmd\pagetotal $>$ \cmd\pagegoal) % and usually resulting in \cmd\box\cmd\@cclv\ either being shipped out or % salted away (e.g., each column in a multicolumn layout). % We might call this class the ``natural output routines''; the \cmd\outputpenalty\ % will never be less than $-10000$. % Furthermore, we ensure that \cmd\holdinginserts\ is cleared when % calling such routines. % % The other class involves a forced visit to the output routine % via a large negative penalty ($< -10000$). They do not generally % result in a \cmd\shipout\ of \cmd\box\cmd\@cclv: they may be dead cycles. % We provide a mechanism (call it a ``one-off'' output routine) that allows % us to specify certain processing to be done when \TeX\ reaches % the current position on the page. % % One-off output routines themselves fall into two divisions, ones % that process \cmd\box\cmd\@cclv, and ones that work on the main vertical list (MVL). % The former are typified by changes to the page grid, perhaps % even column balancing. % The latter involve the insertion of penalties or glue and the processing of floats. % % The natural output routine is a single procedure. We have not introduced multiple % natural output routines based on the \cmd\outputpenalty\ because \TeX\ does not % support such a thing: \TeX\ sometimes lays down a penalty whose value is the sum % of other penalties. Because of this, we cannot depend on the value of \cmd\outputpenalty\ % in such areas. % % We do introduce flexibility in the form of a mechanism for patching into the % natural output routine. Three hooks are offered, allowing a procedure % to prepare for the upcoming visit to the output routine, % access to \cmd\box\cmd\@cclv, and after shipping out (or otherwise % committing the material to the page). % % Environments, commands, and even packages can install their % own procedures into these hooks. % For instance, if the longtable package is loaded, it will install % its procedures, but those procedures will punt if the page break % being processed does not actually fall within a longtable environment. % % \begin{macro}{\primitive@output} % Here we remember the \TeX\ primitive \cmd\output\ and its value, % and then proceed to take over the \cmd\csname\ of \cmd\output, % making it a \cmd\toks\ register and installing the old value of % the output routine. % \begin{macrocode} \let\primitive@output\output % \end{macrocode} % \end{macro} % % \begin{macro}{\output} % Grab the tokens in \cmd\the\cmd\output\ (but without the extra set of braces). % The value of \cmd\toks@\ must remain untouched until loaded into the appropriate token % register; this is done a few lines below. % \begin{macrocode} \long\def\@tempa#1\@@nil{#1}% \toks@ \expandafter\expandafter \expandafter{% \expandafter \@tempa \the\output \@@nil }% \newtoks\output \output\expandafter{\the\toks@}% % \end{macrocode} % \end{macro} % % \begin{macro}{\dispatch@output} % We now install our own output routine in place of the % old one, which is still available as \cmd\the\cmd\output. % % The output routine is simply the procedure \cmd\dispatch@output. % It either dispatches to a procedure based on a particular value of % \cmd\outputpenalty\ or it executes \cmd\the\cmd\output\ tokens. % \begin{macrocode} \primitive@output{\dispatch@output}% \def\dispatch@output{% \let\par\@@par \expandafter\let\expandafter\@tempa\csname output@\the\outputpenalty\endcsname \outputdebug@sw{% \saythe\badness \saythe\outputpenalty \saythe\holdinginserts \say\thepagegrid \saythe\pagegrid@col \saythe\pagegrid@cur %\say\bot@envir \saythe\insertpenalties %\say\@@topmark %\say\saved@@topmark %\say\@@firstmark %\say\saved@@firstmark \say\@@botmark %\say\saved@@botmark \saythe\pagegoal \saythe\pagetotal \saythe{\badness\@cclv}% \expandafter\@ifx\expandafter{\csname output@-\the\execute@message@pen\endcsname\@tempa}{% \say\@message@saved }{% \expandafter\say\csname output@\the\outputpenalty\endcsname }% \say\@toplist \say\@botlist \say\@dbltoplist \say\@deferlist {\tracingall\scrollmode \showbox\@cclv \showbox\@cclv@saved \showbox\pagesofar \showbox\footbox \showbox\footins@saved \showbox\footins \showlists }% }{}% \@ifnotrelax\@tempa{\@tempa}{\the\output}% }% \@ifxundefined{\outputdebug@sw}{% \@booleanfalse\outputdebug@sw }{}% % \end{macrocode} % \end{macro} % % % \subsection{Further thoughts about inserts} % % The only safe way to deal with inserts is to either set \cmd\holdininserts\ or % to commit to using whatever insert comes your way: you cannot change your mind % once you see a non-void \cmd\box\cmd\footins, say. % % Therefore all output routine processing must proceed with \cmd\holdinginserts\ set % until you are sure of the material to be committed to the page. At that point, you % can clear \cmd\holdinginserts, spew \cmd\box\cmd\@cclv, put down the appropriate penalty, % and exit, with the knowledge that \TeX\ will re-find the same pagebreak, this time % visiting the output routine with everything, including inserts, in their proper % place. % This technique applies to split elements (screens, longtable, index) as well as to % manufactured pages (float pages and clearpage pages). % % Therefore, the output routine must not make assumptions about whether \cmd\holdinginserts\ % should be cleared; instead this must be left to the one-off output routines or the natural output routine. % % If we are manufacturing pages (``float page processing''), and if \cmd\pagegoal\ is not equal to % \cmd\vsize, then inserts are at hand, and our criterion should take into account the insert % material, even though we cannot measure its height based on the size of \cmd\box\cmd\footins\ % (because \cmd\holdinginserts\ is set, you see). % % It would be better to take the complement of \cmd\floatpagefraction\ and use that % as a standard for the looseness of the page. Since \cmd\pagegoal\ reflects the inserted material, % the criterion becomes the difference of the aggregate height of the floats and the \cmd\pagegoal\ % versus this "page looseness" standard. % % As a check, consider what happens if we bail out: \cmd\@deferlist\ has never been touched, so it % requires no attention. Also, \cmd\holdinginserts\ has never been cleared, so inserts require % no attention. So we only have to ensure that marks are preserved, which is already taken % care of by the message handler mechanism. % % If we are doing ordinary page cutting, then the scheme would be to detect whether we are within % a screen (or longtable as may be), do the adjustment to the page height, and return, but this time % with \cmd\holdinginserts\ cleared. Upon reentering the output routine, we may or may not be within % the screen environment, but we are now sure to have a final page break, and we can commit this % material (by shipping out or by saving it out as a full column). % % In the above, the first of the two visits to the output routine is a dead cycle and requires % propagation of marks, but nothing else. % % The natural output routine % % Here is the portion of the output routine that fields cases not handled by % the dispatcher. % % The default is to ship out a page and then look around for more material % that might constitute a ``float page''. However, because \cmd\holdinginserts\ % is normally set, this output routine must first have a dead cycle and % come back again with \cmd\holdinginserts\ cleared. % Then, after shipping out, it puts down a message that % will manufacture zero or more float pages, finally terminating % with a procedure that commits floats to a new unfinished page. % % To accomodate special processing, we execute hooks whose name is based % on the value of the "envir" mark component. The default is "document", % ensured by an initial mark of that value; the associated procedures % are all nil. Any unknown envir value will "\cmd\relax\ out". % % The code \cmd\move@insert@sw\ tells whether we are on our first visit to % the output routine (with \cmd\holdinginserts\ still set), or our second % (with \cmd\holdinginserts\ cleared). The output routine will toggle the % setting. % % The commands \cmd\hold@insertions\ and \cmd\move@insertions\ respectively % clear and set the state of \cmd\move@insert@sw, so this procedure effectively % clears \cmd\holdinginserts\ just long enough to pick up the insertions. % Important: any output routine that clears \cmd\holdinginserts\ % must guarentee that it is restored on the subsequent visit to the output routine. % Or, to put it another way, if an output routine detects that \cmd\holdinginserts\ % is cleared, it should take it upon itself to restore it before exiting. % % The branch with \cmd\holdinginserts\ set is executed first; the other % branch follows on practically immediately thereafter. In the first branch, % we simply execute the appropriate hook and then execute a dead cycle. % % In the branch with \cmd\holdinginserts\ cleared, the procedure % builds up the current column, which is now complete, with \cmd\@makecol, then % dispatches to the shipout routine associated with the current page grid, \cmd\output@column@. % At the end, it triggers the execution of an output routine to prepare the next column (or page). % % \subsection{Natural output routine}% % % \begin{macro}{\output} % Here is what has become of the output routine of \LaTeX. % It is of necessity divided into phases, \cmd\output@holding\ is executed upon first encountering the natural page-breaking point, while inserts are being held. % The second phase, \cmd\output@moving, is set in motion by the first: here the same material (in most cases) will be processed with \cmd\holdinginserts\ cleared. % % \begin{macrocode} \output={\toggle@insert\output@holding\output@moving}% % \end{macrocode} % % The procedure \cmd\output@holding\ % is our first cycle through the output routine; \cmd\holdinginserts\ is still set. % We give the current environment a heads up % (it is through this means that \classname{longtable} sets its running header and footer), % then we execute a dead cycle, which should propagate marks. % % One corner case that can crop up is the presence of a single unbreakable chunk whose size is larger % than \cmd\vsize. % Doing a dead cycle under such circumstances will not find the same breakpoint as this time % (remember we threw in a \cmd\mark\ node). % Instead, we attempt to remove the excess height of the material, so we can continue to propagate marks. % % The corner case is at hand if the natural size of \cmd\box\cmd\@cclv\ exceeds \cmd\pagegoal\ and % the contents cannot be shrunk to fit. % % \begin{macrocode} \def\output@holding{% \csname output@init@\bot@envir\endcsname %\vbadness\@M %\vfuzz\maxdimen \@if@exceed@pagegoal{\unvcopy\@cclv}{% \setbox\z@\vbox{\unvcopy\@cclv}% \outputdebug@sw{{\tracingall\scrollmode\showbox\z@}}{}% \dimen@\ht\@cclv\advance\dimen@-\ht\z@ \dead@cycle@repair\dimen@ }{% \dead@cycle }% }% \def\@if@exceed@pagegoal#1{% \begingroup \setbox\z@\vbox{#1}% \dimen@\ht\z@\advance\dimen@\dp\z@ \outputdebug@sw{\saythe\dimen@}{}% \@ifdim{\dimen@>\pagegoal}{% \setbox\z@\vbox{\@@mark{}\unvbox\z@}% \splittopskip\topskip \splitmaxdepth\maxdepth \vbadness\@M \vfuzz\maxdimen \setbox\tw@\vsplit\z@ to\pagegoal \outputdebug@sw{{\tracingall\scrollmode\showbox\tw@\showbox\z@}}{}% \setbox\tw@\vbox{\unvbox\tw@}% \@ifdim{\ht\tw@=\z@}{% \ltxgrid@info{Found overly large chunk while preparing to move insertions. Attempting repairs}% \aftergroup\true@sw }{% \aftergroup\false@sw }% }{% \aftergroup\false@sw }% \endgroup }% % \end{macrocode} % % The procedure \cmd\output@moving\ % is our second cycle through the output routine; \cmd\holdinginserts\ is now cleared, % and \cmd\insert s will have been split off into their respective box registers, like \cmd\footins. % % \begin{enumerate} % \item % Set the values of \cmd\topmark\ and \cmd\firstmark. % \item % If we got here because of a \cmd\clearpage\ command, remove the protection box that this mechanism has left on the MVL. % \item % If the contents of \cmd\box\cmd\@cclv\ are non-trivial, commit it to the current page or ship it out as the case may call for. % \item % If not, discard it (we are at the end of \cmd\clearpage\ processing). % \item % Set various values, including the available space for setting type on the next column (\cmd\@colroom). % \end{enumerate} % % The processing for a non-trivial \cmd\box\cmd\@cclv\ are: % \begin{enumerate} % \item % Execute the head procedure for the current environment. % \item % Make up a column and ship it out (or commit it to the current page) via a procedure keyed to the current page grid. % \item % Put down an interrupt for \cmd\do@startcolumn@pen: this will force a visit to the output routine for the % purpose of committing floats to the next column. % \item % Possibly put down an interrupt to continue \cmd\clearpage\ proccessing. % \item % Execute the tail procedure for the current environment. % \end{enumerate} % % % The processing for a trivial \cmd\box\cmd\@cclv\ are: % \begin{enumerate} % \item % Void out \cmd\box\cmd\@cclv\ and give appropriate warning messages and diagnostics. %% \item %% Put down the same interrupts as for the non-trivial case above. % \end{enumerate} % % \begin{macrocode} \def\output@moving{% \set@top@firstmark \@ifnum{\outputpenalty=\do@newpage@pen}{% \setbox\@cclv\vbox{% \unvbox\@cclv \setbox\z@\lastbox \@ifdim{\ht\z@=\ht\@protection@box}{\box\lastbox}{\unskip}% }% }{}% \@cclv@nontrivial@sw{% \csname output@prep@\bot@envir \endcsname \@makecol\csname output@column@\thepagegrid\endcsname \protect@penalty\do@startcolumn@pen \clearpage@sw{% \protect@penalty\do@endpage@pen }{}% \csname output@post@\bot@envir \endcsname }{% {\setbox\z@\box\@cclv}% }% \set@colroom \global\@mparbottom\z@ \global\@textfloatsheight\z@ %FIXME: this legacy LaTeX variable is set, but never queried! }% % \end{macrocode} % % The procedure \cmd\@cclv@nontrivial@sw\ determines if this visit to \cmd\output@moving\ % is a trivial one, which happens at the end of \cmd\clearpage\ processing and under some pathological circumstances. % It emits a Boolean, so it is syntactically like \cmd\true@sw, albeit does not execute solely via expansion. % % Note: the case where \cmd\box\cmd\@cclv\ is void comes up at the very beginning of the job, when % typesetting a (full-page-width) title block in a two-column layout. % % Note: the code that removes the last box and skip from the output is intended to detect the case % where the output has whatit nodes followed by topskip and a protection box. % This is what happens under normal circumstances at the end of \cmd\clearpage\ processing. % \begin{macrocode} \def\@cclv@nontrivial@sw{% \@ifx@empty\@toplist{% \@ifx@empty\@botlist{% \@ifvoid\footins{% \@ifvoid\@cclv{% \false@sw }{% \setbox\z@\vbox{\unvcopy\@cclv}% \@ifdim{\ht\z@=\topskip}{% \setbox\z@\vbox{% \unvbox\z@ \setbox\z@\lastbox\dimen@\lastskip\unskip \@ifdim{\ht\z@=\ht\@protection@box}{% \advance\dimen@\ht\z@ \@ifdim{\dimen@=\topskip}{% \aftergroup\true@sw }{% \aftergroup\false@sw }% }{% \aftergroup\false@sw }% }% {% \false@sw % Normal for \clearpage }{% \true@sw }% }{% \@ifdim{\ht\z@=\z@}{% \ltxgrid@info{Found trivial column. Discarding it}% \outputdebug@sw{{\tracingall\scrollmode\showbox\@cclv}}{}% \false@sw }{% \true@sw }% }% }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }% % \end{macrocode} % % % \end{macro} % % \begin{macro}{\protect@penalty} % The procedure \cmd\protect@penalty\ is the utility procedure for invoking a % one-off output routine. Such a routine can expect to find the protection box % above it in \cmd\box\cmd\@cclv: it should remove that box. % % Note that \cmd\execute@message\ does the same thing as \cmd\protect@penalty, but % in a slightly different way. % % We create a specially formulated box that will be universally used when a protection box is needed. % In this way, we can always recognize when \cmd\box\cmd\@cclv\ is trivial: % it will consist of whatsits followed by \cmd\topskip\ glue and the \cmd\@protection@box. % \begin{macrocode} \def\protect@penalty#1{\protection@box\penalty-#1\relax}% \newbox\@protection@box \setbox\@protection@box\vbox to1986sp{\vfil}% \def\protection@box{\nointerlineskip\copy\@protection@box}% % \end{macrocode} % \end{macro} % % \begin{macro}{\dead@cycle} % \begin{macro}{\dead@cycle@repair} % The procedure \cmd\dead@cycle\ is defined separately as a utility which can be used by % any output processing routine to emulate what takes place in the standard output routine. % % Here, we have entered the output routine with \cmd\holdinginserts\ enabled, which means that we % are not yet ready to ship out material, because the \cmd\insert\ registers are being held. % We want to clear \cmd\holdinginserts\ and come back here with the same page break as before, whereupon % we may properly proceed with page makeup. % % To do this, we % propagate marks, then spew the contents of \cmd\box\cmd\@cclv\ followed by the % original output penalty that landed us here (but only if it is not 10000, % the flag value for a pagebreak not at a penalty). % % However, the natural output routine should do this only if \cmd\box\cmd\@cclv\ is nontrivial. % A pathological case exists wherein a box of height greater than \cmd\textheight\ would cause an infinite loop involving the output routine. % The procedure \cmd\dead@cycle@repair, attempts to catch this case and avoid the loop. % % The test of the height of \cmd\box\cmd\@cclv\ is not the correct one, because this test will run afoul in % the case where \cmd\box\cmd\@cclv\ contains nothing but an \cmd\insert\ node. What to do? % % It is possible that the pathological case can be detected by looking at \cmd\pagetotal. If that quantity is % zero, then \cmd\box\cmd\@cclv\ really is trivial. % % In the procedure \cmd\dead@cycle@repair, if \cmd\box\cmd\@cclv\ is nontrivial, we execute \cmd\dead@cycle, % otherwise it contains nothing but a mark, so we dispense with propagating marks % and we simply spew out \cmd\box\cmd\@cclv\ without an accompanying mark. % This has the effect of failing to propagate marks, but this problem is preferrable to the infinite loop, % which in principle could crash even a robust operating system by filling up the file system. % % If a document has such a large chunk, it should be fixed, so we give a message in the log. % % You ask, ``In what way does this infinite loop come about?'' Good question! % % The setup is a chunk in the MVL that is taller than \cmd\textheight. % (Yes, it's that simple.) % As soon as the previous page ships out, the MVL will contain a mark (propagated from the previous page) followed % by that large chunk (call it the `big bad box', albeit does not need to be a single box). % The next visit to the output routine will be a natural page break, but % \TeX\ will select the juncture between the mark and the big bad box as the least-cost page break. % Unless the test in \cmd\dead@cycle\ is done, the cycle is perpetuated when the macro % reinserts the mark. % % The crux matter is achieving, in a robust way, the goal of going from a \cmd\holdinginserts\ state to one % where the insertions are moving. % % \begin{macrocode} \def\dead@cycle@repair#1{% \expandafter\do@@mark \expandafter{% \@@botmark }% \unvbox\@cclv \nointerlineskip \vbox to#1{\vss}% \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% }% \def\dead@cycle@repair@protected#1{% \expandafter\do@@mark \expandafter{% \@@botmark }% \begingroup \unvbox\@cclv \setbox\z@\lastbox % Remove protection box \nointerlineskip \advance#1-\ht\@protection@box \vbox to#1{\vss}% \protection@box % Reinsert protection box \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% \endgroup }% \def\dead@cycle{% \expandafter\do@@mark \expandafter{% \@@botmark }% \unvbox\@cclv \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\output@init@document} % \begin{macro}{\output@prep@document} % \begin{macro}{\output@post@document} % The default processing simply provides for insertion of held-over footnotes. % At a natural page break, we are either at the bottom of a column or at the bottom % of a page. In either case, the \cmd\output@init@\ processing adjusts for the height % of the held-over footnotes and bails out. % Upon our return, at \cmd\output@prep@\ time, the page break will accomodate the material; % it is now actually inserted by concatenating it with the contents of \cmd\footins. % The default processing for \cmd\output@post@\ is nil. % \begin{macrocode} \def\output@init@document{% \@ifvoid\footbox{}{% \global\advance\vsize-\ht\footbox \global\advance\vsize-\dp\footbox }% }% \def\output@prep@document{% \@ifvoid\footbox{}{% % {\tracingall\scrollmode\showbox\footbox\showbox\footins}% \setbox\footins\vbox{\unvbox\footbox\unvbox\footins}% }% }% \def\output@post@document{}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@opcol} % The standard \LaTeX\ procedure \cmd\@opcol\ is now completely obsoleted. % \begin{macrocode} \let\@opcol\@undefined % \end{macrocode} % \end{macro} % % \begin{macro}{\@makecol} % The procedure \cmd\@makecol\ packages up a page along with all its insertions and floats. % Therefore it is essential that it be executed with \cmd\holdininserts\ cleared. % % Note that there is a corner case when in a multi-column grid, where the change back to % one-column grid occurs just after a complete page ships out. We want to detect when % \cmd\@cclv\ contains nothing but a \cmd\mark, but this is a \TeX\ impossibility. % % Note on \cmd\@kludgeins: we have removed this mechanism from \LaTeX, because the implementation % of \cmd\enlargethispage\ no longer requires it. % Here, for consistency sake, we remove \cmd\@makespecialcolbox. % \begin{macrocode} \def\@makecol{% \setbox\@outputbox\vbox{% \boxmaxdepth\@maxdepth \@tempdima\dp\@cclv \unvbox\@cclv \vskip-\@tempdima }% \xdef\@freelist{\@freelist\@midlist}\global\let\@midlist\@empty \@combinefloats \@combineinserts\@outputbox\footins %\@ifvbox\@kludgeins{% % \@makespecialcolbox %}{% \set@adj@colht\dimen@ \count@\vbadness \vbadness\@M \setbox\@outputbox\vbox to\dimen@{% \@texttop \dimen@\dp\@outputbox \unvbox\@outputbox \vskip-\dimen@ \@textbottom }% \vbadness\count@ %}% \global\maxdepth\@maxdepth }% \let\@makespecialcolbox\@undefined % \end{macrocode} % \end{macro} % % \begin{macro}{\@combineinserts} % We split out the procedure to add the \cmd\footins\ insertions to the packaged-up page. % Any other non-trivial insertions should also be dealt with at this time. % \begin{macrocode} \def\@combineinserts#1#2{% \setbox#1\vbox{% \unvbox#1% % {\tracingall\scrollmode\showbox#2}% \vbox{% \@ifvoid#2{}{% \vskip\skip\footins \color@begingroup \normalcolor \footnoterule \nointerlineskip \box#2% \color@endgroup }{}% }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@floatplacement} % In standard \LaTeX, someone (DPC?) makes the assumption that \cmd\@fpmin\ can be assigned % locally. This is no longer true now that we ship no more than one page per visit to the output routine. % We apply a bandaid. % \begin{macrocode} \appdef\@floatplacement{% \global\@fpmin\@fpmin }% % \end{macrocode} % \end{macro} % % \begin{macro}{\pagebreak@pen} % While we are in the way of registering certain penalty values, % let us register the smallest one that will force a visit to the output routine. % However, this penalty will not have an assciated macro: we wish to execute the % natural output routine instead. % % Note that this penalty is invoked by \cmd\clearpage\ and \cmd\newpage. % \begin{macrocode} \mathchardef\pagebreak@pen=\@M \expandafter\let\csname output@-\the\pagebreak@pen\endcsname\relax % \end{macrocode} % \end{macro} % % % \subsection{Float placement}% % % \begin{macro}{\do@startcolumn@pen} % The procedure \cmd\do@startcolumn@pen\ is executed as a one-off output routine % just after a page is shipped out (or, in a multicolumn page grid, a column is salted away). % % Its job is to either generate a ``float page'' (in reality a column) for shipping out, % or to commit deferred floats to the fresh column, concluding with a dead cycle. % In the former case, we accomodate split footnotes and other insertions (by comparing \cmd\vsize\ and \cmd\pagegoal): % the floats are spewed onto the page, whereupon \LaTeX's output routine will place the footnotes and ship out, % iterating the process once again. % % Note that when this procedure is invoked, \cmd\box\cmd\@cclv\ still has within it the protection box, so we % start by removing it. Note also that if there was a split insertion held over from the previous page, the % insert node will be present in \cmd\box\cmd\@cclv, \emph{prior to} the protection box. For this reason, we cannot % just throw away that box, as we might be tempted to do. % % FIXME: where else do we possibly inappropriately discard \cmd\box\cmd\@cclv? % % Note that, because a column or page page had previously just been completed, % we can assume that there is nothing of importance on the page, % and because no message is being passed, we can preserve marks in a simple way. % % A Note on terminology: % In a single-column page grid, you might expect that we would execute the procedure \cmd\do@startpage. % But this is not so. % \LaTeX\ has a confustion of long standing, % in which the procedures that handle full-page width floats in a two-column page grid all have in their names % the string `dbl', which erroneously suggests having something to do with ``double''. It does not: % when you see `dbl', think ``full page width''. % \begin{macrocode} \mathchardef\do@startcolumn@pen=10005 \@namedef{output@-\the\do@startcolumn@pen}{\do@startcolumn}% \def\do@startcolumn{% \setbox\@cclv\vbox{\unvbox\@cclv\setbox\z@\lastbox\unskip}% \clearpage@sw{\@clearfloatplacement}{\@floatplacement}% \set@colroom \@booleanfalse\pfloat@avail@sw \begingroup \@colht\@colroom \@booleanfalse\float@avail@sw \@tryfcolumn\test@colfloat \float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}% \endgroup \fcolmade@sw{% \setbox\@cclv\vbox{\unvbox\@outputbox\unvbox\@cclv}% % \csname float@column@\thepagegrid\endcsname % \csname output@column@\thepagegrid\endcsname \outputpenalty-\pagebreak@pen % ask for a return visit, this time with insertions and all. \dead@cycle }{% \begingroup \let\@elt\@scolelt \let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b \endgroup \clearpage@sw{% \outputpenalty\@M }{% \outputpenalty\do@newpage@pen }% \dead@cycle }% \check@deferlist@stuck\do@startcolumn \set@vsize }% \def\@scolelt#1{\def\@currbox{#1}\@addtonextcol}% \def\test@colfloat#1{% \csname @floatselect@sw@\thepagegrid\endcsname#1{}{\@testtrue}% \@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@addtonextcol} % We must adjust \cmd\@addtonextcol\ to take held-over inserts into account. % Now that all deferred floats are queued up together (in order), we must have a way of % differentiating them; this is done by the page grid-dependent procedure \cmd\@floatselect@sw@. % \begin{macrocode} \def\@addtonextcol{% \begingroup \@insertfalse \@setfloattypecounts \csname @floatselect@sw@\thepagegrid\endcsname\@currbox{% \@ifnum{\@fpstype=8 }{}{% \@ifnum{\@fpstype=24 }{}{% \@flsettextmin \@reqcolroom \ht\@currbox \advance \@reqcolroom \@textmin \advance \@reqcolroom \vsize % take into account split insertions \advance \@reqcolroom -\pagegoal \@ifdim{\@colroom>\@reqcolroom}{% \@flsetnum \@colnum \@ifnum{\@colnum>\z@}{% \@bitor\@currtype\@deferlist \@if@sw\if@test\fi{}{% \@addtotoporbot }% }{}% }{}% }% }% }{}% \@if@sw\if@insert\fi{}{% \@cons\@deferlist\@currbox }% \endgroup }% % \end{macrocode} % \end{macro} % % \begin{macro}{\do@startpage@pen} % \begin{macro}{\forcefloats@sw} % \begin{macro}{\@sdblcolelt} % \begin{macro}{\test@dblfloat} % \begin{macro}{\@if@notdblfloat} % Similar to \cmd\do@startcolumn, % the procedure \cmd\do@startpage\ starts up a new page (not column) in a multi-column page grid. % It is invoked after a page is shipped out in a multi-column page grid, and % it commits full-page-width floats to the fresh page, possibly resulting in a float page. % In implementation, it is similar to \cmd\do@startcolumn, except that % it commits effectively via \cmd\@addtodblcol\ instead of \cmd\@addtonextcol. % Note that this procedure will inevitably be followed by \cmd\do@startcolumn. % % Some details of the procedure: % % We begin by removing the protection box from \cmd\box\cmd\@cclv, then setting the values of the % float placement parameters appropriately, and resetting \cmd\@colht, \cmd\@colroom, and \cmd\vsize\ to base values. % % Next we attempt to compose a float page, a page consisting entirely of floats. If successful, % we ship out the float page and lay down an interrupt that will send us back here for another try. % % If no float page is formed, we attempt to commit full-page-width floats to the text page, and return with a dead cycle. % We are now ready to compose columns of text. % % Note that all floats (both column floats and full-page-width floats) move through a single queue. % To differentiate between the two, the width of the float is compared to \cmd\textwidth. % This comparison is encapsulated in the macro \cmd\@if@notdblfloat, which should be used whenever % such a determination must be made. This procedure returns a Boolean. % \begin{macrocode} \mathchardef\do@startpage@pen=10006 \@namedef{output@-\the\do@startpage@pen}{\do@startpage}% \def\do@startpage{% \setbox\@cclv\vbox{\unvbox\@cclv\setbox\z@\lastbox\unskip}% \clearpage@sw{\@clearfloatplacement}{\@dblfloatplacement}% \set@colht \@booleanfalse\pfloat@avail@sw \begingroup \@booleanfalse\float@avail@sw \@tryfcolumn\test@dblfloat \float@avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat@avail@sw}{}% \endgroup \fcolmade@sw{% \global\setbox\pagesofar\vbox{\unvbox\pagesofar\unvbox\@outputbox}% \@combinepage \@combinedblfloats \@outputpage \global\pagegrid@cur\@ne \protect@penalty\do@startpage@pen }{% \begingroup \@booleanfalse\float@avail@sw \let\@elt\@sdblcolelt \let\reserved@b\@deferlist\global\let\@deferlist\@empty\reserved@b \endgroup \@ifdim{\@colht=\textheight}{% No luck... \pfloat@avail@sw{% ...but a float *was* available! \forcefloats@sw{% \ltxgrid@warn{Forced dequeueing of floats stalled}% }{% \ltxgrid@warn{Dequeueing of floats stalled}% }% }{}% }{}% \outputpenalty\@M \dead@cycle }% \check@deferlist@stuck\do@startpage \set@colht %\set@colroom }% \def\@sdblcolelt#1{\def\@currbox{#1}\@addtodblcol}% \def\test@dblfloat#1{% \@if@notdblfloat{#1}{\@testtrue}{}% \@if@sw\if@test\fi{}{\aftergroup\@booleantrue\aftergroup\float@avail@sw}% }% \def\@if@notdblfloat#1{\@ifdim{\wd#1<\textwidth}}% \@booleanfalse\forcefloats@sw % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@addtodblcol} % % The procedure \cmd\@addtodblcol\ is called into play at the beginning of each fresh page % and operates on each deferred float, in the hopes of placing one or more such floats % at the top of the current page. % % We alter the procedure of standard \LaTeX\ by putting failed floats into % \cmd\@deferlist\ instead of \cmd\@dbldeferlist. Having done so, we must have a means % of differentiating full-page-width floats from column-width floats. % We assume that the latter will always be narrower than \cmd\textwidth. % % In aid of detecting a stalled float flushing process, we set a Boolean if we encounter % a qualified full-page-width float here. Any that qualify but fail the rest of the tests % might still pass when reconsidered on an otherwise blank page. % \begin{macrocode} \def\@addtodblcol{% \begingroup \@if@notdblfloat{\@currbox}{% \false@sw }{% \@setfloattypecounts \@getfpsbit \tw@ \@bitor \@currtype \@deferlist \@if@sw\if@test\fi{% \false@sw }{% \@ifodd\@tempcnta{% \aftergroup\@booleantrue\aftergroup\float@avail@sw \@flsetnum \@dbltopnum \@ifnum{\@dbltopnum>\z@}{% \@ifdim{\@dbltoproom>\ht\@currbox}{% \true@sw }{% \@ifnum{\@fpstype<\sixt@@n}{% \begingroup \advance \@dbltoproom \@textmin \@ifdim{\@dbltoproom>\ht\@currbox}{% \endgroup\true@sw }{% \endgroup\false@sw }% }{% \false@sw }% }% }{% \false@sw }% }{% \false@sw }% }% }% {% \@tempdima -\ht\@currbox \advance\@tempdima -\@ifx{\@dbltoplist\@empty}{\dbltextfloatsep}{\dblfloatsep}% \global \advance \@dbltoproom \@tempdima \global \advance \@colht \@tempdima \global \advance \@dbltopnum \m@ne \@cons \@dbltoplist \@currbox }{% \@cons \@deferlist \@currbox }% \endgroup }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@tryfcolumn} % \begin{macro}{\@wtryfc} % \begin{macro}{\@xtryfc} % \begin{macro}{\@ztryfc} % Whenever a page is shipped out, \LaTeX\ automatically tries out a float column: % a page containing nothing but floats (and, as we have added here, split footnotes). % % The following four procedures employ certain macros to communicate between each other: % % \cmd\fcolmade@sw, a boolean, says whether we were successful in making a float column. % % \cmd\if@test, a \cmd\newif\ switch, says a float has failed some test. % % \cmd\@deferlist, is the input to the process, a list, of deferred floats. % % \cmd\@trylist, a list, stores the deferred floats to be tried out on the float column. % % \cmd\@failedlist, a list of floats that have failed the selection for the float column. % % \cmd\@flfail, a list of floats that have failed the second selection for the float column. % % \cmd\@flsucceed, a list, the floats that have been successfully placed on the float column. % % \cmd\@freelist, a list, receives any freed floats. % % \cmd\@colht, a dimen, the available space for the column, including column floats and insertions (footnotes). % % \cmd\@fpmin, a dimen, the required minimum height for the float column. % % \cmd\@outputbox, a box, the output of the process. % % \cmd\@fptop, \cmd\@fpsep, \cmd\@fpbot, glue, placed above, between, and below floats on the float column. % % \cmd\@currtype, a count, used temporarily for the float's bits. % % \cmd\@tempcnta, a count, used temporarily for the float's bits. % % In \cmd\@tryfcolumn, we alter the criterion for a float page, because if footnotes are present at this point % (presumably due to a split insertion) then \cmd\@fpmin is no longer the right threshold to apply. % % Note that we have changed \cmd\@tryfcolumn, \cmd\@xtryfc, and \cmd\@ztryfc\ syntactically so that the procedure % to test for the float's being a column float versus a full-page-width float is passed in as an % argument. % % \begin{macrocode} \def\@tryfcolumn#1{% \global\@booleanfalse\fcolmade@sw \@ifx@empty\@deferlist{}{% \global\let\@trylist\@deferlist \global\let\@failedlist\@empty \begingroup \dimen@\vsize\advance\dimen@-\pagegoal\@ifdim{\dimen@>\z@}{% \advance\@fpmin-\dimen@ }{}% \def\@elt{\@xtryfc#1}\@trylist \endgroup \fcolmade@sw{% \global\setbox\@outputbox\vbox{\vskip \@fptop}% \let \@elt \@wtryfc \@flsucceed \global\setbox\@outputbox\vbox{\unvbox\@outputbox \unskip \vskip \@fpbot }% \let \@elt \relax \xdef\@deferlist{\@failedlist\@flfail}% \xdef\@freelist{\@freelist\@flsucceed}% }{}% }% }% \def\@wtryfc #1{% \global\setbox\@outputbox\vbox{\unvbox\@outputbox \box #1\vskip\@fpsep }% }% \def\@xtryfc#1#2{% \@next\reserved@a\@trylist{}{}% trim \@trylist. Ugly! \@currtype \count #2% \divide\@currtype\@xxxii\multiply\@currtype\@xxxii \@bitor \@currtype \@failedlist \@testfp #2% #1#2% \@ifdim{\ht #2>\@colht }{\@testtrue}{}% \@if@sw\if@test\fi{% \@cons\@failedlist #2% }{% \begingroup \gdef\@flsucceed{\@elt #2}% \global\let\@flfail\@empty \@tempdima\ht #2% \def \@elt {\@ztryfc#1}\@trylist \@ifdim{\@tempdima >\@fpmin}{% \global\@booleantrue\fcolmade@sw }{% \@cons\@failedlist #2% }% \endgroup \fcolmade@sw{% \let \@elt \@gobble }{}% }% }% \def\@ztryfc #1#2{% \@tempcnta \count#2% \divide\@tempcnta\@xxxii\multiply\@tempcnta\@xxxii \@bitor \@tempcnta {\@failedlist \@flfail}% \@testfp #2% #1#2% \@tempdimb\@tempdima \advance\@tempdimb \ht#2\advance\@tempdimb\@fpsep \@ifdim{\@tempdimb >\@colht}{% \@testtrue }{}% \@if@sw\if@test\fi{% \@cons\@flfail #2% }{% \@cons\@flsucceed #2% \@tempdima\@tempdimb }% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \subsection{Clearing pages}% % % Clearing the page is an elaboration of ending the page: it entails flushing all floats. % % This package might make number of float flushing algorithms available, % a very simple one that does not try to produce excellent pages, % another that tries to make the best use of space, % and a more complex one that tries to balance columns. % % At the beginning of the page-clearing process, by definition all of the paragraph text involved is on the MVL and all floats have been encountered. % There may be material in \cmd\pagesofar, and (in a multi-column page grid) any number of columns of the page have been composed. % Also, there might be footnote material saved up in \cmd\footbox. % % Because we did not want to perform multiple \cmd\shipout s per visit to the output routine, % our multi-column page makeup will not compose multiple columns per visit. % This implementation detail may not require alteration, but it is not a limitation that is truly necessary: % it is only multiple \cmd\shipout s per visit that must be avoided. % % The crux matter is how to continue with flushing floats even after the material in the MVL is exhausted. % At that point, we must, upon completion of the output routine, % insert into the MVL an interrupt that triggers the next step in the processing. % % Therefore, after processing a \cmd\do@startcolumn\ interrupt, we must somehow force the completion of that column. % This could be done by inserting a \cmd\do@newpage@pen\ interrupt. % % And after processing a \cmd\do@startpage@pen\ interrupt, that results in \cmd\@dbltopinsert s, % we must ensure that the multiple columns on the page get completed, so that the page itself finally gets shipped out. % This part will proceed automatically given that \cmd\do@startcolumn\ processing completes successfully. % % The process will not be complete until all deferred floats have been placed and shipped out, and all saved-up footnotes have been inserted. % % Full-page-width floats can get out of order of column floats. This problem can be remedied by holding them all in the same list. % We therefore stop using \cmd\@dbldeferlist\ entirely, and all of the procedures that formerly used it have been rewritten to % use \cmd\@deferlist\ instead. When traversing the list, we apply a selector on the given box that determines whether it is a column-width or page-width float. % This selector is different depending on the page grid. % % When the \cmd\@deferlist\ is processed (by any means), we have to take care of the case where a float of one category is passed over but we are looking for a float of the other category. % Here, we must terminate processing, to avoid disordering the floats. This we do by the usual means. % % The system has a Boolean that says we are clearing pages: \cmd\clearpage@sw; if it is true, % then at the tail of \cmd\do@startcolumn\ processing, we should put down a (\cmd\vfil?) \cmd\do@newpage@pen\ interrupt. % This is because the MVL is now empty, so we have to force the columns to complete. % % One potential very pathological case would be where there is one or more deferred floats that never successfully get placed: % placing floats has stalled, and we will ship out blank pages indefinitely. How to detect this case? % % First, \cmd\do@startpage\ will evidently be stalled if the following are all true: % a) \cmd\@tryfcolumn\ and \cmd\@sdblcolelt\ both fail, % b) there are deferred floats available for page placement, and % c) the \cmd\@colht=\cmd\textheight, that is, the full page height is available for placement of column floats. % % Second, \cmd\do@startcolumn\ will evidently be stalled if the following are all true: % a) tryfcolumn fails, % b) there are deferred floats available for column placement, and % a) the \cmd\@colroom=\cmd\textheight, that is, the full page height is available for placement of column floats. % % % \begin{macro}{\cleardoublepage} % \begin{macro}{\clearpage} % \begin{macro}{\newpage} % \begin{macro}{\newpage@prep} % The function of \cmd\clearpage\ is to end the current page with \cmd\newpage\ and then % ship out additional pages until (\footins) inserts and (deferred) floats are exhausted. % % The method involves setting the float placement parameters to completely permissive values % and kicking out the current page (using a non-discardable penalty). % A possibly short page will be shipped out, followed % by any number of float pages. However these float pages, because using permissive float placement, % will exhaust all inserts and deferred floats. % % Bug Note: in the code for \cmd\clearpage, the first penalty we output is an unprotected \cmd\pagebreak@pen. % I tried using a protected \cmd\do@newpage@pen, but that gave rise to a corner case where a blank page % was output. % % At present, the \cmd\clearpage\ procedure does the same as \cmd\newpage, % except that \cmd\clearpage@sw\ is turned on, % and the (discardable) \cmd\newpage\ is inevitably followed by the same procedures % that are executed if a page is shipped out. % % FIXME: it seems that better than \cmd\pagebreak@pen\ would be an unprotected penalty of a special value that would % entail output routine processing consisting of the following steps: % 3) \cmd\unvbox\cmd\@cclv, % 1) set \cmd\clearpage@sw\ to \cmd\true@sw, % 2) put down a protected \cmd\do@startcolumn@pen, % 4) take a dead cycle. % % The effect would be to liberalize float placement options for the current column as well as further columns that may be output as part of \cmd\clearpage\ processing. % Of course, it would still be necessary to set \cmd\clearpage@sw\ again via an interrupt. % % An optimization might be to clear \cmd\clearpage@sw\ as part of the same interrupt, % but that would actually not work properly, because it is necessary for \cmd\do@endpage\ to % possibly invoke furhter visits to the output routine before clearpage processing ceases. % \begin{macrocode} \def\newpage@prep{% \if@noskipsec \ifx \@nodocument\relax \leavevmode \global \@noskipsecfalse \fi \fi \if@inlabel \leavevmode \global \@inlabelfalse \fi \if@nobreak \@nobreakfalse \everypar{}\fi \par }% \def \newpage {% \newpage@prep \do@output@MVL{% \vfil \penalty-\pagebreak@pen }% }% \def\clearpage{% \newpage@prep \do@output@MVL{% \vfil \penalty-\pagebreak@pen \global\@booleantrue\clearpage@sw \protect@penalty\do@startcolumn@pen \protect@penalty\do@endpage@pen }% \do@output@MVL{% \global\@booleanfalse\clearpage@sw }% }% \def\cleardoublepage{% \clearpage \@if@sw\if@twoside\fi{% \@ifodd\c@page{}{% \null\clearpage }% }{}% }% \@booleanfalse\clearpage@sw % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\do@endpage@pen} % The penalty \cmd\do@endpage@pen\ simply dispatches to the page grid procedure that forces an end page. % That procedure should test whether there is anything to ship out (say committed floats), then act accordingly. % Note that as part of this work, it should \cmd\unvbox\cmd\@cclv, which has been left boxed up so it can be % measured. % \begin{macrocode} \mathchardef\do@endpage@pen=10007 \@namedef{output@-\the\do@endpage@pen}{% \csname end@column@\thepagegrid\endcsname }% % \end{macrocode} % \end{macro} % % \begin{macro}{\do@newpage@pen} % The penalty \cmd\do@newpage@pen\ allows a ``non-discardable \cmd\newpage'' command: % a \cmd\newpage\ command that will not disappear at a pagebreak. % This visit to the output routine will not be dispatched to an interrupt, % rather the natural output routine will be executed, where it % will remove the protection box. % % Call this routine by executing \cmd\protect@penalty\cmd\do@newpage@pen. % \begin{macrocode} \mathchardef\do@newpage@pen=10001 \expandafter\let\csname output@-\the\do@newpage@pen\endcsname\relax % \end{macrocode} % \end{macro} % % \begin{macro}{\@clearfloatplacement} % The procedure \cmd\@clearfloatplacement\ sets all of the float placement parameters % to completely permissive values. The standard values appear as comments. % \begin{macrocode} \def\@clearfloatplacement{% \global\@topnum \maxdimen % \c@topnumber \global\@toproom \maxdimen % \topfraction\@colht \global\@botnum \maxdimen % \c@bottomnumber \global\@botroom \maxdimen % \bottomfraction\@colht \global\@colnum \maxdimen % \c@totalnumber %\global\@fpmin \z@ % \floatpagefraction\@colht \global\@dbltopnum \maxdimen % \c@dbltopnumber \global\@dbltoproom \maxdimen % \dbltopfraction\@colht \global\@textmin \z@ % \@colht\advance \@textmin -\@dbltoproom \global\@fpmin \z@ % \dblfloatpagefraction\textheight \let\@testfp\@gobble \appdef\@setfloattypecounts{\@fpstype16\advance\@fpstype\m@ne}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@doclearpage} % The \cmd\@doclearpage\ procedure is now obsoleted, as is \cmd\@makefcolumn, which it invoked. % \begin{macrocode} \let\@doclearpage\@undefined \let\@makefcolumn\@undefined % \end{macrocode} % \end{macro} % % \begin{macro}{\clr@top@firstmark} % \begin{macro}{\set@top@firstmark} % \begin{macro}{\@outputpage} % We want accurate values of \cmd\topmark\ and \cmd\firstmark, but we must deal with % the fact that there are many different ways of contributing material % to the page. Only upon the first contribution to the page is the value of \cmd\topmark\ % accurate. However, with \cmd\firstmark\ we must potentially examine each contribution % because the first mark on the page may happen to fall in the last piece of material contributed. % % To begin, we define the procedure that initializes the macros to appropriate flag values. % \begin{macrocode} \def\clr@top@firstmark{% \global\let\saved@@topmark\@undefined \global\let\saved@@firstmark\@empty \global\let\saved@@botmark\@empty }% \clr@top@firstmark % \end{macrocode} % % Note that the flag value for \cmd\saved@@topmark\ is \cmd\@undefined, just as one would % expect. But that for \cmd\saved@@firstmark\ and \cmd\saved@@botmark\ is \cmd\@empty. % % Next, we define procedure \cmd\set@top@firstmark; it will be exercised everywhere material is contributed, % capturing the mark values if appropriate. % \begin{macrocode} \def\set@top@firstmark{% \@ifxundefined\saved@@topmark{\expandafter\gdef\expandafter\saved@@topmark\expandafter{\@@topmark}}{}% \@if@empty\saved@@firstmark{\expandafter\gdef\expandafter\saved@@firstmark\expandafter{\@@firstmark}}{}% \@if@empty\@@botmark{}{\expandafter\gdef\expandafter\saved@@botmark\expandafter{\@@botmark}}% }% % \end{macrocode} % When should \cmd\set@top@firstmark\ be called? % A good candidate for a universal procedure for handling contributed material is % the natural output routine; are any other calls needed? % % Yes, in \cmd\save@column\ we must execute \cmd\set@top@firstmark\ because we are about to % save away \cmd\box\cmd\@cclv, and we will never see its marks again (unless it is unboxed into the MVL), % because \TeX\ lets one access a box's marks only within an output routine that has put that box into \cmd\box\cmd\@cclv. % % As soon as a page is shipped out, we initialize the two macros that % hold the values of \cmd\topmark\ and \cmd\firstmark, respectively. % \LaTeX\ has exactly one procedure \cmd\@outputpage\ that does \cmd\shipout, % which is as it should be: we tailpatch it, and the job is done. % \begin{macrocode} \appdef\@outputpage{% \clr@top@firstmark }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % % \subsection{Other interfaces to \LaTeX}% % % \begin{macro}{\@float} % \begin{macro}{\@dblfloat} % \begin{macro}{\@yfloat} % \begin{macro}{\fps@} % \begin{macro}{\fpsd@} % The \LaTeX\ kernel procedures \cmd\@float\ and \cmd\@dblfloat\ are treated on an equal footing. % Each now takes environment-specific float placement defaults. % If none are defined for the calling environment, we apply a default. % % A parameter is passed that will set the width of text within the float, normally \cmd\columnwidth, % and in the "dbl" version, \cmd\textwidth. However, an environment such as \env{turnpage} % may change the meanings of these macros to allow turnpage floats. % % \begin{macrocode} \def\@float#1{% \@ifnextchar[{%}]{%Brace-matching klootch \@yfloat\width@float{#1}% }{% \@ifxundefined@cs{fps@#1}{% \edef\reserved@a{\noexpand\@yfloat\noexpand\width@float{#1}[\csname fps@\endcsname]}\reserved@a }{% \edef\reserved@a{\noexpand\@yfloat\noexpand\width@float{#1}[\csname fps@#1\endcsname]}\reserved@a }% }% }% \def\@dblfloat#1{% \@ifnum{\pagegrid@col=\@ne}{% \@float{#1}% }{% \@ifnextchar[{%}]{%Brace-matching klootch \@yfloat\widthd@float{#1}% }{% \@ifxundefined@cs{fpsd@#1}{% \edef\reserved@a{\noexpand\@yfloat\noexpand\widthd@float{#1}[\csname fpsd@\endcsname]}\reserved@a }{% \edef\reserved@a{\noexpand\@yfloat\noexpand\widthd@float{#1}[\csname fpsd@#1\endcsname]}\reserved@a }% }% }% }% \def\@yfloat#1#2[#3]{% \@xfloat{#2}[#3]% \hsize#1\linewidth\hsize \minipagefootnote@init }% \def\fps@{tbp}% \def\fpsd@{tp}% \def\width@float{\columnwidth}% \def\widthd@float{\textwidth}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\end@float} % \begin{macro}{\end@dblfloat} % \begin{macro}{\end@@float} % \begin{macro}{\check@currbox@count} % \begin{macro}{\minipagefootnote@init} % \begin{macro}{\minipagefootnote@here} % \LaTeX\ kernel procedures \cmd\end@float\ and \cmd\end@dblfloat\ % have been changed to work alike; in particular, floats of both classes % are deferred into the same queue. % This measure ensures that they will be placed in their original order, % an aspect in which \LaTeX\ is broken. % % Note: when retrieving floats from the queues, we can differentiate those of the two categories % by the width of the box. % % Floats are processed via an output routine message, and are checked for % sanity in re the float placement options. In the case of full-page-width floats, % we ensure that the h and b float placement options are never asserted, because they % make no sense. % % Note that if we get to the end of the float box and still have pending % footnotes, we put then out. % % LaTeX Bug note: if a user types \cmd\begin{table*}[h], the float will never succeed in being placed! % we try to catch such cases. % % Note that the macro \cmd\check@currbox@count\ trys to catch cases where the float placement options % are such that the float can never be placed. % \begin{macrocode} \def\end@float{% \end@@float{% \check@currbox@count }% }% \def\end@dblfloat{% \@ifnum{\pagegrid@col=\@ne}{% \end@float }{% \end@@float{% \@boxfpsbit\@currbox{1}\@ifodd\@tempcnta{\global\advance\count\@currbox\m@ne}{}% \@boxfpsbit\@currbox{4}\@ifodd\@tempcnta{\global\advance\count\@currbox-4\relax}{}% \global\wd\@currbox\textwidth % Klootch \check@currbox@count }% }% }% \def\end@@float#1{% \minipagefootnote@here %\minipagefootnotes \@endfloatbox #1% \@ifnum{\@floatpenalty <\z@}{% \@largefloatcheck \@cons\@currlist\@currbox \@ifnum{\@floatpenalty <-\@Mii}{% \do@output@cclv{\@add@float}% }{% \vadjust{\do@output@cclv{\@add@float}}% \@Esphack }% }{}% }% \def\check@currbox@count{% \@ifnum{\count\@currbox>\z@}{% \count@\count\@currbox\divide\count@\sixt@@n\multiply\count@\sixt@@n \@tempcnta\count\@currbox\advance\@tempcnta-\count@ \@ifnum{\@tempcnta=\z@}{% \ltxgrid@warn{Float cannot be placed}% }{}% }{% % Is a \marginpar }% }% \providecommand\minipagefootnote@init{}% \providecommand\minipagefootnote@here{}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@specialoutput} % The \cmd\@add@float\ procedure used to reside in standard \LaTeX's \cmd\@specialoutput, % which is no more. % % Historical Note: \cmd\@specialoutput\ and Lamport's method of an output routine dispatcher % is the genesis of our more powerful and refined way of using \TeX's output routine to % safely accomplish page makeup tasks. To it and to him we owe acknowledgement and thanks. % \begin{macrocode} \let\@specialoutput\@undefined % \end{macrocode} % \end{macro} % % \begin{macro}{\@add@float} % In the following, we do not need to execute \cmd\@reinserts, which was wrong anyway, as you cannot % reliably recover insertions when they split (unless you have a way of reinserting the captured insertion % ahead of the split-off part). % % Now that full-page-width floats are being processed the same as column floats, we % have to nip in here and cause them always to be deferred. % % At the very end, the \cmd\vsize\ is adjusted for any newly committed float. % \begin{macrocode} \def\@add@float{% \@pageht\ht\@cclv\@pagedp\dp\@cclv \unvbox\@cclv \@next\@currbox\@currlist{% \csname @floatselect@sw@\thepagegrid\endcsname\@currbox{% \@ifnum{\count\@currbox>\z@}{% \advance \@pageht \@pagedp \advance \@pageht \vsize \advance \@pageht -\pagegoal % do not assume \holdinginserts is cleared! % \@ifvbox\@kludgeins{% % \@ifdim{\wd\@kludgeins=\z@}{% % \advance \@pageht \ht\@kludgeins % }{}% % }{}% % \@reinserts \@addtocurcol % Commit an h float }{% % \@reinserts \@addmarginpar }% }{% \@resethfps \@cons\@deferlist\@currbox }% }{\@latexbug}% \@ifnum{\outputpenalty<\z@}{% \@if@sw\if@nobreak\fi{% \nobreak }{% \addpenalty \interlinepenalty }% }{}% \set@vsize }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@reinserts} % The \cmd\@reinserts\ procedure of standard \LaTeX\ is now obsoleted. % \begin{macrocode} \let\@reinserts\@undefined % \end{macrocode} % \end{macro} % % \begin{macro}{\@addtocurcol} % We modify the \cmd\@addtocurcol\ procedure of standard \LaTeX\ % so that a float placed ``here'' may break over pages. % \begin{macrocode} \def \@addtocurcol {% \@insertfalse \@setfloattypecounts \ifnum \@fpstype=8 \else \ifnum \@fpstype=24 \else \@flsettextmin \advance \@textmin \@textfloatsheight \@reqcolroom \@pageht \ifdim \@textmin>\@reqcolroom \@reqcolroom \@textmin \fi \advance \@reqcolroom \ht\@currbox \ifdim \@colroom>\@reqcolroom \@flsetnum \@colnum \ifnum \@colnum>\z@ \@bitor\@currtype\@deferlist \if@test \else \@bitor\@currtype\@botlist \if@test \@addtobot \else \ifodd \count\@currbox \advance \@reqcolroom \intextsep \ifdim \@colroom>\@reqcolroom \global \advance \@colnum \m@ne \global \advance \@textfloatsheight \ht\@currbox \global \advance \@textfloatsheight 2\intextsep \@cons \@midlist \@currbox \if@nobreak \nobreak \@nobreakfalse \everypar{}% \else \addpenalty \interlinepenalty \fi \vskip \intextsep \unvbox\@currbox %AO \penalty\interlinepenalty \vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi \outputpenalty \z@ \@inserttrue \fi \fi \if@insert \else \@addtotoporbot \fi \fi \fi \fi \fi \fi \fi \if@insert \else \@resethfps \@cons\@deferlist\@currbox \fi }% % \end{macrocode} % \end{macro} % % \begin{macro}{\if@twocolumn} % The \cmd\newif\ switch \cmd\if@twocolumn\ is entirely unused. However its access words are invoked by % \LaTeX's \cmd\document\ procedure, so we de-fang it. % \begin{macrocode} \@twocolumnfalse \let\@twocolumntrue\@twocolumnfalse % \end{macrocode} % \end{macro} % % \begin{macro}{\@addmarginpar} % The procedure \cmd\@addmarginpar\ used to access \cmd\if@twocolumn, but that switch is not reliable; % the better way is to use \cmd\thepagegrid. We establish a convention for a page-grid-oriented % procedure, e.g., \cmd\@addmarginpar@one, that emits a boolean, telling this procedure % whether to set the marginpar on the left or right. % \begin{macrocode} \def\@addmarginpar{% \@next\@marbox\@currlist{% \@cons\@freelist\@marbox\@cons\@freelist\@currbox }\@latexbug \setbox\@marbox\hb@xt@\columnwidth{% \csname @addmarginpar@\thepagegrid\endcsname{% \hskip-\marginparsep\hskip-\marginparwidth \box\@currbox }{% \hskip\columnwidth\hskip\marginparsep \box\@marbox }% \hss }% \setbox\z@\box\@currbox \@tempdima\@mparbottom \advance\@tempdima -\@pageht \advance\@tempdima\ht\@marbox \@ifdim{\@tempdima >\z@}{% \@latex@warning@no@line {Marginpar on page \thepage\space moved}% }{% \@tempdima\z@ }% \global\@mparbottom\@pageht \global\advance\@mparbottom\@tempdima \global\advance\@mparbottom\dp\@marbox \global\advance\@mparbottom\marginparpush \advance\@tempdima -\ht\@marbox \global\setbox \@marbox \vbox {\vskip \@tempdima \box \@marbox}% \global \ht\@marbox \z@ \global \dp\@marbox \z@ \kern -\@pagedp \nointerlineskip \box\@marbox \nointerlineskip \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}% }% % \end{macrocode} % \end{macro} % % \begin{environment}{turnpage} % Any float (viz., \env{figure} or \env{table}) within the scope of this environment % will be a turnpage float: It will be assumed to occupy an entire page (constitute a float page), % the width will be \cmd\textheight, the height \cmd\textwidth, and the entire float will be presented % rotated 90 degrees. % % The implementation requires the services of the \cmd\rotatebox\ command, so we supply a dummy definition % that explains things to the user. % \begin{macrocode} \newenvironment{turnpage}{% \def\width@float{\textheight}% \def\widthd@float{\textheight}% \appdef\@endfloatbox{% \@ifxundefined\@currbox{% \ltxgrid@warn{Cannot rotate! Not a float}% }{% \setbox\@currbox\vbox to\textwidth{\vfil\unvbox\@currbox\vfil}% \global\setbox\@currbox\vbox{\rotatebox{90}{\box\@currbox}}% }% }% }{% }% \def\rotatebox@dummy#1#2{% \ltxgrid@warn{You must load the graphics or graphicx package in order to use the turnpage environment}% #2% }% \AtBeginDocument{% \@ifxundefined\rotatebox{\let\rotatebox\rotatebox@dummy}{}% }% % \end{macrocode} % \end{environment} % % % \subsection{One-off output routines} % % These procedures are executed in lieu of \cmd\the\cmd\output\ when the output penalty has the associated flag value. % % \begin{macro}{output@-1073741824} % The first one-off output routine handles the end of the job, wherein % \LaTeX\ executes \cmd\@@end, and breaks to the output with a penalty of % $"40000000 = 2^{32}/4$. We simply discard \cmd\box\cmd\@cclv\ and leave. % This means that \LaTeX\ is obligated to do \cmd\clearpage\ as part of % its \enve{document} processing, otherwise material will be lost. % \begin{macrocode} \@namedef{output@-1073741824}{%"40000000 \deadcycles\z@ %\showbox\@cclv \setbox\z@\box\@cclv }% % \end{macrocode} % \end{macro} % % \begin{macro}{\save@column@pen} % The one-off output routine associated with \cmd\penalty\cmd\save@column@pen\ % will be called within a sequence of three such routines by \cmd\execute@message % or its companion routine \cmd\execute@message@insert. % This procedure must save away any the current page and preserve marks. % \begin{macrocode} \mathchardef\save@column@pen=10016 \@namedef{output@-\the\save@column@pen}{\save@column}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@cclv@saved} % We take over the \cmd\@holdpg\ box register. Hereafter, % we no longer use the \cmd\@holdpg\ box register, so let the world know. % This should decisively break packages that assume standard \LaTeX. % Breaking decisively is preferred to quietly proceeding erroneously. % \begin{macrocode} \let \@cclv@saved \@holdpg \let \@holdpg \@undefined % \end{macrocode} % \end{macro} % % \begin{macro}{\save@column} % The procedure \cmd\save@column\ does the actual work of saving away the material % on the page. It is invoked both by \cmd\save@column@pen\ and by \cmd\save@column@insert@pen. % We save \cmd\box\cmd\@cclv\ and the primitive \cmd\@@topmark. % \begin{macrocode} \def\save@column{% \@ifvoid\@cclv@saved{% \set@top@firstmark \global\@topmark@saved\expandafter{\@@topmark}% }{}% \global\setbox\@cclv@saved\vbox{% \@ifvoid\@cclv@saved{}{% \unvbox\@cclv@saved \marry@baselines }% \unvbox\@cclv \lose@breaks \setbox\z@\lastbox }% }% \newtoks\@topmark@saved % \end{macrocode} % \end{macro} % % \begin{macro}{\prep@cclv} % The procedure \cmd\prep@cclv\ is used by message handlers to set up their environment % to ape that of the usual output routine, with the boxed-up page in \cmd\box\cmd\@cclv. % Here, we retrieve the material from \cmd\@cclv@saved, where it was saved away by % the one-off output routine associated with \cmd\save@column@pen. % \begin{macrocode} \def\prep@cclv{% \setbox\z@\box\@cclv \setbox\@cclv\box\@cclv@saved \vbadness\@M }% % \end{macrocode} % \end{macro} % % \begin{macro}{\save@column@insert@pen} % The one-off output routine associated with \cmd\penalty\cmd\save@column@insert@pen\ % is similar to that of \cmd\save@column@pen\ augmented with the processing of insertions. % It is called by \cmd\execute@message@insert\ (i.e., at a grid change) % and saves away the current page and preserves marks. % In addition, it saves away any insertions that fall on the current page. % As with the regular output routine, it executes in two phases, % first with \cmd\holdinginserts\ set, then with it cleared. % \begin{macrocode} \mathchardef\save@column@insert@pen=10017 \@namedef{output@-\the\save@column@insert@pen}{\toggle@insert\savecolumn@holding\savecolumn@moving}% % \end{macrocode} % The procedure \cmd\savecolumn@holding\ is the first phase of saving a column with its inserts. % This phase must detect and remedy the one circumstance that will confound our efforts to propagate marks. % It is similar to \cmd\output@holding, except that we have to deal with the protection box, which must % remain, because the messaging mechanism is being used. % % If it appears that we have the pathological ``Big Bad Box'' case at hand, we use the \cmd\dead@cycle@repair@protected\ % procedure instead of \cmd\dead@cycle\ to do our dead cycle. % \begin{macrocode} \def\savecolumn@holding{% \@if@exceed@pagegoal{\unvcopy\@cclv\setbox\z@\lastbox}{% \setbox\z@\vbox{\unvcopy\@cclv\setbox\z@\lastbox}% \outputdebug@sw{{\tracingall\scrollmode\showbox\z@}}{}% \dimen@\ht\@cclv\advance\dimen@-\ht\z@ \dead@cycle@repair@protected\dimen@ }{% \dead@cycle }% }% % \end{macrocode} % The procedure \cmd\save@column@moving\ is the second phase of saving a column with its inserts. % Now that \cmd\holdinginserts\ is cleared, we can look in the various \cmd\insert\ registers for % our inserts (at present there is only one, \cmd\footins). % if anything is there, we save it away and ask for another cycle (because it may have split). % % Note that the message that is about to be executed had better deal properly with the contents of % the \cmd\footins@saved\ box. % \begin{macrocode} \def\savecolumn@moving{% \@cclv@nontrivial@sw{% \save@column }{% {\setbox\z@\box\@cclv}% }% \@ifvoid\footins{}{% \outputdebug@sw{{\tracingall\scrollmode\showbox\footins}}{}% \global\setbox\footins@saved\vbox{\unvbox\footins@saved\marry@baselines\unvbox\footins}% \protect@penalty\save@column@insert@pen }% }% \newbox\footins@saved % \end{macrocode} % \end{macro} % % \begin{macro}{\save@message@pen} % The one-off output routine associated with \cmd\penalty\cmd\save@message@pen\ % saves away the message that has been passed. % This procedure is penultimate in a sequence of one-off output routine calls; % earlier ones have saved away the MVL and preserved marks, the last executes the message. % % Note that we are passing tokens to \TeX's primitive \cmd\mark\ mechanism, so we must ensure % that they are not inappropriately expanded. We use the same mechanism for all such cases, % namely \cmd\let@mark. % % Note: we expect that \cmd\box\cmd\@cclv's contents are well known: % \cmd\topskip, protection box, and a \cmd\mark, the latter havin the % message. % But if we came here via \cmd\penalty 10017, there might be an \cmd\insert\ node here as well, because % a footnote split. % Because this procedure simply voids out \cmd\box\cmd\@cclv, such material would be lost. % Perhaps we can repair things by manipulating the \cmd\insert \ mechanism temporarily. % \begin{macrocode} \mathchardef\save@message@pen=10018 \@namedef{output@-\the\save@message@pen}{\save@message}% \def\save@message{% \setbox\z@\box\@cclv %FIXME: what if \box\@cclv is not empty? \toks@\expandafter{\@@firstmark}% \expandafter\gdef\expandafter\@message@saved\expandafter{\the\toks@}% \expandafter\do@@mark\expandafter{\the\@topmark@saved}% }% \gdef\@message@saved{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\execute@message@pen} % The one-off output routine associated with \cmd\execute@message@pen\ % simply executes the given message. It is last in a sequence of one-off output routine calls; % earlier ones have saved all that require saving. % \begin{macrocode} \mathchardef\execute@message@pen=10019 \@namedef{output@-\the\execute@message@pen}{\@message@saved}% % \end{macrocode} % \end{macro} % % % \subsection{Output messages} % % Message handlers are procedures that execute output messages, tokens that are passed to % the output routine for execution in an environment appropriate to page makeup. % % How it works. We put down three large negative penalties, each of which will be handled by % the output dispatcher (not the output routine), each penalty being protected by % a removable, non-discardable item (i.e., a box). % Either three or four invocations of one-off output routines are involved per message. % % We make the last of the three protection boxes have a depth equal to the value of \cmd\prevdepth\ % that was current when the procedure is called. This effectively restores \cmd\prevdepth. % % In each case, the one-off output routine will remove the extraneous box we have inserted. % And the second and third one-off routines will simply void \cmd\box\cmd\@cclv, because its contents % are entirely artificial. % % FIXME: not so! If \cmd\holdinginserts\ is cleared, that box may have an insert node; it must be preserved, too. % % The first routine saves away the current column contents and remembers the \cmd\topmark\ for later % use. There is a variant routine that first clears \cmd\holdinginserts, so that the message can % handle any inserts present in the boxed-up page; this of course entails yet another % visit to the output routine. % % The penultimate routine saves away the tokens transmitted in via the \cmd\@@mark: the argument of % the macro. These tokens are of course the very thing we wish to execute within the safety % of the output routine. It also puts down a mark containing the \cmd\topmark\ tokens saved % by the first routine. By this means, the mark, which we have clobbered, is restored. % % The last routine simply executes the given tokens. % In the course of doing this, it must take care of \cmd\box\cmd\@cclv, either by shipping it out, % or by \cmd\unvbox ing it onto the MVL. % % \begin{macro}{\execute@message} % The procedure \cmd\execute@message\ simply calls the utility procedure \cmd\@execute@message\ % with a penalty value for the standard treatment. % \begin{macrocode} \def\execute@message{% \@execute@message\save@column@pen %Implicit #2 }% % \end{macrocode} % \end{macro} % % \begin{macro}{\execute@message@insert} % The procedure \cmd\execute@message@insert\ is like \cmd\execute@message\ in all respects % except that the penalty value is \cmd\save@column@insert@pen, which arranges for the % message handler involved to deal with the page's insertions. % At the same time, we prepare the \cmd\footins\ box so that these insertions can be dealt with. % % Note: % If more insertions are added to \LaTeX\ (presumably via \cmd\newinsert), then they % must be dealt with in a way entirely analogous to \cmd\footins. % \begin{macrocode} \def\execute@message@insert#1{% \@execute@message\save@column@insert@pen{\setbox\footins\box\footins@saved#1}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@execute@message} % The utility procedure \cmd\@execute@message\ is called by \cmd\execute@message\ and \cmd\execute@message@insert. % We prepare by creating a \cmd\vbox\ containing all the needed nodes and proceed by simply % \cmd\unvbox ing that box onto the MVL. % We ensure that \cmd\box\cmd\@cclv\ is properly set up for the output message handler % by always inserting \cmd\prep@cclv\ in advance of the argument. % % Note that each one-off output routine is invoked effectively the same as % \cmd\protect@penalty, except that the second invocation involves an additional % \cmd\mark\ node, and the third a specially prepared protection box. % % Note also that \TeX's primitive \cmd\mark\ is called here without any expansion protection. % This is the only place where it is called that way, but it's OK because those tokens % have have been pre-expanded by procedures that call \cmd\execute@message. % FIXME: all procedures calling \cmd\execute@message\ must pre-expand their tokens! % \begin{macrocode} \long\def\@execute@message#1#2{% \begingroup \dimen@\prevdepth\@ifdim{\dimen@<\z@}{\dimen@\z@}{}% \setbox\z@\vbox{% \protect@penalty#1% \protection@box \toks@{\prep@cclv#2}% \@@mark{\the\toks@}% \penalty-\save@message@pen % \hbox{\vrule\@height\z@\@width\z@\@depth\dimen@}% \setbox\z@\null\dp\z@\dimen@\ht\z@-\dimen@ \nointerlineskip\box\z@ \penalty-\execute@message@pen }\unvbox\z@ \endgroup }% % \end{macrocode} % \end{macro} % % \begin{macro}{\do@output@cclv} % The procedure \cmd\do@output@cclv\ provides access to message handlers at their simplest. % The message will execute in the usual environment of the output routine, with % the boxed-up page in \cmd\box\cmd\@cclv, and we assume that \cmd\holdinginserts\ remains set. % This procedure must be invoked within main vertical mode; % it is the obligation of the macro writer to ensure that this is the case. % \begin{macrocode} \def\do@output@cclv{\execute@message}% % \end{macrocode} % \end{macro} % % \begin{macro}{\do@output@MVL} % The procedure \cmd\do@output@MVL, like \cmd\do@output@cclv, is an interface for messages, % but provides two additional services: the command may also be invoked in horizontal mode, and % the message handler will execute with the MVL unboxed. % \begin{macrocode} \def\do@output@MVL#1{% \@ifvmode{% \begingroup\execute@message{\unvbox\@cclv#1}\endgroup }{% \@ifhmode{% \vadjust{\execute@message{\unvbox\@cclv#1}}% }{% \@latexerr{\string\do@output@MVL\space cannot be executed in this mode!}\@eha }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\lose@breaks} % The purpose of this procedure is to get rid of all the extraneous % \cmd\penalty\cmd\@M\ nodes that tend to build up in the MVL. % \begin{macrocode} \def\lose@breaks{% \loopwhile{% \count@\lastpenalty \@ifnum{\count@=\@M}{% 10000 is a TeX magic number! \unpenalty\true@sw }{% \false@sw }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\removestuff} % \cmd\removestuff\ is a document-level command that removes the bottom skip glue item % from the MVL. % \begin{macrocode} \def\removestuff{\do@output@MVL{\unskip\unpenalty}}% % \end{macrocode} % \end{macro} % % \begin{macro}{\removephantombox} % The procedure \cmd\removephantombox\ is a special-purpose message handler exclusively for % preventing incorrect spacing above display math. It must be issued in % horizontal mode within the phantom paragraph generated when display math starts up in % vertical mode. % \begin{macrocode} \def\removephantombox{% \vadjust{% \execute@message{% \unvbox\@cclv \setbox\z@\lastbox \unskip \unskip \unpenalty \penalty\predisplaypenalty \vskip\abovedisplayskip }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\addstuff} % \cmd\addstuff\ is a document-level command that adds penalty, glue, or both to the % MVL. The penalty and glue items are rearranged so that all penalties nodes precede all the glue nodes, % which is the canonical arrangement. % \begin{macrocode} \def\addstuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@addstuff{#1}{#2}}}\@tempa}% \def\@addstuff#1#2{% \skip@\lastskip\unskip \count@\lastpenalty\unpenalty \@if@empty{#1}{}{\penalty#1\relax}% \@ifnum{\count@=\z@}{}{\penalty\count@}% \vskip\skip@ \@if@empty{#2}{}{\vskip#2\relax}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\replacestuff} % \cmd\replacestuff\ is a document-level command similar to \cmd\addstuff; % but it replaces penalty, glue, or both in the MVL. % The penalty and glue items are rearranged so that all penalties nodes precede all the glue nodes, % which is the canonical arrangement. % \begin{macrocode} \def\replacestuff#1#2{\edef\@tempa{\noexpand\do@output@MVL{\noexpand\@replacestuff{#1}{#2}}}\@tempa}% \def\@replacestuff#1#2{% \skip@\lastskip\unskip \count@\lastpenalty\unpenalty \@if@empty{#1}{}{% \@ifnum{\count@>\@M}{}{% \@ifnum{\count@=\z@}{\count@=#1\relax}{% \@ifnum{\count@<#1\relax}{}{% \count@=#1\relax }% }% }% }% \@ifnum{\count@=\z@}{}{\penalty\count@}% \@if@empty{#2}{}{% \@tempskipa#2\relax \@ifdim{\z@>\@tempskipa}{% \advance\skip@-\@tempskipa }{% \@ifdim{\skip@>\@tempskipa}{}{% \skip@\@tempskipa }% }% }% \vskip\skip@ }% % \end{macrocode} % \end{macro} % % \begin{macro}{\move@insertions} % \begin{macro}{\hold@insertions} % \begin{macro}{\move@insert@sw} % In order to avoid bolluxing up \cmd\insert\ registers by our one-off % output routines, we set \cmd\holdinginserts\ to zero by default and only % clear it (briefly) while we handle cases where we want inserts to show up. % \begin{macrocode} \def\move@insertions{\global\holdinginserts\z@}% \def\hold@insertions{\global\holdinginserts\@ne}% \hold@insertions \def\move@insert@sw{\@ifnum{\holdinginserts=\z@}}% \def\toggle@insert#1#2{% \@ifnum{\holdinginserts=\z@}{\hold@insertions#2}{\move@insertions#1}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % % \subsection{Messages to alter the page grid}% % % Here is the implementation of the grid-switching procedures. % We perform two checks when changing the page grid; first to ensure that % the target page grid is known (defensive programming), second to ensure that % the switch is a non-trivial one. The latter check must be performed within % the safety of the output routine, so requires using an output message. % Thus, a grid change requires two messages, for a total of six visits to the output routine. % % \begin{macro}{\do@columngrid} % Utility procedure \cmd\do@columngrid\ changes the page grid. % Note that this command forces an end to the current paragraph. This is necessary, because % a page grid change makes no sense unless we can alter the \cmd\hsize\ before commencing to % typeset the following paragraph. So the command should never be executed in horizontal mode % anyway. % \begin{macrocode} \def\do@columngrid#1#2{% \par \expandafter\let\expandafter\@tempa\csname open@column@#1\endcsname \@ifx{\relax\@tempa}{% \ltxgrid@warn{Unknown page grid #1. No action taken}% }{% \do@output@MVL{\start@column{#1}{#2}}% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\start@column} % Procedure \cmd\start@column\ lays down the interrupts to switch the page grid. % If the change to the page grid would have been trivial, it bails out. % It seems a reasonable tradeoff of processing versus security: once we commit % to changing the page grid, we clear \cmd\holdinginserts, so there is no turning back. % % Note that the second argument to the macro allows us to pass an argument to the % page grid that is starting up. This can be handy, because a single procedure can % handle multiple page grids, differing only by the value of a parameter. % % FIXME: this means that you cannot switch between mlt page grids in a single step. % But do we want to do this, at all, at all? % \begin{macrocode} \def\start@column#1#2{% \def\@tempa{#1}\@ifx{\@tempa\thepagegrid}{% \ltxgrid@info{Already in page grid \thepagegrid. No action taken}% }{% \expandafter\execute@message@insert \expandafter{% \csname shut@column@\thepagegrid\expandafter\endcsname \csname open@column@#1\endcsname{#2}% \set@vsize }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\thepagegrid} % The macro \cmd\thepagegrid\ tracks what kind of page grid we are in. % % Note: Access \cmd\thepagegrid\ only within the safety of the output routine. % % Warning: The page grid should be changed only within the safety of the output routine. % People who write multicol page grid mechanisms appear not to understand the matter, so they % should particularly heed this warning. Think about it: obviously Lamport did so, which is why % his \cmd\twocolumn\ command forced a pagebreak, which is limiting, but safe. % \begin{macrocode} \def\thepagegrid{one}% % \end{macrocode} % \end{macro} % % % \subsection{Application Note: implementing a page grid} % % If you want to create a new page grid for \LaTeX, % you must define five procedures with specific names: % \cmd\open@column@ name, \cmd\shut@column@ name, \cmd\end@column@ name, % \cmd\output@column@ name, and \cmd\@addmarginpar@ name, where ``name'' is the % name of your page grid. % % The procedure \cmd\open@column@ name starts the new page grid. It should define \cmd\thepagegrid, % deal with \cmd\box\cmd\pagesofar\ and \cmd\box\cmd\footbox\ (perhaps by leaving them alone), % and it should set the values of \LaTeX's page layout parameters for the column size and height. % % The procedure \cmd\shut@column@ name should expect to be called with \cmd\holdinginserts\ % cleared (it can assume that \cmd\holdinginserts\ will automatically be restored). % It should properly deal with insertions (like footnotes); calling \cmd\@makecol\ % is a good way to do this. It should know that the page grid is being terminated % in the middle of a page, so it should make arrangements to carry the footnotes down to the % bottom of the column or page, and it should possibly salt away the material for later % incorporation into the page. The box registers \cmd\footbox\ and \cmd\pagesofar\ are customarily used % for this purpose. % % The procedure \cmd\end@column@ name should kick out a possibly short page containing all the % floats committed to the page. It will be invoked during \cmd\clearpage\ processing. % After that, it should \cmd\unvbox\cmd\@cclv. % % The procedure \cmd\output@column@ name should ship out or commit the current \cmd\@outputbox. % In a one-column layout, you ship out; in a multicolumn layout, you commit the box as the contents % of a particular column, and if that column is the last, you ship out. % % The procedure \cmd\@addmarginpar@ name should return a boolean (either \cmd\true@sw\ or \cmd\false@sw\ or an equivalent) % to tell the marginpar mechanism to place the marginal material to the right or left, respectively. % % You can use the existing page grids ``one'' and ``mlt'' as a point of departure for creating others. % The former can be the basis for, say, a single-column page grid with a side column. % % \begin{macro}{\pagesofar} % \begin{macro}{\footbox} % \begin{macrocode} \newbox\pagesofar \newbox\footbox % \end{macrocode} % \end{macro} % \end{macro} % % % \subsubsection{One-column page grid} % % \begin{macro}{\onecolumngrid} % \begin{macro}{\open@column@one} % \begin{macro}{\shut@column@one} % \begin{macro}{\float@column@one} % \begin{macro}{\end@column@one} % \begin{macro}{\output@column@one} % \begin{macro}{\@addmarginpar@one} % Here are all the procedures necessary for the standard page grid named ``one'': % a single column layout. It is, of course, \LaTeX's familiar \cmd\onecolumn\ layout. % We begin with the procedure exposed to the style writer. % This is, however, not a \LaTeX\ command; users should not change the page grid. % \begin{macrocode} \newcommand\onecolumngrid{\do@columngrid{one}{\@ne}}% % \end{macrocode} % % Note that a document class that issues the command \cmd\onecolumn\ will break. This includes % \LaTeX's standard classes.dtx-based classes: if your class descends from one of these, you % must expunge it of all such commands. % \begin{macrocode} \let\onecolumn\@undefined % \end{macrocode} % % The procedure \cmd\open@column@one\ takes advantage of the special nature of the one-column % page grid to deal with \cmd\box\cmd\pagesofar, therefore it must also reset \cmd\@colroom. % \begin{macrocode} \def\open@column@one#1{% \unvbox\pagesofar \gdef\thepagegrid{one}% \global\pagegrid@col#1% \global\pagegrid@cur\@ne \set@colht %\set@colroom \set@column@hsize\pagegrid@col }% % \end{macrocode} % % The procedure \cmd\shut@column@one\ saves away the one-column material into the box register \cmd\pagesofar. % Because it is called from a message handler, we are assured that marks are properly taken care of. % \begin{macrocode} \def\shut@column@one{% \@makecol \global\setbox\pagesofar\vbox{\unvbox\@outputbox\recover@footins}% \set@colht %\set@colroom }% % \end{macrocode} % % The procedure \cmd\float@column@one\ takes care of a float column that has been built by \cmd\@tryfcolumn, % in the single-column page grid. % \begin{macrocode} \def\float@column@one{% \@makecol \@outputpage }% % \end{macrocode} % % The procedure \cmd\end@column@one\ is executed at the end of \cmd\clearpage\ processing, % if we were in a one-column page grid, once all permissive float pages have been shipped out. % At this point, one could perhaps % assume that nothing more need be done, but let us anyway test for committed floats and force a shipout. % % FIXME: this procedure does the same as \cmd\end@column@mlt % (except for the test of \cmd\@ifx@empty\cmd\@dbltoplist): % the two could almost be the same procedure. % % I have changed this procedure to avoid the testing it once did: it simply puts down interrupts, % upon which it relies to correctly do what \cmd\clearpage\ requires. % \begin{macrocode} \def\end@column@one{% \unvbox\@cclv\setbox\z@\lastbox \protect@penalty\do@newpage@pen }% % \end{macrocode} % % The procedure \cmd\output@column@one\ is dispatched from the output routine when % we have completed a page (that is, a column in a one-column page grid). % It ships out the page using the \cmd\@outputpage\ of standard \LaTeX, % which has been retained (it is needed also in \cmd\output@column@mlt, % and in any case should remain as the sole procedure in \LaTeX\ where \cmd\shipout\ is performed). % It will be followed up with an output routine message to prepare a new column. % \begin{macrocode} \def\output@column@one{% \@outputpage }% % \end{macrocode} % % The following procedure determines which side of the page a marginpar will appear. % It reproduces the behavior of standard \LaTeX. % \begin{macrocode} \def\@addmarginpar@one{% \@if@sw\if@mparswitch\fi{% \@ifodd\c@page{\false@sw}{\true@sw}% }{\false@sw}{% \@if@sw\if@reversemargin\fi{\false@sw}{\true@sw}% }{% \@if@sw\if@reversemargin\fi{\true@sw}{\false@sw}% }% }% % \end{macrocode} % % The following procedure yields a Boolean value; it determines whether a float in the deferred queue % is appropriate for placing. In the one-column grid, all floats are so. % \begin{macrocode} \def\@floatselect@sw@one#1{\true@sw}% % \end{macrocode} % % \begin{macrocode} \def\onecolumngrid@push{% \do@output@MVL{% \@ifnum{\pagegrid@col=\@ne}{% \global\let\restorecolumngrid\@empty }{% \xdef\restorecolumngrid{% \noexpand\start@column{\thepagegrid}{\the\pagegrid@col}% }% \start@column{one}{\@ne}% }% }% }% \def\onecolumngrid@pop{% \do@output@MVL{\restorecolumngrid}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \subsubsection{Two-column page grid} % % \begin{macro}{\twocolumngrid} % \begin{macro}{\open@column@mlt} % \begin{macro}{\shut@column@mlt} % \begin{macro}{\end@column@mlt} % \begin{macro}{\output@column@mlt} % \begin{macro}{\@addmarginpar@mlt} % Here are all the procedures necessary for the standard page grid named ``mlt'': % the multi-column page grid. With an argument of "2", it is, % of course, \LaTeX's familiar \cmd\twocolumn\ layout. % % We start with the procedure to switch to the two-column page grid. % \begin{macrocode} \newcommand\twocolumngrid{\do@columngrid{mlt}{\tw@}}% % \end{macrocode} % % The corresponding command of \LaTeX\ is obsolete. % \begin{macrocode} \let\twocolumn\@undefined % \end{macrocode} % % Of course, \cmd\@topnewpage\ is also obsolete. Just do %\begin{quote} % \cmd\clearpage\cmd\onecolumngrid<vertical mode material>\cmd\twocolumngrid. %\end{quote} % \begin{macrocode} \let\@topnewpage\@undefined % \end{macrocode} % % If your document class descends from one of \LaTeX's standard classes.dtx-derived % classes, it will break. You must expunge from it all such commands. % % \begin{macrocode} \def\open@column@mlt#1{% \gdef\thepagegrid{mlt}% \global\pagegrid@col#1% \global\pagegrid@cur\@ne \set@column@hsize\pagegrid@col \set@colht %\set@colroom }% % \end{macrocode} % % The procedure \cmd\shut@column@mlt\ ends the current column, balances the columns, and % salts away all in \cmd\pagesofar. Because it is called in a message handler, % we are assured that marks are handled properly. % Attention: because this procedure balances columns, all footnotes are % held aside in \cmd\footbox\ for placement at the bottom of the page. % % Bug note: the last macro executed by this procedure is \cmd\set@colht, but had been erroneously \cmd\set@colroom. % I now believe that the latter should be changed pretty much everywhere to the former. % \begin{macrocode} \def\shut@column@mlt{% \@cclv@nontrivial@sw{% \@makecol \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox \global\advance\pagegrid@cur\@ne }{}% }{% {\setbox\z@\box\@cclv}% }% \@ifnum{\pagegrid@cur>\@ne}{% \csname balance@\the\pagegrid@col\endcsname \grid@column{}% \@combinepage \@combinedblfloats \global\setbox\pagesofar\box\@outputbox }{}% \set@colht }% % \end{macrocode} % % The procedure \cmd\float@column@mlt\ takes care of a float page that has been built by \cmd\@tryfcolumn, % in the multi-column page grid. % \begin{macrocode} \def\float@column@mlt{% \@combinepage \@combinedblfloats \@outputpage \global\pagegrid@cur\@ne \protect@penalty\do@startpage@pen }% % \end{macrocode} % % The procedure \cmd\end@column@mlt\ is executed at the end of \cmd\clearpage\ processing, % if we were in a multi-column page grid, once all permissive float pages have been shipped out. % If no floats are committed and if no columns are yet filled, we have nothing to do. % Otherwise, we kick out a column and try again. % % Note that in our code to kick out a column, we must deal properly with the case where the column % is trivial: it will have nothing but \cmd\topskip\ glue plus a protection box. We substitute an ordinary % \cmd\null\ for the protection box. % % \begin{macrocode} \def\end@column@mlt{% \@ifx@empty\@toplist{% \@ifx@empty\@botlist{% \@ifx@empty\@dbltoplist{% \@ifx@empty\@deferlist{% \@ifnum{\pagegrid@cur=\@ne}{% \false@sw }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% }{% \true@sw }% % true = kick out a column and try again {% \@cclv@nontrivial@sw{% \unvbox\@cclv\setbox\z@\lastbox }{% \unvbox\@cclv\setbox\z@\lastbox\unskip\null }% \protect@penalty\do@newpage@pen \protect@penalty\do@endpage@pen }{% \unvbox\@cclv\setbox\z@\lastbox }% }% % \end{macrocode} % The procedure \cmd\output@column@mlt (cf. \cmd\output@column@one) % is dispatched from the output routine when % we have completed a column in a multi-column page grid). % (It replaces the \cmd\@outputdblcol\ of standard \LaTeX.) % If a complete set of columns is at hand, it ships out the page and % lays down an interrupt for \cmd\do@startpage@pen, which will commit the % full-page-width floats to the next page. % Like \cmd\output@column@mlt, this is followed by % an output routine message to prepare a new column. % \begin{macrocode} \def\output@column@mlt{% \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\global\expandafter\setbox\csname col@\the\pagegrid@cur\endcsname\box\@outputbox \global\advance\pagegrid@cur\@ne }{% \set@adj@colht\dimen@ % \advance\dimen@-\topskip \grid@column{}%{\dimen@}% \@combinepage \@combinedblfloats \@outputpage \global\pagegrid@cur\@ne \protect@penalty\do@startpage@pen }% }% % \end{macrocode} % The procedure \cmd\output@column@mlt\ obsoletes \LaTeX's \cmd\@outputdblcol % \begin{macrocode} \let\@outputdblcol\@undefined % \end{macrocode} % % The following procedure yields a Boolean value; it determines whether a float in the deferred queue % is appropriate for placement in the column. In the multi-column grid, only those narrower than \cmd\textwidth\ are so. % \begin{macrocode} \def\@floatselect@sw@mlt#1{\@if@notdblfloat{#1}}% % \end{macrocode} % % The following procedure determines which side of the page a marginpar will appear. % It reproduces the behavior of standard \LaTeX. % \begin{macrocode} \def\@addmarginpar@mlt{% emits a boolean \@ifnum{\pagegrid@cur=\@ne}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \subsubsection{Page grid utility procedures} % % \begin{macro}{\pagegrid@cur} % \begin{macro}{\pagegrid@col} % \begin{macro}{\col@} % \begin{macro}{\pagegrid@init} % We take over \LaTeX's \cmd\col@number\ and \cmd\@leftcolumn, which are obsolete. % We create two counters to hold the columns in the page grid and the current column within. % We also create the first of a set of box registers to hold the committted columns. % \begin{macrocode} \let\pagegrid@cur\col@number \let\col@number\@undefined \newcount\pagegrid@col \pagegrid@cur\@ne \expandafter\let\csname col@\the\pagegrid@cur\endcsname\@leftcolumn \let\@leftcolumn\@undefined % \end{macrocode} % % The default is for maximum two columns. % If your class will require more columns, assign that number to \cmd\pagegrid@col\ % before \envb{document} time. % \begin{macrocode} \pagegrid@col\tw@ % \end{macrocode} % % The procedure \cmd\pagegrid@init\ exercises \cmd\newbox\ sufficiently to create the % boxes for holding the columns in the page grid. % \begin{macrocode} \def\pagegrid@init{% \advance\pagegrid@cur\@ne \@ifnum{\pagegrid@cur<\pagegrid@col}{% \csname newbox\expandafter\endcsname\csname col@\the\pagegrid@cur\endcsname \pagegrid@init }{% }% }% \appdef\class@documenthook{% \pagegrid@init }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\grid@column} % The procedure \cmd\grid@column\ knows how to lay up the columns in a multi-column page grid. % It uses utility procedures \cmd\append@column\ and \cmd\box@column. % % \begin{macrocode} \def\grid@column#1{% \global\setbox\@outputbox\vbox{% \hb@xt@\textwidth{% \vrule\@height\z@\@width\z@\@if@empty{#1}{}{\@depth#1}% \pagegrid@cur\@ne \append@column \box@column\@outputbox }% \vskip\z@skip % FIXME: page depth! }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\append@column} % \begin{macro}{\box@column} % \begin{macro}{\marry@baselines} % The procedure \cmd\append@column\ appends columns for \cmd\grid@column, % \cmd\box@column\ builds the columns for \cmd\append@column, % and \cmd\marry@baselines\ pastes vertical things back together. % \changes{v4.0rc1}{2001/06/18} % {Introoduce \cs{marry@height} } % % Note that \cmd\box@column\ makes an attempt to prevent excessive \cmd\topskip\ % or \cmd\baselineskip\ glue % from being applied by \TeX\ when \cmd\@outputbox\ is contributed to the MVL. % If this is not done, it is possible to get into an infinite loop in the corner case, % wherein the page grid is changed to one column and the balanced-up columns are % already sufficient to fill the page. % % Note (AO 0920): I have changed the dimension involved with \cmd\box@column\ from % \cmd\vsize\ to \cmd\textheight, because the former is certainly not the correct value % to use: it will change if floats have been placed in the last column of the page. % I believe \cmd\textheight\ is the correct parameter to use here. % % A REVTeX4 beta user, Sergey Strelkov (strelkov@maik.rssi.ru), wants the option % of ragged-bottom columns. Implementing this feature properly means reboxing the % columns to their natural height only if \cmd\raggedcolumn@sw\ is true. % Otherwise, they get reboxed to their common height (\cmd\@colht?). % % Note that the default has hereby changed from ragged to flush. % It's not clear that anyone but Sergey will notice. % % The macro \cmd\marry@skip\ addresses (in a limited way) % the fact that neither the value of \cmd\baselineskip\ nor that of \cmd\topskip\ % can be relied upon for the purpose of marrying the baselines of two split columns. % (Because there might have been a local change to their values at the point where % the output routine got triggered.) % % For best results, your document class should call for grid changes only when in basal text % settings. The \cmd\marry@baselines\ procedure will use the values appropriate to that point % when attempting to put the columns back together. % % In any case, we are not attempting to solve the more general problem of how to marry baselines % where the leading can change arbitrarily within the galley or where glue could have been trimmed % at a page top. % \begin{macrocode} \def\append@column{% \@ifnum{\pagegrid@cur<\pagegrid@col}{% \expandafter\box@column\csname col@\the\pagegrid@cur\endcsname \hfil \vrule \@width\columnseprule \hfil \advance\pagegrid@cur\@ne \append@column }{% }% }% \def\box@column#1{% \raise\topskip \hb@xt@\columnwidth{% \dimen@\ht#1\@ifdim{\dimen@>\@colht}{\dimen@\@colht}{}% % \advance\dimen@-\topskip \count@\vbadness\vbadness\@M \dimen@ii\vfuzz\vfuzz\maxdimen \outputdebug@sw{\saythe\@colht\saythe\dimen@}{}% \vtop to\dimen@ % \@ifdim{\ht#1>\textheight}{to\textheight}{}% {\hrule\@height\z@ \unvbox#1% \raggedcolumn@skip }% \vfuzz\dimen@ii \vbadness\count@ \hss }% }% \def\marry@baselines{% %{\tracingall\scrollmode\showlists}% %\skip@\baselineskip\advance\skip@-\topskip %FIXME: cannot assume \baselineskip nor \topskip \vskip\marry@skip\relax }% \gdef\marry@skip{\z@skip}% \def\set@marry@skip{% \begingroup \skip@\baselineskip\advance\skip@-\topskip \@ifdim{\skip@>\z@}{% \xdef\marry@skip{\the\skip@}% }{}% \endgroup }% \AtBeginDocument{% \@ifxundefined\raggedcolumn@sw{\@booleanfalse\raggedcolumn@sw}{}% }% \def\raggedcolumn@skip{% \vskip\z@\raggedcolumn@sw{\@plus.0001fil\@minus.0001fil}{}\relax }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@combinepage} % The procedure \cmd\@combinepage\ prepends the stored page to \cmd\@outputbox. % \begin{macrocode} \def\@combinepage{% \@ifvoid\pagesofar{}{% \setbox\@outputbox\vbox{% \unvbox\pagesofar \marry@baselines \unvbox\@outputbox }% }% \@ifvoid\footbox{}{% \setbox\@outputbox\vbox{% \unvbox\@outputbox \marry@baselines \unvbox\footbox }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@combinedblfloats} % We modify \LaTeX's \cmd\@combinedblfloats\ to be more appropriate for incremental page building: % we \cmd\unvbox\ the \cmd\@outputbox. % \begin{macrocode} \def\@combinedblfloats{% \@ifx@empty\@dbltoplist{}{% \setbox\@tempboxa\vbox{}% \let\@elt\@comdblflelt\@dbltoplist \let\@elt\relax\xdef\@freelist{\@freelist\@dbltoplist}% \global\let\@dbltoplist\@empty \setbox\@outputbox\vbox{% %\boxmaxdepth\maxdepth %% probably not needed, CAR \unvbox\@tempboxa\unskip \@ifnum{\@dbltopnum>\m@ne}{\dblfigrule}{}%FIXME: how is \@dbltopnum maintained? \vskip\dbltextfloatsep \unvbox\@outputbox }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\set@column@hsize}% % The procedure \cmd\set@column@hsize\ takes care of setting up the horizontal dimensions % for the current page grid. The present routine will certainly not be adequate for more % complex page layouts (e.g., with a side column), but works for the common ones. % \changes{v4.0rc1}{2001/06/18} % {Introoduce \cs{set@marry@height} } % \begin{macrocode} \def\set@column@hsize#1{% \pagegrid@col#1% \global\columnwidth\textwidth \global\advance\columnwidth\columnsep \global\divide\columnwidth\pagegrid@col \global\advance\columnwidth-\columnsep \global\hsize\columnwidth \global\linewidth\columnwidth \skip@\baselineskip\advance\skip@-\topskip \@ifnum{\pagegrid@col>\@ne}{\set@marry@skip}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\set@colht}% % \begin{macro}{\set@colroom}% % \begin{macro}{\set@vsize}% % \begin{macro}{\set@adj@colht}% % The story of \cmd\textheight, \cmd\@colht, \cmd\@colroom, and \cmd\vsize. % % \cmd\textheight---height of the text column. Not a running parameter, however, each time a page is % shipped out, the \cmd\textheight\ could in principle be altered. This must be done before % % \cmd\@colht---\cmd\textheight\ minus the height of any full-page-width floats. The latter are committed % only just after shipping out, and only if we are in a multicolumn page grid. % Therefore, \cmd\@colht\ should be set after a \cmd\shipout\ (by \cmd\@outputpage) and % will be adjusted when full-page-width floats are committed to the fresh page by \cmd\do@startpage. % % \cmd\@colroom---\cmd\@colht\ (adjusted by \cmd\pagesofar) minus the height of any column-width floats. % The latter are committed anywhere on the page, at which point \cmd\@colroom\ must be adjusted. % Therefore, \cmd\@colroom\ should be set (by \cmd\set@colroom) whenever a column is prepared (by ). %FIXME: committed (by \cmd\output@column@) and % will be adjusted (by \cmd\@add@float\ or \cmd\do@startcolumn) whenever a float is committted to the column. % % \cmd\vsize---\cmd\@colroom. % Therefore, \cmd\vsize\ should be set (by \cmd\set@vsize) whenever % the \cmd\@colroom\ is set (by \cmd\set@colroom) or adjusted (by \cmd\@add@float\ or \cmd\do@startcolumn) %FIXME: or when the \cmd\pagesofar\ box is changed (after invoking \cmd\open@column@). % % Question: what if there are committed floats? Footnotes? % Answer: full-page-width floats are only committed at top, and they are already reckoned with in \cmd\@colht. % Column-width committed floats are incorporated by \cmd\@makecol; footnotes need help. % % Note: FIXME: adjusting for \cmd\pagesofar\ is done at not quite the right time. I need to reexamine \cmd\set@colht, % because \cmd\@dbltoplist\ and \cmd\pagesofar\ really should be on the same footing. % Perhaps \cmd\@colht\ and \cmd\@colroom\ should both deal with their respective ``lists'' in the same way? % % These concerns will be particularly germane if we ever extend this package to deal with full-page-width floats % placed at the bottom of the page, or committed on the same page as called out. % % It occurs to me that we should ditch \cmd\set@colroom\ and only ever execute \cmd\set@colht, which sets \cmd\@colroom\ as a side effect. % If so, we can make \cmd\@colht\ take \cmd\pagesofar\ into account, as it should. Then \cmd\@colht\ will return to its % original significance as the value that \cmd\@colroom\ is set to after a column is committed. % % On the other hand, why not simply forget all this caching and (re-)calculate \cmd\vsize\ as late as possible? % Paticularly, \cmd\@colht\ is an artifact of the old way of doing things, where once it was set, it would never change. % % \begin{macrocode} \def\set@colht{% \set@adj@textheight\@colht \global\let\enlarge@colroom\@empty \set@colroom }% \def\set@adj@textheight#1{% #1\textheight \def\@elt{\adj@page#1}% \@booleantrue\firsttime@sw\@dbltoplist \let\@elt\relax %\@ifvoid\pagesofar{}{% % \advance#1-\ht\pagesofar\advance#1-\dp\pagesofar %}% \global#1#1\relax \outputdebug@sw{\saythe#1}{}% }% \def\set@colroom{% \set@adj@colht\@colroom \@if@empty\enlarge@colroom{}{% \global\advance\@colroom\enlarge@colroom\relax }% \outputdebug@sw{\saythe\@colroom}{}% \@ifdim{\@colroom>\topskip}{}{% \ltxgrid@info{Not enough room: \string\@colroom=\the\@colroom; increasing to \the\topskip}% \@colroom\topskip }% \global\@colroom\@colroom \set@vsize }% % \def\set@vsize{% \global\vsize\@colroom \outputdebug@sw{\saythe\vsize}{}% }% % \def\set@adj@colht#1{% #1\@colht \@ifvoid\pagesofar{}{% \advance#1-\ht\pagesofar\advance#1-\dp\pagesofar }% \@ifvoid\footbox{}{% \advance#1-\ht\footbox\advance#1-\dp\footbox }% \def\@elt{\adj@column#1}% \@booleantrue\firsttime@sw\@toplist \@booleantrue\firsttime@sw\@botlist \let\@elt\relax \outputdebug@sw{\saythe#1}{}% }% \def\adj@column#1#2{% \advance#1-\ht#2% \advance#1-\firsttime@sw{\textfloatsep\@booleanfalse\firsttime@sw}{\floatsep}% }% \def\adj@page#1#2{% \advance#1-\ht#2% \advance#1-\firsttime@sw{\dbltextfloatsep\@booleanfalse\firsttime@sw}{\dblfloatsep}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@outputpage}% % At the tail of \cmd\@outputpage, we set \cmd\@colht\ and the float placement parameters % (this is the one point where it is appropriate to set \cmd\@colht). % At \cmd\do@startpage\ time, we adjust \cmd\@colht's value to reflect committed % full-page-width floats. % % Note: with a correctly written output routine, a call to \cmd\@outputpage\ will inevitably be % followed by a call to \cmd\do@startpage, so these procedure calls would be unneeded. % \begin{macrocode} \appdef\@outputpage{% \set@colht % FIXME: needed? \@floatplacement % FIXME: needed? \@dblfloatplacement % FIXME: needed? }% % \end{macrocode} % \end{macro} % % \begin{macro}{balance@2} % We define procedures for balancing columns in a multicolumn layout. % For now, we define only one: a procedure for the two-column grid. % All others will simply \cmd\relax\ out. % \begin{macrocode} \@namedef{balance@2}{% \expandafter\balance@two\csname col@1\endcsname\@outputbox % Avoid a bug by preventing a restore when leaving this group \global\setbox\csname col@1\endcsname\box\csname col@1\endcsname \@ifvoid\footbox{}{% \global\setbox\footbox\vbox{% \setbox\z@\box\@tempboxa \let\recover@footins\relax \balance@two\footbox\@tempboxa \hb@xt@\textwidth{\box\footbox\hfil\box\@tempboxa}% }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\balance@two} % The procedure \cmd\balance@two\ takes two columns and balances them; in the process it removes % any footnotes that may be present to a place of safety, for later placement at the foot of the % shipped-out page. % The box register \cmd\box\cmd\@ne\ is the aggregate of all columns. % The box register \cmd\box\cmd \z@\ is the last column. % The box register \cmd\box\cmd\tw@\ is the first column. % The \cmd\dimen\ register \cmd\dimen@\ is the trial value to balance to, % initially half the height of \cmd\box\cmd\@ne. % The \cmd\dimen\ register \cmd\dimen@i\ is the increment for the next trial; % its initial value is equal to the initial value of \cmd\dimen@. % The \cmd\dimen\ register \cmd\dimen@ii\ is the difference of the heights of the two columns. % % The procedure uses a binary search for that value of \cmd\dimen@\ which is stable to within .5\cmd\p@\ and which % makes the last column be shorter than the others. % % This procedure can be extended to multiple columns simply by changing it to execute \cmd\vsplit\ multiple % times (one less than the total number of columns in the page layout) and to calculating \cmd\dimen@ii\ % to be the difference of the heights of last column and the \cmd\dimen@. % Upon termination of the search, one would excute the \cmd\vsplit s once again, this time % using the actual \cmd\col@\ box registers to store the % balanced columns, thereby clobbering their former contents. % % Bug Note: % as originally written, this macro had a bug, which is well worth avoiding under similar circumstances anywhere. % So, learn from the mistakes of others, as they say. % In trying to remove the depth of the boxes created via \cmd\vsplit\ within the \cmd\loopwhile\ control, % I originally coded % \cmd\unvbox % \cmd\z@\ % \cmd\setbox % \cmd\z@ % \cmd\lastbox\ % \cmd\dimen@ % \cmd\dp % \cmd\z@\ % \cmd\box % \cmd\z@\ % \cmd\vskip-% % \cmd\dimen@. % The error here is that the shift of the last box in the vertical list will be lost in the process. % Simply put, \cmd\setbox\cmd\z@\cmd\lastbox\ fails to retain the shift of the box node in the vertical list, % and when it is put down again via \cmd\box\cmd\z@, it will no longer have the correct shift. % % This bug affected things placed in the MVL with \cmd\moveleft, \cmd\moveright, \cmd\parshape, and % \cmd\hangindent, as well as things shifted by \TeX's primitive mechanisms. % % A superior strategy for removing the depth of the last line of the list is more expensive, but safer: % make a separate copy of the list, measure the depth of the last box as above, but then discard % the list, retaining only the value of the dimension. % % Note that this procedure will not work if the material within is excessively chunky. % A particular failure mode exists where none of the material is allocated to the last (right) column. % We detect this case and revert to unbalanced columns. % % Another failure mode is where a large chunk occurs at the beginning of the composite box. % In this case, the left column may fill up even when \cmd\dimen@\ is very small. % If this configuration leaves the left column longer than the right, then we are done, % but \cmd\dimen@\ by no means represents the height of either finished box. % % Therefore the last step in the process is to rebox the two columns to a common height determined % independently of the balancing process. % % The dimension involved is checked against the current \cmd\@colroom\ to guard against the case where % excessive material happens to fall in either column. % \begin{macrocode} \def\balance@two#1#2{% \outputdebug@sw{{\tracingall\scrollmode\showbox#1\showbox#2}}{}% \setbox\@ne\vbox{% \@ifvoid#1{}{% \unvcopy#1\recover@footins \@ifvoid#2{}{\marry@baselines}% }% \@ifvoid#2{}{% \unvcopy#2\recover@footins }% }% \dimen@\ht\@ne\divide\dimen@\tw@ \dimen@i\dimen@ \vbadness\@M \vfuzz\maxdimen \loopwhile{% \dimen@i=.5\dimen@i \outputdebug@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}% \setbox\z@\copy\@ne\setbox\tw@\vsplit\z@ to\dimen@ \setbox\z@ \vbox{% \unvcopy\z@ \setbox\z@\vbox{\unvbox\z@ \setbox\z@\lastbox\aftergroup\vskip\aftergroup-\expandafter}\the\dp\z@\relax }% \setbox\tw@\vbox{% \unvcopy\tw@ \setbox\z@\vbox{\unvbox\tw@\setbox\z@\lastbox\aftergroup\vskip\aftergroup-\expandafter}\the\dp\z@\relax }% \dimen@ii\ht\tw@\advance\dimen@ii-\ht\z@ \@ifdim{\dimen@i>.5\p@}{% \advance\dimen@\@ifdim{\dimen@ii<\z@}{}{-}\dimen@i \true@sw }{% \@ifdim{\dimen@ii<\z@}{% \advance\dimen@\tw@\dimen@i \true@sw }{% \false@sw }% }% }% \outputdebug@sw{\saythe\dimen@\saythe\dimen@i\saythe\dimen@ii}{}% \@ifdim{\ht\z@=\z@}{% \@ifdim{\ht\tw@=\z@}{% \true@sw }{% \false@sw }% }{% \true@sw }% {% }{% \ltxgrid@info{Unsatifactorily balanced columns: giving up}% \setbox\tw@\box#1% \setbox\z@ \box#2% }% \setbox\tw@\vbox{\unvbox\tw@\vskip\z@skip}% \setbox\z@ \vbox{\unvbox\z@ \vskip\z@skip}% \set@colroom \dimen@\ht\z@\@ifdim{\dimen@<\ht\tw@}{\dimen@\ht\tw@}{}% \@ifdim{\dimen@>\@colroom}{\dimen@\@colroom}{}% \outputdebug@sw{\saythe{\ht\z@}\saythe{\ht\tw@}\saythe\@colroom\saythe\dimen@}{}% \setbox#1\vbox to\dimen@{\unvbox\tw@\unskip\raggedcolumn@skip}% \setbox#2\vbox to\dimen@{\unvbox\z@ \unskip\raggedcolumn@skip}% \outputdebug@sw{{\tracingall\scrollmode\showbox#1\showbox#2}}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\recover@footins} % The procedure \cmd\recover@footins\ is the utility procedure for recovering the footnotes % from the bottom of a column. It is used when the page grid is changed, so that footnotes can be % set at the bottom of the shipped out page. % \begin{macrocode} \def\recover@footins{% \skip\z@ \lastskip\unskip \skip\@ne\lastskip\unskip \setbox\z@\lastbox \@ifvbox\z@{% \setbox\z@\vbox{% \unvbox\z@ \setbox\z@\lastbox % \outputdebug@sw{{\tracingall\showbox\lastbox}}{}% \@ifvoid\z@{}{% \global\setbox\footbox\vbox{% \unvbox\footbox \@ifvbox\z@{% \unvbox\z@ }{% \box\z@ }% }% }% }% }{}% \outputdebug@sw{{\tracingall\scrollmode\showbox\footbox}}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@begindocumenthook} % Initialization: % we initialize to the page grid named ``one''. % If the class decides to initially set type in a different grid, it % should execute these same commands, but changing the first to the appropriate procedure. % % Note that the point where this sequence is executed would be an excellent place to arrange for % floats to be committed to the first page of a document. % That is, we execute \cmd\do@startpage, which triggers \cmd\do@startcolumn. % % FIXME: it should be the job of the page grid to determine the procedure to execute at % the start of the job. Make this a hook. % \begin{macrocode} \prepdef\@begindocumenthook{% \open@column@one\@ne \set@colht \@floatplacement \@dblfloatplacement }% % \end{macrocode} % \end{macro} % % Comment: our technique of balancing columns is severely limited, because it cannot properly work % with \env{longtable}, which places material at the bottom and top of the column break. % % The proper way to handle a grid change in the middle of the page is to accumulate all the material for % an entire article (or chapter) and then assemble finished pages therefrom. This approach is fundamentally % superior for complex layouts: it corresponds to real-world workflows. % Such a scheme is an excellent subject for another \LaTeX\ package. % % % \subsection{Patches for the longtable package}% % % \LaTeX's ``required'' package \classname{longtable} (written by David P. Carlilsle), % which is part of /latex/required/tools, is incmpatible with both % \LaTeX's ``required'' package \classname{multicol} and with % \LaTeX's native \cmd\twocolumn\ capability. There is no essential reason % for this incompatability, aside from implementation details, and the % \classname{ltxgrid} package gives us the ability to lift them. % % Only four of \classname{longtable}'s procedures require rewriting: % \cmd\longtable, % \cmd\endlongtable, % \cmd\LT@start, and % \cmd\LT@end@hd@ft. % The procedure \cmd\switch@longtable\ checks against their expected meanings % and, if all is as expected, applies the patches. % In the process, we simplify things considerably and also make them more % secure. % % Why does \classname{longtable} need to access the output routine, anyway? % What it comes down to, is what happens when a pagebreak falls within a % long table. If this happens, we would like to append a row at the bottom of % the broken table and add a row at the top of the next page. % % These things can be accomodated easily by the \classname{ltxgrid} output % routine hooks. % % % \begin{macro}{\longtable} % \begin{macrocode} \def\longtable@longtable{% \par \ifx\multicols\@undefined\else\ifnum\col@number>\@ne\@twocolumntrue\fi\fi \if@twocolumn\LT@err{longtable not in 1-column mode}\@ehc\fi \begingroup \@ifnextchar[\LT@array{\LT@array[x]}% }% \def\longtable@new{% \par \@ifnextchar[\LT@array{\LT@array[x]}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\endlongtable} % \begin{macrocode} \def\endlongtable@longtable{% \crcr \noalign{% \let\LT@entry\LT@entry@chop \xdef\LT@save@row{\LT@save@row}}% \LT@echunk \LT@start \unvbox\z@ \LT@get@widths \if@filesw {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% \gdef\expandafter\noexpand \csname LT@\romannumeral\c@LT@tables\endcsname {\LT@save@row}}}% \fi \ifx\LT@save@row\LT@@save@row \else \LT@warn{Column \@width s have changed\MessageBreak in table \thetable}% \LT@final@warn \fi \endgraf\penalty -\LT@end@pen \endgroup \global\@mparbottom\z@ \pagegoal\vsize \endgraf\penalty\z@\addvspace\LTpost \ifvoid\footins\else\insert\footins{}\fi }% \def\endlongtable@new{% \crcr \noalign{% \let\LT@entry\LT@entry@chop \xdef\LT@save@row{\LT@save@row}% }% \LT@echunk \LT@start \unvbox\z@ \LT@get@widths \@if@sw\if@filesw\fi{% {% \let\LT@entry\LT@entry@write \immediate\write\@auxout{% \gdef\expandafter\noexpand\csname LT@\romannumeral\c@LT@tables\endcsname {\LT@save@row}% }% }% }{}% \@ifx\LT@save@row\LT@@save@row{}{% \LT@warn{% Column \@width s have changed\MessageBreak in table \thetable }\LT@final@warn }% \endgraf \nobreak \box\@ifvoid\LT@lastfoot{\LT@foot}{\LT@lastfoot}% \global\@mparbottom\z@ \endgraf \LT@post }% % \end{macrocode} % \end{macro} % % \begin{macro}{\LT@start} % \begin{macrocode} \def\LT@start@longtable{% \let\LT@start\endgraf \endgraf \penalty\z@ \vskip\LTpre \dimen@\pagetotal \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi \advance\dimen@ \ht\LT@foot \dimen@ii\vfuzz\vfuzz\maxdimen \setbox\tw@\copy\z@ \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox \setbox\tw@\vbox{\unvbox\tw@}% \vfuzz\dimen@ii \advance\dimen@ \ht \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi \advance\dimen@\dp \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi \advance\dimen@ -\pagegoal \ifdim \dimen@>\z@\vfil\break\fi \global\@colroom\@colht \ifvoid\LT@foot\else \advance\vsize-\ht\LT@foot \global\advance\@colroom-\ht\LT@foot \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ \maxdepth\z@ \fi \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi \output{\LT@output}% }% \def\LT@start@new{% \let\LT@start\endgraf \endgraf \markthr@@{}% \LT@pre \@ifvoid\LT@firsthead{\LT@top}{\box\LT@firsthead\nobreak}% \mark@envir{longtable}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\LT@end} % \begin{macrocode} \def\LT@end@hd@ft@longtable#1{% \LT@echunk \ifx\LT@start\endgraf \LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}% \fi \setbox#1\box\z@ \LT@get@widths\LT@bchunk }% \def\LT@end@hd@ft@new#1{% \LT@echunk \@ifx{\LT@start\endgraf}{% \LT@err{Longtable head or foot not at start of table}{Increase LTchunksize}% }% \global\setbox#1\box\z@ \LT@get@widths \LT@bchunk }% % \end{macrocode} % \end{macro} % % \begin{macro}{\LT@array} % \begin{macrocode} \def\LT@array@longtable[#1]#2{% \refstepcounter{table}\stepcounter{LT@tables}% \if l#1% \LTleft\z@ \LTright\fill \else\if r#1% \LTleft\fill \LTright\z@ \else\if c#1% \LTleft\fill \LTright\fill \fi\fi\fi \let\LT@mcol\multicolumn \let\LT@@tabarray\@tabarray \let\LT@@hl\hline \def\@tabarray{% \let\hline\LT@@hl \LT@@tabarray}% \let\\\LT@tabularcr\let\tabularnewline\\% \def\newpage{\noalign{\break}}% \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption \@tempdima\ht\strutbox \let\@endpbox\LT@endpbox \ifx\extrarowheight\@undefined \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \def\@startpbox{\vtop\LT@startpbox}% \let\@@startpbox\@startpbox \let\@@endpbox\@endpbox \let\LT@LL@FM@cr\@tabularcr \else \advance\@tempdima\extrarowheight \col@sep\tabcolsep \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr \fi \setbox\@arstrutbox\hbox{\vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@}% \let\@sharp##\let\protect\relax \begingroup \@mkpream{#2}% \xdef\LT@bchunk{% \global\advance\c@LT@chunks\@ne \global\LT@rows\z@\setbox\z@\vbox\bgroup \LT@setprevdepth \tabskip\LTleft\halign to\hsize\bgroup \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% \endgroup \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols \LT@make@row \m@th\let\par\@empty \everycr{}\lineskip\z@\baselineskip\z@ \LT@bchunk }% \def\LT@LR@l{\LTleft\z@ \LTright\fill}% \def\LT@LR@r{\LTleft\fill \LTright\z@ }% \def\LT@LR@c{\LTleft\fill \LTright\fill}% \def\LT@array@new[#1]#2{% \refstepcounter{table}\stepcounter{LT@tables}% \table@hook \LTleft\fill \LTright\fill \csname LT@LR@#1\endcsname \let\LT@mcol\multicolumn \let\LT@@hl\hline \prepdef\@tabarray{\let\hline\LT@@hl}% \let\\\LT@tabularcr \let\tabularnewline\\% \def\newpage{\noalign{\break}}% \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% \let\hline\LT@hline \let\kill\LT@kill \let\caption\LT@caption \@tempdima\ht\strutbox \let\@endpbox\LT@endpbox \@ifxundefined\extrarowheight{% \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \def\@startpbox{\vtop\LT@startpbox}% \let\@@startpbox\@startpbox \let\@@endpbox\@endpbox \let\LT@LL@FM@cr\@tabularcr }{% \advance\@tempdima\extrarowheight \col@sep\tabcolsep \let\@startpbox\LT@startpbox \let\LT@LL@FM@cr\@arraycr }% % \let\@acoll\@tabacoll \let\@acolr\@tabacolr \let\@acol\@tabacol % \setbox\@arstrutbox\hbox{% \vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@ }% \let\@sharp##% \let\protect\relax \begingroup \@mkpream{#2}% \@mkpream@relax \edef\@preamble{\@preamble}% \prepdef\@preamble{% \global\advance\c@LT@chunks\@ne \global\LT@rows\z@ \setbox\z@\vbox\bgroup \LT@setprevdepth \tabskip\LTleft \halign to\hsize\bgroup \tabskip\z@ \@arstrut }% \appdef\@preamble{% \tabskip\LTright \cr }% \global\let\LT@bchunk\@preamble \endgroup \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols \LT@make@row \m@th \let\par\@empty \everycr{}% \lineskip\z@ \baselineskip\z@ \LT@bchunk }% \appdef\table@hook{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\switch@longtable} % % Here is the switch from standard \classname{longtable} to the new, \classname{ltxgrid}-compatible values. % % At this point, we extend \env{longtable} with a \env{longtable*} form, which signifies that we want to % use the full page width for setting the table. % You can think this way: \env{longtable*} is to \env{longtable} as \env{table*} is to \env{table}. % %FIXME: the following is no longer true: %% Note that it is not enough to define the environment itself; we also have to create the corresponding %% \cmd\output\ routine procedures, which provide for continued footers and headers %% (the very feature of \env{longtable} requiring support in the output routine). % %% This same consideration would arise in defining any syntactic extension to \env{longtable}, because %% the environment name itself is exposed in the output routine. % % \begin{macrocode} \def\switch@longtable{% \@ifpackageloaded{longtable}{% \@ifx{\longtable\longtable@longtable}{% \@ifx{\endlongtable\endlongtable@longtable}{% \@ifx{\LT@start\LT@start@longtable}{% \@ifx{\LT@end@hd@ft\LT@end@hd@ft@longtable}{% \@ifx{\LT@array\LT@array@longtable}{% \true@sw }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% }{\false@sw}% {% \class@info{Patching longtable package}% }{% \class@info{Patching unrecognized longtable package. (Proceeding with fingers crossed)}% }% \let\longtable\longtable@new \let\endlongtable\endlongtable@new \let\LT@start\LT@start@new \let\LT@end@hd@ft\LT@end@hd@ft@new \let\LT@array\LT@array@new \newenvironment{longtable*}{% \onecolumngrid@push \longtable }{% \endlongtable \onecolumngrid@pop }% % \expandafter\let\csname output@init@longtable*\endcsname\output@init@longtable % \expandafter\let\csname output@prep@longtable*\endcsname\output@prep@longtable % \expandafter\let\csname output@post@longtable*\endcsname\output@post@longtable }{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\LT@pre} % \begin{macro}{\LT@bot} % \begin{macro}{\LT@top} % \begin{macro}{\LT@post} % \begin{macro}{\LT@adj} % Note that at the end of the longtable environment, we reestablish the \cmd\mark@envir\ of the % containing environment. We have left \cmd\curr@envir\ alone, so this will work. % \begin{macrocode} \def\LT@pre{\penalty\z@\vskip\LTpre}% \def\LT@bot{\nobreak\copy\LT@foot\vfil}% \def\LT@top{\copy\LT@head\nobreak}% \def\LT@post{\penalty\z@\addvspace\LTpost\mark@envir{\curr@envir}}% \def\LT@adj{% \setbox\z@\vbox{\null}\dimen@-\ht\z@ \setbox\z@\vbox{\unvbox\z@\LT@bot}\advance\dimen@\ht\z@ \global\advance\vsize-\dimen@ }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{output@init} % \begin{macro}{output@prep} % \begin{macro}{output@post} % \begin{macrocode} \def\output@init@longtable{\LT@adj}% \def\output@prep@longtable{\setbox\@cclv\vbox{\unvbox\@cclv\LT@bot}}% \def\output@post@longtable{\LT@top}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % % \subsection{Patches for index processing}% % % Another feature that uses the output routine hooks occurs within % an index, where one wishes to apply a ``continue head'' when a % column breaks within a primary index entry. % Some book designs call for the continue head to only be applied % at a turnpage break. % % In any case, it is easy enough for \cmd\output@post@theindex\ % to do this in conjunction with component marks. % Only the bare outlines are shown here. % % \begin{macro}{\output@init} % \begin{macro}{\output@prep} % \begin{macro}{\output@post} % \begin{macrocode} \let\output@init@theindex\@empty \let\output@prep@theindex\@empty \def\output@post@theindex{% \@ifodd\c@page{}{% \@ifnum{\pagegrid@cur=\@ne}{% we have the leftmost column of a verso page % insert the current top-level continued head }% }% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % % \subsection{Checking the auxiliary file}% % % We relegate the checking of the auxiliary file to the output routine. % This task must wait until the last page is shipped out, because otherwise % the stream might get closed before the last page is shipped out. % Obviously, we must use \cmd\do@output@MVL\ for the job. % % \begin{macro}{\check@aux} % \begin{macrocode} \def\check@aux{\do@output@MVL{\do@check@aux}}% % \end{macrocode} % \end{macro} % % % % \subsection{Dealing with stuck floats and stalled float dequeueing}% % % \LaTeX's float placement mechanism is fundamentally flawed, as evidenced by % its warning message ``too many unprocessed floats'', which users understandably find frustrating. % The \classname{ltxgrid} package provides tools for ameliorating the situation somewhat. % % Two cases require detection and rectification: % \begin{enumerate} % \item % A float is ``stuck'' in the \cmd\@deferlist: for whatever reason, the float fails to be committed, % even at the start of a fresh page. % Once this condition prevails, following floats can never be committed, subsequently all of \LaTeX's % float registers are used up. % % If this condition is detected, we reconsider float dequeueing under permissive (\cmd\clearpage-style) processing. % % \item % The \cmd\@freelist\ is exhausted: % a large concentration of floats, say, uses up all of \LaTeX's float registers all at once. % This condition commonly occurs when the user collects floats at the end of the document, for some reason. % % When a float is encountered, \LaTeX\ uses a float register (allocated from a pool of free registers) to contain it until it can be placed. % However, no further action is taken until the pagebuilder is visited, so floats can accumulate. % Also, even after the pagebuilder is visited, deferred floats can accumulate, and these are not committed % until a column (or page) of text is completed. % % Once the last free float register is used, action should be taken that will commit some of the deferred floats, % even if this might require ending the page right where we are (resulting in a short page). % % Perhaps, committed floats should be stored using some mechanism other than a list, as is currently done. % A feasible alternative storage method would be to use a \cmd\box\ register in place of % \cmd\@toplist, % \cmd\@botlist, and % \cmd\@dbltoplist. % This is probably just fine, since such committed floats are not reconsidered (I think). % % \end{enumerate} % % The emergency processing implemented here immediately ends the current page and begins to output float pages under (\cmd\clearpage-style) rules. % It proceeds until all deferred floats have been flushed. % % Users should expect non-optimal page makeup under these circumstances. % % Note that there is a weakness in our approach that we have not attempted to repair: if floats are being % added as part of a paragraph, we will not be able to take these remedial steps until the paragraph ends. % This means that the approach implemented here cannot fix all \LaTeX\ documents. Users can still construct % documents that exhaust \LaTeX's pool of float registers! % % \begin{macro}{\check@deferlist@stuck} % \begin{macro}{\@outputpage} % We detect the case where, at the start of a fresh page, there are deferred floats, but none are % committed. We memorize the \cmd\@deferlist\ at \cmd\shipout\ time, then examine it at the point where % our efforts to commit floats to the new page are complete. % If it has not changed, the first float must be stuck, and we % attempt to fix things via \cmd\force@deferlist@stuck. % % This simple approach is comp[letely effective in for typical documents. % % Note that we try to avoid an infinite loop by examining the value of \cmd\clearpage@sw: % if we come here with that boolean true, we are in a loop. % \begin{macrocode} \def\check@deferlist@stuck#1{% \@ifx{\@deferlist@postshipout\@empty}{}{% \@ifx{\@deferlist@postshipout\@deferlist}{% \@fltstk \clearpage@sw{% \ltxgrid@warn{Deferred float stuck during \string\clearpage\space processing}% }{% \force@deferlist@stuck#1% }% }{% %Successfully committed float(s) }% \global\let\@deferlist@postshipout\@empty }% }% \def\@fltstk{% \@latex@warning{A float is stuck (cannot be placed without \string\clearpage)}% }% \appdef\@outputpage{% \global\let\@deferlist@postshipout\@deferlist }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@next} % \begin{macro}{\@xnext} % We rewrite the \LaTeX\ kernel macros that dequeue float registers from, e.g., \cmd\@deferlist, % providing a test for the condition where the pool of free registers is about to underflow. % % In this case, we attempt to fix things via \cmd\force@deferlist@empty. % \begin{macrocode} \def\@next#1#2{% \@ifx{#2\@empty}{\false@sw}{% \expandafter\@xnext#2\@@#1#2% \true@sw }% }% \def\@xnext\@elt#1#2\@@#3#4{% \def#3{#1}% \gdef#4{#2}% \def\@tempa{#4}\def\@tempb{\@freelist}% \@ifx{\@tempa\@tempb}{% \@ifx{#4\@empty}{% \force@deferlist@empty%{Float register pool exhausted}% }{}% }{}% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\force@deferlist@stuck} % \begin{macro}{\force@deferlist@empty} % \begin{macro}{\force@deferlist@sw} % \begin{macro}{\do@forcecolumn@pen} % \begin{macro}{\do@forcecolumn} % The procedure \cmd\force@deferlist@empty\ is an attempt to rectify a situation where \LaTeX's float placement mechanism % may fail (``too many unprocessed floats''). % % We put down interrupts that call for the float placement to be redone, but under permissive conditions, % just the same as if \cmd\clearpage\ had been invoked. % % Note that the attempt to rectify the error is contingent on the setting of \cmd\force@deferlist@sw, % default false. A document class using this package that wishes to enable this error recovery mechanism should % set this boolean to true. % % The interrupt \cmd\do@forcecolumn@pen, which invokes the procedure \cmd\do@forcecolumn, % does the same as \cmd\do@startcolumn, except under permissive conditions: % we are trying to empty out the float registers completely. % % In order to properly with the case where there is material in \cmd\box\cmd\@cclv, % \cmd\@toplist, \cmd\@botlist, \cmd\@dbltoplist, etc, % we do what amounts to \cmd\newpage\ to get things rolling. % % In \cmd\force@deferlist@stuck, we take advantage of already being in the output routine: % simply reinvoke \cmd\do@startcolumn\ under permissive conditions. % % \begin{macrocode} \def\force@deferlist@stuck#1{% \force@deferlist@sw{% \@booleantrue\clearpage@sw \@booleantrue\forcefloats@sw #1% }{% }% }% \def\force@deferlist@empty{% \force@deferlist@sw{% % \ltxgrid@info{#1, attempting rectification}% \penalty-\pagebreak@pen \protect@penalty\do@forcecolumn@pen }{% % \ltxgrid@info{#1}% }% }% \@booleanfalse\force@deferlist@sw \mathchardef\do@forcecolumn@pen=10009 \@namedef{output@-\the\do@forcecolumn@pen}{\do@forcecolumn}% \def\do@forcecolumn{% \@booleantrue\clearpage@sw \@booleantrue\forcefloats@sw %\unvbox\@cclv %\vfil %\penalty-\pagebreak@pen \do@startcolumn }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % A more thorough revision of \LaTeX's float placement mechanism would involve substituting a single \cmd\box\ % register for the \cmd\@deferlist. This way, \LaTeX's ability to have latent floats would be limited by % box memory alone. % % Because only the \cmd\box\ and \cmd\count\ components of the float box register are actually used by \LaTeX, % our scheme can be accomplished if we can find a way to encode the information held in the \cmd\count\ component. % % A first-in, first-out mechanism exists, wherein a box-penalty pair is dequeued by \cmd\lastbox\cmd\lastpenalty\cmd\unpenalty\ and enqueued % by \cmd\setbox\cmd\foo=\cmd\hbox\cmd\bgroup\cmd\penalty\cmd\floatpenalty\cmd\box\cmd\floatbox\cmd\unhbox\cmd\foo\cmd\egroup. % % Note that this scheme is made possible by our change to \LaTeX's float placement mechanism, % wherein we consolidated the two \cmd\@deferlist s into one. % % \section{Support for legacy \LaTeX\ commands} % % We provide support for the \cmd\enlargethispage\ command. % % Note: using a command of this sort is questionable. % Instead, people should enlarge the entire spread. % % Timing Note: In a multicolumn page grid, the user should issue the \cmd\enlargethispage\ command % while the first column of the page is being typeset. % We provide a helpful message if the timing is wrong. % % This code can serve as a model for introducing commands that need to execute within the safety of the output routine. % We ensure that the arguments are fully expanded, then execute \cmd\do@output@MVL\ to cause an output procedure, % \cmd\@@enlargethispage, to execute. When it does execute, the MVL will be exposed. % % The \cmd\@@enlargethispage\ procedure simply adjusts the vertical dimensions of the page. % The adjustment will persist until the column is committed, at which point the page dimension % will revert to its standard value. % \begin{macrocode} \def\enlargethispage{% \@ifstar{% \@enlargethispage{}% }{% \@enlargethispage{}% }% }% \def\@enlargethispage#1#2{% \begingroup \dimen@#2\relax \edef\@tempa{#1}% \edef\@tempa{\noexpand\@@enlargethispage{\@tempa}{\the\dimen@}}% \expandafter\do@output@MVL\expandafter{\@tempa}% \endgroup }% \def\@@enlargethispage#1#2{% \def\@tempa{one}% \@ifx{\thepagegrid\@tempa}{% \true@sw }{% \def\@tempa{mlt}% \@ifx{\thepagegrid\@tempa}{% \@ifnum{\pagegrid@cur=\@ne}{% OK to adjust this page \gdef\enlarge@colroom{#2}% \true@sw }{% Can only adjust this column; give up \ltxgrid@warn{Too late to enlarge this page; move the command to the first column.}% \false@sw }% }{% Unknown page grid \ltxgrid@warn{Unable to enlarge a page of this kind.}% \false@sw }% }% {% \class@info{Enlarging page \thepage\space by #2}% \global\advance\@colroom#2\relax \set@vsize }{% % Could not adjust this page }% }% \let\enlarge@colroom\@empty % \end{macrocode} % The \cmd\@kludgeins\ insert register is now unneeded. % Ensure that packages using this mechanism break (preferrable to subtle bugs). % \begin{macrocode} \let\@kludgeins\@undefined % \end{macrocode} % % \subsubsection{Building the page for shipout} % % \begin{macro}{\@outputpage} % The procedures that build \cmd\@outputbox\ just before a page is shipped out by \cmd\@outputpage\ are: % \cmd\@makecol, % \cmd\@combinepage, and % \cmd\@combinedblfloats. % We headpatch \cmd\@outputpage\ to make the \cmd\@outputbox\ be of fixed height. % \begin{macrocode} \@booleantrue\textheight@sw \prepdef\@outputpage{% \textheight@sw{% \count@\vbadness\vbadness\@M \dimen@\vfuzz\vfuzz\maxdimen \setbox\@outputbox\vbox to\textheight{\unvbox\@outputbox}% \vfuzz\dimen@ \vbadness\count@ }{}% }% % \end{macrocode} % \end{macro} % % \subsubsection{Warning message} % % \begin{macro}{\ltxgrid@info} % \begin{macro}{\ltxgrid@warn} % Something has happened that the user might be interested in. % Print a message to the log, but only if the user selected the verbose option. % \begin{macrocode} \def\ltxgrid@info{% \ltxgrid@info@sw{\class@info}{\@gobble}% }% \@booleanfalse\ltxgrid@info@sw \def\ltxgrid@warn{% \ltxgrid@warn@sw{\class@warn}{\@gobble}% }% \@booleantrue\ltxgrid@warn@sw % \end{macrocode} % \end{macro} % \end{macro} % % \section{End of the \file{ltxgrid} {\sc docstrip} module} % Here ends the module. % \begin{macrocode} %</ltxgrid-krn> % \end{macrocode} % % \Finale % %Here ends the programmer's documentation. % \endinput % \endinput %%EOF ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/src/ltxgrid.pdf�������������������������������������������������������������������0100644�0000764�0000764�00000611031�07332604137�016445� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%PDF-1.3 5 0 obj << /S /GoTo /D (section.1) >> endobj 8 0 obj (Processing Instructions) endobj 9 0 obj << /S /GoTo /D (subsection.1.1) >> endobj 12 0 obj (Build Instructions) endobj 13 0 obj << /S /GoTo /D (subsection.1.2) >> endobj 16 0 obj (Bill of Materials) endobj 17 0 obj << /S /GoTo /D (subsubsection.1.2.1) >> endobj 20 0 obj (Primary Source) endobj 21 0 obj << /S /GoTo /D (subsubsection.1.2.2) >> endobj 24 0 obj (Generated by latex ltxgrid.dtx) endobj 25 0 obj << /S /GoTo /D (subsubsection.1.2.3) >> endobj 28 0 obj (Generated by tex ltxgrid.ins) endobj 29 0 obj << /S /GoTo /D (subsubsection.1.2.4) >> endobj 32 0 obj (Documentation) endobj 33 0 obj << /S /GoTo /D (subsubsection.1.2.5) >> endobj 36 0 obj (Auxiliary) endobj 37 0 obj << /S /GoTo /D (section.2) >> endobj 40 0 obj (Code common to all modules) endobj 41 0 obj << /S /GoTo /D (section.3) >> endobj 44 0 obj (The driver module doc) endobj 45 0 obj << /S /GoTo /D (subsection.3.1) >> endobj 48 0 obj (The Preamble) endobj 49 0 obj << /S /GoTo /D (subsubsection.3.1.1) >> endobj 52 0 obj (Docstrip and info directives) endobj 53 0 obj << /S /GoTo /D (subsection.3.2) >> endobj 56 0 obj (The installer file) endobj 57 0 obj << /S /GoTo /D (subsection.3.3) >> endobj 60 0 obj (The ``Read Me'' File) endobj 61 0 obj << /S /GoTo /D (subsection.3.4) >> endobj 64 0 obj (The Document Body) endobj 65 0 obj << /S /GoTo /D (section.4) >> endobj 68 0 obj (Using this package) endobj 69 0 obj << /S /GoTo /D (subsection.4.1) >> endobj 72 0 obj (Invoking the package) endobj 73 0 obj << /S /GoTo /D (subsection.4.2) >> endobj 76 0 obj (Changing the page grid) endobj 77 0 obj << /S /GoTo /D (subsection.4.3) >> endobj 80 0 obj (Changing the MVL) endobj 81 0 obj << /S /GoTo /D (section.5) >> endobj 84 0 obj (Compatability with LaTeX's Required Packages) endobj 85 0 obj << /S /GoTo /D (subsection.5.1) >> endobj 88 0 obj (ftnright) endobj 89 0 obj << /S /GoTo /D (subsection.5.2) >> endobj 92 0 obj (longtable) endobj 93 0 obj << /S /GoTo /D (subsection.5.3) >> endobj 96 0 obj (multicol) endobj 97 0 obj << /S /GoTo /D (subsection.5.4) >> endobj 100 0 obj (ltxgrid) endobj 101 0 obj << /S /GoTo /D (section.6) >> endobj 104 0 obj (How ltxgrid places footnotes) endobj 105 0 obj << /S /GoTo /D (section.7) >> endobj 108 0 obj (Limitations in ltxgrid's default column balancing method) endobj 109 0 obj << /S /GoTo /D (section.8) >> endobj 112 0 obj (Implementation of package) endobj 113 0 obj << /S /GoTo /D (subsection.8.1) >> endobj 116 0 obj (Beginning of the ltxgrid docstrip module) endobj 117 0 obj << /S /GoTo /D (subsection.8.2) >> endobj 120 0 obj (Banner) endobj 121 0 obj << /S /GoTo /D (subsection.8.3) >> endobj 124 0 obj (Sundry) endobj 125 0 obj << /S /GoTo /D (subsection.8.4) >> endobj 128 0 obj (Mark Components) endobj 129 0 obj << /S /GoTo /D (subsubsection.8.4.1) >> endobj 132 0 obj (Procedures that expose the component data structure) endobj 133 0 obj << /S /GoTo /D (subsubsection.8.4.2) >> endobj 136 0 obj (Procedures that do not expose the component data structure) endobj 137 0 obj << /S /GoTo /D (subsubsection.8.4.3) >> endobj 140 0 obj (Using mark components) endobj 141 0 obj << /S /GoTo /D (subsection.8.5) >> endobj 144 0 obj (Output Super-routine) endobj 145 0 obj << /S /GoTo /D (subsection.8.6) >> endobj 148 0 obj (Further thoughts about inserts) endobj 149 0 obj << /S /GoTo /D (subsection.8.7) >> endobj 152 0 obj (Natural output routine) endobj 153 0 obj << /S /GoTo /D (subsection.8.8) >> endobj 156 0 obj (Float placement) endobj 157 0 obj << /S /GoTo /D (subsection.8.9) >> endobj 160 0 obj (Clearing pages) endobj 161 0 obj << /S /GoTo /D (subsection.8.10) >> endobj 164 0 obj (Other interfaces to LaTeX) endobj 165 0 obj << /S /GoTo /D (subsection.8.11) >> endobj 168 0 obj (One-off output routines) endobj 169 0 obj << /S /GoTo /D (subsection.8.12) >> endobj 172 0 obj (Output messages) endobj 173 0 obj << /S /GoTo /D (subsection.8.13) >> endobj 176 0 obj (Messages to alter the page grid) endobj 177 0 obj << /S /GoTo /D (subsection.8.14) >> endobj 180 0 obj (Application Note: implementing a page grid) endobj 181 0 obj << /S /GoTo /D (subsubsection.8.14.1) >> endobj 184 0 obj (One-column page grid) endobj 185 0 obj << /S /GoTo /D (subsubsection.8.14.2) >> endobj 188 0 obj (Two-column page grid) endobj 189 0 obj << /S /GoTo /D (subsubsection.8.14.3) >> endobj 192 0 obj (Page grid utility procedures) endobj 193 0 obj << /S /GoTo /D (subsection.8.15) >> endobj 196 0 obj (Patches for the longtable package) endobj 197 0 obj << /S /GoTo /D (subsection.8.16) >> endobj 200 0 obj (Patches for index processing) endobj 201 0 obj << /S /GoTo /D (subsection.8.17) >> endobj 204 0 obj (Checking the auxiliary file) endobj 205 0 obj << /S /GoTo /D (subsection.8.18) >> endobj 208 0 obj (Dealing with stuck floats and stalled float dequeueing) endobj 209 0 obj << /S /GoTo /D (section.9) >> endobj 212 0 obj (Support for legacy LaTeX commands) endobj 213 0 obj << /S /GoTo /D (subsubsection.9.0.1) >> endobj 216 0 obj (Building the page for shipout) endobj 217 0 obj << /S /GoTo /D (subsubsection.9.0.2) >> endobj 220 0 obj (Warning message) endobj 221 0 obj << /S /GoTo /D (section.10) >> endobj 224 0 obj (End of the ltxgrid docstrip module) endobj 225 0 obj << /S /GoTo /D (section*.2) >> endobj 228 0 obj (Index) endobj 229 0 obj << /S /GoTo /D [230 0 R /Fit ] >> endobj 232 0 obj << /Length 2182 /Filter /FlateDecode >> stream xZ[s6~Уԉ /}Z7m:vSNf>",qB*EsI*Mut<c�xpsf،II 73#)qm` %6K! ZϖFxp$β@曫+x`pfW7͔bsa #N5S8#Z(&nRGG*MI3Ct&tt["z߆\05O7emdMxq|TYZ.m`fK`1,?|'D) p`}5 K-w^&Y؈#,wv U4R=jF]"$j}Yd]l0MEX0֪|%`Y2A4ԗٺͶ>ID ιzX n  u28;aᵥР<h6;K�W>}q]#z5y}רhI06Ne < U g>IЇJ/KxB J$(#pe ,١cX{eC0zyQU@Zb!DW+Ol^VQlKAHUyXIVrq|hBFSJ4՞ok؈_6[ohs\4vts4,Lw>ڻ|3T]FOAiQ1΢{� *Uh|пΓn~_Ô" ow4H( ? )sFc=,SaykWaߎ~ӸPVoB@R=SP1D(�M`! сAus"$! ]P;n+ŁQL)pȮASzS{\uT5ZLyD-zGچ7 0IocY xk\*TTˣCW/Zj37[u\$ iVu]VaZ0;H�XuF/9͎ ܢD[q(A?9c8!v'num/Y_pͭ}:o!}<н!}S[U^-ik3�+I4p>i$m21⌒cK@uX }ۄ9‹A8�64"F8qi3R7Y= g.cQ4|qјRp9obpq2$I6^=6;`u\( 2ƦSx.$QHLqR8H# 0 epS"(BbY,G:T3DAvv'FHqy&iģ1-ƍ3j"M} Y%g 6>rd op')f7fIcO~¤0Ӝ Y~:ćp^>O8y{)YUk *\W�wd\CXϩ�1T(G$l"y08u#[?<dCiY2bmNHy\҃!Gq<ey!ojsi)RWQ{J-Ke+uYa$Mڴ(c< a@ڋQrj/9$^G&lWmVޜ;V$ tkD{Tڝ5@~Tk$IqRRc:4aJǹ"ā[Ob؊holB88'?bP,判ZC?@tg1NasIks\ !s;}Yl=qg~C9$ O[tˈez?Xi9a'Or 9+}T bb>1)m0ϿY S~͇ 97+.Ib<?](d&rZglzQ^5IܼZ'zm˺6m;C`j Fv U^�xL wRdE j4_!ղ%"z&+|R87Tͭ!:# `|5j MڳnRY+<>ɑ.#|,|A3$K 1ol|~sԣ_z\endstream endobj 230 0 obj << /Type /Page /Contents 232 0 R /Resources 231 0 R /MediaBox [0 0 595.276 841.89] /Parent 263 0 R /Annots [ 241 0 R 242 0 R 246 0 R 247 0 R 248 0 R 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R ] >> endobj 241 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [324.055 512.307 499.397 523.251] /Subtype /Link /A << /Type /Action /S /URI /URI (ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxgrid...) >> >> endobj 242 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [143.731 500.352 426.67 511.295] /Subtype /Link /A << /Type /Action /S /URI /URI (ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxgrid...) >> >> endobj 246 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 360.905 259.834 371.789] /Subtype /Link /A << /S /GoTo /D (section.1) >> >> endobj 247 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 350.838 255.262 359.764] /Subtype /Link /A << /S /GoTo /D (subsection.1.1) >> >> endobj 248 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 338.882 249.443 347.809] /Subtype /Link /A << /S /GoTo /D (subsection.1.2) >> >> endobj 249 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 324.91 277.718 335.853] /Subtype /Link /A << /S /GoTo /D (subsubsection.1.2.1) >> >> endobj 250 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 312.955 372.961 323.898] /Subtype /Link /A << /S /GoTo /D (subsubsection.1.2.2) >> >> endobj 251 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 300.999 361.006 311.943] /Subtype /Link /A << /S /GoTo /D (subsubsection.1.2.3) >> >> endobj 252 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 291.062 276.891 299.988] /Subtype /Link /A << /S /GoTo /D (subsubsection.1.2.4) >> >> endobj 253 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 277.089 253.648 288.033] /Subtype /Link /A << /S /GoTo /D (subsubsection.1.2.5) >> >> endobj 254 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 257.144 283.536 266.185] /Subtype /Link /A << /S /GoTo /D (section.2) >> >> endobj 255 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 235.261 260.592 244.267] /Subtype /Link /A << /S /GoTo /D (section.3) >> >> endobj 258 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 223.316 239.192 232.242] /Subtype /Link /A << /S /GoTo /D (subsection.3.1) >> >> endobj 259 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 209.343 326.016 220.287] /Subtype /Link /A << /S /GoTo /D (subsubsection.3.1.1) >> >> endobj 260 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 199.405 248.886 208.332] /Subtype /Link /A << /S /GoTo /D (subsection.3.2) >> >> endobj 261 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 187.45 264.647 196.377] /Subtype /Link /A << /S /GoTo /D (subsection.3.3) >> >> endobj 262 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 173.478 267.148 184.421] /Subtype /Link /A << /S /GoTo /D (subsection.3.4) >> >> endobj 233 0 obj << /D [230 0 R /XYZ 144.727 740.998 null] >> endobj 234 0 obj << /D [230 0 R /XYZ 144.727 716.092 null] >> endobj 245 0 obj << /D [230 0 R /XYZ 144.727 375.618 null] >> endobj 231 0 obj << /Font << /F81 236 0 R /F84 238 0 R /F86 240 0 R /F91 244 0 R /F93 257 0 R >> /ProcSet [ /PDF /Text ] >> endobj 266 0 obj << /Length 2142 /Filter /FlateDecode >> stream x\ߓ۶~Bor}'u'N<LZISBwI%:΢s֍gx"D.>& pNU=b,67d~ۄ Fxss^ߝ3N4UNMx?b$ޕwn<ϛsƫٜ o]uU0?n^64HxT7oǏ3ƈf2 F} P:qozckHE$ᚵ2 \GAp8αw& 30\ޕZᲃ2HұpJ~(w<3^s6O]E)eAS.^:PÍe!saJ+-# I}״iE�Mʱ%ԨWǂ_2cjj޻<Lg i9v]c<PMDC:ӐD8 WN7m_R /*\ B&BFIB:\GpA8}s8!&pD1R L>#<=Gx9r =~ňQ2)@2%-{R?,#b-Fqk>#fܶF"<nF4I8ɺ&B;8nC3�Μepf~&IwF) 9$qn?書G~g0ӗMewY`يA>O{F&)Ɛܵ'8n xSq~ƈxCnx`b)ed] ]d%EPZ~6t }]yyPIdwi[3#(fd3gBn ?C0{ԎIf<LL>~>"5W~s gׄ~QJbvcamI;E4  6M2Ok*}KJilI9C.SRj"uf!KfXǮ >ag@aT1h`y.ҸK0Px8‡WĸF췶t7[8j.6;$. &P䈡IKms[ԛ$¸gZ)g<ze`FWZxStli|ά{?$5ap=f)WixJiFSY81-)Le>.j3G,F4F%5k)EeX' +H3I$ M 阮Ԫ(ӆ3mv5%Pg3 XYU&IIT(@ojE7Z*}Bх 6U(R¡BDOrɜU_%kתap TiL`S̓rIv}ZD21R< _>` **A k !VKbVA QOj1eE\ 2s7#wmQhddfs1?lb+` )1*)�c%F8fn7f VU"tɯFVt!HBKcvjeW#GVؕ9ĬBNo]tFO_9˕<D MsŨFT.[=_rLf9y8NoC,m I:&>@xiOY bGG;+ B=Lx ,QY}=UY?GӮ68f]df "Divyl0[]a}G Cn,_|lpe_emS˃<]_s4_}\7We`zX|MҬ|5 Vd"fL`":4QM$\662v}qd I{TתG!.}CF"sM ۭѵb稁tiZßw{Tl �pt/Ю, y 'ŕ^Wu`|hPA_9>@O|�Mp q  GySW Ji`8 pS*tyvt@%'3rHendstream endobj 265 0 obj << /Type /Page /Contents 266 0 R /Resources 264 0 R /MediaBox [0 0 595.276 841.89] /Parent 263 0 R /Annots [ 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R ] >> endobj 268 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 703.105 240.378 713.989] /Subtype /Link /A << /S /GoTo /D (section.4) >> >> endobj 269 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 691.021 268.752 701.964] /Subtype /Link /A << /S /GoTo /D (subsection.4.1) >> >> endobj 270 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 679.065 276.831 690.009] /Subtype /Link /A << /S /GoTo /D (subsection.4.2) >> >> endobj 271 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 667.11 261.618 678.054] /Subtype /Link /A << /S /GoTo /D (subsection.4.3) >> >> endobj 272 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 645.053 361.04 656.206] /Subtype /Link /A << /S /GoTo /D (section.5) >> >> endobj 273 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 633.237 213.469 644.181] /Subtype /Link /A << /S /GoTo /D (subsection.5.1) >> >> endobj 274 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 621.282 220.662 632.226] /Subtype /Link /A << /S /GoTo /D (subsection.5.2) >> >> endobj 275 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 611.344 216.796 620.271] /Subtype /Link /A << /S /GoTo /D (subsection.5.3) >> >> endobj 276 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 597.372 210.152 608.316] /Subtype /Link /A << /S /GoTo /D (subsection.5.4) >> >> endobj 277 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 575.584 294.305 586.468] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj 278 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 553.666 416.914 564.55] /Subtype /Link /A << /S /GoTo /D (section.7) >> >> endobj 279 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 531.748 276.891 542.632] /Subtype /Link /A << /S /GoTo /D (section.8) >> >> endobj 280 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 519.663 372.063 530.607] /Subtype /Link /A << /S /GoTo /D (subsection.8.1) >> >> endobj 281 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 509.725 212.353 518.652] /Subtype /Link /A << /S /GoTo /D (subsection.8.2) >> >> endobj 282 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 495.753 212.364 506.697] /Subtype /Link /A << /S /GoTo /D (subsection.8.3) >> >> endobj 283 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 483.798 258.022 494.741] /Subtype /Link /A << /S /GoTo /D (subsection.8.4) >> >> endobj 284 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 471.843 425.034 482.786] /Subtype /Link /A << /S /GoTo /D (subsubsection.8.4.1) >> >> endobj 285 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 459.887 452.71 470.831] /Subtype /Link /A << /S /GoTo /D (subsubsection.8.4.2) >> >> endobj 286 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 447.932 312.866 458.876] /Subtype /Link /A << /S /GoTo /D (subsubsection.8.4.3) >> >> endobj 287 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 435.977 268.333 446.921] /Subtype /Link /A << /S /GoTo /D (subsection.8.5) >> >> endobj 288 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 424.022 302.853 434.966] /Subtype /Link /A << /S /GoTo /D (subsection.8.6) >> >> endobj 289 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 412.067 272.129 423.01] /Subtype /Link /A << /S /GoTo /D (subsection.8.7) >> >> endobj 290 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 400.112 247.501 411.055] /Subtype /Link /A << /S /GoTo /D (subsection.8.8) >> >> endobj 291 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 388.156 243.068 399.1] /Subtype /Link /A << /S /GoTo /D (subsection.8.9) >> >> endobj 292 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 376.116 282.904 387.145] /Subtype /Link /A << /S /GoTo /D (subsection.8.10) >> >> endobj 293 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 364.246 277.409 375.19] /Subtype /Link /A << /S /GoTo /D (subsection.8.11) >> >> endobj 294 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 352.291 251.377 363.235] /Subtype /Link /A << /S /GoTo /D (subsection.8.12) >> >> endobj 295 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 340.336 307.256 351.279] /Subtype /Link /A << /S /GoTo /D (subsection.8.13) >> >> endobj 296 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 328.381 360.446 339.324] /Subtype /Link /A << /S /GoTo /D (subsection.8.14) >> >> endobj 297 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 316.425 305.105 327.369] /Subtype /Link /A << /S /GoTo /D (subsubsection.8.14.1) >> >> endobj 298 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 304.47 305.872 315.414] /Subtype /Link /A << /S /GoTo /D (subsubsection.8.14.2) >> >> endobj 299 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 292.515 325.717 303.459] /Subtype /Link /A << /S /GoTo /D (subsubsection.8.14.3) >> >> endobj 300 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 280.56 317.339 291.504] /Subtype /Link /A << /S /GoTo /D (subsection.8.15) >> >> endobj 301 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 268.605 297.553 279.548] /Subtype /Link /A << /S /GoTo /D (subsection.8.16) >> >> endobj 302 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 256.65 289.563 267.593] /Subtype /Link /A << /S /GoTo /D (subsection.8.17) >> >> endobj 303 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 244.694 396.929 255.638] /Subtype /Link /A << /S /GoTo /D (subsection.8.18) >> >> endobj 304 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 222.637 314.943 233.79] /Subtype /Link /A << /S /GoTo /D (section.9) >> >> endobj 305 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 210.821 332.243 221.765] /Subtype /Link /A << /S /GoTo /D (subsubsection.9.0.1) >> >> endobj 306 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 198.866 285.768 209.81] /Subtype /Link /A << /S /GoTo /D (subsubsection.9.0.2) >> >> endobj 307 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 177.691 328.278 187.962] /Subtype /Link /A << /S /GoTo /D (section.10) >> >> endobj 308 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 157.048 170.082 165.88] /Subtype /Link /A << /S /GoTo /D (section*.2) >> >> endobj 267 0 obj << /D [265 0 R /XYZ 144.727 740.998 null] >> endobj 264 0 obj << /Font << /F91 244 0 R /F81 236 0 R /F93 257 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 311 0 obj << /Length 1822 /Filter /FlateDecode >> stream xڽY[o6~ϯKYE{Z :lmXu$Beɐ$;ɲͲ"ER}9T$?:IB$DlR.zwA}.8Ie呗v _xpn“t2}˿#:8OfQSͦ3&}10eSo}6ET 3Kg~aT:/WE_UڏM"T%~ j%٘*iFgqk\ZKe۬ s/Mp*^a,<v1ݍDI2ᩄC_Og)>_Fmyn{x )S~SGyQV% ˣ= ̏BM(`@d03>$,79KؤorST,;8�,XRH<Ld! fvkUM]J:7v{3F%l],VBLn]:?܇ %s+[uܦMMl4׮42a>eeclc[is4zJEt ȑ<p $iڑ(?(h [& '`vT!XΟxά~e<ShF̎kJ_E| 10GvUIPlK]iOGaSjs6RD֯=V%<kܩ_ 8i`J)$>-\|ɞ ƥVDv׆mlw85QH`+oW'UV뭁؆ ZE޶;?xkpTS.n^o^Y.̻ Xħ$g6=9SD"!B K<h"?4mѮWkUXB4`TX[%T@=B5{ 9BVB6=Oa {@q<2*D=R!-~W@۲\YXrZ;CՁ !.2."S |j#_}N Xr}@�#ވ?&O?N|`1e3#rЀy+R_B{$.))M#ZLFv! -nnIϱUMR R/݌L3WSX0cie'썗ޅqB r!J9^1' pۨMmm#QCh1 4>VS} |j+(>.%[O&..,.ONHGnPRv!h oٱWr޸zUS[v]'`Mw\-:ѕαP },dgш�o<C3q=zBd.,\&mW/ MtKAFU1 vD*m�mۼyQ(vkU\).tow'IHͨ\!YTnMk.R -w0PUPZ,C@$r1dGgp p|v(igw{`V1$;/3?jϒiG ـCnmړ I<Vwf|n.;J a:ꐀ 1"3)Bc]񽟠1Ci>}7^zvA8۫nOPtX﹩kվa* /h<e {=I?|(:F aB/;"Gendstream endobj 310 0 obj << /Type /Page /Contents 311 0 R /Resources 309 0 R /MediaBox [0 0 595.276 841.89] /Parent 263 0 R >> endobj 312 0 obj << /D [310 0 R /XYZ 144.727 740.998 null] >> endobj 6 0 obj << /D [310 0 R /XYZ 144.727 716.092 null] >> endobj 10 0 obj << /D [310 0 R /XYZ 144.727 632.172 null] >> endobj 313 0 obj << /D [310 0 R /XYZ 144.727 583.827 null] >> endobj 314 0 obj << /D [310 0 R /XYZ 144.727 515.129 null] >> endobj 315 0 obj << /D [310 0 R /XYZ 144.727 493.807 null] >> endobj 14 0 obj << /D [310 0 R /XYZ 144.727 451.846 null] >> endobj 18 0 obj << /D [310 0 R /XYZ 144.727 405.012 null] >> endobj 22 0 obj << /D [310 0 R /XYZ 144.727 331.801 null] >> endobj 26 0 obj << /D [310 0 R /XYZ 144.727 256.545 null] >> endobj 30 0 obj << /D [310 0 R /XYZ 144.727 181.29 null] >> endobj 309 0 obj << /Font << /F91 244 0 R /F81 236 0 R /F86 240 0 R /F84 238 0 R /F93 257 0 R >> /ProcSet [ /PDF /Text ] >> endobj 318 0 obj << /Length 2093 /Filter /FlateDecode >> stream xڭXo~Ӛ|I4.!Շ�w&W2kTwfg"%V€7/Ʌ r!}_D*ZD+$^d7b [}#x"|XlE&xu"HBoޘ#r%]u-Hxre%cV/W o견*pjKt`f^?*-ou9=;:ugW_!#E TRDݹ"U #k<J +C17?E!9ȩg;8$1U=n"`*0"EQSBYoΌ">�Tg, Mx><aŨvuR..KZ/sQ`0&: v)%NYwDJqSt.]a[Rpa)~T#/nbOz@'/4㥁$n(z0F[mx 8q ݴTF7i80P$ys}`^iLYJ$\wvJ�:WDc!U(8.51,59&!A\ lLJ3YI#ZnH\[zҊ<X%9wj.KD(%`.<` l#[ 94|LϿ @ww7)�8DveX0&6o-Gp^bNݠ6� <*~x<4~$C@WR"(;>>Q lySw3<qS/2$=Wv6?_>$ r.W8@V!Mb%'Zh(okL9 n,mRvae�9_/m,+z[�u rlj×\� n:݌eGɯRy7U"/S'�4% ONBV3P�,*jiQ&aV]e|a{"s<di2F@¤ebq2MQ] ϥ\:hK=?3Hm[:S:mzRX¶p/Ev=T/|~d_ {;% 1HQr+R(d鍚QgwP[ W10}ErI\XDrmyyƔ)0ݛ׌[V8JhJS} 56 Ǭ R]9=hC87�n3D eg7mBw;i $#{^A�#7faƘip-zDc !rSBmtCRsޑo3:r2{Ý {=<v+,rجVrjɰ[$efUڝ^ܶAt|rRxN`^z̎^3|%0*5-+X4y15^Pb7␱DFi6a=%~ۂibS�Q;@&[XOx^r>$�=L 5h#q"4/r:s'<(<ѐ� 8/w/P~339қj%W*QЕŮL{XL蠷m{omakVuw*;tKt"7!`f<v%3I<鳪/C!#x Ԋ }n$Vg}M_! L|"h25j2<F p yZ>4K;:ݔ޼*%%$-j̏mJ1f#]zA;Pz F=e^YZ23*l'R+mna'3'<3wIӏÇtT/1ik4}"|ݛ49@=7mc7;7|_?1˺)3Eu~5~ V3oo^~iyU ^<7u}e~pdn@tݸ|vz^7v!(:+];SFT<�=bendstream endobj 317 0 obj << /Type /Page /Contents 318 0 R /Resources 316 0 R /MediaBox [0 0 595.276 841.89] /Parent 263 0 R >> endobj 319 0 obj << /D [317 0 R /XYZ 144.727 740.998 null] >> endobj 34 0 obj << /D [317 0 R /XYZ 144.727 716.092 null] >> endobj 38 0 obj << /D [317 0 R /XYZ 144.727 640.261 null] >> endobj 42 0 obj << /D [317 0 R /XYZ 144.727 362.563 null] >> endobj 46 0 obj << /D [317 0 R /XYZ 144.727 222.496 null] >> endobj 316 0 obj << /Font << /F91 244 0 R /F81 236 0 R /F86 240 0 R /F84 238 0 R /F93 257 0 R >> /ProcSet [ /PDF /Text ] >> endobj 322 0 obj << /Length 1808 /Filter /FlateDecode >> stream xX[oH~ϯKXg.l_6M֫1c-0NbY{ VZYs\sȄaA<DA3sgX]ρqv1$gޅg�^ hi`oW쑑Bvxwl;eeqMlDKiO4 %@_ϫ ^ d0٦1ۭѝY 1McI3.yfBXi<q#<] BVu,.)e44X΢ǔ /Y^. E%�&"Ek0 gf<\�A-Ɩkj'l}ƓxТRgG0/}p h8-EQ6Ʈhx` AxȲ}2n j|re&Sk qO \uoSY2竈+q|QQ \以79?IWtWm_یh,b X O65Fm)HBFj9p}4}%QrWp G WTI4xNZuFKT�CZy~qz'ʊ$*ljauI'ҟSrmu"?P>IT 9mbw(2K.ozž;K]e$+x�V=A^6-z0/KηIC'͆FPW'VӅZ[ub4=:Ka AH z'NDyt240 M9:4*}�Lt!8�A}4*Z2;5MЬJ+8]+aK#FcsPp.U0a]zZe8m('HLl:ȶʄ( v#dw,^i 4Ձ\GmԖCĒfAƨt<m(p̺">($QH*CU0!@,Sr54$C_ (=:}~ϮêG8DY.U#ʗ&[A#(6س ]}߸ڄ2R8A 퓌61'E;f1ezaE5e] ۵@tƣZb!Tq'?X6Pz?* uHP8+ nrv,,qJ[NmUGذRӭ.N� ge΁kyүB G 'EGL 4fQaXsٛ7nJB,ӟ-UA&3"RD.ɮD tNIyaDU-U�Y]I,\ѬC JMn~UCe<.6[^Iж~ǔ#Z[wqPGT-N׾Ewo=W(J!\Oִt'f'ɢ))Df_qhjybWF8ڲb2Q@3A|~~Rg)3h ( GO7;J{R`2ů#,v]hdIV!%mA4:Sae~}lv9ke'zdI2d#ƢklA=&,#unz3 53iYy}ngZ-ww1 7zavw{ g5|=fr3M0(ǫ,^79uAxK}Jʚz_j=C7.oxea?zGyMd P ȉ Fة&ڗ mbAhlCt} aֿFyuO}@endstream endobj 321 0 obj << /Type /Page /Contents 322 0 R /Resources 320 0 R /MediaBox [0 0 595.276 841.89] /Parent 263 0 R >> endobj 323 0 obj << /D [321 0 R /XYZ 144.727 740.998 null] >> endobj 50 0 obj << /D [321 0 R /XYZ 144.727 625.088 null] >> endobj 54 0 obj << /D [321 0 R /XYZ 144.727 524.424 null] >> endobj 320 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 326 0 obj << /Length 1989 /Filter /FlateDecode >> stream xYY~,`&<l;AV@uSRcZMdρbuP;هذ,_<oboxB7E*of C~K%,/Rh_'gEB#ee^!o*M*XyE(gY UycbiQh<p9 *ࣜ<IB:u BD.֮~g6דxi&K'8onNvtZZEWAeA$wqmچYHE K4Q5xdd4F5[B BH'i^CHu7MS~ {XRg׬~Ӹ*wF7C^vaz"{jQ�3۸qY51$Bēok¾WIϪl~M2ĨYJWoVm&$ֺw�) m1ŒOA;$N "ZZ 1F>DZ%Z@hh +s2$eT;iÄF i眃y23r&h(uCEA)VJ,Hrdb S6*.v�{g64T yk=] OO2PQDxND BP2VQyvZrx-2zzX(YD\Ђ:xH49P> 8&A]Ay~V'FP$<_†hO;e Kp9/X_R,,>jIbVfTp1W<,㔇 KX6Ag!(PVA?CAϗ,'yO"-hB[=@K@anNagPޙB{Ř(Cr>#H1o L#`M,VaiLi*^lF4;\aˊֵnp>d@ '\y >W)=0pFn,"K'[8w?{a!ROu ,8id(C(u샔,R�'Fq \+F@TA-ZUizJrF/WTփ0F|P�}1|LKK`*jk-J}X Cŝ$MxA 7�#g�A6?#1 `1$J| ^*l33)YZeG8/aw1B�52(SdL~ "Р> %-X)'w! s`"'`+)lVmŶW7m3izg3 aC] (d>j1Cͫ};ٓp*ob`l6iGZ_ڻxϗY5M}I@`?V3^ 3,H><د_Fe&4ioy۪H+4`]s_P~ղT ;?u& ґs}p`ٓC'w{tGt$yť(XPkaH\wGD/tnއ?E8N+p�>O)<a_vFҽ2wp4wӞ Nva}kqYyĮ> HLD_ˎES5Φ!#juldNxxC SֱJZV&G#4 /S3J {XJ@,'5mX+ ?Cx�ۦ 9{ʶsLpS;mC ^$=e^�vwzdZ޸paQ Q:mt/r;V)LS]s^sh\pLsieHXׂ9\Q" .hendstream endobj 325 0 obj << /Type /Page /Contents 326 0 R /Resources 324 0 R /MediaBox [0 0 595.276 841.89] /Parent 263 0 R >> endobj 327 0 obj << /D [325 0 R /XYZ 144.727 740.998 null] >> endobj 58 0 obj << /D [325 0 R /XYZ 144.727 450.298 null] >> endobj 324 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R /F90 329 0 R >> /ProcSet [ /PDF /Text ] >> endobj 332 0 obj << /Length 1679 /Filter /FlateDecode >> stream xڭY]o6}ϯc $hZ!h löJmTIG�,sx)U l6^W&4YM:K�=$܆^op 8ڈD~wUg+M7~עUQ$%^ b}}w}{LPwʌKpXKt!]aНp�澛i+~?qYTCi՝T\mj'䣓R43!+\'6&&'|0'i:Y!=8"FýL_¼''? g]״u}=ϻU5C<q~삖3B\򵄜!m+I$TD6(k1ylڊeŠUt=*ҝ ? б2t!3(K̘4lHǾ+Qs(yp<3qt>#~v qz46^55 O|;<!4_>Qʻq*h"D4!M@RЕ "%!J5s&<G;.Ϥґ @4Q04ȵ4# aL'uM<į\R$k<cijM{jƽ;LJW δʖi᣾mW7鲣k[1.1XW׵Q H[D`f\^账<2=.60w͌gPgVʦk!\႙`)NoJPWPKo-J4pA4TFDil ߻l[Kț;mP~|>\a(6u8*#=acp{VeHWXrא!^`X>*p;Uڰsj޺phe.BFޗ SaѦ ]]'g8*V,&3.}T }pus:0#ec'�1 ÄLt"h(r$PJe3Zu]=P4jQot=TSjkٕH`QQZTvmJGGvU tu5//eE.+k*a ,WhG.&bIz\W~sY*p.qrf}4]S6]#H"{zMN qރ/6E}We¸^%V=.r%ԧ1g`vӳ+ֳvv63^x?-`)Ù-X/ٟņ\s^ZX]9w(Iq!>41ԭ&v` ڽĘb<N{uD=Qے|{zJ`\u puA1;Lex%]Ҟ|**kȶ_u hd/ R9k[v4Ovv!9K 5 Wysmi0>ЗNp㺽<$%c+7n疧pv~\lƵy?QQ,'4^ \H*9Fb_H`nfxć-#$<='hJ{= wJ3L~\%ck] x֋̻,opu/KT /Az:3endstream endobj 331 0 obj << /Type /Page /Contents 332 0 R /Resources 330 0 R /MediaBox [0 0 595.276 841.89] /Parent 334 0 R >> endobj 333 0 obj << /D [331 0 R /XYZ 144.727 740.998 null] >> endobj 330 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 337 0 obj << /Length 1673 /Filter /FlateDecode >> stream xڭXmo6_/Ez+mn݊< @D;Z$ѓ&^;zKbT|9N<G'shq$I<I o.ə$y$$ ,["<ܻ&IL0I7,ZV:ֶoft*mg#[vU^s=~]i;qLmgg=ajϵ,N{_5Z`zZDnز n͵ _a?J8U=?}^Y[5jwkt]ݱvgypƙ*{U["G#JJ7?8 &]Utb, 8yoJJkm{K081gfӼ_}^, ϠSVN+:~WC6l}_mZ}ha�Q #'Lu~ł+LƢZd]#j0$4W1d[/ Ip!].,V3βJpL8yU}g^L|޹ b{B`K,W13g>I@ZtЖrWݩ~<9 ߈*+-띳<ޛ~j%d|;v\gÿW'�~s#l'L>O)rrb*_3Np3?>ݣ%?=C,[ VeQ4kڋJfV Pnc&P$X㤝K妀Rޱm_duګJ♙\.rQ(&?~?FďI('D>5^I:3l g!0nߺᘳ0zm^:[ 5ySu۟KYu1N'v&Q ȱkε uxﬡ;x $xCĎ7 gpM NuEq cRB>G..F,pL(A ᘈ_n+NZky(a;{E 9RXlA3Aobqӧ 11 o0 ~|ag)j�7!?T$/kؕC?q/AgH@F�DA/cZ`(tBC!UJ5ʶnA8mnotXC[Xqr T] �k&I){0TC!rM4#ٛ>+]4d8?D";.C .K)6 O?&fGџw<4O8w跷G$7H8kϦw+)tUCg845\Nʙ/?3LE^elz$1ƠN֯=GUnқ9O,F՚�C}Z܉y)Z5ls|r޴Hv:wHEGIq`"` 1i%]Zd2ð1 Fzi쐹o!4Mc_0WfN[R}ڦQnKc֬Cqvxs{!aOqr= Y ( KT.絪FenW8z"Ұbtt;D<S,ƿ@'L,K8endstream endobj 336 0 obj << /Type /Page /Contents 337 0 R /Resources 335 0 R /MediaBox [0 0 595.276 841.89] /Parent 334 0 R /Annots [ 341 0 R 342 0 R ] >> endobj 341 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [143.731 170.747 499.397 180.879] /Subtype /Link /A << /Type /Action /S /URI /URI (ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxutil/) >> >> endobj 342 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [143.731 159.529 193.544 168.924] /Subtype /Link /A << /Type /Action /S /URI /URI (ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxutil/) >> >> endobj 338 0 obj << /D [336 0 R /XYZ 144.727 740.998 null] >> endobj 62 0 obj << /D [336 0 R /XYZ 144.727 624.819 null] >> endobj 66 0 obj << /D [336 0 R /XYZ 144.727 502.049 null] >> endobj 70 0 obj << /D [336 0 R /XYZ 144.727 433.8 null] >> endobj 335 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R /F90 329 0 R /F114 340 0 R >> /ProcSet [ /PDF /Text ] >> endobj 345 0 obj << /Length 3025 /Filter /FlateDecode >> stream xڵZIϯ[(E'``;ȡ$P-$f(eڂEJet|U-u?u$u~'QX.)q ~u'aw|( 4{އ?$ԫ(`}WkFA9m]O|(]Ȳ֪=6 |_u+_ VvO+nܱۡݽ]PYƑRqqplT��_ .&'qL;qj36meNRSFUiے2ȴ_zllG )w\spxtzLt`[VR`׺#t=h-4r.\TD1QqX[VInChQ _fU XЙ< H)ً<\i1P۸(v̯ae (,h#:.50F[ ';n,w 7,Y=|W<N΁&kJmJG`hǡSm(D=! 9 o͵|{^#Mm0fG "5Xnb^1(yԙ}&TKqZD% N֛p"Z0E|Ul).RdNܪ"GX#Rƪ@ �3uk|m(v9x}$T'+k4<d,+p 5p�#RǂJt! ^}D汪"=5$ Jk@MP^RpOYt,(Cy([pOkAҦOV#7Uhc+?˷YХ"r쾘}st^[Lѥ6<Q{f3/vԅ:yY#Y6?{O`bφӄf\<Ed Hcx~kBH !pwA)0ȔzCԲR.J\]TW~V\Woc*{E�[(!w XSRC�Zd%|b7 :>ZGSUT\VV a9At]uSUHSd6=!$9x[`RgۡM*Ԟڜ?3ao*.vu8 8�!yáL[oW46l7F'#vrVk7'ܹiF!xJ/DA8Ɓ''jA4`ܩW ,!_o@ϊ+|0 QZ@h ϦC8(Qx b{b*"e0>8nA%_%~}e\�Qb3VSC=OBcɣqqpXu><qkws1)lA j �# =?.b-^Qpi!>{ ̩I=A~eͭC;3B$UyMŠé<. bGDNO{\m)YaLEc9ؓpֈ3􅄽dr0t\k9^'*J!F/`EvE> ,cEk`g.@;bd{@ ^(9E<^yJex^Pc^8$ڛU|R*D}k|@|!ѤR ٩Vc6Asg3<<M+t|E33cӾRS"BhQ0+7P$oH M*a'.Jm9)5j*\pD+|K1&UFs2TlęI^YBh@*Ń zZpSn:[**KQԣ9꤯ul{�]_spZ0OӷFaMtP}?XyV J/HTg˅kPDJ/V@)u .6P|=X#3^:-eJ!f+=ll,J{iw+QE{9C>N1W3qBFgܾ"/8,9.D1ޞ,녚}N5Ǝ Lk9:^qKaO '<=yB{VN7<$i<8d"Rt)<0`4񬋧QiYF0WAѶTukDDZ* quEae վt@K\,u�S_Ñ0,hC%Ľ['5O4a)PJf =bVSmh@{ǟDӸUya@cM=qoX-~ڜ`{estAUc^X-Y, XP-6r;gjH_.%LlR^G,RO \-vܲK),Jʍb=*Ox�{R, X5fuгѱh!Oc#'Gc&G7PG{A1侍De1v_l-@L=WjĜs'S0-DU꫍R{r\+S-;!h:bϔҚo^7;nUC xA=oQ:gX0%[c%ѵT/K|}P=TJ€{ƵC V) @r6HuAXASg)sSiRn-e z{)~<̕�%$x(W l+78%2pU᪵;)koeku*:3T%KКaM*CXmU A!4(V[R44kgKV*r1m䠼IHr|2endstream endobj 344 0 obj << /Type /Page /Contents 345 0 R /Resources 343 0 R /MediaBox [0 0 595.276 841.89] /Parent 334 0 R >> endobj 346 0 obj << /D [344 0 R /XYZ 144.727 740.998 null] >> endobj 74 0 obj << /D [344 0 R /XYZ 144.727 716.092 null] >> endobj 78 0 obj << /D [344 0 R /XYZ 144.727 385.815 null] >> endobj 343 0 obj << /Font << /F91 244 0 R /F81 236 0 R /F86 240 0 R /F90 329 0 R >> /ProcSet [ /PDF /Text ] >> endobj 349 0 obj << /Length 3120 /Filter /FlateDecode >> stream xڭio AP #(MӤҠhE3VV#M$jnwQG^E|GDnTYdIE~s8nN07Jh4K1:3 $ͯӛ",R}s{տNʪx<sgY& R2vASkg+C9;]{ʝ .[Ԏʶ_+y&erv{{p>Sal^/balEooAUy.HKS30Jb~m6[W\}(AI`+* TRI:0@$W.M09¼Hx)-zة($QP]lm/v{ tQ;e*81b۲q!aԌ!Ʉ﹫('9 {Hg(1|Y an۳@P N<k#l�Snz[:$w_ Vc`@y�qh*ztGa,n;@5w D~%u,3&tvk}טM ߀TziuB(ZQ,tdG/%ߩ<8yn(kAO\v-(o2Idy׬Whm$Bo&y O+ח~3D󽠳tk?nCtRMnVY�;�%ЭeU'wb+HYDuW,p@"'(}ϣ/厫$8` p%3X`Z1hpx�rT&̢+c0]עOjwUE W,AĠI?Iʉ])v`85IEpKĠ:n18 ' p vyR37Bk#QWPfҔv rW,?Hc/\H{iP)MQzU�PZ wOg0ZL00~a Gik[+ґ^X/܊rOA⸊N&#`BM Ӽ33aAVOflЧ© ^н}2mB_@tHAmiܦk$<ݙ[mwe<c4r-cX Ail]A"*Ũm5i蒣)f9T[$չQ}}BJj8`jۊ��iA_f< @Q}I-j)ɓ'3aKCL 0azn6gaLa3])tG԰ό%P" Li(=60J״"iٍMR 2݅vDIw=ZxHْ3,)|!�UvT-le_kXRRTRQYV$93$ulSv>!+Hq}VSFflT㜖Y<vcpdx N0 b+J�~8C<l㨘*?qp/'s 7~_7_Y>$E Ci)Jӊ�+.JJfeKl?S?q2۫~�hV 1λȌy_gL3A=_ʟ?D)kD|<0hC͵ 4_$? vSqD0qޣٶY.V0ә)r*$|Ӿπ![,\U #}%XlC{Mh0\TљO�$ Xo)Ț9G.cRO"ak-pG5Ww0Z%>,dV}7e[ cUD" sɲR<!?۪%"a�O;<@DIrJs�ax!ICi|atvFMH  Z)|))ʤnt1N�R&< #gxsLe)P:.B9O^8 h8$-Dk5 .3 ҕwuS򙯊F6̨l8{X@8 o~GuY0`kELvPH8d@|W !%a҂Ѐ(v HT"k(V[rF}m1ٞ8Ĺ`A 7&Z v4VB$\Nmrj*}=lCˍ*7il%SDZ vP_lPmba;n;8آe$T@v+hr`="Y[N҇ U=)n1j2sV7:vu'Y"4d�4a ?3ݢ.BDOQ`n K8͚>`^?uו/">U?R zO*”9Omb~=-U0*|Ѹ'~,CXb4::3 30O-Qs#$nwG)tkjf{M= ~_*!/+`hdS8i(~eKqf\ 8tg,,Bܬ WI Pwbòi H(LjԃE[z/.g_ XHVP" v2;ZHKj)|-[D>Xa]ۛ(Ltuǯ? Vj4$qXJ 5)B׭Tl2O*: )79Oת,@5/fB:~ֳ1^P$Z&Yj/:~FSįݨXHVz$KulA"o�_ojkf ylX,'6+t@"Tذj_d]>RpE}ȵ|ol@GR*JHHbY*s*V6vz=xbdJ4PrlkD+^"ӌ=0 mEepW.tu=UPV?.)endstream endobj 348 0 obj << /Type /Page /Contents 349 0 R /Resources 347 0 R /MediaBox [0 0 595.276 841.89] /Parent 334 0 R >> endobj 350 0 obj << /D [348 0 R /XYZ 144.727 740.998 null] >> endobj 82 0 obj << /D [348 0 R /XYZ 144.727 289.875 null] >> endobj 347 0 obj << /Font << /F86 240 0 R /F81 236 0 R /F90 329 0 R /F114 340 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 353 0 obj << /Length 3335 /Filter /FlateDecode >> stream xڽZIs_[8UC�\}sl'Ne802!9_Rh6zoHESw*LgwYEߕ I90b7 o>\aS>|niw LJ6Cs=T{1aup}FOl'঵lUFuWT0ՏMußJzaEg8K8s3e8ICvp"y~wTX$ S68dM~ůvF[0Q�릞^izhX<:~: t( թ#CL!W$15&uCy"<Pǚ;tvI8nt:OLwopI&R@Pw׻4YE]%; jZHq9;TThw4 `{'j}QVj_ñbaփ;ڑr8Ǫ*p: ܹ+{$, tG43w!fJH`z!zQ~$IuնզBŭ"MwMJ"w� _8Aȣ1*8^M|`&lG'\e‰)gdP'I=Ui;:P`o]T&}!::V8?ŧrP[)*8h=*~_ 属r:d-Z{]R}23I@"fnlem2>ʨ pZ[029 hȞ8~�Uu8 ~kaj2Me|4pG32B_3‘mȇE1 "N#@4|OS?@<(v$Q%F{$L>r\"pHP*6b."4yYI}Y<d܏3\7<fNNP[lWmCbm;Hn9!P#Dk:U}y&P'5^/5k*v{tK<nf DAyjp8 3`$8Q;X,_桫OQ'ރ }Q =º3 ]Vjw}-& U&᭤ 1$Uq+zIüXΟ*';[bطN;)tՅT5ɦF4USI2t7 ݝ Bsjw"US7O1royʄ='_iG[]v%, I-G\v$BaGr!ٵw֕[nOX) 2geGpnkR(DEqd+U9lebpfJX,\`u+o)aoX,#^Pwn*_O:f0i0+쒣b {<PjۓLxA(+ʡr6@moK/Mc_oR(](74Ggsx^&Y.eSQqՠ@&z]nVr$_jl"7=I0;\9\1'A`D}`(.Ref跌) fovg*9&XP'Tt_gk=Oh}LYeYF:h[JdMJ긚z!B<Xޢ8[ȗQ]Z62̣K x}U3d 孔4.M,FQuB8Ic+?<S;7 0ß/̅TA9<޹-G6_pwvة<x-P> DW"''nE!], _w;BjJ{QR07*xf݈)򾹚~?G@Fk4h6 WbܫQsϏ"#{ <I:Kr:iqYK }el9qEWeD&pBP7]QPE!fQX%2ԧɑʯTcx,5dU'" !iױTie@vpw䈺MTyŤIM\yRKj);LMQ;r&Քm2OW^G#'}m|ğ .ve˞'5Zdb_&ʴ4#uC1δLK-3-҉O׀ti> >|W�^ס1r8Kt-2:T40|!w_`Jl8'[Wy#9z0MGΒ" ~(G>X14qRo6N`$fa}xz…}R[1:urdl/=O^9k2]^f]˅.'6)_<`tQ \ՊsI#I<@fzs>_ȆZE h=Wq(7NtWc1'xj[7v[-M/B^ڙfw"ahcSWᮮ{}rG u <�'KX@(,W]Xo24xX;>%N*rxQȐ0DĤT8ɇX9R Y|뱈h^ח'x~rӎ¡mikOq ϼ*4oWT,U^e "@e9$؉wө #d_3^D1XXzo+_|(-/SyĔo6mpĂvtxA/CjE(hbN8+8Qjzl\k+3w/m:Y@d)\AlI]2U ]]WV:R nevEY5Pw~T@K}|G .(`HPmu:Sޏqp%!?G +}P 3?G@<2}H$^ɝQ%u<+XL\ڳQdvuWT&(ǐ2S7v[i7c,}j0֦x[uF>~|Kh=;8'ʭ8hmh#D| S@98 eDM(ن%s·ϳp򛛟g3F]q}Mꢋ#J,PQ4V+]X=︠LT{ia Bad>}p2ooBsJ<I3ޮMݵ\i/>_.Pendstream endobj 352 0 obj << /Type /Page /Contents 353 0 R /Resources 351 0 R /MediaBox [0 0 595.276 841.89] /Parent 334 0 R >> endobj 354 0 obj << /D [352 0 R /XYZ 144.727 740.998 null] >> endobj 86 0 obj << /D [352 0 R /XYZ 144.727 533.9 null] >> endobj 90 0 obj << /D [352 0 R /XYZ 144.727 283.549 null] >> endobj 351 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F90 329 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 357 0 obj << /Length 2957 /Filter /FlateDecode >> stream xڵZKϯ[X)M&HC lӶ01([mN�d"lzPĹreY<#Aɔ4KcW7at%Ӈ?R2.mtSFgy|w}<T&7]{mdzӬy[n]e>$G>'Yrc$OUm:ޑ;XQZaqՉ2R`RaϺǚ5%n #-Pplܬzݥ{xlJn`&Rr"2[-v7.AݹgY5/<2ѓmTfQuϫm*Z$׺ڳkGsۻQeWr,M˩H-}bR1;Q۾p't(.nWW O9DVn*vJIJ~3_�+p{Zi:PܶjwD'OaR'_ލQ> X]6|7ܿTGSIHƯ4_^`6u=1릑!%Iב::W/<6Z=BH{xT ,}5z?nl^DOiJvvS?`1Mޑ-F4fm51J&=/L+I3DƨD=Q"}zCpZj>Cun'dy2l`ܟæZкL6U/Kⵌ:3W3�&Př*<KY>nT$fq BR-J/}Ւ(QkGpRykl1^2%Ŵz<q;g/"gaaգHӹ.n 0*B6mJVBVD@G4MD x=3lX{Zx#n/ӸlǺud o(S?ty̐VfVnjI>ct)\WgI A9tyQ _ FhߞY|wU4; k8~t ѳ?C'RVT(<]oi'WDG&Vٝu xeoIm"*XUBqж귵_#T^RŊHظA*Xֳz!@N9E&^P.65zW(z;Y{^3BB`\($h ADCM㌸My"L]LXj˥㐅kF:6iw]ߚ+ȌC3\WY1clB3"yd\%S9$AFPVқaw ^$$8+(ՔeLr66wNƪf$$ՈF?>�9.8*FJt^<y =ӱ'B.пR }hk)fߎ+x:͉ԕ(+&@e$Km= ps 8YБ[Ap -t8 >d">@"-I6䵖i!ɫ+EwZ57>f_ _N3_^pMIKq34ARor=,l"$t_'Ό}g&d3Qel Lc"8l-!>` [0(|#u#HU%{qBRP%:03f3if]$#�נt%6z笍ճ¶ܒ͡c k0"(f; W]]@@Dn?R e@?"c*,u\* p=, >,24M LWru-@{]Pl<A6t¼.sn+7Ql YSͲmKYb0_J׎yқbqØQ@@vu#e7_9Ud32D}UIU[obRU26'jIă߰\\K{Qo�D@r2vgnSJ! dg%|qItz= t355N7^w$3K,޸V "SW\zXw8sIBI(ힶ$׉N(Z@R؂^4v3CkJ(٬ heq۾>*9 NݤmSJ:Z �LGb=#Rɤ8 <2JRhjL ܑ8*>GKǹ-˕Kox#sބJA*R*&'nϬvUT 2t㉤d/ERoҖM4V2;"HEZr&B!__Q/=jKFwt}CDgחT*4GZ~›^B5gc*-a lQq^D!1\Ɉ]g2DZ~ЛKH-MdARL)W޽j!CXI(FhObOsLGCѼ!p(aD*9+)}hWkoYA1bq78]{R)MH\$;HHY\ca`"(y SJ""UURwpﹾIIx@+D쏩�^]%S:*5@cv|:J7>b[ )%C}v#:ƣӇsbg T,ěUBB??endstream endobj 356 0 obj << /Type /Page /Contents 357 0 R /Resources 355 0 R /MediaBox [0 0 595.276 841.89] /Parent 334 0 R >> endobj 358 0 obj << /D [356 0 R /XYZ 144.727 740.998 null] >> endobj 94 0 obj << /D [356 0 R /XYZ 144.727 593.76 null] >> endobj 98 0 obj << /D [356 0 R /XYZ 144.727 451.544 null] >> endobj 102 0 obj << /D [356 0 R /XYZ 144.727 306.876 null] >> endobj 355 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R /F84 238 0 R /F93 257 0 R >> /ProcSet [ /PDF /Text ] >> endobj 361 0 obj << /Length 2878 /Filter /FlateDecode >> stream xڍYo~!Ȫ޺M䒺HChVw K→b;ڇÀECrrM�FűM~Q7U&oDIY +it~Mit'Mo oV0̽o R(e_3H[>zQ|z@rz\d~r O;gjZgTJ סʝj{^{t^g;&[X>+nu7dެU",$q0 :R[NUq BYAʶ.[{Mjݛ]wl;]mGqZG`0 g f(c;8f)t27ZU*3~*<ZrlTہ-L&"HLbu5 0MFaV4bHg|.CqeXwA;R4/GFB> աуn~lY S:jۖ Nݕ L_!zOǢݞ>I0<LU6,hk^VΞ#Bet:z&t4aVFDTe' C_ҙF5h:7ɛ-@L-R>|{=Qг2a6֣Iu<f,ȃte_n֢BgtMtOB.؊( ht:b8:Ma" .d/ q0WlIvG|1><1}6@ЬY/ZnYJn D_욬FDV߳,h>4ELduqg:<'ل-PI=bD%(�^Z 34ay!'ygp[8J1wk} dڃv {\L]NareRAND$q}9Hļ<*9up@a6 ,;N/OHie 2Q+Bb m?Tz}*䛈LA?Aib+-1OؗZrJ Up<6zk3<|86}1]nbD@`Bgۜi[R<ޙٙ0&34( 0L8keӰ$y@IkļTy?(^MhAC:;y@�EO+!ոUMٻM=:PA"QYl%^�=Z `#g-wz92!w�F2 2pk~!PLiA懱�\.HN�Ĕ,n(,QA #ƙ猼45T4.vmyX7X|EVn%JcJ`:N%8:1U/R&狂5fF2,ƣsݯizRP.lRE]r ^E<RxaXsUQ{#S@Og"Dm#Onb �'ٞqZ<4,\RN,p1 kH2"gK%c4I̒^` Ha}Gq.!^KJ]8xv̟-XqM:-ͩJbi >wIЛA'O%k\NJf;(G8l+x?F|] +6sH x@9%8>Kߜ!Q2*bd ϐQx:y~KI,ky,**r=P _%>Ώw�!:G؄60N7sB6P՟9eDɣ̾3abK<넑< L EqD8Qf't-PV!2Ukcrk^jFnG;(.ɐ**" }_>$-&uK¢.lv $'&`9'2m3�6CZHXVXRTH0:9|RK9>IL lSO7/p38ѭpMem8VNqah�r 4ͥ.\N#+*:9퇿{{<,N9^+;_߻]-K~e72 O×W~ +dt[pzX'oow]ѥ/)q.X,{(vFz)Veu-3R( #jӡvl/Z/UԀU[{_OTP5}_# 7r0 %Ȋ| ܍yG<|!T!R@@ .[`Qބ!I F]H$o|0E=`{&N_yP uNV%C+Z; uN1O!*I+B(:`V.gD,sJk Bv>R*<yqkI#[\-J+j Q~-e[ hE}< 7#ܖ y&SyŗP#$at<p0+Wl_d1VQ+�ˈ]%rW `zO]Lfs ȏ*k}W]O8=#k_~:@#v󢷸\8>OLre3q=!u oآ=P(PnMכwD�T%~ zgF)?OR Ut.UJ~ \Vĸendstream endobj 360 0 obj << /Type /Page /Contents 361 0 R /Resources 359 0 R /MediaBox [0 0 595.276 841.89] /Parent 363 0 R >> endobj 362 0 obj << /D [360 0 R /XYZ 144.727 740.998 null] >> endobj 106 0 obj << /D [360 0 R /XYZ 144.727 676.326 null] >> endobj 110 0 obj << /D [360 0 R /XYZ 144.727 293.686 null] >> endobj 114 0 obj << /D [360 0 R /XYZ 144.727 200.949 null] >> endobj 359 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R /F93 257 0 R >> /ProcSet [ /PDF /Text ] >> endobj 366 0 obj << /Length 2114 /Filter /FlateDecode >> stream xڭkvqfD=HK" ZmbeIcp(YZk(#r8<;LNK.=vP(`B�_\Q"Awo>w%p~kQ<?.f%al+yoSGEG/J\:_BWeݲ<q]9+E@^gK"%˜RoPȃ_*}P;)oe7|> >_~&0p+�A`O�Bx`w(t=H�<1E֙[fft`v&ITNC]|32@\k?5oo,MѽE3Z偠_]HwS b7릫tݤ0"ܯDH"$p"CTh *K7Y5 7G5- W[(Yw*G#xM^0&zȒiOBh-v-<Z`=]`*o!, QL'lt;l-}i^W 6N ?0z� p2 * :(ޯvV5/3}vM mٟ*RWoZ87d33CVK]BƐvoU1f0v/bt_Z㘸Q zf @lW4\~z$ƵFQ>F~?.#7e`[z&9 ߬ڵ}_hbPK<c wD2#< =mYzHR4SR?=:UYd $$*i ,6Gx÷o:ҕ :]}ªN5�ύ9eªR&M?Jw* 7&͟=0_)⃺_Jo2}(۱Wd *KlGRI:a[}Xb~]  � xh(O}Z=ihҪI{պJa*/[և.W>~|.JqBS$[쐳8K ,{Zg1|VCvķZ8@- B4 zco`vß"bd2<m,SYhM3M㦐P0Ln%ގQR/$Aֱ�C3jC#H�5``ЎJfjߞOj~3O'5H`c|R,:.a^*<#>EIlѝ  ),삹Lv5yLG.7Kp>BleN.�{5Y*5ŎNAv9d\2$CtASQƋL Sb@]C!hZ@K 6—iv=ٹkqܣ,iH3${L0pV}UВ),h;$LrP /Ap-)=v,JDM^ !+м+ %ΐ= LiqiG hr5y)JT dt]#޺Kπ?C,Ɓ{V\O=a?W;s}$K1x; sѦ9#3&_/~ky92 j;7YBO2eu%C >RU&yBiG8l2AAg.)x<)xgiG 1΄ y6_Q^B.pUI2$ TR̙Gd~�C©jם>: h4w(Pʽ-Q+_ pfpl3Q#T:EBW{}E $^Lh `"?nii|hh#G,||ԏrx'6"C7�) -$}pm҇ z0$nK[h_J|3Kdd+CvNRXxhg g;t F]x!w *ӯ7RUUfkM�<>T +SQ.krATfBgOpK }1 xGƓ _Rr,/^ |endstream endobj 365 0 obj << /Type /Page /Contents 366 0 R /Resources 364 0 R /MediaBox [0 0 595.276 841.89] /Parent 363 0 R >> endobj 367 0 obj << /D [365 0 R /XYZ 144.727 740.998 null] >> endobj 118 0 obj << /D [365 0 R /XYZ 144.727 657.585 null] >> endobj 122 0 obj << /D [365 0 R /XYZ 144.727 564.558 null] >> endobj 126 0 obj << /D [365 0 R /XYZ 144.727 331.294 null] >> endobj 364 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 370 0 obj << /Length 2159 /Filter /FlateDecode >> stream xڥZێ6}h cu!xdAX,jbK$")iQUuTy?EI!(R<l3<f$`<pcA8ADD"5kN ןE Lǝ^_h>do?:bIX*V ]Ԕ)eVE̬DAcȉd wyU7S*NUy [x|*w|("x _0%"q>fS+"mVHMSr&g.""s' jWuP'U-WaLc&_qŁضK2D2(.z5sj̠ܙkTM`5!""�dv ,$!ثI8j7d(߼b - l�.W,U%-x<uzyfoQ5Ѓ(߬qTo ,@@e U8LHA"MJiKd"(7j{ң6$zDZ]Ŏ7X˶YpiӦmpBs |A!Qp,&/ :pAe8)L) \mR=Xlo+uT e5:oL\k+M6A3#ʂWWiJsͶ[3827a +�dːZ82[ƠھVv!TvV}4,r;L8n-pTJ{>eE$9i~G% ռ$I.oRXH^mYq+B wxn}'LIJ&M|~y5�[HL`ecc/$ĉr<>ߟ~bT�1N_s `5)FqI"<;Dv- 3OiU#534uYa-?IAcYRPC댡i]A#OWe`9-\bR]Z0i8/>39Ѧ&P'w"[s?`~{ʗ'ZXi2S%MʅWxYr~=>WY$f("vjD毳E˞FE=phN?O%T1iyQAC-Io ҁe6=2fF3zjb Nfϧ!&\Dt2nQеeY l<%? "\E"= |^$oE #ۖk|e|z: Yoƾm.|+jIaXz[ǭ=t%7[7Ђ4&֐z]!4֐M-ۀnI6_opX;S7xR ;X;>VXS5j1+ 5pP¼J\Y .�%9Zc+GLј#F3IPmlRu诚ݣڠr<C9F)Q{w]л˳-mk>p&gpV'P>%<tE; R<@Agi3;2 R!X%>38pikf`¨w"`2)pPo۪ld@EY4Usq,M+?U(Kq[MST̆ ?pRVf$nWځ@*RD=WG,ày꿴wYs2r 3پ|.ON5D}io?ٗl=6= lGnzS 0֔&}/?_PET1CD.ٮQո.h9 =#^X}Jrr h)BV7X芵f_H ӎ |sZӤ'[Fȏ:Y`)6Ajf(-1O)E0WF)�3%؉A8M}`;Z+Mfj5Wip�Bus v2 ka-JUmoPD+8l10ūN}FIkKv<nP4xB$q Byvfgǽ6gTmd`goSP}[h#$F`RPO| X 'W CL{C ϛ"[endstream endobj 369 0 obj << /Type /Page /Contents 370 0 R /Resources 368 0 R /MediaBox [0 0 595.276 841.89] /Parent 363 0 R >> endobj 371 0 obj << /D [369 0 R /XYZ 144.727 740.998 null] >> endobj 130 0 obj << /D [369 0 R /XYZ 144.727 621.436 null] >> endobj 134 0 obj << /D [369 0 R /XYZ 144.727 320.19 null] >> endobj 368 0 obj << /Font << /F86 240 0 R /F81 236 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 374 0 obj << /Length 1777 /Filter /FlateDecode >> stream xڽYn6}߯0P,jkVH@[SAi[.$`3$uΦEFg!Cg,#Q$g7«_Q+}NP@{>a>6A2?ݼIg೛Y=gwx$�_2-a%>S.8OoVz�K 4$ªb~ʎ1&#k1u~xH u�׆uw@7>Sv˱!Y-O8 a~\UJ&YX YJPN->}UP7ovIc^݂zsUwЁPҁHrխk')([�W4ƨ|H]ZwI{rwdb|zюd_̈́!xkpROGI-Q 悩):0ٔ%] toҺ!dZ9Dh_| 9穝j?*SZf|(]eTl_nf]mܪL^eɣ]AZ Bw۬zZtJy.08~.V 63Ƒ˵zX wtNKZNA8yc[uu֭UBM}<$mzqK'b~0LMv�tFji Ȥ>SyIbCH0U[yLdyyjacu*U,7OȻϞj6=L'[֏$~o<t~kޑ/4Ubڽ?2#M8tIfztKB1c:h| ( V2s"VF)бD|?a){P5;�tS;=D fO8"ҿ BM.'].J cCW0,jm92t:|}8V}>NfC^$,Nkl`#/`B pesm"Ht:9D0ce-˵iaLܘ\LGT6-F h4j䦬F 5kHd|؍S? -6C3bԯsR8v~ խ{sP-%FU.NFUͿ^2¸szeq kK:H Q*s3Vvlh%e8ۃ"^ٽG}pemל(38=̥yAi!@.7 Odpyzr Nj 4Mxn' L0,]1:q4Icu;:Qi{B#* t}l/&&caRD ##ԪBwk =Ux /jxReD~J8hTCwl4]ݹlRaJv ^rl\a@W$oc<>'C 5A/10dzDCEf~I /}dZ0Z5;UŇ IdG  O,Z�,h~  y?>e]Qt>!nԼƪăbwH¡r3e?d>,M6_M|PY=Cƛ`Q#]'jg tC (2z5Ymgixq{qKw[j:BZeS= ݃#z>ޫgzuA}K  CS$H?@3jJ%|GJcendstream endobj 373 0 obj << /Type /Page /Contents 374 0 R /Resources 372 0 R /MediaBox [0 0 595.276 841.89] /Parent 363 0 R >> endobj 375 0 obj << /D [373 0 R /XYZ 144.727 740.998 null] >> endobj 138 0 obj << /D [373 0 R /XYZ 144.727 534.159 null] >> endobj 372 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 378 0 obj << /Length 3480 /Filter /FlateDecode >> stream xڵZIϯ0%KV'/8�*V0*ez{F-]jm Cq}$EEI*˓(,⮺N07,ѩ<uYkhawGZ{WPnGQ|?qU<w8ԭ/+2,3DqfQaWD]jZx:dyۉZ\!Bew sMt{ U¡~=.KDew{D2\@vi|xu`vķЃ?T0-y@Eu!ztb>Mk;vOۗIvlwm+أt;wVcuҝXw�篦zoN5e3kelr-w(RØ3{< c~REGj:&:מb2dy-et-ʠ>2]Aȝ/M}c(cXxZ\г^Gl뎛nQƝ AsDy¿;cNlRgr rVC?4q(\Μ_ ZҩqIb=/@`a .(8"{,LAd΂Qv ܤijs/G^T=F_uu+wavs6xvl3] g{;?3�~ k<\71ޓyߠutn=*P<c8|\ yTHs>6\s(uP9 o[=s$]o|yMdE~| i @Ԅ|*ho+zG&X:@ymYO�"$W+s*0 t(̜Idx <}f" IF2iZэtX/ס,LJ~qUd8ϠK&PОݡ)s�EeEÿC}|22!傝{ю<= ǩX "-wr/G߈u"/$FAOv'. oPkv~!ʞ‚`iaYRpOϴS�(r;u/8 մD2gk+{Zc+`ꋘ28~10t1,]Pdֱ5-IMp}v�c J'OG�!QWr S? KM3zP0PT%724ӭ,'}ȳ92T8 &R-Ȗw ~L(.)k=)Mpe˄稀{YyA@O̗2w0)3^ɼ "{r#1q-_n`I~T3lBJQ6*qʵpPVlLzHf7+Ӗ[Sx<^(߃HF ]f[ ΐ6u�{kf0K8c_qJ /51Xd↧/4@_XUGQ[JoU+ >1 ]'7NJ͆wH2Pwm3+ &uN@r gm%q/$aX䉣.YL'X,ttsY Psx S^՘=]*Pp^߽Y~ ^8a)iΕ:kJ+nXBga[Hn--:&I UV Hqpi&0[pzf e3Z'g|i5:nvDu:P 7)0}'UENǠ\Iuڲ ʟsz4J؆_6V>H0S +׌BDEAחOd^x褋x*tx<(y(Hy0e4g& '+1FTnu# H@%@6kH'98=Xmls BR=1QF ލfTKcg37\^E)vIϐVAkL8]k:_Pk9()Q) k{yxN}W.B% "?*&9.^ y?Оcd3dd lqL.gnQLCDV@ɯP"$`'ǶC[l,dЎxC,_k=įG0Z <=L|ý/FدoIYpOE[11j&XhP ^(MtZ.ڽ8 Rd !@4&9ҙ18hq(RZxB<vIƲ.vs0qĢaS*o*П}fRˌx& 9\;h<pmD_Q~s\Α=p`8G(JqLF}Lpu,}<JYPJ_ʌ:נ/&|<@0/81[) 4[ N;N暺|+ =L$|b܉?]k T}By!S1?}k<7#�|jbvgs_V܆G`Vx2;K2�s//@MCʢ9.[S'yiuҕUrm~Z`2( �kbI % C<0. tvH , 0}P8:9QC#{`?sxhra**@iڳWwiOe[LO锯>tp|ch#~YnP[mG~^o.UOc]Pu_3F.C}/؜Z C!'p|QÙZhpjAf%Ik1q}eL"/**E_Q(K_h+! ^?sRs<$d1Y~#A [JF1 ~HsKAE"xI ]%ʠ3[K(38,Y�s{^C "jXtNq>Qwy]x݂O 2)gMȓ˯=V[IR䷕p9?J%T9atN=2aFťɷLq1pP׆r鲟!eݹ!}x<w]/kq5jØׂ( 9X:$r0@rcRːż/u§_a?dPw1aJk䛦.8zDo ǼP[bbŇ,g6}Тr44Wnq=}a*)Ro oSR풏)}ޜ(|H&* \m{Waf˯0ϩ{Atendstream endobj 377 0 obj << /Type /Page /Contents 378 0 R /Resources 376 0 R /MediaBox [0 0 595.276 841.89] /Parent 363 0 R >> endobj 379 0 obj << /D [377 0 R /XYZ 144.727 740.998 null] >> endobj 142 0 obj << /D [377 0 R /XYZ 144.727 716.092 null] >> endobj 376 0 obj << /Font << /F91 244 0 R /F81 236 0 R /F86 240 0 R /F90 329 0 R /F114 340 0 R /F84 238 0 R >> /ProcSet [ /PDF /Text ] >> endobj 382 0 obj << /Length 1642 /Filter /FlateDecode >> stream xڝYKo60P, +VDD/B=hڦm!dHrEÇlfb*A| ΋^$8#l çdo#IirسRdK#rSfxHakh6D4;'U4x=ÙӘ5Jc tj2&GKVaZF^(㋘ YMa~Y۞v/ FJeςd#/zN%ג1G(E(AduR_q hP4k6oܶ|\J(M0FPc5Zr+6JJQn&)jyP^E0iprd fO-[cY﬜eobt7-B WGFؕ]?Y#]/!m`~ x[; 0)k"H@1dIȸ5>G֪Za128bT18@Tp|#+ #ugEG\{ޘ 'OhZ$eō(ƣ^ViMjZu eL?*|Fg th::|(KDxt4NͰ\6!H!-,8~Uv_g7Vf.\l̳@DWjNN8B⨩wQ[)zu8ʟ:z ôbHy J@waP!-X<twil>2Γ$\G(Mq0. PCy9�Y{ܻz "5x5qxAGDU$QFCMe޿{|4ĄQ Y;ͩ@Gϵ P`8kTakl* )1,!;鎑4zޗcY{e.f耓H*(ۺOdOħ~~ʹVs-ñnǶ& ^ͩTpAQ1#$ jEŮQ:-T*̴JvMShST/]D<ojYo59DwdZmچ<֧^y\^' JmIx!ޡUr8R^պNC7YH-wÕj`_gr_/[[m`coMٳ�WC3Zˎ-ɣ')V׾h՛DH:ߕiјw';}VrhaMdsށ P7 I}$ QԮ-7Y ܋uS"dD8~h􅪟ȥ,Z/*{ZZE} bg0# Yo˶gϓ qpx8:n8'ux+Ϗ`j`nb5{ /XHX_ܾ gCSQ%V/+ 9S$I=Tjx(|jظ$߱ YEW&w_ksBZN2vSv+6'}@ʮe=ic`=~pë2IɍFU?1};C endstream endobj 381 0 obj << /Type /Page /Contents 382 0 R /Resources 380 0 R /MediaBox [0 0 595.276 841.89] /Parent 363 0 R >> endobj 383 0 obj << /D [381 0 R /XYZ 144.727 740.998 null] >> endobj 380 0 obj << /Font << /F86 240 0 R /F81 236 0 R >> /ProcSet [ /PDF /Text ] >> endobj 386 0 obj << /Length 2619 /Filter /FlateDecode >> stream xڝYIK�PVDQ̥;L\H@KiYh)w=o,]]H{ TiޥQyvW>w{%$:~Fо2q16"?KrㇿaHxaOL2?O ChEBY7XndтFVm;΅{vg0` )vo*:4Wogo(Qhuʝ+ݤ(ky͚w'x͓-o!{GۙVgm. eOq+Fh73}mFήJ89}Khּ7x׻ m `GC>캕ŏ8~+ުB? ~(XsJ$:֖ߦUơq?}v-:XL/${N;*-Y!3)X3O GmƊ]58Aޯc7axC}M=uxPlna9@sn(`+ i湶yVov4z{<exp-iu[f l-EvE2(Tt5eݾz,#ӻn]v(?B16!zo!oqTއtbΚ={ |mnd%KBZӂ2IQvo_.<m-Y^[1t@[nsuy)Ka+Au^*?J<�dObg! `5ݹ18-O;W^$[rQ]!J&FJ1;l2c;x0 gj0ҏSxjd�FFYwkp-euZ,'ާa6;E;Jtx>KIIẻ K+QL~kb"W:/LAs:QAd=5@6),L+cc &үJ! e0I`n-vckX) A 1#E~ @QΣU n>AH'\nڛn;k<L&E1kDT.#N FJi _^[gرZX>H'v2O2ؽ�c;>6@)[Tm(g�}62 ^7mc\A@Qamۓ#^`~yd�Rŋ,>YRbd`qGK%h~s7`CIT%z<QyJ ŋ!WD=;P~Qo"4qz`HSe)_iq sP>/o({lJԹ0_-^ $,5v'#2) b0 -{5nK=r3W< U6"?,6+(&8l[Ӽ4 DGglfHQﮨ/~ !ǽ㋾LjXSVL _ i sN[C�ω (ⷼ C*iI‚1BRHTt5a'f#0doCS/g�dlxpQV!"'35*83h=*!ښs&N!%�#?<[fp{SsXF,&01 s$]Cx][qb<~gS#^0&FA ⲻkׁ{]WAL F<̅ CB&)ȉ00]ɽŲ\Gz NV!<a9CkuWō2Ą;=er%h+E.6ґ V(tX}:ʚC?N`&=@/#\{eG֞e?]r�~} g0kKVb)WG* وZl("<X~%!7(Nw|f[YW ɶk# r_'דw8!medv]yӶbEu# s=yB·Uwd:k%--\ O )p @u@ff7 Tr3Et �*qFTT5F{Fḹ`d1%! PV`<7-؁\ELAc]Up5i)%>31ờ+ ,hŇ?i3�s+?Xwg=s[8 R1E3nyl`i/܆K 0y ᬗgBg՚9p>!Lߔ)=WJLF|Ác8y;%IzzևW b?m� b`᭦NWh@=ב2 O\WvoYt&)F. 2"fV>˝5)NYgjtεQ,C1iy2V8 3/z$|ǠXy4] T�--Lx8=�qU}<b*1;sզ_i76s/ʏS @HIRgqO�//8gNe?;endstream endobj 385 0 obj << /Type /Page /Contents 386 0 R /Resources 384 0 R /MediaBox [0 0 595.276 841.89] /Parent 388 0 R >> endobj 387 0 obj << /D [385 0 R /XYZ 144.727 740.998 null] >> endobj 146 0 obj << /D [385 0 R /XYZ 144.727 515.23 null] >> endobj 384 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 391 0 obj << /Length 3236 /Filter /FlateDecode >> stream xڭZY~_/d`ZH.d'/ $@6Ŷ%Gxg|UEʲޙ,x}C$a<¢0a?0W6aMB4O~G?a釧gT#nUd`QnMǾ,1/H(yGA'OPnfvx6=:ujOeJZ;]/:xo=ս6|cEE2;Mci$7X/{io7* Nx[བྷm+'<1VlE=Af3F<[; N].;D`LOlIGT:06r (J:2q>S9ߤi^?1 z&(f$fhOPM4J&Y{q@ҏ?w�]ot,G%=@$XE v];8V|~RJ~+ݼMOcTm{+zo(Te:vWNs*]TP)4#X'v_X(mq,] VXMjq$.@ڀ`^L;/D?N:\RGZ mûm݋d儶q\Cu-p_E-F#Q4ڒ'g `<aC`)qPY [2|"L0|�},IeAKsb 8}E%Hj/}R6`y<j4̎5,BY*[c�\:B[ʋ2 bج[::p}6tcs,=p*I?&J0�+ <$r?P&�1H|mK,g5"f&[|r|"Df]#޽QSMǑp<umǐLU"VTVT[Wn:bJJ"ڶ|ܔ˨"Rno Ё#.R4q' @ e }i/X/DYn$H{g/0Q¶)74QAŮ3U])p(jŢ#^ˢ|qd?0WM6 ۟v$wN. �,1y^یQNک9~~z'@=3W)F8M@-K*TepG8%ˈK^2 \}6qNpG%ፓtC^7ukqw2}F1 $vNGr<=͊0ͺ~ͦu䱾<p:DiX䞶p4V ShQyv"2c { S92Ek L5~<θ rhlIdxkGݴ?5SͱFaGC"!iap4Ʋ( bBGwsB#~Z!&^#J*o1:|F~n>;/86#IJ؉h#792k v@fʸc%0sJ~ G湵ۻM�9U.?oԯ4q9._C#ssJfnog)K˨: fgL'c5Dtlvu^QXb,_eKeKM]w&cPotm^٦L4H+%wM8T|9sF$_ȑ O&&K�G[Qt,>lk)/,j=_8&!PO~ۻjDe~\)'wy4]+I<\;_FS̓ZHEyUqO ݱnէZ4.7M=Aobxk#'PfՕ3t(hh*)8_"X *kQNumiW<7א]#("yꤖ_�P8ZYC;zo05 ؕk_DitXb?i?|! _�kxs KuD⿆l~{rE>S+fK] lR4SoO-VNpkYiS-q3ߑ3ʄ)bJ #"(Ml }t_#:%? 4^ָoD. .Kٲ}{ÄxJ]NjJi*r<JK�GjܣU~_fC+.!"1p1߭dA<Qz ( iq\"wSk3~n%s]IF֠TJ|Ӂj+zFͽ:jo.l}uaZF]7T<jT$Wz1FH+qXm2ot2xr΃Ndd)D6TLq{�xN=Wh]603€㺵 8t3"1�[;g7"<e'7 ;D4.VRoG6r3 U{ $tǕ we?-<RBd3l)q“quo=~jKY\TppIc*^LT"Rr,rbUH9\ENŸVw 'I]6^'fJ8F^)gV7-g< Fj+4 1C긊&}gx)Vw${eiw;^%{3Ts:ڲy%,Lh0Ʈsy5>_F?-[8:g cĥ"R2*E5׿Fx?]{q/|J*Ul/& ?r)[y!ar` 40j݅GZC6Ag M-p%"aj_d<g@1Կ( }c=aC} Ю:ztVIYz |U?t,y)UD 9uÈt̺KM?VS_*!B.K'&: 25kRO'-|D_H!ZيS$�mWY_FF0.W=F0x?sy]m5|ZPpFSqv; 4 )2D"*`V_ Ut+ˆ ދMgYendstream endobj 390 0 obj << /Type /Page /Contents 391 0 R /Resources 389 0 R /MediaBox [0 0 595.276 841.89] /Parent 388 0 R >> endobj 392 0 obj << /D [390 0 R /XYZ 144.727 740.998 null] >> endobj 150 0 obj << /D [390 0 R /XYZ 144.727 330.747 null] >> endobj 389 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 395 0 obj << /Length 1735 /Filter /FlateDecode >> stream xڵYI6ϯ0E @ShN@K%,Y}\d6]q>p|Cd>ʲtoz͑ P0<\A�q&|2~N{%/Hx9o֚9n =)̓@o{^wՋyS"1\|AOrXy7G,1GSX]Sn؆dJxeQ^1d>YѦBWDW=H<7?> L&q1e!V$GQR/VJp$JrbY򺨚 ABQj D5t bžR>/bɚ}  ཤ_Ѣa]+Љy-}*-k\G[V%Sn| U&>磇N[m cR?N ڐ<NNRUYv* �dIZ1`jU#Wge.Q" PrBteFXy͖-Q1E%nPO@9{R7qU*:|5J{2Ziw]䐠(FU>qFx'_ƓdItݎ%IFNE)G|#X%`7㱠0nb> O_.WO ԙK ) 3vu%u2 g�Wy(XΧ@9*J9tPDXG.9zx.eBJeB` ~{ y.As /_vM)TEjR8}[R~0gji 5?|2QuIYknLɞ DzN -X8V;֊7қ? ;q|MW1]w#_g Hׂ^Ԏ3: y�O&of^״l0ŬpҾQZ._R8mEukHoYҍ%m"P@Hh<gE߲DQfWv A(# %Q #󾕓"52\vCTߔ(.ͱxz G lX D#P52KtfY0b9G�iˊʈ\>2<R�+ cUzV9T ;+״TNUc [QmҪVBBe$=k۱\T#l'=iUjSu6WWs{8Bid^sƱ8LP:T[c0m6LPR/W.)J?hbi3pcnqT(uGY}8M7e(I[&XhΓښu1:m-qUfkrwfyjlTTBڴA[9nAA cde $L d[2TD$E(щ*5[^C|_ܴj�)'bƨIk6\٢&!ogx0m LÛhuh쉕u+U(zFsk-"ӕS fd0Uo�gT] XPymcF% ").mq~?d P6aOr%!slxȚ:(+bA@VJ&n[#N@Q<%i{8=7endstream endobj 394 0 obj << /Type /Page /Contents 395 0 R /Resources 393 0 R /MediaBox [0 0 595.276 841.89] /Parent 388 0 R >> endobj 396 0 obj << /D [394 0 R /XYZ 144.727 740.998 null] >> endobj 397 0 obj << /D [394 0 R /XYZ 144.727 223.773 null] >> endobj 398 0 obj << /D [394 0 R /XYZ 144.727 204.47 null] >> endobj 399 0 obj << /D [394 0 R /XYZ 144.727 174.009 null] >> endobj 400 0 obj << /D [394 0 R /XYZ 144.727 140.087 null] >> endobj 393 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 403 0 obj << /Length 1915 /Filter /FlateDecode >> stream xY6~E jA!-Px8J#t38[CZ3͌fB' ea:IY@<7dS?~IG$I&Qe`$K5)ai2:ID]r4&q[o剌qCJYOy-uV4p JUJ7[|~,M \ڏ cN*;N8R=k.۝‹sJIǖOA0\-9]-"M>ш-`ί Ty4d$H '9e-U 4wwwű|F54 <.gjQLB&r^ ;U텲6>|F=5^zVUO}yhZ(:BMZ`<' ɋ%$~3 -dVM-fn\\}ukފ�74M;)I0Z@I#&oZ=@K3!)r"J7zmu}ftђqʈn+1{mAH$J/kԽ6uJ#0Qde(=Ȳ<ҴrlgȪ9[҄D,:S%jjH%.\QU[W0ګ"= 473tee8ぽ:4eyoCF�=CG~DPI)I3 MՇ/x>(x@VP_O|(zӀP~r ڥw}ZVbu$"'l 4TՒwykuBh,ϟ|tcdk^ ߉ 8s>!M'F;CaBX@V*wa6̏QФ}̒0C`%qe{P ~)=(8S4batX˺1;^6NGkOW8Ka\tŸ֧y50&= ϯ  j?hݖوO%op`,x PJ:mݩ�ρ20Rzy&ϐkUs/cKnhiH|z|z;T%;X4(D-eUu i [Bqc>;~/9ȓ¿qxL4fLO^ppޗ1DeE&@#0iGcqY(«4ic 78v9;3X>2_|l<恰)T^jcJeK~)#>u)0Tn~{q9=JwwsxjjY~1k-͈ %cVR"ϹoVf˫s GG)yp^8:O r@0%+oߝTGrrN%;3< l T1 YhǵfӇ,np PN㷢p:Nw=nf,]h+tYȰiVk+Ovv׊.Fvo.]c .dܜILK"GZ "-7*EVopxT 3H͓DL݊A�d8޹{Yxu)]}V. \+]_\qӕ"(䀬lb)<S [[1dDy@0mG$_n GGa5<'&_N:RzK{T.ǕXĩc&;}|.]~{'S,2[_}Ҕ^ R]j|^ñ5=?V�&]AAA` ktYܪ gf4; < endstream endobj 402 0 obj << /Type /Page /Contents 403 0 R /Resources 401 0 R /MediaBox [0 0 595.276 841.89] /Parent 388 0 R >> endobj 404 0 obj << /D [402 0 R /XYZ 144.727 740.998 null] >> endobj 405 0 obj << /D [402 0 R /XYZ 144.727 716.092 null] >> endobj 406 0 obj << /D [402 0 R /XYZ 144.727 666.114 null] >> endobj 407 0 obj << /D [402 0 R /XYZ 144.727 646.189 null] >> endobj 408 0 obj << /D [402 0 R /XYZ 144.727 614.308 null] >> endobj 409 0 obj << /D [402 0 R /XYZ 144.727 582.428 null] >> endobj 410 0 obj << /D [402 0 R /XYZ 144.727 562.503 null] >> endobj 411 0 obj << /D [402 0 R /XYZ 144.727 522.652 null] >> endobj 412 0 obj << /D [402 0 R /XYZ 144.727 502.727 null] >> endobj 401 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 415 0 obj << /Length 1205 /Filter /FlateDecode >> stream xڵXK6|JJD(`m K}kz%&VzcavΪ0`|Cg~x (eY{B ݔ84#@\1 ZҔ)~@,g\K@`T+NqOnEʲ`)X,Z˪:<XrP *śJZn/_&!#Z$1vX{Glyqtzـ]ɺ( ^.Y:quVA ~I)l8%>N6 2Xj-o{�wtldkK+]nInBV QI\6|1)jwmnYҤQ vf/M8LCI 3!E!VԬ 331D%t,zld:d,O70E<:,UqE'yg-8^RJ40ߐos[]u)~-=μ*{1NvLvGLs{`#kRw Jپy{Z*1wGFW.оfǸUj$,[)@�}K}2/PhLmCI} 6LT7|ȸ �뚡uv}dtf'2d8lc!x!{iۏ;j2yX6݁s{;N|XNKTAAp/f(d=v~}w%m_(-@}^yUo }u*�4ksC|ZKvW*yd7yLKlA:(JCp6vegd#ٙLog:tvjwa=R,dQ2[$YRrQ׎2I*-)R˖7y^9s BBF9č*JךJLQh^ؔ!W0"BW4h$,9`hédg s]p|0Gz lBVW#h!5S0 |tV{(v "o4AkV̀.mB oVǡ]l b}V,WE^ NlZ(t܋-endstream endobj 414 0 obj << /Type /Page /Contents 415 0 R /Resources 413 0 R /MediaBox [0 0 595.276 841.89] /Parent 388 0 R >> endobj 416 0 obj << /D [414 0 R /XYZ 144.727 740.998 null] >> endobj 413 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 419 0 obj << /Length 3290 /Filter /FlateDecode >> stream xڝn}EPV,Cɾ)}rĚ$e[ =HI]˹˜HETYeIE~W?Dw[%:աhߘ\٥Nw~aaÆ>|V:YWURWEeFv* a(wجٽ[4x, RVϾ[uJEҩvn(Lyt}q{^#]d\v' r?B-7t^91ڃ>tl5l[644I,;>* V8  MzƄeNڦĽuYim 0iUIX$iyDwEAْ؜)CVuݸn8X!6^*7 CuJN;F|�ߝmgЅk)3'^IPMڵ]euIž[�ugR ۶OVNAL$!if1:"/c>A@UbPlF.rm_rn#�wCϽ*px\ A!;GVJVnuٮ~S|zFo&,@`n28h%ap!b mk_-*P?Of75˯:۔/ R`7g/:Sӄ;_��pDpNēM|d ɻAM`n-!Wp!;Շe`RC[Li{hvNUc/NxowCYwP.a27&k^P-pe8F͊ SWJO-(naz:+xɟP7pvd F؝shff6/(֓{$4ߤ잼tÊ=4e%k�Vxf�~CMJ! <E!Co|d#$<zpy:\5k`NDnL媱k+]]I\h3lqf&aL su2yҀe}-wGY61LUο`xSkk&k  C/YГ5,[Y7*h0I�I % Qиqqqf&}ř1~!N;UY=z,;xQ 9{G DeVLmR,r<YӨp ^xxU(Ap{k9P30" Ȟ/8 )! � 0Dlגa$o' I V'/}&L9ՌUA>J *su60 @,|҈SYF7<RL-Ya@EYx 2tOH^1'%K(ac 8=̗7�sN2Eq.+(p숗Qq%f:c mH V}SDP{D$7-H9h6[�3m]!y8XhHE :pYdcA3,&<< [V Y 1ؗA: P8EV%^Ahl[ԃ7 ^ kȈ`!yؖ{Y_4)^ *"+ L1ahCrJCJAr`N $^_7ȟm,*`8 =/u(iAFk+ޑoa6&D̖Z # ݗQע+Š9X~? K)h3$Dn@DeHNgrT"9 Mޥy@SaED/lF#7H�[fY7R2Fg3%oyMf>.{pCd|,#^ RDp79i,^[L!9t(Sҗl{DnU  eJ7T W>m.9BG?}5Ƶ)ȳ2Qdc+U kGb?dS E 9Puz?4LzOE&gyjvسn)n̯зjIޜ=a R& FQ=8ZcϾг!vmûeWVo|34dD$גL?@_ccd|F ,34Sȸ0*eA�4aq27OHHY5!t[bq  <4*,PV7bG$"Mey&kp ,ߞCg7J)BY3 h#[Gi&E ZU}hdquٕp%Oti 0g9n$y;2x6hadY NuQrX:8HUP jwl91.8h%bZVnZՈUdQ{,&XPUPdQ8֟2&Y /hM%ȇ�+Po�FAέCvfl&G5/dC7 3-O)n gkM-s2:e K ~0H>2O tmY0ù[HeZֽekmWd#{N6% [B.q ڭsG*C!z j 5UBr<תʡ嚇y|M|[YD J4T^Vo9#2uŪqce U /16ȡOuO{rҲ1{jgDDHd$* 54�<qqb@ Yx0iw<?7;$vVXU9v2ó%/1.^ʰ9tbm-mz|֬-A²k뇳H GB_ml_z(aBm ,tIӷ_>68=(<A`^P!X: soG5 9{DzE_BB'^*'ծodv؉ќ/(>WQl#\k&>F 290>dյvR`@k_$ndC xy?M~z<-U 6pߓD>?_%K<T˥Na|3NNsا.^lzendstream endobj 418 0 obj << /Type /Page /Contents 419 0 R /Resources 417 0 R /MediaBox [0 0 595.276 841.89] /Parent 388 0 R >> endobj 420 0 obj << /D [418 0 R /XYZ 144.727 740.998 null] >> endobj 417 0 obj << /Font << /F86 240 0 R /F81 236 0 R >> /ProcSet [ /PDF /Text ] >> endobj 423 0 obj << /Length 1499 /Filter /FlateDecode >> stream xYKo6WX, kV|HER@Ym5hHr 3$m˶R(D$5 ?*tQ!H’Q"Bro^xC 8しEE8D)|?IG1IalaHgş2I1P8(\w묹u=FG<m:O=9Cm}7ןy^k]֝jVme<XIAGԶ>+vmxm_UgU7;CykN _t8EjaY1JMJ4nݩS8[C"[@Nz:.hrߢU1Z[*c n1kUce5>~|Tk}%fk;GzO=!]-ǬYqչzG'8[uƥMzXJE\!̊=:dz;UhZxfz9>CUj /9%ѸD< tyzG|tHF`9GqTܧ=�ېx7f=pNf#$OJ£؂} {ž֎iYݴvT#ne�̍|%o�]|`yY<$u{=SLG)}a,1 l p2mmTwcweZЍ5.<^JUn?LZw5@-%>6YСޛl TFe(~  k{Uv+㬳n娠tzmQUCdڒr`ۏUI?J<k1!1w%Vgb_{rII,GޏQgv #;T\u{ n8>$6B-RYY501fFA8Ig^ [BBw]Vc:lN1lMXKgcldy׺:97` KMUiٹgk&Ye `۞]?ms` e8KGCF}s$I{2 #cyI\43`;x8a(E:N!<y!es;'o%B|&h{^}/aRo#k!}!N=ʸ:Du#[5Yu|N m҅x';MV;;곆cQ|uVC|| h^~ebB#'!O=To�o9vޑ QloAb;?CN-=;9j >aOnYG,� ?y]rr" ¹8=0��xթʁ =o5΋C XCӥu`yӌ5UY+L4�Jm:MP"/_ގFz=6q,endstream endobj 422 0 obj << /Type /Page /Contents 423 0 R /Resources 421 0 R /MediaBox [0 0 595.276 841.89] /Parent 425 0 R >> endobj 424 0 obj << /D [422 0 R /XYZ 144.727 740.998 null] >> endobj 421 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 428 0 obj << /Length 1743 /Filter /FlateDecode >> stream xڝY[o6~0P = ö�+h[$j(wx"J js7!LjqmM9«_`$J"+/wQP$0K� �t懟Ya(K->(e7o'99z2xv4Ǿ=d4h-d.Zʴ<ňD,d\EeZY>MT9ɇRN3eӋNqx)aIzaLAXPqv ;-1 WhT+N\/i}(8 "(p"vUQ6Vv,ER>Dt")A$ Jq4ܤ ~}ˮy/I4nyX^*wv/]YC&)?&w xtEj3Ga>t2ʎA3 T!jJX;dcHTA mwQmUaC m@jRtjpɅ</1ΙQl\5RJ:$ fR QBg1TRc-{ esskP f,&Oneߗ*mc) i ˊ=-h,wPՅi?O1 kmMfڙNR?ڹbiBGlI7} 6drJ/`D##Ê#Zqɭ_LRkVjV;齕9zN-k,AUfD9\ڗY:3h*6I E2@x FZh:VN$@ I�־^&~h(KI1ҍ+!^Ԧ99^>^qY5(YX,3D0ߘuqB&S0/a^"[C06́G+%l  |v(<K(Ki4B`45,DNN%"}xȸQnv%^zj]\]/3y QAF~t'pWz5v֌A]si(J|+kC)ռ\{ )a }b}i!0F}Wׄ<yXc7~N& qDs㙙Orhԍ%G^4pE{igʧ4ߥxn%UV95>#Gdi.0ii9cI3_)Cʌ_O<h]Î|`Z 2mjWŗZ(u~ve)wO3Tc$7=F@2Ve.~;S˧ tW/\A]yDAVEAn5IЋvZ{f&?^aF3r~,p!{U͖8$ZlF꫚>٩r;mWIbyT!xfQvE﯀Va+ze1#ޭ[jÈwr&<Sx^6G^ZNV&kY3sZ:&{Q VZU(Rpe]?)Q((øv)z�2^Z_lȮ6t-;_V[JtC%<qke6/46qxM4k];t=}6/emH3L1bJ{匤稘w4W#endstream endobj 427 0 obj << /Type /Page /Contents 428 0 R /Resources 426 0 R /MediaBox [0 0 595.276 841.89] /Parent 425 0 R >> endobj 429 0 obj << /D [427 0 R /XYZ 144.727 740.998 null] >> endobj 426 0 obj << /Font << /F86 240 0 R /F81 236 0 R >> /ProcSet [ /PDF /Text ] >> endobj 432 0 obj << /Length 2828 /Filter /FlateDecode >> stream xڝYY~ׯ\ðy5)Ɖ(<,`Q=38lǮւ{pfZZX`gUWuWLj�čc_FƁMq|ao]% (I0Fgik~Ih}/&ӛ'Z];`{cWl1-䚒~}]qN)]apN՛~ ӛ8(;ȅ'us nW5*Q7%9K&gbh]syjJՕ؋N~$Cg h㟧%8Epi~4g?vכ6S}O<rToE:J*cjq:ȤLje#_JPV3[V]$01$(<ԦPut&I:s7^w<6tf{(t9MշkCF=T}e$U`IH3+$:Tq}zuj[⫂Td~~"%|"?>Rﮬkϋ$ ={26[U^›yN?'l,s~Nh8GxʷɯƧ #zUmKK+Ў>zfǃZ$޾U͞ czxG#z̫3cM�,Tsg&˽ǪylgBɌrkFsvOƓ6E)`NB17R'k**5�nqUљlƏք-$sH`ѨaT͝NՀc�`eNZ(=NWzG5rv h+ilEUGx)([ 3j~\Kp YJ8Ѻ$VQ �^6 V$+XO-B `oʾ!i\QjJvَV9u)(?`C�ޢ $h`$OW ji xY3Z߂&_g ]~)+|\ >,m˅ŗ8x@mصc=?m0 ..簴cp> Ýq qI9:P.iﻪl|1V0&} ; ̖ X0:nu;HN?a!"~)c; O6U]@΢p}Z MoMI\p7oZ0Gw)F=hs$̜ͽ]ɭ yfWu:{n]x";t '@n>9Asߗ5E4U@$cokrez)aް n B9t(20!EJgW/(ɦXWYvvMnQeLD�6bSKN.!7k5+%O6#_ _RIГ[pf! D)'kYeYH+%"7&gACtDq'AixH&r7bqC&<Uq~s2%r-UB̄ RTy̓|3hCʥ :̑==խDQEQS6oF-weH.V&Ulm$.831P9$†G(/9=lfPふ#��<aHՎA@s#{!pMxARA1?H3GlN!T;N *3<+U̐ۍ)5tinZ�pL:'fiXAÜ� "yٓq}ñH-j\ye-B51a"s][%,GXnRdv"=·4wyڦdAS׽v{CuQ-  U_`#Ire0I؅1i 5 !8=E^Ц넯ԸAvtf$!{wƑ?*lPI"-"DxT+8ylM7 ~+ 1ϼ)(  [vmtqZ8v{Tdw йR=yW5KȚ4^mjF@PƗ.j,;V uٺsӃ(޸W{qA=grK aụA7뾮sr5!k JbL ƃ ā|X_EYȋY a>#A\XfۣJ*dGI뽛 3hӄnCrfiIh_wįpnɐ`ƚ.Jn0EaMFox4ʍ~&cV"2'?. kj{E($}�' ƕ[4Rxnp; ^CL#[$#8||<;̿颐K Xkbtdm],Zx~>/}![\zwk8Ӆ ,?z �6"{-Q Qn`lU$HWp 8zU[ןEBg _IvoTw[c@f) ZI;Q=_L,_o�.=+ ?03:Z?b Kj=SѼl ` fn+$}rʫbp(?ԯendstream endobj 431 0 obj << /Type /Page /Contents 432 0 R /Resources 430 0 R /MediaBox [0 0 595.276 841.89] /Parent 425 0 R >> endobj 433 0 obj << /D [431 0 R /XYZ 144.727 740.998 null] >> endobj 154 0 obj << /D [431 0 R /XYZ 144.727 505.869 null] >> endobj 430 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R /F90 329 0 R >> /ProcSet [ /PDF /Text ] >> endobj 436 0 obj << /Length 1522 /Filter /FlateDecode >> stream xڵX]6}_i5R"5.`@U+TT}m0 Y0dG 3n5`k{ hJx~f Q�mK的!CPL9LJo=jC2_.bP*;}Z&A*s5UHᱨVkl0&F"`);Jӳ| [ mmmϯ# 9;]/,,qx̒׹4c6C{s{WI-˪lm_K~<wFR5<-jYo:gTö۶̍4ƔKe\#eĆL[kVZgܨ�1M0gݣq_Ӛ7ocٕ3R9,Tnu[Q64 9sXkYfVL ]Cw|-"JЖbDՊ Uҿ3h )Dr#Ӎy[Nofê1'=t|!9y4tpTjuKƃZ6RT. <SGKMZӁJUqcNBٹ2$%ל@Cv<{|}&}h \a]$TؕpٽbXһVslJh ѷE=<Mܹ͟D\^t*XyvƉ]NH0 τ7%85ДBv', 4$%2ͷ%fr̝c*OO !~r^^I?;f|^#P1�^$�@�bO)} ٢K#ۃhp6E)"0=u(&9H+nxsX5}- >f˓1cJQ] =D7T,Tl9C"U J=!PUhb&^Y랦y /0Udh֎|,@鎓;;~\(�AM\A Þ<1/dpC+H29m}nSDxF'fM?AJf%I>>2RM1mM.>:W.v Waҹw֎Nf۵cRN]W@D#TT:cM|yNTp,${do�K@+12]\ L Tޗ6if&L '.[mmN\I}35O�#3\5dTPp 돺OG?t. re+m*WhrJ"/Y7?r Z=u?:]xbfOQBQkjiRj8Qщ@ڔi%󅹵.4_d@ch𦌾fIO1<͡n[1,ʑz3m/\"l'H&qQXFq p<Uendstream endobj 435 0 obj << /Type /Page /Contents 436 0 R /Resources 434 0 R /MediaBox [0 0 595.276 841.89] /Parent 425 0 R >> endobj 437 0 obj << /D [435 0 R /XYZ 144.727 740.998 null] >> endobj 434 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 440 0 obj << /Length 2259 /Filter /FlateDecode >> stream xڭYKϯK�X3^0Ha/@hj #KDۘ*mu4Тů*hA'D$[?Y$L0d^Q<??_c=9F_)fI᤟0,lr9&ɿGbGHc y0ֱg>G0(N_nϝ¢g\XZWd*WmYtF%}k'8O`a<LKLV0=Ky,}"X}+žL(sggӲՍ|QFU@J# vr3|(3Te-uu+тMX1lPˎeZԷ"-Ј.JHPV>Tc띝5A!H  BV~OEn,<t` r~-E) <GcHlV v?Wc EP~B'ENUַ^Pęw"zE˸-H$yJzTjՊPjr n }u< q|NQ]ܗ[m^"c}q競;u.;uo;:*V-Z -Nw*fXPz0waRK/PqZDCYe4(4=|.CC;eǥk1>>Anj NP+8 e#, p ~0H#24;pZܔ*-uQW(dNvhh:Īj4g[OƘ(&%NW]Ju *𜙼^{r<K2]S\!_}V2#:_q܁W^G&.q"jIxTظ*yeic2Rϴ<�8_]I}e$ffb.l5ɔEiZՍ}Zb(=4 Ť܇98qājzXY8E7kK˽3„ ͂3Yy^ n,{YA󌗒HY)ejRʳѴl-lBT +U9`Bc5e⸃v<{1阻C Y%_G~`F9};$Z !;Ӧؐ3/^PYc'VZscO(ePz[/D<1L,:h0EJW$x&:fr5i.KhH`28<:Bcv8= /VC7R RSћ *۾�TpDU(+r(G~[)'Վ4/5N۷₯0t*ܢpv"њdk�>T - N{ fH>a&k+|!ۼY06*}[ GБȡJ˖"+wJ/@5T\ZChe:oj)OznX?e9`wo`JAbcM `inXس´6b3ұ%wݫ'ѝ"pv,-ԖUᙀ/8b[cpÉ< M`BVPK53`[}}$C x4xaE]m:h* `yfg,�,gZ2E-Q?:5HCc(vu_f4>*z+jj4[VKzdj(k碒Z wz |8oOYfW(E&\gڕ M|FFndбgOIN W'Fk2 lq$ :_mM{'.o~RWV6sc< x,p ּs4 Y}v_n%)WݷYwfn0ؠa w7R)976D߬Na7Ƿ"�z8RL5s+/Qbo!6;*<t:[no #Řk"":,Pܼ,+v7,!+L~ۯ^Ml3e?x1>`z0xD[)7\L6-ۛZtYD>P>ָv[" cQCۚG[!Y|j&iߎ?Um(bOZY(�YEd ldKʮ)\Uv T*tK yPJF~[T:/endstream endobj 439 0 obj << /Type /Page /Contents 440 0 R /Resources 438 0 R /MediaBox [0 0 595.276 841.89] /Parent 425 0 R >> endobj 441 0 obj << /D [439 0 R /XYZ 144.727 740.998 null] >> endobj 438 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 444 0 obj << /Length 1830 /Filter /FlateDecode >> stream xڭYm6 ~"CQ)zw[km؀ud[NsԒGJrNF;EHp.h؋q4M]ajX'Q@{fCH ]D$iwb+q_{ FQ^B 0\wyʰ*xɻzyKJufM0,fxŷ;83` `05HHySԼSUUy[oؔAn?tx\ߺ !8" /ʺer>^dG1= NfYͿz|!@r \3N uDzkbg]s \ u =^Z[.t[HV׼xE5MWVt}qb_ԂtH}E-a] ӧì\ֻ$|DMjh{ްZgmDYJ4&a|-c*)" ?'䕐}vgܱ5UX(\i+tfQx Hj׶9{Eǒ BJHұP�EVP^Tha0.k/곢`ƳG#9xT"pNV*paԢPz~aW ,=JyTURN?k!A,ř)k6f!}EMmM}0,'{0%?Xw*K|Ḑ=!i^]ю@c<tx,TC@҄E , #g׵P?$�ME'.0C۱S55Jk[l/i謫Qz@򍦔PzpӈRt<G kPw8w 65@Q'J G㯱nMiBKP؀+5`%0nێk~HոfZlwZט:~y#umju}4&2Z&|kH%A9Kv ap6 1cO7ľ<:|x)�X΀^ۇxUV=)T(ڮ^*΂>Va$ĢU#$K =DEVA $( /lg\Sh1>=¶4v6z$3 7yT(\z * ЛV_7dvA9$m3 K`pP ofTːj&MRg_յ}W(4-? WWBb͹oQs0%qMz$I G!Rmx \1kibc& +k4&A4wLӴā7y7hYAϲJRS �x �mψB_G`|tAnimoFm!eF% a$ts3q +Э7mDUpsf-h07Ys{O1|>2>ht׹Eəq8d/2MJCs^&ڇG-Tf2ۺ][óyq\nTv;E؈_*B2~e"Q±+_jFB'6OnE3ի{<򒫏G.=ӝؠ- sFˏw';ַyXGt.w>@*j(~~k̳QV0Vo VHd %I_x}𚲑ǔyFTLME qb@=u%Ɣ$at#l,&0f?Gendstream endobj 443 0 obj << /Type /Page /Contents 444 0 R /Resources 442 0 R /MediaBox [0 0 595.276 841.89] /Parent 425 0 R >> endobj 445 0 obj << /D [443 0 R /XYZ 144.727 740.998 null] >> endobj 442 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 448 0 obj << /Length 1700 /Filter /FlateDecode >> stream xڭYY6~_2DQTPiZ,Qk#^7𐬃kiELÙAnΆx A|b `(wO""! LJaxGQ�ێ=YEc(T,�ZhA0`.U (W1M.,Iմ׊ >X-jMS"uO)-겫 ZT+3hȶ0߃[OY[VuY hm&Jz:x1N0;r%T>iMm#m"cs1ۦ HVifkkP7dp'ކpCd-ilFU LLU +a]e':={ Vt!!\?OTLsV@5sୢ5a%w5i&C8kRSMtE͚v PuâN lEݢ7VNei1~bz`aj&7~SS |}uWy7Y;h[]nI,ID+lMJ挦޷ ,:AU,[8j(KG#;A4 Ǟ{pGܱ;FOﰅ(pzߨȞ=5bnwEC!p[7w榴U{nAǪ5׃Kv3wS2CP|?YسxPХUO\MiiUXM]F̷~Gg2 #OЀE ġppU4#6۵eifUl7 B{Ss*B3%-0<8> M-mr϶=c[žІ˳b…s(6Sq,<-y e y11\7dzGx/ j5�Z]F<j91m]wkA]}aTZ-< 8V[<¹ ^ bf8<'waIŷalϩ,3z ˙ �jZZn(MtZN<Gfa/(2ބZ!LiW` ćcP!QM)%M *撶ѹ;,~}DLf2rI`5eY7> پ8Q^=2%j�YKOEJz@̿pL_ OjjA?`iR䘀 MOꡖ-{L@Ue4Ԩ4yf2z|Z8-r6QWglM{IY] }I7&[Q_R-mM@[C33( 07_;faznXtz1Sea$* 1*6Cӭx섚R:@OROo62�)`#uJ[.{#ý=KpOn0Cc0{p5jie]Z%w�L:""Ri$oFm<j}s;7\]:TaP^'O桂4<B6~펚9(EӲ4@R_x,;ƧEs><{~nρendstream endobj 447 0 obj << /Type /Page /Contents 448 0 R /Resources 446 0 R /MediaBox [0 0 595.276 841.89] /Parent 450 0 R >> endobj 449 0 obj << /D [447 0 R /XYZ 144.727 740.998 null] >> endobj 446 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 453 0 obj << /Length 1600 /Filter /FlateDecode >> stream xYK6p%0 E{isjz%&*KD;|HbnLV䈜oZx^ @1q4M[oO,CEq�c˵'($J咟~5)J#\_ˏ6E#f_%ohOx9}%dg[|$Igfؔ4[%/^pyxeXe6J-\+.OzGQME u%YqNQJ g&&ء'Y] ݪ8V4V0EqMt@+aH}`niM(Az#0\v墳Ȼ6Z*D*A?Qb{HLL/vխ1W5|L')N.i){hYˁ!T] 5<3,,` }Qע4L+Ơ<u|cy$ X?z'7UƆ=y̦0Ӯ)+`ұVv bdp x^AQN�iIOf|79'پ.M5 K,,-<�ʂ0:ʞgjd{ F̣e)N7cIv"2 {$>ydV h3OcȐ )!P}kbX:G:cfd=tN~㴶/˵L@7 RϹ): Ʋ+`tѢ ù -hp\ˊQg ttV>T4DiYYL×m5TPw�FS]Yoi@u]2Z$@]R>Мmpb /8ċ-y'.ժb>QUÒLb-*؂奄,ER&uv+m7\ )לC\oO*8h~UR!b-2v)^˕{9,N(ذ49V|WgfL;:uUG!FX?! ki1Lu/^寡yoVH6_%i qy�NpEYK_`vOSwK CD8}57+a4^Irgٲ]b Tp4</UM/Z&?;D;FՅ^NKnmZR~&҉_3㙼O `g7sxÇcqwv&W,t!:4*Ub)&tH>ʗ\6z5B_zL8GŞ-%G6 'C_ ~2]ql7طبj+:qAy `gf5ohc`KI‰'/|VGF^&r V~qVRTH`uMyis^t9qES>E؛uc1tڽ(Gl=۶{ԛ7m"v@T?Ctyt+~y~~|p#}1FI; jydA_ҭendstream endobj 452 0 obj << /Type /Page /Contents 453 0 R /Resources 451 0 R /MediaBox [0 0 595.276 841.89] /Parent 450 0 R >> endobj 454 0 obj << /D [452 0 R /XYZ 144.727 740.998 null] >> endobj 451 0 obj << /Font << /F86 240 0 R /F81 236 0 R >> /ProcSet [ /PDF /Text ] >> endobj 457 0 obj << /Length 2037 /Filter /FlateDecode >> stream xڭY[~?b�6"kM@Ѿ-Ah$. gdKk@rH h-Bw"Twiyݕ͗["U6w*$ $3?=|2q9\{86>6,ȓ7UP񉟅*}0{];Z]r(;*y j;f<c;Os@*Ӑ@3, Rsco߭ʍrTֺh]7h\Pni릨} ͅƟ<7蟬mO)L+o:Z얓Eu[;;xY1|Q1fee".k2ïvJH3~[BNK #92ᇜĜS 'ƙ8_j)'/�Hٺ[ΈE$+TTz&/:U3ΜcƬ']q [ >puxs2kUڈן EX Z|yZW\K�rZT;7aev :iܽ[3 %ƬB S,YJUVF},V̉uA7uF?2Fbee̡p/ XcAφI!X/_v=nw2769QԹD$tw~Ý*LOcҨbob+6X2?owJ�/7s0TC\,a  rߦ)@WN$ 4Ecw~Z^w8OIe h;N )2<ne h;T@ۏ[otB4gj@W޶P^6=Z$)K㹳`j(Fϥk0*AQH,{+uf6X X^|gw3wo-OhhlPZoԚjz`pji([#zhcGI~L^Ѵ-H>g0Tw5#Rޖ9BTPS�(Ln!0Hsn#e`B m%0dl҄̎R|& FDk uX*"A鎏5x~$IS P{\p!<HӄbAQJ3t!~Y 6PM#cg*(h�o~8G!5'zij>cEO;͍JF倷(buo@7n_0ߤ`ذ'8szA$,0[/DiI>HɵSR*g. *7O8f2<|! @`B2&2RϺ;خ!"[E.,( |{Gi'{= Gӛ7:_� g ̵0-Zֶg9 =w0q]'ĦFqWF+xHD IJƗ+!J` i`0 Zd*_.6{ 1s2 (h]\K5|VkV#˛>a=l;l{JOF.cAjM�g&c"nzVv4Ôv^$PKv]<>b[Aӑ'hH>kW`g)v %Jq`ycq $"av<pr {l?5CK26W5 R־zV|39;ڴ,.cqL%`�Ѝ0hZNE>hf�,zcgEܦu2D.<+:uyX.g DAEѦXb* ?^-8zQ:g@}! uE=|(Ñ4 }Z} ٍWem8@B.}E P.xPrbNP\R δ9k*g >F :c8_X O DK~|X4ę3=h+4endstream endobj 456 0 obj << /Type /Page /Contents 457 0 R /Resources 455 0 R /MediaBox [0 0 595.276 841.89] /Parent 450 0 R >> endobj 458 0 obj << /D [456 0 R /XYZ 144.727 740.998 null] >> endobj 158 0 obj << /D [456 0 R /XYZ 144.727 372.764 null] >> endobj 455 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 461 0 obj << /Length 3421 /Filter /FlateDecode >> stream xڵZIϯc5VDR؁҈9$V0*5_QbT3C07oV!S*Tiy=w L%&6AFޘ|rO& $5>zȃ<1Z\{wOQN0r˶ӨٍBF㼰s#kS;ꮽY{.^bG >V_=>q:$>)qLnq́ۿny.4pg[q)KuFQ+;c Ė w?X_@08YS2Q}F8&_xBu`9KH}y|q8gSY"0!mI iOihzF<ub'kpۍ[rԎuH-\0]1Qȥd'[-hZ܉ +'@B0I4yu#\1{xVmL {`ӥ#wir-7Hq }e{~VoW]~d |cTQ3;q`"7لq`(NjmHC,yޭ3&RݕU4vJV7Jx(,hdoYFTj%_`e<J" mp8Ђ WM*jYrRa0N}hH<&@I@OG[ݯG_C l|{L|+l?{]{>wXJ_J_�OuKѢpELv G:`BMel8hᬣR 0tiTljFN`Y FzNz > E՚],ۀ .�4&ƕDvQn,z8e1rE/UFUs]+P<BU(|'.%<{LŝˮM}dB@*X8@֓+B cp]WF(C,l-]<|A  U@.oA$@w~]CZ4LURM1<Sz4`?v]c[%I*.HD8Pzʆ^$ʂ0=pᲶRM^gN ��R\qv!$LO(=E`!w&C[0 Úf S/ƃ&Rb5}&6z$G)T kEXj2p}:-ae:�7x}^HRAp2KnV錨NMdBte>Y0??x֞Σ 1a3Y`�^}\.ؑ̾7V4E(& рB]AW,F㺗t غ V:@w}9fļцA=:za.s�NoD =Ob2+4Ba2=ԑ%ٟ?�i Q䱸H2: P| h?.}p@e)G̰�7蔠mP._' h}q%S.{Αuj6iʐwܩ˖]%a94V$f Lrczx)=rN caoemJ�Q}A 4 nH L׉q4$ >J-T+/dH&lJu IB3pėY/ QXl) \mLNVձNYΦql V6[vmaT9U ~nQb>8�V dj852hQ@Ag쬀Jn{Q2NT&)k<nru[i}ם҈ TGu;Oy<":NaLQobZ `oKk)w=/eaP �L~w$\frc<GU75{X,xӑ[>6wO$"B&8diiXgb}8|{lt{:lUۖcՓ$Ǜ@1 㹑pY,o] #fh@Qs-g^4m� 9 CmYQU֥^(q8�J8Ԭqe8?!\aŐCbPq\0|#;H&%^#E_';p> y6\e Pnuq(IupܑYULqHE[4Ci_TC /8 'SWq쾑m;. 7# pQ ;paV_waN{z#W!r4yb:2\^Abl6a E#r:ӓq%[{WڅBSf^Z~zd,%I=ͤI|;Q/\Ƨ =JV箁&p*߆xs4񂄥tH֭{5tHW&"+@GΓ,:'BN0VUld{[|.d&H2G%jJYgHQ!x<,&ЫKj^ǻԱ&T"}йTB2}k%5疫L/�ڃ+SqfoV52 ̐;n IYUk5w%Xآ;7 @wŕFii .]Nzg 3JC?_ L2?@M @J]עEεUSw& %~cnIUŞpﬔ ++,$6}.ȋ iXP<)_?_/<~=)DhO؆vQ`) t6Z&ƿEtfoFT+nlK.BgH+O+q?AmlЩ[ ];(TIMNXˣ :)}}<pM$|VĤxݰf ̼m ݰ- z,],kvSoYYݭlkR&SL�DK=.DT{,)fzQGw'CWZp *oj(/᤹*4r1xs.8) Zp7ڿX.& =^Bhl|:<gluvOhv#u: L2H)m*"d<\ )B&n]Uߑ6ԇendstream endobj 460 0 obj << /Type /Page /Contents 461 0 R /Resources 459 0 R /MediaBox [0 0 595.276 841.89] /Parent 450 0 R >> endobj 462 0 obj << /D [460 0 R /XYZ 144.727 740.998 null] >> endobj 459 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 465 0 obj << /Length 1493 /Filter /FlateDecode >> stream xڵXIo6WR@,m)-6YDʞtE13H<}?# lR"_;կwē$Y(Ka=soWIrZ%'4Yo-}wTCħ*p${GPWnklD)ԒDDX?4,P(^ge-xX.Lj'eq8G݂hCXq@*̲hB Z w{m6sd,1O-`o%ǣ\9Wix9PDS61nq4$EK=~tPnm'z YdrJ{ߒʳ1i0@mŌ,/UkTaޢ9JC$IjBxZ~`BnO$ۡ߃QR+df| ,s<f\ \ ΆQT@%a+2fhL`i|vW6b[bk8z}n{qEkd\ cX] uӪ)QS5$L~Y(v"fkIMfM@Qm%fz)WuW^O,rk .b;m6EXȦQrpůmby�Wa97g{9 .M/$hύ+q# OoS% P;O)ie4+>{Fwr$fV]ʹls|of7?}^9!Uz8$Dkr6ם-Ad)ᓧP&<]4}tvBFn~6v"|ߐR}ELmuá1Bf V.Dhw\X`k90)ߞ,}7߼d]jM-$ӓL?Knk>R'O_>kYmUYSֶ?K|Rm:�C]riR9Skp{eqdU;fes|�ѫ,!<{<SsHC.T³]/E_y)i_ Hk%KW.2)y bDTRu\{>X:BT5 seϖ$2XH5BQ!)E,&ն JXje�MF/< eg f2k-':h;6f4EzoAn^vfUOt38x)0/ t8HEN>c\+ #(ύxcsT,۾f36$&w}E‰ -53~I/{*I^Y24MŖSY4a 1<b(>ew=W#H&<"[Gр@�ލ"Ro.G,w+r5`vr <Lp% .SDxt #(MLI|+Xendstream endobj 464 0 obj << /Type /Page /Contents 465 0 R /Resources 463 0 R /MediaBox [0 0 595.276 841.89] /Parent 450 0 R >> endobj 466 0 obj << /D [464 0 R /XYZ 144.727 740.998 null] >> endobj 463 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 469 0 obj << /Length 2352 /Filter /FlateDecode >> stream xڥYKϯe�X3$ AAɁzA1[ER6mkr/hSU_Xo?`qL Serן^%QT0x1ik~~IHI=҇K!/Ӆ$YK _EQ.[{0l8i5[jF7Eo=�p퉮*<�$!x> jRMV, c_8+,8,n7I;9b *;/w 6 l(K%FL2B�!  GfK*vqeB sN9CDUU'˗(iuQ+U_mM !|\yUSu/ aͳ1P6PH<j'hiʸKYUnԴ~ vN=1ikD@ Nc<CI}cp™rX;&[&Gsu{]g U~辇c:t't+-7HXC*7Y/~2W,Y?.�'tp QvQx9[sS{޶B30 CT=K~~- l3 sZ#b2!M<2";kVX6ÍpOθYQJLQ;*|]:n<ks񡷎RW58L&3cD n{M^QVRuc.8q'-*82Df .olTA!9;ٲݹ 3ҨE}5#qz8?71ؙA;ځ UFh8KFzFRwv<aaʚI Rf(K;n(3RǪݪ♶k5,5BעXgMݏ54~ |^>Ewӷ-09 ]vkZ|k%*Xozg){8wQ}%n v]]bjRfAnVw3"<AMOPŶy:~rp+Õ%)UWcO_ulHϪuHgƑиܳ?i3 |u8_s"O@*uvnOM9b g3oQ7/Y\#du?e.6 tV' fsMp?!pHYuQxO#$O|i Lm\}ptۡl 뮈K.לDPqS2S's͘kf Ր/+lUg"XYl: Vb^&i2#q-&}>4ΠP↤8l^CyUyfWUtUÄnw |<bi\yD2vp]9eБGlMhTzeVkC(`D6 7x4IlL]$NE@L2"DZlܢ^^.` |Wb+G18(0Nnƥ8+qP+7T;֍umpXo6/=جˑaTߚʣ[90[ztc :rD"n~JC Lp؝]T.B>=]8yNOb 3w*5c$@":5pp.'�צjׄbF |u-^\O5.`G;ᐐ9t:Xۘ'Z^; 83>MIJnGVj-̮Թ]K{TIץvcT 02mUc` +_/4Ov[87) ʯ>=0t 'Q&w rg[o\F/O-#W=g]l6x@|'_Jh?Epgg^4zf3d2<LK6D$"= N=Ú]OEpY*g," dMbx16y'D@sٰmtDGQ\ *VI3;1)WN^8O,96d$I@1=Xz &TC'OJdvNW':JfsX>?f&ї3 @2foݤh˭>/tӧmw9? my<+ɸ3&hHƆ~;6s4dwD̥�VO L)MQzUID�>?Oendstream endobj 468 0 obj << /Type /Page /Contents 469 0 R /Resources 467 0 R /MediaBox [0 0 595.276 841.89] /Parent 450 0 R >> endobj 470 0 obj << /D [468 0 R /XYZ 144.727 740.998 null] >> endobj 467 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 473 0 obj << /Length 2313 /Filter /FlateDecode >> stream xYY~`Q}JDM`_zȖĘ" ߷I5`1C.,X%Q.w8<<҅O"vGNHa_$}ܤBaO|\S'j*Z~Uz\Q)ʽz*eM*n2^ƛ@^>9irJ`&/xY}<4٤U]mMM}>QRݬ7/*b+L(s;%"8 %+*H$>ʗ+N[Rh_zo`Z5JG3."{A&&Y?/W~:ߙmQ$8@lMQuim.|]RQU-3d amDFfYVEBJ,`Y[ySK:mYZfN.v)ƌ+@Ff~e?@҂#cey+俗uU-WsqF`}~#"5Q tJι~Cx~!lkQr'DPwmS&ZMSK{Ǐ`.G>0'q}=؋HtMӣfjfVT>ڦn#z6T]w7omcc3jmkP(CdhH.c~�,fɽ7zA5z>՟̭Li]t[B2LgfT<ny= jC~/fcfnw[8S(.( `6L4;٘N|9CK遮`蠐C+-<6IV*nQ` vEiUr$NҲ 1)`+JV ;K`F@aV2FuwmvE\1,UgZ*$3؜$ fȄ(ۓTHFZԖLT (uJ77Y+_x·P@xAsJn|w΋`ȽMO-f !N*2n0!U1qYfŸ#@5OS)j By d$0zN  c"ɝ] 6:3eBxkKBv4+eh,][|W[A`TS<D )/&^Yei/P\Chs:NdL;А" Q[;&mdikzG:B SiY_Rw7܄\ KM.DOkP<hnI N\.t˺b9ix"a}2_<d,#ZDpUӺ"=YeAMn+۔%qpY@|Ȇ-K3% #S.B;,Î`P'^_1r�uLMI< %*vLL>ARRwf(4b&\Wn@1HL-<{O )/ <I#j3X@7VEWy;\f &eUhYS[ۘ]Da3IBJ&zCݾ�kQ.vzgV =JYj| K>xYC.5Л ^5X/#kt 1WM#)Y6c-Nh7PA)jOtsctO(3j�Wx9w\Θ}Hn"!zj.Hr><h~09j$ѽF3{n50xDM[ӰSN;x': ѽ9q Suwz={˝,zfBpPGq`:[:16SbNU_>50V=bZ>/ԯx7sH?8QgT|yFKb̛#:_4�iNBO|<Ő'PUV/yJ6ON̨ȤQ:+T]sګχ1)uF Ypp7X&X-Efi{-:п^e8u**u`)Viџ_S<W+SܟW~qeaS3'3JDW++<#DiO^R4lnn^%,[A +67du56R ø:?#+!U= b0endstream endobj 472 0 obj << /Type /Page /Contents 473 0 R /Resources 471 0 R /MediaBox [0 0 595.276 841.89] /Parent 475 0 R >> endobj 474 0 obj << /D [472 0 R /XYZ 144.727 740.998 null] >> endobj 162 0 obj << /D [472 0 R /XYZ 144.727 487.334 null] >> endobj 471 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 478 0 obj << /Length 1904 /Filter /FlateDecode >> stream xڭYY6~_b@.bUM7@RM�IdȒc,wCҮvM ?hH8<f، an0 cGQ8Kl C_0=n�zbp=v=$]]>d3ߎ`jXW'+Og>B9_iX00ы$Bkc,)8!3",o7y7tɿ2])Q .{T`@ξKd:KG?ICecl!MY6E%S6Ԓ\nY񳄧 \䒀1P#:3uD7@ŻՠNB16,%/YRݡ20$ mCC O <�Lc HY'iQGIO*J.#fsC-B 6n&;|]&mU˛eR#ݝȣħ"Czlۋ=m`"�6a'+4A>eQCŽB61EU~h`!™bggs@tY!(/` ~CΎ ;9s,Y2*r+ }[Om>UH ♥52ۍ;c]͙Qf,Jvq)5Rpa9 F+p NJB C ?U%mWshFq8XYKlvD%y\RǕ$"sfmdU)#+>E5;S{MV:jtC2[z%ZeM5PStK,ωZi<Ng=',lq޵RBH,A&X.KvDNs�l'xv5U�̆lL UV #`<_? a.*Tu[s�MUĺ:5⇇ֵ$"l�*-֤™ہz_YH(;o髄 l"Qhl 7OF}N.O(GB@Jͫ, }˶9 40J=̂!rBU3Ƃ՞G6eEDLDXlr a#deQh (WO =6g, sLw%ùJ=NJ,]gGo烥=&y@ "w1ĮUL_$nkyDCWAkS5#]E'XW0l¥x@{+�Db#R!XK,D�@*Dx*x0eg$nWy 붙Vx5 bmdBז @+inS1-8lk ez۲x?]7>.8QS$/fB5 թbOI`�s�7iAJt!mVBrFs }T)ALӇq$mwnkog"ޏ$l|`Vm:08cqG yPG!5NK-in nZxg| ;Ӈo GzX|R[Ro >;/Q8Wkmv^ pVY +/q}nWsS33N8bi�PF4}lS?$ElrHU\$ޒ�$H))a~26BmM/hB`O%CF\CuF_裶8+ñ !!kB|�IR/?.cq% LqՔߤCtTlmh "<o4Q? --78mi^ՃȠ/󸂨FU1!,yV$52mTc֛;t�OpQgɿY�o?Gxjg<cendstream endobj 477 0 obj << /Type /Page /Contents 478 0 R /Resources 476 0 R /MediaBox [0 0 595.276 841.89] /Parent 475 0 R >> endobj 479 0 obj << /D [477 0 R /XYZ 144.727 740.998 null] >> endobj 476 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 482 0 obj << /Length 1939 /Filter /FlateDecode >> stream xڭY[o6~ϯ@s@wCu(Ȥ JS}琔-;JtEC|#3E^4=JYg0K842c/yYBqͯW?,(l^, \ ,hdyaIr%U{ZXK2%뾾TF,̒1 vv_̒SRW(X;Ք,s\2eǔHȓSZ g+ R(i56yU޷ܭrEJM ֢%Pc'_pj:"lEjVrPW?]]Z n|ޏ\8EI=͊{&r~ayUEhO@Oyk ~ՖbAbL|3섴7ܴMr^8/e>Ŭw2~PeJ4u*]_(HedM+1Ks0Qh+sa|-eW09ǹ-]/BA@=qqd秩)7L)1'jx^ڜdyDȘQ9\`$Bwd8'G.;B-n^-Ȝ棓mSCy%̘쬵+?^Z(R/ 5% ,Òk\V[38g}EՄ1@9Q/I̠~$B@dzj[Vy RҴrO$Dp}Tm3(П /CR; lȶCޕROÑ6cZG%�I~zIQuPڮsEVA%Tߚ>6r-o}mF igyDJܚ ˼؏Mg̎CrV}VK{@C8M[F;NWlg9@QSW v󾱻S<ؐ,%mژR 3PoБQ1vܑhb/NQ7HRռ{zPVs6`D'Ǚ ߘķ؀Zֵ1?kKk`pҸ_OAT,H<?$'^'cZ^ NM@{D\M")J@,� <K!e<HI2=vb0b7:'\Z֯5ˍζ̠MQ 3 ,~Ju2/Cތ0KTkciUb9Z$m "6rtp293;7jٗ0 q@!DB56�%r[]Pc~u>֕B =D1;+ɺ9 Cc XjY-?FHTto@ނ_!6-VsQ>.xr4 ^.9elFpkX0@Y'LtcpӡyAZj/8< xh9ìM^{H'. Q}՝륒.@ x4RyRn_: rx/Oik,+"3'_zhOjziGq@x`L0O16pz~~ ^x!BL~3Uʺ�=^69tH6PuWPd{P�BȮLm)2DByAryxy?@>8k )EIɗL^ SS.<͔$-Msq! 3 %bZ,],v8xȏ.>$%^+>!=JRm?endstream endobj 481 0 obj << /Type /Page /Contents 482 0 R /Resources 480 0 R /MediaBox [0 0 595.276 841.89] /Parent 475 0 R >> endobj 483 0 obj << /D [481 0 R /XYZ 144.727 740.998 null] >> endobj 480 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 486 0 obj << /Length 1285 /Filter /FlateDecode >> stream xڵXM6Х}0+~-(z4�MEڒ#n?l61-p8NRHd,Ey.!Mѯ "1<\P!)r=Hk ]r~"(B?$wn"B EPQvz)[vWö:!T;Ge1M*~cxnbEV" qyqW i}| |lUs8O5nxA[?/+1J(''}7MTU_4ktvkJW8ei<_45.upO#'%IJ'%B"T[}?Xԟ(q"jA8^_ϯ8h;$_gU7״ck|r8W[u!$.$$"gvc Y[k?MYt$C4#$Hr`Q-EHiJ9286[g ';\ڴsgݩA( <[`r1H?tױ)ylFCvћE)((A2Z86v  1 fE|o˺|C4%_1ߪKsiui5.53_Wn兯%Hr}{y1XKa Ӕ'aWl0[jb ۨBSpeVvOur(U1Y$9 g"rrxdsۂTNvTŮW'R_ Amc3Ė|,7(JPQje,IIc4Ni"wYhxSЀxPTþnG�Ǣ٨Q@N$#C"fr�;k-=%EUYog䃞ɏvH ӻ'#WՑnE灍q{^`X-NbV4?G�6-,Y2]a,Q qdQIYC۝H:ۤ=� y!tw�If11Y&݉ݗt# t([P7iwrR'-ˋM1,v-HJxzuUo'1JT&Xc].v(ϼl_6w_CO"aKB"|0yKyFkw4_N)$2u07L9Ipcplb϶C{,[Wendstream endobj 485 0 obj << /Type /Page /Contents 486 0 R /Resources 484 0 R /MediaBox [0 0 595.276 841.89] /Parent 475 0 R >> endobj 487 0 obj << /D [485 0 R /XYZ 144.727 740.998 null] >> endobj 484 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 490 0 obj << /Length 1520 /Filter /FlateDecode >> stream xڭXI6ϯ% DB{p -h٦m!dH, ؖdNAE>~o_d<aPNY2Tr>>d= :pRfa*rkI",C1boL٢nV*?lC<},R `ڗS~&`1C>+rz!"lN.e,{UU{)Nju9Ԃhu1x݇4YwEp9׏نܶv,߼}F=Wx7]JFˬVW|4OBoUus`ϟ"e|,FTfE4fQ՝jn+C!(Sɓ  j 1jntsj 9}*3 &<-9FTNyZH$!A'<-$@)4O5D 26橆h,s)HODpѪNM'GǠښ.imo~_oF.hn{x썦qJiDVz%Q:eOͺ9qd́!hN}|<+�{uUz%Z=U۫t sO=Uz#3ĔeG^us0HTV^[0;A"<)D~^ί8KvcC/$ba�nٖgIUYn|0^׫99"Zw!I|!YZQCD"lo~3<^hi#^�.#f6Vu:u{>y#lT5[EP Y@8B3Gk8qA! 3;K1$K[+&%4"i3svW0ێQ4SJkE` 4JKpc Bh|9ʳKC8R&ɾ_ʍ)pAA$IjGU;x-$ )RZaֶ6/`t4su'T-!>ܩ][m:(T0䏹بNUw{@tȔ7jMm�P6c`'F6m~/ ې~A5}-VMYx!n4 r`u[ o^UTY XPG| 2C+\{UKYgҗk 4c[֪}k'i>X8?Q`37U04B/{�0܏<0Zn*u,s3DW'?f?E=Z=λ)5"¬Sc_-.Uj62#l/Ä!QPoܝ Aj ٛf4W:ur'FSkdG""ل?ś XSoLu[1Z?b5NiFځcjǾm>wjЁ 04gxW1*endstream endobj 489 0 obj << /Type /Page /Contents 490 0 R /Resources 488 0 R /MediaBox [0 0 595.276 841.89] /Parent 475 0 R >> endobj 491 0 obj << /D [489 0 R /XYZ 144.727 740.998 null] >> endobj 488 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 494 0 obj << /Length 1558 /Filter /FlateDecode >> stream xڵXIo6W1K tC \NEhD9}\$KZA�1}o$ dA<n<(\l"?`<,D aЏ䞏"8Q[?WX!|_ဘ-Z.}y+ ʐYE=^pGb:͊D}u BH/`0IO5 .W>Jb:^*?vRhKL[/6s;eT_%3 h~m\Vq\[l,٨J+խGq9<Nf<=jXս Þ{l/5->n6|`U!?/8��YivZ"·/vgI۽"P|躄c[bI;f!p8B(*Y=B5K9] Ϥb0<#_1JmyFMeO:s*ǜF+0-gޘpZXJYXRI6<Fn߱dN\7-28t�;mϝ bw5Z6=<cȏǡRQ6/ GB8x7ŢkJՈ\_RP1].P. s^ cZ%B~P`x}A } M>htD5暊T'+<3DJ1#LR lU\S3\zgMU=<OFb΁Wp S3|ň]:hbEҥ Of_Ҷ]S,*=Y]$X_n*:5uU"gRSghCJ&laJ^ X2{e$*:%BEP<YnoL�Qa`v "֤ZYtFK㩨nx 2.v!f~J$Ba'72l -RG 7=quΕAWܻƼg~ZyY#F^3;gf�)N[igp]?(fE+!1W -3#$̈R>Nde/5W׃TdA3!KuCn#7ҵ*XC8:-t |#/ǛDa蝘T̻A= Ф nTm,z8pH/_zM$u9m}RDd}'~WE oN%h_͌ ~њa݄m2ueyXCȂ[!qH{ׯ=w 2EyjEVm)"0)V㝴"y7E\ }/Ḽb$.[ٯG0+5I-uA}רحw#ogGu =yZ,sCf\tDwB4j=H�Y7iS%!#endstream endobj 493 0 obj << /Type /Page /Contents 494 0 R /Resources 492 0 R /MediaBox [0 0 595.276 841.89] /Parent 475 0 R >> endobj 495 0 obj << /D [493 0 R /XYZ 144.727 740.998 null] >> endobj 492 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 498 0 obj << /Length 2388 /Filter /FlateDecode >> stream xڵY[o~_@"zX]`ؗ�-lѱJr2 P$ce0E"s|w!;Bi$1w-2, vu)3q{~hsDb0 ~;e." O 78l?j]’X%7,6:8Vf ށg@&4 _ݜ~ܞh_3?]R5;?^ c;[I* miѼ.V {0$h Ӻ.7yJZLhQ'ܟOI\FE{XtD,Jڬ`Zq#ԘΘ c18=R)n!J>V[*.=dz>4D/!nG+-ן`xEOt gZr'/]B2# XsW1%b8e&M⧍wחa$UW+TR6VD.MJueǚ&ȇ y$ Z>ƿD~[?r2 Ąe!a!I($<јM/l} [,%.L(PcezcHJ3MZef!$5KfS<M4/m's'&(lx $8~`oCM]7rXBpi_(Z_D!Zu?, P:BJZKCEPк:RJ &fU3HvoQ𚕛K&f\kՓ>2J9}A*WN x ?Z-EY7c$@]&*cieY8[luH6~ޅP}{'b_&MZ⒯,}M WO&wF >"zW>O- kxF-5j}Vq9*UrpVu:Ov) 1ݧWF"&|ѰsL`:)W.!6LAWT ɕfaF(PMRD7Ɖ(\RSQO4 6Ѩj{ZLU WWW{H(._RJeE1C[!R^^>w+ڥD`3uV4 S$c_ϨOpTmMq⛾ОS/܁^nETU``�۪Fƒ1>6rn`}W'hmx<;Iԃ S;0op`fep gc}ߓ:IѓSO_Dh";>\z}2mFDr!/(p(! E`Њv7dD8EH%2K\N;ѦeUd ٘5QS1q/iw= n9 C�8"?(R7݈]8O`]iFG[Q APкD[4-䫬<6v7m֑PkS ' h ͌ RAaxIN~v+w%<q:@^CPkY ҆f^zYa'!e4^6&83 !iwV:QiN Gzr0~}1&o7mQgRDhѲ }y8WXf08O(  PRha]" !X}@77׈ Àڄ`OTpƆ\YW PB1n{c󦗟& tūUS/MA=wKR ,ag}|T(M24h6f`[*rNDN ̘#I|o[-|ERܙ^p ]Wd<$Q3txYf4381W/uZb 0dM9a>2ls.Ê+O=̠iygbH͉̓}nzq\y !Y sc1}} %̷Y̡I3*Ȓu>]2ՏQߌ ֮_ټ%C Y!p݆Az4V ]Ccf9_ᴿG›oF_xa8b⌿1%IFc�Aa|Ǖ`Ps5AS >mU''/6F>흿!1bE>,hA\rp/Ko7u1HfOpH{B0߅_גDN/uU(#\48endstream endobj 497 0 obj << /Type /Page /Contents 498 0 R /Resources 496 0 R /MediaBox [0 0 595.276 841.89] /Parent 500 0 R >> endobj 499 0 obj << /D [497 0 R /XYZ 144.727 740.998 null] >> endobj 166 0 obj << /D [497 0 R /XYZ 144.727 716.092 null] >> endobj 496 0 obj << /Font << /F91 244 0 R /F81 236 0 R /F86 240 0 R /F90 329 0 R >> /ProcSet [ /PDF /Text ] >> endobj 503 0 obj << /Length 2179 /Filter /FlateDecode >> stream xڭɎ6_K* fD-t@ $s%-,lcekX4 (s}J |ŃE^%I#~30\a"?Ab/~oW%p}w?^bD! Gr?juH<]?K=k{ḱ0GSgnߨvۉA5!?zYs6XXOWi _N'%|].sc`@aԷV0YYI%tyWiQ5nSAUc*0ļ@ѽN<GWj^yc{8YämȦY![М<.;.bG<e^|h�9\Ѽ@8M/JYӤw'[?Ɲ=KA37nv*;b0[Zg`Ea~I8,LĖ1a.7 o&qxsr'7ʎJ@*k>S8D nL�i KBVinTfs酇j09pב0H2&Ilp7;5& FNpo/o L:T|(p B�G} Y҅ꢹ*;eI3m,8* {\EpwC~`dVHHv ;#:"r{ s| `kԴxF5W21!_ha;]`$f]<ΰ *Yad߬TV9 I@5@ϒ 5_G݁6vnW]GKl-Vr�tqz'!9۲s\s{ʿcWsej5|U~h^! 3a ]7aXv{iHXnJ3B5˄4h@MKAm7Ldb`PnXU2;c\qT~Թ +oZYe;#-saB՛>v@RFf"D Ax 1^9{ }2Ba/>r"(39al]p^t,br2u-߀he w@P>?WܐMq�b0gi IW^wEf/F}dQc@=6s)hR43(O\�: Q<2Q.`VI^8BV4)|hK-2n}<K/2/Pb{^@vD.Xȇ,<~cy] дȢNA[* -GZ{.fU N ؃%E?E%"%ƥ�jn!h1zQmND`v2UO!sE0NO6oT1W=_,IG[YUb ղ"";VL.>m#s"gz5Z̮et͑e%E0W6mWJʵ̬n3d.˽)Nv�Ic)0,ځDd~L=έLRh &Ů�U܇8X /zX[o1ѥr߰͟>Xe[QlqѰU?L9Xҭo t'iδ)I^x~ڬA]oȓQh[GbG=sB"e]c3%_q1ikу^Hٮ%&X,@pcӬbOo6؆F )̷8+,4]  >aOoZC/:# bO t(| jm"ƒ"^e3V4Uf8lM娿I]6h`hV*F9({ G`&t4hIH,}Mݮ6Ðȍ>vS̻cml⢭am m \uH.ĂjD�L0Q ƣ@f#|bj/1m?o&SH.N,YGX_XspW<'4^}uX\+qwreuIy`GzbM1+*ymKPu I;.ڇD=e]_ҍyjTYTq[_pv1}|[,=<qyNC/[Ն)f>*8O>+KU ̳A_cSendstream endobj 502 0 obj << /Type /Page /Contents 503 0 R /Resources 501 0 R /MediaBox [0 0 595.276 841.89] /Parent 500 0 R >> endobj 504 0 obj << /D [502 0 R /XYZ 144.727 740.998 null] >> endobj 501 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 507 0 obj << /Length 2780 /Filter /FlateDecode >> stream xڭn=_>"$ rM=@ZY)%);npsY$:O ?hw2ٙM�FD&}7w7m WIuk_1 "_+3N|&ՍR7{sEQ>Ѷmzg7-WӛMӋαDbp`W0jwSW:70K3m*xw$2QV螞jN�6]{Xس-neҏf-o@;- +xj-Muv<:-@j:bO:pSevwj;WgSG[+y-ik}eAH0#|&|ƃq<'YZ{GgӦmNa",LŷcЙ^T0?=\71m۷3VāWm#�6O 3Bنq GIQ%@W#sly~P$f-} B#y3B*9@b.GM9_~|M%ui`&nf[@$#,O Jz \8#e(^<Rx'�\VC2=xUT 'F 8Hh` ߞk?K[ DnR.Dh?NL m a#1}`{IsaQCXq3o$ ZL�ƑLhV_ge=O(8ܞUegX?0x /ݗcn! 2PUu{חk)N`,[Q4s UP{L�A%=Z/4z%2M -Ү ԌQ)B:f 6LM{N�x1,^&t? fn271  ZItݡցrAx 'Kؗ5es:B*Gftʮ[xǾ,{1~ V>sٺ; > pa(go$NXsdQ ifNx7K| ً"X# FHO]u*v<>BZ3ԑ7,sJ .:ʻ'^?B<O`*.6 Υ6G~ϟ Fc]5iv-#єTbt("@,Bx5[j wHPE+3w�4;w5B/ u&W`{(qYS < VeW }z EL1s>ͅUx? ?~w x�Gw :1R0w ; !+knKIF%l6H>oE)h'pz`D;Yu[9s'I$$_OPcej66&$/X"+\ߐ34-m\R {up�2Jje<1w8w0׸ZIvΊj0XўhL2[B+ &Pɠi1GE`_W"p I j~K&SS%ceuP2^(JdHzqjW#_i\I5W;?< fƯܣaЉX{"GIH*%s!xn+vl &Ӿӟ caTr/ShK`^j5U*7Ȩw䖫ՄьcW8_vM Xܔ2/8^TI8|+Y\(┹9v](+iRs߂PX~!l޹ҕgݡB{wnZwKgM k-rRAk$}<Br.͐/V*'o}ɱ]i(K={6 40pZ_82^LXoc1d`7#V %JE<RBVw9F .f|}�:dp hm9( ;dNn1gˣe)ikżtL�;ERBsmL{-HyƝ,#dfڛ4Fs!i:"$埝I<GJS:C-NnťiSp9U胞],^vj "rGg<0keţF憀SnB7G+xu\*e-\߹%P㧂ya&x3mÄ#4St]]: h5|D̺al�KKjBXΪ C޸{g.]C'8 $C[SCW2'(ńE:�MxJ  ulkflrm+xL}ZpBUνń~.H^(Uv _hB`g%!"Oj޺^x.j3['W}P} 8J q2N4{} yUe?MY6{-%~Ui/C3/!B3>]RFMj~v ~ .a -*Sr$<3Aٞ =J`ؤm W*] Ӷb#~'7?HHQ1S<$VȲY\![jނY{Ld\\zH@ 04 vKO>#~.#ijb�@z? D"|Q|jpNyx endstream endobj 506 0 obj << /Type /Page /Contents 507 0 R /Resources 505 0 R /MediaBox [0 0 595.276 841.89] /Parent 500 0 R >> endobj 508 0 obj << /D [506 0 R /XYZ 144.727 740.998 null] >> endobj 170 0 obj << /D [506 0 R /XYZ 144.727 375.358 null] >> endobj 505 0 obj << /Font << /F86 240 0 R /F81 236 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 511 0 obj << /Length 2686 /Filter /FlateDecode >> stream xڭZYo~P �`iavn"$<PÖ0$xHTc8F0G]]WW!G$fU,B$j|^_QGXxaq˹"1_ALp7W I$3;o7ٲX.ˏig&64軼tmaaQ[{&ŏ t.֮IwD^ڍy:@L9 r9QHPw?l\ƞ$$"a,$̞PG]v`4QtTdULZ7= F 쫾6{br͓{24`0ox953%=^%XӰA!~(;;Ti�JKBZ{[;U_N1Ҽ4Zzg땑vU|;N73]sIdπw)`nvQÇ ȳ*[ ( 6*&$$bviă"Epo >.g?Z;y 9^tk= *!8F߬2k&40Z w{՘bA.<&bHO"F,p[}5`/|%!1D2 *.ea|,J`VwDyB$f|�Lw@Cgl*Yf|/7cErHtZ N3 %"mUA^)UNuۦ)lE,WxhuSu7 uԓD<r'|L }Zv3OwO^ JByH{S-S1І|jEd?02Ӣ. � MMVvX $ �Ġ�0SAis? |yC39#F+VĹ6} v,%0x3c5[q8%yCge}x+c * T^Z;cFÌ0đz]>'ۜ BS[k9KhE%C =cyJZ)IJ^טmigWlU> @\SAG-aZS=7PbRpD bt c"y� }oyܐ` I+`8aKTŀpkntZkM':A BDZB;Zڔ~쭠着ÈYnN,6eVx lZqT~ J;u{6$8Dŗ&l?N@Hgi5"•/ ,3U̦,5bo~:7JL~ˍV_ܴq9B?X>Q*n&Nrr3~^A2@HKK,&I0ChkWtV`m 6vTV.W _Wy֢�*["ԥ y0v5'pMaFϫ3<g;͝&`f$LvM_ޯ-p /jx"k-x<!uA0Tx֌dr@!$N'y R6;PeE\AO@]: <!LY_DLiȃ[(_B+g $}?ۦ G2KrM$~`1ŃF=Z*�wYeC48bGS:�%䄅SË]V\[ԈpNz-*pF$AUE@2}=D2S˔|' GD}Myjg LwP#e5kkTfiߝtLQqqS8JM8ษގ@)?st-%�'ߏMf6Y~m*6l-T1b0=>d HxAΗVR#Ͳł* uzbz@ \zIͥN=7 gC8 hF)gΕbn8(*CX~ Ohᩈ8Fd7n#?T<ʪwE:slʵ XCW~klʭ LTEj\;:{߅kcl藽? ާ}=ugā'y{7[nA.z;͖!vk(ʆS�9@6!X^CV׏~e4+0@o )bʏ#B|D769s >oa C CzhFQc#]lƭsBWY Ps5Pw>dF.Q/8{yęF2;Jjl<|~ O+u.wN4PCMQ[ %]pWdBjzHз1y-W3{}!q/j;HЍ.{3 { /[8/ ì2 eZm/B�헼t3.Y-@u.p}WŜ"9Zِ!)WƠJ$xU7f.endstream endobj 510 0 obj << /Type /Page /Contents 511 0 R /Resources 509 0 R /MediaBox [0 0 595.276 841.89] /Parent 500 0 R >> endobj 512 0 obj << /D [510 0 R /XYZ 144.727 740.998 null] >> endobj 509 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 515 0 obj << /Length 1865 /Filter /FlateDecode >> stream xڭYmF "ID:(�*EڪU[TUjIB�!{w!/{]ix6f>"/Y^&|϶3[Bz"e yaKD{~Z}KfKr.;E*f {"ef;pr{~� (R"<?I^emFzQ"9)s&lʁRN9,wr~4mu^G_x~;g9k,̑=d[-Mj]v8֝,Z{\#%trNLK)vnnGA8EYRO{eZ3}gÁjpR4YoN0W4la\T=o\aU@ko`_: ID(#>H8y$ OS/َ":'NOu^Ҝ+\pMB8p庨EVuWLyGgt^Lh /ĉ:AC';E +ImA3|8g>ʙ~X"o[Uz^n@ن_?/vUYl -a 8HJWfNVCJ`hʠgFEprBQ2 [zٴwͥ?O}da\ ]7 <BPA?@ #a h 0=ׄ:%"рCY]^R36I=!)Ld`!617uKkG^'/Ր% H/P;4]"54xp(r}^ ^ ^cgC 5~cpxݗR9y{M}tA[)X^ h>֠;}5br%~ ߲twW.#v(`RL-pMdG+ddS+ ab QW4a޲GZ">g oFZ@guvUD~I6hNN5B=kBgBw{|ƅb -LEVީLbjhz�&|zUU+̜QȚF *9ig!wJ[*Hz PϮQD" MXbcwwJ% Nӷ < &y2%OZs`X%[I8bMP�^Y%뾻0a0B#T} ֠$MI o{6c̚rS&MP\fZ,"16ft&`lD`lʺnwE)Y}C)P+,!Gf? dja>pͨYʿ϶EN]kmG_M,T\t8(^14а F~_u @q.PC]d曀Z\G�s7 ] ]�u--<$/i- `T轚\��8ZzOECmKA'6Mxgxj 3t`sMZW8ǧm'^DV06"*4g^P|[d,!)ysFC5]#"+1ɱ XR쇏3q|Z4b6NN̻R|Qu\3q-[Mg]t ֺX>S;Fʜ a z+s^̚P2c2qZ5 P61أRN3*Av4Ym۬VVqfνvPC�a.%B2zg1>zU_ƃu҉ڧ>qh ŝ}lIK>.8\|#N*C˘M=J~lI&"y" Q&/�TYY ԭendstream endobj 514 0 obj << /Type /Page /Contents 515 0 R /Resources 513 0 R /MediaBox [0 0 595.276 841.89] /Parent 500 0 R >> endobj 516 0 obj << /D [514 0 R /XYZ 144.727 740.998 null] >> endobj 513 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 519 0 obj << /Length 1510 /Filter /FlateDecode >> stream xXn6}W @DBh} bѱPY2tI6;ɲ,tn 9!5C@8$$Blޠ0DОy1 A# ǻo~fxA.8˿~tN| ؘ|aW;QeellGH11sʐTFE+gٹw v {l.v׏L9SB(,f*J^ P7?  ?; [;҈ yr 0E165l*AH|v82׫~+/ŒǞ(UfUM֙@$[-g=e'^fu#ڢ 1動wڊzR%tĶ5o׈iARӇ嘡sۄOo%r:w5儜�2SPa@ӦXmtSG[eU]ԏ88@40Qb7y|ax[";d|`TwUO;Zu.#Eja_nj|}"L) Eb˼FM}u&'FW=/*܁2-),JVjbh-(OI#7߾l~N 2Q<msA;CJl\%Z[rET ._#-.:AG1[l,b cá1L΋D b[bF?D@즬V鷀 KsRG8HvBAH9BʨRhBŒ.l̪&ddV5D5QM6?8ֻF?A?X?O)VћU]2+rWƔb3+_/r`t+�dFҧ+$/#<$][t꤫~RcWe%u`0\QH\U3\\0* VG$ɖh\fetai߫V&T bo8 C)/�/݂#b:M2ٙܺrMYCGs +|rSϦ D #pn9#8yU\:! 8NC\Jm(ҢjEuN8.˔B_3Ӵ}bOK_+{ YQdn9Pz=u,OE-LGH%t4 iEADcEۉ5dϚc%z-kҵPjࡨ�S%%ޓoZѝc Ge]iv=�a{Q Y4j%Z/;BWШYVP3#}Su7To0MGl�ƽ61ޓUU)\uUXvSH?Sa}Ȝ1"6 ?endstream endobj 518 0 obj << /Type /Page /Contents 519 0 R /Resources 517 0 R /MediaBox [0 0 595.276 841.89] /Parent 500 0 R >> endobj 520 0 obj << /D [518 0 R /XYZ 144.727 740.998 null] >> endobj 517 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 523 0 obj << /Length 2157 /Filter /FlateDecode >> stream xڭXm~bE�UQ/Ԣ i/i +ӶzqEi>#3R[3bw C784Mwc%!gAq$t"wC¶f}a#M9U<e# ­PrWJ6m^WZ3/GQPۼBʧo k#b(庠[uTeLX|vUNߨIh&U]yym蟍o4\M[ݣ*e(^<9PVoe>yݳY%G1ޮčX <TJZsښFQ1homt tw,O]6D M(,e r݄ e)o8hǦkrWkB_s̆lvuScN+952{w@눞ZAVdQv=c3OFcJuE;]+KleK==UʏQy GE`ИH7, ¾>$ 0ꊫZWiuQPպmH\D2GBD4q)h)`@ӲϽVw _Os&Jd{9 TbݵǮyJjOĎr0|CNQa^Rqg~8t[saeblD;fsS{=֭v3L0&Ϲɽ�œbmĻGs${ˠg{:x$鍧{Pae7Y]teeP𔩈M60*2$6/r̂�r }}c KZO*B" Tfnެ.KQiq�ϣQ&A3-(u!k%WZXɺIԣh\k" +vԡ0њGZ3s4Ba{#2i&_)0u^ OERW 'C%}cR-{:!GtjTIY o_ZQvMUF7%f<85E.&HiCTPUr -Uc㮩PwŖ $}-ohH|+YJYWAX=M*�fuq: \`WabqEgWd΂^ ɗ#A o!۞_W6,gD)BGY7Lo{i bhB\u%3͊0) $k,2A잙SMO$ԳoSBch*@cGQ��Fۈ^pm۹nX_jǑ%693<<k?NP zLiz28#r=r"n{'\;M?0Z;b6O`?+~8=q xJ#Œ = Vg<Jݠ9WԍPN.ٞ,*)K(hhPu% h#r=hOGWQ:@S\ClLɌ(-u$|]`^o]zT!;ѫ!?ESr|2X\]1u#-GP2]#"{.a㧲bَ+ ,O+vxzOmRd E;5hmuJta8jM(B`"#?X#CW[ K}?R\ 0+y>]bMu޶YW<li{F^Qtrܙ �p62nD=ܑKlRTus ̭jC˗lOXBYsy`]Kp Z'ĝT6['�œȶ?y%XT"YX�>k/@mFA5D#($7՗PbiP6&JМh/^-DmJԚ>K^nzY "$r7HFDaNM"7gnT#jSpNH4l a7 CӾy}xU欂cr` G2Y/#0AG*endstream endobj 522 0 obj << /Type /Page /Contents 523 0 R /Resources 521 0 R /MediaBox [0 0 595.276 841.89] /Parent 525 0 R >> endobj 524 0 obj << /D [522 0 R /XYZ 144.727 740.998 null] >> endobj 174 0 obj << /D [522 0 R /XYZ 144.727 624.819 null] >> endobj 521 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 528 0 obj << /Length 3207 /Filter /FlateDecode >> stream xڵZ[~?b_)MM}X)>вV\I& g(KrZG ɹ|CO4F"Mq<@ן>Id&zsdV,"V1<~Goȵ1E?$=]]/Ly\ HEn唽:ߗE^q\ļʜIRG+{bwQU%/#3ؒ븫jY8:5@H~Cj8(ʾ^F6}2ڦ~aa_5Daz+4dt<;2$l%XT.>|l (&}{pow }(j!ǡNЗ_`Wizk:kt=0?s8|zZR*~˨COMx,]GtD2S-~p lwnn-i21]p;T YSJc]HT V56-@U7<j7(jO};nXP{K^!ANUj/@FוV;th@+Lp=\p]%�JxKM ա+yeRzJQp4K1*E[g0 M/~TW;FO jmZF_ta$IB0>!̬Ʊ 7T-DŽIS[ vW;'~dҞPhg@_CK<zҎ~|q,9r�H{S!$+*e1`S*8Vfsh(ʄI @Զ)USHR_xǮ<ueO׈eQr+s5P_/$ f)cܑ- #Lpy{Ri0-?fY678)V.tv̯י[sH`vM$Ywn=j ~}AG?)4С2Fv˩ Kf%,-4dnnQ)e_vOIFyh&>Ϥd$�[7DA^ʥ@kmcRMe׆ +!RA,ix]rɾlڟ9XgaʢA4]@.hgؓ2$8{zu0e=QWX\ IlDT0' O'p< VA IO Tڽ)@+E0loJ/m#ؗ~xdxYGk<pTH{,[v/4zz VT5}>~ZjO5?%2~� Wص*RdQ%O+窮Yih^W/Ɔ%CZP JlXC }w*yC<ŐT{U1ǭG%EǚYZ|uvM)V;`_hh}h@X�gx,g <XJ#866�<B lAU3ՆѸA{P5� +38:Tm<} 2fYB*jyr^gP=\rOO/녛<ڟ%$oiГa¦E%:ӯ`\],X̋R0s kxcW1#v&6Vfmua(3|U K/w0`UCfմ[73 7::8xS@Q�Q ̩/uhkY /XR x [x @j}1&2~G|D±ýl{*.j''^xI<j~;z^6MV֙!Ԩ38jà <�~BӒoi�e/)$ O]~KFO͟lݯ=ߎ\[^ {tzkȩY'ƈwEQ?ȃmRڴ0mZQR#U2.H.OtK'��-N7]v k o~Uޑ@g�q:z;O:=l&x .K�l2fD|, VsIہɟhmj7pR/*-v; Q!C=XU~RNk2{/%֮EXEb;W X96JwpW6Df�2.V30:t^IlEhX=]2K�riR.tCN]C  %� .=E@VF8r{>X֓ٮf6v@$G(6uCt0AMug+)T2O0;S˰g%�>Gk؇'op^7cϡ&=<1jjAm6Gx[Rol?hU2rEgJU%@3C )/G1瀈M cz<k<O-ˣ1pM/~TB'ɇ!1<BTëbR v{vMpTs93&@`/B#U)_:K89h9gX;F1BL1BH~$.2L7هlĂ|FI%S.B\*̩Hvm/U bN/^;z]*HV+j@o%vgn(FFXI y^*c(1@i}\'{ސ}%~gc$8�'bvw�K<jI�enF $ E"-cT @tJ3ę%*Ghz)S6Kn\zuLa4٨r 1 ,ŵ'5 % oYƐ.s@WoJ>p-ӭav/5~**9C(NQVF{@+o/_ hZP{nv 87ysn4(׷ ܤ+,`aHT axǫ :�>153;LO ߾>^ 8b;!P,Y'/6 endstream endobj 527 0 obj << /Type /Page /Contents 528 0 R /Resources 526 0 R /MediaBox [0 0 595.276 841.89] /Parent 525 0 R >> endobj 529 0 obj << /D [527 0 R /XYZ 144.727 740.998 null] >> endobj 178 0 obj << /D [527 0 R /XYZ 144.727 604.499 null] >> endobj 182 0 obj << /D [527 0 R /XYZ 144.727 201.302 null] >> endobj 526 0 obj << /Font << /F86 240 0 R /F81 236 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 532 0 obj << /Length 2400 /Filter /FlateDecode >> stream xڵYK8Wkc% `gln kH'*(KY$hMQdU_Ql0)ǛXA&zn0Z""Xx^$ Q)._K& R%6wG._`v{pVԃ{Jض_.ۢGӻÉheMU:Vr`?MmdT<EY:^TqITm!잢1GK8ā9r�=% 0nZ$<~ɝe'Ɂv=M'|]m?JtSbٛ>ȇ{ݛ-w8٧ff07h9Mr#P* N;(%NcgPi"}7~p# m?c`DA/%/ݸ`Ҥ5PIAL G|rTp!fX >:7 +n2,fIg9N!m5\'\1sZⓦA"1;#hA?Xމ0} j4YϵP2;vؚ*[S%兣hhon t}|A(D樻k$$]"̱Ht.eO"uõ${.X5W@J![:AV]K78 xڊ3Ǿ]aE 2xzVgpsVcYӶ ,`"d>fNNesKd}4v[,l_ rnbogdCyUϞOՄF$roo<Q/fbϓ9Nr&NJYt4><b~O8^WϕLgS2>5O1 �DXSHid avRkqMւ_M8N&/QAeHv?{kw\y"]x2Ĝ >M�`:Ah> : `t{&�EoZ_C ?~{/ϥT uG-#)A.+@۴%˲ZqhG>pl{末Yp"$$2ʹp,rVb!82W+�Xe6pdja?P4]ve&I{cj  eV<8%E�iL{螎ue1Blo@a*6EPr*; :ZcIh*=,;DS2Mk ];Vc!"1w:_.S*zGߵ$g`;^,`YMo\zѡ ~$+j;K- \p  TZAqqcyzjjQ<9y/%MѼtULw\Nq z7<?\D|*֢�h8bfE )6lP@ݍ-kFlsBtKTS"’lχqO39 n.) +CD'~:6L3R@yw�4?D&vd4*ЗUJCq1?;X+WbIFatJ㮇TU+6 05y~.2SҐ,NQ0K#.j'ߗCӖgWĒLT<J`Mx3eƛѺLgHjAt!_F@g�`s O|vf>A$K_SL{PutAWEvJNj[H9oNї칿)ۡ: S/u\g,j{Rtp;o<rC4Ƥr3ά^qD/ | ~YdnCO {{߂0Ρ5.]aG:c{re8 M,?}jDUgP0y&Og \6j+~Y1.B\CEFU)a[ȯv_ * (P�3#by;=i_0,"XԦ~镅H_g(/ ^W dD�~' @lQgm4͇𦠵?ˋ4wshZHwS9O_,(ϝSiq79?QeLJ޽wa}S Tvc-X_VjjIˡp_KL-م1cgLvaL9~psJ 0<+>V.@T[[ȑZ)KWyɍ4ۍmKdT-d?7k vjh%lw(J+yIg?F6K`K_?ܕendstream endobj 531 0 obj << /Type /Page /Contents 532 0 R /Resources 530 0 R /MediaBox [0 0 595.276 841.89] /Parent 525 0 R >> endobj 533 0 obj << /D [531 0 R /XYZ 144.727 740.998 null] >> endobj 530 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 536 0 obj << /Length 1897 /Filter /FlateDecode >> stream xXm~@DbF|H5H RˢiDH3#RdkWrpEy A$)|Ejo# uKxI(g^x 05?<毊nBgnCo2n 7Daoi@ˆ%(>iSE7vG=0svtJB1J|9[SgWrՂ ϗ-FA8 HHnQowLٲ;g#NQTDmVUcRm1;DS7۟"TyYyQ[s:i (݃noX^ait zHx|Cf*; ~fKL*6Kf?uxڑ"T۬ p\ M<_fI|G *AarOqm]S찯8A89k#N !ś_EgB"+<8JHO8<y5ja< neZޮ-(<Fjuj]X5rv6#\X9Uj^pIzɣG)JSخ\ǥ_y;s,5^5%w Ҝ,sb_T]Uڑ[:*/WTeq^±)PlwMw6z*Kvb;އA*im2 ~x͔Jtn .޲9h@@O-"$!ԸtbG+ lNǝwH/p5fhS17Gnucΐkف|w2E E>:'Śh$l Uy&lje{'uX+퟿\}(r!/6=ι*xZr}x}}<z-O434i=.WT/w؊U4("RO2`6)A>|߇d^ %Pf&qU2.7?> O|7;D|\5Dضxds6#2XʋP[$d МtWE\C:ia r[/˰ JlR(KL_Au.^> 겺N t/"o;:OW/1!Ut콣KC1A`sLL`k Ԩ!ۭdgHZo &ʴT6wRB"lwCrO͛l A0Bq+ymV G|alW_fk̽j7/LL 5@H( %j["%t- AY9.<z0;C5ᄯnR(w'Nwo[{}iI;OjqɇO<.͍ic\1 UCbE/91Eċ #ؓ uy|O] O ɔ}ڢqFikP7zOVVە/;kKHl{Dk Co<{1on`L9YOjl;2V~^kSt/m|>5pD"DsWM{'WRWMĮ Q9k7ʠY@\M'!|o9>/xpSθw.>Vn9-W(5 \^cKSڮ<T#5X7pns$2]qmN#n)A]Kᄱf wHA'}ZV@}}ז"΍ZLq>ڲgtk̡V}pY4/(I0Ԗ|{DzBb. \Hv)iPendstream endobj 535 0 obj << /Type /Page /Contents 536 0 R /Resources 534 0 R /MediaBox [0 0 595.276 841.89] /Parent 525 0 R >> endobj 537 0 obj << /D [535 0 R /XYZ 144.727 740.998 null] >> endobj 186 0 obj << /D [535 0 R /XYZ 144.727 329.925 null] >> endobj 534 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 540 0 obj << /Length 1935 /Filter /FlateDecode >> stream xڵn}"@q�X"kQmqоCOhbHf}{gȑ"X9"@8e. g?"~iU,-2,2LX,�D)MCR8x[C(Us 頏8\IRuOt~}KDӁRRU@h5(q7R[!ZWPAA]"AzYUb!OmT i7ŦAↀIEIlw=xY&Ӈ#T2'[`o1 eH't} 3hum" _x`<:7g3Rbep)%f+u4Նt^QߊD,S5uQBµqD{f/:S}!%ҚXğ*un#AJn߃[2iE9ADz%~ׁ) }b#BAgݖM$q?* YxQ28OРS28UB""4n j̓X 偦@KZd48ǦuHϥte-Ғro״mB?QbFav ]×ƞ@4ze)+UgTm=V 75ܰXU 4Q+ۻB0ƴeGMRoC�\ h]Ӎp&nۦM߁F4 npX7NjQnޜ$ǰM lup7:{ލI\ .X,Qi#k7 9MV@?D߻!#! x]\˯LQeYuW7i*w"^!ʮROz-_f;Y8}r:Uz}Ye :ͳ& !u`GpGY<>d\A(vMo,6ޑG+y@byBYbLp^^WkE^כXDĂp2WۯY&V2 ǜOVZ5%SFSWYjFDDʏX֪X5վmqć}y,e͚]FZ"w}ruK&TYKxVe xߩ",E}[fq?`<Y4Ie%p_|_6YlՁKlW8&JYB^!? rt">ܨ/M%vDR[/PI`*F`룠 +"qG@^XC\'+>"t5pK3;Zb5:gZpm-E ,ߋ2f֌dc<-/qI2: մ}i ɻ^j kHuapC =uE}žAya"vl ag\@5l9ۍ} 9+a~ ΁H;o{.Beq>`HG7N\3�0f8j .0P EF^APo)Q7&=KCð{#iNS~hT�ٓ�0 wgQ9mn೰U`DQ?>cY[s5n橰,MM)֋&]J77vsaMTUG]Om)a &X jkPTc'++B3ٙz͂&8iSq^lppSsYP-rA!mlu$g;7z02PԪ]H-ie] &Y61w/<E;y>e;|uy": v0r?O ?=r?=3OO?kendstream endobj 539 0 obj << /Type /Page /Contents 540 0 R /Resources 538 0 R /MediaBox [0 0 595.276 841.89] /Parent 525 0 R >> endobj 541 0 obj << /D [539 0 R /XYZ 144.727 740.998 null] >> endobj 538 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 544 0 obj << /Length 1436 /Filter /FlateDecode >> stream xڭXK6 ϯeبl2b=@Ǐ;~v&3俗ē8|?")JtfGgqǼX,* @۵ G+g "s~_=3N|XJU[ FLseXS~ K_7Uu^:`kwq2Z{✃ؔ Hε2%bi'XG5$M<C Z)'@a?�:|J,-5xG@oЃ%4$hwc,‰?-\lo͵&d3K{x]6W͞XۛkBOIg.7yy銦C@p)7˪7u@ų'X=.ܲ(>9Um;E*̳(uw<tS:ްəEKPVed/Yþ;6-_ 6tZ<l4>㓋VYTs l2p$:)\U*q*jGO# 7#%/ϤHCpݝp㼑.+&ؒ k#ns9o'-o%I8%cvATaF ;Ǣ Y5ߋ2;JUmuE$Ƶ`@!`6 *Ӧ*K BVt?\6蹒=p˂*<�U}:5dbwr8BQXݣfd=+ JAФ(ir{qŰtp)s ދT1n;8&V<)+W•ʕ3`X欤rq]"Q_tpfb-eMmzᕅ2݆vK e?4˟gxcyV6@BzqԶa 7==̝~ją[5j1P 6(lFӝAxPiz6YQ!MGw]KbS4*4Hh["rFu,T®ӫe'Ԛ˞Ќ8+ޜk>i5!x&ӲmZ г~S-�tS˜EҶ*da;Ã%71BFRK,6TD^cƒjBs89T<Gg׾6:vV-Dz08P% >:�uԖa|.Onя\Z?},{YsT _2$ %~1w'L*=0t~o:Yl¿mJ d)R^jM=]C,3/ЅctC5y2vo` }\mʝpWqqM11C4ⓣ56HO=\cWmCT:*>f'endstream endobj 543 0 obj << /Type /Page /Contents 544 0 R /Resources 542 0 R /MediaBox [0 0 595.276 841.89] /Parent 525 0 R >> endobj 545 0 obj << /D [543 0 R /XYZ 144.727 740.998 null] >> endobj 542 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 548 0 obj << /Length 2093 /Filter /FlateDecode >> stream xYKϯ00h Q$@wM0A949m #K^jwo{PKܖgsKTX,~_.<Gs"h;~OԊ0Hrxf""!(QOkDa^>^Rū<A_}JZ+Лk >تKUT P�Ӫ@E�]SZ1/婮v2mk)aW:jXnEvRmB*[CB©gxȇPw"(D?Gn%IJ\ 6fu鶀Mg# 76UC.,v29atjpZby/,<'F v#)NVco+3~|I;Iɺ+\yN˭Z^ǜ/ =,T5;X}b7f(9"Nu(iUmNE`(KeFAU5iIp5-T62g˪,^_U=&eR&:02EZEf|V<U;*Im-5>#H*1>FAu*Q,NmSgMYanjm Jfwt,VUc̩fl*Iv~b~I򐗧62($a<_t-9xR2KV|++)_I^4*B}v0Nbe2ABNݑ IBlM\1AjxRs՘l-Lb <7HfauB tE/\)fre<ŕ~@LGR,+ 8<AS"W/R1?+W"5}!&c_evUO(G$2N/^o{7^w_-Kηg{޻Fd-`j3e5t H(X_^jlzW5�Y*3� 8^@�!i1b΀< w'|1�'7ptR[K!R!V B#  #5 tC[D[ӓcBE<]-M:^T"DiK` HeUZyaZ|"Ίr];^1ØԠEtZU\eyI& 'NIT[WkF i6l:{cRƆZC6}3 L;bRAGe~lB" _vη(aWq^4^)ϻ ph]3 c?s!f'ʄű)]KS`\u )d⌣E,ny{OEnܝ#6b `‡c@KB,�g|xZ;yW$Uh*s|om^[{:esY8>,$qP# c$P+mYhJ״ڵؔ]*tdNʏr m|(� ΈMP$4懑L'+Q6Ed5.?a7rGxi_"cr9z!l/z]CJdZB,k]az!s5/Ey4hf h} ,s$}J$ʒ3-ooڻ~F>̶=AؾmMx@g}n)׍G2^8wEs֥]`sz s399Ҥp6:@QFܪɘY17}k2hA?r}Щ(fs{wDm[PS lvݟQ&9*Z̛yAa<ZɋhOcC& M)BF͏b͠rmit]$M1)@bBW-p�|~ʫABb §L.|mgziG&vj`H�aGw>V9dm7j3)d(XS/d~t𻶸As77xR/xf"ʓar[!hc:n ?t17_2܀(!Ziwendstream endobj 547 0 obj << /Type /Page /Contents 548 0 R /Resources 546 0 R /MediaBox [0 0 595.276 841.89] /Parent 550 0 R >> endobj 549 0 obj << /D [547 0 R /XYZ 144.727 740.998 null] >> endobj 190 0 obj << /D [547 0 R /XYZ 144.727 536.121 null] >> endobj 546 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 553 0 obj << /Length 2618 /Filter /FlateDecode >> stream xڭk۸{~2P(Qa�M?6m Ð}$ %[V?xDgyoB,қ4Yg7Mxp"`I<12c�Y?MrXv<M$YY&CEjnMW5~69[{{&IXz&Nrg+p[$ wA4MMp0HŗdI>&Q! 3qL14Id!L^9!Y%1s8dYYT|]X}]NEsؑ9J�1dsyf7}:>ʜ0{Mcڙd2>vĄVm^Kdk/sJ9o}z ŋ*Z0f D3oh /J<@4“,x@QX%�4Pp1!-eL:Ϙc:݉\5Z l3OX#9}Qp Z&4; iR.`sx2EDQTR EzS< W7FWx6�Î;m&5~=A&y"4-ʈH:)dR餔7I7(Gߕ="x6BqҠ#;+ 3ߓ�L@,%N@GZQHG$ rEGtMmڂ7%a>6=`dG2xpS*@n lZ'$(2jJ_gjְhSFuaܒi~0{\7m ~A0&` V ]!|Y0Y;QcHז't|`xaj<ߢօ"e,[Iǹ0|~ eB&/Qc ;+46z$z MQ+A1.MI7XDtPIb3N8<"g/Yy hio~؟d kw -$6 UhR*>_<;-KoRnȭ9OYţAqY 2z"",ltK hil ž BZ.<f{F5?A,^hUdkaX:QEeq}` &hKhh'?oǘV(@-:+:~/A,ă>ʯեM >;T]Yۣ;jӍ5 9*L2Zj\5ؔ_Ob::<PO 60ԺݢMT0jt:qlVZM"*iMMEPl|Z2 S*xv5]cGH_6{,:�#NH�{h) s(DtyPϢZUVm9mD-0, SnCWxw4gPUN:"ADSq 7[kq}fs�8 E L67Tц1$dQpgJIZmdPX>(ceM}\ QDx3=n 5 1:򲁘<~2:ٴP-kgnl[�ZbȮ c,|?&B�gmrP V 8sHYkfʱBaGz,<zX[~o2d xVsBE%P_ijWX ߢmWM4tҁ&<gB[we G vf)$ S&J-ZW�gLR9EeQP(t @9@WpmoA -|w' Za֊_px<b# aP-nu_ZZ@P]G`oH$1�'*d�]Sx3S'vo6Tku`lxrad2K 'W2�W%#B 4f2gW$ T5*(sW=]}&]@&LQvF>Î=:͜zUI4t֫mv+5nߠlDŽ"_4aH%ڷ �Hq*]Q_#UaZ-+iDJj< ye8K%L\F * ëb)S;00Pݠ}r_NEש+yJ>ro+b[W(tڷŁŒ5뷯BrHcYw5636}f-z}d3vl/ۣ݁RVi&[|Ay)M<9awruk=w{)rK r"1UGN$ _>ۓXJ{'hy܅EJhЈSkx�Wt&F,$m,^:9 )&?ryw#}~q4[EaYm/_F@|ՓExF+#}ꝓe2)s<u<yendstream endobj 552 0 obj << /Type /Page /Contents 553 0 R /Resources 551 0 R /MediaBox [0 0 595.276 841.89] /Parent 550 0 R >> endobj 554 0 obj << /D [552 0 R /XYZ 144.727 740.998 null] >> endobj 551 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 557 0 obj << /Length 1298 /Filter /FlateDecode >> stream xڽXKo6WXufBhh t٢mhdcw-JLuE(j7/ ?2!$aj^|C#3$끗3LCJ̧͏gUut90vWx+& BطT _y,veEǽïFHu XdS*: ^/ B@VAfia0p$ⶖ]@xexG>E kFMuΠ DOq:+ʟA`s Fb]<#C7{R,\u(irQű VJq\N\/(ynKSq ~B ,k}'ʻFQ/Edu3zem,,\'1to#H\ *ފ,\:L*-3$[ d* yLG(/!W!D8قC.ܬR쪸2_~~XijzyiEl1u!d׭`WbUqКS_b$=9SfA`Og)8jã;qzA0z L|¥Mxad}3pi:eP_޹ܡ= i~Zr/EU\jƴRB:NH0zB]- ߁O?e ;Onu*MK c0ygZ!t$WsߏYG$$i%e0dWe6qږ :aR+(0ɠ$Gz𪇪ki .\>nWHC"]d|֕?sxRGe΂M {o(t*ZaD|9RC^-Z^LG R6I$L؂#Ys eKJ=^k ,`*XYZ3[RXuݩ#T{iy<1ɵIA~w(8w |yE6k)6+ccHmyV{_,onYQǣ묮d3(+rT] 9Fd'KN)8&tkx^vDLR 'H(5!Hӏ5AS``{dnrD=Zm7 _~|Y8rTwe`i֬t,fce 8]faR W),pF=ġAXQ<-$=H x8аH:s<1v699w>(e-y;:qP$ PH۷I[t 7Eendstream endobj 556 0 obj << /Type /Page /Contents 557 0 R /Resources 555 0 R /MediaBox [0 0 595.276 841.89] /Parent 550 0 R >> endobj 558 0 obj << /D [556 0 R /XYZ 144.727 740.998 null] >> endobj 555 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 561 0 obj << /Length 2551 /Filter /FlateDecode >> stream xڭZ_oO,)ur=--PŢc]dɕ8 ߽3Rly-ŮH q#dI$457'~I-N$G^.beXHft{t_,ݯ3!h[}cX5[X;ٶn?m-|!fۭDPipL>mǩ0p d>ʎؕulIeW%̑Pv2ku=Ɩ%+jEon%̎uN=CV89b2:v30=}y.9e fM޶k12\no lۀ2WUu6L<G: GK/ b`_ T7n~34Lp*q.Xwxl%o_{]h>-$&+" "<b}iWe;;]OuVs2Kor+./ Y4%ԧ_711M/AϮ$PZcLJ �oTw]='tEԈ><>C]167۫#&ɡW͞X-1fV`[Tb y&�#jnWRlU78<1XYV-nG9ƫ6vƳl_\~g~y;F}DϠnK;jB t@+`G\qb>ʡ,"'}G|o2u);)̟iSW4+c#dY*HB Deġ ?~'F'q̆D3#`&$ơȩN-Lf^2˟ji?#4G ~xW뉎''O*_GWZW+! L켿Mf)'Dp a5,G>i�68| 5 8J?t}H�bA6YӼ.|Ρ. P| XUDbWu{̵O, %[]_^&2kzsS tIE_Lb<e<Y~u록דfJ>Hnn[7TNULh׶x\J+o|J CoHG#:T̒tmT)I3̠E^봏XZ<FQ7{*8IkcfjFf_Ud5ƶKtH}F6[ :3Zd ?s.[ 5Dq"6 S*XaYKϣQZ,pVh,Yr QӵJz�|uGvU5|SOt)EL t~(:LJ4_r\h+1ANAz ":Oҙ"n6Eےk Ff7f΍ȍa(qLK{T� mt/"/\p{6@xȍHNJ"f=%)(߸[JP?:>! G8 3ɑN^G7aR O#A+C`ǭ i�C)=Пw\I +P6_ۊޓ)z@Ɠv{jkZvN4ŞHd?ƈIݮ͚sHXoD+Jִp4< wGWʼn9@w*kF$}pd}ڑi-�k!"\|qA"2(b3_Ar!()-1Y]y30xp#Ei~EaHm@ֽ; _ PD2hglTD@E|3`($g.29#|~)o,]0[(7Ŋmc883*tyS!|.}Ne3)Cd)M7#T{#ffΙTܜ�` @݌c"S q\v]I >#mk4 c7eLzE;t gI@a_t#)\M*#@ywӴʍs $"sV$WSrYq!SFr&XH. OS85R1i&Vz0) >urUN{l; ="p /'D%G[[Ͻ^)p>-{SR >] h ރ; zD;`Tu[խ59lp ?0ܥ>څYKm*[ҍuRY,]]_gXT#S}$ٲW6)$(Wl/|§'f[7Yw,n#8q2xɞlv<1|^V)me'V1jfN$xͤ/)sLU8HôZEendstream endobj 560 0 obj << /Type /Page /Contents 561 0 R /Resources 559 0 R /MediaBox [0 0 595.276 841.89] /Parent 550 0 R >> endobj 562 0 obj << /D [560 0 R /XYZ 144.727 740.998 null] >> endobj 559 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 565 0 obj << /Length 1894 /Filter /FlateDecode >> stream xڭY[o6~_ @bVI]mP]Lm>(m#^N& -GnRaLbWs%UcRU_a?#ia>d,'<-w1W)Rvu'ߣ."cя~0g9}oTv+- HG4LߕkU9>2"ZgITj_Hm6wj'JXf1>!%- 0JJ !,VzL 8I"ZnpU'JVɲԟb˪xqBo5 qğ.zIP'$͇,ə1}FcIڸQntI_nl5 Bp*M )Izj7 h ~Fz;᥌u67$ I$wKDM;de"t럓K{pXEm7qQeN9Dn#{kgUdb$)4nݹ(vhΨjߔ.e-[OA]-w fmNMUٕ/ -7!3� Yb壪qtizk ӕQ[sM:oPsn1$uAL->mY+#0{Cr'Z$Y 'BuaZ~eK\6Sq_t rrp{s+L�hÜrBL 0�N$9 m@X jx⪖nAP+Ei6z=$ݝlζ9af(1FrFG!b&\`@bZ[<*J[JAAUep,BX*aAiN� u͝`�ˢBqf^[/<< :lrX/̈́&4%YAC)ɋ4r_zd~^?yCY:{ j#͢ +Ppȕܲpҫ\ulhPKK) m~[Xĝ\@nL="OWpH/Ҷ Ұ}dF_yc\aI <1 P'WV؊ pD.V|^7vc+<o}CP+sCfb Ԏۆ!Zub[a詵 (Wj ֒B n +ȯUA[YXB>葙qƬ`n}଑l!4C~,{ݙPI9ѥ3y vE\Se6暆;>a39  18A]^TcE�{YK^7$EN|7; cűM5\AzԄ<[+^ 2ȹ5]◃ׅC_w-ҜTŜT`蹦./9ۛZv6 W/ϒw.05 [N?M0 8P+W;ťANVp7La@Jh>- =dpocp&I6|ڿ_Ej}>/[b{ć<ac;UߪvPz<|{tl O+fd 'xvmk[ch`piyw <.OsMۀK<Ə9%Ļ!3Ogr( _V9R|ٶxd/%K}/\^ oӌ^ g< 'Zpd"�g{?ۜz{NG3JrOih>1Fmendstream endobj 564 0 obj << /Type /Page /Contents 565 0 R /Resources 563 0 R /MediaBox [0 0 595.276 841.89] /Parent 550 0 R >> endobj 566 0 obj << /D [564 0 R /XYZ 144.727 740.998 null] >> endobj 563 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 569 0 obj << /Length 2075 /Filter /FlateDecode >> stream xڵ[oEaO:`mѶ6Y2$:Nrd[B);υf l’d<d %y&':bD,ǹHɄIBoQ$9_;?SrW9Q$rFh�08>s<y*{/L$rДNMcs< 5BB$ŃWqZ9)CV< VS+TًŪb7c1vZ6Metmۃq)r̢;:쫲фG^66 •qlM%K"4?,Ov$c/70R":_@%A5pϱ;O#&2\^;u3ޭaͣ]W}qΜ`s2Z/cbYE&/xA%Q6)7SB�t4#aO\$dN_M^мd8. $$WlM�Z!/vUڭ ]V~֬OJ8K3"mΉd ^eV%@3ų!ik1')'c躸J/^nXvT0pS)ԏ*`}S:5m-9߷;- � 8 2FD4ed6O3& "-Egu<Kai$G:nVf<pl ֬_ݮW6-PUsj~, ̿ܡ# <&k%cD. Y [=cDk/(kR"鼮*$i(�},{e= .į3Ciy>]'RVSU͌K0hwB!N(LxVYF2ixJp:p]V8ɕWUW8In153umLa 2SBeЂ)'ns_醄F$D €G̟qd༔NdNh2<wr.y򇈟djD=/?9}P$IL6=K]aOy$ n:nZ?/};T 0R? x1B3N{u18)s32ᵥg]| { ԑAHpQ !loڲ d9jCg](0uwҨsjOq';<'zyJ7:򨘗jJ<eO˺U^0w. .2{]gO >/a}k r[[Xp۴uj?>m cCis6U sM6�ͧӟT7g9NUH֯jAA0<;A<vu緐+8,4et]3^FAs\<Er쀏FTG[qw%iry_cd8'|kLrY6?W= d1c4>/I@ؚ_`*^ր.LHhuT@5X<?&@WO]Ku �·XRaS徂z]jc>IW;ҐX%nmGJ*/a?sd${m I&,\| ԰);dZbʇ7SFDWfhҩ;p}o$T|p,e�0/N.Ц&Z_# IPo{}i8{x4G@E(q͑=R%.d9xoI6zNQPzTB6^ N/Q}o`$mK] 4~\s$hQZ8[�|ǥDHAlM6c4"`"{_rH �]<�fٕQb'�C}`�p`>H#eA\7T\"e αu!endstream endobj 568 0 obj << /Type /Page /Contents 569 0 R /Resources 567 0 R /MediaBox [0 0 595.276 841.89] /Parent 550 0 R >> endobj 570 0 obj << /D [568 0 R /XYZ 144.727 740.998 null] >> endobj 567 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 573 0 obj << /Length 3001 /Filter /FlateDecode >> stream xڭZKϯh`ڊD7IA6<lLHCI濧U%K&�#X$z|Ewÿ)"/S^gOe:?ơ7ntF^! r/O§׽e}su>w덈UgTQJu-U: Sm-UQǘGwQ?_z\ED?aSl^st((bFo | Η nW/f^UA4%7!,G&<oUjzx"yug5Ac4)2:uj0tu�dꔺP h+≼Mīѥ}+[j٪0j0{ jwǢ蒱{8zc/rWw>*bۮV=|/M3>jBSUwT ŋiA:!3͎cYPrFwJcQA;iEsnܤ50_Ui X:u$QxhU/<xjDPtI e-x& [CőiPT~c_7Ldd+Z"Iw64뭽 [U @TOQ\t9>50nB*Py3=Jܱ⁽Fd2 u a3_x({ #R(bO٣=(W=i ܥ)P@H =0EȾaBʠ9:I- j E:r]La R5 g$Hmh2k[axdZQvs  -.,VUIωv!EUvcoyfH!LA1 #m@<٪צZ(h6: !e}~*eQ٨DH_]F˱v-U).!NjyMYUD!3ݑ i۰nGnlXVU)Lא@|;.gT,xI*ښR0Y]] |MWH_lA(?smX"�#e ϲx]C\왢HXBƉo6%QNPgDI&ch8%zidѡ؛*<6iX 0&fi׃UZB*9,0cE6zF#OV'ت1co'^ƣ] ^h)lۂ+Ds'Ybq�GkXӰfر6Lzk?AC-f~ @]i_dԷHc&, L;)OqkYTx)r nb'T ֲm1.<w _moΕOqscP(TeqON`Fvaa|e3hQ3lꐂCF@X>P 5v!Ι\^]_8IJϛ3%)pVſ /11Yv&�^8 !su y%G`D;0*JGNjqIgj`\03n)Q5~/U4O0 dlm;_ BH_ alVC |W:0A[g~*;�# =Dެ6 F3]{ٶ"JxG�MT@F(z Q5NCk%k Edhq`Op[6b3EGB= %|O Ϗڡ6p\W.R\d9" @-@lڑb/r [fH{08" Z 'RB,VJp,L@Eu28=@&X@I|)c5- }`)IQ^ٺr?~[zi%Ykx7bRq ޭp?ƾ:|z-ѸD �vd%F7Zl{v%phr(]80Ԕ�E;[b=m#EB )U\b8OK,(|$' gG@—g TyT }.Kd7$&'־08ǠK&p"k8{\mcKnF"w!z—8 }t˲2wDcdz ͖MO[l">Vu~XџQy`k": ij5gsDP n]j&h'ͻX #`aQw{QbI~ +Hf$ZNA xXf&Lفb0ځ1(v< eX'6pbAHM<ddW~8C*;QΓͼ(qF)73t.p<Q˂1"C›!85\;uVZ=_}N"1G 6PV݉6�uL Qv4m7`1[A_@yFz<=.3D�4=fx| hm.?S i\*E 4Svel.ٸ%^h=)|[Ol6s1 c~MNoʽ-(ͼtg1(ja |H6 DԜ;/.!3UI 1wׯ_>.[4 Jr_1> -=/{V+ӄ! )—=Uya/Zf1j ހeGx3e(Z/_OGwl뻦=,>>gOW'ک7E~ʸ2u症^-ďXm[[{<yd}OG\d~: / G˅ R08?G0IpjK6�Gendstream endobj 572 0 obj << /Type /Page /Contents 573 0 R /Resources 571 0 R /MediaBox [0 0 595.276 841.89] /Parent 575 0 R >> endobj 574 0 obj << /D [572 0 R /XYZ 144.727 740.998 null] >> endobj 571 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 578 0 obj << /Length 1240 /Filter /FlateDecode >> stream xX[6}_UK/;)}>}p1XƖ3^]Qby'e`"]u3t]`6p~~g)�?pi[3h9^' ~||e-5.YIGY"g唿n紌'u于TK. E !2@-ZIWm7/$od<=;}3?L)Bۀb~ewc7f\웪ȉX|۞|&iLN'8w0r .P[:䂁d@œMfߡ~%EҨdK:q[ OWIY+}rd$UguZ$ʺ#P&^4ӼNA-R=~d^vcdOJW w㲃Lbo)ȡUUhAX;E)EK7uqiL!۔X2@`0׀ߥva4\U"DN�Шwdd27̯8V{2gMf h1;Ǿ[Art(1c ߎB]OS~t%Ta}RCH ьza3RzSTzAs~tu…wSE#&hj& S׬7q^n[$$GdMpoJ Yms|_YLjLNq$m!seEShPu`ܭ=f-]ȍ&N_2M^ZmF+Zcl,yOUՃFt<дmP}Ȑ$*G(#|"oQEQU'!kqx*S\2\;ז*$ҍ]ohR&f㇨TAL8K k\x# w7ΫzS_Wbء3</�{dޕ#H/xt8c:]}Z[I^6C讜! v!t t!ta9n4jLNOڟԗE�" o�QH-ɋ a״s|u^.<C'A bԃ>\ +=\bJmM+| :V%S5`q S6z^viUvUI&ų#Sz4g~_;oTcĞXc_ʢ_NϠzQ[1ՐT7b*V.gEXӐ-){Hxh(t hendstream endobj 577 0 obj << /Type /Page /Contents 578 0 R /Resources 576 0 R /MediaBox [0 0 595.276 841.89] /Parent 575 0 R >> endobj 579 0 obj << /D [577 0 R /XYZ 144.727 740.998 null] >> endobj 576 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 582 0 obj << /Length 2085 /Filter /FlateDecode >> stream xڵYݏ6_dfDm{!P~p-ѶGbPlk �9 3z‡|dq/b4M፿?p"BXxbq%„"dI"7~J"b)l[o-:ǣ0YFQ<dQ'.ditf>nkLWTrŽnH_q8A[Eg~<V5~["߷R@lBv6_@#Qw:l wIٲŌ=ΎHPWg_ ïyO9vM}MkH0N5ho"g|o3`+j@JQs%6+"dZ#tNxd`5C;$O$,l%x*#&A:+YbPdi#ۉJ^g:$ a~(kLYLp%kJYz~}j^|'"`>}v1aD5:#}87zWT1/d]k,MX _F|Pe S} Xrfq߽#jɽ"Q ?0Фd <އ핐 JHK\gEKmΊf8; �$BCjM¯Mb Bo"0 G˜v%/N:-9TNf^$f{UNi'8=q;VnLsf:vW,兌Vp$HjST {pX9eȴqT5ޔ鲄уֺTt8,a5q49㩷5 0k¯ xEG֝wt ^Z6%ϐk!5 a!"y"p2l|$(1wmj ,z]q_d{M馽UKFǏӓ?TAC6P ƌǡ9K?}{@%hzRzO+p9mrPTNd"&Ul0־q Qz`D $ 2?Blg4ukbC>V:mh2ej]QtzACrv󞋨a͖*<% ٲ9M_ѱP2cn~X fDl_�4 _x*E]hKkBł٦KZjY�V"."5v3շNufTb<`i qAs3nTI�)MԦP8MP(`BTe/J#ǒZ`ch e:SłcSapEmo-kB.<CclhN0&< +vn63R (CЎN%u8װ)S5F�[4J7>1x�sZ5#>lλ*ڽv|x:\9jm1N cguW4+R@k-0.]R=Ś'4 D;/DKrEsl-А4D=6냫HjqtE~܄.n0=|JAXP}p oS$H'=d2@@cP-#'0?S?FVepRwh_؜q$,N{ڌ x*g|+=HMjL9>.iW gǿ-CxQ`wRM8To&9/mj J�*4w'<6+Wt@jȉ ~ܶD0Q5eQV8LN,bT4msB/*Y˜}7]gLi_QR:肦5<L7ٲBF7SiraMq0Є[[ 6�4MykJ!KBq4E,+p4� MŜ ndWJ$ɨ湧I$7Se=,1ڽ[:𖆕![4~��hL ~g+JL ?П!.~I`O.2endstream endobj 581 0 obj << /Type /Page /Contents 582 0 R /Resources 580 0 R /MediaBox [0 0 595.276 841.89] /Parent 575 0 R >> endobj 583 0 obj << /D [581 0 R /XYZ 144.727 740.998 null] >> endobj 194 0 obj << /D [581 0 R /XYZ 144.727 182.219 null] >> endobj 580 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 586 0 obj << /Length 1830 /Filter /FlateDecode >> stream xڭYK6WTbUԛ=BHzHs%&V"]Q^{ClkL,"7Ǒc? E>l )QiC{fp5S漿{9Z`SOhw'kְq&޻*HVQhfWwU-v]C[{3=H8~KIy#?1鏛UvFCY;Rޓ5hÖa=,QQiD{�JbDUF$]N/̳auo%[>3y Z;O4M ׻CtͼIIDI}GmYGc=O< ~EkV`?羻a3, mul:~+dOTta:B?≩ ۪UfޝZM9$I<xclה[Z`਒4=3YB1.!(TgT{TqG˞Vf3~E8XmV1Cl"5Qi�7<7|fMkt69�`N!^.!W<ӁCH-_,r :h b~BTĹ !kSǩ>�U\K+^}otsx< _ q;'4AP9UBӂ$k�]9יwАjt M(v1܊<pڴf;"Fek>֚-ʬfm\cB ľnOza eBh`e עg_ v(v@R;( ؍eC{(߿@NᦱbET*5M(|ȯ3r1vhȖ!m q/~vw*O`kBPY4`.Prǔ2"ci)suMN?#(r ꨉM̨h}f v`e1Vke!}lG<;;Y):ŞÞ�.IloU\g?ٷWwNv =5J4i(SO2L>kJCkT9Æ=mMOv*Z[Aut#ޟߒ:'7ap:q}o/TgNc f!f,z kv\q!S*oW v8޲+;C˂ Ұ z:*QSІKO=ښvr+\ o;SP/n8PWNxU9xNb7[?HV[y 93d@kPyp7=P^ L(/Է SI-1QZ'8I8%n 9m=L^,h3(L'M?Vs%DK8Kޫ46zZ7’Hxz9vx>U\ܠ)nyV҅TM &I0@:뤸1}Е4$IžL J 1u_TJx-|QrhFrB<~5j&%RoZ2VP䄚qhW rCm:yaG^Xyfe7NL}OAWawYP�iĚhZ)Z(wBW_,6hzs7قO*BrGJjh'N Zqy_%ɄSd}~T R?G\ QI:g~IKdúendstream endobj 585 0 obj << /Type /Page /Contents 586 0 R /Resources 584 0 R /MediaBox [0 0 595.276 841.89] /Parent 575 0 R >> endobj 587 0 obj << /D [585 0 R /XYZ 144.727 740.998 null] >> endobj 584 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 590 0 obj << /Length 1124 /Filter /FlateDecode >> stream xWK6ϯȦ"c`snVnwٵwC�F<Da<ù3#UY'Zc/ZE^ċm}/ [0Hر ؋XD-c\o]gܣh>|_%W"B* = 0:;H&8ccMVtSaLJ%?ÙL+p̴��Ӫ,n%j8VLo51J+o9aO $KO,<|w7+QeVc�Rvo0^NA1�t6FO)8I[0Lz02 eG5%h pr8fy+)k^tJ\g—uͲ &\߉z6W"橥MFs:]К=,۫OikJoI傎m_ l< ,NWoVi0c{<r}0;M4h:\�R$8Ү%~xcb:Pyov-̶;L[߬iv>"i۽3_YUE^6 #pB`'m`Ln6ZLB2}Ҭ̬z+ڋ\G/.xs..g\ y~4´niBlOx0qb�LI@Ek{~H&Gcm4dſu#:j9xnBh #x1CbGVhEF|�fd?~1 Dz5ji;^f.zZ:Cbٲ- 턩\^vLPtCVlEL L??C֊Zg 01PYjKOO'ivH$^=6K6-o_w>gA**;򵻽: &y4rzv̺z= 5}zL'Se{\;H cN6,M_M s]߬|?CvR"H wMc.ttU۽UdOK2I ɸCDK2(ФLendstream endobj 589 0 obj << /Type /Page /Contents 590 0 R /Resources 588 0 R /MediaBox [0 0 595.276 841.89] /Parent 575 0 R >> endobj 591 0 obj << /D [589 0 R /XYZ 144.727 740.998 null] >> endobj 588 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 594 0 obj << /Length 1059 /Filter /FlateDecode >> stream xWMo6W0$(QMX`[ѷdÐlve+R"5oy$ Ȃ> p /z;Ѐ"ڞ\рrm3a|Y;' lةݷ_z-8QCp3&&΍mُ+y_u.VD砟_Cy vzZGIU)cʼ Fq:Dw/q|i_reT&/ =<�yY[OWbO�edCjIב?�NTj_pPSIvxxΟ]YݨT]ӍMzvxl@xQuHݯ=]C�1CLr3Fl%EڨVQ)pR 솔}'5�>,Yu X/ơS�.hMK:w6gJ%ۼ**dA=qu}Va0ѡNg)Tt �<]lcW]8"'j[JDEzuͲv+$6 Vrgpq . 9cqu>b?7֌{cUZeoi*])[6s6`Wʜlo^SԹBpT d@ ?�dTяlƽ1%REK+ zFcqq�vLɩGq|NPIr\9$51נ y̪QB>*D01$&q]?ǘCvhsbLC/-B]YˤQ򰭎u{9{٢ӡlD|@�k|I'sۂe^Ym%,ϧ.q=OT8')(-TRIm$%>-{a@ZI6M#�ח m,\eڶ֋B3j#3ң�S]gC@X9\q\6K&bŵkZ#Ŕ nht(*=C?>endstream endobj 593 0 obj << /Type /Page /Contents 594 0 R /Resources 592 0 R /MediaBox [0 0 595.276 841.89] /Parent 575 0 R >> endobj 595 0 obj << /D [593 0 R /XYZ 144.727 740.998 null] >> endobj 592 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 598 0 obj << /Length 1285 /Filter /FlateDecode >> stream xڭYIo6W0j_Ez)|PJmJv2Ȧ~B }|| Iy ~N'$t,Ke.vۓQIeK*R' R(Ngb/맟"v2ʡO>["u8~섑!7>GFxu'GӄO` +efC`tdGGYn v8(8%qo F֫ms>ʶC ]ݮ8!`PL (-9<'�$Y]W<ըCŘ4tC6SD}QPGmHq(W4NWHNMdM(1Z:j+ o_کGi`> AeJe z!JFmXeNPQRJS~Xv:˗NYS65[p 8ÂeYB {~ο(T2ae=źB?O6'Ҕ]xKbW<W{ 5<?0o k2><9߶m i1B\Oɬ r :B+G7Dɵ%\b૓V\ ED76R=ӧH+D|_I-GGȝ=ri4ur:Gx fۣ!;(ׇ~BWrl'd,q/AdH߱ .J8I{^yvh*�A핅ivҵMm'vHcCOn[^OAneK_K0)vot,U$dڂw6j &jGn\kG _U[qgᦿGc@lMT8Z.TތDtHFw4DO!a<K4w=X!Njױ}ȉIz;QƅCxBIRUvM .\.E`^= #I>Q:Q9LdCdKG4Vb @&&~]A#TFϓϘ=A|߶X!{e[R iQ+"뽩/( M<B"RBR^P4M#-H}̰H[6'xBe nM]< 9#r8\b-<.KQL_:2 _:T2%{)ۯ(�B.endstream endobj 597 0 obj << /Type /Page /Contents 598 0 R /Resources 596 0 R /MediaBox [0 0 595.276 841.89] /Parent 600 0 R >> endobj 599 0 obj << /D [597 0 R /XYZ 144.727 740.998 null] >> endobj 596 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 603 0 obj << /Length 1037 /Filter /FlateDecode >> stream xڭݏ8j>|$Tzi-oJ5�8ihzЮV3̌F W 'E">R?(d2ĉD6'i-"Vk=uU% uHzqcd|A~Pеiڎ4lNCK.ݯnOWuֵ ڋJ6l<3ԫ5- v!ǨTn!6!1PM0"#r҉m e);7`XOzK4|'�DpRm= Z Ѫ^vtX '\{EIKFbb!FN#yLm; HHG)͎Pv5M#0p& \(d/ӆUD/A{½^�(~sW` pS4)#<`TRy>:�'Ş49}dDū6 V!`e=վe30n<npq<ÿsMvSN�Zr l̄;I3jo4/؟31S!5@OŘ ]wwH Q`b4u$TROmQ(HD5.ˌUre H]~eSxfi "{| ouSF`$3ZM]Bv(Wma f:1z:TPOf( v){}'>rQ6#SuޫVfkkݪ湳% @3qTgc^sh;~x$U5Q!?~Ȑ;d Tv0-".!V?#5&L6%ϑV]_z'7;PSbŤ ,>+%|wZ& CofVrbd˱"+`.dەgYg#MAւZF7㽒|:n,-(Y.[F˕7Qr/%=+>endstream endobj 602 0 obj << /Type /Page /Contents 603 0 R /Resources 601 0 R /MediaBox [0 0 595.276 841.89] /Parent 600 0 R >> endobj 604 0 obj << /D [602 0 R /XYZ 144.727 740.998 null] >> endobj 601 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 607 0 obj << /Length 1713 /Filter /FlateDecode >> stream xڵYMs6W*�AdzQ;~Mvh 8$c;"J X],hvI]$!22$ϳr{A/o` E$ '\dD  e懌]$׮VVjWr.f_eF4՘*xb[ܪw^zk n:P�nT?MagML<U0lwUjpi �UuSـ2A|@t8PBYzko]ڥ %4㈟:%ZK.{*wUW]XYglās$vk4rnre֍ڮYܷd<&ྑcj8\YaPY,Y*7 oL<fH6EW.#^_XK!2R@"Ku3B$]Ytܪ1wL�wHA\v|1dJ!cȔ^Zi^WکV7uX$abn]D QQY;.dԷ~n"VfFMq3[-m{Hu]U߸iEޭE=VP9<ݥoGG=Tz٬d�[8'\hbȝsj񌀅JJYy! <~J?ۻJo6f8o/zC@$4~ם0!Po^.l4R%h?VF[ACWioAڸAJkBAUXmY6F "qBULtwMMTCj]eDoNIT3j܄7^-yӺ+*TPg0<8Ϙ�._ҫ %ME@,xO_<N =<ѦsUb8ļ9K\O̕&,bׂ; #vS~㼆3Z/_y!VY+R<CeWqw; u‰̇ת,l 9Nճ&k-4NWn(2ѱ B6nH [аni15 ,USpm4ɐ>= i.;)Im>? )6g恩#$>gď>̝R#0qus#9�n n;$< \%PgzX9rdޛ;+ &`WQ0x؍Qx>Il'.gP,#C{N]ٝb)Oֆ(yB`rS%ĉd JqD�=B�$" $hEU*=SJpUk /'lMJ5}mSX0t6NGXSK]WWvӭ{(n&9);p6q\]oନ]0#g<yFÛL8F޳Y| m 9Ysơve'|]8u^!Iא~[Eӷ~Z&Yid|guοXŒ|FG7}s⽨/mn?(1Pwd٢pDC"R|%@Ǣ_Ks݆|,zZY* ?sK_] c>!Jendstream endobj 606 0 obj << /Type /Page /Contents 607 0 R /Resources 605 0 R /MediaBox [0 0 595.276 841.89] /Parent 600 0 R >> endobj 608 0 obj << /D [606 0 R /XYZ 144.727 740.998 null] >> endobj 605 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 611 0 obj << /Length 1871 /Filter /FlateDecode >> stream xڥYn6+) ׬'(hABhK72)$7ȿwdEvb:E9gC.\ $E$I"߸4tC$4g`E |w{."g[z$т$գčqy~zʸLϊ0`4$Q2Sn~e>pAI>1'ub!O>ޮ_XQ م6HٽtqIBm:Y6xazXV49brALg_In 1 HtJEidǗ+/NW߮0M\ڐYK%ŮKT2pCHo#޴6]ʶ8FVH M:`6wk. F:=30\!pئYIѥ(N?8%<{ɠ <)ҥK:&Fŷ)su o7{A`SKAo튲}YUZ7ܑsl> &|PraB9'4k.Ҫ{DsΗ5Z#M藛 s� !J)B۲(i<'쮀 bC"C[7/Ӌ7Wp ӓ}B}Š-6y苼%^Ytٶ0bҨgC*hbY0UrV3C[~᫗d_-XV $K0d$컺ְY@l4m~B xJqP+3:D991 Q삚e~%O{gl]:bIF?|\,+e٨q1ڳM'(2|?$ A+b\Fh\uvYM.ʽ~(EY7KEs-\@b$� Qlyp>|ݷIh`zs)L[!Vǻ/A>5?{2 %ۣPyȸI`u]=Wy>*R\ tsh @/djAi]름`PM ꘅ~-9rodI[9o˝0c)hcNq0P `ߔܸ)櫾u`Κ1-ÁD1o/-R?(J~Åw1Sa'LB ]OiLaɠd�\jZ+J°bO�QHs/b]15LEa%T o> 6ic,HEau|FS>�2 3c[usYک#Niw|@'wUPn^=qNcUyj mkw5Ce 8E?$6u:mekǞoޒs?"A8^ )5Գo!WTg"=Kh}z xi/$G||T{|4Y>gxGhyAPp:ԫx5Pe'7)b9ef |lͫ'V;}}}hiPV u_eR8 -At楎FvM6Oрk9իր2'40vnu흶}kSL0u*E`T)~hj mQ54|�@%Ad)(Qӂ`;>vdޗ@1J$93\p6r5~xCv(eVJ ۻ{tX-'δMwV6}<=,yn52#NH7!L�Ff 8Fxo_֜}I<eGEFHD1N940.\<0eendstream endobj 610 0 obj << /Type /Page /Contents 611 0 R /Resources 609 0 R /MediaBox [0 0 595.276 841.89] /Parent 600 0 R >> endobj 612 0 obj << /D [610 0 R /XYZ 144.727 740.998 null] >> endobj 198 0 obj << /D [610 0 R /XYZ 144.727 487.936 null] >> endobj 202 0 obj << /D [610 0 R /XYZ 144.727 270.772 null] >> endobj 609 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 615 0 obj << /Length 3177 /Filter /FlateDecode >> stream xڽZY~_1Ahv:<L`<P5b"h؍ >8.?sgOmzF]y|=ơ蕇tF~4wo>*qsw{o }U4utqAag!A ݹETNTѪ泯2sy 6&󓌏SKϭ8<B?VqSi]G6RwcECcpj{ձjsCQ] b=+ }CڒVߪYQoUf^9]Sua(*mY]'cִI=]8 o!^xz/<P-[Յ4}1{sP/oקݪv(0#܂nESÅ%]xk6uLJR;P]x9/zD * D!U;AӮX~sV^o|<mrIa;cU7֏bKWz#?GwL>b.9v neʸf%y&Ӆߙ0zUxk+Iq?G3j؆t*FVS)kDbyt^͖E섽aew<(n3oo+ŋ[y GyUpWAn [ej9wMӱYHSw+D{%?Ι8 rov(B݃ 8we (\ v%Nv (^k:g~~[FU5S j`n%lDb |^z}DýYSa/ZUqܺ[&y[TEO&w84ѹa|TXӜc3e& y�]e�$-K,eRp,ucɷCX(&^GMߛ̓|f>JKGF\d8ѤI~}6,;fU^6V\Xr"ta/%؁9v<< Q[;T:M<534^pҡ+;^uVX_r"0pKi( B#M!?gрrF)$vMZߘk>Af]fUN#CU%־D%npPΠM6#Ǥ. J)s1еcA(!źұ8d.�tXbbrCY1 /4Zn?de\(&}<9^#EU$(`{ooM|)B,@1VM3+H:$Lǩ[d=Hq^=ϝ=r6{p8*z; 慦ڠT8vg\rJ'X:;G8o\De?.xz .; b T4F0 KD1{~$m^l C75;g&%�`M42a-$%%F4.1S^*Nޥ*3փ9^~bcty)GXg')�񸿼r@[Q˵aVR  ^Uz^4̿V8 aTbD捝 i[D j_ ᑇs!a!#Zk6L#Fk0f$KM`Pc1nuWNO[|+nTq淽$e/Gm!%,7 :ƋC?]=pTGa>_iۍ&i7K/G]L%}lSQ\WH7p[m1 9 E]jz' nb26\\ވmb8}cc�-] K!1a0 XjFEġc'72dZFP^Dj 0- MiK"dV(dw~j�vx_Ð 3: rAU�, Nꇂ9Li8"ڿi7RbD\hٝ4G^PGMR2|VTDY@,I:STľQ/d!_⹥+$XD/Dq XCl:ǢXOV-aNduV,&v><('Lp#O}q:pS(+%G[}�~US:Rt-vf%!l Z؈8Q7VO'r}8@lr/AܫRE.""C&MWmUji#bB(;><0;mF$qk#Đ䗽YkMp "\fenZe8\jckc,d;Q]%NCU>_oi~1ͧJ@{v+I%~ekPm ͮY", Q" əhI~ Ѯ9|2yj>WF/H-2|hy]{+M:VǮ3Wx$m'r1,I6á>u 5~hܗ6͊kK*yŋ]?Rku"F-W ^dn2 HDJcl9QBS/'uWȧݒ>tEܺ7)_!BDG VDPawgj?(~з.z<9NR[;нȥA|SKr0znWyN8IC]|*iB-|k&4Plz.!+h; B1pS?0ˮ.=ܕj.g5_:?եq<u=d&w+ɯb);e[\s 6]wjG3@]u|tk&6~`5vxY)RdSf,knæpעR%{dwWtR&$|Q]RABJ$aEq>HInfAʁl6?fe?]gǹnh #Ŏ4)~IF2Ĭ}AiG2cjn|l[qendstream endobj 614 0 obj << /Type /Page /Contents 615 0 R /Resources 613 0 R /MediaBox [0 0 595.276 841.89] /Parent 600 0 R >> endobj 616 0 obj << /D [614 0 R /XYZ 144.727 740.998 null] >> endobj 206 0 obj << /D [614 0 R /XYZ 144.727 716.092 null] >> endobj 617 0 obj << /D [614 0 R /XYZ 144.727 645.442 null] >> endobj 618 0 obj << /D [614 0 R /XYZ 144.727 561.755 null] >> endobj 613 0 obj << /Font << /F91 244 0 R /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 621 0 obj << /Length 2163 /Filter /FlateDecode >> stream xڭY[o~_a\"u٧lݢb_:}%V#K.FCRW+<]$(:s,+9qrE|[OKD[q9'wk{0s|O?ѕC|>G0˲y;:+!\P+S| Y$qY=YYݜ<!c3tw4~#�ij^&h#b0AGTN;Mڙ ֧TcGOA6)P2,Eӣ#j:GRA(μBYmR%Hw8oXÛ!+B U_tȳ{fХtFCtϡNvXqUX:Z*]jvXÒ?&>HThQ+u-yΫb & �r?VF{*HrfH`^u-'Ψ&A%/@z~+$MaٲoJEUÔ׸:Ɏ+8 yP&_y M)`/<B1h~~nxX<B=g \�KC=vV?Ry _˂IJ}Ўvbe!h_'ϭgm om ebZĕNfk!.C%XQOO펖M<Ъ[@(paʹ4-T&EV6!4Q$WpZsjbs0Pd/F#FU+;a,{>v#+٬! [)„ #8`84uJIr+ϲDTH62NUmS2Hڊ[Gl҉B@q>oi#FC0 Jňip)7 Ǐӣ[{BY>H ƍd30"LEk{D\5[~1{əĚu M QBwd ATG5%&5YL�s pQF^MTXYimQ/"ຶoGt4X0ۚ &UܟzliuB /g`I8%3*r ~Q#y95,Do\[6;.{6ox}=41f GHak; Dg^b H2^*B_c4e\"|wp-zlͳ({R,S.xwe9p� >{h}V3}1A+"vYCH rC|0L2se\`Tj`39`>:@m7~g.hCbSV%Sm"8Լex Wñ !"PO,kί 6הxcZ74Yex1 >oq 5swA( Dt NmS7e7{ e>Ln(dvЀ쌣]T9e26(-M{ߺ&ľܴMs(SWă㘽8f/i~tˡsA2ݰFK̲MoY^7=jhfbegpTA7YoJYUTa.d;[G�'Z`n1b{@{ ҡNɎ+%b?IV, ,B]b_<_Ёf׸<I>evgӻ{$\:JKՉ 5>wJZ`yϟ=> y=7rGLM)zen(_FO)|?|b {(IYEP l% xB)(VW~Ę]YUqm EAlڀUǰߩeop0u=}ODV2dR(>-oVܬ8 1y cz=NU!EIa|u~ *UpO[e$iUɻBch?>UhF͍[wST*۠HZ?S:}l ڲ czE$Fn灄ˉ͝)KAYO83@ew݃7l~vendstream endobj 620 0 obj << /Type /Page /Contents 621 0 R /Resources 619 0 R /MediaBox [0 0 595.276 841.89] /Parent 600 0 R >> endobj 622 0 obj << /D [620 0 R /XYZ 144.727 740.998 null] >> endobj 619 0 obj << /Font << /F81 236 0 R /F86 240 0 R >> /ProcSet [ /PDF /Text ] >> endobj 625 0 obj << /Length 2106 /Filter /FlateDecode >> stream xڵێ6=_a VbwI hY@Zm!UIA琔-Z3DQ~ي$*iWtuWzѱˍ <%ItG~ [$buw'wGwQ4xτmfvvo" N&Q4]oPGOÚXdvk"S@>*Zk,=/?7pt葙ՆPOFR-+z#zMxZ4FhTftA ({] b(k-0%Cض̻.GL9U�<]uՑ2MR0. ۰4&*f(I%sH9ɉjǩ":eSF~x _o(z<T%#t+7x@HzMk"Քݶ NlP$ fOs{9~kf1.q_sy rTۡo۲x8{BVYo4N:.cPG\*DXk>eqt72Eqk[HlTKU- 覭{.P ub 4S,]LݰSņ[Jbx9.Zcܛ;gHHYLsIܗ?fGӆwDY~Mt%V@3vCb?|3eėg%%w95}e%w'G9ˊ| }^,(`˨ 9OJ.0Wz[JFpj%,qT֭XC8@;(|&xrsGҔC$<Q#nDr |. V*<))LfK[mi!oUyWG7t)N& 72!L0hG~Mq?:�3fQZPW٩Hdr7�rI!\\SҊħIFytQ\z ǵV~sě-/7050{b`T6/1( -͙'H\ /+v"/ anEEi!DuebEyAGCr0_`Jf7q7nfnL 1x.䨜fh ^4~�1.u)@`BZ%//@/`r`97fRx xAy#LPQSǑ|O+E/WuƫpΜr0tc|*wbD_vmzG;zn ~JBa!"~$DB2l~WK��liCr7o: 䜣uB6zxcֿTo@Z'=C(4TXFm$9ᆥg`ws 8DgGu4=Agc@=@n&Px7s oF>xNVD' K&Dwb+4 p+.@mv&bRy39s)vJKU<_\BNIpEhx%RU.@ކ4ۜo,wA͕NNo0:]7Wra5~N}[K[ͥ8a;4M݆ 7=,_h#c\ 480 7Cv1a1NAbzu6,!k@$NX\:=r֘]�t&gFSi۪0b1s͝8AOytʉU}Q(a@q]GN\uN .a28BIUPV7WfItcW}O 񒷣2v_ 4l( .<G9}5ަ9Ӱ[%tŽ A( Yrp¸\'ph?s)8_Б>WY ;z7'u�S2Cn]C ^py:OT0{96m]_t7m4?n,f$q]'P. ,endstream endobj 624 0 obj << /Type /Page /Contents 625 0 R /Resources 623 0 R /MediaBox [0 0 595.276 841.89] /Parent 627 0 R >> endobj 626 0 obj << /D [624 0 R /XYZ 144.727 740.998 null] >> endobj 210 0 obj << /D [624 0 R /XYZ 144.727 236.729 null] >> endobj 623 0 obj << /Font << /F81 236 0 R /F86 240 0 R /F91 244 0 R >> /ProcSet [ /PDF /Text ] >> endobj 630 0 obj << /Length 1583 /Filter /FlateDecode >> stream xڵYYo6~ϯ0, 1+P0Zl @_݇nhH!Qqvɖ6417CGxp؋gq$!Myζ06KGQ�=2}b"Q"|Gg J"U|Rf(ʁaf%Տ6̪Zȹ|q-KSSg,[DGmZaDrϳP( C:%NC3&>K:qLU+Г5䜡" qN`Y=Z1qmɸh!emQ|6\{00~i/�D 48}~VKm?~5 %J^7m&%ٻ}]ma)p@\2^z�fOZ(L"AaD^x<`c(ݦsiŚ`PpIBzH(4fUR nLPt3CE[Z{8Y4mTd.W|C =M^q.A:C8R=ScZh~�^]r13-9L*RĎ:GXYB]*D PԘw^ >?}PBI# i'-C=N2�6Q@#hg%"vލ1IH:Ae=qkq%6\/L5v_]c<=+Xvu@{<7gl 7\fpmp`'yt=: VB0ߥ^_bꚗ.86('^5=@l4TLzP*(2Xs"E0=}l"lKݖNijp0p*=߂?\ ]tɨyjJTK ,"M-[6۠!gs =^, 6gwFrLjy[*妭*\|όzԪ' GޏwvX-.JxY E%o#o#IT\#[͟FOQ&޴xVPh͏�ZP`Cp6ZS?:+s{Nlם\d?m]F ) Y~^cՁPM$H8]x^zlx qy=ҝ{Il�uTb_x$S]wў-6meγ^:c~g$٘9^9Cǜ]BmQi!)>QQ-RǮo!ab_5Ne~wTmjWb2x2&zHsL:V6+kyJs-A;z6ݲ7\y@ŰBuГ]!="D\e0E�"]/Pncv59-[N[w#KQ7i=֌>je9/V]'iע0܃blٰnbɿ婪_3uݽ_(t-pcHx{Aa2V�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/src/ltxutil.dtx�������������������������������������������������������������������0100644�0000764�0000764�00000312764�07332604132�016531� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% \iffalse ltxdoc klootch % ltxutil.dtx: package to add utilties to LaTeX % Copyright (c) 2000 Arthur Ogawa % % Disclaimer % This file is distributed WITHOUT ANY WARRANTY; % without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % ReadMe % For the documentation and more detailed instructions for % installation, typeset this document with \LaTeX. % \fi % \GetFileInfo{ltxutil.dtx}\CheckSum{3641} % % \iffalse ltxdoc klootch %<*ltxutil> %%% @LaTeX-file{ %%% filename = "ltxutil.dtx", %%% version = "1.0rc5b", %%% date = "2001/07/31", %%% time = "12:23:00 GMT+8", %%% checksum = "3641", %%% author = "Arthur Ogawa (mailto:ogawa@teleport.com), %%% commissioned by the American Physical Society. %%% ", %%% copyright = "Copyright (C) 1999 Arthur Ogawa, %%% distributed under the terms of the %%% LaTeX Project Public License, see %%% ftp://ctan.tug.org/macros/latex/base/lppl.txt %%% ", %%% address = "Arthur Ogawa, %%% USA", %%% telephone = "", %%% FAX = "", %%% email = "ogawa@teleport.com", %%% codetable = "ISO/ASCII", %%% keywords = "latex, utility, kernel", %%% supported = "yes", %%% abstract = "package to add utilties to LaTeX", %%% docstring = "The checksum field above generated by ltxdoc", %%% } %</ltxutil> % \fi % % \iffalse ltxdoc klootch % The following references the \file{00readme.txt} file, % which contains basic information about this package. % The contents of this file are generated when % you typeset the programmer's documentation. % Search on "{filecontents*}{00readme.txt}" to locate it. % \fi\input{00readme.txt}% % % \subsection{Bill of Materials} % % Following is a list of the files in this distribution arranged % according to provenance. % % \subsubsection{Primary Source}% % One single file generates all. %\begin{verbatim} %ltxutil.dtx %\end{verbatim} % % \subsubsection{Generated by \texttt{latex ltxutil.dtx}}% % Typesetting the source file under \LaTeX\ % generates the readme and the installer. %\begin{verbatim} %00readme.txt ltxutil.ins %\end{verbatim} % % \subsubsection{Generated by \texttt{tex ltxutil.ins}}% % Typesetting the installer generates % the package files. %\begin{verbatim} %ltxutil.sty %\end{verbatim} % % \subsubsection{Documentation}% % The following are the online documentation: % \begin{verbatim} %ltxutil.pdf % \end{verbatim} % % \subsubsection{Auxiliary}% % The following are auxiliary files generated % in the course of running \LaTeX: % \begin{verbatim} %ltxutil.aux ltxutil.idx ltxutil.ind ltxutil.log ltxutil.toc % \end{verbatim} % % \section{Code common to all modules}% % % The following may look a bit klootchy, but we % want to require only one place in this file % where the version number is stated, % and we also want to ensure that the version % number is embedded into every generated file. % % Now we declare that % these files can only be used with \LaTeXe. % An appropriate message is displayed if % a different \TeX{} format is used. % \begin{macrocode} %<*doc|ltxutil> \NeedsTeXFormat{LaTeX2e}[1995/12/01]% %</doc|ltxutil> % \end{macrocode} % As desired, the following modules all % take common version information: % \begin{macrocode} %<ltxutil>\ProvidesFile{ltxutil.sty}% %<*doc> \expandafter\ProvidesFile\expandafter{\jobname.dtx}% %</doc> % \end{macrocode} % % The following line contains, for once and for all, % the version and date information. % By various means, this information is reproduced % consistently in all generated files and in the % typeset documentation. % \begin{macrocode} %<*doc|ltxutil> [2001/07/31 1.0rc5b utilities package]% \fileversion %</doc|ltxutil> % \end{macrocode} % % % \section{The driver module \texttt{doc}} % % This module, consisting of the present section, % typesets the programmer's documentation, % generating the \file{.ins} installer and \file{00readme.txt} as required. % % Because the only uncommented-out lines of code at the beginning of % this file constitute the \file{doc} module itself, % we can simply typeset the \file{.dtx} file directly, % and there is thus rarely any need to % generate the ``doc'' {\sc docstrip} module. % Module delimiters are nonetheless required so that % this code does not find its way into the other modules. % % The \enve{document} command concludes the typesetting run. % % \begin{macrocode} %<*doc> % \end{macrocode} % % \subsection{The Preamble} % The programmers documentation is formatted % with the \classname{ltxdoc} class with local customizations, % and with the usual code line indexing. % \begin{macrocode} \documentclass{ltxdoc} \RequirePackage{ltxdocext}% \let\url\undefined \RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}% \expandafter\ifx\csname package@font\endcsname\@undefined\else \expandafter\RequirePackage\expandafter{\csname package@font\endcsname}% \fi \CodelineIndex\EnableCrossrefs % \end{macrocode} % % \subsubsection{Docstrip and info directives} % We use so many {\sc docstrip} modules that we set the % \texttt{StandardModuleDepth} counter to 1. % \begin{macrocode} \setcounter{StandardModuleDepth}{1} % \end{macrocode} % The following command retrieves the date and version information % from this file. % \begin{macrocode} \expandafter\GetFileInfo\expandafter{\jobname.dtx}% % \end{macrocode} % % % \subsection{The installer file} % % The installer \file{ltxutil.ins} appears here. % If you have retrieved the standard distribution of this package, % the installer file is already on your filesystem. % If you are bootstrapping, % the first typesetting of the \file{.dtx} file % will cause the installer to be generated. % % The following modules are used to direct % {\sc docstrip} in generating the external files: % \begin{center} % \begin{tabular}{lll} % \textbf{Module}&\textbf{File}&\textbf{Description}\\ % doc &\file{ltxutil.drv}&driver for programmer's documentation\\ % ltxutil,ltxutil-krn &\file{ltxutil.sty}&this package\\ % ltxutil-krn& &the portion of this package suitable for inclusion within another package % \end{tabular} % \end{center} % % \begin{macrocode} \begin{filecontents}{ltxutil.ins} %% This file will generate documentation and runtime files %% from ltxutil.dtx when run through LaTeX or TeX. \input docstrip \preamble This is a generated file; altering it directly is inadvisable; instead, modify the original source file. See the URL in the file 00readme.txt. Copyright notice. These files are distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. \endpreamble \keepsilent \generate{% \file{ltxutil.drv}{\from{ltxutil.dtx}{doc}}% \file{ltxutil.sty}{% \from{ltxutil.dtx}{ltxutil,ltxutil-krn}% }% }% \ifToplevel{ \Msg{***********************************************************} \Msg{*} \Msg{* To finish the installation, please move} \Msg{* ltxutil.sty} \Msg{* into a directory searched by TeX.} \Msg{*} \Msg{* To produce the documentation, run ltxutil.dtx through LaTeX.} \Msg{*} \Msg{* Happy TeXing} \Msg{***********************************************************} } \endbatchfile \end{filecontents} % \end{macrocode} % Note that, because all of the files generated by the installer % are part of the standard distribution, it will % be necessary to run the installer only when bootstrapping % (or, of course, during development). % Note, too, that it is rare to generate the \file{doc} % module because it suffices to simply typeset the \file{.dtx} file itself. % % \subsection{The ``Read Me'' File} % As promised above, here is the contents of the % ``Read Me'' file. That file serves a double purpose, % since it also constitutes the beginining of the % programmer's documentation. What better thing, after % all, to have appear at the beginning of the % typeset documentation? % % A good discussion of how to write a ReadMe file can be found in % Engst, Tonya, ``Writing a ReadMe File? Read This'' % \emph{MacTech} October 1998, p. 58. % % Note the appearance of the % \cmd\StopEventually\ command, which marks the % dividing line between the user documentation % and the programmer documentation. % % The usual user will not be asked to % do a full build, not to speak % of the bootstrap. % Instructions for carrying these processes % begin the programmer's manual. % % \begin{macrocode} \begin{filecontents*}{00readme.txt} \title{% A \LaTeX\ Package of utility macros% \thanks{% This file has version number \fileversion, last revised \filedate.% % For version number and date, % search on "\fileversion" in the .dtx file, % or see the end of the 00readme.txt file. }% }% \author{% Arthur Ogawa (\texttt{mailto:ogawa@teleport.com}), \fileversion\\Copyright (C) 1999 Arthur Ogawa }% \maketitle This file embodies the \classname{ltxutil} package, the implementation and its user documentation. The distribution point for this work is \url{ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxutil...}, which contains fully unpacked, prebuilt runtime files and documentation. The \classname{ltxutil} package was commissioned by the American Physical Society and is distributed under the terms of the \LaTeX\ Project Public License, the same license under which all the portions of \LaTeX\ itself is distributed. Please see \url{http://ctan.tug.org/macros/latex/base/lppl.txt} for details. To use this document class, you must have a working \TeX\ installation equipped with \LaTeXe\ and possibly pdftex and Adobe Acrobat Reader or equivalent. To install, retrieve the distribution, unpack it into a directory on the target computer, and move the file \file{ltxutil.sty} into a location in your filesystem where it will be found by \LaTeX. To use, read the user documentation \file{ltxutil.pdf}. \tableofcontents \section{Processing Instructions} The package file \file{ltxutil.sty} is generated from this file, \file{ltxutil.dtx}, using the {\sc docstrip} facility of \LaTeX via |tex ltxutil.ins|. The typeset documentation that you are now reading is generated from the same file by typesetting it with \LaTeX\ or pdftex via |latex ltxutil.dtx| or |pdflatex ltxutil.dtx|. \subsection{Build Instructions} You may bootstrap this suite of files solely from \file{ltxutil.dtx}. Prepare by installing \LaTeXe\ (and either tex or pdftex) on your computer, then carry out the following steps: \begin{enumerate} \item Within an otherwise empty directory, typeset \file{ltxutil.dtx} with \LaTeX\ or pdflatex; you will obtain the typeset documentation you are now reading, along with the installer \file{ltxutil.ins}, and the file \file{00readme.txt}. Note: you will have to run \LaTeX\ twice, then \file{makeindex}, then \LaTeX\ again in order to obtain a valid index and table of contents. \item Now typeset \file{ltxutil.ins}, thereby generating the package file \file{ltxutil.sty}. \item Install \classname{ltxutil.sty} by moving it to a location in your filesystem where they will be found by \LaTeX. \end{enumerate} \end{filecontents*} % \end{macrocode} % % \subsection{The Document Body} % % Here is the document body, containing only a % \cmd\DocInput\ directive---referring to this very file. % This very cute self-reference is a common \classname{ltxdoc} idiom. % \begin{macrocode} \begin{document}% \expandafter\DocInput\expandafter{\jobname.dtx}% % ^^A\PrintChanges \end{document} % \end{macrocode} % % \begin{macrocode} %</doc> % \end{macrocode} % % \section{Using this package} % Once this package is installed on your filesystem, you can employ it in % adding functionality to \LaTeX\ by invoking it in your document or document class. % % \subsection{Invoking the package} % In your document, you can simply call it up in your preamble: % \begin{verbatim} %\documentclass{book}% %\usepackage{ltxutil}% %\begin{document} %<your document here> %\end{document} % \end{verbatim} % However, the preferred way is to invoke this package from within your % customized document class: % \begin{verbatim} %\NeedsTeXFormat{LaTeX2e}[1995/12/01]% %\ProvidesClass{myclass}% %\RequirePackage{ltxutil}% %\LoadClass{book}% %<class customization commands> %\endinput % \end{verbatim} % % Once loaded, the package gives you acccess to certain procedures, % usually to be invoked by a \LaTeX\ command or environment, but not at the document level. % % % \section{Compatability with \LaTeX's Required Packages} % Certain packages, usually ones written by members of the % \LaTeX\ Project itself, have been designated ``required'' and % are distributed as part of standard \LaTeX. % These packages have been placed in a priviledged position % vis \'a vis the \LaTeX\ kernel in that they override the definitions of certain kernel macros. % % The \classname{ltxutil} package will be incompatible with any package that % redefines any of the kernel macros that \classname{ltxutil} patches---if that % package is loaded \emph{after} \classname{ltxutil}. This means that for % greatest compatability, \classname{ltxutil} should be loaded \emph{after}, % say, \classname{ftnright}, which overwrites \LaTeX's kernel % procedures \cmd\@outputdblcol, \cmd\@startcolumn, and \cmd\@makecol. % % Hereinafter follows some notes on specific \LaTeX\ packages. % % \subsection{array} % This package alters the way tabular environments are done, % therefore it could run afoul of the \LaTeX\ ``required'' package \classname{array} or any % package that calls for it to be loaded. % However, this package has provisions for remaining compatible with \classname{array}. % So long as the version of \classname{array} that is used with this package has the appropriate % meanings for the procedures it overwrites, all should be well. % % \subsection{longtable} % David Carlisle's \classname{longtable} package modifies both the \LaTeX\ kernel and the % \classname{array} package. This package must therefore alter \cmd\LT@array. % For now, that job is handled by \classname{ltxgrid}. % % %\StopEventually{} % % \section{Implementation of package} % % Special acknowledgment: this package uses concepts pioneered % and first realized by William Baxter (mailto:web@superscript.com) % in his SuperScript line of commercial typesetting tools, and % which are used here with his permission. % % \subsection{Beginning of the \file{ltxutil} {\sc docstrip} module} % \begin{macrocode} %<*ltxutil> \def\package@name{ltxutil}% \expandafter\PackageInfo\expandafter{\package@name}{% Utility macros for \protect\LaTeXe, by A. Ogawa (ogawa@teleport.com)% }% %</ltxutil> % \end{macrocode} % % \subsection{Banner}% % Credit where due. % \begin{macrocode} %<*ltxutil-krn> \typeout{% ltxutil: portions licensed from W. E. Baxter (web@superscript.com)% }% % \end{macrocode} % % \subsection{Errors and warnings} % % \begin{macro}{\class@err} % \begin{macro}{\class@warn} % \begin{macro}{\class@info} % A few shorthands for Class messages. % Your document class should define \cmd\class@name. % \begin{macrocode} \def\class@err#1{\ClassError{\class@name}{#1}\@eha}% \def\class@warn#1{\ClassWarningNoLine{\class@name}{#1}}% \def\class@info#1{\ClassInfo{\class@name}{#1}}% \def\obsolete@command#1{% \class@warn@end{Command \string#1\space is obsolete.^^JPlease remove from your document}% \global\let#1\@empty #1% }% \def\replace@command#1#2{% \class@warn@end{Command \string#1\space is obsolete;^^JUse \string#2\space instead}% \global\let#1#2% #1% }% \def\replace@environment#1#2{% \class@warn@end{Environment #1 is obsolete;^^JUse #2 instead}% \glet@environment{#1}{#2}% \@nameuse{#1}% }% \def\incompatible@package#1{% \@ifpackageloaded{#1}{% \def\@tempa{I cannot continue. You must remove the \string\usepackage\ statement that caused that package to be loaded.}% \ClassError{\class@name}{The #1 package cannot be used with \class@name}% \@tempa\stop }{% \class@info{#1 was not loaded (OK!)}% }% }% \def\class@warn@end#1{% \gappdef\class@enddocumenthook{\class@warn{#1}}% }% \AtEndOfClass{% \@ifxundefined\class@name{\def\class@name{Generic Class}}{}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \subsection{New Tools}% % % \begin{macro}{\t@} % \begin{macrocode} \def\t@{to}% % \end{macrocode} % \end{macro} % % \begin{macro}{\dimen@iii} % \begin{macrocode} \dimendef\dimen@iii\thr@@ % \end{macrocode} % \end{macro} % % \begin{macro}{\halignt@} % \begin{macrocode} \def\halignt@{\halign\t@}% % \end{macrocode} % \end{macro} % % \begin{macro}{\f@ur} % Analogous to \cmd\@ne, \cmd\tw@, and \cmd\thr@@. % \begin{macrocode} \chardef\f@ur=4\relax \chardef\cat@letter=11\relax \chardef\other=12\relax % \end{macrocode} % \end{macro} % % \begin{macro}{\let@environment} % \begin{macro}{\glet@environment} % The directive \cmd\let@environment\ takes care of a common programming % idiom whereby one environment is made a synonym for another. % \begin{macrocode} \def\let@environment#1#2{% \expandafter\let \csname#1\expandafter\endcsname\csname#2\endcsname \expandafter\let \csname end#1\expandafter\endcsname\csname end#2\endcsname }% \def\glet@environment#1#2{% \global\expandafter\let \csname#1\expandafter\endcsname\csname#2\endcsname \global\expandafter\let \csname end#1\expandafter\endcsname\csname end#2\endcsname }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\tracingplain} % The command \cmd\tracingplain\ causes \TeX's tracing parameters to % return to the values set by default. This command is sometimes % useful when you have said \cmd\tracingall\ somewhere and want to % restore. % The \cmd\traceoutput\ command causes \cmd\tracingoutput\ diagnostics % upon \cmd\shipout. % \begin{macrocode} \newcommand\tracingplain{% \tracingonline\z@\tracingcommands\z@\tracingstats\z@ \tracingpages\z@\tracingoutput\z@\tracinglostchars\@ne \tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@ \showboxbreadth5\showboxdepth3\relax %\errorstopmode }% \newcommand\traceoutput{% \appdef\@resetactivechars{\showoutput}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\say} % \begin{macro}{\saythe} % The commands \cmd\say\ and \cmd\saythe\ cause diagnostic messages in the % \TeX\ log that give the value of a control sequence name or a register % respectively. % \begin{macrocode} \newcommand\say[1]{\typeout{<\noexpand#1=\meaning#1>}}% \newcommand\saythe[1]{\typeout{<\noexpand#1=\the#1>}}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\fullinterlineskip} % Resets the \cmd\prevdepth\ so that the full amount of \cmd\baselineskip\ glue will be inserted by % the \cmd\baselinesklip\ mechanism. % Can be invoked just after a \cmd\hrule\ to undo its default suppression of base line skip. % \begin{macrocode} \def\fullinterlineskip{\prevdepth\z@}% % \end{macrocode} % \end{macro} % % \begin{macro}{\count@i} % \begin{macro}{\count@ii} % % \begin{macrocode} \countdef\count@i\@ne \countdef\count@ii\tw@ % \end{macrocode} % \end{macro} % \end{macro} % % % \subsection{Boolean Control}% % We introduce just enough of the Boolean calculus for \TeX. % Alan Jeffrey was the pioneer here, with an article in TUGboat % (Vol. 11, No. 2, page 237). % This implementation owes a debt to % William Baxter (web@superscript.com). % See articles by Baxter and Ogawa in the proceedings of the % 1994 TUG meeting, TUGboat Vol.~15, No.~3. % % \begin{macro}{\prepdef} % \begin{macro}{\appdef} % \begin{macro}{\gappdef} % % Provide the capability of performing head- and tail patches. % The procedure \cmd\prepdef\ prepends to the given macro % the tokens specified in its second argument. % Likewise for \cmd\appdef, except that it appends. % Note that the first 10 toks registers are utility registers, % and we simply make a control sequence name, \cmd\toks@ii, for one of % them. % \begin{macrocode} \long\def\prepdef#1#2{% \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% \toks@ii{#2}% \edef#1{\the\toks@ii\the\toks@}% }% \long\def\appdef#1#2{% \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% \toks@ii{#2}% \edef#1{\the\toks@\the\toks@ii}% }% \long\def\gappdef#1#2{% \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% \toks@ii{#2}% \global\edef#1{\the\toks@\the\toks@ii}% }% \long\def\appdef@val#1#2{% \appdef#1{{#2}}% }% \long\def\appdef@e#1#2{% \expandafter\appdef \expandafter#1% \expandafter{#2}% }% \long\def\appdef@eval#1#2{% \expandafter\appdef@val \expandafter#1% \expandafter{#2}% }% \toksdef\toks@ii=\tw@ % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@ifxundefined} % \begin{macro}{\@ifnotrelax} % \begin{macro}{\@argswap} % \begin{macro}{\@argswap@val} % % Certain utility procedures use \cmd\@ifxundefined, % which is defined here in terms of \cmd\@ifx. % Others use \cmd\@ifnotrelax, namely when % the control sequence name is manufactured by % the use of \cmd\csname. % % The procedures \cmd\@argswap and \cmd\@argswap@val % are used to facilitate control of expansion. % % \begin{macrocode} \long\def\@ifxundefined#1{\@ifx{\undefined#1}}% \long\def\@ifnotrelax#1#2#3{\@ifx{\relax#1}{#3}{#2}}% \long\def\@argswap#1#2{#2#1}% \long\def\@argswap@val#1#2{#2{#1}}% \def\@ifxundefined@cs#1{\expandafter\@ifx\expandafter{\csname#1\endcsname\relax}}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@boolean} % \begin{macro}{\@boole@def} % In order to define \cmd\@ifx, we first must create the % ``defining word'' (term taken form our Forth vocabulary) % \cmd\@boole@def, which employs \cmd\@boolean\ to do its job. % \begin{macrocode} \def\@boolean#1#2{% \long\def#1{% #2% \if<something> \expandafter\true@sw \else \expandafter\false@sw \fi }% }% \def\@boole@def#1#{\@boolean{#1}}% Implicit #2 % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@booleantrue} % \begin{macro}{\@booleanfalse} % The procedures \cmd\@booleantrue\ and % \cmd\@booleanfalse\ are assignment operators % for Boolean flags. % \begin{macrocode} \def\@booleantrue#1{\let#1\true@sw}% \def\@booleanfalse#1{\let#1\false@sw}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@ifx} % \begin{macro}{\@ifx@empty} % \begin{macro}{\@if@empty} % \begin{macro}{\@ifcat}% % \begin{macro}{\@ifdim}% % \begin{macro}{\@ifeof}% % \begin{macro}{\@ifhbox}% % \begin{macro}{\@ifhmode}% % \begin{macro}{\@ifinner}% % \begin{macro}{\@ifmmode}% % \begin{macro}{\@ifnum}% % \begin{macro}{\@ifodd}% % \begin{macro}{\@ifvbox}% % \begin{macro}{\@ifvmode}% % \begin{macro}{\@ifvoid}% % We can now invoke the defining word to create % the procedures \cmd\@ifx\ and friends. % % Compatability Note: earlier versions of this package % defined a procedure \cmd\@ifempty. However, for compatability with AMS\LaTeX, % we must avoid the following three names: % \cmd\@ifempty, \cmd\@xifempty, and \cmd\@ifnotempty. % % \begin{macrocode} \@boole@def\@ifx#1{\ifx#1}% \@boole@def\@ifx@empty#1{\ifx\@empty#1}% \@boole@def\@if@empty#1{\if!#1!}% %\@boole@def\@if@sw#1{\csname if#1\endcsname}% \def\@if@sw#1#2{#1\expandafter\true@sw\else\expandafter\false@sw#2}% \@boole@def\@ifdim#1{\ifdim#1}% \@boole@def\@ifeof#1{\ifeof#1}% \@boole@def\@ifhbox#1{\ifhbox#1}% \@boole@def\@ifhmode{\ifhmode}% \@boole@def\@ifinner{\ifinner}% \@boole@def\@ifmmode{\ifmmode}% \@boole@def\@ifnum#1{\ifnum#1}% \@boole@def\@ifodd#1{\ifodd#1}% \@boole@def\@ifvbox#1{\ifvbox#1}% \@boole@def\@ifvmode{\ifvmode}% \@boole@def\@ifvoid#1{\ifvoid#1}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\true@sw} % \begin{macro}{\false@sw} % % Note that when a Boolean operator expands, it % employs two macros that act as selectors, defined here. % % \begin{macrocode} \long\def\true@sw#1#2{#1}% \long\def\false@sw#1#2{#2}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\loopuntil} % \begin{macro}{\loopwhile} % % Loop control using the Boolean idiom. % Superior to \cmd\loop\dots\cmd\repeat\ because these can be nested. % The tail of the argument must have a Boolean predicate. % % \begin{macrocode} \long\def\loopuntil#1{#1{}{\loopuntil{#1}}}% \long\def\loopwhile#1{#1{\loopwhile{#1}}{}}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@provide} % % A defining word that refuses to clobber a prior meaning. % % \begin{macrocode} \def\@provide#1{% \@ifx{\undefined#1}{\true@sw}{\@ifx{\relax#1}{\true@sw}{\false@sw}}% {\def#1}{\def\j@nk}% }% % \end{macrocode} % \end{macro} % % % \subsection{Begin Document Structure} % The standard \LaTeX\ mechanism \cmd\AtBeginDocument\ % is inadequate because the \cmd\vsize\ is bound much too early. % We supply here a mechanism whereby decisions about the % page layout can be deferred until \cmd\AtBeginDocument\ time. % % The problem we are working around is that the \cmd\AtBeginDocument\ % hook in \cmd\document\ appears long after the calculation of % \cmd\vsize\ and \cmd\hsize, that is, \LaTeX\ provides no mechanism % for deferring the decision about the page grid until \cmd\AtBeginDocument\ time. % We fix things by prepending a hook at the very beginning of \cmd\document. % % The price we pay for this facility is to depend on the stability of this part % of \LaTeX's kernel code (the first token of \cmd\document), % which could change, you see. But considering that \LaTeX\ is % at this point essentially stagnant once more, we risk it. % % \begin{macro}{\document} % We begin by installing hooks into \cmd\document\ that % we will manage ourselves. % First, we do as \cmd\document\ does: end the group % begun by \cmd\begin. Last, we conclude our shenanigans by absorbing % the first token of the expansion of \cmd\document, which % we assume to be \cmd\endgroup. % \begin{macrocode} \prepdef\document{% \endgroup \init@documenthook \set@typesize@hook \normalsize \set@pica@hook \true@sw{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\class@documenthook} % \begin{macro}{\class@enddocumenthook} % We install the first \cmd\AtBeginDocument\ hook, namely the % procedure \cmd\class@documenthook. Within the document class, % we will use this hook exclusively, so as to avoid interference from other packages. % Similarly with \cmd\class@enddocumenthook, installed via \cmd\AtEndDocument. % % A document class using this package should do as this package does and % just say, \cmd\appdef\cmd\class@documenthook\ and \cmd\appdef\cmd\class@enddocumenthook\ % instead of \cmd\AtBeginDocument\ and \cmd\AtEndDocument. % \begin{macrocode} \def\init@documenthook{}% \AtBeginDocument{% \class@documenthook }% \AtEndDocument{% \class@enddocumenthook }% \def\class@documenthook{}% \def\class@enddocumenthook{}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\set@typesize@hook} % \begin{macro}{\set@pica@hook} % The macros \cmd\set@typesize@hook\ and \cmd\set@pica@hook\ provide everything we need. % To use, simply \cmd\appdef\ your tokens to the appropriate hook. % \begin{macrocode} \def\set@typesize@hook{}% \def\set@pica@hook{}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\enddocument} % \begin{macro}{\check@aux} % \begin{macro}{\do@check@aux} % The standard \LaTeX\ \enve{document} processing is a potential problem, % particularly when the output routine has been changed by \classname{ltxgrid}. % We separate out the procedure that checks the auxiliary file at the end of % the job so that later it can be called from the safety of the output % routine. % We will do this to ensure that the \cmd\@mainaux\ stream is not closed until % the last page of the job is shipped out, and that can only be done by coordinating % with the output routine. % \begin{macrocode} \def\enddocument{% \@enddocumenthook \@checkend{document}% \clear@document \check@aux \deadcycles\z@ \@@end }% \def\clear@document{\clearpage}% \def\check@aux{\do@check@aux}% \def\do@check@aux{% \@if@sw\if@filesw\fi{% \immediate\closeout\@mainaux \let\@setckpt\@gobbletwo \let\@newl@bel\@testdef \@tempswafalse \makeatletter \input\jobname.aux\relax }{}% \@dofilelist \@ifdim{\font@submax >\fontsubfuzz\relax}{% \@font@warning{% Size substitutions with differences\MessageBreak up to \font@submax\space have occured.\@gobbletwo }% }{}% \@defaultsubs \@refundefined \@if@sw\if@filesw\fi{% \@ifx{\@multiplelabels\relax}{% \@if@sw\if@tempswa\fi{% \@latex@warning@no@line{% Label(s) may have changed. Rerun to get cross-references right }% }{}% }{% \@multiplelabels }% }{}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % % \subsection{Type Tools}% % % \begin{macro}{\flushing} % Undoes \cmd\centering. Should also undo \cmd\raggedleft\ and \cmd\raggedright. % \begin{macrocode} \def\flushing{% \let\\\@normalcr \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip \parfillskip\@flushglue }% % \end{macrocode} % \end{macro} % % % \subsection{Display Math}% % % \begin{macro}{\eqnarray@LaTeX} % \begin{macro}{\eqnarray@fleqn@fixed} % Team \LaTeX\ has stated they will never repair Leslie's broken definition of \env{eqnarray}. % Let us be bold\dots. % % Note on \classname{hyperref} package compatability: that package overrides % \cmd\eqnarray\ by wrapping it up in a larger procedure, so its changes % are compatible with this package's changes. % % \begin{macrocode} \def\eqnarray@LaTeX{% \stepcounter{equation}% \def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue \m@th \global\@eqcnt\z@ \tabskip\@centering \let\\\@eqncr $$\everycr{}\halign\t@\displaywidth\bgroup \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep $\displaystyle{##}$\hfil\tabskip\@centering &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip \cr } \long\def\eqnarray@fleqn@fixed{% \stepcounter{equation}\def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue\m@th\global\@eqcnt\z@ \tabskip\mathindent \let\\=\@eqncr \setlength\abovedisplayskip{\topsep}% \ifvmode\addtolength\abovedisplayskip{\partopsep}\fi \addtolength\abovedisplayskip{\parskip}% \setlength\belowdisplayskip{\abovedisplayskip}% \setlength\belowdisplayshortskip{\abovedisplayskip}% \setlength\abovedisplayshortskip{\abovedisplayskip}% $$% \everycr{}% \halignt@\linewidth\bgroup \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel &\global\@eqcnt\@ne \hskip\tw@\eqncolsep \hfil${{}##{}}$\hfil &\global\@eqcnt\tw@ \hskip\tw@\eqncolsep $\displaystyle{##}$\hfil\tabskip\@centering &\global\@eqcnt\thr@@\hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip \cr }% \@ifx{\eqnarray\eqnarray@LaTeX}{% \class@info{Repairing broken LaTeX eqnarray}% \let\eqnarray\eqnarray@fleqn@fixed \newlength\eqncolsep \setlength\eqncolsep\z@ \let\eqnarray@LaTeX\relax \let\eqnarray@fleqn@fixed\relax }{}% \def\mathindent{\@centering}% \def\set@eqnarray@skips{}% % \end{macrocode} % \end{macro} % \end{macro} % % % \subsection{Footnotes} % % \changes{v4.0beta 4}{2000/04/10} % {New kernel fix. For bug 174} % % \begin{macro}{\footnote} % \begin{macro}{\footnotemark} % \begin{macro}{\@xfootnote} % \begin{macro}{\@xfootnotemark} % \begin{macro}{\@yfootnote} % We repair an error in the \LaTeX\ kernel (see \file{ltfloat.dtx}) involving footnotes. % The symptom is that the \cmd\footnotemark\ command does not work properly within a \env{minipage} environment. % The source of the problem is in the way the \cmd\footnotemark\ and \cmd\@xfootnotemark\ procedures are defined: % they do not share the method used by the \cmd\footnote\ and other procedures that allows a context switch to % change the way footnotes behave within a minipage environment. % This is a \LaTeX\ bug of long standing; this fix dates to 1987. % % While we are at it, we rewrite both the \cmd\footnote\ and \cmd\footnotemark\ procedures, % achieving a slightly cleaner separation of syntax and semantics. % Note that the \cmd\@footnotemark\ and \cmd\@footnotetext\ procedures are not altered here; % they continue as the methods of formatting the footnote mark and footnote text, respectively. % % A note about the context switch mentioned above: % the \env{minipage} environment executes the following in order to alter the way footnotes % behave: %\begin{verbatim} %\def\@mpfn{mpfootnote}% %\def\thempfn{\thempfootnote}% %\let\@footnotetext\@mpfootnotetext %\c@mpfootnote\z@ %\end{verbatim} % This code changes the counter used in autonumbered footnotes, the choice of footnote marker, % and the procedure used on the footnote text. Changing the counter is needed because minipage % footnotes are in their own sequence, and the footnote marker is customarily different within % a minipage. The procedure that works on the footnote text must be different because the footnotes % are placed at the bottom of the minipage, not the bottom of the text column. % % Any procedure that establishes a minipage-like context (e.g., floats) can do the same. % \begin{macrocode} \def\footnote{% \@ifnextchar[\@xfootnote{\@yfootnote\@footnotetext}% }% \def\footnotemark{% \@ifnextchar[\@xfootnotemark{\@yfootnote}% }% \def\@xfootnote[#1]{% \@xfootnotemark[#1]% \@footnotetext }% \def\@xfootnotemark@ltx[#1]{% \begingroup \csname c@\@mpfn\endcsname #1\relax \unrestored@protected@xdef\@thefnmark{\thempfn}% \endgroup \H@@footnotemark }% \def\@yfootnote{% \stepcounter\@mpfn \protected@xdef\@thefnmark{\thempfn}% \H@@footnotemark }% % \end{macrocode} % % Note on \classname{hyperref} compatability: % In its ``Automated \LaTeX\ hypertext cross-references'', % the \classname{hyperref} package alters footnote processing, % thereby imperiling these fixes and necessiating defensive measures. % % The main thing \classname{hyperref} does is to take over the \cmd\@mpfootnotetext\ and % \cmd\@footnotetext\ procedures, feeding its own arguments to these macros. % It also rewrites \cmd\@footnotemark, making it a hyperlink. % % But at the same time, it attempts to turn off these changes during % \cmd\maketitle\ processing, necessitating rewriting \cmd\@xfootnotemark. % At this point it is on the slippery slope. % % We make ourself \classname{hyperref} friendly: % we give \classname{hyperref} what it needs, but avoid its change to % \cmd\@xfootnotemark. % % Any other package that rewrites \LaTeX's footnote macros will be incompatible % with this package. % \begin{macrocode} \appdef\class@documenthook{% \@ifxundefined\H@@footnotemark{% \let\H@@footnotemark\@footnotemark }{}% \let\@xfootnotemark\@xfootnotemark@ltx }% % \end{macrocode} % % Two thoughts about \classname{hyperref}: what for does it define \cmd\realfootnote? % Also: a document class that desires high hypertext capabilities might % well wish to reimplement \cmd\maketitle\ so that footnotes called out from there % are hypertext links: the \classname{hyperref} package's % ``Automated \LaTeX\ hypertext cross-references'' % does not do any of this: %\begin{quotation} % But the special footnotes % in |\maketitle| are much too hard to deal with % properly. Let them revert to plain behaviour. %\end{quotation} % Note that the document class, in reimplementing \cmd\maketitle, must ensure % that the \classname{hyperref} package does not clobber its own definition! % % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@footnotetext} % \begin{macro}{\@mpfootnotetext} % \begin{macro}{\@tpfootnotetext} % \begin{macro}{\make@footnotetext} % \begin{macro}{\set@footnotewidth} % The two procedures \cmd\@footnotetext\ and \cmd\@mpfootnotetext\ share code. % We make that explicit here. % % Note that the procedure calling \cmd\make@footnotetext\ will open a group % with \cmd\bgroup\ which is then closed by \cmd\minipagefootnote@drop. % % Difference from \LaTeX: here we do not set \cmd\floatingpenalty\ to infinity. % Doing this must date back to a time when \LaTeX\ could not accomodate split insertions (footnotes). % I cannot think of any other reason to do have done this. % At any rate, with the \classname{ltxgrid} package, split insertions are specifically properly % taken care of, so we allow it. % % We provide the hook \cmd\set@footnotewidth\ % that sets the footnote on a particular measure. % Some page grids are such as to set a footnote in a context where \cmd\columnwidth % is not the right parameter to use for the set width of a footnote. % In such a case, for the applicable scope, you should define % \cmd\set@footnotewidth\ to perform this job correctly. % % A procedure, \cmd\set@footnotewidth@ii, illustrates how to do this when in a two-column page grid. % In general, remember that footnotes, like all insertions (including floats), % are a step outside of the galley context, and all aspects of insertions need to be % properly handled, including the set width. % \begin{macrocode} \long\def\@footnotetext{% \insert\footins\bgroup \make@footnotetext }% \long\def\@mpfootnotetext{% \minipagefootnote@pick \make@footnotetext }% \def\make@footnotetext#1{% \reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth\dp\strutbox % \floatingpenalty\@MM \set@footnotewidth \@parboxrestore \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox }% \color@endgroup \minipagefootnote@drop }% \def\set@footnotewidth{% \hsize\columnwidth \linewidth\hsize }% \def\set@footnotewidth@ii{% \hsize\textwidth \advance\hsize\columnsep \divide\hsize\tw@ \advance\hsize-\columnsep \linewidth\hsize }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \subsection{Floats} % % \subsubsection{Usage notes}% % We extend the \LaTeX\ kernel for three purposes: % \begin{enumerate} % % \item % When the \cmd\footnote\ command is used within the % scope of a float, we do as \env{minipage} does. % % \item % We provide a mechanism to write floats out to an external % stream for temporary storage (deferred floats). % % \item % We provide mechanism for placing a float \texttt{here} % invariably, that is, floats are unfloated. % This mechanism is used to read the external stream mentioned above. % % \end{enumerate} % % To use these mechanisms, the document class should % define a float, say, \env{figure} as per usual, and in addition: % \begin{enumerate} % % \item % Optionally define an alternative, say \env{figure@write} as follows: % \begin{verbatim} %\newenvironment{figure@write}{% % \write@float{figure}% %}{% % \endwrite@float %}% % \end{verbatim} % That is, the alternative environment executes \cmd\write@float\ % instead of \cmd\@float. % Note that this step is not needed if the float environment % is defined in the simple way of \file{classes.dtx}. % However, an environment like \env{longtable} will require it. % % \item % Install into \cmd\AtBeginDocument\ a call to \cmd\do@if@floats, % with the float name and an appropriate file extension as its arguments. % \begin{verbatim} %\AtBeginDocument{\do@if@floats{figure}{.fgx}}% % \end{verbatim} % % \item % Optionally define a text entity \cmd\figuresname\ that will % be the text of the head that is set over the % deferred floats. % If not defined, there will be no head. % % \item % Optionally define a user-level command to allow % the document to determine where the figures are printed out % (default is to print at end of document). E.g., % \begin{verbatim} %\newcommand\printfigures{\print@float{figure}}% % \end{verbatim} % \item % Install into \cmd\appdef\cmd\class@enddocumenthook\ a call to \cmd\printfigures, % or, if the latter is not defined, as follows: % \begin{verbatim} %\appdef\class@enddocumenthook{\print@float{figure}}% % \end{verbatim} % Note that installing this command into \cmd\AtBeginDocument % is best done earlier than calls that assume the last page of % the document is at hand. % % \end{enumerate} % % \subsubsection{Robustifying fragile commands}% % Certain of \LaTeX's commands cannot be written out to a file or appear within a \cmd\mark\ command argument % because they do calculations during expansion. % We provide for a little help, but without changing the meanings of these commands. % % \begin{macro}{\addtocontents} % % \begin{macrocode} \def\addtocontents#1#2{% \protected@write\@auxout{% \let \label \@gobble \let \index \@gobble \let \glossary \@gobble \def\({\string\(}% \def\){\string\)}% \def\\{\string\\}% }{\string \@writefile {#1}{#2}}% }% % \end{macrocode} % % \end{macro} % % \subsubsection{Preparing for the \classname{hyperref package}}% % % \begin{macro}{\addcontentsline} % \begin{macro}{\contentsline} % The \classname{hyperref} package assumes that the \cmd\contentsline\ command will be given four arguments. % Therefore it cannot successfully process a \filename{.toc} file that had been written by standard \LaTeX. % We fix things up by always writing that fourth argument and by supplying a \cmd\contentsline\ command that % can read them. % % We also give the \cmd\newlabel\ command's second argument five tokens. % % This means that a document class that uses this package will itself have trouble taking over a \filename{.toc} file that was written by standard \LaTeX. Sigh. % \begin{macrocode} \def\addcontentsline#1#2#3{% \addtocontents{#1}{% \protect\contentsline{#2}{#3}{\thepage}{}% }% }% \def\contentsline#1#2#3#4{% \csname l@#1\endcsname{#2}{#3}% }% \def\label#1{% \@bsphack \protected@write\@auxout{}{% \string\newlabel{#1}{{\@currentlabel}{\thepage}{}{}{}}% }% \@esphack }% % \end{macrocode} % % \end{macro} % \end{macro} % % \subsubsection{Footnotes within floats, unfloating floats, float font}% % % \begin{macro}{\caption} % DPC: Er a bit of a hack, but seems best way of supporting normal % \LaTeX\ syntax at this point: If a caption is used below a table, % then put out the footnotes before the caption. % \changes{v4.0beta 2}{1999/06/20} % {Support the hack with \cs{prepdef}, and delay until \cs{AtBeginDocument} time, % since \classname{hyperref} clobbers \cs{caption}.} % \begin{macrocode} \appdef\class@documenthook{% \prepdef\caption{\minipagefootnote@here}% }% % \end{macrocode} % % Note on \classname{hyperref} compatability: % this change to the \cmd\caption\ command is compatible with the % ``Automated \LaTeX\ hypertext cross-references'' patches of % that package. % % All the same, I think Sebastian's changes to \cmd\caption\ and \cmd\@caption\ % could bear with some improvement. % The following implementation requires knowing only the pattern part of the % \cmd\@caption\ macro: %\begin{verbatim} %\def\caption{% % \H@refstepcounter\@captype % \hyper@makecurrent{\@captype}% % \@dblarg{\H@caption\@captype}% %}% %\def\H@caption#1[#2]#3{% % \@caption{#1}[#2]{% % \ifHy@nesting % \hyper@@anchor{\@currentHref}{#3}% % \else % \hyper@@anchor{\@currentHref}{\relax}#3% % \fi % }% %}% % %\end{verbatim} % % \end{macro} % % \begin{macro}{\minipagefootnote@init} % \begin{macro}{\minipagefootnote@here} % \begin{macro}{\minipagefootnote@foot} % \begin{macro}{\minipagefootnote@pick} % \begin{macro}{\minipagefootnote@drop} % Procedure to deal with footnotes accumulated within a minipage environment. % These procedures encapsulate all uses of the \cmd\@mpfootins\ box. % % % Note: \cmd\minipagefootnote@here\ must \emph{not} be executed within the MVL! % \begin{macrocode} \def\minipagefootnote@init{% \setbox\@mpfootins\box\voidb@x }% \def\minipagefootnote@pick{% \global\setbox\@mpfootins\vbox\bgroup \unvbox\@mpfootins }% \def\minipagefootnote@drop{% \egroup }% \def\minipagefootnote@here{% \par \@ifvoid\@mpfootins{}{% \vskip\skip\@mpfootins \fullinterlineskip \@ifinner{% \vtop{\unvcopy\@mpfootins}% {\setbox\z@\lastbox}% }{}% \unvbox\@mpfootins }% }% \def\minipagefootnote@foot{% \@ifvoid\@mpfootins{}{% \insert\footins\bgroup\unvbox\@mpfootins\egroup }% }% \def\endminipage{% \par \unskip \minipagefootnote@here \@minipagefalse %% added 24 May 89 \color@endgroup \egroup \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\floats@sw} % The Boolean \cmd\floats@sw\ signifies that floats are to be floated; % if false, that floats are to be deferred to the end of the document. % Note that the state of this Boolean is to be changed by % the document class in response to user-selected options. % Here we display model code that assigns a default value % at \cmd\AtBeginDocument\ time. % \begin{verbatim} %\AtBeginDocument{% % \@ifxundefined\floats@sw{\@booleantrue\floats@sw}{}% %}% % \end{verbatim} % \end{macro} % % \begin{macro}{\@xfloat} % \begin{macro}{\@mpmakefntext} % The float start-code is redefined to set up footnotes in the style of minipage. % Also, the \cmd\floats@sw\ Boolean informs us that floats are to be % all placed \texttt{here}. % Note that, to protect against the Boolean being undefined % at this late hour, we default it globally to true. % % \changes{v4.0beta 2}{1999/06/20} % {AO: Removed superfluous \cs{def}s, changed to using \cs{floats@sw} as the flag. % Also stopped using DPC's \cs{if@twocolumn} flag: using \cs{floats@sw} instead. % Also added \cs{par}\cs{vskip}\cs{z@skip} after the \cs{minipagefootnotes} % so that the float box would have zero depth like the kernel one. % } % \changes{v4.0beta 3}{1999/11/13} % {bug fix 110. Install hooks for endfloats processing} % \changes{v4.0beta 4}{2000/04/10} % {bug fix 127. Floats placed [h] to allow page breaks} % \changes{v4.0beta 4}{2000/05/19} % {bug fix 224. Hyperref compatability.} % \changes{v4.0beta 5}{2000/11/16} % {bug fix 221. Remove samepage command from @xfloat@prep: If the float can break over pages, we want better control.} %FIXME: why does hyperref override \cmd\@xfootnotenext? % % \begin{macrocode} \let\@xfloat@LaTeX\@xfloat \def\@xfloat#1[#2]{% \@xfloat@prep \@nameuse{fp@proc@#2}% \@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}% \floats@sw{\@xfloat@LaTeX{#1}[#2]}{\@xfloat@anchored{#1}[]}% }% \def\@xfloat@prep{% \let\footnote\footnote@latex \def\@mpfn{mpfootnote}% \def\thempfn{\thempfootnote}% % \def\thefootnote{\thempfootnote}% \c@mpfootnote\z@ \let\@footnotetext\@mpfootnotetext \let\H@@footnotetext\@mpfootnotetext \let\@makefntext\@mpmakefntext % \samepage }% \appdef\class@documenthook{% \let\footnote@latex\footnote }% %\def\fp@proc@h{\@booleanfalse\floats@sw}% %\def\fp@proc@H{\@booleanfalse\floats@sw}% \def\@xfloat@anchored#1[#2]{% \def\@captype{#1}% \begin@float@pagebreak %\vbox\bgroup \let\end@float\end@float@anchored \let\end@dblfloat\end@float@anchored % do as \@xfloat does: \hsize\columnwidth \@parboxrestore \@floatboxreset \minipagefootnote@init % \pagegrid@col\@ne % Klootch to avoid processing as a float }% \def\end@float@anchored{% \minipagefootnote@here \par\vskip\z@skip %% \par\vskip\z@ added 15 Dec 87 %\egroup \par \end@float@pagebreak }% \def\begin@float@pagebreak{\par\addvspace\intextsep}% \def\end@float@pagebreak{\par\addvspace\intextsep}% \def\@mpmakefntext#1{% \parindent=1em \noindent \hb@xt@1em{\hss\@makefnmark}% #1% }% % \end{macrocode} % \end{macro} % \end{macro} % % % \subsubsection{Writing floats out to a file}% % % \begin{macro}{\do@if@floats} % The procedure \cmd\do@if@floats\ should be executed at % \cmd\AtBeginDocument\ time, and arranges to write out % the floats of the given class to a temporary file, to be % read back later (deferred floats), % given that \cmd\floats@sw\ is false. % Note that, to protect against the Boolean being undefined % at this late hour, we default it globally to true. % \begin{macrocode} \def\do@if@floats#1#2{% \@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}% \floats@sw{}{% % \end{macrocode} % Open the stream to save out the document's floats of this class. % \begin{macrocode} \expandafter\newwrite \csname#1write\endcsname \expandafter\def \csname#1@stream\endcsname{\jobname#2}% \expandafter\immediate \expandafter\openout \csname#1write\endcsname \csname#1@stream\endcsname\relax % \end{macrocode} % Swap environments. % If the class writer has defined, e.g., \env{figure@write}, % then we use this as the procedure to execute for writing % the float out to the external stream. % Otherwise, the replacement of \cmd\@float\ by \cmd\write@float\ % should do the right thing for float environments defined % in the simple way of \classname{classes.dtx}. % \begin{macrocode} \@ifxundefined\@float@LaTeX{% \let\@float@LaTeX\@float \let\@dblfloat@LaTeX\@dblfloat \let\@float\write@float \let\@dblfloat\write@floats }{}% \let@environment{#1@float}{#1}% \let@environment{#1@floats}{#1*}% \@ifxundefined@cs{#1@write}{}{% \let@environment{#1}{#1@write}% }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\print@float} % The procedure \cmd\print@float\ prints out the % deferred floats. % \changes{v4.0beta 2}{1999/06/20} % {only execute if there really were floats of the given type} % \changes{v4.0beta 3}{1999/11/13} % {*-form mandates pagebreak at each float; % only print section head if there is something there.} % \changes{v4.0beta 4}{2000/05/23} % {Allow things to break over pages by setting array@default.} % % \begin{macrocode} \def\triggerpar{\leavevmode\@@par}% \def\oneapage{\def\begin@float@pagebreak{\newpage}\def\end@float@pagebreak{\newpage}}% \def\print@float#1#2{% \@ifxundefined@cs{#1write}{}{% \begingroup \@booleanfalse\floats@sw #2% \raggedbottom \def\array@default{v}% floats must \let\@float\@float@LaTeX \let\@dblfloat\@dblfloat@LaTeX \let\trigger@float@par\triggerpar \let@environment{#1}{#1@float}% \let@environment{#1*}{#1@floats}% \expandafter\prepdef\csname#1\endcsname{\trigger@float@par}% \expandafter\prepdef\csname#1*\endcsname{\trigger@float@par}% \@namedef{fps@#1}{h!}% \expandafter\immediate \expandafter\closeout \csname#1write\endcsname \everypar{% \global\let\trigger@float@par\relax \global\everypar{}\setbox\z@\lastbox \@ifxundefined@cs{#1sname}{}{% \begin@float@pagebreak \expandafter\section \expandafter*% \expandafter{% \csname#1sname\endcsname }% }% }% \input{\csname#1@stream\endcsname}% \endgroup \global\expandafter\let\csname#1write\endcsname\relax }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\write@float} % \begin{macro}{\write@floats} % \begin{macro}{\write@@float} % Handles the case where the name of the float is the same as % that of the stream. Note that % \env{longtable} does \emph{not} fit this case. % Note also: \cmd\write@float\ is \emph{not} a user-level environment % therefore it is properly not defined with \cmd\newenvironment. % \begin{macrocode} \def\write@float#1{\write@@float{#1}{#1}}% \def\endwrite@float{\@Esphack}% \def\write@floats#1{\write@@float{#1*}{#1}}% \def\endwrite@floats{\@Esphack}% % \end{macrocode} % \end{macro} % % \begin{macro}{\write@@float} % \changes{v4.0beta 2}{1999/06/20} % {AO: Fixed spurious \texttt{CR} and (return) characters in output file. % Also, if the document did not have the \cs{end}\texttt{figure} on a line of its own, % the macro wouldn't work. Fixed.} % \begin{macrocode} \def\write@@float#1#2{% \ifhmode \@bsphack \fi \chardef\@tempc\csname#2write\endcsname \toks@{\begin{#1}}% \def\@tempb{#1}% \expandafter\let\csname end#1\endcsname\endwrite@float \catcode`\^^M\active \@makeother\{\@makeother\}\@makeother\% \write@floatline }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\write@floatline} % \begin{macro}{\@write@floatline} % \begin{macro}{\float@end@tag} % The procedure \cmd\write@floatline\ only parses, and passes % its result to \cmd\@write@floatline, which % writes the line to output, then tests the line % for the \cmd\end\arg{float} tokens with % aid of the \cmd\float@end@tag\ procedure. % \begin{macrocode} \begingroup \catcode`\[\the\catcode`\{\catcode`\]\the\catcode`\}\@makeother\{\@makeother\}% \gdef\float@end@tag#1\end{#2}#3\@nul[% \def\@tempa[#2]% \@ifx[\@tempa\@tempb][\end[#2]][\write@floatline]% ]% \obeylines% \gdef\write@floatline#1^^M[% \begingroup% \newlinechar`\^^M% \toks@\expandafter[\the\toks@#1]\immediate\write\@tempc[\the\toks@]% \endgroup% \toks@[]% \float@end@tag#1\end{}\@nul% ]% \endgroup % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % % % \subsection{Counters} % The following definitions override those of the \LaTeX\ kernel, % providing for a greater range of inputs. % \begin{macrocode} \def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi} % \end{macrocode} % % \begin{macrocode} \def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi} % \end{macrocode} % % % \subsection{Customization of Sections}% % % Patch the standard \LaTeX\ sectioning procedure to: %\begin{itemize} %\item % Allow a sectioning command to trigger the title page, or more generally % to recognize that it is the first object in the document, % so we headpatch \cmd\@startsection. % %\item % Allow a tail command in |#6| to uppercase the title, so we retain % DPC's braces. % %\item % Allow each type of sectioning command to format its number differently, % so we generalize \cmd\@seccntformat. % %\item % Allow each type of sectioning command to format its argument differently, % so we generalize \cmd\@hangfrom. % %\item % Allow the starred form of the command to % mark (the running head) and % make an entry in the TOC, % so we put \cmd\@ssect\ on the same footing as \cmd\@sect. % % Note that the tokens passed to the TOC now are \emph{not} % the optional argument of the command, but the required. % This means that the user can no longer use the former % to put variant content in to the TOC as the Manual says. % % Instead, the optional argument is used to put an alternative % title into the running headers, a better choice. % %\end{itemize} % % \begin{macro}{\@startsection} % Patch a head hook into the basic sectioning command. % Treat \cmd\@sect\ and \cmd\@ssect\ on an equal footing: % now their pattern parts are identical. % \begin{macrocode} \def\@startsection#1#2#3#4#5#6{% \@startsection@hook \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \@ifstar {\@dblarg{\@ssect@ltx{#1}{#2}{#3}{#4}{#5}{#6}}}% {\@dblarg{\@sect@ltx {#1}{#2}{#3}{#4}{#5}{#6}}}% }% \def\@startsection@hook{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@sect} % When defining \cmd\@svsec, do not expand \cmd\@seccntformat. % Put brace characters back where they were before David Carlisle got at them % (i.e., as if \cmd\@hangfrom\ had two arguments). % Protect the mark mechanism from an undefined meaning. % Pass |#8| to the TOC instead of |#7|. % Remove \cmd\relax\ from the replacement part of \cmd\@svsec. % % The procedure \cmd\@hangfrom\ and \cmd\@runin@to\ can % be used to process the argument of the head. % The head can define, e.g., \cmd\@hangfrom@section, to % do its own processing. % % In using \cmd\H@refstepcounter\ in place of \cmd\refstepcounter\ we rely on % either loading before any package that patches the latter, or % the convention that the former is the original \LaTeX\ procedure. % % \begin{macrocode} \class@info {Repairing broken LateX \string\@sect}% \def\@sect@ltx#1#2#3#4#5#6[#7]#8{% \@ifnum{#2>\c@secnumdepth}{% \def\H@svsec{\phantomsection}% \let\@svsec\@empty }{% \H@refstepcounter{#1}% \def\H@svsec{% \phantomsection }% \protected@edef\@svsec{{#1}}% \@ifundefined{@#1cntformat}{% \prepdef\@svsec\@seccntformat }{% \expandafter\prepdef \expandafter\@svsec \csname @#1cntformat\endcsname }% }% \@tempskipa #5\relax \@ifdim{\@tempskipa>\z@}{% \begingroup \interlinepenalty \@M #6{% \@ifundefined{@hangfrom@#1}{\@hang@from}{\csname @hangfrom@#1\endcsname}% {\hskip#3\relax\H@svsec}{\@svsec}{#8}% }% \@@par \endgroup \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}% \addcontentsline{toc}{#1}{% \@ifnum{#2>\c@secnumdepth}{% \protect\numberline{}% }{% \protect\numberline{\csname the#1\endcsname}% }% #8}% }{% \def\@svsechd{% #6{% \@ifundefined{@runin@to@#1}{\@runin@to}{\csname @runin@to@#1\endcsname}% {\hskip#3\relax\H@svsec}{\@svsec}{#8}% }% \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}% \addcontentsline{toc}{#1}{% \@ifnum{#2>\c@secnumdepth}{% \protect\numberline{}% }{% \protect\numberline{\csname the#1\endcsname}% }% #8}% }% }% \@xsect{#5}% }% \def\@hang@from#1#2#3{\@hangfrom{#1#2}#3}% \def\@runin@to #1#2#3{#1#2#3}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@ssect} % Put brace characters back where they were before David Carlisle got at them % (as if \cmd\@hangfrom\ has two arguments). % Possibly set a mark. % Make a TOC entry. % % Note that, for compatability with the \classname{hyperref} package, we % need to provide the interface required by that package % (actually required by \file{pdfmark.def} and \file{nameref.sty}), % namely % the definition of \cmd\@currentlabelname\ (but now removed), % the insertion of the procedure \cmd\Sectionformat\ (but why is this needed?), and % the call to \cmd\phantomsection\ (which must precede the call to \cmd\addcontentsline). % We also have to sidestep the patch to \cmd\@ssect\ in that same file, therefore % we use a different control sequence name in the call from \cmd\@startsection. % \changes{v4.0beta 3}{1999/11/13} % {Bug 116: Hyperref compatability} % \changes{v4.0rc3b}{2001/07/13} % {Bug 404: Hyperref compatability} % \begin{macrocode} \def\@ssect@ltx#1#2#3#4#5#6[#7]#8{% % \def\@currentlabelname{#8}% \def\H@svsec{\phantomsection}% \@tempskipa #5\relax \@ifdim{\@tempskipa>\z@}{% \begingroup \interlinepenalty \@M #6{% \@ifundefined{@hangfroms@#1}{\@hang@froms}{\csname @hangfroms@#1\endcsname}% % {\hskip#3\relax\H@svsec}{\Sectionformat{#8}{#1}}% {\hskip#3\relax\H@svsec}{#8}% }% \@@par \endgroup \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}% \addcontentsline{toc}{#1}{\protect\numberline{}#8}% }{% \def\@svsechd{% #6{% \@ifundefined{@runin@tos@#1}{\@runin@tos}{\csname @runin@tos@#1\endcsname}% % {\hskip#3\relax\H@svsec}{\Sectionformat{#8}{#1}}% {\hskip#3\relax\H@svsec}{#8}% }% \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}% \addcontentsline{toc}{#1}{\protect\numberline{}#8}% }% }% \@xsect{#5}% }% \def\@hang@froms#1#2{#1#2}% \def\@runin@tos #1#2{#1#2}% % \end{macrocode} % \end{macro} % % \begin{macro}{\init@documenthook} % Document classes that incorporate this package will be \classname{hyperref}-savvy. % (To accomplish this, we ensure that \cmd\hyperanchor\ and \cmd\hyper@last\ are both defined.) % Being \classname{hyperref}-savvy levels some requirements on us, but the benefits are many. % % One is that the TOC will not get amnesia and require a full set of three typesetting runs before its formatting is stable. % Instead, only two runs are required: the first updates the auxiliary file, the second the TOC. % However, the formatting of the document does not change. % % Another aspect of being \classname{hyperref}-savvy is that the syntax of commands in the \filename{.aux} file will now change % if \classname{hyperref} is turned on or off. % % Note that \cmd\hyper@anchorstart\ and \cmd\hyper@anchorend\ constitute the programming interface % for a hypertext anchor (the target of a hypertext link); \cmd\hyper@linkstart\ and \cmd\hyper@linkend\ % are the interface for a hypertext link. % \begin{macrocode} \appdef\init@documenthook{% \providecommand\phantomsection{}% %\@ifx{\Sectionformat\@undefined}{\let\Sectionformat\@firstoftwo}{}% \providecommand\hyper@anchor[1]{}% \providecommand\hyper@last{}% \providecommand\Hy@raisedlink[1]{#1}% \providecommand\hyper@anchorstart[1]{}% \providecommand\hyper@anchorend{}% \providecommand\hyper@linkstart[2]{}% \providecommand\hyper@linkend{}% }% \let\H@refstepcounter\refstepcounter % \end{macrocode} % \end{macro} % % \begin{macro}{\sec@upcase} % Upper case for sections (optional upper case items). These are % created so that some headings can be toggled between mixed case and % upper case readily. % Headings that might be changed can be wrapped in the style file in % \cmd\sec@upcase\arg{text} constructs; % the expansion of \cmd\sec@upcase\ is % controlled here. It is \cmd\relax\ by default (mixed case heads), and % can easily be changed to \cmd\uppercase\ if desired. % If mixed-case headings are wanted by the editor, authors {\em must} % supply mixed case text, although this is what authors should be doing % anyway. % (Mixed can be converted to upper, % but the reverse transformation cannot be automated.) % % The following setting gives the \LaTeX\ default. % \begin{macrocode} \def\sec@upcase#1{\relax{#1}}% % \end{macrocode} % \end{macro} % % % \subsection{Patch the \env{tabular} and \env{array} Environments} % % \begin{macro}{\endtabular} % \begin{macro}{\endarray} % We headpatch the begin processing and tailpatch the end processing % of the \env{tabular} and \env{array} environments. % A document class can define these hooks as needed. % % We proceed with care to make further patches to % support tabulars that break over pages. % Our patches will not necessarily be effective for % other packages that replace the \LaTeX\ \env{array} and \env{tabular} % environments. I know of none that do so. % \begin{macrocode} \appdef\class@documenthook{% \@ifpackageloaded{array}{\switch@array}{\switch@tabular}% \prepdef\endtabular{\endtabular@hook}% \@provide\endtabular@hook{}% \prepdef\endarray{\endarray@hook}% \@provide\endarray@hook{}% \providecommand\array@hook{}% % \end{macrocode} % Install, effectively, a head patch to \cmd\tabular. % In order to avoid interference from, e.g., the \classname{array} package, % we must perform this patch only \emph{after} packages load. % \changes{v4.0beta 3}{1999/11/13} % {Bug 130. Interference from array package} % \begin{macrocode} \prepdef\@tabular{\tabular@hook}% \@provide\tabular@hook{}% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\switch@tabular} % \begin{macro}{\switch@array} % The two procedures \cmd\switch@tabular\ and \cmd\switch@array\ % apply needed patches to the various tabular procedures, % the former applying to the \LaTeX\ kernel, the latter to the % required \classname{array} package (and to the number of other % required packages that load it). % % \begin{macrocode} \def\switch@tabular{% \let\@array@sw\@array@sw@array \@ifx{\@array\@array@LaTeX}{% \@ifx{\multicolumn\multicolumn@LaTeX}{% \@ifx{\@tabular\@tabular@LaTeX}{% \@ifx{\@tabarray\@tabarray@LaTeX}{% \@ifx{\array\array@LaTeX}{% \@ifx{\endarray\endarray@LaTeX}{% \@ifx{\endtabular\endtabular@LaTeX}{% \@ifx{\@mkpream\@mkpream@LaTeX}{% \@ifx{\@addamp\@addamp@LaTeX}{% \@ifx{\@arrayacol\@arrayacol@LaTeX}{% \@ifx{\@tabacol\@tabacol@LaTeX}{% \@ifx{\@arrayclassz\@arrayclassz@LaTeX}{% \@ifx{\@tabclassiv\@tabclassiv@LaTeX}{% \@ifx{\@arrayclassiv\@arrayclassiv@LaTeX}{% \@ifx{\@tabclassz\@tabclassz@LaTeX}{% \@ifx{\@classv\@classv@LaTeX}{% \@ifx{\hline\hline@LaTeX}{% \@ifx{\@tabularcr\@tabularcr@LaTeX}{% \@ifx{\@xtabularcr\@xtabularcr@LaTeX}{% \@ifx{\@xargarraycr\@xargarraycr@LaTeX}{% \@ifx{\@yargarraycr\@yargarraycr@LaTeX}{% \true@sw }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% {% \class@info{Patching LaTeX tabular.}% }{% \class@info{Unrecognized LaTeX tabular. Please update this document class! (Proceeding with fingers crossed.)}% }% \let\@array\@array@ltx \let\multicolumn\multicolumn@ltx \let\@tabular\@tabular@ltx \let\@tabarray\@tabarray@ltx \let\array\array@ltx \let\endarray\endarray@ltx \let\endtabular\endtabular@ltx \let\@mkpream\@mkpream@ltx \let\@addamp\@addamp@ltx \let\@arrayacol\@arrayacol@ltx \let\@tabacol\@tabacol@ltx \let\@arrayclassz\@arrayclassz@ltx \let\@tabclassiv\@tabclassiv@ltx \let\@arrayclassiv\@arrayclassiv@ltx \let\@tabclassz\@tabclassz@ltx \let\@classv\@classv@ltx \let\hline\hline@ltx \let\@tabularcr\@tabularcr@ltx \let\@xtabularcr\@xtabularcr@ltx \let\@xargarraycr\@xargarraycr@ltx \let\@yargarraycr\@yargarraycr@ltx }% \def\switch@array{% \let\@array@sw\@array@sw@LaTeX \@ifx{\@array\@array@array}{% \@ifx{\@tabular\@tabular@array}{% \@ifx{\@tabarray\@tabarray@array}{% \@ifx{\array\array@array}{% \@ifx{\endarray\endarray@array}{% \@ifx{\endtabular\endtabular@array}{% \@ifx{\@mkpream\@mkpream@array}{% \@ifx{\@classx\@classx@array}{% \@ifx{\insert@column\insert@column@array}{% \@ifx{\@arraycr\@arraycr@array}{% \@ifx{\@xarraycr\@xarraycr@array}{% \@ifx{\@xargarraycr\@xargarraycr@array}{% \@ifx{\@yargarraycr\@yargarraycr@array}{% \true@sw }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }% }{% \false@sw }{% \class@info{Patching array package.}% }{% \class@info{Unrecognized array package. Please update this document class! (Proceeding with fingers crossed.)}% }% \let\@array \@array@array@new \let\@@array \@array % Cosi fan tutti \let\@tabular \@tabular@array@new \let\@tabarray \@tabarray@array@new \let\array \array@array@new \let\endarray \endarray@array@new \let\endtabular\endtabular@array@new \let\@mkpream \@mkpream@array@new \let\@classx \@classx@array@new \let\@arrayacol\@arrayacol@ltx \let\@tabacol \@tabacol@ltx \let\insert@column\insert@column@array@new \expandafter\let\csname endtabular*\endcsname\endtabular % Cosi fan tutti \let\@arraycr \@arraycr@new \let\@xarraycr \@xarraycr@new \let\@xargarraycr\@xargarraycr@new \let\@yargarraycr\@yargarraycr@new }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@array@sw} % The Boolean \cmd\@array@sw\ must be different depending on % whether the \classname{array} package is loaded. % \begin{macrocode} \def\@array@sw@LaTeX{\@ifx{\\\@tabularcr}}% \def\@array@sw@array{\@ifx{\d@llarbegin\begingroup}}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@tabular} % We provide the old versions of \cmd\@tabular\ along with the respective new versions. % The change here is to avoid committing to LR mode. That will be done later (as late as possible, naturally). % \begin{macrocode} \def\@tabular@LaTeX{% \leavevmode \hbox\bgroup$% \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr \@tabarray }% \def\@tabular@ltx{% \let\@acoll\@tabacoll \let\@acolr\@tabacolr \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr \@tabarray }% \def\@tabular@array{% \leavevmode \hbox\bgroup$% \col@sep\tabcolsep \let\d@llarbegin\begingroup \let\d@llarend\endgroup \@tabarray }% \def\@tabular@array@new{% \let\@acoll\@tabacoll \let\@acolr\@tabacolr \let\@acol\@tabacol \let\col@sep\@undefined \let\d@llarbegin\begingroup \let\d@llarend\endgroup \@tabarray }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@tabarray} % Here we provide old and new versions of the \cmd\@tabarray\ procedure. % The change here is to parametrize the default vertical alignment, % which is 'c' in standard \LaTeX. % Under some circumstances, we want to change this to, say, 'v'. % % FIXME: must decouple \env{array} and \env{tabular}. % \begin{macrocode} \def\@tabarray@LaTeX{% \m@th\@ifnextchar[\@array{\@array[c]}% }% \def\@tabarray@ltx{% \m@th\@ifnextchar[\@array{\expandafter\@array\expandafter[\array@default]}% }% \def\@tabarray@array{% \@ifnextchar[{\@@array}{\@@array[c]}% }% \def\@tabarray@array@new{% \@ifnextchar[{\@@array}{\expandafter\@@array\expandafter[\array@default]}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@tabularcr} % \begin{macro}{\@tbpen} % \begin{macro}{\@tabularcr} % \begin{macro}{\@xtabularcr} % \begin{macro}{\@xargarraycr} % \begin{macro}{\@yargarraycr} % \begin{macro}{\@arraycr} % \begin{macro}{\@xarraycr} % We provide for the \cmd\\ command within \env{tabular} to provide control over page breaking, just the same as % that of \env{eqnarray}. % % The count register \cmd\intertabularlinepenalty\ is similar to \cmd\interdisplaylinepenalty: it is the penalty % associated with each row of a tabular. When it is set to \cmd\@M, the tabular will cleave together. % % The count register \cmd\@tbpen\ is similar to \cmd\@eqpen: it memorizes the penalty to use after the current tabular row. % If the \cmd\\ command is in its star form, then \cmd\@eqpen\ is set to \cmd\@M. % % We append code to \cmd\samepage\ so that a tabular within its scope will cleave together. % % We keep the standard definition of \cmd\@tabularcr\ in \cmd\@tabularcr@LaTeX\ for reference, % and provide a new definition that works like \cmd\@eqncr: it sets \cmd\@tbpen\ to \cmd\@M\ if the star was given. % % We also provide new versions of \cmd\@xtabularcr, \cmd\@xargarraycr, and \cmd\@yargarraycr, all of which invoke \cmd\@tbpen. % % The \cmd\switch@tabular\ procedure switches in the new definitions. % \begin{macrocode} \newcount\intertabularlinepenalty \intertabularlinepenalty=100 \newcount\@tbpen \appdef\samepage{\intertabularlinepenalty\@M}% \def\@tabularcr@LaTeX{{\ifnum 0=`}\fi \@ifstar \@xtabularcr \@xtabularcr}% \def\@tabularcr@ltx{{\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xtabularcr }{\global \@tbpen \intertabularlinepenalty \@xtabularcr }}% \def\@xtabularcr@LaTeX{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr }}% \def\@xtabularcr@ltx{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr \noalign {\penalty \@tbpen }}}% \def\@xargarraycr@LaTeX#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr}% \def\@xargarraycr@ltx#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr \noalign {\penalty \@tbpen }}% \def\@yargarraycr@LaTeX#1{\cr \noalign {\vskip #1}}% \def\@yargarraycr@ltx#1{\cr \noalign {\penalty \@tbpen \vskip #1}}% % \end{macrocode} % % If the \classname{array} package has been loaded, we must alter the meanings of % \cmd\@arraycr, \cmd\@xarraycr, \cmd\@xargarraycr, and \cmd\@yargarraycr. % In this case, it is \cmd\switch@array\ that switches in the new definitions. % \begin{macrocode} \def\@arraycr@array{% \relax \iffalse{\fi\ifnum 0=`}\fi \@ifstar \@xarraycr \@xarraycr }% \def\@arraycr@new{% \relax \iffalse{\fi\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xarraycr }{\global \@tbpen \intertabularlinepenalty \@xarraycr }% }% \def\@xarraycr@array{% \@ifnextchar [%] \@argarraycr {\ifnum 0=`{}\fi\cr}% }% \def\@xarraycr@new{% \@ifnextchar [%] \@argarraycr {\ifnum 0=`{}\fi\cr \noalign {\penalty \@tbpen }}% }% \def\@xargarraycr@array#1{% \unskip \@tempdima #1\advance\@tempdima \dp\@arstrutbox \vrule \@depth\@tempdima \@width\z@ \cr }% \def\@xargarraycr@new#1{% \unskip \@tempdima #1\advance\@tempdima \dp\@arstrutbox \vrule \@depth\@tempdima \@width\z@ \cr \noalign {\penalty \@tbpen }% }% \def\@yargarraycr@array#1{% \cr \noalign{\vskip #1}% }% \def\@yargarraycr@new#1{% \cr \noalign{\penalty \@tbpen \vskip #1}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\array} % We provide old and new versions of the \cmd\array\ procedure for both \LaTeX\ and the \classname{array} package. % The change here is to accomodate the new procedures that will be called for the array boundaries, even % though at present they are not special. % A thought: here is where matrices can be readily accomodated. % \begin{macrocode} \def\array@LaTeX{% \let\@acol\@arrayacol \let\@classz\@arrayclassz \let\@classiv\@arrayclassiv \let\\\@arraycr \let\@halignto\@empty \@tabarray }% \def\array@ltx{% \@ifmmode{}{\@badmath$}% \let\@acoll\@arrayacol \let\@acolr\@arrayacol \let\@acol\@arrayacol \let\@classz\@arrayclassz \let\@classiv\@arrayclassiv \let\\\@arraycr \let\@halignto\@empty \@tabarray }% \def\array@array{% \col@sep\arraycolsep \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}% \@tabarray } \def\array@array@new{% \@ifmmode{}{\@badmath$}% \let\@acoll\@arrayacol \let\@acolr\@arrayacol \let\@acol\@arrayacol \let\col@sep\@undefined \def\d@llarbegin{$}% \let\d@llarend\d@llarbegin \gdef\@halignto{}% \@tabarray }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@array} % Here we provide old and new versions of \cmd\@array. % The change here is to provide a convenient, flexible, and extensible % mechanism for new vertical alignment options. % % Instead of testing the optional argument with \cmd\if, we % use a dispatcher based on \cmd\csname. % % We also refrain from using \cmd\ialign, which would set % the \cmd\tabskip\ to the wrong value. % % Finally, the procedure to set the \cmd\@arstrutbox\ % is broken out so that it can be patched. % \begin{macrocode} \def\@array@LaTeX[#1]#2{% \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi \bgroup \setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch\ht\strutbox \@depth\arraystretch \dp\strutbox \@width\z@}% \@mkpream{#2}% \edef\@preamble{% \ialign \noexpand\@halignto \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox \let\tabularnewline\\% \let\par\@empty \let\@sharp##% \set@typeset@protect \lineskip\z@skip\baselineskip\z@skip \ifhmode \@preamerr\z@ \@@par\fi \@preamble }% \def\@array@ltx[#1]#2{% \@nameuse{@array@align@#1}% \set@arstrutbox \@mkpream{#2}% \prepdef\@preamble{% \tabskip\tabmid@skip \@arstrut }% \appdef\@preamble{% \tabskip\tabright@skip \cr \array@row@pre }% % \let\@startpbox\@@startpbox % \let\@endpbox\@@endpbox \let\tabularnewline\\% \let\par\@empty \let\@sharp##% \set@typeset@protect \lineskip\z@skip\baselineskip\z@skip \tabskip\tableft@skip\relax \ifhmode \@preamerr\z@ \@@par\fi \everycr{}% \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble }% % \def\set@arstrutbox{% \setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch\ht\strutbox \@depth\arraystretch \dp\strutbox \@width\z@ }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@array@array} % % \begin{macrocode} \def\@array@array[#1]#2{% \@tempdima \ht \strutbox \advance \@tempdima by\extrarowheight \setbox \@arstrutbox \hbox{\vrule \@height \arraystretch \@tempdima \@depth \arraystretch \dp \strutbox \@width \z@}% \begingroup \@mkpream{#2}% \xdef\@preamble{\noexpand \ialign \@halignto \bgroup \@arstrut \@preamble \tabskip \z@ \cr}% \endgroup \@arrayleft \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi \bgroup \let \@sharp ##\let \protect \relax \lineskip \z@ \baselineskip \z@ \m@th \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble }% \def\@array@array@new[#1]#2{% \@tempdima\ht\strutbox \advance\@tempdima by\extrarowheight \setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch\@tempdima \@depth \arraystretch\dp\strutbox \@width \z@ }% \begingroup \@mkpream{#2}% \xdef\@preamble{\@preamble}% \endgroup \prepdef\@preamble{% \tabskip\tabmid@skip \@arstrut }% \appdef\@preamble{% \tabskip\tabright@skip \cr \array@row@pre }% \@arrayleft \@nameuse{@array@align@#1}% \m@th \let\\\@arraycr \let\tabularnewline\\% \let\par\@empty \let\@sharp##% \set@typeset@protect \lineskip\z@\baselineskip\z@ \tabskip\tableft@skip \everycr{}% \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble }% % \end{macrocode} % \end{macro} % % \begin{macro}{\endarray} % Here we provide old and new versions of \cmd\endarray. % The change here is to use a single procedure to close % out any array-like structure, namely \cmd\endarray@ltx. % It merely closes out the \cmd\halign. % \begin{macrocode} \def\endarray@LaTeX{% \crcr\egroup\egroup }% \def\endarray@ltx{% \crcr\array@row@pst\egroup\egroup }% \def\endarray@array{% \crcr \egroup \egroup \@arrayright \gdef\@preamble{}% }% \def\endarray@array@new{% \crcr\array@row@pst\egroup\egroup % Same as \endarray@ltx \@arrayright \global\let\@preamble\@empty }% % \end{macrocode} % \end{macro} % % \begin{macro}{\endtabular} % % \begin{macrocode} \def\endtabular@LaTeX{% \crcr\egroup\egroup $\egroup }% \def\endtabular@ltx{% \endarray }% \def\endtabular@array{% \endarray $\egroup }% \def\endtabular@array@new{% \endarray }% % \end{macrocode} % \end{macro} % % \begin{macro}{endtabular*} % Here we provide a proper definition for the star-form of \enve{endtabular}. % It is one of the enduring curiosities that the \LaTeX\ kernel continues to use % dangerously and inappropriately ``optimized'' definitions for such commands. % \begin{macrocode} \@namedef{endtabular*}{\endtabular}% % \end{macrocode} % \end{macro} % % \begin{macro}{\multicolumn} % % \begin{macrocode} \long\def\multicolumn@LaTeX#1#2#3{% \multispan{#1}\begingroup \@mkpream{#2}% \def\@sharp{#3}\set@typeset@protect \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox \@arstrut \@preamble\hbox{}\endgroup\ignorespaces }% \long\def\multicolumn@ltx#1#2#3{% \multispan{#1}% \begingroup \@mkpream{#2}% \def\@sharp{#3}% \set@typeset@protect %\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox \@arstrut \@preamble \hbox{}% \endgroup \ignorespaces }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@array@align@} % \begin{macro}{\array@default} % Here are the various procedures for the vertical alignment options. % The change from standard \LaTeX\ is that we do not go into math mode % in every case: only when required by \cmd\vcenter. % Also, we use \cmd\aftergroup\ to close out the boxes and modes we have started. % It requires only that each procedure issue exactly one unmatched \cmd\bgroup. % % We establish here the default vertical alignment. % \begin{macrocode} \def\@array@align@t{\leavevmode\vtop\bgroup}% \def\@array@align@b{\leavevmode\vbox\bgroup}% \def\@array@align@c{\leavevmode\@ifmmode{\vcenter\bgroup}{$\vcenter\bgroup\aftergroup$\aftergroup\relax}}% \def\@array@align@v{% \@ifmmode{% \@badmath \vcenter\bgroup }{% \@ifinner{% $\vcenter\bgroup\aftergroup$ }{% \@@par\bgroup }% }% }% \def\array@default{c}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\array@row@pre} % \begin{macro}{\array@row@pst} % \begin{macro}{\array@row@rst} % The procedure \cmd\array@row@rst\ reestablishes a default context for % an alignment, so that they can be nested. % Any environment or procedure that alters the way alignments are formatted % must patch this procedure to restore from that alteration. % To start things off, we equate \cmd\@array@align@v\ to \cmd\@array@align@c, % because it does not make sense to do the former in any context other % than the MVL or in a list that will be unboxed onto the MVL. % \begin{macrocode} \def\array@row@rst{% \let\@array@align@v\@array@align@c }% \def\array@row@pre{}% \def\array@row@pst{}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\toprule} % \begin{macro}{\colrule} % \begin{macro}{\botrule} % Default definitions for \cmd\toprule, \cmd\colrule, \cmd\botrule % \begin{macrocode} \newcommand\toprule{\tab@rule{\column@font}{\column@fil}{\frstrut}}% \newcommand\colrule{\unskip\lrstrut\\\tab@rule{\body@font}{}{\frstrut}}% \newcommand\botrule{\unskip\lrstrut\\\noalign{\hline@rule}{}}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\hline} % \begin{macrocode} \def\hline@LaTeX{% \noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet \reserved@a\@xhline }% \def\hline@ltx{% \noalign{% \ifnum0=`}\fi \hline@rule \futurelet\reserved@a\@xhline % \noalign ended in \@xhline }% \def\@xhline@unneeded{% \say\reserved@a \ifx\reserved@a\hline \vskip\doublerulesep \vskip-\arrayrulewidth \fi \ifnum0=`{\fi}% }% \def\tab@rule#1#2#3{% \crcr \noalign{% \hline@rule \gdef\@arstrut@hook{% \global\let\@arstrut@hook\@empty #3% }% \gdef\cell@font{#1}% \gdef\cell@fil{#2}% }% }% \def\column@font{}% \def\column@fil{}% \def\body@font{}% \def\cell@font{}% \def\frstrut{}% \def\lrstrut{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@arstrut@hline} % \begin{macro}{\@arstrut@org} % \begin{macro}{\@arstrut@hook} % \begin{macro}{\@arstrutbox@hline} % \begin{macro}{\set@arstrutbox} % \begin{macro}{\hline@rule} % The procedure \cmd\@arstrut@hline\ is substantially the same as % \cmd\@arstrut, except the strut copied in is \cmd\@arstrutbox@hline % instead of \cmd\@arstrutbox. % % The procedure \cmd\@arstrut@hook\ is redefined in \cmd\tab@rule! % % The register \cmd\@arstrutbox@hline. % % We append to \cmd\set@arstrutbox\ the code necessary to set a strut following an \cmd\hline. % % The procedure \cmd\hline@rule\ lays down a rule, and changes the meaning of \cmd\@arstrut\ % so that the next line will be correctly strutted. % % The \cmd\@arstrut@hline@clnc\ is a klootch, a magic number. % \begin{macrocode} \def\@arstrut@hline{% \relax \@ifmmode{\copy}{\unhcopy}\@arstrutbox@hline \@arstrut@hook }% % \let\@arstrut@org\@arstrut \def\@arstrut@hook{% \global\let\@arstrut\@arstrut@org }% % \newbox\@arstrutbox@hline \appdef\set@arstrutbox{% \setbox\@arstrutbox@hline\hbox{% \setbox\z@\hbox{$0^{0}_{}$}% \dimen@\ht\z@\advance\dimen@\@arstrut@hline@clnc \@ifdim{\dimen@<\arraystretch\ht\strutbox}{\dimen@=\arraystretch\ht\strutbox}{}% \vrule \@height\dimen@ \@depth\arraystretch \dp\strutbox \@width\z@ }% }% % \def\hline@rule{% \hrule \@height \arrayrulewidth \global\let\@arstrut\@arstrut@hline }% \def\@arstrut@hline@clnc{2\p@}% % Klootch: magic number % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\tableft@skip} % \begin{macrocode} \def\tableft@skip{\z@skip}% \def\tabmid@skip{\z@skip}%\@flushglue \def\tabright@skip{\z@skip}% \def\tableftsep{\tabcolsep}% \def\tabmidsep{\tabcolsep}% \def\tabrightsep{\tabcolsep}% \def\cell@fil{}% \def\pbox@hook{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@arstrut} % \begin{macrocode} \appdef\@arstrut{\@arstrut@hook}% \let\@arstrut@hook\@empty \def\@addtopreamble{\appdef\@preamble}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@mkpream} % \begin{macrocode} \def\@mkpream@LaTeX#1{% \@firstamptrue\@lastchclass6 \let\@preamble\@empty \let\protect\@unexpandable@protect \let\@sharp\relax \let\@startpbox\relax\let\@endpbox\relax \@expast{#1}% \expandafter\@tfor \expandafter \@nextchar \expandafter:\expandafter=\reserved@a\do {\@testpach\@nextchar \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or\@classv \fi\@lastchclass\@chclass}% \ifcase \@lastchclass \@acol \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi }% \def\@mkpream@ltx#1{% \@firstamptrue \@lastchclass6 \let\@preamble\@empty \let\protect\@unexpandable@protect \let\@sharp\relax %\let\@startpbox\relax\let\@endpbox\relax \@expast{#1}% \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\reserved@a \do{% \expandafter\@testpach\expandafter{\@nextchar}% \ifcase\@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or \@classv \fi \@lastchclass\@chclass }% \ifcase\@lastchclass \@acolr % right-hand column \or \or \@preamerr\@ne \or \@preamerr\tw@ \or \or \@acolr % right-hand column \fi }% % \end{macrocode} % \end{macro} % % \begin{macro}{\insert@column} % \begin{macrocode} \def\insert@column@array{% \the@toks \the \@tempcnta \ignorespaces \@sharp \unskip \the@toks \the \count@ \relax }% \def\insert@column@array@new{% \the@toks\the\@tempcnta \array@row@rst\cell@font \ignorespaces\@sharp\unskip \the@toks\the\count@ \relax }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@mkpream@relax} % The procedure \cmd\@mkpream@relax\ participates in a strange and wonderful % method of binding the alignment procedure---but only certain parts thereof. % % Here is how it works: in \LaTeX, the \classname{array} package, and in the % \classname{longtable} package alike, there is a need to create an alignment % preamble (using \cmd\@mkpream) for use by the upcoming \cmd\halign. % Then, in both \classname{array} and \classname{longtable}, \TeX's \cmd\edef\ % is used to `compile in place' that alignment preamble. % % In the case of \classname{array}, the operation is done in order to % pre-expand the use of \texttt{*}, in \classname{longtable}, it is to % set the widths of the columns. % % Now, during this \cmd\edef, certain control sequence names must \emph{not} % be expanded, and those are robustified by \cmd\@mkpream@relax. % % \begin{macrocode} \def\@mkpream@relax{% \let\tableftsep\relax \let\tabmidsep\relax \let\tabrightsep\relax \let\array@row@rst\relax \let\cell@font\relax \let\@startpbox\relax }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@mkpream} % \begin{macrocode} \def\@mkpream@array#1{% \gdef\@preamble{}\@lastchclass 4 \@firstamptrue \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax \@temptokena{#1}\@tempswatrue \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% \count@\m@ne \let\the@toks\relax \prepnext@tok \expandafter \@tfor \expandafter \@nextchar \expandafter :\expandafter =\the\@temptokena \do {\@testpach \ifcase \@chclass \@classz \or \@classi \or \@classii \or \save@decl \or \or \@classv \or \@classvi \or \@classvii \or \@classviii \or \@classx \or \@classx \fi \@lastchclass\@chclass}% \ifcase\@lastchclass \@acol \or \or \@acol \or \@preamerr \thr@@ \or \@preamerr \tw@ \@addtopreamble\@sharp \or \or \else \@preamerr \@ne \fi \def\the@toks{\the\toks}% }% \def\@mkpream@array@new#1{% \gdef\@preamble{}% \@lastchclass\f@ur \@firstamptrue \let\@sharp\relax \@mkpream@relax %\let\@startpbox\relax\let\@endpbox\relax \@temptokena{#1}\@tempswatrue \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% \count@\m@ne \let\the@toks\relax \prepnext@tok \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the\@temptokena \do{% \@testpach \ifcase\@chclass \@classz \or \@classi \or \@classii \or \save@decl \or \or \@classv \or \@classvi \or \@classvii \or \@classviii \or \@classx \or \@classx \fi \@lastchclass\@chclass }% \ifcase\@lastchclass \@acolr % right-hand column \or \or \@acolr % right-hand column \or \@preamerr\thr@@ \or \@preamerr\tw@\@addtopreamble\@sharp \or \or \else \@preamerr\@ne \fi \def\the@toks{\the\toks}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@addamp} % \begin{macrocode} \def\@addamp@LaTeX{% \if@firstamp\@firstampfalse\else\edef\@preamble{\@preamble &}\fi }% \def\@addamp@ltx{% \if@firstamp\@firstampfalse\else\@addtopreamble{&}\fi }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@arrayacol} % \begin{macrocode} \def\@arrayacol@LaTeX{% \edef\@preamble{\@preamble \hskip \arraycolsep}% }% \def\@arrayacol@ltx{% \@addtopreamble{\hskip\arraycolsep}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@tabacol} % \begin{macrocode} \def\@tabacoll{% \@addtopreamble{\hskip\tableftsep\relax}% }% \def\@tabacol@LaTeX{% \edef\@preamble{\@preamble \hskip \tabcolsep}% }% \def\@tabacol@ltx{% \@addtopreamble{\hskip\tabmidsep\relax}% }% \def\@tabacolr{% \@addtopreamble{\hskip\tabrightsep\relax}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@arrayclassz} % \begin{macrocode} \def\@arrayclassz@LaTeX{% \ifcase \@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi \edef\@preamble{\@preamble \ifcase \@chnum \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil \or \hfil$\relax\@sharp$\fi}% }% \def\@arrayclassz@ltx{% \ifcase\@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse\@acoll \fi \ifcase\@chnum \@addtopreamble{% \hfil\array@row@rst$\relax\@sharp$\hfil }% \or \@addtopreamble{% \array@row@rst$\relax\@sharp$\hfil }% \or \@addtopreamble{% \hfil\array@row@rst$\relax\@sharp$% }% \fi }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@tabclassz} % \begin{macrocode} \def\@tabclassz@LaTeX{% \ifcase\@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse\@acol \fi \edef\@preamble{% \@preamble{% \ifcase\@chnum \hfil\ignorespaces\@sharp\unskip\hfil \or \hskip1sp\ignorespaces\@sharp\unskip\hfil \or \hfil\hskip1sp\ignorespaces\@sharp\unskip \fi}}% }% \def\@tabclassz@ltx{% \ifcase\@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse\@acoll \fi \ifcase\@chnum \@addtopreamble{% {\hfil\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}% }% \or \@addtopreamble{% {\cell@fil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}% }% \or \@addtopreamble{% {\hfil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\cell@fil}% }% \fi }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@tabclassiv} % \begin{macrocode} \def\@tabclassiv@LaTeX{% \@addtopreamble\@nextchar }% \def\@tabclassiv@ltx{% \expandafter\@addtopreamble\expandafter{\@nextchar}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@arrayclassiv} % \begin{macrocode} \def\@arrayclassiv@LaTeX{% \@addtopreamble{$\@nextchar$}% }% \def\@arrayclassiv@ltx{% \expandafter\@addtopreamble\expandafter{\expandafter$\@nextchar$}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@classv} % \begin{macrocode} \def\@classv@LaTeX{% \@addtopreamble{\@startpbox{\@nextchar}\ignorespaces \@sharp\@endpbox}% }% \def\@classv@ltx{% \expandafter\@addtopreamble \expandafter{% \expandafter \@startpbox \expandafter {\@nextchar}% \pbox@hook\array@row@rst\cell@font\ignorespaces\@sharp\@endpbox }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@classx} % \begin{macrocode} \def\@classx@array{% \ifcase \@lastchclass \@acolampacol \or \@addamp \@acol \or \@acolampacol \or \or \@acol \@firstampfalse \or \@addamp \fi }% \def\@classx@array@new{% \ifcase \@lastchclass \@acolampacol \or \@addamp \@acol \or \@acolampacol \or \or \@firstampfalse\@acoll \or \@addamp \fi }% % \end{macrocode} % \end{macro} % % % \subsection{Repair other broken parts of \LaTeX} % % \begin{macro}{\@xbitor} % Expansion part has extraneous space token. Removed. % \begin{macrocode} \def\@xbitor@LaTeX #1{\@tempcntb \count#1 \ifnum \@tempcnta =\z@ \else \divide\@tempcntb\@tempcnta \ifodd\@tempcntb \@testtrue\fi \fi}% \def\@xbitor@ltx#1{% \@tempcntb\count#1% \@ifnum{\@tempcnta=\z@}{}{% \divide\@tempcntb\@tempcnta \@ifodd\@tempcntb{\@testtrue}{}% }% }% \@ifx{\@xbitor\@xbitor@LaTeX}{% \class@info{Repairing broken LaTeX \string\@xbitor}% }{% \class@info{Unrecognized LaTeX \string\@xbitor. Please update this document class! (Proceeding with fingers crossed.)}% }% \let\@xbitor\@xbitor@ltx % \end{macrocode} % \end{macro} % % % \subsection{Syntax} % \begin{macro}{\@gobble@opt@one} % The \cmd\@gobble@opt@one\ command eats up an optional argument % and one required argument. % \begin{macrocode} \newcommand*\@gobble@opt@one[2][]{}% % \end{macrocode} % \end{macro} % % \subsection{Auto-indented Contents} % Facility to automatically determine the proper indentation of % the TOC entries. % % Note on \classname{hyperref} compatibility: % We must respect that % \cmd\contentsline now has a 4th argument. % So, instead of trying to override the meaning of \cmd\contentsline, % we use the aux file to remember max values from one run to the next. % % In this respect, this package retains compatability with % \classname{hyperref}. % % \begin{macro}{\@starttoc} % Install hooks at beginning and end of the TOC processing. % \begin{macrocode} \def\@starttoc#1{% \begingroup \toc@pre \makeatletter \@input{\jobname.#1}% \if@filesw \expandafter\newwrite\csname tf@#1\endcsname \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax \fi \@nobreakfalse \toc@post \endgroup }% \def\toc@pre{}% \def\toc@post{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\toc@@font} % Interface for setting the formatting characteristics of this part % of the TOC. % % Note: \cmd\toc@@font\ is the common font for all auto-sizing toc commands, % although this, too, could become a dispatcher. % \begin{macrocode} \def\toc@@font{}%{\footnotesize\rmfamily}% \def\@dotsep{\z@}%{5.5pt}% % \end{macrocode} % \end{macro} % % \begin{macro}{\l@section} % Interface for determining which TOC elements are automatically indented. % % All of the \cmd\l@\dots\ commands simply go through the % bottleproc \cmd\l@@sections. The calling convention is % to pass the name of self and the name of parent. % If you want to exclude any of these from the indentation % scheme, simply leave the \cmd\l@\dots\ command undefined. % % Note that the parent of ``section'' is nil, so we have to % define a stub. % \begin{verbatim} %\def\l@section{% % \l@@sections{}{section}% Implicit #3#4 %}% %\def\tocleft@{\z@}% %\def\l@subsection{% % \l@@sections{section}{subsection}% Implicit #3#4 %}% %\def\l@subsubsection{% % \l@@sections{subsection}{subsubsection}% Implicit #3#4 %}% %\def\l@paragraph{% % \l@@sections{subsubsection}{paragraph}% Implicit #3#4 %}% %\def\l@subparagraph#1#2{% % \l@@sections{paragraph}{subparagraph}% Implicit #3#4 %}% % \end{verbatim} % \end{macro} % % Glom some \cmd\dimen\ registers. % \begin{macrocode} \let\tocdim@section \leftmargini \let\tocdim@subsection \leftmarginii \let\tocdim@subsubsection \leftmarginiii \let\tocdim@paragraph \leftmarginiv \let\tocdim@appendix \leftmarginv \let\tocdim@pagenum \leftmarginvi % \end{macrocode} % % \begin{macro}{\toc@pre@auto} % \begin{macro}{\toc@post@auto} % We patch \cmd\@starttoc\ to: % 1) before TOC processing, % initialize the max registers and % set the needed dimensions from % the values stored in the auxiliary file, and % 2) after TOC processing, % store out those max register values into the auxiliary file. % % Note that the font is set here: all other TOC entries must % override these font settings. % % To activate this override of the standard \LaTeX\ processing, % the substyle does: \cmd\let\cmd\toc@pre\cmd\toc@pre@auto\ % and \cmd\let\cmd\toc@post\cmd\toc@post@auto. % \begin{macrocode} \def\toc@pre@auto{% \toc@@font \@tempdima\z@ \toc@setindent\@tempdima{section}% \toc@setindent\@tempdima{subsection}% \toc@setindent\@tempdima{subsubsection}% \toc@setindent\@tempdima{paragraph}% \toc@letdimen{appendix}% \toc@letdimen{pagenum}% }% \def\toc@post@auto{% \if@filesw \begingroup \toc@writedimen{section}% \toc@writedimen{subsection}% \toc@writedimen{subsubsection}% \toc@writedimen{paragraph}% \toc@writedimen{appendix}% \toc@writedimen{pagenum}% \endgroup \fi }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\toc@setindent} % \begin{macrocode} \def\toc@setindent#1#2{% \csname tocdim@#2\endcsname\tocdim@min\relax \@ifundefined{tocmax@#2}{\@namedef{tocmax@#2}{\z@}}{}% \advance#1\@nameuse{tocmax@#2}\relax \expandafter\edef\csname tocleft@#2\endcsname{\the#1}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\toc@letdimen} % \begin{macrocode} \def\toc@letdimen#1{% \csname tocdim@#1\endcsname\tocdim@min\relax \@ifundefined{tocmax@#1}{\@namedef{tocmax@#1}{\z@}}{}% \expandafter\let\csname tocleft@#1\expandafter\endcsname\csname tocmax@#1\endcsname }% % \end{macrocode} % \end{macro} % % \begin{macro}{\toc@writedimen} % \begin{macrocode} \def\toc@writedimen#1{% \immediate\write\@auxout{% \gdef\expandafter\string\csname tocmax@#1\endcsname{% \expandafter\the\csname tocdim@#1\endcsname }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\l@@sections} % The procedure for formatting the indented TOC entries. % We use control sequence names such as \cmd\tocmax@section\ and % \cmd\tocleft@section, the former being written to the auxiliary file % and the latter only defined for the duration of the TOC processing. % % Note that the assignment of \cmd\box\cmd\z@\ must endure % over the invocation of |#3|. % \begin{macrocode} \def\l@@sections#1#2#3#4{% % #1 - superior section % #2 - this section % #3 - content, including possible \numberline % #4 - page number \begingroup \everypar{}% \set@tocdim@pagenum{#4}% \global\@tempdima\csname tocdim@#2\endcsname \leftskip\csname tocleft@#2\endcsname\relax \dimen@\csname tocleft@#1\endcsname\relax \parindent-\leftskip\advance\parindent\dimen@ \rightskip\tocleft@pagenum plus 1fil\relax \skip@\parfillskip\parfillskip\z@ \let\numberline\numberline@@sections \@nameuse{l@f@#2}% \ignorespaces#3\unskip\nobreak\hskip\skip@ \hb@xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z@skip \par \expandafter\aftergroup\csname tocdim@#2\endcsname\expandafter \endgroup\the\@tempdima\relax }% \def\set@tocdim@pagenum#1{% \setbox\@tempboxa\hbox{\ignorespaces#1}% \@ifdim{\tocdim@pagenum<\wd\z@}{\global\tocdim@pagenum\wd\z@}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\numberline@@sections} % The bottleproc for all \cmd\numberline\ processing in indented TOC entries. % The first argument is self. % % We use \cmd\@tempdima\ to pass a value around (via global assignment) because % \cmd\numberline\ executes inside a group if the % \classname{hyperref} package is loaded. % Would that it were not so! % \begin{macrocode} \def\numberline@@sections#1{% \leavevmode\hb@xt@-\parindent{% \hfil \@if@empty{#1}{}{% \setbox\z@\hbox{#1.\kern\@dotsep}% \@ifdim{\@tempdima<\wd\z@}{\global\@tempdima\wd\z@}{}% \unhbox\z@ }% }% \ignorespaces }% \def\tocdim@min{\z@}% % \end{macrocode} % \end{macro} % % % \subsection{Lists} % \begin{macro}{\list} % Using \cmd\parshape\ to implement lists was always suspect % (can you get behind \cmd\parshape\cmd\@ne?) and we now see that % it was a mistake all along. Why? Because \cmd\parshape, like % \cmd\hangindent, achieves its effect via ``shifting'' the \cmd\hbox es % in a paragraph % instead of using \cmd\leftskip\ and \cmd\parindent, which is % robust during column balancing. % % We introduce the alternative method with a hook into % the \LaTeX\ kernel procedure \cmd\list, which is % the implementation of all lists. % % \begin{macrocode} \def\list#1#2{% \ifnum \@listdepth >5\relax \@toodeep \else \global\advance\@listdepth\@ne \fi \rightmargin\z@ \listparindent\z@ \itemindent\z@ \csname @list\romannumeral\the\@listdepth\endcsname \def\@itemlabel{#1}% \let\makelabel\@mklab \@nmbrlistfalse #2\relax \@trivlist \parskip\parsep \set@listindent \ignorespaces }% \def\set@listindent@parshape{% \parindent\listparindent \advance\@totalleftmargin\leftmargin \advance\linewidth-\rightmargin \advance\linewidth-\leftmargin \parshape\@ne\@totalleftmargin\linewidth }% \def\set@listindent@{% \parindent\listparindent \advance\@totalleftmargin\leftmargin \advance\rightskip\rightmargin \advance\leftskip\@totalleftmargin }% \let\set@listindent\set@listindent@parshape % \end{macrocode} % \end{macro} % % \subsection{End of the \file{ltxutil} {\sc docstrip} module} % Here ends the module. % \begin{macrocode} %</ltxutil-krn> % \end{macrocode} % % % \Finale % %Here ends the programmer's documentation. % \endinput % \endinput %%EOF ������������extrarpms/revtex4/src/ltxutil.pdf�������������������������������������������������������������������0100644�0000764�0000764�00000740662�07332604137�016512� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%PDF-1.3 5 0 obj << /S /GoTo /D (section.1) >> endobj 8 0 obj (Processing Instructions) endobj 9 0 obj << /S /GoTo /D (subsection.1.1) >> endobj 12 0 obj (Build Instructions) endobj 13 0 obj << /S /GoTo /D (subsection.1.2) >> endobj 16 0 obj (Bill of Materials) endobj 17 0 obj << /S /GoTo /D (subsubsection.1.2.1) >> endobj 20 0 obj (Primary Source) endobj 21 0 obj << /S /GoTo /D (subsubsection.1.2.2) >> endobj 24 0 obj (Generated by latex ltxutil.dtx) endobj 25 0 obj << /S /GoTo /D (subsubsection.1.2.3) >> endobj 28 0 obj (Generated by tex ltxutil.ins) endobj 29 0 obj << /S /GoTo /D (subsubsection.1.2.4) >> endobj 32 0 obj (Documentation) endobj 33 0 obj << /S /GoTo /D (subsubsection.1.2.5) >> endobj 36 0 obj (Auxiliary) endobj 37 0 obj << /S /GoTo /D (section.2) >> endobj 40 0 obj (Code common to all modules) endobj 41 0 obj << /S /GoTo /D (section.3) >> endobj 44 0 obj (The driver module doc) endobj 45 0 obj << /S /GoTo /D (subsection.3.1) >> endobj 48 0 obj (The Preamble) endobj 49 0 obj << /S /GoTo /D (subsubsection.3.1.1) >> endobj 52 0 obj (Docstrip and info directives) endobj 53 0 obj << /S /GoTo /D (subsection.3.2) >> endobj 56 0 obj (The installer file) endobj 57 0 obj << /S /GoTo /D (subsection.3.3) >> endobj 60 0 obj (The ``Read Me'' File) endobj 61 0 obj << /S /GoTo /D (subsection.3.4) >> endobj 64 0 obj (The Document Body) endobj 65 0 obj << /S /GoTo /D (section.4) >> endobj 68 0 obj (Using this package) endobj 69 0 obj << /S /GoTo /D (subsection.4.1) >> endobj 72 0 obj (Invoking the package) endobj 73 0 obj << /S /GoTo /D (section.5) >> endobj 76 0 obj (Compatability with LaTeX's Required Packages) endobj 77 0 obj << /S /GoTo /D (subsection.5.1) >> endobj 80 0 obj (array) endobj 81 0 obj << /S /GoTo /D (subsection.5.2) >> endobj 84 0 obj (longtable) endobj 85 0 obj << /S /GoTo /D (section.6) >> endobj 88 0 obj (Implementation of package) endobj 89 0 obj << /S /GoTo /D (subsection.6.1) >> endobj 92 0 obj (Beginning of the ltxutil docstrip module) endobj 93 0 obj << /S /GoTo /D (subsection.6.2) >> endobj 96 0 obj (Banner) endobj 97 0 obj << /S /GoTo /D (subsection.6.3) >> endobj 100 0 obj (Errors and warnings) endobj 101 0 obj << /S /GoTo /D (subsection.6.4) >> endobj 104 0 obj (New Tools) endobj 105 0 obj << /S /GoTo /D (subsection.6.5) >> endobj 108 0 obj (Boolean Control) endobj 109 0 obj << /S /GoTo /D (subsection.6.6) >> endobj 112 0 obj (Begin Document Structure) endobj 113 0 obj << /S /GoTo /D (subsection.6.7) >> endobj 116 0 obj (Type Tools) endobj 117 0 obj << /S /GoTo /D (subsection.6.8) >> endobj 120 0 obj (Display Math) endobj 121 0 obj << /S /GoTo /D (subsection.6.9) >> endobj 124 0 obj (Footnotes) endobj 125 0 obj << /S /GoTo /D (subsection.6.10) >> endobj 128 0 obj (Floats) endobj 129 0 obj << /S /GoTo /D (subsubsection.6.10.1) >> endobj 132 0 obj (Usage notes) endobj 133 0 obj << /S /GoTo /D (subsubsection.6.10.2) >> endobj 136 0 obj (Robustifying fragile commands) endobj 137 0 obj << /S /GoTo /D (subsubsection.6.10.3) >> endobj 140 0 obj (Preparing for the hyperref package) endobj 141 0 obj << /S /GoTo /D (subsubsection.6.10.4) >> endobj 144 0 obj (Footnotes within floats, unfloating floats, float font) endobj 145 0 obj << /S /GoTo /D (subsubsection.6.10.5) >> endobj 148 0 obj (Writing floats out to a file) endobj 149 0 obj << /S /GoTo /D (subsection.6.11) >> endobj 152 0 obj (Counters) endobj 153 0 obj << /S /GoTo /D (subsection.6.12) >> endobj 156 0 obj (Customization of Sections) endobj 157 0 obj << /S /GoTo /D (subsection.6.13) >> endobj 160 0 obj (Patch the tabular and array Environments) endobj 161 0 obj << /S /GoTo /D (subsection.6.14) >> endobj 164 0 obj (Repair other broken parts of LaTeX) endobj 165 0 obj << /S /GoTo /D (subsection.6.15) >> endobj 168 0 obj (Syntax) endobj 169 0 obj << /S /GoTo /D (subsection.6.16) >> endobj 172 0 obj (Auto-indented Contents) endobj 173 0 obj << /S /GoTo /D (subsection.6.17) >> endobj 176 0 obj (Lists) endobj 177 0 obj << /S /GoTo /D (subsection.6.18) >> endobj 180 0 obj (End of the ltxutil docstrip module) endobj 181 0 obj << /S /GoTo /D (section*.2) >> endobj 184 0 obj (Index) endobj 185 0 obj << /S /GoTo /D [186 0 R /Fit ] >> endobj 188 0 obj << /Length 2480 /Filter /FlateDecode >> stream xZK6ϯQJE^#8qjIמC( #qM Iţ�ȑHH{˩ tO�lBMDs=ђkdU\>}wǹ$4̵"1X4_\-^X^Βͭryz=Nz}ˆMMD8ͣࠉ&*t݆'?_X2MWoӍ mx,Ϛcx)UU֑yB(pâ8#̹*!LRlUߛP1 - MhM̦"DafyS~Unw?}Y5dU#T0m�ٗavJ^Lsf4\AC+#Y*l{^q kmh-\An ­ 8luXD8c$ AA۬ TQvŲ\g.~ie7�^G!%l8q> (ϞnפMVB_[ǏMP*�QXBa&00')>HXguSekcvMhޖUh4^J`y^0-P؊X]EvҶMDe6 ONUrشQs"/-qwUCz" (.YOT"Omv6gNq4@4q խ+0 =adk)pރ@#*#(330Dsm5&iEV@[cx!ׅU ݯ`:\eOޠlBKs?d\U0 ]`/*Dg}>h"4r0`PXIGj!!H"]9v~I$1~SXUU׭rX*ҔܮF!'NÀS$zԙ nic#z!A�e1PW"a=\~"Y=ld*wi٨sb!ϥؓҶiդ;6$rbUs~0 ј M; Β,c\;;y)dJg7V FΝ+yпӺFX"[M1BljhCDۄ�?k#m@M۠p6ޭBYh@^JerYGtCʼG.]6jάae{c'NT B!-ҹ} tnjrm2FU*i !]꽡OSӁ4g< _r34ǰT pk02g.La|?ۆ>?6kکH> cYCF\$>t|c4AbTL 03DgRY("y$us©4Ѻ"gByjVv ~}Ww[WE*0Гc2~-! D!O}/Nbu;#B] Az\vg=0 ^8iX`*!:i"[z*a+ͮ )0$, fR]Tm1#"HD]ؾw?*~ 2+p. y;ǖ^0=Q&Ȟ kf`J@} bF�5{= 6X.Jb$nK3-1o1d#GH,8XPqrx$q#x'pP{GeEZŠbʍ4z$~T?}8A֚ON\ ]a@Relm]7wd,fxc*H Mti$�l$yҸG6:yhİL=31tsn"!KIaom/8^<Ð[Oi䔔SFRק!q2RRE&n^XmZ[Cz AڋQrK k/i"țݴpgwPq*^qr&cq({č�ZVtfʥ2ڐRS%3>.!cc|2![qq vр&b6*n WBTkG X" =t7[t6\JRm "/&eh̆3 k{ |g9؇CrG­BeoOq\+"%'L?N{PY\]?+klcc(ZϿF|Eew Y;)ǿWos'$""PZmN8p$?p5V\Iw04v^@ ;vb@;^R[L gY@^[P @QLM_e5|ځuZOkVtߟF Ys$t{{zG_~c$4~y~<݌PGk#x%dJ2< �27Ƶd.(bJ(�Fˆ[Qxװoendstream endobj 186 0 obj << /Type /Page /Contents 188 0 R /Resources 187 0 R /MediaBox [0 0 595.276 841.89] /Parent 221 0 R /Annots [ 197 0 R 198 0 R 199 0 R 200 0 R 204 0 R 205 0 R 206 0 R 207 0 R 208 0 R 209 0 R 210 0 R 211 0 R 212 0 R 213 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R ] >> endobj 197 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [324.055 534.225 499.397 545.168] /Subtype /Link /A << /Type /Action /S /URI /URI (ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxutil...) >> >> endobj 198 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [143.731 522.27 426.67 533.213] /Subtype /Link /A << /Type /Action /S /URI /URI (ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxutil...) >> >> endobj 199 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [401.763 474.364 499.397 485.393] /Subtype /Link /A << /Type /Action /S /URI /URI (http://ctan.tug.org/macros/latex/base/lppl.txt) >> >> endobj 200 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [143.731 463.116 325.051 473.437] /Subtype /Link /A << /Type /Action /S /URI /URI (http://ctan.tug.org/macros/latex/base/lppl.txt) >> >> endobj 204 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 335.002 259.834 345.886] /Subtype /Link /A << /S /GoTo /D (section.1) >> >> endobj 205 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 324.96 255.262 333.861] /Subtype /Link /A << /S /GoTo /D (subsection.1.1) >> >> endobj 206 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 312.979 249.443 321.906] /Subtype /Link /A << /S /GoTo /D (subsection.1.2) >> >> endobj 207 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 299.007 277.718 309.951] /Subtype /Link /A << /S /GoTo /D (subsubsection.1.2.1) >> >> endobj 208 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 287.052 372.961 297.995] /Subtype /Link /A << /S /GoTo /D (subsubsection.1.2.2) >> >> endobj 209 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 275.097 361.006 286.04] /Subtype /Link /A << /S /GoTo /D (subsubsection.1.2.3) >> >> endobj 210 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 265.159 276.891 274.085] /Subtype /Link /A << /S /GoTo /D (subsubsection.1.2.4) >> >> endobj 211 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 251.186 253.648 262.13] /Subtype /Link /A << /S /GoTo /D (subsubsection.1.2.5) >> >> endobj 212 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 231.241 283.536 240.282] /Subtype /Link /A << /S /GoTo /D (section.2) >> >> endobj 213 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 209.358 260.592 218.364] /Subtype /Link /A << /S /GoTo /D (section.3) >> >> endobj 216 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 197.413 239.192 206.339] /Subtype /Link /A << /S /GoTo /D (subsection.3.1) >> >> endobj 217 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 183.44 326.016 194.384] /Subtype /Link /A << /S /GoTo /D (subsubsection.3.1.1) >> >> endobj 218 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 173.503 248.886 182.429] /Subtype /Link /A << /S /GoTo /D (subsection.3.2) >> >> endobj 219 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 161.547 264.647 170.474] /Subtype /Link /A << /S /GoTo /D (subsection.3.3) >> >> endobj 220 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 147.575 267.148 158.518] /Subtype /Link /A << /S /GoTo /D (subsection.3.4) >> >> endobj 189 0 obj << /D [186 0 R /XYZ 144.727 740.998 null] >> endobj 190 0 obj << /D [186 0 R /XYZ 144.727 716.092 null] >> endobj 203 0 obj << /D [186 0 R /XYZ 144.727 349.715 null] >> endobj 187 0 obj << /Font << /F81 192 0 R /F84 194 0 R /F86 196 0 R /F91 202 0 R /F93 215 0 R >> /ProcSet [ /PDF /Text ] >> endobj 224 0 obj << /Length 2548 /Filter /FlateDecode >> stream x\Ys~[*s2=$Ocrn*$A_C*W`p|_cPh'ZPb,V//b.9QZ`{⼹:eCw]>?habU|rz.59PJdl$֗&Sr}oOWZA&܆oG9D ;+-0C Ɓ :m359<$E;�2K>ң;0?c7ݛg0VuZ'urY}՗}_('L ~h0'MSŏ}-aVoiI/q=J!6f`29Zzx�ku2/LUF>+QSG4h7D�2jZL7ʴ(~ۦ̇CB{z"[tuRge(<ߵ3M(jh"]Df0^3Ӌ(Zs -0 Y{9b넎f6Wlw ׾=g>;}P:ROZm_�jxz5|Muhy@4*)QL:Ϧ+c:UUV]K}^ZbӏX)I껐.La Ȟ "t$">2$| \DϞLt)?~4(ˆ4>벨2~AQҧVU]9*:C#"^M:6}V}YtTW%�#@9Xy!R.Vۑhi |�I7Q�du_ U1e}=6<WwxYEYӤ:\Dg::sPˤ-P{5[2s4o?`wsگ<9o(a֎FgF|7*, <sM_*\`Je?"5#oZ^faĊ#cV'UN8P gc.G|6Wt|"o[aguV{y>FRJ=v};nxwa<ͽasQrDq# \eIM8um/, "NJlOWEJwt cf�cuZ̒4s#u(2tfȣR,Lx+͘brT";j'b&ƥ6OzΛ�vwFTP?3d  %YU.eZ1S?Dڃ1"tޖ( yVpZ4.B5~,Ȣ@ p--4BJ >Mm` ة-69Kz+h0ߏo 1D x]U3@Gp1QO}a[X"W7niy cu()QJQf jG_I(<}jmӡuaSLM1حաnřڧT FjFط+ wWUUHE~GɳF .ιDkIX}ⷖtsc].nCqc*U9[mx`|*uKv ɦi!7R7;."`&-U 3l7J2yx$Z6沚FMqzҞz9R&Քy5{DV8[~$3!|{waB%FЦ'ΆdX! cDt`+b_L|n٩Fνkrp11sEToA&e^.±1֊ž?lloFٳ-|tLܺ7n(�dJ¸}pا1Ͽ/zy^0ܩ{S82R%=5 ڸROf0~0Ң9AZ@ĈK3$j~W,_H{}p?g�. 7Z6]"leH06۬NCӻ^iȹ5́) `brVS*ŏFŬ<Iqd_' CRK$:Naa,NJ@;<}I.?S-M_mu~dj=Z<yxk1RL΢\5>HŋIU]wke>jNכ?7-54%QɈwei"b\5]e1?a7+BO`M,E](L9 ;h 1%lCbq[}YzyT-#`OpqrpV'~0k4qٵz|6@<m`q@vB*tϱ[g4`f{;^VO<I؈F0(uCY X_u[:jvK߮ �4σendstream endobj 223 0 obj << /Type /Page /Contents 224 0 R /Resources 222 0 R /MediaBox [0 0 595.276 841.89] /Parent 221 0 R /Annots [ 226 0 R 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 247 0 R 248 0 R 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R ] >> endobj 226 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 703.105 240.378 713.989] /Subtype /Link /A << /S /GoTo /D (section.4) >> >> endobj 227 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 691.021 268.752 701.964] /Subtype /Link /A << /S /GoTo /D (subsection.4.1) >> >> endobj 228 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 668.963 361.04 680.116] /Subtype /Link /A << /S /GoTo /D (section.5) >> >> endobj 229 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 657.148 204.045 668.091] /Subtype /Link /A << /S /GoTo /D (subsection.5.1) >> >> endobj 230 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 645.192 220.662 656.136] /Subtype /Link /A << /S /GoTo /D (subsection.5.2) >> >> endobj 231 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 623.404 276.891 634.288] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj 232 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 611.319 372.063 622.263] /Subtype /Link /A << /S /GoTo /D (subsection.6.1) >> >> endobj 233 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 601.302 212.353 610.308] /Subtype /Link /A << /S /GoTo /D (subsection.6.2) >> >> endobj 234 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 587.409 264.268 598.353] /Subtype /Link /A << /S /GoTo /D (subsection.6.3) >> >> endobj 235 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 577.471 226.53 586.398] /Subtype /Link /A << /S /GoTo /D (subsection.6.4) >> >> endobj 236 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 565.516 249.723 574.443] /Subtype /Link /A << /S /GoTo /D (subsection.6.5) >> >> endobj 237 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 551.544 290.241 562.487] /Subtype /Link /A << /S /GoTo /D (subsection.6.6) >> >> endobj 238 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 539.588 227.646 550.532] /Subtype /Link /A << /S /GoTo /D (subsection.6.7) >> >> endobj 239 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 527.633 238.096 538.577] /Subtype /Link /A << /S /GoTo /D (subsection.6.8) >> >> endobj 240 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 517.616 222.734 526.622] /Subtype /Link /A << /S /GoTo /D (subsection.6.9) >> >> endobj 241 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 505.661 207.94 514.667] /Subtype /Link /A << /S /GoTo /D (subsection.6.10) >> >> endobj 242 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 491.768 263.88 502.712] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.10.1) >> >> endobj 243 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 479.813 341.448 490.756] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.10.2) >> >> endobj 244 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 467.857 381.1 478.801] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.10.3) >> >> endobj 245 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 455.902 417.353 466.846] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.10.4) >> >> endobj 246 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 443.947 318.136 454.891] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.10.5) >> >> endobj 247 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 434.009 219.556 442.936] /Subtype /Link /A << /S /GoTo /D (subsection.6.11) >> >> endobj 248 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 422.054 288.746 430.981] /Subtype /Link /A << /S /GoTo /D (subsection.6.12) >> >> endobj 249 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 408.704 371.815 419.025] /Subtype /Link /A << /S /GoTo /D (subsection.6.13) >> >> endobj 250 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 396.042 321.091 407.07] /Subtype /Link /A << /S /GoTo /D (subsection.6.14) >> >> endobj 251 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 384.171 211.258 395.115] /Subtype /Link /A << /S /GoTo /D (subsection.6.15) >> >> endobj 252 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 374.154 279.053 383.16] /Subtype /Link /A << /S /GoTo /D (subsection.6.16) >> >> endobj 253 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 362.278 202.958 371.205] /Subtype /Link /A << /S /GoTo /D (subsection.6.17) >> >> endobj 254 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 350.323 346.749 359.25] /Subtype /Link /A << /S /GoTo /D (subsection.6.18) >> >> endobj 255 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 328.405 170.082 337.402] /Subtype /Link /A << /S /GoTo /D (section*.2) >> >> endobj 225 0 obj << /D [223 0 R /XYZ 144.727 740.998 null] >> endobj 6 0 obj << /D [223 0 R /XYZ 144.727 313.711 null] >> endobj 10 0 obj << /D [223 0 R /XYZ 144.727 221.681 null] >> endobj 256 0 obj << /D [223 0 R /XYZ 144.727 172.406 null] >> endobj 222 0 obj << /Font << /F91 202 0 R /F81 192 0 R /F86 196 0 R /F84 194 0 R >> /ProcSet [ /PDF /Text ] >> endobj 259 0 obj << /Length 1141 /Filter /FlateDecode >> stream xڽWK6Х,I"MmR>h{%"K ޵}I-ǛX`EQy|3 M $ I8O02;lӇ;Eb'@<HH3#vy{A ei,VtY~l GpDOeUUneDq4TnG7Nn[WS̰ [#o~͂ 4"A hB;-}L2W?šǡު[IG+,C�pUօ:\zp;x-DMBYz?J! 2쁦-T-(6E٬=j=# p \UYgZպCƋw˱h2l $(a^"QxV9)Z TLDxJPYwYM6_)'RZ:34ܨZRƛ*A_Fݿ1#$;w+^zJ)_;%ԝ@/gє>+ cd`cSȏv^jL_t!7Mj'׺is;O&niR F 3Cd҄8M|﬛}QSaR̲ gr&) 5 'a% PKKRV3]A@ހTk>K6݄SS'^` NL˥U۶(s`vO+OղՈi04ED<&N>!" <>>&1 TU3 ɝf�.oBihPPBFAN GϼbN\F{cn ! {;j',ya=oypU|V w_p0$РD<2</sQ/eDuȎ) wFw:xnnnn}ar]0l0M]=M {5� Mʪ4 �A)p ?5&n "a↡3X1yo{PY\@1ݨtCCI^)(='(NR=?/yendstream endobj 258 0 obj << /Type /Page /Contents 259 0 R /Resources 257 0 R /MediaBox [0 0 595.276 841.89] /Parent 221 0 R >> endobj 260 0 obj << /D [258 0 R /XYZ 144.727 740.998 null] >> endobj 261 0 obj << /D [258 0 R /XYZ 144.727 690.049 null] >> endobj 262 0 obj << /D [258 0 R /XYZ 144.727 668.107 null] >> endobj 14 0 obj << /D [258 0 R /XYZ 144.727 625.556 null] >> endobj 18 0 obj << /D [258 0 R /XYZ 144.727 578.443 null] >> endobj 22 0 obj << /D [258 0 R /XYZ 144.727 503.402 null] >> endobj 26 0 obj << /D [258 0 R /XYZ 144.727 426.316 null] >> endobj 30 0 obj << /D [258 0 R /XYZ 144.727 349.23 null] >> endobj 34 0 obj << /D [258 0 R /XYZ 144.727 272.144 null] >> endobj 257 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R /F93 215 0 R >> /ProcSet [ /PDF /Text ] >> endobj 265 0 obj << /Length 2051 /Filter /FlateDecode >> stream xڭXo/A--b]E$=dkJu 9Ԯw ,jH73/B<X*ҋ4 REy^p:"cɒ4.eIJDw7W y3%=*?baR/"lƭMy]Ŧ-Z/\^eB1Ho)IjnY붮ۅqM궽s=+weEIEj\/D t>p!XwZӽMs'چ.n뼠eոSsZLűUV[ӸPapqVf\mZ@Mnt(nxue9HM?t9s%�G#!U+5엥.[x_ktq9ҍnt_? ,{*Eo|g3$<K]yG/]鞈k^q r;9wen1&S&S1)bB@ԳTZ~8[2ʪ2p  K@ yF{R0|ęD؁#l2 ~ k]/K, }~C=\V=DntIk<kE¢< umr3::J'L$K.b8.!n2ˆӹ"XQe[6fx�d` E\Fh]+ە@诟R%!9_'Ŀd`Q&P>}9@<S\%h?R`$g}\'cc&UJ~s8PصsUkD7g9>#JΊdt-t6;%jnfy<On5$ƊEꪡ͢iWM$RZ6rɲ=#{<4lo`uIka9)(sU퀱+ ]>JIU<@b(, ao XPUp.kEaxl7IW3!_F>uO" e^JX&® vW໺2Iۼ@h_1א|Xhc2BvuH UDu]yP, ޢ]wذGyKK�e:ZۄFFiAv\bAؾv{]`] F{NLLLRd":`.(Hpl�B9p@xbz6$t! ;N#ۛ9,۷w7J*a2m;]62Jd{D\ V8lUh-4{w }<3~iTMcxxRhJ ^E|0"L^pFak(O޴Ֆ_ezz $3nXfk^i͈HEZz#$Rv(P vxV2)`0Zu0.X5hq/[, `D�Be3v@ yޮe,W8Sc=P"WB jSA@ =DtjfU ҳpo}wh[~@_%lZ?u<8-o3j>&MVS>y,zl,a<I{!يz(Z>) K'L#we*S&'R<c*dy-x|s]ٟPxƒT:T0GhGC_tTBAc H;50`k, C6".h?<ZZG|2p1(uO(_gݛt94_] tMǞK?٩a3cj�3hyUOE[]m[t~ ^oAy:>Wφj1̚t~nCc!6vyn(h3͊47E:^޵Gf8{g Zf#cvv {�hK�֙߳yzp!{ C<ULl"0endstream endobj 264 0 obj << /Type /Page /Contents 265 0 R /Resources 263 0 R /MediaBox [0 0 595.276 841.89] /Parent 221 0 R >> endobj 266 0 obj << /D [264 0 R /XYZ 144.727 740.998 null] >> endobj 38 0 obj << /D [264 0 R /XYZ 144.727 716.092 null] >> endobj 42 0 obj << /D [264 0 R /XYZ 144.727 445.755 null] >> endobj 46 0 obj << /D [264 0 R /XYZ 144.727 305.444 null] >> endobj 263 0 obj << /Font << /F91 202 0 R /F81 192 0 R /F84 194 0 R /F86 196 0 R /F93 215 0 R >> /ProcSet [ /PDF /Text ] >> endobj 269 0 obj << /Length 1780 /Filter /FlateDecode >> stream xXYo8~ϯKrnm]/&pvdaPt%K�6ER g9hܳ {g8zaV[\EA@\EA|q/Fq3ue#`۶jZ3-ǷL +g}Ƿ*f#LbY3 uoP A_ /VV]ɉ")ط FC!rHzuغG93#1χCeB"UAe!-&yQՄ%R#;%4,ɒ-ec u+jU2B6p0Rž/60ej� (^`Şc7F /"bzp%t >v:o7x{7@' "Uy^qbd\NMhhC pķaӄ=ɍΪ^E53Z'S?lɉi[% ?vdIu{.\ϖ8Ra稠k왕5K:Չ/aN sbY`!4[]3Y.IBk  <pbԺZhfSiekAT;q|FťG~Zd3 fL 5R-璜$]A0Xcu^5#ݳ#yvXg %rfRU �F`ݘn水f%dM(9$=::r gko7ė,U&2Q \O'1'%)QCv)G<U&J"Đ);80?*qVvNhpBIs0V;?7O!ĵ*t8FA1 x@)5kROGazvtH!CH^R|$fB5`I9Mo)UUU�QTq?iix')AxxeEwUp%CX2ɞrjh,Bp聪ݒ: G%/:!̀E ڐ r="L-h** $um"KLHh)ѕ)+6S3SU4|D$v1rAF9` Z p79'ߐier#vp{  0ljk2z[ʎ;i( ˙r4*R#B6(k?FLzJjO4C_s!f"qOK3DED mϴEq3'GB$?VfHɶyoM5{e8GHWr vX(A ̦g;P׺.BTw2$iH5`" #48!pX]^F_?r ԃJG;y&>ʊeyI(MJ%LoFW^wnfp=oHK~=\ëK54zAE|\0 .? Y;p6z#jw9-ʉiur[q+=UlZUmݞysU8tcۍ)q;PXţgRpqޚ84fjCB7f\Nc~w?nwrYņ m׷ T?V_fSB4f]%ꙘJ9^۬׆B_:yVv=푪QNLֻP%W|۾|ˌ(wy^ hw]? VԴ0 Vendstream endobj 268 0 obj << /Type /Page /Contents 269 0 R /Resources 267 0 R /MediaBox [0 0 595.276 841.89] /Parent 221 0 R >> endobj 270 0 obj << /D [268 0 R /XYZ 144.727 740.998 null] >> endobj 50 0 obj << /D [268 0 R /XYZ 144.727 716.092 null] >> endobj 54 0 obj << /D [268 0 R /XYZ 144.727 616.703 null] >> endobj 267 0 obj << /Font << /F91 202 0 R /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 273 0 obj << /Length 2166 /Filter /FlateDecode >> stream xڥێ_`tX/yInZMH WP 9=e5& {CoFwQ".4dUUn K}-IHa<Ly y{~XFw9n]7ta-+YV"*(I?eZwd3ւ&fgQz`i!>#$*]Osc@Qhڎ5ɓUr.Q#?Z^&:󙂿̓CzR[;lgR)gRy?vLgh<- 7 %!f!}F >[byXRأ<> An0*-< xy7awBt+ mTB9\](ҦK ^F'2nq˸(7[d?." \l$mpǕ3.y w#FA0 Za8Apo-GŻ QI"E_QN1ƈAőڨ!%HYbDPTXG/a\ #K39' W, xrAq%~oU^had(*XuRYF>Xh3:QArb@J/YQ&,b9 8 > 4xGV% {S` [pum�|# )TadJE1O`Gq엓3y+V\Y\L֏`WnB89^bn%Xi^C(01hI#^֌:BDwBv[Q8M{P[^?-,дpQDjbl?!8uU8B�R~�HN"�Y(IN )RD)B` JVlG X�Nb=f>֦XAw$h|X÷qr-}+IDz x�rr}_ gX 1޵z4qx o>3|zQŁud&%K6rc"h]pψȑN"cq]HC55#gR[p[ )-Xgg#kޫŹ?P˾C)m.YC: Kҵ3̣Ue;Tf9м:?Fٹ˘p26&)F ah#J>iq~XlR/ Hsޏ�ٶP)&GƝ`=Ud>5(+iJXVBa1|UǜPp :'t X3rnh:Ն9 n/y2369x~;]V{ ^{~ߺ #WָNk%37 nx;><('|Q£ĴHk}JNmm:3nQ`Pǵ!J|imsN]i;Qy[Q)Hvp s%q!^sd}CKpg<0"ǜ׎YUc�ژcpr'L23 Ye^(cwxGjfN*G^Ӗ?r pA<cl~yM6{ wyUŌG,STKOUH-U4hciSŌ?[U1VMxIyg* ~#V艰BjȔzxv/ <7amџ4mIp(uX6I^uiRcn33X2铏cGz3~TZB٠[:Ui Ҷcf߁{i)5(4Ro{}t$--= t4i{qX=93u?f|LOE*2}^}9q=nkj�\;ht4E֭0Y p*ztjHa'+.P~]X%+jgПMguUZ znf&ͽt ؞ tQB 9!ّ/OoHtn`WHYyŎ_#%qy�)endstream endobj 272 0 obj << /Type /Page /Contents 273 0 R /Resources 271 0 R /MediaBox [0 0 595.276 841.89] /Parent 221 0 R >> endobj 274 0 obj << /D [272 0 R /XYZ 144.727 740.998 null] >> endobj 58 0 obj << /D [272 0 R /XYZ 144.727 559.887 null] >> endobj 271 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R /F90 276 0 R >> /ProcSet [ /PDF /Text ] >> endobj 279 0 obj << /Length 1423 /Filter /FlateDecode >> stream xڭYn6}W)Yd]ҧ]-REPhDD(Q+Q 񿗤Hʲe 93sf8 &.& ȋ&Q:IO/@}'<ρ8L;_c0 l.WNb' C;AFϡNk~TcX Y`fj=aZzF Cْ~Fʒ8lώb0]Ѫ)C bR; 3N'-V ^z_zFmpӴQZL)uԮh>Mڧ ܪ `;.v C/nAi~ G7,Q�` Qp,5^W?~KF?_8KRdkѷo!ិ}>{hǻ"B¨ePP3\p56%L0 WH81eRth Vk6Hi^6 UOvn-)Y]ar+,PA؞85;0$1\$qQՁ5CJ P;LHrE}$m"uBxFs__Ȑ Ey/Vmdji:EK <֨Aja%At҂q@``RqꏷXW7<Q^m=(6cL"$FcV<@5*PKUEsSɄCt%T2?>JFp5%&r?$q% G`EnuV,w+4UJׁO6c�v(Q%$%/hZ 5Nk-'FN`ثa~Z$d!:pj 0ܫoMl/$gL@|r/?aP΀5Kh_LT{ MC KJRXiI`*Z醰Ssё&cVdOߩp ͝A<fuGjb}o ȭ>ldx&*C)L+ذL L&._,qxE.2&t60=`7=~c'QP}RA뫞eG۲ն_MR*Տt1];5C,d]/]֎NHp7mCۊTC@Ge1X7Mޘ�z݂̑J/*OޘNz9㶋n!C]`lS݃vfw �$6?iIa5^j1L83sCd*rG)=;+Ҿ\OK{sdzBn*!oR6Wuwv󘆽AƂS2cE~9h)D\Hntw`c5Q"˝OnVi>vԯ 7韎A8A5endstream endobj 278 0 obj << /Type /Page /Contents 279 0 R /Resources 277 0 R /MediaBox [0 0 595.276 841.89] /Parent 281 0 R >> endobj 280 0 obj << /D [278 0 R /XYZ 144.727 740.998 null] >> endobj 277 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 284 0 obj << /Length 2184 /Filter /FlateDecode >> stream xڵYY~ׯ@˾x{c2D&�g ɑ4Yypv7 A>?~ut/_R,*T>h/;% BM?EA2?l_ܼaobW۽fxmfRT~7#YHZ "OG^owtٰvWWЕKK*4]Wg$Ni0*Q g.;u�ZƤ]37M3(t8lYc8C v͙0 "~xz ۚbM~Y벬 ?bRG*/% Y^lH GdIN'tA`Lj\ۭRjۛ?co.dߙfm7=wURu_oxŽM�ApIcRL\=9筲6V֝ic=#)x h?W?[Hn]~LfD߉a/V:[׬.) SC-v(!"4&Nܔw ;S?ݩdS_W̙"!%X rJc8ыl2Ŕ�*&?{Ҽs!{0kb"at"lMmH!lT|%IU;bq5]*Ș\1^ ĉ9|c8TC4s Nw�kLR 'ŏ11*]89ɝ_WE!Nݵϼ/1@s(YǠbOqC8uyx$8j&#g4˅`ǐ9 {G, .6~w 9.b).)jrɟjX4l$ҎJ"y* ə:6)ESOEA 9A7uvA-߽n<RzWi} 1/ߌڭynʤlv0Xpq_]S3ZיmFd5o$<\n'+j4,Li/p W@"}c$GK? dX täPnihl$i�]S35 nNMvjLZ<A ?5 ܥ`+jΆV9;?s6yPXțYb'݃:O$\l 8Ӿv5}kRm]%]* 3 PY@Ɔ-| L˩Fz!.d<ڒI?�0 Vo2\I.KWexk^~2pؚA'x3oRSHgOe^}n3՜L)wqwKRܒ?e|f|f|J3/:&H+";1U}Ù3AUQ #dC6Q46C,o&w'-%MG- B7-a3QdMkz3loCphnD 7"IcwπM50sH6̀+@x2Pa*(ELCfl9ad3 fMe9ц22z5]@00P%=pt3SЁ$mjRhU8t?ؚ;2*C9^Mtl#yЛ%-8`!-EH2; ]}DdDiq9iM*61AoCZ>'�`8wQ'}߹0Rn'J#D+<'$kɒ+op}LQ/uIQz2 Υm'S[  q,"#vz3?"mr(p9uUM~8vToGbnK+ 4r}sTD"L*<iyA ,pXC `SY]nB #ҶnHhjo|4jfg~^OZ(&Bs[{CΝIsfb_=1{fۊr)hk앁@nCUE4�'^endstream endobj 283 0 obj << /Type /Page /Contents 284 0 R /Resources 282 0 R /MediaBox [0 0 595.276 841.89] /Parent 281 0 R >> endobj 285 0 obj << /D [283 0 R /XYZ 144.727 740.998 null] >> endobj 62 0 obj << /D [283 0 R /XYZ 144.727 716.092 null] >> endobj 66 0 obj << /D [283 0 R /XYZ 144.727 598.789 null] >> endobj 70 0 obj << /D [283 0 R /XYZ 144.727 531.109 null] >> endobj 74 0 obj << /D [283 0 R /XYZ 144.727 265.88 null] >> endobj 282 0 obj << /Font << /F91 202 0 R /F81 192 0 R /F86 196 0 R /F90 276 0 R /F125 287 0 R >> /ProcSet [ /PDF /Text ] >> endobj 290 0 obj << /Length 2028 /Filter /FlateDecode >> stream xڽXm6_a`}()w8&m n]$>m".%_7b-f3<3Gsxi2Vς~xF0 9,qI"RzdSF`:{1 `(wOz6"t4!"ˢC 2" oP2~Y*7؎$X0ܔҸUUx0-Vjx 5JѸޔM$Z f9 m1 c Bd@Ig;uEHvԪCƌ0?p:~r?30*1w7JS2"!ih$jDݡxٸQ&˲vy\3Terb6"%ܶU{CY$@BWM3E|mQݢ5 Z�YTEp3^eSJ/g[XYJCu|xR;|vÇ a$}qўBĨ(&A@/02o]b7݌=5K* [7RkSoY)I $ 7FH7xu1t^ؚQ �Xstɋ3[Uረ,!M<]1OW`R]%m\kiʢ._F46tEm}CĐ٥(X B4W$-CH8GOΊ/HTt*ߙw⎘B@$N!<K x"ڲ${ Uq PO�$@ '8(EiO'e0N-yȴ\Z+GY# _Dō?zKU ygsAFzvwbFPׅ)S[9h. 8 ^8a)`{jqn.VQC;sw=,I�ZeHp Ͼxi(h,xtq #?*SknbJC?$1�|(Y+ďXN, $+8NAXdQ6V&3S6P,0q7v[)J%"΀2CEsVj_Һh<]ρqӞ'ra q e]KZ-j1e:t;!$JR7MQ&gU{@txm7wjgi3Fc DknhV4�PL]G]%gm=_qF >[R/R\\9^<'\{}=k�SUs}خ$g 1ъZIZڍmܠeQYciYN'hdڐ^aGJR_ucM{ZB;3iP@ gtUZk۶h%(r $Q]HR#5b9=`l7MoFtZ"S6, [Lrjo-7-\/2(iz<B8?yc̈&^q>H}ffIE7Yҵ3M~o?Uᬔu=Q[/Q5C{ ^kvr.>OcṈ"=$x_ 4*׺ڛz 8FS_U]Cy f~Qx7[=w힬˚ݤkμ(0xG<<֢S) 6qi)݁k+S>~94&?=tlO HysΌ-i3֥jlTtU% k n 1Q-LfόӇR2:.!w6pfC h-J=%:gD]_%삒ޥLI1j]BZ\a  u�EOmCWXBU7Jq#+Ta?q"\.R qJBvT�Xendstream endobj 289 0 obj << /Type /Page /Contents 290 0 R /Resources 288 0 R /MediaBox [0 0 595.276 841.89] /Parent 281 0 R >> endobj 291 0 obj << /D [289 0 R /XYZ 144.727 740.998 null] >> endobj 78 0 obj << /D [289 0 R /XYZ 144.727 716.092 null] >> endobj 82 0 obj << /D [289 0 R /XYZ 144.727 622.901 null] >> endobj 86 0 obj << /D [289 0 R /XYZ 144.727 550.672 null] >> endobj 90 0 obj << /D [289 0 R /XYZ 144.727 471.992 null] >> endobj 94 0 obj << /D [289 0 R /XYZ 144.727 371.066 null] >> endobj 98 0 obj << /D [289 0 R /XYZ 144.727 276.774 null] >> endobj 288 0 obj << /Font << /F91 202 0 R /F81 192 0 R /F86 196 0 R /F93 215 0 R >> /ProcSet [ /PDF /Text ] >> endobj 294 0 obj << /Length 1350 /Filter /FlateDecode >> stream xXQ6~_*Hk FI\W>T>x 8;nj|ǐ?2"BB(EvG+xXy(}x9C 6?~Q"6_6 ?2q~IBĸo-{k>&3>B((>B9Rt#D.ۍXXOil:#Wc2+_Q^9p%}ç �c\\C6?}ҚRkU8VC}Sw"@"Rjg`y-'iPVTF[j<4a.K@%;\P wAŕL*-D+M|*|'yڙlWZBf&d74_;ܭ`ML*+mWkqd0$?dR)2% $EPE}ZM8c5\ʣi>iӠK Cf͌+rt%Ok2rऑ6͗>Zcf8ů=kSs?XgC居.E_lgdB]+Xnt t{[ɇeK4J]RLN4{9b֚d.ta2psm"� c �z5fK0Og|щRR; @4 GnؿC(AD4]catݡx(;R~CWurchS,BPNRXKq}. K AP#Nuǯ!Eؤ2!�/Q'ѕC+brUe,]#(⤋KFz]ܷبڕfCuT5_t֠˶B6T'Zpqt]3 -FȓK0( .1?<sX;4TV0ڤ1AcM=+o|sp܈OJƲU GJoHLF{.jy4:v33N!{>udlvvFiNh_c#$I )e)ayF~YsQ袇TqJDq!۟y"O8fS}3?Z"f$U&ko%,{lV|ajL&ೖ\�!3`chq2F, {W[O8tjXm^.JP�zm49T3cY:XK;iO1~ 75IssJOnɨ= 6h*$+?ξ Ra<0H{VGppGz0Kendstream endobj 293 0 obj << /Type /Page /Contents 294 0 R /Resources 292 0 R /MediaBox [0 0 595.276 841.89] /Parent 281 0 R >> endobj 295 0 obj << /D [293 0 R /XYZ 144.727 740.998 null] >> endobj 102 0 obj << /D [293 0 R /XYZ 144.727 460.454 null] >> endobj 292 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 298 0 obj << /Length 2321 /Filter /FlateDecode >> stream xY[o~?@pP8VEQh, ,h{i[=K~CRd+blEhf87 [xc nG($ow%Ⴛa`<"vC!08L47p9 7~8\n|a<h*N]4_|ooz.C&7ِ?[$χojY⬋A5)E2_Qg8J8 ,Z]p _||M^x^7K!h&A56 Sv[‘Y eHڊE+<\cn{#j@#rgK9w s-1n.[zЇ ff~rXfi/nɄV-Ӊ;M|v~ 2ί`ՑNТ,`n=3#oꦨK%Qb09KmS̈́o 7iYQ~I�4 ܞ<mRˋIt)sڲ'EE|(ާe1%%ܸ ` 1C ` t2(gpx/ս(`$v8%X1.XYq0a<KsE I*xu#:4(Q)wT&i:nw:W3ub|r](!*YdC}blZ-n+%7^KSQeXL>,W9iTy(6信ǹE1 mf� fXQ%ܒjIz㭪Y?x㘆ӰL^1� g?DMf�Z>~�dw'}!1Ub(2yq9LQW5Jwc~8v K5 wVST�<vj Ә� in 8AF44|;yYڥT-8Ou\i5LjVk '�To, {րgJ]*Dճb2eQdfl#)|w}~֡Ky,)}) P%sd+y%D#J:FWBS)BDnYyЌE3RP*`�@5-OX]ap)0Daӕ<BFxv\EűD2#y@ mޘ)<=zVC=W%ߙ84֮ GPiFs/֝i .T/tN|>P#A%$I)1RC":p*ox<Ro_D?]3z mt,<$}БټԖN|Đ6f,dqo Y<#-t8 8r`^ !=+YkQRϮVԙ,QA>G73.D+bo*JG0}2)ZLsO7oQ~ºskY_*+)m+@.LIP])&{b74 ~Xƞ~5)zQ7NMH:f#m~Y6&k۬lk{ƍIxbVDa1~E\f<;'*eDc/`QZOEځ2eSxn ]޿O`aԋ,v C_2o߁HơAhMmYйR_61KD@#EQَLX*-)v6 cuO?_wKTFsf-ЉeU+7%I`F�/B}w`2D>hݳlDަΞt{δCٛv/3LzU]!/H| GZ)m,iM*y|feHfZ6뽪 ȶi ājO;ڱRQXտ$~+7K脬*|jXMQ| 81HRW]Ky;N OjJ}fqe坵(yb(a1J/tFRWN\vyvJQX[mB0~2*?<!R~)IZ R^,Piѣ!d+O6m&YF=LV#8h}6dE@W W׽&g<]`x,Fs{ Q_/==~kG\s+>9Jha&=ι>ađ0[Tq.atЁ٢K M}]iz$M 12~x" d3zT)+>endstream endobj 297 0 obj << /Type /Page /Contents 298 0 R /Resources 296 0 R /MediaBox [0 0 595.276 841.89] /Parent 281 0 R >> endobj 299 0 obj << /D [297 0 R /XYZ 144.727 740.998 null] >> endobj 106 0 obj << /D [297 0 R /XYZ 144.727 390.966 null] >> endobj 296 0 obj << /Font << /F86 196 0 R /F81 192 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 302 0 obj << /Length 2129 /Filter /FlateDecode >> stream xڵZm~€ά&RA[8 6E~-Eճ$b3"%K pDrp8 }t:BLDmtuC$T+.%a01}OBm=.ׂq_3i!vREn'>2 6rEu7Nvx儯(NFN 9#,hdG%P}=ւZ/~Ks <g^&ll3M-"q')h@S_ vdNovSw\ws~ y‰BlcovL16?5N]' QChIx N #eӊM]t"ifs䮔Q0"נ H, 9I'A5$$t3.ʧЉ9IT`z0#C"1:Q'I`Dv0!`*N+8V>E-|ccaJYB[nЇR`q4X<b+1ug 8MH|{֊JL].bѺYAl7 .@0 /]R"w>DqzZ8S"fl!v&]�ɳki{4uL=u*lbp@(<n`xSvM i]d2h]즬uXD ޚjwu Xk+q C!jq6L - }2 $YN\Q5'$x x fIL D*4$9A'Ρk{hO윾zg'IoҤ=#vy_xqz<A-}?"B5¿Xއ]I֛Қess:s3,rM>&j/ўɬx{g#ixf"4Zj2KqM~."16UYS/Cb$,N. Hcbض2Ɲ2i`;0'O 0-gQ'5͛Xß0E˒&q�B٩M[cRl>G՟s)G<,!&[ L6/E M)JJ])8Nj;9Pr1dH=Psq8ٌ9f H/vr@p3Dh>^VѬ˧7MFؗS0^m UtJa!W_w#u:aZkµ ݤ} '$үv%Cr.Y[#,&oᬚ15AYDn#{T2}&{hʋ1{ɀ^&g#.A/CyP;>!أ饩Tx=vmS�ob Dq(ڂs8h"swcP={3K j|V( #kts4'jN(0w1 Pku&ߎdi"Y;}~NI䥥L;NR&#IB4L1x2 HE$K숙J#88!ӀB<I�OB&ݔz˸vLoDm<^$j\-2OEyPPԿi8@/ε٭lJtQ{ܦl+췸6y� Cj"5YR](I~q߻h,~+-G>#X=+Ҏ`\?s_ؗί!ZC#~:p/OP5v V["�/{v]<xXOC%56DPC}7-˛!wP18`g 璘tJ>7@/ZLfs~o]+M,1BN1g>^l_+({=DsF~X=3wwOVT65x}^M.A7Öt6x�9"%nD6NӳFLendstream endobj 301 0 obj << /Type /Page /Contents 302 0 R /Resources 300 0 R /MediaBox [0 0 595.276 841.89] /Parent 281 0 R >> endobj 303 0 obj << /D [301 0 R /XYZ 144.727 740.998 null] >> endobj 300 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 306 0 obj << /Length 2323 /Filter /FlateDecode >> stream xڵYKϯ𢱈 )*Av\,Ah[Yr$ۘ*%Kz6&Adz ~|ÐE"ZDX/}nJ @J&$6BUs>=|//aN} /wT bp &ƒ~]Uͽڗ{wi;÷q[q؎ 58 <qDiS&{\)G)3"83ī{FiI%Hj룁Ivh $@opӝ/ESY!c`j3´-u<0Uބ23ة_S݂?-}Է`DZ|̛Ze#L۟[0-}Mg}|FMʳN-P?0Ha,*`Y/ 5 Hn ?s7A FWYP._`96'.@!5/b��ZH~BI%-BigJ%D*H::i̒Kf#R4{Q-44}^E$n!^DH"40)s=ʞ//J\{;S6ezLF|$CgxsRQAv Ǵmm=S:! bI+(R hUu8m^\݀5Җ ؉-6/W^Zm]c[;Cґgyg˕f㴶5ڣ Rٮz9͋ML\pu;?1\ %ڤɱ13=J"٫ַAoid U�s6kj(Pko{ܛ%ظ.Y©=b)@P,OsW~՛K!гmu O2Vo)I\C]=y#:O[arAuv8K qdLaE^zd9Fkg`AxfqSsg mSUjĤ4٪XR 4n -e"SkS$M %ƂW}ua3}u6H|8żtϔ� $kb 6%.`JW8=0d.$)bgc}iRveR2gQs\My6dP&\ّu('o7_�X |~j(U]B$3=&y#2C&}d!L|SV[W`pH&%zkR6EXs<`.ڎ՟> u2M^NDhq9$[3(I"y`NIuWmywiK3F+|O%A4m5KSѓ6x`ڈK# D .R& @v<xfEa-UWB` LzTP&{xR{rRH*Xlq>QGӤHE҂UT0Sq?n*;A`C5 iNdZu ():w(zd J0 NaU,VEb%Vr} 8NcMhtJf(rTKyF7\ɚ0WO36# 6ن,/3*oTKhKGB:wR w3i>gm*9xX0f* /CCR۔6XRB Yla44g'I"o!,Cc1T;p!qðX_ñp Kw-cŤ?-\5:x. ޖt�P/}ڮ֤j{CҘiUIIMCa4_׽YL Yal:knAG}}:ݚɳOQm?J  7V!v,ΘQ]hN1M [qH[nˤQUmO 0TWֲl"P,^چ=/m] 8&}o^ =@C] Mpy(<C4OHOyQPk6A`:֍)(6`+<cWO/ѡZ~e~5;^}1OntYeȳ1q PXp#>-hPǥP+sGEzW1s8;<[85;oq ⺩5YA$ApSp.j7Eg3G c?6ƿ @ܛ<l4dIfA7Y�KAtM<Z,h�St ޝ'XxjiCm©P#XR] 6<8g5;H^endstream endobj 305 0 obj << /Type /Page /Contents 306 0 R /Resources 304 0 R /MediaBox [0 0 595.276 841.89] /Parent 308 0 R >> endobj 307 0 obj << /D [305 0 R /XYZ 144.727 740.998 null] >> endobj 110 0 obj << /D [305 0 R /XYZ 144.727 358.816 null] >> endobj 304 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 311 0 obj << /Length 1935 /Filter /FlateDecode >> stream xڭYݯ6_IDj<l oinҴEڤu8 " MolJ?|.hL>h-l#<D�W6< qHxϿFt&H V*c16,"I% HyYLE+'{g@pa/-(pƖx@Ͳy>:eW9v*Y>dz]@zY^J5BwT 7V l/$X A}7cK<$Wu}a*Cۈ (<6tE:/w o NGtT:!G fGgUIHF56+~o 0Ev`> PND `w5FPv !cd0]V\r^;ivP~xXvVQV4$,>% BKsGٻMin9<WfʊFW]}?z.` mroF%!*yR[]ޟ>U'_7k:~g4~!:өKa,;?PM.΁y 3;x Y&3E[3ԻW˪7?k ^+kA0%ToAy#+dR1(y0TzWq4 gcvQZC0%tf<["B9{9Dr4IclM"ql1DRV#m2 a�5܋3q_1>ԙSw; aiw"^y0)w* |Xg V++圩W Ap�Jzjq>.nB0t.! ',^%UY_ 1=Ԧ J%RIh|8RA8uX|R˸>@3V][\gXSj8_ZXP[a[TE[3j ƣ^Kw}\+C.nn[5�U塂,ݮP%J@T&1^ïxoAc' l9 Na4n1Ptl:~Y:g27%KУŔELMPKL黣v*5?zC "x#2p N"쎬Z? H %ϫ_ &>a"SDN]VϡlHr;u$8PWMMll|?u-͗qrplpL &Ya7vX`KN۶+!Fj®ϛ/*K$ }9 w$]kxjNxӠ'&(6;՘ZcmƦrk ~ȵ9]1FO .1 *u ֖cqjF70ZVpj&AlmLmpTH (\3Ѕ8_UVXin*# ,DzF-lYr9f~Am j|Znv8> lAm#+{J--a'ډRNc H7qX_xVW g\껧A*r#K+-e.[wE՟\sHjN;;aVt+˧T4yk}]2A}zt%(TGGZ^p vv}zҗ;j!:]9jY֧f&{q*vkoUN3ȇFk!ʙd$g)Ch �smC<x[`jT/:o'l !òB,?'Qy]!ՓV <GE.qqZUE�)E1!P c(& >DpN�rXendstream endobj 310 0 obj << /Type /Page /Contents 311 0 R /Resources 309 0 R /MediaBox [0 0 595.276 841.89] /Parent 308 0 R >> endobj 312 0 obj << /D [310 0 R /XYZ 144.727 740.998 null] >> endobj 309 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 315 0 obj << /Length 1589 /Filter /FlateDecode >> stream xڭXَ6}WH@͊4-PLи@DȒBJx)%b"y]g>3(Y(MY{63lJP0Y\JQ@ DI=V~=plU[W ?a1%("cDx|x|i_= JbX1 y]BwE.vzXUTz_ +Ptz*y\?k=�FgzLVڌB#tH8@| Zv+e^E#(UƕV Wm+&F¹&dB1B</,a6x>Qe9 뒷UpN,~1O"J{7v*�]lZ@A6KˆO,$( lK5gt,B"~>FBp)Yje s9#ʹzS_llmTVm DsdB\vy5ʓR ٗ$)6Upʏv9҉DΏ>DEf8FNr@J_c<@U L9j|'ظ4B1Dǡwh giյӳ׫bB ;]>Gh'u⣢R)%zbY *:NO`'2^\Z αhڽh n̍Xj3fR_ˊcD'$@)y^ˊǜbU~#yYxQLQ v'L˅yqhpրjܱ2'EnEK=rLh::x?roR7eg߄jJݟua/˔) zp(MT!ϩ2?TLJvXްw)擲0_,(alpSJ*1"qItIz]oJmز[@zpk:wF)=Z /7/-cl/9J3<G̥y%yÄ4(7\0Sfu-9q^y~P B.ko(L6x a f8-WpBn﹧f{}P湶=x]@3 =znкn" mK4:nK-\~ hVֲ(E{Y@ a WkWXH_@,Q:#jEd֞!0~m/Y]Dk+dQ29 0ni |3GۺARfm @ 8:Bor37?)Qv5 D -XƈB]�ҚwާSjy՝NCt8_"˦eAVm oY Ԉ/;)5+{5jʎcó&"_oV"j:HZpyB�upI�oL@4!ŋ>/>ryãlY)6&pۭ~Ⱥk\!?a|ڈjU{( {x1(yy 1\ MpLFŕPYendstream endobj 314 0 obj << /Type /Page /Contents 315 0 R /Resources 313 0 R /MediaBox [0 0 595.276 841.89] /Parent 308 0 R >> endobj 316 0 obj << /D [314 0 R /XYZ 144.727 740.998 null] >> endobj 114 0 obj << /D [314 0 R /XYZ 144.727 449.476 null] >> endobj 118 0 obj << /D [314 0 R /XYZ 144.727 322.577 null] >> endobj 313 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 319 0 obj << /Length 1846 /Filter /FlateDecode >> stream xڵY[o6~?@N2Psū-h ,{ [%D}$9Ë$X Gp8)x`PBIbr|'kS(H$ nH͜?W'~eӿ b"Q*LR?o_0eJ/HsuYwVi GCDG{&klUNƊUY}>ݽ|< '0z{#a[ܤF)) S6e}+un8PTS ^9nő(X7zg9m{wgeB}Cnos)VV&*ֆ "1^F N EV NZl<|U>-ОMmK3uP_wYW?d5 _-Tu0=y?ʗQ`@,Bkv6l=Ey( $7YWuH�*eYƎCvZuםXЏŽ1l悷P�rѹݵ,;}BÀil31O2 sɡ7\.89{w~ۅ'؇9>@g<?${V9XUHR/C8SdU5\z*s}kWQlDHgpeG_jR&l5Vy3bi|[f(H"Q6j/L&~AHv/ww7+Q^W7U*%R~:&禎G})KS'oGݟ?JYcjzJXYr|8-{&BS0ݫ?_!5̲v^+}f0hKEvb.`1 //Mޙ0'†T-p/(w$BByw*{+rX,ށ@m!ɭv?o2kYcϵi8"|Z`mR<4sf>$6qS#Zw5?rU 1CgS}es_NOLYyKS$Q 6y3C6YpU5 *3Bx5 AͫR8II$ qN릝,AaQ%Cħ')@S?25~12)1'эQ֮ ~_hB쩊<`P a΀N2`ro�_fO"_|dxrqxb`P[*_bZx\""7V:wG rB`8)#]=+t[Ӣ$/,887No3&XT։]u4]Rq;7@DnRo6Y;6 Oƍ4ުҤ^7]3k#abMYlIN<3Z6@jY 'G5K/k~H.*lܳy7m}1ږ폽W&"4ػ3 -ܛ,2+X )7ǹ ,*5fQ('KZZyڵvwJ6+tndZE.Su'+4 ?#e8Ҡq⩹ #eU%G2,5�g?X]~^^&%"=u80n*2s r}0r Dc:!Ko<JCLhi\Qcnv標GIm'`+ M.@G&4gv-Ne 7}5<*(+:;[fc:Gd:̀ &4Mƣ<,4liJOZ[܌ N'c5VrqFR+\/WaPendstream endobj 318 0 obj << /Type /Page /Contents 319 0 R /Resources 317 0 R /MediaBox [0 0 595.276 841.89] /Parent 308 0 R >> endobj 320 0 obj << /D [318 0 R /XYZ 144.727 740.998 null] >> endobj 122 0 obj << /D [318 0 R /XYZ 144.727 240.863 null] >> endobj 317 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 323 0 obj << /Length 2138 /Filter /FlateDecode >> stream xڭk8Hac }i:ݧn@&򃘆ޡwF-5~]eWB+9IXJxH,]7[?$#"͍D"CoCJWD?h /N\8DOWǓfVT2ݕUfVET9UYtd4oQ\\v ,|7,5iķQ5?= J'( IjF|R/ [of�q@R{zpih\ T¥)8IʺG1YSr ZxGh)l>;3I/Pܑ"r[ޅ}P 52'X=8YZj@?YlYMIʄ5ֹK~S!ᱳ)SQM p ZCґ^njP]-ښւ7qgs[ǒSf `4�A7"! ~x0 `xb('btAr??zj`B֊!IxIJI\:n:pvr��Q p*;nEvtn^hZ['=o΋4>~^5uޙ+i1 !;5ea:z7/1 .Ymb(rY yzE*߈8 *0>;@u{1nrN9? v|T(iݗx~'e]H}e JxbKilaEmf8SV:< U'N:v5@QcI28}̴6.߲);5h1, `!4`=05 .U^ 05 d~1:5B5}�{zʼ, s=s+jws1Hd]Uv'sgxxiZ7Ui]ҬL| P#s0jr2'r{gtY! S*1A2ZNR6e=jlv&v9DN ĩ|[jH z_ :o~ϳc^X*İ\mզU\SWk9X)ǿ-UDWOb]KϾ8V¿dTĶ*%1xMY6,%] !dā Qhe |D2F5BWP );C>C�g9gX /v~ q&'"$;%/9Rg {{ z2޺5]nݡ$ 1/'2 ؔB@8O׋l[PɴΎvM|}UVBAs$xP 0x#[#3NH0-R ;()I"xH2ʁ!'ȄqS}oSV_ ލ Etk $ u!;ߙlBpd˚ s=xƆE�妙zUC 8hQg ] Sv6He!=k RSo'Ywi$ww;{"X( GXIgԖF_V#!souDZ/va7wzyͦ11c9›\oikbMjMbOX%=JLz`uzrMCaBɭfI>`v_&-9G6Ii2y5k 0Dkȉd=^FDN}wpk2Vm.rk0Y}.gy6/yO[Y,]IJ:8Y^ Tf� )W[.t݄z6勲,~>c@2ĔnV1,-Hl a6-Hʮj.4?b4.JzGӷS@i$M݋G_-ţL!UУ`$ª.-7 `1kʽ_P(αN>alӿ j EA9i,̯[t,(6endstream endobj 322 0 obj << /Type /Page /Contents 323 0 R /Resources 321 0 R /MediaBox [0 0 595.276 841.89] /Parent 308 0 R >> endobj 324 0 obj << /D [322 0 R /XYZ 144.727 740.998 null] >> endobj 321 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 327 0 obj << /Length 2642 /Filter /FlateDecode >> stream xڵێ|" $%꒗ )t,ku%ѐxA3RZ=hcsW ~|8LEJcy*lwK"IxMea7$%<~3<V;g[s7HmaxR7ШWk!S_5z=; T<aG",q͈? 36G\ވP‚s g?~2֦F9mQzGݩnZu -,86/3{iÓ(LȎ0Ң3y#?I-�?Ltymq$ܺd߉ pb'<áR;M1 .x~9dtʆaf̦˱u*PmH']b1 )F ҲC Zw%Zy_~e1 9^8xAЇƼ,Eю aQbвNƂӚ@VkO{d"pj7.3n`+y3@L;Ӡʡ_̘5fXE|"^hW$)ca >55\k*gIfֺhHLH$s{iFkp ?8ۺMwÝtRhxwUei ԦFl݀3q䥈x*"в<۪aA3M="p5+j1f:=;zBDݟF|�x&1ngN 9`a� ˮT?qt-4} wqw@cwc4S.yeo}GX/LOf *N`8.Lu7c�<{Jy-jǶrК<$<Bl8ku =P_jiDOxQptߡ)Q;ܪ},7$Ȗ@ɐR>J"'T�ά.WH҉#dq/|;by[WpS=c7Fe}%wL36̥lv9)N pC hYwyk?J&Z s@=өL2O^ٍz1o1MOeoXzY%P· 2>^x979 Yraw<wcQj9ğ>Z 'T3-HSKdY̻f20u<i䛁RWPm.cVfPdu׋<+k gQM] yRǦ9tMȁ=I zLCF~G.(.̕bJG>O>bI3_d2 X^[}ɡ|pץiF1t|Ҵ}F ! >;?T'ge^|PDzn%F@H|qIB<kt8y`�`"'5X 7_4udPDasjL@b|�?3-HF>Dc}SX�(l">nqZ ȯ?#RrnE@j >_dߪKry( T ([HE=n8`�tdJ|69$H;5 Ō+)}vH1/O}]ͺ˴ p("=)ΩꃁQ+Ul̒8Ѵǣ prI9ƻ<_ܛ XfeS]9u͸(L{QxN!1 Nw@QN 4. D-&D7؎|Rw 1[X@TGn(phZ\"d႞DcݐfN'Oe32@zf �ۻUA6;VBdX`�a�N bSHQBl ,s';9`rRPC1c^!|owD-UiKI,X,|KQ=0О 4޺@CiV_^X GsT5C]p"$$14, @$Ī69Ĝ+u2X߄RJ7(Rk}!= |9: 9BXhUұϹnސ@#*X 2Aa#*\uQQs4"|r RF/?3ʝO/(),0=.3�rdfؚLe.Zj OckKL%~s̴1_b m x`6/˙Ybu}i dDww/ytuT)w{@NoB-_q@$ЍZoeĦ'[gC\Y6¦uɶч>\i<,D%RTmR۴!V,EwڿZoJ^k?"*KxY�'hM>QQ7L2ɝϮZewTgendstream endobj 326 0 obj << /Type /Page /Contents 327 0 R /Resources 325 0 R /MediaBox [0 0 595.276 841.89] /Parent 308 0 R >> endobj 328 0 obj << /D [326 0 R /XYZ 144.727 740.998 null] >> endobj 325 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 331 0 obj << /Length 1656 /Filter /FlateDecode >> stream xXY6~_a 1+R<EѾlM&"K&pH[Ym�EX!ECiwW~%'WLH|YoX ׮7 e8 KrAoN*֪PiT\q+U~za Odj ¡¼Z"M]wX'*rj%Vm]ּ2=lWuY7uۦse'3`Z|iOǂ�2.nҀq;[oQ>U7ltm~*̪݇'K$>;(K I$ƒyd2ӕga.ڠ6^>WL(LrK rnUw.LYo?$g�mGewhs1f/uУ㯆x_k=9cx?CzVeU&k:z2m|B\WwXuG|;?N5-35]=I|V=Sr>b|o:'x¢?-tJH3hݷ,Zrw~&8=z ($@,zt9kdY,42 C~m Kv5*}S7ζFY}[վBAW�}h,,e匃" љhRt9T3idDK#[u]k Iyea[MVrVT6 2y$KxK`2c1QYc:�܀0gV�@}Ȫ<ϊ1:vK$?T*D>4;*zwG'5Nu5LgAh;8q/} >( G!C?/Ab1pB2ۀ,�1#MRUD B߻[ enHzXD":R[C�rXje¸PR~\i拓[w ՐC\rR\ud78JKBȴ"� QE4D*1Ty*-/!Y[| ϩs4̆`\ .}O7HɅ~K,,{egXY.v^C( Hz"^g`G{Rx08hK:DJcSjX0 #&kꎣ!Bb`wQa"1g65!0M]ab~2j~/ xO 7\ .~tY=[’Ka M6gjk@P<C _PM"Ex^:P46a5tQ cޟVֳ(΅WiN;mۙ.`woR9dGĆ0BWᶙZxw5rdv-![n*s 7{ JP+$]Θ`%z/?ඝa$Tb$KhHXݐ{?SS^4OR�#אXjH Bj8Me]v0MȈI.KܨzM? $N{|2a⑅3lSM8g@9endstream endobj 330 0 obj << /Type /Page /Contents 331 0 R /Resources 329 0 R /MediaBox [0 0 595.276 841.89] /Parent 337 0 R >> endobj 332 0 obj << /D [330 0 R /XYZ 144.727 740.998 null] >> endobj 126 0 obj << /D [330 0 R /XYZ 144.727 471.394 null] >> endobj 130 0 obj << /D [330 0 R /XYZ 144.727 451.541 null] >> endobj 333 0 obj << /D [330 0 R /XYZ 144.727 414.846 null] >> endobj 334 0 obj << /D [330 0 R /XYZ 144.727 383.673 null] >> endobj 335 0 obj << /D [330 0 R /XYZ 144.727 351.17 null] >> endobj 336 0 obj << /D [330 0 R /XYZ 144.727 287.409 null] >> endobj 329 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 340 0 obj << /Length 2184 /Filter /FlateDecode >> stream xڽYn}hD LsER<y7 6 1�<%[Yj貶aSŋ33 [EVUUhhE(I]ߝӟQ;(ǃz"C B;w(.&໇\y1ß}|E$ضրĒ^SvIY^Qu5ʇbH"<Au?3&03#;l1a>":ڵ("/ VVYϾA�@)au8Ja( }/2װ˥/Mtvc%S{zϝڢv[,:H=I]`s6U/;o՚q`׼8z{%66\Z*%]cۥ^B/SO*e:謻-4E e!ԢZ 53;'T Q.Bq:_|'̂ FƘXlG?1=Z,62Q�bj R)7_s 2QYyVIF>J$oN["jop虳ni㣉0q>[yљT('mhw ~D H`l?Ds΍ 1I_.ՓV}* k I-n>Ũ*QROXu4ŷEdD6� LcsY9 4& uleҶD6@՝:($,`cF}y3S3x<;!SYL f =r|ʤ\ds],y2kw&2g\XӃ>TDla$]rVaST'E[ ZcöKÈ(* TUkՕ]J�/2Si1 \d !Ԑk#20iv%9y'rAI_O6&H`,.G}Q1CmW/&9՛BjMgRINPMFW e <wD\~-дnȃy@{'?n cC5밐ijҤp?y =5t_~GE% Ͼ"wHd" lf#A|$2``FͱV弘6C�iCkv: �EdI2_{ zBӴ"zrma7%ԁʋlpcSK O ? 5^`pPI$خ['"GJeUmMO 1Sp5@g76HsG1L߱1V46P:rvDa}?*pܶ.#c+Zb@TWՀ_#UzG&U0a6Tm4/(Umɮu'yÞvx\[u_uLw ~oޗW06>qc^Rޱ[(ٕS$Ͳ)HeS:SnuXVs)zR|X f]_.Xf$`\<aP r1: BJBTg+45_gEypQEIK14v$!c0rnPx<zyMϵJs?4hq*r4"ί_:ZDQfHљfLBjTmޛ;+=Vys%ɺgmMj mk/hќ>\Z쌅_L'U4`$2M)n`xÁ 2pf}H abړ/4ƋAC%C}<ӎ n 6 }/r4LKtΫBJu2{4%l݋0:݁ O/?+d8D bf0l} nɫ՟Лjbb~C`X|6]/>&u2|9ǃn'uMlVѵM Vӛ4I$$A$YyMl ;=xgnPOۍɞurh)HlzCI+Hyx,Ngd89Bh*>=`wH;7w@gHD Hg@a#/RH_9K\)Pendstream endobj 339 0 obj << /Type /Page /Contents 340 0 R /Resources 338 0 R /MediaBox [0 0 595.276 841.89] /Parent 337 0 R >> endobj 341 0 obj << /D [339 0 R /XYZ 144.727 740.998 null] >> endobj 342 0 obj << /D [339 0 R /XYZ 144.727 716.092 null] >> endobj 343 0 obj << /D [339 0 R /XYZ 144.727 648.662 null] >> endobj 344 0 obj << /D [339 0 R /XYZ 144.727 615.566 null] >> endobj 345 0 obj << /D [339 0 R /XYZ 144.727 543.602 null] >> endobj 134 0 obj << /D [339 0 R /XYZ 144.727 425.909 null] >> endobj 138 0 obj << /D [339 0 R /XYZ 144.727 246.573 null] >> endobj 338 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R /F93 215 0 R >> /ProcSet [ /PDF /Text ] >> endobj 348 0 obj << /Length 1802 /Filter /FlateDecode >> stream xڭXY6~_XTj#ON۴"-tQH@ZXYTuCekm,1~sRdᏌ(Q£;8 B=S9\|_#2 P nv#>r;lA7)(>eRaZu܌'Sf̶Yd!vv\DN){؉NœQt9=(eN)I_u!pɘj@lo /�`TX4fcdh[+ + +sel"Ǜf6Hޜ w=i-<) uSo="CiU]`D8K'3[ǁ͊s)m 1|iFpLF10 �Sn: rO:V){LUguLkr�9%OdixVA Fq0@!YwwďO"m>&Qԩʏe?f8"�lY7)#Բ% c7P a*)ao]9r=eW5EJ \̎?\'D,_S3A!3zݑPDc@%$�OD}j߹Vy-܅59CtJ@K &3yaSɅAX �CgyĻ;]4T;=]/˥*$⡾C1FJ(-B%ZK@RKa<܉w1 q橖bl%K9$r411�\:0φaLz.$)WUօ�WH~ޅFFW+ؓ (bEk/,X@!|6)>gJ$ۦVkQQ ŠQoNE&�=JJUUSQ ]W'6Բb[ ({ȢDD:( cUb-!{o5sQթȿpUu7/8|Afz";Jmf`N?,Da װ\ (;NRգt -̓'!H7nWd2E9L3C.\Rۤsw=َe¸E]˲MǢ}'Bx̆-j-oN [!Uc y 4ׇcw@S5$\ .nf'U- 03JwкpZK9dl1Dy5_rpӚkL>7ޗ1;I*b<."]<rh;Ff"OV<y,܀=O$ʬ@^-e&cvI2= 'zv6V"LeP=n3:-k;N^�g{M&ω*Evl/k8@U(DpN=:!_â40tR%rviBlԣW&mVKf3Ⱦ>RQlխk5stJ@}{@aTK)<r.Ҽ:-A\ېՓ(&AGYݜ9G9|9d˜BjuS> UВ�.;l#jٵȇ.v�\po9L|;q0io:|«d vY&ƃJзF79'Zup3yavwj>6Éd<BPBΣ$Fp\vendstream endobj 347 0 obj << /Type /Page /Contents 348 0 R /Resources 346 0 R /MediaBox [0 0 595.276 841.89] /Parent 337 0 R >> endobj 349 0 obj << /D [347 0 R /XYZ 144.727 740.998 null] >> endobj 142 0 obj << /D [347 0 R /XYZ 144.727 559.065 null] >> endobj 346 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R /F90 276 0 R >> /ProcSet [ /PDF /Text ] >> endobj 352 0 obj << /Length 1616 /Filter /FlateDecode >> stream xڭXK60X@jU|P'h Ah[, ٭%[[s+jH }32G&s?$/D2Yno~!v #3> q$͏2|Wz} xO&/' iÝ]=+f\ Ք\0>yWZjKxVٚaҷ&׵UcʁFV$Hld-#A5 XZ#첡:nTB٣Qk_IC5p=X3bʪ)t0E^͹*ChtF :- a^0<p'9k %Wi;lG6(p"?FqXOyꪟ\RP̂/י"r&;G#F}CV֭F1ÅaxmgFDWN}p>֫V*ˬzBū8ەϐF<L F\*h%-U:g,Cdpu9 b Uᾝۂq/ sA|2KWP_ kz0pbzpmt*DNyw}`, M%>Ӂg/Jf|;p"!}d"@9+@$*Uȴ<2Fse4~Ĩ]2T6B/m L0cZ{y2, B/_u)�t~w6c#܄j 8r=DccuCi7n4@Hj0zZNWtF.x6X޴i7{R7f݃=O4MZO 1ּ-l/>kTlݪtrJoB.΂\Y8kę;r7UluVe o C3iy®{g%Q'%\]@.W$>9ooq`Bģ{#[ٚ`] 1ϋ@R|aRwr�خ->>.}@Уf :?jM?˙IG">fUSj~+&{0huTo eTtc^�u 9;3y"fxH$RC qG͉( nxbF \3 <GޛQ]03Ю98+Uo1ZщM^�Qf(�d p#:e5 *pWt 802k3c &j2/]Os[@s{ 0q H2/F0=]3j8ԙ�mԮCba4Ġ;r\jz"5M1|'C6p'˶JZ  !0/aF�İXY\Z/+~tl~πmY7 j[mm e)ӆɚ%n'&$U-]j-ӭz_U[-ԹUHBѿe2کxE:*Tߒa0ˍ ׳_bo8q._tH jѕg~k% ;/.endstream endobj 351 0 obj << /Type /Page /Contents 352 0 R /Resources 350 0 R /MediaBox [0 0 595.276 841.89] /Parent 337 0 R >> endobj 353 0 obj << /D [351 0 R /XYZ 144.727 740.998 null] >> endobj 350 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 356 0 obj << /Length 1457 /Filter /FlateDecode >> stream xڭX]6}_ lTKdPpmЧ>lJlƱnޫ'N&@lK=+< phoon}"�/t| & ۻ~L^[wŗݟ)fН]FK5}\EٙHx�k}Iß>`B<PJuWJcYT4b2¼r%< x ΂kT;1"<9Zdh$Kkڌxs` {9`x\7hxVF"+,%]ڶy}R|zJT~F4$<zA#FE#K)`nuU &*nSyR H2=iNmҡOG<AQꟌ$mRu,Ŝ~h`9ΔNCj^Y' (|L2e(m:k5M6 b8f@ʚC-T)5״?c8б;DDoqWͲU6U1NG@H~ i9X6Scmi9US5srxVϐ⫧tUܛ;8K0xPUaoRʾ)sR{Թ)!{x=n4a]6 ޒR^db4nZw˕o2y.]E!]F)O27QuU`ZFQg (dE ###Ƣ-Xa^ ^]8+$MsًC߲ްWld<~̩v8UM!*HDp]MYfӐ{[xá-m_׎$s6=lt�Z`! q3Nh(?]58ȟznn7kz% wS 4?IӯM+!'>)i7J]499B@NOfgWBn}߷*8RЩK (GI|7H{ LcJNn}2 o r4$HAMM@fB,ҮKI@i,t_Z&tkʡ{S-_<d{Vui`ИI Hs:KsSx Te>wzD�2';}>z j =wC A}JMq8>O`$nh[K K NRΰtؐMA}i8^ڼ'NV]<̇^*/Al϶oe->G j]7ҺvC`/ \`,'lMnj#J`&6GSl+q=\«T BҐ(Krs,:W� :dendstream endobj 355 0 obj << /Type /Page /Contents 356 0 R /Resources 354 0 R /MediaBox [0 0 595.276 841.89] /Parent 337 0 R >> endobj 357 0 obj << /D [355 0 R /XYZ 144.727 740.998 null] >> endobj 146 0 obj << /D [355 0 R /XYZ 144.727 230.298 null] >> endobj 354 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 360 0 obj << /Length 1485 /Filter /FlateDecode >> stream xڽXK6p*1ˇM(- P4=U#K$wk!Y5 ,!gL0Ȅ> i8 }8,wx8CA1EA<׈Lbl2yq#r|4m-vVOL){vVmKv-)^c?c*VuKr۳,DӠ??zAoPoFCc(Lkcb<J˷|&̗OQ"ke꼕#v.Bs(DIJ)Z-XcΈ7d%#ۍIej9%٫E_޹Zo,_e s nǨӕ:"'DTG- ԃ>8}Ā aS;R/Ǿ{fMGATBRT;$ZqB;,_mkGi?7$(dNbAja6z)(ж`WYz R�o_*{\ܶ,ʪڌ*Mre<aKtpc/Q!Ngg{(,s렾Dֻzc[@ WM!R騲0P*mϑv\p0꒰#tC-RaZ OQ}nF(f~5ŦM}~:\0;o! #pnXR,F;pYgO@2QOwn`<! @4@V,jEq*0} 2V.LB)ti_qh=e^{H>/rG Qp[*Y6 pVS')I|㶍y5p%2ʎUIvƱ 'Q|,8R7"[̭�xEJd;}06u^X5q `TƯަ]9Tg %a>'ԇ@zf3zҙ/u%5zb"Xա1HrJQ{G]>TעIcdD{sJ)6ben'o!*/mR Pu @|e_fk?8{rOJ]W"j  i/$W 2YTxTΤIeΑ(5ZKbk.֎rK%fFԵxN!EߜAq噝Q[oڅHjP'W0Bk E+ 9[9J@kpCB#q<hw䲁kuॎ^1|)1<~vjMU/0Q@>4 m1E lc#TCNlc(.$eJ#`#4 Pꪨ@8]Qch&4]5]T IKrΫ|w)EKȨ#b(`i)r\/%>VW|C$uҨ0endstream endobj 359 0 obj << /Type /Page /Contents 360 0 R /Resources 358 0 R /MediaBox [0 0 595.276 841.89] /Parent 337 0 R >> endobj 361 0 obj << /D [359 0 R /XYZ 144.727 740.998 null] >> endobj 358 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 364 0 obj << /Length 1616 /Filter /FlateDecode >> stream xڽY[6~_ ɲQu$ ۖB4oz%1v6=eD-e,MG2GF$r$(xO<;q 8c#u#@~=$#"1C׋`r| >Q"!G!DXtoJB$KĖԙ9#:,Bxw_|x(ဴ$4>11utF&倪Et +jwNYՐ,pdbo#P  $J nHҞK㩼:/\˖k6nmwRhqA6NGjlWgޱjJ[S<I:\㯾*9/oʎJr,SB]I[XEʨ]fPªrUU[~4oY\q2^1rl}<+*&(e("nFP*@QHn$#`m?!Θ۩ Ӣ3tInߚ:V̥'YäzO‹fn\b) 53MнLX6n2~_kn3 $֙*!ᰮiV$k*?!մ] f80~ bzwe8 >T;*R<(|>Q{@vi'_<K*sØMG&<<9|ڙZi'j]r7txyO:0 0E2^Sti"5&f:Zŗ1y[T]ahi`5cqūL.ܵF5ԌkugWJ 3)bF '&:#T;$![+O6¹#?W$܇tm_ .έ:WWΦ=<C zbnڳ&K y�m{} CJycRc2~K+[i\ ?%X_b8~񍟠PCYez{ovq~P}z/m출p1}¬yBD$}p `^>CGMIdJO. pFW GIVӴ,d`y0@9{BGt;)m#Ӿ^AOoD{19ۈCr{%+XXZST2h7٩<JQpj?4=t&YvS½뉋,c 8 2pP4cf ;cϔlPs͟x{ŖIJx}!~iBLԤ+r e]N/2{k?.$č60N]M ߱O7Ð% HU;RsL_葞 oN/t7yʿrua GVF^thI<B=oZ7ޑ0iwyMoW\3U}/%@1GRP3&f'Z'quhN]Bs_z+=,OMpT"]^BހL+)iЦuXCP#\`u/" Cendstream endobj 363 0 obj << /Type /Page /Contents 364 0 R /Resources 362 0 R /MediaBox [0 0 595.276 841.89] /Parent 366 0 R >> endobj 365 0 obj << /D [363 0 R /XYZ 144.727 740.998 null] >> endobj 362 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F90 276 0 R >> /ProcSet [ /PDF /Text ] >> endobj 369 0 obj << /Length 2107 /Filter /FlateDecode >> stream xYY~_aXDZEz3 X ~ۢmȒ*nL xVWd?2#iis^wl CxG8/Rh .蒥qsջo7yV=wU3cBK$I;T_?}cIf<93RXbI)6]t Eu5]$k{-HRki4nmwp@",cٌL|$KʁQ7eSfi|1Mv@yAೕ{(2YM [%J[OX҄)2duhQ$q y/ϊ> LJbd͵>$~$,?79 f-z9p#4'n}b޷ƍM<ƺiI8 W#Ol|bD?_4V^v-/r~n|bOt@]؎?O(}bOĽ/ne2VOAI6% Zf Bb:O4M^u!!!ܭ!!!!!Ƿɖ"]h5>S/cVփFsL Ԓ)KX~tc"k~.ά2) JP# (#ÈarАֲ:*}:gHbq@=v*q $"Աf 8ōƼ$l9@es0|:VUе{�CgnuFb+mCcyuv/h+[DӜ}\wۥF2 2~[?bh[b0}{7b`z;~k`Mn/&W퀬&4;}owRTmΑϪ)42 ػ][r dǗ.)2(^xk5paFԍi؈.ʮUEc kp.9VA*SaE[{v5Bh* @>feQo[%ֲUJu2,Akr . ҨY\ЛF{ߢSc7xF* p<@`Z8^k+#�wIi\.X(  1qߓ`P7% `H6Z2e5(z/fx\6bPhaX(%+ӫay &lz>&YbH[0F:o3h!�fu:0J:2NQ9i0" |TG+4fM.޶6]7._iL"*ȲjȤw傛݀ KR[)Y3Gīd?Cg�B((<t hö80:8y܋ē<08G D� 4,:-!+vX<^wc=hEkmgMn౗ g1\Khܡ~E;#9K{IgEdrfm\_x!<&ތ AIH-jႅRW<8nrWkaԐTdr0/h]WHp*gKVIg9/]_ջI.IL9"&ZVά[8šnE_M3Ȳ9sh`hOb򋬜JA.@aE$%jg!mFO:J:tw++z-)}˙@Ilγygr"KFzfdw*ܝOؽܴ]>/ϦwwT7ijy2l�mvd?(0<OWF<v}t1bAnѺuSE`Ш/%-v"*7SO}1v옥߉ǹK7ħDM}SmVI1cx1A[N7SEr\l l:HH|C"';?0I2I Y$`(EB_QMu}zf7d4cK/~ {s`06 `2[OA2_)Zh~\:Ruп2endstream endobj 368 0 obj << /Type /Page /Contents 369 0 R /Resources 367 0 R /MediaBox [0 0 595.276 841.89] /Parent 366 0 R >> endobj 370 0 obj << /D [368 0 R /XYZ 144.727 740.998 null] >> endobj 150 0 obj << /D [368 0 R /XYZ 144.727 716.092 null] >> endobj 154 0 obj << /D [368 0 R /XYZ 144.727 586.374 null] >> endobj 367 0 obj << /Font << /F91 202 0 R /F81 192 0 R /F86 196 0 R /F90 276 0 R >> /ProcSet [ /PDF /Text ] >> endobj 373 0 obj << /Length 1784 /Filter /FlateDecode >> stream xڭY[o6~ϯ0 U[aE`>(m %CvB!iE�Esf،IIbbII&6s$B   $Q4?__kfIaڐ^˜?a1%$"\dp*w`{( TT.pȄ˦ѫ嶚/XXvV1D H }|tv](Ǭ%I6df)0Clu9_a?Rˢ%T @t̖~|V(BeZYzT吕,NhdlUs *|{tnlpuc-2-LM9xQVװWD*lF&û~FVnK64\UVf7h9.ǽH-&�HE5vXCUL޹ff]WsT"pDHY̸3 aL18, 7ǽ.b�JiZ=Pa Y}k-fo_F$+̱tޥs:·o4F ~)Arn*SDı#h-ih5+EâlZK5:@Xs@~s,hpe_yupP\ON Q=m cC(IA4ci݁Pca~dT3,Jd`1!lif'XYwdᱱȜPkDӸɭ;0#!vaB/WّU < E sӓXL!tiAiLT=e`LFY3`UxWkt:0p E" P)GpaJOT 3Z!XBIOq~;rw)OGAX1D8í@ T`h{,G\Fp02 >ƭ[ v]muc_l.kQcpF,BU= epJ8XJum$4,bSf7=b1\nNRAfD # G|N$F$24\n:\0e5t9,dSz �HEjgYʷeϹr>dEm>ڏ+ZoZ$ɶ됼m]%`Dm T}OAyb]]4آlxBFϥ \[-_[Ӛ]&ձd"w}(f~�$<}Q!4ȗEމ=q)?ms 8c Z{Η h�qbI 裻eVsތ;oYYlrW1yv{XW3嵹[fk-KxE_0)ÞH7g;$o\]eS<,-$8d@_Ϙ<+`yM1wiRw>|DJh!sAC flkB?#9A4$h)IӚΘ:~%r(8 PLpǤ': ƚ [t@PP)k}$^\ڗpf]^^D/v?7aMus` N m§gy׭&XjeUCtWmZS]1I:o/2ou P+v{J/M Д1K~TMmۼ;A2qZd1#oJdy?1kendstream endobj 372 0 obj << /Type /Page /Contents 373 0 R /Resources 371 0 R /MediaBox [0 0 595.276 841.89] /Parent 366 0 R >> endobj 374 0 obj << /D [372 0 R /XYZ 144.727 740.998 null] >> endobj 371 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 377 0 obj << /Length 1806 /Filter /FlateDecode >> stream xڽYK6W@_F zHr-֖Ifk Iy%[^iE 7yd?2!ʉdajܽ 'kXq$!{g8`1x_ m7+Cz~%O7â �S#i9<vd04>ͳ!O*uz<tFb!q\VyәCĸZ^@�jnlE8,6?6"VKL0<tapb՗μGOFF@KtYj uFK0ؙs83N՛~iRAeQeCХѮvnoW#6 +pG}S=sJ!F$8]^^= P9.FOrrN"d p}x=Ih@':.': B187IbzNG\xa.E Mh :~iπDʀ*i 0m9-lZv.7 bEڜ$QP Q&KC/7 |ԺR.p-y ֫LivCuINǝ0q³ZgG4qҩAC6/GRNׇVN,EUe픠HX?X9 �Tp?@p2L{TH@`~CF|[bOdme٣/mEP \{]zui&ἓv\GLjpdH!8NIa؃cTH|J_{#>Tl}cY PHd}2A@0(!^TTƎ3^<߄0kjsZ3r4R  l9BoMFH<  PN^L),RA:U R ^4N=Q,J':== EK ']R_*d #٧ LmYeI:)7ЅsS%q YtbWYc qɖTCi/5Iim0k!Hr`M_{pC=U6Ád[Ν)*ol7{1I#ԯ [T5^FijQrxXC%F\d T3pt[Α*7 JcY!uv4pYl J#gM` rֶ` ձDURWM�}>FU1fE=db؋^<qO|'OG_*֖Iu({E+S1;a<v<or%ֻ=vwfX1jlfcWy+ϡsqY.%Ǵ)2HfyŋQ%wC�\/KgMYPjH}% \Z(r}NXĞ耔ElhIRM5)4{xpd(GBJyvۇ_ýz;LrkϕFá)#K/ :CiǶ}ܥoWN|ZKO]ҩK;u)RK=: M~4@ڭp*`hD@q1^+Qn?%endstream endobj 376 0 obj << /Type /Page /Contents 377 0 R /Resources 375 0 R /MediaBox [0 0 595.276 841.89] /Parent 366 0 R >> endobj 378 0 obj << /D [376 0 R /XYZ 144.727 740.998 null] >> endobj 375 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 381 0 obj << /Length 2764 /Filter /FlateDecode >> stream xڭko{~� e(|צM)P-ZZI)R%W #3;)ұ A U ?~ŕbȮ2<Wj [yHf 3K$L$8PL9oUrvqGoL_n fy⦔@'> n/% 0R_O! }R]?tfe^'S\0@b I� \sWMxZ,yˑ@벾MXq`|f*L!,aOt1Հx@RYzݬ{S]ܝc:GX bXJD: FejCœGܗUEnM)K=LۚM/ʘԲ+">}z\I$Nq,t5Xf,>sЀ9Te[,0 -;&l+'9SH^ԫ]N$*VQx3x~;7@7<@mccڬZE?N.E9%rSA�8B$ѧTuШ5;٣o75`p&vޚ=)\7`_ԈkL }(T4T +n\GHpGKž6]Y m2F͑`3P [[`9[/$ U33 40._4@@/SY;k52< w" $$-MY‚gģyţPVe>W RtBQq[@څsxs`R^fpT7v1+AnFX?�qQg ǒq#:NWs- cm1%)֝\kbE鑇і[$c$1Ҙ,G5I& Fr3À$f"O^d�<;{l} 8d !&NXX3N_L|냍3C!Eߟ1j f2=Hw,:M:fi2z-{g <G[n f.`dSsc?NhkmZUw~4Dr( _sgES}8Cqi~.N6Ɗ#o}"\eG#氘C>]532!2POxVS(i>Q'Pc "=gw2vr֝۔`!l>?]^Nob "##3AĉłqM>^E:F7旣߅?\ހX|<" | 7אH@{X5G?T5C(JOTz*:sv[.u(Kwa9`dҚ},I-MAϬZ#jhѺӌzU $IH D}`rɝO_qk|s 2V"dxx_nw22aG]*|9G{*bp-kl}ϡ2)|Vte2䞿_` \?̤Y䪐||XaWI֧2xH9|)9uWbn.ƜpB@XgX � TٶH^X&JE,)TTӚ J J 8o $.;V:NH�qN YqNѤPp`Սo ȳ:ޒg *7tm:(Xq2zW{[IΛ3 \@@S˱B0}/a6}1Sh>tsD |k ʦ@KA+I`s@@vwd}EG3`e@-6t8 �V(cN"uCS"6'"@Yr98`8&Osoqh�'� y5R3;_mǸ@=Iׄͮ l%мɶ<u{ao3&3A)\_?tfZ`?sTX(0e #- qOb˿FkD^LC:U,uO�ͩ|Ub<�E׮v'6 99:-nUΠJ$P=iv xةw݂^OHtt݄޻3IOR&i^R6<7 l`NP%+~"A3ꃗ}RrR6t] >_hy;EÝ0@L7%\}}&H.lT,N/5Ԗbz9&W3 8~}c+Œ·ܯSi /m*Ň)9AZRk$6We0/kn/Ц؆Nt9iz łBAUpw;ZlPOB}т<ؚ}#RՀ l n`PkD?ڭCm\,`N!Ah;Tc>a*lhy#%0B\D.!bCY)KgUfzaɾ)#ͽuUVIQ{l-p6")ښ:_tC_á=5>䛧~ԜP-$}|]=~)endstream endobj 380 0 obj << /Type /Page /Contents 381 0 R /Resources 379 0 R /MediaBox [0 0 595.276 841.89] /Parent 366 0 R >> endobj 382 0 obj << /D [380 0 R /XYZ 144.727 740.998 null] >> endobj 158 0 obj << /D [380 0 R /XYZ 144.727 217.949 null] >> endobj 379 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F90 276 0 R /F91 202 0 R /F93 215 0 R >> /ProcSet [ /PDF /Text ] >> endobj 385 0 obj << /Length 1551 /Filter /FlateDecode >> stream xڝKo65˧hG t{Zt,D\YNvC2zb7Cr0%4Y%,KWNa8<0!QgjίۇK*F|mSQ??aJQ!IH0XO9Um7$㪞_nwxTHTy' q<Xʆ@"3<ÛS+Oܫ<R4 =y>YSۼُu>.TvP, -r(5ju~,Ԉ)͊f`\0Nsm˫zCch/w]/k""Y}["3REj�Giv$,C u J2XnB =)_SQyd<o = "\@ 2<Gq׌"dvv8z泾;:M[N*]Fh6r2B2;P;C 3 `p({Ų4{t)f+X ɒ�"{qceB>)$`-;Q[W\3wY@$!IN˳n@OR=t$^Nvs'K ]"]}q1 7@G"? 1uG):%� 36*/J^5}yrCQ "Zډڳd44VQ-"A P6lu|qCLv8m/óje凐FUuf #R2Leg,:+FyOzԑ%6a:nwȻVN ˷!T:S [BU_ T*t_dиR<xzq']m_?sTJ$֗+wMulkgjV"s ގR5(Y7$vz[N/֞ PbY;k@o< |hZRgpܣ:zfu2F6}rrQ/<3iy}kkr=F 5Ԁp=9MyQijaZ[~a 9鍵#cZ)!n\[NQ5Ш$FI<?ښQ*RxO/w4A"a]Ь Ӌ?֢OW"d},U7=TQ )򉡷- e2'cWuSʌۛ*(0H#Wdߡ9ov?67f=>UZTA^qߎUma$b" 4S}t"ޱ=>lYr `,Ԑɤ$I 6O8CAp 7"tq|Yp1.quPT' $+,?;)]$TrƳendstream endobj 384 0 obj << /Type /Page /Contents 385 0 R /Resources 383 0 R /MediaBox [0 0 595.276 841.89] /Parent 366 0 R >> endobj 386 0 obj << /D [384 0 R /XYZ 144.727 740.998 null] >> endobj 383 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F90 276 0 R >> /ProcSet [ /PDF /Text ] >> endobj 389 0 obj << /Length 719 /Filter /FlateDecode >> stream xڭKk1EYD P…Bt<~cMr$ _P=goDhI8Y'YK&"GQ:[e pʼM},fl}ꍽ1/Ƴ`ފ6'.n=Gr IZLuHYփPznnx rIjU@SO"<Hsn)GEs� R j:bdB)$Gxt8˜͑q�D <'^51N0hS$FxD q),BCxtXάT)RV�D)<^-'Es� ^q UCCܶHYe�%,«# n)RVy�DIj1*͑J�($JIWMG RqES% ƒt&bgJHY�<«#@M)rY8P@{_WMG N?.#ePHN hݦv{oj]P>rs+^ڟMg__7}C?B2o>!V]w||;/&]ק>jGD U_Csq3$ AP."n}L|b<oQ/rg.6>endstream endobj 388 0 obj << /Type /Page /Contents 389 0 R /Resources 387 0 R /MediaBox [0 0 595.276 841.89] /Parent 391 0 R >> endobj 390 0 obj << /D [388 0 R /XYZ 144.727 740.998 null] >> endobj 387 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 394 0 obj << /Length 869 /Filter /FlateDecode >> stream xڵ;o0w / EG-'F%7I^R,9˺TOt| AbOc$E97 UD0i AJlONIkU]u~y$Jه4&R _w/ͪ*{l۝3r_֋?ž3z\(C~틬qmMW8\# sr8$,6B:Jg=C#cD<+66CqeVu̴;33R=&Ӡzٜb3\vԔݬs> -5`},ZsaUz։WdԖFF60BwҚw1ӄ!TXo㗣EgAx0њC<th!nH6>ctz,?}Er5HB$|e�|ۇN!oC[gp`fb/$Dt1c>7h! g'?/ͽ\/h !&ХzyB#wlz/K-bNIBz)p> *"1*rwX7qKuB*)P'`j:faX!PfW=7:>qRD;^]\oh!Чa!\B.R": + z.jHJ3BLX:BQC:Y(9w>7U dP 1p32]_'hJ%* Q5Z'goh2V*G?QFK_X}-%2M8*J(tK2rw}nb};Cy1:2endstream endobj 393 0 obj << /Type /Page /Contents 394 0 R /Resources 392 0 R /MediaBox [0 0 595.276 841.89] /Parent 391 0 R >> endobj 395 0 obj << /D [393 0 R /XYZ 144.727 740.998 null] >> endobj 392 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 398 0 obj << /Length 1320 /Filter /FlateDecode >> stream xڭXߏ6~߿"}8)1oUmVUV N@d7]zG$ Qċ8HH7x[gBEQ<r2Hhd!mtQg܌(7#:τ[j]?:Ӟ[g{K,'9ϗ#St)Uy̕3=<>zىO! 'Pk2pc)Oz$>zמ@3R@>zٍ4ہZC(Go2&8ہ:+! t>z^v HH@ɐT! t,yMf7$F3bR@Eߎ^<^˺^gŶ|Mϊ {x)WdYU^eEgTR_J]@ث\ZYtLefVJt0j wVDc쭴*k E)l ˦7xUY0[do 8qE0& &~*̥YnNMMDgpj)ZRZIz~>yؽTmg0|h:*MQq< Mvwaf>01χ/JCƴ,=0[6KڹsZA8&d2f[Wյf7ɘdx",oaYQYP8NT |?FU=:I]Hb+ޕPî] g-dwQRJ{pULhAg>]>ܱ叡HM 1d X t9v08~3߃zxk/=\BswC^~,KP]؝%s׈ĝT7H*`˭̎Ԩ:l@eYqYUeyŌ َDԙ 6Ocx "cw˼J''&&;ExEg-UA֟F Y ݸ%& ˖015tef7®*OǗⷵXL}b1{S8oX+–YPR̭HMB1}Qe^&~)lRQ%zDPZgmcI"[D`vuz]/2K8YI `lJ;Wf{<2x_~ݎ2Ր �U>fyn{r8VV'SYU;94o ٜ*O. eU ]3^:%#e`endstream endobj 397 0 obj << /Type /Page /Contents 398 0 R /Resources 396 0 R /MediaBox [0 0 595.276 841.89] /Parent 391 0 R >> endobj 399 0 obj << /D [397 0 R /XYZ 144.727 740.998 null] >> endobj 396 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 402 0 obj << /Length 1362 /Filter /FlateDecode >> stream xڽYKo6WEd`M'@lo.@EVlrMÇd:F"q>ΐ36`#9RT ( ] ~!^ >08bB#448262?Mn@MdzL7b)(HċEf1"Iw~fGOX A ªȒyYNjZvPì*O߽ V(o\[^\4!7wD�.굁o^`s̀AW0 k>UnPt�ݖJ= O_£=W UJO0U0 BQ~ŸqG[].wM4S}ψ;cM5F^c!a 4^eOi\Kgx:^�,/-a O̊y2`-&/LcK}&\<_'\֝( سMC+"o\ݤ0šA3$(d϶F1"Jg8|l]Ю]ŚtA YW/YD6TC"|j;DT.n$)|h^tVXMYKb L4F ܛVXRD4 G h2+NI1r �/!Ҫa.,eVWka6$8J֋ډz3$4YdϊeV]h3ӹS@ݦNđXcRMhh1X.}f4Z#|6|t M?8]0VlU. Gi^Yz޻Xl@l3MUÆm~ [ȿ-K!ො~'\jךf)JNK$~sķFpUjߑz8rB4'0 s>g\q=Hc԰yս*fa Dr<ϡ"Zˑ<Hj΀fa ]0CNH]\{㖧ݎ olg56F!)v &/BٮK]>NΝF.W geH$9"4y~х8ڣb+3kD ߶Vq@i�E|94mT1[yL/I5.Um5BάT_zA U.U=l# AFtzj)/j,‚豬B(V{~"M˥R@&W ^c֛qIoC&eQWPQ7;̼U{U#FZCo-dɎRa9Tendstream endobj 401 0 obj << /Type /Page /Contents 402 0 R /Resources 400 0 R /MediaBox [0 0 595.276 841.89] /Parent 391 0 R >> endobj 403 0 obj << /D [401 0 R /XYZ 144.727 740.998 null] >> endobj 400 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 406 0 obj << /Length 2017 /Filter /FlateDecode >> stream xZ6~E$pQPX mii--T+{>INPv-{dy(a3 ،y<J4vl ӥHw_~YJḪzuC.<v̠;;MHMz@*:J yb驿JYnq bpf|>[20`$ C`)Cٚa,oUTX*"K7&}9.RU)! B"y5o &𦙴Ք!c~Y ?AW2Fx@ !G{DZ ?s`Б4*.ofʎjNtyR7 NhES"e_R$0oe$&q2W?;THH:FrkHsP"<,hjiA0! tBDDI_z@XFP'+;qD̀$Gqީ]U+7rp2p63 tHrf�vTB1_ZisjYz[dD_NĬ0†GN! b奝4IUCј}) Mr=艛wTk* }( >ʖ!_ ո=Ȍf lU�1${{QS!$ 禲a�\]�1 ihT6f,Pˆ0&! ! spR<ge&2ۼ*͊<c'1 qnΒU=Q@(OS]$G)T�� 0FkV+ 2{u="X6ϔYT<IgL&qtFO#s8Ga.kW <R3% A~97=X/$(~ENΩqds 5ꪤM58.-lCH\ΈBS88 ^‰!Y7![8azmH,E$zK;'5h;1!H$NEI_JpdiiX4ʮ"`A!T�'Pj !Q^ P*&E{r”[ ;n�uBjJAzDAkȑODRh08a}Ƥ�Yj%G>QuIRJ}TxPԐҎgU#C5ԗWD/o3plgj?1I齷C +l@[,#J?pi~1_x\%"<>@*Y^VyST70?Α0U~"c&3/0^p@>>ZRNg_*ddh *]Fש@p9<v~w*E%|S(L}%~.Qt#u23ln;idDJ#bvi{[3ʺiC{Sݟ6ևObͶ=-}{=W i.$.J!+Av1|k]2y9o?<Žm>+R!0># G zU`-\p ${YhE' $cIAX**샙};{ . QxdKչpMن v09߶,EKmy)  }vw+٨ՋY]u`VN F8QnÊw#!eԋ("T>zgQsFVwPG|El䮞r՗; OI?9+-ۣwIGo?rzr'|p: ۜJ}%Z,ޚo^V& *ψykԫ(O93U[v ^\pdK>Mk>ߛy3ye;{z۟[aCkpO[Ǖt~a TM#{ҢP$SQ:[Fց_$^Ec,7=�A_Bendstream endobj 405 0 obj << /Type /Page /Contents 406 0 R /Resources 404 0 R /MediaBox [0 0 595.276 841.89] /Parent 391 0 R >> endobj 407 0 obj << /D [405 0 R /XYZ 144.727 740.998 null] >> endobj 404 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 410 0 obj << /Length 1184 /Filter /FlateDecode >> stream xڽX_6Oԫ?q)tT#ҝރI DޱBp(Vlf3c'dᏌHF(((]>X>Vq(ϸ@0c-?(ed{lmpÑ@qj.(I+s+[>y|P\QaAfz.Z:)'OdE QkS *[3ʤQU/15Qf[YJg2Y,uSoilT`Զdj,zj$yf~$ΆCY]젮dKk^SVEh@zb%><r7 N=ؚjz;~7{x!8oѾSCgKӖ<}t FX0P#8bϟkLǃ{a0vn@�łQ Y_4KsoUWc½mBUEf9lS=[VKzWڲ4 Յ$#%Nm[90*U٦nm^mӪYNIXD(B8. AZЉL-ۆO !jGד1k#o83P|B uZ\YM@OY YBfzR>eBeɦn ,dc9yQX�-Be;Zi,`6e&\?+Dgۼ)H6Ǟ LResPZ(0(^4*MlH}mcpxJfysԑqЅ.PD&7k䳜`ZҪhb�g͒0i!G 4g8:.̽B;ׂ9~$Me&pmv0&/-n yP.w$-eg$SA3X|Љ~&⻱"o!i&>PfBo&?= LLPԥ!Zu 0k8Ky>dIQzyj7Y'hsd2; {W%F# IMI߈:xƂw?[:(9[XW Y^=[ 9 G73KKNa@х$"H }D:"N rendstream endobj 409 0 obj << /Type /Page /Contents 410 0 R /Resources 408 0 R /MediaBox [0 0 595.276 841.89] /Parent 391 0 R >> endobj 411 0 obj << /D [409 0 R /XYZ 144.727 740.998 null] >> endobj 408 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 414 0 obj << /Length 1482 /Filter /FlateDecode >> stream xڽX[8~_FJ7v/G!!3̴_ہ2TM;wH3$|Ɠml~~1q"KK̏ <c([cqW]6(e vc"ݑO$K^^`.M;Tr)bi<H4FB }^ MHj`-E}/ NP*pRLȿF88gMb<[Q[[+)elOpZ6m^ űgY}w *`upmYwzQ;bUbB4eŒuaTexeޅF("Nh\�/vGɲ! iG .wUc_.7Y`|_5]Vo"5aLο#md˽*05PLڄXe9W|w,QJ`i%DҸVv:S6:kegCy"Xzl2;ıgH�P@qj&K+5ъO-9.QN1!Pꝅ?X * Tw*8y# 4BqNUWLcԹQQE2tjVH1s}3x 51coCmd*S[یl6L"V5' 4vMkuS} niuN@2'ɕl}V90lnȽ #]ĵmg+8GEG.>`Q̱哪j+,LU xm_9*rjќyh7թĴY7 úӟG?'>Ss*zn[d?0@E+!u]_7jjp;5i+kux;NP |'␚F>|k.?zCc`._Ffowh,5z�O J](+\9ۧ_Б軙5]$50;bw 粵iFnSѧUTUYPT3+{wZYWK;TdM)E^JbpLuXˎz lYS現4nKRKx)@ɍDg$4)~ח{p&nzlL벷t Guu!_L>#{8Sgf18gz:>a_-9.Hq;`=c~:QWw(u_-=jr1yBNM >AVsV700jC94`]]r: f_%ٿ8>Ѥ阮 Nx;oLEDTS#8~P2{6e(" S8yA>$ܩv/{阮위 @6uG թ?t .endstream endobj 413 0 obj << /Type /Page /Contents 414 0 R /Resources 412 0 R /MediaBox [0 0 595.276 841.89] /Parent 416 0 R >> endobj 415 0 obj << /D [413 0 R /XYZ 144.727 740.998 null] >> endobj 412 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 419 0 obj << /Length 1082 /Filter /FlateDecode >> stream xڽXM:ϯ@*Mq͇١'k0IP&3Q{O({׾c T8QRi,cp[И$Tӹ1C)e!dz?1$(S6ft1KY}TIP$$(q738 /uPn+qևM!a^| ֶ_u涷=zn,ИQV~(̕M%Y݈Ql&8RDҏ[:6ʇ8>10`Tp$w0ULMtFx4Eą;5s$ jkuK5"!p0==+`= :Zxh]cjbئA"2AB㙩nEsB24T#0+O\fA&R(Rx>-&䆪c[qhRصCۮ;[y�<z5YZ n%G[@$ pgy =f\a\< 陂w1Gngl »4([U?@BlڼsCU�~xYbz 00>*CblG]٪aq_eczF>Qń9sx1GŪ98}w |9(#<<i`X)ߋ X08U6&4Y=TDpa^Z6Uʟ@LS@Ƚpiebm J[v.JO`J W`(�D ~o!W: fJ["kguZ#{ÞZ<to5nԫ}%qF߶Q#85×ԏ xSD0y]o~WwxTb(|K|Q~K3GׅqL1-euC'N>yƲKH` YBf~KhUW4&B4Am&OCJ�b<TenމãA%dMX޼%)Z@IK�eF01 (XF)Fj|1Xu8q{p)P6o|NBendstream endobj 418 0 obj << /Type /Page /Contents 419 0 R /Resources 417 0 R /MediaBox [0 0 595.276 841.89] /Parent 416 0 R >> endobj 420 0 obj << /D [418 0 R /XYZ 144.727 740.998 null] >> endobj 417 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 423 0 obj << /Length 1374 /Filter /FlateDecode >> stream xڵXo6_a +`G)iCʒ!M {e[i(C"w3dLcHb"FIO<Y֟7đЈ".6H& <4o~#&86_) i<o7I.%(đʲӺzHwt=n;P9JZ9# rǬ~V25ZreF>YiVrizKF Mƛ!`XH`Q{`2Tv/E^Vĭ_.mv&w+<7Rq'+%(7KfUk-4 ʄvTʈ|[~5X퓿E>-r41m74^GUu] &:l Hx:Hxr&oϻ) QItd AO7QTf)wyIi_RcC>�_ۨ�0>/ZM^;IYA|[lr=#S* %+ bXg &/ׅ&K"}\ [6(-U{<+-GPgOqB_f08`B}=G$pWT l �Kc^ىsbbRaPb0کs\#Jh\ZR姧`㎞8P$E0BvΆ={"$^ 0HlF aSrL?P{ ioҫ|QS'(^ȥCrfH"B[>^ DY;˚c E Wy]}VKBr^L`  g(<ט8X6bQ;ul�0-O <ZX"FA<:+ _@À^Uw63]-E6hrL0\o�<&h瘰ldNvi)0\AgwWRwQt?,�vvu P=]DHlsڷEDaF-45 m_Csg0n~,],;A;hO\sPw7-( 9!d,w1|V?YѶmKYXUr)[60YB,!4 k770#Fܼv<S]3xک|K`vy{9n؃45v R/B3SByď2૓ fm*4?v>S9rendstream endobj 422 0 obj << /Type /Page /Contents 423 0 R /Resources 421 0 R /MediaBox [0 0 595.276 841.89] /Parent 416 0 R >> endobj 424 0 obj << /D [422 0 R /XYZ 144.727 740.998 null] >> endobj 421 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 427 0 obj << /Length 1754 /Filter /FlateDecode >> stream xڽYKo6W5+D-'7]큖i[XYr%9 Iɒ1nDÙ7GGs(>I1Jwh ~v b3/',$ Cp"0a~7Ih4]5ޟ6o̷b利�& " B 4$QB{e\-P񣜪O>g6&&-0=(czz#=ݣ`Yn`YGX\S Gfz%Ԫyl^ MU6*m;�1ͬgz]a8{"t6IF}>NVh`elYHHUlQt%,ɛ/7爸5GS"qPmLK*LsWR"Lޔ~v',P_U[A~Kºө 95rк҅chKs$ZvVqT Hԉ4¢/2<\P <Ho A1'cQ~RO<<Y�?U-ܢ/d =U@V-:kLMEMƓ؏i/]biNj\YOh)Tb.9, 8#pGČ5ݱ�ݚF$F  vVg=+^Qn);ZfeG\oSí _(v<{e[J{Uj͝ pK4 ,({JzTu-T+c>u~< xOaZ $"0e[ BEbPmF6F %Xia$B,@ZYkJߺ$8Qs<%/[ffn�GqԓL1Ӭ[z_dڴ¾Їy&р\(}HFb,򬶦Tk1 '%]vs%j/Ltt^-f"$O oZGoSnq&̧o4dvKIn6$x!Cǻ^r ۽r9|7w)*/=t?{v܁t~qmfr[|Zwrm g(T{p6 cPXYQwg!"֟ݭ-/=ڱ:/禙Q~Q`4tKEO')Ƃ|vQ@GNNDƿfPH췄Rѝ I|!AyZBMT L Keawaui9#`C:eY 7 hEn)ˆg< 0xHjiVOh3J");zlUwqQg>_XĘֈCbj E�JܔFh8U̘YbHӧGKAXZrM[[8lT�.KiT!ІN>4%8MH\GE*I/q\MHLwi֪m"z1uOK}2B3) %PPb=p{E_% ~]YNy@"6f;z,Y-BpP̭¸(:v`u!#~dό4`9;#\%@E0HUpLzsX+3$yendstream endobj 426 0 obj << /Type /Page /Contents 427 0 R /Resources 425 0 R /MediaBox [0 0 595.276 841.89] /Parent 416 0 R >> endobj 428 0 obj << /D [426 0 R /XYZ 144.727 740.998 null] >> endobj 425 0 obj << /Font << /F86 196 0 R /F81 192 0 R >> /ProcSet [ /PDF /Text ] >> endobj 431 0 obj << /Length 1439 /Filter /FlateDecode >> stream xڵY[6}_2 $PK~( >-IY30%;e,e-K|wIߠQ  A!C؝?q瑏a"f/~hAm%"(\S BW�Wyγ9Wone 7pKg8qiԃ�JuC@jT55DK ؒ%Q})�!7e;TWI>L@&Y]g m85<i+%)WfpW!i\YZءC7�:B7 q*?j1Gu@-C8vTq<<UOt}KW вf@+r9Co8(sRHG<[LgFKZ|-1"\JX/N'Yo̖͑yO4V8UZa l!W "pt hW]_1Eؐ�#�EK-SLJr?VEFlTWipu$̜x_>^Dc)k ̇Uj*a'sݗ3pރޏ9l< =`PFQҡ5%5ȝ Jjo㴕1F":~@%?P֗4U-cp-M"<0Y^zzgmL<ҡ/E0R_=I(0xv"/aw]ýN^Jý>ݣ{|ORc]?՞R=%ǻc}}CzI i+TS5N@ {Ŧv7o{04;$)͠)`W Flغ0>Av'hsgu7F`S|:J:#.WR.kqanr sPW BmE^hz/hiP7Y�] ͞ \^\u ^nr } ܯqk2:+Ηt7jw<<NkؽNCq]ځqa ˶($yC%":91bȏ# ʦR[>Թc c�M 3ŴT-nα7gs~GPLEiWN`!mUvi"  DsVi,C$m {·27։h5[01[#p DM)W1pG:  ї8Ptka%D7|V<es N/ӈ.;ut4l,Iv(~Мհuwf%IlG7iY!QuxAozܲVgC^E1Y2>Q쥶Hwendstream endobj 430 0 obj << /Type /Page /Contents 431 0 R /Resources 429 0 R /MediaBox [0 0 595.276 841.89] /Parent 416 0 R >> endobj 432 0 obj << /D [430 0 R /XYZ 144.727 740.998 null] >> endobj 429 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 435 0 obj << /Length 1258 /Filter /FlateDecode >> stream xڵݎ6)"u+%ƵƦj%T2Uŀ@@vf6ʻ 03Jc>0ȌPgbbll~ (#//"j/~d0gJ2X2Jd ]#ix9O"/ea%cC.js<6JGh<.Sӗdq ne\VkD|2v5kvݵ,@{Mjb -i\6黕i== xjtūNHgKJOٙ*WB[듢L "0iykTSQU]}<ƛ<me`lBia]Th�rT]Vz*K]3<0, (_oU*!׃n Q۪uQ質zrn(wI!S ٝY]5Y|;fxOf'$fMQ=ňq̲u0w0'0<^gX)W G3Xq]new)֋{: e6 �cff#zF 9ơ_#W`|o0 F2L, ;s\]Q֡uC~[ء?!4zk$w'e)?Sjw7ۚ֕2|cJ+D ل),OsSL)@LXkr/R]yj_"gƒ;8#mvJAϦSe p0e9xЙRQAt=DpsqRU%-[Fz/n練uPOSh\5N:Qw76",+e@?rES^_m!Wud:`+m?xt]'yjZ<ukMsNB2ިg=h748x4zns'z" x4Nw'{5ܑ,h w'ȷiC:G<to'6͝B>_^ o&^6CWhۺ{uƅS4֩6T' !qD>iOرe;\QL.t!1KMTĭaf8V{!ՆК4{#1;nN&+KB9_:s,nugp@tc6P$X`7m] &]2_Ntendstream endobj 434 0 obj << /Type /Page /Contents 435 0 R /Resources 433 0 R /MediaBox [0 0 595.276 841.89] /Parent 416 0 R >> endobj 436 0 obj << /D [434 0 R /XYZ 144.727 740.998 null] >> endobj 433 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 439 0 obj << /Length 990 /Filter /FlateDecode >> stream xڽXKo0 W( h<`1`sn4F;.]>=Tv݂!Ǣ#Mp0(M(128עWBA<@8#L"33'#2lS狯o0-@FpD|Ä2SEw޼r]?~ϐb {г^ kXv4r:\_7`)@[/Q˦8 08G&)JrU1@sHS{\Q.¼-�%4b3ҡDXj"xjY|68/W:on~>_$E៥FQU4K< }ClOHP#|a;1=T3hQ6khc: mem;T?u[#</Od=3ij_1R&T+Q̲julU4^�qf|,9+wk6 amdwKvjBqu:n_A<Y7/Vmcޟڃ;&$DH�CUΗhݨe L7K_%#axppes@! 2k7uS�(7N.+(E_"pۛ$H^HzY N̑_#|)BL S ?4P:Uib@8C! ɶ}{muRH{ir{m)?1Tp Us@_!/5}-W}Ls]Tw!{3$N-F ƃ,/%й7-sJM'3&(b▏Qt(7WS).gRFIdGxwzem/ h c]׍u,+'{{~7{`pVͮVM0C1ь32 jXQ9?(\Qca1 2endstream endobj 438 0 obj << /Type /Page /Contents 439 0 R /Resources 437 0 R /MediaBox [0 0 595.276 841.89] /Parent 441 0 R >> endobj 440 0 obj << /D [438 0 R /XYZ 144.727 740.998 null] >> endobj 437 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 444 0 obj << /Length 1816 /Filter /FlateDecode >> stream xڵYm6~"RU]R5.~Ih뛪NVf@ e@HmH~<όg3,g1x�% e7~yR KrSx=?޽ggJൻlcƋ~hQEz(J0z}v,1p ^ SB?ʺJmT%9?`rH0 1ZT5GfJ 0', <Dh}vJOdҢH =ʇie4Z[=z 5Z(x$y7GNg$Fe9}#@m@#qJIc1 %,:F[ŒpmLV{#0R@^t,<!( {a+ZUfV(YOajEh:BUvv#պq;B# ��!tUyY?0+# D:D^e@ī ;ճeRmAl+_avh^7H8_7 5>cn K 1-\l@~8>Ev,-w C ˆ~9óobc3G bsj:AFgA;[o$۪~PbUs<@!j6;j]Pוtj6v%A40uM/ft"&4(m Bl,îsxgGx,@ "#`͚$'FP6ڝbK`@j]mV<U" yDa΄8mѳX'k$0"4 ,?2cZ7>v#:+,gᤶe֐z*GqN)֬/~11)f6/RL褝jsuc~j$A) ⛭l*myS [i\[cp #CA 7>@|̺@ͫ8\zg'-/sv@%aaіroB9p*r %>=d-|t9&@VmSg'Ly-6ͮs5k*dPaFHI\I+wrɥ p WУ4Cח;UCcBWJB2|E-Elș=H  nF֗sω"¹0^Nn& fSנ 5; -ַi㜵mdCo8Gs=a)(iޮamҶ0P,bdX Uocu :p&5zXW 1!|r<ѱR(顇 /g%:"[g0$هPbUNN0r@'BFO? n]}K9M6 k>QWe48~ %`7_e WQ80؋BT}BSZ6M{Pfh&0t['!c P|FN)MӔ2KO$R#*wì1^ubf�OlE/تNAþ>VzL%]ar|By|u&=�S$\f4&~Nk\?MqNFQŗ_:lW:M0Qx̕s/t); '"k3%CeqY$![ZvJjݦMፀ\*\EߡຉT}dG%5 ~&S5TхV0v*sxTAiendstream endobj 443 0 obj << /Type /Page /Contents 444 0 R /Resources 442 0 R /MediaBox [0 0 595.276 841.89] /Parent 441 0 R >> endobj 445 0 obj << /D [443 0 R /XYZ 144.727 740.998 null] >> endobj 442 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F90 276 0 R >> /ProcSet [ /PDF /Text ] >> endobj 448 0 obj << /Length 823 /Filter /FlateDecode >> stream xŘˎ0y *"ccLJVR]ev3!3Iͻ撒 RU/̃Dύ"Ļ</+viHD 13e4e>lWo?3P72նi[t|C$ n\07b2"?&h&yI7tUJ@m"{#MotLhPg�D3uԜD2iv+FQhP4՗0x S#x{j; /^ZhyxNp5ZGV졐|�/D,6jW` Hsh[`�,RM&Tm, @QgJqhu㸄,qa!Zd)Noh2jg=;dy!Vȴg%әN T#/FϘ�)kg4>:^ A¸h]ʣ`Ð (jQI+cugb3꽻LjhDGF:MEj4q6e+|�i,:}&��J1#F"e}�c#%Od\!"ɲm n1]1#]-`CboQH@)e)1F$ADȤ<N"d>]}(|!">"Jl"x^*&3.۽UUw%dsY_oBi0- d#xƊs0-]ٴ E=wOධe-j.ګ5Sli{ \gCS% M hw8EFo:O[FC]tendstream endobj 447 0 obj << /Type /Page /Contents 448 0 R /Resources 446 0 R /MediaBox [0 0 595.276 841.89] /Parent 441 0 R >> endobj 449 0 obj << /D [447 0 R /XYZ 144.727 740.998 null] >> endobj 446 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 452 0 obj << /Length 872 /Filter /FlateDecode >> stream xڽXn0+tH`)>nF@ѣ[ȱ!@ ^R{),rg<;$E?$ !@0j3~eF!4 ;i$RaHre|\>|$Hi˴\&QDnn_SH87OCXD!? e]ě,ǤbwsDT<t' ;xµ( :IͥΒE}}#q#f{1’sdox'IĈlfBv:솈B\-Dgoe-^&ߟ]v3r@"˪$/If_{BM͜c|Js�􏥿E!tFyJ<idGM#"35MYƿն!N͙'=sTshzw ;MJvptfl^#"CcG(Pc-�-'\x$#SxQNG [$ihʤ<&+|]{y/_v!s6Mmt*=HUrs dڙ)}Ȫr ~}DbоsWc,4\T+եwr-yBߣIj3i.�7ޫ7V_o6i=h-态}bYe6lK9i YW{/i0,.wWipN?p.(|T ;͝^`Owr#_X C^~ | [-ӓ##$\*)|!̙ʵF=Vϰ<+Cad"᫻hm\endstream endobj 451 0 obj << /Type /Page /Contents 452 0 R /Resources 450 0 R /MediaBox [0 0 595.276 841.89] /Parent 441 0 R >> endobj 453 0 obj << /D [451 0 R /XYZ 144.727 740.998 null] >> endobj 450 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 456 0 obj << /Length 736 /Filter /FlateDecode >> stream xڵXM0+rX'JmG!Y%m6$7k@8$`gg $~ ΉJU8%$_h`>#Rqh0bھpq}F>jH$1vجuͿ݂0m&FJך .߁uu &] Xp:�' >4uܸGx�lbbxUn-2YR@p.+4Wyq%n>߮7M-o|EY5M{ڬM7m=8#:>qB2VTWp�·v_踉8Ш\qH1r`my]?DFfDF i:SyH}aЗMGfy>0b>X%yQ3͊n w\0sxyNл!t( y8CR ˳aŅsk!>6LU}` K;:d-E^ L9 2+;伊x?d�*ƫպ)Z状n-jV#v0=?,%ZB# &i"1(ڄt9=Zzi=e,|I @^Ty'|Ἳ艚#T2:%H΢&8G<1py ^JnfDHUUIHV�0`KAq0 endstream endobj 455 0 obj << /Type /Page /Contents 456 0 R /Resources 454 0 R /MediaBox [0 0 595.276 841.89] /Parent 441 0 R >> endobj 457 0 obj << /D [455 0 R /XYZ 144.727 740.998 null] >> endobj 454 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 460 0 obj << /Length 867 /Filter /FlateDecode >> stream xڽXM0WpJv Uj+U=P%�&uXڌy36G<B)K Rҋv3=O3M񙏸~dp3/ E+3j$GJ/[%-TX}֣ܓHqnFaA)߉OdXtDTgsQf (O]a.cɴq.!q&۲uIV1rx> d m(b6l[(pws@8m'H񽱾IeW7nAn4H}}2tUW =e=E987`崙@Loc1Ql?12 ɂeV^H'ŗkE]T4 ʐd w'ʐdVv*8LV_F8:laulasns[uxaUm6^9b">L8q2'u4Y; p!S%O#KHADB2Һٛ 'n0[I'pU̚P7.Q�K " 6( Bh_`[-V;A0g5=[K܁Q>$ĥ@ qI^KHf?(JD eH҈M؁C,m�(钸+AvCSy3(| ] )/[ ;<}?,%ut)6p7o{8݂c|{1_3ϡ}K^$j8s:YN3_TK/1_ӰFmV~U͡˯Xߔ,]hW:M[ëoa0ނ&fc0t6}a*iRendstream endobj 459 0 obj << /Type /Page /Contents 460 0 R /Resources 458 0 R /MediaBox [0 0 595.276 841.89] /Parent 441 0 R >> endobj 461 0 obj << /D [459 0 R /XYZ 144.727 740.998 null] >> endobj 458 0 obj << /Font << /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 464 0 obj << /Length 1168 /Filter /FlateDecode >> stream xڵXQo6~ϯ#E"xC y%*jK$7n EZSH~2C1 bI)`А"1xP x`Hpi>AIX6MaH Gӿ`р#7lD-W1bqx-Jҡ;1}rOǽ�Ly\�'|}feURKYÌ0L3o8=ͰPb2%:m6/TUm&,I,U5 u4V6n.@YO]뾺;ϴ^?Ku=~|]8 qVHL_pz10 C[\0pNBb\D>8=έmʺr3S]KxHp)x�zаCNÜ3x7 Frp~4֛iK`5AFmm&5訊1̲Q6H $@.f*+:ڧr T.VL}A1%&,b~$V0g <E_LjLީh-1۶rP~b׷#=BC/_/;ޱ*kؾMz `Ԧ9,@0Q3%H2b%9>OE Yu֯.~P.z^D\ԛ[T>MQL\VO>f>o!nOs3z5pZՇ̹v M77l篘@ %=Rl;I{x4Rbz_BL<-'{gs ЩfQUiWC^R\RS}kjY7d/t{ZUz5jߒ"^/u^۷'C,b'1>g>`eeˢ`%eҕ2t]7Y˦6A2Ce洇F zh_& (mOlГbUO\rwqҿM纕$}߉c8)QQ".KCRΆZfZTn Fp֦Sri%nuVwa1!Q>4H\?md!x|xtQSŲ/Df!ׁSP"`i]0endstream endobj 463 0 obj << /Type /Page /Contents 464 0 R /Resources 462 0 R /MediaBox [0 0 595.276 841.89] /Parent 466 0 R >> endobj 465 0 obj << /D [463 0 R /XYZ 144.727 740.998 null] >> endobj 162 0 obj << /D [463 0 R /XYZ 144.727 471.394 null] >> endobj 166 0 obj << /D [463 0 R /XYZ 144.727 213.257 null] >> endobj 462 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 469 0 obj << /Length 1752 /Filter /FlateDecode >> stream xڽXKo6W@%'ob{nLYj$f%[6(5f8ubBPEqQķiuޮ/7ؒˆz{; DxS%Api՟Np8cuuZEbd܃ֵ})Ʒ JB`qX}iQR,RZՊvXS5Ĺ]laYA(g8v|4@L %)%]DKu�NmoožgՒ? ˎ/Ñ%Kygs ?f1bTj Kٖ9(c $/"% Aϩu@&r"sXCu['""~!]Bz8)^=ma?PZb63<;${rKn2{i?DK^FfuaVRSje˄y^Yi1Z(@CIܝ IpC'8PeS X8AWi'37?? \q`0#'ؤ/@̤`!$m!!!g�>JYU5 Nwm.jUm"r rYʄ�k5D fe 7T##?+(LaŲr~ߞt c^H0ddpu>ayCTti<@L#VQY2)!X/%yEQoZS˿CwsKgFs)EVLl/;ƄL&7C=lm UɪB]f6lqze0r( *zz^VZ %{/AV\a)Ixap!/$AW7䥗3I.Oq6e.G+A~8F^B޶) :j CJm=ʸmcdɾ ^W]ӆ�Ta۷ |ڇSz8֒H?P \2CChMaA[=P?G p*HҖ2:7}&v=mSz5v-W]W]j'BljpSu ZU KNMѪ(5feť`!&ڀr!.�zcl)=bKVqxINݘ~2>(/HG:BN#{�~/pEQr*knd,\B:剌�1&c:M|0hNQC0±?ˣ=G)SD?O׎UzQjS*ӀnYԖ4 Vڕ5R3~$t>gޚV;ɂ 3$,Ӳ5jټ 6A=Ö\.kx# %ULepoPEY2::MQc%r-MVC8hRKЂj_'_:i Wo^qgc.J-g1sTlN$BO%“j"qj v/;X_,g"-l{ߑ)1H (Q%/S( qcPUjNnsJ]NHuR2`o/*>]7t_+bD8oZ=ykՇA-n`T~0"`(>qit2D*G⃾'%endstream endobj 468 0 obj << /Type /Page /Contents 469 0 R /Resources 467 0 R /MediaBox [0 0 595.276 841.89] /Parent 466 0 R >> endobj 470 0 obj << /D [468 0 R /XYZ 144.727 740.998 null] >> endobj 170 0 obj << /D [468 0 R /XYZ 144.727 716.092 null] >> endobj 467 0 obj << /Font << /F91 202 0 R /F81 192 0 R /F86 196 0 R >> /ProcSet [ /PDF /Text ] >> endobj 473 0 obj << /Length 1494 /Filter /FlateDecode >> stream xڭYo6~_a  3'I{P,`KDi =,JCA 0G|iDֻpOoBbh.E%zίl&Plt7Ď1Xg , z( 'rzm/8 j'v^B!w@0Yh"W9M(Y7PdP 5ǤL1b o?Z"FUQBj֛,p�N=<X�0o7*h|6*V6Y}Z:?$v|2t2+]!7ؼa7nO7VgۄF1|-1"X؜"ߝF}-AUCྐDrUt΢h=zEg.@h>UǑdBR=Jk]'$!A{i4k <ȼjEoֲir D8pVE-JR=e6.J$e:iO#$[QQJLY`Rln췼69?iA=H7Q`[^iv?aڶP5hd=c`mim^22lC=Vۥs<v]v%D.s_T DU g75 uBg(#KUƻCDTڸ'"Ԑ<*`A#>^iJb΁F;zJGգ@Qh5]�a,3 GG& 0381J2r# д2SST," p-E0Jz*ɦl]/ds 8eq,Uj֓6;^bagɉq0"IdD({Y%gT&;S /M^KuRԥ=Tw.eG2tKn<ݽHh[4zv} t]8y Ay<8çqa^2OT t O6(e^le|$ Y_ꃄ"zSWXrbGp( 6s](iP@oKD/tHAH(X<LYQ 6H3ܬ8 m,Fx3ix./| 'B3vY%QxuWu>jwHpw Q(H[.- ،eN[|c z=KAU <hM}q lcvE{­rd{1hɲ`i^2;Z|׊<.C4{J˵GeZ^=^|t](m2yNo> OpB/ Rf=8ȧq(B|ɗ Óצ$Nw52ʀx6-!.NYLd(d NZ':x( X7|> }endstream endobj 472 0 obj << /Type /Page /Contents 473 0 R /Resources 471 0 R /MediaBox [0 0 595.276 841.89] /Parent 466 0 R >> endobj 474 0 obj << /D [472 0 R /XYZ 144.727 740.998 null] >> endobj 471 0 obj << /Font << /F86 196 0 R /F81 192 0 R >> /ProcSet [ /PDF /Text ] >> endobj 477 0 obj << /Length 1788 /Filter /FlateDecode >> stream xڝYKo6W0+E=-==t{-"K#Çdv">g!2^yWQHU{(j~VG %4>&]pĂ�>,~=!/ 5Oيlӿ/MFY= xxtb"C3`ÈHc8@,,8!?. s"rg4Bv/وZJnmϐ1C~G#^"MdnL+,6.<\5VT-&9*CT4Ia` .a cA{p4nUԤh:VE(q\}E=:1eࣈ!yՌoOpΥ*"m+=U8'MGodE* xzx'݁*5ڸa  } k\wjO+ڣ.p+ZPQ|7D7@$q[�84ߠ *w;>XIJg'ԁaiYj).$ɯO>@Y%ի~<wSE.OlSnYf[*B ‡;A%xLo:J{BJ� #H$̈́X{X6LdžW+o)Ԭ= I"Y=#j?>9,paH 5c1%H"iػIc"{w8k&k0ڷOHO+ETTS4Ö|Ɉos!O{~Ē e>oS)zrRry'<+56ja$GVf[A;q<";E#^DzIw[&6<8<-|Oh.U<؈%]X$ "4G2nD:9,Rj_v*'Wk Nj02? {0@tdNOGL@1Zxo [�ETLx2| y�"6"] 73VٌM'9ˑqhk&Ayߙ/lc V)+Q_zT<B)U"ySwe1v]|m⑮A%u2Q2TN{XLO{[dڽNkz6oVI\2" LdΝo%M<&#>UU8}|Iqj=/3{z:Ħgf,=P>UJ|Àq1^]*+^hUx#0r1kGήl\\RUN*I/HQ:qY{gEJ{+%w2 TI;fQ8zc{Ome"_Mf2/w0C:T.]]k^۔RnJ]h9 ̬:oi;,zl'0mA�Yu _UʾoY*t;�2={_ϓw cJ(lϳʹy"/T C]_橩C:tE|]e(P]~`:�2N{k>}*U,i.r.SqW\H&ٛG։B oy[9,ww!~arPeSˢ/;Գ>px9N}(}斡a hu1)Y&L~LDK f)X@f>><Q endstream endobj 476 0 obj << /Type /Page /Contents 477 0 R /Resources 475 0 R /MediaBox [0 0 595.276 841.89] /Parent 466 0 R >> endobj 478 0 obj << /D [476 0 R /XYZ 144.727 740.998 null] >> endobj 475 0 obj << /Font << /F86 196 0 R /F81 192 0 R >> /ProcSet [ /PDF /Text ] >> endobj 481 0 obj << /Length 1560 /Filter /FlateDecode >> stream xi6ԁFkɺ ewzl/Zڔ-tA(vfv;pNF.-Xӻ=Y ?<Ô"ALʫxoIX0\$L"HP$yj`X^=ZG)[n,r[e_~|&Qʹ%{?yX`=*z[|[Սnwj`1fȣ8BϠ2<|z˛2􏛞 �c H#Z GXa#yYA^-6Q,BWOF%YYs @<�z䆇1SJ<ċg)Mxij{ajLP6TqWn8]K]unZXMǑU,Hk?6fJUn޻V[z}0XJ C$K XGJh,zKVk725Q&7[+A=l(<@QW[4_A7ٜE_z]HI$ 9O"MT̋$2R!j f0>!>H8rmv?,\ @o@BIt+񖐤M. cVlW ^C-dSHI{?m.wN0bTRoG{zӵwn>ك)GI!;S Lax|UyM};'aǫ؃KުBUxfd#mKI 1PuMޯZuUtT?9(ukwwx# bmM'a(Ou I@V0(`lD(˯ꯎ҅i+ Z )"HҽIVyւV v ;2f`3)#B5eVY_".'.Q6hl}9_p62k3a^0 "jtM]E#)D 2|Zݔ,%E({<ۢ4#ԽF)H<T4 @۬+U]Ђ�aB,A;]~r|Vխ[}եlT@m!z[By<x1Vx$􅶂N[ ^y`2i�m6* .{\_k|:!vM~?8 fseI?wCb՝ɣ9!}DZPvA :DK&Q>CqZS:;aҸ!S_Y02E^|e WI,B<7D PA8̚Nv!OB <Px4rYp�Qק>8ą^rЊU~<'L_,NhWejGo)!?2oFn&,2Eq7EnŠd_UD?/G?Ҏlf_bhS>U"dV7̈́+qM 'wf3=⮩^2HQ wЯRz=hɷ*K|2g,k#}\]`?0zn#ypu7!V,7ܿ�endstream endobj 480 0 obj << /Type /Page /Contents 481 0 R /Resources 479 0 R /MediaBox [0 0 595.276 841.89] /Parent 466 0 R >> endobj 482 0 obj << /D [480 0 R /XYZ 144.727 740.998 null] >> endobj 174 0 obj << /D [480 0 R /XYZ 144.727 657.696 null] >> endobj 178 0 obj << /D [480 0 R /XYZ 144.727 183.702 null] >> endobj 479 0 obj << /Font << /F81 192 0 R /F86 196 0 R /F91 202 0 R /F93 215 0 R >> /ProcSet [ /PDF /Text ] >> endobj 485 0 obj << /Length 2114 /Filter /FlateDecode >> stream x[[o6~ˀhXf hö< hNq2m)K-9v@X~B Xkӻw#(pɉ׉ &*CI8ᯗo;pƗŦdzߖϗGo.kZ" 4/%Ƙ:mKu_o.*"�JYl\Rnr 9G-ϔ:3)'*O$($l])l-8;h 2u!41 |rß|D&5�/AȰ(Ey qI פ8&]O&Yg? H)Ta8Z^cg@%K&�M&͐DS C)J<\'Fa +!�4TKfDXZ8$RG6C֛b򠲒aZ4�,TjCV� 8ZY|֋F5ozz<GmXKoV_? ;CJR%Sņ?6oX *)^6 'ִYConfɘ #/zC%PUPZk@CX j)<%K ݤ!l"MxQ1VƥIT s!-#pjDsިD[L#M0Bbi㧕6.FDЎ d*,E԰ VT! h* Tv)-JF5BDaɫd` v%nޟX#U]U:o *j!+ЩRP)D(e b]zE nz,"сx@~䞚Kp:db菘s# cH68%?%wqO AGKKC% 7rwۤ0ə&պ4FL^ߍKJ]/=x/yI!HIU"/|]- eh‘΁5nxny4 nFD OZeȩ4DӸ b{L҆ꠡ4t%&ŕܻn<]uX%>`wY=;οNpѳ $Dž%6]f7XV1(!vuS󛢵O h'0XPv&VepEBl`olޤ0rvf~ -'Z_*C_DZ0{c-;zݞ`qغb ɱD[Xzg]}]dy PTՠ)=D-jR\8Q} ^+/ Lk!XwFcFc5v2(^O'5'XOtuE*4lxvIYNlI? 5Nţ(8QFzGb.ָ MG)gjQR۪;₠Dž0^Zw_\>|qb^||՟J7&�V;9 .8)=_Ⱥǥ)7Jo%h_%DP54 90|+E`xDmwh$z*6 oՊrG|гԨV@NiS53,vM]6n ~bLU彎ѩN?H{ВtnOH@dTU% ,K¤D &fI�,_L7]dm: ~m1@fIMi]JjlyÆRӴ E޽XK "XRRxGXIZc0uobv52tӵn$ixgm1).fe({Þɲ*X33RS 7+ܿQ} O1LT +j9<憨H1 9=uYF@f$ƯB\ :ޅ.]ӢɦOG5i9p赘_Ҧؠ0A6(͗\ۤ+:~A0j.'pVKYXM+:څX %cD@b&3<p1D L͞tU;Aj|Y.6;J-m3>b9_}Мk2 qcyendstream endobj 484 0 obj << /Type /Page /Contents 485 0 R /Resources 483 0 R /MediaBox [0 0 595.276 841.89] /Parent 466 0 R /Annots [ 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R ] >> endobj 487 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 617.874 295.163 631.822] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 488 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 617.874 305.126 631.822] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 489 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 605.919 305.126 619.867] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 490 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 498.323 305.126 512.271] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 491 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 151.623 305.126 165.571] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 492 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 127.713 305.126 141.66] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 493 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 653.74 499.397 667.688] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 494 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 582.009 499.397 595.957] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 495 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 546.143 499.397 560.091] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 496 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 486.368 499.397 500.315] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 497 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 283.13 499.397 297.077] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 498 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 199.444 499.397 213.391] /Subtype /Link /A << /S /GoTo /D (page.41) >> >> endobj 499 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 151.623 499.397 165.571] /Subtype /Link /A << /S /GoTo /D (page.41) >> >> endobj 500 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 127.713 499.397 141.66] /Subtype /Link /A << /S /GoTo /D (page.41) >> >> endobj 486 0 obj << /D [484 0 R /XYZ 144.727 740.998 null] >> endobj 182 0 obj << /D [484 0 R /XYZ 144.727 680.241 null] >> endobj 483 0 obj << /Font << /F91 202 0 R /F86 196 0 R /F81 192 0 R >> /ProcSet [ /PDF /Text ] >> endobj 503 0 obj << /Length 2244 /Filter /FlateDecode >> stream x[KW߼$C=r1j#ӽ^l$?Ӗȏz|UE`!I\2V _O̠yrdfq )g4ߕk?G^~wl"˷dUy @$"ՒkBP)~./D�iΫ*LYyA5R<De_k@ +<x̼=YYӈI4,6FtGܬ[2A:& /fc8G$z;gd4IU*mxb6 #j30o=q I۵GvO$a׾G%J4:2s%`D$gc ӢB�k9G/3q/M Ѫ:VƍuZ+p! 9瀅~ <A�8)O zn7 Ξ[wO߰E/#&nd~LVϤ>?]/Y˗xj/Yc)rSTB8yo˘ h7? D DM:y胈$# /'a"T+JzZ a)WI0 7@c%~H(ʽGr/+;S{ rjdbA|t܇L a6e\ijZme ;[zkO*J¥IQcb*#1ffIr[_m"3Eoܰ,Q6äj%Hv-c yUvqdx`<^--8BÊ0.!nTDLiAy|Y4ݿQZE?/(=p'*R7̃<IJZ{DcԹQY\0$W(V%'zNVu,JhA9 LZ=y u1T>PJE[|!=� 8w Hq_Vsg*,=oHٕTSif 2)S-.记}N7es[UWZ+�鱆{&zXy4|xZ[uK7T]>L <:E$dy_eZ2 In_z]15AHLd=J=s9p19 ADE5<PH5lIH79hܤ },!dX5 >gݦ1B!m<i쯨ɍ%:ZB̒,R^c)sg}J~"]'YT,2 �"H0ɒaH!"*C.N_;^Gw WGz&o@ٹTf6a51hզM\W*7l$q7,q _/ -꣢ t{m%[ߍ_\2g(X9#൞zFERDKRlX*YeMbp:&%I;v(TCw 5Bwohƫؒ#m<Q b t|/U0H{ݔ5ٕ! nUC  ޝiގjtj^+ Q釿wuՓWǸFdm>P`rV\0>1W ԗm+ng)u}zcI wY$]oCw$J\!_Iՙ79w5ZQWp{ dG|W0m* (w[1܀k ;pW{f#I-h?#^.%z,Q� i�8̗ZPaM g2c~8xK�l@^벛6M3^b72(H"~k~dNiw>—Mi6;l^gqv"(V_I7n[3we`в&FU?1Ľִ$\9N^$^fby?P9] i<9EӸ Ov$[l^" >&p]ڦD"queK>" y:oThVd!vL>*Dv_C %"&tT#0K:bIx{. ?שo dnPlOqyDw&=P>endstream endobj 502 0 obj << /Type /Page /Contents 503 0 R /Resources 501 0 R /MediaBox [0 0 595.276 841.89] /Parent 526 0 R /Annots [ 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R 522 0 R 523 0 R 524 0 R 525 0 R ] >> endobj 505 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 677.636 305.126 691.583] /Subtype /Link /A << /S /GoTo /D (page.41) >> >> endobj 506 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 629.815 290.182 643.763] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 507 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 629.815 305.126 643.763] /Subtype /Link /A << /S /GoTo /D (page.41) >> >> endobj 508 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 593.95 305.126 607.897] /Subtype /Link /A << /S /GoTo /D (page.41) >> >> endobj 509 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 558.084 305.126 572.032] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 510 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 522.218 305.126 536.166] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 511 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 498.308 305.126 512.256] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 512 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 462.443 305.126 476.39] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 513 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 426.577 305.126 440.525] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 514 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 677.636 499.397 691.583] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 515 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 486.353 499.397 500.301] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 516 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 438.532 499.397 452.48] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 517 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 318.981 484.453 332.928] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 518 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 318.981 499.397 332.928] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 519 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 259.205 484.453 273.152] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 520 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 259.205 499.397 273.152] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 521 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 235.294 484.453 249.242] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 522 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 235.294 499.397 249.242] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 523 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 199.429 499.397 213.377] /Subtype /Link /A << /S /GoTo /D (page.49) >> >> endobj 524 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 127.698 484.453 141.646] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 525 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 127.698 499.397 141.646] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 504 0 obj << /D [502 0 R /XYZ 144.727 740.998 null] >> endobj 501 0 obj << /Font << /F86 196 0 R /F81 192 0 R >> /ProcSet [ /PDF /Text ] >> endobj 529 0 obj << /Length 2443 /Filter /FlateDecode >> stream x\ˏ_c> f8|fhC$-+?jkm%WZUahr80!fz%֚t@Ghpɉ˱;eݘ<>7FXGj~.&/y]/'|Z.֫o?!m~Dᯏ{}n^1h3lj!-E(GǖKިb)݌ԏ $H~tƌ*0PQLR 7{,%FB3/bE-uJ(-PHa`_ 5Iܔ&@%?elᑵPH[]<;P{~yߝF:=Y<{*\9PZpPW{t4mbڟg^NiW֪>Ӛ#QDdHP;l<.ɒKMq*t5]k O;Z7�A8:0Qp:]^+҇x�2N,f];v|Y{Ow/Ot$RHNŲ\\bʷ琇0>(o�iұA_vh ¡0nmv,4a\{5qhġq,ՁV{9}0Fo �E}!nBW$GRTTCM!K4hۑij.;lœۍѦjnlyF6'F_+TH;3DqBGڨ S!zԒyL$PCLU 4ֳٵInctokl'V/ �APZmb]2zkVKDU,!:7f 088Sm,G.% #mIdp4@)4[]XzJ@O(?4iR-N`?9z1RMoLm'׈k NC(0fߝ'vh aHJ#T[(31V 0sDZ&R?ևdSFД9\VQ^0SUBќtϬHq-_U1WO\ b HyG`|E(hY>:ðv{ׂ!<H/vH8z8 ylS Pڃx\Abmn.Lج6e,8E8FcɯvevÇsz 38)C*'II[x5?8DeeHַ"lL\G2PICAP61^2dDQ #f(?EVvX=OVIw;q+oxlƴl+g|vCWZ*Iեۉ2[)V֑ۦ:F6TR2≓}ͧ'qob VVXX9|Zf׫dep,< Ѩ<'s.㇠r._RE2J  =|VcIEؤDrlܴqx̀fg;4 '?*I˅U&4U Y3 b.Tɒ JJ1t N"! h+J3(%4̡0LGi5y{'}i'C={=b˹7+gm)+Wt V+OVTWwM{Y${<L&*߽# )[CGyjUNV1%@;՟ q dxHPݿ\/`TvoSwmwv"^:0ƥ<D}6]}Il`oM r]oTiJ|I0/!{j? /j 0*u4ՙ:`gr?#iOO;�m0WPd_ׂ3T,uG)aHx,:rF05T[Q.6E^whUNvS*[|~4r* `Ʈ# 6Y5x'IU  ꐫuk@=ML%9N>{ifIV}ڨ/tu9jͲjC򴺂T8.9z>`o'CJ ( TQԤOLwS$Mb|ںJMjW' ^x8ThIXoY1BMiN5}+MH^TwnUufܼ"Y9SʑBu>BMϰwz{]+C*/Tǐ~wqPx8*B"56JHƧn%f,$IHta8D࿪0?tH]mICOAFNlcYEJAbճP 6endstream endobj 528 0 obj << /Type /Page /Contents 529 0 R /Resources 527 0 R /MediaBox [0 0 595.276 841.89] /Parent 526 0 R /Annots [ 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R ] >> endobj 531 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 701.546 305.126 715.494] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 532 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 593.95 305.126 607.897] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 533 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 474.398 305.126 488.346] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 534 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 462.443 305.126 476.39] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 535 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 307.025 305.126 320.973] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 536 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 247.25 305.126 261.197] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 537 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 677.636 499.397 691.583] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 538 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 653.725 499.397 667.673] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 539 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 581.994 499.397 595.942] /Subtype /Link /A << /S /GoTo /D (page.43) >> >> endobj 540 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 486.353 484.453 500.301] /Subtype /Link /A << /S /GoTo /D (page.43) >> >> endobj 541 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 486.353 499.397 500.301] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 542 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 438.532 499.397 452.48] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 543 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 402.667 484.453 416.615] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 544 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 402.667 499.397 416.615] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 545 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 318.981 484.453 332.928] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 546 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 318.981 499.397 332.928] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 547 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 211.384 499.397 225.332] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 530 0 obj << /D [528 0 R /XYZ 144.727 740.998 null] >> endobj 527 0 obj << /Font << /F86 196 0 R /F81 192 0 R >> /ProcSet [ /PDF /Text ] >> endobj 550 0 obj << /Length 2236 /Filter /FlateDecode >> stream x[Ko6W 4,oނm9h{Plycı\YI=HeK{ג<fH?D3=Ղkt2/x 4pɉǑw([Zb>,[|i~ ܦp&&{|QC#U'1Nt)�R֏ CfszIq(^w#yH1{[+yCG[S p\Li+=/:1~Pl/ w5m򋟪Ds,]K5m�hZQ_<]bN]uX >} Ss:"6-Y|KgOI  {DX "+K/<妻DhEkGʈz]_}E<Wa͹% &Sic2?[}K@Ztq.&~#6kuI3*mEssml],%).Q'B'xe�EGlD6:YE<_N)1ᚅbE$8F_N+:l9*P(\.E clWſFuѓcySg$,Ż" Z4(CN8 N`qah#F%g<32N j)d* sX0nP5~,*]a+%̊PMX6_ZzťH)$J\YBXBr+q[ޏ!Ĕy~Hb^_]Ɍ$ÙModf#\"ͣKlKm%nP'2#f< 3˛Da ^!V>&IUCTFARe,k>XM0:ͰSuu; έWʲHG "+>1@z[[R h8 %,,z%h-,no蓷@0UU[ |1Ϩ8~5ŒIqtOKum`x\$ ԟY27J} v#?.Uwè҆R/\CCQC{$jM/ Ժ#} ļ4xRZ&jYt5v7EsgЁFDX y-%芩8pqQ=*8`}rmc(ktDS yi|VBD*:ia6+;Kͥ{܀e2c�M]\N%|Y�uKTPX̹{ǥZJdzN~MXudw֮rRZf�}(QTsUU.ي�0O�]|YE~TUhnzgwsHzJnxy&CAwV5bb*7Ff̹=g=V # &gp"R5e DZ^~lq%FU\?w}hs6( @9ǜ? Uƈ��z8QP;6xK"�ȞrOEIeOWE^\gKlNAӌpQ/e:w8VvPچ!e-^Kt*0W':Ί'۟ިG`}Ff@ki~ 0I7wzBxr[\zۍ4=V}HlT{;kMbG1FѬэjʖ*Jړ}c]=ޣ<!of4Ol8+ y|I|Q5]PQ'q~Zؔu-Pic`w[mhO4 1g"{NX" %:c=t'qň=Ev̞"ԕG>`EC?@EWu7l:8H4w%Zd%ft  |Qif./I"oYOޫȲyn1qveEZeu]z0@)OvWa_{Qo YdYΊH-9&~459<,3˷r[\+ֶ֮/|^ASWPznmD L?JNth$:"y{s`v3&endstream endobj 549 0 obj << /Type /Page /Contents 550 0 R /Resources 548 0 R /MediaBox [0 0 595.276 841.89] /Parent 526 0 R /Annots [ 552 0 R 553 0 R 554 0 R 555 0 R 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R 563 0 R 564 0 R 565 0 R 566 0 R 567 0 R 568 0 R ] >> endobj 552 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 617.86 305.126 631.808] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 553 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 581.994 305.126 595.942] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 554 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 546.129 305.126 560.077] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 555 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 426.577 290.182 440.525] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 556 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 426.577 305.126 440.525] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 557 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 390.712 305.126 404.659] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 558 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 330.936 290.182 344.884] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 559 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 330.936 305.126 344.884] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 560 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 295.07 305.126 309.018] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 561 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 271.16 305.126 285.108] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 562 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 151.608 305.126 165.556] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 563 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 546.129 499.397 560.077] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 564 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 462.443 499.397 476.39] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 565 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 426.577 499.397 440.525] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 566 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 390.712 484.453 404.659] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 567 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 390.712 499.397 404.659] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 568 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 307.025 499.397 320.973] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 551 0 obj << /D [549 0 R /XYZ 144.727 740.998 null] >> endobj 548 0 obj << /Font << /F86 196 0 R /F81 192 0 R >> /ProcSet [ /PDF /Text ] >> endobj 571 0 obj << /Length 2405 /Filter /FlateDecode >> stream xnv;@zq$ Ƣm!RtlCrf(C# yyÐ1?dL8G/#<~GGna!8'q)r?7-駛τEJ<[e<}o$2Z Ci<1 dO'l0 ;;Kޞgtք) BD@G+(vB7D`@Ra%M&N !E`),=<lHT_H.@#%-XlT%8,O$iZA&_d%'ᏏV�IS�?m0@<GE_ qR4BF}-~+1�ê?GݢП#?MC\3ԧ \ Zx |O$˒CDR  Ѭ%B4)_)\`j43W\Xz׸`\&im7ihAxG*([,Or/�OxP^܀d֧l/p !x[0rv eG|oWAtQmզUv:gI}8<?D8ݝU 3$oЫ( 4vCZY\F! g4! *fVIޫPrzw ݅&.Vu�4XDXeDa%b�T8*rq4,irѴ@`jTX$eN%PdBH+,]V0!6]r/ hz@p421F˅$G{F �!#]9iZ@e# }WI-?UZ 5sΉSW,#c!-OHS:=K;1.H >aK{xޖܽ.i:8`UiJg3{L_V暲3ʐ!X^~]W&.\Iʄgyɘ@hɼ(i_JWc{jR$?ZAH-u7?:|X7V32JÛ갧d0dP`dӪl4lUⰪ �kK4 w*eO$H!(wRޒ`Qa y1|HkU⒠ZVv8$L2ar&| B^+ZuF6tQs%vc)zSnF*0d<TI7j-zP\z;4![F8jL1yvU9bp 1^}Afi,@9RVK).~Ï_">�RMձ&ģHL(Atϡܸit^͓yo@W:y`�<Lϔ-QuϾ-5$~IXYrR3NӇ"Om"HO1x*)O4AҰXۦ㧯G\@!.�5zh3G&*nfJ!JvJ9#LhH>[ mK2='4{ʖKA5UxU}\7WzDw)MVi8n:G/&/$ AЉc]jQ 0={Q3雟˺&x)Sqn4JuJb nRf{1*3^]W$0̑K~O7JxPE.۹Orsʅ_|$-7O/4m[F 䒥=E�]P>f/9d5H2sN#w�{Ixq7<gHW չfú"L9Gݤ1S {Mzl~B% \4]>T&ax2r`' xF +i l}6t Tkk 䢓b-7grQY"Cb 2L0&m$ E5ROPMԸ K[n>8^C4&yƣ!.[K75UIشQ)vyvMxDDeDDdp>'/exЗJlV|9W`Q7|<^"i# o`d]H5EY)yV4Sv6,3)K@v$ET^ZG{p�,}CbsZ!<-SXVr)_VVKJQE-GEuC !V `b"L,Ʉ*xnϖA~/gw.wendstream endobj 570 0 obj << /Type /Page /Contents 571 0 R /Resources 569 0 R /MediaBox [0 0 595.276 841.89] /Parent 526 0 R /Annots [ 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 602 0 R 603 0 R 604 0 R 605 0 R ] >> endobj 573 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 641.77 305.126 655.718] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 574 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 605.905 305.126 619.852] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 575 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 522.218 305.126 536.166] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 576 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 378.756 290.182 392.704] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 577 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 378.756 305.126 392.704] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 578 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 342.891 305.126 356.839] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 579 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 307.025 305.126 320.973] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 580 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 283.115 305.126 297.063] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 581 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 235.294 305.126 249.242] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 582 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 127.698 305.126 141.646] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 583 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 665.681 489.435 679.628] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 584 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 665.681 499.397 679.628] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 585 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 550.114 499.397 564.062] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 586 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 502.293 499.397 516.241] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 587 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 478.383 454.565 492.331] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 588 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 478.383 469.509 492.331] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 589 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 478.383 484.453 492.331] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 590 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 478.383 499.397 492.331] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 591 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 382.742 499.397 396.689] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 592 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 370.786 499.397 384.734] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 593 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 358.831 499.397 372.779] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 594 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [445.101 334.921 452.075 348.869] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 595 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [455.064 334.921 467.019 348.869] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 596 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 334.921 481.963 348.869] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 597 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 334.921 496.907 348.869] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 598 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 325.148 389.808 335.339] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 599 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [392.797 325.148 404.752 335.339] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 600 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [407.741 325.148 419.696 335.339] /Subtype /Link /A << /S /GoTo /D (page.43) >> >> endobj 601 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [422.685 325.148 434.64 335.339] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 602 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 311.011 469.509 324.958] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 603 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 311.011 484.453 324.958] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 604 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 311.011 499.397 324.958] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 605 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 191.459 499.397 205.407] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 572 0 obj << /D [570 0 R /XYZ 144.727 740.998 null] >> endobj 569 0 obj << /Font << /F86 196 0 R /F81 192 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 608 0 obj << /Length 2333 /Filter /FlateDecode >> stream x[[F~W-MW~V+2l(JlKw7chfs\vnCԩs2L HQ5U#ct3|ÄT0TƑxh95H6}|>.0>ϲlGWǟYR?kbnqGRqG(|B3B!dE -mE"3g?ΐfJ'\n<ihMJ&)EB1)ô ')IHT>2m>z^%ߧ:JɇG8SD[ `[s?TDDz#:923an o :(J aYTOn(ߋIPC.fIch%rɲ Cbul +^2 `+z\˸(onZ_xQ`h`ڡvK5RNQpK̾!&@(O}P 1S~oxDO!F�(FHE!gDb+4s$%B`Gs@C܌(!u9ET %CB+)rVr89EOa9TJH갲{,~IK&ߏQ~^R py S4!Ꙇo^xGGgfAR.8s6 % )(7:'M{ 񨖒.Ξ@ D*k! PjyQ h#;uōef&MۃC(eKžO Opޟ&1υ 1f俓ˆ8//Ma0$W cQA{HJ! ]Z+7Oi'in56Z$2a8ɋZbJQ@oUܞ3¯0웮Q-Ȭ1IMtx iœA/9Z5Ē(ϣ@8E9dl6!W0yHo}$'%q\0xs(gO8�v8RBD`)CZ 쮯Xv8q/P$?tʄS!{R/4q< /Tڣՙ̳e4IpkOJ%1e`K4ᄐtvʐz8'.ZlY_4T%�D͙"rRRgl,V_D&m3W1 v@oDŽp[cõYDuZphULn҆aU9\@S=3e~ ]$N(/cQ9S9Ƭ$}12u+=]*yJ[^?4p=wMBg]v MaLAyݕ]<G85IۜXiZ&ut^3{l֊9Y= FBuSe*p[K#ZeJ%|g[YC tB E 5)J^ŧbe?"*ײ0뾈$wrns[(?J{r7O"&/ vC_x i<VEEC+=zL C,FY*}m,jBEۺ! 4:`nʄJ87XCA 2z !\(܇e;؄0ѽg?UeխR!u/6ck4|vy93jŰU*,tP5 1\7% 2;68L6ڴT83_J 硙nѦMq�I0C �F-wck䂱z'zX! BUv xn{-RD^'DȺ*^1r Պ\PZopE{]pR~UиǐM]J+:K�rqZ]:q6C7`!^2CGЙqc8@T6| Y)$˜UeT<5}.ƙC,ACV{7-8u%.=F1% fmq gtJN^%z#80|z GteȂnPc5Z#uY&Z_ D~&GoscY G!뾗U0SQV-e┆~ͅ{k//)))ZHRY= {T2(==%*mJ t/) UQjr[H ?RSQURF k}x>JkO\&Ep Rj?L4^sٜ1Qe{H 5@VAf Eч4yendstream endobj 607 0 obj << /Type /Page /Contents 608 0 R /Resources 606 0 R /MediaBox [0 0 595.276 841.89] /Parent 526 0 R /Annots [ 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 626 0 R 627 0 R 628 0 R 629 0 R 630 0 R 631 0 R 632 0 R 633 0 R 634 0 R 635 0 R 636 0 R 637 0 R ] >> endobj 610 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [245.848 629.815 257.803 643.763] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 611 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [260.792 629.815 272.747 643.763] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 612 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [275.736 629.815 287.691 643.763] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 613 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 629.815 302.635 643.763] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 614 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 621.307 195.537 630.233] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 615 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 593.95 305.126 607.897] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 616 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 524.211 305.126 538.159] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 617 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 488.346 305.126 502.293] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 618 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 476.39 305.126 490.338] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 619 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 416.615 290.182 430.562] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 620 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 416.615 305.126 430.562] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 621 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 392.704 305.126 406.652] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 622 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 368.794 305.126 382.742] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 623 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 311.011 305.126 324.958] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 624 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 227.324 305.126 241.272] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 625 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 191.459 305.126 205.407] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 626 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 155.593 302.635 169.541] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 627 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 147.085 195.537 156.012] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 628 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 665.681 499.397 679.628] /Subtype /Link /A << /S /GoTo /D (page.9) >> >> endobj 629 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 593.95 499.397 607.897] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 630 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 570.039 499.397 583.987] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 631 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 558.084 499.397 572.032] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 632 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 438.532 499.397 452.48] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 633 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 378.756 499.397 392.704] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 634 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 354.846 484.453 368.794] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 635 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 354.846 499.397 368.794] /Subtype /Link /A << /S /GoTo /D (page.49) >> >> endobj 636 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 235.294 484.453 249.242] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 637 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 235.294 499.397 249.242] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 609 0 obj << /D [607 0 R /XYZ 144.727 740.998 null] >> endobj 606 0 obj << /Font << /F86 196 0 R /F81 192 0 R /F91 202 0 R /F90 276 0 R >> /ProcSet [ /PDF /Text ] >> endobj 640 0 obj << /Length 2500 /Filter /FlateDecode >> stream x\Ks#7W3|j+T.$ԖU#KJK~%5[nJݶ<5an@�?(c#@4# XkF+:W?]!Q|y#('Vh$eg}{ݏ,JnGo\۟ѨI_gX)d"|YO[RTLɧ5~t%ERO3@,Q Ę0a= 4 (o$WiSLZ(QK[1i'M"#hYG ?ׂɀx ix 4o:<W?zh* -Z=US&ϒ6W 1 ғ[)tZ"UӼ ÄVr82;a!70V cϘmh6T -)VEꏿh=#b.~)<3x7SL*|XgQal(oDfH^6ۗE�QNtB8$aCbtbtU|=AHX VMa$JB0ppGJ&U5%Oɗqu`Ք/~yմU?Ùb^V93!eTaBp13v=P1}:8:jKDx M.w ޓ~g~ھ˦|b-㵥&1舘c >0QMy 2_ .fH6fzÐj/I,y9+k eA/Aq BKB]Я9pjBU銔b3):'ݐ6P.iFaE$v[֝p]fC`{ A`a%c<,+4%'JP� ?cmxe1w9Es4%h GL<&W;FQzN&_Y(#BұkCprMBkT䧜NQTs}dD!`0otŷ7Mo8)ćlR,4,AywPM? m*3.ԧ|1' DYqs C6ۗ~OD*~.7r%%L)]~z<[-neݧ\#n <9\H7i�HOB"L࠽b8h_w>3\^qdJդD1 ̪pԈ2_z�ABR]2ʎn82e`CAgmL; UվIg$H&ڈaHGRBʹs�^c"N8CWTcyx?R5pPنWl@EPݜ֩rPXNK8YNVY-rB%DR9GJVT1vSXTX'.K/!)4+s`)&J8S,J&xA͹a~jxlbO"ŋڔ*1R<SU}@h<#G QVegݶxqRl\6> tvg2<8Dpaԡvgq-Ψ6טԪC4nbt·O4*:^)x>B!n$U<#xV/%90?`\US_SLU{ÑK_l{(KZ _/`.NAt(|F(&e Ϸy+0فK&Z1A1ySQU�s xuՆ-;%0S))ϨHqU={VGxJIr/i&=K-܀XHKOWk)<02#Ʊ, XU@nW?m'b$&eTP]\ٻ3R$ڽ=?n^jұ+#+gi-{�:x9HU|xc4gv aD&wO${` W=1x2B2SEbWX0p)D5J_yMaϯ)dTM;51Uٳ';N)}EꯦX1LjwU{ M ۊFF-u}L}|=L-}rwo#YxBo@q9"\2*PeG}ǂ(Y jP.k<Xth ;&Qs6ߦeW0vU+oܺwauhc 2|Q!z5E,}b�E A nD_r-IH:9NGFM1{uK W' 7"糧,}bpWAE"!SOn35 }Kԗp kfC=;ԚC}޼Ԕ^P駮$9-ͧ]2_ 9 "q|_gr.ճɋd[ $, ~ OAhՖ,[ej-Xs0@_YW%*@7kCY \#$/5A[Y]h]ʪym S'endstream endobj 639 0 obj << /Type /Page /Contents 640 0 R /Resources 638 0 R /MediaBox [0 0 595.276 841.89] /Parent 526 0 R /Annots [ 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 671 0 R 672 0 R 673 0 R 674 0 R 675 0 R 676 0 R 677 0 R 678 0 R 679 0 R 680 0 R 681 0 R 682 0 R 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R 708 0 R ] >> endobj 642 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 641.77 305.126 655.718] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 643 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 546.129 290.182 560.077] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 644 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 546.129 305.126 560.077] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 645 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 522.218 295.163 536.166] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 646 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 522.218 305.126 536.166] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 647 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 510.263 305.126 524.211] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 648 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 498.308 305.126 512.256] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 649 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [205.997 462.443 212.971 476.39] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 650 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [215.96 462.443 227.915 476.39] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 651 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [230.904 462.443 242.859 476.39] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 652 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [245.848 462.443 257.803 476.39] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 653 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [260.792 462.443 272.747 476.39] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 654 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [275.736 462.443 287.691 476.39] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 655 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 462.443 302.635 476.39] /Subtype /Link /A << /S /GoTo /D (page.43) >> >> endobj 656 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 454.074 195.537 462.861] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 657 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 438.532 305.126 452.48] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 658 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 426.577 305.126 440.525] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 659 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [216.292 414.622 228.247 428.57] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 660 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [231.17 414.622 243.125 428.57] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 661 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [246.047 414.622 258.002 428.57] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 662 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [260.925 414.622 272.88 428.57] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 663 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [275.802 414.622 287.758 428.57] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 664 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 414.622 302.635 428.57] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 665 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 404.849 195.537 415.04] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 666 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [198.526 404.849 210.481 415.04] /Subtype /Link /A << /S /GoTo /D (page.49) >> >> endobj 667 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [213.469 404.849 225.425 415.04] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 668 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 390.712 305.126 404.659] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 669 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 378.756 275.238 392.704] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 670 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 378.756 290.182 392.704] /Subtype /Link /A << /S /GoTo /D (page.43) >> >> endobj 671 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 378.756 305.126 392.704] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 672 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 366.801 295.163 380.749] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 673 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 366.801 305.126 380.749] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 674 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 354.846 275.238 368.794] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 675 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 354.846 290.182 368.794] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 676 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 354.846 305.126 368.794] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 677 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 342.891 295.163 356.839] /Subtype /Link /A << /S /GoTo /D (page.1) >> >> endobj 678 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 342.891 305.126 356.839] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 679 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 330.936 305.126 344.884] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 680 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [283.208 318.981 290.182 332.928] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 681 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 318.981 305.126 332.928] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 682 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 249.242 305.126 263.19] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 683 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 213.377 305.126 227.324] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 684 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 153.601 305.126 167.549] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 685 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 665.681 499.397 679.628] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 686 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 510.263 499.397 524.211] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 687 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 450.487 499.397 464.435] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 688 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 318.981 469.509 332.928] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 689 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 318.981 484.453 332.928] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 690 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 318.981 499.397 332.928] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 691 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 307.025 484.453 320.973] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 692 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 307.025 499.397 320.973] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 693 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 295.07 499.397 309.018] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 694 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 283.115 484.453 297.063] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 695 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 283.115 499.397 297.063] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 696 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 271.16 499.397 285.108] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 697 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 259.205 484.453 273.152] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 698 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 259.205 499.397 273.152] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 699 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 247.25 484.453 261.197] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 700 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 247.25 499.397 261.197] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 701 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 235.294 484.453 249.242] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 702 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 235.294 499.397 249.242] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 703 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 223.339 469.509 237.287] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 704 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 223.339 484.453 237.287] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 705 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 223.339 499.397 237.287] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 706 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 211.384 499.397 225.332] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 707 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 187.474 484.453 201.421] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 708 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 187.474 499.397 201.421] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 641 0 obj << /D [639 0 R /XYZ 144.727 740.998 null] >> endobj 638 0 obj << /Font << /F91 202 0 R /F86 196 0 R /F81 192 0 R >> /ProcSet [ /PDF /Text ] >> endobj 711 0 obj << /Length 2424 /Filter /FlateDecode >> stream x\[o:~ϯcpx盱݃}<,pzXv*rV۴~ iˢl(вL|f8C& 0$0ZMndi>x#S$$3cχS BCk4L4҂Nգ?o?u~4��iΫ>e&kޙJ$ M)ǣ#%Mw)bL1)7's7Qw3<�Cnj>:p$Ĵ"%y<˿w!ɉD;`G#0B'A@g2JŨyblFqF܍p =%> I;؍ N$ە{ro/GڽP3Dھ]cF)T;))T3Ƣ+%Qd=K)5[,8B<R/~1|mӧ8-=CvJ;5?ϖo#pAg;s {*<H!=+0Wq 49V iXW1nx_f^,qT<3Ƙ$qkH;yEh$#j]e�ZeL!}kkؔIyţU_^`a)FK8N bS:\Y(s}H<s?H@L;|<�&U h4&"YGŻZjeS.�L".X68(.YT`}o{@[07 a\(Hh(ik 3!ʓ,;1G E^}ء ̐)8 #S5^$DIG֑a9X/Fv -QZCOQ/BU$*ImQ[a_a6m]ap#FSuhUة7r3y�J܈uZ3W{5oML)n:E=HAk `>%\8ϊhمMGjtGhB9J[!Yzvu WݤT^8_4�L %䠂[8:l~)FoKC2p˪kNdo9B)bCXpndC*$\"ڽ@m ʍ=R"@bMh$<lѻtFʻ-~4 a`,bo<E/cE) DR3{DFMsU9Du'q-m>%&PY'.͛}kᎀ#%xAh.?(�.Xi2 oq%"`v{'v%Q᫚hCXwc4yP3]qB]6zangZlPPT ;ǎYg\ EDVBV2r:2<ϞӅ yA l6j{߷{0Q6F-o|SSy֣ymgAӛdE^|Iz%Y6EO5;5wE>I �ٞivVr` %h%1ՠP$*-_W~%nvJ"Юou.6YŘ>j:rsbQ1#-}wH=B(fN^!cdMeYtM/Bj-}$GX_x%!cǖ)fqں_Ԉnȩl]{W$Y Q~<~YmА |: >fsvH^㮿ݨ3twJ&:v +}%n6G,^EޔQt|b* OjhYpdh~JRi#%X`ct}Wl7W.ܔĠmRZt툟nQZq/@zp%ktXKW,^2 ŮR䷏Q,#ⷤ+"5u8 jH_f/>324-8e3T ףrwD[6Oss ׳nCq%FyW4c両NE+JX7Y:^P$=7iE ?dKoiZw%R* 8re߹ KCj$�qRUJb2Rim*.=h7׉W_;GS@Ewܖ#wj t/`ۃl`tlekC9�cE<RX¾-g(}x\g=]D++At>N``)28j!@- 튑QV9s/1V(1OQ$=Qg {7u𧓗,Ͻǎ2Wr#P/ij$)�L\ŤUJU5\endstream endobj 710 0 obj << /Type /Page /Contents 711 0 R /Resources 709 0 R /MediaBox [0 0 595.276 841.89] /Parent 763 0 R /Annots [ 713 0 R 714 0 R 715 0 R 716 0 R 717 0 R 718 0 R 719 0 R 720 0 R 721 0 R 722 0 R 723 0 R 724 0 R 725 0 R 726 0 R 727 0 R 728 0 R 729 0 R 730 0 R 731 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R 737 0 R 738 0 R 739 0 R 740 0 R 741 0 R 742 0 R 743 0 R 744 0 R 745 0 R 746 0 R 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 762 0 R ] >> endobj 713 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 593.95 305.126 607.897] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 714 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 581.994 290.182 595.942] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 715 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 581.994 305.126 595.942] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 716 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 570.039 305.126 583.987] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 717 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 546.129 295.163 560.077] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 718 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 546.129 305.126 560.077] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 719 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 534.174 305.126 548.121] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 720 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 522.218 295.163 536.166] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 721 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 522.218 305.126 536.166] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 722 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 510.263 305.126 524.211] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 723 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 498.308 295.163 512.256] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 724 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 498.308 305.126 512.256] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 725 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 486.353 305.126 500.301] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 726 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [273.245 474.398 280.219 488.346] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 727 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [283.208 474.398 290.182 488.346] /Subtype /Link /A << /S /GoTo /D (page.9) >> >> endobj 728 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 474.398 305.126 488.346] /Subtype /Link /A << /S /GoTo /D (page.53) >> >> endobj 729 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 462.443 305.126 476.39] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 730 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 450.487 305.126 464.435] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 731 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 438.532 295.163 452.48] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 732 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 438.532 305.126 452.48] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 733 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 426.577 305.126 440.525] /Subtype /Link /A << /S /GoTo /D (page.1) >> >> endobj 734 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 414.622 285.2 428.57] /Subtype /Link /A << /S /GoTo /D (page.1) >> >> endobj 735 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 414.622 295.163 428.57] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 736 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 414.622 305.126 428.57] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 737 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 402.667 305.126 416.615] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 738 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 390.712 305.126 404.659] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 739 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 378.756 305.126 392.704] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 740 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 342.891 305.126 356.839] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 741 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 330.936 305.126 344.884] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 742 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 307.025 305.126 320.973] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 743 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 283.115 290.182 297.063] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 744 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 283.115 305.126 297.063] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 745 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 199.429 290.182 213.377] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 746 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 199.429 305.126 213.377] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 747 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 163.563 305.126 177.511] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 748 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 665.681 499.397 679.628] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 749 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 490.338 499.397 504.286] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 750 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 442.517 484.453 456.465] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 751 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 442.517 499.397 456.465] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 752 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 418.607 499.397 432.555] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 753 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 394.697 499.397 408.644] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 754 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 382.742 499.397 396.689] /Subtype /Link /A << /S /GoTo /D (page.41) >> >> endobj 755 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 334.921 499.397 348.869] /Subtype /Link /A << /S /GoTo /D (page.41) >> >> endobj 756 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 299.055 499.397 313.003] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 757 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 287.1 499.397 301.048] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 758 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 227.324 499.397 241.272] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 759 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 203.414 499.397 217.362] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 760 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 179.504 499.397 193.451] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 761 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 155.593 499.397 169.541] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 762 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 131.683 499.397 145.631] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 712 0 obj << /D [710 0 R /XYZ 144.727 740.998 null] >> endobj 709 0 obj << /Font << /F91 202 0 R /F86 196 0 R /F81 192 0 R >> /ProcSet [ /PDF /Text ] >> endobj 766 0 obj << /Length 2249 /Filter /FlateDecode >> stream x\r8+L"4.ةjk2/* Zm)RCҎ)HYT,Xpp^%` !IR2VnP>B9EB2;v|>]Q3[/%iAww/�ʞM셛(g 4J裝]eϻ10H7co?ء㉊GRn�iOJ%HlQ ch3aqE6$DXo:2CZ]�B*U9BC#2a @`s��8 W{o=nd;t+2.W#0#'Zp!lZl1K$cM\+ k5b$}C)?�p@ph\]  nlZBpY]){tK?0.X!̾M P%z(crٵ$vQ9 εE9E{vIqm rr=''f8b2\+W2E\6 I]A$` �g:",IeXJW-V}6[&~x:-ɻ zfv{c9:HǸ]̫ nm[s_} vx|1b$eb-V�㵡p,]2%< ͙9&ِ7CY .&GsV?jYCQVUөFCתv;Ԝg`c$H%R!y%0; WֵҖhR>0V�P' <Y;\hwybC?]Wm(rP` :]h]N؋ԝp+Tf_˭->/0ւf囝M/w `Hg⿋_[R,LL8 LtN(]oehf}Y.1iVh82kFB V@3F(w25d8o07l!;4<tC(1Ɠ/L_d)IQ~o a)c!l~H(J(5G[8r˶.nYC'eʧ@�[۴: H[#6jKC}CmavoZN&bajX@3J�ɣ!)Ƥ-cD/ A"yK!PW` Y W9GA_3ARa} u$mFN>Z`DD 8#`aSI^/ beo2vd8kzg*Lv[<[ }lզR6f1ݪ٘}Зnq _Ѡ;mǂD=5:1ԏ;^z;!<I^l�Flt)%Sœ-^mkwuKoeECLLB%7ɵq*.(D\/ޝ!_Ңꙩj UMݰ4.utu (GHp6=] vP{�dtK<;/~I_dJfA}9nn{:Ua}Vֆ-o@%IOHu2Ɉ3qy~%:QRn&84 NnA{ LL\Q*.]ir)ChC3uQwQ@+zk1ji՘u8 w΂0ET\W*H�PSU *OʏN\b.!"(ٙaQ.'G|0=˺=ΐ l7˛P'*'qߦO齃Tvt[s]&uLRׁmIh"l\bJHmE -o"D'uyIhR92ڊh}-c&PuIB6Io ;Ի\"Jx7%Wכn /lԛ'#oMMδeOb|>_.( y7GNe^_R2k\ 'n5s V_- N%}_65찦TٻB7-84R%0aN,AhJNL/2-GPrqc^8h~r2%v9a= Q+ 55N^/t. ŎQ{.4 %ˊAe=uP/endstream endobj 765 0 obj << /Type /Page /Contents 766 0 R /Resources 764 0 R /MediaBox [0 0 595.276 841.89] /Parent 763 0 R /Annots [ 768 0 R 769 0 R 770 0 R 771 0 R 772 0 R 773 0 R 774 0 R 775 0 R 776 0 R 777 0 R 778 0 R 779 0 R 780 0 R 781 0 R 782 0 R 783 0 R 784 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R 798 0 R 799 0 R 800 0 R 801 0 R 802 0 R 803 0 R 804 0 R ] >> endobj 768 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 701.546 305.126 715.494] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 769 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [260.792 689.591 272.747 703.539] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 770 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [275.736 689.591 287.691 703.539] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 771 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 689.591 302.635 703.539] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 772 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 679.818 195.537 690.009] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 773 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [198.526 679.818 210.481 690.009] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 774 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [213.469 679.818 225.425 690.009] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 775 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [228.413 679.818 240.369 690.009] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 776 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [243.357 679.818 255.313 690.009] /Subtype /Link /A << /S /GoTo /D (page.49) >> >> endobj 777 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [258.301 679.818 270.257 690.009] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 778 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [239.621 653.725 251.577 667.673] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 779 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 619.852 305.126 633.8] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 780 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 595.942 305.126 609.89] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 781 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 213.377 305.126 227.324] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 782 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 153.601 305.126 167.549] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 783 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 576.017 499.397 589.964] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 784 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 564.062 499.397 578.009] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 785 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 384.734 499.397 398.682] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 786 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 360.824 499.397 374.771] /Subtype /Link /A << /S /GoTo /D (page.51) >> >> endobj 787 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 348.869 499.397 362.816] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 788 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 277.138 499.397 291.085] /Subtype /Link /A << /S /GoTo /D (page.53) >> >> endobj 789 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 241.272 469.509 255.22] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 790 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 241.272 484.453 255.22] /Subtype /Link /A << /S /GoTo /D (page.43) >> >> endobj 791 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 241.272 499.397 255.22] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 792 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 229.317 484.453 243.265] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 793 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 229.317 499.397 243.265] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 794 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 217.362 499.397 231.309] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 795 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 169.541 499.397 183.489] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 796 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 157.586 499.397 171.534] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 797 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 145.631 489.435 159.578] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 798 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 145.631 499.397 159.578] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 799 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 133.676 469.509 147.623] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 800 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 133.676 484.453 147.623] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 801 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 133.676 499.397 147.623] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 802 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [467.517 121.72 474.491 135.668] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 803 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 121.72 484.453 135.668] /Subtype /Link /A << /S /GoTo /D (page.9) >> >> endobj 804 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 121.72 499.397 135.668] /Subtype /Link /A << /S /GoTo /D (page.53) >> >> endobj 767 0 obj << /D [765 0 R /XYZ 144.727 740.998 null] >> endobj 764 0 obj << /Font << /F86 196 0 R /F81 192 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 807 0 obj << /Length 2290 /Filter /FlateDecode >> stream x\KoFWhq@`7`' -,PԌ'~҃MHLTw3$s</3o~)]u2|}O%iA7aςO�><�DPʧVr5Qv{Gw N+yna7V㾦rĸȵ_X ro^qgk"y5b 4]$V%EL!_\GtDˇ.E> CJN Dȫ5^!bfcnZ _n˾-sQ@BdZL,&t8zwZP`d x,�Uͫv,H w .E[2ugQ<gM`źϜ1f+Шxz[q% -{a$)97_?<Dy@ԲaP5c8u#<Dě&LdKq(%0G,vV`*첖 Zq2jꔮ е؂ h`ՒXRӠ]r.�Lk"[Ev(c'ڔq ˜ҧ&T"'݊.4<]sA(6HU&�湔[nP zl9N` K"Ήhv;|Ht]|,Jk kDA49 0WD̻qTW{UʑêxaUVKTxqJF`FG,'f)AǽF= rQRGP:0\ 3h/\ Vͦϟ1Z8;5?;Jw^ky䒹CRf<|VFBA=U_I|zUF; :VUlA>gY 4lkf2ky+"㰿"Z 5,%e�^X8yqohÁ3aV E:@ETHmt"AڵqVw%~4dug(qDRiUǝ;,>|]̓x " 1}B;~sȖ K$Ga?]6^<1wq-%Qd<yr')F׶T8^{WI|m1ǫ{8]TP5hQu;Eec<H9Ux |<joMŔlhǺ 2ˍ&غAܗ4h:JF .ѕ "BV�OCБ�_]D A 㰧=r].euI =\b%t J(%k ,R l|D("3UW%WJp�1'表t뇻/3EԼ1oLjpW4P6  *{j-;̂5℩@NXD$ N]C5e^VRAD/Ǎy#e"l" t&3e:=FPֱ)75WLDX`9>ʼn}[!1E;0VNFk*Qĕ|S$*sUqN*_\\b@da6C9R'慭[ηz&ʲ&δRPhOݴEi!V3%i9A=ڥR-0bK�&,(ª>W5 Tث/N S<c9VUTyIZ(l&M$z'V- ެ UhU$`k,N3:<Uxz&$4V��sZۉ*2Q1{xƏx[}Ӵ`/S΍W()nS٣:CEq _M@{G5}wk)| ҃ p]|ek[|v7�/(Ņ}lhX|պ̾ |;FTKF/}EPn[<-F 9qAk<j<JhsN b4 0CCB .Hp90JDIAlgz6B*mWEmS\Q7)^ހ"-z(U]qܣ0NI{(9AԞ]Fw7S1w}߳:l˵(:hq: hUêC^9qN/j q:�Ǜ8S`ƶqY=](UZ.jbU)R ~xk SĐ"K$j/V;NѸ=endstream endobj 806 0 obj << /Type /Page /Contents 807 0 R /Resources 805 0 R /MediaBox [0 0 595.276 841.89] /Parent 763 0 R /Annots [ 809 0 R 810 0 R 811 0 R 812 0 R 813 0 R 814 0 R 815 0 R 816 0 R 817 0 R 818 0 R 819 0 R 820 0 R 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R ] >> endobj 809 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 701.546 295.163 715.494] /Subtype /Link /A << /S /GoTo /D (page.1) >> >> endobj 810 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 701.546 305.126 715.494] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 811 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 689.591 305.126 703.539] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 812 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 677.636 305.126 691.583] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 813 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 665.681 295.163 679.628] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 814 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 665.681 305.126 679.628] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 815 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 653.725 305.126 667.673] /Subtype /Link /A << /S /GoTo /D (page.1) >> >> endobj 816 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 641.77 285.2 655.718] /Subtype /Link /A << /S /GoTo /D (page.1) >> >> endobj 817 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 641.77 295.163 655.718] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 818 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 641.77 305.126 655.718] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 819 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 629.815 305.126 643.763] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 820 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 595.942 305.126 609.89] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 821 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 560.077 305.126 574.024] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 822 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 536.166 290.182 550.114] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 823 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 536.166 305.126 550.114] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 824 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 512.256 305.126 526.204] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 825 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 464.435 290.182 478.383] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 826 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 464.435 305.126 478.383] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 827 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 452.48 305.126 466.428] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 828 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 404.659 305.126 418.607] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 829 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 251.235 305.126 265.182] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 830 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 203.414 305.126 217.362] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 831 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 191.459 305.126 205.407] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 832 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 677.636 499.397 691.583] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 833 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 490.338 499.397 504.286] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 834 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 442.517 499.397 456.465] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 835 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 382.742 499.397 396.689] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 836 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 370.786 499.397 384.734] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 837 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [436.384 311.011 443.357 324.958] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 838 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 299.055 499.397 313.003] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 839 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 275.145 499.397 289.093] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 840 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 215.369 499.397 229.317] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 841 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 191.459 499.397 205.407] /Subtype /Link /A << /S /GoTo /D (page.24) >> >> endobj 842 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 167.549 499.397 181.496] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 808 0 obj << /D [806 0 R /XYZ 144.727 740.998 null] >> endobj 805 0 obj << /Font << /F86 196 0 R /F81 192 0 R /F91 202 0 R /F90 276 0 R >> /ProcSet [ /PDF /Text ] >> endobj 845 0 obj << /Length 2339 /Filter /FlateDecode >> stream x\Ko8W:\߼ 0b+ж{I=lJrŢ6ۖȪbU& Xk&<O]A(-p bu5*> Xol2Y?};> ͳ@ڪϟn821 KSjr@iponp#@l0%Ia% *,ca8AE1$_KI&yxHhs9Z.vm ,ȄD}y([V ӅGzU݂6cLD8'Q\6RK%My^bD?<zVEiKj;l42`#`h.8FFz =jTaueADqwl&%<㖝2[$t+1HzlquLFz6j"Lۤllc%6[oڭKD-nS:&8EYs U9bOv.5Б[LUћw~x(b-k)P-MnˍPʹ[2`4D=сXmnpA9_c36Y!)  xbL;{OTAd'Z|JFLHi-y,L'%c1m~F̨14qcEA  <!_7̑߯(N,�QWړ8[1PB.K:ITջə%ҞB o(a.Y[0L%Ņxi `t,%MwYM/"&7V=&/JY嫶$R:éqC 5Pzo |nzOfL6y`vuLu-#;Iھ&mws&߶ b\@6I(I�Ug2} 1X(}Z<Y 2"&.(U$?ozKaj;S>lQx8:͋Ț K^R*${ssYgo,9aDn^?V) £1ȶEGӶnȃJ)L4ۑ@=\sδu)> a}Dc9@͚hLi(E%RӋ,>sT_71H[9ӋuE>g˩<vvhЪ`P&D� ߬MMbi$1c$tm>"jGy\&A.*b0S'fYW$<z/b1L 2َ9]l(`0ꠣc&MxY�H!lw~8UaQNYK,QJua\/B{Mh:3a0׋X&][n<ʥt@nTk'QUN_^6ܝA )dxAڏQR"<!%ӧ:S?(1W/vo{vMza0)ZYjgj}ҾY( pD4Q֮D[ `Wή$:\BL3pu7= Q0~ݰֲ[<ZCi2 E5ZGGxDOsnoϟb8ē;h&`\tpC M.Gō' ]ՑeblIګ;ԍ_FY">ĊAm6%Mu <oݭ)c}MI+s. ,TVEہ# &wxGu=2<¤kQ:}[i~w{#14(Aud2IS :QfM;BBKT 80ak ւ ѾF3l=^ XtEZ>hYv} cd,yǖGԞwPv}ݢhѸYuFEW+nT~9o.-h,ٵ^\bR޳QLäE]JF;H14՘hЀH�ܫ=.EG[<1r[:VM8u?|kD4fM=g)LɋN,{1:+41 ЀOg;ʇO^7n,1=2t.v˙Q(L1P�4z'KJV"[{vwO8*`Edm s{gHDm~A .X?k,,/wZ Ependstream endobj 844 0 obj << /Type /Page /Contents 845 0 R /Resources 843 0 R /MediaBox [0 0 595.276 841.89] /Parent 763 0 R /Annots [ 847 0 R 848 0 R 849 0 R 850 0 R 851 0 R 852 0 R 853 0 R 854 0 R 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 863 0 R 864 0 R 865 0 R 866 0 R 867 0 R 868 0 R 869 0 R 870 0 R 871 0 R 872 0 R 873 0 R 874 0 R 875 0 R 876 0 R ] >> endobj 847 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 643.763 305.126 657.71] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 848 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 631.808 305.126 645.755] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 849 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 619.852 305.126 633.8] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 850 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 607.897 305.126 621.845] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 851 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 595.942 290.182 609.89] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 852 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 595.942 305.126 609.89] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 853 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 583.987 305.126 597.935] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 854 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 454.473 305.126 468.42] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 855 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 418.607 305.126 432.555] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 856 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 394.697 305.126 408.644] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 857 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 358.831 305.126 372.779] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 858 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 322.966 305.126 336.913] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 859 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 299.055 305.126 313.003] /Subtype /Link /A << /S /GoTo /D (page.41) >> >> endobj 860 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 251.235 305.126 265.182] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 861 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 227.324 305.126 241.272] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 862 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 155.593 305.126 169.541] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 863 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 677.636 499.397 691.583] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 864 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 653.725 499.397 667.673] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 865 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 546.129 499.397 560.077] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 866 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 450.487 484.453 464.435] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 867 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 450.487 499.397 464.435] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 868 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 426.577 484.453 440.525] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 869 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 426.577 499.397 440.525] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 870 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 368.794 499.397 382.742] /Subtype /Link /A << /S /GoTo /D (page.41) >> >> endobj 871 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 249.242 499.397 263.19] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 872 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 189.466 499.397 203.414] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 873 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 177.511 469.509 191.459] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 874 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 177.511 484.453 191.459] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 875 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 177.511 499.397 191.459] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 876 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 117.735 499.397 131.683] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 846 0 obj << /D [844 0 R /XYZ 144.727 740.998 null] >> endobj 843 0 obj << /Font << /F86 196 0 R /F81 192 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 879 0 obj << /Length 2170 /Filter /FlateDecode >> stream x\K6+8V(juRjoI&! j;G~K`rmYHV`0Ɛ$r*FZ|=g TS(HHfƎʐ:j>>S~ (,>́fӈ ^MDͺ:$�~=� y�oE=sep2@m;@_(-RZ e "du`}@&f(CA>LA DTd3Qz!T#A0gdh-5bBzahGE J@T@E&K" )gju 爳s\_(HdΤ^C </4 {*(H#- Dp"y2kiv^Har(J g5G؍tk乚O^9pCs=ݘGZEΜV\e gh]M8Bϐ7q\ S!C 9J$)ͱ3o<]s|`Dvo9mh=]O~j«&N~n*?مu@ CsHᔞU-ᛔFBH!M*|of:YðYR!(uq1WPkJ�ZTk$ı%9Y͢SdMK;چi.0b)09(dhIR&JD%:*K1t|u0Ƣ;NlYk? "_p8V'Eo2 =񒖈P3:UKi;R ERNٵzdsYf|0Er:CX/]9&jxMbE6LQg6\dzul׽y]] =.Wػg<'A"F3pyۃG/: _8�8}@=]M[Vqe*|4\0=*�7@9 77 T"#sZw@е_SW@㷫 av$NjQVWIka ܎䀪Hx)!GI'Z/bK|V>S `}9y9EtӻiG%lWyd ixC~;iCm=$6˧"`\9"m t@܀[nժfH(oML{1pfa\.8e*JK^h[�kIPR(hq(Er<`Ģ 57HBg08&AB|Cy /w*7RU/UsT~ x҂a=u *.]ʐS#ծ3B-ϝi%%=[({4 T Ps̞VQgu-ĄlADuVİ]6"eԡ'㺼O�L g'P'M ["(QEgiEwɋD@ b5~>͑۵4ۤgҕ6hcbHʲJ;V͕ݺv%zEoj@42] <ML8&p+Ǐ+nj kֲh'v vQ_?]͌Q5^y8/ OU}jSfHwr`?$�PP y3긽hJ mϰm7gar�נ8vTӇS~L.۩@P8yf\y͞e,h@@A6YF uPƻ^ 4̭ˡ*/ R.TǪcU0�k[0x*:7YiH;'Q)\J<DkE^4^�(ֽre~{sIs9y^�pӌf|}fԨ\'p2[T[JAoYTQFڥšjT #3.n }/"⭔lEwSYD¦H@n-aK{T}Dz�SӜKWJz{=yq?qV'|;@g'y @1څR:GԯLk~)}w.>yȫ]6t\lkn?g0endstream endobj 878 0 obj << /Type /Page /Contents 879 0 R /Resources 877 0 R /MediaBox [0 0 595.276 841.89] /Parent 763 0 R /Annots [ 881 0 R 882 0 R 883 0 R 884 0 R 885 0 R 886 0 R 887 0 R 888 0 R 889 0 R 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R ] >> endobj 881 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 581.994 305.126 595.942] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 882 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 546.129 305.126 560.077] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 883 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 510.263 305.126 524.211] /Subtype /Link /A << /S /GoTo /D (page.51) >> >> endobj 884 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 486.353 305.126 500.301] /Subtype /Link /A << /S /GoTo /D (page.51) >> >> endobj 885 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 462.443 305.126 476.39] /Subtype /Link /A << /S /GoTo /D (page.51) >> >> endobj 886 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 438.532 305.126 452.48] /Subtype /Link /A << /S /GoTo /D (page.51) >> >> endobj 887 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 283.115 305.126 297.063] /Subtype /Link /A << /S /GoTo /D (page.51) >> >> endobj 888 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 271.16 305.126 285.108] /Subtype /Link /A << /S /GoTo /D (page.51) >> >> endobj 889 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 223.339 305.126 237.287] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 890 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 175.519 305.126 189.466] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 891 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 139.653 305.126 153.601] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 892 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 115.743 305.126 129.69] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 893 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 653.725 499.397 667.673] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 894 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 605.905 499.397 619.852] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 895 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 498.308 499.397 512.256] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 896 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 344.884 499.397 358.831] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 897 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 287.1 499.397 301.048] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 898 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 215.369 499.397 229.317] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 899 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 145.631 469.509 159.578] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 900 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 145.631 484.453 159.578] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 901 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 145.631 499.397 159.578] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 902 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 121.72 499.397 135.668] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 880 0 obj << /D [878 0 R /XYZ 144.727 740.998 null] >> endobj 877 0 obj << /Font << /F86 196 0 R /F81 192 0 R /F91 202 0 R >> /ProcSet [ /PDF /Text ] >> endobj 905 0 obj << /Length 571 /Filter /FlateDecode >> stream xڵUMo0 W�5'JD -umEK[t(N;aAL=~s=D p>e&Qi A^rm-Rc79\>/Eq?/&U<_?N'wUjp`܀8pO7%D*Bp'AT{> jF$/su<?+4̀SϺ7",C}zf_Or_ǐ{h3cpe4l`li)ؼj5ԐlmPQF D&?GոVКTCke6tZhq'9LmOOiV=nEŢz&-,Sb}?VHI= ئ | #7NSvOaUICI֝tAi%fo \vذ9Nw-wKI}>o(FU-M*t(_ZQzzrRƇ>ExuL;.ɧC`Sv+7Uc@'nD*AGGjk[ΟFJlHUh� cendstream endobj 904 0 obj << /Type /Page /Contents 905 0 R /Resources 903 0 R /MediaBox [0 0 595.276 841.89] /Parent 763 0 R /Annots [ 907 0 R 908 0 R ] >> endobj 907 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 621.845 305.126 635.793] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 908 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 587.972 305.126 601.92] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 906 0 obj << /D [904 0 R /XYZ 144.727 740.998 null] >> endobj 903 0 obj << /Font << /F86 196 0 R /F81 192 0 R /F91 202 0 R /F90 276 0 R >> /ProcSet [ /PDF /Text ] >> endobj 909 0 obj << /Type /Encoding /Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl 22/.notdef 30/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 141/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 157/.notdef 159/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] >> endobj 287 0 obj << /Type /Font /Subtype /Type1 /Encoding 909 0 R /BaseFont /Courier-Oblique >> endobj 276 0 obj << /Type /Font /Subtype /Type1 /Encoding 909 0 R /BaseFont /Times-Italic >> endobj 215 0 obj << /Type /Font /Subtype /Type1 /Encoding 909 0 R /BaseFont /Courier-Bold >> endobj 202 0 obj << /Type /Font /Subtype /Type1 /Encoding 909 0 R /BaseFont /Times-Bold >> endobj 196 0 obj << /Type /Font /Subtype /Type1 /Encoding 909 0 R /BaseFont /Courier >> endobj 194 0 obj << /Type /Font /Subtype /Type1 /BaseFont /Symbol >> endobj 192 0 obj << /Type /Font /Subtype /Type1 /Encoding 909 0 R /BaseFont /Times-Roman >> endobj 221 0 obj << /Type /Pages /Count 6 /Parent 910 0 R /Kids [186 0 R 223 0 R 258 0 R 264 0 R 268 0 R 272 0 R] >> endobj 281 0 obj << /Type /Pages /Count 6 /Parent 910 0 R /Kids [278 0 R 283 0 R 289 0 R 293 0 R 297 0 R 301 0 R] >> endobj 308 0 obj << /Type /Pages /Count 6 /Parent 910 0 R /Kids [305 0 R 310 0 R 314 0 R 318 0 R 322 0 R 326 0 R] >> endobj 337 0 obj << /Type /Pages /Count 6 /Parent 910 0 R /Kids [330 0 R 339 0 R 347 0 R 351 0 R 355 0 R 359 0 R] >> endobj 366 0 obj << /Type /Pages /Count 6 /Parent 910 0 R /Kids [363 0 R 368 0 R 372 0 R 376 0 R 380 0 R 384 0 R] >> endobj 391 0 obj << /Type /Pages /Count 6 /Parent 910 0 R /Kids [388 0 R 393 0 R 397 0 R 401 0 R 405 0 R 409 0 R] >> endobj 416 0 obj << /Type /Pages /Count 6 /Parent 911 0 R /Kids [413 0 R 418 0 R 422 0 R 426 0 R 430 0 R 434 0 R] >> endobj 441 0 obj << /Type /Pages /Count 6 /Parent 911 0 R /Kids [438 0 R 443 0 R 447 0 R 451 0 R 455 0 R 459 0 R] >> endobj 466 0 obj << /Type /Pages /Count 6 /Parent 911 0 R /Kids [463 0 R 468 0 R 472 0 R 476 0 R 480 0 R 484 0 R] >> endobj 526 0 obj << /Type /Pages /Count 6 /Parent 911 0 R /Kids [502 0 R 528 0 R 549 0 R 570 0 R 607 0 R 639 0 R] >> endobj 763 0 obj << /Type /Pages /Count 6 /Parent 911 0 R /Kids [710 0 R 765 0 R 806 0 R 844 0 R 878 0 R 904 0 R] >> endobj 910 0 obj << /Type /Pages /Count 36 /Parent 912 0 R /Kids [221 0 R 281 0 R 308 0 R 337 0 R 366 0 R 391 0 R] >> endobj 911 0 obj << /Type /Pages /Count 30 /Parent 912 0 R /Kids [416 0 R 441 0 R 466 0 R 526 0 R 763 0 R] >> endobj 912 0 obj << /Type /Pages /Count 66 /Kids [910 0 R 911 0 R] >> endobj 913 0 obj << /Type /Outlines /First 7 0 R /Last 183 0 R /Count 7 >> endobj 183 0 obj << /Title 184 0 R /A 181 0 R /Parent 913 0 R /Prev 87 0 R >> endobj 179 0 obj << /Title 180 0 R /A 177 0 R /Parent 87 0 R /Prev 175 0 R >> endobj 175 0 obj << /Title 176 0 R /A 173 0 R /Parent 87 0 R /Prev 171 0 R /Next 179 0 R >> endobj 171 0 obj << /Title 172 0 R /A 169 0 R /Parent 87 0 R /Prev 167 0 R /Next 175 0 R >> endobj 167 0 obj << /Title 168 0 R /A 165 0 R /Parent 87 0 R /Prev 163 0 R /Next 171 0 R >> endobj 163 0 obj << /Title 164 0 R /A 161 0 R /Parent 87 0 R /Prev 159 0 R /Next 167 0 R >> endobj 159 0 obj << /Title 160 0 R /A 157 0 R /Parent 87 0 R /Prev 155 0 R /Next 163 0 R >> endobj 155 0 obj << /Title 156 0 R /A 153 0 R /Parent 87 0 R /Prev 151 0 R /Next 159 0 R >> endobj 151 0 obj << /Title 152 0 R /A 149 0 R /Parent 87 0 R /Prev 127 0 R /Next 155 0 R >> endobj 147 0 obj << /Title 148 0 R /A 145 0 R /Parent 127 0 R /Prev 143 0 R >> endobj 143 0 obj << /Title 144 0 R /A 141 0 R /Parent 127 0 R /Prev 139 0 R /Next 147 0 R >> endobj 139 0 obj << /Title 140 0 R /A 137 0 R /Parent 127 0 R /Prev 135 0 R /Next 143 0 R >> endobj 135 0 obj << /Title 136 0 R /A 133 0 R /Parent 127 0 R /Prev 131 0 R /Next 139 0 R >> endobj 131 0 obj << /Title 132 0 R /A 129 0 R /Parent 127 0 R /Next 135 0 R >> endobj 127 0 obj << /Title 128 0 R /A 125 0 R /Parent 87 0 R /Prev 123 0 R /Next 151 0 R /First 131 0 R /Last 147 0 R /Count -5 >> endobj 123 0 obj << /Title 124 0 R /A 121 0 R /Parent 87 0 R /Prev 119 0 R /Next 127 0 R >> endobj 119 0 obj << /Title 120 0 R /A 117 0 R /Parent 87 0 R /Prev 115 0 R /Next 123 0 R >> endobj 115 0 obj << /Title 116 0 R /A 113 0 R /Parent 87 0 R /Prev 111 0 R /Next 119 0 R >> endobj 111 0 obj << /Title 112 0 R /A 109 0 R /Parent 87 0 R /Prev 107 0 R /Next 115 0 R >> endobj 107 0 obj << /Title 108 0 R /A 105 0 R /Parent 87 0 R /Prev 103 0 R /Next 111 0 R >> endobj 103 0 obj << /Title 104 0 R /A 101 0 R /Parent 87 0 R /Prev 99 0 R /Next 107 0 R >> endobj 99 0 obj << /Title 100 0 R /A 97 0 R /Parent 87 0 R /Prev 95 0 R /Next 103 0 R >> endobj 95 0 obj << /Title 96 0 R /A 93 0 R /Parent 87 0 R /Prev 91 0 R /Next 99 0 R >> endobj 91 0 obj << /Title 92 0 R /A 89 0 R /Parent 87 0 R /Next 95 0 R >> endobj 87 0 obj << /Title 88 0 R /A 85 0 R /Parent 913 0 R /Prev 75 0 R /Next 183 0 R /First 91 0 R /Last 179 0 R /Count -18 >> endobj 83 0 obj << /Title 84 0 R /A 81 0 R /Parent 75 0 R /Prev 79 0 R >> endobj 79 0 obj << /Title 80 0 R /A 77 0 R /Parent 75 0 R /Next 83 0 R >> endobj 75 0 obj << /Title 76 0 R /A 73 0 R /Parent 913 0 R /Prev 67 0 R /Next 87 0 R /First 79 0 R /Last 83 0 R /Count -2 >> endobj 71 0 obj << /Title 72 0 R /A 69 0 R /Parent 67 0 R >> endobj 67 0 obj << /Title 68 0 R /A 65 0 R /Parent 913 0 R /Prev 43 0 R /Next 75 0 R /First 71 0 R /Last 71 0 R /Count -1 >> endobj 63 0 obj << /Title 64 0 R /A 61 0 R /Parent 43 0 R /Prev 59 0 R >> endobj 59 0 obj << /Title 60 0 R /A 57 0 R /Parent 43 0 R /Prev 55 0 R /Next 63 0 R >> endobj 55 0 obj << /Title 56 0 R /A 53 0 R /Parent 43 0 R /Prev 47 0 R /Next 59 0 R >> endobj 51 0 obj << /Title 52 0 R /A 49 0 R /Parent 47 0 R >> endobj 47 0 obj << /Title 48 0 R /A 45 0 R /Parent 43 0 R /Next 55 0 R /First 51 0 R /Last 51 0 R /Count -1 >> endobj 43 0 obj << /Title 44 0 R /A 41 0 R /Parent 913 0 R /Prev 39 0 R /Next 67 0 R /First 47 0 R /Last 63 0 R /Count -4 >> endobj 39 0 obj << /Title 40 0 R /A 37 0 R /Parent 913 0 R /Prev 7 0 R /Next 43 0 R >> endobj 35 0 obj << /Title 36 0 R /A 33 0 R /Parent 15 0 R /Prev 31 0 R >> endobj 31 0 obj << /Title 32 0 R /A 29 0 R /Parent 15 0 R /Prev 27 0 R /Next 35 0 R >> endobj 27 0 obj << /Title 28 0 R /A 25 0 R /Parent 15 0 R /Prev 23 0 R /Next 31 0 R >> endobj 23 0 obj << /Title 24 0 R /A 21 0 R /Parent 15 0 R /Prev 19 0 R /Next 27 0 R >> endobj 19 0 obj << /Title 20 0 R /A 17 0 R /Parent 15 0 R /Next 23 0 R >> endobj 15 0 obj << /Title 16 0 R /A 13 0 R /Parent 7 0 R /Prev 11 0 R /First 19 0 R /Last 35 0 R /Count -5 >> endobj 11 0 obj << /Title 12 0 R /A 9 0 R /Parent 7 0 R /Next 15 0 R >> endobj 7 0 obj << /Title 8 0 R /A 5 0 R /Parent 913 0 R /Next 39 0 R /First 11 0 R /Last 15 0 R /Count -2 >> endobj 914 0 obj << /Names [(Doc-Start) 190 0 R (Item.1) 256 0 R (Item.10) 344 0 R (Item.11) 345 0 R (Item.2) 261 0 R (Item.3) 262 0 R (Item.4) 333 0 R (Item.5) 334 0 R (Item.6) 335 0 R (Item.7) 336 0 R (Item.8) 342 0 R (Item.9) 343 0 R (page.1) 189 0 R (page.10) 295 0 R (page.11) 299 0 R (page.12) 303 0 R (page.13) 307 0 R (page.14) 312 0 R (page.15) 316 0 R (page.16) 320 0 R (page.17) 324 0 R (page.18) 328 0 R (page.19) 332 0 R (page.2) 225 0 R (page.20) 341 0 R (page.21) 349 0 R (page.22) 353 0 R (page.23) 357 0 R (page.24) 361 0 R (page.25) 365 0 R (page.26) 370 0 R (page.27) 374 0 R (page.28) 378 0 R (page.29) 382 0 R (page.3) 260 0 R (page.30) 386 0 R (page.31) 390 0 R (page.32) 395 0 R (page.33) 399 0 R (page.34) 403 0 R (page.35) 407 0 R (page.36) 411 0 R (page.37) 415 0 R (page.38) 420 0 R (page.39) 424 0 R (page.4) 266 0 R (page.40) 428 0 R (page.41) 432 0 R (page.42) 436 0 R (page.43) 440 0 R (page.44) 445 0 R (page.45) 449 0 R (page.46) 453 0 R (page.47) 457 0 R (page.48) 461 0 R (page.49) 465 0 R (page.5) 270 0 R (page.50) 470 0 R (page.51) 474 0 R (page.52) 478 0 R (page.53) 482 0 R (page.54) 486 0 R (page.55) 504 0 R (page.56) 530 0 R (page.57) 551 0 R (page.58) 572 0 R (page.59) 609 0 R (page.6) 274 0 R (page.60) 641 0 R (page.61) 712 0 R (page.62) 767 0 R (page.63) 808 0 R (page.64) 846 0 R (page.65) 880 0 R (page.66) 906 0 R (page.7) 280 0 R (page.8) 285 0 R (page.9) 291 0 R (section*.1) 203 0 R (section*.2) 182 0 R (section.1) 6 0 R (section.2) 38 0 R (section.3) 42 0 R (section.4) 66 0 R (section.5) 74 0 R (section.6) 86 0 R (subsection.1.1) 10 0 R (subsection.1.2) 14 0 R (subsection.3.1) 46 0 R (subsection.3.2) 54 0 R (subsection.3.3) 58 0 R (subsection.3.4) 62 0 R (subsection.4.1) 70 0 R (subsection.5.1) 78 0 R (subsection.5.2) 82 0 R (subsection.6.1) 90 0 R (subsection.6.10) 126 0 R (subsection.6.11) 150 0 R (subsection.6.12) 154 0 R (subsection.6.13) 158 0 R (subsection.6.14) 162 0 R (subsection.6.15) 166 0 R (subsection.6.16) 170 0 R (subsection.6.17) 174 0 R (subsection.6.18) 178 0 R (subsection.6.2) 94 0 R (subsection.6.3) 98 0 R (subsection.6.4) 102 0 R (subsection.6.5) 106 0 R (subsection.6.6) 110 0 R (subsection.6.7) 114 0 R (subsection.6.8) 118 0 R (subsection.6.9) 122 0 R (subsubsection.1.2.1) 18 0 R (subsubsection.1.2.2) 22 0 R (subsubsection.1.2.3) 26 0 R (subsubsection.1.2.4) 30 0 R (subsubsection.1.2.5) 34 0 R (subsubsection.3.1.1) 50 0 R (subsubsection.6.10.1) 130 0 R (subsubsection.6.10.2) 134 0 R (subsubsection.6.10.3) 138 0 R (subsubsection.6.10.4) 142 0 R (subsubsection.6.10.5) 146 0 R] /Limits [(Doc-Start) (subsubsection.6.10.5)] >> endobj 915 0 obj << /Kids [914 0 R] >> endobj 916 0 obj << /Dests 915 0 R >> endobj 917 0 obj << /Type /Catalog /Pages 912 0 R /Outlines 913 0 R /Names 916 0 R /PageMode /UseOutlines /URI << /Base () >> /ViewerPreferences << >> /OpenAction 185 0 R >> endobj 918 0 obj << /Producer (pdfTeX-0.14h) /Author () /Title () /Subject () /Creator (LaTeX with hyperref package) /Producer (pdfTeX14.h) /Keywords () /Creator (TeX) /CreationDate (D:20010803001000) >> endobj xref 0 919 0000000001 65535 f 0000000002 00000 f 0000000003 00000 f 0000000004 00000 f 0000000191 00000 f 0000000009 00000 n 0000018606 00000 n 0000224538 00000 n 0000000054 00000 n 0000000095 00000 n 0000018666 00000 n 0000224466 00000 n 0000000145 00000 n 0000000182 00000 n 0000020426 00000 n 0000224356 00000 n 0000000233 00000 n 0000000269 00000 n 0000020487 00000 n 0000224282 00000 n 0000000325 00000 n 0000000358 00000 n 0000020548 00000 n 0000224195 00000 n 0000000414 00000 n 0000000463 00000 n 0000020609 00000 n 0000224108 00000 n 0000000519 00000 n 0000000566 00000 n 0000020670 00000 n 0000224021 00000 n 0000000622 00000 n 0000000654 00000 n 0000020730 00000 n 0000223947 00000 n 0000000710 00000 n 0000000738 00000 n 0000023214 00000 n 0000223860 00000 n 0000000784 00000 n 0000000829 00000 n 0000023275 00000 n 0000223735 00000 n 0000000875 00000 n 0000000915 00000 n 0000023336 00000 n 0000223624 00000 n 0000000966 00000 n 0000000997 00000 n 0000025562 00000 n 0000223563 00000 n 0000001053 00000 n 0000001100 00000 n 0000025623 00000 n 0000223476 00000 n 0000001151 00000 n 0000001188 00000 n 0000028209 00000 n 0000223389 00000 n 0000001239 00000 n 0000001278 00000 n 0000032595 00000 n 0000223315 00000 n 0000001329 00000 n 0000001365 00000 n 0000032656 00000 n 0000223190 00000 n 0000001411 00000 n 0000001448 00000 n 0000032717 00000 n 0000223129 00000 n 0000001499 00000 n 0000001538 00000 n 0000032778 00000 n 0000223004 00000 n 0000001584 00000 n 0000001647 00000 n 0000035252 00000 n 0000222930 00000 n 0000001698 00000 n 0000001722 00000 n 0000035313 00000 n 0000222856 00000 n 0000001773 00000 n 0000001801 00000 n 0000035374 00000 n 0000222728 00000 n 0000001847 00000 n 0000001891 00000 n 0000035435 00000 n 0000222654 00000 n 0000001942 00000 n 0000002001 00000 n 0000035496 00000 n 0000222567 00000 n 0000002052 00000 n 0000002077 00000 n 0000035557 00000 n 0000222478 00000 n 0000002128 00000 n 0000002167 00000 n 0000037340 00000 n 0000222387 00000 n 0000002219 00000 n 0000002248 00000 n 0000040082 00000 n 0000222295 00000 n 0000002300 00000 n 0000002335 00000 n 0000045301 00000 n 0000222203 00000 n 0000002387 00000 n 0000002431 00000 n 0000049592 00000 n 0000222111 00000 n 0000002483 00000 n 0000002513 00000 n 0000049654 00000 n 0000222019 00000 n 0000002565 00000 n 0000002597 00000 n 0000051921 00000 n 0000221927 00000 n 0000002649 00000 n 0000002678 00000 n 0000059470 00000 n 0000221796 00000 n 0000002731 00000 n 0000002757 00000 n 0000059532 00000 n 0000221717 00000 n 0000002815 00000 n 0000002846 00000 n 0000062632 00000 n 0000221624 00000 n 0000002904 00000 n 0000002953 00000 n 0000062694 00000 n 0000221531 00000 n 0000003011 00000 n 0000003065 00000 n 0000064930 00000 n 0000221438 00000 n 0000003123 00000 n 0000003197 00000 n 0000068783 00000 n 0000221359 00000 n 0000003255 00000 n 0000003303 00000 n 0000075117 00000 n 0000221267 00000 n 0000003356 00000 n 0000003384 00000 n 0000075179 00000 n 0000221175 00000 n 0000003437 00000 n 0000003482 00000 n 0000082659 00000 n 0000221083 00000 n 0000003535 00000 n 0000003595 00000 n 0000114389 00000 n 0000220991 00000 n 0000003648 00000 n 0000003702 00000 n 0000114451 00000 n 0000220899 00000 n 0000003755 00000 n 0000003781 00000 n 0000116624 00000 n 0000220807 00000 n 0000003834 00000 n 0000003876 00000 n 0000122579 00000 n 0000220715 00000 n 0000003929 00000 n 0000003954 00000 n 0000122641 00000 n 0000220637 00000 n 0000004007 00000 n 0000004061 00000 n 0000127476 00000 n 0000220559 00000 n 0000004109 00000 n 0000004134 00000 n 0000006746 00000 n 0000010550 00000 n 0000004186 00000 n 0000010364 00000 n 0000010426 00000 n 0000000193 00000 f 0000218807 00000 n 0000000195 00000 f 0000218738 00000 n 0000000201 00000 f 0000218650 00000 n 0000007029 00000 n 0000007268 00000 n 0000007505 00000 n 0000007714 00000 n 0000000214 00000 f 0000218559 00000 n 0000010488 00000 n 0000007923 00000 n 0000008080 00000 n 0000008241 00000 n 0000008403 00000 n 0000008570 00000 n 0000008737 00000 n 0000008903 00000 n 0000009070 00000 n 0000009236 00000 n 0000009393 00000 n 0000000275 00000 f 0000218466 00000 n 0000009550 00000 n 0000009712 00000 n 0000009878 00000 n 0000010040 00000 n 0000010202 00000 n 0000218899 00000 n 0000018789 00000 n 0000013302 00000 n 0000010674 00000 n 0000018544 00000 n 0000013673 00000 n 0000013830 00000 n 0000013992 00000 n 0000014148 00000 n 0000014310 00000 n 0000014472 00000 n 0000014629 00000 n 0000014791 00000 n 0000014953 00000 n 0000015115 00000 n 0000015276 00000 n 0000015438 00000 n 0000015600 00000 n 0000015762 00000 n 0000015924 00000 n 0000016086 00000 n 0000016248 00000 n 0000016415 00000 n 0000016583 00000 n 0000016749 00000 n 0000016917 00000 n 0000017085 00000 n 0000017248 00000 n 0000017411 00000 n 0000017574 00000 n 0000017736 00000 n 0000017899 00000 n 0000018061 00000 n 0000018224 00000 n 0000018386 00000 n 0000018727 00000 n 0000020791 00000 n 0000020121 00000 n 0000018900 00000 n 0000020240 00000 n 0000020302 00000 n 0000020364 00000 n 0000023397 00000 n 0000023033 00000 n 0000020902 00000 n 0000023152 00000 n 0000025684 00000 n 0000025381 00000 n 0000023521 00000 n 0000025500 00000 n 0000028270 00000 n 0000028028 00000 n 0000025782 00000 n 0000028147 00000 n 0000000286 00000 f 0000218373 00000 n 0000030065 00000 n 0000029884 00000 n 0000028381 00000 n 0000030003 00000 n 0000219016 00000 n 0000032838 00000 n 0000032414 00000 n 0000030150 00000 n 0000032533 00000 n 0000000000 00000 f 0000218277 00000 n 0000035618 00000 n 0000035071 00000 n 0000032963 00000 n 0000035190 00000 n 0000037402 00000 n 0000037159 00000 n 0000035729 00000 n 0000037278 00000 n 0000040144 00000 n 0000039901 00000 n 0000037500 00000 n 0000040020 00000 n 0000042632 00000 n 0000042451 00000 n 0000040242 00000 n 0000042570 00000 n 0000045363 00000 n 0000045120 00000 n 0000042717 00000 n 0000045239 00000 n 0000219133 00000 n 0000047657 00000 n 0000047476 00000 n 0000045461 00000 n 0000047595 00000 n 0000049716 00000 n 0000049411 00000 n 0000047742 00000 n 0000049530 00000 n 0000051983 00000 n 0000051740 00000 n 0000049814 00000 n 0000051859 00000 n 0000054480 00000 n 0000054299 00000 n 0000052081 00000 n 0000054418 00000 n 0000057468 00000 n 0000057287 00000 n 0000054565 00000 n 0000057406 00000 n 0000059841 00000 n 0000059289 00000 n 0000057553 00000 n 0000059408 00000 n 0000059594 00000 n 0000059656 00000 n 0000059718 00000 n 0000059779 00000 n 0000219250 00000 n 0000062756 00000 n 0000062203 00000 n 0000059939 00000 n 0000062322 00000 n 0000062384 00000 n 0000062446 00000 n 0000062508 00000 n 0000062570 00000 n 0000064992 00000 n 0000064749 00000 n 0000062867 00000 n 0000064868 00000 n 0000066980 00000 n 0000066799 00000 n 0000065103 00000 n 0000066918 00000 n 0000068845 00000 n 0000068602 00000 n 0000067065 00000 n 0000068721 00000 n 0000070689 00000 n 0000070508 00000 n 0000068943 00000 n 0000070627 00000 n 0000072651 00000 n 0000072470 00000 n 0000070774 00000 n 0000072589 00000 n 0000219367 00000 n 0000075241 00000 n 0000074936 00000 n 0000072749 00000 n 0000075055 00000 n 0000077397 00000 n 0000077216 00000 n 0000075352 00000 n 0000077335 00000 n 0000079549 00000 n 0000079368 00000 n 0000077482 00000 n 0000079487 00000 n 0000082721 00000 n 0000082478 00000 n 0000079634 00000 n 0000082597 00000 n 0000084657 00000 n 0000084476 00000 n 0000082845 00000 n 0000084595 00000 n 0000085735 00000 n 0000085554 00000 n 0000084755 00000 n 0000085673 00000 n 0000219484 00000 n 0000086950 00000 n 0000086769 00000 n 0000085820 00000 n 0000086888 00000 n 0000088616 00000 n 0000088435 00000 n 0000087035 00000 n 0000088554 00000 n 0000090324 00000 n 0000090143 00000 n 0000088701 00000 n 0000090262 00000 n 0000092687 00000 n 0000092506 00000 n 0000090409 00000 n 0000092625 00000 n 0000094217 00000 n 0000094036 00000 n 0000092772 00000 n 0000094155 00000 n 0000096045 00000 n 0000095864 00000 n 0000094302 00000 n 0000095983 00000 n 0000219601 00000 n 0000097473 00000 n 0000097292 00000 n 0000096130 00000 n 0000097411 00000 n 0000099193 00000 n 0000099012 00000 n 0000097558 00000 n 0000099131 00000 n 0000101293 00000 n 0000101112 00000 n 0000099278 00000 n 0000101231 00000 n 0000103078 00000 n 0000102897 00000 n 0000101378 00000 n 0000103016 00000 n 0000104682 00000 n 0000104501 00000 n 0000103163 00000 n 0000104620 00000 n 0000106018 00000 n 0000105837 00000 n 0000104767 00000 n 0000105956 00000 n 0000219718 00000 n 0000108180 00000 n 0000107999 00000 n 0000106103 00000 n 0000108118 00000 n 0000109362 00000 n 0000109181 00000 n 0000108278 00000 n 0000109300 00000 n 0000110580 00000 n 0000110399 00000 n 0000109447 00000 n 0000110518 00000 n 0000111662 00000 n 0000111481 00000 n 0000110665 00000 n 0000111600 00000 n 0000112875 00000 n 0000112694 00000 n 0000111747 00000 n 0000112813 00000 n 0000114513 00000 n 0000114208 00000 n 0000112960 00000 n 0000114327 00000 n 0000219835 00000 n 0000116686 00000 n 0000116443 00000 n 0000114611 00000 n 0000116562 00000 n 0000118539 00000 n 0000118358 00000 n 0000116784 00000 n 0000118477 00000 n 0000120673 00000 n 0000120492 00000 n 0000118624 00000 n 0000120611 00000 n 0000122703 00000 n 0000122398 00000 n 0000120758 00000 n 0000122517 00000 n 0000127538 00000 n 0000125008 00000 n 0000122814 00000 n 0000127414 00000 n 0000125251 00000 n 0000125405 00000 n 0000125559 00000 n 0000125713 00000 n 0000125868 00000 n 0000126023 00000 n 0000126177 00000 n 0000126331 00000 n 0000126486 00000 n 0000126641 00000 n 0000126796 00000 n 0000126950 00000 n 0000127105 00000 n 0000127260 00000 n 0000133573 00000 n 0000129960 00000 n 0000127636 00000 n 0000133511 00000 n 0000130259 00000 n 0000130414 00000 n 0000130569 00000 n 0000130724 00000 n 0000130878 00000 n 0000131033 00000 n 0000131188 00000 n 0000131343 00000 n 0000131497 00000 n 0000131652 00000 n 0000131807 00000 n 0000131962 00000 n 0000132116 00000 n 0000132271 00000 n 0000132426 00000 n 0000132581 00000 n 0000132736 00000 n 0000132891 00000 n 0000133046 00000 n 0000133201 00000 n 0000133356 00000 n 0000219952 00000 n 0000139139 00000 n 0000136181 00000 n 0000133658 00000 n 0000139077 00000 n 0000136448 00000 n 0000136603 00000 n 0000136757 00000 n 0000136912 00000 n 0000137066 00000 n 0000137221 00000 n 0000137375 00000 n 0000137530 00000 n 0000137684 00000 n 0000137839 00000 n 0000137994 00000 n 0000138149 00000 n 0000138303 00000 n 0000138458 00000 n 0000138613 00000 n 0000138768 00000 n 0000138923 00000 n 0000144499 00000 n 0000141540 00000 n 0000139224 00000 n 0000144437 00000 n 0000141807 00000 n 0000141961 00000 n 0000142116 00000 n 0000142271 00000 n 0000142426 00000 n 0000142581 00000 n 0000142735 00000 n 0000142890 00000 n 0000143045 00000 n 0000143199 00000 n 0000143353 00000 n 0000143508 00000 n 0000143663 00000 n 0000143817 00000 n 0000143972 00000 n 0000144127 00000 n 0000144282 00000 n 0000152634 00000 n 0000147069 00000 n 0000144584 00000 n 0000152572 00000 n 0000147464 00000 n 0000147618 00000 n 0000147773 00000 n 0000147928 00000 n 0000148083 00000 n 0000148238 00000 n 0000148393 00000 n 0000148548 00000 n 0000148703 00000 n 0000148858 00000 n 0000149013 00000 n 0000149167 00000 n 0000149321 00000 n 0000149476 00000 n 0000149631 00000 n 0000149785 00000 n 0000149940 00000 n 0000150095 00000 n 0000150250 00000 n 0000150405 00000 n 0000150560 00000 n 0000150715 00000 n 0000150869 00000 n 0000151024 00000 n 0000151179 00000 n 0000151334 00000 n 0000151489 00000 n 0000151644 00000 n 0000151799 00000 n 0000151953 00000 n 0000152107 00000 n 0000152262 00000 n 0000152417 00000 n 0000159894 00000 n 0000155145 00000 n 0000152732 00000 n 0000159832 00000 n 0000155500 00000 n 0000155655 00000 n 0000155810 00000 n 0000155965 00000 n 0000156119 00000 n 0000156274 00000 n 0000156428 00000 n 0000156583 00000 n 0000156738 00000 n 0000156892 00000 n 0000157047 00000 n 0000157202 00000 n 0000157357 00000 n 0000157512 00000 n 0000157667 00000 n 0000157822 00000 n 0000157977 00000 n 0000158131 00000 n 0000158286 00000 n 0000158440 00000 n 0000158593 00000 n 0000158748 00000 n 0000158903 00000 n 0000159057 00000 n 0000159212 00000 n 0000159367 00000 n 0000159522 00000 n 0000159677 00000 n 0000173655 00000 n 0000162585 00000 n 0000160005 00000 n 0000173593 00000 n 0000163252 00000 n 0000163406 00000 n 0000163561 00000 n 0000163716 00000 n 0000163870 00000 n 0000164024 00000 n 0000164178 00000 n 0000164333 00000 n 0000164486 00000 n 0000164639 00000 n 0000164793 00000 n 0000164947 00000 n 0000165101 00000 n 0000165255 00000 n 0000165408 00000 n 0000165563 00000 n 0000165717 00000 n 0000165871 00000 n 0000166025 00000 n 0000166178 00000 n 0000166332 00000 n 0000166485 00000 n 0000166639 00000 n 0000166792 00000 n 0000166946 00000 n 0000167100 00000 n 0000167254 00000 n 0000167409 00000 n 0000167563 00000 n 0000167718 00000 n 0000167873 00000 n 0000168027 00000 n 0000168181 00000 n 0000168335 00000 n 0000168490 00000 n 0000168645 00000 n 0000168799 00000 n 0000168953 00000 n 0000169107 00000 n 0000169261 00000 n 0000169416 00000 n 0000169570 00000 n 0000169725 00000 n 0000169880 00000 n 0000170035 00000 n 0000170190 00000 n 0000170345 00000 n 0000170499 00000 n 0000170654 00000 n 0000170809 00000 n 0000170963 00000 n 0000171118 00000 n 0000171272 00000 n 0000171427 00000 n 0000171582 00000 n 0000171736 00000 n 0000171891 00000 n 0000172046 00000 n 0000172200 00000 n 0000172354 00000 n 0000172509 00000 n 0000172664 00000 n 0000172818 00000 n 0000172973 00000 n 0000173128 00000 n 0000173283 00000 n 0000173438 00000 n 0000184570 00000 n 0000176257 00000 n 0000173753 00000 n 0000184508 00000 n 0000176788 00000 n 0000176942 00000 n 0000177097 00000 n 0000177252 00000 n 0000177407 00000 n 0000177561 00000 n 0000177715 00000 n 0000177869 00000 n 0000178023 00000 n 0000178177 00000 n 0000178332 00000 n 0000178486 00000 n 0000178640 00000 n 0000178795 00000 n 0000178949 00000 n 0000179103 00000 n 0000179258 00000 n 0000179411 00000 n 0000179565 00000 n 0000179718 00000 n 0000179871 00000 n 0000180025 00000 n 0000180176 00000 n 0000180329 00000 n 0000180482 00000 n 0000180636 00000 n 0000180791 00000 n 0000180946 00000 n 0000181101 00000 n 0000181256 00000 n 0000181411 00000 n 0000181566 00000 n 0000181721 00000 n 0000181876 00000 n 0000182031 00000 n 0000182186 00000 n 0000182340 00000 n 0000182495 00000 n 0000182650 00000 n 0000182805 00000 n 0000182960 00000 n 0000183115 00000 n 0000183270 00000 n 0000183425 00000 n 0000183580 00000 n 0000183733 00000 n 0000183888 00000 n 0000184043 00000 n 0000184198 00000 n 0000184353 00000 n 0000220069 00000 n 0000193204 00000 n 0000186997 00000 n 0000184668 00000 n 0000193142 00000 n 0000187424 00000 n 0000187579 00000 n 0000187734 00000 n 0000187889 00000 n 0000188043 00000 n 0000188198 00000 n 0000188353 00000 n 0000188508 00000 n 0000188663 00000 n 0000188818 00000 n 0000188973 00000 n 0000189128 00000 n 0000189281 00000 n 0000189435 00000 n 0000189590 00000 n 0000189745 00000 n 0000189900 00000 n 0000190055 00000 n 0000190210 00000 n 0000190365 00000 n 0000190520 00000 n 0000190675 00000 n 0000190828 00000 n 0000190982 00000 n 0000191136 00000 n 0000191291 00000 n 0000191446 00000 n 0000191601 00000 n 0000191755 00000 n 0000191910 00000 n 0000192064 00000 n 0000192218 00000 n 0000192372 00000 n 0000192527 00000 n 0000192682 00000 n 0000192835 00000 n 0000192988 00000 n 0000201386 00000 n 0000195672 00000 n 0000193302 00000 n 0000201324 00000 n 0000196075 00000 n 0000196229 00000 n 0000196383 00000 n 0000196537 00000 n 0000196691 00000 n 0000196845 00000 n 0000196999 00000 n 0000197153 00000 n 0000197304 00000 n 0000197457 00000 n 0000197610 00000 n 0000197764 00000 n 0000197918 00000 n 0000198072 00000 n 0000198227 00000 n 0000198382 00000 n 0000198537 00000 n 0000198692 00000 n 0000198847 00000 n 0000199001 00000 n 0000199156 00000 n 0000199311 00000 n 0000199466 00000 n 0000199621 00000 n 0000199776 00000 n 0000199931 00000 n 0000200086 00000 n 0000200241 00000 n 0000200396 00000 n 0000200550 00000 n 0000200704 00000 n 0000200859 00000 n 0000201014 00000 n 0000201169 00000 n 0000208990 00000 n 0000203916 00000 n 0000201497 00000 n 0000208928 00000 n 0000204287 00000 n 0000204441 00000 n 0000204596 00000 n 0000204749 00000 n 0000204904 00000 n 0000205058 00000 n 0000205212 00000 n 0000205367 00000 n 0000205521 00000 n 0000205676 00000 n 0000205831 00000 n 0000205986 00000 n 0000206141 00000 n 0000206296 00000 n 0000206451 00000 n 0000206606 00000 n 0000206761 00000 n 0000206916 00000 n 0000207071 00000 n 0000207225 00000 n 0000207380 00000 n 0000207535 00000 n 0000207690 00000 n 0000207845 00000 n 0000208000 00000 n 0000208154 00000 n 0000208309 00000 n 0000208463 00000 n 0000208618 00000 n 0000208773 00000 n 0000215110 00000 n 0000211338 00000 n 0000209088 00000 n 0000215048 00000 n 0000211645 00000 n 0000211800 00000 n 0000211955 00000 n 0000212110 00000 n 0000212265 00000 n 0000212419 00000 n 0000212573 00000 n 0000212728 00000 n 0000212882 00000 n 0000213037 00000 n 0000213192 00000 n 0000213347 00000 n 0000213501 00000 n 0000213656 00000 n 0000213811 00000 n 0000213966 00000 n 0000214121 00000 n 0000214274 00000 n 0000214429 00000 n 0000214584 00000 n 0000214739 00000 n 0000214894 00000 n 0000216376 00000 n 0000215859 00000 n 0000215208 00000 n 0000216314 00000 n 0000216006 00000 n 0000216160 00000 n 0000216487 00000 n 0000220186 00000 n 0000220304 00000 n 0000220414 00000 n 0000220484 00000 n 0000224647 00000 n 0000227268 00000 n 0000227307 00000 n 0000227345 00000 n 0000227522 00000 n trailer << /Size 919 /Root 917 0 R /Info 918 0 R >> startxref 227728 %%EOF ������������������������������������������������������������������������������extrarpms/revtex4/src/revtex4.dtx�������������������������������������������������������������������0100644�0000764�0000764�00000774503�07332604134�016432� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% \iffalse % ****** Start of file revtex4.dtx ****** % % % This file is part of the APS files in the REVTeX 4 distribution. % For version number, search on the string "%FileInfo" % % First revision by David Carlisle, % later versions by Arthur Ogawa. % % Copyright (c) 2000 The American Physical Society. % http://publish.aps.org/revtex4/ % mailto:revtex@aps.org % % % See the REVTeX 4 README file for restrictions and more information. % \fi % \iffalse %<*driver> \ProvidesFile{revtex4.dtx} %</driver> %<class-pre|aps|rmp>\NeedsTeXFormat{LaTeX2e}[1996/12/01] %<class-pre>\ProvidesClass{revtex4} %<aps>\ProvidesFile{aps.rtx} %<rmp>\ProvidesFile{rmp.rtx} %<10pt>\ProvidesFile{10pt.rtx} %<11pt>\ProvidesFile{11pt.rtx} %<12pt>\ProvidesFile{12pt.rtx} %<revsymb&!class-pre>\ProvidesPackage{revsymb} %<driver>\ProvidesFile{revtex.drv} %<*!class-pst> [2001/08/02 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo %</!class-pst> %<*driver> \listfiles \documentclass{ltxdoc} \RequirePackage{ltxdocext}% \let\url\undefined \RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}% \expandafter\ifx\csname package@font\endcsname\relax\else \expandafter\expandafter \expandafter\RequirePackage \expandafter\expandafter \expandafter{\csname package@font\endcsname}% \fi \CodelineIndex\EnableCrossrefs \begin{document} \gdef\lquote{`}\gdef\rquote{'}% %{\tracingall\showlists} \DocInput{revtex4.dtx} \end{document} %</driver> % \fi % % \GetFileInfo{revtex4.dtx}\CheckSum{7177} % % \title{The \classname{revtex4} document class of the American Physical Society} % \author{Arthur Ogawa% % \thanks{First revision by David Carlisle}% % }% % \date{Version \fileversion, dated \filedate}% % \newcommand\revtex{REV\TeX} % % \maketitle % % This file embodies the implementation of the APS \revtex\ 4 document class % for electronic submissions to journals. % % The distribution point for this work is % \url{http://publish.aps.org/revtex4/}, % which contains fully unpacked, prebuilt runtime files and documentation. % % \tableofcontents % % \section{Using \protect\revtex} % % The file \file{README} has retrieval and installation information. % % User documentation is presented separately in \file{revguide.tex}. % % The file \file{template.aps} is a boilerplate file. % % \StopEventually{} % % \changes{v4.a}{1998/01/16} % {Initial version} % \changes{v4.0beta 2}{1999/06/20} % {First modifications by Arthur Ogawa (mailto:ogawa@teleport.com)} % \changes{v4.0beta 3}{1999/11/13} % {New ltxgrid-based code, other bug fixes} % \changes{v4.0beta 4}{2000/05/10} % {More features and bug fixes: compatability with longtable and array packages. % Now certainly incompatible with multicol.} % \changes{v4.0beta 5}{2000/11/14} % {Bug fixes and minor new features: title block affiliations can have ancillary data, just like authors; % clearpage processing revamped, with floats staying in order; widetext ornaments.} % \changes{v4.0beta 6}{2001/02/13} % {Last bug fixes before release.} % % \section{Overview}% % \revtex\ is a \LaTeXe\ document class, aomewhat like a hybrid of % the standard \LaTeX\ \classname{book} and \classname{article} classes. % % Certain packages are (should be) loaded by this class in any case: % \classname{amssymb}, \classname{amsmath}, \classname{bm}, \classname{natbib}. % % Certain packages are automatically loaded by this class % when a corresponding class option has been invoked: % % \begin{tabular}{ll} % \textbf{\revtex\ option}&\textbf{package}\\ % \classoption{amsfonts}&\classname{amsfonts}\\ % \classoption{amssymb}&\classname{amssymb}\\ % \classoption{aps}&\classname{overcite}\\ % \end{tabular} % % Certain other packages are to be loaded by the % document through explicit use of \cmd\usepackage. % Some mentioned in the user documentation are % \classname{graphicx}, \classname{longtable}, % and \classname{bm}. % % Certain commonly used packages are known to be incompatible with % \revtex, among them \classname{multicol} and \classname{cite}. % If such a package is found to be loaded, \revtex\ issues an error message % and halts the job. % Halting might be considered severe punishment for loading an incompatible % package, but if we were to proceed, an even weirder error might be encountered % further down the road. % % This document class implements the substyle: a set of mutually % exclusive class options that, in this case, allow the % document class to address multiple societies. % It also implements a sub-substyle, giving the % journal of the given society. % The only society currently implemented is \classoption{aps}, % however, code is in place for another society, the \classoption{osa}. % % FIXME: should always load the \classname{graphicx} package. % % QUERY: since \classname{amsfonts} and \classname{amssymb} extend % syntax, why not load them in any case? % % QUERY: if you say \cmd\documentclass|[prb,osa]{revtex4}|, then % the value of \cmd\@society\ will be wrong, or? Fixed. % % Certain events occur at \cmd\AtEndOfClass\ time: % \begin{enumerate} % \item % Optionally read in packages % \classname{amsfonts}, \classname{amssymb}. % \item % Read in society substyle \file{.rtx} file. % \item % Read in type size \file{.rtx} file. % \item % Read in the job's style file, the \file{.rty} file. % \item % Define things based on \cmd\secnumarabic@sw. % \item % Install procedures to execute at the very end of the class's % \cmd\AtBeginDocument\ processing, such as % \begin{enumerate} % \item % closing out the page grid % \item % putting out the LastPage label. % \item % issuing a \cmd\bibliographystyle\ command, based on the value set % by the society substyle. % \item % setting default values for parameters used in the document. %FIXME: differentiate between class's parameters that can wait until % they are used in the document, and parameters that are used at \cmd\AtBeginDocument\ time. % \end{enumerate} % \item % Install procedures to execute the very last at \cmd\AtEndDocument\ time, % such as the \cmd\clearpage\ processing. % \end{enumerate} % % Certain events are optionally scheduled for \cmd\AtBeginDocument\ time: % \begin{enumerate} % \item % Setting default values for the Booleans and for other procedures used in formatting. % \item % In response to class options options, adjusting parameters and procedures used in formatting. % \item % Implementing the \classoption{eqsecnum} option, if required. % \item % Setting the state engine for data commands. % \item % Memorizing procedures for later use. % \item % Setting type size and area, for use by later calculations. % \end{enumerate} % % Certain events are scheduled for \cmd\class@enddocumenthook\ time: % \begin{enumerate} % \item % Print out the migrated floats or the end notes, if needed. % \item % Close out the page grid. % \item % Label the last page of the document % \item % (\classname{natbib}) prepare to read in the \file{.aux} file. % \end{enumerate} % % % \section{The installer file} % We include here a reference copy of the installer file, \file{revtex4.ins}. % It is not intended that one actually generate that file using \file{docstrip} % via the revtex4 installer file, because that would involve overwriting the % file that \TeX\ is typesetting. Instead, the installer file is provided % pre-generated. % % For the most part, the installer is simple: it generates \file{revtex4.cls} and % a collection of \file{.rtx} files from \file{revtex4.dtx}. % % However, the process of generating \file{revtex4.cls} involves the incorporation % of portions of two of the \file{ltx} series of files, \file{ltxutil.dtx}, % and \file{ltxgrid.dtx}. The former is a collection of macro definitions that % serve as the lowest level of extensions to \LaTeX, the latter implements % an alternative output routine and page gridding mechanism that provides for % multicolumn page layouts, but without the sorry limitations of the % \LaTeX\ required package, \classname{multicol}, and is also compatible with % the \classname{longtable} package (which \classname{multicol} is not). % \begin{macrocode} %<*ins> % This file requires docstrip version 2.4 or higher available from % ftp://ctan.tug.org/tex-archive/macros/latex/unpacked/docstrip.tex \input docstrip \preamble This file is part of the APS files in the REVTeX 4 distribution. For the version number, search on the string %FileInfo Copyright (c) 2000 The American Physical Society. http://publish.aps.org/revtex4/ mailto:revtex@aps.org Maintained by Arthur Ogawa (mailto:ogawa@teleport.com) under contract to the American Physical Society. See the REVTeX 4 README file for restrictions and more information. \endpreamble \keepsilent \askforoverwritefalse \generate{% \file{revtex4.cls}{% \from{revtex4.dtx}{class-pre}% \from{ltxutil.dtx}{ltxutil-krn}% \from{ltxgrid.dtx}{ltxgrid-krn}% \from{textcase.dtx}{package}% \from{revtex4.dtx}{class-pst}% }% \file{aps.rtx}{\from{revtex4.dtx}{aps}}% \file{rmp.rtx}{\from{revtex4.dtx}{rmp}}% \file{10pt.rtx}{\from{revtex4.dtx}{10pt}}% \file{11pt.rtx}{\from{revtex4.dtx}{11pt}}% \file{12pt.rtx}{\from{revtex4.dtx}{12pt}}% \file{revsymb.sty}{\from{revtex4.dtx}{revsymb}}% }% \endbatchfile %</ins> % \end{macrocode} % % % \section{Writing journal-specifc extensions to \revtex} % % With this version of \revtex, we introduce a somewhat different % scheme for adapting \revtex\ to the needs of a specific journal. % % To create a journal substyle, you create new class options in % \revtex\ for the society, say \classoption{osa}, and any of that society's journals, % one of which is, say, \classoption{josaa}, % using the code for the APS as a guide. % In particular, each of your new options should separately define \cmd\@society\ % and \cmd\@journal. That for the former will be the same for % all options relating to a particular society. % % Then, for the society, you create a corresponding \file{.rtx} % file, in our case \file{osa.rtx}. % Within that file, you override procedures and parameter assignments as you see fit. % Ideally they will be generally applicable to all of that society's % journals (see the file \file{aps.rtx} for a realization of this scheme). % Also within that file, you include a % section of code for each journal, that for josaa looks like: % \begin{verbatim} % \@ifx{\@journal\journal@josaa}{% % <code specific to the josaa> % }{}% % \end{verbatim} % % Thus far, the scheme is similar to that used in \revtex\ 3.1. % However, the new scheme does differ from the old in that % the \file{.rtx} file should define no syntactical extensions % to \revtex. % % \section{The \classname{revtex4} Document Class} % % \begin{macrocode} %<*class-pre> \def\class@name{revtex4}% % \end{macrocode} % % Print a banner in the log: % \begin{macrocode} \GenericInfo{}{\space Copyright (c) 2001 The American Physical Society.^^J mailto:revtex@aps.org^^J Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J Arthur Ogawa <ogawa@teleport.com>^^J Based on work by David Carlisle <david@dcarlisle.demon.co.uk>% \@gobble }% % \end{macrocode} % % \subsection{Compatability Processing} % % If the document has \cmd\documentstyle|{revtex4}|, % then, instead of attempting to run in compatability mode, % just complain and exit. % \changes{v4.0beta 3}{1999/11/13} % {Lose compatability mode.} % \begin{macrocode} \if@compatibility \edef\reserved@a{\errhelp{% Change your \string\documentstyle\space statement to \string\documentclass\space and rerun. }}\reserved@a \errmessage{You cannot run \class@name\space in compatability mode}% \expandafter\@@end \fi % \end{macrocode} % % % \section{Extensions to the \LaTeX\ Kernel} % I am introducing % some portions of the \classname{ltxkrnext} package % (\url{ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxkrnext/}). % % First, de-fang unwanted commands and turn \cmd\ProvidesPackage\ into an informative message. % \begin{macrocode} \let\DeclareOption@latex\DeclareOption \let\DeclareOption\@gobbletwo \let\ProcessOptions@latex\ProcessOptions \let\ProcessOptions\@empty \let\ProvidesPackage@latex\ProvidesPackage \def\ProvidesPackage#1[#2]{% \class@info{Incorporating package #1 [#2].}% }% %</class-pre> % \end{macrocode} % Now load the utility and page grid packages. % The \classname{ltxutil} and \classname{ltxgrid} packages are distributed with % \revtex. % \begin{macrocode} %\RequirePackage{ltxutil}% %\RequirePackage{ltxgrid}% % \end{macrocode} % % The \classname{textcase} package is available from % \url{CTAN:/macros/latex/contrib/supported/carlisle/textcase.dtx} and is % used at the suggestion, and by permission, of David~P. Carlisle. % \begin{quotation} % \cmd\ProvidesFile{textcase.dtx} % [1998/11/12 v0.06 Text only upper/lower case changing (DPC)] % \end{quotation} % % David, in turn, suggests that Donald Arseneau be credited for some of the ideas in % the \classname{textcase} package, so let it hereby be so understood. % % Note that David's package has a bug, which is fixed as follows: % Change: %\begin{verbatim} % \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}} %\end{verbatim} % To: %\begin{verbatim} % \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}% %\end{verbatim} % % \begin{macrocode} %\RequirePackage{textcase}% % \end{macrocode} % % Next, restore those cammands we de-fanged: % \begin{macrocode} %<*class-pst> \let\ProvidesPackage\ProvidesPackage@latex \let\ProcessOptions\ProcessOptions@latex \let\DeclareOption\DeclareOption@latex % \end{macrocode} % And let the \classname{textcase} commands override those of \LaTeX: % \begin{macrocode} \expandafter \let\csname MakeUppercase \expandafter\endcsname \csname MakeTextUppercase \endcsname \expandafter \let\csname MakeLowercase \expandafter\endcsname \csname MakeTextLowercase \endcsname % \end{macrocode} % % Try to patch \classname{longtable}. % \begin{macrocode} \appdef\class@documenthook{% \switch@longtable }% % \end{macrocode} % % Try to provide a more robust version of \cmd\boldmath. % If Team \LaTeX\ ever gets around to fixing this problem, we will bow out. % (This relates to bug \#394.) % \begin{macrocode} \appdef\class@documenthook{% \expandafter\@ifnotrelax\csname boldmath \endcsname{}{% \expandafter\let\csname boldmath \endcsname\boldmath \expandafter\def\expandafter\boldmath\expandafter{\expandafter\protect\csname boldmath \endcsname}% }% }% % \end{macrocode} % % % % \section{Options}\label{sec:options}% % % \subsection{Define Booleans Used in Options}% % The following Booleans are used within the document class to % allow the document or the substyle to make selections % of formatting. % Because an explicit document class option always overrides a substyle, % any substyle wishing to assign a value to a flag must first test the flag to % confirm that it is still undefined. % This further means that the default value of the flag must be % assigned late, at the end of \cmd\AtBeginDocument\ time, and that % the flag may be queried no earlier than that time. % % \begin{macro}{\class@inithook} % The hook \cmd\class@inithook\ is installed into \cmd\class@documenthook, % and thereafter serves as the focal point for all code that % gives default values to the class's parameters. % % A typical code might be: % \begin{verbatim} %\appdef\class@inithook{% % \@ifxundefined\twocolumn@sw{\@booleanfalse\twocolumn@sw}{}% %}% % \end{verbatim} % which ensures that the switch \cmd\twocolumn@sw\ is never left undefined. % % \begin{macrocode} \appdef\class@documenthook{% \class@inithook }% \def\class@inithook{}% % % \end{macrocode} % \end{macro} % % \begin{macro}{\twocolumn@sw} % The boolean \cmd\twocolumn@sw\ signifies that we are to use a two-column grid. % % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\twocolumn@sw{\@booleanfalse\twocolumn@sw}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\footinbib@sw} % The boolean \cmd\footinbib@sw\ signifies that % footnotes are to be set in the bibliography, as endnotes. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\footinbib@sw{\@booleanfalse\footinbib@sw}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\preprintsty@sw} % The boolean \cmd\preprintsty@sw\ signifies that % the document is to be formatted in preprint style. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\preprintsty@sw{\@booleanfalse\preprintsty@sw}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\preprint@sw} % The boolean \cmd\preprint@sw\ signifies that % the preprints (cf. \cmd\preprint) are to be formatted (usually on the title page). % The default is to do so; the option \classoption{nopreprintnumbers} % declares not to. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\preprint@sw{\@booleanfalse\preprint@sw}{}% \preprintsty@sw{\@booleantrue\preprint@sw}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\galley@sw} % The boolean \cmd\galley@sw\ signifies that % the document is to be formatted in galley style. % % Asserting both \cmd\galley@sw\ and \cmd\preprintsty@sw\ % may produce strange formatting results, but it is not illegal. % However, it \emph{is} illegal to assert galley and any % twocolumn option. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\galley@sw{\@booleanfalse\galley@sw}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\groupauthors@sw} % The flag \cmd\groupauthors@sw\ signifies that authors are to be grouped. % This affects the meaning of \cmd\@author@present\ and \cmd\@tempaffil. % % FIXME: apparently \cmd\@tempaffil\ and its aliases are never used. % \end{macro} % % \begin{macro}{\runinaddress@sw} % The flag \cmd\runinaddress@sw\ signifies that author addresses are to be % run in. % \end{macro} % % \begin{macro}{\@affils@sw} % If \cmd\@affils@sw\ is false, an address is never recognised as ``new'' % and is therefore always entered into the affiliation list, % stopping groups of authors at the same address being amalgamated % into the same list: % the address will be printed the same number of times it is entered. % \end{macro} % % \begin{macro}{\showPACS@sw} % \begin{macro}{\showKEYS@sw} % If \cmd\showPACS@sw\ is true, print the PACS information in the title block, % otherwise not. % Similarly for \cmd\showKEYS@sw\ and the keywords. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\showPACS@sw{\@booleanfalse\showPACS@sw}{}% \@ifxundefined\showKEYS@sw{\@booleanfalse\showKEYS@sw}{}% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\floats@sw} % The Boolean \cmd\floats@sw\ signifies that floats are to be floated; % if false, that floats are to be deferred to the end of the document. % By default, the former. % Note that the state of this Boolean is to be changed by % the document class in response to user-selected options. % % This boolean and the assignment of its default value is done by % the \classname{ltxutil} package. % \end{macro} % % \begin{macro}{\floatp@sw} % The Boolean \cmd\floatp@sw\ signifies that endfloats are to be set one per page; % if false, that endfloats are to be set with multiple floats per page permitted. % By default, the latter. % Note that the state of this Boolean is to be changed by % the document class in response to user-selected options. % The default is established here. % \end{macro} % % \begin{macro}{\twoside@sw} % The flag \cmd\twoside@sw\ signifies that the document is to be % formatted for duplex printing. % At \cmd\AtBeginDocument\ time, we must align the value % of the kernel \cmd\newif\ switch \cmd\if@twoside\ % to that of \cmd\twoside@sw. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\twoside@sw{\@booleanfalse\twoside@sw}{}% \twoside@sw{\@twosidetrue}{\@twosidefalse}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\draft@sw} % The flag \cmd\draft@sw\ signifies that the document is to be % formatted in draft mode. % Certain packages may pay attention to the % class option \classoption{draft} that sets this Boolean. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\draft@sw{\@booleanfalse\draft@sw}{}% \draft@sw{\overfullrule 5\p@}{\overfullrule\z@}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\tightenlines@sw} % The boolean \cmd\tightenlines@sw\ signifies that % the leading is to be made standard amount. % If false, it means that the leading is to be set extra open. % Has no effect on 10pt size option. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\tightenlines@sw{\@booleanfalse\tightenlines@sw}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\lengthcheck@sw} % The flag \cmd\lengthcheck@sw\ signifies that % the length checking is in effect. % It is up to the individual journal substyle % to alter its formatting accordingly. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\lengthcheck@sw{\@booleanfalse\lengthcheck@sw}{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\eqsecnum@sw} % The flag \cmd\eqsecnum@sw\ signifies that equations are to be % numbered with the section, e.g., ``Eq. (2.13)''. % This flag is neither set nor queried. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\eqsecnum@sw{\@booleanfalse\eqsecnum@sw}{}% \eqsecnum@sw{% \@addtoreset{equation}{section}% \def\theequation@prefix{\arabic{section}.}% }{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\byrevtex@sw} % The flag \cmd\byrevtex@sw\ signifies that the document should % bear an imprint to the effect that it was formatted by this document class. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\byrevtex@sw{\@booleanfalse\byrevtex@sw}{}% }% % \end{macrocode} % \end{macro} % % % \subsection{Declare Options}% % % \subsubsection{Checkin: for Editorial Use}% % A document class option declaring that the document is being processed by the % editorial staff. % % This option should: % \begin{itemize} % \item % put date in footer along with folio % \item % Have the effect of selecting the \classoption{preprint} class option. % \item % Have the effect of selecting the \classoption{showpacs} class option. % \item % specify that when a float is placed h or H, it will be allowed to break over pages. % (Note: be sure that if the enclosed \env{tabular} has an optional argument, you change it to [v], or remove it entirely.) % \end{itemize} % \changes{v4.0beta 3}{1999/11/13} % {New option ``checkin''} % \begin{macrocode} \DeclareOption{checkin}{% \@booleantrue\dateinRH@sw \@booleantrue\preprintsty@sw \def\@pointsize{12}% \@booleantrue\showPACS@sw \@booleantrue\showKEYS@sw \def\fp@proc@h{\allow@breaking@tables}% \def\fp@proc@H{\allow@breaking@tables}% }% \@booleanfalse\dateinRH@sw \def\checkindate{\dateinRH@sw{{\tiny(\today)}}{}}% \def\allow@breaking@tables{% \def\array@default{v}% tabular can break over pages \@booleanfalse\floats@sw % table can break over pages }% % \end{macrocode} % % \subsubsection{Preprint Style}% % \changes{v4.d}{1998/01/31} % {Rearrange the ordering so numerical ones come first. AO: David, what does this mean?} % % \changes{v4.g}{1998/06/10} % {comma not space between email and homepage} % % \changes{v4.0beta 2}{1999/06/20} % {Move this ``complex'' option to the front, where it can be overridden by ``simple'' options.} % \begin{macrocode} \DeclareOption{preprint}{% \@booleantrue\preprintsty@sw \def\@pointsize{12}% }% \DeclareOption{manuscript}{% \class@warn{Document class option manuscript is obsolete; use preprint instead}% \ExecuteOptions{preprint}% }% % \end{macrocode} % % \subsubsection{Showing PACS and keywords}% % \changes{v4.0beta 2}{1999/06/20} % {New option} % \changes{v4.0beta 5}{2000/09/20} % {New option showkeys} % \begin{macrocode} \DeclareOption{showpacs}{% \@booleantrue\showPACS@sw }% \DeclareOption{noshowpacs}{% \@booleanfalse\showPACS@sw }% \DeclareOption{showkeys}{% \@booleantrue\showKEYS@sw }% \DeclareOption{noshowkeys}{% \@booleanfalse\showKEYS@sw }% % \end{macrocode} % % \subsubsection{Balance the last page when in two-column page grid}% % If we are in a two-column page grid, we may wish to balance the columns % of the last page. This will be done automatically if the % \classoption{twocolumn} document class option is chosen. % This action will be turned off by the \classoption{nobalancelastpage}. % A complementary class option, \classoption{balancelastpage} is also provided. % \begin{macrocode} \DeclareOption{balancelastpage}{% \@booleantrue\balancelastpage@sw }% \DeclareOption{nobalancelastpage}{% \@booleanfalse\balancelastpage@sw }% \appdef\class@inithook{% \@ifxundefined\balancelastpage@sw{% \@booleantrue\balancelastpage@sw }{}% }% % \end{macrocode} % % \subsubsection{Showing preprint numbers}% % \changes{v4.0beta 4}{2000/04/10} % {New option} % \begin{macrocode} \DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint@sw}% \DeclareOption{preprintnumbers}{\@booleantrue\preprint@sw}% % \end{macrocode} % % \subsubsection{Hypertext Option}% % % \changes{v4.e}{1998/01/31} % {protect against hyperref revtex kludges which are not needed now} % \changes{v4.0beta 2}{1999/06/20} % {Move this ``complex'' option to the front, where it can be overridden by ``simple'' options.} % \changes{v4.0rc4}{2001/07/23} % {hyperref is no longer loaded via class option: use a usepackage statement instead} % \begin{macrocode} \DeclareOption{hyperref}{% %\AtEndOfClass{% % \begingroup % \edef\@tempa{% % \let % \noexpand\@clsextension % \noexpand\@empty % \noexpand\RequirePackage{hyperref}% % \def\noexpand % \@clsextension{\@clsextension}% % }% % \expandafter % \endgroup % \@tempa %}% % \end{macrocode} % % If you have a hyper-foo enabled browser you may prefer this format % which does not print the URL for the home page, but just makes the % name a link, but by default print it so it works on paper. % \changes{v4.e}{1998/01/31} % {print homepage} % % \begin{macrocode} % \def\@pointsize{10}% \class@warn{Class option "hyperref" is no longer supported.^^JEmploy \string\usepackage{hyperref} instead}% }% % \end{macrocode} % % \subsubsection{Type Size}% % Use \cmd\@pointsize|=10| rather than \cmd\@ptsize|=0| to allow easy extensions % to 9pt or whatever. % Note: the three alternatives are mutually exclusive. Furthermore % if \cmd\@pointsize\ is still undefined at \cmd\AtEndOfClass\ time, % then the substyle can conclude that the user accepts the default. % \begin{macrocode} \DeclareOption{10pt}{\def\@pointsize{10}} \DeclareOption{11pt}{\def\@pointsize{11}} \DeclareOption{12pt}{\def\@pointsize{12}} % \end{macrocode} % % \subsubsection{Media Size}% % \changes{v4.0beta 2}{1999/06/20} % {Restore all media size class option of \protect\file{classes.dtx}} % \begin{macrocode} \DeclareOption{a4paper} {\setlength\paperheight {297mm}% \setlength\paperwidth {210mm}} \DeclareOption{a5paper} {\setlength\paperheight {210mm}% \setlength\paperwidth {148mm}} \DeclareOption{b5paper} {\setlength\paperheight {250mm}% \setlength\paperwidth {176mm}} \DeclareOption{letterpaper} {\setlength\paperheight {11in}% \setlength\paperwidth {8.5in}} \DeclareOption{legalpaper} {\setlength\paperheight {14in}% \setlength\paperwidth {8.5in}} \DeclareOption{executivepaper} {\setlength\paperheight {10.5in}% \setlength\paperwidth {7.25in}} \DeclareOption{landscape} {\setlength\@tempdima {\paperheight}% \setlength\paperheight {\paperwidth}% \setlength\paperwidth {\@tempdima}} % \end{macrocode} % % \subsubsection{Bibnotes}% % Frontmatter footnotes result from frontmatter commands like % \cmd\email, \cmd\homepage, \cmd\altaffiliation, and \cmd\thanks. % The default for \cmd\frontmatter@footnote@produce\ is % \cmd\frontmatter@footnote@produce@footnote, which formats the frontmatter footnotes % at the foot of the title page. The \classoption{bibnotes} class option % defers them to the bibliography. % \begin{macrocode} \DeclareOption{bibnotes}{\@booleantrue\bibnotes@sw}% \DeclareOption{nobibnotes}{\@booleanfalse\bibnotes@sw}% \appdef\class@enddocumenthook{\auto@bib}% \appdef\class@inithook{% \@ifxundefined\bibnotes@sw{\@booleanfalse\bibnotes@sw}{}% \bibnotes@sw{% \let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote }{% \let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote }% }% % \end{macrocode} % % \subsubsection{Footinbib}% % \begin{macrocode} \DeclareOption{footinbib}{\@booleantrue\footinbib@sw} \DeclareOption{nofootinbib}{\@booleanfalse\footinbib@sw} % \end{macrocode} % % \subsubsection{altaffilletter}% % % \begin{macrocode} \DeclareOption{altaffilletter}{\@booleantrue\altaffilletter@sw}% \DeclareOption{altaffilsymbol}{\@booleanfalse\altaffilletter@sw}% \appdef\class@inithook{% \@ifxundefined\altaffilletter@sw{\@booleanfalse\altaffilletter@sw}{}% }% % \end{macrocode} % % \subsubsection{superbib}% % The document may invoke superscript bibliography style. % If not, the journal substyle may make a selection. % If neither, the class itself selects a default. % This is really a quite deep nesting of defaults. % \begin{macrocode} \DeclareOption{superbib}{% \def\place@bibnumber{\place@bibnumber@sup}% }% % \end{macrocode} % % \subsubsection{citeautoscript}% % This class option allows you to automatically accomodate a change from non-superscripted, numbered references % to superscripted, bunmbered references. % % Note: you should always mark up your document with the assumption that references are \emph{not} going to be superscripted. % Otherwise this option has no hope of working properly. % % \begin{macrocode} \DeclareOption{citeautoscript}{% \@booleantrue\citeautoscript@sw }% \@booleanfalse\citeautoscript@sw % \end{macrocode} % % \subsubsection{Simplex/Duplex Pages}% % \changes{v4.e}{1998/01/31} % {4.d had twoside option setting twoside switch to false} % The complementary options \classoption{twoside} and \classoption{oneside} % assert formatting for duplex or simplex printing, respectively. % At the same time, we arrange for the selection of the page grid % with respect to the marginal column: % Because \cmd\if@reversemargin\ remains default (false), % if duplex printing, this column will always be on the (right), % if simplex printing, it will always be on the (outside). % QUERY: correct choice? % \begin{macrocode} \DeclareOption{twoside}{\@booleantrue\twoside@sw \@mparswitchfalse} \DeclareOption{oneside}{\@booleanfalse\twoside@sw\@mparswitchtrue} % \end{macrocode} % % \subsubsection{Two-Column Page Grid}% % % \begin{macro}{\twocolumn@sw} % The flag \cmd\twocolumn@sw\ signifies that the document is to be % formatted in the two-column page grid. % % If no options relating to page grid are invoked by % \cmd\AtBeginDcoument\ time, we set default values. % Up to that point, the class can check if \cmd\twocolumn@sw\ % is \cmd\undefined\ to see if any related options have been invoked. % % At \cmd\AtBeginDocument\ time, we must align the value % of the kernel \cmd\newif\ switch \cmd\if@twocolumn\ % to that of \cmd\twocolumn@sw. % % We install into \cmd\class@enddocumenthook\ % all tasks that we know must be completed at \cmd\AtEndDocument\ time. % The first thing it does is end the current paragraph. % The last is % to return us to one-column page grid. % (This task is installed as late as possible, % i.e., after items like \cmd\printtables.) % \begin{macrocode} \AtEndOfClass{% \def\clear@document{% \close@column }% \appdef\class@inithook{% \@ifxundefined\close@column{% \let\close@column\close@column@default }{}% }% }% % \end{macrocode} % \end{macro} % % The \classoption{twocolumn} class option employs the standard mechanism for % changing the column grid: the \classname{ltxgrid} package. % \begin{macrocode} \DeclareOption{twocolumn}{% \@booleantrue\twocolumn@sw }% % \end{macrocode} % % \classoption{onecolumn} specifies one-column page grid. % \begin{macrocode} \DeclareOption{onecolumn}{% \@booleanfalse\twocolumn@sw }% % \end{macrocode} % % \classoption{galley} emulates setting the galleys of % a two-column journal. % FIXME: this option should effectively set \cmd\preprintsty@sw\ false. % NOTE: it makes no sense to assert both galley and twocolumn. % % \begin{macrocode} \DeclareOption{galley}{% \ExecuteOptions{onecolumn}% \@booleantrue\galley@sw \appdef\set@pica@hook{% \advance\textwidth-\columnsep \textwidth.5\textwidth }% }% % \end{macrocode} % % % \subsubsection{raggedbottom or flushbottom}% % The class options \classoption{raggedbottom} and \classoption{flushbottom} determine whether the columns (page) % are ragged bottom or flush bottom. % Note that we do not select a default here; that is done by the journal substyle. % \begin{macrocode} \DeclareOption{raggedbottom}{\@booleantrue\raggedcolumn@sw} \DeclareOption{flushbottom}{\@booleanfalse\raggedcolumn@sw} % \end{macrocode} % % \subsubsection{tightenlines}% % This class option specifies that standard leading % is to be used to set the type. % If lacking, the leading will be loose. % % \begin{macrocode} \DeclareOption{tightenlines}{\@booleantrue\tightenlines@sw} % \end{macrocode} % % \subsubsection{lengthcheck}% % This class option specifies that the formatted document % should approach as closely as possible the % formatting of an actual journal article % to facilitate the author's performance of a length check. % % \begin{macrocode} \DeclareOption{lengthcheck}{% \@booleantrue\lengthcheck@sw \@booleantrue\twoside@sw \@booleantrue\twocolumn@sw }% % \end{macrocode} % % \subsubsection{Draft and Final}% % \begin{macrocode} \DeclareOption{draft}{% \@booleantrue\draft@sw }% \DeclareOption{final}{% \@booleanfalse\draft@sw }% % \end{macrocode} % % \subsubsection{eqsecnum}% % The \classoption{eqsecnum} class option signifies that equations are % to be numbered within sections. % \begin{macrocode} \DeclareOption{eqsecnum}{\@booleantrue\eqsecnum@sw} % \end{macrocode} % % \subsubsection{secnumarabic}% % The \classoption{secnumarabic} class option signifies that sectioning commands are % to be numbered arabic. % \begin{macrocode} \DeclareOption{secnumarabic}{\@booleantrue\secnumarabic@sw} % \end{macrocode} % The code that polls the Boolean \cmd\secnumarabic@sw\ appears % in Section~\ref{sec:secnumarabic}. % % FIXME: model fleqn after amsfonts. I no longer understand why I said this. % \begin{macrocode} \DeclareOption{fleqn}{\input{fleqn.clo}} % \end{macrocode} % % \subsubsection{floats/endfloats}% % These options control, via the Boolean \cmd\floats@sw, % whether floats are to be migrated to the end of the document. % \begin{macrocode} \DeclareOption{floats}{\@booleantrue\floats@sw\@booleanfalse\floatp@sw} \DeclareOption{endfloats}{\@booleanfalse\floats@sw\@booleanfalse\floatp@sw} \DeclareOption{endfloats*}{\@booleanfalse\floats@sw\@booleantrue\floatp@sw} \appdef\class@inithook{% \@ifxundefined\floats@sw{\@booleantrue\floats@sw}{}% \@ifxundefined\floatp@sw{\@booleantrue\floatp@sw}{}% }% % \end{macrocode} % % \subsubsection{titlepage/notitlepage}% % These options control, via \cmd\titlepage@sw, % whether the title block is to be set on a separate page. % \begin{macro}{\titlepage@sw} % The flag \cmd\titlepage@sw\ signifies that a forced % page break is to follow the title page: the article % title appears on a page by itself. % % The Boolean \cmd\titlepage@sw\ is in an odd situation: % its value is set by one or more substyles, contingent % upon the value of another Boolean. % Therefore that code must be invoked at \cmd\AtBeginDocument\ time. % Therefore we must assign the default value at the very end % of \cmd\AtBeginDocument\ processing: we use \cmd\defaults@hook. % Luckily, this Boolean does not need to be queried at % \cmd\AtBeginDocument\ time, or we'd be in dire straights. % \begin{macrocode} \DeclareOption{titlepage}{\@booleantrue\titlepage@sw} \DeclareOption{notitlepage}{\@booleanfalse\titlepage@sw} \appdef\defaults@hook{% \@ifxundefined\titlepage@sw{\@booleanfalse\titlepage@sw}{}% }% % \end{macrocode} % \end{macro} % % \subsubsection{Substyle and Sub-substyle}% % % If the society has already been assigned, % notify user that \cmd\@society\ is being overridden. % % \begin{macrocode} \def\change@society#1{% \def\@tempa{#1}% \@ifxundefined\@society{}{% \@ifx{\@tempa\@society}{}{% \class@warn{Conflicting society \@tempa<>\@society.}% }% }% \let\@society\@tempa }% % \end{macrocode} % Here are the class options relating to the APS % \begin{macrocode} \DeclareOption{aps}{\change@society{aps}\def\@journal{}}% \DeclareOption{pra}{\change@society{aps}\def\@journal{pra}}% \DeclareOption{prb}{\change@society{aps}\def\@journal{prb}}% \DeclareOption{prc}{\change@society{aps}\def\@journal{prc}}% \DeclareOption{prd}{\change@society{aps}\def\@journal{prd}}% \DeclareOption{pre}{\change@society{aps}\def\@journal{pre}}% \DeclareOption{prl}{\change@society{aps}\def\@journal{prl}}% \DeclareOption{prstab}{\change@society{aps}\def\@journal{prstab}}% \DeclareOption{rmp}{\change@society{aps}\def\@journal{rmp}}% % \end{macrocode} % Here are the class options relating to the Optical Society of America % \begin{macrocode} \DeclareOption{osa}{\change@society{osa}\def\@journal{}}% \DeclareOption{osameet}{\change@society{osa}\def\@journal{osameet}}% \DeclareOption{opex}{\change@society{osa}\def\@journal{opex}}% \DeclareOption{tops}{\change@society{osa}\def\@journal{tops}}% \DeclareOption{josa}{\change@society{osa}\def\@journal{josa}}% % \end{macrocode} % % NOTE: \file{revguide.tex} does not mention any \cmd\@journal\ options % besides \classoption{prb}. % % \begin{macro}{amsfonts} % The class option \classoption{amsfonts} has the % same effect as if the document preamble contained % a \cmd\usepackage\verb${amsfonts}$ statement. % \begin{macrocode} \DeclareOption{amsfonts}{% \def\class@amsfonts{\RequirePackage{amsfonts}}% }% \DeclareOption{noamsfonts}{% \let\class@amsfonts\@empty }% \AtEndOfClass{% \@ifxundefined\class@amsfonts{}{\class@amsfonts}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{amssymb} % The class option \classoption{amssymb} has the % same effect as if the document preamble contained % a \cmd\usepackage\verb${amssymb}$ statement. % \begin{macrocode} \DeclareOption{amssymb}{% \def\class@amssymb{\RequirePackage{amssymb}}% }% \DeclareOption{noamssymb}{% \let\class@amssymb\@empty }% \AtEndOfClass{% \@ifxundefined\class@amssymb{}{\class@amssymb}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{amsmath} % The class option \classoption{amsmath} has the % same effect as if the document preamble contained % a \cmd\usepackage\verb${amsmath}$ statement. % % We require version 1.2 (datestamped 1997/03/20) or later. % The \expandafter\cmd\csname ver@amsmath.sty\endcsname, will % % \LaTeX\ note: % Certain \LaTeX\ procedures have an arbitrary and pointless restriction that they may be used only within the preamble. % We get around this by preserving the procedures in private \cmd\csname s. % % FIXME note: it is difficult to ensure that an error summary will be printed on the console at the very end, % but \classname{ltxgrid} allows accomplishing this via an interrupt, put down at \cmd\AtEndDocument\ time. % % \begin{macrocode} \DeclareOption{amsmath}{% \def\class@amsmath{\RequirePackage{amsmath}[\ver@amsmath@prefer]}% }% \DeclareOption{noamsmath}{% \let\class@amsmath\@empty }% \AtEndOfClass{% \preserve@LaTeX \@ifxundefined\class@amsmath{}{\class@amsmath}% \appdef\class@enddocumenthook{\test@amsmath@ver}% }% \appdef\preserve@LaTeX{% \let\@ifl@aded@LaTeX\@ifl@aded \let\@ifpackageloaded@LaTeX\@ifpackageloaded \let\@pkgextension@LaTeX\@pkgextension \let\@ifpackagelater@LaTeX\@ifpackagelater \let\@ifl@ter@LaTeX\@ifl@ter \let\@ifl@t@r@LaTeX\@ifl@t@r \let\@parse@version@LaTeX\@parse@version }% \appdef\restore@LaTeX{% \let\@ifl@aded\@ifl@aded@LaTeX \let\@ifpackageloaded\@ifpackageloaded@LaTeX \let\@pkgextension\@pkgextension@LaTeX \let\@ifpackagelater\@ifpackagelater@LaTeX \let\@ifl@ter\@ifl@ter@LaTeX \let\@ifl@t@r\@ifl@t@r@LaTeX \let\@parse@version\@parse@version@LaTeX }% \def\test@amsmath@ver{% \begingroup \restore@LaTeX \@ifpackageloaded{amsmath}{% \@ifpackagelater{amsmath}{\ver@amsmath@prefer}{}{% \class@warn{% You have loaded amsmath, version "\csname ver@amsmath.sty\endcsname",\MessageBreak but this class requires version "\ver@amsmath@prefer", or later.\MessageBreak Please update your LaTeX installation. }% }% }{% }% \endgroup }% \def\ver@amsmath@prefer{2000/01/15 v2.05 AMS math features}% % \end{macrocode} % \end{macro} % % \subsubsection{Presenting Authors and Their Affiliations}% % \changes{v4.0beta 2}{1999/06/20} % {These options are now mutually exclusive. But is this correct?} % % The \classoption{runinaddress} option is the only one that sets \cmd\runinaddress@sw\ to true. % % The \classoption{unsortedaddress} option is the only one that sets \cmd\@affils@sw\ to false. % % If we take the \classoption{groupedaddress} option as the default, then we can look upon % the \classoption{superscriptaddress} option as simply turning \cmd\groupauthors@sw\ to false. % % \classoption{groupedaddress}, the default, groups authors above a common address. % In order to assert the default and still provide for proper precedence % for document-supplied options, we carry out our action at \cmd\AtBeginDocument\ time, % and only if none of the related class options were invoked. % \begin{macrocode} \DeclareOption{groupedaddress}{\clo@groupedaddress}% \def\clo@groupedaddress{% \@booleantrue\groupauthors@sw \@booleantrue\@affils@sw \@booleanfalse\runinaddress@sw }% \appdef\class@inithook{% \@ifxundefined\groupauthors@sw{\clo@groupedaddress}{}% }% % \end{macrocode} % % \classoption{unsortedaddress} is similar to \classoption{groupedaddress}, % but turns off \cmd\@affils@sw, % with the result that each address that is entered will be printed. % \begin{macrocode} \DeclareOption{unsortedaddress}{\clo@unsortedaddress}% \def\clo@unsortedaddress{% \@booleantrue\groupauthors@sw \@booleanfalse\@affils@sw \@booleanfalse\runinaddress@sw }% % \end{macrocode} % % \classoption{runinaddress} is similar to \classoption{groupedaddress}, % with the addition of the Boolean \cmd\runinaddress@sw, % which causes the authors associated with a particular address group % to be formatted in a paragraph instead of on separate lines. % \begin{macrocode} \DeclareOption{runinaddress}{\clo@runinaddress}% \def\clo@runinaddress{% \@booleantrue\groupauthors@sw \@booleantrue\@affils@sw \@booleantrue\runinaddress@sw }% % \end{macrocode} % % \classoption{superscriptaddress} presents author affiliations % as superscripts. Authors with like affiliations share the same % superscript. % % FIXME: if \cmd\groupauthors@sw\ is false, would not \cmd\@affils@sw\ be a don't care? % \begin{macrocode} \DeclareOption{superscriptaddress}{\clo@superscriptaddress}% \def\clo@superscriptaddress{% \@booleanfalse\groupauthors@sw \@booleantrue\@affils@sw \@booleanfalse\runinaddress@sw }% % \end{macrocode} % % % \subsubsection{Typeset by \revtex}% % % The class option \classoption{byrevtex} signifies that you want the % ``Typeset by \revtex'' byline to appear on your formatted output. % By default, no such byline appears. % \begin{macrocode} \DeclareOption{byrevtex}{\@booleantrue\byrevtex@sw}% % \end{macrocode} % % % \subsection{Attempt to fix float placement failure}% % % \revtex\ uses the \classname{ltxgrid} package, which provides the ability to attempt repairs when % \LaTeX's float placement mechanism is about to fail, but that facility is turned off by default. % Users should invoke the \classoption{floatfix} document class option to enable this \LaTeX\ extension. % If not, a helpful message is printed in the log, indicating how to work around the difficulty. % \begin{macrocode} \DeclareOption{floatfix}{\@booleantrue\force@deferlist@sw}% \DeclareOption{nofloatfix}{\@booleanfalse\force@deferlist@sw}% \appdef\class@inithook{% \@ifxundefined\force@deferlist@sw{\@booleanfalse\force@deferlist@sw}{}% }% % \end{macrocode} % % \begin{macro}{\@fltovf} % \begin{macro}{\@fltstk} % The \LaTeX\ kernel error message \cmd\@fltovf\ may now be a bit more helpful to the user; % likewise for the \cmd\@fltstk\ message of \classname{ltxgrid}. % \begin{macrocode} \gdef\@fltovf{% \@latex@error{% Too many unprocessed floats% \force@deferlist@sw{}{; try class option [floatfix]}% }\@ehb }% \def\@fltstk{% \@latex@warning{% A float is stuck (cannot be placed)% \force@deferlist@sw{}{; try class option [floatfix]}% }% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\ltxgrid@info@sw} % \begin{macro}{\outputdebug@sw} % The two options \classoption{ltxgridinfo} and \classoption{outputdebug} turn on informative diagnostics within the % package \classname{ltxgrid}. Only people who really want to see this output will select these class options. % Consult documentation for the \classname{ltxgrid} package to see what output the related switches enable. % \begin{macrocode} \DeclareOption{ltxgridinfo}{\@booleantrue\ltxgrid@info@sw}% \DeclareOption{outputdebug}{\@booleantrue\outputdebug@sw}% % \end{macrocode} % \end{macro} % \end{macro} % % \subsection{Option to relax page height}% % % The \classname{ltxgrid} package can set text pages to their natural height or force them to the full % text height; the latter is the default. % If setting the pages with a variable length, % the running foot will move up or down with the natural length of the text column. % While I recommend against doing so, this option will turn that switch to the latter setting. % \begin{macrocode} \DeclareOption{raggedfooter}{\@booleanfalse\textheight@sw}% \DeclareOption{noraggedfooter}{\@booleantrue\textheight@sw}% % \end{macrocode} % % \subsection{Selecting procedure for processing abstract}% % % There are two different procedures for processing an abstract; the options % \classoption{newabstract} and \classoption{oldabstract} determine which one the user % prefers. At present, the default is to use the old, but this may change. % \begin{macrocode} \DeclareOption{newabstract}{\@booleanfalse\oldabstract@sw}% \DeclareOption{oldabstract}{\@booleantrue \oldabstract@sw}% \appdef\class@inithook{% \@ifxundefined\oldabstract@sw{\@booleanfalse\oldabstract@sw}{}% \oldabstract@sw{% \let@environment{abstract}{abstract-old}% }{}% }% % \end{macrocode} % % % % % \subsection{Default Option}% % % The default handling for a document class option is to % treat it as the name of a society and % hunt for a corresponding \file{.rtx} file to read in. % This behavior is much like the \LaTeX2.09 handling, where % one looked for a \file{.sty} file, except that % in this case, we must catch the case where multiple % unknown options are declared. % % \begin{macrocode} \DeclareOption*{% \IfFileExists{\CurrentOption\substyle@ext}{% \expandafter\change@society\expandafter{\CurrentOption}% }{% \OptionNotUsed }% }% \def\substyle@ext{.rtx}% \AtEndOfClass{% \@ifxundefined\@society{% \class@warn{No Society specified, using generic APS style}% \def\@society{aps}\def\@journal{}% }{}% \expandafter\input\expandafter{\@society\substyle@ext}% }% % \end{macrocode} % % \subsection{Class-Asserted Options}% % \changes{v4.0beta 2}{1999/06/20} % {% % Removed invocation of nonexistent class option \protect\classoption{groupauthors} % and all other class options that should only be invoked by the document. % (Otherwise precedence of class options does not work.) % } % Here we establish the default document class options. % Those of the document itself will override these. % \begin{macrocode} \ExecuteOptions{10pt} % \end{macrocode} % % \subsection{Execute Options}% % The document class options are processed in the order % they are declared in this document class file. % % Precedence is established in the following way: % % First, the single \file{.rtx} file is read in. % It may set values to any of the Booleans that represent class options, % and it may elect to do so only if that Boolean is undefined, signifying % that its corresponding document class options were absent from % the document's option list. % In this way correct precedence of class options is maintained. % % Second, the type size option is acted upon. Type size code % should not require altering the values of any of the Booleans carrying % class options. % % Next, at \cmd\AtEndOfClass\ time, certain packages are read in. % % Finally, at \cmd\AtBeginDocument\ time, the state of the Booleans determines % how the formatting will go. % % \begin{macrocode} \ProcessOptions\relax % \end{macrocode} % % % \section{Procedures Dependent Upon Options} % % Here we introduce \classname{classes.dtx} definitions for % the page styles that people will expect to be able to use. % \begin{macro}{\ps@headings} % \begin{macro}{\ps@myheadings} % \begin{macrocode} \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\sectionmark##1{% \markboth {\MakeUppercase{% \ifnum \c@secnumdepth >\z@ \thesection\quad \fi ##1}}{}}% \def\subsectionmark##1{% \markright {% \ifnum \c@secnumdepth >\@ne \thesubsection\quad \fi ##1}}}% \def\ps@myheadings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\@gobbletwo \let\sectionmark\@gobble \let\subsectionmark\@gobble }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\ps@article@twoside} % \begin{macro}{\ps@article@oneside} % \begin{macro}{\ps@preprint} % \changes{v4.e}{1998/01/31} % {Move after process options, so the following test works} % \changes{v4.0beta 2}{1999/06/20} % {Defer decision until \cs{AtBeginDocument} time} % \changes{v4.0beta 3}{1999/11/13} % {Insert procedure \cs{checkindate}} % \changes{v4.0rc1}{2001/06/17} % {Running headers always as if two-sided} % \begin{macrocode} \def\ps@article{% \@provide\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}% \@provide\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}% \@provide\@oddfoot{}% \@provide\@evenfoot{}% \let\@mkboth\markboth \let\sectionmark\@gobble \let\subsectionmark\@gobble }% \def\ps@article@final{% \@provide\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}% \@provide\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}% \@provide\@oddfoot{}% \@provide\@evenfoot{}% \let\@mkboth\markboth \def\sectionmark##1{% \markboth{% \MakeTextUppercase{% \@ifnum{\c@secnumdepth >\z@}{\thesection\hskip 1em\relax}{}% ##1% }% }{}% }% \def\subsectionmark##1{% \markright {% \@ifnum{\c@secnumdepth >\@ne}{\thesubsection\hskip 1em\relax}{}% ##1% }% }% }% \appdef\class@inithook{% %\twoside@sw{% %}{% %}% }% % \end{macrocode} % % \begin{macrocode} \def\heading@cr{\unskip\space\ignorespaces}% % \end{macrocode} % % \changes{v4.0beta 3}{1999/11/13} % {Do not put by REVTeX in every page foot} % \changes{v4.0beta 3}{1999/11/13} % {Insert procedure \cs{checkindate}} % \begin{macrocode} \def\ps@preprint{% \@provide\@oddfoot{\hfil\thepage\quad\checkindate\hfil}% \@provide\@evenfoot{\hfil\thepage\quad\checkindate\hfil}% \@provide\@oddhead{}% \@provide\@evenhead{}% \let\@mkboth\@gobbletwo \let\sectionmark\@gobble \let\subsectionmark\@gobble }% % \end{macrocode} % % \begin{macrocode} \let\@oddhead\@undefined \let\@evenhead\@undefined \let\@oddfoot\@undefined \let\@evenfoot\@undefined \AtEndOfClass{% \appdef\class@documenthook{% \@provide\@oddhead{}% \@provide\@evenhead{}% \@provide\@oddfoot{}% \@provide\@evenfoot{}% }% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\lastpage@putlabel} % Support the default meaning of \cmd\@endpage. % \changes{v4.d}{1998/01/31} % {Move after process options, so \cs{clearpage} not in scope of % twocolumn} % Name of this macro (and the \cmd\label\ key) taken from % \url{CTAN:/macros/latex/contrib/other/lastpage}% % with code optimised slightly. % \begin{macrocode} \def\lastpage@putlabel{% \if@filesw \begingroup \advance\c@page\m@ne \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}}}% \endgroup \fi }% % \end{macrocode} % Install a late hook into \cmd\class@enddocumenthook\ that % labels the last page of the document. % This is done just before the \file{.aux} file % is closed, and does not require a \cmd\shipout, because it writes % directly to the \file{.aux} file. % Note that we invoke \cmd\clearpage: this means that no more typesetting % should be done past this point. % CHECKME: are there any more things installed via % \cmd\AtEndOfClass\allowbreak\cmd\class@enddocumenthook? % \begin{macrocode} \AtEndOfClass{% \appdef\clear@document{% \clearpage \lastpage@putlabel }% }% % \end{macrocode} % \end{macro} % % % \section{Required Packages} % \url{CTAN:macros/latex/contrib/other/misc/url.sty}% % \begin{macrocode} \RequirePackage{url}% % \end{macrocode} % % \section{Incompatible Packages} % Known to be incompatible are \classname{multicol} and \classname{cite}. % The former is incompatible with \classname{ltxgrid}, which replaces it. % The latter is incompatible with \classname{natbib}, which replaces its functionality. % \begin{macrocode} \appdef\class@inithook{% \incompatible@package{cite}% \incompatible@package{multicol}% }% % \end{macrocode} % % \section{Society- and Journal-Specific Code} % % \begin{macro}{\@journal} % Journal test helper, used as % \begin{verbatim} %\@ifx{\@journal\journal@pra}{% % <journal-specific setup> %\fi % \end{verbatim} % Journal code might like to further specify (if as yet undefined) or distinguish on % the following Booleans. % % Note: the journal substyle code should only alter the value of one of these Booleans if % the Boolean is \cmd\undefined. This convention is what makes the document's % options take precedence over the values set by the journal. % % FIXME: make this table an exhaustive listing of all the parameters set by % the class options. % % \begin{tabular}{ll} % \cmd\@pointsize &(10|11|12), depending on the type size\\ % \cmd\footinbib@sw &true if footnotes are to be formatted in the bibliography\\ % \cmd\preprintsty@sw &true for preprint and hyperpreprint\\ % \cmd\eqsecnum@sw &true means that equations are numbered within sections\\ % \cmd\secnumarabic@sw &true means the sections are to be numbered arabic\\ % \cmd\groupauthors@sw &true means authors listed separately for each address\\ % \cmd\preprint@sw &true means to produce the preprint numbers as part of the title block\\ % \cmd\showPACS@sw &true means to produce the PACS as part of the title block\\ % \cmd\showKEYS@sw &true means to produce the keywords as part of the title block\\ % \cmd\@affils@sw &true means each affiliation is printed, for each author\\ % \cmd\runinaddress@sw &true means author addresses are printed run-in\\ % \cmd\draft@sw &true implies that PACS will be printed\\ % \cmd\tightenlines@sw &true if preprint single spaced\\ % \cmd\lengthcheck@sw &true if length checking is in effect\\ % \cmd\byrevtex@sw &true means to announce ``typeset by \revtex''\\ % \cmd\titlepage@sw &true for title is to be set on a separate page\\ % \cmd\twocolumn@sw &true if two-column page grid\\ % \cmd\twocolumn@sw &true if we are to automatically balance the columns of the last page\\ % \cmd\twoside@sw &true means to format pages for duplex printing\\ % \cmd\floats@sw &false means floats are migrated to end of document\\ % \cmd\floatp@sw &true means endfloats are set one to a page\\ % \cmd\class@amsfonts &if \cmd\@empty, means that \classname{amsfonts} will \emph{not} be loaded\\ % \cmd\class@amssymb &if \cmd\@empty, means that \classname{amssymb} will \emph{not} be loaded\\ % \cmd\frontmatter@footnote &if \cmd\undefined, means that the default (\cmd\footnote) will be used\\ % \cmd\place@bibnumber &if \cmd\undefined, means that the default (inline) will be used\\ % \end{tabular} % % Note: if \cmd\twocolumn@sw\ and \cmd\preprintsty@sw\ are both false, % then `galley' style is in effect. The \classoption{galley} option invokes % \classoption{onecolumn}, but does not affect the \cmd\preprintsty@sw. % % Note: \cmd\paperwidth\ and \cmd\paperheight\ are not integrated into this scheme, % and should be selected by the document alone. % \end{macro} % % % \section{Front Matter} % % \subsection{The title command}% % % \begin{macro}{\title} % \begin{macro}{\do@title} % The author uses \cmd\title\ to specify the title. As in the AMS % classes, \cmd\title\ has an optional argument specifying a short form % for use in running heads. % % Once the \cmd\title\ is given, you can specify any combination of % \cmd\thanks, \cmd\email, \cmd\homepage, and \cmd\altaffiliation\ commands, % applying to the title of the document. % \begin{macrocode} \renewcommand\title[2][]{% \def\@title{#2}% \def\@shorttitle{#1}% \let\@AF@join\@title@join }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@title} % \begin{macro}{\@shorttitle} % The arguments to \cmd\title\ are saved in these internal % macros, which are set up to produce a warning if \cmd\title\ has not % been used before \cmd\maketitle. % \begin{macrocode} \appdef\class@inithook{% \def\@title{\class@warn{No title}}% \let\@shorttitle\@empty \let\@title@aux\@title@aux@cleared }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@title@join} % \begin{macro}{\@title@join@} % \begin{macro}{\@title@aux@cleared} % % \begin{macrocode} \def\@title@join{\expandafter\@title@join@\@title@aux}% \def\@title@join@#1#2{% \def\@title@aux{{\@join{\@separator}{#1}{#2}}}% }% \def\@title@aux@cleared{{}}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % % \subsection{The author, affiliation, and related commands}% % % \begin{macro}{\c@affil} % A counter to store the affiliation numbers used for the % superscript marks. This command defines \cmd\theaffil. % \begin{macrocode} \newcounter{affil} % \end{macrocode} % \end{macro} % % \subsubsection{Commands for author or collaboration}% % % \begin{macro}{\author} % Each author is given in a \emph{separate} \cmd\author\ command. % This is similar to the AMS classes, but the AMS also try to support % the \classname{article} class's \cmd\and\ command for putting multiple % authors in one \cmd\author\ command. % \revtex, however, does not support the \cmd\and\ command. % % When the \cmd\author\ command is encountered, the previous author, author group, affiliation, and affiliation group are at an end. % This procedure moves the previous author to the author group (\cmd\move@AU), % moves the previous affiliation to the affiliation group (\cmd\move@AF), % and terminates the previous author/affiliation group (\cmd\move@AUAF) as the case may require. % \begin{macrocode} \renewcommand\author{% implicit #1 \@author@def{}% implicit #2 }% % \end{macrocode} % \end{macro} % % \begin{macro}{\collaboration} % \begin{macro}{\@collaboration@} % Specify the collaboration (given after a group of authors). % % This procedure does exactly what \cmd\author\ does, and sets % a flag signifying that the \cmd\collaboration\ command was given. % % Note: earlier versions attempted to ignore the collaboration command if it was considered inappropriate. % We must not do this, however, because it throws the state machine out of kilter. % \begin{macrocode} \def\collaboration{% implicit #1 \groupauthors@sw{% \class@warn{% \string\collaboration\space is only allowed with superscriptaddress option. Use superscriptaddress in place of groupedaddress, unsortedaddress, or runinaddress% }% }{}% \@author@def{\@booleantrue\collaboration@sw}% implicit #2 }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@author@init} % \begin{macro}{\@author@cleared} % \begin{macro}{\@authorclear@sw} % \begin{macro}{\@author@def} % \begin{macro}{\@author@join@} % \begin{macro}{\@author@join} % \changes{v4.0beta 2}{1999/06/20} % {Change handling of \cs{@author} to prevent parsing problems. % (Helps in error recovery when syntax errors exist)} % % Here are all the access procedures for the author data structure. % % We define a flag value for \cmd\@author (private), % a procedure for setting \cmd\@author\ to the flag value (\cmd\@author@init), % a Boolean to test against the flag value (\cmd\@authorclear@sw), % and a procedure to add new ancillary data to the author. % \begin{macrocode} \def\@author@cleared{{}{}}% \def\@author@init{% \let\@author\@author@cleared }% \def\@authorclear@sw{\@ifx{\@author\@author@cleared}}% \appdef\class@inithook{% \@author@init }% \def\@author@def#1#2{% \move@AU\move@AF\move@AUAF \let\@AF@join\@author@join #1% \def\@author{{#2}{}}% }% \def\@author@join@#1#2#3{% \def\@author{{#1}{\@join{\@separator}{#2}{#3}}}% }% \def\@author@join{\expandafter\@author@join@\@author}% \def\@author@gobble#1#2{}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\move@AU} % Move the most recent author to the list of current authors. % If we recently did a \cmd\@author@init, this is a no-op. % If we recently encountered a \cmd\collaboration, % we preface the author with the \cmd\CO@opr \ intercollated operator, % otherwise we apply \cmd\AU@opr. % \begin{macrocode} \def\move@AU{% \@authorclear@sw{}{% \collaboration@sw{% \expandafter\appdef \expandafter\AU@grp \expandafter{% \expandafter \CO@opr \@author }% }{% \expandafter\appdef \expandafter\AU@grp \expandafter{% \expandafter \AU@opr \@author }% }% }% \@author@init \@booleanfalse\collaboration@sw }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@author@finish} % We define a procedure to terminate author/affiliation parsing just before the title block is formatted. % We detect the case where an author group is not followed by an affiliation group. % \changes{v4.0beta 6}{2001/02/13} % {Actually append AU@grp to @AAClist.} % % We first finish off any author- or affiliation groups in progress. % Next, we detect the case where there is an author group in progress, but no affiliation group. % If so, we emit a diagnositic message and act as if a \cmd\noaffiliation\ command had been given. % In any case, we finish off any author/affiliation pair that may remain. % Formatting of the title block may now proceed. % \begin{macrocode} \def\@author@finish{% \move@AU\move@AF \@ifx{\AU@grp\@empty}{}{% \@ifx{\AF@grp\@empty}{% \begingroup \let\href\@secondoftwo \let\AU@opr\@firstoftwo \let\CO@opr\@firstoftwo \class@warn{Assuming \string\noaffiliation\space for \AU@grp}% \endgroup \begingroup\@affiliation{\blankaffiliation}%\endgroup in \@affiliation \move@AF % % \appdef \@AAC@list{\AF@opr}% % \appdef@eval\@AAC@list{\AF@grp}% % \appdef@e \@AAC@list{\AU@grp}% % \let\AU@grp\@empty % \let\AF@grp\@empty }{}% }% \move@AUAF }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@join} % The procedure \cmd\@join\ inserts % a separator between two tokens, or, if the first token is % nil, elides both that token and the separator. % \begin{macrocode} \def\@join#1#2#3{% \@if@empty{#2}{#3}{#2#1#3}% }% \def\@separator{;\space}% % \end{macrocode} % \end{macro} % % \begin{macro}{\surname} % \begin{macro}{\firstname} % No-op to allow better post-processing of the file. % \begin{macrocode} \let\surname\@firstofone \let\firstname\@firstofone % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\AU@grp} % The control sequence name \cmd\AU@grp\ accretes % consecutive \cmd\author\ entries (with \cmd\AU@opr\ as the intercollated operator) % and \cmd\collaboration\ entries (with \cmd\CO@opr\ as the intercollated operator). % Ultimately, its contents are appended to the author/affiliation list \cmd\@AAC@list. % It must be initialized to \cmd\@empty. % % Note on \cmd\AU@opr\ and \cmd\CO@opr: it is essential to treat these two operators to the greatest extent possible on an equal footing. % Therefore we invariably assign values to the pair of them within the same procedure. % % \begin{macrocode} \let\AU@grp\@empty % \end{macrocode} % \end{macro} % % \begin{macro}{\and} % The original \LaTeX\ idea of using one \cmd\author\ command to capture % all authors and their address just doesn't work with multiple authors % possibly sharing addresses, so in this class disable \cmd\and. % \begin{macrocode} \renewcommand\and{\class@err{\protect\and\space is not supported}} % \end{macrocode} % \end{macro} % % % \subsubsection{Commands for affiliation}% % % \begin{macro}{\affiliation} % After each group of authors with the same address, % give that address in \cmd\affiliation. % If later in the list you have an author % with the address of an earlier author, repeat the \cmd\affiliation\ % command: the system will detect the similarity and (if using the \classoption{superscriptaddress} option) only print the % affiliation once, reusing the superscript marker. % % When the \cmd\affiliation\ command is encountered, the current author and author group (if any) are at an end. % Also, the current affiliation is at an end. % % FIXME: changes to catcode required elsewhere now? % \begin{macrocode} \def\cat@comma@active{\catcode`\,\active}% {\cat@comma@active\gdef,{\active@comma}}% \def\active@comma{,\penalty-300\relax}% \newcommand\affiliation{% \move@AU\move@AF \begingroup \cat@comma@active \@affiliation }% \def\@affiliation#1{% \endgroup \let\@AF@join\@affil@join \@affil@def{#1}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\noaffiliation} % User-level command signifying that the current group of authors has \emph{no} affiliation. % % This is implemented by acting as if the \cmd\affiliation\ command has been given, and using a % flag value of \cmd\blankaffiliation, which \cmd\@affil@group\ can recognize as a no-op. % \begin{macrocode} \newcommand\noaffiliation{% \move@AU\move@AF % \edef\AF@grp{\AF@grp}% \begingroup\@affiliation{\blankaffiliation}% % \move@AF }% \def\blankaffiliation{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@affil@cleared} % \begin{macro}{\@affil@init} % \begin{macro}{\@affilclear@sw} % \begin{macro}{\@affil@def} % \begin{macro}{\@affil@join@} % \begin{macro}{\@affil@join} % % Here are all the access procedures for the affiliation data structure. % Note the similarity to those of the \cmd\@author\ data structure. % % We define a flag value for \cmd\@affil\ (private), % a procedure for setting \cmd\@affil\ to the flag value (\cmd\@affil@init), % a Boolean to test against the flag value (\cmd\@affilclear@sw), % and a procedure to add new ancillary data to the affiliation. % \begin{macrocode} \def\@affil@cleared{{}{}}% \def\@affil@init{% \let\@affil\@affil@cleared }% \def\@affilclear@sw{\@ifx{\@affil\@affil@cleared}}% \appdef\class@inithook{% \@affil@init }% \def\@affil@def#1{\def\@affil{{#1}{}}}% \def\@affil@join@#1#2#3{% \def\@affil{{#1}{\@join{\@separator}{#2}{#3}}}% }% \def\@affil@join{\expandafter\@affil@join@\@affil}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\move@AF} % Move the most recent affiliation to the affiliation group. % If we recently did a \cmd\@affil@init, this is a no-op. % \begin{macrocode} \def\move@AF{% \@affilclear@sw{}{% % \end{macrocode} % Set the \cmd\temp@sw\ to false, then execute the affiliation list (\cmd\@AFF@list) % with the intercollated operator set to \cmd\@affil@match\ % and with \cmd\@tempa\ holding the first component of \cmd\@affil, the current affiliation, which is to be matched. % If the current affiliation has been seen before, \cmd\temp@sw\ will be set to true, % \cmd\@tempc\ will be set to the existing affiliation number, % and \cmd\@tempd\ will be set to the affiliation's ancillary data. % The Boolean \cmd\@affils@sw\ being false prevents this test from ever returning a positive result. % % This procedure uses \cmd\@tempa\ and sets \cmd\@tempc, \cmd\@tempd, and \cmd\temp@sw. % \begin{macrocode} \@booleanfalse\temp@sw \let\@tempd\@empty \@affils@sw{% \expandafter\@firstoftwodef\expandafter\@tempa\@affil \def\AFF@opr{\@affil@match\@tempa}% \@AFF@list }{}\temp@sw % \end{macrocode} % True clause: This affiliation has been seen before. % If ancillary data for the affiliation have been given but are not identical to those seen before, give a warning. % \begin{macrocode} {% \expandafter\@secondoftwodef\expandafter\@tempb\@affil \@ifx{\@tempb\@empty}{}{% \@ifx{\@tempb\@tempd}{}{% \class@warn{% Ancillary information for \@tempa\space must not be different! Please put it on the first instance% }% }% }% \appdef@eval\AF@grp\@tempc }% % \end{macrocode} % False clause: This is a new address: % increment the counter to get a unique ID for the new affiliation % and append the new number, address, and footnote to the list \cmd\@AFF@list. % \begin{macrocode} {% \@if@empty{\expandafter\@firstoftwo\@affil}{% \edef\@tempc{\z@}% }{% \stepcounter{affil}% \edef\@tempc{\theaffil}% }% \appdef \@AFF@list{\AFF@opr}% \appdef@eval\@AFF@list\@tempc \appdef@e \@AFF@list{\@affil}% \appdef@eval\AF@grp\@tempc }% % \end{macrocode} % Append the ID of the affiliation to the affiliation group of the current author group. % \begin{macrocode} \@affil@init }% }% \def\@firstoftwodef#1#2#3{% \def#1{#2}% }% \def\@secondoftwodef#1#2#3{% \def#1{#3}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\move@AUAF} % \changes{v4.h}{1998/06/25} % {Changes to support groups of affiliations} % Append \cmd\AF@grp\ and \cmd\AU@grp\ to \cmd\@AAC@list\ % % and merge any new \cmd\AF@grp\ to \cmd\@AFG@list. % \begin{macrocode} \def\move@AUAF{% % \end{macrocode} % Entire procedure is predicated on something non-trivial to move. % % If both author and affiliation are nil, bail out. % % No, try that again: % % If we have seen any affiliations, then it is time to move the current % affiliation group and author group to \cmd\@AAC@list. % If not, we are picking up authors into an author group, and we % should bail out. % \begin{macrocode} %\@ifx{\AU@grp\@empty}{\@ifx{\AF@grp\@empty}{\true@sw}{\false@sw}}{\false@sw}% \@ifx{\AF@grp\@empty}% {}{% % \end{macrocode} % First, append current affiliation group (expansion of \cmd\AF@grp) % to the author/affiliation list (\cmd\@AAC@list), % using \cmd\AF@opr\ as the intercollated operator; % also append the current authors (\cmd\AU@grp). % \begin{macrocode} \appdef \@AAC@list{\AF@opr}% \appdef@eval\@AAC@list{\AF@grp}% \appdef@e \@AAC@list{\AU@grp}% % \end{macrocode} % Next, append the current affiliation group to \cmd\@AFG@list, % (if it is not already there) % using \cmd\AFS@opr\ as the intercollated operator. % % Note that \cmd\@AFG@list\ is a list of \emph{unique} affiliation groups. % \begin{macrocode} \@ifx{\@empty\AU@grp}{}{% \@ifx{\@empty\AF@grp}{}{% \@booleanfalse\temp@sw \def\AFS@opr{\x@match\AF@grp}% \@AFG@list \temp@sw{}{% \appdef \@AFG@list{\AFS@opr}% \appdef@eval\@AFG@list{\AF@grp}% }% }% }% % \end{macrocode} % Finally, null out the macros holding the author group and affiliation group, respectively. % \begin{macrocode} \let\AU@grp\@empty \let\AF@grp\@empty }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@AAC@list} % The \cmd\@AAC@list\ macro accretes % authors (using \cmd\AU@opr\ as the intercollated operator), % collaborations (using \cmd\CO@opr\ as the intercollated operator), % and % affiliations (using \cmd\AF@opr\ as the intercollated operator). % \begin{macrocode} \appdef\class@inithook{% \let\@AAC@list\@empty }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@AFG@list} % The macro \cmd\@AFG@list\ accretes \cmd\AF@grp, % with \cmd\AFS@opr\ as the intercollated operator. % % This token list is employed when and only when \classoption{groupedaddress} is in effect. % % It must be empty at the beginning of the document. % \begin{macrocode} \appdef\class@inithook{% \let\@AFG@list\@empty }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@AFF@list} % The macro \cmd\@AFF@list\ accretes the list of affiliations % with \cmd\AFF@opr\ as the intercollated operator. % It must be empty at the beginning of the document. % % Each \cmd\affiliation\ command in the document contributes % to this list, as long as the argument of that instance of the command % is ``new''. % % Each entry in this list consists of the \cmd\AFF@opr\ intercollated operator % followed by three brace-delimited tokens, representing, in order: % \begin{enumerate} % \item % the affiliation's unique ID, a number increasing monotonically for % each new entry, % \item % the optional argument of the \cmd\affiliation\ command, % the footnote to the affiliation, and % \item % the text of the affiliation. % \end{enumerate} % % At various junctures in the code, the control sequence name % \cmd\AFF@opr\ assumes the meaning of % \cmd\@affil@footnote\ (FIXME: never used), % \cmd\@affil@group, \cmd\affil@script, % or is defined to expand to \cmd\@affil@match\cmd\@tempa. % and the list \cmd\@AFF@list\ is expanded. % \begin{macrocode} \appdef\class@inithook{% \let\@AFF@list\@empty }% % \end{macrocode} % \end{macro} % % \begin{macro}{\AF@grp} % The macro \cmd\AF@grp\ accretes affiliation IDs into an affiliation group. % It must be empty at the beginning of the document. % \begin{macrocode} \let\AF@grp\@empty % \end{macrocode} % \end{macro} % % \begin{macro}{\@affil@match} % The definition for the \cmd\AFF@opr, the intercollated operator for \cmd\@AFF@list, % when adding a new affiliation: seeks a match with any earlier affiliation. % When the affiliation list is executed, this procedure tests each entry against % the `new' affiliation (which has been stored in \cmd\@tempa). % % Uses \cmd\temp@sw, \cmd\@tempc, and \cmd\@tempd\ to communicate back: % if it returns \cmd\temp@sw\ true, a match was found, % then \cmd\@tempc\ will be the footnote number of the matching entry % and \cmd\@tempd\ will be the auxiliary information of the matching entry. % \begin{macrocode} \def\@affil@match#1#2#3#4{% \temp@sw{}{% \def\@tempifx{#3}% \@ifx{\@tempifx#1}{% \@booleantrue\temp@sw \def\@tempc{#2}% \def\@tempd{#4}% }{% }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@tempaffil@script} % Give a superscript marker to the address, % and junk the text argument (|#2|). % \begin{macrocode} %\def\@tempaffil@script#1#2{% % ,\,#1% %}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@tempaffil@group} % % Execute if we are grouping authors above `main addresses' (\classoption{groupedaddress}). % Put temp address in a footnote, with explanatory text. % Note: this procedure uses \cmd\@tempb\ and \cmd\@tempc\ % to communicate to \cmd\AFF@opr. % \begin{macrocode} %\def\@tempaffil@group#1#2{% % \def\@tempc{#1}% % \def\@tempb{#2}% % \begingroup % \let\AFF@opr \@affil@footnote % \@AFF@list % \endgroup %}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@affil@footnote} % The alias of \cmd\AFF@opr\ when \cmd\@AFF@list\ % is executed by \cmd\@tempaffil@group. % If we find a match of the affiliation number to \cmd\@tempc, % then footnotes are formatted with the relevant content and \cmd\@tempb. % \begin{macrocode} %\def\@affil@footnote#1#2#3{% % \def\@tempifx{#1}% % \@ifx{\@tempifx\@tempc}{% % \comma@space % \expandafter\frontmatter@footnote\expandafter{\@tempb#2}% % \frontmatter@footnote{#3}% % }{% % }% %}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@AF@join} % The \cmd\csname\ \cmd\@AF@join\ is a procedure used within % \cmd\email, \cmd\homepage, \cmd\thanks, and \cmd\altaffiliation. % When such a command appears after an \cmd\author, \cmd\collaboration, or \cmd\affiliation % command, the \cmd\@AF@join\ procedure appends the argument given to the appropriate % macro. % Its default is to give an error message, since these commands are legal only within % the particular context mentioned. % \begin{macrocode} \appdef\class@inithook{% \let\@AF@join\@AF@join@error }% \def\@AF@join@error#1{% \class@warn{% \string\email, \string\homepage, \string\thanks, or \string\altaffiliation\space appears in wrong context. }% }% % \end{macrocode} % \end{macro} % % % \subsubsection{Commands for auxiliary information}% % % \begin{macro}{\email} % Just tacks the email address on to the current author or affiliation. % \begin{macrocode} \def\sanitize@url{% \@makeother\%% \@makeother\~% \@makeother\_% }% \newcommand*\email[1][Electronic address: ]{\begingroup\sanitize@url\@email{#1}}% \def\@email#1#2{% \endgroup \@AF@join{#1\href{mailto:#2}{#2}}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\homepage} % Just tacks the URL on to the current author or affiliation. % Note: group opened in \cmd\homepage\ is closed in \cmd\@homepage. % \begin{macrocode} \newcommand*\homepage[1][URL:~]{\begingroup\sanitize@url\@homepage{#1}}% \def\@homepage#1#2{% \endgroup \@AF@join{#1\url{#2}}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\url} % \begin{macro}{\href} % \begin{macrocode} \appdef\class@documenthook{% \providecommand\url{\texttt}% \providecommand\href[2]{\url{#2}}% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\thanks} % % The operative version of \cmd\thanks\ appends an item to \cmd\@author, or \cmd\@affil's auxiliary data. % \begin{macrocode} \def\thanks{% implicit #1 \@AF@join }% % \end{macrocode} % \end{macro} % % \begin{macro}{\altaffiliation} % \changes{v4.d}{1998/01/31} % {change name from \cs{tempaffiliation}} % \changes{v4.l}{1998/09/01} % {add optional argument handling back} % Implemented more or less like \cmd\thanks\ but shares the affiliation % counter. % Optional argument may be used to give explanatory text eg % `currently staying at' % This will be placed before the address, if used in a footnote. % \begin{macrocode} \newcommand*\altaffiliation[2][]{% \@AF@join{#1#2}% }% % \end{macrocode} % \end{macro} % % % \subsubsection{Procedures for author, collaboration, and affiliation}% % % Macros that list off, say, authors, and which require punctuation, like ``A, B, and C'', will use % \cmd\set@listcomma@list, \cmd\set@listcomma@count, \cmd\@listand, and \cmd\@listcomma. % These macros use the \cmd\@tempcnta\ register to keep track of how many items remain to be listed off. % % At present, \cmd\@author@present\ will decrement that counter. % % \begin{macro}{\set@listcomma@list} % \begin{macro}{\set@listcomma@count} % \changes{v4.l}{1998/09/01} % {macro added} % Pop the author count for this collaboration. % % Note: by side effect, it assigns \cmd\@listcomma: % for a list of length two, suppress comma addition. % \begin{macrocode} \def\set@listcomma@list#1{% \expandafter\@reset@ac\expandafter#1#1{0}\@reset@ac{% \let\@listcomma\relax }{% \let\@listcomma\@listcomma@comma }% }% \def\set@listcomma@count#1{% \@ifnum{#1=\tw@}{% \let\@listcomma\relax }{% \let\@listcomma\@listcomma@comma }% }% % \end{macrocode} % Does the actual pop operation, then generates a Boolean which selects one of the two assignments for \cmd\@listcomma. % % Note: this procedure sets \cmd\@tempcnta\ to reflect the number of items to list off. % \begin{macrocode} \def\@reset@ac#1#2#3\@reset@ac{% \def#1{#3}% \@tempcnta#2\relax \@ifnum{#2=\tw@}% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\listand} % Might need extending with penalties etc. % % Note: this procedure expects \cmd\@tempcnta\ to reflect the current number of items remaining to list off. % \begin{macrocode} \def\@listand{\@ifnum{\@tempcnta=\tw@}{\andname\space}{}}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@listcomma} % This definition, with \cmd\@ne\ puts a comma before and. % % David Carlisle says: In UK English (at least) would have \cmd\tw@\ here, % which would then implement the convention of indicating conjunction with comma or ``and'', but not both. % % Note: this procedure expects \cmd\@tempcnta\ to reflect the current number of items remaining to list off. % \begin{macrocode} \def\@listcomma@comma{\@ifnum{\@tempcnta>\@ne}{,}{}}% \def\@listcomma@comma@UK{\@ifnum{\@tempcnta>\tw@}{,}{}}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@collaboration@err} % This command will be executed if are in a \classoption{groupedaddress} situation and % the document contained a \cmd\collaboration\ command. % % There already has been issued a warning message explaining that \cmd\collaboration\ is wrong in this case, % so here we simply gobble. % \begin{macrocode} \def\@collaboration@err#1#2{% %\class@warn{An illegal \string\collaboration\ command has been entered!}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\doauthor} % Main control over how authors are typeset. % % |#1| is loaded by \cmd\author % % |#2| is loaded by \cmd\email, \cmd\homepage, \cmd\altaffiliation, or \cmd\thanks % % |#3| is the superscript affiliation, if at all used. % % First, the author name is formatted, followed by a comma, % then come any marks relating to affiliation (if present), % then come the homepage URL and email address, if any, with % appropriate punctuation. % \begin{macrocode} \def\doauthor#1#2#3{% \ignorespaces#1\unskip\@listcomma \def\@tempifx{#3}% \@ifx{\@tempifx\@empty}{% \def\@tempifx{#2}% \@ifx{\@tempifx\@empty}{}{\frontmatter@footnote{#2}}% }{% #3% \def\@tempifx{#2}% \@ifx{\@tempifx\@empty}{}{\comma@space\frontmatter@footnote{#2}}% }% \space \@listand }% % \end{macrocode} % \end{macro} % % \begin{macro}{\AF@opr} % DPC: The number(s) associated to the affiliation address(es). % \end{macro} % % \begin{macro}{\@thanks} % \changes{v4.d}{1998/01/31} % {\cs{comma@space} added} % Society-specific options may change this. \cmd\comma@space\ is a separator % between adjacent footnotes. % \begin{macrocode} \def\@thanks{\comma@space\footnote} % \end{macrocode} % \end{macro} % % \begin{macro}{\x@match} % Procedure \cmd\x@match\ is used as an alias \cmd\AFS@opr, % probing the list of affiliation groups % and setting a Boolean if a match is found to \#1 (usually the current affiliation group). % % Procedure \cmd\y@match\ is used as an alias to \cmd\@TBN@opr, % probing the list of unique title block footnotes for a match to the footnote text: % when the first match is found it sets a Boolean, % defining \cmd\@tempb\ to the number of that footnote. % \begin{macrocode} \def\x@match#1#2{% \temp@sw{}{% \def\@tempifx{#2}% \@ifx{\@tempifx#1}{% \@booleantrue\temp@sw }{% }% }% }% \def\y@match#1#2#3{% \temp@sw{}{% \def\@tempifx{#3}% \@ifx{\@tempifx#1}{% \@booleantrue\temp@sw \def\@tempb{#2}% }{% }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@footnote} % Used when typesetting a title block footnote. % (Item 290: merge duplicates.) % % Maintains a list of frontmatter footnotes along with associated device. % Uniquifies each footnote by traversing the list and looking for a match to the footnote text. % If found, define \cmd\@tempb\ to the corresponding footnote device, and typeset it with \cmd\@footnotemark. % If never found, manually increment footnote counter, % determine the corresponding footnote device, and % add footnote text and device to the list of frontmatter footnotes. % % The list \cmd\@FMN@list\ is processed later in the title block production. % % Note that this method of making footnotes runs afoul of \classname{hyperref}'s patches of the \LaTeX\ kernel. % Therefore, we avoid trouble by refraining from using \cmd\@footnotemark\ and by creating our own hypertext links. % \begin{macrocode} \def\frontmatter@footnote#1{% \begingroup \@booleanfalse\temp@sw \def\@tempa{#1}% \let\@tempb\@empty \def\@TBN@opr{\y@match\@tempa}% \@FMN@list \temp@sw{% \expandafter\frontmatter@footnotemark \expandafter{\@tempb}% }{% \stepcounter\@mpfn \protected@xdef\@tempb{\the\csname c@\@mpfn\endcsname}% \expandafter\frontmatter@footnotemark \expandafter{\@tempb}% \expandafter\g@addto@macro \expandafter\@FMN@list \expandafter{% \expandafter \@TBN@opr \expandafter {\@tempb}{#1}% }% }% \endgroup }% \appdef\class@inithook{% \global\let\@FMN@list\@empty }% \def\frontmatter@footnotemark#1{% \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi \begingroup \hyper@linkstart {link}{frontmatter@#1}% \csname c@\@mpfn\endcsname#1\relax \def\@thefnmark{\thempfn}% \@makefnmark \hyper@linkend \endgroup \ifhmode\spacefactor\@x@sf\fi \relax }% % \end{macrocode} % \end{macro} % % % % \subsection{The keywords command}% % \begin{macro}{\keywords} % \begin{macro}{\@keywords} % Usual game, save text in a macro for processing by \cmd\maketitle. % \begin{macrocode} \def\keywords#1{% \aftermaketitle@chk{\keywords}% \gdef\@keywords{#1}% }% \def\@keywords{}% % \end{macrocode} % \end{macro} % \end{macro} % % \subsection{The \cs{date} command and related commands}% % \begin{macro}{\date} % \begin{macro}{\received} % \begin{macro}{\revised} % \begin{macro}{\accepted} % \begin{macro}{\published} % \begin{macro}{\@date} % \begin{macro}{\@received} % \begin{macro}{\@revised} % \begin{macro}{\@accepted} % \begin{macro}{\@published} % Use the \cmd\date\ command to specify the document date, % the \cmd\received\ command to specify the date received, % \cmd\revised\ for date revised, % \cmd\accepted\ for date accepted, and % \cmd\published\ for date published. % Normally only \cmd\date\ to be used by author, % the remainder used only by editors. % % DPC: As for \cmd\keywords, but this time don't flag a warning if there is no % revision date specified. % % In each case the user-level command defines the value of a % macro which buffers the data entered by the user. % For instance, \cmd\received\ causes \cmd\@received\ to % acquire a value. % The optional argument allows the user to override the % text that will be typeset along with the date; % the default value of that text is itself % a localized macro. % \begin{macrocode} \renewcommand*\date[2][\Dated@name]{\def\@date{#1#2}}% \def\@date{}% \newcommand*\received[2][\Received@name]{\def\@received{#1#2}}% \def\@received{}% \newcommand*\revised[2][\Revised@name]{\def\@revised{#1#2}}% \def\@revised{}% \newcommand*\accepted[2][\Accepted@name]{\def\@accepted{#1#2}}% \def\@accepted{}% \newcommand*\published[2][\Published@name]{\def\@published{#1#2}}% \def\@published{}% % \end{macrocode} % % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \subsection{The pacs command}% % PACS, the Physics and Astronomy Classification Scheme. % \begin{macro}{\pacs} % \begin{macro}{\@pacs} % As for \cmd\keywords\ % \begin{macrocode} \def\pacs#1{% \aftermaketitle@chk{\pacs}% \gdef\@pacs{#1}% }% \def\@pacs{}%{\class@warn{No PACS numbers}}% % \end{macrocode} % \end{macro} % \end{macro} % % \subsection{The \cs{preprint} command} % % \changes{v4.g}{1998/06/10} % {multiple preprint commands} % \begin{macrocode} \def\preprint#1{\gappdef\@preprint{\preprint{#1}}}% \let\@preprint\@empty % \end{macrocode} % % \subsection{draft} % DPC: Name clash with draft option. \LaTeX\ doesn't care, but it confuses me. % % This command is a 3.1 relic, now removed. % \begin{macrocode} %\newcommand\draft{\@booleantrue\draft@sw}% % \end{macrocode} % % \subsection{The \env{abstract} environment}% % % \changes{v4.0beta 2}{1999/06/20} % {Gathered all code for the abstract environment together % and abstracted out the formatting details for journals to override.} % % \begin{macro}{\absbox} % % \begin{macrocode} \newbox\absbox % \end{macrocode} % \end{macro} % % \begin{environment}{abstract} % Abstract, as in AMS classes, must be specified \emph{before} % \cmd\maketitle. It just saves everything up in \cmd\absbox. % \changes{v4.d}{1998/01/31} % {If empty \cs{abstractname} omit spacing} % \begin{macrocode} % \changes{v4.e}{1998/01/31} % {hookify} % Note that the specifics of how the abstract is to be % formatted are set by \cmd\frontmatter@abstractwidth, % \cmd\frontmatter@abstractheading, and \cmd\frontmatter@abstractfont. % % Here we wish to set the abstract into type but save it away in a box, much like % the \cmd\minipage\ command does. % % Note that the \cmd\endabstract\ portion of the environment % begins with code that mostly duplicates \cmd\endminipage, but without the \cmd\@iiiparbox. % At the end, we simply transfer the contents of the \cmd\minipage\ % into a box of our own. % % However, we also have to end the gratuitous % paragraph begun by \cmd\minipage. % We ensure that no trace of that paragraph is left, % by absorbing the \cmd\parindent\ box. % Doing so destroys the paragraph entirely, except % for the \cmd\parskip\ glue, and that morsel is pruned, because we are at the top % of a page. % % This mechanism is vulnerable, however, because anything placed into the horizontal list % after the \cmd\parindent\ box will confound it. % And that is exactly what happens under Mik\TeX: % There seems to be an extension to the \TeX\ standard operating here which inserts a \cmd\special \ at the beginning of every paragraph. % (The mechnism is \emph{not} based on \cmd\everypar.) % % To accomodate this state of affairs, % we have a new mechanism that offers an even more complete rewrite of \env{minipage}. % % The user can elect to use this new mechanism via the \classoption{newabstract}; % likewise the old mechanism via the \classoption{oldabstract}. % % \begin{macrocode} \newenvironment{abstract}{% \aftermaketitle@chk{\begin{abstract}}% \global\setbox\absbox\vbox\bgroup \color@begingroup \columnwidth\textwidth \hsize\columnwidth \@parboxrestore \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@ \let\@footnotetext\frontmatter@footnotetext \minipagefootnote@init \let\@listdepth\@mplistdepth \@mplistdepth\z@ \@minipagerestore \@setminipage \frontmatter@abstractheading \frontmatter@abstractfont \let\footnote\mini@note }{% \par \unskip \minipagefootnote@here \@minipagefalse %% added 24 May 89 \color@endgroup \egroup }% % \end{macrocode} % \end{environment} % % \begin{macro}{\frontmatter@footnotetext} % We reimplement \cmd\@mpfootnotetext\ under a new name (so as not to be overridden by the \classname{hyperref} package) % and extend it to accomodate hyperrefs. % % Note that this procedure is very like \classname{ltxutil}'s \cmd\mp@footnotetext, except that it % uses \texttt{p@mpfootnote} instead of \texttt{p@mpfootnote}, and % \cmd\frontmatter@makefntext\ instead of \cmd\@makefntext. % % \begin{macrocode} \long\def\frontmatter@footnotetext#1{% \minipagefootnote@pick \reset@font\footnotesize \interlinepenalty \interfootnotelinepenalty \splittopskip \footnotesep \splitmaxdepth \dp \strutbox \set@footnotewidth \@parboxrestore \protected@edef\@currentlabel{\csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup \frontmatter@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox }% \color@endgroup \minipagefootnote@drop }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@abstractheading} % The default abstract head; journals will override this procedure. % \begin{macrocode} \def\frontmatter@abstractheading{% \begingroup \centering\large \abstractname \par \endgroup }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@abstractfont} % The default type specification for the body of the abstract. % Journals will override this setting. % \begin{macrocode} \def\frontmatter@abstractfont{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@abstractwidth} % The default setting is the full text width; % journals can override this setting. % \begin{macrocode} \def\frontmatter@abstractwidth{\textwidth} % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@abstract@produce} % This procedure determines how the abstract is incorporated % into the title block. We split this out in anticipation % of the need to lift the limitation that the abstract not break over pages. % % If we are in preprint style, we provide an easy pagebreak point immediately above the abstract. % This means that the abstract will either fit entirely on the same page as the title block, % or it will start a page of its own (which may itself break onto a subsequent page if necessary). % \begin{macrocode} \def\frontmatter@abstract@produce{% \par % \tracingall \preprintsty@sw{% \do@output@MVL{% \vskip\frontmatter@preabstractspace \vskip200\p@\@plus1fil \penalty-200\relax \vskip-200\p@\@plus-1fil }% }{% \addvspace{\frontmatter@preabstractspace}% }% % \leavevmode \begingroup \dimen@\baselineskip \setbox\z@\vtop{\unvcopy\absbox}% \advance\dimen@-\ht\z@\advance\dimen@-\prevdepth \@ifdim{\dimen@>\z@}{\vskip\dimen@}{}% \endgroup \unvbox\absbox \@ifx{\@empty\mini@notes}{}{\mini@notes\par}% % \par \addvspace\frontmatter@postabstractspace % \showlists % \tracingplain }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@preabstractspace} % \begin{macro}{\frontmatter@postabstractspace} % Space above and space below abstract in title block % \begin{macrocode} \def\frontmatter@preabstractspace{.5\baselineskip} \def\frontmatter@postabstractspace{.5\baselineskip} % \end{macrocode} % \end{macro} % \end{macro} % % % % \subsection{Formatting the title block}% % % \begin{environment}{titlepage} % This is \LaTeXe's \classname{article} class version, % with modifications. % \changes{v4.0beta 3}{1999/11/13} % {grid changes with ltxgrid} % \begin{macrocode} \newenvironment{titlepage}{% \twocolumn@sw{\onecolumngrid}{\newpage}% \thispagestyle{titlepage}% \setcounter{page}\@ne }{% \twocolumn@sw{\twocolumngrid}{\newpage}% \twoside@sw{}{% \setcounter{page}\@ne }% }% % \end{macrocode} % \end{environment} % % \begin{macro}{\maketitle} % \changes{v4.d}{1998/01/31} % {hookify} % Put it all together to format the title block. % \begin{macrocode} \def\maketitle{% \@author@finish \title@column\titleblock@produce \suppressfloats[t]% % \end{macrocode} % Now save some memory. % \begin{macrocode} \let\and\relax \let\affiliation\@gobble % \let\address\affiliation \let\author\@gobble \let\@AAC@list\@empty \let\@AFF@list\@empty \let\@AFG@list\@empty % \let\keywords\@gobble % \let\@keywords\@empty \let\@AF@join\@AF@join@error \let\email\@gobble \let\@address\@empty \let\maketitle\relax \let\thanks\@gobble \titlepage@sw{% \vfil \clearpage }{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\titleblock@produce} % This procedure produces the title block. % % It effectively executes inside a group % and always returns us to vertical mode. % % Note: we assume that it is OK to set the footnote counter to zero at this point. % Is this a safe assumption? % \begin{macrocode} \def\titleblock@produce{% \begingroup % \end{macrocode} % Special footnote version [of footnotes] for \cmd\thanks, % copied from \classname{article} class \cmd\maketitle. % \changes{v4.0beta 2}{1999/06/20} % {Set \cs{footnote} to \LaTeX\ standard version for this scope.} % \begin{macrocode} \let\footnote\footnote@latex \let\@makefnmark\@makefnmark@latex \let\@footnotemark\@footnotemark@latex \let\thefootnote\frontmatter@thefootnote % \let\@makefntext\frontmatter@makefntext \global\c@footnote\z@ \let\@makefnmark\frontmatter@makefnmark \frontmatter@setup \thispagestyle{titlepage}\label{FirstPage}% % \end{macrocode} % Produce the title: % \begin{macrocode} \frontmatter@title@produce % \end{macrocode} % Produce the author list: % \begin{macrocode} \groupauthors@sw{% \frontmatter@author@produce@group }{% \frontmatter@author@produce@script }% % \end{macrocode} % Produce the dates: % \begin{macrocode} \frontmatter@RRAPformat{% \expandafter\produce@RRAP\expandafter{\@date}% \expandafter\produce@RRAP\expandafter{\@received}% \expandafter\produce@RRAP\expandafter{\@revised}% \expandafter\produce@RRAP\expandafter{\@accepted}% \expandafter\produce@RRAP\expandafter{\@published}% }% % \end{macrocode} % Produce the abstract, PACS, and keywords, and end any paragraph. % \begin{macrocode} \frontmatter@abstract@produce \@pacs@produce\@pacs \@keywords@produce\@keywords \par \frontmatter@finalspace \endgroup }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@title@produce} % The default formatting procedure for the article title. % This procedure should take care of the vertical space below the title. % % Journals may override this procedure, but it is more likely that they will % use the hooks \cmd\frontmatter@title@above, \cmd\frontmatter@title@format, and \cmd\frontmatter@title@below. % % At this point, we patch into \cmd\let@mark\ so that the common markup idiom \cmd\\ is taken care of. % \begin{macrocode} \def\frontmatter@title@produce{% \begingroup \frontmatter@title@above \frontmatter@title@format \@title \@ifx{\@title@aux\@title@aux@cleared}{}{% \expandafter\frontmatter@footnote\expandafter{\@title@aux}% }% \par % \@ifx{\@shorttitle\@empty}{% % \markboth{\@title}{\@title}% % }{% % \markboth{\@shorttitle}{\@shorttitle}% %% \class@warn{Unused short title ignored}% % }% \frontmatter@title@below \endgroup }% \appdef\let@mark{\let\\\relax}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@title@above} % \begin{macro}{\frontmatter@title@format} % \begin{macro}{\frontmatter@title@below} % The default values for formatting specifications for the article title. % % The procedure \cmd\frontmatter@title@above\ should take care of the vertical space above the title; % \cmd\frontmatter@title@below\ below. % The procedure \cmd\frontmatter@title@format\ should invoke any font switches, etc. % that may apply to the title. % % Journals will override this procedure. % \begin{macrocode} \def\frontmatter@title@above{}% \def\frontmatter@title@format{}% \def\frontmatter@title@below{\addvspace{\baselineskip}}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \subsubsection{Authors and affiliations in superscriptaddress style} % % \begin{macro}{\frontmatter@author@produce@script} % \cmd\frontmatter@author@produce@script\ is an alias for \cmd\frontmatter@author@produce, % the procedure that formats the author/affiliation list. % % In this case, the authors affiliations are being superscripted % (class option \classoption{superscriptaddress}). % % This procedure must ensure that any paragraph that it starts gets ended finally. % \begin{macrocode} \def\frontmatter@author@produce@script{% \begingroup \let\@author@present\@author@present@script % \end{macrocode} % \changes{v4.l}{1998/09/01} % {Changes to add collaboration processing, which now % means doing comma/and processing on each sublist} % When the author/affiliation list \cmd\@AAC@list\ is executed, % \cmd\@tempcnt\ counts each author, % and % \cmd\@tempa\ stores a list of author indices for the current collaboration. % % Note: this procedure uses \cmd\AU@temp\ to hold a list of author counts for each collaboration. % Note: also uses \cmd\@tempcnta\ to communicate between procedures. % This usage ot \cmd\@tempcnta\ is OK, because the expansion of \cmd\@AAC@list\ will trigger only the execution of % our own procedures. % \begin{macrocode} \let\AU@temp\@empty \@tempcnta\z@ % \end{macrocode} % % We wish to know how many authors are in each collaboration, for the purposes of \cmd\listcomma\ and \cmd\listand. % % Here we assign values for the intercollated operators appearing within \cmd\@AAC@list, % then execute that macro, registering the authors in each collaboration. % Afterwards, clean up by emulating an empty collaboration. % % The result, stored in \cmd\AU@temp, is a list of brace-delmited tokens, each a number % representing the number of authors in that collaboration. % \begin{macrocode} \let\AF@opr \@gobble \def\AU@opr{\@author@count\@tempcnta}% \def\CO@opr{\@collaboration@count\AU@temp\@tempcnta}% \@AAC@list \expandafter\CO@opr\@author@cleared % \end{macrocode} % Next, present the authors and their affiliations. % % We assign values for the intercollated operators appearing within \cmd\@AAC@list. % Next, assign \cmd\@listcomma\ based on the number of authors in the first collaboration. % Then expand \cmd\@AAC@list. % % Upon completion, there will be two space tokens following the last author because of \cmd\listand\ processing; % remove them, then end the last paragraph. % % FIXME: this juncture would be a good time to effectively eliminate the unused affiliations in \cmd\@AFF@list. % \begin{macrocode} \begingroup \frontmatter@authorformat \let\AF@opr \@affilID@def \let\AU@opr \@author@present \def\CO@opr{\@collaboration@present\AU@temp}% \set@listcomma@list\AU@temp \@AAC@list \unskip\unskip \par \endgroup % \end{macrocode} % We now list out the affiliations in the order they appeared. % \begin{macrocode} \begingroup \frontmatter@above@affiliation@script % \let\@AFU@list\@empty % \let\AFS@opr \affils@present@script % \@AFG@list % \let\AF@opr \affil@present@script % \@AFU@list \let\AFF@opr \@affil@script % \say\@AFF@list \@AFF@list \frontmatter@footnote@produce \par \endgroup \endgroup }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@author@count} % This version of \cmd\AU@opr\ counts the number of authors it processes. % \begin{macrocode} \def\@author@count#1{\advance#1\@ne\@author@gobble}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@collaboration@present} % Format a collaboration. % Note that we immediately end the paragraph thus begun, because we only support % \classoption{superscriptaddress}-style processing. % % Note also that the execution of the production procedures takes place inside of a group; % for reasons of protective programming. % % Bug note: originally, the number of authors in each collaboration was stored in \cmd\@tempa, % but this exposed us to procedures in our production that modified the meaning of \cmd\@tempa. % % The last action done in this procedure is to assign \cmd\@listcomma\ based on the number of authors in the next collaboration. % \begin{macrocode} \def\@collaboration@present#1#2#3{% \par \begingroup \frontmatter@collaboration@above \@author@present{(\ignorespaces#2\unskip)}{#3}% \par \endgroup \set@listcomma@list#1% }% \def\frontmatter@collaboration@above{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@collaboration@count} % Simply register each author in this collaboration. % Note: \#1 is a \cmd\csname\ to hold the value, \#2 is the \cmd\count\ register holding the count of interest. % \begin{macrocode} \def\@collaboration@count#1#2{% \appdef@eval#1{\the#2}#2\z@ \@author@gobble }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@affilID@def} % % The \cmd\@affilID@def\ procedure, an alias of \cmd\AF@opr\ used during \cmd\frontmatter@author@produce@script\ processing, % memorizes the affiliation in \cmd\@affilID@temp. % \begin{macrocode} \def\@affilID@def{\def\@affilID@temp}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@affilID@temp} % % The macro \cmd\@affilID@temp\ is used to communicate between % \cmd\doauthor\ and instances of \cmd\AF@opr\ within the author list. % \begin{macrocode} \let\@affilID@temp\@empty % \end{macrocode} % \end{macro} % % \begin{macro}{\affils@present@script} % An alias of \cmd\AFS@opr, this procedure is applied to \cmd\@AFG@list\ and builds % \cmd\@AFU@list, a list of unique affiliations found within affiliation groups. % % \begin{macrocode} %\def\affils@present@script#1{% % \get@affil#1{}% %}% %\def\get@affil#1{% % \def\@tempa{#1}% % \@ifx{\@empty\@tempa}{}{% % \@booleanfalse\temp@sw % \def\AF@opr{\x@match\@tempa}% % \@AFU@list % \temp@sw{}{% % \appdef\@AFU@list{\AF@opr{#1}}% % }% % \get@affil % }% %}% % \end{macrocode} % \end{macro} % % \begin{macro}{\affil@present@script} % An alias of \cmd\AF@opr, this procedure is applied to \cmd\@AFU@list\ when formatting the affiliations % under \classoption{superscriptaddress}. % It in turn applies \cmd\affil@script\ to \cmd\@AFF@list, thereby formatting the affiliation % associated with this affiliation index. % % Note: it traverses the \cmd\@AFF@list\ for each entry in the \cmd\@AFU@list, thereby making this % portion of code execute in $N^{2}$ time. % \begin{macrocode} %\def\affil@present@script#1{% % \def\@tempa{#1}% % \begingroup % \frontmatter@affiliationfont % \let\AFF@opr \affil@script % \@AFF@list % \endgroup %}% % \end{macrocode} % \end{macro} % % \begin{macro}{\affil@script} % Alias of \cmd\AFF@opr, this procedure is applied to \cmd\@AFF@list\ when formatting the affiliations % under \classoption{superscriptaddress}. % It rejects all entries not matching the affiliation index held in \cmd\@tempa. % \begin{macrocode} \def\affil@script#1#2#3{% \def\@tempifx{#1}\@ifx{\@tempifx\@tempa}{% \@if@empty{#2}{}{% \par \begingroup \textsuperscript{\normalfont#1}% #2% \@if@empty{#3}{}{\frontmatter@footnote{#3}}% \par \endgroup }% }{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@affil@script} % Alias of \cmd\AFF@opr: % The affiliations are being formatted in the case % where affiliations are being superscripted: % make a list out of the affiliations with the numbers printed. % Society-specific code can change the formatting % by overriding the definition of \cmd\frontmatter@affiliationfont. % % FIXME: dead code. % \begin{macrocode} \def\@affil@script#1#2#3{% \@ifnum{#1=\z@}{}{% \par \begingroup \frontmatter@affiliationfont % \textsuperscript{\normalfont#1}% \textsuperscript{#1}% #2% \@if@empty{#3}{}{\frontmatter@footnote{#3}}% \par \endgroup }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@author@present@script} % \changes{v4.h}{1998/06/25} % {Changes to support groups of affiliations} % This version of \cmd\AU@opr\ applies to the \classoption{superscriptaddress} class option. % Need to add commas between groups % of address numbers, which are passed in the macro \cmd\@affilID@temp\ in the form % |{3}{4}{7}| if this set of authors is related to addresses, 3, 4 and 7. % \begin{macrocode} \def\@author@present@script#1#2{% \begingroup % \parskip\@author@parskip\relax \gdef\comma@space{\textsuperscript{,\,}}% % \@ifx{\@affilID@temp\@empty}{% % \doauthor{#1}{#2}{}% % }{% % \expandafter\set@count@\@affilID@temp{}{}\@@nil % \@ifnum{\count@=\z@}{% % \doauthor{#1}{#2}{}% % }{% % \doauthor{#1}{#2}{% % \textsuperscript{\expandafter\@affilcomma\@affilID@temp\relax\relax}% % }% % }% % }% \doauthor{#1}{#2}{% \let\@tempa\@empty \expandafter\@affil@present@script\@affilID@temp\relax }% \endgroup \advance\@tempcnta\m@ne }% %\def\set@count@#1#2\@@nil{% % \count@#1\relax %}% \def\@affilcomma#1#2{% \@ifx{\z@#1}{% \@ifx{\relax#2}{}{% \@affilcomma{#2}% }% }{% #1% \@ifx{\relax#2}{}{% \@ifx{\z@#2}{% \@affilcomma }{% ,\,\@affilcomma{#2}% }% }% }% }% \def\@affil@present@script#1{% \@ifx{\relax#1}{% \@ifx{\@tempa\@empty}{}{% \textsuperscript{\expandafter\@affilcomma\@tempa\relax\relax}% }% }{% \@ifx{\z@#1}{}{\appdef\@tempa{{#1}}}% \@affil@present@script }% }% \@provide\@author@parskip{\z@skip}% % \end{macrocode} % \end{macro} % % % \subsubsection{Authors and affiliations in groupedaddress style} % % \begin{macro}{\frontmatter@author@produce@group} % \cmd\frontmatter@author@produce@group\ is an alias for \cmd\frontmatter@author@produce, % the procedure that formats the author/affiliation list when \classoption{groupedaddress} is in effect. % % In this case, the authors are being grouped above their shared addresses. % How it works: the \cmd\@AFG@list, a list of all unique affiliation groups, is expanded. % For each such group, all authors belonging to that group are formatted above the affiliation group. % Collaborations are silently passed over. % % This procedure must ensure that any paragraph that it starts gets ended finally. % \begin{macrocode} \def\frontmatter@author@produce@group{% \begingroup \let\@author@present\@author@present@group \frontmatter@authorformat \let\AFS@opr \affils@present@group \let\@listcomma\relax \@AFG@list \frontmatter@footnote@produce \par \endgroup \frontmatter@authorbelow }% \@provide\frontmatter@authorbelow{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\affils@present@group} % Alias of \cmd\AFS@opr, this procedure is used on every element of % \cmd\@AFG@list, the list of unique affiliation groups, % when formatting the author/affiliation block: % It presents all authors sharing this affiliation group. % % This procedure is called via the procedure % \cmd\frontmatter@author@produce@group, an alias for \cmd\frontmatter@author@produce, % % Its use pertains to the class options % \classoption{groupedaddress}, \classoption{unsortedaddress}, and \classoption{runinaddress} % (that is, \cmd\groupauthors@sw\ is true). % % For each invocation, the entire \cmd\@AAC@list\ is run through (twice), % making this process execute in $N^{2}$ time. (Is this really true?) % \begin{macrocode} \def\affils@present@group#1{% % \end{macrocode} % Count (using \cmd\@tempcnta) the authors in the author list whose affiliation is |#1|. % % Note that \cmd\AF@temp\ is used as a storage register for the argument % of the procedure, for purposes of comparison using \cmd\ifx. % % Note: here we use \cmd\@tempcnta\ to communicate accumulate the number of authors in the current affiliation set. % % QUERY: does the value of \cmd\AF@temp\ and \cmd\AF@opr\ need to persist? % % QUERY: what value does \cmd\AU@opr\ have at this point? % ANSWER: the \cmd\@affilID@count\ and \cmd\@affilID@match\ procedures % assign meanings to \cmd\AU@opr\ and \cmd\CO@opr\ dynamically. % We initialize the two operators to \cmd\undefined\ so as to catch the % pathological cases. % \begin{macrocode} \begingroup \def\AF@temp{#1}% % 0B13 \@tempcnta\z@ \let\AU@opr \undefined % 0B13 \let\CO@opr \undefined % 0B13 \def\AF@opr{\@affilID@count\AF@temp\@tempcnta}% 0B13 \@AAC@list % \end{macrocode} % % If no authors using this affiliation group, skip it. % \begin{macrocode} \@ifnum{\@tempcnta=\z@}{}{% % \end{macrocode} % % DPC: If we have a list of length two, need to locally zap a comma. % \begin{macrocode} \begingroup \frontmatter@above@affilgroup \set@listcomma@count\@tempcnta % \end{macrocode} % Run through the author list, presenting (with \cmd\@author@present) % those authors whose affiliation matched the given one. % \begin{macrocode} \let\AU@opr \undefined % 0B13 \let\CO@opr \undefined % 0B13 \def\AF@opr{\@affilID@match\AF@temp}% \@AAC@list \endgroup % \end{macrocode} % Now that the authors have all been presented, present the affiliations, grouped. % % Note: \cmd\@tempcnta\ is used to count the number of affiliations for this set of authors. % \begin{macrocode} \begingroup \par \frontmatter@above@affiliation \frontmatter@affiliationfont \let\\\frontmatter@addressnewline \@tempcnta\z@ \@tfor\AF@temp:=#1\do{% \expandafter\@ifx\expandafter{\z@\AF@temp}{}{% \advance\@tempcnta\@ne }% }% \@ifnum{\@tempcnta=\tw@}{% \let\@listcomma\relax }{}% \def\after@address{\@listcomma\ \@listand}% \runinaddress@sw{% }{% \tightenlines@sw{% }{% \parskip\z@ %space between affilations in grouped mode }% \appdef\after@address\par }% \let\AFF@opr \@affil@group \do@affil@fromgroup\@AFF@list#1\relax \endgroup % \end{macrocode} % End of branch handling authors. % \begin{macrocode} }% % \end{macrocode} % % \begin{macrocode} \par \endgroup %\smallskip }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@affilID@count} % \begin{macro}{\@affilID@match} % % The control sequence name \cmd\AF@opr\ is placed in the % author/affiliation list (\cmd\@AAC@list) for each (new) affiliation, with that affiliation as its argument. % % The control sequence name \cmd\AF@opr\ is an alias of a procedure % to count the number of authors at a given affiliation (\cmd\@affilID@count) % or to present the given authors (\cmd\@affilID@match). % These two procedures are executed when formatting under the \classoption{groupedaddress} class option. % \begin{macrocode} \def\@affilID@count#1#2#3{% \def\@tempifx{#3}% \@ifx{\@tempifx#1}{% \def\AU@opr{\@author@count#2}% }{% \let\AU@opr \@author@gobble }% \let\CO@opr \@collaboration@err }% \def\@affilID@match#1#2{% \def\@tempifx{#2}% \@ifx{\@tempifx#1}{% \let\AU@opr \@author@present }{% \let\AU@opr \@author@gobble }% \let\CO@opr \@collaboration@err }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\do@affil@fromgroup} % Executes iteratively: % selects the next address ID to print, % and then re-execute the list of addresses to print the text of that address. % % Note: an argument of \cmd\relax\ breaks out of this iteration, % while an argument of \cmd\z@\ (\cmd\noaffiliation) is a no-op. % % Note: we have createed an $N^{2}$ computing process. % FIXME: can use hashing instead, you know. % \begin{macrocode} \def\do@affil@fromgroup#1#2{% \@ifx{\relax#2}{}{% \count@#2\relax \@ifnum{\count@=\z@}{}{#1}% \do@affil@fromgroup#1% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@affil@group} % The alias of \cmd\AFF@opr\ when the list \cmd\@AFF@list\ % is executed by \cmd\do@affil@fromgroup (\classoption{groupedaddress}): % Print the address if its number matches \cmd\count@\ (value set by \cmd\do@affil@fromgroup). % % Note that we detect a \cmd\noaffiliation\ here by the second parameter's being the token \cmd\blankaffiliation. % \begin{macrocode} \def\@affil@group#1#2#3{% \@ifnum{\count@=#1\relax}{% \@ifx{#2\blankaffiliation}{}{% #2% \@if@empty{#3}{}{% \frontmatter@footnote{#3}% }% \after@address }% \advance\@tempcnta\m@ne }{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@author@present@group} % \changes{v4.d}{1998/01/31} % {\cs{comma@space}} % This version of \cmd\AU@opr\ applies to the \classoption{groupedaddress} class option. % Traverse the list calling the \cmd\doauthor\ hook on each author. % \begin{macrocode} \def\@author@present@group#1#2{% \gdef\comma@space{\gdef\comma@space{\textsuperscript{,\,}}}% \doauthor{#1}{#2}{}% \advance\@tempcnta\m@ne }% % \end{macrocode} % \end{macro} % % % \begin{macro}{\@pacs@produce} % PACS, keywords and dates. % \changes{v4.d}{1998/01/31} % {PACS boxed to width of abstract} % \changes{v4.0beta 2}{1999/06/20} % {Separate option now controls production} % \changes{v4.0beta 5}{2000/09/20} % {Warn if no production} % \begin{macrocode} \def\@pacs@produce#1{% \showPACS@sw{% \begingroup \frontmatter@PACS@format \@pacs@name#1\par \endgroup }{% \@if@empty{#1}{}{% \class@warn{\PACS@warn}% }% }% }% \def\PACS@warn{If you want your PACS to appear in your output, use document class option showpacs}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@keywords@produce} % \changes{v4.0beta 5}{2000/09/20} % {Keywords on same footing as PACS} % \begin{macrocode} \def\@keywords@produce#1{% \showKEYS@sw{% \begingroup \frontmatter@keys@format \@keys@name#1\par \endgroup }{% \@if@empty{#1}{}{% \class@warn{If you want your keywords to appear in your output, use document class option showkeys}% }% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@footnote@produce@footnote} % \begin{macro}{\frontmatter@footnote@produce@endnote} % Produce any footnotes to appear at the bottom of the title page. % % If frontmatter footnotes have been redirected to the bibliography, this will be a no-op. % ref.: \cmd\present@bibnote. % \begin{macrocode} \def\frontmatter@footnote@produce@footnote{% \let\@TBN@opr\present@FM@footnote \@FMN@list \global\let\@FMN@list\@empty }% \def\present@FM@footnote#1#2{% \begingroup \csname c@\@mpfn\endcsname#1\relax \def\@thefnmark{\thempfn}% \frontmatter@footnotetext{#2}% \endgroup }% \def\frontmatter@footnote@produce@endnote{% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\frontmatter@thefootnote} % The in the title block, the footnote symbol (used for alternate affiliation and sundry) % is a \cmd\@fnsymbol\ or a lowercase letter, as selected by a boolean. % \begin{macrocode} \def\frontmatter@thefootnote{% \altaffilletter@sw{\@alph}{\@fnsymbol}\c@footnote }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@makefnmark} % The default procedure for setting the footnote mark within the frontmatter. % Journals will override this procedure. % \begin{macrocode} \def\frontmatter@makefnmark{% \@textsuperscript{% \normalfont\@thefnmark }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@makefntext} % This procedure is used when setting footnotes within the title block. % \begin{macrocode} \long\def\frontmatter@makefntext#1{% \parindent 1em \noindent \Hy@raisedlink{\hyper@anchorstart{frontmatter@\the\c@footnote}\hyper@anchorend}% \@makefnmark #1% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@setup} % The default type specification for the title page. % Journals will override this definition. % \begin{macrocode} \def\frontmatter@setup{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@RRAPformat} % \begin{macro}{\punct@RRAP} % \begin{macro}{\produce@RRAP} % The procedure \cmd\frontmatter@RRAPformat\ is the formatting procedure % for the ``Received, Revised, etc.'' block on the title page. % The macro \cmd\punct@RRAP\ produces the punctuation between the entries. % Journals will override these two definitions. % % The procedure \cmd\produce@RRAP\ is fairly general, and should be used by most % journal substyles. % % The procedure \cmd\frontmatter@RRAP@format\ will be overridden by the journal. % \begin{macrocode} \def\frontmatter@RRAPformat#1{% \removelastskip \begingroup \frontmatter@RRAP@format #1\par \endgroup }% \def\punct@RRAP{; }% \def\produce@RRAP#1{% \@if@empty{#1}{}{% \@ifvmode{\leavevmode}{\unskip\punct@RRAP\ignorespaces}% #1% }% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\frontmatter@authorformat} % The default type specification for the author list. % Journals will override this definition. % \begin{macrocode} \def\frontmatter@authorformat{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@above@affilgroup} % The default amount of space above an affiliation group % (in a \cmd\affils@present@group\ production). % Journals will override this definition. % \begin{macrocode} \def\frontmatter@above@affilgroup{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@above@affiliation} % \begin{macro}{\frontmatter@above@affiliation@script} % The \cmd\frontmatter@above@affiliation\ is the amount of space above affiliations in the \classoption{groupedaddress} % style, and \cmd\frontmatter@above@affiliation@script\ is that for \classoption{superscriptaddress}. % Journals will override this definition. % \begin{macrocode} \def\frontmatter@above@affiliation{}% \def\frontmatter@above@affiliation@script{}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\frontmatter@affiliationfont} % The default type specification for the affiliation. % Journals will override this definition. % \begin{macrocode} \def\frontmatter@affiliationfont{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@RRAP@format} % The default type specification for the dates. % Journals will override this definition. % \begin{macrocode} \def\frontmatter@RRAP@format{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@PACS@format} % Specify the formatting of the title page PACS statement. % % Journals will override. % \begin{macrocode} \def\frontmatter@PACS@format{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@keys@format} % Specify the formatting of the title page keywords statement. % % Journals will override. % \begin{macrocode} \def\frontmatter@keys@format{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@finalspace} % % \begin{macrocode} \def\frontmatter@finalspace{\addvspace{18\p@}} % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@addressnewline} % \changes{v4.h}{1998/06/25} % {new hook} % The definition of \cmd\\\ for address handling. Default puts all the `lines' % on a run-in line, separated by comma and space. % DPC: was \newline space between lines of addresss. % \begin{macrocode} \def\frontmatter@addressnewline{% \@ifhmode{\skip@\lastskip\unskip\unpenalty\break\hskip\skip@}{}% % was: \vskip-.5ex }% % \end{macrocode} % \end{macro} % % % \begin{macro}{\frontmatter@preabstractspace} % \begin{macro}{\frontmatter@postabstractspace} % Space above and space below abstract in title block % \begin{macrocode} \def\frontmatter@preabstractspace{5.5\p@} \def\frontmatter@postabstractspace{6.5\p@} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\aftermaketitle@chk} % Error-checking code. % \begin{macrocode} \def\aftermaketitle@chk#1{% \@ifx{\maketitle\relax}{% \class@err{\protect#1 must be used before \protect\maketitle}% }{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\ps@titlepage} % Default page style for title page. % Journals will override this procedure. % \begin{macrocode} \def\ps@titlepage{\ps@empty}% % \end{macrocode} % \end{macro} % %FIXME: there is a limitation to the default meaning of % \cmd\@startpage, the label ``FirstPage'' is only % defined if the document has a \cmd\maketitle\ command. % % \begin{macrocode} \def\volumeyear#1{\gdef\@volumeyear{#1}}% \def\@volumeyear{}% \def\volumenumber#1{\gdef\@volumenumber{#1}}% \def\@volumenumber{}% \def\issuenumber#1{\gdef\@issuenumber{#1}}% \def\@issuenumber{}% \def\eid#1{\gdef\@eid{#1}}% \def\@eid{}% % \def\startpage#1{\gdef\@startpage{#1}\c@page#1\relax}% \def\@startpage{\pageref{FirstPage}}% \def\endpage#1{\gdef\@endpage{#1}}% \def\@endpage{\pageref{LastPage}}% % \end{macrocode} % % % \subsection{Printing out the ``list-of'' elements}% % % FIXME: The \cmd\appendix@toc\ procedure should change the meaning % of \cmd\l@section\ so that the \cmd\section s can be appropriately formatted, % reflecting their status as appendices. % % \begin{macrocode} \def\print@toc#1{% \begingroup % \c@secnumdepth-\maxdimen \expandafter\section \expandafter*% \expandafter{% \csname#1name\endcsname }% \let\appendix\appendix@toc \@starttoc{#1}% \endgroup }% \def\appendix@toc{}% % \end{macrocode} % % % \section{Body} % % \subsection{counters} % The following definitions are probably identical to those in % \file{classes.dtx}% % \begin{macrocode} \def\labelenumi{\theenumi.} \def\theenumi{\arabic{enumi}} % \end{macrocode} % % \begin{macrocode} \def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}} \def\p@enumii{\theenumi} % \end{macrocode} % % \begin{macrocode} \def\labelenumiii{\theenumiii.} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} % \end{macrocode} % % \begin{macrocode} \def\labelenumiv{\theenumiv.} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} % \end{macrocode} % % \begin{macrocode} \def\labelitemi{\textbullet} \def\labelitemii{\normalfont\bfseries\textendash} \def\labelitemiii{\textasteriskcentered} \def\labelitemiv{\textperiodcentered} % \end{macrocode} % % \begin{macrocode} \pagenumbering{arabic} % \end{macrocode} % % \subsection{float parameters} % % from the old aps.sty. (DPC: same as article I think) % AO: here, \LaTeX's standard classes fail very poorly % (the price of backward compatability): the values for % \cmd\floatpagefraction\ and \cmd\dblfloatpagefraction\ % need to be raised to avoid creating extremely short % float pages. % \begin{macrocode} \setcounter{topnumber}{2} \def\topfraction{.9} \setcounter{bottomnumber}{1} \def\bottomfraction{.9} \setcounter{totalnumber}{3} \def\textfraction{.1} \def\floatpagefraction{.9} \setcounter{dbltopnumber}{2} \def\dbltopfraction{.9} \def\dblfloatpagefraction{.9} % \end{macrocode} % % \subsection{List Environments} % % \begin{macrocode} \newenvironment{verse}{% \let\\=\@centercr \list{}{% \itemsep\z@ \itemindent -1.5em\listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]% }{% \endlist }% % \end{macrocode} % % \begin{macrocode} \newenvironment{quotation}{% \list{}{% \listparindent 1.5em \itemindent\listparindent \rightmargin\leftmargin \parsep \z@ \@plus\p@}\item[]% }{% \endlist }% % \end{macrocode} % % \begin{macrocode} \newenvironment{quote}{% \list{}{% \rightmargin\leftmargin}\item[]% }{% \endlist }% % \end{macrocode} % % \begin{macrocode} \def\descriptionlabel#1{% \hspace\labelsep \normalfont\bfseries #1% }% % \end{macrocode} % % \begin{macrocode} \newenvironment{description}{% \list{}{% \labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel }% }{% \endlist }% % \end{macrocode} % % \subsection{Sectioning Commands} % % \subsubsection{Counters and Their Productions}% % \begin{macrocode} \newcounter{part} \newcounter{section} \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph] % \end{macrocode} % % \begin{macrocode} \def\thepart {\Roman{part}} % \def\thesection {\Roman{section}} \def\p@section {} \def\thesubsection {\Alph{subsection}} \def\p@subsection {\thesection\,} \def\thesubsubsection {\arabic{subsubsection}} \def\p@subsubsection {\thesection\,\thesubsection\,} \def\theparagraph {\alph{paragraph}} \def\p@paragraph {\thesection\,\thesubsection\,\thesubsubsection\,} \def\thesubparagraph {\arabic{subparagraph}} \def\p@subparagraph {\thesection\,\thesubsection\,\thesubsubsection\,\theparagraph\,} % \end{macrocode} % % \subsubsection{The Acknowledgments Environment}% % This user-level markup produces a head introducing % the acknowledgments, and acts as a wrapper for the text. % In this implementation, it is an unnumbered section, % but appears within the toc. % % For compatiability's sake, we implement it under the alternative % spelling \env{acknowledgements}. % \changes{v4.0beta 3}{1999/11/13} % {also spelled ``acknowledgements''.} % \changes{v4.0beta 4}{2000/05/18} % {But alternative spelling is deprecated.} % \begin{macrocode} \newenvironment{acknowledgments}{% \acknowledgments@sw{% \section*{\acknowledgmentsname}% }{% \par \phantomsection \addcontentsline{toc}{section}{\protect\numberline{}\acknowledgmentsname}% }% }{% \par }% \@booleantrue\acknowledgments@sw \newenvironment{acknowledgements}{% \replace@environment{acknowledgements}{acknowledgments}% }{% \endacknowledgments }% % \end{macrocode} % % \subsubsection{Part Opener}% % section setup copied verbatim from revtex3 aps/osa. % Does not explicitly depend on pointsize options. % \begin{macrocode} \def\part{\par \addvspace{4ex}% \@afterindentfalse \secdef\@part\@spart}% % \end{macrocode} % % \begin{macrocode} \def\@part[#1]#2{% \@ifnum{\c@secnumdepth >\m@ne}{% \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% }{% \addcontentsline{toc}{part}{#1}% }% \begingroup \parindent \z@ \raggedright \interlinepenalty\@M \@ifnum{\c@secnumdepth >\m@ne}{% \Large \bf \partname~\thepart% \par\nobreak }{}% \huge \bf #2% \markboth{}{}\par \endgroup \nobreak \vskip 3ex \@afterheading }% % \end{macrocode} % % \begin{macrocode} \def\@spart#1{{\parindent \z@ \raggedright \interlinepenalty\@M \huge \bf #1\par} \nobreak \vskip 3ex \@afterheading} % \end{macrocode} % % \subsubsection{Stacked Heads}% % Here are the class default definitions for sectioning commands. % A society or a journal substyle will likely override these definitions. % % In doing so, you can customize the formatting for a particular level by defining, % e.g., \cmd\@hangfrom@section\ or \cmd\@subsectioncntformat. % \begin{macrocode} \def\section{% \@startsection {section}% {1}% {\z@}% {0.8cm \@plus1ex \@minus .2ex}% {0.5cm}% {\normalfont\small\bfseries}% }% % \end{macrocode} % % \begin{macrocode} \def\subsection{% \@startsection {subsection}% {2}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {\normalfont\small\bfseries}% }% % \end{macrocode} % % \begin{macrocode} \def\subsubsection{% \@startsection {subsubsection}% {3}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {\normalfont\small\itshape}% }% % \end{macrocode} % % \subsubsection{Runin Heads}% % \begin{macrocode} \def\paragraph{% \@startsection {paragraph}% {4}% {\parindent}% {\z@}% {-1em}% {\normalfont\normalsize\itshape}% }% % \end{macrocode} % % \begin{macrocode} \def\subparagraph{% \@startsection {subparagraph}% {5}% {\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}% }% % \end{macrocode} % % % \subsection{Math} % % \begin{macro}{\theequation} % We change the production of the equation counter so that % we can accomodate the \classoption{eqsecnum} option. % \begin{macrocode} \def\theequation{% \theequation@prefix\arabic{equation}% }% \def\theequation@prefix{}% % \end{macrocode} % \end{macro} % % % \subsection{Type Size-Dependent Settings} % % Note that many parameters, as well as the meaning of % \cmd\normalsize, are deferred until % \cmd\AtEndOfClass\ time. % Therefore, code elsewhere in this class \emph{should not} % assume these things' values have been set! % \begin{macrocode} \AtEndOfClass{% \expandafter\input\expandafter{\@pointsize pt\substyle@ext}% }% % \end{macrocode} % % % \subsection{All Point Sizes} % \begin{macrocode} \setcounter{secnumdepth}{4} % \end{macrocode} % % \begin{macrocode} \lineskip 1pt \normallineskip 1pt \def\baselinestretch{1}% % \end{macrocode} % % \begin{macrocode} \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 % \end{macrocode} % % \begin{macrocode} \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty % \end{macrocode} % % \begin{macrocode} \arraycolsep 3pt \tabcolsep 2pt \arrayrulewidth .4pt \doublerulesep 2pt % \end{macrocode} % % \begin{macrocode} \skip\@mpfootins = 0pt % \end{macrocode} % % \begin{macrocode} \fboxsep = 3.0pt \fboxrule = 0.4pt % \end{macrocode} % % \subsection{Figures} % \changes{v4.0beta 2}{1999/06/20} % {Processing delayed to \cs{AtBeginDocument} time} % % \begin{environment}{figure} % We define the \env{figure} environment. % Later, we will horse around with its meaning % in order to accomodate \cmd\floats@sw. % \begin{macrocode} \newenvironment{figure} {\@float{figure}} {\end@float} \newenvironment{figure*} {\@dblfloat{figure}} {\end@dblfloat} % \end{macrocode} % \end{environment} % % \begin{macro}{\@makecaption} % If caption is one line long, to be centered; if lines turn, then set justified. % \begin{macrocode} \newlength\abovecaptionskip \newlength\belowcaptionskip \setlength\abovecaptionskip{10\p@} \setlength\belowcaptionskip{2\p@} % \end{macrocode} % % \changes{v4.0beta 2}{1999/06/20} % {One-line caption sets flush left.} % \changes{v4.0beta 3}{1999/11/13} % {Prevent an inner footnote from performing twice} % \begin{macrocode} \long\def\@makecaption#1#2{% \par % \nobreak \vskip\abovecaptionskip \begingroup \small\rmfamily \sbox\@tempboxa{% \let\\\heading@cr #1: #2% }% \@ifdim{\wd\@tempboxa >\hsize}{% \begingroup \samepage \flushing \let\footnote\@footnotemark@gobble #1: #2\par \endgroup }{% \global \@minipagefalse \hb@xt@\hsize{\hfil\unhbox\@tempboxa\hfil}% }% \endgroup \vskip\belowcaptionskip }% \def\@footnotemark@gobble{% \@footnotemark \@ifnextchar[{\@gobble@opt@i}{\@gobble}% }% \def\@gobble@opt@i[#1]#2{}% \def\@mpmakefntext#1{% \flushing \parindent=1em \noindent \hb@xt@1em{\hss\@makefnmark}% #1% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\thefigure} % The figure counter and float placement defaults. % \begin{macrocode} \newcounter{figure} \renewcommand \thefigure {\@arabic\c@figure} % \end{macrocode} % Note that we give the `!' modifier by default. % This is an effort to avoid the syndrome wherein % a deferred float finds itself unqualified for % placement, thereby getting carried until \cmd\clearpage. % \begin{macrocode} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{\figurename~\thefigure} % \end{macrocode} % \end{macro} % % \subsubsection{Deferring \env{figure} Floats}% % % We install a hook at \cmd\AtBeginDocument\ time which determines if % figures will float or will be deferred until % \cmd\printfigures\ time. % \begin{macrocode} \appdef\class@documenthook{% \do@if@floats{figure}{.fgx}% }% \appdef\class@enddocumenthook{% \printfigures\relax }% % \end{macrocode} % % \begin{macro}{\printfigures} % The user-level command \cmd\printfigures\ determines % where the figures are to appear in a document in which % \cmd\floats@sw\ is false. % If the user invokes the \classoption{endfloats} class option and fails to % insert a \cmd\printfigures\ command, % the figures will be printed at the end of the document. % If the command is given, but floats are not being deferred, % it amounts to a no-op. % \changes{v4.0beta 2}{1999/06/20} % {call \cs{print@floats}} % \changes{v4.0beta 3}{1999/11/13} % {*-form mandates pagebreak} % \begin{macrocode} \newcommand\printfigures{% \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}% {% \print@float{figure}{\oneapage}% }{% \print@float{figure}{}% }% }% % \end{macrocode} % \end{macro} % % % \begin{macro}{\@xfloat@prep} % We patch into the procedure \cmd\@xfloat@prep. % This patch applies to all floats (not \env{figure} alone) % and makes the type center. % \begin{macrocode} \appdef\@xfloat@prep{% \appdef\@parboxrestore{\centering}% \let\@makefnmark\@makefnmark@latex \let\@footnotemark\@footnotemark@latex }% % \end{macrocode} % \end{macro} % % % \subsection{Tables} % \changes{v4.0beta 2}{1999/06/20} % {Processing delayed to \cs{AtBeginDocument} time} % % DPC: More or less taken from \file{revtex2} \file{aps.sty}, % but using dcolumn for decimal alignment. % \begin{environment}{table} % We define the \env{table} environment. % Later, we will horse around with its meaning % in order to accomodate \cmd\floats@sw. % \begin{macrocode} \newenvironment{table} {\@float{table}} {\end@float} \newenvironment{table*} {\@dblfloat{table}} {\end@dblfloat} % \end{macrocode} % \end{environment} % % \begin{macro}{\thetable} % Table counter and default float placement declarations. % \begin{macrocode} \newcounter{table} \renewcommand\thetable{\@Roman\c@table} % \end{macrocode} % Note that we give the `!' modifier by default. % This is an effort to avoid the syndrome wherein % a deferred float finds itself unqualified for % placement, thereby getting carried until \cmd\clearpage. % \begin{macrocode} \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{\tablename~\thetable} % \end{macrocode} % \end{macro} % % \begin{macro}{\table@hook} % \begin{macro}{\squeezetable} % Assign a meaning to the hook installed into float processing. % % By default floats are \cmd\small. The \cmd\squeezetable\ declaration % makes them smaller (\cmd\scriptsize). In general you can locally % redefine \cmd\table@hook\ to be whatever you like. % (DPC: |\Huge\color{magenta}|\ldots?) % \begin{macrocode} \def\table@hook{\small}% \def\squeezetable{\def\table@hook{\scriptsize}}% \appdef\@floatboxreset{\table@hook}% % \end{macrocode} % \end{macro} % \end{macro} % % \subsubsection{Deferring \env{table} Floats}% % % We install a hook at % \cmd\AtBeginDocument\ time which determines if % tables will float or will be deferred until % \cmd\printtables\ time. % % We also deal with the possibility of \env{longtable} environments. % % \begin{macrocode} \appdef\class@documenthook{% \floats@sw{}{% \let@environment{longtable@float}{longtable}% \let@environment{longtable}{longtable@write}% \let@environment{longtable*@float}{longtable*}% \let@environment{longtable*}{longtable*@write}% \let@environment{turnpage@float}{turnpage}% \let@environment{turnpage}{turnpage@write}% }% \do@if@floats{table}{.tbx}% }% \appdef\class@enddocumenthook{% \printtables\relax }% \newenvironment{longtable@write}{% \write@@float{longtable}{table}% }{% \endwrite@float }% \newenvironment{longtable*@write}{% \write@@float{longtable*}{table}% }{% \endwrite@float }% \newenvironment{turnpage@write}{% \immediate\write\tablewrite{\string\begin{turnpage}}% }{% \immediate\write\tablewrite{\string\end{turnpage}}% }% % \end{macrocode} % % \begin{macro}{\printtables} % The user-level command \cmd\printtables\ determines % where the tables are to appear in a document in which % \cmd\floats@sw\ is false. % If the user invokes the \classoption{nofloats} and fails to % insert a \cmd\printtables\ command, % the tables will be printed at the end of the document. % If the command is given, but floats are not being deferred, % it amounts to a no-op. % \changes{v4.0beta 2}{1999/06/20} % {only execute if appropriate} % \changes{v4.0beta 3}{1999/11/13} % {*-form mandates pagebreak} % \changes{v4.0beta 4}{2000/05/17} % {make longtable trigger the head, too} % \begin{macrocode} \newcommand\printtables{% \begingroup \let@environment{longtable}{longtable@float}% \let@environment{longtable*}{longtable*@float}% \let@environment{turnpage}{turnpage@anchored}% \prepdef\longtable{\trigger@float@par}% \expandafter\prepdef\csname longtable*\endcsname{\trigger@float@par}% \expandafter\prepdef\csname table@floats\endcsname{% \onecolumngrid@push }% \expandafter\appdef\csname endtable@floats\endcsname{% \onecolumngrid@pop }% \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}% {% \print@float{table}{\oneapage}% }{% \print@float{table}{}% }% \endgroup }% \newenvironment{turnpage@anchored}{% \onecolumngrid@push \setbox\z@\vbox to\textwidth\bgroup \columnwidth\textheight }{% \vfil \egroup \rotatebox{90}{\box\z@}% \onecolumngrid@pop }% % \end{macrocode} % \end{macro} % % % % \section{Tabular} % Every tabular has a double (Scotch) rule above and below. % The column specifier ``d'' is implemented using the \classname{dcolumn} % package, if available. % FIXME: always load dcolumn! % \begin{macro}{\tabular@hook} % \begin{macro}{\endtabular@hook} % \begin{environment}{ruledtabular} % \begin{macrocode} \def\endtabular@hook{}% %\RequirePackage{dcolumn}% \appdef\class@documenthook{% \@ifpackageloaded{dcolumn}{% \newcolumntype{d}{D{.}{.}{-1}}% }{}% }% \def\toprule{\hline\hline}% \def\colrule{\hline}% \def\botrule{\hline\hline}% \newenvironment{ruledtabular}{% \def\array@default{v}% \appdef\tabular@hook{\def\@halignto{to\hsize}}% \let\tableft@skip@default\tableft@skip \let\tableft@skip\tableft@skip@float \let\tabmid@skip@default\tabmid@skip \let\tabmid@skip\tabmid@skip@float \let\tabright@skip@default\tabright@skip \let\tabright@skip\tabright@skip@float \let\array@row@pre@default\array@row@pre \let\array@row@pre\array@row@pre@float \let\array@row@pst@default\array@row@pst \let\array@row@pst\array@row@pst@float \appdef\array@row@rst{% \let\array@row@pre\array@row@pre@default \let\array@row@pst\array@row@pst@default \let\tableft@skip\tableft@skip@default \let\tabmid@skip\tabmid@skip@default \let\tabright@skip\tabright@skip@default \appdef\tabular@hook{\let\@halignto\@empty}% }% }{% }% % \end{macrocode} % \end{environment} % \end{macro} % \end{macro} % % \section{Footnote Text} % % \changes{v4.g}{1998/06/10} % {single space footnotes} % \changes{v4.0beta 2}{1999/06/20} % {% % Frank Mittelbach, has stated in \protect\classname{multicol}: % ``The kernel command \cs{@footnotetext} should not be modified.'' % Thus, I have removed David Carlisle's redefinition of that command. % Note, however, that later versions of \protect\classname{multicol} do not require % this workaround. Belt and suspenders. % }% % % \begin{macro}{\@makefntext} % \begin{macrocode} \def\@makefntext#1{% \def\baselinestretch{1}% \reset@font\footnotesize \parindent 1em% \noindent \hb@xt@1.8em{% \Hy@raisedlink{\hyper@anchorstart{footnote@\the\c@footnote}\hyper@anchorend}% \hss\@makefnmark }% #1\par }% % \end{macrocode} % \end{macro} % % % \subsection{Citations, Bibliography, Endnotes} % % \subsubsection{Bibliography} % % Load Patrick Daly's \classname{natbib} package, % \url{ftp://ctan.tug.org/macros/latex/contrib/supported/natbib} % % Note that \classname{natbib} assumes that it loads % over a document class, such as the \classname{article} class, % that has already defined \env{thebibliography} and \cmd\@listi. % % Note also that \classname{natbib} also installs a command % \cmd\NAT@set@cites\ into \cmd\AtBeginDocument\ which presumes % that the proper \cmd\bibpunct\ command has been issued. % % We have a problem with \classname{natbib} in that it does not % accomodate late binding of its package options. This means % that those options must be known at the time the package % loads. Therefore, we select \classoption{sort\&compress} % now, and thereby foreclose on alternative uses of \classname{natbib}. % % Certain societies may prefer an alternative; they are out of luck. % If you find yourself in this position, please let the author % of \classname{natbib} know that his package should be modified to % accomodate late binding of package options. % % To remedy the situation, note that the macro \cmd\NAT@sort\ controls % whether citations are left alone (\cmd\NAT@sort=0), sorted (\cmd\NAT@sort=1), or sorted and compressed (\cmd\NAT@sort=2). % Since we give \classname{natbib} the \classoption{sort\&compress} option, % if you prefer \classoption{sort}, you need only define \cmd\NAT@sort\ to be 1. % However, if you prefer the effect of having neither \classoption{sort} nor \classoption{sort\&compress}, % you must define \cmd\NAT@sort\ to be 0 and you must also define % \cmd\NAT@sort@cites: %\begin{verbatim} %\renewcommand\NAT@sort@cites[1]{\edef\NAT@cite@list{#1}}% %\end{verbatim} % % For other \classname{natbib} customizations, you may proceed as if you were going to use % the \file{natbib.cfg} file: anything that you can modify by this means is fair game. % Once \revtex\ is finished loading, you can assert any definitions for \classname{natbib} that you wish. % % \begin{macrocode} \newenvironment{thebibliography}{}{}% \let\@listi\@empty \RequirePackage[sort&compress]{natbib}[1999/05/28 7.0]% \let\NAT@thebibliography\thebibliography \let\NAT@endthebibliography\endthebibliography \let\bibliographystyle@latex\bibliographystyle % \end{macrocode} % % \begin{macro}{\NAT@citesuper} % We redefine \classname{natbib}'s procedure \cmd\NAT@citesuper, % which is executed when setting a superscript citation. % The \cmd\hspace\ is removed: in any case, it % should really be \cmd\hspace*, to prevent an unwanted pagebreak. % \begin{macrocode} \renewcommand\NAT@citesuper[3]{% \ifNAT@swa \leavevmode \unskip % \hspace{1\p@}% \textsuperscript{#1}% \if*#3*\else\ (#3)\fi \else #1% \fi \endgroup }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@makefnmark@cite} % We define a procedure that will set a footnote mark the same way that % a citation is set. If footnotes are put in the bibliography with % \cmd\footinbib@sw, then the corresponding mark should look the same % as the result of a \cmd\cite. This is how we do it. % \begin{macrocode} \def\@makefnmark@cite{\begingroup\NAT@swatrue\@cite{{\@thefnmark}}{}{}}% % \end{macrocode} % \end{macro} % % \begin{macro}{\bibliographystyle} % We arrange for the selection of bibliography style % to occur either due to the document's explicit % \cmd\bibliographystyle\ statement or % via the journal substyle. % % Note that \revtex\ is now incompatible with % any package that patches \cmd\bibliographystyle, % except for those (like \classname{natbib}) that load before here. % \begin{macrocode} \let\bibliographystyle@latex\bibliographystyle \def\bibliographystyle{\def\@bibstyle}% % \end{macrocode} % \end{macro} % % \begin{macro}{\bibsection} % \begin{macro}{\NAT@bibsetnum} % \begin{macro}{\NAT@bibsetup} % \begin{macro}{\bibpreamble} % \begin{macro}{\newblock} % \begin{macro}{\bibnumfmt} % We define the sectioning command to use when starting the bibliography % and gently coax \classname{natbib} into using % the formatting procedures that \emph{we} want it to use. % % This way of setting up \env{thebibliography} % automatically sets the label width based on % the largest number used within the bibliography. % This scheme will not work properly using the % author/year style of bib entry, though. % % We define \cmd\bibnumfmt\ to be \cmd\place@bibnumber, which is a macro % managed by \revtex. If the document defines \cmd\bibnumfmt, then that % definition will be used instead, which is what the \classname{natbib} % package gives as its programming interface. % % And if the substyle does not give a meaning to \cmd\place@bibnumber, % we give it that of the original \cmd\bibnumfmt. % \begin{macrocode} \def\bibsection{% \@ifx@empty\refname{% \par }{% \let\@hangfroms@section\@hang@froms \section*{\refname}% \@nobreaktrue }% }% \let\NATx@bibsetnum\NAT@bibsetnum \def\NAT@bibsetnum#1{% \setlength{\topsep}{\z@}% \NATx@bibsetnum{\ref{LastBibItem}}% }% \let\NATx@bibsetup\NAT@bibsetup \def\NAT@bibsetup{% \setlength{\labelwidth}{\z@}% \setlength{\labelsep}{\z@}% \setlength{\itemindent}{\z@}% \setlength{\listparindent}{\z@}% \setlength{\topsep}{\z@}% \setlength{\parsep}{\z@}% \NATx@bibsetup }% \let\bibpreamble\@empty \def\newblock{\ }% \let\NATx@bibnumfmt\bibnumfmt \def\bibnumfmt{\place@bibnumber}% \AtEndOfClass{% \appdef\class@documenthook{% \@ifxundefined\place@bibnumber{% \let\place@bibnumber\NATx@bibnumfmt }{}% }% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\NAT@onlinecite} % We anticipate using numerical citations. % If superscript citations are used, we nonetheless need a way to % use numerical citations as required by the author. % These should be accessible via the \cmd\citet\ command. % % Therefore we remember how to do a numerical citation % even when the superscript citation has been selected. % % Can you say ``inelegant hack''? I knew you could! % \begin{macrocode} \let\NAT@citeyear\citeyear \def\NAT@onlinecite#1{% \begingroup \let\@cite\NAT@citenum \let\NAT@mbox\mbox \let\citeyear\NAT@citeyear \def\NAT@space{ }% \cite{#1}% \endgroup }% % \end{macrocode} % \end{macro} % % \begin{macro}{+} % \begin{macro}{\textcite} % We extend \classname{natbib}'s syntax with two commands to set a citation % on the baseline (as opposed to superscripted) and as text (rather than parenthetical), respectively. % A journal substyle that makes citations be superscripted or parenthetical as the case may be, should ensure % that the author has continued access to these two styles. % % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\@onlinecite{\def\@onlinecite{\citealp}}{}% \@ifxundefined\@textcite{\def\@textcite{\citet}}{}% }% \DeclareRobustCommand\onlinecite{\@onlinecite}% \DeclareRobustCommand\textcite{\@textcite}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{environment}{thebibliography}% % \begin{macro}{\present@bibnote}% % We put a tail patch into \cmd\thebibliogrphy\ and % a headpatch into \cmd\endthebibliography. % % We also apply a fix to the \cmd\list\ procedure % so that, at least within the bibliography, % items are not formatted via \cmd\parshape, % which caused problems during column balancing. % (Other list-like environments may also require fixing, % but we will save that for another day.) % % Here we provide a default treatment for frontmatter notes % deferred to the bibliography; a journal substyle % might want to override the definition of \cmd\present@bibnote. % \begin{macrocode} \renewenvironment{thebibliography}[1]{% \NAT@thebibliography{#1}% \@clubpenalty\clubpenalty \let\@TBN@opr\present@bibnote \@FMN@list }{% \@endnotesinbib \edef\@currentlabel{\arabic{NAT@ctr}}% \label{LastBibItem}% \NAT@endthebibliography \global\let\auto@bib\@empty }% \def\present@bibnote#1#2{% \item[% \textsuperscript{% \normalfont \Hy@raisedlink{\hyper@anchorstart{frontmatter@#1}\hyper@anchorend}% \begingroup \c@footnote#1\relax \frontmatter@thefootnote \endgroup }% ]#2\par }% % \end{macrocode} % \end{macro} % \end{environment} % % \begin{macro}{\place@bibnumber@sup} % \begin{macro}{\place@bibnumber@inl} % For producing the \cmd\bibitem\ device, % we define two procedures to select from. % % Note that we could have used \classname{natbib}'s \cmd\ifNAT@super\ % switch, but it does not allow for altering the meaning of \cmd\bibnumfmt. % \begin{macrocode} \def\place@bibnumber@sup#1{\textsuperscript{#1}}% \def\place@bibnumber@inl#1{[#1]}% % \end{macrocode} % \end{macro} % \end{macro} % %% \begin{macro}{\@cite} %% \begin{macro}{\nocite} % \begin{macro}{write@bibliographystyle} % We wish to delay committing the \cmd\bibliographystyle\ until as late as possible. % The journal substyle will define a default bibliography style, and % the document's explicit \cmd\bibliographystyle\ command, if any, will override that default. %% For the sake of Bib\TeX, we must execute the \cmd\bibliographystyle\ command %% (putting a \cmd\bibstyle\ command into the auxiliary file) %% somewhere before the first \cmd\cite\ command (or any other like command), %% which puts a \cmd\citation\ command into the auxiliary file. %% %% Therefore, we headpatch the two procedures in \classname{natbib} that can result in %% the appearance in the auxiliary file of a \cmd\citation\ command. %% These two procedures are \cmd\@cite\ and \cmd\nocite. %% %% Not! % % The \cmd\bibstyle\ command may appear quite late in the \filename{.aux} file. % We now delay the automatic writing of the \cmd\bibstyle\ command to the end of the job. % % The procedure \cmd\write@bibliographystyle\ tests whether a \cmd\bibliographystyle\ command has % already been given. % If not, it effectively executes the needed \cmd\bibliographystyle\ command, then neutralizes itself % (we only need to do this once per job). % % \begin{macrocode} %\AtBeginDocument{% % \let\natbib@@cite\@cite % \def\@cite{\write@bibliographystyle\natbib@@cite}% % \let\natbib@nocite\nocite % \def\nocite{\write@bibliographystyle\natbib@nocite}% %}% \def\write@bibliographystyle{% \@ifxundefined\@bibstyle{}{% \expandafter\bibliographystyle@latex\expandafter{\@bibstyle}% }% \global\let\write@bibliographystyle\relax }% \AtEndDocument{\write@bibliographystyle}% % \end{macrocode} % \end{macro} %% \end{macro} %% \end{macro} % % \begin{macro}{\super@cite} % \begin{macro}{\super@cite@} % The \cmd\super@cite\ procedure takes the place of \cmd\@citex\ and implements the feature of the % \classoption{citeautoscript} class option. % This means that the document should be marked up as if citations were \emph{not} superscripted, % and then if you select a journal substyle that has superscripted citations, \revtex\ will do its best % to alter the formatting of the \cmd\cite s to accomodate superscript style. % % Note that the commands \cmd\onlinecite\ and \cmd\textcite\ are not affected by this procedure. % % Here's a subtle one: when is the argument of \cmd\super@cite@@\ not the same as the token \cmd\@let@token? % Answer: when the latter is \cmd\@sptoken! This case has to be handled separately. % % \begin{macrocode} \def\super@cite[#1][#2]#3{% \leavevmode \skip@\lastskip \unskip \begingroup \def\@tempa{[#1][#2]{#3}}% \super@cite@ }% \def\super@cite@{% \futurelet\@let@token\super@cite@@ }% \long\def\super@cite@@#1{% \@ifx{\@let@token\@sptoken}{% \aftergroup\@sptoken\false@sw }{% \@ifx{\@let@token.}{\true@sw}{% \@ifx{\@let@token,}{\true@sw}{% \@ifx{\@let@token'}{\true@sw}{% \@ifx{\@let@token)}{\true@sw}{% \false@sw }% }% }% }% }% {% #1% \super@cite@ }{% \expandafter\@citex@NAT\@tempa\endgroup #1% }% }% \AtBeginDocument{% \citeautoscript@sw{% \@ifx{\place@bibnumber\place@bibnumber@sup}{% \let\@citex@NAT\@citex\let\@citex\super@cite }{}% }{}% }% % \end{macrocode} % \end{macro} % \end{macro} % % % Resolve an incompatability between \classname{natbib} and \classname{listings}. % The latter package tests \cmd\chapter (which has now been \cmd\let\ to \cmd\relax\ as a side effect \classname{natbib}'s use of \LaTeX's \cmd\@ifundefined). % % We couch our fix in such terms that will not be disruptive if \cmd\chapter\ is actually defined at this point. % \begin{macrocode} \@ifx{\chapter\relax}{\let\chapter\@undefined}{}% % \end{macrocode} % % % \subsubsection{\cs{endnote}s and \cs{rtx@bibnote}s} % FIXME: check hyperref compatibility! % % \begin{macro}{\mini@note} % \begin{macro}{\save@note} % \begin{macrocode} \def\mini@note{\save@note\mini@notes}%Implicit #1 \def\save@note#1#2{% \stepcounter{footnote}% \protected@xdef\@thefnmark{\the\c@footnote}% \@footnotemark \expandafter\g@addto@macro \expandafter#1% \expandafter{% \expandafter \@@footnotetext \expandafter {\@thefnmark}{#2}% }% }% \long\def\@@footnotetext#1{\def\@thefnmark{#1}\@footnotetext}% \let\mini@notes\@empty % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\endnote} % A version of footnote that appears at the end of the document. % Actually it just appears where \cmd\printendnotes\ appears. % \begin{macrocode} \def\endnote{% \begingroup \aftergroup\@footnotemark \aftergroup\@endnotetext \@ifnextchar[{% \@xendnote }{% \stepcounter{footnote}% \protected@xdef\@tempa{\thefootnote}% \expandafter\@xendnote\expandafter[\@tempa]% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@xendnote} % \begin{macrocode} \def\@xendnote[#1]{% \begingroup \c@footnote#1\relax \unrestored@protected@xdef\@thefnmark{endnote\thefootnote}% \endgroup \endgroup }% \def\@endnotemark{% \expandafter\cite\expandafter{\@thefnmark}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\endnote@ext} % \begin{macrocode} \def\endnote@ext{.end}% % \end{macrocode} % \end{macro} % % \begin{macro}{\@endnotetext} % The commands \cmd\label, \cmd\index, and \cmd\glossary, % which are robustified for \cmd\markright\ and \cmd\addcontentsline, % are likewise robustified here. % % Note the similarity to \cmd\protected@write. % \begin{macrocode} \long\def\@endnotetext#1{% \@ifxundefined\@endnoteout{% \newwrite\@endnoteout \gdef\endnote@stream{\jobname\endnote@ext}% \immediate\openout\@endnoteout\endnote@stream\relax }{}% \begingroup \let\label\relax \let\index\relax \let\glossary\relax \let\cite \relax \let\ref \relax \let\pageref \relax \let\( \relax \let\) \relax \let\\ \relax % \let\protect\noexpand \let \protect \@unexpandable@protect \newlinechar`\^^M% % \newlinechar`\ % \immediate\write\@endnoteout{\string\@doendnote{\@thefnmark}{#1}}% \endgroup }% % \end{macrocode} % \end{macro} % % \begin{macro}{\endnotetext} % \begin{macrocode} \def\endnotetext{% \@ifnextchar[{% \@xendnotenext }{% \protected@xdef\@thefnmark{\thefootnote}% \@endnotetext }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@xendnotenext} % \begin{macrocode} \def\@xendnotenext[#1]{% \begingroup \c@footnote#1\relax \unrestored@protected@xdef\@thefnmark{\thefootnote}% \endgroup \@endnotetext }% % \end{macrocode} % \end{macro} % % \begin{macro}{\printendnotes} % \begin{macrocode} \def\printendnotes{% \@ifx{\@endnoteout\@undefined}{}{% \begingroup \c@secnumdepth-\maxdimen \section{% \notesname }% \immediate\closeout\@endnoteout \global\let\@endnoteout\@undefined \begin{enumerate}% \makeatletter \input{\endnote@stream}% \end{enumerate}% \endgroup }% }% \appdef\class@enddocumenthook{% \printendnotes }% % \end{macrocode} % \end{macro} % % \begin{macro}{\firstnote@num} % \begin{macro}{\set@firstnote} % % In \revtex, we have permanently altered the way % that the footnote counter gets reset at the beginning % of the document. % % If footnotes appear in the bibliography, we initialise % the footnote counter to number of cites (found last time) % via \cmd\set@firstnote. % % \begin{macrocode} \mathchardef\firstnote@num\z@ \appdef\class@documenthook{% \global\c@footnote\firstnote@num \appdef\maketitle{\global\c@footnote\firstnote@num}% }% \def\set@firstnote#1{% \@ifnum{\firstnote@num=#1\relax}{}{% \class@warn@end{Endnote numbers changed: rerun LaTeX}% }% \immediate\write\@mainaux{% \global\chardef\string\firstnote@num#1\relax }% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@endnotesinbib} % \begin{macro}{\@endnotesinbibliography} % We define a function \cmd\@endnotesinbib, % and a variant \cmd\@endnotesinbibliography. % The former is invoked at the start of % the end processing for \enve{thebibliography}; % the latter is a synonym. % % The procedure typesets the footnotes that are to % appear in the bibliography; the default is to % simply arrange for the footnote counter to be % reset at the start of the document. % % The switchover to setting footnotes in the bibliography % is done via \cmd\AtBeginDocument\ code that % changes the meaning of \cmd\footnote\ and % that substitutes the synonym for % \cmd\@endnotesinbib. % % Note that this code make the assumption that % the counter used in \env{thebibliography} is \cmd\c@NAT@ctr. % % \begin{macrocode} \def\@endnotesinbib{% \set@firstnote\z@ }% \def\@endnotesinbibliography{% \expandafter\set@firstnote\expandafter{\the\c@NAT@ctr}% \@ifx{\@endnoteout\@undefined}{}{% \immediate\closeout\@endnoteout \global\let\@endnoteout\@undefined \makeatletter \input{\endnote@stream}% }% }% \appdef\class@documenthook{% \let\@makefnmark@latex\@makefnmark \let\@footnotemark@latex\@footnotemark \footinbib@sw{% \let\footnote\endnote \let\@footnotemark\@endnotemark \let\@makefnmark\@makefnmark@cite \let\@endnotesinbib\@endnotesinbibliography \appdef\class@enddocumenthook{\auto@bib}% \let\printendnotes\relax }{}% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\auto@bib} % Under some circumstances, we must typeset the bibliography automatically. % For instance, the document specifies footnotes in the bibliography, but contains % no bibliography. % % Note that this facility is not able to work more than once per document. % If multiple bibliographys are required (e.g., per article), it will be the responsibility of the journal style % to restore \cmd\auto@bib\ to its original meaning so it can be re-invoked. % \begin{macrocode} \def\auto@bib{% \@ifx@empty\@FMN@list{% \@ifxundefined\@endnoteout{% \false@sw }{% \true@sw }% }{% \true@sw }{% \begin{thebibliography}{}\end{thebibliography}% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@doendnote} % \begin{macrocode} \def\@doendnote#1#2{\bibitem{#1}#2} % \end{macrocode} % \end{macro} % % % % \section{Initial setup} % \changes{v4.0beta 2}{1999/06/20} % {Defer assignment until \cs{AtBeginDocument} time.} % Note that this code is executed at \cmd\AtBeginDocument\ time % in order to handle a particular timing problem. % Please do not move this code any earlier! % \begin{macrocode} \appdef\class@documenthook{% % \end{macrocode} % We assert our own page style only if nobody else has done so. % Users wishing to customize their documents will be able to invoke a \cmd\pagestyle\ % command anywhere in the preamble. % \begin{macrocode} \@ifxundefined\@evenhead{% \@ifxundefined\@oddhead{% \@ifxundefined\@oddfoot{% \@ifxundefined\@evenfoot{% \preprintsty@sw{% \ps@preprint }{% \ps@article }% }{}% }{}% }{}% }{}% \pagenumbering{arabic}% \normalsize \tabbingsep \labelsep \leftmargin\leftmargini \labelwidth\leftmargin\advance\labelwidth-\labelsep \let\@listi\@listI \@listi % \end{macrocode} % % \begin{macrocode} %\twoside@sw{}{% % \raggedbottom %}% % \end{macrocode} % We make sure that the ``environment'' component mark is set. % \begin{macrocode} \def\curr@envir{document}% \mark@envir{\curr@envir}% % \end{macrocode} % % \changes{v4.0beta 3}{1999/11/13} % {Grid changes with ltxgrid} % \changes{v4.0beta 4}{2000/04/10} % {Also alter how lists get indented.} % When setting the column grid, we have to alter the procedure % for formatting lists. Because \cmd\twocolumngrid\ requires % rebalancing columns at some points, lists must \emph{not} % involve the use of \cmd\moveleft, \cmd\moveright, or \cmd\parshape. % The alternative procedure only involves the manipulation of % \cmd\leftskip\ and \cmd\rightskip. % % FIXME: Always sloppy?? % \begin{macrocode} \twocolumn@sw{% \open@column@mlt\tw@ \set@colht \@floatplacement \@dblfloatplacement \sloppy \@booleanfalse\raggedcolumn@sw \let\set@listindent\set@listindent@ }{% \open@column@one\@ne \set@colht \@floatplacement \@dblfloatplacement \sloppy % \raggedbottom \let\set@listindent\set@listindent@parshape }% }% % \end{macrocode} % % % \section{\cs{appendix}} % % \begin{macrocode} %\newif\ifappendixon % \end{macrocode} % Note that, within appendices, % equations are numbered within sections (appendices). % \begin{macrocode} \def\appendix{% \par %\appendixontrue \setcounter{section}\z@ \setcounter{subsection}\z@ \setcounter{subsubsection}\z@ \def\thesubsection{\arabic{subsection}}% \def\thesubsubsection{\alph{subsubsection}}% \@addtoreset{equation}{section}% \def\theequation@prefix{\thesection}% \addtocontents{toc}{\protect\appendix}% \@ifstar{% \def\thesection{\unskip}% \def\theequation@prefix{A.}% }{% \def\thesection{\Alph{section}}% }% }% % \end{macrocode} % % \section{Changing the page grid} % \changes{v4.0beta 2}{1999/06/20} % {Define three separate environments, % defer assignment to \cs{AtBeginDocument} time. % } % % \subsection{Avoiding Grid Changes}% % % In preprint styles, ``wide text'' is a no-op, and the title page % processing involves no grid change. % % \begin{macro}{\title@column@default}% % \begin{macro}{\close@column@default}% % % \begin{macrocode} \def\title@column@default#1{% \minipagefootnote@init #1% \minipagefootnote@foot }% \def\close@column@default{% \newpage }% % \end{macrocode} % \end{macro} % \end{macro} % % % \subsection{Galley Style: Margin Changes}% % A variant of preprint processing. Emulate journal appearance somewhat. % % \begin{environment}{widetext@galley} % DPC: We're in galley style so do a lob sided display environment. % % QUERY: How can we be sure that we are in galley style? % ANSWER: as noted elsewhere, require both \cmd\twocolumn@sw\ and \cmd\preprintsty@sw\ to be false. % \begin{macrocode} \def\galley@outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}% \let\widetext@outdent\@empty \newenvironment{widetext@galley}{% \list{}{% \topsep \z@skip \listparindent \parindent \itemindent \parindent \leftmargin \z@ \parsep \z@\@plus\p@ \widetext@outdent \relax }% \item\relax }{ \endlist }% % \end{macrocode} % \end{environment} % % % \subsection{Grid Changing Via \classname{ltxgrid}}% % % In case \classoption{twocolumngrid} has been invoked, % switch column grid using the column grid-changing commands. % Supply stub definitions of those commands here. % \changes{v4.0beta 3}{1999/11/13} % {grid changes with ltxgrid} % % \begin{macro}{\title@column@grid}% % \begin{macro}{\close@column@grid}% % The title block always starts at the top of a new page. % \changes{v4.0beta 3}{1999/11/13} % {grid changes with ltxgrid} % % Note that, for the procedure \cmd\close@column@grid, % we balance columns by switching to the one-column page grid, % then we return to a two-column page grid in anticipation of the % upcoming \cmd\clearpage. % \begin{macrocode} \def\title@column@grid#1{% \minipagefootnote@init \onecolumngrid \begingroup \let\@footnotetext\frontmatter@footnotetext \let\set@footnotewidth\set@footnotewidth@ii #1% \endgroup \twocolumngrid \minipagefootnote@foot }% \def\close@column@grid{% \balancelastpage@sw{% \onecolumngrid % \twocolumngrid }{}% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{environment}{widetext@grid} % \changes{v4.0beta 3}{1999/11/13} % {grid changes via ltxgrid procedures} % \changes{v4.0beta 5}{2000/11/21} % {adornments above and below.} % We slip into the one-column page grid % within the scope of this environment. % % Note that we set adornments above and below the \env{widettext}. % These are set as leaders, so they will disappear at a page break. % \begin{macrocode} \newenvironment{widetext@grid}{% \par\ignorespaces \setbox\widetext@top\vbox{% \vskip15\p@ \hb@xt@\hsize{% \leaders\hrule\hfil \vrule\@height6\p@ }% \vskip6\p@ }% \setbox\widetext@bot\hb@xt@\hsize{% \vrule\@depth6\p@ \leaders\hrule\hfil }% \onecolumngrid \dimen@\ht\widetext@top\advance\dimen@\dp\widetext@top \cleaders\box\widetext@top\vskip\dimen@ \let\set@footnotewidth\set@footnotewidth@ii }{% \par \setbox\widetext@bot\vbox{% \hb@xt@\hsize{\hfil\box\widetext@bot}% \vskip14\p@ }% \dimen@\ht\widetext@bot\advance\dimen@\dp\widetext@bot \cleaders\box\widetext@bot\vskip\dimen@ \twocolumngrid\global\@ignoretrue \@endpetrue }% \newbox\widetext@top \newbox\widetext@bot % \end{macrocode} % \end{environment} % % % Decide, finally, how the page grid is to be manipulated. % \begin{macrocode} \appdef\class@documenthook{% \twocolumn@sw{% \let@environment{widetext}{widetext@grid}% \let\title@column\title@column@grid \let\close@column\close@column@grid }{% \let@environment{widetext}{widetext@galley}% \preprintsty@sw{% % \end{macrocode} % Change the page grid not at all. % \begin{macrocode} }{% % \end{macrocode} % If we are galley style, change the page margin only. % \begin{macrocode} \galley@sw{% \let\widetext@outdent\galley@outdent }{% }% }% }% }% % \end{macrocode} % % \begin{macro}{\title@column} % Provide a default meaning for \cmd\title@column\ % in case it was never defined. % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\title@column{% \let\title@column\title@column@default }{}% }% % \end{macrocode} % \end{macro} % % % \section{Old font commands} % % \begin{macrocode} \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} % \end{macrocode} % % \section{English-Language Texts} % As this class is just for English language journals, we % could hardwire these texts, % but to make it easier to use this as a % basis for the code for similar journal styles, separate out all the % fixed text strings into babel-style macros of the form % |\|\ldots|name| % % Note: for babel compatability, use version 1999/05/05 v3.6x or later. % % Some of these might need changing in the society-specific code. % % \begin{macro}{\today} % Procedure \cmd\today\ is used in the article class, but not in % this document class. % \begin{macrocode} \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} % \end{macrocode} % \end{macro} % % \begin{macro}{\notesname} % Text entity \cmd\notesname\ is used in \cmd\printendnotes. % \begin{macrocode} \def\notesname{Notes} % \end{macrocode} % \end{macro} % % \begin{macro}{\partname} % Text entity \cmd\partname\ is used in \cmd\@part. % \begin{macrocode} \def\partname{Part} % \end{macrocode} % \end{macro} % % \begin{macro}{\tocname} % Text entity \cmd\tocname\ is used in \cmd\tableofcontents, % as defined in the standard \LaTeX\ book class. % \begin{macrocode} \def\tocname{Contents} % \end{macrocode} % \end{macro} % % \begin{macro}{\lofname} % Text entity \cmd\lofname\ is used in \cmd\listoffigures, % as defined in the standard \LaTeX\ book class. % \begin{macrocode} \def\lofname{List of Figures} % \end{macrocode} % \end{macro} % % \begin{macro}{\lotname} % Text entity \cmd\lotname\ is used in \cmd\listoftables, % as defined in the standard \LaTeX\ book class. % \begin{macrocode} \def\lotname{List of Tables} % \end{macrocode} % \end{macro} % % \begin{macro}{\refname} % Text entity \cmd\refname\ is used in \env{thebibliography}. % \begin{macrocode} \def\refname{References} % \end{macrocode} % \end{macro} % % \begin{macro}{\indexname} % Text entity \cmd\indexname\ is used in \env{theindex}, % as defined in the standard \LaTeX\ book class. % \begin{macrocode} \def\indexname{Index} % \end{macrocode} % \end{macro} % % \begin{macro}{\figurename} % \changes{v4.0beta 2}{1999/06/20} % {Added localization of \cs{figuresname}} % Text entity \cmd\figurename\ is used in \env{figure}, % \cmd\figuresname\ in \cmd\printfigures. % \begin{macrocode} \def\figurename{FIG.} \def\figuresname{Figures}% % \end{macrocode} % \end{macro} % % \begin{macro}{\tablename} % \changes{v4.0beta 2}{1999/06/20} % {Added localization of \cs{tablesname}} % Text entity \cmd\tablename\ is used in \env{table}, % \cmd\tablesname\ in \cmd\printtables. % \begin{macrocode} \def\tablename{TABLE} \def\tablesname{Tables}% % \end{macrocode} % \end{macro} % % \begin{macro}{\abstractname} % Text entity \cmd\abstractname\ is used in \env{abstract}. % \begin{macrocode} \def\abstractname{Abstract} % \end{macrocode} % \end{macro} % % \begin{macro}{\appendixesname} % \begin{macro}{\appendixname} % Text entity \cmd\appendixesname\ is used in TOC. % \begin{macrocode} \def\appendixesname{Appendixes}% \def\appendixname{Appendix}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\acknowledgmentsname} % Text entity \cmd\acknowledgmentsname\ is used in \env{acknowledgments}. % \begin{macrocode} \def\acknowledgmentsname{Acknowledgments} % \end{macrocode} % \end{macro} % % \begin{macro}{\journalname} % This should be set by the society journal options, eg `pra'. % \begin{macrocode} \def\journalname{??} % \end{macrocode} % \end{macro} % % \begin{macro}{\copyrightname} % Default layout does not assign copyright, but a journal that wants % to might use this. % \begin{macrocode} \def\copyrightname{??} % \end{macrocode} % \end{macro} % % \begin{macro}{\andname} % The text string ``and'' for use in author lists. % \begin{macrocode} \def\andname{and} % \end{macrocode} % \end{macro} % % \begin{macro}{\@pacs@name} % \begin{macro}{\@keys@name} % The text string prepended to PACS numbers, resp. to keywords. % \begin{macrocode} \def\@pacs@name{PACS numbers: }% \def\@keys@name{Keywords: }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\ppname} % The text string ``pp'' for use in page ranges. % \begin{macrocode} \def\ppname{pp} % \end{macrocode} % \end{macro} % % \begin{macro}{\numbername} % The text string ``number'' for use in article reference. % \begin{macrocode} \def\numbername{number} % \end{macrocode} % \end{macro} % % \begin{macro}{\volumename} % The text string ``volume'' for use in article reference. % \begin{macrocode} \def\volumename{volume} % \end{macrocode} % \end{macro} % % \begin{macro}{\Dated@name} % \begin{macro}{\Received@name} % \begin{macro}{\Revised@name} % \begin{macro}{\Accepted@name} % \begin{macro}{\Published@name} % These texts are used in the \cmd\date, et al. commands. % \begin{macrocode} \def\Dated@name{Dated: }% \def\Received@name{Received }% \def\Revised@name{Revised }% \def\Accepted@name{Accepted }% \def\Published@name{Published }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \section{Legacy Commands} % We deffine some commands left over from version 3.1, or give default meanings. % Some definitions can be overridden % in the document preamble or in included packages. % % Note on the namespace: command names like \cmd\REV@\emph{name} are used here, % because it is not clear that any of this code is generally useful. % \begin{macrocode} \def\address{\replace@command\address\affiliation}% \def\altaddress{\replace@command\altaddress\altaffiliation}% \newenvironment{references}{% \class@warn@end{The references environment is not supported; use thebibliography instead.} \gdef\references{\thebibliography{}}\references }{% \endthebibliography }% \def\draft{% \class@warn@end{Command \string\draft\space is obsolete;^^JInvoke option draft instead.}% \@booleantrue\draft@sw }% \def\tighten{% \class@warn@end{Command \string\tighten\space is obsolete;^^JInvoke option tightenlines instead.}% \@booleantrue\tightenlines@sw }% \def\tableline{% \noalign{% \class@warn@end{Command \string\tableline\space is obsolete;^^JUse \string\colrule\space instead.}% \global\let\tableline\colrule }% \tableline }% \def\case{\replace@command\case\frac}% \def\slantfrac{\replace@command\slantfrac\frac}% \def\tablenote{\replace@command\tablenote\footnote}% \def\tablenotemark{\replace@command\tablenotemark\footnotemark}% \def\tablenotetext{\replace@command\tablenotetext\footnotetext}% % Lose the following definition: \DeclareRobustCommand\REV@text[1]{% \relax \ifmmode \mathchoice {\hbox{{\everymath{\displaystyle }#1}}}% {\hbox{{\everymath{\textstyle }#1}}}% {\hbox{{\everymath{\scriptstyle }\let\f@size\sf@size\selectfont#1}}}% {\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}% \glb@settings \else \mbox{#1}% \fi }% % Lose the following definition: \DeclareRobustCommand\REV@bbox[1]{% \relax \ifmmode \mathchoice {\hbox{{\everymath{\displaystyle }\boldmath$#1$}}}% {\hbox{{\everymath{\textstyle }\boldmath$#1$}}}% {\hbox{{\everymath{\scriptstyle }\boldmath$#1$}}}% {\hbox{{\everymath{\scriptscriptstyle}\boldmath$#1$}}}% \glb@settings \else \mbox{#1}% \fi }% \DeclareRobustCommand\REV@bm[1]{% \class@warn@end{To use \string\bm, please load the bm package!}% \global\let\bm\relax }% \def\FL{\obsolete@command\FL}% \def\FR{\obsolete@command\FR}% \def\narrowtext{\obsolete@command\narrowtext}% \def\mediumtext{\obsolete@command\mediumtext}% \newenvironment{quasitable}{% \let@environment{tabular}{longtable}% }{% }% % \end{macrocode} % % \begin{macro}{\text} % \begin{macro}{\bm} % \begin{macro}{\bibinfo} % \begin{macro}{\eprint} % \begin{macro}{\url} % % If not otherwise defined, give default meanings to certain commands. % \changes{v4.0beta 4}{2000/04/10} % {eprint takes an aoptional argument, syntactical only in this case.} % \begin{macrocode} \appdef\class@inithook{% \@ifxundefined\text{\let\text\REV@text}{}% \@ifxundefined\bm{\let\bm\REV@bm}{}% \providecommand\bibinfo[2]{#2}% \providecommand\eprint[2][]{#2}% \providecommand\url[1]{#1}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\bbox} % % \begin{macrocode} \def\bbox#1{% \class@warn@end{\string\bbox\space is obsolete,^^Jload the bm package and use \string\bm\space instead.}% \global\let\bbox\relax }% % \end{macrocode} % \end{macro} % % \begin{macro}{\mathletters} % % \begin{macrocode} \newenvironment{mathletters}{% \class@warn@end{Environment {mathletters} is obsolete;^^Jload the amsmath package and use {subequations}!}% \global\let\mathletters\@empty }{% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\eqnum} % % \begin{macrocode} \def\eqnum#1{% \class@warn@end{\string\eqnum\space is obsolete, load the amsmath package and use \string\tag!}% \global\let\eqnum\@gobble }% % \end{macrocode} % \end{macro} % % We read in the symbol definitions. % \begin{macrocode} \RequirePackage{revsymb}% \appdef\class@inithook{\revsymb@inithook}% % \end{macrocode} % % \section{Endgame for the Document Class} % % This section contains definitions related to the % end-of-class processing: % we want to control exactly what happens next. % % We provide for a ``job macro package'' that can override % definitions made by the class or any other packages it loads. % We act on the value of \cmd\secnumarabic@sw; % this code is a model for dealing with the job macro package. % We also install a the very last procedures into % \cmd\AtEndOfClass, ones that need to tail on to % any processing performed either by the % class, by any of its included packages, or % by the job macro package and any packages it may have loaded. % % \subsection{Job Macro Package} % You can create a ``job macro package'' for your document % that will be read in automatically every time % your document is processed. % Thus, if your job is a file called \file{myarticle.tex}, % then the file \file{myarticle.rty} will be read in % just the same as if you had placed a % \cmd\usepackage|{myarticle.rty}| statement % immediately following your \cmd\documentclass\ statement. % % Within your \file{.rty} file, % you can define and use control sequence names that use the |@| character % and you can override any of the definitions or assignments made % by the \revtex\ document class or the selected journal substyle. % That is, you have the power to really mess things up badly. % % If you choose to have a job macro package, you are well % advised to read the \LaTeX\ guide to document classes, % \filename{clsguide.tex} or read up on the subject % in a book line the \LaTeX\ Companion. % % The file \filename{template.rty} contains a template for % creating your own job macro package. % % \begin{macrocode} \AtEndOfClass{% \InputIfFileExists{\jobname.rty}{}{}% }% % \end{macrocode} % % \subsection{\cs{secnumarabic@sw}}\label{sec:secnumarabic} % \begin{macro}{\secnumarabic@sw} % The flag \cmd\secnumarabic@sw\ signifies that sectioning commands are % to be numbered arabic. % The effect of this command should override any settings % made by the journal substyle or by the job macro package. % However, it should be lower in precedence to definitions % appearing in the document preamble. % Therefore, we install its code into \cmd\AtEndOfClass, % but do it \emph{after} the corresponding code % for the journal substyle and the job macro package. % % Note: \cmd\thesection\ must \emph{not} be redefined, % say, at \cmd\AtBeginDocument\ time by some delayed code. % \begin{macrocode} \AtEndOfClass{% \@ifxundefined\secnumarabic@sw{\@booleanfalse\secnumarabic@sw}{}% \secnumarabic@sw{% \def\p@section {}% \def\thesection {\arabic{section}}% \def\p@subsection {}% \def\thesubsection {\thesection.\arabic{subsection}}% \def\p@subsubsection {}% \def\thesubsubsection {\thesubsection.\arabic{subsubsection}}% }{}% }% % \end{macrocode} % \end{macro} % % \subsection{Hook for default values of Booleans} % This portion of the code for this class file % \emph{must} appear at the very end. % \begin{macro}{\defaults@hook} % The procedure \cmd\defaults@hook\ should hereby % be the very last to be installed into \cmd\AtBeginDocument. % We provide it with a default in case it has not been % used up til now. % % CHECKME: is any other hook installed later than \cmd\defaults@hook? % \begin{macrocode} \AtEndOfClass{% \appdef\class@documenthook{% \defaults@hook }% }% \@ifxundefined\defaults@hook{\let\defaults@hook\@empty}{}% % \end{macrocode} % \end{macro} % % End of the class file. % \begin{macrocode} %</class-pst> % \end{macrocode} % % % \section{Symbols: the \texttt{revsymb} module} % We immediately define a utility command: this module's warning. % \begin{macrocode} %<*revsymb> \def\REVSYMB@warn#1{\PackageWarningNoLine{revsymb}{#1}}% % \end{macrocode} % % \begin{macro}{\lambdabar} % \begin{macrocode} \DeclareRobustCommand\lambdabar{% \bgroup \def\@tempa{% \hbox{% \raise.73\ht\z@ \hb@xt@\z@{% \kern.25\wd\z@ \vrule \@width.5\wd\z@\@height.1\p@\@depth.1\p@ \hss }% \box\z@ }% }% \mathchoice {\setbox\z@\hbox{$\displaystyle \lambda$}\@tempa}% {\setbox\z@\hbox{$\textstyle \lambda$}\@tempa}% {\setbox\z@\hbox{$\scriptstyle \lambda$}\@tempa}% {\setbox\z@\hbox{$\scriptscriptstyle\lambda$}\@tempa}% \egroup }% % \end{macrocode} % \end{macro} % % \begin{macro}{\openone} % DPC: Really should use a font that includes this glyph. % Unfortunately not in AMS ones, but is in bbold, cmbb. % (I think, must check), % \changes{v4.d}{1998/01/31} % {use font-dependent spacing} % FIXME: check for bbold. % \begin{macrocode} \DeclareRobustCommand\openone{\leavevmode\hbox{\small1\normalsize\kern-.33em1}}% % \end{macrocode} % \end{macro} % % \begin{macro}{\corresponds} % \begin{macro}{\overdots} % \begin{macro}{\overcirc} % J\"org Knappen suggests the replacements: % replace \cmd\corresponds\ with \cmd\triangleq, source \classname{amssymb}; % replace \cmd\overcirc\ with \cmd\mathring, source \classname{latex2e}; % replace \cmd\overdots\ with \cmd\dddot, source \classname{amsmath}. % % Any use of any of these commands will result in a warning message at the end % of the log file. If the corresponding package is not loaded, a % definition will quietly be provided. % \begin{macrocode} \DeclareRobustCommand\corresponds{\replace@command\corresponds\triangleq}% \DeclareRobustCommand\overcirc{\replace@command\overcirc\mathring}% \DeclareRobustCommand\overdots{\replace@command\overdots\dddot}% \DeclareRobustCommand\REV@triangleq{% {\lower.2ex\hbox{=}}{\kern-.75em^\triangle}% }% \DeclareRobustCommand\REV@dddot[1]{% \@ontopof{#1}{\cdots}{1.0}\mathord{\box2}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\succsim} % \begin{macro}{\precsim} % \begin{macro}{\lesssim} % \begin{macro}{\gtrsim} % \begin{macro}{\alt} % \begin{macro}{\agt} % These version 3.1 commands are always supplied, % but the definitions in \classname{amssymb} are preferred. % \begin{macrocode} \DeclareRobustCommand\altsuccsim{\succ\kern-.9em_\sim\kern.3em}% \DeclareRobustCommand\altprecsim{\prec\kern-1em_\sim\kern.3em}% \let\REV@succsim\altsuccsim \let\REV@precsim\altprecsim \DeclareRobustCommand\REV@lesssim{\mathrel{\mathpalette\vereq{<}}}% \DeclareRobustCommand\REV@gtrsim{\mathrel{\mathpalette\vereq{>}}}% \DeclareRobustCommand\alt{\lesssim} \DeclareRobustCommand\agt{\gtrsim} \def\vereq#1#2{% \lower3\p@\vbox{% \baselineskip1.5\p@ \lineskip1.5\p@ \ialign{$\m@th#1\hfill##\hfil$\crcr#2\crcr\sim\crcr}% }% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\tensor} % \begin{macro}{\overstar} % \begin{macro}{\loarrow} % \begin{macro}{\roarrow} % \changes{v4.0beta 2}{1999/06/20} % {AO: remove duplicates} % \begin{macrocode} \DeclareRobustCommand\tensor[1]{\@ontopof{#1}{\leftrightarrow}{1.15}\mathord{\box2}} \DeclareRobustCommand\overstar[1]{\@ontopof{#1}{\ast}{1.15}\mathord{\box2}} \DeclareRobustCommand\loarrow[1]{\@ontopof{#1}{\leftarrow}{1.15}\mathord{\box2}} \DeclareRobustCommand\roarrow[1]{\@ontopof{#1}{\rightarrow}{1.15}\mathord{\box2}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@ontopof} % \begin{macrocode} \def\@ontopof#1#2#3{% {% \mathchoice {\@@ontopof{#1}{#2}{#3}\displaystyle \scriptstyle }% {\@@ontopof{#1}{#2}{#3}\textstyle \scriptstyle }% {\@@ontopof{#1}{#2}{#3}\scriptstyle \scriptscriptstyle}% {\@@ontopof{#1}{#2}{#3}\scriptscriptstyle\scriptscriptstyle}% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\@@ontopof} % Same as \revtex3, more or less. % \begin{macrocode} \def\@@ontopof#1#2#3#4#5{% \setbox\z@\hbox{$#4#1$}% \setbox\f@ur\hbox{$#5#2$}% \setbox\tw@\null\ht\tw@\ht\z@ \dp\tw@\dp\z@ \@ifdim{\wd\z@>\wd\f@ur}{% \setbox\f@ur\hb@xt@\wd\z@{\hss\box\f@ur\hss}% \mathord{\rlap{\raise#3\ht\z@\box\f@ur}\box\z@}% }{% \setbox\f@ur\hb@xt@.9\wd\f@ur{\hss\box\f@ur\hss}% \setbox\z@\hb@xt@\wd\f@ur{\hss$#4\relax#1$\hss}% \mathord{\rlap{\copy\z@}\raise#3\ht\z@\box\f@ur}% }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frak} % Deal with legacy \cmd\frak: % if \classname{amsfonts} not loaded, defined in such a way as to ask for that package. % Also, says to use \cmd\mathfrak\ instead. % \begin{macrocode} \DeclareRobustCommand\frak{% \REVSYMB@warn{% Command \string\frak\space unsupported:^^J% please use \string\mathfrak\space instead.% }% \global\let\frak\mathfrak \frak }% \DeclareRobustCommand\REV@mathfrak{% \REVSYMB@warn{% Command \string\mathfrak\space undefined:^^J% please specify the amsfonts or amssymb option!% }% \global\let\mathfrak\@firstofone \mathfrak }% % \end{macrocode} % \end{macro} % % \begin{macro}{\Bbb} % Deal with legacy \cmd\Bbb: % if \classname{amsfonts} not loaded, defined in such a way as to ask for that package. % Also, says to use \cmd\mathbb\ instead. % \begin{macrocode} \DeclareRobustCommand\Bbb{% \REVSYMB@warn{% Command \string\Bbb\space unsupported:^^J% please use \string\mathbb\space instead.% }% \global\let\Bbb\mathbb \Bbb }% \DeclareRobustCommand\REV@mathfrak{% \REVSYMB@warn{% Command \string\mathbb\space undefined:^^J% please specify the amsfonts or amssymb option!% }% \global\let\mathbb\@firstofone \mathbb }% % \end{macrocode} % \end{macro} % % \begin{macro}{\Bigglb} % Deal with legacy bold delimiters. % Each of the following takes an implicit argument consisting of % the delimiter to be made big and bold. % FIXME: \cmd\DeclareBoldMathCommand\ is not the right tool! % \begin{macrocode} \def\Bigglb{\REV@boldopen \Bigg}% \def\Biglb {\REV@boldopen \Big }% \def\bigglb{\REV@boldopen \bigg}% \def\biglb {\REV@boldopen \big }% \def\Biggrb{\REV@boldclose\Bigg}% \def\Bigrb {\REV@boldclose\Big }% \def\biggrb{\REV@boldclose\bigg}% \def\bigrb {\REV@boldclose\big }% \def\REV@pmb#1{% \hbox{% \setbox\z@=\hbox{#1}% \kern-.02em\copy\z@\kern-\wd\z@ \kern .04em\copy\z@\kern-\wd\z@ \kern-.02em \raise.04em\copy\z@ }% }% \def\REV@boldopen #1#2{\mathopen {\REV@pmb{$#1#2$}}}% \def\REV@boldclose#1#2{\mathclose{\REV@pmb{$#1#2$}}}% % \end{macrocode} % \end{macro} % % \begin{macro}{\AtBeginDocument} % Package dependencies are taken care of % \cmd\AtBeginDocument\ time. % \begin{macrocode} \def\revsymb@inithook{% \@ifxundefined\dddot{\let\dddot\REV@dddot}{}% \@ifxundefined\triangleq{\let\triangleq\REV@triangleq}{}% \@ifxundefined\succsim{\let\succsim\altsuccsim}{}% \@ifxundefined\precsim{\let\precsim\altprecsim}{}% \@ifxundefined\lesssim{\let\lesssim\REV@lesssim}{}% \@ifxundefined\gtrsim {\let\gtrsim \REV@gtrsim }{}% \@ifxundefined\mathfrak{\let\mathfrak\REV@mathfrak}{}% \@ifxundefined\mathbb{\let\mathbb\REV@mathbb}{}% }% % \end{macrocode} % \end{macro} % % \begin{macrocode} %</revsymb> % \end{macrocode} % % \section{The \classoption{10pt} class option: the \texttt{10pt} module} % \changes{v4.0beta 2}{1999/06/20} % {AO: all code for \protect\classoption{10pt} is in this module.} % The file \file{10pt.rtx} is read in by the \classname{revtex4} document class % if \cmd\@pointsize\ has the value 10. % % \begin{macrocode} %<*10pt> % \end{macrocode} % % \begin{macrocode} \def\normalsize{% \@setfontsize\normalsize\@xpt{11.5}% \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% % \end{macrocode} % % \begin{macrocode} \def\small{% \@setfontsize\small\@ixpt{10.5}% \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ \@plus2\p@ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ \def\@listi{% \leftmargin\leftmargini \topsep 4\p@ \@plus2\p@ \@minus2\p@ \parsep 2\p@ \@plus\p@ \@minus\p@ \itemsep \parsep }% }% % \end{macrocode} % % \begin{macrocode} \def\footnotesize{% \@setfontsize\footnotesize\@viiipt{9.5pt}% \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ \@plus\p@ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ \def\@listi{% \leftmargin\leftmargini \topsep 3\p@ \@plus\p@ \@minus\p@ \parsep 2\p@ \@plus\p@ \@minus\p@ \itemsep \parsep }% }% % \end{macrocode} % % \begin{macrocode} \def\scriptsize{% \@setfontsize\scriptsize\@viipt\@viiipt }% \def\tiny{% \@setfontsize\tiny\@vpt\@vipt }% \def\large{% \@setfontsize\large\@xiipt{14pt}% }% \def\Large{% \@setfontsize\Large\@xivpt{18pt}% }% \def\LARGE{% \@setfontsize\LARGE\@xviipt{22pt}% }% \def\huge{% \@setfontsize\huge\@xxpt{25pt}% }% \def\Huge{% \@setfontsize\Huge\@xxvpt{30pt}% }% % \end{macrocode} % % \begin{macrocode} %\appdef\class@documenthook{% \@ifxundefined\twoside@sw{\@booleanfalse\twoside@sw}{}% \twoside@sw{% % \oddsidemargin -.1in % \evensidemargin -.4in \oddsidemargin -20pt \evensidemargin -20pt \marginparwidth 107pt }{% \oddsidemargin -.25in \evensidemargin -.25in \marginparwidth 30pt }% %}% % \end{macrocode} % % \begin{macrocode} \marginparsep 6pt % \end{macrocode} % % \begin{macrocode} \topmargin -61pt % \end{macrocode} % % \begin{macrocode} \headheight 25pt \headsep 16pt % \end{macrocode} % % \begin{macrocode} \topskip 10pt % \end{macrocode} % % \begin{macrocode} \footskip 30pt % \end{macrocode} % % Was: 57\cmd\baselineskip + \cmd\topskip % \begin{macrocode} %\appdef\set@pica@hook{% \textheight = 56pc %}% % \end{macrocode} % % \begin{macrocode} \textwidth42.5pc % \end{macrocode} % % \begin{macrocode} \columnsep 1.5pc \columnseprule 0pt % \end{macrocode} % % \begin{macrocode} \footnotesep 1pt \skip\footins 39pt plus 4pt minus 2pt \def\footnoterule{\kern-19pt\hrule width.5in\kern18.6pt\relax}% % \end{macrocode} % % \begin{macrocode} \floatsep 12pt plus 2pt minus 2pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 12pt plus 2pt minus 2pt % \end{macrocode} % % \begin{macrocode} \dblfloatsep 12pt plus 2pt minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt % \end{macrocode} % % \begin{macrocode} \@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil % \end{macrocode} % % \begin{macrocode} \marginparpush 5pt % \end{macrocode} % % \begin{macrocode} \parskip 0pt plus 1pt \parindent 10pt \emergencystretch8\p@ % \end{macrocode} % % \begin{macrocode} \partopsep 2pt plus 1pt minus 1pt % \end{macrocode} % % \begin{macrocode} \leftmargini 25pt \leftmarginii 22pt \leftmarginiii 18.7pt \leftmarginiv 17pt \leftmarginv 10pt \leftmarginvi 10pt % \end{macrocode} % % \begin{macrocode} \def\@listI{% \leftmargin\leftmargini \parsep 4\p@ plus2\p@ minus\p@ \topsep 8\p@ plus2\p@ minus4\p@ \itemsep 4\p@ plus2\p@ minus\p@ }% % \end{macrocode} % % \begin{macrocode} \labelsep 4pt % \end{macrocode} % % \begin{macrocode} \def\@listii{% \leftmargin\leftmarginii \labelwidth\leftmarginii \advance\labelwidth-\labelsep \topsep 4\p@ plus2\p@ minus\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep }% % \end{macrocode} % % \begin{macrocode} \def\@listiii{% \leftmargin\leftmarginiii \labelwidth\leftmarginiii \advance\labelwidth-\labelsep \topsep 2\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep }% % \end{macrocode} % % \begin{macrocode} \def\@listiv{% \leftmargin\leftmarginiv \labelwidth\leftmarginiv \advance\labelwidth-\labelsep }% % \end{macrocode} % % \begin{macrocode} \def\@listv{% \leftmargin\leftmarginv \labelwidth\leftmarginv \advance\labelwidth-\labelsep }% % \end{macrocode} % % \begin{macrocode} \def\@listvi{% \leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep }% % \end{macrocode} % % \begin{macrocode} %</10pt> % \end{macrocode} % % \section{The \classoption{11pt} class option: the \texttt{11pt} module} % \changes{v4.0beta 2}{1999/06/20} % {AO: all code for \protect\classoption{11pt} is in this module.} % The file \file{11pt.rtx} is read in by the \classname{revtex4} document class % if \cmd\@pointsize\ has the value 11. % % \begin{macrocode} %<*11pt> % \end{macrocode} % % \begin{macrocode} \def\normalsize{% \@setfontsize\normalsize\@xipt{13.6}% \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% % \end{macrocode} % % \begin{macrocode} \def\small{% \@setfontsize\small\@xpt\@xiipt \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ \def\@listi{\leftmargin\leftmargini \topsep 6\p@ \@plus2\p@ \@minus2\p@ \parsep 3\p@ \@plus2\p@ \@minus\p@ \itemsep \parsep }% \belowdisplayskip \abovedisplayskip }% % \end{macrocode} % % \begin{macrocode} \def\footnotesize{% \@setfontsize\footnotesize\@ixpt{11}% \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@ \abovedisplayshortskip \z@ \@plus\p@ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 4\p@ \@plus2\p@ \@minus2\p@ \parsep 2\p@ \@plus\p@ \@minus\p@ \itemsep \parsep }% \belowdisplayskip \abovedisplayskip }% % \end{macrocode} % % \begin{macrocode} \def\scriptsize{% \@setfontsize\scriptsize\@viiipt{9.5}% }% \def\tiny{% \@setfontsize\tiny\@vipt\@viipt }% \def\large{% \@setfontsize\large\@xiipt{14}% }% \def\Large{% \@setfontsize\Large\@xivpt{18}% }% \def\LARGE{% \@setfontsize\LARGE\@xviipt{22}% }% \def\huge{% \@setfontsize\huge\@xxpt{25pt}% }% \def\Huge{% \@setfontsize\Huge\@xxvpt{30pt}% }% % \end{macrocode} % % \begin{macrocode} %</11pt> % \end{macrocode} % % \section{The \classoption{12pt} class option: the \texttt{12pt} module} % \changes{v4.0beta 2}{1999/06/20} % {AO: all code for \protect\classoption{12pt} is in this module.} % The file \file{12pt.rtx} is read in by the \classname{revtex4} document class % if \cmd\@pointsize\ has the value 12. % % \begin{macrocode} %<*12pt> % \end{macrocode} % % \begin{macrocode} \def\normalsize{% \@setfontsize\normalsize\@xiipt{14pt}% \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ \let\@listi\@listI }% % \end{macrocode} % % \begin{macrocode} \def\small{% \@setfontsize\small\@xipt{14.5pt}% \abovedisplayskip 8\p@ \@plus3\p@ \@minus6\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ \def\@listi{% \leftmargin\leftmargini \topsep 9\p@ \@plus3\p@ \@minus5\p@ \parsep 4.5\p@ \@plus2\p@ \@minus\p@ \itemsep \parsep }% }% % \end{macrocode} % % Same baselineskip as \cmd\small\ ? % \begin{macrocode} \def\footnotesize{% \@setfontsize\footnotesize\@xpt{14.5pt}% \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ \@plus3\p@ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ \def\@listi{% \leftmargin\leftmargini \topsep 6\p@ \@plus2\p@ \@minus2\p@ \parsep 3\p@ \@plus2\p@ \@minus\p@ \itemsep \parsep }% }% % \end{macrocode} % % \begin{macrocode} \def\scriptsize{% \@setfontsize\scriptsize\@viiipt{9.5pt}% }% \def\tiny{% \@setfontsize\tiny\@vipt{7pt}% }% \def\large{% \@setfontsize\large\@xivpt{18pt}% }% \def\Large{% \@setfontsize\Large\@xviipt{22pt}% }% \def\LARGE{% \@setfontsize\LARGE\@xxpt{25pt}% }% \def\huge{% \@setfontsize\huge\@xxvpt{30pt}% }% \let\Huge=\huge % \end{macrocode} % % \begin{macrocode} %</12pt> % \end{macrocode} % % \section{Page parameters}% % This code is common to both \classoption{11pt} and \classoption{12pt}. % % \begin{macrocode} %<*11pt|12pt> % \end{macrocode} % % \begin{macrocode} %\appdef\class@documenthook{% \@ifxundefined\twoside@sw{\@booleanfalse\twoside@sw}{}% \twoside@sw{% \oddsidemargin 0pt \evensidemargin 0pt \marginparwidth 60pt }{% \oddsidemargin 0pt \evensidemargin 0pt \marginparwidth 44pt }% %}% % \end{macrocode} % % \begin{macrocode} \marginparsep 10pt % \end{macrocode} % % \begin{macrocode} \topmargin -37pt % \end{macrocode} % % \begin{macrocode} \headheight 12pt \headsep 25pt % \end{macrocode} % % \begin{macrocode} \topskip 10pt % \end{macrocode} % % \begin{macrocode} \footskip 30pt % \end{macrocode} % % \begin{macrocode} %\appdef\set@pica@hook{% \@ifxundefined\tightenlines@sw{\@booleanfalse\tightenlines@sw}{}% \textheight=665.5\p@ \tightenlines@sw{% \def\baselinestretch{1}% }{% \def\baselinestretch{1.5}% }% %}% % \end{macrocode} % % \begin{macrocode} \textwidth 468pt % \end{macrocode} % % \begin{macrocode} \columnsep 10pt \columnseprule 0pt % \end{macrocode} % % \begin{macrocode} \footnotesep 1pt \skip\footins 25.25pt plus 4pt minus 2pt \def\footnoterule{\kern-5.25pt\hrule width.5in\kern4.85pt\relax} % \end{macrocode} % % \begin{macrocode} \floatsep 14pt plus 2pt minus 4pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 14pt plus 4pt minus 4pt % \end{macrocode} % % \begin{macrocode} \dblfloatsep 14pt plus 2pt minus 4pt \dbltextfloatsep 20pt plus 2pt minus 4pt % \end{macrocode} % % \begin{macrocode} \@fptop 0pt plus 1fil \@fpsep 10pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 10pt plus 2fil% \@dblfpbot 0pt plus 1fil % \end{macrocode} % % \begin{macrocode} \marginparpush 7pt % \end{macrocode} % % \begin{macrocode} \parskip 0pt plus 1pt \parindent 15pt \emergencystretch8\p@ \partopsep 3pt plus 2pt minus 2pt % \end{macrocode} % % \begin{macrocode} \leftmargini 30pt \leftmarginii 26pt \leftmarginiii 22pt \leftmarginiv 20pt \leftmarginv 12pt \leftmarginvi 12pt % \end{macrocode} % % \begin{macrocode} \def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ }% % \end{macrocode} % % \begin{macrocode} \labelsep 6pt % \end{macrocode} % % \begin{macrocode} \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 5\p@ plus2.5\p@ minus\p@ \parsep 2.5\p@ plus\p@ minus\p@ \itemsep \parsep }% % \end{macrocode} % % \begin{macrocode} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2.5\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep }% % \end{macrocode} % % \begin{macrocode} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep }% % \end{macrocode} % % \begin{macrocode} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep }% % \end{macrocode} % % \begin{macrocode} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep }% % \end{macrocode} % % \begin{macrocode} %</11pt|12pt> % \end{macrocode} % % \section{The \classoption{aps} class option: the \texttt{aps} module} % \changes{v4.0beta 2}{1999/06/20} % {AO: made aps.rtx part of revtex4.dtx} % The file \file{aps.rtx} is read in by the \classname{revtex4} document class % if \cmd\@society\ has the value \classoption{aps}. % % Here, code specific to APS journals is separated out from the \revtex\ document class. % (Other societies can customize \revtex\ by supplying their own \file{.rtx} file.) % % We first give some text entities (amounting to journal abbreviations), % then some APS-specific initialisations, % then code for particular APS journals. % In the latter case, the choice is % keyed off the macro \cmd\@journal. % % Note on \cmd\AtEndOfClass: % this file, like all journal substyles, is read in at \cmd\AtEndOfClass\ time, % so you should not use this command in this file. % Mote for \LaTeX\ developers: It would be an improvement in \LaTeX\ to % \cmd\let\cmd\AtEndOfClass\ to something like \cmd\@firstofone. % This change would be effected in \cmd\@onefilewithoptions. % % \begin{macrocode} %<*aps> % \end{macrocode} % % \subsection{Defend Against Forseeable Errors}% % Protect this file from being read in by anything but \revtex. % \begin{macrocode} \ifx\undefined\substyle@ext \def\@tempa{% \endinput \GenericWarning{I must be read in by REVTeX! (Bailing out)}% }% \expandafter\else \def\@tempa{}% \expandafter\fi\@tempa % \end{macrocode} % % \subsection{Abbreviations}% % The following macros constitute typing shortcuts for % certain journal names. % \begin{macrocode} \def\ao{Appl.\ Opt.\ } \def\ap{Appl.\ Phys.\ } \def\apl{Appl.\ Phys.\ Lett.\ } \def\apj{Astrophys.\ J.\ } \def\bell{Bell Syst.\ Tech.\ J.\ } \def\jqe{IEEE J.\ Quantum Electron.\ } \def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.\ } \def\aprop{IEEE Trans.\ Antennas Propag.\ } \def\mtt{IEEE Trans.\ Microwave Theory Tech.\ } \def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.\ } \def\jcp{J.\ Chem.\ Phys.\ } \def\jmo{J.\ Mod.\ Opt.\ } \def\josa{J.\ Opt.\ Soc.\ Am.\ } \def\josaa{J.\ Opt.\ Soc.\ Am.\ A } \def\josab{J.\ Opt.\ Soc.\ Am.\ B } \def\jpp{J.\ Phys.\ (Paris) } \def\nat{Nature (London) } \def\oc{Opt.\ Commun.\ } \def\ol{Opt.\ Lett.\ } \def\pl{Phys.\ Lett.\ } \def\pra{Phys.\ Rev.\ A } \def\prb{Phys.\ Rev.\ B } \def\prc{Phys.\ Rev.\ C } \def\prd{Phys.\ Rev.\ D } \def\pre{Phys.\ Rev.\ E } \def\prl{Phys.\ Rev.\ Lett.\ } \def\rmp{Rev.\ Mod.\ Phys.\ } \def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.\ } \def\sjqe{Sov.\ J.\ Quantum Electron.\ } \def\vr{Vision Res.\ } % \end{macrocode} % % \subsection{APS Setup}% % Here we define the default procedures for APS journals. % Individual APS journals may override these definitions. % % \subsubsection{Title block}% % % The specifics of the title block. % Apply to all APS journals; individual journals may override these settings. % % \begin{macro}{\@fnsymbol} % The \LaTeX\ kernel definition of \cmd\@fnsymbol\ is overridden. % \begin{macrocode} \def\@fnsymbol#1{% \ensuremath{% \ifcase#1\or *\or \dagger \or \ddagger \or \mathsection \or \mathparagraph\or **\or \dagger\dagger \or \ddagger\ddagger \or \mathsection \mathsection \or \mathparagraph\mathparagraph\or *{*}*\ignorespaces \or \dagger\dagger\dagger \or \ddagger\ddagger\ddagger\or \mathsection \mathsection \mathsection \or \mathparagraph\mathparagraph\mathparagraph\or \else \@ctrerr \fi }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\titlepage} % \begin{macrocode} \renewenvironment{titlepage}{% \let\wastwocol@sw\twocolumn@sw \onecolumngrid \newpage \thispagestyle{titlepage}% \c@page\z@% article sets this to one not zero??? }{% \wastwocol@sw{\twocolumngrid}{\newpage}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@abstractheading} % APS Journals all set the abstract head the same way, with no head. % However, if the user has specified the \classoption{preprint} class option, % then the abstract will have a head. % \begin{macrocode} \def\frontmatter@abstractheading{% \preprintsty@sw{% \begingroup \centering\large \abstractname \par \endgroup }{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@abstractwidth} % All APS journals set the abstract to the same width. % \begin{macrocode} \def\frontmatter@abstractwidth{400\p@}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@abstractfont} % All APS journals set the abstract body the same way. % \changes{v4.0beta 3}{1999/11/13} % {Bug 123: add parskip to the abstract.} % \begin{macrocode} \def\frontmatter@abstractfont{% \small \parindent1em\relax \adjust@abstractwidth }% \def\adjust@abstractwidth{% \dimen@\textwidth\advance\dimen@-\frontmatter@abstractwidth \divide\dimen@\tw@ \galley@sw{% \advance\rightskip\tw@\dimen@ }{% \advance\leftskip\dimen@ \advance\rightskip\dimen@ }% }% % \end{macrocode} % \end{macro} % % All APS journal preprints use separate titlepage and full-width abstract. % % Note that we defer polling the \cmd\preprintsty@sw\ Boolean until % \cmd\AtBeginDocument\ time, because the document preamble % may legitimately change the state of that variable. % \begin{macrocode} \appdef\class@documenthook{% \preprintsty@sw{% \@ifxundefined\titlepage@sw{\@booleantrue\titlepage@sw}{}% % \tightenlines@sw{% % \def\baselinestretch{1}% % }{% % \def\baselinestretch{1.5}% % }% \def\frontmatter@abstractwidth{\textwidth}% \def\frontmatter@affiliationfont{\it}% \let\section\section@preprintsty % \let\@hangfrom@section\@hangfrom@section@preprintsty \let\subsection\subsection@preprintsty \let\subsubsection\subsubsection@preprintsty }{}% }% % \end{macrocode} % % \begin{macro}{\frontmatter@authorformat} % All APS journals set the author list the same. % The leading is 11.5 points, and % there is 11.5 points of extra space above the first author line % (which amounts to the same thing as 11.5 points extra below the title) % for a total of 23 points base-to-base. % % \begin{macrocode} \def\frontmatter@authorformat{% \skip@\@flushglue \@flushglue\z@ plus.3\hsize\relax \centering \advance\baselineskip\p@ \parskip11.5\p@\relax \@flushglue\skip@ %\preprintsty@sw{}{% % \addvspace{0\p@}% %}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@above@affilgroup} % The default amount of space above affiliation. % APS Journals have 24 points b-b above an affiliation group. % \begin{macrocode} \def\frontmatter@above@affilgroup{% %\preprintsty@sw{}{% % \addvspace{11\p@}% %}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@above@affiliation} % \begin{macro}{\frontmatter@above@affiliation@script} % The default amount of space above affiliation. % APS Journals have no extra space between author group down to common affiliation. % \begin{macrocode} \def\frontmatter@above@affiliation@script{% \skip@\@flushglue \@flushglue\z@ plus.3\hsize\relax \centering \@flushglue\skip@ \addvspace{3.5\p@}% }% \def\frontmatter@above@affiliation{% \preprintsty@sw{}{% % \addvspace{12\p@}% }% }% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\frontmatter@affiliationfont} % All APS journals set the affiliation the same. % \begin{macrocode} \def\frontmatter@affiliationfont{% \small\it }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@collaboration@above} % PRL: 1.5 points extra: 13 points base-to-base above. % \begin{macrocode} \def\frontmatter@collaboration@above{% \preprintsty@sw{% }{% \parskip1.5\p@\relax }% }% % \end{macrocode} % \end{macro} % % Set up the default APS style for title block authors and affiliations. % \begin{macrocode} \@ifxundefined\groupauthors@sw{% \clo@groupedaddress }{}% % \end{macrocode} % % \begin{macro}{\frontmatter@setup} % All APS journals set the title page using the same font and size. % However, justification varies for the title block elements, so % we assert none here. % \begin{macrocode} \def\frontmatter@setup{% \normalfont }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@title@above} % \begin{macro}{\frontmatter@title@format} % \begin{macro}{\frontmatter@title@below} % All APS journals set the article title the same. % % Note: Spacing from title to author is 23 points base-to-base. % \begin{macrocode} \def\frontmatter@title@above{\addvspace{6\p@}}% \def\frontmatter@title@format{\large\bfseries\centering\parskip\z@skip}% \def\frontmatter@title@below{}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\frontmatter@makefnmark} % All APS journals share this procedure for setting the titlepage footnote text. % \begin{macrocode} \def\@author@parskip{3\p@}% \def\frontmatter@makefnmark{% \@textsuperscript{% \normalfont\@thefnmark }% }% \def\frontmatter@authorbelow{% \addvspace{3\p@}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@RRAP@format} % All APS journals use the same format for the ``Received, Revised, etc.'' block on the title page. % % Change note: 11.5 points b-b from author/affiliation down to date. % \begin{macrocode} \def\frontmatter@RRAP@format{% \small \centering % \preprintsty@sw{}{\parskip.5ex\relax}% \everypar{\hbox\bgroup(\@gobble@leavemode@uppercase}% \def\par{\@ifvmode{}{\unskip)\egroup\@@par}}% }% \def\punct@RRAP{;\egroup\ \hbox\bgroup}% \def\@gobble@leavemode@uppercase#1#2{\expandafter\MakeTextUppercase}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@PACS@format} % % \begin{macrocode} \def\frontmatter@PACS@format{% \addvspace{11\p@}% \footnotesize \adjust@abstractwidth \parindent\z@ \parskip\z@skip \samepage }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@keys@format} % % \begin{macrocode} \def\frontmatter@keys@format{% \footnotesize \adjust@abstractwidth \parindent\z@ \samepage }% % \end{macrocode} % \end{macro} % % \begin{macro}{\ps@titlepage} % \changes{v4.g}{1998/06/10} % {multiple preprint commands} % \changes{v4.0beta 2}{1999/06/20} % {Stack \cs{preprint} args flush right at right margin.} % Title page style. Currently empty except for preprint header, % which consists of all the \cmd\preprint\ arguments, % stacked flush right at the right margin. % \changes{v4.0beta 3}{1999/11/13} % {Insert procedure \cs{checkindate}} % \begin{macrocode} \def\ps@titlepage{% \def\@oddhead{% \hfill \produce@preprints\@preprint }% \let\@evenhead\@oddhead \def\@oddfoot{% \hb@xt@\z@{\byrevtex\hss}% \hfil \preprintsty@sw{\thepage}{}% \quad\checkindate \hfil }% \let\@evenfoot\@oddfoot }% \def\byrevtex{\byrevtex@sw{Typeset by REV\TeX}{}}% % \end{macrocode} % \end{macro} % % \begin{macro}{\produce@preprints} % \changes{v4.0beta 3}{1999/11/13} % {Bug 115. If three or more preprints specified, set on single line, with commas.} % \begin{macrocode} \def\produce@preprints#1{% \preprint@sw{% \vtop to \z@{% \def\baselinestretch{1}% \small \let\preprint\preprint@count \count@\z@#1\@ifnum{\count@>\tw@}{% \hbox{% \let\preprint\preprint@hlist #1\setbox\z@\lastbox }% }{% \let\preprint\preprint@cr \halign{\hfil##\cr#1\crcr}% \par \vss }% }% }{}% }% \def\preprint@cr#1{#1\cr}% \def\preprint@count#1{\advance\count@\@ne}% \def\preprint@hlist#1{#1\hbox{, }}% % \end{macrocode} % \end{macro} % % \subsubsection{Stacked Heads}% % All APS journals put a period (.), followed by quad space, after the section number. % Also, no hanging section number. % \begin{macrocode} \def\@seccntformat#1{\csname the#1\endcsname.\quad}% \def\@hang@from#1#2#3{#1#2#3}% % \end{macrocode} % % Note that in the following, we wish to set the section head uppercase, so we use % David Carlisle's \cmd\MakeTextUppercase. However, because this procedure effectively % parses its argument (looking for things to \emph{not} translate), it has to be invoked % in such a way that the argument of the \cmd\section\ command is passed to it as its % own argument. % % To accomplish this, we use the \cmd\@hangfrom@\ hook, which was developed for this % purpose. % % \begin{macrocode} \def\section{% \@startsection {section}% {1}% {\z@}% {0.8cm \@plus1ex \@minus .2ex}% {0.5cm}% {% \normalfont\small\bfseries \centering }% }% \def\@hangfrom@section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}% % \end{macrocode} % % \begin{macrocode} \def\subsection{% \@startsection {subsection}% {2}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {% \normalfont\small\bfseries \centering }% }% % \end{macrocode} % % \begin{macrocode} \def\subsubsection{% \@startsection {subsubsection}% {3}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {% \normalfont\small\itshape \centering }% }% % \end{macrocode} % % \subsubsection{Runin Heads}% % \begin{macrocode} \def\paragraph{% \@startsection {paragraph}% {4}% {\parindent}% {\z@}% {-1em}% {\normalfont\normalsize\itshape}% }% % \end{macrocode} % % \begin{macrocode} \def\subparagraph{% \@startsection {subparagraph}% {5}% {\parindent}% {3.25ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\bfseries}% }% % \end{macrocode} % % % % \begin{macro}{\section@preprintsty} % \begin{macro}{\subsection@preprintsty} % \begin{macro}{\subsubsection@preprintsty} % Here are the formatting procedures specific to the preprint style; % the only difference is that the heads are flush left instead of centered. % % \begin{macrocode} \def\section@preprintsty{% \@startsection {section}% {1}% {\z@}% {0.8cm \@plus1ex \@minus .2ex}% {0.5cm}% {% \normalfont\small\bfseries % \centering }% }% %\def\@hangfrom@section@preprintsty#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}% % \end{macrocode} % \begin{macrocode} \def\subsection@preprintsty{% \@startsection {subsection}% {2}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {% \normalfont\small\bfseries % \centering }% }% % \end{macrocode} % \begin{macrocode} \def\subsubsection@preprintsty{% \@startsection {subsubsection}% {3}% {\z@}% {.8cm \@plus1ex \@minus .2ex}% {.5cm}% {% \normalfont\small\itshape % \centering }% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % Effectively invoke the \classoption{bibnote} class option, % if \cmd\frontmatter@footnote@produce\ has not yet been set. % \begin{macrocode} \@ifxundefined\frontmatter@footnote@produce{% \let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote }{}% % \end{macrocode} % % % \subsubsection{Table of Contents}% % The toc will itself make an entry in the toc, % but we temporarily turn off toc formatting for the duration. % \begin{macrocode} \def\@pnumwidth{1.55em} \def\@tocrmarg {2.55em} \def\@dotsep{4.5pt} \setcounter{tocdepth}{3} % \end{macrocode} % % \begin{macrocode} \def\tableofcontents{% \addtocontents{toc}{\string\tocdepth@munge}% \print@toc{toc}% \addtocontents{toc}{\string\tocdepth@restore}% }% % \end{macrocode} % % \begin{macrocode} \def\tocdepth@munge{% \let\l@section@saved\l@section \let\l@section\@gobble@tw@ }% \def\@gobble@tw@#1#2{}% % \end{macrocode} % % \begin{macrocode} \def\tocdepth@restore{% \let\l@section\l@section@saved }% % \end{macrocode} % % \begin{macrocode} \def\l@part#1#2{\addpenalty{\@secpenalty}% \begingroup \set@tocdim@pagenum{#2}% % \@tempdima 3em % \parindent \z@ \rightskip\tocleft@pagenum plus 1fil\relax \skip@\parfillskip\parfillskip\z@ \addvspace{2.25em plus\p@}% \large \bf % \leavevmode\ignorespaces#1\unskip\nobreak\hskip\skip@ \hb@xt@\rightskip{\hfil\unhbox\z@}\hskip-\rightskip\hskip\z@skip \par \nobreak % \endgroup }% % \end{macrocode} % % \begin{macro}{\l@section} % Determine which TOC elements are automatically indented. % \begin{macrocode} \def\tocleft@{\z@}% \def\tocdim@min{5\p@}% \def\l@section{% \l@@sections{}{section}% Implicit #3#4 }% \def\l@f@section{% \addpenalty{\@secpenalty}% \addvspace{1.0em plus\p@}% \bf }% \def\l@subsection{% \l@@sections{section}{subsection}% Implicit #3#4 }% \def\l@subsubsection{% \l@@sections{subsection}{subsubsection}% Implicit #3#4 }% \def\l@paragraph#1#2{}% \def\l@subparagraph#1#2{}% % \end{macrocode} % \end{macro} % % Activate the auto TOC processing. % \begin{macrocode} \let\toc@pre\toc@pre@auto \let\toc@post\toc@post@auto % \end{macrocode} % % \begin{macrocode} \def\listoffigures{\print@toc{lof}}% \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} % \end{macrocode} % % \begin{macrocode} \def\listoftables{\print@toc{lot}}% \let\l@table\l@figure % \end{macrocode} % % \subsubsection{Default column bottom}% % All APS journal styles have flush bottoms. % % Note that we defer polling the \cmd\raggedcolumn@sw\ Boolean until % \cmd\AtBeginDocument\ time, because the document preamble % may legitimately change the state of that variable. % \begin{macrocode} \appdef\class@documenthook{% \@ifxundefined\raggedcolumn@sw{\@booleantrue\raggedcolumn@sw}{}% \raggedcolumn@sw{\raggedbottom}{\flushbottom}% }% % \end{macrocode} % % % \subsubsection{Table alignment style}% % % \begin{macro}{\tableft@skip@float} % \begin{macro}{\tabmid@skip@float} % \begin{macro}{\tabright@skip@float} % \begin{macro}{\array@row@pre@float} % \begin{macro}{\array@row@pst@float} % All APS publications have the same table specification: % Scotch rules above and below, centered in column. % \begin{macrocode} \def\tableft@skip@float{\z@ plus\hsize}% \def\tabmid@skip@float{\@flushglue}% \def\tabright@skip@float{\z@ plus\hsize}% \def\array@row@pre@float{\hline\hline\noalign{\vskip\doublerulesep}}% \def\array@row@pst@float{\noalign{\vskip\doublerulesep}\hline\hline}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \subsubsection{Footnote formatting}% % We customize the formatting of footnotes for all APS journals. % \begin{macro}{\@makefntext} % \begin{macrocode} \def\@makefntext#1{% \def\baselinestretch{1}% \reset@font \footnotesize \leftskip1em \parindent1em \noindent\nobreak\hskip-\leftskip \hb@xt@\leftskip{% \Hy@raisedlink{\hyper@anchorstart{footnote@\the\c@footnote}\hyper@anchorend}% \hss\@makefnmark\ }% #1% \par }% % \end{macrocode} % \end{macro} % % % \subsubsection{Appendix}% % \begin{macro}{\appendix} % \begin{macro}{\@hangfrom@appendix} % \begin{macro}{\@hangfroms@appendix} % \begin{macro}{\@appendixcntformat} % \changes{v4.0beta 3}{1999/11/13} % {Bug 129: section* within appendix was producing appendixname} % \begin{macrocode} \prepdef\appendix{% \par \let\@hangfrom@section\@hangfrom@appendix \let\@hangfroms@section\@hangfroms@appendix \let\@sectioncntformat\@appendixcntformat }% \def\@hangfrom@appendix#1#2#3{% #1% \@if@empty{#2}{% #3% }{% #2\@if@empty{#3}{}{:\ #3}% }% }% \def\@hangfroms@appendix#1#2{% #1#2% }% \def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \subsubsection{Bibliography}% % % Customize \revtex\ for the journal substyle; % this task requires three components: % the \BibTeX\ \file{apsrev.bst} style file, % customizing code for \file{natbib}, and % customizations of the \env{thebibliography} environment. % % \begin{macro}{\@bibstyle} % Define the argument of the \cmd\bibliographystyle\ command % (if the document does not do so). % The user must have installed a \file{.bst} file of the corresponding name. % This file will then be used by \BibTeX\ when compiling the document's \file{.bbl} file. % % The default bibliography style for the APS journal substyles, \file{apsrev.bst}, % was originally called \file{revtex.bst}, but % that name is much too generic and should be given to a \file{.bst} file that % that applies generally to any \revtex\ jounal substyle, an impossibility. % % To generate \file{apsrev.bst}, use \classname{custom-bib} version 4.0b2 or later. % Run the \file{.bst} generator, \file{makebst.tex}, and % accept all defaults, with the following exceptions: % % \begin{enumerate} % \item % ORDERING OF REFERENCES: c: seq-no (references in order of Citation); % \item % AUTHOR NAMES: i: nm-init,ed-au (Initials + surname); % \item % NUMBER OF AUTHORS: l: max 12, min 12 (there will be three prompts total); % \item % TYPEFACE FOR AUTHORS IN LIST OF REFERENCES: u: nmft,nmft-def (User defined author font); % \item % FONT FOR FIRST NAMES: u: fnm-def (First names in user defined font); % \item % EDITOR NAMES IN INCOLLECTION ETC: a: nmfted (Editors incollection like authors); % \item % DATE FORMAT: p: yr-par (Date in parentheses); % \item % SUPPRESS MONTH: x: xmth (Date is year only); % \item % TITLE OF ARTICLE: i: tit-it (Title italic) % \item % ARTICLE TITLE PRESENT: x: jtit-x (No article title); % \item % JOURNAL NAME FONT: r: jttl-rm (Journal title normal); % \item % TECHNICAL REPORT TITLE: b: trtit-b (Tech. report title like books); % \item % JOURNAL VOLUME: b: vol-bf (Volume bold); % \item % VOLUME PUNCTUATION: c: volp-com (Volume with comma); % \item % PAGE NUMBERS: f: jpg-1 (Only start page number); % \item % JOURNAL NAME PUNCTUATION: x: jnm-x (Space after journal); % \item % PUBLISHER IN PARENTHESES: d: pub-date (Publisher and date in parentheses); % \item % PUBLISHER POSITION: p: pre-pub (Publisher before chapter, pages); % \item % ISBN NUMBER: isbn: (Include ISBN for books, booklets) % \item % ISSN NUMBER: issn: (Include ISSN for periodicals) % \item % EDITOR IN COLLECTIONS: b: edby (Booktitle, edited by \dots); % \item % PUNCTUATION BETWEEN SECTIONS (BLOCKS): c: blk-com (Comma between blocks); % \item % ABBREVIATE WORD `PAGES': a: pp (`Page' abbreviated); % \item % ABBREVIATE WORD `EDITORS': a: ed (`Editor' abbreviated); % \item % OTHER ABBREVIATIONS: a: abr (Abbreviations); % \item % ABBREVIATION FOR `EDITION': a: ednx (`Edition' abbreviated as `ed'); % \item % EDITION NUMBERS: n: ord (Numerical editions); % \item % STORED JOURNAL NAMES: a: jabr (Abbreviated journal names); % \item % FONT OF `ET AL': i: etal-it (Italic et al); % \item % ADDITIONAL REVTeX DATA FIELDS: r: revdata, eprint, url, url-blk (Include REVTeX data fields collaboration, eid, eprint, numpages, url) % \item % NEW FONT SELECTION SCHEME: n: nfss (NFSS); % \item % ADDITIONAL REVTeX DATA FIELDS: y: revdata (additional data fields); % \item % REFERENCE COMPONENT TAGS: y: reference component tags; % \item % URL ADDRESS: n: URL as note; % \end{enumerate} % % A file \file{apsrev.dbj} file equivalent to the following should result: % \begin{verbatim} % \input docstrip % \preamble % ---------------------------------------- % *** REVTeX-compatible apsrev.bst *** % \endpreamble % \postamble % End of customized bst file % \endpostamble % \keepsilent % \askforoverwritefalse % \def\MBopts{\from{merlin.mbs}{% % seq-no%: Citation order (unsorted, like unsrt.bst) % ,nm-init,ed-au%: Initials + surname (J. F. Smith) % ,nmlm%: Limited authors (et al replaces missing names) % ,x10%: Maximum of 10 authors % ,m10%: Minimum of 10 authors % ,nmft,nmft-def%: User defined author font (\bibnamefont) % ,fnm-def%: First names in user defined font (\bibfnamefont) % ,nmfted%: Editors incollection like authors font % ,yr-par%: Date in parentheses as (May 1993) % ,xmth%: Date is year only % ,tit-it%: Title italic (\em) % ,jtit-x%: No article title % ,jttl-rm%: Journal name normal font % ,trtit-b%: Tech. report title like books % ,vol-bf%: Volume bold as {\bf vol}(num) % ,volp-com%: Volume with comma as vol(num), ppp % ,jpg-1%: Only start page number % ,jnm-x%: Space after journal name % ,pub-date%: Publisher and date in parentheses (Oxford, 1994) % ,pre-pub%: Publisher before chapter, pages % ,isbn%: Include ISBN for books, booklets, etc. % ,issn%: Include ISSN for periodicals % ,edby%: In booktitle, edited by .. (where .. is names) % ,blk-com%: Comma between blocks % ,pp%: `Page' abbreviated as p. or pp. % ,ed%: `Editor' abbreviated as ed. or eds. % ,abr%: Abbreviations of such words % ,ednx%: `Edition' abbreviated as `ed' % ,ord%: Numerical editions as 1st, 2nd, 3rd, etc % ,jabr%: Abbreviated journal names % ,etal-it%: Italic et al % ,revdata,eprint,url,url-blk%: Include REVTeX data fields collaboration, eid, eprint, numpages, url % ,url,url-nt%: URL as note % ,bibinfo%: Reference component tags like \bibinfo in the content of \bibitem % ,nfss%: NFSS use \textbf, \emph, not \bf, \em % }} % \generate{\file{\jobname.bst}{\MBopts}} % \endbatchfile % \end{verbatim} % % To get a banner in the \file{.blg} file, patch by hand into \file{apsrev.bst}: % \begin{verbatim} % FUNCTION {banner.log} {"REVTeX-compatible apsrev.bst 9812" warning$} % \end{verbatim} % and invoke \texttt{banner.log} from within \texttt{begin.bib} % % We ensure that the journal substyle has the first word % in the matter by installing the (default) APS code % later on (see Section~\ref{sec:aps-defaults}). % \end{macro} % % \begin{macro}{\bibpunct} % The following commands effectively establish the style in which \cmd\cite\ commands are % formatted. % You can think of them as the second needed component for the bibliography. % % Set up for numerical citations. % % The journal substyles can override these choices. % % Note that setting \cmd\NAT@sort\ at this late hour is not totally effective. % You have to give \classname{natbib} the relevant options at load time. % \begin{macrocode} \bibpunct{[}{]}{,}{n}{}{,}% % \end{macrocode} % \end{macro} % % \begin{macro}{\bibsection} % We define the sectioning command to use when starting the bibliography. % % \changes{v4.0rc1}{2001/06/18} % {grid changes with push and pop} % \begin{macrocode} \def\bibsection{% \par % \twocolumn@sw{\onecolumngrid}{}% \onecolumngrid@push \begingroup \baselineskip26\p@ % \def\@currentHref{section.bib}% \bib@device{\textwidth}{245.5\p@}% \endgroup \nobreak\@nobreaktrue \addvspace{19\p@}% \par % \twocolumn@sw{\twocolumngrid}{}% \onecolumngrid@pop }% % \end{macrocode} % \end{macro} % % \begin{macro}{\bib@device} % \begin{macro}{\bibpreamble} % \begin{macro}{\bibsep} % \begin{macro}{\newblock} % We define the sectioning command to use when starting the bibliography. % \begin{macrocode} \def\bib@device#1#2{% \hb@xt@#1{% \hfil \phantomsection \addcontentsline {toc}{section}{\protect\numberline{}\refname}% % \hyper@anchorstart {\@currentHref }% \hb@xt@#2{% \skip@\z@\@plus-1fil\relax \leaders\hrule height.25 \p@ depth.25 \p@ \hskip\z@\@plus1fil \hskip\skip@ \hskip\z@\@plus0.125fil\leaders\hrule height.375\p@ depth.375\p@ \hskip\z@\@plus0.75fil \hskip\z@\@plus0.125fil \hskip\skip@ \hskip\z@\@plus0.25 fil\leaders\hrule height.5 \p@ depth.5 \p@ \hskip\z@\@plus0.5 fil \hskip\z@\@plus0.25 fil \hskip\skip@ \hskip\z@\@plus0.375fil\leaders\hrule height.625\p@ depth.625\p@ \hskip\z@\@plus0.25fil \hskip\z@\@plus0.375fil % \hskip\skip@ % \hfil }% %\hyper@anchorend \hfil }% }% \let\bibpreamble\@empty \bibsep\z@\relax \def\newblock{\ }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\bibfont} % We define the font switch that applies to the body of the bibliography. % % \begin{macrocode} \def\bibfont{% \small }% % \end{macrocode} % \end{macro} % % % \subsubsection{Index}% % FIXME: the following call to \cmd\twocolumn\ appears wrong if we were in two-column grid. % \changes{v4.0beta 3}{1999/11/13} % {grid changes with ltxgrid} % \changes{v4.0rc1}{2001/06/18} % {grid changes with push and pop} % \begin{macrocode} \newenvironment{theindex}{% %\let\wastwocol@sw\twocolumn@sw \columnseprule \z@ \columnsep 35\p@ \c@secnumdepth-\maxdimen \onecolumngrid@push \section{\indexname}% \thispagestyle{plain}% \parindent\z@ \parskip\z@ plus.3\p@\relax \let\item\@idxitem %\wastwocol@sw{\twocolumngrid}{}% \onecolumngrid@pop }{% %\onecolumngrid@pop }% % \def\@idxitem{\par\hangindent 40\p@} % \def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}} % \def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}} % \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} % \end{macrocode} % % % \subsection{Journal-Specific Code}% % % For APS journals, we supply code specific to PRA, PRB, PRC, PRD, PRE, PRL, and RMP. % At present, they are identical, % with the exception of PRB's code for superscript citations. % % \begin{macrocode} \def\journal@pra{pra}% \def\journal@prb{prb}% \def\journal@prc{prc}% \def\journal@prd{prd}% \def\journal@pre{pre}% \def\journal@prl{prl}% \def\journal@prstab{prstab}% \def\journal@rmp{rmp}% % \end{macrocode} % % Note: the convention in this document class is that % the substyle must not override any explicit class options % declared by the document. % This means that the various Booleans of Section~\ref{sec:options} % may be assigned here only if they are still undefined at this point. % % For most all of the APS journals, the journal-dependent % code is relatively meager and is therefore embedded in this file. % However, the RMP code is sufficiently extensive that % splitting it out into a separate file is more convenient. % % \subsubsection{\classoption{pra}}% % \begin{macrocode} \@ifx{\@journal\journal@pra}{% % \end{macrocode} % % End of \classoption{pra} code. % \begin{macrocode} }{}% % \end{macrocode} % % \subsubsection{\classoption{prb}}% % \begin{macrocode} \@ifx{\@journal\journal@prb}{% % \end{macrocode} % PRB requires superscript citations. % We use Patrick Daly's \classname{natbib} package, % and hyperref and other packages are already set up to cope with this. % % \begin{macro}{\bibpunct} % By default, PRB selects the \classoption{bibnotes} option. % We also set up for numerical citations. % \begin{macrocode} \@ifxundefined\bibnotes@sw{\@booleantrue\bibnotes@sw}{}% \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}% \def\@onlinecite#1{\begingroup\let\@cite\NAT@citenum\citealp{#1}\endgroup}% % \end{macrocode} % \end{macro} % % Invoke \classoption{superbib} option if the document % has made no selection of its own. % \begin{macrocode} \appdef\class@documenthook{% \@ifxundefined\place@bibnumber{% \let\place@bibnumber\place@bibnumber@sup }{}% }% % \end{macrocode} % % End of \classoption{prb} code. % \begin{macrocode} }{}% % \end{macrocode} % % \subsubsection{\classoption{prc}}% % \begin{macrocode} \@ifx{\@journal\journal@prc}{% % \end{macrocode} % % End of \classoption{prc} code. % \begin{macrocode} }{}% % \end{macrocode} % % \subsubsection{\classoption{prd}}% % \begin{macrocode} \@ifx{\@journal\journal@prd}{% % \end{macrocode} % % End of \classoption{prd} code. % \begin{macrocode} }{}% % \end{macrocode} % % \subsubsection{\classoption{pre}}% % \begin{macrocode} \@ifx{\@journal\journal@pre}{% % \end{macrocode} % % End of \classoption{prd} code. % \begin{macrocode} }{}% % \end{macrocode} % % \subsubsection{\classoption{prl}}% % \begin{macrocode} \@ifx{\@journal\journal@prl}{% % \end{macrocode} % In PRL, the default is the \classoption{bibnotes} option, % and the Acknowledgments section has no head. % % However, the References head is a device that may be described as a lozenge centered on the baseline, % 71 points wide by 2 points thick, with the ends tapering to a half point in thickness. % Space above 26 points base to base, below 31 base to base. % \begin{macrocode} \@ifxundefined\bibnotes@sw{\@booleantrue\bibnotes@sw}{}% \@booleanfalse\acknowledgments@sw %\let\acknowledgmentsname\@empty \def\bibsection{% \par \begingroup \baselineskip26\p@ \bib@device{\hsize}{72\p@}% \endgroup \nobreak\@nobreaktrue \addvspace{19\p@}% }% % \end{macrocode} % Implement length checking. % Use the \classname{times} and \classname{mathtime} packages, % plus whatever other processing is required % to make the formatted output be true % to the metrics of the journal. % % Wait. Do not use mathtime after all. APS has their own way of doing math pi, involving % Adobe Mathematical Pi and other fonts. % \begin{macrocode} %\appdef\class@documenthook{% \@ifxundefined\lengthcheck@sw{\@booleanfalse\lengthcheck@sw}{}% \lengthcheck@sw{% \RequirePackage{times}% % \RequirePackage{mathtime}% }{% }% %}% % \end{macrocode} % A PRL does not have numbered sections. % \begin{macrocode} \c@secnumdepth=-\maxdimen % \end{macrocode} % Note: we defer this code until after type size file is read in. % \begin{macrocode} \appdef\set@typesize@hook{% \@ifnum{\@pointsize=10\relax}{% \lengthcheck@sw{% \def\large{% \@setfontsize\large{12.5}{14\p@}% }% \def\normalsize{% \@setfontsize\normalsize{10.5}\@xiipt \abovedisplayskip 6\p@ \@plus6\p@ \@minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% \def\small{% \@setfontsize\small{9.5}\@xipt \abovedisplayskip 5\p@ \@plus5\p@ \@minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% \DeclareMathSizes{12.5}{12.5}{9}{6}% \DeclareMathSizes{10.5}{10.5}{7.5}{5}% \DeclareMathSizes{9.5}{9.5}{7.0}{5}% }{% \def\normalsize{% \@setfontsize\normalsize\@xpt\@xiipt \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% }% }{}% }% %\appdef\set@pica@hook{% \@ifnum{\@pointsize=10\relax}{% \textheight = 694.0\p@ % \textheight = 55\baselineskip % \advance\textheight by \topskip }{}% %}% % \end{macrocode} % % End of \classoption{prl} code. % \begin{macrocode} }{}% % \end{macrocode} % % \subsubsection{\classoption{prstab}}% % \begin{macrocode} \@ifx{\@journal\journal@prstab}{% % \end{macrocode} % % End of \classoption{prstab} code. % \begin{macrocode} }{}% % \end{macrocode} % % \subsubsection{\classoption{rmp}}% % Read in the code from a file. % \begin{macrocode} \@ifx{\@journal\journal@rmp}{\input{\@journal\substyle@ext}}{}% % \end{macrocode} % % % \subsection{Establish APS Defaults}\label{sec:aps-defaults} % % \begin{macro}{\footinbib@sw} % All APS journals except RMP invoke the \classoption{footinbib} option. % We rely on the RMP-specific code to give a value to this switch. % \begin{macrocode} \@ifxundefined\footinbib@sw{\@booleantrue\footinbib@sw}{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\place@bibnumber} % \begin{macro}{\@bibstyle} % We install code that will select the presentation for \cmd\bibitem s % and govern the \BibTeX\ processing. % If the user has not selected any related option and if % the journal substyle also has not, then the \classoption{aps} % option choses these defaults. % \begin{macrocode} \appdef\class@documenthook{% \@ifxundefined\place@bibnumber{% \let\place@bibnumber\place@bibnumber@inl }{}% \@ifxundefined\@bibstyle{% \def\@bibstyle{apsrev}% }{}% }% % \end{macrocode} % \end{macro} % \end{macro} % % % \begin{macrocode} %</aps> % \end{macrocode} % % % \section{The \classoption{rmp} journal substyle: the \texttt{rmp} module} % % The file \file{rmp.rtx} is read in by the \classname{revtex4} document class % if \cmd\@society\ has the value \classoption{aps} % and \cmd\@journal\ has the value \classoption{rmp}. % % It is read at the end of the \filename{aps.rtx}, so all definitions % and assignments in that file are operative unless overridden here. % % % \begin{macrocode} %<*rmp> % \end{macrocode} % % Protect this file from being read in by anything but \revtex. % \begin{macrocode} \ifx\undefined\substyle@ext \def\@tempa{% \endinput \GenericWarning{I must be read in by REVTeX! (Bailing out)}% }% \expandafter\else \def\@tempa{}% \expandafter\fi\@tempa % \end{macrocode} % % Protect this file from being read in as a society instead of a journal. % In such a case, \cmd\@journal\ will be \cmd\@empty. % \begin{macrocode} \@ifx@empty\@journal{% \class@warn{I have to read in the aps substyle first!}% \endinput \def\@society{aps}\def\@journal{rmp}% \expandafter\input\expandafter{\@society\substyle@ext}% }{}% % \end{macrocode} % % \subsection{Frontmatter}% % % \begin{macro}{\frontmatter@setup} % % \begin{macrocode} \def\frontmatter@setup{% \normalfont\sffamily\raggedright }% % \end{macrocode} % \end{macro} % % \begin{macro}{\PACS@warn} % Per Mark Doyle, RMP never displays the PACS, so they don't want the `use showpacs' warning spit out. % \begin{macrocode} \def\PACS@warn{RMP documents do not display PACS. Your \string\pacs\space will be ignored}% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@title@above} % \begin{macro}{\frontmatter@title@format} % \begin{macro}{\frontmatter@title@below} % % \begin{macrocode} \def\frontmatter@title@above{}% \def\frontmatter@title@format{\Large\bfseries\raggedright}% HelveticaNeue-Medium(Italic) 14pt. \def\frontmatter@title@below{\addvspace{12\p@}}% 24pt b-b down to first author % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\frontmatter@authorformat} % Set the rag to a milder value, because we want to do true ragged right % typesetting, as opposed to the \LaTeX\ default, which gives very poor results. % % Note: author font is 9.8bp. 19.2bp/14.3bp above/below. % \begin{macrocode} \def\frontmatter@authorformat{% \preprintsty@sw{\vskip0.5pc\relax}{}% \@tempskipa\@flushglue \@flushglue\z@ plus50\p@\relax \raggedright\advance\leftskip.5in\relax \@flushglue\@tempskipa \parskip\z@skip }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@affiliationfont} % The hook \cmd\frontmatter@affiliationfont\ controls the formatting of affiliations and affiliation groups. % The hook \cmd\frontmatter@above@affilgroup\ is invoked just before proceeding with author/affiliation processing. % The \cmd\frontmatter@above@affiliation\ is the amount of space above affiliations in the \classoption{groupedaddress} style, % and \cmd\frontmatter@above@affiliation@script\ is that for \classoption{superscriptaddress}. % % Note: affiliation font is 9.03/10.4bp, 14.3bp/19.2bp b-b above/below % \begin{macrocode} \def\frontmatter@affiliationfont{% Helvetica 9/10.2 \small\slshape\selectfont\baselineskip10.5\p@\relax \@tempskipa\@flushglue \@flushglue\z@ plus50\p@\relax \raggedright\advance\leftskip.5in\relax \@flushglue\@tempskipa }% \def\frontmatter@above@affilgroup{\addvspace{7.2\p@}}% additional leading above an author \def\frontmatter@above@affiliation{\addvspace{5.3\p@}}% \def\frontmatter@above@affiliation@script{}% % \end{macrocode} % \end{macro} % % Set up the default RMP style for title block authors and affiliations. % This command should effectively override the effect of the % corresponding command in the parent substyle. % \begin{macrocode} \@ifxundefined\groupauthors@sw{% \clo@groupedaddress }{}% % \end{macrocode} % % \begin{macro}{\frontmatter@RRAP@format} % Note: in RMP, if we are not in preprint mode, the date will not be produced. % % Note: Helvetica C/lc, 8.98bp, space above: 16.3bp b-b. % \begin{macrocode} \def\frontmatter@RRAP@format{% \addvspace{7.3\p@}% \small \raggedright\advance\leftskip.5in\relax % \parskip.5ex\relax % \everypar{\hbox\bgroup(\@gobble@leavemode@uppercase}% % \def\par{\@ifvmode{}{\unskip)\egroup\@@par}}% % \preprintsty@sw{}{\let\@date\@empty}% }% %\def\@gobble@leavemode@uppercase#1#2{\expandafter\MakeTextUppercase}% \def\produce@RRAP#1{% \@if@empty{#1}{}{% \@ifvmode{\leavevmode}{}% \unskip(\ignorespaces#1\unskip)\quad }% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@abstractheading} % Space above 21.8bp b-b. % \begin{macrocode} \def\frontmatter@abstractheading{% \preprintsty@sw{% \begingroup \centering\large \abstractname \par \endgroup \vspace{.5pc}% }{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@abstractfont} % TimesTen 8.93bp/9.6bp X 360bp, indented 36bp, with 21.9/37.6bp b-b above/below % \begin{macrocode} \def\frontmatter@abstractfont{% \footnotesize \hsize360\p@ \leftskip=0.5in \advance\hsize\leftskip %\rightskip=\leftskip \parindent\z@ %\hsize5.5in }% % \end{macrocode} % \end{macro} % % \begin{macro}{\frontmatter@preabstractspace} % \begin{macro}{\frontmatter@postabstractspace} % Space above and space below abstract in title block. % Should be 22/36 points base-to-base. % \begin{macrocode} \def\frontmatter@preabstractspace{7.7\p@}% \def\frontmatter@postabstractspace{24.6\p@}% % \end{macrocode} % \end{macro} % \end{macro} % % FIXME: Not done: PACS. % FIXME: TOC: Head is same as \section: HelveticaNeue 8.98. 32/22bp b-b above/below, % Body: TimesTen 8/10.5. % % \subsection{General Text}% % % If not in preprint mode, set the type size to 10/12 point. Note: s/b 11.6bp leading % \begin{macrocode} \appdef\set@typesize@hook{% \@ifxundefined\preprintsty@sw{}{% \preprintsty@sw{}{% \def\normalsize{% \@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI }% }% }% }% % \end{macrocode} % % Footnote mods: % \begin{macrocode} \footnotesep 9.25pt \skip\footins 36pt plus 4pt minus 2pt \def\footnoterule{\kern-13pt\hrule width.5in\kern15.6pt\relax}% % \end{macrocode} % % % \subsection{Sectioning} % % \begin{macrocode} \def\thepart{\Roman{part}} % \def\thesection{\Roman{section}} \def\p@section{} \def\thesubsection{\Alph{subsection}} \def\p@subsection{\thesection.} \def\thesubsubsection{\arabic{subsubsection}} \def\p@subsubsection{\thesection.\thesubsection.} \def\theparagraph{\alph{paragraph}} \def\p@paragraph{\thesection.\thesubsection.\thesubsubsection.} \def\thesubparagraph{\arabic{subparagraph}} \def\p@subparagraph{\thesection.\thesubsection.\thesubsubsection.\theparagraph.} % \end{macrocode} % % In RMP, put a period (.), followed by nut space, after the section number. % Also, hang the section number (the \LaTeX\ default). % \begin{macrocode} \def\@seccntformat#1{\csname the#1\endcsname.\hskip0.5em\relax}% % \end{macrocode} % % Note that we wish to set the section head uppercase, so we use % David Carlisle's \cmd\MakeTextUppercase. However, because this procedure effectively % parses its argument (looking for things to \emph{not} translate), it has to be invoked % in such a way that the argument of the \cmd\section\ command is passed to it as its % own argument. % % To accomplish this, we use the \cmd\@hangfrom@\ hook, which was developed for this % purpose. % \begin{macrocode} \def\section{% \@startsection{section}{1}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}% {% \small\sffamily\bfseries\selectfont \raggedright \parindent\z@ }% }% \def\@hangfrom@section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}% \def\subsection{% \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}% {% \small\sffamily\bfseries \raggedright \parindent\z@ }% }% \def\subsubsection{% \@startsection{subsubsection}{3}{\z@}{.8cm plus1ex minus.2ex}{0.4cm}% {% \small\sffamily\selectfont \raggedright \parindent\z@ }% }% \def\paragraph{% \@startsection{paragraph}{4}{\z@}{.8cm plus1ex minus.2ex}{-1em}% {% \small\slshape\selectfont \raggedright \parindent\z@ }% }% \def\subparagraph{% \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus.2ex}{-1em}% {\normalsize\bfseries\selectfont}% }% % \setcounter{tocdepth}{4}% FIXME: has no effect % \end{macrocode} % % \begin{macro}{\appendix} % \begin{macro}{\@hangfrom@appendix} % \begin{macro}{\@hangfroms@appendix} % \begin{macro}{\@appendixcntformat} % \begin{macrocode} \appdef\appendix{% \let\@hangfrom@section\@hangfrom@appendix \let\@hangfroms@section\@hangfroms@appendix \let\@sectioncntformat\@appendixcntformat }% \def\@hangfrom@appendix#1#2#3{% #1% \@if@empty{#2}{% #3% }{% #2\@if@empty{#3}{}{:\ #3}% }% }% \def\@hangfroms@appendix#1#2{% #1\appendixname\@if@empty{#2}{}{:\ #2}% }% \def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % % \subsection{Figure and Table Caption Formatting} % \begin{macro}{\@makecaption} % % \begin{macrocode} \setlength\belowcaptionskip{2\p@} \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \vbox{% \flushing \small\rmfamily % \hsize\@capwidth \noindent #1\nobreak\hskip.5em plus.2em\ignorespaces#2\par }% \vskip\belowcaptionskip }% % \end{macrocode} % \end{macro} % % \subsection{Citations and Bibliography}% % % Customize \revtex\ for the journal substyle; % this task requires three components: % a \BibTeX\ \file{.bst} style file, % customizing code for \file{natbib}, and % customizations of the \env{thebibliography} environment. % % \begin{macro}{\@bibstyle} % Define the argument of the \cmd\bibliographystyle\ command % (if the document does not do so). % % The user must have installed a \file{.bst} file of the corresponding name. % This file will then be used by \BibTeX\ when compiling the document's \file{.bbl} file. % % To generate \file{apsrmp.bst}, use \classname{custom-bib} version 3.89d1 or later. % Run the \file{.bst} generator, \file{makebst.tex}, with the following options: % % \begin{enumerate} % \item % STYLE OF CITATIONS: a: ay( Author-year with some non-standard interface) % \item % AUTHOR-YEAR SUPPORT SYSTEM: nat: (Natbib for use with natbib v5.3 or later) % \item % ORDERING OF REFERENCES: *: (Alphabetical); % \item % ORDER ON VON PART: x: vonx (Sort without von part---de la Maire after Mahone) % \item % AUTHOR NAMES: a: nm-rev1 (Only first name reversed, initials---AGU style: Smith, J. F., H. K. Jones) % \item % POSITION OF JUNIOR: jnrlst (Junior comes last as Smith, John, Jr.) % \item % NUMBER OF AUTHORS: l: max 12, min 12 (three prompts in all); % \item % TYPEFACE FOR AUTHORS IN LIST OF REFERENCES: u: nmft, nmft-def (User defined author font---\cmd\bibnamefont) % \item % FONT FOR FIRST NAMES: u: fnm-def (First names in user defined font---\cmd\bibfnamefont) % \item % EDITOR NAMES IN INCOLLECTION ETC: a: nmfted (Editors incollection like authors font) % \item % FONT FOR `AND' IN LIST: r: nmand-rm (`And' in normal font---JONES and JAMES) % \item % FONT OF CITATION LABELS IN TEXT: u: lab, lab-def (User-defined citation font---\cmd\citenamefont) % \item % LABEL WHEN AUTHORS MISSING: keyxyr (Year blank when KEY replaces missing author---for natbib 7.0) % \item % DATE POSITION: b: dt-beg (Date after authors) % \item % SUPPRESS MONTH: xmth (Date is year only) % \item % DATE FORMAT: yr-com (Date preceded by comma as `, 1993') % \item % TRUNCATE YEAR: note-yr (Year text full as 1990--1993 or `in press') % \item % ARTICLE TITLE PRESENT: x: jtit-x (No article title); % \item % JOURNAL TITLE FONT: r: jttl-rm (Journal title normal); % \item % TECHNICAL REPORT TITLE: b: trtit-b (Tech. report title like books); % \item % JOURNAL VOLUME: b: vol-bf (Volume bold); % \item % VOLUME PUNCTUATION: c: volp-com (Volume with comma); % \item % PAGE NUMBERS: f: jpg-1 (Only start page number); % \item % POSITION OF PAGES: e: pp-last (Pages at end, but before any notes) % \item % NUMBER AND SERIES FOR COLLECTIONS: num-xser (Allows number without series and suppresses word ``number'') % \item % JOURNAL NAME PUNCTUATION: x: jnm-x (Space after journal); % \item % PUBLISHER IN PARENTHESES: p: pub-par (Publisher in parentheses) % \item % PUBLISHER POSITION: p: pre-pub (Publisher before chapter, pages); % \item % ISBN NUMBER: *: isbn (Include ISBN); % \item % ISSN NUMBER: *: isbn (Include ISSN for periodicals); % \item % `EDITOR' AFTER NAMES: a: edpar (`Name (editor),' in parentheses, after name, comma after) % \item % EDITOR IN COLLECTIONS: b: edby (In booktitle, edited by\dots---where \dots is names) % \item % PUNCTUATION BETWEEN SECTIONS (BLOCKS): c: blk-com (Comma between blocks); % \item % `IN' WITH JOURNAL NAMES: i: injnl (Add `in' before journal name in style for incollection) % \item % ABBREVIATE WORD `PAGES': a: pp (`Page' abbreviated); % \item % ABBREVIATE WORD `EDITORS': a: ed (`Editor' abbreviated); % \item % ABBREVIATION FOR `EDITION': a: ednx (`Edition' abbreviated as `ed'); % \item % EDITION NUMBERS: xedn (Editions as in database saving much processing memory) % \item % STORED JOURNAL NAMES: a: jabr (Abbreviated journal names); % \item % FONT OF `ET AL': i: etal-it (Italic et al); % \item % ADDITIONAL REVTeX DATA FIELDS: r: revdata, eprint, url, url-blk (Include REVTeX data fields) % \item % NEW FONT SELECTION SCHEME: n: nfss (NFSS); % \item % ADDITIONAL REVTeX DATA FIELDS: y: revdata (additional data fields); % \item % REFERENCE COMPONENT TAGS: r: bibinfo (reference component tags); % \end{enumerate} % % A file \file{apsrmp.dbj} file equivalent to the following should result: % \begin{verbatim} % \input docstrip % \preamble % ---------------------------------------- % *** REVTeX-compatible apsrmp.bst *** % \endpreamble % \postamble % End of customized bst file % \endpostamble % \keepsilent % \askforoverwritefalse % \def\MBopts{\from{merlin.mbs}{% % ay%: Author-year with some non-standard interface % ,nat%: Natbib for use with natbib v5.3 or later % ,vonx%: Sort without von part (de la Maire after Mahone) % ,nm-rev1%: Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones) % ,jnrlst%: Junior comes last as Smith, John, Jr. % ,nmlm%: Limited authors (et al replaces missing names) % ,x10%: Maximum of 10 authors % ,m10%: Minimum of 10 authors % ,nmft,nmft-def%: User defined author font (\bibnamefont) % ,fnm-def%: First names in user defined font (\bibfnamefont) % ,nmfted%: Editors incollection like authors font % ,nmand-rm%: `And' in normal font (JONES and JAMES) % ,lab,lab-def%: User defined citation font (\citenamefont) % ,keyxyr%: Year blank when KEY replaces missing author (for natbib 7.0) % ,dt-beg%: Date after authors % ,xmth%: Date is year only % ,yr-com%: Date preceded by comma as `, 1993' % ,note-yr%: Year text full as 1990--1993 or `in press' % ,jtit-x%: No article title % ,jttl-rm%: Journal name normal font % ,trtit-b%: Tech. report title like books % ,vol-bf%: Volume bold as {\bf vol}(num) % ,volp-com%: Volume with comma as vol(num), ppp % ,jpg-1%: Only start page number % ,pp-last%: Pages at end but before any notes % ,num-xser%: Allows number without series and suppresses word "number" % ,jnm-x%: Space after journal name % ,pub-par%: Publisher in parentheses % ,pre-pub%: Publisher before chapter, pages % ,isbn%: Include ISBN for books, booklets, etc. % ,issn%: Include ISSN for periodicals % ,edpar%: `Name (editor),' in parentheses, after name, comma after % ,edby%: In booktitle, edited by .. (where .. is names) % ,blk-com%: Comma between blocks % ,injnl%: Add `in' before journal name in style for incollection % ,pp%: `Page' abbreviated as p. or pp. % ,ed%: `Editor' abbreviated as ed. or eds. % ,xedn%: Editions as in database saving much processing memory % ,jabr%: Abbreviated journal names % ,etal-it%: Italic et al % ,revdata,eprint,url,url-blk%: Include REVTeX data fields collaboration, eid, eprint, numpages, url % ,bibinfo%: Reference component tags like \bibinfo in the content of \bibitem % ,nfss%: NFSS use \textbf, \emph, not \bf, \em % }} % \generate{\file{\jobname.bst}{\MBopts}} % \endbatchfile % \end{verbatim} % % \begin{macrocode} \appdef\class@documenthook{% \@ifxundefined\@bibstyle{% \def\@bibstyle{apsrmp}% }{}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\bibpunct} % The following commands effectively etablish the style in which \cmd\cite\ commands are % formatted. % You can think of them as the second needed component for the bibliography. % % Set up for author-year citations: % when \cmd\NAT@set@cites\ executes (at \envb{document} time), the \cmd\@biblabel\ will % be set to \cmd\NAT@biblabel. % % Per Karie Friedman (friedman@phys.washington.edu), multiple citations are separated by semicolons, e.g., % (Jones, 1999; Abbott and Smith, 2000; Wortley, 2001a), % and % multiple citations by the same author by commas, e.g., % Abela et al. (1995, 1997a, 1997b). % The third argument of \cmd\bibpunct\ handles the former. % % The fifth argument puts a comma after the author when the year is not in parens: % (Lee et al., 1996). % % \begin{macrocode} \bibpunct{(}{)}{;}{a}{,}{,}% % \end{macrocode} % \end{macro} % % \begin{macro}{\cite} % Per Mark Doyle, \cmd\cite\ is mapped to \cmd\citep\ in RMP. % % \begin{macrocode} \let\cite\citep % \end{macrocode} % \end{macro} % % \begin{macro}{\bibsection} % \begin{macro}{\bibpreamble} % \begin{macro}{\newblock} % \begin{macro}{\bibhang} % \begin{macro}{\bibsep} % We define the sectioning command to use when starting the bibliography. % % \begin{macrocode} \def\bibsection{% \let\@hangfroms@section\@hang@froms \section*{\refname}% \@nobreaktrue }% \let\bibpreamble\@empty \def\newblock{\ }% \bibhang10\p@ \bibsep\z@ % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\footinbib@sw} % Footnotes in bibliography are inconsistent with author-year % references, and are particularly nast under \classname{natbib}: % the packcage will automatically change to numbered references if % any \cmd\bibitem\ commands lack the optional argument. % Therefore, we must uninvoke it now, even if invoked by the document. % \begin{macrocode} \@ifxundefined\footinbib@sw{}{% \footinbib@sw{% \class@warn{% Footnotes in bibliography are incompatible with RMP.^^J% Undoing the footinbib option. }% }{}% }% \@booleanfalse\footinbib@sw % \end{macrocode} % \end{macro} % % \begin{macro}{\eprint} % RMP requires the \cmd\eprint\ field in the bib entry to be set off with the word ``eprint''. % \begin{macrocode} \def\eprint#1{eprint #1}% % \end{macrocode} % \end{macro} % % \subsection{Table of Contents} % % We set up for auto-sizing of certain TOC elements. % % To do this, we override certain definitions for % the default TOC font (\cmd\toc@@font) and spacing (\@dotsep), % and define % formatting for the needed elements (\cmd\l@\dots). % Finally, we activate the autosizing by % assigning \cmd\toc@pre\ and \cmd\toc@post. % % \begin{macro}{\toc@@font} % Set the formatting characteristics of the auto-indenting part % of the TOC. % \begin{macrocode} \def\toc@@font{% \footnotesize\rmfamily \def\\{\space\ignorespaces}% }% \def\@dotsep{5.5pt}% % \end{macrocode} % \end{macro} % % \begin{macro}{\l@section} % Determine which TOC elements are automatically indented. % \begin{macrocode} \def\tocleft@{\z@}% \def\tocdim@min{5\p@}% \def\l@section{% \l@@sections{}{section}% Implicit #3#4 }% \def\l@subsection{% \l@@sections{section}{subsection}% Implicit #3#4 }% \def\l@subsubsection{% \l@@sections{subsection}{subsubsection}% Implicit #3#4 }% %\def\l@subsubsection#1#2{}% \def\l@paragraph#1#2{}% \def\l@subparagraph#1#2{}% % \end{macrocode} % \end{macro} % % Activate the TOC processing. % \begin{macrocode} \let\toc@pre\toc@pre@auto \let\toc@post\toc@post@auto % \end{macrocode} % % % \begin{macrocode} %</rmp> % \end{macrocode} % % % \Finale % %Here ends the programmer's documentation. % \endinput % \endinput ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/src/revtex4.ins�������������������������������������������������������������������0100644�0000764�0000764�00000002100�07332604142�016374� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% This file requires docstrip version 2.4 or higher available from % ftp://ctan.tug.org/tex-archive/macros/latex/unpacked/docstrip.tex \input docstrip \preamble This file is part of the APS files in the REVTeX 4 distribution. For the version number, search on the string %FileInfo Original version by David Carlisle Modified by Arthur Ogawa (mailto:ogawa@teleport.com) Copyright (c) 1999 The American Physical Society. http://publish.aps.org/revtex4/ mailto:revtex4@aps.org See the REVTeX 4 README file for restrictions and more information. \endpreamble \keepsilent \askforoverwritefalse \generate{ \file{revtex4.cls}{% \from{revtex4.dtx}{class-pre}% \from{ltxutil.dtx}{ltxutil-krn}% \from{ltxgrid.dtx}{ltxgrid-krn}% \from{textcase.dtx}{package}% \from{revtex4.dtx}{class-pst}% }% \file{aps.rtx}{\from{revtex4.dtx}{aps}} \file{rmp.rtx}{\from{revtex4.dtx}{rmp}} \file{10pt.rtx}{\from{revtex4.dtx}{10pt}} \file{11pt.rtx}{\from{revtex4.dtx}{11pt}} \file{12pt.rtx}{\from{revtex4.dtx}{12pt}} \file{revsymb.sty}{\from{revtex4.dtx}{revsymb}} } \endbatchfile ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/src/revtex4.pdf�������������������������������������������������������������������0100644�0000764�0000764�00002243545�07332604137�016406� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%PDF-1.3 5 0 obj << /S /GoTo /D (section.1) >> endobj 8 0 obj (Using REVTeX) endobj 9 0 obj << /S /GoTo /D (section.2) >> endobj 12 0 obj (Overview) endobj 13 0 obj << /S /GoTo /D (section.3) >> endobj 16 0 obj (The installer file) endobj 17 0 obj << /S /GoTo /D (section.4) >> endobj 20 0 obj (Writing journal-specifc extensions to REVTeX) endobj 21 0 obj << /S /GoTo /D (section.5) >> endobj 24 0 obj (The revtex4 Document Class) endobj 25 0 obj << /S /GoTo /D (subsection.5.1) >> endobj 28 0 obj (Compatability Processing) endobj 29 0 obj << /S /GoTo /D (section.6) >> endobj 32 0 obj (Extensions to the LaTeX Kernel) endobj 33 0 obj << /S /GoTo /D (section.7) >> endobj 36 0 obj (Options) endobj 37 0 obj << /S /GoTo /D (subsection.7.1) >> endobj 40 0 obj (Define Booleans Used in Options) endobj 41 0 obj << /S /GoTo /D (subsection.7.2) >> endobj 44 0 obj (Declare Options) endobj 45 0 obj << /S /GoTo /D (subsubsection.7.2.1) >> endobj 48 0 obj (Checkin: for Editorial Use) endobj 49 0 obj << /S /GoTo /D (subsubsection.7.2.2) >> endobj 52 0 obj (Preprint Style) endobj 53 0 obj << /S /GoTo /D (subsubsection.7.2.3) >> endobj 56 0 obj (Showing PACS and keywords) endobj 57 0 obj << /S /GoTo /D (subsubsection.7.2.4) >> endobj 60 0 obj (Balance the last page when in two-column page grid) endobj 61 0 obj << /S /GoTo /D (subsubsection.7.2.5) >> endobj 64 0 obj (Showing preprint numbers) endobj 65 0 obj << /S /GoTo /D (subsubsection.7.2.6) >> endobj 68 0 obj (Hypertext Option) endobj 69 0 obj << /S /GoTo /D (subsubsection.7.2.7) >> endobj 72 0 obj (Type Size) endobj 73 0 obj << /S /GoTo /D (subsubsection.7.2.8) >> endobj 76 0 obj (Media Size) endobj 77 0 obj << /S /GoTo /D (subsubsection.7.2.9) >> endobj 80 0 obj (Bibnotes) endobj 81 0 obj << /S /GoTo /D (subsubsection.7.2.10) >> endobj 84 0 obj (Footinbib) endobj 85 0 obj << /S /GoTo /D (subsubsection.7.2.11) >> endobj 88 0 obj (altaffilletter) endobj 89 0 obj << /S /GoTo /D (subsubsection.7.2.12) >> endobj 92 0 obj (superbib) endobj 93 0 obj << /S /GoTo /D (subsubsection.7.2.13) >> endobj 96 0 obj (citeautoscript) endobj 97 0 obj << /S /GoTo /D (subsubsection.7.2.14) >> endobj 100 0 obj (Simplex/Duplex Pages) endobj 101 0 obj << /S /GoTo /D (subsubsection.7.2.15) >> endobj 104 0 obj (Two-Column Page Grid) endobj 105 0 obj << /S /GoTo /D (subsubsection.7.2.16) >> endobj 108 0 obj (raggedbottom or flushbottom) endobj 109 0 obj << /S /GoTo /D (subsubsection.7.2.17) >> endobj 112 0 obj (tightenlines) endobj 113 0 obj << /S /GoTo /D (subsubsection.7.2.18) >> endobj 116 0 obj (lengthcheck) endobj 117 0 obj << /S /GoTo /D (subsubsection.7.2.19) >> endobj 120 0 obj (Draft and Final) endobj 121 0 obj << /S /GoTo /D (subsubsection.7.2.20) >> endobj 124 0 obj (eqsecnum) endobj 125 0 obj << /S /GoTo /D (subsubsection.7.2.21) >> endobj 128 0 obj (secnumarabic) endobj 129 0 obj << /S /GoTo /D (subsubsection.7.2.22) >> endobj 132 0 obj (floats/endfloats) endobj 133 0 obj << /S /GoTo /D (subsubsection.7.2.23) >> endobj 136 0 obj (titlepage/notitlepage) endobj 137 0 obj << /S /GoTo /D (subsubsection.7.2.24) >> endobj 140 0 obj (Substyle and Sub-substyle) endobj 141 0 obj << /S /GoTo /D (subsubsection.7.2.25) >> endobj 144 0 obj (Presenting Authors and Their Affiliations) endobj 145 0 obj << /S /GoTo /D (subsubsection.7.2.26) >> endobj 148 0 obj (Typeset by REVTeX) endobj 149 0 obj << /S /GoTo /D (subsection.7.3) >> endobj 152 0 obj (Attempt to fix float placement failure) endobj 153 0 obj << /S /GoTo /D (subsection.7.4) >> endobj 156 0 obj (Option to relax page height) endobj 157 0 obj << /S /GoTo /D (subsection.7.5) >> endobj 160 0 obj (Selecting procedure for processing abstract) endobj 161 0 obj << /S /GoTo /D (subsection.7.6) >> endobj 164 0 obj (Default Option) endobj 165 0 obj << /S /GoTo /D (subsection.7.7) >> endobj 168 0 obj (Class-Asserted Options) endobj 169 0 obj << /S /GoTo /D (subsection.7.8) >> endobj 172 0 obj (Execute Options) endobj 173 0 obj << /S /GoTo /D (section.8) >> endobj 176 0 obj (Procedures Dependent Upon Options) endobj 177 0 obj << /S /GoTo /D (section.9) >> endobj 180 0 obj (Required Packages) endobj 181 0 obj << /S /GoTo /D (section.10) >> endobj 184 0 obj (Incompatible Packages) endobj 185 0 obj << /S /GoTo /D (section.11) >> endobj 188 0 obj (Society- and Journal-Specific Code) endobj 189 0 obj << /S /GoTo /D (section.12) >> endobj 192 0 obj (Front Matter) endobj 193 0 obj << /S /GoTo /D (subsection.12.1) >> endobj 196 0 obj (The title command) endobj 197 0 obj << /S /GoTo /D (subsection.12.2) >> endobj 200 0 obj (The author, affiliation, and related commands) endobj 201 0 obj << /S /GoTo /D (subsubsection.12.2.1) >> endobj 204 0 obj (Commands for author or collaboration) endobj 205 0 obj << /S /GoTo /D (subsubsection.12.2.2) >> endobj 208 0 obj (Commands for affiliation) endobj 209 0 obj << /S /GoTo /D (subsubsection.12.2.3) >> endobj 212 0 obj (Commands for auxiliary information) endobj 213 0 obj << /S /GoTo /D (subsubsection.12.2.4) >> endobj 216 0 obj (Procedures for author, collaboration, and affiliation) endobj 217 0 obj << /S /GoTo /D (subsection.12.3) >> endobj 220 0 obj (The keywords command) endobj 221 0 obj << /S /GoTo /D (subsection.12.4) >> endobj 224 0 obj (The `date command and related commands) endobj 225 0 obj << /S /GoTo /D (subsection.12.5) >> endobj 228 0 obj (The pacs command) endobj 229 0 obj << /S /GoTo /D (subsection.12.6) >> endobj 232 0 obj (The `preprint command) endobj 233 0 obj << /S /GoTo /D (subsection.12.7) >> endobj 236 0 obj (draft) endobj 237 0 obj << /S /GoTo /D (subsection.12.8) >> endobj 240 0 obj (The abstract environment) endobj 241 0 obj << /S /GoTo /D (subsection.12.9) >> endobj 244 0 obj (Formatting the title block) endobj 245 0 obj << /S /GoTo /D (subsubsection.12.9.1) >> endobj 248 0 obj (Authors and affiliations in superscriptaddress style) endobj 249 0 obj << /S /GoTo /D (subsubsection.12.9.2) >> endobj 252 0 obj (Authors and affiliations in groupedaddress style) endobj 253 0 obj << /S /GoTo /D (subsection.12.10) >> endobj 256 0 obj (Printing out the ``list-of'' elements) endobj 257 0 obj << /S /GoTo /D (section.13) >> endobj 260 0 obj (Body) endobj 261 0 obj << /S /GoTo /D (subsection.13.1) >> endobj 264 0 obj (counters) endobj 265 0 obj << /S /GoTo /D (subsection.13.2) >> endobj 268 0 obj (float parameters) endobj 269 0 obj << /S /GoTo /D (subsection.13.3) >> endobj 272 0 obj (List Environments) endobj 273 0 obj << /S /GoTo /D (subsection.13.4) >> endobj 276 0 obj (Sectioning Commands) endobj 277 0 obj << /S /GoTo /D (subsubsection.13.4.1) >> endobj 280 0 obj (Counters and Their Productions) endobj 281 0 obj << /S /GoTo /D (subsubsection.13.4.2) >> endobj 284 0 obj (The Acknowledgments Environment) endobj 285 0 obj << /S /GoTo /D (subsubsection.13.4.3) >> endobj 288 0 obj (Part Opener) endobj 289 0 obj << /S /GoTo /D (subsubsection.13.4.4) >> endobj 292 0 obj (Stacked Heads) endobj 293 0 obj << /S /GoTo /D (subsubsection.13.4.5) >> endobj 296 0 obj (Runin Heads) endobj 297 0 obj << /S /GoTo /D (subsection.13.5) >> endobj 300 0 obj (Math) endobj 301 0 obj << /S /GoTo /D (subsection.13.6) >> endobj 304 0 obj (Type Size-Dependent Settings) endobj 305 0 obj << /S /GoTo /D (subsection.13.7) >> endobj 308 0 obj (All Point Sizes) endobj 309 0 obj << /S /GoTo /D (subsection.13.8) >> endobj 312 0 obj (Figures) endobj 313 0 obj << /S /GoTo /D (subsubsection.13.8.1) >> endobj 316 0 obj (Deferring figure Floats) endobj 317 0 obj << /S /GoTo /D (subsection.13.9) >> endobj 320 0 obj (Tables) endobj 321 0 obj << /S /GoTo /D (subsubsection.13.9.1) >> endobj 324 0 obj (Deferring table Floats) endobj 325 0 obj << /S /GoTo /D (section.14) >> endobj 328 0 obj (Tabular) endobj 329 0 obj << /S /GoTo /D (section.15) >> endobj 332 0 obj (Footnote Text) endobj 333 0 obj << /S /GoTo /D (subsection.15.1) >> endobj 336 0 obj (Citations, Bibliography, Endnotes) endobj 337 0 obj << /S /GoTo /D (subsubsection.15.1.1) >> endobj 340 0 obj (Bibliography) endobj 341 0 obj << /S /GoTo /D (subsubsection.15.1.2) >> endobj 344 0 obj (`endnotes and `rtx@bibnotes) endobj 345 0 obj << /S /GoTo /D (section.16) >> endobj 348 0 obj (Initial setup) endobj 349 0 obj << /S /GoTo /D (section.17) >> endobj 352 0 obj (`appendix) endobj 353 0 obj << /S /GoTo /D (section.18) >> endobj 356 0 obj (Changing the page grid) endobj 357 0 obj << /S /GoTo /D (subsection.18.1) >> endobj 360 0 obj (Avoiding Grid Changes) endobj 361 0 obj << /S /GoTo /D (subsection.18.2) >> endobj 364 0 obj (Galley Style: Margin Changes) endobj 365 0 obj << /S /GoTo /D (subsection.18.3) >> endobj 368 0 obj (Grid Changing Via ltxgrid) endobj 369 0 obj << /S /GoTo /D (section.19) >> endobj 372 0 obj (Old font commands) endobj 373 0 obj << /S /GoTo /D (section.20) >> endobj 376 0 obj (English-Language Texts) endobj 377 0 obj << /S /GoTo /D (section.21) >> endobj 380 0 obj (Legacy Commands) endobj 381 0 obj << /S /GoTo /D (section.22) >> endobj 384 0 obj (Endgame for the Document Class) endobj 385 0 obj << /S /GoTo /D (subsection.22.1) >> endobj 388 0 obj (Job Macro Package) endobj 389 0 obj << /S /GoTo /D (subsection.22.2) >> endobj 392 0 obj (`secnumarabic@sw) endobj 393 0 obj << /S /GoTo /D (subsection.22.3) >> endobj 396 0 obj (Hook for default values of Booleans) endobj 397 0 obj << /S /GoTo /D (section.23) >> endobj 400 0 obj (Symbols: the revsymb module) endobj 401 0 obj << /S /GoTo /D (section.24) >> endobj 404 0 obj (The 10pt class option: the 10pt module) endobj 405 0 obj << /S /GoTo /D (section.25) >> endobj 408 0 obj (The 11pt class option: the 11pt module) endobj 409 0 obj << /S /GoTo /D (section.26) >> endobj 412 0 obj (The 12pt class option: the 12pt module) endobj 413 0 obj << /S /GoTo /D (section.27) >> endobj 416 0 obj (Page parameters) endobj 417 0 obj << /S /GoTo /D (section.28) >> endobj 420 0 obj (The aps class option: the aps module) endobj 421 0 obj << /S /GoTo /D (subsection.28.1) >> endobj 424 0 obj (Defend Against Forseeable Errors) endobj 425 0 obj << /S /GoTo /D (subsection.28.2) >> endobj 428 0 obj (Abbreviations) endobj 429 0 obj << /S /GoTo /D (subsection.28.3) >> endobj 432 0 obj (APS Setup) endobj 433 0 obj << /S /GoTo /D (subsubsection.28.3.1) >> endobj 436 0 obj (Title block) endobj 437 0 obj << /S /GoTo /D (subsubsection.28.3.2) >> endobj 440 0 obj (Stacked Heads) endobj 441 0 obj << /S /GoTo /D (subsubsection.28.3.3) >> endobj 444 0 obj (Runin Heads) endobj 445 0 obj << /S /GoTo /D (subsubsection.28.3.4) >> endobj 448 0 obj (Table of Contents) endobj 449 0 obj << /S /GoTo /D (subsubsection.28.3.5) >> endobj 452 0 obj (Default column bottom) endobj 453 0 obj << /S /GoTo /D (subsubsection.28.3.6) >> endobj 456 0 obj (Table alignment style) endobj 457 0 obj << /S /GoTo /D (subsubsection.28.3.7) >> endobj 460 0 obj (Footnote formatting) endobj 461 0 obj << /S /GoTo /D (subsubsection.28.3.8) >> endobj 464 0 obj (Appendix) endobj 465 0 obj << /S /GoTo /D (subsubsection.28.3.9) >> endobj 468 0 obj (Bibliography) endobj 469 0 obj << /S /GoTo /D (subsubsection.28.3.10) >> endobj 472 0 obj (Index) endobj 473 0 obj << /S /GoTo /D (subsection.28.4) >> endobj 476 0 obj (Journal-Specific Code) endobj 477 0 obj << /S /GoTo /D (subsubsection.28.4.1) >> endobj 480 0 obj (pra) endobj 481 0 obj << /S /GoTo /D (subsubsection.28.4.2) >> endobj 484 0 obj (prb) endobj 485 0 obj << /S /GoTo /D (subsubsection.28.4.3) >> endobj 488 0 obj (prc) endobj 489 0 obj << /S /GoTo /D (subsubsection.28.4.4) >> endobj 492 0 obj (prd) endobj 493 0 obj << /S /GoTo /D (subsubsection.28.4.5) >> endobj 496 0 obj (pre) endobj 497 0 obj << /S /GoTo /D (subsubsection.28.4.6) >> endobj 500 0 obj (prl) endobj 501 0 obj << /S /GoTo /D (subsubsection.28.4.7) >> endobj 504 0 obj (prstab) endobj 505 0 obj << /S /GoTo /D (subsubsection.28.4.8) >> endobj 508 0 obj (rmp) endobj 509 0 obj << /S /GoTo /D (subsection.28.5) >> endobj 512 0 obj (Establish APS Defaults) endobj 513 0 obj << /S /GoTo /D (section.29) >> endobj 516 0 obj (The rmp journal substyle: the rmp module) endobj 517 0 obj << /S /GoTo /D (subsection.29.1) >> endobj 520 0 obj (Frontmatter) endobj 521 0 obj << /S /GoTo /D (section.30) >> endobj 524 0 obj (:) endobj 525 0 obj << /S /GoTo /D (subsection.30.1) >> endobj 528 0 obj (General Text) endobj 529 0 obj << /S /GoTo /D (subsection.30.2) >> endobj 532 0 obj (Sectioning) endobj 533 0 obj << /S /GoTo /D (subsection.30.3) >> endobj 536 0 obj (Figure and Table Caption Formatting) endobj 537 0 obj << /S /GoTo /D (subsection.30.4) >> endobj 540 0 obj (Citations and Bibliography) endobj 541 0 obj << /S /GoTo /D (subsection.30.5) >> endobj 544 0 obj (Table of Contents) endobj 545 0 obj << /S /GoTo /D (section*.2) >> endobj 548 0 obj (Index) endobj 549 0 obj << /S /GoTo /D [550 0 R /Fit ] >> endobj 552 0 obj << /Length 1884 /Filter /FlateDecode >> stream xZYsD~Mo{d8jUlOaeHrs%mBKj5_=ߌD>)cdO=?[_H2a!8[nH()6Mb7/ǽ7'Qxnb.#Ii/j'NM2. <YUfqk*4^,la! #J!:t2U&y|ഘ:[_<�[<85F􋲞s)1 ؃kd S q b<<Y #B0Q$!!d`8G؜e&Řa}gбV#&4 nLŐ &*^Vnʭ{VO5qiv Cr Eqp# wWd1gEB"JZas;b1&zp\J0u $1:4bt0sU]ɐ:_]. 4OQVH|0Hx iATgi}$v@n4GG$we gL HtP İ ]cADka<qlp؞*6U6}C`g>SJ#r"Q5`)[dAH9!E2;bPh+C*:C 0j Gc<xWytl޾CCvχi8&J ҽoNk$ VMI g/08๸suGY|)uOP �Ot6~/`e*ըZ٩;K?@]ј%7U{nRBY0n z=c ثP@1m b+PCmtkUX[%==0"onFJf[MV u{\,VYM\TpObja9 Hh> [ch4 ?Íy3sD�nO6erl2[%6b>BpQs/Yz1'e4y ~3",Pld#twgߪjC(5lfhm7uZmijY6 |6os$^woV'4$ 7t 'ZʄfG:¶ (Xu! K7l%ęIG:PDN߻EE6 UCI͇>JO·i#?yh老mi}ղ_0F'W&8-a Nyd yv7u24ƞ5 /tͬee@ՎM#ب' 據E(,ϖS{aז5�n0BpE^,9/ݬ\.% <Q@DVrزj[^i{ddB-P>ʴ1L@NOMT' Jp�$[ܟ բăVւDW?T'3}`ٽn�7%HG�>5Y&ˢuR*pAg>Qd ƯEQMňk٥(^oٙbnږ 5nSCFt5HJH!Yj`f뺨[Սc>{B\# ͛S@Pf C?z303 xN%N{mevu$l폁}6¿?Kĸa+7NK}7I_g; _ee(9&`Mg?T\~7PF|mf �UԠendstream endobj 550 0 obj << /Type /Page /Contents 552 0 R /Resources 551 0 R /MediaBox [0 0 595.276 841.89] /Parent 590 0 R /Annots [ 561 0 R 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R ] >> endobj 561 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [309.609 526.255 496.907 537.198] /Subtype /Link /A << /Type /Action /S /URI /URI (http://publish.aps.org/revtex4/) >> >> endobj 565 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 458.27 226.124 469.423] /Subtype /Link /A << /S /GoTo /D (section.1) >> >> endobj 566 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 438.464 201.414 447.505] /Subtype /Link /A << /S /GoTo /D (section.2) >> >> endobj 567 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 416.591 229.857 425.587] /Subtype /Link /A << /S /GoTo /D (section.3) >> >> endobj 568 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 392.516 358.516 403.669] /Subtype /Link /A << /S /GoTo /D (section.4) >> >> endobj 569 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 372.71 293 381.751] /Subtype /Link /A << /S /GoTo /D (section.5) >> >> endobj 572 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 358.783 286.255 369.726] /Subtype /Link /A << /S /GoTo /D (subsection.5.1) >> >> endobj 573 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 336.725 291.551 347.878] /Subtype /Link /A << /S /GoTo /D (section.6) >> >> endobj 574 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 315.077 194.44 325.961] /Subtype /Link /A << /S /GoTo /D (section.7) >> >> endobj 575 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 302.992 316.96 313.936] /Subtype /Link /A << /S /GoTo /D (subsection.7.1) >> >> endobj 576 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 291.037 248.597 301.981] /Subtype /Link /A << /S /GoTo /D (subsection.7.2) >> >> endobj 577 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 281.099 321.483 290.025] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.1) >> >> endobj 578 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 267.126 270.535 278.07] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.2) >> >> endobj 579 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 255.171 334.485 266.115] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.3) >> >> endobj 580 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 243.216 424.536 254.16] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.4) >> >> endobj 581 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 231.261 321.474 242.205] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.5) >> >> endobj 582 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 219.306 285.319 230.249] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.6) >> >> endobj 583 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 207.351 254.784 218.294] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.7) >> >> endobj 584 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 197.413 260.562 206.339] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.8) >> >> endobj 585 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 185.378 250.889 194.384] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.9) >> >> endobj 586 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 173.503 254.067 182.429] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.10) >> >> endobj 587 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 161.547 261.698 170.474] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.11) >> >> endobj 588 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 147.575 249.773 158.518] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.12) >> >> endobj 589 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 135.62 269.14 146.563] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.13) >> >> endobj 553 0 obj << /D [550 0 R /XYZ 144.727 740.998 null] >> endobj 554 0 obj << /D [550 0 R /XYZ 144.727 716.092 null] >> endobj 564 0 obj << /D [550 0 R /XYZ 144.727 473.252 null] >> endobj 551 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F78 560 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 593 0 obj << /Length 1929 /Filter /FlateDecode >> stream x[o6)h5K/XaE =(2%UДDRi<X̏!rH8GC12F|[Hׄ p=psƈ@HHK۸;k//Gd$;<>]9=Q"§3Sr;%br:O>da?oO(E\M"nG;3~n??T%fX#  AFPTS'W*Aۻ:(",C`>EAJTB#Cb,v~Rmڿ~Ƙ3wkJ&p?>!dtq iX#Nݱɻ`S[-Z[Y&JSr |ps4RJFFXgM;1t=373}]'ϨI1o"ɃPHZ'U=Ui EE$<*ǎV�WăX:9 K$5?hFxXxSDTlK[7ƄD;�Tl|VP^,u ? yO!k5WzguҴ "x{[Pk8B%B m侒ܞmlf#{jʺ<|g6,WS*\ yYYQ`#+6^bt8.!yɏ;�SWo׏o<v]q3`3to78 %T> ~ 6ЙFݙ9,j[:m ʓBx.!;λM|UWa{\ =^KW6O:X48mZBbG ,~"4XLlWtĈO6"Zej.|@nv{jf4uT'iH۸SR>@ &x>I.gvw(dKe`DKr}:Gy4WMc/u+qOn0Ϟ�U6"UQ}GtkjVa ÷Ξ(&ܰZ^WS'~QuW+P_rkq}+H,;},eaW`8C;th2?,S闡3F$즁~ZJd ]7WbB)HRyHC|*̶糞!%MF1)|iUiorTK^J9q;RuۑR?ҷ>6[Uh=Ud7*g皛SX@(rKuM/a.~hD4r;[#j2dSN9蛒/.,7j{iф‡C%b �bWl#͎v`6%qJ<ON:Ɉy&3!z=VMQb]':xSH)[md\ǘĤ%u$'&F7nAIB@v_hŝ@ Gmc=xz]ݮ'SVʔzI!I@3a)cJs Qmumcf4mC E3^gaҧMf\ a !;-&1m7rn7*ƐXT" 1c" શUmB"M/ +W:F^G!%<}ܝf1E#IK?5"r].z/q7]3[8eoVL7niFv]zq0zOTW +W2Fcقg}~1 6wpi4]Y׬*[7iUm2C5}? 7LU_0#Bl$K1߁Mj(v 1wT'rgJY5<[օB#ߥ9|/䝎4@fT #EF뇆Ajiendstream endobj 592 0 obj << /Type /Page /Contents 593 0 R /Resources 591 0 R /MediaBox [0 0 595.276 841.89] /Parent 590 0 R /Annots [ 595 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 609 0 R 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 626 0 R 627 0 R 628 0 R 629 0 R 630 0 R 631 0 R 632 0 R 633 0 R 634 0 R ] >> endobj 595 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 702.976 306.062 713.92] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.14) >> >> endobj 596 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 691.021 310.714 701.964] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.15) >> >> endobj 597 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 679.065 331.695 690.009] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.16) >> >> endobj 598 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 667.11 261.957 678.054] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.17) >> >> endobj 599 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 655.155 263.601 666.099] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.18) >> >> endobj 600 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 645.138 276.333 654.144] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.19) >> >> endobj 601 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 631.245 255.302 642.189] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.20) >> >> endobj 602 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 621.332 270.236 630.233] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.21) >> >> endobj 603 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 609.352 275.795 618.278] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.22) >> >> endobj 604 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 595.379 296.816 606.323] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.23) >> >> endobj 605 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 583.424 320.627 594.368] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.24) >> >> endobj 606 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 571.469 380.691 582.413] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.25) >> >> endobj 607 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 559.429 297.537 570.458] /Subtype /Link /A << /S /GoTo /D (subsubsection.7.2.26) >> >> endobj 608 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 547.559 331.525 558.502] /Subtype /Link /A << /S /GoTo /D (subsection.7.3) >> >> endobj 609 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 535.603 292.602 546.547] /Subtype /Link /A << /S /GoTo /D (subsection.7.4) >> >> endobj 610 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 523.648 355.664 534.592] /Subtype /Link /A << /S /GoTo /D (subsection.7.5) >> >> endobj 611 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 511.693 243.526 522.637] /Subtype /Link /A << /S /GoTo /D (subsection.7.6) >> >> endobj 612 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 499.738 277.388 510.682] /Subtype /Link /A << /S /GoTo /D (subsection.7.7) >> >> endobj 613 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 487.783 249.564 498.727] /Subtype /Link /A << /S /GoTo /D (subsection.7.8) >> >> endobj 614 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 465.994 318.883 476.879] /Subtype /Link /A << /S /GoTo /D (section.8) >> >> endobj 615 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 444.077 242.022 454.961] /Subtype /Link /A << /S /GoTo /D (section.9) >> >> endobj 616 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 422.159 258.808 433.043] /Subtype /Link /A << /S /GoTo /D (section.10) >> >> endobj 617 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 400.241 308.98 411.125] /Subtype /Link /A << /S /GoTo /D (section.11) >> >> endobj 618 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 380.211 217.195 389.207] /Subtype /Link /A << /S /GoTo /D (section.12) >> >> endobj 619 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 368.281 258.848 377.182] /Subtype /Link /A << /S /GoTo /D (subsection.12.1) >> >> endobj 620 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 355.036 364.721 365.227] /Subtype /Link /A << /S /GoTo /D (subsection.12.2) >> >> endobj 621 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 344.346 368.756 353.272] /Subtype /Link /A << /S /GoTo /D (subsubsection.12.2.1) >> >> endobj 622 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 332.39 315.944 341.317] /Subtype /Link /A << /S /GoTo /D (subsubsection.12.2.2) >> >> endobj 623 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 318.418 362.399 329.362] /Subtype /Link /A << /S /GoTo /D (subsubsection.12.2.3) >> >> endobj 624 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 307.215 419.286 317.406] /Subtype /Link /A << /S /GoTo /D (subsubsection.12.2.4) >> >> endobj 625 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 294.508 281.733 305.451] /Subtype /Link /A << /S /GoTo /D (subsection.12.3) >> >> endobj 626 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 283.912 365.369 293.496] /Subtype /Link /A << /S /GoTo /D (subsection.12.4) >> >> endobj 627 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 270.597 261.05 281.541] /Subtype /Link /A << /S /GoTo /D (subsection.12.5) >> >> endobj 628 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 259.265 297.145 269.586] /Subtype /Link /A << /S /GoTo /D (subsection.12.6) >> >> endobj 629 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 248.704 202.391 257.631] /Subtype /Link /A << /S /GoTo /D (subsection.12.7) >> >> endobj 630 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 236.749 301.838 245.675] /Subtype /Link /A << /S /GoTo /D (subsection.12.8) >> >> endobj 631 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 222.777 285 233.72] /Subtype /Link /A << /S /GoTo /D (subsection.12.9) >> >> endobj 632 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 210.821 416.934 221.765] /Subtype /Link /A << /S /GoTo /D (subsubsection.12.9.1) >> >> endobj 633 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 198.866 405.866 209.81] /Subtype /Link /A << /S /GoTo /D (subsubsection.12.9.2) >> >> endobj 634 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 186.911 319.171 197.855] /Subtype /Link /A << /S /GoTo /D (subsection.12.10) >> >> endobj 594 0 obj << /D [592 0 R /XYZ 144.727 740.998 null] >> endobj 591 0 obj << /Font << /F74 556 0 R /F83 563 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 637 0 obj << /Length 1819 /Filter /FlateDecode >> stream x[KSH+|ֳ~)�TRI^6{0*d%o#�`G:s(1r  Isn85œlX.~~t;LAFNj7# tptt{xBؐ2,ss![vHIH *H+OIf ۷,~ EԎJ??a5K�z9"cߥqDr!0jj: UV-Y?Gػ4IHıv+Dއ45p@o}(Mdh>IG 4`&Wï5$B|RȿmXRD M0-ea x0oY:ěD[hCN> ^׃`*$~`h<RiIVS �}L_afuI젣" 6ArXi6GWn.^A' (1 `q?/sa#`j@X`b‹:x1+b*.Y,K__2\ ^Ud(8HzJѿaCxP0"0ρB-$`-PgB/l- :(f+3%b>2$HM4 ^nzݤ­-gp5P`g?^! /axXF߹HhaO@&Egq4[ºb;7+' fY]YepU9B"<|GG1jvZtu=/,)pvSĆI <̀n[i"Z`W#k `Ț[{>4W1_29Tra%?+i'i^3]»FK,JGqIZI.Sb3xQO<JGq`| ޗ+B9 u[Z i\ saY^pĉsC9ykS~C _,. ;RK-w.]vG۶L+˘))&Qecq]݈ X_֓ \AeoEw u qRvf>rhu j:a 8qBׂm{_q `i4v^a/q*|QV/U;]];b(HA lk4?|HS($Հ8^;jVp^e[]bZިyk% Xq~ Bb\/;Ɗ5.ՙ`Rg Plj잷2[Ι[MNaMRDY˭J*TB{UUs8 _n4 W7D|MVH (\d>(L wz+G6 Z"ʖ1͖0uVSzie ή]o +1RDPνru+blgYpn)᷆,LGA\Fw(S\7oK1MoʐUAxU\ qn`ӰlxW8M0h,!(⢳X_F\U;z~Z2'eQF@14D,WU arQ:΁:1_eIoHTc6GW;yS ןfk㢇q? ZG "XvjF|H ޶ʕ>=#ķ (eX5+`Wendstream endobj 636 0 obj << /Type /Page /Contents 637 0 R /Resources 635 0 R /MediaBox [0 0 595.276 841.89] /Parent 590 0 R /Annots [ 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 671 0 R 672 0 R 673 0 R 674 0 R 675 0 R 676 0 R 677 0 R ] >> endobj 639 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 703.105 182.814 713.989] /Subtype /Link /A << /S /GoTo /D (section.13) >> >> endobj 640 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 693.038 217.335 701.964] /Subtype /Link /A << /S /GoTo /D (subsection.13.1) >> >> endobj 641 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 679.065 247.491 690.009] /Subtype /Link /A << /S /GoTo /D (subsection.13.2) >> >> endobj 642 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 669.128 257.075 678.054] /Subtype /Link /A << /S /GoTo /D (subsection.13.3) >> >> endobj 643 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 655.155 274.081 666.099] /Subtype /Link /A << /S /GoTo /D (subsection.13.4) >> >> endobj 644 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 645.217 342.475 654.144] /Subtype /Link /A << /S /GoTo /D (subsubsection.13.4.1) >> >> endobj 645 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 631.245 362.021 642.189] /Subtype /Link /A << /S /GoTo /D (subsubsection.13.4.2) >> >> endobj 646 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 619.29 263.173 630.233] /Subtype /Link /A << /S /GoTo /D (subsubsection.13.4.3) >> >> endobj 647 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 609.272 274.291 618.278] /Subtype /Link /A << /S /GoTo /D (subsubsection.13.4.4) >> >> endobj 648 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 597.397 267.208 606.323] /Subtype /Link /A << /S /GoTo /D (subsubsection.13.4.5) >> >> endobj 649 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 585.442 204.612 594.368] /Subtype /Link /A << /S /GoTo /D (subsection.13.5) >> >> endobj 650 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 571.469 303.979 582.413] /Subtype /Link /A << /S /GoTo /D (subsection.13.6) >> >> endobj 651 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 561.531 243.366 570.458] /Subtype /Link /A << /S /GoTo /D (subsection.13.7) >> >> endobj 652 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 547.559 213.469 558.502] /Subtype /Link /A << /S /GoTo /D (subsection.13.8) >> >> endobj 653 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 535.603 319.391 546.547] /Subtype /Link /A << /S /GoTo /D (subsubsection.13.8.1) >> >> endobj 654 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 525.586 209.345 534.592] /Subtype /Link /A << /S /GoTo /D (subsection.13.9) >> >> endobj 655 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 511.693 313.414 522.637] /Subtype /Link /A << /S /GoTo /D (subsubsection.13.9.1) >> >> endobj 656 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 491.793 194.431 500.789] /Subtype /Link /A << /S /GoTo /D (section.14) >> >> endobj 657 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 469.875 218.988 478.871] /Subtype /Link /A << /S /GoTo /D (section.15) >> >> endobj 658 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 455.902 318.494 466.846] /Subtype /Link /A << /S /GoTo /D (subsection.15.1) >> >> endobj 659 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 443.947 267.995 454.891] /Subtype /Link /A << /S /GoTo /D (subsubsection.15.1.1) >> >> endobj 660 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 433.352 362.132 442.936] /Subtype /Link /A << /S /GoTo /D (subsubsection.15.1.2) >> >> endobj 661 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 410.204 211.875 421.088] /Subtype /Link /A << /S /GoTo /D (section.16) >> >> endobj 662 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 388.899 214.466 399.17] /Subtype /Link /A << /S /GoTo /D (section.17) >> >> endobj 663 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 366.368 260.582 377.252] /Subtype /Link /A << /S /GoTo /D (section.18) >> >> endobj 664 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 354.283 277.837 365.227] /Subtype /Link /A << /S /GoTo /D (subsection.18.1) >> >> endobj 665 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 342.328 304.776 353.272] /Subtype /Link /A << /S /GoTo /D (subsection.18.2) >> >> endobj 666 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 330.373 303.691 341.317] /Subtype /Link /A << /S /GoTo /D (subsection.18.3) >> >> endobj 667 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 310.428 244.552 319.469] /Subtype /Link /A << /S /GoTo /D (section.19) >> >> endobj 668 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 286.667 262.993 297.551] /Subtype /Link /A << /S /GoTo /D (section.20) >> >> endobj 669 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 264.749 242.301 275.633] /Subtype /Link /A << /S /GoTo /D (section.21) >> >> endobj 670 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 242.831 303.202 253.715] /Subtype /Link /A << /S /GoTo /D (section.22) >> >> endobj 671 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 230.747 261.449 241.69] /Subtype /Link /A << /S /GoTo /D (subsection.22.1) >> >> endobj 672 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 220.151 279.223 229.735] /Subtype /Link /A << /S /GoTo /D (subsection.22.2) >> >> endobj 673 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 208.854 327.939 217.78] /Subtype /Link /A << /S /GoTo /D (subsection.22.3) >> >> endobj 674 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 185.048 294.714 195.932] /Subtype /Link /A << /S /GoTo /D (section.23) >> >> endobj 675 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 163.13 335.839 174.014] /Subtype /Link /A << /S /GoTo /D (section.24) >> >> endobj 676 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 141.212 335.839 152.096] /Subtype /Link /A << /S /GoTo /D (section.25) >> >> endobj 677 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 119.295 335.839 130.179] /Subtype /Link /A << /S /GoTo /D (section.26) >> >> endobj 638 0 obj << /D [636 0 R /XYZ 144.727 740.998 null] >> endobj 635 0 obj << /Font << /F83 563 0 R /F74 556 0 R /F75 558 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 680 0 obj << /Length 1690 /Filter /FlateDecode >> stream x[oH_#<}KۤwNz: lfYBZV~ofvfv0)zcdM7G.HICRqz:dii<{JwG\k3Hݭ T"ʣ-l3zq5L%F4/ (apFDŽ3A 2D?u oato@$DiI-%0#NyI1I [q ph[@ЬgUbNFDf))zCi'"Q`[{gөgl Q. ~/ƉnWyE F6-y|78Iw܊{j3#0^ǹPGNk) ,$P |=NQXh^ComZ/@JT0Ĥ|Q" ̎]> w"c/O�kNHS|djΑQy)Q̿� >xH3"85[n0R؄[c 5vp@eԛU2'u U0QD*iU^b Ը2ٝ|M)*UqD(;7l#>+kWqh'2 dj^8+l^[>{n-XHmezFI<K砘e!N' Os*ZC Z$Wy0}""+Ҭ(yTq:H։PlY%Gr4\ W"*`WBQ VؾIhq?/5e @sq$P + +-Zgzk*+2'&VX3Gcm3g<N1*ڦhL/j.J^ IIȣ%qpBgЕDB\$L` ;(N]A!vBpB  ܅@$'E,JUxX)ѐӶ^</:oYiY>WNxy_VVEe;7kl"d]�>X[,]#fe()oNWcE#fNqh]]h\sj2tʐ'OSM_YZHGxM]3%kQ~US#*CYp'*S|edw6y}S4nnkjBNXOV�v�#\ J%̺@m;7ѰVa/* B7Ѻi#J:tӷхA].CTP7oyb@Q&P&lLzH6O X6l8 &]X)yߨ7ʙu�  m)Dt#upO9 \t}-c7W=䮛1WRJYfv uRp= 43ґ6߯C:nrDQir[lt*vc]j$>XKMo($WfMq ۚ|MV68~ۥMUGҺ&_# $*ZTxxma!-W뺬%D} ;_$JiZ~0'zJT[8P=V &0]y}DrVwTxendstream endobj 679 0 obj << /Type /Page /Contents 680 0 R /Resources 678 0 R /MediaBox [0 0 595.276 841.89] /Parent 590 0 R /Annots [ 682 0 R 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R 708 0 R 709 0 R 710 0 R 711 0 R 712 0 R 713 0 R 714 0 R 715 0 R ] >> endobj 682 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 703.105 232.219 713.989] /Subtype /Link /A << /S /GoTo /D (section.27) >> >> endobj 683 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 681.187 323.884 692.072] /Subtype /Link /A << /S /GoTo /D (section.28) >> >> endobj 684 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 669.103 319.222 680.047] /Subtype /Link /A << /S /GoTo /D (subsection.28.1) >> >> endobj 685 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 659.085 239.78 668.091] /Subtype /Link /A << /S /GoTo /D (subsection.28.2) >> >> endobj 686 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 645.192 227.038 656.136] /Subtype /Link /A << /S /GoTo /D (subsection.28.3) >> >> endobj 687 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 635.175 258.56 644.181] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.3.1) >> >> endobj 688 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 623.3 274.291 632.226] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.3.2) >> >> endobj 689 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 611.344 267.208 620.271] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.3.3) >> >> endobj 690 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 599.389 286.057 608.316] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.3.4) >> >> endobj 691 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 587.434 308.343 596.36] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.3.5) >> >> endobj 692 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 573.461 301 584.405] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.3.6) >> >> endobj 693 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 561.506 295.292 572.45] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.3.7) >> >> endobj 694 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 549.551 254.754 560.495] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.3.8) >> >> endobj 695 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 537.596 267.995 548.54] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.3.9) >> >> endobj 696 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 527.578 237.997 536.585] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.3.10) >> >> endobj 697 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 513.686 271.85 524.629] /Subtype /Link /A << /S /GoTo /D (subsection.28.4) >> >> endobj 698 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 502.353 233.395 512.674] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.4.1) >> >> endobj 699 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 490.398 233.395 500.719] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.4.2) >> >> endobj 700 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 478.443 233.395 488.764] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.4.3) >> >> endobj 701 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 466.488 233.395 476.809] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.4.4) >> >> endobj 702 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 454.532 233.395 464.854] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.4.5) >> >> endobj 703 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 442.577 233.395 452.898] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.4.6) >> >> endobj 704 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 430.622 251.328 440.943] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.4.7) >> >> endobj 705 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [181.589 418.667 233.395 428.988] /Subtype /Link /A << /S /GoTo /D (subsubsection.28.4.8) >> >> endobj 706 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 408.107 277.02 417.033] /Subtype /Link /A << /S /GoTo /D (subsection.28.5) >> >> endobj 707 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 384.301 342.554 395.185] /Subtype /Link /A << /S /GoTo /D (section.29) >> >> endobj 708 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 374.154 230.624 383.16] /Subtype /Link /A << /S /GoTo /D (subsection.29.1) >> >> endobj 709 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 352.316 163.985 361.312] /Subtype /Link /A << /S /GoTo /D (section.30) >> >> endobj 710 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 340.361 235.018 349.287] /Subtype /Link /A << /S /GoTo /D (subsection.30.1) >> >> endobj 711 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 326.388 226.201 337.332] /Subtype /Link /A << /S /GoTo /D (subsection.30.2) >> >> endobj 712 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 314.433 331.515 325.377] /Subtype /Link /A << /S /GoTo /D (subsection.30.3) >> >> endobj 713 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 302.478 291.466 313.421] /Subtype /Link /A << /S /GoTo /D (subsection.30.4) >> >> endobj 714 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [158.675 292.54 254.176 301.466] /Subtype /Link /A << /S /GoTo /D (subsection.30.5) >> >> endobj 715 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [143.731 270.622 170.082 279.618] /Subtype /Link /A << /S /GoTo /D (section*.2) >> >> endobj 681 0 obj << /D [679 0 R /XYZ 144.727 740.998 null] >> endobj 6 0 obj << /D [679 0 R /XYZ 144.727 255.927 null] >> endobj 678 0 obj << /Font << /F83 563 0 R /F85 571 0 R /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 718 0 obj << /Length 2619 /Filter /FlateDecode >> stream xn}Bo�}I˞dL2q vZ3)TuuI[Lb꺫h/R,"V!Kd_[+@d$g6W~w%Kt0߼u"7J/nfK +an4{W7?},ՒX {v0 (#{L(n:b\}\IEK ipNd,YJz)-%"YFw͒IQdAr 1@š by7UG|eֶW0Nzo" w-V'2H2 дޒhkd۞1<,t^d%#шK3q҈ӳ�Y03E5KC4]3ϐR9(+i2K*䌖LeE\4 Y15-ͲC V8:~g+, K 4dՒ6igzʫHT{fm{ܯg頮qOylvlp}wƳ{ WY.f8#Ϸ[~à7^o jȳ<R2h Gzp7'u8۫ƴ-%f+j! 첖kc .Eg h ᅰx#xUBYLόZk8O `sÙB"T2N15ԕLЛ� �4"L݌#"2ϵq3}t5=n^`"}|t`;?FiZnvG.p( V<L!Rs-#GreLH�]ZF`j%Obg)#goL݉MvL^oʺ\*$v:({ōg}*(�r$ʥX&k� k]T�Ff}֎b"TOl>WĆTn0ۘT^ P,Ku9#%뼣V7X{L;dD7z;ۺ6kB%.G)T'/J m{T�f=M m-.+;7^c(g�fu4\;輮bc0�cs諢`4[PJnECH .!8#{p-t@-bՀ/7unHx ɕ{mfc {Da|:'X wl�u@bA쓫<9-aX7jmnc J)m 'V] Q˾-FLά'h0g<e[*&֌n'xCw~D! fŌ[Pw:/LW` 9Zol\~*E#>@+/Gp[%oh?o JWh=gf[KEkЏ@v j"ݾ5gƛbNcb2o|<3(fymG:uv n77f8їy(mYǧYwXjti !;B.J 3~_RVb%{?qaQe2"eQ"/䐯\XsD8eIzPF2ze*$҆B4}[I;#Bބ./k(tfuPJam7T 5k<$"0\s ƒo1T?)?RP8&X'J6rhW`qי{L9x)]I:)�UV(j*E'$~=ir txUeyȜ7u`eU$1_Dx:<u|2J[|]WQ_*d< wŞzo F\07-gqLb{!|koim7> 1җSs,/{.^֎HaƠ~xAD,_n"1ueKY{4?Y0 ;÷?g$Åj>~.|D|5-sqLɫK%mAt- R\/6(}K0k}YW!>!5y&[g4bZ/Л2X{oxq'UI6G}ghX (_`;-8I7#grYJ-jڴQ-K\4šbĒ8 E\/0Ea<qq^-PW[N51:kxe<oRi?CuϰsvBX,5V%>_K[^QOL^p!N,~]ˢ7ipzRMUYKmhAws: VcծjSaAqt}V:)O+D�T,Iڋs_NS<jZl QiZZ5Bَ~A ?]n]ؚ'#!@+twNN] I uhޡ@{]zX>⌾%%TzO>"44sp{ !ݱdKH鉓{.GX)9/<ň/*S0&J#~ endstream endobj 717 0 obj << /Type /Page /Contents 718 0 R /Resources 716 0 R /MediaBox [0 0 595.276 841.89] /Parent 590 0 R >> endobj 719 0 obj << /D [717 0 R /XYZ 144.727 740.998 null] >> endobj 10 0 obj << /D [717 0 R /XYZ 144.727 716.092 null] >> endobj 720 0 obj << /D [717 0 R /XYZ 144.727 357.302 null] >> endobj 721 0 obj << /D [717 0 R /XYZ 144.727 336.017 null] >> endobj 722 0 obj << /D [717 0 R /XYZ 144.727 316.092 null] >> endobj 723 0 obj << /D [717 0 R /XYZ 144.727 296.167 null] >> endobj 724 0 obj << /D [717 0 R /XYZ 144.727 276.241 null] >> endobj 725 0 obj << /D [717 0 R /XYZ 144.727 256.316 null] >> endobj 726 0 obj << /D [717 0 R /XYZ 144.727 222.443 null] >> endobj 727 0 obj << /D [717 0 R /XYZ 144.727 206.503 null] >> endobj 728 0 obj << /D [717 0 R /XYZ 144.727 190.563 null] >> endobj 729 0 obj << /D [717 0 R /XYZ 144.727 162.667 null] >> endobj 716 0 obj << /Font << /F83 563 0 R /F74 556 0 R /F78 560 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 732 0 obj << /Length 2370 /Filter /FlateDecode >> stream xXo_ Z.E4A#4@R{Î \i6P,9͛ƃ?~Ã~|K&+x7[XnYD(X0X\ՅXS<gAhzYm *,fj,fAO4lj;Yپ3jqϺj7Svqh,4D.d]v(+qB{W.w*SIļTXNvtl0촅, 4 cBf/H"{mu5,bXSy`x>1BC HյDAt]tf;@P9-of 0D {z4a\G=8^|95~Q]`<j3`F}Eo k@y_נ٪%c:~3uX[X1JiaOv/j_W-ƍo4$S&sp { .f2wv dFS@kF`H" ^Xg {q/k/z'8d_Bԯʪ<wcsF]~k3١ fC30$RV%T{g7*F6\zOK c*TvZJ^W{UQ'oݽᾇ`h8�"aa&W4-zKTx,TU|_] _|UR)KVI]u-XؾzYSI̪ʟXxP<a1mjaOr؂|tzs39_;p(++٭ܛEMXx؆C@1IC?q9~z~A`y0M O  >'K/)LS)mw~&^>64(E6Ȋ>q7@2KͰDf43d=f00%anAuߩo'ڰšdPN%?u~! ;MLʰhTtv;~4M umǀUj` s9م-!ڮs\Z!`b\Gw@:yL', Lb{ COTa9u`΁= JW6%w ߟ €f$hK`~Lk�El[�Cb^&*)7MGxq;O8?B*4s3tpZ ~;:HZMV& bFwK-]#qoxmNvaaz0Y101KNr lVƂ3,!Q/kn[t5W7uy#ɝO�iOFy8*mPJǤrC b"OS ?x kS,hY9@*)�τ^26ߺq=I|?9 &IEr\;[hurUDda:jm_�G[B-CcJJ?X z&dEISt%fnR,2kj" aUl >@m E녵T;`8b|$�HlAăO"1PP!v,;sSn˱l"v<W�:jв[IKsY,*2}11@78050weNT[䔐`Vl'+ݖ64,L'菂vTEA}Yъ= V` 44 ,@mƼ㷺ԝ4h@ D<tR}5<#QpO(_� C~b|~ijawt=E[(=�lsFCG*jTb}{)<O+&+v:M4aG|zfl54!La^!E1T0A�Io|F#7A:?f^58O[̎cy/uaBC3;T%Hoˬ-DMjibwķo˾B|y1XFD+PC*c㾰[4$-x”[ ق ^Hx+ˮU LPrȬ{ʳ|ƮUrwsG6ZZۻ%B<NEF0;ۧjS_#cj xssK>"!( a;GK8љ=0+hδsG:e~]ve7.K[/~ }Cpz6#~YtkL?\ߴendstream endobj 731 0 obj << /Type /Page /Contents 732 0 R /Resources 730 0 R /MediaBox [0 0 595.276 841.89] /Parent 590 0 R >> endobj 733 0 obj << /D [731 0 R /XYZ 144.727 740.998 null] >> endobj 734 0 obj << /D [731 0 R /XYZ 144.727 716.092 null] >> endobj 735 0 obj << /D [731 0 R /XYZ 144.727 668.127 null] >> endobj 736 0 obj << /D [731 0 R /XYZ 144.727 648.208 null] >> endobj 737 0 obj << /D [731 0 R /XYZ 144.727 616.333 null] >> endobj 738 0 obj << /D [731 0 R /XYZ 144.727 596.414 null] >> endobj 739 0 obj << /D [731 0 R /XYZ 144.727 576.494 null] >> endobj 740 0 obj << /D [731 0 R /XYZ 144.727 556.575 null] >> endobj 741 0 obj << /D [731 0 R /XYZ 144.727 518.108 null] >> endobj 742 0 obj << /D [731 0 R /XYZ 144.727 496.828 null] >> endobj 743 0 obj << /D [731 0 R /XYZ 144.727 476.909 null] >> endobj 744 0 obj << /D [731 0 R /XYZ 144.727 456.99 null] >> endobj 14 0 obj << /D [731 0 R /XYZ 144.727 425.364 null] >> endobj 730 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 747 0 obj << /Length 2082 /Filter /FlateDecode >> stream xڥYmo6"_5Emn.p{%C7 ;!m% EVp83>?q%e2bΊ"*o~~#<JK*,Kch,O o )+ۅc 9`,Y8Ld~|f͗|˺~Ӝ�$+d1#b_ug<<V"R?h" vHLc6]?[àfiQ۶2=),vu9PoweȴRDmk+k34K˞1#{x?nGjǁtl._SQ7yEZKxs-qѲr"/PiMoHev&R,R{J}=nD{—5i"չHQ8;Oi#6IFn^ _F[;p>]兌t%Su5P7 ; -}e_W{mKWi˦j'mtr2;,^Hy,ƳG@,OgyI1LW,*|3hvxy BLP-^:ZNP-_:yPa٦>O�_e;=+wO?/֭r+SqJ+,2vVqC "8X2*;DnvczQ��i-U!r Xո:B9y* d,ԏEUc,%)9V30V4hx-h`o!\0ȋő5�:P?a=%oUҐ@MTۭL& ,T cxm2k/oN@7ν|.@ j,8x•H2Y^4Yz" LlT>:jH~\`~gB!3 eTB78%$J'-VH;؅yGcn{:Oq41Kn3ڵ%%i”H&DQwȹJ&;Z&~kR$[y+2V(9pi98vI |C}3K8za]k'ǐu"R 873"d</bkk\2X(x'�(P_S7Ǟ?O>$h.uel8gK6}v*2ڭ6�k2 i#vm4;"UBkGI}mId3!#\Bb�Isd;x3=>԰Νq~"H~�!i(l5_ $ KcxYW oO<�m[P {k+'ۀ +W.)i #(x`>�Vo5Kc܎D"= yR(@kCMߕڂ{^$wM̀Yv Y`߽|k D 2KK|&9$8^Pn8בfԥ77i f7)c3r8QNLrb/Pr%¾{̅%]�`.zpe 0kKua4{7 ml]ڭ)5;w4<jp}%~| g@qM⣩g*PД|Baq\a&�H.腕^O*z?C"֋Lj\WN|}/<pڼx|GBFK~ˋ?wGXC9 Py?p0elFf)\@0 Nc*Զjح [k: R@kk%[.{bRDń<sU<[|\,8ue$\|&(8/" F s*@ VpI_:\#/n@߾q#m9vands@7<|d)hv> ?.B Y?\endstream endobj 746 0 obj << /Type /Page /Contents 747 0 R /Resources 745 0 R /MediaBox [0 0 595.276 841.89] /Parent 753 0 R >> endobj 748 0 obj << /D [746 0 R /XYZ 144.727 740.998 null] >> endobj 18 0 obj << /D [746 0 R /XYZ 144.727 404.789 null] >> endobj 745 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F102 750 0 R /F104 752 0 R >> /ProcSet [ /PDF /Text ] >> endobj 756 0 obj << /Length 2088 /Filter /FlateDecode >> stream xڭXo6޿"@QfJoE.inf ^EDZ$ѓA}w<Jc-vA,"wx؋eie+l~~?Y8N%Qc~z|L| :WQ8puGWK9v wF)s=n6VM` |vԥ֕xmK3 &B0 ֊Ԏ FFpb[oɪD؉įr9LJ<E%2+Mד�߸FM`3knעeCFC Y"T+ʇiBbE#_ӫ纶 >z_1򾅷B{.2ҾgJV甝Sjj�cEEL֭i9:cS ~>׸zu8www,ӢF0s"lYJYpN>8עNZLoK]YF/NP+hKGG$z)"w==/mS6],:m_yf{Y.+Ul}͉&GL 4]R(1y~vxaVH\y"3nBU+uQ0c֌y2Rlۢ^ l|$/ yGc)^F]hH"@r,GP=QfQZU#eZjq5dͺF Xbx! r4;Pr#5Z3X5 -E7Q95䘇MaA7pbqaOɨu ,w%K[VSaP^6,WOr (BR Uhq vےcF`2@*ݳ;bہS'4jk36 N?@s;m08%MS ?&ۡJ裱%+O_AOvUd OzOΩ&>:�# 6 tR.z} Sܔg)p\GUr@mvЕA8[V|1,l'u @!Nx(? !,~ť=j6*_g8UBpσdKKijчF!Ү,@݈Շtǿp>c~K<+3zsֵ~ɮ9ydn2--S ϝ51 1)pxv %<<M A/~`E"d>M&y l|L>ѻ9b*Mo+tuSD/YvfCt4ށSH#E򑬣NM%&Igq=B)E4oRj|\J�F@R p8tZMO/ATmȠSKOVC>Gi]#Dwj6+5Ti%/ѵFQ}Vwרy}dLN Tq<|3� BcA_^#3O<Dic ݰ87,;;@ R-~0Z뎣Ace܁ES4zf+=C#ni8DDJvEcbz i1z�r=szI?>l#C@�9mC6e-:B`!^}h (摅47?wEn8Y.j�":@ިh)04(MQSb0Aj&/4W;%'[fB)!,݅/H7RLXtk6iLb8KA\Ѯ ͉n2798bt<mYOrooUѶV@Hn٘s N�:T$3u Xx7pIpδ͗(<\f0yOp@pn]FԼ-UZ`D) !&|Q=tׂtrv A(|&O%8ep?v~endstream endobj 755 0 obj << /Type /Page /Contents 756 0 R /Resources 754 0 R /MediaBox [0 0 595.276 841.89] /Parent 753 0 R /Annots [ 758 0 R 759 0 R 760 0 R 761 0 R ] >> endobj 758 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [386.11 373.985 499.397 384.929] /Subtype /Link /A << /Type /Action /S /URI /URI (ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxkrnext/) >> >> endobj 759 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [143.731 362.418 486.446 372.973] /Subtype /Link /A << /Type /Action /S /URI /URI (ftp://ftp.teleport.com/users/ogawa/macros/latex/contrib/supported/ltxkrnext/) >> >> endobj 760 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [336.01 171.357 499.397 182.301] /Subtype /Link /A << /Type /Action /S /URI /URI (CTAN:/macros/latex/contrib/supported/carlisle/textcase.dtx) >> >> endobj 761 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [143.731 159.402 331.029 170.346] /Subtype /Link /A << /Type /Action /S /URI /URI (CTAN:/macros/latex/contrib/supported/carlisle/textcase.dtx) >> >> endobj 757 0 obj << /D [755 0 R /XYZ 144.727 740.998 null] >> endobj 22 0 obj << /D [755 0 R /XYZ 144.727 716.092 null] >> endobj 26 0 obj << /D [755 0 R /XYZ 144.727 566.522 null] >> endobj 30 0 obj << /D [755 0 R /XYZ 144.727 416.62 null] >> endobj 754 0 obj << /Font << /F83 563 0 R /F85 571 0 R /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 764 0 obj << /Length 1787 /Filter /FlateDecode >> stream xko6{~ <ԜHY Cf6t]1@uȢ+M }G%K86 BxY<i2YlN ~>Dq�#3sXDA|$dORL}γ㉗f <Jwu6BлT(2~UղS$Jf^ H%Bڝ3)/ { f4 iJIV-oB vG'2V,JBd?re%-dUk2bC£'[%b;Wko!NjlVN؛uX;1鏾n4 Rл_Ng(W>`(؉^Y76O(T8IQ7΀Y`\z ny CK%o̺8fyzjчkiąSՀ 4i{PeTdyS٣*G$ Q,N 5ƍ.;{<IA1H\y.MjT U!j (A39[N!&CfvMtf>. Q׳m!]c0] oee@\y!ὐuV窬-AÙRE+<`dhD,n !v sdQ_6ʀ2VŪ;iƄfIƐU1(!oNf}3 ':1:?(,beu󃣝Kamk~&F x YfQℇp01{y!&06 < _m7柷p6eNDŽ)pjF sACF'<ub\iqUe>m#cbOi5pH3mdi�C]ߟedI˫jv3=OtZShN)s[azIqmR8q\ T0"QUJF|_l>}O rWSㅛ 7Pij9ʲdV)ୀ) qKyjZS3σ 6M^8@]LN??oTt废t*?Ny8D4Nv殄wÏȜA9<ϗҠo v0*XڍtM6#rx,Yё d /BmQp]gH'BXǕʄ<zc+bA]qjt5PwR4/]_(UHQ|_77v4!Қ -#teb�r;|AY[#slSa(GPU^]aqWo#Ea-aA8#- ʚǨw!bW;rD,n|9AGDt{cOk?R8Q>EF@ᯛ^cJ l . Ņ~PV5?y':Gl<CclZNmO2 kyrW 7.2JZ}Wh<ޱbTh}73.,l�~D-x!B٢oY:y&a$Y̾rMp %(iN|F>Qc{'L)7eP/6< 망򦪔KQS]Dd`h?c4ƚ?R8KOϸendstream endobj 763 0 obj << /Type /Page /Contents 764 0 R /Resources 762 0 R /MediaBox [0 0 595.276 841.89] /Parent 753 0 R >> endobj 765 0 obj << /D [763 0 R /XYZ 144.727 740.998 null] >> endobj 34 0 obj << /D [763 0 R /XYZ 144.727 265.043 null] >> endobj 38 0 obj << /D [763 0 R /XYZ 144.727 234.866 null] >> endobj 762 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 768 0 obj << /Length 1863 /Filter /FlateDecode >> stream xڽYKo6W ,)d Cn-;Bec  I)E;7X`M13~qa ؂EQZzE;)\p"UmH!X᜷uƒPA\IELs;xΓΊ+q3s#":fC B>ps.W!N1e2<kX -j+;+&t}6T䄆rjS}ZP'œ+G4H KthiLVcDYdۤL*,H/K&]mp̶:mPB7lp`ؐܤ}l`en lam}YI92�w9AN:BN!-m6Y�Q� Cfth]cc,V~/jN"уwx�9r8w ΅+Iu-`yVhK\.v_\fmYiRlNݬ~Ww GRBa8.[YEV8\g ̝cuA1v?pz} HAWٮ<: a) e'AފPb؈ !Xy|.4L ?BT@j2# `W kz~OeWLBW[畼;$ѹ۬_xY<6:PPwR i8],lWdi;Ip1:no4C*h:>td/sFG3ǖ-TJobNyEomY6Yq~; ˳f8cá=1)le :mlGVt"XgJwK<,N$ܩnQ lhH/%wǀQ?<9w/ſTDlgW*=T̓'ޤB}&5訨r_ wvuED ΰ~Cξ`e=Y�i"8Qt [1oy7ZAϨ'a8:z+Yq?>Sȷfyr$g,쇳/+<~=ʸBDgɴ⧭U 7Qm9T5Ԗ"X25Cpn*̊ p9Hը NMIaZ-T,6nruHv)*'TggS<Lv7X?CCcWEhPJ{^!hDXGhnRJoHݒ/qZx0fEhAc.zV M^bAq1_i WB|Pjϰ#ҧlKJ T,մnbl2"Œ_ȀJ�uV+n$gN4LD'D{'CUn5sL<!UR7><4p!X `^mLZ|<lj|,\ݺ""׬#0e `o%>/ݛ7;SD!s 5,OUS_@u7T Ĝ;F`w+䡔Gq1}o/ /(cT~7VC4:=_Û ^<95ή*C҂SÞC9_ ʓ4 !W :;$S()pꨜ9cNuTl1H]Ix{@Cꨔ]թ/m2eM 0*՛tH[`) D1G!cF_~|p[@9SHv\1 36.K,<ZƷ{P|{P\BSFp\>kendstream endobj 767 0 obj << /Type /Page /Contents 768 0 R /Resources 766 0 R /MediaBox [0 0 595.276 841.89] /Parent 753 0 R >> endobj 769 0 obj << /D [767 0 R /XYZ 144.727 740.998 null] >> endobj 766 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 772 0 obj << /Length 2377 /Filter /FlateDecode >> stream xڽY_۸ϧؗZ̊H&鵽(ȾMdKȒ!rdmV$53c~iʴw:1j*DȄ)x"SR e24Tjd]ƌRwkOX+zϓ;4UEWCtǿq`4s*$e&cX㶼_G87e L$K~Y)k16ME٣-ݶ_y#;R̶\ji,p 7'I]qz]sg>fq˙>?f3ų⧌a:QD\q9Zݗ?<QǔqS }2*;U w՗D^ɟ`Ӧ2۲+-\h{bn93 Nϼv >y-D%QX .yոv#2Q"Nm6z ƶ}l~ӵ=oA76Zw8绒^i]%H`K# Ơ3l8lD0\<Uu%w4Ǐq[ۃqQVv9]Es<It=0ƃm\h#$(q/;2aH.oyH�mcNi2 ~7I;\p.S75 u�%Ȩun>o2ׄO]꼫`@]̲wp!B`AҳG+z6pQ°lsfs &t]ڍVuѫj*@p[}YQHx<#I3%=TOUMY Ér-۶.fPz|2 BhߪFpB+w`GCd*4k`h]cNKtԅ $-8O`R5g(e %XX#XFƉ0*dd'g%ǩ/,%a2*+ޢokø]O^QѮ;H #O7K顶^Sqd"}֖+f$yx;&S5\$Ldf 6o6~@|&- ![O<Rmr_F$hїu(AEA="!&�yӼD k6pjYn0{Dž.gDAN6dРdjȤk`R2 >_}X% g2մWAcS^XT!l>6/HxTH'.gXaR9NzMqtiӴ\Ҽ/n;#[!�&;R.OATip'H[!@C$]ek Pp& R'&@Тdؓ #(54#(Bi%}vDEh2_�(F4qMx7s�-ppUMi�;^B <\wSqmnھ*P㆕~EUN|2P?NB0V̪@#·~4\!.¹/<y`ɉ!C 7^>grS5 jy &t\q=RZGy C*8u,Շ)f +hʧj}"صfYl&3*c2sn|E+vVLB֜8WX@xLUO~XRtQk|K!P%:u 2Y\/_\*\E\3bp;bR$va4X_PfC: fQ AiƘ)&9qs `#^\ڵEuGNf$|ڼO!۠`˟2 ƺn_LC#D! Q9g@sDHN{ڔ1`D5#-0BD]�`s! U_/XvC]wک8)뷇EWAտCjۮP z)z+3%(fˤ,d8" & ےbD A*yWP lr@} 3yX{X&F+`M@|IDXA�Brٗ"S{i5`YCY㽝)r^Z&IV)Bܔ19Q.'Sq\۫NL}Sgfcm0c6g F^K8QL|6a0ט3ΣC{BfC{4~D@= jd01|*yki]&agH͐'-]?ѬVmР~W2 wţ`�85oۓxK9ˤ3c<I_Ыendstream endobj 771 0 obj << /Type /Page /Contents 772 0 R /Resources 770 0 R /MediaBox [0 0 595.276 841.89] /Parent 753 0 R >> endobj 773 0 obj << /D [771 0 R /XYZ 144.727 740.998 null] >> endobj 770 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 776 0 obj << /Length 1595 /Filter /FlateDecode >> stream xXYoF~K� 6{ȓԩiШEФLRVTMi-rfvofDȀpBBQG 30PrO3@ 8{pm b2iz}(`0M͙0njI}zv1mty (H=uOj4q0˜Ʌfoh�1<>ېԧlQdhY&+ BVNALUjnwYzN�kUcB$Z  <]ܠј`)" V/{<]f;m-bhP#2-Tej܋=Y*Ss&@1ی ֍GF7B Ej5W\$+@,E_wN YNRtBRDԕ4oewEi̡YYJkuw YA =e1cJڻϛR;}͝plő pɪ3kߌUe%gYJGG'.{$-.�-@Qeomk㇁ 9�>"Npg('v^&kU\sK4ndazUeA.3;q8{8t`N:dKZ6Zζvm,=A rL<cM.>r?X+^*5,F4BX+ ,TH4Tl):>&Ж q,-U5+ؒgׯyzZ߷p0hA\vW9}V,EuBv)s<ffUkpބ=>Tt2,is.}yr�jBo!  {gΞD, G q�C< l\4emuBH<+4R1mŏtK9xx;"' :i=.߽^RAhM2vGy#0bės@C߷e%f%mCeRI1PS*,%"LRePKh$/Q0sK0R;k9B:i[GWN\([UOT�4ьT6 ={$/5ZWxȝZؚ V駦z.Lѣ!m,ʵQaL /nRw\ /Tb y͇H4 w}&E(]uWw[亣ZHWR ǏL.3D f_ɪu{OO3_O-]Mts6Yڑe3 �O }sU(˗-zx#uSWu*}yLsy{\ /Jmˌ>mYK*Ffwk~y50!:c6.#puQroM=9 g@= 4_5BՋ+ImY$hGN?~f„ɝF ?M'؋'0;~E"xY$h;rK?>Tendstream endobj 775 0 obj << /Type /Page /Contents 776 0 R /Resources 774 0 R /MediaBox [0 0 595.276 841.89] /Parent 753 0 R >> endobj 777 0 obj << /D [775 0 R /XYZ 144.727 740.998 null] >> endobj 42 0 obj << /D [775 0 R /XYZ 144.727 530.174 null] >> endobj 46 0 obj << /D [775 0 R /XYZ 144.727 508.055 null] >> endobj 50 0 obj << /D [775 0 R /XYZ 144.727 164.42 null] >> endobj 774 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 780 0 obj << /Length 1265 /Filter /FlateDecode >> stream xڽXKo6W@֬H(n<lR= IUjF{+ځ)Q)>8|#(!( }tn x P>18 H5BDT8XzQ8k F#8V@+3AX֢-e;L^nrA(1&{쌷3Y^e RR*]'kZ육P !�t5|Y݊q9ľi@5h>ŴBJ][Q1ɾ7]Ln,V7^x[ɲ4kFŷPS7,eՍBT\MQ #G1x DP�>Xc{?'$qzw(>=fZ*)S(I1X5.źCyV1v8mӹ�Wȸl:Ý{vxbrcB)3'~ Ȫ 8ť8}x;} ߇;73O_>@@I]hǬxL8KۀDV=پ棴҄I.nſ^ԔEo\PZ0Z-[b:40@łnhlepmغlV0=lչ2F-))ô-(̖ri Us93=ඕuR2YYUmMW02R\ %5[)Mzt@/E840(`Jޘv9 %P#$f`5c I"ל AsGbv1w)bzඵzi>a`5.)AtZU:IZaDNy+ЉÞ( @( {f^, Qq@8 xtf~ [%a::UJWr5]Y]%/R}CӔ:r86^iz@ε(6/;璆oI A+iôTVsu4 yI<Ss�ewrKg`Γ >gYI݀5k$X [HB3U½j[t'yeI8@Ů[РO"{7mDW ]IU럞bTL:Mb`::BNs8&o޾J�@ܺ Q~cwetΟ![W7vݪ4�naZys?5iqzQ'σB>yG)s+&endstream endobj 779 0 obj << /Type /Page /Contents 780 0 R /Resources 778 0 R /MediaBox [0 0 595.276 841.89] /Parent 782 0 R >> endobj 781 0 obj << /D [779 0 R /XYZ 144.727 740.998 null] >> endobj 54 0 obj << /D [779 0 R /XYZ 144.727 645.367 null] >> endobj 58 0 obj << /D [779 0 R /XYZ 144.727 490.199 null] >> endobj 62 0 obj << /D [779 0 R /XYZ 144.727 285.591 null] >> endobj 66 0 obj << /D [779 0 R /XYZ 144.727 239.618 null] >> endobj 778 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 785 0 obj << /Length 1605 /Filter /FlateDecode >> stream xڭYmo6_( 5GRD uk lu  w'R\Ejw=B.)c,Hģ($&; r/|F'k_"y^__|^I _o;/w@aD xZ3N&k&-{;do0([;k)wp@\R"Q[ңҋdWm5W/RsǧG,A ;_5;-boVzWLxڒ#w�T +敥%Bd:7u»krU f6vv[ֹ2v|O7{ː1A"�Ri$c{;"\۩Jڧwr6N^nWz*2 P'K)Q7KO6s { ʂ"C e}DzBᑩ�""~~`²JXj}03}9e""d o24Ww.¡_V&EUh'>c Bϩ+J# M[UemtB>qFݛUYyx21FWjs q߫ypjh|jkͱ}J)CQB:pf ^Eqc�I反~\#`|cRV�qH@�U1ħё+~Bz kJ+Ye$yZ5KX얄hJ{qj猄~|LXd^ms{idt7Z`c)>Ihv\ykZ`7Y ^mk3/wp @%>ʺ*b1ia[$6L(3VIP1M|%P{'9T2İJlĕ79di}Su\ %.^~ZHm6Bˠ_ag. p)871Z{,sf\;;.k'^d!\<< o:ID{.ՇWBql&΍R/tFL;LJnt70QOcI߇6x&Mۻ=셠uP'j!^X '瀳3l.N9pZb8o8"83K\^2m=ģ .`6 e,-#QIh|;Us �m晀rPEoΉg(J9?3p6y`H*fu6b1mNpva ІςΣt~R$y<{A]9ƒ`ӛZD. +[(eik_RMAW`.sw"6ecċR{4H":Wi6^/ Xa5^P% A,-i FG#4jMTa>L4r1 QSALMI$`З A.ﺨwN]A"qo]2ic ְASɏH&e87Vm, PMήU V6zîxsx l��iowAH<hendstream endobj 784 0 obj << /Type /Page /Contents 785 0 R /Resources 783 0 R /MediaBox [0 0 595.276 841.89] /Parent 782 0 R >> endobj 786 0 obj << /D [784 0 R /XYZ 144.727 740.998 null] >> endobj 70 0 obj << /D [784 0 R /XYZ 144.727 571.643 null] >> endobj 74 0 obj << /D [784 0 R /XYZ 144.727 454.312 null] >> endobj 78 0 obj << /D [784 0 R /XYZ 144.727 189.555 null] >> endobj 783 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 789 0 obj << /Length 1738 /Filter /FlateDecode >> stream xڽXKo6WR@b-)깗ۇ{(=eEkPl+%bo3 5}7gn]a+n@aC{dpޏ΅as,^} ]zYz6Jjen8 l-J.]Kw6s0P<1w8WTҼ촬JT][t岐9bږі_=L[8w WZta{ sQ?YyѦ&o~+ ;2r6lp|RiNwEj )s @g*B JV͋6KalBylen5ҮU @1];.Q%j{RSl5y#"7eAYY|QT^}w㦓S@w=ZClЪni L0$b#l*29:g0+rKxV) [fuN55zɖ>E]X<0J,{gz.g` cvhRYC}B#}y>uFzaDD HBeQrԴjc^'*5E&*Kjܹ4c5SXsخT/g/֡ 9<,/@l 7N!1 9!v͚$=� =P7Ϝ3*3N3(trRyiGTҔqoZRӊ�4݊V!%;)%Q;)42(B-!t P,`)ȅfb(9*Ӯj|X)SکZUu8YwW w#ԲZclφښiE>;)PL'U4!lN`,JjDH̿z 4lV6Jq>ߒ a۱ꨁ%'(`̚,S[joakuΖZf/Y~3\ƿ2xyuFMfm1 a u0z\J6הl(f@xW 7~@,](՚Z=3SC6T7Ssb:3opi]OlH]"$~yߪ׊rKȫ'{O!CGFڗFޤB7jg_Foգl]`V㊨/症1}L琀M9>Eͥ(ci|"i< }J]uQ(\:}M~-J~zɟL^t.| xVcB@]sxj2 >[:{r1hCQ9}JARKBiߙ38!>@yˣ$<;62Q bi찂@dD3MKOpMJ+doR<y }=yMo׺IhYP$A1=ui ,Tmk(Үy4x57XhLL7ˆ 5敵]a+10(r�0´az R4~dP!Z*tZq~`4~u.כv0.$ԖK8uq3}Eu-& q g缦ٙDب2_#ʫw5� >#&?̓s^Nendstream endobj 788 0 obj << /Type /Page /Contents 789 0 R /Resources 787 0 R /MediaBox [0 0 595.276 841.89] /Parent 782 0 R >> endobj 790 0 obj << /D [788 0 R /XYZ 144.727 740.998 null] >> endobj 82 0 obj << /D [788 0 R /XYZ 144.727 556.179 null] >> endobj 86 0 obj << /D [788 0 R /XYZ 144.727 511.362 null] >> endobj 90 0 obj << /D [788 0 R /XYZ 144.727 434.457 null] >> endobj 94 0 obj << /D [788 0 R /XYZ 144.727 330.574 null] >> endobj 98 0 obj << /D [788 0 R /XYZ 144.727 201.968 null] >> endobj 787 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 793 0 obj << /Length 1913 /Filter /FlateDecode >> stream xXK6W쥀 ,=9i"2m+KHY,wdb5f8#vCݰ8&)OoҘ<n z^pDHA4RHIAL$3/.$$;q)My<IpqiNg"Aj-SnK^6MUmۓƹ?WX&:Q\bUx21ȵ y1bZO˸Ux,xkNLTx(I5KɥN+4]/8:/Mu:ԋ%4 NO-_YFb[&%Я"$eӁ36"®C"bglH?~ruG p{J@'>#͘nY8n]]agb,+&MSSv66AY7~`hX�fc1IT @{w2NhT0̣E񋭮-ByqS v�iaYܡ:>󿲯(<B@ #h<F2 Se)#U!epVMYۗ\ې xքb;?,j'�FP,\x|==ՠrY5Rpvvl<T/hdt'O@�ͽZp: n@A{Dx4.AhHWZ;@-H\`M$MGf"Yt8G CTf{hk]MȚe$Z{Cdt1M"}G\($³q!3dv ?u!jcUUuJφUYz 7��3ܙ0Ĺn>n~OQ0SJ@y"d2zifPb�XF 3:ab.'tK |Ju?SU(ԮU}p`xG]dVj{jk?>]A_$ F;șQZ n=eژW@7L鄲zrl)o"Б.%ei[ې>?JLs(Bkp2 tnlNJQEgN3dw10['S"G9Uo,10sc"m= tgD-a>x퀩Ksx aUؿC 4nD `uU<d9䪣 ֞5FLJjs R18@>]9yW~ S+D_4PU)tfWZUoT]U]B޹y y|`\ard*q kDgΣ* )0%4G~G PuqvK9x ʟgEB]<TBxu樋teL'z3d_櫼w_~PMv?q k@7pÚf}Z<8{J*N)?ΫOwVX!fI?y](<KR,wYfߜ*L/`#]Ǿ>6WɡROFvE C.2߃;Aw R/Ȍ_^h?tM:lAzխ ul&m>]`nodFd%!}q�zJgʛ8\G8_0J+fc<S5 \B{@F5xl]LV.|z@i1gC9\>ϕʍ\IөO 8˒K,{{er endstream endobj 792 0 obj << /Type /Page /Contents 793 0 R /Resources 791 0 R /MediaBox [0 0 595.276 841.89] /Parent 782 0 R >> endobj 794 0 obj << /D [792 0 R /XYZ 144.727 740.998 null] >> endobj 102 0 obj << /D [792 0 R /XYZ 144.727 679.219 null] >> endobj 791 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 797 0 obj << /Length 1394 /Filter /FlateDecode >> stream xڥXMo6W \^n[-P遖hK]Yt$ Awlˑc;G3yoȡ؄MXDHL ` "AX $I,̧wI0D~ىgOų9NkZla5ٜGtjjl( &_g8P8g N}=Nifc S5hD3pC/2HH/,'tłPxL[]ʻkvSk\HyfDFQFtVZ:U � ` 0'�20Xb? .ujQ2z9cL[zXVDK)>3]LxM[WA.\jb 9T4_BK�CN{|X~Zq"!ܾ8ۅ1V[(`6O1w,џ^3R&#s`/)|bb[]@lu}>ltZ�ݸSnBN:,"+z`ضΆ3^/c7tmu;q[_{0x*JϴE?mLZ\вň;h1T;Jhm\/B6Yu"=Zf&m׺RMnϨͦ6*hg^>86iEAzO,UoSv{ mҢ,ǦTksS0iO6Wsz9@rc̓_MCCۗU-A1Y{9{` :f 5S';'u[Rvz{ ^9ާVKTeع+OH@)q52gq9}wsEx=|"~]L$"&Y40A}+=8ӏNu 0CEy Wj_\Dz4|l^0AjwPfoS0'ǒ$ L\ C=Q`!C/Z-]pIBDDACܤF;Ljpf^ω9܃%I@>(E]G2IOd@-yua$B'<dSmSgrAÒ`!GNI& o6Zb*"x՛/OyDC¨/n^y?!-# Lj 2#Xݷ~zoѯ [I5DY6 7}PztoϢUd=h>.&zǵ,Mk!z=<а�>L0D1p2L/X2D?JAendstream endobj 796 0 obj << /Type /Page /Contents 797 0 R /Resources 795 0 R /MediaBox [0 0 595.276 841.89] /Parent 782 0 R /Annots [ 799 0 R ] >> endobj 799 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [446.344 198.867 465.771 209.81] /Subtype /Link /A << /S /GoTo /D (subsection.22.2) >> >> endobj 798 0 obj << /D [796 0 R /XYZ 144.727 740.998 null] >> endobj 106 0 obj << /D [796 0 R /XYZ 144.727 716.092 null] >> endobj 110 0 obj << /D [796 0 R /XYZ 144.727 622.681 null] >> endobj 114 0 obj << /D [796 0 R /XYZ 144.727 549.58 null] >> endobj 118 0 obj << /D [796 0 R /XYZ 144.727 421.083 null] >> endobj 122 0 obj << /D [796 0 R /XYZ 144.727 331.668 null] >> endobj 126 0 obj << /D [796 0 R /XYZ 144.727 272.121 null] >> endobj 795 0 obj << /Font << /F83 563 0 R /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 802 0 obj << /Length 1736 /Filter /FlateDecode >> stream xYߏ6~߿"ҩ*/TU{][Uj[Np(8]E;B6-p}`_xء3~tF#3\lqg[zwC?I{:Mg$ c=mbl1C'|p]y.} u.hD_d- /dNQk;"WU}18F$.LܮW'4-gL㸫1ke=$HP^** UXԱMt[ %-dhHbA`7�V͓X2Wc򂒀s(|3"P-4v}qY o:~3V>Q`ߜQޭР: u;7"m #Jq-@آQ�`.v|v1 ieH,HHEY&rk<U€?~5L=8 t!ai.ZTyG;OXPb,:K,r .3;ЬeOB A/<3oT*ۼhè33,6TzMnL|X˛g e&3VWYjjiJ4]vH-U R ҈ :f\dL հ͏s$c$($ vUħFr~fG.Tڰ>C/pW?lܱNy {F!j'MQeM栘ڪMY{oݵYu? /yEuf?,js VXx0$pم440O=yA4C9:TX [ЌNk∏چ`5k+FAs툢r_TҚE]&KaUL:+c!4BNPB 7 D&R�b>|DkVrSTYIEbZ+ے ۵xA8BZg:U9w+ZnM7*ۄP^j =`΃D/@YpN!G9dvTh4 7p`%~lO9fW2H`eU%o_jy-,eZ[NXPOy@X3!цmrǭ?vi)PƍҦU(m :Cz_ C/w:I+SDݩzؕw)4IVĕF9+,m6? L0*_`3<]V%-ɨ5@Y;/3ef36P\y1B~>ub-OҘ9uNz֝"2H)ۺ2ȴ2ѡeGGubO׏AKӺA䈲 M˖4FzCrmn;G/8nj8ttmNZUqk=Ov<+1\<Υ"+Eҵ2ա~k1}}5sF`36dh02-1tÁL=-Aq?ɪE'of#}JfsdvxÂ4"'J}L_U\dYrh�x++1sJX4i5j8&ϝi=z&:S2S27IOM&`X@ P1/${(yB J^=}><endstream endobj 801 0 obj << /Type /Page /Contents 802 0 R /Resources 800 0 R /MediaBox [0 0 595.276 841.89] /Parent 782 0 R >> endobj 803 0 obj << /D [801 0 R /XYZ 144.727 740.998 null] >> endobj 130 0 obj << /D [801 0 R /XYZ 144.727 716.092 null] >> endobj 134 0 obj << /D [801 0 R /XYZ 144.727 580.236 null] >> endobj 138 0 obj << /D [801 0 R /XYZ 144.727 362.677 null] >> endobj 800 0 obj << /Font << /F83 563 0 R /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 806 0 obj << /Length 1770 /Filter /FlateDecode >> stream xXY6~ϯKґMMMh$EJ-ɕ.;Ñ,uWv6@Qx|N| ,'qMP;KNP@ysƥ$LbA(q'^Ä?_Ǚ~ r82|aG|\RmR&+*btF&).jnn]}]ZSd}gԌ$�eg^GUIK\kS,5[vJɊQDdk*V|_䪂!c(!b$ [p:WaߐFk1 b[@9rMc4՜/:N]BIQ'jJSQIQqdTwJO KA8o9%1RW}*ҨPvFoQ6_Ln F!dNz2 ,a,T (� ULs;`y}06Aa-?q̞,`{dA∶vrPCqb(2" 9$H IƭcȆS)J/FgYiܣ7ڮRI:# "*?X2$j,Jv7-,"A$BTdx@$cӓѬ<5rX!Ơ^ >9~Re. TlD=prᶪNSq]s3FhL,ҷaDVQ%_d}2yJ:VHT BB>2q}/z\ܚ{>y 9:1p1o:5&ٹ8:\ u7Zs1 9jq1Z\ p ;'`gE ~_ÿx1E=~Q{W[aA+coJ Vgp/,,<::ԋp^uļڕxG%<i6%ux/ċHz]N#C&=G\=PUb%>OA2B;Fϟ1FPVV滅TJq/{3/Wڒ)$pS& (%F@w}ζ:u,DobCH鄒#EeN"+3e "OK/ tơRU}�x4j1r} `6ɔ9w0#2YS%ՍPfEU:F^TeK�m&iED#Kyyb E܃PHMKYlmhAن";8ױkSHr_nbVۥnR VՕy+ʹ ~̾ ?˺@-;Dm z%,0IC/kL4Ӕr_U{.,݊;{ #>ϵ `EPt/.vzc_uG#Pd]"_r{z]jX4"} Px }7-clmUXV~x4nK4ڂX.|jt0_eX/j\U]흯F(0Sjro*pA')1%Budλh�Id$">'qBJx%D|th\@T'}RNKu(?#)G ٤|&R<Je0").$sT^d/-ڗ}$&|266ęRi 5,endstream endobj 805 0 obj << /Type /Page /Contents 806 0 R /Resources 804 0 R /MediaBox [0 0 595.276 841.89] /Parent 808 0 R >> endobj 807 0 obj << /D [805 0 R /XYZ 144.727 740.998 null] >> endobj 804 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 811 0 obj << /Length 1579 /Filter /FlateDecode >> stream xڭY[o6~ϯ0 +ܢС =0 %MA!)G�I;WRyGg4HYxd_y[%~(@\aHXB@w&׿d8K"1 F@TU*(mrJiZnbIhveyTJ^4ս{K}I[|#Xk2+"=U-XK4:x. ^V6_TZ!Z7覈MNʼȈ~4J@6PYY:[O\lWzt<Xpb5 &20FSW+gxJlE$ .uЃ9W5�>@7empػ{7lCpRL/Cȓ0��6wha[L]hNNY]ZfDaW�|^V_76+n벭t@k6Sb9<st`gFFKd€X 1m ɧW8C#z~9>k8Iϲ],#ϛĽ4=biY[V6f(MKb/jqN*p՛8E*PKq7b%8/IxƐ1]eZf`z͎6L GtƊR3cZË Ո-ĕE|&ٞ+9S:Ի{=s=Y{JGmw:r[1y mQ0Y?i+EB3B^q� CD,?F$dƏ uP_MŒ^keD}|I,WhXW=NHd<wpa*ni v(K˪Yda�Z(d7;WQ#<OAtdVO;>MiqVZosN<n#tA[nd8#4 @*,@vh' ɒ D7|$?HsmKSݘBĊ,.(D@P/Z|ۼ q!yY:d4.桀r6uV5P^DWl_ua/`O!"E0a=<2A"rJq=ADw»PPV#`x'ӎ\p~?V0MߛaB hY'%xߏJ֍5Gz*(&s#V-RL%TEЊ0UI PVKM HuhO^F 6&܌t�?$QH{-܁>͝l/-׍lkHzΎ:Ӫ$=9V}G<6X_.1%;QX>=a(E-O&q2߼vlr5C~~8A"J9|rMYOKQO9sƊ/6!m3R2imhogܾ<\>|`Q9N>И$K|e43Dsd]?)endstream endobj 810 0 obj << /Type /Page /Contents 811 0 R /Resources 809 0 R /MediaBox [0 0 595.276 841.89] /Parent 808 0 R >> endobj 812 0 obj << /D [810 0 R /XYZ 144.727 740.998 null] >> endobj 142 0 obj << /D [810 0 R /XYZ 144.727 306.616 null] >> endobj 809 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 815 0 obj << /Length 1883 /Filter /FlateDecode >> stream xڽYn6}WXY"uKf-Z(bnhȒ&Ae[ "2 3g$:($b,>Ix-LrCH F#@68e-o~x$ˍ]x.I1I8Ia>wheYju&V|An-i#""⡦[ylsPs*R TVml )n͜JeV<5Ū86]t% �'`N΍TEGJܚM$Wde;M1("еo\C N[͙﵍SVS\lLxsߏ 75FLjH,# B5ݠt-%NrN=艌v#*oTRyYf[+4d, 8EA0!Vlt?`]'erb vwǘRӓPLIUQdJMժA}h+mdVA E/QUe̡]/& JzGQ2�B &!Ő PH9"`2D@@N 90K g!?B 9;đA{k֪mc6 T1L] -.Wʪ@>ipc^6MP:wIVr ^dFI'mZ[: l j``Ն'4Ҩe1(}<ԱnST7]SMQuhF7Apו. p?eKK-I\B4|}ABv2w b!‘KT7iL ~2}?@)\,AZAO9as1T~"(cQ08.BO� "`p1Q�Ԏ"P.7J mZyќk<p*KqVZo4 )b=4zF(f,;^hCUXk/b3#_ ؒi̟lq0+B56t!G e9Tx ed{ia J,s3ayAp(q13#(?ǤS>7\;fUmYT27'h`9 �I 0"zzeATdY*C FIY6'`CfP~oGC@dkMF3{r{vB2 s0c"h8p!|/c&!7 2kWo<a-6=K뱅v~cB»k(kN-G{Qȸ,*Txu:Tir3< u]Gv*wȇa69D mdDtF (||'t~h/\p jk8HU: ?4CgX18[|ʮqN;[Ŕɠݽ2';s$pK}B{ѝ@`G+:2!EYDbj6z 7) X·gT٪+*S ̔Z_@g$,@KY6p;)LF5la2N# 3(Mf11+׽s)غu5p|V.0*|a-mOM9lR{!CMlv5fۨA_l.Uen}WZdԢ[k}=`%_%z$7W|U`$ysո „}͡O=gUkWhe[1?1endstream endobj 814 0 obj << /Type /Page /Contents 815 0 R /Resources 813 0 R /MediaBox [0 0 595.276 841.89] /Parent 808 0 R >> endobj 816 0 obj << /D [814 0 R /XYZ 144.727 740.998 null] >> endobj 146 0 obj << /D [814 0 R /XYZ 144.727 345.865 null] >> endobj 150 0 obj << /D [814 0 R /XYZ 144.727 274.362 null] >> endobj 813 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 819 0 obj << /Length 2194 /Filter /FlateDecode >> stream xY[o~_p̊ݰ/( gσ"ѶY4$*" gرVТ(9;g>R*?y%JR<Ϯj K$DZ$ZǙHFdI~Lt202#tILIru 4ooRMۿ}vbp%!k)E/wD2y+Lj<Ǧc;{VY;4ЩB,MHu2LlT$HJJ(/<HVkm9;},7~'"|8N5#F1Sĸu*^=;vAg鮳4a344xum9XZ&ShQhSAbKqalK2ρ3}mTDZ3u㟶]]4"eJL?U ESJ'ySKvdVvs?pJ3ly*MSxth3q9?FηDdOFC{\ ζMlrոsb݉X]A\fM>X߱BeS= ׮oiS?X/y/vwпZ]H91' fy~=][ IaP[GeѶ~dXB.s~[lQw5u̵LGdz%n7<V1we#/nWnHdfM>yI#%iA$Jhs^llG^`凮%]Kʢn_õWlRU.{J%Bꤻ?~W'eF08,nIS-jQS](_}mܺCÂw- Dh=+X]pD^ 32 8 FO^| y֬їDXrTp�~�H cEONuH/2&w+fSH lԼ5TgWCK0l[5vI"#/h\?[fg?>XkxyιBdΔDgL7ټ>fT'c D"C# h #h_y\82[A 0۝;pdS}:NYjz] rӌX6 U쉂ИRuGöT46;g #�9)l'IJYgy,dCMi~#æV_7f{?oGa5F<`i- ~B+nhY"6' lb%B%S8cƵ@+\1YVKN647QKk}+e+wt{(yՉ1b{ S&W܉U4 k.5hS<IB+#W4ճ)HHA\Xpk iMj�jOٹQ:՜FcU5Ls #)PX T9^L4}?W+ /)do CUQ�-" gWP+>N ^i˿)"="gk߷gͤ';kY&Hx}RYnEp�X'7NtD94u䃐$jO=z| "*&i@RC>hڤ`k.`P M?iBpOb!b>Cwg@xR �ւDr$KЂ0,Ŧ-sIuMX7};QTX|`K G {vCU5˸ϣ0&(T óOY0`$V b4Q"S\5 B|_8cdԦ- ¡ҕyn토S0|UŸv;"82?>E H`N�SwvW`=~у~ Fe?q~IgHzF?dW+QNG\DĘ'MB�'UYSB .3`Y2]Z*>�K'p]ڃ'IhQޭ uS<~ {Vt?~\xzZ=#T8�0&Cs}TJ3pgC(m|6UlP~ He y G_)+~g~g7"endstream endobj 818 0 obj << /Type /Page /Contents 819 0 R /Resources 817 0 R /MediaBox [0 0 595.276 841.89] /Parent 808 0 R >> endobj 820 0 obj << /D [818 0 R /XYZ 144.727 740.998 null] >> endobj 154 0 obj << /D [818 0 R /XYZ 144.727 463.184 null] >> endobj 158 0 obj << /D [818 0 R /XYZ 144.727 355.584 null] >> endobj 162 0 obj << /D [818 0 R /XYZ 144.727 194.581 null] >> endobj 817 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 823 0 obj << /Length 1810 /Filter /FlateDecode >> stream xڵXo6_&5o{J?ҭ([,j"3<)6 &>ywŸw!K2 ]X½\үm IyȄp4^ˋ-0[NybtE3 i/ߊR?~#~s:3�t E]Y]: ͶmEgsϱJ+q%vae| 809/hqyWJ"zi|CrOET>HY|*)!&OÓtB8kM&bW?o*d pUm AIAA'FM _>|X]$MsT#(E.nUYp%jіdS!'`$Z#x&1km[0]rdN8ԓSV[:*q\W:UjdDĤKKσse�~qcgM_)%Z udG.fգZ,s/eD 맡sOBi~[jmzMtt:|[i"l "Lڡlz\KE\dqr!V-eU!z ̋Om -SE XxB މlFUmdb,aBwh`ȶ[޴2Jô6" ̷?AN� }bMڡ-_YO@ax佛Vd"uFF)Xu]a� YUrGXtorH+[0!Z�'@B*A.ݹyaڅQӲE<'J ^[†q:J+«Z_^opb; ^KY ^wgz-4=2A+#("@w&Q�\f"XT"#Abع_YW,h'2# R2'x ks{!U#~boA K$yuzL"mQ!^ߛڇukgXM2ִA A:8uaNk';Z9I S(qcj=& q65nd$lv~%ʉ�74Rf>T3{�i vFYRᐡsVt[϶l ^E(>}eh>_ co}_@΍#Vא `)\my=I]-]A3yI쎯:mB2�'z/H8r0=XEG_UYc NMihU1$<V1$b`Vy;ѠZzQpq^! JV{@"/v pǎ dAua]?pμN֌:h.{~nbZg?N]$=V`m6r%K3I .8e^]zTˮ <?5In \*`oeh/y 6,T Z Qn) a?ZRxq|ma!>"7f?߿=k35wfZCN )"6Af-G.kXj+N?&68L~2| q%̫Jy!Mcr6>1H 073JAEͳҧa%p.ʼ0+捰 Cs 0`K5O_#-Wk+z ^pghsw+(OIQȷ(ĉ?j %x᡾FǏ '(C7__ewsK :r8L;uXy \Q<&GgSO*pendstream endobj 822 0 obj << /Type /Page /Contents 823 0 R /Resources 821 0 R /MediaBox [0 0 595.276 841.89] /Parent 808 0 R >> endobj 824 0 obj << /D [822 0 R /XYZ 144.727 740.998 null] >> endobj 166 0 obj << /D [822 0 R /XYZ 144.727 537.338 null] >> endobj 170 0 obj << /D [822 0 R /XYZ 144.727 464.245 null] >> endobj 174 0 obj << /D [822 0 R /XYZ 144.727 269.094 null] >> endobj 821 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 827 0 obj << /Length 1054 /Filter /FlateDecode >> stream xXM(4ji/`pY+ܲ98 $'vϗIv73ҨcཪxPx) "")luCn.! Qi.Mwx v]yK#qnd3HMOC_l?!sWj߬UYwsl۾G6ws=bKbHN"7>=&k5D�nm2bܶMC%`iVU=.] qgC0 tɤ>>f۴&  m'X�c&y -HPHGx-&A2}*>|KUmY7r$haj;kz)Yk|VYײ܌`sԲG7eUјn]L*MJMPcctL-1.5KmޜLs͑[ujr_)<yzB DQ<qH2MPT? /۬Gz饚lW*[s(c-[%g\2:Da 1<9z¹8uSu;/rd8I/]0b))`7~uhRe:^ϴ`vMjĊ:H3zHl'y;IUE~s>Q-<;H ̎d)zD;p๔vea DO@q7d^u }22k,"xN=(!JcD8S'I CbBMusuxi$5@+Y}e ~Hvj:BpÆB9r-wJ\ދ.+R]%j|mhAɰF'ԇ ‘P1@a/؋6g~ܽ 697-7HIy$c`-4r4:![NIjTUYZ/v #L65.q,> źqHϓ#bG8lPә.P .>`a1,.$endstream endobj 826 0 obj << /Type /Page /Contents 827 0 R /Resources 825 0 R /MediaBox [0 0 595.276 841.89] /Parent 808 0 R >> endobj 828 0 obj << /D [826 0 R /XYZ 144.727 740.998 null] >> endobj 825 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 831 0 obj << /Length 1594 /Filter /FlateDecode >> stream xڵXYs6~Kg@G^^iL뷦 I(aBZL 9x\Bdc(,dq4Kx.e񹏂=9G+(�zY=N?׿&E(I(Y,X8 I2QHܮ^-+j$ȷ^6OY5bw5fUբ|DoOS P>7yX,HjKw\Z(݉*j]g>/4#*&nDY3ངf.S)r?xG Y>s(Dk45UpwFm.CRx:Ʉ+XpX>ӆ)]Ԝ>$64ݕPt)E֧/4k癦`LFhgF޴WeHƹ82@Bģ䤪lOU& JeEr?f؋5_s;;D='j:`BL%# 1 ?˾y t D7POjҴ-(;8"C6US`/ sI sYѭGyħQ2Scu䅡7yذ"{QU&o,xΉWK9N<n‡p!/8{eC*^ץZަǡAl/Jg=@\^yz ֲY0}Zlk<_/aOДqP?BΞȂۼCSi7 q@ɪy bA9"npęD< 5O_B-oV0�ֱSp x-pVjUOt; .IJsJWTXv75Yc �" JPIvѴp*|z=?3x0Y'tiP\p pŝ3$4s/lڤ( R/1u 3 YVN:P>FQc!= jC�pK"Zh,.@2}�G( ZU|޵jfԬ;0o-6R?7]c}'IO~2ƴcP^ƞn,F+aK k/%ޏ]^`B<UT9G(5t.DxR+Ҥk5O}0E/SMbRE3M{3׽# w Gc "ı?rN^n{ҶS;DI"FaאX$T8=XҪ9DnJ&wWFkԋf'"32TTXQlJ&i] |kx)xE.7I 0 * [+67B5^'H6tZ%TtG/uODȩت|G \~.<ٯ姾Kp^"FJ L5c >{ U0pnYp{09(cDCyp&9gq sm5ɀ Kfb!!<1S~r;q!endstream endobj 830 0 obj << /Type /Page /Contents 831 0 R /Resources 829 0 R /MediaBox [0 0 595.276 841.89] /Parent 835 0 R /Annots [ 833 0 R 834 0 R ] >> endobj 833 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [210.293 420.278 457.367 431.221] /Subtype /Link /A << /Type /Action /S /URI /URI (CTAN:/macros/latex/contrib/other/lastpage) >> >> endobj 834 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [143.731 121.627 408.737 131.759] /Subtype /Link /A << /Type /Action /S /URI /URI (CTAN:macros/latex/contrib/other/misc/url.sty) >> >> endobj 832 0 obj << /D [830 0 R /XYZ 144.727 740.998 null] >> endobj 178 0 obj << /D [830 0 R /XYZ 144.727 163.371 null] >> endobj 829 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 838 0 obj << /Length 1175 /Filter /FlateDecode >> stream xڥVk6_/^U˖dRʥ}(4}PX=%K~Hͷ"?B4NXgb{-O0 0DJK$ToW?rڌOW 0"cR1#_Dilg>⳾7OCW=_X�^Q.S<L�^,Fq-:ul[]ea,G=DBp "P[,c< kЯ=T73{:yU޳P9[4թm ~d?bRTXgN 'lң4t{֕Ø+&9gTSL$KHM<("L['XUF a'v"m{ P<7T݁ DBʷacT�Qƺj3ԅM+vK%ھCd u!E" tۮ}ekbsHvF.'Kꌥlni^ Wo<| S7~A\F ~lp?6>55nRrGf  @O)micK^[#c.I[&`0yF,,Wz@~ rX`8f}6.IW;FU&6^ IPA{,UDgݵǧHeǫA8gE+GSI4 T=VB}((޸=gli1橌Cƾxe+SA5;R[{_:"+פgS0:WQym$#!ZͲ3^P 6Imeլml}?ؾ-MS{/_FoEd2} q G̏0سh-4ѡz<k ܗPYӱQr f:�_Mi 5;FVeވʃk@CBtTac! g<qX`rD�Z N=S㖣PjG8ʦ? RB8iQt\?H춝)ԅ?7u~ꔞ�961vG/}_L"ɍIȣ?a=zF,x;PINo TWO$Їr"8S92;J>C)|IȏձR?" endstream endobj 837 0 obj << /Type /Page /Contents 838 0 R /Resources 836 0 R /MediaBox [0 0 595.276 841.89] /Parent 835 0 R >> endobj 839 0 obj << /D [837 0 R /XYZ 144.727 740.998 null] >> endobj 182 0 obj << /D [837 0 R /XYZ 144.727 689.057 null] >> endobj 186 0 obj << /D [837 0 R /XYZ 144.727 562.826 null] >> endobj 836 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F102 750 0 R /F104 752 0 R >> /ProcSet [ /PDF /Text ] >> endobj 842 0 obj << /Length 2315 /Filter /FlateDecode >> stream xZ[۸~ϯ(jV$uӤ@.A"E[ڑ(({xul`J΍|w;("]{(Imʻã?v ( # )%( Z j_,q>V?`?U.Z?>}Fȏ} <]p"݃ t$V)Hs70mXەxՋ8`~C\^]UyxI,|g~ۢj4qUwݾXR�"yoXqI+TuΦ=^eUBX5ocv$UK|+*J΄taV Sڼ## ox z8.75looOOl8qRYfU#oھn.\.*y|a-/lӴR7rn[ݖOlܽ?;eoM$o E}Ɖo;_'df{oޛ?6Ok nƀ1̚+ n7wk@Hk.h/C#i: q_:>^.hڰuuO^}Qsq'^.aﳖ"\ޔYSBuQl{,6f|t(}TR)rdž+?)0!N8$ 7 V<Tp(J ">,>t@_Љ. ff{~[4@\.|rkkV5{Uѕ&Wi jM?S5BU%A +_IFyʿUȡAH9\]Q۩gK *"(sFT검ӊ;]ɯj)Xg>EjXu/l+宂&%ygcDe| F-ьx!by)6` 4P]{nC:8t1Qyc7貐(ؓI y ̓IfDwP @^Fh S$F@EI|9Yyhwr٘A<M1sQ螗_b@ii߁} P&OH 4J(*8\m*UB`XR &̞<1;kKF 8ƱhY]s#X>f 9$ %H{r(9 즪6})TiM {xaRx ඐ{><$>05Ҋ[2[W\K:+Q�Hz2NP:@":5n8Jq4V搧p3N4x$zBɔ\US8Rz?t=Bbc6Pr-U.Zܫ̪t@BfTJ(u�zQ0Γ2"+\tBUz ; )`_CY{z׬q Ne_VgV8:3۪,>>@&xO `#Ediu"S _' ێ􌅍g"/KDeGF?΢GiF֝\(-p줚 (T$eͷh.ZTS�t HsOŧMo}oS&_/Wʘʄ J"%+\կuoz;zњf,&7Hԟb|z"7%i:!zg4p믦%g\0 �W ?)dBA\<2aY RR\ R2&䋥aK (d,U%4nL2ˠO&Q4YQ+ cqL:u]?48I�GN[<&f BJ ДlAZhpL `]?vR"ow<ũ4Ͽ!,R7o+p,,, jo=XÏ`U..F_8#(%Q@5K_>($C.gy4}EN㙲NnΒ_apb1$UFpU0LSsK OTJ&/UɶMhur{zJ[d<;#,=e)K-lEwOo'ރ乐x쉟;j}�@* dx6[0\POU*.ǻj;q<o7;zePJn%ZqIWs@)QU~8�Jendstream endobj 841 0 obj << /Type /Page /Contents 842 0 R /Resources 840 0 R /MediaBox [0 0 595.276 841.89] /Parent 835 0 R >> endobj 843 0 obj << /D [841 0 R /XYZ 144.727 740.998 null] >> endobj 190 0 obj << /D [841 0 R /XYZ 144.727 343.753 null] >> endobj 194 0 obj << /D [841 0 R /XYZ 144.727 317.465 null] >> endobj 840 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F102 750 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 846 0 obj << /Length 2398 /Filter /FlateDecode >> stream xڝY[۸~ϯ *c./("ۢC3{>hlz,{Iɒ,ǚA0ER~쎅!Q\ݩ{c~D*RHIFHH| ?lԇͿ .&:p)"DjWu֙fK<{=K/c . ]V*iP֙IJ6P ڗ8ݧ^ Iː&E?gE[:s{"j2*R \QΒ*e%DJGkW ]`ܭ�D  &mvoUommqĆ8!4 7Yzs4tSQ)5T~@*sHʤ.ʗ{e߉9u(CgtEmDŽ2ndR<젾pI-4} <K:-/߸F`q`6c]0Z]+) V))aLB6WvfcCcAD_G(QCj uV�7ˠ,IMY9MemQA`޺Lq[}RYld1OZ`h[A幩: u> J.hCasU:SnPݕ&plss<Y/J;g3F ([.5o3nm>C ʲ(j0TАC Tƌ-wuΊ {J1_L&w]i$. B e4BV?2y= Z|ҿ$QN@�+z�[*gU,)]'&}b6ǟ,lQd�,*SaA4h0o?v$ ?V>;�;y=Su vsȅj=G2HES'P&�H:]ơ2?q D&GL^,2YkX4o\nɣ_~{)FŒ&9{BG]0>3tMayQF2b5"R6vᐑPs&U,f2ƋB]h_:"MJhdE-dW.DTCCOA]ba ;t[ѸIi@X v'4WW-6GZ]T Kж^݄_kcJ틯f׉S$-d@wrGn L-wUŅ?n]#*}Ea@cA9(�}Qwk,@kÔ0ڮ |:m22ɋe2[jTԳۛP8 3-^'ogv4SUn@ RTKlʟ+ 2ΓYNk=͹X9u+8Q^ЀN'{Rj,IJҳhX $Q9񿾔tG^Y[XY[3Z.̟>)܁іn$>0k0X_U<,ߧҨVߒu=K3z^c'7X3)hLJH\Jr&^Pd3}A.54HL a=.̀{ 1PKQVNᬝYjOU`BzkI{ȄWKr>#5Z_vw[l/~G3J7HVM`1yr�J~`/b`n|TkYVM5 53C.ѬS/wj9UgVc£#ua30w7:8z^]Zg>W4KO\qp{ Z2NyI}U]B^uHoe{9l%YVrLk^ͦWUOlC;>r~:Ok-#tY69d-?<} ^_N/Z|%Eec.&[sN|(E|sO4O_=^{l}W~9K]k*^{v童$Įut.qɟ[Zk^AY[?L5lnGl; {c˝n/~ѯIjrahuOpwc%t| -tV%+$kmV DyyƦ@Zp9o�#c84U48юtPC4"^dI^A> S)E;Nrܽ O[`X;,x,Ⱘ߯CCub"adkߴa9=n2c:,)ogIKfM#BfpFet#y|w ߍ?RMendstream endobj 845 0 obj << /Type /Page /Contents 846 0 R /Resources 844 0 R /MediaBox [0 0 595.276 841.89] /Parent 835 0 R >> endobj 847 0 obj << /D [845 0 R /XYZ 144.727 740.998 null] >> endobj 198 0 obj << /D [845 0 R /XYZ 144.727 592.704 null] >> endobj 202 0 obj << /D [845 0 R /XYZ 144.727 520.671 null] >> endobj 844 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 850 0 obj << /Length 1566 /Filter /FlateDecode >> stream xڵX[o6~ϯ0Z/7g2t{X ˔ IS=lVc:KP ?GFs?(恟$bn~!v > q}%旇!0=HI$> ]0>9LMii%xngut�&VɄab`EY4;gd� CXʦs =2 E](.x( WFaZou"ȟv?w7:֦lֵ֣Rhם3sZ.%GXՒ^_yKnN3N&w>ݻVo|q~QEuP '.ݒw\z?!-i vG[z !,SK) ٛEܢ4_\UڨjCwѳv={ Y Z<YE#pO BfKyK 淇έsDD~{…ω0,q ]|jUx<ATQ%3Yڱ YѨޖ[%٦N>D017laCw#s񐭎B a}qXߏ'2a$�?K5Qk0P[2`(ELmJL`Z6`- gtl<7W�;\GRHXqC֕$ tNp& [ُV2擈tZWW4TRw10<<նY> g@;O|ϒ|'_pf �IAvȽ cw>t&^~?p3CiĔu˧^K6,r�nz�Z�C3^x<(Q]I�BoM ܝnW5Jp\o4zzߺ[[zӝҩ, ޠyzcX3eު2ʯEL)9<]1Ǟ 9Q5rB$9]A;6f9~<y g g\~Z/ו|SY)\Z%X!4P˲0lN».ʅe3bkfieʾjgPix{6@2z沑YcJ3ڮ´4lQs۬W Y*3SyN;(;Ź'�Yk6"-'yܐDt.vj|@&%O�64 AR{%$K"Sf^- :-k7CĆ2hic_]5x3vӘRYaϖյɕiXE8#E"]."3X.p qP EOZ贂Ry^t!m_"Zȏ̤, n 2xӈCUѐ!3cM$~tNq0)봨̾1ml R@{lڀn0[/-E-qb"hI4:I (皧a$]DPgEendstream endobj 849 0 obj << /Type /Page /Contents 850 0 R /Resources 848 0 R /MediaBox [0 0 595.276 841.89] /Parent 835 0 R >> endobj 851 0 obj << /D [849 0 R /XYZ 144.727 740.998 null] >> endobj 848 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 854 0 obj << /Length 2102 /Filter /FlateDecode >> stream xڥY[~_a`TbQEHQ$/@n46e3+$dj%[5S,vE!;Z6Xdz8$Mj6?>0DHA8ȏׅIO~S)I#1{ҧ¬\`Ai\/e_Rk2?/X0"HYi:9K�*uNCpr|,C52ץHF b">|S1nPz:ARqyvJ8_4nZH88ڧ11,/cF">ֳrS~L[=ʯ +zR c[ʔk͋"Pb:\W,U߀N%'`/YU%l拈Rn*9&s]Ѧ?r+sS8=r5D\Ʌ79K}iʯ=O f㱵{!(n2AIgTdz'kN͍~x=ǏxBMqOٛ[VG Sm?Myu*\OwJx[|ѝ"{Z@e< L�2sN?>9WH<O.g 陟h�fty}))C=m9ʔ!d(S$VUS;>XP}Ve }V͋Ry3Kc*q"`KH:[ZݿPʡ^uWl$a]K*ZՎ>fF6k'^rݮPnPY'e0' <=1$G#~:>&O,Sto8Σ^ۡ$rRd Y2!2CUf;u I,rbޓ ~6 o]zQ@FU'4u_@<2At`|jbLDbBGm3aJ5`џ,XƼ zxi&S# WBFq�=YS½*Wy:+HF~aZUQ<4}ۜ`)3�r�)G8_/2p bP=E)o,BǺHY) `n,}(T|0D.EJ6Izp"`qt`-L;XQ#i9n0t=޿e ,ڷVm ~rtjˁNq_֏xHX"pHr.'Ovi{R7:+պKBP,[G"%474 {4'$EĎ;99$7i#4|BrxY̯[acVz_/vn;#&-i9Ū&?XP6]so S8*ܘkirS/3 JgυښKv a:0c<0./*qg *ygI}Ŕ+w[Uш$T&yDtJ}$*ѥ}xWwr119\#1M8.#< I̹m qG?|vaC߂U HaDShH Wfs. UoCݬWnVʇcʀ l `Mo.hmT]eΒO+(w(.{T] zUpCUqrmPo#uI:R3y3j}?_Ġ G&aJ/ͣ7d pF[14nP{Sayatr$GaGև#¸؃[+Gom6>eP׮4N(&qƗ}#B4N^ˬλYYY뺰nlﲟ0ŵC#CV%}CbDD�cɐB# 1ٸ;N#fsN;Sp&|cY(ý* ݪJ*Gqqt=zEwn_K,}px3endstream endobj 853 0 obj << /Type /Page /Contents 854 0 R /Resources 852 0 R /MediaBox [0 0 595.276 841.89] /Parent 835 0 R >> endobj 855 0 obj << /D [853 0 R /XYZ 144.727 740.998 null] >> endobj 206 0 obj << /D [853 0 R /XYZ 144.727 161.535 null] >> endobj 852 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 858 0 obj << /Length 1881 /Filter /FlateDecode >> stream xڭXm6_ y(KMh?mȴF|dkEdk!9 yHy ID,DR!ۿ[ C(3ˮwI$2c~w RHqC׿EN/x7t0$܏$l"Oۼ**ԏΪ>-. V2j^V]S^nDY>>/:o_7(t#~ '<6yuY' aIRYt&C׵n;`Ο`dyUebZ4:y:ndf3@.Z~RLGG فߧE$ RIq;ם6f%ܙ$1DkQ8;̪cZ {Ǡ+;ֵaUJ9N R�>/�Naыύ75{[4|rr=L3k& ^S>ɅC_o]ZnWV^Y(jw!^uhNw|wG 7pbbB8Ϲ8_BB]1q2HZo`YҬ?A|_~fS 9F]ztͺA_­ - LeI16Z}0_O~g]PO1%CS |K|7k[8~ JZZC9u'Ws FJצks/ 68J Y~ng ?Pk*W :=U)qP&ܳ+8%T BȐ]H9&6@uZ.M8PUK!ѲE壩u\ɷeyhUʮAlw3-Y, @i%KƤ0B3;Ng)<Bu322#LOOAkGXԔO޽D!6N 6@xhE8df⋂u/ëL'C�%vS @Qӭ:>pac7$ <uVm.r2~MҲ:�"dIKyÚ#̈́+\q@q *s%J|Xr p:7KR&CmO.*U,YY˯09ת:>و_GrHV8lzjV\J. @U[v67kżKs^Spr EMZWͧ+NU]wyKʐ#B'~:E&C@2uԲեQt3L!!=F$WwX?՘wNNW@e uWq'h(es9$Zm7m}Zb8j&ߛ=dQk) .IsYڑ@|p2 Ð̮zlR ů #sW8ZkiLPF4ksdx DrfUCɐjcgon[y`FS<N߉ǼuN r5[|LF)B\?.$A4*8Jëֵ��..#W Ztős$U<n{7,]a{$2&`۽8I;(|ۻz::~%ݶ & q^:vpWk)nyZip5njSiR4�Mz8tE46Qʲ KCF'ɍ|W-uA&yЁn^mRGۏ4<232弱`}H봭/GWqU+N`bg]Пc9ex%WC!DZoAJ. _Pw_7endstream endobj 857 0 obj << /Type /Page /Contents 858 0 R /Resources 856 0 R /MediaBox [0 0 595.276 841.89] /Parent 860 0 R >> endobj 859 0 obj << /D [857 0 R /XYZ 144.727 740.998 null] >> endobj 856 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 863 0 obj << /Length 1923 /Filter /FlateDecode >> stream xڭYݏ6߿"}X56 >eOVTR!fDu ޅVZ؞/fLYP腋aE|~#f ) BcrM}!Dgq ?l~x GQ,ZH(;i={-s"Nllkj\I5=X6jqG< / apԬ{SVk_S,lI=g{I|Eba`yhio"krސA1y8\ AjYx=c(u Zw`&% (!&Yd1KݽHs}w{ҏ o;D>g#W$Ms~X{IS@+w]ŴX1otޖq!y+�PIg *S+*(Fu5FߏcI 3y#OO\nO'9k7 e&uRy܊\̗e%-k=j@ic.21:c&#r<.LB(YL}p(}V< :Z;?\&8F#UY(^cA$F;"`䜜ZH,2FAc6YrKTH'wrB1/REb@aX!n4*8仴Ń#2 M̾w:gyޱF px'0@x8%;ipp`)*(q'*|6 ZbG$VH1 TVHBZ~߯|2]O /ziIxtʱUAF凲.@Eq7Bs b= q(F5PRB%XGI񥵣shOuˈ ؘAьR攷7cm_LT =<5{h(e�pQB$ƐgɐA<Վ}>X(v3 = 7 v:hSZ.%B^p#͐0E~N3rdN/p \)tJLA-2mϥouE> }DUb tqUr?W4!z܅M0&ry3א {K|VPC<$Q6 ~6'%ᮄ3ܕpNp$Y}`خr(뀦Ry5{ _򰍤xF�g rͫzj tYMϒXnfz"_jT6ĞQF2$̼6<q̳8.`G7IYT^tof͌4F mˍoR'|:' $%%/;IM#D- i6g7_~ׁPY>^s*>+ ,&] *o]rfM'BOOJI>KS!5ű1ܫ@R>;ݲi?\M‰>)4]H4�WF|s]6ue@ݶM#S~IBau^'W B5g={'+ZMT"n㧢U]y|Vw+Ss2RbJKjW2ͩ&Jtf'Mo@ٳopj6YZ-r-MH-1ͧgSI&2oUxUt8(e7yOac3>Z SGi2ۥO|m6L:ho4:g@PJAX!웡P[c!n_KxR}F;$EoU~IwםG"+w:~yFmmyUlM~@LWaW 3b 4'<P[P׏y$xtt\ }9Jendstream endobj 862 0 obj << /Type /Page /Contents 863 0 R /Resources 861 0 R /MediaBox [0 0 595.276 841.89] /Parent 860 0 R >> endobj 864 0 obj << /D [862 0 R /XYZ 144.727 740.998 null] >> endobj 861 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 867 0 obj << /Length 1829 /Filter /FlateDecode >> stream xYKoFW0P@7"7jieH{geREE�k\7;;<6dQHI1h#|C&!qQE2k~$,_,}Rꗄ"[0Rk3_eU[2޲;'9!3zB$[rRx` c cTjY*kp2l58eO 9}G"F$[œ=-N%(/Ob|wW@Fwck.2%}t%E  =A󻻏,sY!"DlU9%QcO^CTHK ��2T*,>_oJ'8$ dH)l<[{(%!p"4~R]Y,j<U3V28(r;_[Uo>E>T)M2; v3B̶͓!!sg;atum-%zSn  4K:mIzf$u"[Y/nIj'q*$|'b.fQaIM0R}:>Au s]mtŒoUftYR<bk44l7qz290̂GB $:O026vղ0"geg vq;bUCk\w@ў7Ub.if'}g씮L~9].rճ}X'YOA嗕�?Iq'-t)g& >6֯;f]Wb}Q7 jUX~h95R+~hȌ=6dF`)}Iw^ZPŬkbW�>&ʪkVh(eef&lSeRm2xY]s1p:ii mvqYnВQŎ>\٬/4 NNbCOJEa޵{@0NOGRΉR. ;WOIv1 9 P.+("\@l\6Ab7G:6 k i#ux6ti/LV@:_ȈNTUT&q7{_ .w[?+0bMĖ:5Zb*sMwyxR|+cKhLǙSBM?ԮqQb8^A'?{u.HPz˂ <m~YՋB.x=YkKhVJc עTĔ0 JF`y6=Իz#1;;sbPg +i| 8<zmuqѸ^~9Gx0P_D4`GPu, &E'Y2"p kώIP&˲p1pqjv]6vکem~ӇZGvF{ۢqQO+  /Ý`ɯׂ3(sQ랳e{mrx{F6dspjTԉ!Pwg]]eK.Ar p-)/lgME5kJ HMH`>Zn |Su,U?.ީAUgu k7O5\_`U R""xI9t2Ư]_/i8+FڄG,y_Nw߆rĥ h-ތi}w22:LqIIV3v*D9 %endstream endobj 866 0 obj << /Type /Page /Contents 867 0 R /Resources 865 0 R /MediaBox [0 0 595.276 841.89] /Parent 860 0 R >> endobj 868 0 obj << /D [866 0 R /XYZ 144.727 740.998 null] >> endobj 865 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 871 0 obj << /Length 2221 /Filter /FlateDecode >> stream xڽY[o~_a 886f;Ol@Hr,|A3$%DyD370t]Q!fzE@Ьû`u~}G.9QZ-()AoFj\*97?_(׿n6ӻO7xABC*/>l և(Jn IBx`PbD(IHf=wwq*OPbߣf5SL@_v屚ʔQT6ns]gEV<4qqV[(<\m)%!5H)kb'Q)7*:-ܫu}j'c^GFvATѲw8q %]Ui%I)Fɭ)י7LiCboQE>vGiƛOn뻬(6;hZRƧCZ8rh*"Dvmmt邉2CHt<&<]V�rO?irA^S8Ii}qnV|iL [ې'9]@.b"q%#.ljEVzӪubQ `y5YYUC!T "oe'.l %%cy8 / cOQ<�E};uDNGF:@kˢAeOqzf7abStgC4Ljz Ek\:6+&*b|=ys=@(R<=DTȬpm\vo^8ڋ,3=i g9V=C~)l}L 4UBtyvȺiG*u!ÁW�i0, [aTDtDj9d,-Txۘ~ƀ9N~_#tF>�.eQ6eQޖM-C[) u؅Tc])B\�(woU>~]0 *^`̰!sg{eـ(x>q tt΀©pہs5t[ďHrFQ TͩJ%H*!.(ܽ)Dq|+C:ypf"JԶ�>pi‘p4riY*~A; ]%4@ןOB S&0 zm1!tMDєPnWUvl. Ͻ˯f_ģM~|5}oȊf| PRSqVS`9ΕmAԸ#ܑ35nMJ"--T~cK_RԸPj|ISu/;×\�Ĵ=E/uwR,꯰A0xkfrHwΐ Ԍ^21h <LSBA5-JK©^Ҭhj{Bތ.'̝$r 3_Tpi\Bϴu4px+` J:7( H;J0xhz4Hn~f3x NB~t/iT噭qh ().C?gQ0?[εˠ\a+l,mlkx8Mr%VoZa0@͖V;]xM~S°xyϜl-p#i{Z617IظwXHh�Z]3N=EgW?\&_KZm*= Xb2#Q[Ð+8ᄽ%v88v_?`q b=[@t@ϺIBJ;sLKL:I_`{rLmF.�[byܩyK@xuS,[·J|4>B"([r4]!;7[Y,sud%s-�ۜ/?lk~ƻW +~%^@[ejAq}^\ɩb=l w(`V;8'zH@eCˊ!9 Ϡg5~@ ;*~bnN_)=y˥a IbI@_a#_6A&f¹2jKRt %&Qg_;Uendstream endobj 870 0 obj << /Type /Page /Contents 871 0 R /Resources 869 0 R /MediaBox [0 0 595.276 841.89] /Parent 860 0 R >> endobj 872 0 obj << /D [870 0 R /XYZ 144.727 740.998 null] >> endobj 873 0 obj << /D [870 0 R /XYZ 144.727 547.559 null] >> endobj 874 0 obj << /D [870 0 R /XYZ 144.727 527.633 null] >> endobj 875 0 obj << /D [870 0 R /XYZ 144.727 496.505 null] >> endobj 869 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 878 0 obj << /Length 1911 /Filter /FlateDecode >> stream xڥYo~߿" Y)O=\Yvt%A?lwRt�%Q3>.?zG,h~@].8q핗;.B@#"Ji a4zϟcqh:|<wٹNǼطi_>x?ښtKt z)2gKEmwLAb/m_gsjiK k}W㖎Mֶ]yizv|qfKUpY| E5fqLW. s=&㢔hPP2Dc:$q +9BrrȎ+Ѡ6tþ}\qClڹdݧ vPvB˫$XKSC_L=Ԏ2ȏlc(-¸˓KjZwPatomQgIBe*%gUb7+ЄiB ska&1q lf2X9iWItU>!,;|hR +5om<ҠL,!P?,ǾڱIB&ڈK$8CVs_ie#`-\{?﫺YņkB`tը*X?Tnaʥۆ~vBۆ;aN[|)s֋u358_ ׸O\VnJ|?P.HP /jkeL켇YT EY" GL@@1Ǭ\c" 0#.B#'ӇKW2$B+T}!BJ$SDL U|FU?# 3$ /aP b;sҥYF.G˫>.3H SuM�H\`�PT Ɇ y5cgӴeܙm"2%M:ҘHyl4$) k^BO iI݀|Sȏ/7QaԓmpNK$ٷuf 泗 *9vYh:S8]_*d7L0oЗ=N9?Ra>{ir \1JLm3tfnWkxjIb/N`[ 0"2KO#, -3fsV'l|)?uI^'K�ftΉa'EgrCxBӰ!푪'atO:`,\-<8#*Ӫ(`+߼5{ȨV,c(3&&a4e͘2.Wx&K zQ^hd=X((c>̯yyneFnr֨Ҧ£><qO ܽ&Y TfMS59k[Xb j0/SԺ\r̎ O[^}RWr1kuty 苤h%f>;-"ݓ)v'-%WUHO:dMŠܶvÝ5YO#I0tP7 =rd9iu++"1hM]>ɔc^iý.؈TӅ92 gx'۴BFO|:Nȳ.az: $eI#a! o0ʁDҿ` pbUyKq !F38=ju�%S{ tP?Ҿi^VXRzyp nH&�};*=dN FkvaQ$Cof-* kDA�)!_3|G/6# .K/endstream endobj 877 0 obj << /Type /Page /Contents 878 0 R /Resources 876 0 R /MediaBox [0 0 595.276 841.89] /Parent 860 0 R >> endobj 879 0 obj << /D [877 0 R /XYZ 144.727 740.998 null] >> endobj 210 0 obj << /D [877 0 R /XYZ 144.727 202.403 null] >> endobj 876 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 882 0 obj << /Length 1886 /Filter /FlateDecode >> stream xڵXmo6_ *5')+R ٧$ʒ'M }w$H"_wG玦'!'T$!Q*96“Lzq"c9""lH2_H=_\ UO0$DI /q謞{9#4MRdfﱫ7i^\Ыٜ *l6aE]kU]k27ZάλSz?s:^>?nz6>&QU˅֘N''<{*/02Sv4fSLʫ,G$~@;ԇ ;[WMWfWvATBʼnݼӮ1ٗ20kרJ?SyV"յ.Mwf]~0dE*l ~nj VC3zysJអѳ2%o5ݱ( j� pƺz€"q,,[-NH<cy{xS<]+Aqd! ""9/਎u<?i$I@G p8VzTx۱'3U#.+Ҧ9[TnK2zNɶ CE ~ķƘɠE/s~,V9q.e X'!VNKH5_1%!C!`:QBvˬrJ9i&)Kƌ޸d́8&"]>sh,&Ikw*PuȤp̋}$z9}w;Gq .{6]sԤَDqu\L !~m oE6)# 1 `D/&|XIAH>DiarWKg8{ jPIlZv<QA7R_f4 &y(QX3(0Y0rm[vAUj.׈ieٴp$4I< zF`)-*l vo}wgKF-qdcؾi mgs%~"M=_c݊C7yQ+ae^az ɗk`r؉ϲL us/k[c`WWsxrDae:5G~ 1j,[p8쳅[W-c1Mp2(몶6e7хHItkb*V�ԸV7UYW`BP4 2 |9ִ=4KnyvZ-W@g+3k=%{ I{wGoF !F3ܢŞm OXS@+p%q|ƴ*Ei]*M,C)@%VOKp$jɩ`aCgn\E U"P mҌh֎EprhG4&�vh]!ho *HYb<Wo\PxZ-7@txB! 8-,] G#Uߙ_2< /5mZH>^ |1�I A䄊d<ĺ{|b9QH {?REaJ?x͛u+ѩ*�9(bU5Xkеà F?gnU<R)vH/S({a7cmOgGt2k67uyEl7m,RBUoΕBBӟz1tr!BCn%=j jsfh`Jz&bw.{.1+nu f/u]xw->{N.o?,W"4ctCcxGqO%yMendstream endobj 881 0 obj << /Type /Page /Contents 882 0 R /Resources 880 0 R /MediaBox [0 0 595.276 841.89] /Parent 860 0 R >> endobj 883 0 obj << /D [881 0 R /XYZ 144.727 740.998 null] >> endobj 214 0 obj << /D [881 0 R /XYZ 144.727 327.932 null] >> endobj 880 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 886 0 obj << /Length 1999 /Filter /FlateDecode >> stream xYo ߿"` -@>٧nf=lؚAxٶoEч%I_Eǯ,LD(!ç?~~I"f3o)Y,#X滻6߻[z:? UΊ4ŏ<fq$<[ævSW-QmOƮGOdSp YxnnjgNǧ-y9bZ[f8 :]/ .[v#piOS*`AB"r !ܺ_=hDkUړimZlZ)[5Y }kEwMs׵V<P׵.;}gG$k< sPtb aϮ N%K"9&ځřLbxǔq.X7 GA+ϾRoO!8l?Gp!c-nچvs%4tZĶ^: xXwlr0NProrb9`m:_ūcn*LzL WɬD5%]@uUNRgK{|?p7ML8 Kx2_o 3s}F1l)a8�RǤGH\XmCe+QB-ɵ=8b؉2fc N81gB,u]<uNci\9\(Xʳv*3ɾ ̲ @(&^,LC/iv`QGVyƮpneβxͬ`R.1`1:&-|7č-vl*Yӱt5'ܯjO!8*j,{!`ᮐ,ə|hKň:Jiԣw=4B ~h9B)f N(ȟj@TqeF@{НƬ%. ,wڣ䕔Db]Z`H~ 1"kloqn[JHLwNX]Q9"h } :yALcgt%Kwݸ2P~f@IQ3y6~z]$7.$KQd.ܲkuP]wַcoliPXD4Cܺ<YU;jUUOH&Xn! N,CWPAL;8tq+"@n2!_3 KgC$8 B `^wZmipP=u5b,?n-4yA:rf?Uo9{Pv&nȔE.f/<% 65퇮 OXX^X{!#GZGQ]e,}Sg 5l\J㥬5'\.g;Pā34 FF.06ZG":8Yr2aY$6d<R廦]@ph0=x<p<{Nbf`mQԁ`!ߨ Pt8-#vV$ wN!>bQOi'iʛ)xDuh54+XU]UW_eȂx{ 1aKs2qqK*zs]_vUCr:$>Y(v*Xڛ/Aqǔ@B$!$›2+Guf9* qo#+.JEMr1C vT]㌇�dB9014ŒK4⛙q{z-$H3X}_<#@@ (T3?`*7+@n-4pKsk<GŷW`䵯(CC8s2U+/ǯ?ҥٲ!v_a7/Oc]IW]2m'Y"^=M<wF?4Ϯ΢$gz5 Y,0ƞI] `.7nMJ]>tg5endstream endobj 885 0 obj << /Type /Page /Contents 886 0 R /Resources 884 0 R /MediaBox [0 0 595.276 841.89] /Parent 888 0 R >> endobj 887 0 obj << /D [885 0 R /XYZ 144.727 740.998 null] >> endobj 884 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 891 0 obj << /Length 1977 /Filter /FlateDecode >> stream xڵX[o6~_ (Vj.o>v-u>kcK^ILM,edswHn09Jizr7 !n JR%cDcH$Ry~w!A~[t],^@2I$n7nE}, KGNqOMKRϪSctKg34ѐiC{|^,IlfpV1˕nYשf뮪;E/[|" \5/ " Q<O?HNЃ/fҺuU}l.9/is$ ) YH~n1;eQ~ڶˬ[Hvo̶ G0{XY֕.FV"J1' ĉU˪v`w8Q>bǣ!{dS&@HɃ`=_rD{.~Zu̚ݍVzPOA"pUY; zIJq%>X%L*:ű~~38Ps= RY{mOsU59h 0$%JYHZzeCc~)FA' ~)-ԛ LNUo wM}: 2.1Lt6^ת3lLuWKv0w09tf'[ﻧ"-ݺ̥Ω=eEOM{ OZ�`49>goHI%{`)ڛ&ٛ&[辱 }R\}?mx@[Svo<*{R>@H-]I:LsƏُ̕Ցƌ>Ia q+Qy;icg=N|$*;;Ni]4tomPG66Ftnm&#Ƙ[8XlOfy{2m�4-'nn-n�8 <A?.j1[n G̀|stp%1ƺWלT(}Yl!jux5.+N|<y|~y<- uCkB]7 5Iߡ apɂ`*iRzA&_-Wq;dZz{`@k/n=@G7\Mx/g-;I%Ύ:'"s|q:<ӵ)_fekzf?A`rpesHi%͂&2ǡ2Јϔ,9` kG TZb4A9@U }E=m?{Zfm(Nj8I2P9z87XhAlG9OFǺ*Hlʏdn24%vY-4-GbSPL +5c?Lزgɠ�" 4`'ZA9W(ú`|3e7`.C@/mg9BAPVnաY H-VZՑkƬ(Bܺ gR/9�0(G-SPYQihw_k&A dtmz< h\U$j4ajI쳘;nWvԖ0pv`Is loo6eAЀl?񏅮,ͣN+L+B xXJ(p1ߏ3.[694.P?R3?F b^;hρ֍t=(e^uM}ݼ \4KljO*vi E�w>6Ev{/u=8/-Hקw{+~[JL. 䜲`i^,cmo )#S`9HJ  wv? *endstream endobj 890 0 obj << /Type /Page /Contents 891 0 R /Resources 889 0 R /MediaBox [0 0 595.276 841.89] /Parent 888 0 R >> endobj 892 0 obj << /D [890 0 R /XYZ 144.727 740.998 null] >> endobj 889 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 895 0 obj << /Length 1533 /Filter /FlateDecode >> stream xWQ6~_8 \Tɒ, V6!Ȓ'+JYX˱}3O#2Gf1$1 (gS(( ƎK9 0$HgX?|&Qc_ e{GܪCF0hOv�vi. #KA=(2?}˪>S|HtX>yŗyƟθv4tJDTVI%Vu]E iO˲-J`NꝋҊhpoCNm:JBE6X(Ňj]xJ~UCVek]@}[iS$ؚy_L"Zdw _}~k8ɲqЮu>81ԃaRo(DG{@�pk θM$1 qy"r`ڹ2& w3n $m]RUV}4q^{SL#}JFR5=/8~ZGlى"BU^e|C"<PVCvNqjǜMMjmY\*uA} }JmbB\G|soOl>/vMԭ<7:!M8DT}꠷ărlպЉy-G�[']A'҇6b;>wإ?VT+ X8ZJ:#qQLlNL* Na-$y| xNCb1b$yYYw\|΀;!8K+%38W{&"IްY tWsL&|4oMeAFwxym[^gb$puYPR4 }uŔ�są+@L즙\˜B E6-ۇcFztkr+Rz7 {nz=:@.?WS 6 q5ɇ\IT"{zM1) n74,3 1 WxjEe#"^w2l2R$|/y΂\0&ݣpڽ$MUՎwEr& +l 3#PWKG3U b?Aţ cp0[() eL sEt1(d.&Œ2 qCiѴHk�x8gnCx@~4ϦRi>]AVǃ*Z}P;# u&H1`6о#HrSǷmeFvf1i-J/vpR>gq9Dʏ&2 Mdh@c wkCPС AD Ab-c/%J|-q$ye4zO-\#&}>Bp@["!ɋLٞAgvvOpakݗ3<<(eӆ1uB/}Rendstream endobj 894 0 obj << /Type /Page /Contents 895 0 R /Resources 893 0 R /MediaBox [0 0 595.276 841.89] /Parent 888 0 R >> endobj 896 0 obj << /D [894 0 R /XYZ 144.727 740.998 null] >> endobj 218 0 obj << /D [894 0 R /XYZ 144.727 307.011 null] >> endobj 222 0 obj << /D [894 0 R /XYZ 144.727 201.635 null] >> endobj 893 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 899 0 obj << /Length 1862 /Filter /FlateDecode >> stream xڝn6=_a&1+Rm{IvC? H@KtEOzF}<,j"L<<7+ĆPΉm$.lvA :96g߁ /󋷿|HBϙ̗r[o49kT8.re;p ̜L(wۢ+{~+ICk1e@J :$"aJˀ|mG<\ఝRef=Yt4Xy#3zJex  XpUe�m&c)'!=9%ER3׊D%q Xɦy"SZ25E<FX*rpE𤎉tc>% DT8ݮTR\ʲ:wEr]ǒy JcQ3&Z׵te#{I^"թPiR)e$'sj4>qh X"d!ya!7uMR}8!vV]Ys(5XHW�ƨ,ap_in+F  .R"EY&J`n3&Sjx\v_Pl{+Dkrm׺a�ܪ/z+XCZD"MS><?ތa-Iȝ eO[#=8؏jAxϦ3j}W;E&\jKRp7 {~ (d74  G@}$i =Ci2k7cnn;CxziPlsUgI$cZD\۾1kb7gg/zHJE+jōfqH�ʮ!?;CLXԈ=(f, .Ew\.pd6"2)N4dֻ͔`~֮JXv䦪"/2;\yҵO$Tջh%3#Ň *A-BCQ CXh(Tkb)ăkkt !c*PF+@Q}c=XJ3y/q$B3(o~4(CZ,Vģ:qoEՠs$}bbw$㱿 |K]+loOyw|-P>'^xx!ׅR)e<-bMW%`@FnntrFBlX�;7*k}VazLMeݣ?dw/)lFQ~\VQL<V:.VuATao[4=򙖋G*c) -\p(p69m*dyQJ`v&]Ks@LPL(z/8⤔i96:T<Ox9~^+n.6iuWR_/""ˍlw9g-A_>'sU <%=-rݞ'pb9]HwKigL~9cO^>`'75%pm^f بܒí,}{wWa*qBK('r<+q':#ʀeujڬRjh.nߒ%wra'$ߤ!v _VBp#]e00UҼl&<s/4>ÜBtZOMB k%nXAV'N󞆡[uȔ9cWE,wq|*ԣ3̒3%R&jI=*qUl[_M5cw1VZ֚z,  s]N Khj}nX&qˠw T|!ݕ1!Gpz d, 98AE:gb�/Vendstream endobj 898 0 obj << /Type /Page /Contents 899 0 R /Resources 897 0 R /MediaBox [0 0 595.276 841.89] /Parent 888 0 R >> endobj 900 0 obj << /D [898 0 R /XYZ 144.727 740.998 null] >> endobj 226 0 obj << /D [898 0 R /XYZ 144.727 517.824 null] >> endobj 230 0 obj << /D [898 0 R /XYZ 144.727 393.914 null] >> endobj 234 0 obj << /D [898 0 R /XYZ 144.727 346.342 null] >> endobj 238 0 obj << /D [898 0 R /XYZ 144.727 273.636 null] >> endobj 897 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 903 0 obj << /Length 1625 /Filter /FlateDecode >> stream xڭYKo6WHTK~I[@ t{%""Hqee=)6D|3̓R8$\,u IIZ&{}׻m/j둛2fUb*HnfLUrjenQnǧlmh:_&nDWReTnIՐTuXݔ]b 9!rw='UզGgCL lopHg5SMEUu;3Ae݄S( g?0u6Ep@O\aG8;g\x*2o &UBґ'k뒥DQyeyA7<aL?h=ǙE]y5=ɪ 6 qf`*ҡoDkiAkI I}{ J0(Sc`QBBqOXc�20Bu7DLVbq�5)^>qZcZ0]+phU!Aa\\c#+[hvǒ1K;JA<ÁIx ,̃�q- 5<:ز#I.#m{/-铢/܍e*DiO ]5%jfD%w|W1n cEӂp&K>g% ٕuN*<-Ҧo8ͮf<!;)aL Y%H+m"v#U@Qc^2+{|<ā>At%o)L>{4lc1񳾤lG=LN!Xx�T:I|!j=ŸhC8 {=�reYӔz]J;NrbHh㠘)l_gpNI;^S'.ԫM$a`ר bN>%Ȇ10g&4j<@Fb;~]9 tpV1-}F.)zaC# &W,b8GW$;)~eX/žN󤟆sXېҼB81�m=`&sML¡eT:b.F+=ujϜ(ҫsMv"#ULt@d>"czK B;RvD0,t+{4tݾdy}w;F < yx<h66o w 8m,Stӷ?J"B:ІV0G(tl}2+zj\P t羚xw_ _oL7<A\"pfdqIs!oTEN��`��-lo6qQ#ӧ=l(jxxv|;<p ~/p]g@>Vp8VLAt.װj%GAIfUV@S5b-lj2~XΛHUcS2X%FmZ܆򶴖GVn vm>rR,u~ԍ$Pono+ٛuL^2}$n$zrF>k]'"|-LEx%9υ�HgMendstream endobj 902 0 obj << /Type /Page /Contents 903 0 R /Resources 901 0 R /MediaBox [0 0 595.276 841.89] /Parent 888 0 R >> endobj 904 0 obj << /D [902 0 R /XYZ 144.727 740.998 null] >> endobj 901 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 907 0 obj << /Length 1890 /Filter /FlateDecode >> stream xڵYo6_(& 'Rb ؆۞a-1I$[˖l%Vj<x<^u5$Ni<.~Ž$#37Q$a@Qc(Kc۫~ Ir}5D_{m'U3xJ<߷~=p=Ť(^�\ea�̣u[7HxؐHu{;F9)܎)ygaH<عNaQT*;†qAǻN ђ a�|W7$ a9qw8Vq"LYˊ{vAfl9zT 堥#, Vֲdڷzj#DB͒KCeS~$z;j;Yr� ⬴__a-iDunQFsY1Q!S !b[zKU#u PB3Ob6i;< Dߎ"\� Wܞ3L2Xǐ96DiFH 5fފ`&r2 :fU(?1Z8K( p֓p+ߒoO9pAosؖ cxصhD 'ڃ[Q '9B"2x(P epD/ p\Was]hzգ _o+l{ �p{.K채L;#pcf j#/ g9]l<jm J@_UveH ad8>ˌPP\sw`NX6gچĦvf 7붩YwBY𲬅d;urX5L)lSm5Y1~>9wD{((x{nI&Ȟ[ v"TkGEމ_NKq\m􍭙v,ꜗVle.W\gk۝+-r +C9@ȳ\0-<Ԟs@ ŀϭQ8L閗L%TO XwǗ2 N5 c0;hdyƥѫ2CSOtouWS%'XO(x.QBCR0%dc'stF{;x g mOqN.hBֳ<` Ҕ@闧]\z:"h2B_Z _N"bugns3&<P?s<Hy�Fٿ`ͲR?_g#QS|}~/i%E+nj5܄P39i>g j%wHK<+ke-gLl57r6,!KDyvh y$۔aHrPv % (\"f&XFLI[:!D-ԁ^` )tMٽp3Lע9cNV ɂm&x ˽W\w"⶘1m;I ZL]R#ۼci\S'3yk>hP0`r4MB+5#�Ύ&zPZWПx<w NmՄ$qPUsLӆ &t]0An@+ӻG﵇o&b;QQسn̋3l'5Mr9] VU]R3 u?̚bVxQM אAYn o|QA7N?߰$ ֶU =ޚR:ugtgnDON݉1f3g3b2endstream endobj 906 0 obj << /Type /Page /Contents 907 0 R /Resources 905 0 R /MediaBox [0 0 595.276 841.89] /Parent 888 0 R >> endobj 908 0 obj << /D [906 0 R /XYZ 144.727 740.998 null] >> endobj 905 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 911 0 obj << /Length 1420 /Filter /FlateDecode >> stream xڝX]6}_Q1/UJUUUj* d^@ ;Q�>~<g8Pij8Qpvn$D4~MMVw<_mUu}.dPB~(͌o8JQ~׏SeIG'-x2?*o9f+ˆ-qEBE a5Sn<MOqOJ׵ e%ZfEؘ"z$o0A4i}N.I2"t;Xi-vYt՟K(LحyVAGq%|wS-KcqZaQ;.OO؈_S[gAԝRQ{Wyr}mre՚E s!DN � ~ll] dgc'c8 CVdBhB.Qx۔6�%u8ו'Ui֓wH9T\;VpFg>mG> l 7׮Q0!-B﹨v/y唾0(3xd׸ВH Kpſ!B }D>? ?kd~Pu\d~nWe ̵]@xe,BGTO6V?.n|/Q}PiÇ a8H# ݱqJ|HmvYi"ȹ{csųPqJ!hc [ݛHdj".Fa� ̚O݌b+H픕D; f|,mbWXYJ .o.D d%QWuɇ"Q3ksXk2YlGt5zsf(4A|D   P(N?3 B<1|N>$aM>ˍ̏bΦ#*Km�"!ry;pC,jPU?jY$ycubt0Q!\0i; 6aDw<b]rwz0ĭTha:=C.+oEwA4Ij+<C䇉[3&2CH ͕yɝjuk6f ڏ?4oe}3{ecď^V-qX\WFܥM dN58~(:Ќ)% fآWT|zQ%AdddZ.̇y8hğfynl|뵩^HoUus .KI0AEΝv4 I>gh DvM$/ՆNG|UձNX%Q lendstream endobj 910 0 obj << /Type /Page /Contents 911 0 R /Resources 909 0 R /MediaBox [0 0 595.276 841.89] /Parent 913 0 R >> endobj 912 0 obj << /D [910 0 R /XYZ 144.727 740.998 null] >> endobj 242 0 obj << /D [910 0 R /XYZ 144.727 436.695 null] >> endobj 909 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F78 560 0 R >> /ProcSet [ /PDF /Text ] >> endobj 916 0 obj << /Length 1343 /Filter /FlateDecode >> stream xڵXKo6W Ĭ(RTi`7hrT˒@yl!Eٲ-3C ?<Ô g!uQGtsV6COPR(t.DP( b5ۋ_aBb웃8 zY PGA͐EοВKIY+|ؑOF�ea-0=bt=:.a9Qp\Z AG="߰pz,%v Z,ov(e\"xQ<{yǪu Ϳa+ΉzT4("CyQ4㎸Ӓ3ZK X僵9ϝN;O"7" ƋQ]ɹ�*sD ,t4ζ)?fs 8C: anv|g[wUh:iJs씦!E <0)0ײ?n<*ϱtڣnJ+ i2S(u{2S[Qʶ_w["eSg5Ms-yPDam20ٕvF+;]岟eu-+@ji$f,Sa;=LN]" S;U,FVu,idQW@ ,Dgڴ?)uGc9 XK*ncbw;|亡EH O L_U3k|q.vv`8"xxv?EQb^>agn.ͩCo&1}!c/\\؏JKXSA)",~N1 E# @tWޛxX K$xBOyab*DݔLÝ^r^+}Dl2%u%Ip>ɠ6etzTV^h+iH{m-,*% j m#6tul}5xha K<'jBJZTga*VEΖ|.D+o` ۻp$:p7&91J?I~>h-]$žϩ^ɔm]-rYe lkBk a{hdh0=lNnO|9ov3{ $$}+V d, U57T`W7GCS޿L/|'y*;DFh'1߉ KS)TNT$.̕/[)X*/<9u߿^op]>髧zջ<ͥ CxBN6N$IҶ5XCP�f͕J]mJl),5`rEJHRz4[GǞop<Pz&< ~`endstream endobj 915 0 obj << /Type /Page /Contents 916 0 R /Resources 914 0 R /MediaBox [0 0 595.276 841.89] /Parent 913 0 R >> endobj 917 0 obj << /D [915 0 R /XYZ 144.727 740.998 null] >> endobj 914 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 920 0 obj << /Length 1988 /Filter /FlateDecode >> stream xڵYKo:Ȧ%JfS=uFCQ j P796)HuJy $<I$%Z7 ~aD(ADzas+TJB4H/>ov߈1lw;쪛8]M'̫}[O0z-msLXL_"ߎjSBS:3,=IERΫc4pǡh>ow}їi͖ES_6a{)TP Qo͖'2 9{q[bâ+P$6)ܢ/>*O6[rSt <D=ԧr٘留AN}@A-cpUT4cT`S7]c2y=!grV%<TAa^b ,}6zk Ҏ~g% ѩwEcnUy`h74|vOEY:S Ќue<~ Kwo(rIAdS~\ 5r伍<S"BPeYxYA9Φ\9#<zN8znc-ak G%Jn)~w4Ϲn*!t$A|{UVu %(E}\P?sV\I ٴk]\TU} \ti2ds}%M_.HDU.$ۘHŮ6 @B 95Ab }5Keqxz9ޙ7;3p/',^cS &S)uSOXU .E]_qzmL{_:i} MšAIo{]iϯP}]0^2&Nϫ%+اqDcYQfݣiWeqEVr1o}UcWEzS l\ /4Uhf4CCO?m^9:XT�|LEO[DΡOњ mh>nN5pϬx�Oh16s lSh 'S=;b( -ʳ<3}QW_*&<:D5ΚdjcR!8$*S QZ\uj#ܺ&~`|jťR.%htFJ{gu^wM.-MçgP+�>[Mw6H?9 n+O'NqOrr@6^9� ր<Eq�7!L pkv\Р@x@ bn{٘`݌�i0' cZxJt1"kLPz4b*Ud䗑+DFWE�؈OwˢʻE:(r"1^ (8фc 94Aq.L|ea3/<*NMvY[4=nX坧2P%)�U%6\KQ):4!UFͫTpZ x28U`e+,6THB P![1#Bp<2pڰ7}X50@w:f{dʢ?>pWrL;CÝ;۵n|q\]DUX7V1$ac�^iBST1?Eo&SݝW]xhCEMk[<\V -u+sLPCl5]cLiQ;>px:pHgӉc]^a+xw#<!dCd" 0z,u<F}]@ '[Dx\jBcU "TLY}Ai3s=5#=0+ARo5SIљ:fDq**9Y _a`("_@֛Զ.؇,]iy_cT,U#T|Iw,Mendstream endobj 919 0 obj << /Type /Page /Contents 920 0 R /Resources 918 0 R /MediaBox [0 0 595.276 841.89] /Parent 913 0 R >> endobj 921 0 obj << /D [919 0 R /XYZ 144.727 740.998 null] >> endobj 246 0 obj << /D [919 0 R /XYZ 144.727 258.796 null] >> endobj 918 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 924 0 obj << /Length 1895 /Filter /FlateDecode >> stream xڵY[oF~_JDLؾ87}hVc.eӴ lJ;W|L,\'R"«P"{H{|CߏDèDcO~,b_o7Ǣ1r]Z_x:tʪXu[^(=*{ۇEc9BEl &+5nxVlA슊竢+ަ4jgYAW72t0"UҤE.@U!ad5 g4C!h)ʛTW /U߷yJK<`scA$[c bԑR͔[Dzcm"O󝟾˓Y%`\`pxneY&y SI@n_,Ӣtv{L6Uݚ2ɳ'VBO@k3!± G{:tB'K* @ҡDJ*GƋ~(<9P83 306O,t_w,,_SB:`TB[ҿ\G.y1w8 (\qCΦ]P>ѰO^RYi36'B 0q3UUYiT\"RL cC`a=$_OQj-aSBz#1<(m{ѦI֢fHKd ITdƬy( ؏ NNei*ͷyJ2p&<X- )2<J8Û.A8]UUŹv*Ɗv:OH; 0pe; x@^kh, -9ߗO<} fQ`6f)MxN=Eu5t0gC'N"9b2l ě(p\VܬMO>L^[)xd~ ѭ"+=R2%itt\:>(fx|(JJC"Ql23s8<hm6you0YP3><zlQdn0,HϨJ'2=O`˱N0{UqFeS/01Nˠ IAܗ0U> ٤6̓ {L]?]UtAyި"Ue{PE�}QAQ }E@}EW9}; O7~rC8],LjOu�Ǿ?E:BО>E ΓG8Uh(Z7pǣPR/KԾ\VSp3ΖRq,x.ހcP+;{7Kut*#རWԔChlu0=RdfzR%*)wh>C)uٽW ?aCv;(tox^Xo 06fդ8a}'dtI/.lg'-J=~O Έt('N1ݽ0T]RwTCyߗf [4S2:RTEֈ Wd؛?b`\l6i Uz6Ouχc\ Ki\ 6lYn6l5ƴziA3E>-fj4jҲ#u 3|=N̻B{!7WzЋpڡpўZG}ɋ-u=Ȭ>"iY|4m#J!éOzPpc")k-f\v0_8үАPC*�T0H.)nmA޻LxJu4ݕODMya^oɋXvef+(A3O@9oUmiOͣͿu=CǴE$od endstream endobj 923 0 obj << /Type /Page /Contents 924 0 R /Resources 922 0 R /MediaBox [0 0 595.276 841.89] /Parent 913 0 R >> endobj 925 0 obj << /D [923 0 R /XYZ 144.727 740.998 null] >> endobj 922 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 928 0 obj << /Length 2050 /Filter /FlateDecode >> stream xڭYK6W,`,`1˗^)!nOMM{U=v;CRZɒcyQ)j43ew;&% xpHJ(ۥ^9 / I BXHO"`H._[.$[?b InA?*߿ݑB ,=m۳|fBnTS?f7Y}w˹IȻǸZGO+-uYyf7Cg3z}c# !܉]dMe'ړǵ-|JWԹ}' Z W0ad;̼V'Liv1=^Ea̟]$j7mRWb-pT X*3Pւ姼mؒ?zZ'_-*T*F5M}xީxZ\O"3>;X)'@ 10+V=سcрxXWDpgGLPȋ|5R%UnWPeNᮩM6B@ٽ!T]EvNBUqi*7@Bʁ2o9 R*ϪaԂVsYe43)?6GPD x|Z!V8S 8yGB7pmN3>ǙjhWڭg4r_Tu^}3S2YPP /8]6 I/ ?ung<MtM4ǟ)-kqH/N٦?$h]`a4`[&J>8Ae1<N8E <?BW.OӉc!]oup;ux@ڞh%/ee> [vqσ'] PΊ VR q*0yQ+5KР/r?Gv/o!Yd5-tOg{(W@hc$xzS,3yl(OGqF몀L^-86Yw\� {9-lU U.x/lz _׬~y szCy)tkL.w[:浔,${CK99d =N lˠ5bZ:l s#nB+7{6yAgv2XrT}n-22.G9>ުۖ6A^H%~otߛ+o0\u*&Zo ]kNkK*bikP & 򆕅ӷWId+׫J'qNUQEB7I%0|_PMnfg9eg8e7m <"ؼ!N~i;g򶛅 C^pfrG5}S cTc˩5~+ A6C 5CCBr16v ]@BO:_J>RP>CQ30C]L08b>a}ʅ~#q0<=9cܼd1b#.DžI嬸.{Ԯ'7x':zS/LbX�Ҵ❪‰cܕpR̉37 &N|(9_ s ]06q |]c6 ӢMz3۬t Fl1j-�0/{$?~؃.Kh!ް6T$nt=G A_̨013wɾl !] zbHć_BuتAӌU{I@0wԏv eշt6$ĕ3," mld5OA#̟ص1^ ;_B0my57t|)dSNk_N/{|]7V6J*7"M< Y!s/H_<ȜrQ^Ɲ5MDhRpx0Q+d0*?!|aVendstream endobj 927 0 obj << /Type /Page /Contents 928 0 R /Resources 926 0 R /MediaBox [0 0 595.276 841.89] /Parent 913 0 R >> endobj 929 0 obj << /D [927 0 R /XYZ 144.727 740.998 null] >> endobj 926 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 932 0 obj << /Length 1695 /Filter /FlateDecode >> stream xڭYmkF_a2[. /MZjrsYJ^h+gi_ffgfyF f I"'(dxN`+PN 3TCJdf͏wW2n.+H0!t0' eBY̑Ȱ[n:*MϘ|-<on]ɋWs"=3'sT<딳_ G46?f/:Z..WI>!NQd& Qs \،벡 q|[4ݢ.ͱc] e $EWth%wQ%ղCIxbq6zbu &ͪY-ۺZb_k C2Oq.uaߛ32pH+Ai!U7My'mV̈HDspMSVclƓ}tˋ";;$*)K}##pT{IeVa$� ŊQs}{<CRC Osk}l_|ϻI{rux$y*U$nok !b|A6P%~~:& ISS&=s6IN0J&9�R<.wlۨS"*2AC<ZP,cl]ŧs.uotkN#:>vKD%i/"�ئ x5MQK�eLuE^yZG�l{K<dq8婝7qBx-\Wi_˺4!:%D\s JFI9SN/P~zǤ`M^6,Q�b)1#!,&^|!8"dP4sE"E_/EZ@ZHaȅ} RBa"OXRe{a"PZb/h|66YMQ8b吆uL�w=(z06<i�J! ,TďG[hGHl[ʎ$'вsprMLB R"c/QwxnנN0Дĸo嚼n71�BC}ۼsˆX!Mt #&Kmƻd7&悯 .A{+H!y[5DMGM,Ʒ86KƕnHhdfc|}}*1 ? })߀L0+bO&j^e,7KLf+'w]:)()?7K^;yuDmM7fwQ<UƊ1 cm7{ݚi?cWu<m4siFEp,VA+7;=0a>#`kpȒBmeV.IIzi[Hc j |xoIJ(IQvݫ}0GTlr i�t�fy:? ~5`$Bޛ�K#%6 pvAb1Vw <G[g# ,alh`_jʳZ`(X kO a5 Ӹendstream endobj 931 0 obj << /Type /Page /Contents 932 0 R /Resources 930 0 R /MediaBox [0 0 595.276 841.89] /Parent 913 0 R >> endobj 933 0 obj << /D [931 0 R /XYZ 144.727 740.998 null] >> endobj 930 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 936 0 obj << /Length 1210 /Filter /FlateDecode >> stream xڵXIFddKJ"(CN)Ɂ6 Lg=�^CQKo-C D_pbU)b8 p,t�_۩_+0g $cf4@�rNi>o9RىBCQ&oE=B�L]ksk bNw\0:WB*2.Jō{D@pd!5rP>]Lud(2F�  Oԡ zQTY{PC,vYy5zGE9AڏLKp+cT0Y^iMzC[άH7? #+ bxgSTU}R*uEvK7I[e|zQk*g!BI&v3I]_uЫS6>9SXS>L;c $5m4! 55njԼʦpF:N &*UeZtnGY:F]3= 0oں+~td<c >HxcޝڏeIEK "ӊ+2x^6̼kPz (M"Om\шB5zmh*,(V[eMy <7 v z?2dVߧaSN> {9sKˠ n%ԜC_ΠrcѾRFaPnlg&G_>]+mp4?J p)Ѐ.䁧~sQeBԾJk4F.hl]ĐEfG}aanii]׃,g^K̠yGUY?F:U; =0FCIo&bC5ɍAvsT cE)LżE'Rd^c+9s[S{'qXfdJ0sJ틩=IOCS7^s/Ԥc)*GR\ @ o &7<RuU%EԓCW`SHakgI0_f=Q:$!"C^a^['6 ܪzy3UtNuu5bz2#�{|Y+|?+zo^r*0}XFlì됸}Jendstream endobj 935 0 obj << /Type /Page /Contents 936 0 R /Resources 934 0 R /MediaBox [0 0 595.276 841.89] /Parent 938 0 R >> endobj 937 0 obj << /D [935 0 R /XYZ 144.727 740.998 null] >> endobj 934 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 941 0 obj << /Length 2437 /Filter /FlateDecode >> stream xڭY[۸~ϯ X@b.II4MӇݝbA#Ӷ[rudv0PdɱR):GJp7"X$(L&=7[Xp[g* `<ØE~ J㞿ܿ~/O\/}wX obU){,jGK ZaKU?W'lKA[js8&ϰ2ɝqs'M_KS^Ui5[7?&%B7Ig+Dz ٠wE:&%ZCp2 |b̙D2$ƒi&�ܻ]ܳTR8nĹgIt\+Y'}0SO{¼z߅7g$C?A pBi3YhSy}Hڔ<enRږ 0c1dcb :Z3L~njS]xtoC#`&+|:op2$,=uS�據@>[уx$Ïf!C@v>j3X=LHij)+Kٳ$rb`6K·4A<ncҚeP][Tv)hT҄QTb)[E݆t&˷4tһ LKd% hwbeHoZtHM*=.s䑑}(Y~ye22nY(~xzCoh&i˳4�[T52L#݃>,IҝӞ+&U8Pj` op\8y ̾�/ gsq"FOYCƽ3VJ+{Wڽm%|f{hy'z: +=EzaM,m8[ Cđɫn!m Ƞ )mwvWV?)kkkڑA풃o |yYpLYߦkv `d,b?8gPiPhL֏Sݛz txk8Ğqsw Yѳ8B+�&\"v}mH>߾XpH4~Kܳ):/ldd_gs&`F@1T hJyGнķ!RP*SƕEPԔy`>:c[2$F`N'0*A@PԂx�$/tC]kmnDlɽ$b**վBU5h^>�m{0Je"]M�t?Z"%eaC GY"lϘ\hs/>)Ȅ,UXĺأ*d鬣jтʼnG%-?@N8<|` tOhI>w$ p0KtTH�vlR';XE=;<l5i(oLr 'r.}(92t/Ҏ }X.KV㘃!&O&" >`gɎx@6,$RxΛvo^gI(wʜ{%ў2:*9$BŮPX5%B+Efq{DGH[Ӧ6݅Op[~kuw]g27"[䄊Ly=uv0 -tW3OP 8!vy۰Z<;BWc<u{X yS;ixurS:MN^2Ҙdn"y e9k1Q*)h1O =ȱEmzlj`&Y Hj3#c]ڨ߂Q7{uog20c-];l;JZi]pl#y҂_8?1!ZC`/NՒ}dcH1~c"$XDޣm}q-׶>'E P@$MCwϑ3+,KzxQFOzA-miS ^"^'tcY:c'tGLvNv^XECZH?`In %$JBO]5G۷-R<鎏: [{vAbE~o{ch/v`r�@5n?_5n1QD8VvUjK!P}1RNIgp�U[̶"4&Xu+1g O9Xo׹1�dʓC0~_ |rg<3gW颞f ؤmϮM&6f=Ql bhE蹡TѾآN.y|2lA*6w)DTU@_=o endstream endobj 940 0 obj << /Type /Page /Contents 941 0 R /Resources 939 0 R /MediaBox [0 0 595.276 841.89] /Parent 938 0 R >> endobj 942 0 obj << /D [940 0 R /XYZ 144.727 740.998 null] >> endobj 250 0 obj << /D [940 0 R /XYZ 144.727 635.383 null] >> endobj 939 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 945 0 obj << /Length 1331 /Filter /FlateDecode >> stream xڵXo8_iU)@vӪtLH(?H!!ŭzR93x0!# ' |uF %hLN=8@8 O>UKs?,NȘu|l<`"جY= / Yxm O.ji×!4F:-8*FsQDz+ZyN#*֥_7 ͳg'%)]i_?G[conn<z*Ů_℄-_ԥh, 7(+T�ݬӉKyO gZt7[VV;}BB�X(~s@fs,ծ͏ڷR26Zr]'H?JU-9԰4zN0L-.P<+^wϋ*VhіQL/>(q&Wq]2g#bxXiGaV3+Ds(ɪccɨ:/%O.'e!YyJ`Fx]ZAN= Y<C`U#*24Nl(n**%>`+@9tHڵkO M|yEybE&k77 :##h~ BRGi4t�[ p.EMƃ;,$!yG0$ >4pD"邼:omwqtu\7fO:cHZi'GF65> SM0 3VMBK- \U8SCJjh@jRUqNӢlv7L*>`l?$†u)M*OeMhڔjpI a:5D3@C%6͎/׈M epVYr6 Ҿ`ÖvzZ"SЖ)%̰dLQSTP pyhK8yŜ55}ą|ڽe Y'$j𳵻6[s){%'[ ZкTP>`V@ֺ⹒QϵY܈L j;h )ZJ 4bYs!y){ʼS"X&/&l*]Vxu{ƵsY>4/23aYm`Bc6>7n.mg2|3 )wwkP͖ـ#+E\XI1$u<z /"wJ\˦`I~x"zl_R[אa!{ >PL?7O6O*iSAy?Jendstream endobj 944 0 obj << /Type /Page /Contents 945 0 R /Resources 943 0 R /MediaBox [0 0 595.276 841.89] /Parent 938 0 R >> endobj 946 0 obj << /D [944 0 R /XYZ 144.727 740.998 null] >> endobj 943 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 949 0 obj << /Length 1934 /Filter /FlateDecode >> stream xYmo~BpD}@NrW\z@K+K0E$jwIQ&} pv̘0#39T$Hk5[=l $L0KK&L G*֖w?|bۭ#;"Ln bcR/cRe [PTG ²d"?S~ɔ{˵<$iZ>[1%x.FXi~6W18P޲J}:?eU61YKBbCRwW$yqigİ۝Y,:Ϫ"Oduʒip X#&uKݛOx> %g_q ܗ1MfV2ɩvAEcjA}(}Y/XxhB=zX{-h9iewyXR#@<ܛ-v~5  ӆ?Ux+t0YyGAN*s8s8+$a¦#y+i'mXcCOEТkEm2Zt31Q!vB-gX8&eQ}DD&gݹrE[QirZكcl<4Yeۣmmwz>A);Q֝!Fԫɀ漥9Z,9aL60 }\GN\h q,X*vqgEBS1E8KM&]94d1:4)CGr4P4Aԥ;`TxYnd!$9{~?,#.UpoeH@ P�5ArmQ z�IDL`(ƭ˂USW#FA{EƵOMu~1&ww?lB|?:O[ d|4J|Cι;ι " WrQ'R:KE&Pp[ݐY0�g%foɖ1XR R֔5_,.i\m4m^ҳ|<c l 9_?�xojB3 K*\@bU�mF.jT]j@ xQ1RÒG(̶^%<ye>X.j)(]q8&M.Sw&y(ә{V} }+S㷼\Who.UT-v@t:K QuzI=d2? -%]`b=Z'8% +kple:ɩB05MkZ(g`aLY�xix ]ڦ-E>oaCPӅ^NecJAaI6߇nN~폯ɻ!]E4x�D8'oZa8$C2OТ?3ٺ˨jՄ~ᢦ̭ 2CBo.Dh1To%\cdPr5XhL~l0 uХ%vH)~ Йt-=ühcݛ5*t:}%[Wu8ӕIRo+uG.E䃿yݪϸ6<kKt&SQedkmIz2(zv'ArH^%/-4J6lߓA;g"LNqPum1)hQ|"*= U㰙 xJtL;3٥#A۰.MW'fY9C@EIoB1yk/+[V]>}>1V\{iN2h>Mp[ rj{NZX W;ER +A/:@9XbWYendstream endobj 948 0 obj << /Type /Page /Contents 949 0 R /Resources 947 0 R /MediaBox [0 0 595.276 841.89] /Parent 938 0 R >> endobj 950 0 obj << /D [948 0 R /XYZ 144.727 740.998 null] >> endobj 947 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 953 0 obj << /Length 1393 /Filter /FlateDecode >> stream xڵXYo6~ϯ0%ERG]m}(>(m EA "rL X<39!&PB?8& ԯ7Ȓ`AaGA@ĊrA�b?_jy t8, %ax!J 6!p?3`hH H*rP:]*u,X];s9/hN!2#a#-L5lmB�*}TN^4o#, dPnHm" L�숃%Ny҉ɪ;e ˾@uI,᮴:3?$ޏ)jz|ڤ]`cτUkP3 CK&gVXs4�Uj%J.6imR- G؛O1tvD AH{ mZLՌH7Xΰ҃$${QlIל?ڴ,J=0>*mC;CƖCbKg@BJ *Y++s4t͸;4'ίEp MTk<uEí? 0.)Ιp4:Lb$ :E2]Ió݂vMc߻}~gqdn}ګ&ڦIF V 0 DF$JwUG�]Aij N9!J"j8J*F —NEZ%2fxV]˴ƿv0+q!Wy?tJe"AC<ix}Pb&*4jOR[:vs:f_wov,Z~-{RǶ�"oLK:<'EDwNch-ks& V r@<ynA_ǝJ#{+T.NX Gl/0=t1#qȎ ;&#]Z(do*qvȎDvCPWdx%AO_MG s! AoVhȫ Luo}ab`O/(BD({U^k6Ly󪫄-9/bE>Ob/W~xB𭽰/{",7 JKDZ1h$΋y`0eyeWuC?lrr=U[nRė$7S/ -/o (7 RNe79j$܈G~OOC0A~zCI: u|5W\ H7m5bTGcdB?e@2p�\ P|v:" Uendstream endobj 952 0 obj << /Type /Page /Contents 953 0 R /Resources 951 0 R /MediaBox [0 0 595.276 841.89] /Parent 938 0 R >> endobj 954 0 obj << /D [952 0 R /XYZ 144.727 740.998 null] >> endobj 951 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 957 0 obj << /Length 1694 /Filter /FlateDecode >> stream xڵY_k86:˲d{ޱppރ(loFS;q%K)Բ<f7:Nh(&Q$'Ɵ<§?o%a08c<&aX$H/_` _h|DJ9 $( ru#[Y颮U5QVOMOQ8 O:ɩ? |Eԛ[K=d6ol%3^LZ/*jx 821&߰=O[=j)*kv o5^TOy*SJ6b`- .*d۟ucݽX)蠘tM.S84NR1C61 Ck: aPoݓavt3jcXdH兓䱾%)"{P*0![]=ԥa1UY{bp)"SEmUviQ;όR8h1]TvSE@Y qGY^dgSM1 }%m`2W0zRfqDƴW89 $:q;[XQCھ託f(\/:P•s0I.LĄb0Hbp=aB?`O@y`)EަTfZ.FRbͬ81xK}#N9t�c_ l)3MS-N@acω/B5|4I:;|A?UgZ6mk5~ԛKvf 8̰pM\R߻7}O@�8ym&RV;%iPtsbpʺz!^��u\,rt]di`ײL S|Y7뻡M'%.Z?/@K;e7?:1WGCxBCYF $BӲ B9d`i2/~ͻ5Ll~Qb4FYѹ:(*Pkr+}{{@%qN)3nD 0ʕ|,2zȈFAdHBKLjo襸'$`-0BYBBJSHe&U_m-޷ `wrN@Èd-w'u;#UN,d%tp(9R\a@tԧJ 5[svYDGlm޾CAA08 RHy\`@l ,L+c^1>89 N=M=>1ꊑ ٛh\4%vБ?0l{0@.MiPZg湪[eFA[: iCURCy_ ȥob.$bZsc ϵ}7.2Ih:v].&FM*4 *FgYfj ̈]v$.=Zʵ3r=8T''X\Fݯ7@W v_.wiHj[wgo1)$fGܟW\ٳԯ!m*PV<V 8:6Vvř0(bXGa?4Eendstream endobj 956 0 obj << /Type /Page /Contents 957 0 R /Resources 955 0 R /MediaBox [0 0 595.276 841.89] /Parent 938 0 R >> endobj 958 0 obj << /D [956 0 R /XYZ 144.727 740.998 null] >> endobj 955 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 961 0 obj << /Length 1637 /Filter /FlateDecode >> stream xYoH_aK.ɽwR6oד�1 X']0\r)3]?`G'X%BxwFW03K\?=2i<$B#/pg|"b^$Y a/B"|g]FB%o[6KlBrCZO<Һ#eV':tq88%4t9>h>î7z,.2W^nz]ֻͬHѣz#"d]B�Cb.mS+IKFhK= o+3Ti}ԉ# z̺Ud Qs(oMU.#,I[jY , Y(9z%a<$:eԯt$Zh\id/t8u_ޥ<u&PǁhW .ج`PXQaK[Y;a}�F99[%B4N*g>1ivWucxS qɬgp->أ݉蓠#ȂR CQu R<1P̈j:Af l lt\U R>}`-\GQ7mPMg{g#CTCShkPkI$4!'<fq#o%r IC)>CY@ ۷*7IbPѴ�4pZsy&A|*0(\,zD<K4ns7ZrHgkI4pZ4>j޹A,~85`3-1PTVZ˗+] kW<dڼ<QjZ ?|})"x#43WdnzUteZKX>|5! /y6�wJp!jLD|6ķRDe47yT O80柈:CTI$Nwi8?W >OS(J}nSW$=bZ?lb*Pɺ'@-T}vgP]3 K7ሏ>3(G:H ;T*w"jW7p]A o}&d\\ecEwZq#ݭ<//nZ!_CjpD; #qE+,@fwϕ.QחAE97iZOn }?.aV3gV{Iؕw\d֛]hojYF5R%h* !osYvZQF,'|} E;B6&<>8- 7/4Y/|(<M>IR3AZG ϫv2#l7.t>qVP%\e䝜μ#p,5;NDәWADL�;zRGDkimS*lӥ5l>5$'ZvI\*m .d'BUoo͝{`:ͣnj,tg8]n1fbYեLc1^w{4*l]{`#Pal ?G>C4錟 Ř92(B?al<},4@endstream endobj 960 0 obj << /Type /Page /Contents 961 0 R /Resources 959 0 R /MediaBox [0 0 595.276 841.89] /Parent 963 0 R >> endobj 962 0 obj << /D [960 0 R /XYZ 144.727 740.998 null] >> endobj 959 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 966 0 obj << /Length 1441 /Filter /FlateDecode >> stream xڝX[6~_XRdҧttiaPAԱŎk]wёOƋ�!I�ibC?`328ĠOY"Ơ$J951C'/O1[$(zMꋾ ߉֣5BE m7]Dz_Q)Ms[&.hS0>/;=(Kݪyh"7k}af6m؂L~G >K]̂LRle,ĝtJqDB2O�N?ӯcע{}둲8=}=f9r*cL+b Zu=o.5^aK\1JbB*ۄЧ/r<tzw]Er5H%r3ak6jao67AT14?k6DlՇ!�βUAc<M2l%"xl<z_*:` n=A#5x؈!J='q 2e;5'uFqC"ՀB1, 1=ߒ 9=2++U&Id+=U[Q%SWxI.Z=:\6nU~pWfȭ`HR0a{q_Ŝ@Q[+$D-^"c? Hʢ} Z1Lp[ �4]rpʼ^2CȄ0ox^uvk<NA-7J mR4=v_E#;G {0 \u"S%ymIЁ~! =DԠYd/H3^FRxn@H E†1 Tb-nBIiJ 8/2ѽ%A C;0\#KSGjilloc3%+Gp= Z=+,dHBf"r|ۋvleV^A07YsY>=yRر>YW\ۺk,BILӦ(Eo|v[}I fifg v:YOAV$sޱat"j ͏u2|$Ddcu~,AYK¼#7c!O.l 7|35ȸ ՚,)s|6xV򮃫=63j' Z*Bi "hdz["p"S"_u ii5`vC=u/thfRu>2oVƗ٩MߕʫC ;!U͞LĆ=Vf%*tk꺞/pDķNc(1N][ |endstream endobj 965 0 obj << /Type /Page /Contents 966 0 R /Resources 964 0 R /MediaBox [0 0 595.276 841.89] /Parent 963 0 R >> endobj 967 0 obj << /D [965 0 R /XYZ 144.727 740.998 null] >> endobj 254 0 obj << /D [965 0 R /XYZ 144.727 497.869 null] >> endobj 258 0 obj << /D [965 0 R /XYZ 144.727 279.017 null] >> endobj 262 0 obj << /D [965 0 R /XYZ 144.727 249.235 null] >> endobj 964 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 970 0 obj << /Length 1278 /Filter /FlateDecode >> stream xڵXn6}W(@͊xibvi[,Mj;)[Irb:gpf8'8'|%ۋp/[1C{`rQx$#ŏڥ�ӘLY:(abXݒ8je\\mv7}Qztz03'it?$@�j?B>CUv de}Upæ#δf`u bJ[AEYĭWebը:SM*+R#(seA6U4]~ױou r%ƛP,5DDjQB 1̈@ !0 >aTJpBàQ[6mP"?1+`U'A̦QKh0U0e4@0$A_]�[Y,͝?:Yq ^O) `mLrqb%1ET t*{Ҙ AݒY2QLHL7,{ӽ^^˦Qnj5`cB_^h@@p _uچ2'DYs!ۯ|@JjC!KAΨg+ %IV9qU-SK6gݮm@K#x?�]�J)k5O)5TZ+!pfe^ 3lZۃ1C18fU5kՠ(d1 ozwtZL벲x0벬:( lYZ[w1I{58G 'enΨ0joУI#q?Ec8㸃~.:w9#QHOXlK'qs;Gv5.YVOb eEJʁ<+B}UwP(r.}ib@}(Hd~l(n3U:]"H_)UW3œΊ}v "PUdo{~`|Z:[oV묰LL(FNM„UUSӗK_Ne0 d*QFkt`gJH s܉\] CE }h_[tW͈q F>}Uƾџ<z{td9::I{p-Cxv֑}c5y?;b¥j:Ll?vÖ{+t3EsOV}X>(Ş|&,endstream endobj 969 0 obj << /Type /Page /Contents 970 0 R /Resources 968 0 R /MediaBox [0 0 595.276 841.89] /Parent 963 0 R >> endobj 971 0 obj << /D [969 0 R /XYZ 144.727 740.998 null] >> endobj 266 0 obj << /D [969 0 R /XYZ 144.727 603.503 null] >> endobj 270 0 obj << /D [969 0 R /XYZ 144.727 407.862 null] >> endobj 968 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 974 0 obj << /Length 1331 /Filter /FlateDecode >> stream xڭXKo6W(JZ)n.vT9 nk I=5)q87$+Ȋ0E4ZEXvŝz_ u /  'x2?o~ ͓ݤ E>n~p%sc!1":IV歬5}5WVMkOUS+LZ;A Ěa<paH/dPPˣ,?gMUNlw Z]VΈ+N$Nו kA3cv{|~ KBR`Z ˧H笼BAk @X0*E"|pzr4:+�2[.!0|CyX x C;xV>k·(2mGE1 ţ %Cɦ*`l2k%S^8|�"`ݞiS4]o!Ly=e?\=Zx e#%MRU#~XlEPFdl'3QV*.d!_kF=p}? ĵG ,|i-1Xd <c;9cŖ�v:`Ɓ`- _ن2E%g8$Z94_baZ)1Ksh^ ShNA.ay#35Dhjgigo]KYwLeGFo]6L:T}k rpqsЁnWArn]fU?%NS2yC+iEOLLtjՎ)iGclS7Dw}F_aEs 9uf%f١CL+|xkrg;-isERGU;OŌ AH;0< i lOԯ`yc~p2Z$94%%�L7ka?D͡JWV|{1?6?Nfpl3[:`+NfN4٫߷GC1'ԘOh2)dVbbpH>%Ƅ>)T$Mw4Tty=ٟCB�gm(3Ҍ€f6kܨMWcgl۪%Ms8oo!"i[]K�4Γ?E̋ܟ.j}RQvIEC[ f!6w3`\C&|{hL#b ntendstream endobj 973 0 obj << /Type /Page /Contents 974 0 R /Resources 972 0 R /MediaBox [0 0 595.276 841.89] /Parent 963 0 R >> endobj 975 0 obj << /D [973 0 R /XYZ 144.727 740.998 null] >> endobj 274 0 obj << /D [973 0 R /XYZ 144.727 597.989 null] >> endobj 278 0 obj << /D [973 0 R /XYZ 144.727 575.87 null] >> endobj 282 0 obj << /D [973 0 R /XYZ 144.727 363.417 null] >> endobj 972 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 978 0 obj << /Length 1287 /Filter /FlateDecode >> stream xڵXKo6W5I=.[-h-Ѷ zE*%b�1E ypfOd,c(E0h7xW+B9EA`<rEyB(Ow7~ݶK?{$嗻?-_D(pĊ.bZ`E0 ƕ "^a$Z|jYag @ ~}+U% ԡ6ä3pO6lʎJͤU+rE1~dkJ,T~4s{J.VsnξIeUk[SW2bgO(KV&2+19>%(c|m-1u l ;v^MVT[btHN?hu/8o@-rw\w"Jٶ<&kp  ~ 0~źIJ-}o #ܶJIu(af]y|ȫRyVNUɩ&)zo^7)Hdq%v%f]f'푉^J[8gCm.+wM-vCQmS:Uq?m}7bij({@8W[�mZؗџ3 W0]Sx.')I4;yf{$+E!}h`ɨ\ӎy �OզSwrߞ*Hзἑh6w'$KIM\NwjӏCVݢ ^3xߝ>GNp&:.׻˝swn&Mbvrt(W} 1GO)`"O2~&dH4)PHHMp�ڙ$mk {wȕy{2 j2=]* Q@ z�UIu4Rj@ O1æUܲ<7<3ikYFdW`^“?FC}$1 ^we"J*9 H+ s VM!(Y7,91ϹἽ͊rg h?eڈʏۋrz r@h=Tspq1p \C b{?Fs`@ZcJ[tfzw @5strǛ9A:8:?:yfVZ3/wOnW2�?Ǵ12`.?vendstream endobj 977 0 obj << /Type /Page /Contents 978 0 R /Resources 976 0 R /MediaBox [0 0 595.276 841.89] /Parent 963 0 R >> endobj 979 0 obj << /D [977 0 R /XYZ 144.727 740.998 null] >> endobj 286 0 obj << /D [977 0 R /XYZ 144.727 690.572 null] >> endobj 290 0 obj << /D [977 0 R /XYZ 144.727 258.422 null] >> endobj 976 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 982 0 obj << /Length 842 /Filter /FlateDecode >> stream xK0U^JQ6 bdMdmeaHid)h((%q:[;~Z`DH۠@rl,& (>.V_gs>hGTŹ%`Z!`qUkӈ8rbD"4ˋT߭rJ۾s<BuiĔSA]JjDŸ2C4qH|9SVZv‰2YpUM.Er&\C,.zĥZVMfyEz5yټ /% fQ/Ō̜CKb#Fk`ө˱9DUnքH2Uր4) % ì"f#v?Y#ѫr  VI�>VMxŘS#O61i )aLV1#dARl_(y0ΤIk?]@/E cR«ɎHQyZ\EH@|E$W�hy)N@^QABvV rIW7kvѽMB�D }p{ !X|% bƘZ=}S(%yDݺT3n@n;.pYef̽ޕnuiҕy�<+6dsoN;";;A|CG7Vz%<,`Gpp"b@Of[usp[^&ޏnH܉WIɋp'Muomd7UC9,TI; Seendstream endobj 981 0 obj << /Type /Page /Contents 982 0 R /Resources 980 0 R /MediaBox [0 0 595.276 841.89] /Parent 963 0 R >> endobj 983 0 obj << /D [981 0 R /XYZ 144.727 740.998 null] >> endobj 294 0 obj << /D [981 0 R /XYZ 144.727 461.432 null] >> endobj 298 0 obj << /D [981 0 R /XYZ 144.727 235.529 null] >> endobj 980 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 986 0 obj << /Length 1450 /Filter /FlateDecode >> stream xX6WË"%Q( l&A-P=4=mHCEʖme>"f3I?<4J') Qɲ 'kXz#~uF(bIf|?y (|Ng8 `>MipYb ݜкv"CYB, 3W I]pmG5Si^ -L0]؉#;�aՂK jdO2D$#NPW-hr-q47R4++4"O[oQά~+V?T1U!bGZ `ɲ`^FT#0Q,Un,U+03;T.lhybati4q|mUnߐJ_KG b݀E$ΌW!Cgz _[?3j+Z\idfw-v QDmc& t # py=s80 !2+p[XVy_ۛۍ*<o@lmvJ܊O0&?wu#4^(}.tqB^@| " ӊֹ̥Þ:UUJ~,7xzd|؃[VtD{c/|xmăR;HҐ1ebKCPDk=08Rm$lrksޜ̺%s(z*>pI"VZjQ9I Ρ#/\p.DE>9A>z<VbW溰>++Ws&٠ݬ"<ٿЦloJZO>]npDO01;tF&,&ܥ\oȺ+TuS1S|' bY4,oF.s0fxY\;|Zbz'X?,4 aIdR;GWc E/]l;fY :,@MnX]i!3*TӺI@ݒLtQ[;8#ݬq0;TgW\ierj0ת2p(:pnoݵ`XڣД%y|R<o�qx,:!#7] ˜r1pyרǍ6|S!^3C}S>0t{hW(Œot%9姕{(]+@M}FJ_,,X Ӹ[:Š.Mv9krI瀕k]t%BYSTN|0y*B@%\ԯ_|X=?SyǴG*Y|oY/"t3Fh<db˃vXҖS=^45/KO~YWxt=.GadW#geASx]Vy|3)"e:PMu D ޻Leendstream endobj 985 0 obj << /Type /Page /Contents 986 0 R /Resources 984 0 R /MediaBox [0 0 595.276 841.89] /Parent 988 0 R >> endobj 987 0 obj << /D [985 0 R /XYZ 144.727 740.998 null] >> endobj 302 0 obj << /D [985 0 R /XYZ 144.727 716.092 null] >> endobj 306 0 obj << /D [985 0 R /XYZ 144.727 612.189 null] >> endobj 310 0 obj << /D [985 0 R /XYZ 144.727 370.484 null] >> endobj 984 0 obj << /Font << /F83 563 0 R /F74 556 0 R /F75 558 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 991 0 obj << /Length 1415 /Filter /FlateDecode >> stream xڭW[6~_*Z5SUn>)RfW*Vp63dT|w?B7\.Y`;lxCA# s~ .SSw >YdAQrÈzL=׏l=>3Flq~1||9S^I;eDmcZoY-wtg{" <Kyyj/ Veg=;�m}l,!5"i&.Y!iCfűKoH/kQՂ)UC e>l~_0[VGb֚&;ɪ} T~yE W\$%EgM27﷏b;Č<|Jk*Nk#fi"T7@>_3 [~x@QO4k`"~1AA&fƕ 5eKYD9EzD/B&6<أHW |ȶnĖ?'Y| ov~w|^M?5{CqL:yJYi-Zρa::v^/ dP 3fL.=o%vC} z=Y% P`[W#Έ7-ap 1�r.Cq\e@F\n4ER#"ia 'vEb;Κg  )e>(4xn>6D&kw~ܽ6v?!A.JEdz|՗5&+GDnުS.I?险܆z'riIaun uy {Tm]*y@})g->�F=@ mY[rLíN7Xc1.7~rSZa1L1�&̬maO bİW ")X^8o *3wJ*˚,ͬ7uxjXoSdo@Qg&sWTDzCVpazE4>@~PWk"Yk83DRDoz͗dHD@7*PQkMwHՉ(dLxg#x/XOaE' Kcs$׭Akcv?9LA/>CK.6^"l8JL(Dq1[%^LLhSዩ<8P/b YMcqmSMԤ6ٔRi 6SEUh_CQ,=T%ڴ#jhs/BEhMOp{YP!x(!\UNx,w1*_UzxEendstream endobj 990 0 obj << /Type /Page /Contents 991 0 R /Resources 989 0 R /MediaBox [0 0 595.276 841.89] /Parent 988 0 R >> endobj 992 0 obj << /D [990 0 R /XYZ 144.727 740.998 null] >> endobj 314 0 obj << /D [990 0 R /XYZ 144.727 240.863 null] >> endobj 989 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 995 0 obj << /Length 2115 /Filter /FlateDecode >> stream xڭY[~?}("5CR-/&inhX9*[-Yr$9{6̐VgMqc43Y-XB%;ַX8Hxbs M0Hfxߞ$f3(Hߺ3O{':/m;նY|ûTD.9$h6, ЏvZGKNUa\D.l6.YTf bcƚt8ևN`)垖uXop<ڴFFÀυ<rRQ4ʪ`KM}OHI1߶Ҷk/'clx%QZ4,WRg܂ xI; NBA2k!G[f^kVfS V6J(wv^hxipvB&H,-h4gjeW΃�yQ+ͼpH"JG8EegW VN0{dqq?M+O1\!vofތ k;?ֵuעKթt/)Uu$%1? T&@&&&ю SZOG&4,C=+<+X1gqd.6mZq' t AGXF'Ӕ<tW9&e) y wI!^MNK)]dHt?E_y+I ʧDMC?oOwb=2 kT~ݺ ^f*0O;fQԄ㘸RXHEnz'MAxw%ي #7kbM> e!� C'O ]16-z)D4,H<Kٜ,A%/u|~OF7n9#Pz]}XVYXŠ#R3u\Av[C?E~H[q6_}mU`H缭\omfEϿK[GCBQ(2 HB)G麘<ʡ|ﯾ�0"=Nhp.t[p!s΋__AIaҴ8LTGg_PqӡNnCZ ̌AKJ^̉"Ԝs•y%2܆_pyFpZ$J,j0{ Rl ą*Sth﫺 5̏vGC08شxWK[ՙ z(Xe M%<+ +%3 Lc)WmuiftZIbݕgwr䟦hO.h9>Ӎf4kRM.ަ1W; YDr >Sԉ_,)05]M~*Z��ˊtcYP)jPS9tǝm:sjڎ͠p4RM?9|sw(Crf$q�"i<,2,G԰?}\ GrUG2,.`_ pXA "8 )ZɳN$cA^GʮmX*LC~,`r)1|s"P=u͝m[ `I:qL&/DI>MaK7$ D/`z(=6ު8?_8`x~ljs`7ܡ< 磝1Fʗ3TA-L5pb IVwf旓Mg@[ߛ0u7wM ŹͺsD!]K$ㄔ$6'nS}Pil\CbAtyjh^qE. 蓤uxqA$s{cB8I.m6oIA3̵^t}ih<V.6 DP s\f;wmOF8Qcxc}ЧԀc8(r_beèӜ+'達ߝv%D٦A)%0bw78R}>S#5>2$ K2endstream endobj 994 0 obj << /Type /Page /Contents 995 0 R /Resources 993 0 R /MediaBox [0 0 595.276 841.89] /Parent 988 0 R >> endobj 996 0 obj << /D [994 0 R /XYZ 144.727 740.998 null] >> endobj 318 0 obj << /D [994 0 R /XYZ 144.727 461.432 null] >> endobj 993 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 999 0 obj << /Length 1453 /Filter /FlateDecode >> stream xڵX[6~_K%-oq7n>ԇ>0`mH$,E{|IfHC9dᏌ((%-xW<E )$H̚O~ %ie>-$t_6Iaޒ%_ K2?M:lSfXol2%/0BԈ,A&JM�.iYz:UVͼxTm4S&-d1�gN@2C " c<Vt{X"q\g8k>u~!2 i=x jЈu^7in(Ҧ3S'Q)ZSmU\rH$".z8ܥjTչ=n^;dcʺAQ<.NP$njҍvybண%\.9Cpg[guђJV[eeQz'iK҄S$)<"_76jT>x]WEn\W"<Jx>MҺ-]>MzV/3dxԗfJg]IrL>xygbagJ7O xc}O�쪼v7@wBAo֚]ɣġ< %LK?a٧ ʗ2/n;h` +֑N`\_MI׭B X 0R@Lx2#׌YFC8}0Mv72N>;۽*y~ސ'_[$nRIθ1Uy 9c&ss0yjaSWc2rc;~΁ IVp-<~8(/WlC2U5)F)(/6͗%3 *q*pU)״b&Ӫ,he u^mq `R˶\R E; d[mډ]M88D\y<XLLIh_|3T}\{is-'bJ'Hvzt"\ ҁ90ƒΪ<o}yM@2G{t8Fk.aӜRBQ+Vnm`8i=o�n7C0.5nz$"i{"t_n] h^ȈP 4mx}=/!^;A}aruUCYܳVwcp˷Uij74*JE[kV^UԞi%B깄MW 90uؗ{}陞2i}5ljZn ٨rWo]gI 2`"q"T"a9<7endstream endobj 998 0 obj << /Type /Page /Contents 999 0 R /Resources 997 0 R /MediaBox [0 0 595.276 841.89] /Parent 988 0 R >> endobj 1000 0 obj << /D [998 0 R /XYZ 144.727 740.998 null] >> endobj 322 0 obj << /D [998 0 R /XYZ 144.727 668.26 null] >> endobj 997 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1003 0 obj << /Length 1283 /Filter /FlateDecode >> stream xڭX[oF~ϯpVpOjjJ>ؠ`0ɢ&ăΝoBȂx pzqb[}]'6Ѝ`(řVw?|sGW|gA v�y>G뱧)rֈ)mhӖXteʔumQQwNFPKI'N.A;ԩ*٦*}k4zB~i$=b񋹢|rb̛%ENmZr6C>3bĠnX2JJ&5ݱI'kq}tEn~7ˢE_`r}v$tC((_Ɏ<MUY 욲aZnat�1Z@f ķ'1fJV+{cL,E(2hʾ3@L'X|-bۼ0-Րd,φȦ3icնΝ.I4w~V涘qu@a�XO. ٻcǢkVWI ]l[yBޔ m�J]Ӫ^n*`DZӝv|TJؚ| K/&*ӧ+fXkڃ)<<u<o,Bʬ|_L*ySC^]@XS{s]OJjUT`;EB|wR~#b6Ń>=PiU5w~u~aH}0->rIDà 'YU=qBE Tc_ST]H-"]�b#"(`Ef@xZY{ Mbпۜupҵ%` f 6 nm$6ԠI" [77J\ _{"_,>WL{No#<kyUjլK&b25Ɯì+L;Z-;fȄQki&+xm&^56 L{IF|WWl;ke*& `\Q-OǼfQ3Ǝo>"xNx܄|b3 %z eݽ]/*ͳ3VTǤnWO+oD RJ,nn|Ѭ{oZ.qMHy|dL}4}Nk 9પQJ&7)kendstream endobj 1002 0 obj << /Type /Page /Contents 1003 0 R /Resources 1001 0 R /MediaBox [0 0 595.276 841.89] /Parent 988 0 R >> endobj 1004 0 obj << /D [1002 0 R /XYZ 144.727 740.998 null] >> endobj 326 0 obj << /D [1002 0 R /XYZ 144.727 470.273 null] >> endobj 1001 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1007 0 obj << /Length 2201 /Filter /FlateDecode >> stream xڝXY6~_`y 396{ X`C&DB˒!m*ꠁͣHvGݱ8& O,Kza~$RȔ$"ALRodac>G,t?`Uޥ$S W"d~G&Z]V]:bɢarUM~9D ԒYs7CܫyWWB_,^Ź yz~:V}| [6?`N͖CNMӤ܎5)&RSG+ [<T@+GY<v$R2j[ӴF/\aH>{ÐP dE8_~tW 9GӑKWQo3vL 7lFzutg;?Bltj66#6ͽ٬�!益ԍY,cY1|q'0J� 1 u .vд;t%)vmכ3'+ g;bf?*uSNᅰr>gW7Nnz|ݢВ@KZHiI<^PTmӿwhZUndtZHҦL JKu&>"t>6/qoܞ*qBD?k0Hc"Ef]Mx̷Ktf*K)$VCixF#1o 7^0PHG@q",⢫=\�u?mgtyVf,%Z,pv0Q1WW,Y]bkF oh ǡߺE{բp&w˶�*?T@Ñ?;'Zp)B:S �OG`5A^w:/OG?R]^bi H>gDFd0 LT$MqQWIŠS,F˄0&/u�t[7 _P݊$2l:S(u{NS$r?ՀAc)n<+'̖@CMDMOՅv<p:!7 MEEBE[M1!XA``\kݸQK`&%ivoF `/83 9SevP0q$:S!ʸE3ږ5OUu;ۍVjj`,ڃzdv1ˢΛm<7{c/ Op&Mni bO5TCP $ԝ@p'ѓv_hu1 >7=TSC SCR; 8\ň 80E ?}bB*>K2�b/4<!w5x@/$'cN?}`ҦrIF<WbP-N- k Ӹvڣq3#q9GfkF9LvNq u:_c\BRERPzVkm)!;79et#,I]!qtq<w.AWh W=V [_uGa4@(l̛\A"#:Xcꭇ`q,"̀+NͶ0$2~Q E'?ml{bD6O;XAQ̗+A]cKCB7Om'?RI%NR2,l9f۵B.i.1T" 5;6bcCX%`2 `3.bh/!iZ6$ q zw%_\ks)r"BW%.[c}DvW<aWx5m+.HBt#p/ Q'7 MD(L<ACYATAʈDJx4}OiaC! gƣ[pa�]RTA].b_0"j�&/y!@3Ox �1}/& ɲk-/ ؛Cg^ HF3M> OFF 6r/pˋ;%=6]mw}w->e݃:OWʡž zg`Tc'zhI{lendstream endobj 1006 0 obj << /Type /Page /Contents 1007 0 R /Resources 1005 0 R /MediaBox [0 0 595.276 841.89] /Parent 988 0 R /Annots [ 1009 0 R 1010 0 R ] >> endobj 1009 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [306.122 380.959 499.397 391.902] /Subtype /Link /A << /Type /Action /S /URI /URI (ftp://ctan.tug.org/macros/latex/contrib/supported/natbib) >> >> endobj 1010 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [0 1 1] /Rect [143.731 369.626 289.186 379.758] /Subtype /Link /A << /Type /Action /S /URI /URI (ftp://ctan.tug.org/macros/latex/contrib/supported/natbib) >> >> endobj 1008 0 obj << /D [1006 0 R /XYZ 144.727 740.998 null] >> endobj 330 0 obj << /D [1006 0 R /XYZ 144.727 612.739 null] >> endobj 334 0 obj << /D [1006 0 R /XYZ 144.727 434.433 null] >> endobj 338 0 obj << /D [1006 0 R /XYZ 144.727 412.314 null] >> endobj 1005 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1013 0 obj << /Length 2672 /Filter /FlateDecode >> stream xڵYY~؄2,/^y d6b,Z3<{)Rx80>Ru}UE~qHDwb~wYa/o"金Z؏$< nÛ?OBy3;W<fqA7OWq #*6nniU~VyG6WgwlL--;ztij_՞]M}Quwk$ͭ2<9O&nP(GŘ(@ƽBF$0J;Yq*]fL3іfJV-M݊3/ݯ/-W>pW*Gdo?, �!|ỸCew0 OԳ&^|Oo hn:;&V54gK3A!^cN ? 1  O9bZ~p.UO7uU{o56E^x8}fZZk8H,S0-t"o܌ty΋y<~F=ӽMT,c _?$I>W1/٧ý15.ƥ4L-._]Wہr'n:^Y&s30veE/s&9`8P Ǹp dD!Fh,t ƜTY(? s3"h6f"7@ _`Ux-Q6X9ŷzcByv FaF ?FT\=tEVwk B`$EH'fM~h$4 {;|%nfV)8,]֨g/hoI[ ` :JiQfyW)2%JZY¼�VI^]<d@!n(Dz wG i97(?=--K}Y;dҞ9<WTiJ?ϐ9ll_q1ɗ<qd Ć܍[>`V 0wwVjV._T,di|A|EupWKt _p=r &Ad}L:&K0L*Ѡ51e X62E`敒rAp9SPzwi.R>_0BF Zфpc %RDr�kP c Np0ʽVTSf�~Gcvy$ bp/[An 1?Vc6iB?|oPx気=\66.-* 5C5NNuNG#ي+9P#^l5g%Z4ϻڎ ?H*h*on*?t[fvModabǯ |>灼K�gP%q`B{"H\&y3.tFW_^#,,4xۻ}mXdS"~,r7^,8 y֞Sp�[B!46<uJ!. 1)T9�2~5a'? P�ċ:<x>+wd%?MafFCv/G[p-iNҰ,}idL4YƮ[Y+Gr#js.AF,gp\=G"o`IB&˃ O ; #aŋ"af@suLf%-ñȅԳ\慜L)oB[K tZnnRzg��O(^JMQg - &>bE%gܕ Gs!]�*(ex0m=>)HLǀ^ <duiS#r �V1JF).j- 4>eu�+P?jx@22Os!v;w7NB`@qŦ&RC$vV~1$; N1V2" t oqv`I"&:L,⮔@YnM#<I`oMC Fg* L>5i!(#UaRwv -[2 )Γ9'+Y] 9*Tj捑{Lte{ $8}\|d)dKr\J4Dz3ׅNQW.\b1S,ãLv 80B&77Oa lSBlf4;v#fm)C[1ӴL!`I̾&,##-m\Y�k䚸-bɗ7td =_OCN8ٙP|<K;y1&~,.QY7I9�j|:A*NߕRPmqd4ƢLJ'6}@zQ \ISn/*-@~P 82`.t qnr(R8 Jpp{dC$^a'4GL0vUZYR%tiRؕ'J קR$VNIxčG|;q fJ U-?B endstream endobj 1012 0 obj << /Type /Page /Contents 1013 0 R /Resources 1011 0 R /MediaBox [0 0 595.276 841.89] /Parent 1015 0 R >> endobj 1014 0 obj << /D [1012 0 R /XYZ 144.727 740.998 null] >> endobj 1011 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1018 0 obj << /Length 1566 /Filter /FlateDecode >> stream xڽXK6pZ%QS E^ @ɴHe5wlyWmP,of8h2Hs47Իb4p8" tB7R\zuO!rSڨIpgMg )1K> srǪK<E]9,Ք7�[y Ѵ#~|S?~m Y@,:k9mǭ#Žq'ů'+GaJ5gy:Rv7 }IDx]Gj+w*dd<??[]/ń|]d%/'_,hx=&Nc֠%5G{agkCL8L e*9 0 X@՚W6m,lX  Q#} 0)$BFٸ/& ilXٞ]"`C})M* oJm'ZXCtYUl,M,`oj͞ aj#λҤ]]KbA_<8x" !Iq`$L P26_hOt8J,7oWzIύԍp&yڞ(Iб~�λL˺YP"<4!CpB0D}x\ V"/&wt/8\9Š Çp ][E#BNЍsorh$ *=\(Sq=9vp�`v 5/)m]nASIv,Aj|SX0A}&]K!VuA46,Yv"x!R @_r?Mϡmy.]=)xT}Zk2ݠ;˽Ga(PCk;3 1h ŢvxP87Cu̍#0Pwf  v>~�w N)Fl#h FԹqͅO9qA7ON*K<g 1۶zѴ9ϼ"f_'cAƷEmk{'~AŗY}lm1cx9x 8q<b78|@q?~e( 5'^g:¾5tA�roU3 6}R0 8MN qAQ#,?wT }~^ȍS1 $qQ79-KЂš G*0e#%u}tagHG=&tmJ|zQYꦩ�bbQQ?NU0\o<eP[3SU f XjQ%?f>a)fԹr=# .Ȉ8 5T;t-zb@p63/Su.SL(\LAJ2=zNx%3{RC.yB^WxE)5qafo}!z}`)3?[�=K/C+WGV/.Hry"Vtendstream endobj 1017 0 obj << /Type /Page /Contents 1018 0 R /Resources 1016 0 R /MediaBox [0 0 595.276 841.89] /Parent 1015 0 R >> endobj 1019 0 obj << /D [1017 0 R /XYZ 144.727 740.998 null] >> endobj 1016 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1022 0 obj << /Length 2294 /Filter /FlateDecode >> stream xڭ[oۺ"@0jN$E]Ά�ZcIT#LJj~ aHba@4G8;pI8\q'Ixû}Ii"_ .!i)$J <jM\jϿq�<+aEvkT QS[T[QWk{woBǗ)Q"J'HԈ${FNrC/ŝhV6mX"Wx6'D1g/]KzHU,HL#/ƿ$?NdģsW|Sc-UD)%A0#<֪Q^޲jA� IP.<e,Ч`ql]He^]楮zM.bvO\NZC@/JnoLa>FUn't4J)'W/@t8I⋅|!rX}ٟ_=٥vkzi Gq7FHDڱ2mkG%2]Hm %mOOBYxY `!*�c:#<,Q4 q6h>H~~a,f/cHb17{)]9gm:\ MѓGw*CiYoQ Vt+ ^J0?@H5dU*Kj]rd]^<ȳ=ց[o @dYt/<;)i$[Rpga{6#&*K5b+> 0C] Y1~˷@ڟ-ڡd[hk%5o?&cRj{gU]P]c12;]S.-ںhMυ_qdF:YZ]˨o]~qOɫ=]4 z 7Tf, ]A`J˕tFUN J֗32,Kٌ ֣8|x&sJh7G*g[pO[q3pJ>c։t[(>z^Et |gպQ;%`6 Ъ+"D Q)zkɳgL/ot Aoyn.|LEl4tǢ4luQO33Q=G6ǽ<_SAin:?I#ߍsJC/*v[r=":9Sо}5? kteFZ?{Y}}O_撲M٤EL n^8섻0jU6Em,nGdFb !DC ~i=[=s\`7+̚V4lw_m)e@Gt72S& h �rv?BkomfZvch83`h)s7fSd+ȇ5vWz:&ڎ{sU̕jײ %46G; ݀i`Uma;a 1 Rj $Qv)Ģj OI;L X'l}d,>Xʁ;V(9dt##A`HŠEQ~NNA@=ؾJB/5QI%C+S&"%p2NiBDf(xC91r' {<!ͯjhcdg׃[$n5NIׯ9 09 :t2i wѝj[d]!)O)op.D&FJʪ!A`HHi<N%%a?|hKYD!Z wU�`b&0+qRKvި7ƃF A yb;*kqᢧSVcMgBY+ʻ1rftte9q;8 o3 ,W1/`Ѓl sZ#IdB1h`  yIߗҹ=Ch6,dvǯLY< - Ih: B8 Yڿ#xgyS^>h߅2cTsTSϜfzW6PӽIDȺ y5Ob~!ڍ9W96;~d8taؿ̲,ݜ7~HQ yff:!D4Y%(%Mv\S"Oc(Dt#GUHMY sendstream endobj 1021 0 obj << /Type /Page /Contents 1022 0 R /Resources 1020 0 R /MediaBox [0 0 595.276 841.89] /Parent 1015 0 R >> endobj 1023 0 obj << /D [1021 0 R /XYZ 144.727 740.998 null] >> endobj 1020 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1026 0 obj << /Length 2113 /Filter /FlateDecode >> stream xڭXKϯEc20fK<L!E# 03ڦڕ%GiC$cb@UD0;9i|s4Gxw$la!sO<\2/GLo?Edw;a)zJJ_,)I_ú9-J?9VFoJv΢X|y'�3I8ʬuS&IcxU 4@*QjAq$1 ᄪbc߇_> T噪34ʝ呚p9 :&o2LV RvnA[ĺXgdYc'T1JhSa:K%#'#l'DJ}E9-\p6"wP�"ݓ; $aC9@1bztdD!* s- BTD_a3yB 88YE#N tܢNpxG[[ TcOOUf2PxsxaDrzDsj)''}p7\/8n1Jyq�Rm"h|q|b=okS{^In-i"Fsh+(~ֺE!X"uc(3~E ;17 Ǣ[4Fh:z'2 Lj{x]P~TT*,d6j>*}KpbV7ὣ= NgRouK"kĝCMA2mu~̊ ֒U,V|rK< sm\uhWAi]w2b`M/$A#bF+(y<@u G^gtz,vCVϰqvk3嗀 W)�6+-+"$\2pqчOG8jgt5\= Wpn V^c^UˌQ$f-l n7Dc:#?Ŷ5֐cp+Tؓ{v xMOAӭn >l_uP[h 8/,hš"}BX6%z#:7kpƑQZ m蘫MBk8ɄĠrO#[MC#Gk:cܝV&t DaY2%S V!rכ*;KMK.ѹ.gaUQ؎VoXچTz_6֏aAURCxr6P(Yl[Oδ6gS$mΉGѮ"s 4AWKTn7 Tkho<ЗtsvFG?dG=)$|t 8;:eyGdл~vG&<R](kCEf2XL _K$|)HM$iQ|Xr.μ*z‚s; 4| ع%ca$ zLfg\8@0Ӳ&D6Q6hsk_J(zW= !ܹHR6.a,,+-,lq#wc[kS5ۻXV C^;,ZZHF1t`)}yG}{`V%E/`2P']Uqv�m7Fed?L =)_yxEP~U܂mT`wwGJ~yC -QUp3*'_>Ɗ~g{|FfV_W(zn qll#lYۏUtiIчz'I3{ 3F,X{{xNg㮱cW*~v,7?GQ^Ӿrw3i˥luvٌHue[SBWV o%[ԟCnyjW@Od7#(a7@P-<h5H}] ^_,5("ވF,5>ƀ* $/ylx,e }3 h'aendstream endobj 1025 0 obj << /Type /Page /Contents 1026 0 R /Resources 1024 0 R /MediaBox [0 0 595.276 841.89] /Parent 1015 0 R >> endobj 1027 0 obj << /D [1025 0 R /XYZ 144.727 740.998 null] >> endobj 1024 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1030 0 obj << /Length 1574 /Filter /FlateDecode >> stream xڭXݏ6߿"TcAS磌>TzR8 pYEw ҆'g>C>㡏H?{e! Cx9\*'B$Xy/~?`(Mú\~^t&PĘ> 9Y/dW˸~=a]`ЕF#sn a�@�2 @FF2P*`(7,T8oC (:u-=v!UJYid+,wr7]䠣<IN6JVk1a޲(/5_?Všt 󿝽fFRSĢPL@i=1*^>E]+9NTPQ]x~%+#b+!wkM/-b' 4oIk2`kcSzr/l:{F@�P4\Ⱥ;ԓ!Kri)Uԋ!z2$w(' |-DЫZ&(0#8zy˱j=8][Det(2Ipm|`HXZz(6)5*-#,6bPPWm|_ X.Uh8 |z6%F:[KCFZ ܯ:H9uOX'rDx܏ aaD$CV-˲0�! B,Y3ڮ VC,k%8#s[Se ={iqбC|о~p4,7rqj_CM!>g%uVWReڭ]kH 1�$md̡ ^qB2L6l<?V觲rF"E (l:o׻u,y=-=sF r,MiZHȎgX| ר2g ҕM1pzTشQX {"D9/q>~ۇVOq; tJڤm]eq|>,G>( V)(Un[h0f4^~ ,}%SbxV'[0WMl0`9vrO:5ep\/wF}]QY#/'.k%) 4<vALYn:>Kj+7O@iG)<#r8YU* {۠Oo\M4fR *SGx5>p31RD"X3/,Էۜ+^MdP`{|+Լǯ~V-"tQLQ+3za*BBzSE_d0E܇ -Lwo }]\Щ`v6,\kmC{`@0'@XW%z{㥞-Cݷ4?'Iѣ?9#.PaFF؜aŠ*{Ӵ*Kۧ &g ؓ cavMĈQX.?[endstream endobj 1029 0 obj << /Type /Page /Contents 1030 0 R /Resources 1028 0 R /MediaBox [0 0 595.276 841.89] /Parent 1015 0 R >> endobj 1031 0 obj << /D [1029 0 R /XYZ 144.727 740.998 null] >> endobj 342 0 obj << /D [1029 0 R /XYZ 144.727 388.31 null] >> endobj 1028 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1034 0 obj << /Length 1254 /Filter /FlateDecode >> stream xڵX]k6B #[t`]oan$^;8Kߑ8ޕֶs &`aHR,wwtơ x@"s,@CHd/ Qwiʨϋ?pO$QQdFYDB7xUb]ǽyRL3@'u,1JmTJoUC<]eT.7qt~V � 6n€#,dJ_ },}R'SW6,4lҼZ^Tigͥ0/F3t5޳\@hw*TԅN"u u뢩qJ ᜹,߰W(G(s].BbQ@T((GXtϽPlӼuY.,zˆz< BʼrJ̤uSfXX..^Nޏ $*Glz@{hUGO:6OnIlVh>Ůη+M<@xx"ETC<u].ƏPs&bBaDDpaFik_i.ĥ ȱgm\\O]p80i0QeS49m~8.&B[̷MTE"ydtz<7JNϫG"~SuEޔ]S-M`EvNW)'2,+4]ly=2T?2>}K?.41 &3%G%Bez+WnCKq끼MU!Hр@]Rңyl,,S= nσi…K̏w+\m~u]ˏֳ]nia--B;n@/Y-3,`NҸr4 #i}a]v 3&<`(�V o_c0(m4+R ;:B}$geZ[[8O(H( VBhy REǖ@םi脅W^6~aiGf47<#?}yȶUzo-l,oO5"vy|>*4xi|i!ǝ $/9_ya|Aߧ.@1l` S@{ors+FhPDPK G1 qr_^endstream endobj 1033 0 obj << /Type /Page /Contents 1034 0 R /Resources 1032 0 R /MediaBox [0 0 595.276 841.89] /Parent 1015 0 R >> endobj 1035 0 obj << /D [1033 0 R /XYZ 144.727 740.998 null] >> endobj 1032 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1038 0 obj << /Length 1258 /Filter /FlateDecode >> stream xڵXm6"ph\ɖdPmO%Jb6f;zq$޳vɱ<3?<„I4EF+%1ChLNb$ !g^?` S?[sY:aʘqc|12++%+#lO0hLV0VQnŕV!K/E=<NV@!hB",{2G 06ꠡ1F+)0%|^3kU2<ϼN•yMi\媮v[[b>`,u1]VҪ_ˍ�}Wٰ]YFU̦PJjd}k:˲Awu)랽z$ zЁ78ҡmʝaD,]hCpʗC⪝2]iR.Rfñ׉~H#+,\"[B쳼0!V B(�RyUڥ70 5W\ зGY{% hzW/8t^2˅؛9\{6\ltk#ՕjPWSh %k J>5L!Pp(%koNkKMUKQy@1CqK�IRÔyPn/6igb𢡄ZWՓ?ăoY{Suyyt\TFS@\c8%l@_<F#aqXdJE<%,ߙUHP #͒G3/)Σ~<Ƙnd+BM; 6@<um<1 K;*|[ޢڕLg%Uc[PJ1 &!@@]rVۊ(K*m {ZCBCha畴#Fcq�%Em~P=9盼Zbeh�qbLi*q;V1LaTvsnU="7DDe tIl{rqœaFyqxsև}40MJZH=(jXZ4z/1u!Ḩx>&G;&ze~P9F}M6Yw˂?x.|>VQgpC�λM<jϢ.u?<lbb<a9hl§\W۫e_eOVnx&<׹mL XUۢoz"tj^H%A/?V * DADiWXD i6PZ$Ta5؞tendstream endobj 1037 0 obj << /Type /Page /Contents 1038 0 R /Resources 1036 0 R /MediaBox [0 0 595.276 841.89] /Parent 1040 0 R >> endobj 1039 0 obj << /D [1037 0 R /XYZ 144.727 740.998 null] >> endobj 1036 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1043 0 obj << /Length 1800 /Filter /FlateDecode >> stream xڭYK6 ĪH=\Mid%W;ÇV嘛b,Y,H)Miep,1[84*3?cD~o&K M5ƋgIߩ=?$ּV䭨6b׻{:C2Wg KQ+54ŷ_(O#ed(g`�AXfޖ Z\캪^ݓȨg_T2c~D˫^ވqGAEmC(>n�IOH9FEk~eX Ӓ,RJ{ysd[M]x2S ~dg5yF`1e[#pF+hxe.% csӞ*?AgEVqɋ(1Rm|ӑ\յTBL<o 0&3{ 4|Y)J50b\+ʪPXq8'#(ͣw>3xJ=Q]+ܘ` %/8Dm;JΨ~CYEN:rmh䟿S'_mmgm Nшs+~#z 0!cGByZfJI[@,cY^xKiJV,ݦBve[g5?HWQR|DG>(| NtZ8::M mw8A[2km03OAI$)MF|&ׅlf,Pqj=)4abDBFIJ{&02@0siw3@o/1(bwwM']74}fG7dxjO*Zuc;`t+GBD3~fVLXZy|vfp!#p[kn{`ayմ&t_֛QXh]%b r%L\Y;y6 ʲne 4+Pv;%,rŐw\yۮM Pןp;\9h]uțOkHM\/LצqŒ3K@*8G8#e}ήaF*2@/m�}A]VF^;z֦Z%zF#R*WT:Yald}FZhxOF5fSX6NV/yzFq,sYOAO;<XXP{, +D*xx\:t�.Si]VEq!Ke J#QG0NUo\m_:c2Ψ~XNnޘtܕ́%UW_m]b) B[)pNw Q y3z%RO#!Cݼ�TzG sG+Nm*JJ)%Ę LRp:`_8m 5j;L̒zQm E]*Z @pc뮩reZy*eD%KO+mR%Pp+q{쨯s\ 󊼚qV3PA]``&+q|$sNzۇu)Zy8y]D3,CΩ4GBg(2f( n Ҁ80(U oA`C6؍Uyw~hwͨ߅_/L ,؃tjqr#]28G&9]"endstream endobj 1042 0 obj << /Type /Page /Contents 1043 0 R /Resources 1041 0 R /MediaBox [0 0 595.276 841.89] /Parent 1040 0 R >> endobj 1044 0 obj << /D [1042 0 R /XYZ 144.727 740.998 null] >> endobj 1041 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1047 0 obj << /Length 1626 /Filter /FlateDecode >> stream xڭXn6}WIQwmZ!E t@[-DU]u{gDJlZbsь̅?:G%Qٍ;7N?}fpEH|!Џs5G  ,$7o2*s]?|1'.qC>[PN"/|!f>17B T?;bsKovY%V-}eG-K|yAI浰ԇ:Nd:_0:"0sP\[ZIe::jNuS،n=> h0&zd*OMB"+$síXXmvrN<Nyf圹`\&(GIeM*K#0%ִRRS=UHP)3k fF%[9,NAK8`,Dh!{EajʪjFwZ?<ݝjV?sFW*kMis&}n sڦӃi%"kcۧ4bw(TA?َjמ >ﺩѺ3YbqܶJf+F]}f`eUڭfsXÜMp/0P#ȉ>'nٹke2-qNxO'ݩYz2ՙgZ&M*n;ԣwLJWzR:2*2Ǹ=.ZF.]_ZMu@nP xx}XV+)ղÿۻYp i6B]~l!s/ 0-طbq ͛lOd7]}D#&dZc*?]^ja_*W,.uR3YBb5~B[ 0$wLm?|Sl7'񺍬iRI88 _;KuXa"KwJݪxkȈ&_w_M"$͏e>ISY6(w%t Ngyy|ʝKyPmvJ2,*L&ޞϓp;eDdya_|0~R&k#)QdludvҶL7ЌBgLTSi3bX(KkgǠTZ=Svjo@flZ˦R5G!uSI€x_TV2dlcGx*4S~ӟ5͂ˆ>me*k,Ol{XeFګVbh4mͩ>lDQaT>QG'4d; {( 3Q�'-FB]k@:0+mSѸ2$6HJ] (*E-B"Dt 3[OX,V{h> WV/ 7E>Xd_~]x . 9}{.uãڑOJz:|<Puڰ-QL( l"îM@]nR-"k5us`ǫt 'ɐl+S% %YYa?~}48F!G~ endstream endobj 1046 0 obj << /Type /Page /Contents 1047 0 R /Resources 1045 0 R /MediaBox [0 0 595.276 841.89] /Parent 1040 0 R >> endobj 1048 0 obj << /D [1046 0 R /XYZ 144.727 740.998 null] >> endobj 346 0 obj << /D [1046 0 R /XYZ 144.727 675.504 null] >> endobj 1045 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1051 0 obj << /Length 1095 /Filter /FlateDecode >> stream xWM6ϯZHkc0ƴjW@ICٙm$$3R5yo& dA%aH"Ҕ/^laq[hLK"O,hQB9 "Yjp?m֧s]; RjPШ|:JvZRaf"h6sp#[(Nh ħ)~ VDuuثVLeJx<(aQlSչn{76.;STu|2o!IX:@~\ͷ[Qk;v-rL-Mg&o]xQżwtVPRXo Fv#q1Ɛ%o }J:!`%qbh'^4Jċܘ :3p^IM!]/RY@}ȵU[w^kъ-D'сg ("h1,U<c cRlv,~QfBE9 ]ۃ{ WE{t8ML#34=7|쬠?swѺ5Z#Ow_0VzHeVݏC 94زi(_1="\J' e){Oiy;߭ 4=AuY6JL]E7Gt]R&]S$u)IM]JX!`h~j+v-[7ڶ&<ЉF8"q jY?;{ۗ�$>b@4>v 4 0//$^5Fon>i$WucO W;ܰW篡=T-#^U_ p4>^*TXm}$FI/{~ -;?<kQ*},EsQ՝/ (S?mal�"~ isk&x7u\Uer@K{f{%g10-wm Ñ>4l47^Kl*HBNr#J4NY lendstream endobj 1050 0 obj << /Type /Page /Contents 1051 0 R /Resources 1049 0 R /MediaBox [0 0 595.276 841.89] /Parent 1040 0 R >> endobj 1052 0 obj << /D [1050 0 R /XYZ 144.727 740.998 null] >> endobj 350 0 obj << /D [1050 0 R /XYZ 144.727 579.862 null] >> endobj 354 0 obj << /D [1050 0 R /XYZ 144.727 323.474 null] >> endobj 358 0 obj << /D [1050 0 R /XYZ 144.727 293.297 null] >> endobj 1049 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1055 0 obj << /Length 1663 /Filter /FlateDecode >> stream xڵXmo6_a(&3+zc]vbkúMZeIi;Td[CH=wȇ�茆!IX2K€Ζ` 'qHyHXo.HR"hv^hJ?Ax/7EF?4~}ϷYՏO^� "igg5yV*Pnd䶵nl[ކhݾȔMGV2kri:j'A..HA ;}3ҘIKY QCJ*Q-6ءS�w??{링'1Tl| }y&s-fҢ+ ռfQTf2.2cE~˛R +֕]E/2~|Ǒ/>?Jzy-uGoL PX3LK.p!޳Wo^6dPVdy|$V6k~#Jmb1aPeUw= չA[0֠qԤ`FLkLL~bLs$b@WR;/vXЁS+Ƈ^jV<n v7[+ئ JQ[>`k?ne}xi U2a}f>R/X5"cBju3سKye_=2ow1,&atcުqf(OTU ɀJtO}zF>AQNR$6X؄X.˕Y,!660�pEi5žƸ`MiӍ,DQMh |-2Nw ٽx=rD19KIDS"UMļ_<)$ , 8;v@dU '*Oxsm'!ׂg`*WkZn~h"`ľ,@V�Q jf_E/[wA\UKoZylMB~p; h0()ݝ1*'!I@� \`}0B+{ \INݴ6Y'LلY3U}JKi6ޥ|PFƬܰ#z몱m]'sP4)2 AB"IlI} }C4=7,XW*"uOE'0\aCUʹ2!"Gl&<3cT5fts}cA#w/:z<-G} sN1pϸIKP4'_$jQmQwM+Fpc9*׸=p`9>l p|-qn}lvL!QRJ  *TJ6GcJ=q;Jc;tcS>#9M/q1e9zzA(&Nqz6t;ŭ;pŜEɍ\{-4 :9ewj͌rC7ww<ڣiy PtI2u:"̆D鯩Fkym?hi<ZViӹo9Bsl?]V<=oA7 0Hx"$9ӳ); $endstream endobj 1054 0 obj << /Type /Page /Contents 1055 0 R /Resources 1053 0 R /MediaBox [0 0 595.276 841.89] /Parent 1040 0 R >> endobj 1056 0 obj << /D [1054 0 R /XYZ 144.727 740.998 null] >> endobj 362 0 obj << /D [1054 0 R /XYZ 144.727 716.092 null] >> endobj 366 0 obj << /D [1054 0 R /XYZ 144.727 448.729 null] >> endobj 1053 0 obj << /Font << /F83 563 0 R /F74 556 0 R /F75 558 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1059 0 obj << /Length 1148 /Filter /FlateDecode >> stream xڵXM6ȥ S-8nW%Yd{ϘȁxOd~zf[K(~3;>.(M“I%?/~֧~rcV.OrG;ڙN؉m$īUgVrNwvy^<q ,ߗ? `ȹXB)‘h 6EĈ܉NX9wvlƉlAW"/D8_5^cYU(iD+K=m=&ߊ~jEEA�A/@H ;##pXjql%XV<Bٶ-v̂@t #1&oֲ]Eo]я9+GF~?^٩a!%~B cnt+ nfԕ nꩃzc6> v_ 3ؔz" YN۝>0i@*1͍!:Bv_p2ӱ7o~3 Ѩݍ kYj h)rQnTW8l,/yˋr�!z䡫(raVћ`hBJ(FJUCE"(YYN 0 'NNBJq'!8[N>828e, }}@~R32 C˕~A>s_>3 |Q=*7dDD-F2Q �l(*wTh>;wĖ:>OX| Ϋeq톞lhy64xERvvmVvS^;ʕ(\ OA\u<#F> Cd\IyjHϺWcq}Լ^n5mX?U* n)Xgd7ff̃ 7~ i%^!hEӖe@^+F Rz^wBl^] ϪWn +{b3W7F9/a�f 5iEImY#C5? gQ9ú?^F\YlTvATo8y:hpT:eE]踄%1G ׯqrM$$7endstream endobj 1058 0 obj << /Type /Page /Contents 1059 0 R /Resources 1057 0 R /MediaBox [0 0 595.276 841.89] /Parent 1040 0 R >> endobj 1060 0 obj << /D [1058 0 R /XYZ 144.727 740.998 null] >> endobj 1057 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1063 0 obj << /Length 1925 /Filter /FlateDecode >> stream xڽXK8W9DI:;,da92ms#n4o!,Ӷ2Q4YUb"x AY-2""/߄=7-UP& )9cjcYb3k-C?yL5(' jI܊*J€V޺ej @D'WB!Œ岲s8 )bp4jȢQ%hP"Udt1bUQpx~<(/x<J+|~GsU0zǮm9N2sb&b>A2Wv]�!G9MnrӐ!Fɍh $AQ 鎈Yacu$R#XʒWƃ,AaJ �:` S�ij?._̳Ruɋ;^V�nlpWv7fC즨`lӻQUNQ٨ݨ6^_mvh^Qm* F%msG JwUUU1P)˭-[Ŗ_om\:5ls k#""*e{u˵EaeվaW]^(ms^;FN�9tuH�680W%* 3pUޠEvC|qӹ=P=�C�oQtN}I !Fu6?7T4?w[lN\3>65 8ںuHȩ|ҴOЦq5o]1J-ll>XGS[P^:2vh7�+<[vcliZצ,4=T燺x ykfWW 1;!pukb_y7i&[SŮmr%30?�JGh$Lx*ř3{mھ# `?}>DQӪ9\罁[=6*b꬯h^ 56R[4E0;\lZ3DfTTLQ GuCy"LsDӇMSʻR ukh"&=T̸O\eLN7x0Teo֡}7x䤮R]>M}:yƋkY''B>ve-]q] j<84r#?歚L~eps;98C6GT]cO/~ +~ؑ09M3XX9e/'HOq8t*=̕.>D8g`pՊjkx@!Ӄg}5e͉7$7#qǐ&8{4eL#DXLQz Wc|ȼ/*x, 140Fu74 B]uA DzIM5 Ei=hZ1!}(9) ? 2PX۶>D#M~ڈL"@߻i ﯳqRoT$DET$&n"I V?ɅL2r-[%)#P9Dpdb]хdEɸ݂UC|ju,u,٩3O[àѝ㲙InRyΡ9F1Phʌ :̧lم7t;9]~N䏦v$(L%e0, b]M;6Ď }2CeԲϠ5{y,^_g,* gQs'_-wB1}S۰endstream endobj 1062 0 obj << /Type /Page /Contents 1063 0 R /Resources 1061 0 R /MediaBox [0 0 595.276 841.89] /Parent 1065 0 R >> endobj 1064 0 obj << /D [1062 0 R /XYZ 144.727 740.998 null] >> endobj 370 0 obj << /D [1062 0 R /XYZ 144.727 631.668 null] >> endobj 374 0 obj << /D [1062 0 R /XYZ 144.727 499.813 null] >> endobj 1061 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1068 0 obj << /Length 1668 /Filter /FlateDecode >> stream xYێF}K[;Ke{&+eCl`c]  u4˩TuUGf @;`VSIe3hw N 4cZİ#_~~g#q9sgLY,w+&{;� qסو4C'1l)1G>S(S`&28֨mrH]"<paՒt-b㇫؍cGlT[j bL\#aj[yr' b,'S<ɷOO)qMcq?.`sm:}:5-Va6Ӄ cXf#X9'�d*xO|6 d݀%IM =(x<F6$+@AL9 VN "LvU#CRE>SJ( �ĈC'-7nt\x.Y\'qeCe/٢{-LSjA:fR-bv9dpb0u%%vL8 ̊J"ӠG:&JRF. 22VCb?Hdl9Hi!X@jsٻѷ!jù A[ɰHh~ :uqh=nte=Ρa G";ya-)_0"ຌ'N" l>{>@sLZTMHl $e:ȍV3{9%zOrX9aoeE~8  ݣHuus+]'v@5ݎv)Mvps>]�oU x1弩dЉO )FQQ881&c~ovvktה A#ψYM)�:b @֋t(FamkQTp6a\Duid6P b/TG¥Lj@(QAXNl l?j[xqS�I:2ZwuKF<L1vwewB/U*ԌA|TNc1!ۥkW~)n(BhgD۪[ v͝}w,(mDcș@ygB(Hau_ݥrp' Py ҾyL؟٣XHybNw?d<0cwۅ0$B)ŇU33FgA;v俌m@zW {)y Ƞ\Q(j˿cq" Y VB  ~Y]%G nVR^;@.ƩܔvPk)1 ?lJV4 i~ 7'<70̀J1Y,Λz7GluOb) t!q!Ozd* 싪"dΖK_�uk*?'z[@** -i9\R+Ŏ[pf+L<{5/kɲr٨Tgn&}Qa7^f :xHV4s0cCIOE=!R^Br~r]KRi^ u@t>Zv_9#Ǵθc9]@Itendstream endobj 1067 0 obj << /Type /Page /Contents 1068 0 R /Resources 1066 0 R /MediaBox [0 0 595.276 841.89] /Parent 1065 0 R >> endobj 1069 0 obj << /D [1067 0 R /XYZ 144.727 740.998 null] >> endobj 1066 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1072 0 obj << /Length 1421 /Filter /FlateDecode >> stream xYo6_`( *Rc];l(eCZl"ht,\9*50(x.C(^\.$.5 rHqȠ}bp>,.tu]8͊˫^5#fs$II}7<ވ#}f~{TUqUn ;YDUvSvV~1Cytc~t=݊ 1ZU /fƤt Ddǽk.? $8P\u7`LԤwu1VɚqzmDhVRҭGc}w m,ɚ^BEEٸy7'UhhMzzK0rJoZ:9ூ˲rFTYqEwz (6TR„&0C4B̓ ښS7wseZ4@gc\ӞJ¹h^q<03[BY8Cy\ThIHMs!M#R-]'k$bm8#&//NV` CN98Aj{*�WOoiä5kPFq9QjyKd}seVRPZNF\6MC[!5m^{E ]gb-vsJSyΣ! hyq-qi~?| ! <`()HEH A(ۢ K'#vmmX)?a~oĵ]d^bkVӃ}Eg˕�<rGؗ6Hy>p5[o4iimtD{]C {(Q=O`|zNijY@dzA8[N(J;Rj-8Tq\#U+Ek.V{[}zB\:[IxDN&Ӣ7Vz@q(FWߣCA(PR<~ AbBؤy09P2{3'_ |~A W kZzs ^/32-)fxpGgpG9|IC^r%ڤ!5]' V#zSo+wv(.AͻJ|-zC1cfw4H;{Լ!k֫~}`@VXdBjV~Kq{I9ukOLk9�逳cj-dp!\,�ՙBeYHiY0=eX dL*9:W H_trx{u\ Oh4/wۅPZQ Py=_endstream endobj 1071 0 obj << /Type /Page /Contents 1072 0 R /Resources 1070 0 R /MediaBox [0 0 595.276 841.89] /Parent 1065 0 R >> endobj 1073 0 obj << /D [1071 0 R /XYZ 144.727 740.998 null] >> endobj 378 0 obj << /D [1071 0 R /XYZ 144.727 716.092 null] >> endobj 1070 0 obj << /Font << /F83 563 0 R /F74 556 0 R /F75 558 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1076 0 obj << /Length 1365 /Filter /FlateDecode >> stream xڭX]o8}ȨR"5^ KՎaUEm 8)* i#6$$!$U`cc�Jc8bl0o`]ݐĴLd;-cb14(b+l~ ^ ӹ4CZt<ր!׶EI3IeR>{)[|ͳM/.ј ɋMGcc<܊>?a|nT8  hL`[3aTwPv5:,teMȴ&|YVӺ;c؈Z5|E,Ǖc1Ai:Q*C6`%?jD<&i#]+ȕJ0"/ʋ?8@D{wǏǤy>yd“H,%4v^d,20;տL0J@Wf[/K:E^$Z//{?oq \\y dbRǰ=`]}˲ 6b/`k 5Li<Wq'Y78DFx4yR?W^ʭgch$jDU$мl[FiPt>ZIws?݉(03h0Y]׽3J)�Ǎ |,LE\*Z8PP*BQ(Ai%H&rqDt=0}d +'{F8 ftd4#\pm6]= Pv- Fƒ;uG5\5YGmUb%Rmɻ"U /LUrԒI6NHF˪�]>L%GEgW 03u2b+KڥųZ*[B%,JbRPj>_f: xcKQ(G㹼5z !VI� !A ȳj *Fa|>7ts5d{fAg(3 ˶QS핌ĵwO__=ơ*a^zP׹YJDW1köd2_ `4cԦB/q%/U9^" 8lͶ=kgI 8^為W>i_iol�f~,[ F<mKæȱb )g:ͷJ WsɤO9w(_8 Ê^x|\ߍoH}AڈT@Ip "1\9Z˹|itpzp0i1EbEYG?@ 3Z2|#?U\ړRbuiקBa!YvqM骦c=rQtendstream endobj 1075 0 obj << /Type /Page /Contents 1076 0 R /Resources 1074 0 R /MediaBox [0 0 595.276 841.89] /Parent 1065 0 R >> endobj 1077 0 obj << /D [1075 0 R /XYZ 144.727 740.998 null] >> endobj 1074 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1080 0 obj << /Length 2544 /Filter /FlateDecode >> stream xڵَ}_@QevdA# Z5+K%oјO]gA-X:huSƙ2Eߕ7,eW8w|ڱ~Mտ#K$I&,:MBQ(?t~ځgo|/s7Y0ֱv{`PQʡZdQٵ[Y‡$mڅ?C'_z X%A+C÷ cn'~Z$-`P]נ(Rq$9F|94ы~ ()NZFb.=!"O"MP@`hMFϟZ݊7|_Ceˀѳ68)A50uvə}q+iu`$>e$6+hq ʫ GLO:,p$ꁡM>ATJA`p:P<7{vki:)bec~w~UoK,Y-;~( ,E8C%j1I8QʼnTm�x 7|<yG^gO7P 1p 'g7epQ9 B/C߅w-܀ <6 �azYRot^=tQ{9 q] '+۰[G ӴQέpqbhH>oZ#KW ۲Wf z"%|6@k<eVWOʡI:`^P|Ve7<NU.a?V$+3Ⱥ�x7,H Pbi$JqzL!6? qkHncP5e ! CV$a7~K``V3NgjK5F\a`4FS 8,2pzGWH>'vvd#bn! wqYT8(фx~U OU�r[ v)PHP8r Kn9T.N  ^ZcB$GO.^|rDzI2/:-cSTRC汝rD!+ z:]tTOKQ$ݞt4.`~xtzp].%'Y$@�oXZS- F 1^?}bN%wXp K:&C>#hm)KP!gl3ߋtY4) YbW)(.rRH!*TsSvV-_+NzYRf'H}-,pᆣ_KǪqO'lJqHw�-@G?бpru1d*qH)/T>4PSL0woxWph5P/�r�[@a1b moB-mK?Hw+Ų5F-c"p`ǹ$8Jxl} (TZfƨ&͠& %&* ݥ8XҎ(_U_=1^<&B(N%aq5|*mnHL �<EZiy �pvz{8sƎd՜̚rOm0 qhJs+ߓj_%-6 tgDw2ug$q#-OucR8u8d2K+-ץȦmg[ꅾ7WHt F1/Ik'ٜv?~_7ݧg~h9 rg|4:)ؑ#9)۵3Tpkw'"8$0_nN$ [s\3ag,Nd~?4Rjz*h0xpz<@6(<QJ|v\él?\6R +ݚ]P]p~@7^!T JNH12, +2K\ 㫈Og}V%bsTr$cՀ`J �4!gUfPFwtn-d̺BoVTiǷ gN}aAkKۜfnVXn*9r4-mV>&βk/{�5HϾ]][{4OU$Bg΄=a;^0g$&'Zn^b5.$0^+riZk3f &cv6'S+3?\ݸ3Psef;?} u e]5iBJjKD"ןmPVĀLT R ]W2AWHw'+ԡzOAklN?:}}=YZȬ۳|uzHF&QIw3VڎzjOhݪL"oT>Y77W[ʐ~Y8kTCrus*}*?-8endstream endobj 1079 0 obj << /Type /Page /Contents 1080 0 R /Resources 1078 0 R /MediaBox [0 0 595.276 841.89] /Parent 1065 0 R >> endobj 1081 0 obj << /D [1079 0 R /XYZ 144.727 740.998 null] >> endobj 382 0 obj << /D [1079 0 R /XYZ 144.727 716.092 null] >> endobj 386 0 obj << /D [1079 0 R /XYZ 144.727 583.449 null] >> endobj 390 0 obj << /D [1079 0 R /XYZ 144.727 344.147 null] >> endobj 1078 0 obj << /Font << /F83 563 0 R /F74 556 0 R /F75 558 0 R /F85 571 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1084 0 obj << /Length 1639 /Filter /FlateDecode >> stream xڭXYoF~p=H."U8Mڦ iW&aIV )1|;3xaƐO|ʎ9 |R 6u9)C 㳣'/`VSϢ-:_`ԝqx%9>6S7GfJGmP°fDq:J@cp|eD08ˢۀZωk:ܦc ӭwֿE0ZEl̑ngqbnNPJ Xi^kqH*!bCq5mUEe<0SFf]K;%IiGg-䀩mFmieC2cjKJoPqw8!"eڔJDRjz׽ѡl#R3m=bQNj__XvX~kݪn%yUi*&܁lc lo?y?/VL1b(9xPi' 2Q z*c �XI}v?*zkҍR3{[IUev{$g1/ѽ{8 Q9yyz4R/CbCF' kOpp gp.!u@!`)k!yDPkVB-R4DPLTpZD l x3=Ӂ<\<jĎd'% ݉gy [$mZ'n kp#{SQ߱Z.M;ȯ-W)& ɧR?!A*PGkG|%T w)E)i], 4v`LcM/e6�6kfmڵ!oC@<m6HHe"J 8p2a&gYGMd0ezT`-$?r=G= &pą `?oEx.ke~/~x9M6P~bcƋ4̖QJ+xS_'gQ 8-x[,;Ѽ<8=<!.RhKƢ+z2'$u,äХ(q1tԲxw\|\\ -v^ʻel^Em_2Da˫$cORm< L7=cxO�WdE=ꌻY~ҜH:^ESTuk?T$<6id$u %u<| 5M~ZHP׵A7@}j%ɦDoVV-/D'$4Y jGB`*8bxJ!RlD^䢿ew<s">Bi*஻ӟ;y%ם^';\$_H=~UBy|]6o e�B=@dzt([=VWz6YJ^󰶄{Aؔr9g|Ԑu^OkL/&b3ѩ*ξ30WR\MAK <k^ЮT(Fl#>dHLj8?endstream endobj 1083 0 obj << /Type /Page /Contents 1084 0 R /Resources 1082 0 R /MediaBox [0 0 595.276 841.89] /Parent 1065 0 R >> endobj 1085 0 obj << /D [1083 0 R /XYZ 144.727 740.998 null] >> endobj 394 0 obj << /D [1083 0 R /XYZ 144.727 679.659 null] >> endobj 398 0 obj << /D [1083 0 R /XYZ 144.727 474.885 null] >> endobj 1082 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F102 750 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1088 0 obj << /Length 1818 /Filter /FlateDecode >> stream xڭZY6~ϯ0!R/GZ4}KE$(6"K$gwkwxX[Z+#Z1p8G*dE w1 `ܾ“ t!c.<wtΙ Eǜs,yoܛ(ZYw>.<.KWWonj!m@9E A!8}*+ϰF e($Vx8_BNa\m>wY[[)Fr FBӠê}Q1=Y>#) ?h)0F`U ݜqvI[ŷ9òU5I Z-2o˻.aK`QIsq^8دG Xy4D3?%(par= 's}1(Do@[ҶQyCvZ7lgڷ$*#>gxOL'J (n;jE9D3\6.:xp0D_uΈ<J2<dk5M#[5nm q'n 'nSA3(O(h# `uHCHWgf5q\~%F4XF#;M%}2z`'.o!ɢXJH4.,-y2y/F.Ϥ= {J Ǻ\z.]C~HZnX&Q.eEolNNsAX;"_:qP(0'^XiJGjZe>5&șT9eG9^?w~`Rp]_z^䈊rw=~8|y:Gv#D`l5)'/d0`I)zeև)[J9$4=V+ 12b5{ av^\"ޞbؒ].d9ՏcP?E�6e42zᨏs//JS,#0ex ֦3Ǎf+Y|XPk!0( (|EB.`>Tξ}dȇ690B ux`!xIEr�,#O(DZ@55"O?T.u9_oF*pD"^;ړ)X餎MdWM+1P7ϻ-|{9x`+?Ъ9!:!̇XĺL=B +S1P8Z)#5BMr6mT$NE)A6X]z @xtj!=x^+O_wSZd3Vj2_SZ=|ͳgbK1FԵ6k"-]f(7×,~5xl78auyN־Tz!h57wZKu#^!:n2*T|ckqgl ,UVy**ȃqsv6n I*x|RF2)]gYnS-x)l (͌}߶x3Sǔ)/Y.#i ˖eʪՇRNtbcu*C/Wb9x7w% W#R_LBfBDU"D- /+ښ1gu"oo�ޛr# (N?T_~i4NOSZdBPrԝת�l  <`CT( `Yh#endstream endobj 1087 0 obj << /Type /Page /Contents 1088 0 R /Resources 1086 0 R /MediaBox [0 0 595.276 841.89] /Parent 1090 0 R >> endobj 1089 0 obj << /D [1087 0 R /XYZ 144.727 740.998 null] >> endobj 1086 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1093 0 obj << /Length 1410 /Filter /FlateDecode >> stream xXnF}W( P@K?hFѢ%l'wB0Ϝٹ1Q@Q1 C9.hK^ Ccq|&Ñssw{8 PR.ۣ>?(BROܖ{¸JY{tSv W%Ow1qb& F9J_0MsZet<u`y(::�4KlUwb+ܐFW=~'P+ s6Vj} kn('jeYFcGkۉ2$=8ϭpT~{tq#ma/X1žDCC5I=^cA r/7a}08Ž"H|$]Qw2 0|Bڅx}) UV:̴ܺ>kޗQ(I[. K|<zY<[}/vI)ݶ1{Yz(.n[RiYPJU[FqA8ǘIlײBS3-r '7l[eA7�oR�Fco?GԟsU *zRgDCQIGd?i梲BIh&Y8D!ojHHzY+J>)Wx)�:){hOǛCTEڞح!-Wu3%vӦP$+ΓH5.(-�_5޻ފܸYdX[6lO+44_C&si+KmAn8IlMj̳꥛WDò/bެM," 2vjBa,*U`g2X?@'TM&<(8ECl}tH#bU"Hpvm)C%8gL aJa TIR%X*5MA*P%|TI/ߓ)u&1>'z;<I5<_ڷ+lT$AXRd$9[-'Zx/TnōnD7K igbFD_ ϖMʌlBMq$/d /\~Vl+RoHĂYǶ'yRHFswLy^S5(#*ly6j)Dz*)j>/!*xLF4 Q[J/m;s˫1<2'Ŗ5=&#yo~>5rD<7p#D\SfΤ9ڶ&s\~#%See3W @P d/z~?o %_M$endstream endobj 1092 0 obj << /Type /Page /Contents 1093 0 R /Resources 1091 0 R /MediaBox [0 0 595.276 841.89] /Parent 1090 0 R >> endobj 1094 0 obj << /D [1092 0 R /XYZ 144.727 740.998 null] >> endobj 1091 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1097 0 obj << /Length 1317 /Filter /FlateDecode >> stream xڭX[o6}ϯ0԰^؞˺ɢmJr)Rl+1 b^s]Ih(-7pSo[B\P& R7(<0k7~8^:cz$87 "4VKsVit0Ϳ>=4L8ߩl2EOI"}.4t|Ylg�O$C4L|+ CqE WTЅ|`vz?AȗO `0ws(Q~+ҭ<ٓ0uEBMqsqzvP*)XmMo,3=@S-Vx-¤T=.xpX~NX ԡwz!~(Ϋ9gW|$Fu55'@ށvRݩU/[U]9 u!( q؄+`q-b-UڑpSU 864/ډ|j@$'9Hv;d@o@$v'۽Pʇm4KD{^1v/xYk-.Lչ*㼪ɠj;Oh"U*5,ך#&׆P;0T_,d[C fV7 ͮP}lܰcz؈kؤ,{ظX;Ϊ*j6ywwC;6Yp 3Eh2s㛆UˆkE0:E]6Qå) X>lѮeQ@(B!/.T'1bk嶰 K$H54,]wUg?NDW<`!<7iTע)& 0uE؜i>!nwu�aԁEu.A t˒,TVV4^q (jh;UꞞ2ASUւ̞.Y l'YU&= dl`aiV8Tk]ʾv׆ou78.čߒ~$q؆QE$G/en{Tz:hMwOrT4|(7Φl7?ݗyԦ6%sþH3^ Z- mCU΋#Tq2sC ߈͡R4)m J>N_HI|x9zzu,b)}Ǣy< Hŀ<"DLj@r_/|^cT+GOu�B_z^Hhf›YSH}#?\cendstream endobj 1096 0 obj << /Type /Page /Contents 1097 0 R /Resources 1095 0 R /MediaBox [0 0 595.276 841.89] /Parent 1090 0 R >> endobj 1098 0 obj << /D [1096 0 R /XYZ 144.727 740.998 null] >> endobj 402 0 obj << /D [1096 0 R /XYZ 144.727 338.995 null] >> endobj 1095 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1101 0 obj << /Length 893 /Filter /FlateDecode >> stream x͘Mo0TJl0~eVSOSni UQ I;>BMi6σ?4F1pU]\bu8u=p|髺�~竼1q׿T7f[.?P|%Ym<zJ ` p8'W7":^.LK)Rx3V@(TdWƱil: Vf}Qz&"Bm uR'A\zeڙO'^ltt4ddDll*=3w°*> <@?Ǩ j땔i$ ]ָʙ%AQC7B88,>\48!z  efWU&ٴ6D>wC3xջozN9=s3ݏV#gG<#g|U$fnrlY �{&_ z8m}"l[óH5JEb; iH9Up,иgCas42- Ľlr9G] Vq \5so sìKZ&3]!pNn;XСйלzg1s(hMGx#Cّܵ%B+4Bot U^qIg.dnUEZ's^]E 炳} EZI_3sdCg ++CZuG]MѺ>V%yXT!=pȠN=үSWAAƫ<cpk4i>!F7z_scQGmj˗+u[|4##Cendstream endobj 1100 0 obj << /Type /Page /Contents 1101 0 R /Resources 1099 0 R /MediaBox [0 0 595.276 841.89] /Parent 1090 0 R >> endobj 1102 0 obj << /D [1100 0 R /XYZ 144.727 740.998 null] >> endobj 1099 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1105 0 obj << /Length 940 /Filter /FlateDecode >> stream xڭX]o0}߯ˤV(v*$@\!kZDM6fk@49d?2##ELqT+<m}"&ׁ ) Lݘw 8t:iJ2(G|#í-n"~IܤH=yA cDG< E"ԇꇸO.Ě^K\ MYu ]D�C �3fg80 !2է>:Dߖe3:m'17#FT\"Ѷe<,F\i s=6t&9=P )_=%P ] ŇuL/UlUmeerW~]C%n?7ͩ&vBVk0V(D-rDgP b32c]�sӁ`x2ll̘gg=-eӪP;G#Ao+/w8&"!-CU?* [tHv&#D ̚qEX(?+ϔ ᥣ6Άc�[8>g C4(g8(&?B(gjBȼHT2 t*\qjFzZ98yrց.0?AsvNn1 { {�I;1Ib\n+2򂛂 0<[lL^'!cpkϺ9fG%tY^K{A W؋ ft"͘"CDN c/1*Eš< 1: /ԝ!XKJbK2u MCӟ~sbC.$ @:=a =JMb7d�/30 C8mWap>p(|~X഑(Q?f-1NF&G[%rendstream endobj 1104 0 obj << /Type /Page /Contents 1105 0 R /Resources 1103 0 R /MediaBox [0 0 595.276 841.89] /Parent 1090 0 R >> endobj 1106 0 obj << /D [1104 0 R /XYZ 144.727 740.998 null] >> endobj 1103 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1109 0 obj << /Length 923 /Filter /FlateDecode >> stream xڽX]o0}߯ˤ)FMHoCk!;vCRc'\_/` 0$0ZMVWxro?}oB9EB2[SRB;m-jkD/+(p_#|6ͫ㈕Ʒ ƾ{jւ�yp<L -:'1~y0dsk4(Ϩt ҏlnT5S0T|cָ:vB)!!܋򦩔"/B= fyA#> DfދW ~_JK-)FhIΥ^^]z.;@Stw˧BzB9ԫPūX#"j7Jtx=`59Cah3l}1q XXqK=V^^b}5Ҽkg<Dh�1S{#`B͖o;M@hcGT! IUMcqT&+o1^x]K�6b}mN9XA>DdߊZS+Уy<c7˪s&=o6O3h&blҝI);kvMq.N%EH7eM=:#qKL*gQ;1M_^4uGIUkғa|Bb IE]Io]lVIb<)ܳ"PQl,&77on^u7ψyإ*g &s]zy{=c=sbijgsMZb>0$bczg=�Һ0~o1b$<Ϟsߗ>2LWfK?pzAR\4w}~idmWO?**endstream endobj 1108 0 obj << /Type /Page /Contents 1109 0 R /Resources 1107 0 R /MediaBox [0 0 595.276 841.89] /Parent 1090 0 R >> endobj 1110 0 obj << /D [1108 0 R /XYZ 144.727 740.998 null] >> endobj 406 0 obj << /D [1108 0 R /XYZ 144.727 297.525 null] >> endobj 1107 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1113 0 obj << /Length 1041 /Filter /FlateDecode >> stream xX[8}_HP ˪ؕ>xCf@"b(S^;q220F>ˉm4 @`1~y쥏7w!�.=8&LA=@r5ytKFM?۫l ]E p|Y:wrd1B$BO). M}uazx=/ Mm:e%rqkB"۔֭Kڔ7±4j9?"4hK{~DWđ?h6_LFi2Y+W/-:r+ne+bOyjAɺDbi zIPy�~?O[m4o !1<?MP Px8ܬr h/Y&zW=BQS\2&i\ a )),ioDR6BȐҭ IAh^? ZF2g4mH~mq Mzs@ٳhOnWޛ<f/�d! qA<*LQ2y=s"ài^NQ/O+D놢YCq5_¬i|9f묑Y""X8^=ވy#ýYloe!�~P;_vnYa;|a+OQ0|A|j%c! gzK-ع7[ &'׈p,#�B/[v2]~ a E=4w�H�}SE0/WM/<`!2muKYHm<aAnO0+> !nGQԾA tYcdV;=G3BEfnMdngUakos~/`Ȥu]Ƨ4V ")] |EShv06' j>;[oU|=Hؙ ;M6; ##iUU} endstream endobj 1112 0 obj << /Type /Page /Contents 1113 0 R /Resources 1111 0 R /MediaBox [0 0 595.276 841.89] /Parent 1115 0 R >> endobj 1114 0 obj << /D [1112 0 R /XYZ 144.727 740.998 null] >> endobj 410 0 obj << /D [1112 0 R /XYZ 144.727 185.674 null] >> endobj 1111 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1118 0 obj << /Length 909 /Filter /FlateDecode >> stream xXr0+tz?VI3dղkpxjlvh$c@!0=9+ ,B\OZw 709&LA~@re|'p^be 1rC~"Bҙ*<!}|fubݴ1ęZ1uO괙EcBo�hh[&wYV5V_ -r^eu'9CM_e'ˢokb{󬸭k]ygcmm20VrѬ?8؟yݾX8`6 &kk rwk1PC(<r{݌-%XZi]r۹i a }iL+oyvGPq+V$6goW$-"�L f,@yVpaԭ+WԀ5e{5!TɢCЩPzO֤P` ¡J f�  <1ËNHW2-IB� 6!" n_ 0v*^nfee3z=.56Q{k{w8֍^nzZ>޾�IOG)>\udqǯ'_|pT<X:qlK)VzzP ԗ ݏ!Pwr2W*.+,6Bp@8aJZ":+v<a"rbO%9..AFy<qT8Q({s)Қ uDRGAog>'u(ma܆,Px1rg<Ee<OA$鴽Uap$ӹo@[U FFRCriendstream endobj 1117 0 obj << /Type /Page /Contents 1118 0 R /Resources 1116 0 R /MediaBox [0 0 595.276 841.89] /Parent 1115 0 R >> endobj 1119 0 obj << /D [1117 0 R /XYZ 144.727 740.998 null] >> endobj 1116 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1122 0 obj << /Length 946 /Filter /FlateDecode >> stream xڵXn0+| ]"F.Ȣ`M�^ReG(E!<3 4ESB D0]n&p6C_&6!�S OӠ |\L> {*Mя0fF4�s;&?uF=W_ ߼C8*�)<b5k!}Ep?<,Fj-Z#U�sXIQY}lTVJm-&B1 뗼 0,A J4F#៊:$BCvkyɕm-Ӱ(Z6Ff4t-:hK>�;swaL2$* ӾyP*a Bvla98s޻`wXXEބubv(  ᨦq0[f'$x$ w y}J"s<n8` V0^y>Rq#90PwJG!ݝ7<Cp㘔0q(_m̫Q ԁAvQCbFLֱo Zy0swxL.rRJt1RdMeD-#Zf[D<KM_zA #SHKeϺځ3l_>wp)gaWPB`a!Kz?wAB/?-mF8ίM$~۽-[<p>D8/Udա++cTU"1 fJc #B66DIV4ufyi^WM5}#uh–o3r,mGMXU\[me>u]\.T\jo숾T EGL--\4:SI_0.W!= BZ͓Wgi>�1�9z&y"B>2۞WGP繤Msdy(8}w endstream endobj 1121 0 obj << /Type /Page /Contents 1122 0 R /Resources 1120 0 R /MediaBox [0 0 595.276 841.89] /Parent 1115 0 R >> endobj 1123 0 obj << /D [1121 0 R /XYZ 144.727 740.998 null] >> endobj 414 0 obj << /D [1121 0 R /XYZ 144.727 673.117 null] >> endobj 1120 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1126 0 obj << /Length 999 /Filter /FlateDecode >> stream xڭMo6r͢(mў}AXl n/iQlk#2ĊD3LdBDDFaֻG=[B9EB2s=0\!I`H mz 6WUh_V<RH aGB[({ڔ\.,NU{pVؙµqǫ2ǃ P>y$>ȫ 2KlzGo(󆾛^X9"wX%Ǘ|_&Tm[4 aW}ͤxҏl@R]v|ת>fz'oȾ ip.'|MmV$v( O0e`@F2E'h b4@< ѕBT3lszE^տ3ZYقuä  .nNUX!Cb|;_;n@ۜ>8WzS>uLyL< Ƅ#}2^&yΊ>(1-@Pw6M/7}5#Gαs|n%i"/u4Pm&#æaM3C{i/C&eJ:(_n)ϭe5pߞ.!,.S;|d6+*fzV7W^7[2L|Uޙ׹Ӫf{uQ:4/D<5&X=5UPگ ?k!Dk#AdS(Yefʭ[@ՈU<XIe\1GH9ikdwHOEK,6 "Z%x [,>cLMmeGiƐI[Wc|~m?@$ab ]YSg_)=O󹌵znnKfDdag-S3nk# Vx`4 YHH`"E~CHi~Y&X gtw[5 uy?̹endstream endobj 1125 0 obj << /Type /Page /Contents 1126 0 R /Resources 1124 0 R /MediaBox [0 0 595.276 841.89] /Parent 1115 0 R >> endobj 1127 0 obj << /D [1125 0 R /XYZ 144.727 740.998 null] >> endobj 418 0 obj << /D [1125 0 R /XYZ 144.727 170.238 null] >> endobj 1124 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1130 0 obj << /Length 1958 /Filter /FlateDecode >> stream xڵY]6}ϯpEXII3mmhs*Z{Iʖ?2cXH9jLF##nLQxn&xO⇾<~>\7Rf?M#4_忝3^dr?hfJ4d[,o;LVƪh+~< ,$ FҀjJ3�Ca)c&Li\L<O/>�f=s oL7cm6J#iz=|qPmUQޛ.pT$p6/n^hC0A9waDK U~n $8&am)HQӓ+d 7pk�@0L-5H0%d oqA)Aa.^K_RG1S4#L}iiFڜپ56:Qx<ܔ,6r/e=<so-E5{  1\@h7GVN%Q I $O{KT(!ʶڈRxjH$3=NA؍Nߎ'IšpU_A<Ʌ ~4@Z4jF8f"Ԝ-pQ) B }y zoנD Zn=g#[hֲ1>M*smiec+Eʥ161Jwl�VhQ]? ~z<Ҝ.w 2/3�N?Kw\Vn#pn0i|´Ȥ檭@٤B;y`,4,`Zd :I6A:B7O7"f @O% 6%!~V\]dIVdkVse {>IO/}V@g%rIAI0}"7qT)/"zMSG!"=WFi}ͪfT⏺ /xnՄ&nH3aXy|Kk{&J}^BG ">=|K vv:MI໺Aa{ +dLQ Kih69 ݏ@$> /$�% VOxi%(KXSh;{ y0Q)l< R<xQs1ܟT!ʪ=G؎=4`ҟxkEA #[(Y20kA (b a|yT 2Ɵ*8 +~>l |K�Wbux"(-NZ.PtU/X˼+W2t}TPcjSB9SUM7\xX< ;%+xs1B׋x &\lCp(ClwLP z頽輏~Ǖraa6#U 7n>ٺ:6l÷7זaVJ,sUii^X LM_"wٶ;Wo(C::挔{Rd͎XJ,/]ΫP${أ=y^em#^4B.''c)A&?TZ}]x 0燬75/yn<^.Ou[ vLA6j/eNĹ2PZ0ZhJkWb=T.Ә[V ˡT{ښI ׀pjmVE[}:3XGe΀Z0YR}5�jv ݁x|>yC!  σφC}R?$v?D̏$&nF/h|ӟ$IZ3endstream endobj 1129 0 obj << /Type /Page /Contents 1130 0 R /Resources 1128 0 R /MediaBox [0 0 595.276 841.89] /Parent 1115 0 R >> endobj 1131 0 obj << /D [1129 0 R /XYZ 144.727 740.998 null] >> endobj 422 0 obj << /D [1129 0 R /XYZ 144.727 578.596 null] >> endobj 426 0 obj << /D [1129 0 R /XYZ 144.727 440.738 null] >> endobj 1128 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1134 0 obj << /Length 1549 /Filter /FlateDecode >> stream xYo6_a( }PCݺò{PdV+KDH;,jM{NG>2G&QDIc|d~"F GE#Jw?€;ٟÔMok0(C(H?sWGvcrֿv >>Q\w>>TMm]K3.KYzVrhd^ 8o%2looPAп)I!+R.RYE~{Y^449mG9 o`z4r];#z[Q cw691y˞=w qu.5u->/kM\E7¢\d. lNU\o53wKh#: =Qp1>'N(A"Kh 2D)i)$ d@a>w^WU`$J=4s D5vbb+)¯%;P6BʬXhLH=aDF}ĈD\e$b<yXݕaj8T>DETP|ѡ8le_8!v"6jȧ!d0D}ڲ6mK0BǹQs KueJosk{MTfQg@ce@0}l[f�%GChY%r9(Gy4Q4K#%8VSc(Y,J3j,ġ11]s.D.(#UR':g aCt#zb{pp)ɴǗ`1TuԂl_<k-*Icl.p>zђHI}Jek5η"22ŴLddh<;b.:pSHV1.U@F۽SVBS;y]~tJ̷E!6XBn/coA-V>R=6I#7eZͦb/|*g=ba,D*^@=eZh,te(|l6>j&Tʎ\?a1eҴW6MeR?Q^28u"}6qgݾ橷vg[9 bfZH"L2,!HQ_'wxɥHfY8eO%횾kԹݢqf }>ݹi\ۓQHoT/<aNM&Z(w z8rޖo#k>swnh6z;F#zĴd|ǝ_EUg<n-I}*[^P@n:en&DB2r(CnF;e&DurS~h<e)\*Ez4MPMlN,UlSBqzԱh,>TGA8rPɻ*endstream endobj 1133 0 obj << /Type /Page /Contents 1134 0 R /Resources 1132 0 R /MediaBox [0 0 595.276 841.89] /Parent 1115 0 R >> endobj 1135 0 obj << /D [1133 0 R /XYZ 144.727 740.998 null] >> endobj 430 0 obj << /D [1133 0 R /XYZ 144.727 657.696 null] >> endobj 434 0 obj << /D [1133 0 R /XYZ 144.727 599.389 null] >> endobj 1132 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1138 0 obj << /Length 1473 /Filter /FlateDecode >> stream xXK8eDZX ǍnCjmfL{Z߷64IHժî*Y8G q-wDxԳЇ̢1<~ 6v ׹$]g*]DvO&D<WٶFNY" -t)p`ۇ9fYpΌP;GfݯD];⩑NG.ʤ\8gb+gB6aN,EE&v=8"SD7E/˕RgyjۊPj2+ Ezt@GPXųc?^Z'>P;5ɹ,eyvC3y1syUqS6u|u+[W]^s`880~02wu5_0džEJ s߉?}#�(7=z*̽Ɋ= i).ӛIz,2~"!1 0ps^s[d_[[lwR4`W!lA|%GPjy("r^�hknc2miE}4-o dCȄ%LlSejei7f$2!Y#7crbBz"oհ˲%0HHdLtnؔzC]U DQCP(wp/~8$>RYqIf2eiv~9oJg:m 'Mwڞ:֘Fx\t rI`MGZKnxĮq3ʢ(̓" ȋg2r I:J .W4҉+�u�+#UCHhOnX%heWQdطԈ65W$vL1gI ں8:*O]S</`+Y#M!n K.dSę pƨ L'cA}hYToItt`oP_&=o63x'%ZRg#kuC̓L!%y= >bՇO O�U:@IVK .:>F &+sr=AdE~Tmj<Xy.fіQǢ4R jIA]RVئƵG08n+UBAW؏a aW;M\v^CkEN)M}M(ƦZ <;t�.kt.~s=]RN0 ZʏB7\ _d83o�Ǥ]3 Ov۲熯*4k^Wx4=Av]+"k�‹xLzF;C41oQCx TTGw`t.ؑ2|T&9#qi0endstream endobj 1137 0 obj << /Type /Page /Contents 1138 0 R /Resources 1136 0 R /MediaBox [0 0 595.276 841.89] /Parent 1140 0 R >> endobj 1139 0 obj << /D [1137 0 R /XYZ 144.727 740.998 null] >> endobj 1136 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1143 0 obj << /Length 1295 /Filter /FlateDecode >> stream xڵXK8e$9eVڇF{䶳3" ݽ:1Gv}UdG1"dq#f (!ȠG4C_Ww 8?%8p]}`s9Cb|%-Xo4z2=# nK$@<n忓"8TY݈|l ?%8vPxJ^MtKY YZoΨ.<¾ՇD@cDۿVe쓦2Ybq4xLP/CqDJ"tي%Iyh`2^. gD$W<K, ;?>ǪHZg|eJ ?ݷ֭B8:eo!f ԡ.6D# $P�K4Xs=s<.J۹(a]b`r4>E .|' !FiYP0_֛*;4ݴzNjmoj怾9Z怮!sćaXc>`/J="dSS%Jhec+E涔{z4є)ONwMh[$*88l NNd~,5Q#jyd>P\hV[Knvc 'R(^CP_Cקwd/ J'ؔώ.>a296vNa": E\ӱv V 6;1:ً[Tg\r&8 $e#kφ2, 0Dmm<:<Q}s>h *hw9]@{Y$ғϑzZtf"oJ^MË<kMYԿ~dXpѤjB7k Q>Q֦u]/r3)yiyn⺭ԩY2hRne> 8BVP rx׀6b4tKEl!WMy;4Ю} '‘H}Q/$fq M_P�U 7<$ue&~>QaRj)$A( Jd1uԕ_+a=LX7D즫\T0hO;h}jED.GPG*%qâ,LNT Llꏢ h9/adօňs:J,#9\|endstream endobj 1142 0 obj << /Type /Page /Contents 1143 0 R /Resources 1141 0 R /MediaBox [0 0 595.276 841.89] /Parent 1140 0 R >> endobj 1144 0 obj << /D [1142 0 R /XYZ 144.727 740.998 null] >> endobj 1141 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1147 0 obj << /Length 1499 /Filter /FlateDecode >> stream xڵXݏ6߿"$"> @Vj>uI%ٯhm`,8Vx<3/xaGAQΒͅ3[#hxbH(!0QH1Q2 QDl)Eu dYSbÄM,rQxnc-{>wů>^j6J ^A خ"| }>B<6?@7yYs%uyu_mSճ =k[I͕{4-p$CN"in{رnjJoo޳: r+UyߺK}[ۢRBmAJϠJ%nG9 &Fx䜔gS> ՝\gizi|УcocGzx߫Z&"kV\Y˛r6ՕniZXk߫읖8n[MCDgVka|lٰ;:ϛw96yZfȞ>Jxײ>!Ő1CjD Y-9&֣T]J]3qE;iD yŐt9X^,h5oڤk1ɾ۵>`OOKE\bJ޻W%gx1֗8oIO"ɪ\I~G&l3U"#]__^ř6f L` Fǵ˷-ן:DM7&׈uk .e'JkG<,N3J-f !k0j˚} -_A P a/"U?L8n3k+-I8S<"C@ Y 8TԀQ qnSQ׍tx[ *It"Q~jx͑1)7O G\/+%hj`qԍKg|S<p%h+M"`U^Ye[JfX@Hbq =⢩e"T~>kTu8UCW?֬LY9 Y�[=q0yrscCU ]A{`!QOb:Q`=BoQ` H b m̍S#Ϳn[j+<e* 0�%!/Sqsl;4*Чs ' A2 aQ�qOHz'=Sޙs'ϗ;9GtS; �gRdup39Y=bFϏ,"G� �e4I/M-z[Ix-\5:Z=ԟלpw:O֚26oe_!)LJH}1~ՌQၖ�Zm7pS$4RT۶k=iZvqR~ s^N2C70nyCJS馝1 LuM@g{(($@Fѻ>M�4;endstream endobj 1146 0 obj << /Type /Page /Contents 1147 0 R /Resources 1145 0 R /MediaBox [0 0 595.276 841.89] /Parent 1140 0 R >> endobj 1148 0 obj << /D [1146 0 R /XYZ 144.727 740.998 null] >> endobj 1145 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1151 0 obj << /Length 1553 /Filter /FlateDecode >> stream xڭX[4~_1RH   ؂X<; &!N;3T9vڴ SwYUjsc,H8$Ml}Cow7̪O8Ù&$$RjqŷBDR_,"YB.~mB(§>#ϬM[LΛV6mQu x71OK2cGع; ݽ|6bjLatr+{wpeoY= S7?^[~05ZF..El0rP<W:n%q˗]xCQ墓$>'C~JD>qL,vldƲDq[S$=@fH%AQ=/~C݅pdy"%410NgRF9,6<k8t9} O:s4/v4,s1qFh<636/X04ҟTqarBɲZe{z93jHj-JgH]8 G z<Gm.DyXV<DfεmFb8G`4nQ+W 8t( &yB9Iϔ 0WEzTKk:^ܥBgkLDYW~L48 Cgf/{lsek[\]ΛBޣ3 +l ڃpviyqB C54EU&w^+?" |6 \|ߘ[l;%^!ipBz2xHTvS š9< 7m%Jwl:#ȶs3@CJA޲.zCQZ @O fI/l*̺sX@# =2ԇhU3I0BjJTEuonfh꼱!Q%ھF}uΪkiY+i:-IlAa5˶^O؄O| 6av3@ m맺î0l@+^"t(<6XM&JC@x�26Zxmrm a$_f[)?})/G Xư}_t4:D!Tc;e Ȼ0Q/pQ`m|ro/(3O8ӢC `dwYK<jYfv$֚'JuڤS3 ׀kUw#IL#ѵRdO Ig+qwT[e} 1PЀV69#xD-'!:[0"w`5 ,Kr( Hꥹ08<g{<3n5z`f6B;V BL؋L<nbӄ ڿ&. 40I4B 2`L,3 |t2?/@ IFy8}F`M>$eݘf'=(M&Q9G6|C3wδޝ}v NcXpIh59}Hziz__& endstream endobj 1150 0 obj << /Type /Page /Contents 1151 0 R /Resources 1149 0 R /MediaBox [0 0 595.276 841.89] /Parent 1140 0 R >> endobj 1152 0 obj << /D [1150 0 R /XYZ 144.727 740.998 null] >> endobj 438 0 obj << /D [1150 0 R /XYZ 144.727 282.706 null] >> endobj 1149 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1155 0 obj << /Length 727 /Filter /FlateDecode >> stream xŘM0Hr=ľ*Cz!  -N l T!&~`$q JVxޣv}&$nT$e/Q]̇Q';�ߣi:핑"r$B&q_I^f\?P6̦,uke o:DyYH_|=Jx>"uAOAewi*6:|z^r#R;!|-$b;`me|<MY {.+SSVg,TS/ExM[|$A}V8r?tbղzL4_kf}}o\5}KY?K¸1>lg(Yx&�V_ ~3'b УVZoK#hAS'v�hjVrBMu-$ WPA[QA�*\sK݂A o^] ,; I=$t) 6�jRvc<&9Vq\ `kCl0I&mJ1A+$#ѲLd'pHVϴlϷ"\J ff evK*m ̄CJljWFzˢ-{P @6! 84¦-G7 5fݙ T)A}k^endstream endobj 1154 0 obj << /Type /Page /Contents 1155 0 R /Resources 1153 0 R /MediaBox [0 0 595.276 841.89] /Parent 1140 0 R >> endobj 1156 0 obj << /D [1154 0 R /XYZ 144.727 740.998 null] >> endobj 442 0 obj << /D [1154 0 R /XYZ 144.727 297.048 null] >> endobj 1153 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1159 0 obj << /Length 1129 /Filter /FlateDecode >> stream xXMo6Wz1 l[=T,-\$k俗)[rIb"9o4D3h Q 3A!PJβ ݛW ?0=rAHӠ@re3enj%!_[6@qn0#` ao (q}�뇧Ov@p dƔ0@zh޲w65ߵ]gY\K@If Dd ";T FgmQ}uQMx˔X6da%ݶ)~|~ g&@!e3;~gK~ DCә2dH|AHҾnOr{|۶(݋}]ez}u㞛Ί9J2?a93f(̣Dg>"cƬ2Ecn 7nRt(qn1a#f:s[ oPDx2�9560(ÓnZSg۟x -0 ɖM֭@.Y@<^Pd(^E~_�2۽v3) =Ⳓ hF28[֘'5.M9 PZdBz2(xҨe x MZu[vg;Nߒhv>ٮ?oY^Y-yz\+l v\po6)>Jd(G 0>a ^WT+5,nq{)b)r%mSaL10#K/j[rچ{M+iJbb]U-^/ 0I'B/%K##dH(HݒQ/MqA@ P^G1Tq*4) |a]Wx4#h[!f>ljosmד�ߐ⮬Z=a�p?*ۦM g!NL )|du̫|Fª!/\yI}jƣ;KjtZ jJ~* @1"8FRk.'ӓaǧ)vڃ'׽C֣:<'Ќ9RL^"�,pPl wW� Pendstream endobj 1158 0 obj << /Type /Page /Contents 1159 0 R /Resources 1157 0 R /MediaBox [0 0 595.276 841.89] /Parent 1140 0 R >> endobj 1160 0 obj << /D [1158 0 R /XYZ 144.727 740.998 null] >> endobj 1157 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1163 0 obj << /Length 1209 /Filter /FlateDecode >> stream xXIo6W0@ERMN^zmڃlQm,VFE}o ^/0(E@]EbWݸ=|#>ǯkBQG͗!YD(bㅈ Zcu*d[cda/?@DM.G]G4;CQz^fz]%w+:pR�=õb)s^g^MN;#Xx^5]Q{%=1EIk�&H.ES |`5CET[LAX<#l&4|mWE*#�;�@@>{f (bG-\²S[%'0=!sv&tk'| aS$M(AєH(Ujq{~BBP n-s?],+<^ <fD3w ] (b\G|;YxCrS%6n_2S٪�!wr KϨ8Z[/=3&ZUd0/m >-Kko2nN(oRJyImIJ~?Z[`{(.]ӷx# eZTmϡ{KP r~p[pDo^u/u  OlMY t>5SLHp zTeho@P"6Wtk  dC8ܽ<Ɵq(*#pgn2HdUWM[$Jʷ%}=nO2OluN6~S&T,NyԎ>Y re)<k6Xw)(NgSJzͯJQʇft=O* Ӹ|iLmSS /kLcwPUf\}ȋ]?^0)06"EqKJ5B39vk3o0:ͺ>?ԳeԟwG f)&7̹f0,Qa8c軆J߫,viK}ͺfmŰݘ^W1~eeGV#hS|sۊvki`G5ݝ?,lS6wEK-">$K^!Eč7endstream endobj 1162 0 obj << /Type /Page /Contents 1163 0 R /Resources 1161 0 R /MediaBox [0 0 595.276 841.89] /Parent 1165 0 R >> endobj 1164 0 obj << /D [1162 0 R /XYZ 144.727 740.998 null] >> endobj 446 0 obj << /D [1162 0 R /XYZ 144.727 716.092 null] >> endobj 1161 0 obj << /Font << /F83 563 0 R /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1168 0 obj << /Length 1554 /Filter /FlateDecode >> stream xڭXێ6}߯X`bV}Ҧizyh @>2e+Hu1VĦ`5EI̐3g{y($}9(swp;?. Bn\?BCQgޭ�/(L?p]?^@%9!]LRYZE1 /ꃾÛ*p/USi!Ճ,V= ~8``PCO@Pʵ-ˌ m鮥M^97a嚐)& �*8u*5#?*rE|g!~@;hE ċޡK; ǁ.hpʵpdRH&M&D]Co&ӱ-B{Vɳu-{5(eg̉êI-jb eQ=>1YupnV꼜|deI`^$QQi DE>gJiR!eWfy9cYhi?+ tIHM/|8ni'))B5o\ooRJ3zg`3Xk /awÓl\ `?,)͎mx>:z8/ CWˢ<}D2xخX-)V$QG>ˢboa)ĩm^`= .DE_�&`w�2lzw )䨝<ўhk[P Kz#'N2l4}R%"}sΣбI}j`N@ `ec6\-?*:°0 c[&=7MDH,+! z!Y/ccѲկ@1@"1x]ֿcH80͡i&L6Ak&T4IVr*O?ºHQJUJk�_΍ ( \6m˯#]PߴmKg]%E("sȅN>rB4Z/]zM%�3y\+Ռg5 @ K �}\y~r扶S5`S WSZo`Jdy;GU)f-ۚ.i`[B׾:E=K_sj@ u./̾ YVeK@hޕ?(1uF 0>Mѩj55@Wx[C^2U')=R/Yu1I˚MUgZäSw.#ghlIÖ][ӊ6k7TVF u]='ndQb> N1AIx NĞ<ٴHSl`*l(S-k q ֦+I-0~Ү׵m}-�{57fi}2TlVS} ||~o;D?hB-{U漅a+C0h[@-fļ@76W(06bm6ܢ#3<`kر mk<luڛЮ"bA]hwκC 0endstream endobj 1167 0 obj << /Type /Page /Contents 1168 0 R /Resources 1166 0 R /MediaBox [0 0 595.276 841.89] /Parent 1165 0 R >> endobj 1169 0 obj << /D [1167 0 R /XYZ 144.727 740.998 null] >> endobj 450 0 obj << /D [1167 0 R /XYZ 144.727 557.675 null] >> endobj 454 0 obj << /D [1167 0 R /XYZ 144.727 442.129 null] >> endobj 458 0 obj << /D [1167 0 R /XYZ 144.727 326.791 null] >> endobj 1166 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1172 0 obj << /Length 2195 /Filter /FlateDecode >> stream xڵYYoH~ϯ`#a>yx^b}$"5$5ߪ>(J- @l5꫃4P:LJsKJ0Loh~ G%[~_B ̇ћ Ihty@ z}F)q].l3h-U0 a~�|ZU'�^SW&dʦ'0z`$Tjẙ|qZ'q-i匓\|ZX PeorrUXDS( Zx`l"` U"^NYos } x A 3B Q"ے'&xR%y9 S8Kgϐ 0fgpfpn;`HrwĎ.{;boBRz@NIXVGp٬EG̑-Y|cgZ<><>fQ?nL|{`J^z/`Msdp^Cw Up:bͦEQ'%j1܄ze܄fz0!W*3ԇd&M-=ǍQ骬E_0Dx;kOt|JB5KO>Ltp<~xb"RQa\>%U͓ofU"v"n/ygUy܃hAk"Pi>ct؃3Hd35*><ܑuU"Ђ0 fJ- bĜhYq`5@>E+<߁Tt'6BIvc~S{QU}=uYTj=c){Hk{y2[] UOzm8쐀�'kb2)TI'E- d{PS !0ӄbm!a[y7́tM,ưfHilCtoV#2J5 nZiâQ�dB|&-a44-pMss-sRP$ʸ0ˬQCLSIVVQSsA==4 ZjKF"Y5 ]gJ(/S`uYXp89pP3 Oν�%RZmm$5>+&Xz꧞Rݲ%"$u ik V + >ិTZjAWie6 Ѱ}[-qizO,a5.d # v] zH͆2޺pJvo6I`Сنy$`H&;fxau U|wXǘMh])Wp]&s{*&"`QUjc+&4&i3I Op?$=T\ ݰ0ygDfF!}q4pTB䙖$0`5)1VuTױL 61IX^j2 x 3XyZ݀�^o`>a;hB^S, s\B*V X5l^/,[az Banf ]DbM Z<TWLee׮7*TiM*',O嶮1wq:6qT}1LK^2\ Ë_W:ضcl[0|Qij f)%Tvf&:qO"_/߮Ɖ˞ipI,.٢d �VhF"K$J->0{5B P\~a0ܤHRl0nSiȪ"vVhfʂX0IHkc7yϗ�5,uϑUh R]\NjY!x1Ǎb g;L;hQS*⪚+qY,0{1=]_ GIm q5XIQھU쫎Edڈ .FvjkVjǏŕN*v!Lߥdx$Ma[(i8Xދq_3L=/ӣAMOvtK˸g>&LXkp^q?eϟk',wsm'v9B'm2/$Bzv27Ƶ@ha2@endstream endobj 1171 0 obj << /Type /Page /Contents 1172 0 R /Resources 1170 0 R /MediaBox [0 0 595.276 841.89] /Parent 1165 0 R >> endobj 1173 0 obj << /D [1171 0 R /XYZ 144.727 740.998 null] >> endobj 462 0 obj << /D [1171 0 R /XYZ 144.727 716.092 null] >> endobj 466 0 obj << /D [1171 0 R /XYZ 144.727 471.249 null] >> endobj 1174 0 obj << /D [1171 0 R /XYZ 144.727 305.342 null] >> endobj 1175 0 obj << /D [1171 0 R /XYZ 144.727 285.417 null] >> endobj 1176 0 obj << /D [1171 0 R /XYZ 144.727 265.88 null] >> endobj 1177 0 obj << /D [1171 0 R /XYZ 144.727 245.566 null] >> endobj 1178 0 obj << /D [1171 0 R /XYZ 144.727 214.074 null] >> endobj 1179 0 obj << /D [1171 0 R /XYZ 144.727 194.149 null] >> endobj 1180 0 obj << /D [1171 0 R /XYZ 144.727 162.269 null] >> endobj 1181 0 obj << /D [1171 0 R /XYZ 144.727 141.955 null] >> endobj 1170 0 obj << /Font << /F83 563 0 R /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1184 0 obj << /Length 1541 /Filter /FlateDecode >> stream xř[sF)f DdX,y@J:v& V (o߳Y%Ўgހ=>O薥`hi݅6xw:1mSut*iCkK91Cx9Xn!U忖/p['Z;_xrY1lMZ';tLf-ojTŕ"R\?5[[ʦ őUkЏ(:L ղ&k' ւ*ZP=R"a7h|kH3^*^ Cp,<y_9W3 ^C$7\ QUR&}I/Y F'F\dr;N/rڪPl %lo&Vͳ:AğeZe~yl/IYtiӐ C)4FO+x%Yǚ\#W_j7f]Я<ˮ �;D3_ݍ#0,74*{'uBZl�CSJwmȭre5M[0;C'}K|B~XG،t)߇JT2,0-4;_i%-;>qYӖQ09+մFnU9MzLnlx69"-0t�}o -)'*~ y,c9-,A/^r=s:Wb6#k| EB{a @A\z)уM9]�JcHV|k5bϖ�B恲͘&y f!U t\ۮQ}4EI~!26uu4z#G/k^Ԏ[}Ý7-!1a۰/1xWlX Ö4 Glݘ?5y<8bۋ¢q^~znY9 0Xh|*ۑ,y]`ce+׳"^N_`λqaN G>:r⇧*х:O٬4ǽuI(K Q|/dZ'xQ#x(i݁0 G3suPtÌ ]3:KZ)\NH4/⴪+/lQYh}gX jMRd$!ץڰH4DIL3$ 0":_c+]|:V',pH5 nʲ~k.^~*3iߊt-޶l-Tz> |B~1'!(qЂ"<Ki*C땇%y? "IA5YE%8>lT6 ^k7 A^85?P 4nܺ¿ iOnՖ\DdlטMl/hO'_ 'XgW5ş'5TSs~�"endstream endobj 1183 0 obj << /Type /Page /Contents 1184 0 R /Resources 1182 0 R /MediaBox [0 0 595.276 841.89] /Parent 1165 0 R >> endobj 1185 0 obj << /D [1183 0 R /XYZ 144.727 740.998 null] >> endobj 1186 0 obj << /D [1183 0 R /XYZ 144.727 716.092 null] >> endobj 1187 0 obj << /D [1183 0 R /XYZ 144.727 700.376 null] >> endobj 1188 0 obj << /D [1183 0 R /XYZ 144.727 680.062 null] >> endobj 1189 0 obj << /D [1183 0 R /XYZ 144.727 660.136 null] >> endobj 1190 0 obj << /D [1183 0 R /XYZ 144.727 640.211 null] >> endobj 1191 0 obj << /D [1183 0 R /XYZ 144.727 620.674 null] >> endobj 1192 0 obj << /D [1183 0 R /XYZ 144.727 600.361 null] >> endobj 1193 0 obj << /D [1183 0 R /XYZ 144.727 580.435 null] >> endobj 1194 0 obj << /D [1183 0 R /XYZ 144.727 560.51 null] >> endobj 1195 0 obj << /D [1183 0 R /XYZ 144.727 540.585 null] >> endobj 1196 0 obj << /D [1183 0 R /XYZ 144.727 520.659 null] >> endobj 1197 0 obj << /D [1183 0 R /XYZ 144.727 501.123 null] >> endobj 1198 0 obj << /D [1183 0 R /XYZ 144.727 480.809 null] >> endobj 1199 0 obj << /D [1183 0 R /XYZ 144.727 460.884 null] >> endobj 1200 0 obj << /D [1183 0 R /XYZ 144.727 429.392 null] >> endobj 1201 0 obj << /D [1183 0 R /XYZ 144.727 409.078 null] >> endobj 1202 0 obj << /D [1183 0 R /XYZ 144.727 389.541 null] >> endobj 1203 0 obj << /D [1183 0 R /XYZ 144.727 369.616 null] >> endobj 1204 0 obj << /D [1183 0 R /XYZ 144.727 349.691 null] >> endobj 1205 0 obj << /D [1183 0 R /XYZ 144.727 329.765 null] >> endobj 1206 0 obj << /D [1183 0 R /XYZ 144.727 309.451 null] >> endobj 1207 0 obj << /D [1183 0 R /XYZ 144.727 289.915 null] >> endobj 1208 0 obj << /D [1183 0 R /XYZ 144.727 257.646 null] >> endobj 1209 0 obj << /D [1183 0 R /XYZ 144.727 238.109 null] >> endobj 1210 0 obj << /D [1183 0 R /XYZ 144.727 217.795 null] >> endobj 1211 0 obj << /D [1183 0 R /XYZ 144.727 197.87 null] >> endobj 1182 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1214 0 obj << /Length 1582 /Filter /FlateDecode >> stream xڭX6>E4j @[R/&j$٦)} $!D֪1y߯m_.Gs(%Ņ7Zë/|d6e�㞗l.õyxyB7Z,F^J?t7BJ)K䤼k:>;?(9FEӫ?3[9 =|upVHWpc!o4=/%̲+3d +#8a\{KxTC>c3 3)kVJgœ<'-b{z֏2 �FʞҠo4NcXFoUT0.q:S97\**a݄DNpJ!(-[W rs//z|a*a\qеgb%~ Ml d�@G&k/:& idő)} Ё kKYbBWJb|(d}+UJR7 sHb `xS"ny~CҀԉea V{ԉ5fr%}12d4‘D:DZlc 9IMsb)IlO5 ޤ[UAA,mKe\$/nB3.B``7Ua,<v]cNVg KKc,PMcEI)eYe]v|Qѵ;5XUC9jB%TZ#BD5a{̲r~⼎7x6WN夲-4f \p=kq@ubPO6}' ㋈ZUjvcib4!M9a)IT iBR�fEKm&\Oj�v|[ζf-HwHQ,0,?ߞclv jWvgeYà;Nq?NHp*YP_-hFYT,bfn?n/w>xÚ䠥BRɳ&!TiGj8v .4{t'ρIZ{,k*GJIs3}Hc)Kg |]O؊GͿ|V|=E#4k+q{s'n%Zn hCTbp DmQP$8tΔE4V/OkL1x"J]kWǷS{<�;H&`bn4�VEn0]֫V!NsoVH?bDr+'rƝa\q>.͒o7B,Q?7.AJv. XZu˥zqj/3_ ?]fu'mDOsX?zzN?N<PlwI/"wwUͪ{CT? ܙ_ :endstream endobj 1213 0 obj << /Type /Page /Contents 1214 0 R /Resources 1212 0 R /MediaBox [0 0 595.276 841.89] /Parent 1165 0 R >> endobj 1215 0 obj << /D [1213 0 R /XYZ 144.727 740.998 null] >> endobj 1212 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1218 0 obj << /Length 1731 /Filter /FlateDecode >> stream xYK6W@͊)Ц!("AhK]Y2(zޡHzeIR,`S gx @fQ$g?wYBEax¾]�at_`*AIHgwn]K| zÜ^s?Ǿ~MiSPf*k.PlzH #p-q(erƸ 1|ShUư  c0֭s.znŒeJ;"f/9J?U++Hۋh A~5.\գ]ʴzRz$Tt_IxhoYs=N6V[%x&˦ !%XGMyǻBbFx 耇(acEwg2h tZg xLn_gr(0D_ĸ=q;f޺fNpYye vB$z j0գ@UU~QWRS̊qa=RqP ep C/$a( &ё9GZ_s7,L T(W$ %3-jjs[RowMkA`#x*HwŜyyf1n�W\ Nj)S-8N(vXQ^HDkYєo/So!`r)FΏ|Di-FȱY,VTѣt#nFG0IkG:T7V'ըS9Yh(N/:SGp>RKf==fjRCH,@܅a ge,`|sF"HKǏӱ> QJi( X?e ;�1 ЇxIuX1t|d9uyA%:|m nb Ws J gh7fCc'! X)<lGxOX7E<4YS=dLѭ܈2?OSA%ጾY1�5@bw ǰ^-厄G̾C011DZf{!*C+Er2I=hwRƉC:O8}gB3b]@4] W,3-;/&^8%aW|1ĉ9K5ˁ"Hs3r9nWXFzzVf@O z %aڴ uk~XUMv _0\eax&Ghd|o}.+fT]=z.wpPy[Uu<&Ј<us'>Ɏ xRPtyxqLk)n7gjRjt]oYSٞWkִM؏z2+\Vb_g)PFv|' 4Qz ĩYٽ-=| [+hw|n4bcsIqZ>2ؕE IjڴGϲ-kj^ֻ*\⍓h7krW$b] 2I'W22 ᖓSB׎8pt>S"Ek׽PѷrI][IG^b@>x3hp~<R 'WZ:endstream endobj 1217 0 obj << /Type /Page /Contents 1218 0 R /Resources 1216 0 R /MediaBox [0 0 595.276 841.89] /Parent 1165 0 R /Annots [ 1220 0 R ] >> endobj 1220 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [306.041 679.454 325.468 690.009] /Subtype /Link /A << /S /GoTo /D (subsection.28.5) >> >> endobj 1219 0 obj << /D [1217 0 R /XYZ 144.727 740.998 null] >> endobj 1216 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1223 0 obj << /Length 1254 /Filter /FlateDecode >> stream xڭXߏ6~߿"/Bu6)w׽N=iuR+@I#\vCdic*?o<Ɛ?2#AB?FQ$fV0 PFG= �!@Gz"lާ:4"0fEQH7+B-jYj韹_,~ zB,@HR7-"1v#C@ !%@_[)e7 2T"PMwv ;wOͺZVwIp{ȉ2SՋ"}4R<RL*..s]4u a;ƑÑ5[sr�tY6L<H/{范9G88lU2|("T>`k="tQS߇ͲSʌ%U=$x ]v?>dڨUdVq*ع{Ѽt5>YU*6߈Iwn$ xMDx<Fh< P4V&8t^w5`ahYm3i2ɟ$b(ӝ=2ɷT=!U<_:EdU06/ږ G}(}x#)f2^ɺybO@-ʸʹxNwMuozSe5qe8p`Qȍn*}в5U&1jB}.JkFF$6ޱ1D}ާZ^:hwG@7XE2G�cp61:ԞN]<gӾ\G<֐y ^(Dt& |-\q 枫B)u6 Qٰcm=Hm"?[r_1"8.aNtǙ\:T3*e~ pgj W讷py4ru~"}~3[8LJw ۣ['y%ɣ,ntK5^mO-6LR:T4s[)j,P̘! צ}uRe3byXk-}newЇ>k�$5@ �%5@)�k D z P@D!ښT+hl:\){uU ΒT?Hx(g>k%"@G endstream endobj 1222 0 obj << /Type /Page /Contents 1223 0 R /Resources 1221 0 R /MediaBox [0 0 595.276 841.89] /Parent 1225 0 R >> endobj 1224 0 obj << /D [1222 0 R /XYZ 144.727 740.998 null] >> endobj 470 0 obj << /D [1222 0 R /XYZ 144.727 620.834 null] >> endobj 474 0 obj << /D [1222 0 R /XYZ 144.727 297.276 null] >> endobj 1221 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1228 0 obj << /Length 1548 /Filter /FlateDecode >> stream xX[o6~ϯ0PE=nV={%:".m#}ŶR{ *<:;ǡ3圄^8 Kf "g$9'E$d$ ^^yADf˵\8T#/;̓/<NDs:wddj3tA0Nv"]sY'<MVAݮ)GsFB5V@i~Ue) ƅyuI}_<K2GJHmS 'Lg g#ua><|'2բ̵RypxQ&&prnCHCD1"XoWx~eH}ețG'/:=묤}BJ$dQ2[ۧ ܍;."\ՙ=`UL#a@ 7ƽ t=g:*l<GKUaRQHe)CKp %T2Lnj29-{NE"eJJ 3BNY. g.KM.&[(bTWk֚dBa E= :s 4YqD@4U R!YÆHꨳۚ2xs1s^@|ϺER ђb+Ă0> D2("hI@P2~nf9_hr^f'``QҰ=ApFLX]8ϯ^lgQV'C$Cw�:Y%kQJMq+kbs])<r ᬭV8n,y?F=Y0"nVsHt`qMH6L2.< `O \Sq9ݘ[}^3J)ޠ:oKl㪫d]'b%K~>p5GDsGʶH( ۘsL$ 9nX"ƙPg(�Bp+Yrwn쐤נ\k)`fcGpX4 .(8<J[GAp`n@tx-#}>tn u<؂O>lf%.`a IIdJecD^|x4kNeWd$.I G]9yi�7lf<.m B@wSn)j\6.RaܒN�(.K ΃R&,2yZ.iVӞI~hQӤ+4[o_SW=οS�_P#`}8ˑl#پs$۟H'/Md|o"gȒ9qc'"yHϏ@zF|d "C ?~rD`<һ"`,)dR}�ݟ �Lፈendstream endobj 1227 0 obj << /Type /Page /Contents 1228 0 R /Resources 1226 0 R /MediaBox [0 0 595.276 841.89] /Parent 1225 0 R /Annots [ 1230 0 R ] >> endobj 1230 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [176.109 679.065 183.083 690.009] /Subtype /Link /A << /S /GoTo /D (section.7) >> >> endobj 1229 0 obj << /D [1227 0 R /XYZ 144.727 740.998 null] >> endobj 478 0 obj << /D [1227 0 R /XYZ 144.727 629.626 null] >> endobj 482 0 obj << /D [1227 0 R /XYZ 144.727 570.273 null] >> endobj 486 0 obj << /D [1227 0 R /XYZ 144.727 341.755 null] >> endobj 490 0 obj << /D [1227 0 R /XYZ 144.727 281.232 null] >> endobj 494 0 obj << /D [1227 0 R /XYZ 144.727 220.709 null] >> endobj 498 0 obj << /D [1227 0 R /XYZ 144.727 160.186 null] >> endobj 1226 0 obj << /Font << /F74 556 0 R /F83 563 0 R /F85 571 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1233 0 obj << /Length 1654 /Filter /FlateDecode >> stream xYYo6~ϯKUR ,h`7E}%:b-K$g5mQps 578`n&]?WܰFq�x;;7R`(uȿiwm5{)wtCT_H"r9qeӀý@BЈiU3|!U]ϸ#Dl^#/tVp!u Gv=a~w0HyAp4H8#QUNjwr&[Ye>$JAMNTfZg"reJ#H *돲z0smDdM4HN7ԍ9MȒ@Te~;eBU6BX'0ʍ^VUfVPSrv HU#ѐ:.\ >Nk<#:("jJz4Gn )K:s|rđcZ<4L~W$p#dbn5{ZVZp.9OZOZ3M뺔ۥ<zŀ>DF!5ezݪD^֘KLQ1J@흛;Xh-&rF&[b`tcL?LGnoD;$؎qf!o*zX/M#&*tsxV|2�`֝�x6�j:%?}N}ua ^a@`!�j䁅zJ1wGZ`<0yJ1܃�@.y2҇�M) SBtVlwp1^ ^`Ajb�}cRLl[I,D_J<0\`Ĺxa4岣- %v==(8RN [jqQ4m Yi -`ḆNf0ĬnA~]/f=:[}2[/sDjy(z88o*M\X3bgj^ɲ4oPBU΁NʰQJҵ㳙QdSFTnjGs H˷y=5g#ADINBA@ErVCM*1%+EM:[.t>Y() a3Dw=!vyKnů,R;r;,I16hXIzm.0N!s#8iܒ;֯QXA赇ez\L F pGagr[y6v6rś1-S!%_+}?:(mVfzY 95sc "c^i譜ޒ8Rن'ϦGNThׂ`b � ,Oc�]@V钻X3š-ĂAz`  G@;qܬyOfcgm K`or~!# 7I?cmbZ?\uM)y4GÅzC}=GZv᫏ +W^(UFNն.HQ}7G@`1g>yt+ŤT]v[[_rȀY;d~RZb/EBCH^x w:aN\䄁?9awNx�<#S |2QQH^VC< \"Icendstream endobj 1232 0 obj << /Type /Page /Contents 1233 0 R /Resources 1231 0 R /MediaBox [0 0 595.276 841.89] /Parent 1225 0 R >> endobj 1234 0 obj << /D [1232 0 R /XYZ 144.727 740.998 null] >> endobj 1231 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1237 0 obj << /Length 1597 /Filter /FlateDecode >> stream xXKo6W䲀 ,IŦE , dȒ yPdV"%MKb|19G cHRy.Fa>W?/� `rpd`xuOBZբW'g|/+ a2x%-t-SуYeen32IL`\DV7"7)@Μ0z+vu9A"Q(rGetFUo_BV3|܉kq|4&ǯ Ŵ9D"D҃H zU9K5K,/7QjhKb]򬲊06<p|$E59>i9]=|߮"zI~{e/叛ڰƽ:xaH\\տ͛<|#xۻUCT Tѫr J%!‘UTy| nz)k8b!f=O3A辟VBՂZ:^W߻O2JP8;,Yla=NL?]Q/ ZFYޠþ۫x UDP M br:OU! (S}#FF=IAx}0TJ=t*wl/۱^ekE_ɂx@Dqd8ߖ)̷ev]/2Mۘ'y�;<xV!T(2dǩo ՟ ќf85ofDA"j:1I2nt [|V{|ǘs=�se{k$+Չ.L9A0 <hB9QM49 ` t8_'ieƳvl;X|ޒC*7S#S<l,8]%6twڡ!i#xוq)XQ}Žaxr;(7SA-t/D[NKpz<aQ5u<۩7j8;BѦ@)tۼ:Rno~n,ĸsTzd#ya-#}%CP] y(ʭ>. %3su1c)ʟk!Q0zp\I0""U!HV1׳WhʎJ%$iJޔlWry wHW{/X謊lU;U^X hw0LI7=Ǽ6cJT:UJ̎l*PV0 Qz D:B-" MHo+a�teQ6&ɮL.WXs@-իud"mxy)@mDuſaPڅ }-7/5y >ۅ]?ε$B"rʨ0߽@[h6(,|1}Ts.ڏq3_vk.`.}L*$K}YD<FOR G{Xw{d؟`7&z$7G͗E;(R>Zv eH)F@N&% &,m;endstream endobj 1236 0 obj << /Type /Page /Contents 1237 0 R /Resources 1235 0 R /MediaBox [0 0 595.276 841.89] /Parent 1225 0 R >> endobj 1238 0 obj << /D [1236 0 R /XYZ 144.727 740.998 null] >> endobj 502 0 obj << /D [1236 0 R /XYZ 144.727 413.237 null] >> endobj 506 0 obj << /D [1236 0 R /XYZ 144.727 352.714 null] >> endobj 510 0 obj << /D [1236 0 R /XYZ 144.727 293.167 null] >> endobj 1235 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1241 0 obj << /Length 2028 /Filter /FlateDecode >> stream xڭYmo"aqrsEĢ8dw! +J[tV ΐ-jd�шfghz% r&P$#"<SD)Bo޼>D]z#tϛl|)2J„%Oۧ~ɀܯS2=3vʌD1V~ŜJgaOT~V؍D\8!`y8h7k_ĂP=fS0e^8(U18 nњBq6hQ!4 tMuK"gz v3Fp}l| C*` 'y8 ؓ_eU樼tţ{6:$`lgL}g?#)Fq])aE/4Wm̵y<*QnZZ>XALı]u7cqndc,")Ow*^5Uf< i G0!Ɣg*PC-1',@ Qo}A"GXbXQƍ8}`@~Z4U<p %XV#UL#U酫^#-0~qf j�^gXUer 燻Эxni tֺd$- hnUHD!!t MeȽj㨅[G®i`O^r tfkSx1}덵-c)a aPv gL w(xS㠫|teWy3|q{P+`K/JI{X5zS,C.yYwc GL LҥnTS!n?rަk RF# '�xo˗0WyaUg`Zsdp‰ZעՓ >Dt;HrW^H�_.MaTG H@bO_Ӛw S( tFfsgv˥jiӳ}^}FAӎ B$8@e!GD1'w-FSd{}X;r4ؤ7k[ʛ|�X8%ۃw zhC}ݞGv>\v^>}\ߵUnxtJҹ}Do~- le7N3-PmiM\@jcX{E-X-CWVF+dZM^Xt5{:kTH1gD4vwI:dƵcC!t|{�928ϐ�[GMz2 غ7�q=,x?a$ϗn;~VݞEU~.g= W9TPZ-om N}9s MpT2 Qv?ϲ2~ν ȿMEʦ e6mG[Fg�;D̹ POB("\/ >&7բ'!hP؎ VB |sg}vЮI+X袺_6s}6aXImdx/H,V-trGlPgm&__utw>UKZQWMl7:2|zuc}RS jM_vf]5_dz̅^Yc&|982y  &4T65}˿r\34^ Ӷ8p k u륨v$Tu]_,_vKH0{IB)J]?mUbۯL ON6h0n~c3UmJwbumߞץK֡~'ನ[I%a Rß[ ߡOD?hCRMu#!2VwT I"<щ`P]DPendstream endobj 1240 0 obj << /Type /Page /Contents 1241 0 R /Resources 1239 0 R /MediaBox [0 0 595.276 841.89] /Parent 1225 0 R >> endobj 1242 0 obj << /D [1240 0 R /XYZ 144.727 740.998 null] >> endobj 514 0 obj << /D [1240 0 R /XYZ 144.727 658.404 null] >> endobj 518 0 obj << /D [1240 0 R /XYZ 144.727 349.453 null] >> endobj 1239 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R /F85 571 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1245 0 obj << /Length 1771 /Filter /FlateDecode >> stream xXYo6~ϯ0, kE}r[@-FTNR#Ce˶tb|&؄9lo9?Wt_'@{`pƅO<C!9?] \ziqzӿ~Q1IjfzL̸SVҼyU]>-3fQ"XT2 H1I?zuBzZ9$Og.V g9)9U\ʤJF}&cLE'"/g7h{՞3V:?qN:Ow�|2]я]0JXTEެæ<\,, uJi/`x+aL}̻A`~g4~yzoSfq 0bX\YM(*%2͗],7\Lma}60�R+ 8KjrcpBKd:6;^`YVE[d:aDPh=>.ͧ6SZ˨%T38>PVP+`'*b)c1j= [a -P9~i]R0  ''OC@OuBPwg suFE<xjewW_׵W Q7#5OmNd&I8ݽ/3R&߃l(P\Ƙhq3#^f Jp yl U DЭ 膌ñߋF~@Pfg^B ( ։£ĎJf6&Y29`LXJc*RYlaUf٤q bU1n0t#WaKd-37* oЗR6⍧ ; _1!+!b,c\f HhVؖ[4f{ Ya} *Mfn~yu7Q>>cp?`?O8tZ l%9-Q�<96kpGE಴~]ѯ (HFjzmJ( 8zU&rPdT52dOjеzŢDkq@q qQAQ,=Pu{i~J ~m4ZH\D:fyYtpnPա-T砮rLYbA:si{zUef{`N; XcUwU_kW=1fF.ATF^tJ-t{$u+4K14ˎDf.�I@0$Aj7YlpHO\.Ad,ץRutx<&;!*G+S(RoD z6D/ 0nǑY=.竨hѲ!ߖ)L΁l y[)=s>~_WA(ح׳jsEzta,;;,nD_0y`H+?Wa{tJ^k[(K(r;՚KleұTl|cAݎNN| 9qF|~$VgeaN<eDb9t.t˼P Ro}iӆ-3"lS|R c2w~R . 0DW_7JoO8xR[b _ՌSendstream endobj 1244 0 obj << /Type /Page /Contents 1245 0 R /Resources 1243 0 R /MediaBox [0 0 595.276 841.89] /Parent 1225 0 R >> endobj 1246 0 obj << /D [1244 0 R /XYZ 144.727 740.998 null] >> endobj 1243 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1249 0 obj << /Length 1393 /Filter /FlateDecode >> stream xڝXYo8K%"-lC3+JH@Ӡ@@zLcЄNR}0 $�( G֗+b0ΐlH^H0| ElΒ<&`OEB]JTYyS7/i{m�}{'5:p>�.PsuU)`#Xq  YvF#{5�ooKx^7Uhx:�q9WE."^.vqvZDk> ;},HCFU7v,>昑W4O0E@ ƌ{ZճĞ>ؼDHK<7󞎁DFmfe@фܟx^ ?5S= #,B$XM2Q!j]` @G~ߖEErv@�҈6:S˦~H1i -1j/@6BL,<ck\+#I_,gF.+B^<k.a "y围`4$[mm?I`}_HJ p~Eݘ4y CdzBثfr'ñCֳL7_inMd\g}w*6Y}J'Lmݎk71 5mE1]"i9݊w&xmoM?~� 8`o�1"!t1b&b?ԩEc^"WGc`2 TlLB﯏뫊mLkug`m�#0: &@P raS 0pOj_Uf<IwQ"#�J_ z$ H^h&`E",qaAĊE媊NoY HB$nx'|DYkeך26/UL[faO::' MvA5\:,Sͳv>^#pyn* lZ7׮#pfaE Wс:δ[GMG@F -ee-L9@ QSX}TIZYҶ9o5m$+eia曚G#y~tx:-G:&*bUTiB;.#ߵm^(k}³3e|+K&ݿݺR~?;PLcZ3ij}e`mzEwn_W!608i~E%!`r.ËV׆@sz-¼RwBP׾Y٫MzAUG;Wz&JH`BsRY<k xZQHz""ߙΞ~22Ь?Vendstream endobj 1248 0 obj << /Type /Page /Contents 1249 0 R /Resources 1247 0 R /MediaBox [0 0 595.276 841.89] /Parent 1251 0 R >> endobj 1250 0 obj << /D [1248 0 R /XYZ 144.727 740.998 null] >> endobj 522 0 obj << /D [1248 0 R /XYZ 144.727 415.484 null] >> endobj 526 0 obj << /D [1248 0 R /XYZ 144.727 358.859 null] >> endobj 1247 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1254 0 obj << /Length 1546 /Filter /FlateDecode >> stream xڵY[o6~ϯ0Mnk0t0`݃"ӑY$IfDm4A<<<((fJRE,ٜ | ]I Bg߅b|\OP F)IEV\]D$_`_ ) BYH @F bN'&JѦv&.v5IS'm[ͨ9*(UZ]tJNjӜ^zNU;,T<;ܦ 2o0߃bhu|% US>&y )cH B@@hJN!n|L":@u9bq14Y,C"` D``9cvm z:+WCހy29.,ga@D;xZ0B%pG !&oJ3{ilAH&ʼn}qghC|c|01a yj;1G {.!uPّ 36o1d0G2_\0L]&n١7nsD],ݔQ\g%`y|鯾\Q6he % }nmo&ŖR:B;RS,y[A&qR$THd q5S<c\YﰸC( FC|ƁQEH4@A`%EINbc,|h)UuնvP*0{9o\7ZpԵ]_88ӬWWۍ. 삆yY^ �#`TqX"d8(y9Qw^e;Daqq!@4>j2KmYA׈\f CMRKƠΉKsGO3D H˵}YDDdk`q&ΰ++*nhsF`LV[F.ٔ8qCP6T!pmBP$c3G \ux}wO:]i8 lY MEvZG9,>=Mb+tlj`5NpC 79N}M WNvw5U7.;Jdc*6L&+ Ydgu3ĸxQ'rH(~68Mc7Y~u {!!�ht;t8tWuv koV�y6MeG,ݏVEx(޻Xs~.v';$7Ps9  `=޸jՠ+Y;炭svd+PU/TEoAT@04< = o=l'`;a S?x*ܖ߶/Xlh`ٶ-G=xd$8-~'`fI�ț4tf@S_xZ]>"poT> ""u>0 XJO/endstream endobj 1253 0 obj << /Type /Page /Contents 1254 0 R /Resources 1252 0 R /MediaBox [0 0 595.276 841.89] /Parent 1251 0 R >> endobj 1255 0 obj << /D [1253 0 R /XYZ 144.727 740.998 null] >> endobj 530 0 obj << /D [1253 0 R /XYZ 144.727 716.092 null] >> endobj 1252 0 obj << /Font << /F83 563 0 R /F74 556 0 R /F75 558 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1258 0 obj << /Length 1669 /Filter /FlateDecode >> stream xڵXYo6~ϯ0/cb 0�>6mJ&"@LR盡?:B@x$<+x $\rg ICXҼ^IKM:]9S9IDHjIYcK1V +JuV∕3bSmgWeY%=v#IUe]y P ~dp 'L&VdI~7*³aZ(8fJpb+tYDwʊJG s,6CnTۼV. !\*|t;^ǕYU%8 M8a[zo[P@wfEtlAE) |XPp6YjY؆eAA8B,,rl% yW_2DM* 9)"{zj;Va�u9@B|G+9ᤀBk!g5-=ݻG2pH'CC[znw!d9Q٦~ݲ{^O3 Rkb}z#~߽3 ((.ěe_1k&mwÄ{yCPb~@x++wRhK\9sUWxfZ�>GQmZ_p�L`F_pxY,Ym Io#b:0C17GL5I01yצp8LW,~Psˑ.o"r&WZO*-Z"Ncfw!9M|ͥ?tv+V"u}ActjΊ/L+I"iVγ<wY."9z1L+른(e%3w{Sf}\''dQ;ܧ{2aj�)/f8D"X;9f ęq[6\Ueٓ};5Ep :d&Z2rxDsxcö 2n4 co Jh F>$޼,CŶlSh,ʒTlG0Cjz]*8Pf7/ @?oRc8GZoFߡ>p)44д 71Zs/N�Pݕ9O1Dl T�pn`΋C[y\ϒ٩h{;6DVN!-l ϊ3EE rv3y1Be ~I" pE(s.d)fzp8f/H.f0|4pkEC z!9I]Gi0U ѣxL|,tZ>Pc͋`͢0U<ـcxA?5B"h4 R̬A,UW54Z0G�i 3.(θ:j,7%o,1<@Q�tGÖ �q#Iۙyfi"" H! M(NV7$fV&~?LD؆` 4Ci]� uj =5LVe'CA`Yendstream endobj 1257 0 obj << /Type /Page /Contents 1258 0 R /Resources 1256 0 R /MediaBox [0 0 595.276 841.89] /Parent 1251 0 R >> endobj 1259 0 obj << /D [1257 0 R /XYZ 144.727 740.998 null] >> endobj 534 0 obj << /D [1257 0 R /XYZ 144.727 410.991 null] >> endobj 538 0 obj << /D [1257 0 R /XYZ 144.727 230.844 null] >> endobj 1256 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1262 0 obj << /Length 1958 /Filter /FlateDecode >> stream xڽY[sV~ϯ[N.Dt&Q #=bH!\vcvb:s嘚y,{]=ЇwLL1,CacT])w|Ol*\/)]M*dyqձwxlQ]KUUf+uZb޶:-&"+fJĎ &2OLȔi2=fbWYR\VI'ʆTKlY 1i-q-O:|m^)e-USc|x}ak7'_`{YoR/I¯¢HB-˟HUjp:rG5盾ԗz#${eqxӗo2خ+3Ƥ? i0x>LYz 뚤<QZy+U󨜓&/29aGt |Etla3OHy#E7a8m Bt%jLQG&(`Xr<Sjiaă{ Luy.F G|8t烓5<D4YiϘ9.Cȃ _P !v;ޠٿb<�I.SŋK/?3=QR U@~ R|uY]˺\|©@ dÒʰlNeΤ<S� a>ӲOUMCyDX"2_<a:YR'QZ!`.ÄTswN ;p"ܩ @[]<ի8vۦxEn#eZb5 yR\2 RF ~2oD*7.S &H0”ӂˆLGΒpe,,U]5WDAr)||odǤ$H7&s~@qHB#<3i',jFQNjqNX<FcQDT1{ejxM&zd\r\: :̾xmf )̄B}4}rw4Y�;#\x$aHDW˸5Pڳ~/LJX|h*|kevduXݟ3_M'kې!Gy*(gų78%M`(Y)N@9xuPɵ [0 1wwq5lGu.03h2#-IX΍ϼ((%aCrD_UKۜyԒ޿́) j)Vi oY=YRG܋ی۪=J]GhL}T~&`c:4,� sI3Hi!eGR*f@%UhEeG.ba5V>"MScq*yL9O:B[ہUZ0?:x2c:�V`ɚ (~j8tԜ: gw[U@wf@`@~J"7hcazijxԭmǕE}ge03~(VNX#k›Ns5YsC I[ymDX!:$c#:¥MHWes[GN\G{%q]mQ&:Ϡu2KE œ4>|$^ '#* r rnG.(D,ν|(zEn~d.·uqT""@ 0[4Y_ngMaŗ`{]ON2]vG(t~Y/w'\NRڮ /0Obe o4t-\-JY=)l0IE U:ҿ4j]Ku퓎lO5l=5Uw8{Xuendstream endobj 1261 0 obj << /Type /Page /Contents 1262 0 R /Resources 1260 0 R /MediaBox [0 0 595.276 841.89] /Parent 1251 0 R >> endobj 1263 0 obj << /D [1261 0 R /XYZ 144.727 740.998 null] >> endobj 1264 0 obj << /D [1261 0 R /XYZ 144.727 686.039 null] >> endobj 1265 0 obj << /D [1261 0 R /XYZ 144.727 666.114 null] >> endobj 1266 0 obj << /D [1261 0 R /XYZ 144.727 634.622 null] >> endobj 1267 0 obj << /D [1261 0 R /XYZ 144.727 614.308 null] >> endobj 1268 0 obj << /D [1261 0 R /XYZ 144.727 582.816 null] >> endobj 1269 0 obj << /D [1261 0 R /XYZ 144.727 550.936 null] >> endobj 1270 0 obj << /D [1261 0 R /XYZ 144.727 530.622 null] >> endobj 1271 0 obj << /D [1261 0 R /XYZ 144.727 510.697 null] >> endobj 1272 0 obj << /D [1261 0 R /XYZ 144.727 479.205 null] >> endobj 1273 0 obj << /D [1261 0 R /XYZ 144.727 447.324 null] >> endobj 1274 0 obj << /D [1261 0 R /XYZ 144.727 415.444 null] >> endobj 1275 0 obj << /D [1261 0 R /XYZ 144.727 383.564 null] >> endobj 1276 0 obj << /D [1261 0 R /XYZ 144.727 351.683 null] >> endobj 1277 0 obj << /D [1261 0 R /XYZ 144.727 319.414 null] >> endobj 1278 0 obj << /D [1261 0 R /XYZ 144.727 299.489 null] >> endobj 1279 0 obj << /D [1261 0 R /XYZ 144.727 279.564 null] >> endobj 1280 0 obj << /D [1261 0 R /XYZ 144.727 259.638 null] >> endobj 1281 0 obj << /D [1261 0 R /XYZ 144.727 239.713 null] >> endobj 1282 0 obj << /D [1261 0 R /XYZ 144.727 219.788 null] >> endobj 1283 0 obj << /D [1261 0 R /XYZ 144.727 199.862 null] >> endobj 1284 0 obj << /D [1261 0 R /XYZ 144.727 179.937 null] >> endobj 1285 0 obj << /D [1261 0 R /XYZ 144.727 160.4 null] >> endobj 1286 0 obj << /D [1261 0 R /XYZ 144.727 140.087 null] >> endobj 1260 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1289 0 obj << /Length 1684 /Filter /FlateDecode >> stream xYmSHȗ+5}J"YUUDq p@V_=L~jJfzf{GQt˖ju,]mYN }=!8E34ٴth4M- ]9Dug'A-ۦ֙-9oAeٷgyq}lw*o&h6EI5a2V+WeQ4"^^pb(7"1\sEU(2(N٫'Aߥķ"[�h4L57 יrT+�09W_rqEsU$ksX<Jl}6rI.h 74y^ <`>{Ugg1>aq|NǢf+޹vͷ얱'BL~A^?+饦z˂u{Hj5{yO Ԭ|=|}Km9ڏ#qѸxym*<J�ǛPlţ2�+844vЌ>8 1 s? (Z{U/є6~f4:D$^ is10&S، thVѵ 4`~R 8H󱷢| ,aq.ZPjyR2#q:t|FEZy[KjPH,5.Ӆ:W`#>< W.D$QEIME�@8g`k8:'̏$yIdG,z:}gv8qsc�&?][s|45%T:R #~,~>+hW3쒵 vB4C?R&AaJ7(H11%* k"sEEtQI*[/+zkTDew4)XަRyU! =O/gX qʃW@c ͦ2t 1_P9 ]%<a0E,&xaȹg3|/ .<~]f q6rx*^[ U ./:ޛxyYJ1~'�X7_T 'Ar°r‹P ި%OWzE �qj /hl !VEC?c.jjFAګ@,c,B1$Hw~+C'^Ú)h4 Z|+sW]k .ϵ\2k]]iӎeGhWE;EPv۴0/C=Й:&Wd@ܳ'C|eRc%Ԙqu RPn=t$I%h܄5Q鯰^^ Q,\* 'nmTe4q"jAu# zeV7;<Dxdy|_̬rsX;v4F ;0M(PM]n," MHS /V~Dߞ%9"-GrvvwV%^2UZϋwOLik$K\"YRˬ mJېMs/bڲf8!vuYS]zvendstream endobj 1288 0 obj << /Type /Page /Contents 1289 0 R /Resources 1287 0 R /MediaBox [0 0 595.276 841.89] /Parent 1251 0 R >> endobj 1290 0 obj << /D [1288 0 R /XYZ 144.727 740.998 null] >> endobj 1291 0 obj << /D [1288 0 R /XYZ 144.727 716.092 null] >> endobj 1292 0 obj << /D [1288 0 R /XYZ 144.727 700.07 null] >> endobj 1293 0 obj << /D [1288 0 R /XYZ 144.727 668.356 null] >> endobj 1294 0 obj << /D [1288 0 R /XYZ 144.727 648.596 null] >> endobj 1295 0 obj << /D [1288 0 R /XYZ 144.727 628.837 null] >> endobj 1296 0 obj << /D [1288 0 R /XYZ 144.727 609.078 null] >> endobj 1297 0 obj << /D [1288 0 R /XYZ 144.727 589.707 null] >> endobj 1298 0 obj << /D [1288 0 R /XYZ 144.727 569.559 null] >> endobj 1299 0 obj << /D [1288 0 R /XYZ 144.727 538.234 null] >> endobj 1300 0 obj << /D [1288 0 R /XYZ 144.727 506.519 null] >> endobj 1301 0 obj << /D [1288 0 R /XYZ 144.727 474.805 null] >> endobj 1302 0 obj << /D [1288 0 R /XYZ 144.727 443.09 null] >> endobj 1303 0 obj << /D [1288 0 R /XYZ 144.727 422.942 null] >> endobj 1304 0 obj << /D [1288 0 R /XYZ 144.727 403.572 null] >> endobj 1305 0 obj << /D [1288 0 R /XYZ 144.727 383.813 null] >> endobj 1306 0 obj << /D [1288 0 R /XYZ 144.727 351.71 null] >> endobj 1307 0 obj << /D [1288 0 R /XYZ 144.727 331.95 null] >> endobj 1308 0 obj << /D [1288 0 R /XYZ 144.727 312.58 null] >> endobj 1309 0 obj << /D [1288 0 R /XYZ 144.727 280.865 null] >> endobj 1310 0 obj << /D [1288 0 R /XYZ 144.727 261.106 null] >> endobj 1311 0 obj << /D [1288 0 R /XYZ 144.727 240.958 null] >> endobj 1287 0 obj << /Font << /F74 556 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1314 0 obj << /Length 1735 /Filter /FlateDecode >> stream xڝX[o6~ϯ0qK[ܧ[5]ҡvP3HAAER7;0e<߹#A� L|0bq6`p>fx:g <yٷxj·tp/f*oY  fI΅DYDVW0 A?\tC!SA$N/Rq@zSuR<ǴٳZgxy>/tbx^5/- =DZ? a8x"#I\(~E ɈD9-R>.k}c�م.y!k uK3�C윟4H׈f ٌ90?hrֳ? Ze0UO0%Xd 0QѨv RNZf7ߗ |6WѺ{VPQdD>ƐºHGf)BA@N4re=xԺ+fFF q7a`цdeyE(e~lbMؼApgkX(!PSHfg=i.}U ;'VHe\8cN)%K:ĉ+괻=g9x\wbi1byB"i[e^D]{j{o7‚�Fզ؃ikl>_8XfSJO%^rA7rMճzWZmm6W!g[xv%ƅc E[,eoM 3!nt¡󴤴+dw[ypK"z (vˑUOW,avj!UJJ]xk@JۺV""P/k;04:"YQjI}QPVԼE EӴ>ٓ;c)sWwPduXl0,r3<>oe KM)!# YZA? ڸK@)I|]k,ۜf,ʼ~IN-7ʚXkI*;ify5ko%U_[qap|XcvPv05AQNDDJbZ&B>-? .Z6j)',09Ě'$V!'-/GrEUW'}CUxGMVE՞(6F6~ҍuVboS>6r^HD-WxaQhvh]I{j"NB8:m9QVM(H׏~6fBI'‰ k`06 ODggkV2�ĭkNs ԲںXQ"z?&PB@ ear֗ǃ?׋+W,]ĸ2A"ڶ =pf J#a)})3٭0e݉>1(%}Qm#]*!}7&eN&(UXs>-$ba!$Xo+[C \.EHk%kL{{9 fҁ7f-鬚5B3uWN"4ս^Kȓxe}hFJ�w w c5�a~Z;X`̠ g <S}/: f(G}뿚>endstream endobj 1313 0 obj << /Type /Page /Contents 1314 0 R /Resources 1312 0 R /MediaBox [0 0 595.276 841.89] /Parent 1251 0 R >> endobj 1315 0 obj << /D [1313 0 R /XYZ 144.727 740.998 null] >> endobj 1312 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1318 0 obj << /Length 2465 /Filter /FlateDecode >> stream xڭY[~_q\Y^tM^ E-Ӷptq%:''!)Y7"X1Eg\!>x$I9F>g"I$bh$>$w{0=bG b!s$?]kkwnnM^3X~R)ШvgfiF̂)30VB ToEPqڧ7ўn@'K>1w$1-'Z νCՊKVyiU7@pRa <ZR.Ϛ%-Ss"+m)KOfގL::!M|G6\\16SD028PZ=zF.56)+m:]xzlQiUmTj\vJUj G@:|Z* <b|a .gkaC^ ڜzW%]'hN*Pȗ -uUNJDF *j?H%^l T,?&jgꘕ}^ PTbB8 Y@{STDaDNS!`v<li_<w;@]M`|"і8;e p?(8G%޷{�}&Xi Y uU8Uy%ٸ#و/kߨ\۵b-5`Cg1L(ʁ"9u~/h-I+׻]&K"'CxRh#j3xnp-<4 ms<~V8oBG# re-QyriIch%IfA3nw2Xwp .*.ޏm851w20(0W02hԚ FD,V-}\>_tc[ҒFǦCNȆ6aW؞r2G{./,9*u[sQ(NhBCi8W\eoׯޮ {v}?EkA8/B ڏ0Fq?_`:N.Hjd;(Z,sZMw5ѐyyLDЦ̡͙�Kb$kqk#ȕnW2Xܙ#`e X+DtU9gq_( k�=K@ld'v8=#zU|7wL3,s(s%[zs\nLS[#s�'&x|뚜^aL/혊r,onh~/7NղćD[Ƽu tFaܡ7h*!F6fhi%v~ŏZJ0ˋ݈-)ﳮ/j1c^H,8_^1+WVN~],_nLm1_CJ] (~7yxC/pS]ĢDhA9T�i^ƂL>'v}2D, #zm*dd bۨ~62uuV3=g ve=S[^)m[ri 8ԗR^fM2,#LSyt_P–r0*.Je.(Es"/_wo!5HEJe-ߦ?A) ;,T+�|)\�!f[6@:cP+E0KbY` UǠ7Qɥ4ʧOx3WW>D!V]P4Wb])w?MOa1o@ lhsTsb̴z}[(xA2{ajs|,GNs4Y'٫x&B[4�[4A]^m{KTyM '؂|ǹ: G Bpѩ~<b|,~=},~{F$ovU+Ydި9WDHj$�$uV;'V&꿗_MBwI4m-i ?*woRYuXKLf+mh^}\EB˟9',j#)k#\ -/iy_cіF^D`X9c$�U=iHQ⛪D2sK"&a<:;Ys~ VJ 0@lho Sisbkm1Flէ\&.BWIfƺN�N.4kma.pt3Fp3#u %*l̴) I껗0|}eט0kWw{yM[Rѫq{rsl۾A}}ؑ;ۍ9Ihs>YDi318ᏽ]``Gy>(%xq(D#nMo '&;+hϵ~ FBOyU͜1UI@aoGY2l̖O( Aendstream endobj 1317 0 obj << /Type /Page /Contents 1318 0 R /Resources 1316 0 R /MediaBox [0 0 595.276 841.89] /Parent 1320 0 R >> endobj 1319 0 obj << /D [1317 0 R /XYZ 144.727 740.998 null] >> endobj 542 0 obj << /D [1317 0 R /XYZ 144.727 187.438 null] >> endobj 1316 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1323 0 obj << /Length 766 /Filter /FlateDecode >> stream xڭVK0W E^K*~\zhnmLKmE^ YQ>73Ïu]FWW_P1Kˡ1Ja"x~C%"\toIƌmԮنqux^gzse~{#L]$pg MeSlQ^q/@2qPuhйgN O,n0EEpYaqtE{L /)D(bd UtV}wep4&1|:˵G48{;!3Hz\Zx奪ELxTJ|EU7H2 ^J5E8t.>-.x tgΗw 2!>`D%*U$/GY~>rFsSAڋR!QPzB:H8@6;4A:˝ul=?f錴K=`Hf1iAYӏ=;P|Rfud xd/ܒH,Uo jh@3gk(}; }1nMvn7 WževA`08Fdagf+-@e-kbcSwsSCT�cq^f3H:T׶Pf;/˫5B |Z/Փ v'5c =x7MUbCٿsTu7!b�`z $r]۞c$endstream endobj 1322 0 obj << /Type /Page /Contents 1323 0 R /Resources 1321 0 R /MediaBox [0 0 595.276 841.89] /Parent 1320 0 R >> endobj 1324 0 obj << /D [1322 0 R /XYZ 144.727 740.998 null] >> endobj 1321 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1327 0 obj << /Length 2497 /Filter /FlateDecode >> stream x\ݓF߿B/W&&'wJ.U=yJZ)ga`)?,0Lw& pNS)1FO7tdOw $Rq{89N'5Ԟ'N}0A.'E_n,o~'Cr `ל2C֧kb$.!^;% "�\]KX:[ne6"mc'XĄF_0 +%QO qF[DQ꯭Y0Q+,RpC Z=<X>&7?778V] OdOszLc-s1kSFJ5PVИ%d (Qaўu*?4[j,ث Q/@jO;Xdq5:4;w07 ͵ M. {9\^L@G#_Q`? |Zbu݆kŚoTmitV!EqaZHw8˾"%I8 }A i8G+uq0՘h_d7Pcp}8MB/%Dư$w^!,u3Њq6EeЯ+ *+&v{l1"eèLFSn.V=fj=gLȝӝn7nXޭYUbcʼtWj`@nRh1%bQ{l QrZ70!HGq c؄&0!mu-SmkneI7iq)Y/"=t9_S@]b"0_L&H~_#ƭ}VFE )fmW�Ab"hW!E/"+yňX*^^ŖJ#Me>2 d70 <Lo?~0q6mC`7MǹJ廻VzDiIM7?m|&v&Wj۩V43%G#d?((v/RFRJݍt ]f~E<i]su ~e,-8jix\N#H3zKL FaRRkT} U/h!Q@ۥky?�"F 4/ٵ<5Ȯ'J9a(s`qE"w:U'e-1~0/8E3癑ėM$i<dz!J`M]x폳n?b@vXl,bTG̱sH+ kXDcpĝKq jHDukU�`h2h̗}t8 DB|| 0ň +Q[d{+#_254.~'9gRo4i?6YՏ(8/+tw,wPhtTSԻ_a7oIlh lJcd|MДeh*${\a dLol *EF5pm]pPۓVF]֝lE{o?ʔiaA{XfPvذc`L dop 3$umH#$)**�pZkW4^}s `|%[|94MGtO:r=Ϗޕ)b_NI#DnqvXW ܊*˜iz:Rx+}%;ҽTce* 7@pqS* vlJ-6.RӎT:X�Ecާ,`Vr|*XSv{K=?R#|ӇEޝQB} +6d�t5}jC8{+]S?jqU$zU ē2+>{uSrj3LMo:Ѧ!cR~n)]W0#,Pָ\>?_.DwNqIe>EQO UMaW@aGs"up<##ߡӡr[ CQ6싛Sf#0l 'WRUĕҒZ1vpf; P [/٢c͗S>�"4r(M%O^m8_BLT=>1wg.,W۽Oe@){xLѰkeTXZuraݚ,#nc.!ଯ=kl(Z~_\W#}%)#%xZ?駑$lj9 ^,c0ds-o C*hґ.jk<�ÎBY6=M?ډy-ᑪ:xdW] ? @CK] fljj:4#XDZa5%?%!(X62j%ia³iQ8MfWAVx2t!˝)5P\'_6X X7(R>WOˁI bsendstream endobj 1326 0 obj << /Type /Page /Contents 1327 0 R /Resources 1325 0 R /MediaBox [0 0 595.276 841.89] /Parent 1320 0 R /Annots [ 1329 0 R 1330 0 R 1331 0 R 1332 0 R 1333 0 R 1334 0 R 1335 0 R 1336 0 R 1337 0 R 1338 0 R 1339 0 R 1340 0 R 1341 0 R 1342 0 R 1343 0 R 1344 0 R 1345 0 R 1346 0 R 1347 0 R 1348 0 R 1349 0 R 1350 0 R 1351 0 R 1352 0 R 1353 0 R 1354 0 R 1355 0 R 1356 0 R 1357 0 R 1358 0 R 1359 0 R 1360 0 R 1361 0 R 1362 0 R 1363 0 R 1364 0 R 1365 0 R 1366 0 R 1367 0 R 1368 0 R 1369 0 R 1370 0 R 1371 0 R 1372 0 R 1373 0 R 1374 0 R 1375 0 R 1376 0 R 1377 0 R 1378 0 R 1379 0 R 1380 0 R 1381 0 R 1382 0 R 1383 0 R 1384 0 R 1385 0 R 1386 0 R 1387 0 R 1388 0 R 1389 0 R 1390 0 R 1391 0 R 1392 0 R 1393 0 R ] >> endobj 1329 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [283.208 582.009 290.182 595.957] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1330 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 582.009 305.126 595.957] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 1331 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 570.054 285.2 584.002] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1332 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 570.054 305.126 584.002] /Subtype /Link /A << /S /GoTo /D (page.117) >> >> endobj 1333 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 558.099 305.126 572.046] /Subtype /Link /A << /S /GoTo /D (page.107) >> >> endobj 1334 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 546.143 265.275 560.091] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1335 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 546.143 285.2 560.091] /Subtype /Link /A << /S /GoTo /D (page.117) >> >> endobj 1336 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 546.143 305.126 560.091] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 1337 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [243.357 534.188 250.331 548.136] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1338 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [253.32 534.188 260.294 548.136] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 1339 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 534.188 275.238 548.136] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1340 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 534.188 290.182 548.136] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 1341 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 534.188 305.126 548.136] /Subtype /Link /A << /S /GoTo /D (page.95) >> >> endobj 1342 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [283.208 522.233 290.182 536.181] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1343 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 522.233 305.126 536.181] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 1344 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 510.278 305.126 524.226] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1345 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [218.451 438.547 230.406 452.495] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 1346 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [233.395 438.547 245.35 452.495] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 1347 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 438.547 260.294 452.495] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 1348 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 438.547 275.238 452.495] /Subtype /Link /A << /S /GoTo /D (page.46) >> >> endobj 1349 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 438.547 290.182 452.495] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1350 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 438.547 305.126 452.495] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 1351 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 390.726 305.126 404.674] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1352 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [218.451 342.906 230.406 356.853] /Subtype /Link /A << /S /GoTo /D (page.32) >> >> endobj 1353 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [233.395 342.906 245.35 356.853] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1354 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 342.906 260.294 356.853] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1355 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 342.906 275.238 356.853] /Subtype /Link /A << /S /GoTo /D (page.46) >> >> endobj 1356 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 342.906 290.182 356.853] /Subtype /Link /A << /S /GoTo /D (page.48) >> >> endobj 1357 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 342.906 305.126 356.853] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 1358 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 295.085 260.294 309.033] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 1359 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 295.085 275.238 309.033] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1360 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 295.085 290.182 309.033] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1361 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 295.085 305.126 309.033] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1362 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 259.219 290.182 273.167] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1363 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 259.219 305.126 273.167] /Subtype /Link /A << /S /GoTo /D (page.48) >> >> endobj 1364 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 235.309 305.126 249.257] /Subtype /Link /A << /S /GoTo /D (page.38) >> >> endobj 1365 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 187.488 305.126 201.436] /Subtype /Link /A << /S /GoTo /D (page.38) >> >> endobj 1366 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 139.668 275.238 153.615] /Subtype /Link /A << /S /GoTo /D (page.31) >> >> endobj 1367 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 139.668 290.182 153.615] /Subtype /Link /A << /S /GoTo /D (page.32) >> >> endobj 1368 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 139.668 305.126 153.615] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 1369 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 641.785 499.397 655.733] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1370 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 617.874 484.453 631.822] /Subtype /Link /A << /S /GoTo /D (page.31) >> >> endobj 1371 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 617.874 499.397 631.822] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1372 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 593.964 484.453 607.912] /Subtype /Link /A << /S /GoTo /D (page.31) >> >> endobj 1373 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 593.964 499.397 607.912] /Subtype /Link /A << /S /GoTo /D (page.32) >> >> endobj 1374 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 546.143 484.453 560.091] /Subtype /Link /A << /S /GoTo /D (page.32) >> >> endobj 1375 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 546.143 499.397 560.091] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1376 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 486.368 484.453 500.315] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1377 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 486.368 499.397 500.315] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 1378 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 462.457 499.397 476.405] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1379 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 438.547 484.453 452.495] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1380 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 438.547 499.397 452.495] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 1381 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 414.637 484.453 428.584] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1382 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 414.637 499.397 428.584] /Subtype /Link /A << /S /GoTo /D (page.49) >> >> endobj 1383 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 378.771 499.397 392.719] /Subtype /Link /A << /S /GoTo /D (page.31) >> >> endobj 1384 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [427.666 318.995 439.621 332.943] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 1385 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 318.995 454.565 332.943] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 1386 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 318.995 469.509 332.943] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 1387 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 318.995 484.453 332.943] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1388 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 318.995 499.397 332.943] /Subtype /Link /A << /S /GoTo /D (page.32) >> >> endobj 1389 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 235.309 469.509 249.257] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 1390 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 235.309 484.453 249.257] /Subtype /Link /A << /S /GoTo /D (page.31) >> >> endobj 1391 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 235.309 499.397 249.257] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 1392 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 127.713 484.453 141.66] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 1393 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 127.713 499.397 141.66] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 1328 0 obj << /D [1326 0 R /XYZ 144.727 740.998 null] >> endobj 546 0 obj << /D [1326 0 R /XYZ 144.727 680.241 null] >> endobj 1325 0 obj << /Font << /F83 563 0 R /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1396 0 obj << /Length 2402 /Filter /FlateDecode >> stream xr6S!Fun&[9l ٴGYT$:!9A%kƈ 7a"?�h'M1< 0:p<*zo~ިCz{of\}.77+OvRiA v).O㬾\㖡%'ST W.'_P_Z ~t$<QWno G!~܃ ހFy=lXHTBj6 i-P(S�ᵉCiH;uM-V�`v='x5ND`vDRy-{/^9h^ 2� h%O:X3;JHج PB+Ν,79"F~m,oEx:jsB7?c"˄f@i3W_C\l;><\H:ݲmn_ۣ:. (Pt'ozJݥG|+1J~JC|hBz{44dД:񭷍@ϋ*u-9yX`k/gbٽXA]b_ub]3#t5s'}Ѩ@muY]W>1JvA+ q`s7gVc)6``3u^`yY;z-( t7H+APYdu%W+׬wɃJު72J5Y,KNoV DH H2aI|u gzi~vO!`CLsv�AxQ"5Ls+Vc>H |0r>Al5ZB>`cu2 Nܘ/IyCAe@dԱ<|5ŢvR`1X4Y y1eU43ũ(N縋=AW>%x)ΚlrlqHfP]`eB +Fy&rkϢo[vVL٤5UeR)˒OηJ[G$pn>WTur ;y2ZI!v] T�ȸʋQ5QB7#qO{&K:^h_Γ@}_DɘIPdͿvܪ 3f.ی( K:kuCR\_9ss?ץyޛ3xUtvrr3]nS zh:_cC|`+u]~]w4fAAu@ue 6nP;(5=ڊ,Otu'_??d\Vcɸ`jntK/R7´Q<YZ6YKQ]^>o6{=ȵSĭ&,l|C/}w#"i=uz]!{]ƺw- FQOa[;|,gUOv"ׂksr2z9+V'nTeaG.M] S7֠ىX⬷"5D@TsEٌsQaP(cYWe>^bA{ Jh0Hx�ŤA򾬪*U`rrU61JuH^|w߭9 .wF#s <AiX^\a:Y<s9yuA c%GeН?ᵩdf?N1yj; M؆ ˎmĈ*(ή\5dӒ]_l!6Pb2A<%nb~t Y;vc׀W}/#Iv8 +ux>S>drZ.lkcf9Pܖ?s0#\R0o-YZ/{ h!l d\ (;ۘΈ!դi f߈qFl={M_!YC(Mi*eeh"e.Wi5ޒ`lIRZ9&I @Yңm6E_QC2 ;5b_'|F j&F4+vs)/Gs1fI<EiԤ[4x.܈"H6(RJWdl.&w^N|^_488]QhdJ#ЈV<g\\b Ң/:\dK#o,{˗V8@V{O_01v)%ҹ*z>AzlxntOXĞ/>D\ }iN>G90>HUjC'E PoQ3endstream endobj 1395 0 obj << /Type /Page /Contents 1396 0 R /Resources 1394 0 R /MediaBox [0 0 595.276 841.89] /Parent 1320 0 R /Annots [ 1398 0 R 1399 0 R 1400 0 R 1401 0 R 1402 0 R 1403 0 R 1404 0 R 1405 0 R 1406 0 R 1407 0 R 1408 0 R 1409 0 R 1410 0 R 1411 0 R 1412 0 R ] >> endobj 1398 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 653.725 275.238 667.673] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 1399 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 653.725 290.182 667.673] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 1400 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 653.725 305.126 667.673] /Subtype /Link /A << /S /GoTo /D (page.51) >> >> endobj 1401 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 570.039 305.126 583.987] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 1402 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 522.218 305.126 536.166] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 1403 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 235.294 305.126 249.242] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 1404 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 211.384 305.126 225.332] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 1405 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [452.573 474.398 464.528 488.346] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1406 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [467.517 474.398 479.472 488.346] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 1407 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 474.398 499.397 488.346] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 1408 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 402.667 499.397 416.615] /Subtype /Link /A << /S /GoTo /D (page.74) >> >> endobj 1409 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 378.756 499.397 392.704] /Subtype /Link /A << /S /GoTo /D (page.74) >> >> endobj 1410 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 318.981 499.397 332.928] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 1411 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 211.384 499.397 225.332] /Subtype /Link /A << /S /GoTo /D (page.95) >> >> endobj 1412 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 127.698 499.397 141.646] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1397 0 obj << /D [1395 0 R /XYZ 144.727 740.998 null] >> endobj 1394 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1415 0 obj << /Length 2251 /Filter /FlateDecode >> stream x[IoFW<tuz$̌$9-+s.RRS"-�;ZZ0Sn!Nft;A:MtCZxg{ΌG/壏ӟEOn2F 1! 䝀B.+Y}?{{RQHZ[`hD_h;s;֗ڊW9ҮɛhyZBwWK-K m^gX3>A34=6M/jGEW4LZt#K*It:V #/k"2lXU6XZ>&NhuMp~7:уv+FηLa0t{[踁} ,�m|0$s#K\`^ Jz0/2}*tXHc;k)jg6ȎGG:}EYy"z(�Tm pV(i@p \3Lq mAhx~zZ$r%$p^e NнY-~t$+'TYժtR Oq1"IcQ| JBe&$$֫<^oN,Dno}NdMȸ6%nddן&#:pNV5^d?z6l<}DiB2$B(&WU\`L9}c[&χ"Y;5 5o3C=ZRN*__ d*fzyN S2Zґpˍ# 5th0rۢ<*. ݧlT0 AA몪mxc7 dBΓܑe1$ee}Vwk'/Qv? e E=[.{UBW0\gxeM\: wFh`Ot !e6l竜*]Wڣ~nD&tPD9w'C8]" W>Uz0a Mb3Iq5ݠlʨT!Tv, Gn:YBSX#\ b(+kn},zm&쓆F7dmד%y'ۑr>}Y%TVvIr,jwU8[nR~S*&egޟ9UD"usոxU3Е$=3U<|1GEb}wIr j2/2(lup:0H*vŤvw4!4G{\߯Ϣi~1Liڦ]ລs7% ґE|+(ϙa# @ogQz4ԔWzkhZed{~xgJzF.4E6[L/X)D8tD|_'b) JOd`nKSdhU46818Ζ2fK%&dF%LZݕ-SL8Bڦ@Q 3ll* > *!a^Z;`C??u:S u%meQѿ;ajEihL{V)\)[a' %&m5^櫔}Zj0Pl@H^Ƈ^5>d|Ds #LH ?R3!;tU0ZYj/VBhr)?JIF<( K R@霏YPkI"sU roLUMUd6]!j 2u/4 \A!kYzT%IwnJ꘮4Eʤ_ϗa$h%9_io?c!Pr:SqАr{WqLs9Z+4Y9ใO`/dx6P1@Hd LgƐeF)Pa=ǹQ LHLQǭfF:Yi]p\o@.{8Q�e(_o*Zq12B(2X\&ƒr*�Gs@HQ|"i60QbGF /+V%+Zsb~>LO,`nQG�vM''<qQ>op~hYrHY}8:,[SqGZ`Ykaendstream endobj 1414 0 obj << /Type /Page /Contents 1415 0 R /Resources 1413 0 R /MediaBox [0 0 595.276 841.89] /Parent 1320 0 R /Annots [ 1417 0 R 1418 0 R 1419 0 R 1420 0 R 1421 0 R 1422 0 R 1423 0 R 1424 0 R 1425 0 R 1426 0 R ] >> endobj 1417 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 701.546 305.126 715.494] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1418 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 629.815 290.182 643.763] /Subtype /Link /A << /S /GoTo /D (page.54) >> >> endobj 1419 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 629.815 305.126 643.763] /Subtype /Link /A << /S /GoTo /D (page.96) >> >> endobj 1420 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 593.95 305.126 607.897] /Subtype /Link /A << /S /GoTo /D (page.38) >> >> endobj 1421 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 366.801 285.2 380.749] /Subtype /Link /A << /S /GoTo /D (page.100) >> >> endobj 1422 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 366.801 305.126 380.749] /Subtype /Link /A << /S /GoTo /D (page.116) >> >> endobj 1423 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 330.936 305.126 344.884] /Subtype /Link /A << /S /GoTo /D (page.59) >> >> endobj 1424 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 199.429 305.126 213.377] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 1425 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 450.487 499.397 464.435] /Subtype /Link /A << /S /GoTo /D (page.71) >> >> endobj 1426 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 115.743 499.397 129.69] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 1416 0 obj << /D [1414 0 R /XYZ 144.727 740.998 null] >> endobj 1413 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1429 0 obj << /Length 2512 /Filter /FlateDecode >> stream xKo_ аy3 n{i Ac+Dre%/EIlQ`X2 +(VSb^m^n>WP um9ҔQbewm _'Kүh_+Ъ~|SZ/B2֬)'qu D0_jk5%`81}?ڭG~ YGAn J#D:y= $6>%65;0:Cád$cx2 n .F| �'U:]ޟRńQ3A˜Dnp)V R)ݾBmF$JԘRcnRon{wu>u扲rRAD4XD02`J<Q,S~F/q} 񑳍-p5-МH+ŷC At}iQؾgvUE,N +-zuO-J\nQr!XiwXl ,4VZ3›81 /I [l}:,YM'H\i>3�@ ޳J\)N\|> 1$4Kq)',ci CۧxSϰɾk D.;-aa"eXjBC˴l3Rz/yA$D.JK+e<EyY]XZ-YJ6&t}AmCtj,g$X0/١8O� 1&[j͛ܯoq`#fxPxPVamuWD1b%r86"zI( e0E+A2\BqqxW<.}2eTOꊛ.9/Gt )=e21f5>1_"^TuR6߫0^K&C1S7Ҋơ,T, K"8.O1M̨֧u G ,%ZԼ'y44i<E#.n7jM cURg:4s(4z.~ kDBUv!+0euė(IMJ@/`>śhW$Yzfƕ*MʆSHlRhr8p{KKU/'J"ߧ/QtZ.][d .si(_˷>boAK^DfrMRu~pµÉe`{["Qt] 2 fH^T8f:^)Rh}Y%fBU\I/tin.Ρ/�(o;ˉ,҃6Ku4fc_ +Bd5Sy\WhC5'Hd=>ܶpJMD:Ws9l VFN5y/<P@ܠO]ߓb8@iGwS'!�5x>8DXrcCp@ύϪ->zYV$=Ju1\qغåF3/76ÿF k.M�F*i9\9}@|zӞE  zrD#|1Koy=B&MA}(ʰʅz;v(:*e,nK$0)}S[f%h lJ&PpT <V6XnB1PPQYz G(0-6l i|<M>fJ>U`bI3`a٥ aTv}@J8`}*2!!;_r}?uoɉ]/2<Mp동CIBqP!c#CMf4 "j>=,ClSoj ,[6XQV E㪟n\'^>Xi4RWN9IYKfU G!ə]y�Dqety)5ex|xM9 mv+f逴HP*br(e;L[޴9>*}}yOs3r]>dv<nͽ?U>3�ag�7r+<SR>W`XBoަ{m!.w{Xih(�%b-}7 /ȍ ݝuw{H. u_p*4[v9̀\kVI&Qdot.,לM2Gm-5EtB4G#Bu&1?O9 م-Ǘ 3?C O2C}٤}D9Ed~\ ٓteJf=쀵Cn's)N[<x"s 1=pD1m( #bQ4)+v cVdoQA1lg80!�.`zМ 5n3endstream endobj 1428 0 obj << /Type /Page /Contents 1429 0 R /Resources 1427 0 R /MediaBox [0 0 595.276 841.89] /Parent 1320 0 R /Annots [ 1431 0 R 1432 0 R 1433 0 R 1434 0 R 1435 0 R 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R 1448 0 R 1449 0 R 1450 0 R 1451 0 R 1452 0 R 1453 0 R ] >> endobj 1431 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 689.591 255.313 703.539] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 1432 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [258.301 689.591 270.257 703.539] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1433 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [273.245 689.591 285.2 703.539] /Subtype /Link /A << /S /GoTo /D (page.95) >> >> endobj 1434 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 689.591 305.126 703.539] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 1435 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 570.039 305.126 583.987] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 1436 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 498.308 305.126 512.256] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 1437 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 474.398 260.294 488.346] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 1438 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 474.398 275.238 488.346] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 1439 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 474.398 290.182 488.346] /Subtype /Link /A << /S /GoTo /D (page.46) >> >> endobj 1440 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 474.398 305.126 488.346] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1441 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 390.712 305.126 404.659] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 1442 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 163.563 305.126 177.511] /Subtype /Link /A << /S /GoTo /D (page.42) >> >> endobj 1443 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 641.77 499.397 655.718] /Subtype /Link /A << /S /GoTo /D (page.42) >> >> endobj 1444 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 605.905 499.397 619.852] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 1445 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 522.218 499.397 536.166] /Subtype /Link /A << /S /GoTo /D (page.95) >> >> endobj 1446 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 390.712 499.397 404.659] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 1447 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [427.666 330.936 439.621 344.884] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 1448 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 330.936 454.565 344.884] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1449 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 330.936 469.509 344.884] /Subtype /Link /A << /S /GoTo /D (page.87) >> >> endobj 1450 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 330.936 484.453 344.884] /Subtype /Link /A << /S /GoTo /D (page.90) >> >> endobj 1451 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 330.936 499.397 344.884] /Subtype /Link /A << /S /GoTo /D (page.91) >> >> endobj 1452 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 247.25 499.397 261.197] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 1453 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 223.339 499.397 237.287] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 1430 0 obj << /D [1428 0 R /XYZ 144.727 740.998 null] >> endobj 1427 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1456 0 obj << /Length 2415 /Filter /FlateDecode >> stream x\o8_Xs9~ -owb:rkq_$cJJbQHhH#Ô0)fj$gb=[ 4CP!Fz:ssP2]5ui^/7�(En߯#eipsg$2f:`NcPV3H'0#Nq\R%FpH񆇮ynˉNHWG#+ <TzJ4MudB<DhY{O"Th#ݛcVF=\6v =tF]FEF)1MTr6#gض\wIcRaKT JO?ɋ�uXkY";x˄3鋧9 Hl:WbVVܑlF�iKvGsPV=^bUfOf2 =Cu/Ǟ|{`d` C -kL)Ay)=; @0>AD 1J͉] $#kZw:fHe[Rl׆P)xΆm+FxIePgs6gS+2j'q@, L=Z۷CwκB)0қq)YŢ\m3̞y;)W&5+1ɫG hJQ#R򙸠Im숳v �$)̐+Z]dL0νcu~+VZ-6ޯL]U-[_{[3Ԗݨ\ADHrpƒl΁Q^R]n6zt)bIܨj1 JCH]dzMxv|a^} 0 NWE>A ׉ Ƒ&I" A) "hίO$'HT"R*| M၏o<an]&BrP+"I3N\}C9=uɤr!3f-q j~@1' 癛>% qpz%=]?>+>$D Z1-'*Xx N30,HZXH9^Ha4YqITTVCȥAQ:E3FD*)/(^r>8SI/~.P{Hw{%C)N€c jPn EAc)%*1V%nG{T}*fm jc %#eYsFլ8Ht2wE?|^ hk=QF"q"CXEG45/QY:r%:}w,#!ېfx9>cȔ5oVS0i:N)?7VL7=UO C΁DHħbY{8[0/q5tvXJEWbO?W ӹ'aHUA@@lp"^a/4Eg95J:)|8LdΫ`RY1Ѱ$WL5>E(SQUt,NEA]1,>$;޺]%6{Se�bRȡKjӻLJXt DgF\#>&}zh%�w;�x.>"ܞ3y{! ϗauS,wb*hXw TQu%/UPDMqӃxrІz$x)xr=QPt~S<曛Gom,NfL=ل=j?wbsXKS P:YKA's plIeuS~HeBeT!09 RͶ:T3S{jҴ|#{//{! qt˗ؓϠ@]ϳٞsG{XmDn4W~F=^8D|n y /9r|ڮ^Ο:+&J :4~AKc+N1757PY.GXf)jYGpz`,<l޹f,7֞ˇ3Tj5=L!?t�t^17^ţu.fBd<_/{̹L& uCՃ6ހ%],WY4w^#̔fW_R~KgVά5 Ɨ(s{]>pWQ8Ke4ls&@W $HЮBaYɐc=?(endstream endobj 1455 0 obj << /Type /Page /Contents 1456 0 R /Resources 1454 0 R /MediaBox [0 0 595.276 841.89] /Parent 1500 0 R /Annots [ 1458 0 R 1459 0 R 1460 0 R 1461 0 R 1462 0 R 1463 0 R 1464 0 R 1465 0 R 1466 0 R 1467 0 R 1468 0 R 1469 0 R 1470 0 R 1471 0 R 1472 0 R 1473 0 R 1474 0 R 1475 0 R 1476 0 R 1477 0 R 1478 0 R 1479 0 R 1480 0 R 1481 0 R 1482 0 R 1483 0 R 1484 0 R 1485 0 R 1486 0 R 1487 0 R 1488 0 R 1489 0 R 1490 0 R 1491 0 R 1492 0 R 1493 0 R 1494 0 R 1495 0 R 1496 0 R 1497 0 R 1498 0 R 1499 0 R ] >> endobj 1458 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [238.376 558.084 245.35 572.032] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1459 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 558.084 255.313 572.032] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 1460 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [258.301 558.084 270.257 572.032] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 1461 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [273.245 558.084 285.2 572.032] /Subtype /Link /A << /S /GoTo /D (page.94) >> >> endobj 1462 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 558.084 305.126 572.032] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 1463 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 510.263 305.126 524.211] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 1464 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 486.353 305.126 500.301] /Subtype /Link /A << /S /GoTo /D (page.56) >> >> endobj 1465 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 390.712 305.126 404.659] /Subtype /Link /A << /S /GoTo /D (page.59) >> >> endobj 1466 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [233.395 378.756 245.35 392.704] /Subtype /Link /A << /S /GoTo /D (page.32) >> >> endobj 1467 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 378.756 260.294 392.704] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1468 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 378.756 275.238 392.704] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 1469 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 378.756 290.182 392.704] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1470 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 378.756 305.126 392.704] /Subtype /Link /A << /S /GoTo /D (page.48) >> >> endobj 1471 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 283.115 305.126 297.063] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 1472 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 271.16 305.126 285.108] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1473 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 235.294 290.182 249.242] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1474 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 235.294 305.126 249.242] /Subtype /Link /A << /S /GoTo /D (page.38) >> >> endobj 1475 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 199.429 275.238 213.377] /Subtype /Link /A << /S /GoTo /D (page.32) >> >> endobj 1476 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 199.429 290.182 213.377] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1477 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 199.429 305.126 213.377] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1478 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 163.563 305.126 177.511] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 1479 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [233.395 151.608 245.35 165.556] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 1480 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 151.608 260.294 165.556] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 1481 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 151.608 275.238 165.556] /Subtype /Link /A << /S /GoTo /D (page.46) >> >> endobj 1482 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 151.608 290.182 165.556] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1483 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 151.608 305.126 165.556] /Subtype /Link /A << /S /GoTo /D (page.51) >> >> endobj 1484 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 139.653 290.182 153.601] /Subtype /Link /A << /S /GoTo /D (page.32) >> >> endobj 1485 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 139.653 305.126 153.601] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1486 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 318.981 499.397 332.928] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 1487 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 295.07 484.453 309.018] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 1488 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 295.07 499.397 309.018] /Subtype /Link /A << /S /GoTo /D (page.55) >> >> endobj 1489 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 247.25 484.453 261.197] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 1490 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 247.25 499.397 261.197] /Subtype /Link /A << /S /GoTo /D (page.87) >> >> endobj 1491 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 235.294 499.397 249.242] /Subtype /Link /A << /S /GoTo /D (page.87) >> >> endobj 1492 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 223.339 469.509 237.287] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 1493 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 223.339 484.453 237.287] /Subtype /Link /A << /S /GoTo /D (page.90) >> >> endobj 1494 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 223.339 499.397 237.287] /Subtype /Link /A << /S /GoTo /D (page.93) >> >> endobj 1495 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 211.384 499.397 225.332] /Subtype /Link /A << /S /GoTo /D (page.90) >> >> endobj 1496 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 199.429 469.509 213.377] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 1497 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 199.429 484.453 213.377] /Subtype /Link /A << /S /GoTo /D (page.91) >> >> endobj 1498 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 199.429 499.397 213.377] /Subtype /Link /A << /S /GoTo /D (page.93) >> >> endobj 1499 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 187.474 499.397 201.421] /Subtype /Link /A << /S /GoTo /D (page.91) >> >> endobj 1457 0 obj << /D [1455 0 R /XYZ 144.727 740.998 null] >> endobj 1454 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1503 0 obj << /Length 2481 /Filter /FlateDecode >> stream x\Ks"9WhG4RǍވ퉘mfh7k0,;~R(TqDHJJ}Nn%[ZXeo{w;^G( 0V3q)dB g|6o~x ~<%j#I2V|�OTaɆHI?}rX R8gn?e5 ),*t<ZmglU>b_�JHWn,R }`P|g% GP>d Mf|rmg\B#g[aԘ70�2D@:IFAX)U S9#idEH:HJ0J$o= L'@ -u0Ѱ�6+eW@L[(K! 4+HBJ<IHR5m_jS-c"?V3hЄ:c--HlRt٤ߍU}i_Sdxscǡ$/rȿnZNX Ip /G'c-y,e^#c7!o'/7R �]܀^ͯ7+~bTZ@U&K 6Ϛ1hma6Ir|z>o+8[r9Tj*b<1(q'5⿦,@Z}ǭl~a+-bvV(GG򉇡7L,Xz.b#+w5 +8 2r 1wxyEiW':0wsE"މtNX^#jY'9*z**[M+ )dx|,bmYF`!mmCi6\t8&A'�ۢfnd88uDo $ZBȥ,DY䵨Tx9+j덃GGT{z"P ۆW`XEq1BMB_W>j%!jr wS5푱G'N 0 5TY2&zK3X,9 0c| bxTl>{NDh5YuQ[ ),Xԥ&W5n2YO7�C$HJ.HURRrO&e-E, -gDpT[X?6a(l~&ۯ4%6"%N+ Į1re]F? ׫C,s[Yٻ+wH6rKcCTRVɠgB]y-f:<*?(( TBAa\X%8֠d$n?R see[Ul9agOћCu.ö́&'ț4:χ/G$G-q$m)6 cu0}g ͱ}GDrv&PQz3�ŁJɊ u$uX*nUK^UNUZ\ݷBfP]aDM$)VJ ;E>R!YÉBlUr1J:+9$GhtLhwv&.wlKMέ̝V]w<sP25:˗|ʐ fmuP46"d7ܐh6ZAޟ֋8܉׶q>PJ]2 t1ͅ\XZN<g\s\h:[5&M=ͪ*]р0}eEB{I|LMheQyʺՑtywf-n#qv҆Ca;C~u?3{v�h?zrr_ak0Axe.%ڼ]j�I%ʟt=l=;;WfTiz;e8kr6U%uشVdjrҋt;Χק�%dcدV ~p}8jCbŰY5Ĭ<5<&0^{8i]^Ga==͞|,t_ѡC˩�Ю|8EŐ? gld(27tbɜ ڊxQF6=9w5>߶/{!M}'sh{uKٿ[%%!EEEߖ+\dFޢIb[^JG{OYbj2Qs"Qxp;=CѦ|V#\l,^? ҟ¿vp3Yoeh"t1{@r\۞ \ x3hyVHs{`ι7m(umokFE"<iHxDOO8<= Gc1arpA]rx{LoOC܏X=녝^g {)hS5x}=47 RR6&sendstream endobj 1502 0 obj << /Type /Page /Contents 1503 0 R /Resources 1501 0 R /MediaBox [0 0 595.276 841.89] /Parent 1500 0 R /Annots [ 1505 0 R 1506 0 R 1507 0 R 1508 0 R 1509 0 R 1510 0 R 1511 0 R 1512 0 R 1513 0 R 1514 0 R 1515 0 R 1516 0 R 1517 0 R 1518 0 R 1519 0 R 1520 0 R 1521 0 R 1522 0 R 1523 0 R 1524 0 R 1525 0 R 1526 0 R 1527 0 R 1528 0 R 1529 0 R 1530 0 R 1531 0 R 1532 0 R 1533 0 R 1534 0 R 1535 0 R 1536 0 R 1537 0 R 1538 0 R 1539 0 R 1540 0 R 1541 0 R 1542 0 R 1543 0 R 1544 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R 1552 0 R 1553 0 R 1554 0 R 1555 0 R 1556 0 R 1557 0 R ] >> endobj 1505 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 500.301 305.126 514.248] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 1506 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 464.435 275.238 478.383] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 1507 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 464.435 290.182 478.383] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 1508 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 464.435 305.126 478.383] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1509 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 452.48 305.126 466.428] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1510 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 416.615 305.126 430.562] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 1511 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [239.621 368.794 251.577 382.742] /Subtype /Link /A << /S /GoTo /D (page.58) >> >> endobj 1512 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 356.839 305.126 370.786] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1513 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 320.973 305.126 334.921] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1514 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 261.197 305.126 275.145] /Subtype /Link /A << /S /GoTo /D (page.72) >> >> endobj 1515 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 177.511 290.182 191.459] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 1516 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 177.511 305.126 191.459] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1517 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [233.395 129.69 245.35 143.638] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 1518 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 129.69 260.294 143.638] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1519 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 129.69 275.238 143.638] /Subtype /Link /A << /S /GoTo /D (page.48) >> >> endobj 1520 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 129.69 290.182 143.638] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1521 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 129.69 305.126 143.638] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 1522 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 677.636 499.397 691.583] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1523 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 641.77 454.565 655.718] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1524 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 641.77 469.509 655.718] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1525 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 641.77 484.453 655.718] /Subtype /Link /A << /S /GoTo /D (page.48) >> >> endobj 1526 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 641.77 499.397 655.718] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 1527 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 581.994 484.453 595.942] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1528 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 581.994 499.397 595.942] /Subtype /Link /A << /S /GoTo /D (page.48) >> >> endobj 1529 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 558.084 454.565 572.032] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 1530 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 558.084 469.509 572.032] /Subtype /Link /A << /S /GoTo /D (page.31) >> >> endobj 1531 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 558.084 484.453 572.032] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1532 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 558.084 499.397 572.032] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1533 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 522.218 499.397 536.166] /Subtype /Link /A << /S /GoTo /D (page.55) >> >> endobj 1534 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [427.666 462.443 439.621 476.39] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 1535 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 462.443 454.565 476.39] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1536 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 462.443 469.509 476.39] /Subtype /Link /A << /S /GoTo /D (page.38) >> >> endobj 1537 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 462.443 484.453 476.39] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1538 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 462.443 499.397 476.39] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1539 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 307.025 454.565 320.973] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 1540 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 307.025 469.509 320.973] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1541 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 307.025 484.453 320.973] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1542 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 307.025 499.397 320.973] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 1543 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 223.339 469.509 237.287] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1544 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 223.339 484.453 237.287] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1545 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 223.339 499.397 237.287] /Subtype /Link /A << /S /GoTo /D (page.86) >> >> endobj 1546 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [489.933 211.384 496.907 225.332] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1547 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 202.796 389.808 211.802] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1548 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 175.519 484.453 189.466] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1549 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 175.519 499.397 189.466] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 1550 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 163.563 499.397 177.511] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1551 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 139.653 469.509 153.601] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1552 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 139.653 484.453 153.601] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1553 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 139.653 499.397 153.601] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 1554 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 127.698 484.453 141.646] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1555 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 127.698 499.397 141.646] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1556 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 115.743 484.453 129.69] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 1557 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 115.743 499.397 129.69] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 1504 0 obj << /D [1502 0 R /XYZ 144.727 740.998 null] >> endobj 1501 0 obj << /Font << /F74 556 0 R /F83 563 0 R /F75 558 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1560 0 obj << /Length 2492 /Filter /FlateDecode >> stream xrѮZ!ntN6[T%Q^R"CR�"'rܞ�B Lt0FYkMsxCI5μo('՟jy|z(~ݿϟ~ L3@ a=J߉H�^1%*O?}+(k'OW`7Wo^*v6;{),u2^�3o3y4k3YޘX0ʱD-:*+L, sxe @xm-#+as%zFZcF5D!f9vb1[ 5jm2%t!cy?{hSbD #8O&^Y_|nta0A(ALa�$F3jINT>8PiJƉg9q\D'(~HPטDNq(,B 7)xٞH ~$(∇88Κ,-mZ=A8gBʥ*:>%+Ch%Lvif4霵 tyt!^}) tq҂PjJ5D0,"d2$5hlzj?{5VPt>=%(('&ib\1 Y>weM:rDǖL.~9֗iƿ8 QDM8͏:@0 *2[-7ZevǸ,gg 8c 9$I[6IC΅پ)r_rp,.<ҲKpcHn o oB<!Ye!+ N L'pJ!8,)V`ŴTM[?[3/o99_"ylq$$zDԆf"qo_00/_I歲F.M*4nəX<oV/=fgk#Zd2eCdRVa9_#tΤZTF~q4{TrO \,7z9XJkBTBG+a#+q8xs<hKuL )h$mQB>ɅV{GԞ+{`D{Q97|K9  f_zɘ2㿕g,@B}skhN6 a:0NSR 3X#i9pCVkƚ2^MoZL qB,R.$&MJX% ́BbR)r*sf$7|V?ngӗyfzrGPiuNryW5S~rˆ 8x<7`[9(G!U zhl辮OرrN-|*CչUI^|1ͭA[EYV"l d[KYž%ʆȜ/W i4!mWt"<G(T*jaYjZ4gybR2:.|=˔|lp]CK\FD|~Ko96]m3*J6X4p)'k7Stl/^xc[:,!΂(0tb2[}]=n"Ha搷vs:c!׀li`}|}~|ݢ2mViR$\MHCׂ4q'kMB4kTa㍠�#(ŝ{zņC}4${  $\w$LHa"f H P7 ǀhӭv3ّT0b ul'R `+\30+=|t,}vA G_rPiJT\Eȇ$m;1�c8<:.vf4&}~8"ڔ]V/u'{Bd0fr=sSY4( 7A>j9fYw#PdA+T+BQC΁HkU.z51JWz}nLfb:Җͭ2A]"=$1f :c0< w)U$3  }Cݽi\"Sui} TlfO+ZYW-  4Iw�m�]#wn\X=W;eb5X:3Jr>/ECebf-~bcz,nno{;f{'=7F,./V=T yֹdbxi:&||7Oכsn(+4fiJB{vX| yhHk䋞lll~Wb4'$Oz6|{\~)8av9d@$^Fc uB :WTk"w_dendstream endobj 1559 0 obj << /Type /Page /Contents 1560 0 R /Resources 1558 0 R /MediaBox [0 0 595.276 841.89] /Parent 1500 0 R /Annots [ 1562 0 R 1563 0 R 1564 0 R 1565 0 R 1566 0 R 1567 0 R 1568 0 R 1569 0 R 1570 0 R 1571 0 R 1572 0 R 1573 0 R 1574 0 R 1575 0 R 1576 0 R 1577 0 R 1578 0 R 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1583 0 R 1584 0 R 1585 0 R 1586 0 R 1587 0 R 1588 0 R 1589 0 R 1590 0 R 1591 0 R 1592 0 R 1593 0 R 1594 0 R 1595 0 R 1596 0 R 1597 0 R 1598 0 R 1599 0 R 1600 0 R 1601 0 R 1602 0 R 1603 0 R 1604 0 R 1605 0 R 1606 0 R 1607 0 R 1608 0 R 1609 0 R 1610 0 R 1611 0 R 1612 0 R 1613 0 R 1614 0 R 1615 0 R 1616 0 R 1617 0 R 1618 0 R 1619 0 R 1620 0 R 1621 0 R 1622 0 R 1623 0 R 1624 0 R 1625 0 R 1626 0 R 1627 0 R ] >> endobj 1562 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 366.801 305.126 380.749] /Subtype /Link /A << /S /GoTo /D (page.56) >> >> endobj 1563 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 342.891 305.126 356.839] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1564 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [270.755 271.16 277.729 285.108] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1565 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [280.717 271.16 287.691 285.108] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1566 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 271.16 302.635 285.108] /Subtype /Link /A << /S /GoTo /D (page.94) >> >> endobj 1567 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 261.387 200.518 271.578] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 1568 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [203.507 261.387 220.443 271.578] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 1569 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [283.208 247.25 290.182 261.197] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 1570 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 247.25 305.126 261.197] /Subtype /Link /A << /S /GoTo /D (page.94) >> >> endobj 1571 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 235.294 305.126 249.242] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 1572 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 223.339 285.2 237.287] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1573 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 223.339 305.126 237.287] /Subtype /Link /A << /S /GoTo /D (page.107) >> >> endobj 1574 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 211.384 305.126 225.332] /Subtype /Link /A << /S /GoTo /D (page.106) >> >> endobj 1575 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 199.429 305.126 213.377] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 1576 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 187.474 305.126 201.421] /Subtype /Link /A << /S /GoTo /D (page.119) >> >> endobj 1577 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [460.045 558.084 467.019 572.032] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1578 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 558.084 481.963 572.032] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 1579 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 558.084 496.907 572.032] /Subtype /Link /A << /S /GoTo /D (page.43) >> >> endobj 1580 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 548.311 389.808 558.502] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 1581 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [392.797 548.311 404.752 558.502] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 1582 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 510.263 499.397 524.211] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 1583 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [440.12 498.308 447.093 512.256] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1584 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [450.082 498.308 457.056 512.256] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1585 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [460.045 498.308 467.019 512.256] /Subtype /Link /A << /S /GoTo /D (page.9) >> >> endobj 1586 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 498.308 481.963 512.256] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 1587 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 498.308 496.907 512.256] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 1588 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 488.535 389.808 498.727] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 1589 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [393.153 488.535 405.108 498.727] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 1590 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [408.453 488.535 420.408 498.727] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 1591 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [423.752 488.535 435.708 498.727] /Subtype /Link /A << /S /GoTo /D (page.62) >> >> endobj 1592 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [439.052 488.535 451.007 498.727] /Subtype /Link /A << /S /GoTo /D (page.64) >> >> endobj 1593 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [454.352 488.535 466.307 498.727] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 1594 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [469.652 488.535 481.607 498.727] /Subtype /Link /A << /S /GoTo /D (page.74) >> >> endobj 1595 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 488.535 496.907 498.727] /Subtype /Link /A << /S /GoTo /D (page.75) >> >> endobj 1596 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 476.58 389.808 486.771] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 1597 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [392.797 476.58 404.752 486.771] /Subtype /Link /A << /S /GoTo /D (page.84) >> >> endobj 1598 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [407.741 476.58 419.696 486.771] /Subtype /Link /A << /S /GoTo /D (page.87) >> >> endobj 1599 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [422.685 476.58 434.64 486.771] /Subtype /Link /A << /S /GoTo /D (page.97) >> >> endobj 1600 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [437.629 476.58 454.565 486.771] /Subtype /Link /A << /S /GoTo /D (page.104) >> >> endobj 1601 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 438.532 469.509 452.48] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1602 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 438.532 484.453 452.48] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 1603 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 438.532 499.397 452.48] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1604 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [430.157 414.622 437.131 428.57] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1605 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [440.12 414.622 452.075 428.57] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 1606 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [455.064 414.622 467.019 428.57] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 1607 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 414.622 481.963 428.57] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 1608 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 414.622 496.907 428.57] /Subtype /Link /A << /S /GoTo /D (page.61) >> >> endobj 1609 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 404.849 389.808 415.04] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 1610 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [392.797 404.849 404.752 415.04] /Subtype /Link /A << /S /GoTo /D (page.95) >> >> endobj 1611 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 354.846 484.453 368.794] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 1612 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 354.846 499.397 368.794] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 1613 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [397.778 318.981 409.733 332.928] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 1614 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [412.722 318.981 424.677 332.928] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 1615 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [427.666 318.981 439.621 332.928] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 1616 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 318.981 454.565 332.928] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1617 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 318.981 469.509 332.928] /Subtype /Link /A << /S /GoTo /D (page.49) >> >> endobj 1618 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 318.981 484.453 332.928] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1619 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 318.981 499.397 332.928] /Subtype /Link /A << /S /GoTo /D (page.53) >> >> endobj 1620 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 283.115 499.397 297.063] /Subtype /Link /A << /S /GoTo /D (page.46) >> >> endobj 1621 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 259.205 454.565 273.152] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 1622 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 259.205 469.509 273.152] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 1623 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 259.205 484.453 273.152] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1624 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 259.205 499.397 273.152] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 1625 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 235.294 499.397 249.242] /Subtype /Link /A << /S /GoTo /D (page.74) >> >> endobj 1626 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 177.511 499.397 191.459] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 1627 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 141.646 499.397 155.593] /Subtype /Link /A << /S /GoTo /D (page.89) >> >> endobj 1561 0 obj << /D [1559 0 R /XYZ 144.727 740.998 null] >> endobj 1558 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1630 0 obj << /Length 2345 /Filter /FlateDecode >> stream x\KE"Y`mw,wc[^ݢܒZ`1z?* #N`J1#(ΜxGOP"dh?%Hfb]vϏ/O=C9z緾~}_~ .%pY5`�t_1�sZ:L_1@iKuo}V>x $R@Xj~ΟL13/DzIWqW6ncz�pkY=-aՔuG鴉R\ utO3cںX;BI}-S'77[7<X0i�I3B)hF8ę$s-ÖsP.|ӿL)Pi�R!<�!eŠJa!$9ǐ]E:4z8ze X^۲/`deiKgAL孟=L^.l,ﻷto\>G]xG4iyմ[ PJaM|ӊ; oj A #49jP a:\7V�5Z Z0oFU`]{LyR2*JTz~\gD$R,Pdo1̒8ii$9xYՀH%H.mrkg/1Or2?TR�,SC*}p Rd*\ sJ]dxК>eIi^Lߢ1hb=O 44@L@!T:aV?<LBo!�Dus1a>wq<Ġrn2i#ܫs>9hq4WVA 8™R؏҈K 5A0 u QSM?l shz~ߗ2'Q~p-^NgUs*�"/V@oU! [_4fڍB2p%z/;1$f I,e}l92fں_ŭ; xaI3zd0n?fխ>V7�ݷ@L/Vs@o_OI[L6)g2-^\JWU2a+Ć )3!g?$ry;87$ZMC5-db}|ѧY@ZWNI28PbCAxBrV`d %'٪wqPJKf^1ZYȫA}l] >Znv:&k\'Zw\[GW6 Vt-i[8ӄVx}Lk|64J^jٌ) 2+qH=V3ez :qwn(&B y˛Ờ uZ2Wf-&\v0C%. vBBO#tpvHgf) ^{Pcw DIt{Le" ǖ9T6K�Kբ?Kvͣ]VUHvk�qudX}^zab^q ,7TW!}Kl-<' Zt,,2/9)]Vr'4 o h[0[V2I+x4K@瑺�-retP^y`QjZ0iԹ:C|[ mP(gzk@RӕUk')hDya [Bj `}ܔ=Vb\_�Qf3!cr4D:=1 P$R%l2OrB_q`fm`.[K86Nj@{zI</^߷]/)l1Ȗb>\ز65_#:&�a4"pqKp79r| Sv6>uZhƓզ| hcy7nϿL|붬7̰F<a5.>}ƓM\3㜥3�W:>CYxKjlBў:AK NFr]r]1)JkcMqIπyuj~W(\[hH"i-z\4q;H~2nY$NWhŬ_ΉP=5ݳ$JΒ7D=g~7z&Eh4q%Q芣xv$Iy*O ԍ9Z ?yJ@0G<yu#$P܁v !o 4%Qh{(аI}}endstream endobj 1629 0 obj << /Type /Page /Contents 1630 0 R /Resources 1628 0 R /MediaBox [0 0 595.276 841.89] /Parent 1500 0 R /Annots [ 1632 0 R 1633 0 R 1634 0 R 1635 0 R 1636 0 R 1637 0 R 1638 0 R 1639 0 R 1640 0 R 1641 0 R 1642 0 R 1643 0 R 1644 0 R 1645 0 R 1646 0 R 1647 0 R 1648 0 R 1649 0 R 1650 0 R 1651 0 R 1652 0 R 1653 0 R 1654 0 R 1655 0 R 1656 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1661 0 R 1662 0 R ] >> endobj 1632 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 641.77 305.126 655.718] /Subtype /Link /A << /S /GoTo /D (page.86) >> >> endobj 1633 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 438.532 305.126 452.48] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 1634 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [253.32 390.712 265.275 404.659] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 1635 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 390.712 285.2 404.659] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 1636 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 390.712 305.126 404.659] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 1637 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [265.773 366.801 272.747 380.749] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1638 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [275.736 366.801 287.691 380.749] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 1639 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 366.801 302.635 380.749] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 1640 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 357.028 195.537 367.22] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 1641 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [198.526 357.028 215.462 367.22] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1642 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [218.451 357.028 235.387 367.22] /Subtype /Link /A << /S /GoTo /D (page.117) >> >> endobj 1643 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 307.025 305.126 320.973] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 1644 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 295.07 305.126 309.018] /Subtype /Link /A << /S /GoTo /D (page.102) >> >> endobj 1645 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 283.115 302.635 297.063] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 1646 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 273.342 200.518 283.533] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 1647 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [203.507 273.342 220.443 283.533] /Subtype /Link /A << /S /GoTo /D (page.111) >> >> endobj 1648 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 235.294 290.182 249.242] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 1649 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 235.294 305.126 249.242] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 1650 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [273.245 199.429 285.2 213.377] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 1651 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 199.429 305.126 213.377] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 1652 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 139.653 290.182 153.601] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 1653 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 139.653 305.126 153.601] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 1654 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 581.994 484.453 595.942] /Subtype /Link /A << /S /GoTo /D (page.31) >> >> endobj 1655 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 581.994 499.397 595.942] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 1656 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 534.174 499.397 548.121] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1657 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 522.218 499.397 536.166] /Subtype /Link /A << /S /GoTo /D (page.9) >> >> endobj 1658 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 498.308 499.397 512.256] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1659 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 438.532 499.397 452.48] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 1660 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 426.577 484.453 440.525] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 1661 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 426.577 499.397 440.525] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1662 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 297.063 499.397 311.011] /Subtype /Link /A << /S /GoTo /D (page.74) >> >> endobj 1631 0 obj << /D [1629 0 R /XYZ 144.727 740.998 null] >> endobj 1628 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1665 0 obj << /Length 2523 /Filter /FlateDecode >> stream x[KsY7FdIqֶ?0,REٖshLb=zFdHΜ^觟"`H'~_B2󧧇j1鹜4 9^ɶݏO=Bse=82�S!i? 0_i4P9Rj11&dۦ@)`|?֨G1AtEāh}Lzo>/OQ@:&(}|RMϕ\ȶ\8]0%-qh+.^!q3G7KWܐ,@rA>Y$[e M8RHqQ)D&dS_/(i|ŪMpj KxI,Ԗ\Жη?,^^e*/<%M0 }B҇&m;| ؟ kȸk _ @FVCbF?͈<p&R~l%?Fxߏ8 r(Y1/#lsXs>WJYa{A=(^:wvw pBגpQZX+X(P 8QWp Q0J1̞l'";DƣD]V7 +WKDeXeX/\[֥S^^$R0eݣ  ID7~.>Hmvr.^}ȳlBNd]ZTyW:ɖ[o6gvιȾ@ *Y=! G8 Wowr%:m1:gDıZe˯Wo?ʫ1%e]S)[QBg]0q78rqGj0 գqյڠ6=(1'-r( O1oh*.# CTH F wa i]5܊0:L-P`j+mwfތ5E=OY5lHN 0Y8a\Íj {jqFOYr:O%PK<xfk C~ACo_I_g hS1qKhfFkKSj.B<R,K0pk8N$|Rһ2!`ފ'dG1i|ZuA\q`I,i)Gq$(*de& raHrZH=ekHaXH̄y'v%_2:PiLҖ#Ʌ( .et(k}bnp%bRzL5A[Ojb+u{YuQg@.dp'HP5EC(و2d ȋV{y<),)OǖA^|*KöXƸ.-™rkB�H~7&X눖qhE=4U+ol5tNz7qnCU-g-23|(q6q)D:ݿBqwv7H}hu)xY<0YG߇G161Ѿx`r}n:{;~y'YN}xڿY"$qh"ěqCFJ/ƔJ�UW (-˦دY6mFSQ#�'bKf <e.n$ 3Ԯ[bP޻^fAuj[lvgoثypR2}|2-媣1Z`ңԡߡ%D5B5QY W#-AjrDiY@Oy[F6)_6ڧ pWم7iC+LL!k&PauuOzmشҭbm@|-R܎SEz'zeB0--*bKC aWzAh$X]r(QgզDQiU1NEjhL߸>qDk8qLc$l:t,  h@f&Y~PAiHT:Sm8-f:οpwE[5_6+P�kE6Ϳ':*ަv}zba+Z*`b}-6{/N1((O inj ʏ.4<tu!& '`Ӱ 9~}i 0Z%bQl&_\�yt\$�SY.DzÒ=b_`\ }fQ⨎ LCA6? C4Z"FXJk$خj!UO>Mi6YǴ.6.Vi7<>z.OcE V駃VoFe6ٮ  fd*(Z㦯ŶZs! F`V$5KdIEQp.E4@Oˆ~"J&kQ"Gendstream endobj 1664 0 obj << /Type /Page /Contents 1665 0 R /Resources 1663 0 R /MediaBox [0 0 595.276 841.89] /Parent 1500 0 R /Annots [ 1667 0 R 1668 0 R 1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1679 0 R 1680 0 R 1681 0 R 1682 0 R 1683 0 R 1684 0 R 1685 0 R 1686 0 R 1687 0 R 1688 0 R 1689 0 R 1690 0 R 1691 0 R 1692 0 R 1693 0 R 1694 0 R 1695 0 R 1696 0 R 1697 0 R 1698 0 R 1699 0 R 1700 0 R 1701 0 R 1702 0 R 1703 0 R 1704 0 R 1705 0 R ] >> endobj 1667 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 665.681 305.126 679.628] /Subtype /Link /A << /S /GoTo /D (page.71) >> >> endobj 1668 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 605.905 290.182 619.852] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 1669 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 605.905 305.126 619.852] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 1670 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [223.432 593.95 235.387 607.897] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 1671 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [238.376 593.95 250.331 607.897] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 1672 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [253.32 593.95 265.275 607.897] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 1673 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 593.95 285.2 607.897] /Subtype /Link /A << /S /GoTo /D (page.108) >> >> endobj 1674 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 593.95 305.126 607.897] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 1675 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [283.208 570.039 290.182 583.987] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1676 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 570.039 305.126 583.987] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 1677 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 534.174 305.126 548.121] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 1678 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 498.308 305.126 512.256] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 1679 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 486.353 305.126 500.301] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 1680 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 462.443 305.126 476.39] /Subtype /Link /A << /S /GoTo /D (page.68) >> >> endobj 1681 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 426.577 305.126 440.525] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1682 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 390.712 305.126 404.659] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1683 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 366.801 305.126 380.749] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 1684 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [280.717 283.115 287.691 297.063] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1685 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 283.115 302.635 297.063] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 1686 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 274.607 195.537 283.533] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 1687 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 211.384 305.126 225.332] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 1688 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 617.86 499.397 631.808] /Subtype /Link /A << /S /GoTo /D (page.56) >> >> endobj 1689 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 605.905 499.397 619.852] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 1690 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [432.648 558.084 439.621 572.032] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1691 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 558.084 454.565 572.032] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 1692 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 558.084 469.509 572.032] /Subtype /Link /A << /S /GoTo /D (page.62) >> >> endobj 1693 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 558.084 484.453 572.032] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 1694 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 558.084 499.397 572.032] /Subtype /Link /A << /S /GoTo /D (page.77) >> >> endobj 1695 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 414.622 499.397 428.57] /Subtype /Link /A << /S /GoTo /D (page.77) >> >> endobj 1696 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 342.891 454.565 356.839] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 1697 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 342.891 469.509 356.839] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 1698 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 342.891 484.453 356.839] /Subtype /Link /A << /S /GoTo /D (page.33) >> >> endobj 1699 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 342.891 499.397 356.839] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1700 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [436.384 295.07 443.357 309.018] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 1701 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 283.115 454.565 297.063] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 1702 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 283.115 469.509 297.063] /Subtype /Link /A << /S /GoTo /D (page.30) >> >> endobj 1703 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 283.115 484.453 297.063] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1704 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 283.115 499.397 297.063] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 1705 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 139.653 499.397 153.601] /Subtype /Link /A << /S /GoTo /D (page.38) >> >> endobj 1666 0 obj << /D [1664 0 R /XYZ 144.727 740.998 null] >> endobj 1663 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1708 0 obj << /Length 2512 /Filter /FlateDecode >> stream x]KF+8DLVUFسcwA VX VqMJ ْY%)cc&\Z3.Gt[?XH J 7 Q6}滇~rlU0~}v;1/x bSJJ;.@,I ~{ƈ8X<%+oWj.p)`e:X"FFhFA3O#J�UҔ0kCf GUJ o @qojUXY뙏 Jn}1]Ty71{d'<ӵTv 3ΛvT,H;6[כl&CtH%o/nd&d(wksƍI6D3q='9əp%Ktdx_0 9U*ݸX/yjm)Z.c/ b km ;dYwK i!͵a9A9a2+?�Fdet?=BK;-vGY\\WtYꗔH(*'9,?c易iq<W_GҀy^./ɟ |ȋJ~Y'AzJN!yCh"vD:Å̢vǟfhW,_LE^kcVzP䇙& B%\@uO IhUWd-~Ih'@IS{}R6GĿmo8𴴨@%XCH^.eRa&NigoPe,㊱Ҫ.i6qg+2ŁB|zHkj?&AQ6d%<0򒵷7uG@ ¿;6]^YB:Y*-ɍ~]ft`T\$sR @@l:^NxNuH&`ڹohBٻF;db613 �qTJ;%{5:"%eEŖP~Qf{i]LʼM2O*hO'})^}\zYQSSR ; Ԭ %uSȦ%1Us}#GfjnAyXNJ+jyΓq˳s i%E'RgF.J|G,ψ I\"cDIsdբ>Z;wye%w{0=. }cfO*IɋRT6 S eAR#*STd1c�Eulso&S~dcawn&j-Ok@"ؗlP33]X G?49EmҊol#>T©2&XI \ĞuGt㈪# %Yt>ڦ3(")ɢK(IlR ܧKhh]F`M:jz yBVbXhIΌRKTK 0HW70㰺7dGEm]%g[u15V X+SGfBGYN= T0PG֎QsCK>TN.5Oջo$Xʥp22ޏ0hD:c$c% WPRyP*noj]HMO&OQ|S8Ag_o%Ur)J @TvDs)Jf% y?\EM7 m,oXzgͳY9v,+Rϡf\CJK4p�]HCorĮo&3k'KuƪnsChyZJ6/Tr*AoysK8ߢ$mK8_Sf�J0&�PǥfDoœ/T (1աl_Lf_"]]o,q*jFH־7!;52mUu;? |]ߦ6 PR/FzU~ ϝ؟,Jɷ3[}H ߳qMzqGRѬ7DE=or9uyPgmxG LqP9:hi.3�u15AC`[x놺+`34K-NzK-}"fbFl ·@{IzׯDZi^'.r&4 H50  _M/t% yK 7[):[wA^χBb * ]&h+ş̾u|cK?g /-u=PChi �C`b+T3b#MyS SoSf2 Uq8 b-Nuܪ{)]'3`BUym[0]ZUff?fu67x`.ϋB Aw~lXo#3LY*;Q?-T?Hendstream endobj 1707 0 obj << /Type /Page /Contents 1708 0 R /Resources 1706 0 R /MediaBox [0 0 595.276 841.89] /Parent 1500 0 R /Annots [ 1710 0 R 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1717 0 R 1718 0 R 1719 0 R 1720 0 R 1721 0 R 1722 0 R 1723 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1729 0 R 1730 0 R 1731 0 R 1732 0 R 1733 0 R 1734 0 R 1735 0 R 1736 0 R 1737 0 R 1738 0 R 1739 0 R 1740 0 R 1741 0 R 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R 1763 0 R 1764 0 R 1765 0 R 1766 0 R 1767 0 R 1768 0 R 1769 0 R 1770 0 R 1771 0 R 1772 0 R 1773 0 R 1774 0 R 1775 0 R 1776 0 R 1777 0 R 1778 0 R 1779 0 R 1780 0 R 1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R 1788 0 R 1789 0 R 1790 0 R 1791 0 R 1792 0 R 1793 0 R 1794 0 R 1795 0 R 1796 0 R 1797 0 R 1798 0 R 1799 0 R 1800 0 R 1801 0 R 1802 0 R 1803 0 R ] >> endobj 1710 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 677.636 305.126 691.583] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 1711 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 653.725 305.126 667.673] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1712 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 641.77 305.126 655.718] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 1713 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 593.95 275.238 607.897] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1714 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 593.95 290.182 607.897] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1715 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 593.95 305.126 607.897] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1716 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [285.699 498.308 302.635 512.256] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1717 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 489.8 200.518 498.727] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 1718 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 440.525 290.182 454.473] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 1719 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 440.525 305.126 454.473] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1720 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 392.704 305.126 406.652] /Subtype /Link /A << /S /GoTo /D (page.57) >> >> endobj 1721 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 332.928 305.126 346.876] /Subtype /Link /A << /S /GoTo /D (page.65) >> >> endobj 1722 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 309.018 305.126 322.966] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 1723 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 285.108 305.126 299.055] /Subtype /Link /A << /S /GoTo /D (page.86) >> >> endobj 1724 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 153.601 290.182 167.549] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 1725 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 153.601 305.126 167.549] /Subtype /Link /A << /S /GoTo /D (page.84) >> >> endobj 1726 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 629.815 499.397 643.763] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 1727 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 558.084 484.453 572.032] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1728 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 558.084 499.397 572.032] /Subtype /Link /A << /S /GoTo /D (page.53) >> >> endobj 1729 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 522.218 499.397 536.166] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1730 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 498.308 469.509 512.256] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1731 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 498.308 484.453 512.256] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1732 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 498.308 499.397 512.256] /Subtype /Link /A << /S /GoTo /D (page.86) >> >> endobj 1733 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 486.353 484.453 500.301] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1734 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 486.353 499.397 500.301] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 1735 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 474.398 469.509 488.346] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1736 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 474.398 484.453 488.346] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1737 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 474.398 499.397 488.346] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 1738 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [432.648 462.443 439.621 476.39] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1739 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 462.443 454.565 476.39] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 1740 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 462.443 469.509 476.39] /Subtype /Link /A << /S /GoTo /D (page.43) >> >> endobj 1741 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 462.443 484.453 476.39] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 1742 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 462.443 499.397 476.39] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 1743 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 450.487 499.397 464.435] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1744 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 438.532 499.397 452.48] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1745 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 426.577 484.453 440.525] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1746 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 426.577 499.397 440.525] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 1747 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 414.622 499.397 428.57] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 1748 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 402.667 479.472 416.615] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1749 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 402.667 499.397 416.615] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 1750 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 390.712 499.397 404.659] /Subtype /Link /A << /S /GoTo /D (page.65) >> >> endobj 1751 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 378.756 499.397 392.704] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1752 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 366.801 484.453 380.749] /Subtype /Link /A << /S /GoTo /D (page.38) >> >> endobj 1753 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 366.801 499.397 380.749] /Subtype /Link /A << /S /GoTo /D (page.42) >> >> endobj 1754 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 354.846 499.397 368.794] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 1755 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 342.891 499.397 356.839] /Subtype /Link /A << /S /GoTo /D (page.71) >> >> endobj 1756 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 330.936 479.472 344.884] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1757 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 330.936 489.435 344.884] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1758 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 330.936 499.397 344.884] /Subtype /Link /A << /S /GoTo /D (page.9) >> >> endobj 1759 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [405.25 318.981 412.224 332.928] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 1760 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [415.213 318.981 422.187 332.928] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 1761 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [425.176 318.981 437.131 332.928] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 1762 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [440.12 318.981 452.075 332.928] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1763 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [455.064 318.981 467.019 332.928] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 1764 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 318.981 481.963 332.928] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1765 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 318.981 496.907 332.928] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 1766 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 310.537 389.808 319.26] /Subtype /Link /A << /S /GoTo /D (page.77) >> >> endobj 1767 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 295.07 499.397 309.018] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 1768 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 283.115 469.509 297.063] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 1769 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 283.115 484.453 297.063] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 1770 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 283.115 499.397 297.063] /Subtype /Link /A << /S /GoTo /D (page.42) >> >> endobj 1771 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 271.16 499.397 285.108] /Subtype /Link /A << /S /GoTo /D (page.111) >> >> endobj 1772 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [467.517 259.205 474.491 273.152] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1773 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 259.205 484.453 273.152] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1774 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 259.205 499.397 273.152] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 1775 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [415.213 247.25 422.187 261.197] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1776 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [425.176 247.25 432.149 261.197] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1777 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [435.138 247.25 447.093 261.197] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 1778 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [450.082 247.25 462.037 261.197] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 1779 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [465.026 247.25 476.981 261.197] /Subtype /Link /A << /S /GoTo /D (page.71) >> >> endobj 1780 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [479.97 247.25 496.907 261.197] /Subtype /Link /A << /S /GoTo /D (page.108) >> >> endobj 1781 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 237.476 394.79 247.668] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 1782 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [397.778 237.476 414.715 247.668] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 1783 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 223.339 499.397 237.287] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1784 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [420.194 211.384 427.168 225.332] /Subtype /Link /A << /S /GoTo /D (page.1) >> >> endobj 1785 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [430.157 211.384 437.131 225.332] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 1786 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [440.12 211.384 452.075 225.332] /Subtype /Link /A << /S /GoTo /D (page.87) >> >> endobj 1787 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [455.064 211.384 467.019 225.332] /Subtype /Link /A << /S /GoTo /D (page.90) >> >> endobj 1788 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 211.384 481.963 225.332] /Subtype /Link /A << /S /GoTo /D (page.91) >> >> endobj 1789 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 211.384 496.907 225.332] /Subtype /Link /A << /S /GoTo /D (page.94) >> >> endobj 1790 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 202.876 394.79 211.802] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 1791 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 187.474 489.435 201.421] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 1792 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 187.474 499.397 201.421] /Subtype /Link /A << /S /GoTo /D (page.9) >> >> endobj 1793 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 175.519 499.397 189.466] /Subtype /Link /A << /S /GoTo /D (page.111) >> >> endobj 1794 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 151.608 484.453 165.556] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 1795 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 151.608 499.397 165.556] /Subtype /Link /A << /S /GoTo /D (page.87) >> >> endobj 1796 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 139.653 469.509 153.601] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 1797 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 139.653 484.453 153.601] /Subtype /Link /A << /S /GoTo /D (page.90) >> >> endobj 1798 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 139.653 499.397 153.601] /Subtype /Link /A << /S /GoTo /D (page.93) >> >> endobj 1799 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 127.698 469.509 141.646] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 1800 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 127.698 484.453 141.646] /Subtype /Link /A << /S /GoTo /D (page.91) >> >> endobj 1801 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 127.698 499.397 141.646] /Subtype /Link /A << /S /GoTo /D (page.93) >> >> endobj 1802 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 115.743 484.453 129.69] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1803 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 115.743 499.397 129.69] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1709 0 obj << /D [1707 0 R /XYZ 144.727 740.998 null] >> endobj 1706 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1806 0 obj << /Length 2413 /Filter /FlateDecode >> stream x]Is6W4ծbn]SIUn3[%2'pi<.-HĕC#{ (?!IB2i흷G?)I`|柏w?KFZS/6&y ?PycK7&q2U)4eGT#&% 0ҜN]^I8 GOĐVP_eJvYWA 8"Rh$-;))'h_W кIǒ`&Ʈ2zl@*,k# { -_8Ƀ:T┎G.b@C 4.fa؞_[|Dl VaEd4]fXL,Ko:˧ON)GKamo)J@+#֜igb;;s1$<9sr;-PSERd$mHKf.ք$yC`i. 1cm( ^ YF\_J>Cp�MIb: lwLD\70ߕlV"@yWj\H= \ @u7j"ll_9h 1=*$7i[;^e*+ t`'gؓ2# +q[tq>̞TviK82HһB}FqJbjv|ff5d:nACA>>rX `X":X/Rv<\8vb>QWxi$M馘7Vv쌮]?uu3v|vtU,HfJ]ka/d7 0$ns+ݖ �E[l�p<i&7`۬#tĝ.1Y} B/"ޮV1OL\@!D/$%ݻ~/_ΰM,bk,I )v? V?Vv?HSN`t 5wZz|e@{C\6sÝDaWza7Γ@s}]W!b&:gC%kUCٮ^t E?;fSexp3cbFgg؂+NߦNV60xb%gޗoa֌!Nލ yd S*M0-Hqz`dk̨AZ)usS R/7#Y`OY2 " `gy(k`p@`%JxJz7;  F.M= 2IYC ".Sa6HwQ!ƽj0@4H#3+/fÓR_L:e҉70J=tDRV*0E^?~[_ XjR֋>77ݿvO@q3:0}/`UM!Xw0&XO;, %R(ڌ$aH /G0 `a2K)E Tt TQ.+6~Y@S�)RbW. v+ aZz3{|zbywr05=Nn39Ş3mtī,O|l:(k~M,6_T<*#|WuOWMlTIS,d"nGDzSBmc%k|҇-.i̻11b@` cHVG $2IaDr?P@F5#zB`*MXbR&lRv+ꯊW`rȚ!%X4l$ξaO `qQf\0l2. $,;ƻ"]{hCmzRIl84? vQe~e/爳+)"#-\-_ nG}5Fk} _|*Y`Ov{j$,0 2l -Z"pWhf!NP4rbE&=k} wy22aMoAMr,#ʍ$b/O>'PDn%"0c90pʦɟedQb^:m51ٲn5 `) #au`zIC* D4cX|fVc$}#frSҬ%{Ƶjrxa2Yq3ٙoie40܃8p\P֮U x�Ol>=l^GP)Díoa<t߽.oViGV&hpvzSV τ>;$۽>\dendstream endobj 1805 0 obj << /Type /Page /Contents 1806 0 R /Resources 1804 0 R /MediaBox [0 0 595.276 841.89] /Parent 1924 0 R /Annots [ 1808 0 R 1809 0 R 1810 0 R 1811 0 R 1812 0 R 1813 0 R 1814 0 R 1815 0 R 1816 0 R 1817 0 R 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R 1823 0 R 1824 0 R 1825 0 R 1826 0 R 1827 0 R 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R 1843 0 R 1844 0 R 1845 0 R 1846 0 R 1847 0 R 1848 0 R 1849 0 R 1850 0 R 1851 0 R 1852 0 R 1853 0 R 1854 0 R 1855 0 R 1856 0 R 1857 0 R 1858 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1870 0 R 1871 0 R 1872 0 R 1873 0 R 1874 0 R 1875 0 R 1876 0 R 1877 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1895 0 R 1896 0 R 1897 0 R 1898 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R ] >> endobj 1808 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 701.546 305.126 715.494] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1809 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [283.208 689.591 290.182 703.539] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1810 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 689.591 305.126 703.539] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1811 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [233.395 677.636 240.369 691.583] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1812 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [243.357 677.636 250.331 691.583] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1813 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [253.32 677.636 265.275 691.583] /Subtype /Link /A << /S /GoTo /D (page.94) >> >> endobj 1814 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 677.636 285.2 691.583] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 1815 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 677.636 305.126 691.583] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 1816 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 665.681 305.126 679.628] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 1817 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 653.725 305.126 667.673] /Subtype /Link /A << /S /GoTo /D (page.102) >> >> endobj 1818 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [253.32 641.77 265.275 655.718] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 1819 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 641.77 285.2 655.718] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 1820 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 641.77 305.126 655.718] /Subtype /Link /A << /S /GoTo /D (page.111) >> >> endobj 1821 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 629.815 305.126 643.763] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 1822 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 617.86 305.126 631.808] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 1823 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 605.905 305.126 619.852] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 1824 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 593.95 305.126 607.897] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 1825 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 581.994 275.238 595.942] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1826 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 581.994 290.182 595.942] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 1827 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 581.994 305.126 595.942] /Subtype /Link /A << /S /GoTo /D (page.60) >> >> endobj 1828 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 570.039 305.126 583.987] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 1829 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 558.084 305.126 572.032] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 1830 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 546.129 305.126 560.077] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 1831 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 534.174 290.182 548.121] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 1832 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 534.174 305.126 548.121] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1833 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [260.792 522.218 272.747 536.166] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 1834 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [275.736 522.218 287.691 536.166] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 1835 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 522.218 302.635 536.166] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 1836 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 512.445 195.537 522.637] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1837 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [198.526 512.445 210.481 522.637] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 1838 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [213.469 512.445 225.425 522.637] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1839 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [228.413 512.445 240.369 522.637] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 1840 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [243.357 512.445 255.313 522.637] /Subtype /Link /A << /S /GoTo /D (page.53) >> >> endobj 1841 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [258.301 512.445 270.257 522.637] /Subtype /Link /A << /S /GoTo /D (page.55) >> >> endobj 1842 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [273.245 512.445 290.182 522.637] /Subtype /Link /A << /S /GoTo /D (page.114) >> >> endobj 1843 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 498.308 305.126 512.256] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 1844 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 486.353 305.126 500.301] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1845 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 474.398 305.126 488.346] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1846 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 462.443 305.126 476.39] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 1847 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 450.487 305.126 464.435] /Subtype /Link /A << /S /GoTo /D (page.64) >> >> endobj 1848 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 438.532 305.126 452.48] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 1849 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 426.577 305.126 440.525] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1850 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 414.622 290.182 428.57] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 1851 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 414.622 305.126 428.57] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1852 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 402.667 305.126 416.615] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 1853 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 390.712 295.163 404.659] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1854 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 390.712 305.126 404.659] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 1855 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 378.756 305.126 392.704] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1856 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 366.801 285.2 380.749] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1857 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 366.801 305.126 380.749] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 1858 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 354.846 270.257 368.794] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1859 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [273.245 354.846 285.2 368.794] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1860 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 354.846 305.126 368.794] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 1861 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 342.891 285.2 356.839] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1862 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 342.891 305.126 356.839] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 1863 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 330.936 285.2 344.884] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1864 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 330.936 305.126 344.884] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 1865 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 318.981 285.2 332.928] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1866 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 318.981 305.126 332.928] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 1867 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 307.025 290.182 320.973] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 1868 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 307.025 305.126 320.973] /Subtype /Link /A << /S /GoTo /D (page.96) >> >> endobj 1869 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [258.301 295.07 265.275 309.018] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1870 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 295.07 285.2 309.018] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 1871 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 295.07 305.126 309.018] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 1872 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 283.115 285.2 297.063] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1873 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 283.115 305.126 297.063] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 1874 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 271.16 305.126 285.108] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 1875 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [258.301 259.205 265.275 273.152] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1876 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 259.205 285.2 273.152] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 1877 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 259.205 305.126 273.152] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 1878 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 247.25 275.238 261.197] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 1879 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 247.25 290.182 261.197] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 1880 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 247.25 305.126 261.197] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1881 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 235.294 305.126 249.242] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 1882 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 223.339 305.126 237.287] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 1883 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 211.384 305.126 225.332] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 1884 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 199.429 305.126 213.377] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 1885 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 187.474 305.126 201.421] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 1886 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 175.519 302.635 189.466] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 1887 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 165.745 195.537 175.937] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 1888 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [198.526 165.745 210.481 175.937] /Subtype /Link /A << /S /GoTo /D (page.31) >> >> endobj 1889 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [213.469 165.745 225.425 175.937] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 1890 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [228.413 165.745 240.369 175.937] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 1891 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [243.357 165.745 255.313 175.937] /Subtype /Link /A << /S /GoTo /D (page.49) >> >> endobj 1892 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [258.301 165.745 270.257 175.937] /Subtype /Link /A << /S /GoTo /D (page.55) >> >> endobj 1893 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [273.245 165.745 290.182 175.937] /Subtype /Link /A << /S /GoTo /D (page.114) >> >> endobj 1894 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 151.608 290.182 165.556] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 1895 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 151.608 305.126 165.556] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 1896 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 139.653 305.126 153.601] /Subtype /Link /A << /S /GoTo /D (page.77) >> >> endobj 1897 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 127.698 305.126 141.646] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 1898 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 115.743 275.238 129.69] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 1899 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 115.743 290.182 129.69] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 1900 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 115.743 305.126 129.69] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 1901 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 701.546 499.397 715.494] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 1902 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 689.591 484.453 703.539] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1903 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 689.591 499.397 703.539] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 1904 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 677.636 499.397 691.583] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 1905 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 617.86 499.397 631.808] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 1906 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 605.905 484.453 619.852] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 1907 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 605.905 499.397 619.852] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1908 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 524.211 454.565 538.159] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 1909 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 524.211 469.509 538.159] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1910 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 524.211 484.453 538.159] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 1911 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 524.211 499.397 538.159] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 1912 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 380.749 499.397 394.697] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 1913 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 249.242 499.397 263.19] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 1914 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 165.556 469.509 179.504] /Subtype /Link /A << /S /GoTo /D (page.2) >> >> endobj 1915 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 165.556 484.453 179.504] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 1916 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 165.556 499.397 179.504] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1917 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 153.601 499.397 167.549] /Subtype /Link /A << /S /GoTo /D (page.58) >> >> endobj 1918 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 141.646 499.397 155.593] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1919 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 129.69 499.397 143.638] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 1920 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [447.592 117.735 454.565 131.683] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 1921 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 117.735 469.509 131.683] /Subtype /Link /A << /S /GoTo /D (page.61) >> >> endobj 1922 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 117.735 484.453 131.683] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 1923 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 117.735 499.397 131.683] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1807 0 obj << /D [1805 0 R /XYZ 144.727 740.998 null] >> endobj 1804 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1927 0 obj << /Length 2332 /Filter /FlateDecode >> stream x\KFWhWe'~bʕI= hmקyĠİqXBLL1#S9RTM=&xNHq  I c )#-Mz/(15H6n]něˏx0H�} ?mI+)I?w-U%?}R~ JAFԀ0NGrNÑ`1i=k�s"ءB/!WH(ڳM:PB#σsςYlZYF!D{cPk5"T"UKr}kH'q>0D5!D^nz fiq~_늎n1by~ ڬW:*9NʛI͓K+HZ50 %G<]�&&1?8#bt5Vp(Gלբ`,1%'Hș�(j*(|H9@ 5 zhڸF)e+$2@gS9P`<(1(FڬcYe}jIo9cG3n C)d8vXCv`QeF3!Lj$Ō5FSiI} (X[+p _ >u$�yJmF EUI@n(PŔTYzbBTܨ qybnFd_Yl4 e;8/7$ج+0֡(q6y@P!NɑQi+\ϖ8HmQZT+ |UJ$/P=a\R,)a{?Z6(gCn B{Ax^A$#3Bb :uE`mbJa{*"2K@(8T }]y}b+ sR KGBY<9Hҳ*2-]V]yO zeP l76C!`QU&sZmDŢUwjR f&4H*煱ou cu&e QZ/Pqj mR0fm6aoAl%-Y#HPG62c|HAj7vT>pλVk1aR0h V<@. n=:o[ ;׸8$l>(6rhlt<zDV-T=/ 5M8P+ZH#1-YNP$3CuM}ET:fpXIUB$V8Cis sZQݡF^` lj3NvQ:Bl;eZ _\..hNG6cHLN⌧1JBLNHc| `-;IA55mU'Ǧ?S=�ȉmbwCfnVtE`g+FBvP$E.@R$V/D$NU2D= ܪLjQEbw?Hg)gjۗ9Ea]P b<(g(d0-lSu:nBڎyDvРÍMv&ʍ :ti Sۺ-%A/V?>^AE}=%<6 UNJ(ҌGƭv͌y^2 f5=Nsg.4[:{N577`ʥT<䟯׮w8+"a 5{6\RHX#(lVS @TOS7hX:y[G0g;{('~%VAUc89WK|m>x 9mG`O r|Te(P&ll9-6 w7 R2PM)bÚGXlu:-w#;*5 )o~?w"m݃G݃K/5<HqyJ1AJ?kEP\YTut tAk &N5Tp5yöѥK!>n?inD!-treaDŽ"|Mw "y$%|g"|:N츉ZOGw%4s'ZD1Q9ܹ -Π0K@dK`PqlbdS3]|?$f1ElcogI2SpOHcq\Rzh/Cj  Ч)|zMT/h9hFrأ`*qV;TGJTc8HLyf>H$ bIKU'j>Hendstream endobj 1926 0 obj << /Type /Page /Contents 1927 0 R /Resources 1925 0 R /MediaBox [0 0 595.276 841.89] /Parent 1924 0 R /Annots [ 1929 0 R 1930 0 R 1931 0 R 1932 0 R 1933 0 R 1934 0 R 1935 0 R 1936 0 R 1937 0 R 1938 0 R 1939 0 R 1940 0 R 1941 0 R 1942 0 R 1943 0 R 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1948 0 R 1949 0 R 1950 0 R 1951 0 R 1952 0 R 1953 0 R 1954 0 R 1955 0 R 1956 0 R 1957 0 R 1958 0 R 1959 0 R 1960 0 R 1961 0 R 1962 0 R 1963 0 R 1964 0 R 1965 0 R 1966 0 R 1967 0 R 1968 0 R 1969 0 R 1970 0 R 1971 0 R 1972 0 R 1973 0 R 1974 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R 1985 0 R 1986 0 R 1987 0 R 1988 0 R 1989 0 R 1990 0 R 1991 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 1996 0 R 1997 0 R 1998 0 R 1999 0 R 2000 0 R 2001 0 R 2002 0 R 2003 0 R 2004 0 R 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R ] >> endobj 1929 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 701.546 305.126 715.494] /Subtype /Link /A << /S /GoTo /D (page.64) >> >> endobj 1930 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [253.32 689.591 260.294 703.539] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 1931 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 689.591 275.238 703.539] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 1932 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 689.591 290.182 703.539] /Subtype /Link /A << /S /GoTo /D (page.64) >> >> endobj 1933 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 689.591 305.126 703.539] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1934 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 677.636 305.126 691.583] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 1935 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [260.792 665.681 272.747 679.628] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 1936 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [275.736 665.681 287.691 679.628] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 1937 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 665.681 302.635 679.628] /Subtype /Link /A << /S /GoTo /D (page.74) >> >> endobj 1938 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 655.907 195.537 666.099] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1939 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [198.526 655.907 215.462 666.099] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1940 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [218.451 655.907 235.387 666.099] /Subtype /Link /A << /S /GoTo /D (page.117) >> >> endobj 1941 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 641.77 305.126 655.718] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1942 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 629.815 305.126 643.763] /Subtype /Link /A << /S /GoTo /D (page.78) >> >> endobj 1943 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 510.263 305.126 524.211] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 1944 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [295.661 474.398 302.635 488.346] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1945 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 464.625 195.537 474.816] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 1946 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [198.526 464.625 210.481 474.816] /Subtype /Link /A << /S /GoTo /D (page.60) >> >> endobj 1947 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 450.487 290.182 464.435] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 1948 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 450.487 305.126 464.435] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 1949 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [253.32 237.287 260.294 251.235] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 1950 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 237.287 275.238 251.235] /Subtype /Link /A << /S /GoTo /D (page.61) >> >> endobj 1951 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 237.287 290.182 251.235] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 1952 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 237.287 305.126 251.235] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1953 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 225.332 305.126 239.28] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1954 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 201.421 305.126 215.369] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 1955 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [283.208 165.556 290.182 179.504] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1956 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 165.556 305.126 179.504] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 1957 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 153.601 285.2 167.549] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1958 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 153.601 305.126 167.549] /Subtype /Link /A << /S /GoTo /D (page.117) >> >> endobj 1959 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 141.646 305.126 155.593] /Subtype /Link /A << /S /GoTo /D (page.107) >> >> endobj 1960 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [248.339 129.69 265.275 143.638] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1961 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 129.69 285.2 143.638] /Subtype /Link /A << /S /GoTo /D (page.117) >> >> endobj 1962 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 129.69 305.126 143.638] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 1963 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [243.357 117.735 250.331 131.683] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1964 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [253.32 117.735 260.294 131.683] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 1965 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 117.735 275.238 131.683] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1966 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 117.735 290.182 131.683] /Subtype /Link /A << /S /GoTo /D (page.23) >> >> endobj 1967 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 117.735 305.126 131.683] /Subtype /Link /A << /S /GoTo /D (page.95) >> >> endobj 1968 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 701.546 484.453 715.494] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 1969 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 701.546 499.397 715.494] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 1970 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 689.591 499.397 703.539] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 1971 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 677.636 499.397 691.583] /Subtype /Link /A << /S /GoTo /D (page.87) >> >> endobj 1972 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 665.681 499.397 679.628] /Subtype /Link /A << /S /GoTo /D (page.90) >> >> endobj 1973 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 653.725 499.397 667.673] /Subtype /Link /A << /S /GoTo /D (page.91) >> >> endobj 1974 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 641.77 484.453 655.718] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 1975 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 641.77 499.397 655.718] /Subtype /Link /A << /S /GoTo /D (page.94) >> >> endobj 1976 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 629.815 499.397 643.763] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 1977 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 617.86 479.472 631.808] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1978 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 617.86 499.397 631.808] /Subtype /Link /A << /S /GoTo /D (page.107) >> >> endobj 1979 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 605.905 499.397 619.852] /Subtype /Link /A << /S /GoTo /D (page.106) >> >> endobj 1980 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 593.95 499.397 607.897] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 1981 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 581.994 499.397 595.942] /Subtype /Link /A << /S /GoTo /D (page.119) >> >> endobj 1982 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 570.039 499.397 583.987] /Subtype /Link /A << /S /GoTo /D (page.56) >> >> endobj 1983 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 558.084 499.397 572.032] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1984 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 546.129 499.397 560.077] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1985 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 534.174 499.397 548.121] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1986 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 522.218 499.397 536.166] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 1987 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 510.263 479.472 524.211] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1988 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 510.263 499.397 524.211] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 1989 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 498.308 499.397 512.256] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 1990 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 486.353 499.397 500.301] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 1991 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 474.398 479.472 488.346] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1992 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 474.398 499.397 488.346] /Subtype /Link /A << /S /GoTo /D (page.117) >> >> endobj 1993 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 462.443 499.397 476.39] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 1994 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 450.487 499.397 464.435] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 1995 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 438.532 499.397 452.48] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1996 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 426.577 484.453 440.525] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 1997 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 426.577 499.397 440.525] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 1998 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 414.622 499.397 428.57] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 1999 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 402.667 499.397 416.615] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 2000 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 390.712 499.397 404.659] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2001 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 378.756 499.397 392.704] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2002 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 366.801 499.397 380.749] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2003 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 354.846 499.397 368.794] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 2004 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 342.891 499.397 356.839] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2005 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 283.115 499.397 297.063] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 2006 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 271.16 484.453 285.108] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2007 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 271.16 499.397 285.108] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2008 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 235.294 499.397 249.242] /Subtype /Link /A << /S /GoTo /D (page.57) >> >> endobj 2009 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [412.722 211.384 424.677 225.332] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2010 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [427.666 211.384 439.621 225.332] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 2011 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 211.384 454.565 225.332] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2012 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 211.384 469.509 225.332] /Subtype /Link /A << /S /GoTo /D (page.61) >> >> endobj 2013 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 211.384 484.453 225.332] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 2014 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 211.384 499.397 225.332] /Subtype /Link /A << /S /GoTo /D (page.64) >> >> endobj 2015 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [433.893 139.653 445.848 153.601] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 1928 0 obj << /D [1926 0 R /XYZ 144.727 740.998 null] >> endobj 1925 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2018 0 obj << /Length 2153 /Filter /FlateDecode >> stream x\KsF+8tF*efM8Nz�@U=X6b}B?胔̠əs?^x>܃FuA@Hf'9-ɷb=̣_>YgfvGks~8># {�9MWl0{(˥4C2&"ZnHGMzzV˻@OEhyɴLR_`R\?f~_NVe>Mקmpy+k*&ԲRKY䖽V~IU u(\x^KqHfA'$g\[�tע&m>9(\~%ǔ0=#X&2cސoo*( QkZuLxc!bM`lU1%E=Ooȍ:Up˅Y%ޥsԓQN2Gs%ewJ*D,6a�8p��_%2!2Zr ǬJ mwYFGϲ$Hu DZ([-iE֮hJ2#X؆Mq%BԎcQ^h9ZHA9CI(m9j)xƩSiڨRg꡸qNb%KcK] ЙVG2BX!OB ytnlѻ0!=O)i=h6">:K$1)9_\zIn`z5t˰&&U! ]M uU-3Tj2=H6evO_˲b.dH6IXz4.oGxeJҶ%eq?F5Lh2}SZL0k"ڕ1kci},kJ @>r * Z]qhKp+qTCR;dw ŔL3]BCwQ Z<PnlƵ<vi,Ɛ[@N6l%!|ؚ#b ݮ} _3U]ߑR ISPѦZRD!Bx={Ϥ2IͤvJvE(#J$TUVRK+juH$ e)Hɬx#�^SY� jJ (I0e;NkRSTWbg;aƨ{S4̖ēESteɕ{[Bh&y B�E+&q{@>@Iq^#KaE� 4G%9hdm6m>#-O;4 |/M<ןqA)f͟8R3˦pD4&29-' %xN@wdO>PcP!~OKIIWOXrKNǧP 8dxI]Fg@]nV>qcw{/M8~ E(mU;g^]Mɵt uQJܨ (E=ߵlDq6cY-seq4\m"C4_n0i\-dZ5P\XjMlc^LvNLyI_Y9wιʺCi_5ҩT'SY0=^磇:N 2mvCL d5\{ ^L^QtkXsLg|2 Cn 2v d9-Y*AaM7olo00ieO;TܳZUΖHkk�Y9jGgհ@DTƼi"I~\N!#~nZ큼ǫutYPy0{.W{?pEłX9W4U_ ma ɖ~2~氺jy~@T+=Fy)_EbuePSh]t#\UP QPH f6êBWxIWȜ}GJͧ` \}N=GeEʾu iUhGEB-TSQ.UdT�$wendstream endobj 2017 0 obj << /Type /Page /Contents 2018 0 R /Resources 2016 0 R /MediaBox [0 0 595.276 841.89] /Parent 1924 0 R /Annots [ 2020 0 R 2021 0 R 2022 0 R 2023 0 R 2024 0 R 2025 0 R 2026 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R 2031 0 R 2032 0 R 2033 0 R 2034 0 R 2035 0 R 2036 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2041 0 R 2042 0 R ] >> endobj 2020 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [237.131 677.636 254.067 691.583] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 2021 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 665.681 275.238 679.628] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 2022 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 665.681 290.182 679.628] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2023 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 665.681 305.126 679.628] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 2024 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 617.86 290.182 631.808] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2025 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 617.86 305.126 631.808] /Subtype /Link /A << /S /GoTo /D (page.74) >> >> endobj 2026 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 354.846 305.126 368.794] /Subtype /Link /A << /S /GoTo /D (page.86) >> >> endobj 2027 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [237.131 307.025 254.067 320.973] /Subtype /Link /A << /S /GoTo /D (page.114) >> >> endobj 2028 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [229.659 259.205 241.614 273.152] /Subtype /Link /A << /S /GoTo /D (page.55) >> >> endobj 2029 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [244.603 259.205 261.539 273.152] /Subtype /Link /A << /S /GoTo /D (page.114) >> >> endobj 2030 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [229.659 211.384 241.614 225.332] /Subtype /Link /A << /S /GoTo /D (page.55) >> >> endobj 2031 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [244.603 211.384 261.539 225.332] /Subtype /Link /A << /S /GoTo /D (page.114) >> >> endobj 2032 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [423.93 641.77 435.885 655.718] /Subtype /Link /A << /S /GoTo /D (page.48) >> >> endobj 2033 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [438.874 641.77 455.811 655.718] /Subtype /Link /A << /S /GoTo /D (page.114) >> >> endobj 2034 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [426.421 581.994 438.376 595.942] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 2035 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [441.365 581.994 453.32 595.942] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 2036 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [433.893 558.084 445.848 572.032] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 2037 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [426.421 510.263 438.376 524.211] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 2038 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [441.365 510.263 453.32 524.211] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 2039 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 366.801 499.397 380.749] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2040 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [423.93 307.025 435.885 320.973] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 2041 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [438.874 307.025 455.811 320.973] /Subtype /Link /A << /S /GoTo /D (page.102) >> >> endobj 2042 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [433.893 223.339 445.848 237.287] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 2019 0 obj << /D [2017 0 R /XYZ 144.727 740.998 null] >> endobj 2016 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2045 0 obj << /Length 2430 /Filter /FlateDecode >> stream x[KF8Vֻn؎ݱ};bj0 V=~SBP@AccT̬/R0F LZ3h?}z.9QZ# Foo|y?<8|��|3 {_r49Ϧ/ D G_pL X;Z?dT3?Q5Q+ !4@ 0j@+p1OM4L&pIïiDdQSkNįr hPބQݴ|.!kSD9 jrY�67< 鑊FVR)aP8!,wǞ\ZaΗK<_x/4 n>U�Thfʖ2٤6D@R9�Õb74�fS2HZYx$$N a@KGV{7Єc3?Jcnp|O|,Ž"r'|Bdβoh#DW~LϗYԲKy?D1,qr0bwaiۖ,~-D(s$)ܴs+O{f,9'pcXȍI~/cH<M'�:RH8!=zF=sp<X}oy0aDcK@ (Sa~o /*2T Ζ\a֒ےʒ5iؒk✰sBq-y9'¹ğ޹oxڽn9݁ڇεQ[H߶h5l`¡-a5BZ,>i ( ^V<#W9e*p`(U J Q^@4|+bB/ɳI`6K:& H2F#8[,jYpEZopEgunU6s|@sU]Z@u`k3֐<p/I2ׄhdL0.O~ݗ{Sܣ`q|uUg'hbk(wU٥i%,{Hoj#fn/@ &L_H!I`wЄ)MT DE?'epRa: hIeVI1,kVƜw\�BP=bvAf>FM,Q[}:r�U3Dex#24<~l3N.ae41�N0kt+K3y`y/Nu8!8/c@fs)Cu~ @bF>JH\ k Q-}оǭZĤt[a{B0Pd9^6IcY`UuҶ[Q S$`+ xU!ۣ|9&u\ŝAp #�Bkzn�LA\GP�ᆤ}Rkb{(M]\X"t wq=`JO2+Qg._&_ya"ή )i[r3S0Ḭ8sape9^x*\jh`7p 0-hg5'BܪtcǬ(QL( DdǒqCa⃰劒j$ ]XY՚Ꜹ!mKp nm6+DNЮڰFʰ_SYSyCQL뀈6X XlFS1YM 2\^"p^M=k-cK@yieDH3čɸ[2]vpMC"U5V:dDrc_g]yu,۞%K`()jyټjjl5eEZT]7 Ԩ]I3_<\`ZYMˋfpȪ8LMR_\QazXm܈u2"}!ִYR{$A gH$~ۡ25o. DG+*0mLt'f֡؎K!v W9BP]$e/r[_%`d}i+N9g9֫s Ms{U70r޸󲪭m }ْy�(XXMd—Q0/'�1l' Vb<ʗo(^ךh^@tt|2 ^UN%\8t?+<Zwo܉ph&p$h3Zt37dK<W :~o=cAjo V6v\$onΘ LC^44{wQU]<ܱ0<>_TȄendstream endobj 2044 0 obj << /Type /Page /Contents 2045 0 R /Resources 2043 0 R /MediaBox [0 0 595.276 841.89] /Parent 1924 0 R /Annots [ 2047 0 R 2048 0 R 2049 0 R 2050 0 R 2051 0 R 2052 0 R 2053 0 R 2054 0 R 2055 0 R 2056 0 R 2057 0 R 2058 0 R 2059 0 R 2060 0 R 2061 0 R 2062 0 R 2063 0 R 2064 0 R 2065 0 R 2066 0 R 2067 0 R 2068 0 R 2069 0 R 2070 0 R 2071 0 R 2072 0 R 2073 0 R 2074 0 R 2075 0 R 2076 0 R 2077 0 R 2078 0 R 2079 0 R 2080 0 R 2081 0 R 2082 0 R ] >> endobj 2047 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 689.591 305.126 703.539] /Subtype /Link /A << /S /GoTo /D (page.42) >> >> endobj 2048 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 570.039 305.126 583.987] /Subtype /Link /A << /S /GoTo /D (page.54) >> >> endobj 2049 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 534.174 305.126 548.121] /Subtype /Link /A << /S /GoTo /D (page.54) >> >> endobj 2050 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 450.487 305.126 464.435] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 2051 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 414.622 305.126 428.57] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 2052 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [239.621 366.801 251.577 380.749] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 2053 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 237.287 290.182 251.235] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 2054 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 237.287 305.126 251.235] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2055 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 213.377 305.126 227.324] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 2056 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 117.735 305.126 131.683] /Subtype /Link /A << /S /GoTo /D (page.72) >> >> endobj 2057 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 689.591 499.397 703.539] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 2058 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [440.12 677.636 452.075 691.583] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 2059 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [455.064 677.636 467.019 691.583] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 2060 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 677.636 481.963 691.583] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 2061 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 677.636 496.907 691.583] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2062 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 669.128 389.808 678.054] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 2063 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [410.232 605.905 422.187 619.852] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 2064 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [425.176 605.905 437.131 619.852] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 2065 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [440.12 605.905 452.075 619.852] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 2066 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [455.064 605.905 467.019 619.852] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 2067 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 605.905 481.963 619.852] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 2068 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 605.905 496.907 619.852] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 2069 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 596.131 389.808 606.323] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 2070 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [392.797 596.131 404.752 606.323] /Subtype /Link /A << /S /GoTo /D (page.53) >> >> endobj 2071 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [407.741 596.131 419.696 606.323] /Subtype /Link /A << /S /GoTo /D (page.55) >> >> endobj 2072 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [422.685 596.131 439.621 606.323] /Subtype /Link /A << /S /GoTo /D (page.114) >> >> endobj 2073 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 440.525 454.565 454.473] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 2074 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 440.525 469.509 454.473] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2075 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 440.525 484.453 454.473] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 2076 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 440.525 499.397 454.473] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 2077 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 404.659 499.397 418.607] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 2078 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 237.287 484.453 251.235] /Subtype /Link /A << /S /GoTo /D (page.38) >> >> endobj 2079 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 237.287 499.397 251.235] /Subtype /Link /A << /S /GoTo /D (page.42) >> >> endobj 2080 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 155.593 499.397 169.541] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 2081 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 143.638 499.397 157.586] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 2082 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 131.683 499.397 145.631] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2046 0 obj << /D [2044 0 R /XYZ 144.727 740.998 null] >> endobj 2043 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2085 0 obj << /Length 2162 /Filter /FlateDecode >> stream x[K6Wj(mhZhݸC$(ˢl+;̕(g810)fl$gt9gz)i#ix9NP2]6?5vi?<Sfݽ??8_?|oigZ$B9E?֨;DI9<rmDJ1%qDBDFWFw.7m1@]F?<x6MBǛ?\mkwZ1%,Oh'^@46aaDzXL1 iC9[٭NyiM+-ԝx"I)\Z#;(!ށP=˧A%�]5ԒWCZ7t*I\Ƴy!dJr}~WD0t_'J[80=YM$=qCL=1#dҦYPUTC9-]{*WUBF�K0-ɠe|+7rb˯FhU 2Jf3lgt#N6Ɏ?eax9"Tbz_|ɕ(@aˑ{@|FVJ~2FiBfϫd=w02'bn"mlz]bx-0dcK8y/.dHwMGdlKn:9F0!d?o8\>c@D0 _ B!.^햏L,@A(+hڶHV#$wUFAiHy[A@]^GWH=PA>B2KڞmeF~hMUjѴ@?ư2Ц_@Z[U MF"&AcϹЂCfR0ZXvWG$~hϹQ:w}BKȞ FD#/M}M$ 2 &/Q/_ҔZX_11iܐ<t~Z!B~2*(CSŇt̬pEplY] :E\>Ano:{dΊR08y39݆I;ŴQowɷXKEdAbVQ+5F(03Uf%e{v2Vs'eA-5JϏkp5 { z_(Ob6 _} (DUERnI!\7\;%)CSKhnCQau H{PZ~%˛e2U{<\G2EdK(q/*Mb@tcS_1 EkE"T|!tu3u֛Yv>B>abG^PgG8WV>]w$eyQtj'R+Щ>pd7iv(t/^T& Y˚ "^g\ߧ4!~1+!`_R͐X﵍[Y z]M'.ThuM`܋]ڨh=o�!j9&ІP<YhoC1a薲V:sf&E훮+}3g Uw|4u" uue+ j8*Gb|-QU/}}gJ2{J_(>7gmNwGḺ4թ4`NNfD[5dh#�Zֹ=gW_k ~ITz=\!+݅E r1^n+'JԅU3le="áe'�Pi=W=yWetBy*#pkB`e <9 xm*IѓJyÍ$Kk-5Kԗz%{8je{RIn}p]=֤RyJQ mݺU.yzz gD=9+kFϏl2*}϶o\< *Y(z*5TU 4<* 2L7xd4xZ 9fȜ繜Yԑ¼㒜;R5]I~hs$?Rw^ I  ,Ebw[]`%C:jendstream endobj 2084 0 obj << /Type /Page /Contents 2085 0 R /Resources 2083 0 R /MediaBox [0 0 595.276 841.89] /Parent 1924 0 R /Annots [ 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R ] >> endobj 2087 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 677.636 305.126 691.583] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 2088 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 653.725 305.126 667.673] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 2089 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 558.084 305.126 572.032] /Subtype /Link /A << /S /GoTo /D (page.72) >> >> endobj 2090 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 534.174 305.126 548.121] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 2091 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 213.377 305.126 227.324] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 2092 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [239.621 177.511 251.577 191.459] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 2093 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 595.942 499.397 609.89] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 2094 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 550.114 499.397 564.062] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 2095 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 466.428 499.397 480.375] /Subtype /Link /A << /S /GoTo /D (page.56) >> >> endobj 2096 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 358.831 484.453 372.779] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 2097 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 358.831 499.397 372.779] /Subtype /Link /A << /S /GoTo /D (page.72) >> >> endobj 2086 0 obj << /D [2084 0 R /XYZ 144.727 740.998 null] >> endobj 2083 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2100 0 obj << /Length 2337 /Filter /FlateDecode >> stream x\Ks7WhWYX4ϛ6URfS%(GQ쟿=/`ș!j @0 %3Œ9;~xJ}A92m$ёoOoP2]6滻ѿ~0j8{ʇ=7@HCd")kq#M˳ >PV@Oٜ37�)O&8DZ\zt*Rd=Mq Z3STZ~sjlk9 dt6IVriJlD|gDdJ8Ob]dI_RP)5)3f#okbw5&urP JWf.k iVr?FǏ?8C _ G gBQ6y{8AnAyʶN䫈dq6Oi1mcCW5;FCiR|.>+C2(ZZL&B BW(QB0 >-%S:Y_"&`ę M̄knK,)u 2Is hY+pEz+2"֓֔f$Fz!NΓV"0>hO*O:!'EH>/bhg@9fх"BML7J9Xt͆骗#M4ƂЎ)ĞҵǢbG\TWQSfO)D[c{1q5J.H׹¥L wpPA^4 @^S te_pz6}nS*Ӭ0Qcb�%t@ɕY::30k6Cn|>)b*3OokJ&b>?<'/۾搊G{@G\?, ՗[3!̰sT@/ ;,?kգm"s5dbЧ :f͇k*<4wr?GŴ2%Ƅ˴�b+jKhދjJҡDEt�{\ߝ9t Oo""{{Pjy*sϤ `VJ]JV]6A1'yEn<%Xr}pʁ{+Ð�ʴlɀ=HTQ(hfB$iޢ:rŽ[=`:<ho$!_2iI\!I?qoB\YGYY8 vn' j3t[-簣e-Ezyr}v'lN6]}6IQ(@J:qB|G YpR)l1%&1ZdŠ|GkiU* Va.:Ȍ-f1*.cqܚO<@{+7 р|\T-<] TE\�{J3aqTmMA:L)}p><-<C-,>J!t\Txxx|I֭I T(T,kokKPk rm/v_c rmcx=9+HР Y 3k艛D#. Z8;=\qNdZ.!=.6j~-!:OхngeGq�ܭ bgx~hc#eU[F.Wl(59؁S̺9<JQ-"x ; xyKg_oPHЉ ![6U/o|X/QD:Wk'/$}M4VhMÃ[<�jɜYIz4wQ@ aEWýem\?w~Ydem:,Aj \TseW;2]6]G Ԅh8l:K vOt1{% 'Ztא50! =nj^2UW3^P'xE"$Ӷ~94J"wt cS*GazyP T1~M: lv2{L[)^DBx)mCYY ] ?xqi\)b3/KKC/d]b!sBy[>R;O̊^,;3 wS jC_B݀<=?bW*` 1endstream endobj 2099 0 obj << /Type /Page /Contents 2100 0 R /Resources 2098 0 R /MediaBox [0 0 595.276 841.89] /Parent 1924 0 R /Annots [ 2102 0 R 2103 0 R 2104 0 R 2105 0 R 2106 0 R 2107 0 R 2108 0 R 2109 0 R 2110 0 R 2111 0 R 2112 0 R 2113 0 R 2114 0 R 2115 0 R 2116 0 R 2117 0 R 2118 0 R 2119 0 R 2120 0 R 2121 0 R 2122 0 R 2123 0 R 2124 0 R 2125 0 R 2126 0 R 2127 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2132 0 R 2133 0 R 2134 0 R 2135 0 R 2136 0 R 2137 0 R 2138 0 R 2139 0 R 2140 0 R 2141 0 R 2142 0 R 2143 0 R 2144 0 R 2145 0 R 2146 0 R 2147 0 R ] >> endobj 2102 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 581.994 305.126 595.942] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 2103 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 271.16 305.126 285.108] /Subtype /Link /A << /S /GoTo /D (page.75) >> >> endobj 2104 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 235.294 290.182 249.242] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2105 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 235.294 305.126 249.242] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2106 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 187.474 290.182 201.421] /Subtype /Link /A << /S /GoTo /D (page.71) >> >> endobj 2107 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 187.474 305.126 201.421] /Subtype /Link /A << /S /GoTo /D (page.95) >> >> endobj 2108 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 139.653 305.126 153.601] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 2109 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 701.546 499.397 715.494] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 2110 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 689.591 499.397 703.539] /Subtype /Link /A << /S /GoTo /D (page.46) >> >> endobj 2111 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 665.681 499.397 679.628] /Subtype /Link /A << /S /GoTo /D (page.46) >> >> endobj 2112 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 653.725 499.397 667.673] /Subtype /Link /A << /S /GoTo /D (page.71) >> >> endobj 2113 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 641.77 499.397 655.718] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2114 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 617.86 499.397 631.808] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2115 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 558.084 499.397 572.032] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2116 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 522.218 479.472 536.166] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 2117 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 522.218 489.435 536.166] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2118 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 522.218 499.397 536.166] /Subtype /Link /A << /S /GoTo /D (page.9) >> >> endobj 2119 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 510.263 499.397 524.211] /Subtype /Link /A << /S /GoTo /D (page.64) >> >> endobj 2120 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 498.308 499.397 512.256] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2121 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 462.443 499.397 476.39] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2122 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [450.082 450.487 457.056 464.435] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 2123 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [460.045 450.487 467.019 464.435] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 2124 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 450.487 481.963 464.435] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 2125 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 450.487 496.907 464.435] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 2126 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 440.714 389.808 450.906] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 2127 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [392.797 440.714 404.752 450.906] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 2128 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [407.741 440.714 419.696 450.906] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 2129 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [422.685 440.714 434.64 450.906] /Subtype /Link /A << /S /GoTo /D (page.77) >> >> endobj 2130 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 426.577 499.397 440.525] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2131 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [433.893 390.712 445.848 404.659] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 2132 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 378.756 499.397 392.704] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 2133 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 366.801 469.509 380.749] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 2134 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 366.801 484.453 380.749] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2135 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 366.801 499.397 380.749] /Subtype /Link /A << /S /GoTo /D (page.42) >> >> endobj 2136 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 354.846 499.397 368.794] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2137 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 309.018 479.472 322.966] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 2138 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 309.018 499.397 322.966] /Subtype /Link /A << /S /GoTo /D (page.118) >> >> endobj 2139 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 285.108 479.472 299.055] /Subtype /Link /A << /S /GoTo /D (page.100) >> >> endobj 2140 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 285.108 499.397 299.055] /Subtype /Link /A << /S /GoTo /D (page.116) >> >> endobj 2141 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [427.666 249.242 439.621 263.19] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2142 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 249.242 454.565 263.19] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 2143 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 249.242 469.509 263.19] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 2144 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 249.242 484.453 263.19] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 2145 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 249.242 499.397 263.19] /Subtype /Link /A << /S /GoTo /D (page.56) >> >> endobj 2146 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 153.601 499.397 167.549] /Subtype /Link /A << /S /GoTo /D (page.72) >> >> endobj 2147 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 141.646 499.397 155.593] /Subtype /Link /A << /S /GoTo /D (page.86) >> >> endobj 2101 0 obj << /D [2099 0 R /XYZ 144.727 740.998 null] >> endobj 2098 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2150 0 obj << /Length 2315 /Filter /FlateDecode >> stream x\KoFW8;~ܜ�� @KMD"ĢԔH 7mꪮWfs ?lΤ$8g͌_3V" H#B]wOo7jb*^}Z&&^W|ޑw#JEcrF}Bw>T\<0FRGL/ukb\Kv@حȣ2Dmj� ¤X('l%"DD+DpC%`ry$ CXpy—6DY Xb,/CF�g`+n1!<}^ȶ'tǀIzc: צz+'mrjCYD2}cE.۱D\\:̲0ݍSd[9HR5D"oteqF�y0x1`/ﴩQ9Ҧ8I7p[7n|jI ۖd ԧ$./Aj~>QYAϷi%(u) .% m>#ZˊA*a41(4*j(wQ2g`X7),! qVaw>LK9E%e``zMdV6y?_D^d@Apm Zb 㬔bv@ɚ˶'ANHby_|kOH_6my aI0SIB: 0PNҢ|nS r͎9sH eߥpIIe2osvl'Q݁~ w%. T*"E?W:: b5mk8zl9 2^5׋ykGTwKj[;tm1Έfdy*I\04ٶy]9*0M;ƉM M*uFWɁ3crAur)a^^$y}qsINyF.^EV'.w]ZFweP* R'\v\KhGɿuעFƏj˻�%9C[6&?OG(CI3g$)D x ᤕwzZC+ad!nQ3QhJ^uWtO݌r(qNM@K,;*O̻ %'yQrpߟU6ZY_GbغF/lh>ְςT|*w$ʺ+UPFqNٯh;*urt+9L& -}h񦝉ȗyo҃c+ {%Ha!I/rz Ê녡=_) j֐p30�f;_t*iݱ46du`^y|?=gTv<$A �LxH{8~"B#<vaSC`0+ ʆ̊f2b7+^DYnn߮ Ls %oCa:w\1cAQR WS/a^guՅF,:GC~/0wQRt IE85e<#xnFtR$j6Y'9 Uf8wfCDsҋn5bP=^z 4!#Yd5cV)$S_3eg:i=v@mEW> & K ߅u98sCyW59%Gϻ^#e(kZ(jW6Qc磻fFs7][%,J{?n@ES-N(WֺoannkQkQ.]Y^>P,ѷ)k'Q�8HRfo%aN^fɼrYк)zk/w랣)]CShbr% 6߂] ,7Ef W|l'J�E.N {^'+/9wsbcR]ۻg3ڿ!MmGcwk}X- 4hooEss 0HM}ن-ZpJ*p.$ YbGP1Wm:W q}<*[ҟ3_wO1+F[/2?N*ZG~jQ_p&5nwr'mޅ:K|=S澢004~X Nu/B�~.?OU}e]ŵ�y+&t窐+htDѲdƴ:ϡN�EXIuDŽ1Pendstream endobj 2149 0 obj << /Type /Page /Contents 2150 0 R /Resources 2148 0 R /MediaBox [0 0 595.276 841.89] /Parent 2190 0 R /Annots [ 2152 0 R 2153 0 R 2154 0 R 2155 0 R 2156 0 R 2157 0 R 2158 0 R 2159 0 R 2160 0 R 2161 0 R 2162 0 R 2163 0 R 2164 0 R 2165 0 R 2166 0 R 2167 0 R 2168 0 R 2169 0 R 2170 0 R 2171 0 R 2172 0 R 2173 0 R 2174 0 R 2175 0 R 2176 0 R 2177 0 R 2178 0 R 2179 0 R 2180 0 R 2181 0 R 2182 0 R 2183 0 R 2184 0 R 2185 0 R 2186 0 R 2187 0 R 2188 0 R 2189 0 R ] >> endobj 2152 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 629.815 305.126 643.763] /Subtype /Link /A << /S /GoTo /D (page.86) >> >> endobj 2153 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 486.353 305.126 500.301] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 2154 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 426.577 305.126 440.525] /Subtype /Link /A << /S /GoTo /D (page.111) >> >> endobj 2155 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 223.339 305.126 237.287] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 2156 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 187.474 305.126 201.421] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 2157 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 163.563 305.126 177.511] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 2158 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 139.653 305.126 153.601] /Subtype /Link /A << /S /GoTo /D (page.75) >> >> endobj 2159 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 127.698 305.126 141.646] /Subtype /Link /A << /S /GoTo /D (page.75) >> >> endobj 2160 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 115.743 305.126 129.69] /Subtype /Link /A << /S /GoTo /D (page.42) >> >> endobj 2161 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [467.517 689.591 474.491 703.539] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 2162 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [477.479 689.591 484.453 703.539] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2163 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 689.591 499.397 703.539] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 2164 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 677.636 499.397 691.583] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 2165 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 665.681 499.397 679.628] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 2166 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 607.897 499.397 621.845] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 2167 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 560.077 499.397 574.024] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 2168 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [467.517 476.39 479.472 490.338] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 2169 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 476.39 499.397 490.338] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 2170 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [467.517 464.435 479.472 478.383] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 2171 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 464.435 499.397 478.383] /Subtype /Link /A << /S /GoTo /D (page.108) >> >> endobj 2172 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 452.48 499.397 466.428] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 2173 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 392.704 479.472 406.652] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 2174 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 392.704 499.397 406.652] /Subtype /Link /A << /S /GoTo /D (page.117) >> >> endobj 2175 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [465.026 380.749 472 394.697] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 2176 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [474.989 380.749 481.963 394.697] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2177 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 380.749 496.907 394.697] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 2178 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 370.976 389.808 381.167] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 2179 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [392.797 370.976 404.752 381.167] /Subtype /Link /A << /S /GoTo /D (page.71) >> >> endobj 2180 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [407.741 370.976 424.677 381.167] /Subtype /Link /A << /S /GoTo /D (page.108) >> >> endobj 2181 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [427.666 370.976 444.603 381.167] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 2182 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [447.592 370.976 464.528 381.167] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 2183 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 356.839 499.397 370.786] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 2184 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [433.893 273.152 445.848 287.1] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 2185 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 225.332 484.453 239.28] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2186 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 225.332 499.397 239.28] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 2187 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 165.556 484.453 179.504] /Subtype /Link /A << /S /GoTo /D (page.29) >> >> endobj 2188 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 165.556 499.397 179.504] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 2189 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 117.735 499.397 131.683] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 2151 0 obj << /D [2149 0 R /XYZ 144.727 740.998 null] >> endobj 2148 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2193 0 obj << /Length 2359 /Filter /FlateDecode >> stream x[K"+8D 2Hֶވ v@C5M,P^*]E=dWR*/S)JCZҐ޻d9f�'(aI3y9ߎ?=W2C/U~WdM>-oƚCǕw1֚?fի|SLWFx$R1{'%PK^BKT~YoR(֩/$x?\GS0XXR b$ǫi[0^r1>'D ^}8B~�|Q9zyc>/vİfeNvd-G,ƛMI<]z~iuL#Fb'\,Ygv[>%Yd 0eeOX:,Io+I},}o= V-;[)%ZRl#wbEPY 5-֤S9&  @ 3H @)67jT#ZP2] "@ E@Š5%TZNZ)#ޅ3otb1_%_^x^zt &LlM'Lױp#t/Lמ1]<!4DLmiYS): 46f5 ")Qؐ*jyԮIl&%jmY$4[ g$o7q'蠊=z}/^ p--s>[j15BJ6"&tu�- A54jKE vNUFNIT3nd9fU$Iʽ:;2Y!С%"z E\(_}b:~l$L;S>rL6`ѯ!@jC=#�b ow:Ş6_bi! �~uց!՚z*dzŁvHLWUjJ&bX%5cWh9k ~8$͈m:O-%a2R/%8/Wzg|zOI6kd2  UQjPlaac SSν}2;LЭ1چtۼDxFsl4F-9!sGHEV toC!|BsKC}:5ߡlw1]fjY:Y=\l[e;"L,ͫq1sy{@tbcԂ_On'Dvw�ƒrc ߥn#Ӧ>p*^Ӿ8v@Bsz`fytnƑI _.&ྀ:pgCۮwi]=AWJ=4 k%ȍ 8KS߹6zCh c$̳37G{[3;z wSIki(CE }ܪܭNz0McM$f/$wE[Dq5`|Q]R=fjg=֜ޞ\|<1sxs,%C- rJlOҥ14MBnjj ,\,#5Lb4MCCT&Q9+f4W8g638}E0JŜ'!9TD,1Ve~̌eujot[F8FfXK>'gɿj}m-UJ~L7>hI$+]E+Nz=Z^oIwWjM{8Z騻0*;F??<|͹5aU__p1} vU\M3ZK$KOT6;ƅB&FAtSuK2g\3lЏP lހmuY'K2l%ϜC6Z1�lP7VhHO -P!(}%Cv̧ۗ?!Tﰡ%TqI@6-<¦@&W$vN,QYCk 0j` R1*Zh.z5IY_- 6$E) @20pA\4&R:ᒄ'f $&b(9l_2mo2 RE#/ӣFp!Hu0O-lCR ƛX:I3kK)c=5=|w&[kܪ87!(R}/ew]phfn͝>VwE8A@ GeHy!^ǾF\pĄ>aSJtSSsi?ܚendstream endobj 2192 0 obj << /Type /Page /Contents 2193 0 R /Resources 2191 0 R /MediaBox [0 0 595.276 841.89] /Parent 2190 0 R /Annots [ 2195 0 R 2196 0 R 2197 0 R 2198 0 R 2199 0 R 2200 0 R 2201 0 R 2202 0 R 2203 0 R 2204 0 R 2205 0 R 2206 0 R 2207 0 R 2208 0 R 2209 0 R 2210 0 R 2211 0 R 2212 0 R 2213 0 R 2214 0 R 2215 0 R 2216 0 R ] >> endobj 2195 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 701.546 305.126 715.494] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 2196 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 665.681 305.126 679.628] /Subtype /Link /A << /S /GoTo /D (page.64) >> >> endobj 2197 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 641.77 305.126 655.718] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 2198 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 546.129 305.126 560.077] /Subtype /Link /A << /S /GoTo /D (page.61) >> >> endobj 2199 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 474.398 305.126 488.346] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2200 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [239.621 344.884 251.577 358.831] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 2201 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [232.149 285.108 244.105 299.055] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 2202 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [247.093 285.108 259.049 299.055] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2203 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 201.421 305.126 215.369] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 2204 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 189.466 305.126 203.414] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 2205 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 701.546 489.435 715.494] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 2206 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 701.546 499.397 715.494] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 2207 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 689.591 499.397 703.539] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 2208 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [433.893 665.681 445.848 679.628] /Subtype /Link /A << /S /GoTo /D (page.22) >> >> endobj 2209 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 641.77 499.397 655.718] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 2210 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 617.86 499.397 631.808] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 2211 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 605.905 499.397 619.852] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 2212 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 368.794 499.397 382.742] /Subtype /Link /A << /S /GoTo /D (page.75) >> >> endobj 2213 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 356.839 499.397 370.786] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2214 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 320.973 499.397 334.921] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2215 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 141.646 484.453 155.593] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 2216 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 141.646 499.397 155.593] /Subtype /Link /A << /S /GoTo /D (page.75) >> >> endobj 2194 0 obj << /D [2192 0 R /XYZ 144.727 740.998 null] >> endobj 2191 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2219 0 obj << /Length 2434 /Filter /FlateDecode >> stream x\Ko8W�m.owlo LAij?ԋ,ʦGA#0DV*֋16?0Ɛ$r,FZqPŇN(P53{yA#-9q>O&fHzȥ ǟͻ�9/`";*!a.םPuI˧w ()Ej/-"]$`Y8 f- �kĕ6sQ�%`R>nXH?_p5bM/+-o0H-2) HR/#jTk&+Z#0^g\BIvpnY"yQD*k;,g9IK^U/(L񪽶*{!LB3k/\! @M1qY–z/0>͟VSis"*Xk!@E-lE| iDyQkqNB]8&K�-Ъ(8"'*읓ڞLj%Hr8mT5jJ{:_9DDH\nx0:-?u&x.1Sv!R"H%#*jvkYntUʦu/f.&;Vmý YTLpcq|8 {%o}Ìp9!boZ0K o7`1?+6g+Sm_Ոq6D\xݎ3 ~W ; # 0z\,�{TEe! fUpeJ Ia WxmvпALK6O7 % /`g�Nl ow+xq( (nJJP ,/P (˧[l>�e BZMV9pC~2_9qFOgAc%;v`.󰯥;2ZϢd$b3!ҠjWYd3_WՒRFmw}bpUvH0C?#Խ*7Jd`\Ȅz䬛P^y;Ý.? kT GЮHZir* j*\yrN*^'8>i:hF.{WJdQ'�#Vb0&鷒gɡy@ K!% Z>a#lڻ`T2"k9ԸRe(KH yϐu>w; /\;;C�;$uc  !v#5(b8*R-L"E` @1d2f>8I74j5USNo |{g-飞{Ѽ5V?qvpV|z4fTlD}v"ras̢u% oZ;ϡ/l|ϋ8H<m:_Bfpk"hCIJH(pR_@amJ=Fe,j a]H}pQ^8yXGlmyG4핥4?_XgIr d#/ÛKŭV.d`OGybk㛽s|~rEdaVԥoE}QQC[lsrD_d%|3aQ+dwGf<do \x MV9)@S]TnH uxG ^>}{p@ 9?(@"/%}F\مY#쓈0LFilAJDB^7-_7Nj2&e]J؉, DJUq8T>u|rf}I4wVED{OeGvm}}ǹ뼶qsdՀ݄шw !U)W .J:)Ӈ{kw{0eg5-*$&q Q.:'ݙ>dly2Ihݻ %fBU|(oqKy \AcTbī(1:*�"ZJ2 ʻ>%9cb'--l_㋰չu;s'c'L_`6_$jPݻP+Lߺ%0H VCXnNCFj2nbzFdEvz6YRe|}B)gPu"5eĴۧ<yfת{dzHNiv?Os(o8"J}bv{Hk&?V\7~ Z+JÌqQ+-X7՘endstream endobj 2218 0 obj << /Type /Page /Contents 2219 0 R /Resources 2217 0 R /MediaBox [0 0 595.276 841.89] /Parent 2190 0 R /Annots [ 2221 0 R 2222 0 R 2223 0 R 2224 0 R 2225 0 R 2226 0 R 2227 0 R 2228 0 R 2229 0 R 2230 0 R 2231 0 R 2232 0 R 2233 0 R 2234 0 R 2235 0 R 2236 0 R 2237 0 R 2238 0 R 2239 0 R 2240 0 R 2241 0 R 2242 0 R 2243 0 R 2244 0 R 2245 0 R 2246 0 R 2247 0 R 2248 0 R 2249 0 R 2250 0 R 2251 0 R 2252 0 R 2253 0 R 2254 0 R 2255 0 R 2256 0 R 2257 0 R 2258 0 R 2259 0 R 2260 0 R 2261 0 R 2262 0 R 2263 0 R 2264 0 R 2265 0 R 2266 0 R 2267 0 R 2268 0 R ] >> endobj 2221 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 665.681 305.126 679.628] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2222 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 605.905 290.182 619.852] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2223 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 605.905 305.126 619.852] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 2224 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 498.308 305.126 512.256] /Subtype /Link /A << /S /GoTo /D (page.7) >> >> endobj 2225 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 486.353 305.126 500.301] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 2226 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 450.487 285.2 464.435] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2227 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 450.487 305.126 464.435] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 2228 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 426.577 270.257 440.525] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2229 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [273.245 426.577 285.2 440.525] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 2230 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 426.577 305.126 440.525] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 2231 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 402.667 285.2 416.615] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2232 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 402.667 305.126 416.615] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 2233 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 378.756 285.2 392.704] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2234 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 378.756 305.126 392.704] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 2235 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 354.846 285.2 368.794] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2236 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 354.846 305.126 368.794] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 2237 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 295.07 290.182 309.018] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 2238 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 295.07 305.126 309.018] /Subtype /Link /A << /S /GoTo /D (page.99) >> >> endobj 2239 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 271.16 302.635 285.108] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 2240 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 262.572 195.537 271.578] /Subtype /Link /A << /S /GoTo /D (page.96) >> >> endobj 2241 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 211.384 290.182 225.332] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 2242 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 211.384 305.126 225.332] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2243 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [245.848 187.474 257.803 201.421] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 2244 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [260.792 187.474 272.747 201.421] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 2245 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [275.736 187.474 287.691 201.421] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2246 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 187.474 302.635 201.421] /Subtype /Link /A << /S /GoTo /D (page.77) >> >> endobj 2247 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 178.886 195.537 187.892] /Subtype /Link /A << /S /GoTo /D (page.97) >> >> endobj 2248 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 701.546 484.453 715.494] /Subtype /Link /A << /S /GoTo /D (page.53) >> >> endobj 2249 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 701.546 499.397 715.494] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 2250 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 593.95 484.453 607.897] /Subtype /Link /A << /S /GoTo /D (page.71) >> >> endobj 2251 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 593.95 499.397 607.897] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2252 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 570.039 469.509 583.987] /Subtype /Link /A << /S /GoTo /D (page.62) >> >> endobj 2253 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 570.039 484.453 583.987] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 2254 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 570.039 499.397 583.987] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 2255 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 546.129 469.509 560.077] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 2256 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 546.129 484.453 560.077] /Subtype /Link /A << /S /GoTo /D (page.64) >> >> endobj 2257 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 546.129 499.397 560.077] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 2258 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [452.573 510.263 459.547 524.211] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2259 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 510.263 479.472 524.211] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 2260 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 510.263 499.397 524.211] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 2261 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 474.398 499.397 488.346] /Subtype /Link /A << /S /GoTo /D (page.54) >> >> endobj 2262 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 426.577 499.397 440.525] /Subtype /Link /A << /S /GoTo /D (page.72) >> >> endobj 2263 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 366.801 499.397 380.749] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 2264 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 354.846 499.397 368.794] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 2265 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 307.025 479.472 320.973] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2266 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 307.025 499.397 320.973] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 2267 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 175.519 499.397 189.466] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 2268 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 139.653 499.397 153.601] /Subtype /Link /A << /S /GoTo /D (page.54) >> >> endobj 2220 0 obj << /D [2218 0 R /XYZ 144.727 740.998 null] >> endobj 2217 0 obj << /Font << /F74 556 0 R /F75 558 0 R /F102 750 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2271 0 obj << /Length 2479 /Filter /FlateDecode >> stream x\[o6~ϯc,7of.>ȶƖ<D]lQȎ H&s? aGfs)1z<W`H*c9 `&{燇lfl׻?~G%Gs0!;a[۷y6qbgJ~w7rMˑHؑSt65K#ZCJŘ丠E&)ΧwV1ur==eѶc%~\PyxIR ݼSp//A &`XC\i`LɾpS6K՚.ō=" U,dy9sիh߆m`_9g<qaJoTp['[E?؊dHv�eJy))\CA!$Ca5F*QRЍ.)v&_> %Z08ib X ] u�:M{Ngߡ%A^č,DV2\LDp֥?i./7gk71Q^2"bl{S*Ǜ_ǜǽ"dpWʷUc$>;a5F'#H+612 %-?1`xN\ʮ !Ƣ%I p)to;}B$ET^:!QL%BeU ׆2%>S p|u>sH"A'`B r&t=%i99lBLSO "\qrlm>qa۹3)$T!.ƱP~3,VmXEۭ{D28VAԯ NS*9% _,tU ZsKZ|x{>{ޓ?7, v ,8ӏԎFGۑ6!ʤL:*d0KǙGuXn1bnE2O "4fNŬbc]-FL3YFn*|- *$B]pVCZeT i˺{3gOuNd.QKi6&rA21`TndT!Xkb-*u4R5`UMK]=qlGQ-BԴ0e'F3T .*^iʅWC{ϧ*Lq"f^wb[*dɝ8y$>t%ٯBFVM7GjgVrI 6Ut 槜Brbi} uf@2.tLe# q'7H/ͭgQمg4v? B 1ϹבׇI2dɷrA)>wJK;@./~a.Y !"LLrЎ( $q]u la -.Z]ؘ˂X9@@{)A#]Z l1GVKNע%]l~_q&PE0΂ٜ�)%iq5d , 6Hej*Vj\<0gFޢ:7^ON5xzq\'&|dN{~ͥs=H|Q]>*IW a)lU,: 2 5F[a`B,Bx SsVY.K<raxJ=;yFnR>z94<chRi`R/ݕݼG+zj0D\4 ~zƋ^ba;o6*ki2uT\> Bo$Uga,t(@NG1;"o& 1 {T99nҁF,]IpB0s0tEK@U0m/57}TMtݔř7WJ!z؄Iūauq ݈m\j !vRmOCǩD}߷n$qՐxa}(/vvRfmjU\mE5]&ۭ"N$�Um;!8=-|9NVO9=tP4VqK7O@t/@pVJ`n=@z;Neq i玄%F(UݱgpH,F[سe ɣjV}GחZp}Wx& UM\fـj!-8/!u.w̧.$7W~2XM=X"j*Qh`3\2H]bވ1B/M"P4]2Zr@_.MmD1RUZ՗cB{ޥp#"f܄ W#!Cendstream endobj 2270 0 obj << /Type /Page /Contents 2271 0 R /Resources 2269 0 R /MediaBox [0 0 595.276 841.89] /Parent 2190 0 R /Annots [ 2273 0 R 2274 0 R 2275 0 R 2276 0 R 2277 0 R 2278 0 R 2279 0 R 2280 0 R 2281 0 R 2282 0 R 2283 0 R 2284 0 R 2285 0 R 2286 0 R 2287 0 R 2288 0 R 2289 0 R 2290 0 R 2291 0 R 2292 0 R 2293 0 R 2294 0 R 2295 0 R 2296 0 R 2297 0 R 2298 0 R 2299 0 R 2300 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R 2309 0 R 2310 0 R 2311 0 R 2312 0 R 2313 0 R 2314 0 R 2315 0 R 2316 0 R 2317 0 R ] >> endobj 2273 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 631.808 305.126 645.755] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 2274 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 619.852 305.126 633.8] /Subtype /Link /A << /S /GoTo /D (page.104) >> >> endobj 2275 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 572.032 305.126 585.979] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2276 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 560.077 290.182 574.024] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 2277 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 560.077 305.126 574.024] /Subtype /Link /A << /S /GoTo /D (page.40) >> >> endobj 2278 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 500.301 305.126 514.248] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 2279 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 464.435 290.182 478.383] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 2280 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 464.435 305.126 478.383] /Subtype /Link /A << /S /GoTo /D (page.71) >> >> endobj 2281 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 320.973 305.126 334.921] /Subtype /Link /A << /S /GoTo /D (page.81) >> >> endobj 2282 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [283.208 141.646 290.182 155.593] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2283 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 141.646 305.126 155.593] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 2284 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 129.69 305.126 143.638] /Subtype /Link /A << /S /GoTo /D (page.39) >> >> endobj 2285 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 653.725 499.397 667.673] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 2286 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 641.77 499.397 655.718] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 2287 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [450.082 629.815 457.056 643.763] /Subtype /Link /A << /S /GoTo /D (page.1) >> >> endobj 2288 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [460.045 629.815 467.019 643.763] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 2289 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 629.815 481.963 643.763] /Subtype /Link /A << /S /GoTo /D (page.87) >> >> endobj 2290 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 629.815 496.907 643.763] /Subtype /Link /A << /S /GoTo /D (page.90) >> >> endobj 2291 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 620.042 389.808 630.233] /Subtype /Link /A << /S /GoTo /D (page.91) >> >> endobj 2292 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [392.797 620.042 404.752 630.233] /Subtype /Link /A << /S /GoTo /D (page.94) >> >> endobj 2293 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [407.741 620.042 424.677 630.233] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 2294 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 605.905 499.397 619.852] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2295 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 593.95 499.397 607.897] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2296 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 581.994 499.397 595.942] /Subtype /Link /A << /S /GoTo /D (page.6) >> >> endobj 2297 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 558.084 499.397 572.032] /Subtype /Link /A << /S /GoTo /D (page.75) >> >> endobj 2298 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [452.573 522.218 459.547 536.166] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2299 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 522.218 479.472 536.166] /Subtype /Link /A << /S /GoTo /D (page.112) >> >> endobj 2300 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 522.218 499.397 536.166] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 2301 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 510.263 499.397 524.211] /Subtype /Link /A << /S /GoTo /D (page.113) >> >> endobj 2302 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [470.007 426.577 481.963 440.525] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 2303 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 426.577 496.907 440.525] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 2304 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 418.069 389.808 426.996] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 2305 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 402.667 454.565 416.615] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2306 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 402.667 469.509 416.615] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 2307 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 402.667 484.453 416.615] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 2308 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 402.667 499.397 416.615] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2309 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 249.242 499.397 263.19] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 2310 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 165.556 499.397 179.504] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 2311 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [447.592 153.601 454.565 167.549] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 2312 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 153.601 469.509 167.549] /Subtype /Link /A << /S /GoTo /D (page.17) >> >> endobj 2313 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 153.601 484.453 167.549] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2314 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 153.601 499.397 167.549] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 2315 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [447.592 129.69 459.547 143.638] /Subtype /Link /A << /S /GoTo /D (page.56) >> >> endobj 2316 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [462.535 129.69 479.472 143.638] /Subtype /Link /A << /S /GoTo /D (page.100) >> >> endobj 2317 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 129.69 499.397 143.638] /Subtype /Link /A << /S /GoTo /D (page.116) >> >> endobj 2272 0 obj << /D [2270 0 R /XYZ 144.727 740.998 null] >> endobj 2269 0 obj << /Font << /F83 563 0 R /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2320 0 obj << /Length 2319 /Filter /FlateDecode >> stream xMs_S;!x󦶓f&/$Ll$S+$�"$eo%x߁ w`D ά5OW?^?B/) fh9*Gon HlE~! 'A%Ahd2Edd ёUxMR�L�EsS@uAZs)SH'>Y&[or[~֜~>M5J`ML u@M՗W?ܴ(ˤǿ\;:t99>;3v�JW_ 3D*|G<&/*ay$7fth$O1^`TLhccE61Z^#" ߟ鱜QĄc J.*pФ/e97(>:gqgO?)pAhfQ}2ײ7G{&sZXTOtLY*^t!A!ScxW5mpL =ڛL#ऑƙoY'#Ŭ yFj\ռ1~fjFj?Kk*F𾱻km``9I4_ŋD-|�͸ү?ǝS.2ht 1 X΢+Bg*L.Dxù2ǜ&eGLy!o&HazT1f0_'"$H`` ylddS.ix|PԺTdS )XS!]&EGH*9eWjmU2#"L$ܷuΒY$ Ť{OFɔ/_VvR:AǰO̬bY")tYjtH?GnʗNTp9"<Y1{M0FuT ^pizQ^4>ᗟgDa W@`F� `c FIpѭW6.:@m3,;hBKݍ&"Tv\즜N{Rz"t\ b񴪒=|mbz $3jlxi-_a|Ai|dm/=Bπ1Ets "|U$egTI<C_iR:甜/(DY(I/&W ;aC@N!j!Ą\ݭJ @ jE o -h#(ƴ0Y˻|E55r9X,wR*LڱZRvL�N87|Mi\t%ƙ6TmcMsP!vI[:_R+*-h:7hhA*:$@tH ihc=԰ujXEx){=zCȢR;Dv&ex(V[}TAY }d8t7/6*D* ZLs38(טּEZom1Y ܨb=v` }ܒ!\ۃ+-,6Yl){B"/Mp5ذFjX&R2/W:5k>`j/0*eN;9._ԫ\̗,3+矗3PtQ(Wj!~\LZWYjEupK=ͳ=u-盲di~ AvQC6e;1^8 <xN*|-ϬMxH-JC*!ZsjCR�v.k@296uogruO@SD)+P -(#fPV7L 6 S6>J77~c(x֟>ezLn M#rf~NhkTz[>)90`DLʁc5B2 37>af%A0ȞƲW鸲l2E0[ۄYp*-YMP', 0փY_=R}CQrg,8 '7;hǫU6Ѫ0%q^SNh;0Go:aŧQƩg[bpN#jt`$mt$g_2J[ZU/BW6-}*$Rf}U_g"Oڿ8^2+̞-~ߎC㇩#7|tg Vi3W7sa!żT0]`6U .Ɇû.K`TG[Xuendstream endobj 2319 0 obj << /Type /Page /Contents 2320 0 R /Resources 2318 0 R /MediaBox [0 0 595.276 841.89] /Parent 2190 0 R /Annots [ 2322 0 R 2323 0 R 2324 0 R 2325 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2331 0 R 2332 0 R 2333 0 R 2334 0 R 2335 0 R 2336 0 R 2337 0 R ] >> endobj 2322 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 593.95 305.126 607.897] /Subtype /Link /A << /S /GoTo /D (page.73) >> >> endobj 2323 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 522.218 305.126 536.166] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 2324 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 486.353 305.126 500.301] /Subtype /Link /A << /S /GoTo /D (page.36) >> >> endobj 2325 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 307.025 305.126 320.973] /Subtype /Link /A << /S /GoTo /D (page.25) >> >> endobj 2326 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 295.07 290.182 309.018] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2327 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 295.07 305.126 309.018] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2328 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 247.25 305.126 261.197] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 2329 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 235.294 290.182 249.242] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2330 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 235.294 305.126 249.242] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2331 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 115.743 290.182 129.69] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 2332 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 115.743 305.126 129.69] /Subtype /Link /A << /S /GoTo /D (page.92) >> >> endobj 2333 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 605.905 499.397 619.852] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 2334 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 581.994 499.397 595.942] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 2335 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 522.218 499.397 536.166] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 2336 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 163.563 499.397 177.511] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 2337 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 127.698 499.397 141.646] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 2321 0 obj << /D [2319 0 R /XYZ 144.727 740.998 null] >> endobj 2318 0 obj << /Font << /F75 558 0 R /F74 556 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2340 0 obj << /Length 2422 /Filter /FlateDecode >> stream x[IW [CLj[[==)mmQm̡9DVU_-!0)fh$gh1)=u�+i#ix\=}Fɬv;?~ŨcNu:i7oۧ^7d AWEL?= şFh-u׃_=  Rʹ|_Kjd�ޜ9)($G�sJt;$471q8<x/1/#n{![Q_p1m�D#!#a.!JtnøԨG eȈt,g@Ik٬| C'gpkv~.g۵peB1%Dq|͝߃?1moeI?22pnT;:8pqZ8I:WicA vsYܑLUς65 Dr\CD[nuLL}59f&Js@\RjMr:#0@b.-ET3W<^~kY-3A?i}1$ZJN$ բdQ%t eD kq_K4>h�D.,^ڂy2[Pix"[FK {S#5m$}~IR|eˬ?* ]5t&2r/xӀGM쭛Njެ-6XU9 Nh@8d<)>-!J˄!y -QR`)MzaۖeFAly;Xk-l T"*y(s\=Q(NR$qm>ѱgYDȞ&2%HL!C+pbQ1&0&dB@B5OP ۰͸?QDtZ+&$q܃2)zѲH-Ц,WrJj\ȢGП0LCT�lxx) dʀGNPS/P2IމZX{!z>[^!Çuu$xǻwb}mlIe4f<{e{mEKnX"$704 Qܥ.p1-Hkx~~|GC>xʭ)mLʊ^ ëQ́14B0 ޘSZGGi{9^|6XlP<Jc-Sr 83r !rZv{(oӗh]Dk^Yȧ,*fnhf1g9+Ca!TCE.05^NEVC}Rh; ]G67ˈ `!(^Z5%tS qGTa~E۸ۑNY%AQ`@Ác=m~0w٨Gߧ 9{gZ):DGٽ>eGqE;X]&2OP 4cL!;DwC#ggΒRyrEW6@(c$)m8Z)iCG F,}"J`BTGo^HntK TOBMr/zvPX rۻqyTtmvMe&< u@Uu4Ob0'\<rS %_]4P)8TktiK@% k3e19QdZ*Fg /Td"HpC>DJUj)%$tc2nY gB>>#O6IX웧 f}Q0@Kh?oMp ˒ umG jb/p?Ff=$?R03|m+A[C={nV4Abdߒyn)/;!<hmه'r<Z;Ypa]N(Jˮy3 e<sa¬Cij6?۠-o{=ϴW]~7l>ҁ;ߋuEq|_$'yP:WzDIۼK 0'h^# Z*vznݥ^ZIQS6(VSl]9YoI{l7 SU}^] Ie==fD}6zPL{iV4ܿyR,P@ёmYit@MFYFx92}Vu8@Z'˖~R9{#Bf\"pxVŹCFU,^GD4W|ओNҩIq#YT#%CII& mRЮp,gXɐ}nXendstream endobj 2339 0 obj << /Type /Page /Contents 2340 0 R /Resources 2338 0 R /MediaBox [0 0 595.276 841.89] /Parent 2190 0 R /Annots [ 2342 0 R 2343 0 R 2344 0 R 2345 0 R 2346 0 R 2347 0 R 2348 0 R 2349 0 R 2350 0 R 2351 0 R 2352 0 R 2353 0 R 2354 0 R 2355 0 R 2356 0 R 2357 0 R 2358 0 R 2359 0 R 2360 0 R 2361 0 R 2362 0 R 2363 0 R 2364 0 R 2365 0 R 2366 0 R 2367 0 R 2368 0 R 2369 0 R 2370 0 R 2371 0 R 2372 0 R 2373 0 R 2374 0 R 2375 0 R 2376 0 R 2377 0 R 2378 0 R 2379 0 R ] >> endobj 2342 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 701.546 305.126 715.494] /Subtype /Link /A << /S /GoTo /D (page.110) >> >> endobj 2343 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [215.96 677.636 227.915 691.583] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 2344 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [230.904 677.636 242.859 691.583] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 2345 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [245.848 677.636 257.803 691.583] /Subtype /Link /A << /S /GoTo /D (page.31) >> >> endobj 2346 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [260.792 677.636 272.747 691.583] /Subtype /Link /A << /S /GoTo /D (page.45) >> >> endobj 2347 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [275.736 677.636 287.691 691.583] /Subtype /Link /A << /S /GoTo /D (page.47) >> >> endobj 2348 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [290.68 677.636 302.635 691.583] /Subtype /Link /A << /S /GoTo /D (page.49) >> >> endobj 2349 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [183.582 667.862 195.537 678.054] /Subtype /Link /A << /S /GoTo /D (page.55) >> >> endobj 2350 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [198.526 667.862 215.462 678.054] /Subtype /Link /A << /S /GoTo /D (page.114) >> >> endobj 2351 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [253.32 560.077 260.294 574.024] /Subtype /Link /A << /S /GoTo /D (page.3) >> >> endobj 2352 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 560.077 275.238 574.024] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 2353 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 560.077 290.182 574.024] /Subtype /Link /A << /S /GoTo /D (page.64) >> >> endobj 2354 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 560.077 305.126 574.024] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 2355 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 548.121 305.126 562.069] /Subtype /Link /A << /S /GoTo /D (page.63) >> >> endobj 2356 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 452.48 305.126 466.428] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 2357 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 392.704 305.126 406.652] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2358 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 368.794 305.126 382.742] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 2359 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 225.332 305.126 239.28] /Subtype /Link /A << /S /GoTo /D (page.12) >> >> endobj 2360 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 189.466 290.182 203.414] /Subtype /Link /A << /S /GoTo /D (page.32) >> >> endobj 2361 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 189.466 305.126 203.414] /Subtype /Link /A << /S /GoTo /D (page.34) >> >> endobj 2362 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [298.152 141.646 305.126 155.593] /Subtype /Link /A << /S /GoTo /D (page.4) >> >> endobj 2363 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 653.725 489.435 667.673] /Subtype /Link /A << /S /GoTo /D (page.8) >> >> endobj 2364 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [492.423 653.725 499.397 667.673] /Subtype /Link /A << /S /GoTo /D (page.9) >> >> endobj 2365 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 641.77 499.397 655.718] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 2366 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [427.666 426.577 439.621 440.525] /Subtype /Link /A << /S /GoTo /D (page.14) >> >> endobj 2367 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 426.577 454.565 440.525] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2368 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 426.577 469.509 440.525] /Subtype /Link /A << /S /GoTo /D (page.35) >> >> endobj 2369 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 426.577 484.453 440.525] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 2370 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 426.577 499.397 440.525] /Subtype /Link /A << /S /GoTo /D (page.44) >> >> endobj 2371 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 402.667 499.397 416.615] /Subtype /Link /A << /S /GoTo /D (page.28) >> >> endobj 2372 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [484.951 342.891 496.907 356.839] /Subtype /Link /A << /S /GoTo /D (page.66) >> >> endobj 2373 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [377.853 333.118 389.808 343.309] /Subtype /Link /A << /S /GoTo /D (page.67) >> >> endobj 2374 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [392.797 333.118 404.752 343.309] /Subtype /Link /A << /S /GoTo /D (page.74) >> >> endobj 2375 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [407.741 333.118 419.696 343.309] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 2376 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [422.685 333.118 439.621 343.309] /Subtype /Link /A << /S /GoTo /D (page.105) >> >> endobj 2377 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 333.118 459.547 343.309] /Subtype /Link /A << /S /GoTo /D (page.117) >> >> endobj 2378 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 318.981 499.397 332.928] /Subtype /Link /A << /S /GoTo /D (page.69) >> >> endobj 2379 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 187.474 499.397 201.421] /Subtype /Link /A << /S /GoTo /D (page.80) >> >> endobj 2341 0 obj << /D [2339 0 R /XYZ 144.727 740.998 null] >> endobj 2338 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2382 0 obj << /Length 2377 /Filter /FlateDecode >> stream x\Io#7WZ {\oBLfsJrP[,D[L%Uio`}tAQwZ}uxwnځĔn+H0OвkU}}}|`,?{R'fxW_Pr?Ő1_ݞЌ=�f!evg=H{2nfS݇LrKOiڰa(0,v1W]{=zLps~_n/ ,|ґO$WZTT jp48�ЀUB"*؋gc M#y6$?xUƫ:MQ2D%PPr]W#0e8s$evDr#%"EM˕׫%Ige6i*U$PA$CI#V#^IC�`2p>tJ3-K@*3@;Jr>2Qq= MGUPY/ vc(ߝݡӡu8#g{n(?wdd3dGg ゖ@M�S/Q% &h~JKP@Dw7G{8;JXuuh`kz`@rMp.=b!@d<2CŹO)Q,n BxSRʡ%F5d6ZWA#dmm;7ozTgy J+ pP (5:s2TN3K9+hMJI bY#dG*[EЩ}i2pŹm -YJ3N[ YT.M$L*&÷A}& 8s_ʄ I WVOIW:T%d@Iˌi,Nc{MopЂb++­3' O{E9q+X8J\お-X5y \[ȎG伙"o(�b(ⒻJNVw%pIktjbNamM<SW5.tES>jt6%EʂS d2Ciwh*u/{)$gufp'87BF?r ,}S5u '@+"U&p|J^U,&F-\̑,vγ9缘.sK jR:P9*/J?-7vrfdTe.5Wf"~tfq֊E\2!PJԄuY6N9M8tJ '`uWśoguRYh"Y[ fuҍwڥUd,Μ6*qy"#z-"sN.6t8j =Ya|_ :\ NGt2U'/llYoE6Q2#UUݽ\mTC` ֹj)[\ VL֐ⱕe  eX42}W^e{P*C qt٨t_dB}h V%P:t@XS۟" !L jB.M粩lCJ{&`:yeJN.|s`RW`wEjv&c(lbAl+rx LN!"N=ʍǣU}kU<mF&{lǫ mI6*(3ZNmLLY2ɔQB[>y,#8'w$(HH]ǼfKz54S >^h$}�䖺:5ܞmdE?\, ' ns Q3 0 àZ6#y<\݇<9<c}�ބ&MsB[v^b߉|R~'LsK4h@b[si1(ǠUD*bVIl2|ă!R6K§{.>.m G~DŽCoT~ $rR$UHzb3*P^qJ>p?Df* S 5jpk_4t]~.4TSm6l>`3(CĈR_:y!RJn: Fitj(ϕ!sNY(: ˢ{'}eyc;'hEzޓǧ؄~M&y5#RerjhUP`gՃ(`L$6E�PQ1Zg7vendstream endobj 2381 0 obj << /Type /Page /Contents 2382 0 R /Resources 2380 0 R /MediaBox [0 0 595.276 841.89] /Parent 2416 0 R /Annots [ 2384 0 R 2385 0 R 2386 0 R 2387 0 R 2388 0 R 2389 0 R 2390 0 R 2391 0 R 2392 0 R 2393 0 R 2394 0 R 2395 0 R 2396 0 R 2397 0 R 2398 0 R 2399 0 R 2400 0 R 2401 0 R 2402 0 R 2403 0 R 2404 0 R 2405 0 R 2406 0 R 2407 0 R 2408 0 R 2409 0 R 2410 0 R 2411 0 R 2412 0 R 2413 0 R 2414 0 R 2415 0 R ] >> endobj 2384 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 665.681 305.126 679.628] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 2385 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 450.487 290.182 464.435] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2386 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 450.487 305.126 464.435] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2387 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 414.622 305.126 428.57] /Subtype /Link /A << /S /GoTo /D (page.111) >> >> endobj 2388 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 378.756 305.126 392.704] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2389 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 354.846 305.126 368.794] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2390 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 247.25 290.182 261.197] /Subtype /Link /A << /S /GoTo /D (page.18) >> >> endobj 2391 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 247.25 305.126 261.197] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2392 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 223.339 305.126 237.287] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 2393 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 199.429 305.126 213.377] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 2394 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [288.189 163.563 305.126 177.511] /Subtype /Link /A << /S /GoTo /D (page.121) >> >> endobj 2395 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 665.681 499.397 679.628] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2396 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 641.77 499.397 655.718] /Subtype /Link /A << /S /GoTo /D (page.79) >> >> endobj 2397 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 534.174 499.397 548.121] /Subtype /Link /A << /S /GoTo /D (page.89) >> >> endobj 2398 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 474.398 499.397 488.346] /Subtype /Link /A << /S /GoTo /D (page.85) >> >> endobj 2399 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 390.712 499.397 404.659] /Subtype /Link /A << /S /GoTo /D (page.37) >> >> endobj 2400 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [482.461 378.756 499.397 392.704] /Subtype /Link /A << /S /GoTo /D (page.109) >> >> endobj 2401 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [426.421 354.846 438.376 368.794] /Subtype /Link /A << /S /GoTo /D (page.13) >> >> endobj 2402 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [441.365 354.846 453.32 368.794] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 2403 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 342.891 454.565 356.839] /Subtype /Link /A << /S /GoTo /D (page.10) >> >> endobj 2404 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 342.891 469.509 356.839] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 2405 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 342.891 484.453 356.839] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2406 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 342.891 499.397 356.839] /Subtype /Link /A << /S /GoTo /D (page.77) >> >> endobj 2407 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 295.07 499.397 309.018] /Subtype /Link /A << /S /GoTo /D (page.75) >> >> endobj 2408 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 247.25 499.397 261.197] /Subtype /Link /A << /S /GoTo /D (page.77) >> >> endobj 2409 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 235.294 499.397 249.242] /Subtype /Link /A << /S /GoTo /D (page.15) >> >> endobj 2410 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 223.339 484.453 237.287] /Subtype /Link /A << /S /GoTo /D (page.11) >> >> endobj 2411 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 223.339 499.397 237.287] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2412 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [442.61 153.601 454.565 167.549] /Subtype /Link /A << /S /GoTo /D (page.16) >> >> endobj 2413 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [457.554 153.601 469.509 167.549] /Subtype /Link /A << /S /GoTo /D (page.26) >> >> endobj 2414 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [472.498 153.601 484.453 167.549] /Subtype /Link /A << /S /GoTo /D (page.27) >> >> endobj 2415 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 153.601 499.397 167.549] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 2383 0 obj << /D [2381 0 R /XYZ 144.727 740.998 null] >> endobj 2380 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2419 0 obj << /Length 1581 /Filter /FlateDecode >> stream xZKs6WhD(Mә63 Kd*])IɒA.?,4D )&23l4[xtKޏ 6Ɓ%9?_~ը11ɦ^?^|wx&x>Yo44z7>mMS,0Tf]y߇lj0~]hSZ+Z %;%;fD3VkZ!�*寂Ct{l G,B @DWxu~c6<tt*hOO6Ă|Nv=\'U|^4#ذErGw藫�JDcKT:as[}Az%m{F8]fɜ PC<Q%b:yq댢Pd ,Y?uQ.�ܸYv"0PyF,Q)Rz~|}̣9qÈ3rh5b-˿.G~m嗀ĚhH+4*F2-T(IJchx=}1HvL!!oM?@xPiiӥdŮ?Cả{`(8v`si!rJ]0L:h$94J x3i%@eZPRy>y `_ca Y}r]vB97]W%VX 1+ݱhj7iڧ[AȔ5$CٞxC)Um�K^NWgH)$*{ž`?Q߯C:U B¾ސxy Cl)�Մ] rb /$FQǤ0d;h<п"HZ[O�3-T`ȚR!x ]<LC2KC _(.)\:�YyhiN Q3`読'j(eĜrz6GU'rW|w)&GgA8d#q/lqe2e%2ߌ,$ =[)v$0ק+c_U 'iu5E7%-SD7µ0J7P[+v#sQ' G8 LXWhr9R6võTƞS?liKfrYdÊ TCTϹNLn4=R=f5b p?zq\$uy m@޽Aa^@+0d=u =eL{6'cťa\C,ӂ?Yhz ά ] ʳ/?\ԣ fZB@! X]pţ^=Jc^ʗFָǼ@Os[5PK`uuF]F9q XwOi,dؒ(-9bpmeiŖ-X2-p:ofOzrrCd)/ $ڙ!rAVIj#j謊 dt5F;)H+r\endstream endobj 2418 0 obj << /Type /Page /Contents 2419 0 R /Resources 2417 0 R /MediaBox [0 0 595.276 841.89] /Parent 2416 0 R /Annots [ 2421 0 R 2422 0 R 2423 0 R 2424 0 R 2425 0 R 2426 0 R 2427 0 R 2428 0 R 2429 0 R 2430 0 R 2431 0 R 2432 0 R ] >> endobj 2421 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [263.283 617.86 275.238 631.808] /Subtype /Link /A << /S /GoTo /D (page.20) >> >> endobj 2422 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 617.86 290.182 631.808] /Subtype /Link /A << /S /GoTo /D (page.21) >> >> endobj 2423 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 617.86 305.126 631.808] /Subtype /Link /A << /S /GoTo /D (page.50) >> >> endobj 2424 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [268.264 570.039 275.238 583.987] /Subtype /Link /A << /S /GoTo /D (page.5) >> >> endobj 2425 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [278.227 570.039 290.182 583.987] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 2426 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 570.039 305.126 583.987] /Subtype /Link /A << /S /GoTo /D (page.83) >> >> endobj 2427 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 514.248 305.126 528.196] /Subtype /Link /A << /S /GoTo /D (page.19) >> >> endobj 2428 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 219.354 305.126 233.302] /Subtype /Link /A << /S /GoTo /D (page.78) >> >> endobj 2429 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 183.489 305.126 197.436] /Subtype /Link /A << /S /GoTo /D (page.70) >> >> endobj 2430 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [293.171 115.743 305.126 129.69] /Subtype /Link /A << /S /GoTo /D (page.38) >> >> endobj 2431 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 655.718 499.397 669.666] /Subtype /Link /A << /S /GoTo /D (page.38) >> >> endobj 2432 0 obj << /Type /Annot /Border [0 0 0] /H /I /C [1 0 0] /Rect [487.442 609.89 499.397 623.837] /Subtype /Link /A << /S /GoTo /D (page.52) >> >> endobj 2420 0 obj << /D [2418 0 R /XYZ 144.727 740.998 null] >> endobj 2417 0 obj << /Font << /F75 558 0 R /F74 556 0 R /F83 563 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2433 0 obj << /Type /Encoding /Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl 22/.notdef 30/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 141/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 157/.notdef 159/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] >> endobj 752 0 obj << /Type /Font /Subtype /Type1 /Encoding 2433 0 R /BaseFont /Courier-Oblique >> endobj 750 0 obj << /Type /Font /Subtype /Type1 /Encoding 2433 0 R /BaseFont /Times-Italic >> endobj 571 0 obj << /Type /Font /Subtype /Type1 /Encoding 2433 0 R /BaseFont /Courier-Bold >> endobj 563 0 obj << /Type /Font /Subtype /Type1 /Encoding 2433 0 R /BaseFont /Times-Bold >> endobj 560 0 obj << /Type /Font /Subtype /Type1 /BaseFont /Symbol >> endobj 558 0 obj << /Type /Font /Subtype /Type1 /Encoding 2433 0 R /BaseFont /Courier >> endobj 556 0 obj << /Type /Font /Subtype /Type1 /Encoding 2433 0 R /BaseFont /Times-Roman >> endobj 590 0 obj << /Type /Pages /Count 6 /Parent 2434 0 R /Kids [550 0 R 592 0 R 636 0 R 679 0 R 717 0 R 731 0 R] >> endobj 753 0 obj << /Type /Pages /Count 6 /Parent 2434 0 R /Kids [746 0 R 755 0 R 763 0 R 767 0 R 771 0 R 775 0 R] >> endobj 782 0 obj << /Type /Pages /Count 6 /Parent 2434 0 R /Kids [779 0 R 784 0 R 788 0 R 792 0 R 796 0 R 801 0 R] >> endobj 808 0 obj << /Type /Pages /Count 6 /Parent 2434 0 R /Kids [805 0 R 810 0 R 814 0 R 818 0 R 822 0 R 826 0 R] >> endobj 835 0 obj << /Type /Pages /Count 6 /Parent 2434 0 R /Kids [830 0 R 837 0 R 841 0 R 845 0 R 849 0 R 853 0 R] >> endobj 860 0 obj << /Type /Pages /Count 6 /Parent 2434 0 R /Kids [857 0 R 862 0 R 866 0 R 870 0 R 877 0 R 881 0 R] >> endobj 888 0 obj << /Type /Pages /Count 6 /Parent 2435 0 R /Kids [885 0 R 890 0 R 894 0 R 898 0 R 902 0 R 906 0 R] >> endobj 913 0 obj << /Type /Pages /Count 6 /Parent 2435 0 R /Kids [910 0 R 915 0 R 919 0 R 923 0 R 927 0 R 931 0 R] >> endobj 938 0 obj << /Type /Pages /Count 6 /Parent 2435 0 R /Kids [935 0 R 940 0 R 944 0 R 948 0 R 952 0 R 956 0 R] >> endobj 963 0 obj << /Type /Pages /Count 6 /Parent 2435 0 R /Kids [960 0 R 965 0 R 969 0 R 973 0 R 977 0 R 981 0 R] >> endobj 988 0 obj << /Type /Pages /Count 6 /Parent 2435 0 R /Kids [985 0 R 990 0 R 994 0 R 998 0 R 1002 0 R 1006 0 R] >> endobj 1015 0 obj << /Type /Pages /Count 6 /Parent 2435 0 R /Kids [1012 0 R 1017 0 R 1021 0 R 1025 0 R 1029 0 R 1033 0 R] >> endobj 1040 0 obj << /Type /Pages /Count 6 /Parent 2436 0 R /Kids [1037 0 R 1042 0 R 1046 0 R 1050 0 R 1054 0 R 1058 0 R] >> endobj 1065 0 obj << /Type /Pages /Count 6 /Parent 2436 0 R /Kids [1062 0 R 1067 0 R 1071 0 R 1075 0 R 1079 0 R 1083 0 R] >> endobj 1090 0 obj << /Type /Pages /Count 6 /Parent 2436 0 R /Kids [1087 0 R 1092 0 R 1096 0 R 1100 0 R 1104 0 R 1108 0 R] >> endobj 1115 0 obj << /Type /Pages /Count 6 /Parent 2436 0 R /Kids [1112 0 R 1117 0 R 1121 0 R 1125 0 R 1129 0 R 1133 0 R] >> endobj 1140 0 obj << /Type /Pages /Count 6 /Parent 2436 0 R /Kids [1137 0 R 1142 0 R 1146 0 R 1150 0 R 1154 0 R 1158 0 R] >> endobj 1165 0 obj << /Type /Pages /Count 6 /Parent 2436 0 R /Kids [1162 0 R 1167 0 R 1171 0 R 1183 0 R 1213 0 R 1217 0 R] >> endobj 1225 0 obj << /Type /Pages /Count 6 /Parent 2437 0 R /Kids [1222 0 R 1227 0 R 1232 0 R 1236 0 R 1240 0 R 1244 0 R] >> endobj 1251 0 obj << /Type /Pages /Count 6 /Parent 2437 0 R /Kids [1248 0 R 1253 0 R 1257 0 R 1261 0 R 1288 0 R 1313 0 R] >> endobj 1320 0 obj << /Type /Pages /Count 6 /Parent 2437 0 R /Kids [1317 0 R 1322 0 R 1326 0 R 1395 0 R 1414 0 R 1428 0 R] >> endobj 1500 0 obj << /Type /Pages /Count 6 /Parent 2437 0 R /Kids [1455 0 R 1502 0 R 1559 0 R 1629 0 R 1664 0 R 1707 0 R] >> endobj 1924 0 obj << /Type /Pages /Count 6 /Parent 2437 0 R /Kids [1805 0 R 1926 0 R 2017 0 R 2044 0 R 2084 0 R 2099 0 R] >> endobj 2190 0 obj << /Type /Pages /Count 6 /Parent 2437 0 R /Kids [2149 0 R 2192 0 R 2218 0 R 2270 0 R 2319 0 R 2339 0 R] >> endobj 2416 0 obj << /Type /Pages /Count 2 /Parent 2438 0 R /Kids [2381 0 R 2418 0 R] >> endobj 2434 0 obj << /Type /Pages /Count 36 /Parent 2439 0 R /Kids [590 0 R 753 0 R 782 0 R 808 0 R 835 0 R 860 0 R] >> endobj 2435 0 obj << /Type /Pages /Count 36 /Parent 2439 0 R /Kids [888 0 R 913 0 R 938 0 R 963 0 R 988 0 R 1015 0 R] >> endobj 2436 0 obj << /Type /Pages /Count 36 /Parent 2439 0 R /Kids [1040 0 R 1065 0 R 1090 0 R 1115 0 R 1140 0 R 1165 0 R] >> endobj 2437 0 obj << /Type /Pages /Count 36 /Parent 2439 0 R /Kids [1225 0 R 1251 0 R 1320 0 R 1500 0 R 1924 0 R 2190 0 R] >> endobj 2438 0 obj << /Type /Pages /Count 2 /Parent 2439 0 R /Kids [2416 0 R] >> endobj 2439 0 obj << /Type /Pages /Count 146 /Kids [2434 0 R 2435 0 R 2436 0 R 2437 0 R 2438 0 R] >> endobj 2440 0 obj << /Type /Outlines /First 7 0 R /Last 547 0 R /Count 31 >> endobj 547 0 obj << /Title 548 0 R /A 545 0 R /Parent 2440 0 R /Prev 523 0 R >> endobj 543 0 obj << /Title 544 0 R /A 541 0 R /Parent 523 0 R /Prev 539 0 R >> endobj 539 0 obj << /Title 540 0 R /A 537 0 R /Parent 523 0 R /Prev 535 0 R /Next 543 0 R >> endobj 535 0 obj << /Title 536 0 R /A 533 0 R /Parent 523 0 R /Prev 531 0 R /Next 539 0 R >> endobj 531 0 obj << /Title 532 0 R /A 529 0 R /Parent 523 0 R /Prev 527 0 R /Next 535 0 R >> endobj 527 0 obj << /Title 528 0 R /A 525 0 R /Parent 523 0 R /Next 531 0 R >> endobj 523 0 obj << /Title 524 0 R /A 521 0 R /Parent 2440 0 R /Prev 515 0 R /Next 547 0 R /First 527 0 R /Last 543 0 R /Count -5 >> endobj 519 0 obj << /Title 520 0 R /A 517 0 R /Parent 515 0 R >> endobj 515 0 obj << /Title 516 0 R /A 513 0 R /Parent 2440 0 R /Prev 419 0 R /Next 523 0 R /First 519 0 R /Last 519 0 R /Count -1 >> endobj 511 0 obj << /Title 512 0 R /A 509 0 R /Parent 419 0 R /Prev 475 0 R >> endobj 507 0 obj << /Title 508 0 R /A 505 0 R /Parent 475 0 R /Prev 503 0 R >> endobj 503 0 obj << /Title 504 0 R /A 501 0 R /Parent 475 0 R /Prev 499 0 R /Next 507 0 R >> endobj 499 0 obj << /Title 500 0 R /A 497 0 R /Parent 475 0 R /Prev 495 0 R /Next 503 0 R >> endobj 495 0 obj << /Title 496 0 R /A 493 0 R /Parent 475 0 R /Prev 491 0 R /Next 499 0 R >> endobj 491 0 obj << /Title 492 0 R /A 489 0 R /Parent 475 0 R /Prev 487 0 R /Next 495 0 R >> endobj 487 0 obj << /Title 488 0 R /A 485 0 R /Parent 475 0 R /Prev 483 0 R /Next 491 0 R >> endobj 483 0 obj << /Title 484 0 R /A 481 0 R /Parent 475 0 R /Prev 479 0 R /Next 487 0 R >> endobj 479 0 obj << /Title 480 0 R /A 477 0 R /Parent 475 0 R /Next 483 0 R >> endobj 475 0 obj << /Title 476 0 R /A 473 0 R /Parent 419 0 R /Prev 431 0 R /Next 511 0 R /First 479 0 R /Last 507 0 R /Count -8 >> endobj 471 0 obj << /Title 472 0 R /A 469 0 R /Parent 431 0 R /Prev 467 0 R >> endobj 467 0 obj << /Title 468 0 R /A 465 0 R /Parent 431 0 R /Prev 463 0 R /Next 471 0 R >> endobj 463 0 obj << /Title 464 0 R /A 461 0 R /Parent 431 0 R /Prev 459 0 R /Next 467 0 R >> endobj 459 0 obj << /Title 460 0 R /A 457 0 R /Parent 431 0 R /Prev 455 0 R /Next 463 0 R >> endobj 455 0 obj << /Title 456 0 R /A 453 0 R /Parent 431 0 R /Prev 451 0 R /Next 459 0 R >> endobj 451 0 obj << /Title 452 0 R /A 449 0 R /Parent 431 0 R /Prev 447 0 R /Next 455 0 R >> endobj 447 0 obj << /Title 448 0 R /A 445 0 R /Parent 431 0 R /Prev 443 0 R /Next 451 0 R >> endobj 443 0 obj << /Title 444 0 R /A 441 0 R /Parent 431 0 R /Prev 439 0 R /Next 447 0 R >> endobj 439 0 obj << /Title 440 0 R /A 437 0 R /Parent 431 0 R /Prev 435 0 R /Next 443 0 R >> endobj 435 0 obj << /Title 436 0 R /A 433 0 R /Parent 431 0 R /Next 439 0 R >> endobj 431 0 obj << /Title 432 0 R /A 429 0 R /Parent 419 0 R /Prev 427 0 R /Next 475 0 R /First 435 0 R /Last 471 0 R /Count -10 >> endobj 427 0 obj << /Title 428 0 R /A 425 0 R /Parent 419 0 R /Prev 423 0 R /Next 431 0 R >> endobj 423 0 obj << /Title 424 0 R /A 421 0 R /Parent 419 0 R /Next 427 0 R >> endobj 419 0 obj << /Title 420 0 R /A 417 0 R /Parent 2440 0 R /Prev 415 0 R /Next 515 0 R /First 423 0 R /Last 511 0 R /Count -5 >> endobj 415 0 obj << /Title 416 0 R /A 413 0 R /Parent 2440 0 R /Prev 411 0 R /Next 419 0 R >> endobj 411 0 obj << /Title 412 0 R /A 409 0 R /Parent 2440 0 R /Prev 407 0 R /Next 415 0 R >> endobj 407 0 obj << /Title 408 0 R /A 405 0 R /Parent 2440 0 R /Prev 403 0 R /Next 411 0 R >> endobj 403 0 obj << /Title 404 0 R /A 401 0 R /Parent 2440 0 R /Prev 399 0 R /Next 407 0 R >> endobj 399 0 obj << /Title 400 0 R /A 397 0 R /Parent 2440 0 R /Prev 383 0 R /Next 403 0 R >> endobj 395 0 obj << /Title 396 0 R /A 393 0 R /Parent 383 0 R /Prev 391 0 R >> endobj 391 0 obj << /Title 392 0 R /A 389 0 R /Parent 383 0 R /Prev 387 0 R /Next 395 0 R >> endobj 387 0 obj << /Title 388 0 R /A 385 0 R /Parent 383 0 R /Next 391 0 R >> endobj 383 0 obj << /Title 384 0 R /A 381 0 R /Parent 2440 0 R /Prev 379 0 R /Next 399 0 R /First 387 0 R /Last 395 0 R /Count -3 >> endobj 379 0 obj << /Title 380 0 R /A 377 0 R /Parent 2440 0 R /Prev 375 0 R /Next 383 0 R >> endobj 375 0 obj << /Title 376 0 R /A 373 0 R /Parent 2440 0 R /Prev 371 0 R /Next 379 0 R >> endobj 371 0 obj << /Title 372 0 R /A 369 0 R /Parent 2440 0 R /Prev 355 0 R /Next 375 0 R >> endobj 367 0 obj << /Title 368 0 R /A 365 0 R /Parent 355 0 R /Prev 363 0 R >> endobj 363 0 obj << /Title 364 0 R /A 361 0 R /Parent 355 0 R /Prev 359 0 R /Next 367 0 R >> endobj 359 0 obj << /Title 360 0 R /A 357 0 R /Parent 355 0 R /Next 363 0 R >> endobj 355 0 obj << /Title 356 0 R /A 353 0 R /Parent 2440 0 R /Prev 351 0 R /Next 371 0 R /First 359 0 R /Last 367 0 R /Count -3 >> endobj 351 0 obj << /Title 352 0 R /A 349 0 R /Parent 2440 0 R /Prev 347 0 R /Next 355 0 R >> endobj 347 0 obj << /Title 348 0 R /A 345 0 R /Parent 2440 0 R /Prev 331 0 R /Next 351 0 R >> endobj 343 0 obj << /Title 344 0 R /A 341 0 R /Parent 335 0 R /Prev 339 0 R >> endobj 339 0 obj << /Title 340 0 R /A 337 0 R /Parent 335 0 R /Next 343 0 R >> endobj 335 0 obj << /Title 336 0 R /A 333 0 R /Parent 331 0 R /First 339 0 R /Last 343 0 R /Count -2 >> endobj 331 0 obj << /Title 332 0 R /A 329 0 R /Parent 2440 0 R /Prev 327 0 R /Next 347 0 R /First 335 0 R /Last 335 0 R /Count -1 >> endobj 327 0 obj << /Title 328 0 R /A 325 0 R /Parent 2440 0 R /Prev 259 0 R /Next 331 0 R >> endobj 323 0 obj << /Title 324 0 R /A 321 0 R /Parent 319 0 R >> endobj 319 0 obj << /Title 320 0 R /A 317 0 R /Parent 259 0 R /Prev 311 0 R /First 323 0 R /Last 323 0 R /Count -1 >> endobj 315 0 obj << /Title 316 0 R /A 313 0 R /Parent 311 0 R >> endobj 311 0 obj << /Title 312 0 R /A 309 0 R /Parent 259 0 R /Prev 307 0 R /Next 319 0 R /First 315 0 R /Last 315 0 R /Count -1 >> endobj 307 0 obj << /Title 308 0 R /A 305 0 R /Parent 259 0 R /Prev 303 0 R /Next 311 0 R >> endobj 303 0 obj << /Title 304 0 R /A 301 0 R /Parent 259 0 R /Prev 299 0 R /Next 307 0 R >> endobj 299 0 obj << /Title 300 0 R /A 297 0 R /Parent 259 0 R /Prev 275 0 R /Next 303 0 R >> endobj 295 0 obj << /Title 296 0 R /A 293 0 R /Parent 275 0 R /Prev 291 0 R >> endobj 291 0 obj << /Title 292 0 R /A 289 0 R /Parent 275 0 R /Prev 287 0 R /Next 295 0 R >> endobj 287 0 obj << /Title 288 0 R /A 285 0 R /Parent 275 0 R /Prev 283 0 R /Next 291 0 R >> endobj 283 0 obj << /Title 284 0 R /A 281 0 R /Parent 275 0 R /Prev 279 0 R /Next 287 0 R >> endobj 279 0 obj << /Title 280 0 R /A 277 0 R /Parent 275 0 R /Next 283 0 R >> endobj 275 0 obj << /Title 276 0 R /A 273 0 R /Parent 259 0 R /Prev 271 0 R /Next 299 0 R /First 279 0 R /Last 295 0 R /Count -5 >> endobj 271 0 obj << /Title 272 0 R /A 269 0 R /Parent 259 0 R /Prev 267 0 R /Next 275 0 R >> endobj 267 0 obj << /Title 268 0 R /A 265 0 R /Parent 259 0 R /Prev 263 0 R /Next 271 0 R >> endobj 263 0 obj << /Title 264 0 R /A 261 0 R /Parent 259 0 R /Next 267 0 R >> endobj 259 0 obj << /Title 260 0 R /A 257 0 R /Parent 2440 0 R /Prev 191 0 R /Next 327 0 R /First 263 0 R /Last 319 0 R /Count -9 >> endobj 255 0 obj << /Title 256 0 R /A 253 0 R /Parent 191 0 R /Prev 243 0 R >> endobj 251 0 obj << /Title 252 0 R /A 249 0 R /Parent 243 0 R /Prev 247 0 R >> endobj 247 0 obj << /Title 248 0 R /A 245 0 R /Parent 243 0 R /Next 251 0 R >> endobj 243 0 obj << /Title 244 0 R /A 241 0 R /Parent 191 0 R /Prev 239 0 R /Next 255 0 R /First 247 0 R /Last 251 0 R /Count -2 >> endobj 239 0 obj << /Title 240 0 R /A 237 0 R /Parent 191 0 R /Prev 235 0 R /Next 243 0 R >> endobj 235 0 obj << /Title 236 0 R /A 233 0 R /Parent 191 0 R /Prev 231 0 R /Next 239 0 R >> endobj 231 0 obj << /Title 232 0 R /A 229 0 R /Parent 191 0 R /Prev 227 0 R /Next 235 0 R >> endobj 227 0 obj << /Title 228 0 R /A 225 0 R /Parent 191 0 R /Prev 223 0 R /Next 231 0 R >> endobj 223 0 obj << /Title 224 0 R /A 221 0 R /Parent 191 0 R /Prev 219 0 R /Next 227 0 R >> endobj 219 0 obj << /Title 220 0 R /A 217 0 R /Parent 191 0 R /Prev 199 0 R /Next 223 0 R >> endobj 215 0 obj << /Title 216 0 R /A 213 0 R /Parent 199 0 R /Prev 211 0 R >> endobj 211 0 obj << /Title 212 0 R /A 209 0 R /Parent 199 0 R /Prev 207 0 R /Next 215 0 R >> endobj 207 0 obj << /Title 208 0 R /A 205 0 R /Parent 199 0 R /Prev 203 0 R /Next 211 0 R >> endobj 203 0 obj << /Title 204 0 R /A 201 0 R /Parent 199 0 R /Next 207 0 R >> endobj 199 0 obj << /Title 200 0 R /A 197 0 R /Parent 191 0 R /Prev 195 0 R /Next 219 0 R /First 203 0 R /Last 215 0 R /Count -4 >> endobj 195 0 obj << /Title 196 0 R /A 193 0 R /Parent 191 0 R /Next 199 0 R >> endobj 191 0 obj << /Title 192 0 R /A 189 0 R /Parent 2440 0 R /Prev 187 0 R /Next 259 0 R /First 195 0 R /Last 255 0 R /Count -10 >> endobj 187 0 obj << /Title 188 0 R /A 185 0 R /Parent 2440 0 R /Prev 183 0 R /Next 191 0 R >> endobj 183 0 obj << /Title 184 0 R /A 181 0 R /Parent 2440 0 R /Prev 179 0 R /Next 187 0 R >> endobj 179 0 obj << /Title 180 0 R /A 177 0 R /Parent 2440 0 R /Prev 175 0 R /Next 183 0 R >> endobj 175 0 obj << /Title 176 0 R /A 173 0 R /Parent 2440 0 R /Prev 35 0 R /Next 179 0 R >> endobj 171 0 obj << /Title 172 0 R /A 169 0 R /Parent 35 0 R /Prev 167 0 R >> endobj 167 0 obj << /Title 168 0 R /A 165 0 R /Parent 35 0 R /Prev 163 0 R /Next 171 0 R >> endobj 163 0 obj << /Title 164 0 R /A 161 0 R /Parent 35 0 R /Prev 159 0 R /Next 167 0 R >> endobj 159 0 obj << /Title 160 0 R /A 157 0 R /Parent 35 0 R /Prev 155 0 R /Next 163 0 R >> endobj 155 0 obj << /Title 156 0 R /A 153 0 R /Parent 35 0 R /Prev 151 0 R /Next 159 0 R >> endobj 151 0 obj << /Title 152 0 R /A 149 0 R /Parent 35 0 R /Prev 43 0 R /Next 155 0 R >> endobj 147 0 obj << /Title 148 0 R /A 145 0 R /Parent 43 0 R /Prev 143 0 R >> endobj 143 0 obj << /Title 144 0 R /A 141 0 R /Parent 43 0 R /Prev 139 0 R /Next 147 0 R >> endobj 139 0 obj << /Title 140 0 R /A 137 0 R /Parent 43 0 R /Prev 135 0 R /Next 143 0 R >> endobj 135 0 obj << /Title 136 0 R /A 133 0 R /Parent 43 0 R /Prev 131 0 R /Next 139 0 R >> endobj 131 0 obj << /Title 132 0 R /A 129 0 R /Parent 43 0 R /Prev 127 0 R /Next 135 0 R >> endobj 127 0 obj << /Title 128 0 R /A 125 0 R /Parent 43 0 R /Prev 123 0 R /Next 131 0 R >> endobj 123 0 obj << /Title 124 0 R /A 121 0 R /Parent 43 0 R /Prev 119 0 R /Next 127 0 R >> endobj 119 0 obj << /Title 120 0 R /A 117 0 R /Parent 43 0 R /Prev 115 0 R /Next 123 0 R >> endobj 115 0 obj << /Title 116 0 R /A 113 0 R /Parent 43 0 R /Prev 111 0 R /Next 119 0 R >> endobj 111 0 obj << /Title 112 0 R /A 109 0 R /Parent 43 0 R /Prev 107 0 R /Next 115 0 R >> endobj 107 0 obj << /Title 108 0 R /A 105 0 R /Parent 43 0 R /Prev 103 0 R /Next 111 0 R >> endobj 103 0 obj << /Title 104 0 R /A 101 0 R /Parent 43 0 R /Prev 99 0 R /Next 107 0 R >> endobj 99 0 obj << /Title 100 0 R /A 97 0 R /Parent 43 0 R /Prev 95 0 R /Next 103 0 R >> endobj 95 0 obj << /Title 96 0 R /A 93 0 R /Parent 43 0 R /Prev 91 0 R /Next 99 0 R >> endobj 91 0 obj << /Title 92 0 R /A 89 0 R /Parent 43 0 R /Prev 87 0 R /Next 95 0 R >> endobj 87 0 obj << /Title 88 0 R /A 85 0 R /Parent 43 0 R /Prev 83 0 R /Next 91 0 R >> endobj 83 0 obj << /Title 84 0 R /A 81 0 R /Parent 43 0 R /Prev 79 0 R /Next 87 0 R >> endobj 79 0 obj << /Title 80 0 R /A 77 0 R /Parent 43 0 R /Prev 75 0 R /Next 83 0 R >> endobj 75 0 obj << /Title 76 0 R /A 73 0 R /Parent 43 0 R /Prev 71 0 R /Next 79 0 R >> endobj 71 0 obj << /Title 72 0 R /A 69 0 R /Parent 43 0 R /Prev 67 0 R /Next 75 0 R >> endobj 67 0 obj << /Title 68 0 R /A 65 0 R /Parent 43 0 R /Prev 63 0 R /Next 71 0 R >> endobj 63 0 obj << /Title 64 0 R /A 61 0 R /Parent 43 0 R /Prev 59 0 R /Next 67 0 R >> endobj 59 0 obj << /Title 60 0 R /A 57 0 R /Parent 43 0 R /Prev 55 0 R /Next 63 0 R >> endobj 55 0 obj << /Title 56 0 R /A 53 0 R /Parent 43 0 R /Prev 51 0 R /Next 59 0 R >> endobj 51 0 obj << /Title 52 0 R /A 49 0 R /Parent 43 0 R /Prev 47 0 R /Next 55 0 R >> endobj 47 0 obj << /Title 48 0 R /A 45 0 R /Parent 43 0 R /Next 51 0 R >> endobj 43 0 obj << /Title 44 0 R /A 41 0 R /Parent 35 0 R /Prev 39 0 R /Next 151 0 R /First 47 0 R /Last 147 0 R /Count -26 >> endobj 39 0 obj << /Title 40 0 R /A 37 0 R /Parent 35 0 R /Next 43 0 R >> endobj 35 0 obj << /Title 36 0 R /A 33 0 R /Parent 2440 0 R /Prev 31 0 R /Next 175 0 R /First 39 0 R /Last 171 0 R /Count -8 >> endobj 31 0 obj << /Title 32 0 R /A 29 0 R /Parent 2440 0 R /Prev 23 0 R /Next 35 0 R >> endobj 27 0 obj << /Title 28 0 R /A 25 0 R /Parent 23 0 R >> endobj 23 0 obj << /Title 24 0 R /A 21 0 R /Parent 2440 0 R /Prev 19 0 R /Next 31 0 R /First 27 0 R /Last 27 0 R /Count -1 >> endobj 19 0 obj << /Title 20 0 R /A 17 0 R /Parent 2440 0 R /Prev 15 0 R /Next 23 0 R >> endobj 15 0 obj << /Title 16 0 R /A 13 0 R /Parent 2440 0 R /Prev 11 0 R /Next 19 0 R >> endobj 11 0 obj << /Title 12 0 R /A 9 0 R /Parent 2440 0 R /Prev 7 0 R /Next 15 0 R >> endobj 7 0 obj << /Title 8 0 R /A 5 0 R /Parent 2440 0 R /Next 11 0 R >> endobj 2441 0 obj << /Names [(Doc-Start) 554 0 R (Item.1) 720 0 R (Item.10) 729 0 R (Item.100) 1309 0 R (Item.101) 1310 0 R (Item.102) 1311 0 R (Item.11) 734 0 R (Item.12) 735 0 R (Item.13) 736 0 R (Item.14) 737 0 R (Item.15) 738 0 R (Item.16) 739 0 R (Item.17) 740 0 R (Item.18) 741 0 R (Item.19) 742 0 R (Item.2) 721 0 R (Item.20) 743 0 R (Item.21) 744 0 R (Item.22) 873 0 R (Item.23) 874 0 R (Item.24) 875 0 R (Item.25) 1174 0 R (Item.26) 1175 0 R (Item.27) 1176 0 R (Item.28) 1177 0 R (Item.29) 1178 0 R (Item.3) 722 0 R (Item.30) 1179 0 R (Item.31) 1180 0 R (Item.32) 1181 0 R (Item.33) 1186 0 R (Item.34) 1187 0 R (Item.35) 1188 0 R (Item.36) 1189 0 R (Item.37) 1190 0 R (Item.38) 1191 0 R (Item.39) 1192 0 R (Item.4) 723 0 R (Item.40) 1193 0 R (Item.41) 1194 0 R (Item.42) 1195 0 R (Item.43) 1196 0 R (Item.44) 1197 0 R (Item.45) 1198 0 R (Item.46) 1199 0 R (Item.47) 1200 0 R (Item.48) 1201 0 R (Item.49) 1202 0 R (Item.5) 724 0 R (Item.50) 1203 0 R (Item.51) 1204 0 R (Item.52) 1205 0 R (Item.53) 1206 0 R (Item.54) 1207 0 R (Item.55) 1208 0 R (Item.56) 1209 0 R (Item.57) 1210 0 R (Item.58) 1211 0 R (Item.59) 1264 0 R (Item.6) 725 0 R (Item.60) 1265 0 R (Item.61) 1266 0 R (Item.62) 1267 0 R (Item.63) 1268 0 R (Item.64) 1269 0 R (Item.65) 1270 0 R (Item.66) 1271 0 R (Item.67) 1272 0 R (Item.68) 1273 0 R (Item.69) 1274 0 R (Item.7) 726 0 R (Item.70) 1275 0 R (Item.71) 1276 0 R (Item.72) 1277 0 R (Item.73) 1278 0 R (Item.74) 1279 0 R (Item.75) 1280 0 R (Item.76) 1281 0 R (Item.77) 1282 0 R (Item.78) 1283 0 R (Item.79) 1284 0 R (Item.8) 727 0 R (Item.80) 1285 0 R (Item.81) 1286 0 R (Item.82) 1291 0 R (Item.83) 1292 0 R (Item.84) 1293 0 R (Item.85) 1294 0 R (Item.86) 1295 0 R (Item.87) 1296 0 R (Item.88) 1297 0 R (Item.89) 1298 0 R (Item.9) 728 0 R (Item.90) 1299 0 R (Item.91) 1300 0 R (Item.92) 1301 0 R (Item.93) 1302 0 R (Item.94) 1303 0 R (Item.95) 1304 0 R (Item.96) 1305 0 R (Item.97) 1306 0 R (Item.98) 1307 0 R (Item.99) 1308 0 R (page.1) 553 0 R (page.10) 769 0 R (page.100) 1152 0 R (page.101) 1156 0 R (page.102) 1160 0 R (page.103) 1164 0 R (page.104) 1169 0 R (page.105) 1173 0 R (page.106) 1185 0 R (page.107) 1215 0 R (page.108) 1219 0 R (page.109) 1224 0 R (page.11) 773 0 R (page.110) 1229 0 R (page.111) 1234 0 R (page.112) 1238 0 R (page.113) 1242 0 R (page.114) 1246 0 R (page.115) 1250 0 R (page.116) 1255 0 R (page.117) 1259 0 R (page.118) 1263 0 R (page.119) 1290 0 R (page.12) 777 0 R (page.120) 1315 0 R (page.121) 1319 0 R (page.122) 1324 0 R (page.123) 1328 0 R (page.124) 1397 0 R (page.125) 1416 0 R (page.126) 1430 0 R (page.127) 1457 0 R (page.128) 1504 0 R (page.129) 1561 0 R (page.13) 781 0 R (page.130) 1631 0 R (page.131) 1666 0 R (page.132) 1709 0 R (page.133) 1807 0 R (page.134) 1928 0 R (page.135) 2019 0 R (page.136) 2046 0 R (page.137) 2086 0 R (page.138) 2101 0 R (page.139) 2151 0 R (page.14) 786 0 R (page.140) 2194 0 R (page.141) 2220 0 R (page.142) 2272 0 R (page.143) 2321 0 R (page.144) 2341 0 R (page.145) 2383 0 R (page.146) 2420 0 R (page.15) 790 0 R (page.16) 794 0 R (page.17) 798 0 R (page.18) 803 0 R (page.19) 807 0 R (page.2) 594 0 R (page.20) 812 0 R (page.21) 816 0 R (page.22) 820 0 R (page.23) 824 0 R (page.24) 828 0 R (page.25) 832 0 R (page.26) 839 0 R (page.27) 843 0 R (page.28) 847 0 R (page.29) 851 0 R (page.3) 638 0 R (page.30) 855 0 R (page.31) 859 0 R (page.32) 864 0 R (page.33) 868 0 R (page.34) 872 0 R (page.35) 879 0 R (page.36) 883 0 R (page.37) 887 0 R (page.38) 892 0 R (page.39) 896 0 R (page.4) 681 0 R (page.40) 900 0 R (page.41) 904 0 R (page.42) 908 0 R (page.43) 912 0 R (page.44) 917 0 R (page.45) 921 0 R (page.46) 925 0 R (page.47) 929 0 R (page.48) 933 0 R (page.49) 937 0 R (page.5) 719 0 R (page.50) 942 0 R (page.51) 946 0 R (page.52) 950 0 R (page.53) 954 0 R (page.54) 958 0 R (page.55) 962 0 R (page.56) 967 0 R (page.57) 971 0 R (page.58) 975 0 R (page.59) 979 0 R (page.6) 733 0 R (page.60) 983 0 R (page.61) 987 0 R (page.62) 992 0 R (page.63) 996 0 R (page.64) 1000 0 R (page.65) 1004 0 R (page.66) 1008 0 R (page.67) 1014 0 R (page.68) 1019 0 R (page.69) 1023 0 R (page.7) 748 0 R (page.70) 1027 0 R (page.71) 1031 0 R (page.72) 1035 0 R (page.73) 1039 0 R (page.74) 1044 0 R (page.75) 1048 0 R (page.76) 1052 0 R (page.77) 1056 0 R (page.78) 1060 0 R (page.79) 1064 0 R (page.8) 757 0 R (page.80) 1069 0 R (page.81) 1073 0 R (page.82) 1077 0 R (page.83) 1081 0 R (page.84) 1085 0 R (page.85) 1089 0 R (page.86) 1094 0 R (page.87) 1098 0 R (page.88) 1102 0 R (page.89) 1106 0 R (page.9) 765 0 R (page.90) 1110 0 R (page.91) 1114 0 R (page.92) 1119 0 R (page.93) 1123 0 R (page.94) 1127 0 R (page.95) 1131 0 R (page.96) 1135 0 R (page.97) 1139 0 R (page.98) 1144 0 R (page.99) 1148 0 R (section*.1) 564 0 R (section*.2) 546 0 R (section.1) 6 0 R (section.10) 182 0 R (section.11) 186 0 R (section.12) 190 0 R (section.13) 258 0 R (section.14) 326 0 R (section.15) 330 0 R (section.16) 346 0 R (section.17) 350 0 R (section.18) 354 0 R (section.19) 370 0 R (section.2) 10 0 R (section.20) 374 0 R (section.21) 378 0 R (section.22) 382 0 R (section.23) 398 0 R (section.24) 402 0 R (section.25) 406 0 R (section.26) 410 0 R (section.27) 414 0 R (section.28) 418 0 R (section.29) 514 0 R (section.3) 14 0 R (section.30) 522 0 R (section.4) 18 0 R (section.5) 22 0 R (section.6) 30 0 R (section.7) 34 0 R (section.8) 174 0 R (section.9) 178 0 R (subsection.12.1) 194 0 R (subsection.12.10) 254 0 R (subsection.12.2) 198 0 R (subsection.12.3) 218 0 R (subsection.12.4) 222 0 R (subsection.12.5) 226 0 R (subsection.12.6) 230 0 R (subsection.12.7) 234 0 R (subsection.12.8) 238 0 R (subsection.12.9) 242 0 R (subsection.13.1) 262 0 R (subsection.13.2) 266 0 R (subsection.13.3) 270 0 R (subsection.13.4) 274 0 R (subsection.13.5) 298 0 R (subsection.13.6) 302 0 R (subsection.13.7) 306 0 R (subsection.13.8) 310 0 R (subsection.13.9) 318 0 R (subsection.15.1) 334 0 R (subsection.18.1) 358 0 R (subsection.18.2) 362 0 R (subsection.18.3) 366 0 R (subsection.22.1) 386 0 R (subsection.22.2) 390 0 R (subsection.22.3) 394 0 R (subsection.28.1) 422 0 R (subsection.28.2) 426 0 R (subsection.28.3) 430 0 R (subsection.28.4) 474 0 R (subsection.28.5) 510 0 R (subsection.29.1) 518 0 R (subsection.30.1) 526 0 R (subsection.30.2) 530 0 R (subsection.30.3) 534 0 R (subsection.30.4) 538 0 R (subsection.30.5) 542 0 R (subsection.5.1) 26 0 R (subsection.7.1) 38 0 R (subsection.7.2) 42 0 R (subsection.7.3) 150 0 R (subsection.7.4) 154 0 R (subsection.7.5) 158 0 R (subsection.7.6) 162 0 R (subsection.7.7) 166 0 R (subsection.7.8) 170 0 R (subsubsection.12.2.1) 202 0 R (subsubsection.12.2.2) 206 0 R (subsubsection.12.2.3) 210 0 R (subsubsection.12.2.4) 214 0 R (subsubsection.12.9.1) 246 0 R (subsubsection.12.9.2) 250 0 R (subsubsection.13.4.1) 278 0 R (subsubsection.13.4.2) 282 0 R (subsubsection.13.4.3) 286 0 R (subsubsection.13.4.4) 290 0 R (subsubsection.13.4.5) 294 0 R (subsubsection.13.8.1) 314 0 R (subsubsection.13.9.1) 322 0 R (subsubsection.15.1.1) 338 0 R (subsubsection.15.1.2) 342 0 R (subsubsection.28.3.1) 434 0 R (subsubsection.28.3.10) 470 0 R (subsubsection.28.3.2) 438 0 R (subsubsection.28.3.3) 442 0 R (subsubsection.28.3.4) 446 0 R (subsubsection.28.3.5) 450 0 R (subsubsection.28.3.6) 454 0 R (subsubsection.28.3.7) 458 0 R (subsubsection.28.3.8) 462 0 R (subsubsection.28.3.9) 466 0 R (subsubsection.28.4.1) 478 0 R (subsubsection.28.4.2) 482 0 R (subsubsection.28.4.3) 486 0 R (subsubsection.28.4.4) 490 0 R (subsubsection.28.4.5) 494 0 R (subsubsection.28.4.6) 498 0 R (subsubsection.28.4.7) 502 0 R (subsubsection.28.4.8) 506 0 R (subsubsection.7.2.1) 46 0 R (subsubsection.7.2.10) 82 0 R (subsubsection.7.2.11) 86 0 R (subsubsection.7.2.12) 90 0 R (subsubsection.7.2.13) 94 0 R (subsubsection.7.2.14) 98 0 R (subsubsection.7.2.15) 102 0 R (subsubsection.7.2.16) 106 0 R (subsubsection.7.2.17) 110 0 R (subsubsection.7.2.18) 114 0 R (subsubsection.7.2.19) 118 0 R (subsubsection.7.2.2) 50 0 R (subsubsection.7.2.20) 122 0 R (subsubsection.7.2.21) 126 0 R (subsubsection.7.2.22) 130 0 R (subsubsection.7.2.23) 134 0 R (subsubsection.7.2.24) 138 0 R (subsubsection.7.2.25) 142 0 R (subsubsection.7.2.26) 146 0 R (subsubsection.7.2.3) 54 0 R (subsubsection.7.2.4) 58 0 R (subsubsection.7.2.5) 62 0 R (subsubsection.7.2.6) 66 0 R (subsubsection.7.2.7) 70 0 R (subsubsection.7.2.8) 74 0 R (subsubsection.7.2.9) 78 0 R] /Limits [(Doc-Start) (subsubsection.7.2.9)] >> endobj 2442 0 obj << /Kids [2441 0 R] >> endobj 2443 0 obj << /Dests 2442 0 R >> endobj 2444 0 obj << /Type /Catalog /Pages 2439 0 R /Outlines 2440 0 R /Names 2443 0 R /PageMode /UseOutlines /URI << /Base () >> /ViewerPreferences << >> /OpenAction 549 0 R >> endobj 2445 0 obj << /Producer (pdfTeX-0.14h) /Author () /Title () /Subject () /Creator (LaTeX with hyperref package) /Producer (pdfTeX14.h) /Keywords () /Creator (TeX) /CreationDate (D:20010803094700) >> endobj xref 0 2446 0000000001 65535 f 0000000002 00000 f 0000000003 00000 f 0000000004 00000 f 0000000555 00000 f 0000000009 00000 n 0000045152 00000 n 0000550148 00000 n 0000000054 00000 n 0000000084 00000 n 0000048203 00000 n 0000550061 00000 n 0000000129 00000 n 0000000156 00000 n 0000052307 00000 n 0000549972 00000 n 0000000202 00000 n 0000000239 00000 n 0000054809 00000 n 0000549883 00000 n 0000000285 00000 n 0000000348 00000 n 0000058307 00000 n 0000549757 00000 n 0000000394 00000 n 0000000439 00000 n 0000058368 00000 n 0000549696 00000 n 0000000490 00000 n 0000000533 00000 n 0000058429 00000 n 0000549607 00000 n 0000000579 00000 n 0000000628 00000 n 0000060648 00000 n 0000549479 00000 n 0000000674 00000 n 0000000700 00000 n 0000060709 00000 n 0000549405 00000 n 0000000751 00000 n 0000000801 00000 n 0000067670 00000 n 0000549278 00000 n 0000000852 00000 n 0000000886 00000 n 0000067731 00000 n 0000549204 00000 n 0000000942 00000 n 0000000987 00000 n 0000067792 00000 n 0000549117 00000 n 0000001043 00000 n 0000001076 00000 n 0000069476 00000 n 0000549030 00000 n 0000001132 00000 n 0000001176 00000 n 0000069537 00000 n 0000548943 00000 n 0000001232 00000 n 0000001301 00000 n 0000069598 00000 n 0000548856 00000 n 0000001357 00000 n 0000001400 00000 n 0000069659 00000 n 0000548769 00000 n 0000001456 00000 n 0000001491 00000 n 0000071684 00000 n 0000548682 00000 n 0000001547 00000 n 0000001575 00000 n 0000071745 00000 n 0000548595 00000 n 0000001631 00000 n 0000001660 00000 n 0000071806 00000 n 0000548508 00000 n 0000001716 00000 n 0000001743 00000 n 0000073964 00000 n 0000548421 00000 n 0000001800 00000 n 0000001828 00000 n 0000074025 00000 n 0000548334 00000 n 0000001885 00000 n 0000001918 00000 n 0000074086 00000 n 0000548247 00000 n 0000001975 00000 n 0000002002 00000 n 0000074147 00000 n 0000548160 00000 n 0000002059 00000 n 0000002092 00000 n 0000074208 00000 n 0000548071 00000 n 0000002149 00000 n 0000002189 00000 n 0000076555 00000 n 0000547980 00000 n 0000002247 00000 n 0000002287 00000 n 0000078552 00000 n 0000547888 00000 n 0000002345 00000 n 0000002392 00000 n 0000078614 00000 n 0000547796 00000 n 0000002450 00000 n 0000002482 00000 n 0000078676 00000 n 0000547704 00000 n 0000002540 00000 n 0000002571 00000 n 0000078737 00000 n 0000547612 00000 n 0000002629 00000 n 0000002664 00000 n 0000078799 00000 n 0000547520 00000 n 0000002722 00000 n 0000002750 00000 n 0000078861 00000 n 0000547428 00000 n 0000002808 00000 n 0000002840 00000 n 0000081018 00000 n 0000547336 00000 n 0000002898 00000 n 0000002934 00000 n 0000081080 00000 n 0000547244 00000 n 0000002992 00000 n 0000003033 00000 n 0000081142 00000 n 0000547152 00000 n 0000003091 00000 n 0000003136 00000 n 0000085258 00000 n 0000547060 00000 n 0000003194 00000 n 0000003255 00000 n 0000087562 00000 n 0000546982 00000 n 0000003313 00000 n 0000003350 00000 n 0000087624 00000 n 0000546891 00000 n 0000003402 00000 n 0000003460 00000 n 0000090239 00000 n 0000546799 00000 n 0000003512 00000 n 0000003559 00000 n 0000090301 00000 n 0000546707 00000 n 0000003611 00000 n 0000003674 00000 n 0000090363 00000 n 0000546615 00000 n 0000003726 00000 n 0000003760 00000 n 0000092594 00000 n 0000546523 00000 n 0000003812 00000 n 0000003854 00000 n 0000092656 00000 n 0000546445 00000 n 0000003906 00000 n 0000003941 00000 n 0000092718 00000 n 0000546352 00000 n 0000003988 00000 n 0000004041 00000 n 0000096572 00000 n 0000546258 00000 n 0000004088 00000 n 0000004125 00000 n 0000098168 00000 n 0000546164 00000 n 0000004173 00000 n 0000004214 00000 n 0000098230 00000 n 0000546070 00000 n 0000004262 00000 n 0000004316 00000 n 0000100994 00000 n 0000545936 00000 n 0000004364 00000 n 0000004396 00000 n 0000101056 00000 n 0000545857 00000 n 0000004449 00000 n 0000004486 00000 n 0000103889 00000 n 0000545725 00000 n 0000004539 00000 n 0000004604 00000 n 0000103951 00000 n 0000545646 00000 n 0000004662 00000 n 0000004718 00000 n 0000108400 00000 n 0000545553 00000 n 0000004776 00000 n 0000004820 00000 n 0000120184 00000 n 0000545460 00000 n 0000004878 00000 n 0000004932 00000 n 0000122491 00000 n 0000545381 00000 n 0000004990 00000 n 0000005063 00000 n 0000129113 00000 n 0000545288 00000 n 0000005116 00000 n 0000005156 00000 n 0000129175 00000 n 0000545195 00000 n 0000005209 00000 n 0000005267 00000 n 0000131471 00000 n 0000545102 00000 n 0000005320 00000 n 0000005356 00000 n 0000131533 00000 n 0000545009 00000 n 0000005409 00000 n 0000005450 00000 n 0000131595 00000 n 0000544916 00000 n 0000005503 00000 n 0000005528 00000 n 0000131657 00000 n 0000544823 00000 n 0000005581 00000 n 0000005625 00000 n 0000137732 00000 n 0000544691 00000 n 0000005678 00000 n 0000005724 00000 n 0000141843 00000 n 0000544612 00000 n 0000005782 00000 n 0000005854 00000 n 0000152949 00000 n 0000544533 00000 n 0000005912 00000 n 0000005980 00000 n 0000164558 00000 n 0000544454 00000 n 0000006034 00000 n 0000006091 00000 n 0000164620 00000 n 0000544321 00000 n 0000006139 00000 n 0000006163 00000 n 0000164682 00000 n 0000544242 00000 n 0000006216 00000 n 0000006244 00000 n 0000166381 00000 n 0000544149 00000 n 0000006297 00000 n 0000006333 00000 n 0000166443 00000 n 0000544056 00000 n 0000006386 00000 n 0000006423 00000 n 0000168195 00000 n 0000543924 00000 n 0000006476 00000 n 0000006515 00000 n 0000168257 00000 n 0000543845 00000 n 0000006573 00000 n 0000006623 00000 n 0000168318 00000 n 0000543752 00000 n 0000006681 00000 n 0000006732 00000 n 0000170026 00000 n 0000543659 00000 n 0000006790 00000 n 0000006821 00000 n 0000170088 00000 n 0000543566 00000 n 0000006879 00000 n 0000006912 00000 n 0000171351 00000 n 0000543487 00000 n 0000006970 00000 n 0000007001 00000 n 0000171413 00000 n 0000543394 00000 n 0000007054 00000 n 0000007078 00000 n 0000173284 00000 n 0000543301 00000 n 0000007131 00000 n 0000007179 00000 n 0000173346 00000 n 0000543208 00000 n 0000007232 00000 n 0000007267 00000 n 0000173408 00000 n 0000543076 00000 n 0000007320 00000 n 0000007347 00000 n 0000175258 00000 n 0000543011 00000 n 0000007405 00000 n 0000007448 00000 n 0000177807 00000 n 0000542893 00000 n 0000007501 00000 n 0000007527 00000 n 0000179682 00000 n 0000542828 00000 n 0000007585 00000 n 0000007627 00000 n 0000181404 00000 n 0000542734 00000 n 0000007675 00000 n 0000007702 00000 n 0000184504 00000 n 0000542601 00000 n 0000007750 00000 n 0000007783 00000 n 0000184567 00000 n 0000542497 00000 n 0000007836 00000 n 0000007889 00000 n 0000184630 00000 n 0000542418 00000 n 0000007947 00000 n 0000007979 00000 n 0000196723 00000 n 0000542339 00000 n 0000008037 00000 n 0000008084 00000 n 0000204165 00000 n 0000542245 00000 n 0000008132 00000 n 0000008165 00000 n 0000205704 00000 n 0000542151 00000 n 0000008213 00000 n 0000008242 00000 n 0000205767 00000 n 0000542018 00000 n 0000008290 00000 n 0000008332 00000 n 0000205830 00000 n 0000541939 00000 n 0000008385 00000 n 0000008426 00000 n 0000207936 00000 n 0000541846 00000 n 0000008479 00000 n 0000008527 00000 n 0000207999 00000 n 0000541767 00000 n 0000008580 00000 n 0000008625 00000 n 0000211869 00000 n 0000541673 00000 n 0000008673 00000 n 0000008710 00000 n 0000211932 00000 n 0000541579 00000 n 0000008758 00000 n 0000008800 00000 n 0000215805 00000 n 0000541485 00000 n 0000008848 00000 n 0000008883 00000 n 0000220512 00000 n 0000541352 00000 n 0000008931 00000 n 0000008981 00000 n 0000220575 00000 n 0000541273 00000 n 0000009034 00000 n 0000009071 00000 n 0000220638 00000 n 0000541180 00000 n 0000009124 00000 n 0000009160 00000 n 0000222734 00000 n 0000541101 00000 n 0000009213 00000 n 0000009268 00000 n 0000222797 00000 n 0000541007 00000 n 0000009316 00000 n 0000009363 00000 n 0000228507 00000 n 0000540913 00000 n 0000009411 00000 n 0000009469 00000 n 0000232414 00000 n 0000540819 00000 n 0000009517 00000 n 0000009575 00000 n 0000233898 00000 n 0000540725 00000 n 0000009623 00000 n 0000009681 00000 n 0000236550 00000 n 0000540631 00000 n 0000009729 00000 n 0000009764 00000 n 0000237979 00000 n 0000540498 00000 n 0000009812 00000 n 0000009868 00000 n 0000240380 00000 n 0000540419 00000 n 0000009921 00000 n 0000009973 00000 n 0000240443 00000 n 0000540326 00000 n 0000010026 00000 n 0000010059 00000 n 0000242422 00000 n 0000540193 00000 n 0000010112 00000 n 0000010141 00000 n 0000242485 00000 n 0000540114 00000 n 0000010199 00000 n 0000010230 00000 n 0000249797 00000 n 0000540021 00000 n 0000010288 00000 n 0000010321 00000 n 0000250968 00000 n 0000539928 00000 n 0000010379 00000 n 0000010410 00000 n 0000254090 00000 n 0000539835 00000 n 0000010468 00000 n 0000010505 00000 n 0000256074 00000 n 0000539742 00000 n 0000010563 00000 n 0000010604 00000 n 0000256137 00000 n 0000539649 00000 n 0000010662 00000 n 0000010703 00000 n 0000256200 00000 n 0000539556 00000 n 0000010761 00000 n 0000010800 00000 n 0000258825 00000 n 0000539463 00000 n 0000010858 00000 n 0000010886 00000 n 0000258888 00000 n 0000539370 00000 n 0000010944 00000 n 0000010976 00000 n 0000268846 00000 n 0000539291 00000 n 0000011035 00000 n 0000011060 00000 n 0000268909 00000 n 0000539159 00000 n 0000011113 00000 n 0000011154 00000 n 0000271066 00000 n 0000539080 00000 n 0000011212 00000 n 0000011235 00000 n 0000271129 00000 n 0000538987 00000 n 0000011293 00000 n 0000011316 00000 n 0000271192 00000 n 0000538894 00000 n 0000011374 00000 n 0000011397 00000 n 0000271255 00000 n 0000538801 00000 n 0000011455 00000 n 0000011478 00000 n 0000271318 00000 n 0000538708 00000 n 0000011536 00000 n 0000011559 00000 n 0000271381 00000 n 0000538615 00000 n 0000011617 00000 n 0000011640 00000 n 0000275429 00000 n 0000538522 00000 n 0000011698 00000 n 0000011724 00000 n 0000275492 00000 n 0000538443 00000 n 0000011782 00000 n 0000011805 00000 n 0000275555 00000 n 0000538364 00000 n 0000011858 00000 n 0000011900 00000 n 0000278026 00000 n 0000538231 00000 n 0000011948 00000 n 0000012008 00000 n 0000278089 00000 n 0000538166 00000 n 0000012061 00000 n 0000012092 00000 n 0000282050 00000 n 0000538033 00000 n 0000012140 00000 n 0000012161 00000 n 0000282113 00000 n 0000537954 00000 n 0000012214 00000 n 0000012246 00000 n 0000284089 00000 n 0000537861 00000 n 0000012299 00000 n 0000012329 00000 n 0000286202 00000 n 0000537768 00000 n 0000012382 00000 n 0000012437 00000 n 0000286265 00000 n 0000537675 00000 n 0000012490 00000 n 0000012536 00000 n 0000298408 00000 n 0000537596 00000 n 0000012589 00000 n 0000012626 00000 n 0000313184 00000 n 0000537516 00000 n 0000012674 00000 n 0000012699 00000 n 0000014715 00000 n 0000019166 00000 n 0000012751 00000 n 0000018980 00000 n 0000019042 00000 n 0000000557 00000 f 0000533658 00000 n 0000000559 00000 f 0000533569 00000 n 0000000562 00000 f 0000533500 00000 n 0000015038 00000 n 0000000570 00000 f 0000533408 00000 n 0000019104 00000 n 0000015232 00000 n 0000015388 00000 n 0000015545 00000 n 0000015702 00000 n 0000015859 00000 n 0000000749 00000 f 0000533314 00000 n 0000016011 00000 n 0000016173 00000 n 0000016330 00000 n 0000016486 00000 n 0000016647 00000 n 0000016809 00000 n 0000016976 00000 n 0000017142 00000 n 0000017309 00000 n 0000017475 00000 n 0000017642 00000 n 0000017809 00000 n 0000017976 00000 n 0000018143 00000 n 0000018310 00000 n 0000018478 00000 n 0000018646 00000 n 0000018814 00000 n 0000533751 00000 n 0000028384 00000 n 0000021299 00000 n 0000019290 00000 n 0000028322 00000 n 0000021750 00000 n 0000021917 00000 n 0000022085 00000 n 0000022253 00000 n 0000022420 00000 n 0000022588 00000 n 0000022756 00000 n 0000022924 00000 n 0000023092 00000 n 0000023260 00000 n 0000023428 00000 n 0000023596 00000 n 0000023764 00000 n 0000023932 00000 n 0000024094 00000 n 0000024256 00000 n 0000024418 00000 n 0000024580 00000 n 0000024742 00000 n 0000024904 00000 n 0000025061 00000 n 0000025218 00000 n 0000025376 00000 n 0000025533 00000 n 0000025691 00000 n 0000025854 00000 n 0000026017 00000 n 0000026185 00000 n 0000026352 00000 n 0000026520 00000 n 0000026688 00000 n 0000026851 00000 n 0000027014 00000 n 0000027176 00000 n 0000027339 00000 n 0000027502 00000 n 0000027665 00000 n 0000027823 00000 n 0000027991 00000 n 0000028158 00000 n 0000037213 00000 n 0000030381 00000 n 0000028482 00000 n 0000037151 00000 n 0000030824 00000 n 0000030982 00000 n 0000031145 00000 n 0000031308 00000 n 0000031471 00000 n 0000031634 00000 n 0000031802 00000 n 0000031970 00000 n 0000032137 00000 n 0000032305 00000 n 0000032473 00000 n 0000032636 00000 n 0000032799 00000 n 0000032962 00000 n 0000033125 00000 n 0000033293 00000 n 0000033456 00000 n 0000033624 00000 n 0000033782 00000 n 0000033940 00000 n 0000034103 00000 n 0000034271 00000 n 0000034439 00000 n 0000034597 00000 n 0000034754 00000 n 0000034912 00000 n 0000035075 00000 n 0000035238 00000 n 0000035401 00000 n 0000035559 00000 n 0000035717 00000 n 0000035875 00000 n 0000036033 00000 n 0000036195 00000 n 0000036358 00000 n 0000036520 00000 n 0000036678 00000 n 0000036835 00000 n 0000036993 00000 n 0000045212 00000 n 0000039094 00000 n 0000037324 00000 n 0000045090 00000 n 0000039497 00000 n 0000039655 00000 n 0000039813 00000 n 0000039976 00000 n 0000040138 00000 n 0000040301 00000 n 0000040468 00000 n 0000040634 00000 n 0000040802 00000 n 0000040970 00000 n 0000041137 00000 n 0000041301 00000 n 0000041468 00000 n 0000041636 00000 n 0000041803 00000 n 0000041972 00000 n 0000042134 00000 n 0000042302 00000 n 0000042470 00000 n 0000042638 00000 n 0000042806 00000 n 0000042974 00000 n 0000043142 00000 n 0000043310 00000 n 0000043478 00000 n 0000043640 00000 n 0000043798 00000 n 0000043960 00000 n 0000044118 00000 n 0000044281 00000 n 0000044444 00000 n 0000044607 00000 n 0000044770 00000 n 0000044932 00000 n 0000048884 00000 n 0000048022 00000 n 0000045323 00000 n 0000048141 00000 n 0000048264 00000 n 0000048326 00000 n 0000048388 00000 n 0000048450 00000 n 0000048512 00000 n 0000048574 00000 n 0000048636 00000 n 0000048698 00000 n 0000048760 00000 n 0000048822 00000 n 0000052368 00000 n 0000051445 00000 n 0000048995 00000 n 0000051564 00000 n 0000051626 00000 n 0000051688 00000 n 0000051750 00000 n 0000051812 00000 n 0000051874 00000 n 0000051936 00000 n 0000051998 00000 n 0000052060 00000 n 0000052122 00000 n 0000052184 00000 n 0000052246 00000 n 0000054870 00000 n 0000054628 00000 n 0000052466 00000 n 0000054747 00000 n 0000000751 00000 f 0000533220 00000 n 0000000000 00000 f 0000533123 00000 n 0000533869 00000 n 0000058489 00000 n 0000057164 00000 n 0000054996 00000 n 0000058245 00000 n 0000057327 00000 n 0000057565 00000 n 0000057804 00000 n 0000058024 00000 n 0000060770 00000 n 0000060467 00000 n 0000058600 00000 n 0000060586 00000 n 0000062992 00000 n 0000062811 00000 n 0000060868 00000 n 0000062930 00000 n 0000065729 00000 n 0000065548 00000 n 0000063091 00000 n 0000065667 00000 n 0000067852 00000 n 0000067489 00000 n 0000065814 00000 n 0000067608 00000 n 0000069720 00000 n 0000069295 00000 n 0000067950 00000 n 0000069414 00000 n 0000533987 00000 n 0000071867 00000 n 0000071503 00000 n 0000069818 00000 n 0000071622 00000 n 0000074269 00000 n 0000073783 00000 n 0000071965 00000 n 0000073902 00000 n 0000076617 00000 n 0000076374 00000 n 0000074381 00000 n 0000076493 00000 n 0000078923 00000 n 0000078189 00000 n 0000076715 00000 n 0000078490 00000 n 0000078328 00000 n 0000081204 00000 n 0000080837 00000 n 0000079021 00000 n 0000080956 00000 n 0000083333 00000 n 0000083152 00000 n 0000081302 00000 n 0000083271 00000 n 0000534105 00000 n 0000085320 00000 n 0000085077 00000 n 0000083418 00000 n 0000085196 00000 n 0000087686 00000 n 0000087381 00000 n 0000085418 00000 n 0000087500 00000 n 0000090425 00000 n 0000090058 00000 n 0000087784 00000 n 0000090177 00000 n 0000092780 00000 n 0000092413 00000 n 0000090523 00000 n 0000092532 00000 n 0000094193 00000 n 0000094012 00000 n 0000092878 00000 n 0000094131 00000 n 0000096634 00000 n 0000095952 00000 n 0000094278 00000 n 0000096510 00000 n 0000096099 00000 n 0000096303 00000 n 0000534223 00000 n 0000098292 00000 n 0000097987 00000 n 0000096732 00000 n 0000098106 00000 n 0000101118 00000 n 0000100813 00000 n 0000098418 00000 n 0000100932 00000 n 0000104013 00000 n 0000103708 00000 n 0000101230 00000 n 0000103827 00000 n 0000105952 00000 n 0000105771 00000 n 0000104125 00000 n 0000105890 00000 n 0000108462 00000 n 0000108219 00000 n 0000106037 00000 n 0000108338 00000 n 0000110702 00000 n 0000110521 00000 n 0000108560 00000 n 0000110640 00000 n 0000534341 00000 n 0000112985 00000 n 0000112804 00000 n 0000110801 00000 n 0000112923 00000 n 0000115160 00000 n 0000114979 00000 n 0000113070 00000 n 0000115098 00000 n 0000117927 00000 n 0000117560 00000 n 0000115259 00000 n 0000117679 00000 n 0000117741 00000 n 0000117803 00000 n 0000117865 00000 n 0000120246 00000 n 0000120003 00000 n 0000118012 00000 n 0000120122 00000 n 0000122553 00000 n 0000122310 00000 n 0000120344 00000 n 0000122429 00000 n 0000124911 00000 n 0000124730 00000 n 0000122651 00000 n 0000124849 00000 n 0000534459 00000 n 0000127234 00000 n 0000127053 00000 n 0000124996 00000 n 0000127172 00000 n 0000129237 00000 n 0000128932 00000 n 0000127319 00000 n 0000129051 00000 n 0000131719 00000 n 0000131290 00000 n 0000129348 00000 n 0000131409 00000 n 0000133730 00000 n 0000133549 00000 n 0000131844 00000 n 0000133668 00000 n 0000135966 00000 n 0000135785 00000 n 0000133815 00000 n 0000135904 00000 n 0000137794 00000 n 0000137551 00000 n 0000136051 00000 n 0000137670 00000 n 0000534577 00000 n 0000139509 00000 n 0000139328 00000 n 0000137905 00000 n 0000139447 00000 n 0000141905 00000 n 0000141662 00000 n 0000139594 00000 n 0000141781 00000 n 0000144159 00000 n 0000143978 00000 n 0000142003 00000 n 0000144097 00000 n 0000146555 00000 n 0000146374 00000 n 0000144244 00000 n 0000146493 00000 n 0000148596 00000 n 0000148415 00000 n 0000146640 00000 n 0000148534 00000 n 0000150166 00000 n 0000149985 00000 n 0000148695 00000 n 0000150104 00000 n 0000534695 00000 n 0000153011 00000 n 0000152768 00000 n 0000150251 00000 n 0000152887 00000 n 0000154715 00000 n 0000154534 00000 n 0000153123 00000 n 0000154653 00000 n 0000156995 00000 n 0000156814 00000 n 0000154800 00000 n 0000156933 00000 n 0000158748 00000 n 0000158567 00000 n 0000157094 00000 n 0000158686 00000 n 0000160788 00000 n 0000160607 00000 n 0000158833 00000 n 0000160726 00000 n 0000162771 00000 n 0000162590 00000 n 0000160873 00000 n 0000162709 00000 n 0000534813 00000 n 0000164744 00000 n 0000164377 00000 n 0000162856 00000 n 0000164496 00000 n 0000166505 00000 n 0000166200 00000 n 0000164842 00000 n 0000166319 00000 n 0000168380 00000 n 0000168014 00000 n 0000166603 00000 n 0000168133 00000 n 0000170150 00000 n 0000169845 00000 n 0000168478 00000 n 0000169964 00000 n 0000171475 00000 n 0000171170 00000 n 0000170248 00000 n 0000171289 00000 n 0000173470 00000 n 0000173103 00000 n 0000171573 00000 n 0000173222 00000 n 0000534931 00000 n 0000175320 00000 n 0000175077 00000 n 0000173582 00000 n 0000175196 00000 n 0000177869 00000 n 0000177626 00000 n 0000175431 00000 n 0000177745 00000 n 0000179743 00000 n 0000179500 00000 n 0000177967 00000 n 0000179619 00000 n 0000181467 00000 n 0000181218 00000 n 0000179854 00000 n 0000181340 00000 n 0000184693 00000 n 0000183848 00000 n 0000181566 00000 n 0000184440 00000 n 0000184000 00000 n 0000184220 00000 n 0000187732 00000 n 0000187545 00000 n 0000184792 00000 n 0000187668 00000 n 0000535051 00000 n 0000189666 00000 n 0000189479 00000 n 0000187832 00000 n 0000189602 00000 n 0000192314 00000 n 0000192127 00000 n 0000189752 00000 n 0000192250 00000 n 0000194781 00000 n 0000194594 00000 n 0000192400 00000 n 0000194717 00000 n 0000196785 00000 n 0000196536 00000 n 0000194881 00000 n 0000196659 00000 n 0000198419 00000 n 0000198232 00000 n 0000196897 00000 n 0000198355 00000 n 0000200031 00000 n 0000199844 00000 n 0000198505 00000 n 0000199967 00000 n 0000535176 00000 n 0000202185 00000 n 0000201998 00000 n 0000200117 00000 n 0000202121 00000 n 0000204228 00000 n 0000203978 00000 n 0000202271 00000 n 0000204101 00000 n 0000205893 00000 n 0000205517 00000 n 0000204341 00000 n 0000205640 00000 n 0000208062 00000 n 0000207749 00000 n 0000206005 00000 n 0000207872 00000 n 0000209590 00000 n 0000209403 00000 n 0000208174 00000 n 0000209526 00000 n 0000211995 00000 n 0000211682 00000 n 0000209676 00000 n 0000211805 00000 n 0000535301 00000 n 0000214030 00000 n 0000213843 00000 n 0000212094 00000 n 0000213966 00000 n 0000215868 00000 n 0000215618 00000 n 0000214116 00000 n 0000215741 00000 n 0000217614 00000 n 0000217427 00000 n 0000215981 00000 n 0000217550 00000 n 0000220701 00000 n 0000220325 00000 n 0000217700 00000 n 0000220448 00000 n 0000222860 00000 n 0000222547 00000 n 0000220827 00000 n 0000222670 00000 n 0000225072 00000 n 0000224885 00000 n 0000222986 00000 n 0000225008 00000 n 0000535426 00000 n 0000226836 00000 n 0000226649 00000 n 0000225158 00000 n 0000226772 00000 n 0000228570 00000 n 0000228320 00000 n 0000226922 00000 n 0000228443 00000 n 0000229843 00000 n 0000229656 00000 n 0000228682 00000 n 0000229779 00000 n 0000231137 00000 n 0000230950 00000 n 0000229929 00000 n 0000231073 00000 n 0000232477 00000 n 0000232227 00000 n 0000231223 00000 n 0000232350 00000 n 0000233961 00000 n 0000233711 00000 n 0000232589 00000 n 0000233834 00000 n 0000535551 00000 n 0000235250 00000 n 0000235063 00000 n 0000234073 00000 n 0000235186 00000 n 0000236613 00000 n 0000236363 00000 n 0000235336 00000 n 0000236486 00000 n 0000238042 00000 n 0000237792 00000 n 0000236712 00000 n 0000237915 00000 n 0000240506 00000 n 0000240193 00000 n 0000238154 00000 n 0000240316 00000 n 0000242548 00000 n 0000242235 00000 n 0000240605 00000 n 0000242358 00000 n 0000244388 00000 n 0000244201 00000 n 0000242647 00000 n 0000244324 00000 n 0000535676 00000 n 0000246037 00000 n 0000245850 00000 n 0000244474 00000 n 0000245973 00000 n 0000247890 00000 n 0000247703 00000 n 0000246123 00000 n 0000247826 00000 n 0000249860 00000 n 0000249610 00000 n 0000247976 00000 n 0000249733 00000 n 0000251031 00000 n 0000250781 00000 n 0000249973 00000 n 0000250904 00000 n 0000252527 00000 n 0000252340 00000 n 0000251130 00000 n 0000252463 00000 n 0000254153 00000 n 0000253903 00000 n 0000252613 00000 n 0000254026 00000 n 0000535801 00000 n 0000256263 00000 n 0000255887 00000 n 0000254252 00000 n 0000256010 00000 n 0000259462 00000 n 0000258638 00000 n 0000256362 00000 n 0000258761 00000 n 0000258951 00000 n 0000259015 00000 n 0000259079 00000 n 0000259142 00000 n 0000259206 00000 n 0000259270 00000 n 0000259334 00000 n 0000259398 00000 n 0000263032 00000 n 0000261183 00000 n 0000259561 00000 n 0000261306 00000 n 0000261370 00000 n 0000261434 00000 n 0000261498 00000 n 0000261562 00000 n 0000261626 00000 n 0000261690 00000 n 0000261754 00000 n 0000261818 00000 n 0000261882 00000 n 0000261945 00000 n 0000262009 00000 n 0000262073 00000 n 0000262137 00000 n 0000262201 00000 n 0000262265 00000 n 0000262329 00000 n 0000262393 00000 n 0000262457 00000 n 0000262521 00000 n 0000262585 00000 n 0000262649 00000 n 0000262713 00000 n 0000262777 00000 n 0000262841 00000 n 0000262905 00000 n 0000262969 00000 n 0000264968 00000 n 0000264781 00000 n 0000263118 00000 n 0000264904 00000 n 0000267238 00000 n 0000266866 00000 n 0000265054 00000 n 0000267174 00000 n 0000267010 00000 n 0000268972 00000 n 0000268659 00000 n 0000267324 00000 n 0000268782 00000 n 0000535926 00000 n 0000271444 00000 n 0000270700 00000 n 0000269071 00000 n 0000271002 00000 n 0000270844 00000 n 0000273478 00000 n 0000273291 00000 n 0000271556 00000 n 0000273414 00000 n 0000275618 00000 n 0000275242 00000 n 0000273564 00000 n 0000275365 00000 n 0000278152 00000 n 0000277839 00000 n 0000275730 00000 n 0000277962 00000 n 0000280303 00000 n 0000280116 00000 n 0000278264 00000 n 0000280239 00000 n 0000282176 00000 n 0000281863 00000 n 0000280389 00000 n 0000281986 00000 n 0000536051 00000 n 0000284152 00000 n 0000283902 00000 n 0000282275 00000 n 0000284025 00000 n 0000286328 00000 n 0000286015 00000 n 0000284265 00000 n 0000286138 00000 n 0000290123 00000 n 0000288466 00000 n 0000286427 00000 n 0000288589 00000 n 0000288653 00000 n 0000288717 00000 n 0000288781 00000 n 0000288845 00000 n 0000288909 00000 n 0000288973 00000 n 0000289037 00000 n 0000289101 00000 n 0000289165 00000 n 0000289229 00000 n 0000289293 00000 n 0000289357 00000 n 0000289421 00000 n 0000289485 00000 n 0000289549 00000 n 0000289613 00000 n 0000289677 00000 n 0000289741 00000 n 0000289805 00000 n 0000289869 00000 n 0000289933 00000 n 0000289997 00000 n 0000290059 00000 n 0000293500 00000 n 0000291974 00000 n 0000290209 00000 n 0000292097 00000 n 0000292161 00000 n 0000292225 00000 n 0000292288 00000 n 0000292352 00000 n 0000292416 00000 n 0000292480 00000 n 0000292544 00000 n 0000292608 00000 n 0000292672 00000 n 0000292736 00000 n 0000292800 00000 n 0000292864 00000 n 0000292927 00000 n 0000292991 00000 n 0000293055 00000 n 0000293119 00000 n 0000293182 00000 n 0000293245 00000 n 0000293308 00000 n 0000293372 00000 n 0000293436 00000 n 0000295589 00000 n 0000295402 00000 n 0000293586 00000 n 0000295525 00000 n 0000298471 00000 n 0000298221 00000 n 0000295675 00000 n 0000298344 00000 n 0000536176 00000 n 0000299604 00000 n 0000299417 00000 n 0000298570 00000 n 0000299540 00000 n 0000313247 00000 n 0000302268 00000 n 0000299690 00000 n 0000313120 00000 n 0000302988 00000 n 0000303143 00000 n 0000303299 00000 n 0000303454 00000 n 0000303611 00000 n 0000303768 00000 n 0000303925 00000 n 0000304080 00000 n 0000304237 00000 n 0000304392 00000 n 0000304546 00000 n 0000304702 00000 n 0000304858 00000 n 0000305014 00000 n 0000305169 00000 n 0000305325 00000 n 0000305481 00000 n 0000305637 00000 n 0000305792 00000 n 0000305948 00000 n 0000306104 00000 n 0000306260 00000 n 0000306416 00000 n 0000306572 00000 n 0000306728 00000 n 0000306883 00000 n 0000307039 00000 n 0000307195 00000 n 0000307351 00000 n 0000307507 00000 n 0000307663 00000 n 0000307819 00000 n 0000307975 00000 n 0000308131 00000 n 0000308287 00000 n 0000308443 00000 n 0000308599 00000 n 0000308755 00000 n 0000308911 00000 n 0000309067 00000 n 0000309223 00000 n 0000309379 00000 n 0000309535 00000 n 0000309691 00000 n 0000309847 00000 n 0000310003 00000 n 0000310159 00000 n 0000310315 00000 n 0000310471 00000 n 0000310627 00000 n 0000310783 00000 n 0000310939 00000 n 0000311095 00000 n 0000311251 00000 n 0000311407 00000 n 0000311563 00000 n 0000311719 00000 n 0000311874 00000 n 0000312030 00000 n 0000312186 00000 n 0000312342 00000 n 0000312498 00000 n 0000312654 00000 n 0000312810 00000 n 0000312965 00000 n 0000318505 00000 n 0000315829 00000 n 0000313346 00000 n 0000318441 00000 n 0000316099 00000 n 0000316255 00000 n 0000316411 00000 n 0000316567 00000 n 0000316723 00000 n 0000316880 00000 n 0000317036 00000 n 0000317192 00000 n 0000317348 00000 n 0000317504 00000 n 0000317661 00000 n 0000317817 00000 n 0000317973 00000 n 0000318129 00000 n 0000318285 00000 n 0000322770 00000 n 0000320923 00000 n 0000318591 00000 n 0000322706 00000 n 0000321148 00000 n 0000321304 00000 n 0000321460 00000 n 0000321616 00000 n 0000321771 00000 n 0000321926 00000 n 0000322083 00000 n 0000322239 00000 n 0000322395 00000 n 0000322551 00000 n 0000329438 00000 n 0000325449 00000 n 0000322856 00000 n 0000329374 00000 n 0000325791 00000 n 0000325946 00000 n 0000326102 00000 n 0000326256 00000 n 0000326413 00000 n 0000326569 00000 n 0000326725 00000 n 0000326881 00000 n 0000327037 00000 n 0000327193 00000 n 0000327349 00000 n 0000327505 00000 n 0000327661 00000 n 0000327816 00000 n 0000327972 00000 n 0000328128 00000 n 0000328284 00000 n 0000328440 00000 n 0000328595 00000 n 0000328751 00000 n 0000328907 00000 n 0000329063 00000 n 0000329218 00000 n 0000339135 00000 n 0000332020 00000 n 0000329524 00000 n 0000339071 00000 n 0000332533 00000 n 0000332687 00000 n 0000332842 00000 n 0000332998 00000 n 0000333152 00000 n 0000333309 00000 n 0000333465 00000 n 0000333621 00000 n 0000333777 00000 n 0000333932 00000 n 0000334088 00000 n 0000334244 00000 n 0000334400 00000 n 0000334556 00000 n 0000334712 00000 n 0000334867 00000 n 0000335023 00000 n 0000335179 00000 n 0000335335 00000 n 0000335491 00000 n 0000335647 00000 n 0000335803 00000 n 0000335958 00000 n 0000336114 00000 n 0000336270 00000 n 0000336426 00000 n 0000336582 00000 n 0000336738 00000 n 0000336894 00000 n 0000337050 00000 n 0000337205 00000 n 0000337360 00000 n 0000337514 00000 n 0000337669 00000 n 0000337825 00000 n 0000337980 00000 n 0000338136 00000 n 0000338292 00000 n 0000338448 00000 n 0000338603 00000 n 0000338759 00000 n 0000338915 00000 n 0000536301 00000 n 0000350699 00000 n 0000341783 00000 n 0000339221 00000 n 0000350635 00000 n 0000342395 00000 n 0000342551 00000 n 0000342706 00000 n 0000342862 00000 n 0000343018 00000 n 0000343173 00000 n 0000343329 00000 n 0000343485 00000 n 0000343641 00000 n 0000343797 00000 n 0000343953 00000 n 0000344109 00000 n 0000344265 00000 n 0000344419 00000 n 0000344574 00000 n 0000344729 00000 n 0000344884 00000 n 0000345039 00000 n 0000345195 00000 n 0000345349 00000 n 0000345504 00000 n 0000345659 00000 n 0000345814 00000 n 0000345970 00000 n 0000346126 00000 n 0000346281 00000 n 0000346437 00000 n 0000346593 00000 n 0000346749 00000 n 0000346905 00000 n 0000347060 00000 n 0000347214 00000 n 0000347369 00000 n 0000347524 00000 n 0000347679 00000 n 0000347834 00000 n 0000347990 00000 n 0000348146 00000 n 0000348302 00000 n 0000348457 00000 n 0000348613 00000 n 0000348769 00000 n 0000348924 00000 n 0000349080 00000 n 0000349235 00000 n 0000349391 00000 n 0000349547 00000 n 0000349702 00000 n 0000349858 00000 n 0000350014 00000 n 0000350169 00000 n 0000350325 00000 n 0000350480 00000 n 0000364431 00000 n 0000353371 00000 n 0000350798 00000 n 0000364367 00000 n 0000354100 00000 n 0000354256 00000 n 0000354412 00000 n 0000354566 00000 n 0000354720 00000 n 0000354874 00000 n 0000355031 00000 n 0000355188 00000 n 0000355342 00000 n 0000355497 00000 n 0000355653 00000 n 0000355808 00000 n 0000355965 00000 n 0000356122 00000 n 0000356279 00000 n 0000356436 00000 n 0000356591 00000 n 0000356747 00000 n 0000356903 00000 n 0000357059 00000 n 0000357215 00000 n 0000357371 00000 n 0000357525 00000 n 0000357680 00000 n 0000357835 00000 n 0000357991 00000 n 0000358147 00000 n 0000358303 00000 n 0000358459 00000 n 0000358615 00000 n 0000358771 00000 n 0000358927 00000 n 0000359083 00000 n 0000359239 00000 n 0000359395 00000 n 0000359550 00000 n 0000359705 00000 n 0000359860 00000 n 0000360014 00000 n 0000360170 00000 n 0000360324 00000 n 0000360479 00000 n 0000360634 00000 n 0000360788 00000 n 0000360942 00000 n 0000361097 00000 n 0000361252 00000 n 0000361407 00000 n 0000361562 00000 n 0000361717 00000 n 0000361873 00000 n 0000362029 00000 n 0000362185 00000 n 0000362341 00000 n 0000362497 00000 n 0000362652 00000 n 0000362808 00000 n 0000362964 00000 n 0000363120 00000 n 0000363276 00000 n 0000363431 00000 n 0000363587 00000 n 0000363743 00000 n 0000363899 00000 n 0000364055 00000 n 0000364211 00000 n 0000372262 00000 n 0000366956 00000 n 0000364530 00000 n 0000372198 00000 n 0000367370 00000 n 0000367525 00000 n 0000367681 00000 n 0000367836 00000 n 0000367991 00000 n 0000368148 00000 n 0000368303 00000 n 0000368459 00000 n 0000368614 00000 n 0000368769 00000 n 0000368925 00000 n 0000369081 00000 n 0000369238 00000 n 0000369394 00000 n 0000369549 00000 n 0000369706 00000 n 0000369863 00000 n 0000370019 00000 n 0000370175 00000 n 0000370329 00000 n 0000370486 00000 n 0000370642 00000 n 0000370798 00000 n 0000370954 00000 n 0000371110 00000 n 0000371265 00000 n 0000371420 00000 n 0000371575 00000 n 0000371730 00000 n 0000371886 00000 n 0000372042 00000 n 0000381583 00000 n 0000374965 00000 n 0000372361 00000 n 0000381519 00000 n 0000375451 00000 n 0000375607 00000 n 0000375763 00000 n 0000375919 00000 n 0000376074 00000 n 0000376229 00000 n 0000376383 00000 n 0000376537 00000 n 0000376693 00000 n 0000376848 00000 n 0000377004 00000 n 0000377160 00000 n 0000377317 00000 n 0000377474 00000 n 0000377629 00000 n 0000377785 00000 n 0000377941 00000 n 0000378097 00000 n 0000378252 00000 n 0000378407 00000 n 0000378563 00000 n 0000378719 00000 n 0000378874 00000 n 0000379030 00000 n 0000379185 00000 n 0000379340 00000 n 0000379496 00000 n 0000379652 00000 n 0000379808 00000 n 0000379963 00000 n 0000380118 00000 n 0000380274 00000 n 0000380430 00000 n 0000380586 00000 n 0000380740 00000 n 0000380895 00000 n 0000381051 00000 n 0000381207 00000 n 0000381363 00000 n 0000399935 00000 n 0000384276 00000 n 0000381683 00000 n 0000399871 00000 n 0000385257 00000 n 0000385413 00000 n 0000385569 00000 n 0000385724 00000 n 0000385879 00000 n 0000386034 00000 n 0000386189 00000 n 0000386346 00000 n 0000386501 00000 n 0000386657 00000 n 0000386813 00000 n 0000386969 00000 n 0000387125 00000 n 0000387281 00000 n 0000387437 00000 n 0000387593 00000 n 0000387749 00000 n 0000387905 00000 n 0000388061 00000 n 0000388217 00000 n 0000388372 00000 n 0000388527 00000 n 0000388683 00000 n 0000388839 00000 n 0000388994 00000 n 0000389150 00000 n 0000389305 00000 n 0000389461 00000 n 0000389617 00000 n 0000389771 00000 n 0000389925 00000 n 0000390080 00000 n 0000390235 00000 n 0000390390 00000 n 0000390545 00000 n 0000390699 00000 n 0000390854 00000 n 0000391010 00000 n 0000391165 00000 n 0000391322 00000 n 0000391479 00000 n 0000391635 00000 n 0000391790 00000 n 0000391946 00000 n 0000392102 00000 n 0000392258 00000 n 0000392414 00000 n 0000392569 00000 n 0000392724 00000 n 0000392879 00000 n 0000393033 00000 n 0000393188 00000 n 0000393344 00000 n 0000393499 00000 n 0000393655 00000 n 0000393811 00000 n 0000393967 00000 n 0000394122 00000 n 0000394276 00000 n 0000394431 00000 n 0000394587 00000 n 0000394743 00000 n 0000394899 00000 n 0000395054 00000 n 0000395209 00000 n 0000395365 00000 n 0000395519 00000 n 0000395673 00000 n 0000395828 00000 n 0000395983 00000 n 0000396138 00000 n 0000396293 00000 n 0000396449 00000 n 0000396606 00000 n 0000396761 00000 n 0000396916 00000 n 0000397071 00000 n 0000397226 00000 n 0000397382 00000 n 0000397538 00000 n 0000397694 00000 n 0000397850 00000 n 0000398005 00000 n 0000398160 00000 n 0000398317 00000 n 0000398472 00000 n 0000398628 00000 n 0000398783 00000 n 0000398939 00000 n 0000399095 00000 n 0000399250 00000 n 0000399406 00000 n 0000399562 00000 n 0000399716 00000 n 0000421822 00000 n 0000402528 00000 n 0000400034 00000 n 0000421758 00000 n 0000403707 00000 n 0000403863 00000 n 0000404018 00000 n 0000404174 00000 n 0000404329 00000 n 0000404484 00000 n 0000404639 00000 n 0000404794 00000 n 0000404951 00000 n 0000405107 00000 n 0000405264 00000 n 0000405418 00000 n 0000405572 00000 n 0000405728 00000 n 0000405884 00000 n 0000406039 00000 n 0000406195 00000 n 0000406350 00000 n 0000406505 00000 n 0000406661 00000 n 0000406817 00000 n 0000406973 00000 n 0000407129 00000 n 0000407286 00000 n 0000407442 00000 n 0000407598 00000 n 0000407754 00000 n 0000407910 00000 n 0000408065 00000 n 0000408221 00000 n 0000408377 00000 n 0000408533 00000 n 0000408689 00000 n 0000408845 00000 n 0000409001 00000 n 0000409158 00000 n 0000409313 00000 n 0000409469 00000 n 0000409625 00000 n 0000409780 00000 n 0000409936 00000 n 0000410091 00000 n 0000410247 00000 n 0000410402 00000 n 0000410557 00000 n 0000410713 00000 n 0000410868 00000 n 0000411023 00000 n 0000411179 00000 n 0000411332 00000 n 0000411489 00000 n 0000411644 00000 n 0000411798 00000 n 0000411955 00000 n 0000412108 00000 n 0000412265 00000 n 0000412418 00000 n 0000412575 00000 n 0000412728 00000 n 0000412885 00000 n 0000413041 00000 n 0000413197 00000 n 0000413351 00000 n 0000413505 00000 n 0000413661 00000 n 0000413814 00000 n 0000413971 00000 n 0000414126 00000 n 0000414281 00000 n 0000414436 00000 n 0000414593 00000 n 0000414748 00000 n 0000414903 00000 n 0000415058 00000 n 0000415214 00000 n 0000415370 00000 n 0000415526 00000 n 0000415682 00000 n 0000415839 00000 n 0000415994 00000 n 0000416150 00000 n 0000416306 00000 n 0000416462 00000 n 0000416618 00000 n 0000416774 00000 n 0000416930 00000 n 0000417087 00000 n 0000417243 00000 n 0000417399 00000 n 0000417555 00000 n 0000417711 00000 n 0000417866 00000 n 0000418021 00000 n 0000418176 00000 n 0000418333 00000 n 0000418488 00000 n 0000418644 00000 n 0000418799 00000 n 0000418954 00000 n 0000419110 00000 n 0000419266 00000 n 0000419421 00000 n 0000419577 00000 n 0000419733 00000 n 0000419889 00000 n 0000420045 00000 n 0000420200 00000 n 0000420355 00000 n 0000420511 00000 n 0000420667 00000 n 0000420823 00000 n 0000420979 00000 n 0000421135 00000 n 0000421290 00000 n 0000421446 00000 n 0000421602 00000 n 0000536426 00000 n 0000438865 00000 n 0000424334 00000 n 0000421921 00000 n 0000438801 00000 n 0000425252 00000 n 0000425408 00000 n 0000425562 00000 n 0000425718 00000 n 0000425874 00000 n 0000426030 00000 n 0000426186 00000 n 0000426342 00000 n 0000426498 00000 n 0000426653 00000 n 0000426809 00000 n 0000426966 00000 n 0000427123 00000 n 0000427278 00000 n 0000427434 00000 n 0000427591 00000 n 0000427746 00000 n 0000427902 00000 n 0000428058 00000 n 0000428214 00000 n 0000428370 00000 n 0000428524 00000 n 0000428680 00000 n 0000428836 00000 n 0000428992 00000 n 0000429147 00000 n 0000429303 00000 n 0000429458 00000 n 0000429614 00000 n 0000429769 00000 n 0000429926 00000 n 0000430083 00000 n 0000430239 00000 n 0000430393 00000 n 0000430549 00000 n 0000430704 00000 n 0000430858 00000 n 0000431014 00000 n 0000431170 00000 n 0000431326 00000 n 0000431481 00000 n 0000431637 00000 n 0000431793 00000 n 0000431949 00000 n 0000432105 00000 n 0000432261 00000 n 0000432415 00000 n 0000432570 00000 n 0000432726 00000 n 0000432882 00000 n 0000433038 00000 n 0000433195 00000 n 0000433351 00000 n 0000433508 00000 n 0000433664 00000 n 0000433819 00000 n 0000433974 00000 n 0000434129 00000 n 0000434284 00000 n 0000434441 00000 n 0000434598 00000 n 0000434754 00000 n 0000434910 00000 n 0000435067 00000 n 0000435224 00000 n 0000435379 00000 n 0000435534 00000 n 0000435688 00000 n 0000435843 00000 n 0000435999 00000 n 0000436155 00000 n 0000436311 00000 n 0000436466 00000 n 0000436621 00000 n 0000436776 00000 n 0000436933 00000 n 0000437088 00000 n 0000437244 00000 n 0000437399 00000 n 0000437554 00000 n 0000437710 00000 n 0000437866 00000 n 0000438022 00000 n 0000438177 00000 n 0000438333 00000 n 0000438489 00000 n 0000438645 00000 n 0000445190 00000 n 0000441198 00000 n 0000438964 00000 n 0000445126 00000 n 0000441540 00000 n 0000441697 00000 n 0000441853 00000 n 0000442009 00000 n 0000442165 00000 n 0000442320 00000 n 0000442475 00000 n 0000442631 00000 n 0000442788 00000 n 0000442944 00000 n 0000443101 00000 n 0000443257 00000 n 0000443414 00000 n 0000443568 00000 n 0000443724 00000 n 0000443880 00000 n 0000444035 00000 n 0000444191 00000 n 0000444347 00000 n 0000444502 00000 n 0000444658 00000 n 0000444813 00000 n 0000444970 00000 n 0000453922 00000 n 0000447787 00000 n 0000445276 00000 n 0000453858 00000 n 0000448246 00000 n 0000448402 00000 n 0000448558 00000 n 0000448714 00000 n 0000448870 00000 n 0000449025 00000 n 0000449181 00000 n 0000449337 00000 n 0000449493 00000 n 0000449649 00000 n 0000449805 00000 n 0000449960 00000 n 0000450115 00000 n 0000450271 00000 n 0000450427 00000 n 0000450583 00000 n 0000450739 00000 n 0000450895 00000 n 0000451051 00000 n 0000451206 00000 n 0000451362 00000 n 0000451518 00000 n 0000451674 00000 n 0000451830 00000 n 0000451986 00000 n 0000452142 00000 n 0000452299 00000 n 0000452454 00000 n 0000452610 00000 n 0000452766 00000 n 0000452922 00000 n 0000453078 00000 n 0000453234 00000 n 0000453390 00000 n 0000453546 00000 n 0000453702 00000 n 0000458277 00000 n 0000456264 00000 n 0000454021 00000 n 0000458213 00000 n 0000456498 00000 n 0000456654 00000 n 0000456810 00000 n 0000456966 00000 n 0000457122 00000 n 0000457277 00000 n 0000457433 00000 n 0000457588 00000 n 0000457745 00000 n 0000457901 00000 n 0000458057 00000 n 0000468580 00000 n 0000460808 00000 n 0000458390 00000 n 0000468516 00000 n 0000461357 00000 n 0000461513 00000 n 0000461668 00000 n 0000461824 00000 n 0000461980 00000 n 0000462136 00000 n 0000462292 00000 n 0000462448 00000 n 0000462604 00000 n 0000462760 00000 n 0000462916 00000 n 0000463072 00000 n 0000463227 00000 n 0000463382 00000 n 0000463538 00000 n 0000463693 00000 n 0000463848 00000 n 0000464003 00000 n 0000464159 00000 n 0000464315 00000 n 0000464469 00000 n 0000464624 00000 n 0000464779 00000 n 0000464935 00000 n 0000465091 00000 n 0000465247 00000 n 0000465403 00000 n 0000465559 00000 n 0000465714 00000 n 0000465869 00000 n 0000466025 00000 n 0000466180 00000 n 0000466335 00000 n 0000466491 00000 n 0000466647 00000 n 0000466802 00000 n 0000466959 00000 n 0000467116 00000 n 0000467273 00000 n 0000467430 00000 n 0000467585 00000 n 0000467739 00000 n 0000467894 00000 n 0000468049 00000 n 0000468204 00000 n 0000468360 00000 n 0000477537 00000 n 0000471075 00000 n 0000468679 00000 n 0000477473 00000 n 0000471552 00000 n 0000471708 00000 n 0000471864 00000 n 0000472021 00000 n 0000472177 00000 n 0000472333 00000 n 0000472489 00000 n 0000472645 00000 n 0000472801 00000 n 0000472956 00000 n 0000473111 00000 n 0000473266 00000 n 0000473422 00000 n 0000473578 00000 n 0000473734 00000 n 0000473891 00000 n 0000474047 00000 n 0000474202 00000 n 0000474358 00000 n 0000474514 00000 n 0000474671 00000 n 0000474826 00000 n 0000474983 00000 n 0000475140 00000 n 0000475291 00000 n 0000475446 00000 n 0000475602 00000 n 0000475758 00000 n 0000475914 00000 n 0000476071 00000 n 0000476228 00000 n 0000476385 00000 n 0000476541 00000 n 0000476695 00000 n 0000476850 00000 n 0000477005 00000 n 0000477161 00000 n 0000477317 00000 n 0000536551 00000 n 0000483898 00000 n 0000480076 00000 n 0000477636 00000 n 0000483834 00000 n 0000480409 00000 n 0000480565 00000 n 0000480721 00000 n 0000480876 00000 n 0000481032 00000 n 0000481188 00000 n 0000481344 00000 n 0000481500 00000 n 0000481656 00000 n 0000481812 00000 n 0000481968 00000 n 0000482123 00000 n 0000482278 00000 n 0000482433 00000 n 0000482589 00000 n 0000482744 00000 n 0000482898 00000 n 0000483054 00000 n 0000483210 00000 n 0000483366 00000 n 0000483522 00000 n 0000483678 00000 n 0000494612 00000 n 0000486512 00000 n 0000483997 00000 n 0000494548 00000 n 0000487079 00000 n 0000487235 00000 n 0000487391 00000 n 0000487547 00000 n 0000487702 00000 n 0000487858 00000 n 0000488011 00000 n 0000488168 00000 n 0000488323 00000 n 0000488477 00000 n 0000488634 00000 n 0000488787 00000 n 0000488944 00000 n 0000489097 00000 n 0000489254 00000 n 0000489407 00000 n 0000489564 00000 n 0000489719 00000 n 0000489874 00000 n 0000490028 00000 n 0000490184 00000 n 0000490340 00000 n 0000490496 00000 n 0000490652 00000 n 0000490808 00000 n 0000490964 00000 n 0000491119 00000 n 0000491275 00000 n 0000491431 00000 n 0000491587 00000 n 0000491742 00000 n 0000491897 00000 n 0000492053 00000 n 0000492209 00000 n 0000492365 00000 n 0000492521 00000 n 0000492677 00000 n 0000492833 00000 n 0000492988 00000 n 0000493145 00000 n 0000493302 00000 n 0000493458 00000 n 0000493614 00000 n 0000493769 00000 n 0000493924 00000 n 0000494079 00000 n 0000494236 00000 n 0000494392 00000 n 0000504885 00000 n 0000497272 00000 n 0000494712 00000 n 0000504821 00000 n 0000497812 00000 n 0000497968 00000 n 0000498123 00000 n 0000498278 00000 n 0000498434 00000 n 0000498590 00000 n 0000498746 00000 n 0000498902 00000 n 0000499058 00000 n 0000499214 00000 n 0000499369 00000 n 0000499525 00000 n 0000499680 00000 n 0000499837 00000 n 0000499992 00000 n 0000500147 00000 n 0000500302 00000 n 0000500458 00000 n 0000500614 00000 n 0000500770 00000 n 0000500926 00000 n 0000501083 00000 n 0000501238 00000 n 0000501392 00000 n 0000501547 00000 n 0000501703 00000 n 0000501858 00000 n 0000502015 00000 n 0000502172 00000 n 0000502329 00000 n 0000502485 00000 n 0000502641 00000 n 0000502797 00000 n 0000502952 00000 n 0000503108 00000 n 0000503264 00000 n 0000503420 00000 n 0000503575 00000 n 0000503731 00000 n 0000503886 00000 n 0000504042 00000 n 0000504198 00000 n 0000504354 00000 n 0000504509 00000 n 0000504665 00000 n 0000510217 00000 n 0000507384 00000 n 0000504984 00000 n 0000510153 00000 n 0000507663 00000 n 0000507818 00000 n 0000507974 00000 n 0000508130 00000 n 0000508286 00000 n 0000508441 00000 n 0000508596 00000 n 0000508751 00000 n 0000508907 00000 n 0000509063 00000 n 0000509218 00000 n 0000509373 00000 n 0000509529 00000 n 0000509685 00000 n 0000509841 00000 n 0000509997 00000 n 0000519267 00000 n 0000512806 00000 n 0000510303 00000 n 0000519203 00000 n 0000513283 00000 n 0000513440 00000 n 0000513595 00000 n 0000513751 00000 n 0000513907 00000 n 0000514063 00000 n 0000514219 00000 n 0000514374 00000 n 0000514530 00000 n 0000514687 00000 n 0000514841 00000 n 0000514997 00000 n 0000515153 00000 n 0000515309 00000 n 0000515465 00000 n 0000515620 00000 n 0000515776 00000 n 0000515932 00000 n 0000516087 00000 n 0000516243 00000 n 0000516399 00000 n 0000516554 00000 n 0000516709 00000 n 0000516864 00000 n 0000517019 00000 n 0000517175 00000 n 0000517330 00000 n 0000517486 00000 n 0000517642 00000 n 0000517798 00000 n 0000517954 00000 n 0000518110 00000 n 0000518266 00000 n 0000518422 00000 n 0000518578 00000 n 0000518735 00000 n 0000518891 00000 n 0000519047 00000 n 0000527299 00000 n 0000521824 00000 n 0000519366 00000 n 0000527235 00000 n 0000522247 00000 n 0000522403 00000 n 0000522559 00000 n 0000522715 00000 n 0000522871 00000 n 0000523027 00000 n 0000523183 00000 n 0000523338 00000 n 0000523493 00000 n 0000523650 00000 n 0000523807 00000 n 0000523964 00000 n 0000524120 00000 n 0000524275 00000 n 0000524431 00000 n 0000524587 00000 n 0000524743 00000 n 0000524900 00000 n 0000525056 00000 n 0000525211 00000 n 0000525366 00000 n 0000525522 00000 n 0000525678 00000 n 0000525834 00000 n 0000525989 00000 n 0000526144 00000 n 0000526300 00000 n 0000526456 00000 n 0000526612 00000 n 0000526767 00000 n 0000526923 00000 n 0000527079 00000 n 0000536676 00000 n 0000531233 00000 n 0000529060 00000 n 0000527398 00000 n 0000531169 00000 n 0000529303 00000 n 0000529458 00000 n 0000529613 00000 n 0000529768 00000 n 0000529923 00000 n 0000530079 00000 n 0000530235 00000 n 0000530391 00000 n 0000530547 00000 n 0000530703 00000 n 0000530858 00000 n 0000531014 00000 n 0000531332 00000 n 0000536765 00000 n 0000536885 00000 n 0000537006 00000 n 0000537132 00000 n 0000537258 00000 n 0000537338 00000 n 0000537439 00000 n 0000550221 00000 n 0000558622 00000 n 0000558663 00000 n 0000558703 00000 n 0000558884 00000 n trailer << /Size 2446 /Root 2444 0 R /Info 2445 0 R >> startxref 559091 %%EOF �����������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex4/src/textcase.dtx������������������������������������������������������������������0100644�0000764�0000764�00000032371�07332604132�016635� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% \iffalse %% Source File: textcase.dtx %% Copyright 1997 1998 David Carlisle %% %% This file may be distributed under the terms of the LPPL. %% See 00readme.txt for details. % %<*dtx> \ProvidesFile{textcase.dtx} %</dtx> %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{textcase} %<driver> \ProvidesFile{textcase.drv} % \fi % \ProvidesFile{textcase.dtx} [1998/11/12 v0.06 Text only upper/lower case changing (DPC)] % % \iffalse %<*driver> \documentclass{ltxdoc} \usepackage{textcase} \begin{document} \DocInput{textcase.dtx} \end{document} %</driver> % \fi % % \GetFileInfo{textcase.dtx} % \CheckSum{110} % % \changes{v0.01}{1997/09/28} % {Posted to c.t.t} % \changes{v0.02}{1997/09/28} % {Support \cs{ensuremath}} % \changes{v0.03}{1997/12/12} % {Donald Arseneau: support \cs{ref} \cs{cite} \cs{label}} % \changes{v0.04}{1997/12/14} % {Convert to dtx form, add \cs{NoCaseChange}} % \changes{v0.04}{1997/12/14} % {Support (most uses of) optional argument of \cs{cite}} % \changes{v0.05}{1997/12/16} % {More comments from Donald, % perhaps I should just give him this package for Christmas} % \changes{v0.06}{1998/11/12} % {overload option} % % % \title{The \textsf{textcase} package\thanks{This file % has version number \fileversion, last % revised \filedate.}} % \author{David Carlisle\thanks{%^^A % Reorganisation to suppport skipping a wider class of % things than just math done by Donald Arseneau}} % % \date{\filedate} % % \maketitle % % \section{Introduction}\label{intro} % |\MakeTextUppercase| and |\MakeTextLowercase| are versions of the % standard |\MakeUppercase| and |\MakeLowercase| that do not change % the case of any math sections in their arguments. %\begin{verbatim} % \MakeTextUppercase{abc\ae\ \( a = b \) and $\alpha \neq a$ % or even \ensuremath{x=y} and $\ensuremath{x=y}$} %\end{verbatim} % Should produce: % \begin{quotation} % ABC\AE\ \( a = b \) AND $\alpha \neq a$ % OR EVEN \ensuremath{x=y} AND $\ensuremath{x=y}$ % \end{quotation} % % Version 0.03 of this package incorporates some changes suggested by % Donald Arseneau so that as well as math mode, the arguments of % |\cite|, |\label| and |\ref| are also prevented from being uppercased. % So you can now go %\begin{verbatim} % \MakeTextUppercase{% % Text in section~\ref{intro}, about \cite[pp 2--4]{bbb}} %\end{verbatim} % which produces % \begin{quotation} % \MakeTextUppercase{% % Text in section~\ref{intro}, about \cite[pp 2--4]{bbb}} % \end{quotation} % If, instead, the standard |\MakeUppercase| were used here, the keys % `into' and `bbb' would be uppercased and generate errors about % undefined references to INTRO and BBB. % % Sometimes there may be a special section of text that should not be % uppercased. This can be marked with |\NoCaseChange|, as follows. %\begin{verbatim} % \MakeTextUppercase{% % Text \NoCaseChange{More Text} yet more text} %\end{verbatim} % which produces % \begin{quotation} % \MakeTextUppercase{% % Text \NoCaseChange{More Text} yet more text} % \end{quotation} % % |\NoCaseChange| has other uses. If for some reason you need a % tabular environment within an uppercased section, then you need % to ensure that the name `tabular' and the preamble (eg `ll') % does not get uppercased: %\begin{verbatim} % \MakeTextUppercase{% % Text \NoCaseChange{\begin{tabular}{ll}}% % table&stuff\\goes&here % \NoCaseChange{\end{tabular}} % More text} %\end{verbatim} % which produces % \begin{quotation} % \MakeTextUppercase{% % Text \NoCaseChange{\begin{tabular}{ll}}%^^A % table&stuff\\goes&here % \NoCaseChange{\end{tabular}} % More text} % \end{quotation} % % \section{Features and Foibles} % % \subsection{Nested text} % The commands defined here only skip math sections and |\ref| arguments % if they are not `hidden' inside a |{ }| brace group. All text inside % such a group will be made uppercase just as with the standard % |\MakeUppercase|. %\begin{verbatim} % \MakeTextUppercase{a b {c $d$} $e$} %\end{verbatim} % produces % \begin{quotation} % \MakeTextUppercase{a b {c $d$} $e$} % \end{quotation} % Of course, this restriction does not apply to the arguments of the % supported commands |\ensuremath|, |\label|, |\ref|, and |\cite|. % % If you cannot arrange for your % mathematics to be at the outer level of brace grouping, you should % use the following basic technique (which works even with the standard % |\MakeUppercase| command). Define a new command that expands to your % math expression, and then use that command, with |\protect|, in the % text to be uppercased. Note that if the text being uppercased is in a % section title or other moving argument you may need to make the % definition in the document preamble, rather than just before the % section command, so that the command is defined when the table of % contents file is read. %\begin{verbatim} % \MakeTextUppercase{% % Text \fbox{$a=b$ and $x=y$}}% % % \newcommand{\mathexprone}{$a=b$} % \newcommand{\mathexprtwo}{$x=y$} % \MakeTextUppercase{% % Text \fbox{\protect\mathexprone\ and \protect\mathexprtwo}}% %\end{verbatim} % which produces % \begin{quotation} % \MakeTextUppercase{% % Text \fbox{$a=b$ and $x=y$}}% % % \newcommand{\mathexprone}{$a=b$} % \newcommand{\mathexprtwo}{$x=y$} % \MakeTextUppercase{% % Text \fbox{\protect\mathexprone\ and \protect\mathexprtwo}}% % \end{quotation} % % \subsection{Citations} % As documented above, |\cite| and |\ref| commands are not uppercased by % |\MakeTextUppercase|. If you are using a non-numeric citation scheme % you may want the replacement text for |\cite| to be uppercased. % % It is difficult to arrange that |\MakeTextUppercase| uppercases such % text, not least because this would lead to interaction with the many % bibliography packages which redefine |\cite| one way or another. One % possibility to achieve this is to use Donald Arseneau's cite package % and to locally redefine |\citeform| to add |\MakeUppercase| around % the final text string produced by |\cite|. %\begin{verbatim} % \MakeTextUppercase{% % Text \cite{bbb} and \cite{ccc}} % % {\renewcommand\citeform{\MakeUppercase}\MakeTextUppercase{% % Text \cite{bbb} and \cite{ccc}}} %\end{verbatim} % which produces\footnote{This is faked, so this document does not % rely on \texttt{cite.sty} being installed} % \begin{quotation} % TEXT [1] AND [David Carlisle 1997] % % TEXT [1] AND [DAVID CARLISLE 1997] % \end{quotation} % % \subsection{overload Option} % By default the package only defines new commands, |\MakeTextUppercase| % and |\MakeTextlowercase| as described above. You may wish to redefine % the standard |\MakeUppercase| and |\MakeLowercase| commands to be % the same as these new commands. So that for example headings in the % book class have this new feature without any further redefinition. % You may use the package option |[overload]| in which case these % new definitions will be overloaded on to the existing command names. % % \begin{thebibliography}{9} % % \bibitem{bbb} Something numeric % \bibitem[David Carlisle 1997]{ccc} Something textual % \end{thebibliography} % % \StopEventually{} % % \section{Implementation} % % \begin{macrocode} %<*package> % \end{macrocode} % % \begin{macro}{\@uclcnotmath} % This is the main macro of this package. It is basically % a copy of |\MakeTextUppercase| and |\MakeTextLowercase| % from the \LaTeX\ kernel, modified slightly so that they % can share code (that modification could be done to the % standard versions as well) and then further changed to % skip certain features like math mode and |\label| arguments. % % The arguments are:\\ % |#1|: Extra commands to apply for case changing. % Used to locally redefine |\i| and |\j| for uppercasing.\\ % |#2|: Either |##1##2| or |##2##1| to control the order % in which |\let| is applied to the pairs of control % sequences in |\@uclclist|.\\ % |#3|: |\uppercase| or |\lowercase|.\\ % |#4|: The text to be upper (or lower) cased. % \begin{macrocode} \def\@uclcnotmath#1#2#3#4{\begingroup % \end{macrocode} % Run extra commands (currently just to redefine |\i| and |\j|). % \begin{macrocode} #1% % \end{macrocode} % % Locally set |\( \)| to be just |$ $|, so that the math skipping % code can be simplified, just to look for |$|. % \begin{macrocode} \def\({$}\let\)\(% % \end{macrocode} % % Set up the `non-math' things that also have to be skipped. % \begin{macrocode} \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}% \@nonchangecase\label \@nonchangecase\ref \@nonchangecase\ensuremath % \end{macrocode} % % |\cite| a bit trickier, as we want to uppercase any optional argument. % This will fail if the optional argument contains a brace group, but % should catch most cases. % % |text \cite[page 1]{foo} more text| ends up as %\begin{verbatim} % \uppercase{text \toks@{\cite[page1]}% % \the\toks@{foo}% % \uppercase{ more text} %\end{verbatim} % \begin{macrocode} \def\cite##1##{\toks@{\noexpand\cite##1}\@citex}% \def\@citex##1{\NoCaseChange{\the\toks@{##1}}}% % \end{macrocode} % (|\@citex| is a scratch macro here, not a redefinition of the existing % |\@citex|.) % % The following is essentially taken from |\MakeUppercase|. % Recursively execute |\reserved@a| to |\let| the pairs in |\@uclclist|. % The strange construction with |\@gobble| at the end just gobbles the % final recursive call. % % Incidentally, packages should not use the |\reserved@|\ldots\ scratch % macros, which are `reserved' for use within the \LaTeX\ kernel, but % (a) this code is essentially a copy from the kernel, and % (b) I'm allowed to break the rules, so there. % \begin{macrocode} \def\reserved@a##1##2{\let#2\reserved@a}% \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% % \end{macrocode} % % Expand everything first so that the `skipping' code can see what to % skip and so that tokens are revealed to |\uppercase|. % This makes the argument `moving'. % The |$\valign$| is just a fake math expression used to terminate % the parsing done by |\@skipmath|. % \begin{macrocode} \protected@edef\reserved@a{\endgroup \noexpand\@skipmath#3#4$\valign$}% % \end{macrocode} % % \begin{macrocode} \reserved@a} % \end{macrocode} % \end{macro} % % \begin{macro}{\@nonchangecase} % \begin{macrocode} \def\@nonchangecase#1{\def#1##1{\NoCaseChange{#1{##1}}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\NoCaseChange} % For hiding arbitrary text from |\uppercase|. This innocuous % definition is used for any occurrence of |\NoCaseChange| % in text that is not passed to |\MakeTextUppercase|. For example a % section heading may be uppercased, but the toc entry may not. % It is also used for nested definitions of |\cite| etc, where the % |\NoCaseChange| is inserted by expansion, but not removed as it is % hidden by the brace group. % \begin{macrocode} \let\NoCaseChange\@firstofone % \end{macrocode} % \end{macro} % %\begin{macro}{\@skipmath} % |#1|: operation |\uppercase| / |\lowercase|\\ % |#2|: text up to first (next) |$|\\ % |#3|: first math mode material (or |\valign| sentinel) % \begin{macrocode} \def\@skipmath#1#2$#3${% \@skip@nonchangecase#1#2\NoCaseChange\valign \ifx\valign#3% \else $#3$% \expandafter\@skipmath\expandafter#1% \fi} % \end{macrocode} % \end{macro} % %\begin{macro}{\@skip@nonchangecase} % |#1|: |\uppercase| or |\lowercase|\\ % |#2|: Text up to the first command (such as |\cite|) made `safe'. % or the first use of |\NoCaseChange|. % \begin{macrocode} \def\@skip@nonchangecase#1#2\NoCaseChange#3{% #1{#2}% \ifx\valign#3% \else #3% \expandafter\@skip@nonchangecase\expandafter#1% \fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\MakeTextUppercase} % \changes{v0.06}{1998/11/12} % {Add edef to make behaviour more like \cs{MakeUppercase}} % Put it all together. Arrange for \i\ and \j\ to uppercase, and % to read the pairs in the ucase list `forwards'. % \begin{macrocode} \DeclareRobustCommand\MakeTextUppercase{% \@uclcnotmath{\def\i{I}\def\j{J}}{##1##2}\uppercase} % \end{macrocode} % % \begin{macrocode} \protected@edef\MakeTextUppercase#1{\MakeTextUppercase{#1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\MakeTextLowercase} % \changes{v0.06}{1998/11/12} % {Add edef to make behaviour more like \cs{MakeLowercase}} % probably will never be used, but it is easy to implement. % Use |\lowercase| and read the pairs in the uppercase list `backwards'. % \begin{macrocode} \DeclareRobustCommand\MakeTextLowercase{% \@uclcnotmath{}{##2##1}\lowercase} % \end{macrocode} % % \begin{macrocode} \protected@edef\MakeTextLowercase#1{\MakeTextLowercase{#1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\MakeUppercase} % \begin{macro}{\MakeLowercase} % \changes{v0.06}{1998/11/12} % {Option to overload added. latex/2906} % \begin{macrocode} \DeclareOption{overload}{% \expandafter\let\csname MakeUppercase \expandafter\endcsname \csname MakeTextUppercase \endcsname \expandafter\let\csname MakeLowercase \expandafter\endcsname \csname MakeTextLowercase \endcsname} % \end{macrocode} % % \begin{macrocode} \ProcessOptions % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macrocode} %</package> % \end{macrocode} % % \Finale % �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/install_all�������������������������������������������������������������������������������0100744�0000764�0000764�00000000310�10130323315�014301� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh EXTRARPMSDIR=`pwd`; export EXTRARPMSDIR; ./install_grace cd $EXTRARPMSDIR ./install_latex2html cd $EXTRARPMSDIR ./install_revtex cd $EXTRARPMSDIR ./install_revtex4 cd $EXTRARPMSDIR exit; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/install_revtex4���������������������������������������������������������������������������0100744�0000764�0000764�00000000335�10133246267�015156� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh EXTRARPMSDIR=`pwd`; export EXTRARPMSDIR; cp -R ./revtex4 /usr/share/texmf/tex/latex cp /usr/share/texmf/tex/latex/revtex4/revtex4.cls /usr/share/texmf/tex/latex/misc /usr/bin/texhash cd $EXTRARPMSDIR exit; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/�����������������������������������������������������������������������������������0040775�0000764�0000764�00000000000�10133247600�013414� 5����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/aplop.tex��������������������������������������������������������������������������0100644�0000764�0000764�00000040100�07267371705�015261� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%%%%%%%%%%%%%%%%%% file aplop.tex %%%%%%%%%%%%%%%%%%%% % % % Copyright (c) Optical Society of America, 1992. % % % %%%%%%%%%%%%%%%%%% October 20, 1992 %%%%%%%%%%%%%%%%%%% % \documentstyle[osa,aplop,manuscript]{revtex} \newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} \newcommand{\manual}{rm} % Substitute rm (Roman) font. \newcommand\bs{\char '134 } % add backslash char to \tt font % \begin{document} \title{Designing digital optical computing systems: power distribution and cross talk} \author{Jonathan P. Pratt and Vincent P. Heuring } \address{ When this work was performed, both the authors were with the Boulder Optoelectronic Computing Systems Center and Department of Electrical and Computer Engineering, University of Colorado, Campus Box 425, Boulder, Colorado 80309-0425. They are now with the Department of Radiology, University of Colorado Health Sciences Center, Box A034, 4200 East Ninth Avenue, Denver, Colorado 80262. } \maketitle \begin{abstract} Complex optical computer designs must implicitly or explicitly allow for power budgeting, to compensate for cross talk and loss in both devices and interconnections. We develop algorithms for calculating the system cross talk and power loss in optical systems, using a graph-theoretic model. Devices are modeled as directed graphs with nodes representing inputs and outputs, and edges are weighted with the power relationships between nodes. Systems are modeled by interconnecting the individual device graphs in a manner that reflects the connectivity of the system. A system's power budget is efficiently computed by a depth-first search of its graph. The algorithms have been incorporated into an optical computer-aided design system that is now being used to design a bit-serial optical computer containing hundreds of components. Key words: Optical computing, optical systems, optical communications, power loss, cross talk, graphs. \begin{center} {\copyright\ Optical Society of America, 1992.} \end{center} \end{abstract} \section{ Introduction} We describe a technique that facilitates the design of digital optical computers and other complex optical circuitry, such as optical communications systems. Although there has been some discussion in the literature of power budgeting in optical systems,\cite{1,2} the treatment has been limited to relatively uncomplicated applications, in which heuristics and simple analysis are sufficient to estimate power loss and cross talk of the system from the loss and cross talk of individual components. The primary motivation for this research is to implement a stored-program bit-serial optical computer,\cite{3,4} containing hundreds of components, interconnected in quite complex fashion. In such a system, simple heuristics for power loss and cross talk estimation such as are described in Refs.\ \onlinecite{1} and \onlinecite{2} are inadequate because a given optical signal might take any one of a multitude of paths before being detected and thus doing useful work. The methods developed here are applicable to a wide variety of optical systems besides optical computing systems, such as optical communications systems and optical signal processors. In a previous paper\cite{5} we discussed the use of a graph-theoretic technique for synchronizing optical systems that rely on time of flight rather than latching or gating for synchronization. In this paper we extend these graph-theoretic methods to the estimation of cross talk and loss in optical systems. \section{Power Loss and Cross Talk in the System} \subsection{ Introduction} Appropriate signal levels must be maintained in any digital optical system that uses signal level thresholds to encode transmitted information. Usually a high-level signal represents a logic 1 and a low-level signal represents a logic 0. In these systems the device characteristics of importance are power loss and cross talk. Power loss quantifies the attenuation of optical power in devices. Cross talk represents the addition of extraneous optical power to signals transmitted by these devices. \ldots \ldots We present a graph-theoretic device model that permits efficient and complete power analysis of optical systems. By tracking certain power--related quantities, we can determine the worst--case operating conditions of a system, and optimal logic thresholds can be computed. The following discussion assumes either that loss and cross talk are independent of wavelength or that linewidths are small enough to permit these variations. \subsection{Power Levels and Correct Device Operation} Here we discuss the type of power information desired from a system model. Since the objective is to find weak points in the system power flow, only power extremes are considered. Power extremes are the cross talk and signal levels obtained when the worst possible combinations of device states and input power levels are assumed. The power extremes at detection points are of particular interest, because these are the locations where design flaws are expressed through signal misinterpretation. Detection points are places where signal power is interpreted. Detection points in a system may be control points where the signal level is used to control a device; at the input to a logic gate, for example. Or they may be output points where the power level is detected and conveyed to an output subsystem as a data stream. That distinction is irrelevant for this discussion, and we will refer to detection points in both of these cases. Consider the problem of correctly interpreting a bit stream at some arbitrary detection point. Figure 1 depicts a stream of 1's and 0's arriving at a detection point. $ P_D $ represents the power detection threshold of the detector: that power level below which the detector detects a 0 and above which it detects a 1. $ P_{S1} $ and $ P_{S2} $ define a safety zone around $ P_D$. They are based on the uncertainty in $ P_D$ and are established so that the chance of erroneous signal interpretation is negligible. By definition, the device will operate correctly as long as all 1's arriving at the detection point have power levels greater than $ P_{S1}$ and all 0's arriving at the detection point have power levels less than $ P_{S2}$. The weakest 1 arriving at the detection point under all conditions from all possible paths to the point is defined as $P_{1\rm min}$, and similarly, the strongest 0 is defined as $ P_{0\rm max}$. Proper device operation can be ensured if the following relations are met: \begin{equation} P_{0\rm max} < P_{S2} < P_{D} < P_{S1} < P_{1\rm min}.\label{p0} \end{equation} It is also desirable to have information about $ P_{\rm max} $, the maximum power level that can occur at the inputs to a given device. A power detector may provide erroneous results when the power of a logic 1 arriving at a detection point is too large; that is, when $ P_{\rm max} $ exceeds $ P_D $ by some large amount. A second and more important reason for computing $ P_{\rm max} $ is that it makes the major contribution to cross talk, as discussed below. Knowledge of the power triple $ P_{0\rm max}, P_{1\rm min}, $ and $ P_{\rm max} $ at each device in a system permits the tracking of power levels throughout the entire system. \subsection{ Modeling the Device} Here we discuss the means for calculating the power triples $ P_{0\rm max},\kern.5em P_{1\rm min}, $ and $ P_{\rm max}$ at the outputs of a given device, given the values of the triples at each of its inputs. \ldots \ldots The power triple for the $j$th output of a device is computed from the input triples and the coupling terms as follows: \begin{eqnarray} P_{1\rm min}({\rm out})_j & = & \begin{array}[t]{c} {\rm min} \\[-15pt] {s\in\rm states} \end{array}\, \{ \, \begin{array}[t]{c}{\rm min} \\[-15pt] {\rm inputs}\, i \end{array} \; [P_{1\rm min}({\rm in})_i - L_{ij}(s)]\}, L_{ij}(s) \; \in \; {\rm loss},\label{p1min} \\ P_{0\rm max}({\rm out})_j & =& \begin{array}[t]{c}{\rm max} \\[-15pt] {s\in\rm states} \end{array}\, \sum_{{\rm inputs}\, i}\left\{ \begin{array}{l}P_{\rm max}{\rm (in)}_i - L_{ij}(s)\; ,\; L_{ij}(s)\in {\rm cross\, talk},\label{p0max} \\ P_{0\rm max}({\rm in})_i - L_{ij}(s)\; ,\; L_{ij}(s)\in {\rm loss}, \end{array} \right. \\ P_{\rm max}({\rm out})_j &=& \begin{array}[t]{c}{\rm max} \\[-15pt] {s\in\rm states} \end{array}\, \sum_{{\rm inputs}\, i} P_{\rm max}{\rm (in)}_i - L_{ij}(s) . \label{pmax} \end{eqnarray} Equation (\ref{p1min}) states that the power of the minimum 1 emerging from the {\it j}th output of the device will be the minimum over all possible states of the minimum over all possible inputs having loss terms of the minimum 1's arriving at those inputs minus the loss terms. Equation (\ref{p0max}) states that the power of the maximum 0 emerging from the {\it j}th output of the device will be the maximum over all possible states of the sum of the inputs of ($P_{\rm max} $ minus the cross talk term) for those inputs that have cross talk terms in that state, plus ($P_{0\rm max} $ minus the loss term) for those inputs that have loss terms in the particular state. Equation (\ref{pmax}) states that $ P_{\rm max} $ emerging from the {\it j}th output of the device will be the maximum over all the possible states of the sum over all the {\it i} inputs of $ P_{\rm max} $ minus the loss or cross talk between each of those inputs and the output {\it j}. These equations are in representational format, as the subtraction of the loss parameters implies logarithmic units for power; so in practice the summations require conversion to linear units. \ldots The loss and cross talk terms $ L_{ij} $ are the edge weights mentioned above. Note that circuit heuristics are ignored because the extremes are taken over all device states. That is, the power triple is guaranteed to be a bound on the worst case; but in a circuit, the worst case may not be as poor as the triple owing to the exclusion of some combinations of states and inputs. Equation (\ref{p0max}) shows the most important reason for tracking $P_{\rm max}$: the greatest power produces the largest possible cross talk term in this model. Thus $P_{\rm max}$ is essential for calculating subsequent $ P_{0\rm max} $ terms. As example system components, consider lithium niobate directional couplers and passive 3-dB couplers as logic devices and optical fiber and 3-dB splitters for interconnection. Figure 3 shows a lithium niobate directional coupler configured as a five-terminal optical device.\cite{6} Of the three device inputs, a, b, and c, only the first two are transmitting inputs; inputs that couple power directly to the outputs. Input c, a detection point in our terminology, functions as a device control. As the logic equation shows, when sufficient power is applied to c, the switch is placed in the bar state; otherwise it is in the cross state. The graph model on the right of the figure makes c into a detection point that is independent of the two-state coupling between the other inputs and outputs. Figure 4 illustrates at a more functional level how the transmission coupling occurs. 3-dB couplers and splitters are modeled as devices with two inputs and two outputs, with 3-dB of loss from each input to each output, no cross talk, a single device state, and no detection points. Lossy interconnections, such as optical fibers, are modeled as devices with one input, one output, a single loss term, no cross talk, a single device state, and no detection points. There is no need to model loss-free interconnections, since they add nothing to the analysis. However, if it is desired to model them for clarity, or if a graphical system model already exists that contains them, they may be modeled exactly like lossy interconnections, but with zero loss and cross talk. \subsection{ Modeling the System} In this section we extend the applicability of the device graph model to complete systems. \ldots The problem of finding critical paths is efficiently solvable with order ($n$) depth-first search (DFS) algorithms.\cite{9} The power triples are calculated by scanning the vertices in ascending order and applying Eqs.\ (\ref{p1min})--(\ref{pmax}) to each. When the search algorithm detects that the conditions of Eq. (\ref{p0}) are not met, it is desirable to know the critical path to the detector so that the problem can be corrected. \ldots \section{Discussion} The technique described above is indispensable in designing complex optical systems whose components have significant nonidealities. It has been incorporated into a digital optical computer-assisted design system, HATCH,\cite{10} where it has proven invaluable in the design of optical counters\cite{11,12} and an optical delay line memory system.\cite{13} It is now being used in designing a bit-serial optical computer now under construction in our laboratories. \ldots As we mentioned above, linear cross talk and loss behaviors are assumed in the device models for computing the power triples. If the transfer functions of the devices are non-linear, then the three equations should be modified to incorporate the appropriate transfer characteristics. \acknowledgments This research was supported by the National Science Foundation Engineering Research Centers program under grant CDR 8622236 and by the Colorado Advanced Technology Institute. \begin{references} \bibitem{1} J. C. Palais, {\it Fiber Optic Communications}, 2nd ed. (Prentice-Hall, Englewood Cliffs, N.J., 1988), pp. 270-271. \bibitem{2} E. E. Bash and H. A. Carnes, ``Digital optical communications systems,''in {\it Fiber Optics,} J. Daly, ed. (CRC Press, Boca Raton, Fla., 1987), pp. 153-154. \bibitem{3} V. P. Heuring, H. F. Jordan, and J. P. Pratt, "A bit serial architecture for optical computing," \ao {\bf 31,} 3213-3224 (1992). \bibitem{4} V. P. Heuring, H. F. Jordan, and J. P. Pratt, "Bit serial optical computer design," in {\it Optical Computing 1988,} P. Chavel, J. W. Goodman, and G. Robin, eds., \pspie {\bf 963,} 346-353 (1988). \bibitem{5} V. P. Heuring and J. P. Pratt, "Designing continuous dataflow optical computing systems, I.\ synchronization," in {\it OSA Annual Meeting,} Vol.\ 15 of 1990 OSA Technical Digest Series (Optical Society of America, Washington, D.C., 1990), paper TuUU2. \bibitem{6} A. F. Benner, H. F. Jordan, and V. P. Heuring, "Digital optical computer with optically switched directional coupler," Opt.\ Eng.\ {\bf 30,} 1936-1941 (1991). \bibitem{7} J. P. Tremblay, P. G. Sorenson, {\it The Theory and Practice of Compiler Writing} (McGraw-Hill, New York, 1987), pp. 635-640. \bibitem{8} C. Berge, {\it Graphs} (Elsevier, New York, 1985), pp. 143-152. \bibitem{9} W. M. Waite and G. Goos, {\it Compiler Construction} (Springer-Verlag, New York, 1987), pp. 398-399. \bibitem{10} J. P. Pratt, "HATCH instruction manual," OCS Tech. Rep. 89-31 (Optoelectronic Computing Systems Center, University of Colorado, Boulder, Colo., 1989). \bibitem{11} V. P. Heuring, "Systems considerations in the implementation of a bit serial optical computer," Opt. Eng. {\bf 30,} 1931-1935 (1991). \bibitem{12} A. F. Benner, J. Bowman, T. Erkkila, R. J. Feuerstein, V. P. Heuring, H. F. Jordan, J. Sauer, and T. Soukup, "Digital optical counter using directional coupler switches," \ao {\bf 30,} 4179-4189 (1991). \bibitem{13} T. J. Soukup, "Implementation of a fiber optic delay line memory," M.S.\ thesis (University of Colorado, Boulder, Colo., 1991). \end{references} \begin{figure} \caption{ Power fluctuations at a detection point.} \end{figure} \begin{figure} \caption{General device model.} \end{figure} \begin{figure} \caption{Modeling a lithium niobate switch.} \end{figure} \begin{figure} \caption{Modeling device loss and cross talk.} \end{figure} \begin{figure} \caption{Optical circuit.} \end{figure} \begin{figure} \caption{Graph model of optical circuit.} \end{figure} \begin{table} \caption{Minimum Signal Powers} \begin{tabular}{cc} Vertex&$P_{1\rm min} $ (dBm) \\ \tableline 1 & 0 \\ 2 & -3 \\ 3 & -5 \\ 4 & -5 \\ 5 & -8 \\ 6 & -11 \\ 7 & -8 \end{tabular} \end{table} \end{document} %%% file aplop.tex %%% ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/aps10.sty��������������������������������������������������������������������������0100644�0000764�0000764�00000030030�07267371705�015112� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file aps10.sty ****** % % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, September 1996. % % Copyright (c) 1992 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % \typeout{Filename: aps10.sty, v3.1 <September 1996>} \long\def\wideabs#1{\twocolumn[\hsize\textwidth\columnwidth\hsize% \csname @twocolumnfalse\endcsname #1 \vskip1pc]} \lineskip 1pt \normallineskip 1pt \def\baselinestretch{1} \def\@tempa{prl} \ifx\@journal\@tempa % \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI} \else \def\@normalsize{\@setsize\normalsize{11.5pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI} \fi \def\small{\@setsize\small{11pt}\ixpt\@ixpt \abovedisplayskip 8.5\p@ plus3\p@ minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus2\p@ \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 4\p@ plus2\p@ minus2\p@\parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep}} \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt \abovedisplayskip 6\p@ plus2\p@ minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus\p@ \belowdisplayshortskip 3\p@ plus\p@ minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 3\p@ plus\p@ minus\p@\parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} \def\large{\@setsize\large{14pt}\xiipt\@xiipt} \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} \normalsize \if@twoside \oddsidemargin -.4in \evensidemargin -.1in \marginparwidth 107pt \else \oddsidemargin -.25in \evensidemargin -.25in \marginparwidth 30pt \fi \marginparsep 6pt \topmargin -61pt \headheight 25pt \headsep 16pt \topskip 10pt \footskip 30pt \def\@tempa{prl} \ifx\@journal\@tempa % \textheight = 55\baselineskip \else \textheight = 57\baselineskip \fi \advance\textheight by \topskip \def\narrowtext{\par\global\columnwidth20.5pc \global\hsize\columnwidth\global\linewidth\columnwidth \global\displaywidth\columnwidth} \def\mediumtext{\par\global\columnwidth5.5in \global\hsize\columnwidth\global\linewidth\columnwidth \global\displaywidth\columnwidth} \def\widetext{\par\global\columnwidth42.5pc \global\hsize\columnwidth\global\linewidth\columnwidth \global\displaywidth\columnwidth} \textwidth42.5pc \widetext \columnsep 1.5pc \columnseprule 0pt \footnotesep 9.25pt \skip\footins 39pt plus 4pt minus 2pt \def\footnoterule{\kern-19pt\hrule width.5in\kern18.6pt} \floatsep 12pt plus 2pt minus 2pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 12pt plus 2pt minus 2pt \@maxsep 20pt \dblfloatsep 12pt plus 2pt minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt \@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil \marginparpush 5pt \parskip 0pt plus 1pt \parindent 1em \partopsep 2pt plus 1pt minus 1pt \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \newif\if@mainhead \def\section{\@mainheadtrue \@startsection {section}{1}{\z@}{0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf\centering}} \def\subsection{\@mainheadfalse \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf\centering}} \def\subsubsection{\@mainheadfalse \@startsection{subsubsection}{3}{\z@}{.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\it\centering}} \def\paragraph{\@mainheadfalse \@startsection{paragraph}{4}{\parindent}{\z@}{-1em}{\reset@font \normalsize\it}} \def\subparagraph{\@mainheadfalse \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus .2ex}{-1em}{\reset@font\normalsize\bf}} \setcounter{secnumdepth}{4} \newif\ifappendixon \global\appendixonfalse \def\appendix{\par\global\appendixontrue \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \def\thesection{\Alph{section}} \def\thesubsection{\arabic{subsection}} \def\thesubsubsection{\alph{subsubsection}} \def\theequation@prefix{\thesection} \@addtoreset{equation}{section} \addcontentsline{toc}{section}{\protect\numberline{APPENDIXES\hskip 0pt plus1fill minus1fill\relax}{}} } \leftmargini 25pt \leftmarginii 22pt \leftmarginiii 18.7pt \leftmarginiv 17pt \leftmarginv 10pt \leftmarginvi 10pt \leftmargin\leftmargini \labelsep 4pt \labelwidth\leftmargini\advance\labelwidth-\labelsep \def\@listI{\leftmargin\leftmargini \parsep 4\p@ plus2\p@ minus\p@ \topsep 8\p@ plus2\p@ minus4\p@ \itemsep 4\p@ plus2\p@ minus\p@} \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 4\p@ plus2\p@ minus\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} \if@amssymbols % \def\@tempa{% \let\gtrsim\undefined \let\lesssim\undefined \let\precsim\undefined \let\succsim\undefined \def\corresponds{\triangleq}% \@ifundefined{selectfont}% {}% {\input{amssymb.sty}% \let\Finv\undefined \newsymbol\Finv 2060 \let\Game\undefined \newsymbol\Game 2061 \let\Bbbk\undefined \newsymbol\Bbbk 207C \let\diagup\undefined \newsymbol\diagup 231E \let\diagdown\undefined \newsymbol\diagdown 231F \endinput}% } \else % \if@amsfonts % \def\@tempa{\@ifundefined{selectfont}{}{\input{amsfonts.sty}\endinput}} \else % \let\@tempa\endinput \fi \fi \@tempa \def\frak{\protect\pfrak} \def\Bbb{\protect\pBbb} \newfam\msamfam \font\twlmsam=msam10\@magscale1 \font\tenmsam=msam10 \font\ninmsam=msam9 \font\sevmsam=msam7 \font\fivmsam=msam5 \newfam\msbmfam \font\twlmsbm=msbm10\@magscale1 \font\tenmsbm=msbm10 \font\ninmsbm=msbm9 \font\sevmsbm=msbm7 \font\fivmsbm=msbm5 \newfam\euffam \font\twleufm=eufm10\@magscale1 \font\teneufm=eufm10 \font\nineufm=eufm9 \font\seveufm=eufm7 \font\fiveufm=eufm5 \def\fontextras#1{% \def\pfrak{\fam\euffam\nineufm}\textfont\euffam\nineufm \scriptfont\euffam\seveufm \scriptscriptfont\euffam\fiveufm \textfont\msamfam\ninmsam \scriptfont\msamfam\sevmsam \scriptscriptfont\msamfam\fivmsam \def\pBbb{\fam\msbmfam\ninmsbm}\textfont\msbmfam\ninmsbm \scriptfont\msbmfam\sevmsbm \scriptscriptfont\msbmfam\fivmsbm \def\boldmath{\@ifundefined{#1ninmib}% {\expandafter\global\expandafter\def\csname#1ninmib\endcsname{}% \global\font\ninmib=cmmib9\global\font\sevmib=cmmib7\global \font\fivmib=cmmib5% \global\font\ninbsy=cmbsy9\global\font\sevbsy=cmbsy7\global \font\fivbsy=cmbsy5% \global\font\nineufb=eufb9\global\font\seveufb=eufb7\global \font\fiveufb=eufb5\relax \expandafter\@addfontinfo\csname#1\endcsname {\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\ninmib \scriptfont\@ne\sevmib \scriptscriptfont\@ne\fivmib \textfont\tw@\ninbsy \scriptfont\tw@\sevbsy \scriptscriptfont\tw@\fivbsy \textfont\euffam\nineufb \scriptfont\euffam\seveufb \scriptscriptfont\euffam\fiveufb \@prtct\@boldtrue}% }% }% {}\csname#1\endcsname\boldmath }% } \expandafter\def\expandafter\viiipt\expandafter{\viiipt \fontextras{@viiipt}} \expandafter\def\expandafter\ixpt\expandafter{\ixpt \fontextras{@ixpt}} \expandafter\def\expandafter\xpt\expandafter{\xpt% \def\pfrak{\fam\euffam\teneufm}\textfont\euffam\teneufm \scriptfont\euffam\seveufm \scriptscriptfont\euffam\fiveufm \textfont\msamfam\tenmsam \scriptfont\msamfam\sevmsam \scriptscriptfont\msamfam\fivmsam \def\pBbb{\fam\msbmfam\tenmsbm}\textfont\msbmfam\tenmsbm \scriptfont\msbmfam\sevmsbm \scriptscriptfont\msbmfam\fivmsbm \def\boldmath{\@ifundefined{tenmib}% {\global\font\tenmib=cmmib10\global\font\sevmib=cmmib7\global \font\fivmib=cmmib5% \global\font\tenbsy=cmbsy10\global\font\sevbsy=cmbsy7\global \font\fivbsy=cmbsy5% \global\font\teneufb=eufb10\global\font\seveufb=eufb7\global \font\fiveufb=eufb5 \global\font\tenlyb=lasyb10\relax \@addfontinfo\@xpt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\tenmib \scriptfont\@ne\sevmib \scriptscriptfont\@ne\fivmib \textfont\tw@\tenbsy \scriptfont\tw@\sevbsy \scriptscriptfont\tw@\fivbsy \textfont\euffam\teneufb \scriptfont\euffam\seveufb \scriptscriptfont\euffam\fiveufb \textfont\lyfam\tenlyb \@prtct\@boldtrue}% }% }% {}\@xpt\boldmath }% } \expandafter\def\expandafter\xiipt\expandafter{\xiipt% \def\pfrak{\fam\euffam\twleufm}\textfont\euffam\twleufm \scriptfont\euffam\nineufm \scriptscriptfont\euffam\seveufm \textfont\msamfam\twlmsam \scriptfont\msamfam\ninmsam \scriptscriptfont\msamfam\sevmsam \def\pBbb{\fam\msbmfam\twlmsbm}\textfont\msbmfam\twlmsbm \scriptfont\msbmfam\ninmsbm \scriptscriptfont\msbmfam\sevmsbm \def\boldmath{\@ifundefined{twlmib}% {\global\font\twlmib=cmmib10\@magscale1\global\font\ninmib=cmmib9\global \font\sevmib=cmmib7% \global\font\twlbsy=cmbsy10\@magscale1\global\font\ninbsy=cmbsy9\global \font\sevbsy=cmbsy7% \global\font\twleufb=eufb10\@magscale1\global\font\nineufb=eufb9\global \font\seveufb=eufb7 \global\font\twllyb=lasyb10\@magscale1\relax \@addfontinfo\@xiipt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\twlmib \scriptfont\@ne\ninmib \scriptscriptfont\@ne\sevmib \textfont\tw@\twlbsy \scriptfont\tw@\ninbsy \scriptscriptfont\tw@\sevbsy \textfont\euffam\twleufb \scriptfont\euffam\nineufb \scriptscriptfont\euffam\seveufb \textfont\lyfam\twllyb \@prtct\@boldtrue}% }% }% {}\@xiipt\boldmath }% } \def\undefine#1{\let#1\undefined} \def\newsymbol#1#2#3#4#5{\let\next@\relax \ifnum#2=\@ne\let\next@\msafam@\else \ifnum#2=\tw@\let\next@\msbfam@\fi\fi \mathchardef#1="#3\next@#4#5} \def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\or A\or B\or C\or D\or E\or F\fi} \edef\msafam@{\hexnumber@\msamfam} \mathchardef\dabar@"0\msafam@39 \def\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}} \def\dashleftarrow{\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}} \let\dasharrow\dashrightarrow \def\ulcorner{\delimiter"4\msafam@70\msafam@70 } \def\urcorner{\delimiter"5\msafam@71\msafam@71 } \def\llcorner{\delimiter"4\msafam@78\msafam@78 } \def\lrcorner{\delimiter"5\msafam@79\msafam@79 } \def\yen{{\mathhexbox\msafam@55 }} \def\checkmark{{\mathhexbox\msafam@58 }} \def\circledR{{\mathhexbox\msafam@72 }} \def\maltese{{\mathhexbox\msafam@7A }} \edef\msbfam@{\hexnumber@\msbmfam} \def\widehat#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5B{#1}% \else\mathaccent"0362{#1}\fi} \def\widetilde#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5D{#1}% \else\mathaccent"0365{#1}\fi} \undefine\Box \newsymbol\Box 1203 \undefine\Diamond \newsymbol\Diamond 1206 \undefine\leadsto \newsymbol\leadsto 1320 \undefine\lhd \newsymbol\lhd 1343 \undefine\unlhd \newsymbol\unlhd 1345 \undefine\rhd \newsymbol\rhd 1342 \undefine\unrhd \newsymbol\unrhd 1344 \edef\Join{\mathrel{\mathchar"0\msbfam@ 6F\mkern-13.8mu% \mathchar"0\msbfam@ 6E}} \if@amssymbols % \expandafter\def\csname amsfonts.sty\endcsname{} \input{amssymb.sty} \undefine\Finv \newsymbol\Finv 2060 \undefine\Game \newsymbol\Game 2061 \undefine\Bbbk \newsymbol\Bbbk 207C \undefine\diagup \newsymbol\diagup 231E \undefine\diagdown \newsymbol\diagdown 231F \fi \endinput % % ****** End of file aps10.sty ****** ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/aps12.sty��������������������������������������������������������������������������0100644�0000764�0000764�00000027204�07267371705�015125� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file aps12.sty ****** % % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, September 1996. % % Copyright (c) 1992 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % \typeout{Filename: aps12.sty, v3.1 <September 1996>} \lineskip 1pt \normallineskip 1pt \edef\baselinestretch{\if@tightenlines1\else1.655\fi} \def\@normalsize{\@setsize\normalsize{14.5pt}\xiipt\@xiipt \abovedisplayskip 12\p@ plus3\p@ minus7\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \let\@listi\@listI} \def\small{\@setsize\small{14.5pt}\xipt\@xipt \abovedisplayskip 11\p@ plus3\p@ minus6\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \def\@listi{\leftmargin\leftmargini \parsep 4.5\p@ plus2\p@ minus\p@ \itemsep \parsep \topsep 9\p@ plus3\p@ minus5\p@}} \def\footnotesize{\@setsize\footnotesize{14.5pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def\@listi{\leftmargin\leftmargini \topsep 6\p@ plus2\p@ minus2\p@\parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} \def\large{\@setsize\large{18pt}\xivpt\@xivpt} \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} \let\Huge=\huge \normalsize \if@twoside \oddsidemargin .25in \evensidemargin -.25in \marginparwidth 60pt \else \oddsidemargin 0pt \evensidemargin 0pt \marginparwidth 44pt \fi \marginparsep 10pt \topmargin -37pt \headheight 12pt \headsep 25pt \topskip 10pt \footskip 30pt \if@tightenlines \textheight = 44\baselineskip \else \textheight = 27\baselineskip \fi \advance\textheight by \topskip \textwidth 468pt \displaywidth\textwidth % \linewidth\textwidth % \let\narrowtext=\relax \let\mediumtext=\relax \let\widetext=\relax \columnsep 10pt \columnseprule 0pt \footnotesep 2pc \skip\footins 25.25pt plus 4pt minus 2pt \def\footnoterule{\kern-5.25pt\hrule width.5in\kern4.85pt} \floatsep 14pt plus 2pt minus 4pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 14pt plus 4pt minus 4pt \@maxsep 20pt \dblfloatsep 14pt plus 2pt minus 4pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt \@fptop 0pt plus 1fil \@fpsep 10pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 10pt plus 2fil% \@dblfpbot 0pt plus 1fil \marginparpush 7pt \parskip 0pt plus 1pt \parindent 1.5em \partopsep 3pt plus 2pt minus 2pt \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \newif\if@mainhead \def\section{\@mainheadtrue \@startsection {section}{1}{\z@}{0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf\centering}} \def\subsection{\@mainheadfalse \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf\centering}} \def\subsubsection{\@mainheadfalse \@startsection{subsubsection}{3}{\z@}{.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\it\centering}} \def\paragraph{\@mainheadfalse \@startsection{paragraph}{4}{\parindent}{\z@}{-1em}{\reset@font \normalsize\it}} \def\subparagraph{\@mainheadfalse \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus .2ex}{-1em}{\reset@font\normalsize\bf}} \setcounter{secnumdepth}{4} \newif\ifappendixon \global\appendixonfalse \def\appendix{\par\global\appendixontrue \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \def\thesection{\Alph{section}} \def\thesubsection{\arabic{subsection}} \def\thesubsubsection{\alph{subsubsection}} \def\theequation@prefix{\thesection} \@addtoreset{equation}{section} \addcontentsline{toc}{section}{\protect\numberline{APPENDIXES\hskip 0pt plus1fill minus1fill\relax}{}} } \leftmargini 2.5em \leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em \leftmarginvi 1em \leftmargin\leftmargini \labelsep .5em \labelwidth\leftmargini\advance\labelwidth-\labelsep \def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@} \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 5\p@ plus2.5\p@ minus\p@ \parsep 2.5\p@ plus\p@ minus\p@ \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2.5\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} \if@amssymbols % \def\@tempa{% \let\gtrsim\undefined \let\lesssim\undefined \let\precsim\undefined \let\succsim\undefined \def\corresponds{\triangleq}% \@ifundefined{selectfont}% {}% {\input{amssymb.sty}% \let\Finv\undefined \newsymbol\Finv 2060 \let\Game\undefined \newsymbol\Game 2061 \let\Bbbk\undefined \newsymbol\Bbbk 207C \let\diagup\undefined \newsymbol\diagup 231E \let\diagdown\undefined \newsymbol\diagdown 231F \endinput}% } \else % \if@amsfonts % \def\@tempa{\@ifundefined{selectfont}{}{\input{amsfonts.sty}\endinput}} \else % \let\@tempa\endinput \fi \fi \@tempa \def\frak{\protect\pfrak} \def\Bbb{\protect\pBbb} \newfam\msamfam \font\frtnmsam=msam10\@magscale2 \font\twlmsam=msam10\@magscale1 \font\elvmsam=msam10\@halfmag \font\egtmsam=msam8 \font\sixmsam=msam6 \newfam\msbmfam \font\frtnmsbm=msbm10\@magscale2 \font\twlmsbm=msbm10\@magscale1 \font\elvmsbm=msbm10\@halfmag \font\egtmsbm=msbm8 \font\sixmsbm=msbm6 \newfam\euffam \font\frtneufm=eufm10\@magscale2 \font\twleufm=eufm10\@magscale1 \font\elveufm=eufm10\@halfmag \font\egteufm=eufm8 \font\sixeufm=eufm6 \def\fontextras#1#2#3{% \def\pfrak{\fam\euffam\elveufm}\textfont\euffam\elveufm \scriptfont\euffam\egteufm \scriptscriptfont\euffam\sixeufm \textfont\msamfam\elvmsam \scriptfont\msamfam\egtmsam \scriptscriptfont\msamfam\sixmsam \def\pBbb{\fam\msbmfam\elvmsbm}\textfont\msbmfam\elvmsbm \scriptfont\msbmfam\egtmsbm \scriptscriptfont\msbmfam\sixmsbm \def\boldmath{\@ifundefined{#1elvmib}% {\expandafter\global\expandafter\def\csname#1elvmib\endcsname{}% \global\font\elvmib=cmmib10\@halfmag\global\font\egtmib=cmmib8\global \font\sixmib=cmmib6% \global\font\elvbsy=cmbsy10\@halfmag\global\font\egtbsy=cmbsy8\global \font\sixbsy=cmbsy6% \global\font\elveufb=eufb10\@halfmag\global\font\egteufb=eufb8\global \font\sixeufb=eufb6\global\font#2=#3\relax \expandafter\@addfontinfo\csname#1\endcsname {\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\elvmib \scriptfont\@ne\egtmib \scriptscriptfont\@ne\sixmib \textfont\tw@\elvbsy \scriptfont\tw@\egtbsy \scriptscriptfont\tw@\sixbsy \textfont\euffam\elveufb \scriptfont\euffam\egteufb \scriptscriptfont\euffam\sixeufb \textfont\lyfam#2\relax \@prtct\@boldtrue}% }% }% {}\csname#1\endcsname\boldmath }% } \expandafter\def\expandafter\xpt\expandafter{\xpt% \fontextras{@xpt}\tenlyb{lasyb10}% } \expandafter\def\expandafter\xipt\expandafter{\xipt% \fontextras{@xipt}\elvlyb{lasyb10\@halfmag}% } \expandafter\def\expandafter\xiipt\expandafter{\xiipt% \def\pfrak{\fam\euffam\twleufm}\textfont\euffam\twleufm \scriptfont\euffam\egteufm \scriptscriptfont\euffam\sixeufm \textfont\msamfam\twlmsam \scriptfont\msamfam\egtmsam \scriptscriptfont\msamfam\sixmsam \def\pBbb{\fam\msbmfam\twlmsbm}\textfont\msbmfam\twlmsbm \scriptfont\msbmfam\egtmsbm \scriptscriptfont\msbmfam\sixmsbm \def\boldmath{\@ifundefined{twlmib}% {\global\font\twlmib=cmmib10\@magscale1\global\font\egtmib=cmmib8\global \font\sixmib=cmmib6% \global\font\twlbsy=cmbsy10\@magscale1\global\font\egtbsy=cmbsy8\global \font\sixbsy=cmbsy6% \global\font\twleufb=eufb10\@magscale1\global\font\egteufb=eufb8\global \font\sixeufb=eufb6 \global\font\twllyb=lasyb10\@magscale1\relax \@addfontinfo\@xiipt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\twlmib \scriptfont\@ne\egtmib \scriptscriptfont\@ne\sixmib \textfont\tw@\twlbsy \scriptfont\tw@\egtbsy \scriptscriptfont\tw@\sixbsy \textfont\euffam\twleufb \scriptfont\euffam\egteufb \scriptscriptfont\euffam\sixeufb \textfont\lyfam\twllyb \@prtct\@boldtrue}% }% }% {}\@xiipt\boldmath }% } \expandafter\def\expandafter\xivpt\expandafter{\xivpt% \def\pfrak{\fam\euffam\frtneufm}\textfont\euffam\frtneufm \scriptfont\euffam\elveufm \scriptscriptfont\euffam\egteufm \textfont\msamfam\frtnmsam \scriptfont\msamfam\elvmsam \scriptscriptfont\msamfam\egtmsam \def\pBbb{\fam\msbmfam\frtnmsbm}\textfont\msbmfam\frtnmsbm \scriptfont\msbmfam\elvmsbm \scriptscriptfont\msbmfam\egtmsbm \def\boldmath{\@ifundefined{frtnmib}% {\global\font\frtnmib=cmmib10\@magscale2\global\font\elvmib=cmmib10\@halfmag \global\font\egtmib=cmmib8% \global\font\frtnbsy=cmbsy10\@magscale2\global\font\elvbsy=cmbsy10\@halfmag \global\font\egtbsy=cmbsy8% \global\font\frtneufb=eufb10\@magscale2\global\font\elveufb=eufb10\@halfmag \global\font\egteufb=eufb8 \global\font\frtnlyb=lasyb10\@magscale2\relax \@addfontinfo\@xivpt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\frtnmib \scriptfont\@ne\elvmib \scriptscriptfont\@ne\egtmib \textfont\tw@\frtnbsy \scriptfont\tw@\elvbsy \scriptscriptfont\tw@\egtbsy \textfont\euffam\frtneufb \scriptfont\euffam\elveufb \scriptscriptfont\euffam\egteufb \textfont\lyfam\frtnlyb \@prtct\@boldtrue}% }% }% {}\@xivpt\boldmath }% } \def\undefine#1{\let#1\undefined} \def\newsymbol#1#2#3#4#5{\let\next@\relax \ifnum#2=\@ne\let\next@\msafam@\else \ifnum#2=\tw@\let\next@\msbfam@\fi\fi \mathchardef#1="#3\next@#4#5} \def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\or A\or B\or C\or D\or E\or F\fi} \edef\msafam@{\hexnumber@\msamfam} \mathchardef\dabar@"0\msafam@39 \def\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}} \def\dashleftarrow{\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}} \let\dasharrow\dashrightarrow \def\ulcorner{\delimiter"4\msafam@70\msafam@70 } \def\urcorner{\delimiter"5\msafam@71\msafam@71 } \def\llcorner{\delimiter"4\msafam@78\msafam@78 } \def\lrcorner{\delimiter"5\msafam@79\msafam@79 } \def\yen{{\mathhexbox@\msafam@55 }} \def\checkmark{{\mathhexbox\msafam@58 }} \def\circledR{{\mathhexbox\msafam@72 }} \def\maltese{{\mathhexbox\msafam@7A }} \edef\msbfam@{\hexnumber@\msbmfam} \def\widehat#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5B{#1}% \else\mathaccent"0362{#1}\fi} \def\widetilde#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5D{#1}% \else\mathaccent"0365{#1}\fi} \undefine\Box \newsymbol\Box 1203 \undefine\Diamond \newsymbol\Diamond 1206 \undefine\leadsto \newsymbol\leadsto 1320 \undefine\lhd \newsymbol\lhd 1343 \undefine\unlhd \newsymbol\unlhd 1345 \undefine\rhd \newsymbol\rhd 1342 \undefine\unrhd \newsymbol\unrhd 1344 \edef\Join{\mathrel{\mathchar"0\msbfam@ 6F\mkern-13.8mu% \mathchar"0\msbfam@ 6E}} \if@amssymbols % \expandafter\def\csname amsfonts.sty\endcsname{} \input{amssymb.sty} \undefine\Finv \newsymbol\Finv 2060 \undefine\Game \newsymbol\Game 2061 \undefine\Bbbk \newsymbol\Bbbk 207C \undefine\diagup \newsymbol\diagup 231E \undefine\diagdown \newsymbol\diagdown 231F \fi \endinput % % ****** End of file aps12.sty ****** ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/apssamp.tex������������������������������������������������������������������������0100644�0000764�0000764�00000052011�07267371705�015616� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file apssamp.tex ****** % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, September 1996. % % Copyright (c) 1992 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % % % % \documentstyle[preprint,eqsecnum,aps]{revtex} \documentstyle[eqsecnum,aps]{revtex} \def\btt#1{{\tt$\backslash$#1}} \def\BibTeX{\rm B{\sc ib}\TeX} \begin{document} \draft \preprint{HEP/123-qed} \title{Title of manuscript:\\ Force line breaks with $\backslash\backslash$ } \author{A. A. Author and B. B. Author\cite{byline}\\ Lines break automatically or can be forced with $\backslash\backslash$} \address{ Authors' institution and/or address\\ This line break forced with $\backslash\backslash$ } \author{C. C. Author} \address{ Second author institution and/or address\\ This line break forced with $\backslash\backslash$ } \date{\today} \maketitle \begin{abstract} The author will not know the received date when the compuscript is first submitted; production will insert this. Every article includes an abstract. The abstract is a concise summary of the work covered at length in the main body of the article. It is used for secondary publications and for information retrieval purposes. Valid PACS numbers should be entered after the abstract is finished, using the \verb+\pacs{#1}+ command. \end{abstract} \pacs{Valid PACS appear here. {\tt$\backslash$\string pacs\{\}} should always be input, even if empty.} \narrowtext \section{First-level heading:\protect\\ The line break was forced via $\backslash\backslash$} \label{sec:level1} Here is the first sentence in Sec.\ \ref{sec:level1}, demonstrating section cross-referencing. Note that this sample file was run with the eqsecnum option selected. Here is an openface one: $\openone$. This file (apssamp.tex) contains comments marking the start/end of the pages of galley-style output. This should make it easier to compare the output to the input file. \subsection{Second-level heading:\protect\\ The line break was forced via $\backslash\backslash$} \label{sec:level2} Here is the first sentence in Sec.\ \ref{sec:level2}, demonstrating section cross-referencing. The command \btt{narrowtext} will make the text this width. The command \btt{widetext} will make the text the width of the full page, as on page \pageref{wideeq}. A blank input line tells \TeX\ that a new paragraph begins. The width-changing commands only take effect in galley style (the default style). Preprint style gives output of a constant width. This file may be run in both preprint and galley styles. Preprint format is used for submission purposes. Galley format is used to mimic final journal output. When commands are referred to in this example file, they are always shown with their mandatory arguments, using normal \TeX{} format. In this format, \verb+#1+, \verb+#2+, etc. stand for mandatory author-supplied arguments to commands. For example, in \verb+\section{#1}+ the \verb+#1+ stands for the text of the author's section heading, and in \verb+\title{#1}+ the \verb+#1+ stands for the title of the paper. %*** %*** E n d o f p a g e 1 o f g a l l e y - m o d e o u t p u t %*** Reference citations in text use the command \verb+\cite{#1}+. \verb+#1+ may contain letters and numbers. In the reference section of this paper each reference is ``tagged'' by the \verb+\bibitem{#1}+ command. \verb+#1+ should be {\em identical\/} in both commands. The proper form for citing in text is \verb+\cite{#1}+, and the result is shown here \cite{smith82,jones78}. We will cite other people \cite{smith82,jonessmith80} and journals here. We also cite other people again (Refs.\ \onlinecite{smith82} and \onlinecite{jonessmith80}). It is worth mentioning that REV\TeX{} ``collapses'' lists of reference numbers where possible. We now cite everyone together \cite{smith82,jones78,jonessmith80}, and once again (Refs.\ \onlinecite{smith82,jones78,jonessmith80}). When the {\tt prb} option is used, the command \verb+\onlinecite{#1}+ will put the reference citations on-line. It was used in the preceding paragraph. Note that the location of citations must be adjusted to the reference style: the superscript references in {\tt prb} style must appear after punctuation; other styles must appear before any punctuation\cite{bibtex}. This sample was written for the regular (non-{\tt prb}) citation style, but invoking the {\tt prb} option will show the results of the command \verb+\onlinecite{#1}+ in the preceding paragraph. \section{Displayed equations} \subsection{Another second-level heading} \subsubsection{Third-level heading:\protect\\ The line break was forced via $\backslash\backslash$} \label{sec:level3} Here is the first sentence in Sec.\ \ref{sec:level3}, demonstrating section cross-referencing. In \LaTeX\ there are many different ways to display equations, and a few preferred ways are noted below. Displayed math will center by default. \paragraph{Fourth-level heading: Single-line equations.} Below we have single-line equations with numbers; this is the most common type of equation in {\it Physical Review\/}: \begin{equation} \chi_+(p)\alt{\bf [}2|{\bf p}|(|{\bf p}|+p_z){\bf ]}^{-1/2} \left( \begin{array}{c} |{\bf p}|+p_z\\ px+ip_y \end{array}\right)\;, \end{equation} \begin{equation} \left\{\openone234567890abc123\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\}\label{one}. \end{equation} Note the open one in Eq.\ (\ref{one}). Not all numbered equations will fit within a narrow column this way. The equation number will move down automatically if it cannot fit on the same line with a one-line equation: \begin{equation} \left\{ab12345678abc123456abcdef\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\}. \end{equation} When the \verb+\label{#1}+ command is used [cf. input for Eq. (\ref{one})], the equation can be referred to in text without your knowing the %*** %*** E n d o f p a g e 2 o f g a l l e y - m o d e o u t p u t %*** equation number that \TeX\ will assign to it. Just use \verb+\ref{#1}+, where \verb+#1+ is the same name that you used in the \verb+\label{#1}+ command. The \verb+\FL+ and \verb+\FR+ commands will set displayed math flush left and flush right, respectively. Just insert the \verb+\FL+ or \verb+\FR+ command before the displayed math begins. For example, here is an equation flushed left: \FL \begin{equation} \left\{ab12345678bcdef\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\}. \end{equation} You shouldn't need \verb+\FL+ and \verb+\FR+ very often. If you have a single-line equation that you don't want numbered, you can use the \btt{[}, \btt{]} format: \[g^+g^+ \rightarrow g^+g^+g^+g^+ \dots ~,~~q^+q^+\rightarrow q^+g^+g^+ \dots ~. \] \subsubsection{Multiline equations} Multiline equations are obtained by using the \btt{begin$\{$eqnarray$\}$}, \btt{end$\{$eqnarray$\}$} format. Use the \btt{nonumber} command at the end of each line where you do not want a number: \begin{eqnarray} {\cal M}=&&ig_Z^2(4E_1E_2)^{1/2}(l_i^2)^{-1} \delta_{\sigma_1,-\sigma_2} (g_{\sigma_2}^e)^2\chi_{-\sigma_2}(p_2)\nonumber\\ &&\times [\epsilon_jl_i\epsilon_i]_{\sigma_1}\chi_{\sigma_1}(p_1), \end{eqnarray} \begin{eqnarray} \sum \vert M^{\rm viol}_g \vert ^2&=&g^{2n-4}_S(Q^2)~N^{n-2} (N^2-1)\nonumber \\ & &\times \left( \sum_{i<j}\right) \sum_{\rm perm} {1 \over S_{12}} {1 \over S_{12}}\sum_\tau c^f_\tau~. \end{eqnarray} {\bf Note:} do not use \verb+\label{#1}+ on a line of a multiline equation if \verb+\nonumber+ is also used on that line. Incorrect cross-referencing will result. If you wish to set a multiline equation without {\em any\/} equation numbers, you can use the \verb+\begin{eqnarray*}+, \verb+\end{eqnarray*}+ format: \begin{eqnarray*} \sum \vert M^{\rm viol}_g \vert ^2&=&g^{2n-4}_S(Q^2)~N^{n-2} (N^2-1)\\ & &\times \left( \sum_{i<j}\right) \left( \sum_{\rm perm} {1 \over S_{12}S_{23}S_{n1}}\right) {1 \over S_{12}}~. \end{eqnarray*} To obtain numbers not normally produced by the automatic numbering, use the \verb+\eqnum{#1}+ command, where \verb+#1+ is the desired equation number. For example, to get an equation number of (\ref{eq:mynum}), \begin{equation} g^+g^+ \rightarrow g^+g^+g^+g^+ \dots ~,~~q^+q^+\rightarrow q^+g^+g^+ \dots ~. \eqnum{2.6$'$}\label{eq:mynum} \end{equation} {\it A few notes on} \verb=\eqnum{#1}=. The \verb+\eqnum{#1}+ must come before the \verb+\label{#1}+, if any. The numbering set with \verb+\eqnum{#1}+ is {\it transparent} to the automatic numbering in REV\TeX{}; therefore, you must know the number ahead of time, and {\it must\/} make %*** %*** E n d o f p a g e 3 o f g a l l e y - m o d e o u t p u t %*** sure that the number set with \verb+\eqnum{#1}+ stays in step with the automatic numbering. \verb+\eqnum{#1}+ works with both single-line and multiline equations. You could, if you wished, do all the numbering in a paper manually with \verb+\eqnum{#1}+. Enclosing single-line and multiline equations in \verb+\begin{mathletters}+ and \verb+\end{mathletters}+ will produce a set of equations that are ``numbered'' with letters, as shown in Eqs.\ (\ref{mlett:1}) and (\ref{mlett:2}) below: \begin{mathletters} \label{generallabel} \begin{equation} \left\{abc123456abcdef\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\},\label{mlett:1} \end{equation} \begin{eqnarray} {\cal M}=&&ig_Z^2(4E_1E_2)^{1/2}(l_i^2)^{-1} (g_{\sigma_2}^e)^2\chi_{-\sigma_2}(p_2)\nonumber\\ &&\times [\epsilon_i]_{\sigma_1}\chi_{\sigma_1}(p_1).\label{mlett:2} \end{eqnarray} \end{mathletters} If you use a \verb+\label{#1}+ command right after the \verb+\begin{mathletters}+, then \verb+\ref{#1}+ can be used to reference all the equations in a mathletters environment. For example, the equations in the preceding mathletters environment were Eqs.\ (\ref{generallabel}). \subsubsection{Wide equations} The equation that follows is set in a wide format, i.e., it spans across the full page. The wide format is reserved for long equations that cannot be easily broken into four lines or less: \widetext \begin{equation} {\cal R}^{(\rm d)}= g_{\sigma_2}^e\left({[\Gamma^Z(3,21)]_{\sigma_1}\over Q_{12}^2-M_W^2}+{[\Gamma^Z(13,2)]_{\sigma_1}\over Q_{13}^2-M_W^2} \right) +x_WQ_e\left({[\Gamma^\gamma(3,21)]_{\sigma_1}\over Q_{12}^2-M_W^2}+{[\Gamma^\gamma(13,2)]_{\sigma_1} \over Q_{13}^2-M_W^2} \right)\;. \label{wideeq} \end{equation} This is typed so you can see that the output is in wide format. (Since there is no input line between \btt{end$\{$equation$\}$} and this paragraph, there is no paragraph indent for this paragraph.) We also have \begin{equation} {\cal R}^{(f)}=-g^3\delta_{\sigma_1,\sigma_2} \left( {g^e_{\sigma_2}D_Z\over\cos\theta_W}-Q_eD_\gamma \cos\theta_W \right) \left( {[\epsilon_3]_{\sigma_1}\over Q^2_{12}-M^2_W/\xi}\epsilon_1\cdot\epsilon_2+ {[\epsilon_2]_{\sigma_1}\over Q^2_{13}-M^2_W/\xi}\epsilon_1\cdot\epsilon_3 \right)\;. \end{equation} \narrowtext \section{Cross-referencing} REV\TeX{} will automatically number sections, equations, figure captions, and tables. In order to reference them in text, use the \verb+\label{#1}+ and \verb+\ref{#1}+ commands. The \verb+\label{#1}+ command appears following a section heading; within an equation; or within a figure or table environment, inside of or following the caption. The \verb+\ref{#1}+ command appears in text where citation is to occur. We will refer to the first figure (Fig.~\ref{autonum}) here. We can refer to the ``late figure'' also (Fig.~\ref{latefigure}). References to figures: Fig.~\ref{autonum}, Fig.~\ref{latefigure}, Fig.~\ref{reduced}, and Fig.~\ref{fig4}. References to tables: Table \ref{table1}, Table \ref{table2}, Table \ref{table3}, Table \ref{table4}, Table \ref{latetable}, and Table \ref{table6}. {\it Physical Review} style requires that the initial citation of figures or tables be in numerical order in text, so don't cite Fig.~\ref{reduced} until you've cited Fig.~\ref{latefigure}. See {\it Style and Notation Guide}. %*** %*** E n d o f p a g e 4 o f g a l l e y - m o d e o u t p u t %*** \acknowledgments We wish to acknowledge the support of the author community in using REV\TeX{}, offering suggestions and encouragement, testing new versions, $\ldots$ . If a section does not have a number (like the Acknowledgments section), use the so-called ``star version'' of the command. That is, insert a star between the command and its arguments: \verb+\section*{#1}+, \verb+\subsection*{#1}+, etc. For the Acknowledgments section you can also use the command \verb+\acknowledgments+ to produce the heading. \appendix \section{Appendixes} To start the appendixes, you should use the \verb+\appendix+ command. This signals that all following section commands refer to appendixes instead of regular sections. Therefore, the \verb+\appendix+ command should be used only once---to setup the section commands to act as appendixes. Thereafter normal section commands are used. The heading for a section can be left empty. For example, \begin{verbatim} \appendix \section{} \end{verbatim} will produce an appendix heading that says ``APPENDIX A'' and \begin{verbatim} \appendix \section{Background} \end{verbatim} will produce an appendix heading that says ``APPENDIX A: BACKGROUND'' (note that the colon is set automatically). If there is only one appendix, then the letter ``A'' should not appear. This is suppressed by using the star version of the section command (\verb+\section*{#1}+). \section{A little more on appendixes} Observe that this appendix was started by using \begin{verbatim} \section{A little more on appendixes} \end{verbatim} Note the equation number in an appendix: \begin{equation} E=mc^2. \end{equation} \subsection{A subsection in an appendix} \label{app:subsec} You can use a subsection or subsubsection in an appendix. Note the numbering: we are now in Appendix \ref{app:subsec}. %*** %*** E n d o f p a g e 5 o f g a l l e y - m o d e o u t p u t %*** Note the equation numbers in this appendix, produced with the mathletters environment: \begin{mathletters} \begin{equation} E=mc, \label{appa}\end{equation} \begin{equation} E=mc^2, \label{appb}\end{equation} \begin{equation} E\agt mc^3. \label{appc}\end{equation} \end{mathletters} They turn out to be Eqs.\ (\ref{appa}), (\ref{appb}), and (\ref{appc}). \begin{references} \bibitem[*]{byline} Also at Physics Department, XYZ University. \bibitem{smith82}A. Smith and B. Doe, J. Chem.\ Phys.\ {\bf 76}, 4056 (1982). \bibitem{jones78}C. Jones, J. Chem.\ Phys. {\bf 68}, 5298 (1978). \bibitem{jonessmith80}C. Jones and A. Smith, J. Chem.\ Phys.\ {\bf 72,} 3416 (1980); {\bf 73,} 5168 (1980); {\bf72,} 4009 (1980). \bibitem{bibtex} Authors are encouraged to use \BibTeX\/ and prsty.bst to create their reference list in proper APS style. Instructions can be requested by e-mail (mis@aps.org). \end{references} \begin{figure} \caption{A figure caption. The figure captions are automatically numbered.} \label{autonum} \end{figure} \begin{figure} \caption{The ``late figure.'' This figure was inserted when the paper was finished. Since the figures are automatically numbered, no renumbering in text was necessary. All that needed to be done was to type the caption in the proper place and cite the figure in text.\label{latefigure}} \end{figure} \begin{figure} \caption{A figure caption. Figures will be reduced to an appropriate size by the production staff upon receipt.} \label{reduced} \end{figure} \begin{figure} \caption{A figure caption. The labels you give tables and figures can be descriptive (as that of Fig.\ \protect\ref{autonum}, which has a \btt{label}$\{${\tt autonum}$\}$) or they can reflect their numerical order, as that of this figure (\btt{label}$\{${\tt fig4}$\}$).\label{fig4}} \end{figure} \begin{table} \caption{This is a narrow table, which occupies the width of a narrow column. The table captions are automatically numbered. This table shows left-aligned, centered, and right-aligned columns. It also shows one of two possible methods of setting tablenotes (footnotes within tables). In this table the tablenotes are numbered and set automatically. All the author need do is use \btt{tablenote$\{$\#1$\}$} to set a tablenote mark and its text. \label{table1}} \begin{tabular}{lcr} One\tablenote{Note a.}&Two\tablenote{Note b.}&Three\\ \tableline one&two&three\\ one&two&three\\ \end{tabular} \end{table} %*** %*** E n d o f p a g e 6 o f g a l l e y - m o d e o u t p u t %*** \mediumtext \begin{table} \caption{This is a table of medium width. This table shows tablenotes where the author has numbered the tablenotes by hand. In this approach, \btt{tablenotemark[\#1]} is used to produce the tablenote mark. {\tt\#1} is a numeric value. Each time the same value for {\tt\#1} is used, the same mark is produced in the table. After the end of the tabular environment, \btt{tablenotemark[\#1]$\tt\{$\#2$\tt\}$} commands are used: {\tt\#1} represents the same numbers used in \btt{tablenotemark[\#1]} and {\tt\#2} represents the text of the tablenote. Using these two commands will allow the author to number tablenotes by hand. Inspecting the input for this table should clarify any questions. \label{table2}} \begin{tabular}{cccccccc} &$r_c$ (\AA)&$r_0$ (\AA)&$\kappa r_0$& &$r_c$ (\AA) &$r_0$ (\AA)&$\kappa r_0$\\ \tableline Cu& 0.800 & 14.10 & 2.550 &Sn\tablenotemark[1] & 0.680 & 1.870 & 3.700 \\ Ag& 0.990 & 15.90 & 2.710 &Pb\tablenotemark[2] & 0.450 & 1.930 & 3.760 \\ Au& 1.150 & 15.90 & 2.710 &Ca\tablenotemark[3] & 0.750 & 2.170 & 3.560 \\ Mg& 0.490 & 17.60 & 3.200 &Sr\tablenotemark[4] & 0.900 & 2.370 & 3.720 \\ Zn& 0.300 & 15.20 & 2.970 &Li\tablenotemark[2] & 0.380 & 1.730 & 2.830 \\ Cd& 0.530 & 17.10 & 3.160 &Na\tablenotemark[5] & 0.760 & 2.110 & 3.120 \\ Hg& 0.550 & 17.80 & 3.220 &K\tablenotemark[5] & 1.120 & 2.620 & 3.480 \\ Al& 0.230 & 15.80 & 3.240 &Rb\tablenotemark[3] & 1.330 & 2.800 & 3.590 \\ Ga& 0.310 & 16.70 & 3.330 &Cs\tablenotemark[4] & 1.420 & 3.030 & 3.740 \\ In& 0.460 & 18.40 & 3.500 &Ba\tablenotemark[5] & 0.960 & 2.460 & 3.780 \\ Tl& 0.480 & 18.90 & 3.550 & & & & \\ \end{tabular} \tablenotetext[1]{Here's the first, from Ref.\ \cite{smith82}.} \tablenotetext[2]{Here's the second.} \tablenotetext[3]{Here's the third.} \tablenotetext[4]{Here's the fourth.} \tablenotetext[5]{And etc.} \end{table} \widetext \begin{table} \caption{A wide table. Two alternative occupations of special positions by KMnCL$_3$ ions in the two space groups $D_{4h}^1$ and $D_{4h}^1$. For a special value of the $x$ and $y$ parameters, a set of special positions may split into two sets of special positions of higher symmetry.} \begin{tabular}{ccccc} &\multicolumn{2}{c}{$D_{4h}^1$}&\multicolumn{2}{c}{$D_{4h}^5$}\\ Ion&1st alternative&2nd alternative&lst alternative &2nd alternative\\ \tableline K&$(2e)+(2f)$&$(4i)$ &$(2c)+(2d)$&$(4f)$ \\ Mn&$(2g)$\tablenote{The $z$ parameter of these positions is $z\sim\case 1/4$.} &$(a)+(b)+(c)+(d)$&$(4e)$&$(2a)+(2b)$\\ Cl&$(a)+(b)+(c)+(d)$&$(2g)$\tablenotemark[1] &$(4e)^{\rm a}$\\ He&$(8r)^{\rm a}$&$(4j)^{\rm a}$&$(4g)^{\rm a}$\\ Ag& &$(4k)^{\rm a}$& &$(4h)^{\rm a}$\\ \end{tabular} \label{table3} \end{table} \begin{table} \caption{Another wide table. Numbers in columns Three--Five have been aligned by using the ``d'' column specifier. Non-numeric entries (those entries without a ``.'') are centered in ``d'' columns.} \begin{tabular}{ccddd} One&Two&Three&Four&Five\\ \tableline one&two&three&four&five\\ He&2& 2.77234 & 45672. & 0.69 \\ C\tablenote{Some tables require footnotes.} &C\tablenote{Some tables need more than one footnote.} & 12537.64 & 37.66345 & 86.37 \\ \end{tabular} \label{table4} \end{table} %*** %*** E n d o f p a g e 7 o f g a l l e y - m o d e o u t p u t %*** \narrowtext \begin{table} \caption{A ``late table.'' This table was added after most of the paper had been completed. Since the tables are automatically numbered, no renumbering in text was necessary. This table was added to show the use of the the ``d'' column and the @ specifier for lining things up. The ``d'' column is useful for simpler columns of numerical data, but it may be necessary to use multiple columns and the @ specifier for more complex alignments.} \begin{tabular}{dr@{}l@{${}\pm{}$}r@{}l} %% NOTE, multicolumn NEEDED in next line \multicolumn{1}{c}{Align by .}& \multicolumn{4}{c}{Multiple alignments}\\ \tableline 23.890\,12 &23&.890\,12& 0&.002\\ 12\,323. &123\,223&& 344& \\ 0.834\,390\,12 &80&.80& 45&.3416\\ \end{tabular} \label{latetable} \end{table} \narrowtext \begin{table} \caption{The Poisson ratio defined as the ratio of lateral contraction to longitudinal expansion for uniaxial stress. Experimental values are given for comparison.} \begin{tabular}{dddddd} &\multicolumn{2}{c}{$\sigma$}& &\multicolumn{2}{c}{$\sigma$}\\ &Predicted&Observed$^{\rm a}$& &Predicted&Observed$^{\rm a}$\\ \tableline Cu& 0.48 & 0.36 &Al& 0.47 &0.33 \\ Ag & 0.48 &0.37 &Tl& 0.47 & 0.35\\ Au & 0.48 & 0.36&Sn& 0.46 &0.33\\ Mg & 0.47 &0.35&Pb& 0.46 &\multicolumn{1}{c}{0.40--0.45}\\ Zn& 0.47 & 0.25 &Pb& 0.49 & 0.43 \\ & & &K& 0.49 & 0.44 \\ \end{tabular} \label{table6} \end{table} \end{document} % % ****** End of file apssamp.tex ****** �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/aps.sty����������������������������������������������������������������������������0100644�0000764�0000764�00000067743�07267371705�014776� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file aps.sty ****** % % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, September 1996. % % Copyright (c) 1992 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % \typeout{Filename: aps.sty, v3.1 <September 1996>} \def\partname{Part} \def\contentsname{Contents} \def\listfigurename{List of Figures} \def\listtablename{List of Tables} \def\refname{REFERENCES} \def\indexname{Index} \def\figurename{FIG.} \def\tablename{TABLE} \def\abstractname{Abstract} \newif\iffirstfig \global\firstfigtrue \newif\iffirsttab \global\firsttabtrue \def\tightenlines{\def\baselinestretch{1}\small\normalsize} \let\tighten\tightenlines \ifx\selectfont\undefined % \@revmess{message}{NFSS not detected. Assuming OFSS.} \let\reset@font\relax \def\mathhexbox{\protect\mathhexbox@} \def\mathhexbox@#1#2#3{\relax \ifmmode\mathpalette{}{\m@th\mathchar"#1#2#3}% \else\leavevmode\hbox{$\m@th\mathchar"#1#2#3$}\fi} \def\text#1{% \relax \ifmmode % \mathchoice {\hbox{\everymath{\displaystyle}\rm #1}}% {\hbox{\everymath{\textstyle}\rm #1}}% {\hbox{\everymath{\scriptstyle}% \def\prm{\fam\z@ \the\scriptfont\z@ \relax}% \def\pit{\fam\itfam \the\scriptfont\itfam \relax}% \rm #1}% }% {\hbox{\everymath{\scriptscriptstyle}% \def\prm{\fam\z@ \the\scriptscriptfont\z@ \relax}% \def\pit{\fam\itfam \the\scriptscriptfont\itfam \relax}% \rm #1}% }% \else % \leavevmode\hbox{#1}% \fi } \def\bbox#1{% \leavevmode\text{% \textfont0 \the\textfont\bffam \scriptfont0 \the\scriptfont\bffam \scriptscriptfont0 \the\scriptscriptfont\bffam \@temptokena\everymath \boldmath \everymath\@temptokena {$\m@th\relax#1$}% }% } \font\fivbf=cmbx5 \font\sixbf=cmbx6 \font\sevbf=cmbx7 \font\egtbf=cmbx8 \expandafter\def\expandafter\ixpt\expandafter{\ixpt \scriptfont\bffam\sixbf \scriptscriptfont\bffam\fivbf} \expandafter\def\expandafter\xpt\expandafter{\xpt \scriptfont\bffam\sevbf \scriptscriptfont\bffam\fivbf} \expandafter\def\expandafter\xipt\expandafter{\xipt \scriptfont\bffam\egtbf \scriptscriptfont\bffam\sixbf} \expandafter\def\expandafter\xiipt\expandafter{\xiipt \scriptfont\bffam\egtbf \scriptscriptfont\bffam\sixbf} \expandafter\def\expandafter\xivpt\expandafter{\xivpt \scriptfont\bffam\tenbf \scriptscriptfont\bffam\sevbf} \else % \@revmess{message}{NFSS detected! Assuming NFSS.} \def\text#1{% \relax\ifmmode \mathchoice {\hbox{{\everymath{\displaystyle}#1}}}% {\hbox{{\everymath{\textstyle}#1}}}% {\hbox{{\everymath{\scriptstyle}\let\f@size\sf@size\selectfont#1}}}% {\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}% \glb@settings \else \mbox{#1}% \fi } \def\bbox#1{% \relax\ifmmode \mathchoice {{\hbox{\boldmath$\displaystyle#1$}}}% {{\hbox{\boldmath$\textstyle#1$}}}% {{\hbox{\boldmath$\scriptstyle#1$}}}% {{\hbox{\boldmath$\scriptscriptstyle#1$}}}% \glb@settings \else \mbox{#1}% \fi } \def\mathhexbox{\protect\mathhexbox@} \def\mathhexbox@#1#2#3{\relax \ifmmode\mathpalette{}{\m@th\mathchar"#1#2#3}% \else\leavevmode\hbox{$\m@th\mathchar"#1#2#3$}\fi} \fi %mtp \input aps1\@ptsize.sty\relax \def\@chuckoptarg[#1]{} \def\alph#1{\@alph{\@nameuse{c@#1}}} \def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi} \def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi} \let\slantfrac\frac \def\ao{Appl.\ Opt.\ } \def\ap{Appl.\ Phys.\ } \def\apl{Appl.\ Phys.\ Lett.\ } \def\apj{Astrophys.\ J.\ } \def\bell{Bell Syst.\ Tech.\ J.\ } \def\jqe{IEEE J.\ Quantum Electron.\ } \def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.\ } \def\aprop{IEEE Trans.\ Antennas Propag.\ } \def\mtt{IEEE Trans.\ Microwave Theory Tech.\ } \def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.\ } \def\jcp{J.\ Chem.\ Phys.\ } \def\jmo{J.\ Mod.\ Opt.\ } \def\josa{J.\ Opt.\ Soc.\ Am.\ } \def\josaa{J.\ Opt.\ Soc.\ Am.\ A } \def\josab{J.\ Opt.\ Soc.\ Am.\ B } \def\jpp{J.\ Phys.\ (Paris) } \def\nat{Nature (London) } \def\oc{Opt.\ Commun.\ } \def\ol{Opt.\ Lett.\ } \def\pl{Phys.\ Lett.\ } \def\pra{Phys.\ Rev.\ A } \def\prb{Phys.\ Rev.\ B } \def\prc{Phys.\ Rev.\ C } \def\prd{Phys.\ Rev.\ D } \def\pre{Phys.\ Rev.\ E } \def\prl{Phys.\ Rev.\ Lett.\ } \def\rmp{Rev.\ Mod.\ Phys.\ } \def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.\ } \def\sjqe{Sov.\ J.\ Quantum Electron.\ } \def\vr{Vision Res.\ } \def\labelenumi{\theenumi.} \def\theenumi{\arabic{enumi}} \def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}} \def\p@enumii{\theenumi} \def\labelenumiii{\theenumiii.} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{\theenumiv.} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} \def\labelitemi{$\m@th\bullet$} \def\labelitemii{\bf --} \def\labelitemiii{$\m@th\ast$} \def\labelitemiv{$\m@th\cdot$} \def\verse{\let\\=\@centercr \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} \let\endverse\endlist \def\quotation{\list{}{\listparindent 1.5em \itemindent\listparindent \rightmargin\leftmargin \parsep \z@ plus\p@}\item[]} \let\endquotation=\endlist \def\quote{\list{}{\rightmargin\leftmargin}\item[]} \let\endquote=\endlist \def\descriptionlabel#1{\hspace\labelsep \bf #1} \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} \let\enddescription\endlist \def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn \else \newpage \fi \thispagestyle{empty}\c@page\z@} \def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} \arraycolsep 3pt % \tabcolsep 2pt % \arrayrulewidth .4pt % \doublerulesep 2pt % \tabbingsep \labelsep % \skip\@mpfootins = \skip\footins \fboxsep = 3pt % \fboxrule = .4pt % \newcounter{part} \newcounter{section} \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph] \def\thepart {\Roman{part}} % \def\thesection {\Roman{section}} \def\p@section {} \def\thesubsection {\Alph{subsection}} \def\p@subsection {\thesection\,} \def\thesubsubsection {\arabic{subsubsection}} \def\p@subsubsection {\thesection\,\thesubsection\,} \def\theparagraph {\alph{paragraph}} \def\thesubparagraph {\theparagraph.\arabic{subparagraph}} \def\acknowledgments{\section*{ACKNOWLEDGMENTS}} \let\acknowledgements\acknowledgments \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \let\@svsec\@empty\else \refstepcounter{#1}% \def\@tempa{#8}% \ifx\@tempa\empty % \ifappendixon % \if@mainhead % \def\@tempa{APPENDIX }\def\@tempb{}% \else % \def\@tempa{}\def\@tempb{. }% \fi \else % \def\@tempa{}\def\@tempb{. }% \fi \else % \ifappendixon % \if@mainhead % \def\@tempa{APPENDIX }\def\@tempb{: }% \else % \def\@tempa{}\def\@tempb{. }% \fi \else % \def\@tempa{}\def\@tempb{. }% \fi \fi \edef\@svsec{\@tempa\csname the#1\endcsname\@tempb}\fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax {\hskip #3\relax\@svsec}{\interlinepenalty \@M \if@mainhead\uppercase{#8}\else#8\fi\par}% \endgroup \csname #1mark\endcsname{#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}\else \def\@svsechd{#6\hskip #3\relax % \@svsec \if@mainhead\uppercase{#8}\else#8\fi \csname #1mark\endcsname {#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}}\fi \@xsect{#5}} \def\@ssect#1#2#3#4#5{\@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup #4{\hskip #1}{\interlinepenalty \@M \ifappendixon \if@mainhead % \stepcounter{section}% \def\@tempa{#5}% \ifx\@tempa\empty % APPENDIX% \else % APPENDIX: \fi \fi \fi \if@mainhead\uppercase{#5}\else#5\fi\par}\endgroup \else \def\@svsechd{#4\hskip #1\relax \ifappendixon \if@mainhead % \stepcounter{section}% \def\@tempa{#5}% \ifx\@tempa\empty % APPENDIX% \else % APPENDIX: \fi \fi \fi \if@mainhead\uppercase{#5}\else#5\fi}\fi \@xsect{#3}} \def\part{\par % \addvspace{4ex} % \@afterindentfalse % \secdef\@part\@spart} % \def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne % \refstepcounter{part} % \addcontentsline{toc}{part}{\thepart % \hspace{1em}#1}\else % \addcontentsline{toc}{part}{#1}\fi % {\parindent \z@ \raggedright \interlinepenalty\@M \ifnum \c@secnumdepth >\m@ne % \Large \bf \partname~\thepart% \par\nobreak % \fi % \huge \bf % #2% \markboth{}{}\par % }\nobreak % \vskip 3ex % \@afterheading % } % \def\@spart#1{{\parindent \z@ \raggedright \interlinepenalty\@M \huge \bf #1\par} % \nobreak % \vskip 3ex % \@afterheading % } % \newcount\@indentflag \global\@indentflag=1 % \newdimen\@eqtoeqnum \@eqtoeqnum=6pt % \def\@indentamount{% \ifcase\@indentflag 0pt\or\@centering\or0pt plus1fil\fi\relax } \def\FL{\global\@indentflag=0 } \def\FR{\global\@indentflag=2 } \newcounter{eqletter} \setcounter{eqletter}{0} \def\@eqnnum{\hbox{\reset@font\rm(\theequation)}} \let\make@eqnnum=\@eqnnum % \def\eqnum#1{\dec@eqnnum \global\def\make@eqnnum{\reset@font\rm(#1)}% \def\@currentlabel{#1}% } \def\inc@eqnnum{\addtocounter{equation}{1}} \def\dec@eqnnum{\addtocounter{equation}{-1}} \@definecounter{equation}% \ifsecnumbers % \@addtoreset{equation}{section} % \def\theequation@prefix{\arabic{section}.} % \else % \def\theequation@prefix{} \fi \def\theequation{\theequation@prefix\arabic{equation}}% \def\mathletters{% \inc@eqnnum \setcounter{eqletter}{0}% \edef\@currentlabel{\theequation}% \def\theequation{\theequation@prefix\arabic{equation}\alph{eqletter}}% \def\inc@eqnnum{\addtocounter{eqletter}{1}}% \def\dec@eqnnum{\addtocounter{eqletter}{-1}}% } % next line is new def to fix spacing problem after mathletters. % mtp 6/17/96 \def\endmathletters{\global\@ignoretrue} \def\[{\relax \ifmmode\@badmath\else\par\vskip-\lastskip\vskip\abovedisplayskip\fi \hbox to\hsize\bgroup \def\label##1{\@revmess{warning}{\string\label{##1} used in \string\[\space environment after (\theequation)}}% \hskip\@totalleftmargin\hskip\@indentamount$\displaystyle } \def\]{\relax \ifmmode $\hskip\@centering\egroup \else \@badmath \fi \vskip\belowdisplayskip \global\@indentflag=1 % \noindent\ignorespaces } \newbox\@testboxa \newbox\@testboxb \def\equation{\par\vskip-\lastskip\vskip\abovedisplayskip \inc@eqnnum\let\@currentlabel=\theequation \setbox\@testboxa=\hbox\bgroup\hskip\@totalleftmargin\hskip\@indentamount \hbox\bgroup$\displaystyle } \def\endequation{$\egroup\hskip\@centering\egroup % \setbox\@testboxb=\hbox{\make@eqnnum}% \bgroup \@tempdima\wd\@testboxa \advance\@tempdima by\wd\@testboxb \ifcase\@indentflag \advance\@tempdima by\@eqtoeqnum \ifdim\@tempdima<\hsize % \def\@tempa{0}% \else \def\@tempa{1}% \fi \or \advance\@tempdima by2\@eqtoeqnum \ifdim\@tempdima<\hsize % \def\@tempa{0}% \else % \@tempdima\wd\@testboxa \advance\@tempdima by\wd\@testboxb \advance\@tempdima by\@eqtoeqnum \ifdim\@tempdima<\hsize % \def\@tempa{0}% \setbox\@testboxa\hbox{\hfill\box\@testboxa\kern\@eqtoeqnum}% \else \def\@tempa{1}% \fi \fi \or \advance\@tempdima by2\@eqtoeqnum \ifdim\@tempdima<\hsize % \def\@tempa{0}% \setbox\@testboxb=\hbox{\kern\@eqtoeqnum\make@eqnnum}% \else \def\@tempa{1}% \fi \fi \ifnum\@tempa=0 % \hbox to\hsize{\unhbox\@testboxa\box\@testboxb}% \else % \vbox{\hbox to\hsize{\unhbox\@testboxa}% \vskip6pt % \hbox to\hsize{\hfil\box\@testboxb}}% \fi \egroup \global\let\make@eqnnum\@eqnnum % \vskip\belowdisplayskip\noindent\global\@indentflag=1 \global\@ignoretrue } \def\eqnarray{\par\vskip-\lastskip\vskip\abovedisplayskip \inc@eqnnum\let\@currentlabel=\theequation \global\@eqnswtrue\m@th \global\@eqcnt\z@ \tabskip\@totalleftmargin\advance\tabskip by\@indentamount\let\\\@eqncr \halign to\hsize\bgroup\hskip\@centering $\displaystyle\tabskip\z@{##{}}$&\global\@eqcnt\@ne \hfil${{}##{}}$\hfil &\global\@eqcnt\tw@ $\displaystyle\tabskip\z@{##}$\hfil \tabskip\@centering \if@eqnsw\phantom{\make@eqnnum\kern\@eqtoeqnum}\fi &\llap{##}\tabskip\z@\cr} \def\endeqnarray{% \@@eqncr\egroup \vskip\belowdisplayskip\noindent \dec@eqnnum\global\@indentflag=1 \global\let\make@eqnnum\@eqnnum % \global\@ignoretrue } \def\nonumber{\global\@eqnswfalse \def\label##1{\@revmess{error}{\string\label{##1} used with \string\nonumber\space before (\theequation)}}% } \def\@@eqncr{\let\@tempa\relax \ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa{& &}% \else \def\@tempa{&}\fi \@tempa \if@eqnsw\make@eqnnum\inc@eqnnum\fi \global\@eqnswtrue\global\@eqcnt\z@\global\let\make@eqnnum=\@eqnnum\cr } \@namedef{eqnarray*}{\def\@eqncr{\nonumber\@seqncr}% \def\label##1{\@revmess{warning}{\string\label{##1} used in eqnarray* environment before (\theequation)}}% \eqnarray} \def\@pnumwidth{1.55em} \def\@tocrmarg {2.55em} \def\@dotsep{4.5} \setcounter{tocdepth}{3} \def\tableofcontents{\section*{\contentsname \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}% \@starttoc{toc}} \def\l@part#1#2{\addpenalty{\@secpenalty}% \addvspace{2.25em plus\p@}% \begingroup \@tempdima 3em % \parindent \z@ \rightskip \@pnumwidth % \parfillskip -\@pnumwidth {\large \bf % \leavevmode % #1\hfil \hbox to\@pnumwidth{\hss #2}}\par \nobreak % \endgroup} \def\l@section#1#2{\addpenalty{\@secpenalty}% \addvspace{1.0em plus\p@}% \@tempdima 3.0em % \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \bf % \leavevmode % \advance\leftskip\@tempdima % \hskip -\leftskip % #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par \endgroup} \def\l@subsection{\@dottedtocline{2}{3.0em}{2.0em}} \def\l@subsubsection{\@dottedtocline{3}{5.0em}{1.5em}} \def\l@paragraph{\@dottedtocline{4}{6.5em}{1.5em}} \def\l@subparagraph{\@dottedtocline{5}{8.0em}{1.5em}} \def\listoffigures{\section*{\listfigurename \@mkboth{\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}% \@starttoc{lof}} \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} \def\listoftables{\section*{\listtablename\@mkboth {\uppercase{\listtablename}}{\uppercase{\listtablename}}}% \@starttoc{lot}} \let\l@table\l@figure \def\@tempa{prb} \ifx\@tempa\@journal % \def\tempa{\input prbbib.sty} \else \def\tempa{\input prabib.sty} \fi \tempa \newif\if@restonecol \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi \columnseprule \z@ \columnsep 35\p@\twocolumn[\section*{\indexname}]% \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}% \thispagestyle{plain}\parindent\z@ \parskip\z@ plus.3\p@\relax\let\item\@idxitem} \def\@idxitem{\par\hangindent 40\p@} \def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}} \def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}} \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} \long\def\@makefntext#1{\parindent 5pt\hsize\columnwidth\parskip0pt\relax \small\def\strut{\vrule width0pt height0pt depth1.75pt\relax}% $\m@th^{\@thefnmark}$#1} \def\thefootnote{\fnsymbol{footnote}} \def\@fnsymbol#1{\ifcase#1\or *\or \dagger\or \ddagger\or \mathchar "278\or **\or \dagger\dagger \or \ddagger\ddagger \or \mathchar "278 \mathchar "278\or ***\or\dagger\dagger\dagger\or\ddagger\ddagger\ddagger\or \mathchar "278 \mathchar "278 \mathchar "278 \else\@ctrerr\fi\relax} \setcounter{topnumber}{2} \def\topfraction{.7} \setcounter{bottomnumber}{1} \def\bottomfraction{.3} \setcounter{totalnumber}{3} \def\textfraction{.2} \def\floatpagefraction{.5} \setcounter{dbltopnumber}{2} \def\dbltopfraction{.7} \def\dblfloatpagefraction{.5} \long\def\@makecaption#1#2{% \setbox\@testboxa\hbox{\outertabfalse % \reset@font\small\rm#1\penalty10000\hskip.5em plus.2em\ignorespaces#2% }% \setbox\@testboxb\vbox{\hsize\@capwidth \ifdim\wd\@testboxa<\hsize % \hbox to\hsize{\hfil\box\@testboxa\hfil}% \else % \small \parindent \ifpreprintsty 1.5em \else 1em \fi \unhbox\@testboxa\par \fi }% \box\@testboxb } % \newcounter{figure} \def\thefigure{\@arabic\c@figure} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{\figurename\penalty10000\hskip.3em plus .1em\relax\thefigure.} \if@floats \def\figure{\let\@capwidth\columnwidth\@float{figure}} \let\endfigure\end@float \@namedef{figure*}{\let\@capwidth\textwidth\@dblfloat{figure}} \@namedef{endfigure*}{\end@dblfloat} \else \def\figure{% \let\@capwidth\columnwidth \ifpreprintsty\iffirstfig {\newpage\centerline{FIGURES}}\global\firstfigfalse \fi\fi \vskip1pc \def\@captype{figure}% \interlinepenalty10000 % \@ifnextchar[{\@chuckoptarg}{}% }% \def\endfigure{\goodbreak\vskip1pc}% \@namedef{figure*}{\figure}% \@namedef{endfigure*}{\endfigure}% \fi \newcounter{table} \def\thetable{\@Roman\c@table} {\catcode`\.=13 % \gdef.{\relax\egroup\def\@flag{1}\setbox1\hbox\bgroup}% }% \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{\tablename\penalty10000\hskip.3em plus .1em\relax\thetable.} \if@floats \def\table{% \let\@capwidth\columnwidth \def\@tablenotes{}% \global\tableontrue \bgroup\parindent=0pt \outertabtrue \setcounter{tablenote}{0}% \@float{table}% }% \def\endtable{% \global\tableonfalse\global\outertabfalse {\let\protect\relax\small\vskip2pt\@tablenotes\par}\xdef\@tablenotes{}% \end@float\egroup }% \@namedef{table*}{% \let\@capwidth\textwidth \def\@tablenotes{}% \global\tableontrue \bgroup\parindent=0pt \outertabtrue \setcounter{tablenote}{0}% \@dblfloat{table}% } \@namedef{endtable*}{% \global\tableonfalse\global\outertabfalse {\let\protect\relax\small\vskip2pt\@tablenotes\par}\xdef\@tablenotes{}% \end@dblfloat\egroup }% \else % \def\table{% \let\@capwidth\columnwidth \def\@tablenotes{}% \iffirsttab \global\firsttabfalse \ifpreprintsty{\newpage\centerline{TABLES}}\fi \fi \vskip1pc \global\tableontrue \bgroup\parindent=0pt \outertabtrue \setcounter{tablenote}{0}% \def\@captype{table}% \@ifnextchar[{\@chuckoptarg}{}% }% \def\endtable{% \global\tableonfalse\global\outertabfalse {\let\protect\relax\small\vskip2pt\@tablenotes\par}\xdef\@tablenotes{}% \egroup \vskip1pc plus 1filll \penalty-200 \vskip0pt plus -1filll }% \@namedef{table*}{\table} \@namedef{endtable*}{\endtable} \fi \@definecounter{tablenote} \def\thetablenote{\alph{tablenote}} \def\@tablenotes{} \def\@maketnmark{\leavevmode\hbox{$^{\reset@font\rm\@thetnmark}\m@th$}} \def\tablenote{\@ifnextchar[{\@xtablenote}{\stepcounter{tablenote}% \begingroup \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark\@tablenotetext}} \def\@xtablenote[#1]{\begingroup \c@tablenote #1\relax \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark\@tablenotetext} \long\def\@tablenotetext#1{% \bgroup \iftableon\else \@revmess{error}{tablenotes used outside a table environment,}% \typeout{\space\space\space\space\space THEY ARE ARE BEING LOST!}% \fi \def\protect{\noexpand\protect\noexpand}% \edef\@tempa{\@maketnmark}% \expandafter\expandafter\expandafter \gdef \expandafter\expandafter\expandafter \@tablenotes \expandafter\expandafter\expandafter {\expandafter\@tablenotes\expandafter\par\@tempa#1}% \egroup } \def\tablenotemark{% \@ifnextchar[{\@xtablenotemark}{\stepcounter{tablenote}% \begingroup\def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark}} \def\@xtablenotemark[#1]{\begingroup \c@tablenote #1\relax \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark} \def\@tablenotemark{\leavevmode\ifhmode \edef\@x@sf{\the\spacefactor}\fi \@maketnmark \ifhmode\spacefactor\@x@sf\fi\relax} \def\tablenotetext{\@ifnextchar [{\@xtablenotetext}% {\begingroup \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotetext}} \def\@xtablenotetext[#1]{\begingroup \c@tablenote #1\relax \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotetext} \let\tableline\hline \newdimen\@Ldec \newdimen\@Rdec \def\dec #1.#2 {\hbox to\@Ldec{\hss#1}\def\test{#2}% \ifx\test\empty\hbox to\@Rdec{\hfill}\else\hbox to\@Rdec{.#2\hss}\fi } \def\setdec #1.#2 {\relax% \bgroup \setbox0\hbox{\kern1pt\relax#1}\setbox1\hbox{\kern1pt\relax#2}% \global\@Ldec\wd0\global\@Rdec\wd1% \egroup } \setdec 000.000 % \@temptokena={\relax\egroup \ifnum\@flag=1 \setbox0\hbox{\unhbox0.\unhbox1}% \fi \gdef\@flag{1}\setbox1\hbox\bgroup }% {\catcode`\.=13\let.\relax \xdef\@defdot{\def.{\the\@temptokena}} } \@temptokena={.} {\catcode`\.=13 \ifx.\undefined % \xdef.{\the\@temptokena} \fi } \def\@activatedots{% \def\@startcenterdot{\begingroup \relax\gdef\@flag{0 } \catcode`\.=13\@defdot \setbox0\hbox\bgroup\ignorespaces}% \def\@endcenterdot{\unskip\egroup\catcode`\.=12 \ifnum\@flag=0 % \box0 \else % \ifdim\wd0=0pt % .\box1 \else \ifdim\wd1=0pt % \setbox1=\hbox{\phantom{.\copy0}}\box0\box1 \else % \ifdim\wd0>\wd1 \setbox1\hbox to\wd0{\box1\hfil}% \else \setbox0\hbox to\wd1{\hfil\box0}% \fi \box0.\box1 \fi \fi \fi \endgroup}% } \def\apstable@array[#1]#2{\setbox\@arstrutbox=\hbox{\vrule height\arraystretch \ht\strutbox depth\arraystretch \dp\strutbox width\z@}\@mkpream{#2}\edef\@preamble{\tabskip\z@ plus 1fil\halign to\@capwidth% \bgroup \tabskip\z@ plus1fill \@arstrut \@preamble\hskip-\tabcolsep \tabskip\z@ plus 1fil \cr}% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox% \bgroup\let\par\relax\outertabfalse% \let\@sharp##\let\protect\relax \@activatedots \lineskip\z@\baselineskip\z@\@preamble} \def\@array[#1]#2{\setbox\@arstrutbox=\hbox{\vrule height\arraystretch \ht\strutbox depth\arraystretch \dp\strutbox width\z@}\@mkpream{#2}\edef\@preamble{\halign\noexpand\@halignto \bgroup\tabskip\z@\@arstrut\@preamble \tabskip\z@\cr}% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox% \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi% \bgroup\let\par\relax% \let\@sharp##\let\protect\relax \@activatedots \lineskip\z@\baselineskip\z@\@preamble} \def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi \edef\@preamble{\@preamble \ifcase \@chnum \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil \or \hfil$\relax\@sharp$\or \hfil$\relax\@sharp$\hfil \fi}} \def\@tabclassz{\ifcase \@lastchclass\@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol\or \@firstampfalse \new@tabacol \fi \edef\@preamble{\@preamble{% \ifcase \@chnum \hfil\ignorespaces\@sharp\unskip\hfil \or \ignorespaces\@sharp\unskip\hfil \or \hfil\hskip\z@ \ignorespaces\@sharp\unskip \or\hfil\@startcenterdot\@sharp\@endcenterdot\hfil \fi}}} \def\@tabclassiv{\@addtopreamble\@nextchar} \let\tabbodyfont\small \def\squeezetable{\let\tabbodyfont\scriptsize} \def\tabular{\def\@halignto{}\@tabular} \newif\ifoutertab \global\outertabfalse \def\@tabular{% \ifoutertab \tabbodyfont\global\@newlistfalse\bgroup \else \leavevmode\hbox\bgroup$% \fi \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr \ifoutertab \if@quasitable\else \vskip2pt\hrule width\@capwidth\vskip2pt\hrule width\@capwidth\vskip2pt \fi \expandafter\apstable@tabarray \else \expandafter\@tabarray \fi } \def\apstable@tabarray{% \m@th\@ifnextchar[{\apstable@array}{\apstable@array[c]}% } \def\endtabular{\crcr\egroup\egroup \ifoutertab \if@quasitable\else \vskip2pt\hrule width\@capwidth\vskip2pt\hrule width\@capwidth\vskip2pt \fi \else $% \fi \egroup } \def\new@tabacol{\edef\@preamble{\@preamble \hskip0pt% }} \newif\iftableon \def\@mkpream#1{\@firstamptrue\@lastchclass6 \def\@preamble{}% \def\protect{\noexpand\protect\noexpand}\let\@sharp\relax \let\@startpbox\relax\let\@endpbox\relax \let\@startcenterdot\relax \let\@endcenterdot\relax \@expast{#1}\expandafter\@tfor \expandafter \@nextchar \expandafter:\expandafter=\@tempa\do{\@testpach\@nextchar \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or\@classv \fi% \iftableon\ifoutertab % \ifnum\@chclass=4 \@addtopreamble{\tabskip\z@}% \else \ifnum\@lastchclass=4 \@addtopreamble{\tabskip\z@ plus1fill}% \fi \fi \fi\fi \@lastchclass\@chclass}% \ifcase \@lastchclass \@acol \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi} \def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else \ifnum \@lastchclass=3 5 \else \z@ \if #1c\@chnum \z@ \else \if #1l\@chnum \@ne \else \if #1r\@chnum \tw@ \else \if #1d\@chnum 3 \else % \@chclass \if #1|\@ne \else \if #1@\tw@ \else \if #1p3 \else \z@ \@preamerr 0\fi \fi \fi \fi \fi \fi \fi \fi % \fi} \newif\if@quasitable \@quasitablefalse \def\quasitable{% \@quasitabletrue \par\vskip\topsep \bgroup \def\caption##1{\@revmess{warning}{Captions are not supported for quasitables.}\@revmess{warning}{No caption was set.}}% \def\tablenotes##1{\@revmess{warning}{Tablenotes are not supported for quasitables.}% \@revmess{warning}{No tablenotes were set.}}% \let\@capwidth\columnwidth \tableontrue\outertabtrue\parindent0pt\relax} \def\endquasitable{\par\egroup\vskip\topsep\noindent \@quasitablefalse \global\@ignoretrue} \def\@authoraddress{} \def\@title{} \def\@date{} \def\@preprint{} \def\and{\unskip, } \def\preprint#1{% \ifpreprintsty \def\@preprint{\noindent\hfill\hbox{#1}\vskip 10pt}% \fi } \def\title#1{\gdef\@title{{\large\bf\centering\ignorespaces#1\vskip2.5pt}}} \def\author#1{\expandafter\def\expandafter\@authoraddress\expandafter {\@authoraddress % \ifpreprintsty\vskip1.5pc \fi % {\dimen0=-\prevdepth \advance\dimen0 by23pt \nointerlineskip \rm\centering \vrule height\dimen0 width0pt\relax\ignorespaces#1\par }% }% } \def\address#1{\expandafter\def\expandafter\@authoraddress\expandafter {\@authoraddress{\small\it\centering\ignorespaces#1\par}}} \def\date#1{\gdef\@date{{\small\rm\centering(\ignorespaces#1\unskip)\par}}} \def\maketitle{\par \begingroup \let\cite\@bylinecite \def\thefootnote{\fnsymbol{footnote}}% \if@twocolumn \twocolumn[\@maketitle\vskip2pc]% \else \newpage \global\@topnum\z@ % \@maketitle \fi \thispagestyle{plain}\@thanks \endgroup \def\thefootnote{\arabic{footnote}}% \setcounter{footnote}{0}% \let\maketitle\relax \let\@maketitle\relax \let\@thanks\relax \let\@authoraddress\relax \let\@title\relax \let\@date\relax \let\thanks\relax } \def\@maketitle{% \@preprint \@title \ifdim\prevdepth=-1000pt \prevdepth0pt\fi \@authoraddress \@date } \def\abstract{\par \ifpreprintsty % \vskip2.5pc \begin{center}% {\large \abstractname\par}% \end{center}% \vskip.5pc \fi \bgroup \ifdim\prevdepth=-1000pt \prevdepth0pt\fi \hsize\columnwidth \if@twocolumn\else\leftskip=0.10753\textwidth \rightskip\leftskip\fi \dimen0=-\prevdepth \advance\dimen0 by17.5pt \nointerlineskip \small\vrule width 0pt height\dimen0 \relax } \def\endabstract{\par\egroup} \global\let\ifdraft\iffalse \def\draft{\global\let\ifdraft\iftrue} \def\pacs#1{\par % \bgroup \hsize\columnwidth \parindent0pt \if@twocolumn\else\leftskip=0.10753\textwidth \rightskip\leftskip\fi \ifdim\prevdepth=-1000pt \prevdepth0pt\fi \dimen0=-\prevdepth \advance\dimen0 by20pt\nointerlineskip \vbox to28pt{\small\vrule height\dimen0 width0pt\relax\ifdraft#1\fi\vfill}% \egroup \if@twocolumn\vskip1pc\fi \ifpreprintsty \penalty10000\vfill \hbox to\columnwidth{\hfil Typeset using {REV\TeX}}\newpage \fi } \def\keywords#1{% \@revmess{warning}{APS doesn't use keywords. I'll ignore them.}% } \mark{{}{}} % \if@twoside % \def\ps@headings{\let\@mkboth\markboth \def\@oddfoot{}\def\@evenfoot{}% \def\@evenhead{\rm \thepage\hfil \sl \leftmark}% \def\@oddhead{{\sl \rightmark}\hfil \rm\thepage}% \def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\z@ \thesection\hskip 1em\relax \fi ##1}}{}}% \def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne \thesubsection\hskip 1em\relax \fi ##1}}} \else % \def\ps@headings{\let\@mkboth\markboth \def\@oddfoot{}\def\@evenfoot{}% \def\@oddhead{{\sl \rightmark}\hfil \rm\thepage}% \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@ \thesection\hskip 1em\relax \fi ##1}}}} \fi \def\ps@myheadings{\let\@mkboth\@gobbletwo \def\@oddhead{{\sl\rightmark}\hfil \rm\thepage}% \def\@oddfoot{}\def\@evenhead{\rm \thepage\hfil\sl\leftmark}% \def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}} \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} \ps@plain % \pagenumbering{arabic} % \if@twoside\else\raggedbottom\fi % \if@twocolumn % \twocolumn \sloppy \raggedbottom % \else \sloppy \onecolumn % \raggedbottom % \fi \if@titlepage \@@input titlepag.sty\relax \fi \endinput % % ****** End of file aps.sty ****** �����������������������������extrarpms/revtex/easybib.tex������������������������������������������������������������������������0100644�0000764�0000764�00000036161�07267371705�015600� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% keywords: bibtex latex tex bibliography references % \documentstyle[seg,manuscript]{revtex} % This line gives a manuscript style. % %\documentstyle[seg]{revtex} % Uncomment this line for a preprint style. % \def\BibTeX{\rm B{\sc ib}\TeX} \begin{document} \bibliographystyle{seg} \title{Referencing and bibliographies \\ in SEG publications made easy} \author{Martin Karrenbach} \address{Stanford Exploration Project, 366 Mitchell, Stanford, CA 94305, U.S.A.} \maketitle \begin{abstract} When preparing a paper for publication, authors usually struggle with the format and style of references to related articles. First they have to make sure that previous publications are cited correctly in the body of the paper. Second they have to make sure that the complete list of cited publications obeys the stylistic demands of the SEG editor. To make it as easy as possible for the author and also to enforce stylistic consistency we require that the {\tt Bibliography} environment offer by \LaTeX\ is used. SEG provides guidelines and examples of citations in this article. \end{abstract} \section{Philosophy} We emphatically encourage authors to take advantage of the \BibTeX\ style file that the SEG editor provides. If you are using \TeX\ and \LaTeX\ already, you should also have \BibTeX\ available to you. If you do not, we encourage you to get hold of the latest \TeX\ distribution -- \BibTeX\ is included. \BibTeX\ saves the authors of scientific articles a lot of work, by converting \BibTeX\ database entries into bibliographic entries used in \LaTeX\ . Those get automatically included in your paper using the correct style. All references will automatically get sorted and correctly numbered if there are more than one paper from the same author per year. The appropriate style will be chosen depending on the type of citation such as articles, books, proceedings, theses or talks. SEG currently provides all Geophysics articles up to 1992 on CDROM, also in the previous year SEG published indices of Geophysics, The Leading Edge, SEG Abstracts, SEG Books and the publications of associated geophysical organizations. All those data bases can be easily converted into \BibTeX\ files. The Stanford Exploration Project has used this method since 1991 and is happy to provide SEG with those tools. You do not need to rely on outside \BibTeX\ databases, but you can easily create your own \BibTeX\ files. At the end of this section the file {\tt segmaster.bib} is included as an example. For more details have a look in Lamport's \LaTeX\ guide. \cite{lamport} \section{How to use bibliographies in \LaTeX\ } \LaTeX\ allows to refer to published material using the {\tt $\backslash$cite\{ \}} command. The SEG style file augments that by another command {\tt $\backslash$shortcite\{ \}}, which only displays the year and not the author names. For example to cite the first article in the bibliography that is shown below \cite{lan66}, use the command \verb+\cite{lan66}+. The citation key {\tt lan66} is the second argument to the \verb+\bibitem[tag]{citation key}+ command. The second type of citation: \shortcite{lan66} can be invoked, using \verb+\shotcite{lan66}+. Those two commands govern how you want to cite material in your text. At the end of your paper there has to be a list of all cited articles. The standard way in \LaTeX\ is to have all cited entries listed in the {\tt thebibliography} environment. After the CONCLUSIONS and ACKNOWLEDGMENTS, the reference list will appear by typing: {\tighten \begin{verbatim} \begin{thebibliography}{0} \bibitem[Landes, 1966]{lan66} Landes, K. K., 1966, A scrutiny of the abstract, {II}: AAPG Bull., {\bf 50}, 1992. \bibitem[Lindsey, 1993]{lindsey94} Lindsey, J. P, Jr., Instructions to authors: Geophysics, {\bf 58}, 2-9. \end{thebibliography} \end{verbatim} } The result will be the following: {\tighten \begin{thebibliography}{0} \bibitem[Landes, 1966]{lan66} Landes, K. K., 1966, A scrutiny of the abstract, {II}: AAPG Bull., {\bf 50}, 1992. \bibitem[Lindsey, 1993]{lindsey94} Lindsey, J. P, Jr., Instructions to authors: Geophysics, {\bf 58}, 2-9. \end{thebibliography} } This requires the author to type in all cited articles. Possibly repeating it for other publications which require slight style changes. An alternative way with \BibTeX\ is shown in the next section (which avoids typing those in). \section{How to use {{\BibTeX\ }} to create bibliographies} In contrast to the previous section you could have put the two entries in the following form in a file {\tt segmaster.bib}: {\tighten \begin{verbatim} @ARTICLE{lan66, author = {K. K. Landes}, journal = {AAPG Bull.}, title = {A scrutiny of the abstract, {II}}, volume = {50}, page= {1992} year = {1966} } @ARTICLE{lindsey94, author = {J. P. Jr. Lindsey}, journal = {Geophysics}, title = {Instructions to authors}, volume = {58}, pages = {2-9}, year = {1993} } \end{verbatim} } All entries start with some type identifier, such as {\tt @ARTICLE}, that will describe what kind of publication it is. The first item after that is the citation key {\tt lan66}. This is the key you use to refer to the entry and with which you cite the document in your paper (\verb+\cite{lan66}+). Following that are descriptive keywords, like {\tt author, title, volume, etc.}. These keywords will vary with the type of publication. For more details look at Lamport's \LaTeX guide \shortcite{lamport} and the file {\tt segmaster.bib}, which contains examples how to write your own \BibTeX\ entries. Instead of typing the bibliography into your paper (as the last section did) you now have merely to put a single line: {\bf \begin{verbatim} \bibliography{segmaster} \end{verbatim} } That will tell \LaTeX\ to insert the bibliography in your paper. The argument to the {\bf \verb+\bibliography{...,...}+} can be a single file name ({\tt segmaster}) or a comma separated list of filenames ({\tt segmaster,mybib}). \BibTeX\ assumes those files to have the extension {.bib}. To get all the references resolved you have to run your paper through: {\tt latex}, then through {\tt bibtex}. {\tt latex} creates a {\tt .aux} file. {\tt bibtex} uses that {\tt .aux} file and creates a {\tt .bbl} file. This bibliography file {\tt .bbl} contains all the entries that you would have originally had to type in by hand. The biggest advantage is however, that you do not have to worry about stylistic errors. It will be correct -- the SEG style file takes care of that. To get this stylistic behavior, your document must contain the command {\bf\verb+\bibliographystyle{seg}+}. Once you have the {\tt .bbl} file created, you do not have to run {\tt bibtex} again; you just use {\tt latex} the same way as usual. % You only have to rerun {\tt bibtex} again, if you want to change (add or delete) cited papers in your manuscript. % %Look at the listings in this paper %if you want to know how this paper and the bibliography file was written. \section{Examples of Citations} This section shows many examples (including the ones given in ``Instructions to the authors'') of citing relevant published material. The {\tt $\backslash$cite} command takes as argument a {\tt key}, that identifies a bibliography entry. It is easiest if you compare the following citations with the original bibliography file, which is listed as an appendix. I am citing a book in the full form \cite{lamport} , while here I am citing only the year of the book \shortcite{lamport}. I was using the command: \verb+\cite{lamport}+ and then \verb+\shortcite{lamport}+. The entry in the \BibTeX\ file is as follow: {\tighten \begin{verbatim} @BOOK{lamport, author = {L[eslie] Lamport}, title = {\LaTeX\ user's guide \& reference manual}, year = {1985}, publisher ={Addison-Wesley Publishing Company} } \end{verbatim} } Here I cite an article the same way, once full \cite{segarticle} and once just the year \shortcite{segarticle}. Articles with more than two authors are cited using the correct style \cite{magazine3}. % %Note that if you want to keep something literal in the title enclose it with %\{\}, that will keep it from being lowercased. % This is the citation of a magazine article \cite{segmagazine}, a M.Sc. thesis \cite{segms}, a patent \cite{patent}, a book \cite{segbook}, an article in a book \cite{inbook}, an SEG paper \cite{segabstract} and finally an SEG talk \cite{segtalk}. Here I am citing multiple papers in one citation: \cite{segtalk,segabstract}, using \verb+\cite{segtalk,segabstract}+. Be sure not to leave spaces in the comma separated list, \verb+\cite{segtalk,\ segabstract}+ will NOT work. Letters will be added automatically to the year if an author has two publications in the same year, such as the articles by Claerbout \shortcite{Claerbout.sep.77.245,Claerbout.sep.77.19}. To let you see all referenced articles, I put \verb+\bibliography{segmaster}+ here. This bibliography contains all references given in the ``Instruction to the authors'', that appears in the first issue of each volume of Geophysics. \nocite{lamport} % uncomment the following line when using bibtex %\bibliography{segmaster} % comment the following lines when using bibtex %%%%%%%%%%%%%%%%%%%%%%%%% %%% this is included from the easybib.bbl file that was generated by bibtex \begin{thebibliography}{} \bibitem[\protect\citeauthoryear{Anstey}{1976}]{patent} Anstey, N., 1976, Seismic delineation of oil and gas reservoirs using borehole geophones: Canadian Patents 1 106 957 and 1 114 937. \bibitem[\protect\citeauthoryear{Baker and Carter}{1972}]{inbook} Baker, D.~W., and Carter, N.~L., 1972, Seismic velocity anisotropy calculated for ultramafic minerals and aggregates, {\it in} Heard, H.~C., Borg, I.~V., Carter, N.~L., and Raleigh, C.~B., Eds., Flow and fracture of rocks: Am. Geophys. Union, Geophys. Mono., 16, 157--166. \bibitem[\protect\citeauthoryear{Constable}{1986}]{segabstract} Constable, S.~C., 1986, Offshore electromagnetic surveying techniques: 56th Ann. Internat. Mtg., Soc. Expl. Geophys., Expanded Abstracts, 81--82. \bibitem[\protect\citeauthoryear{Davis and Rabinowitz}{1975}]{segbook} Davis, P.~J., and Rabinowitz, P., 1975, Methods of numerical integration: Academic Press Inc. \bibitem[\protect\citeauthoryear{Hubbard}{1979}]{segtalk} Hubbard, T.~P., 1979, Deconvolution of surface recorded data using vertical seismic profiles: Presented at the 49th Ann. Internat. Mtg., Soc. Expl. Geophys. \bibitem[\protect\citeauthoryear{Lamport}{1985}]{lamport} Lamport, L., 1985, {\LaTeX\ user's guide \& reference manual}: Addison-Wesley Publishing Company. \bibitem[\protect\citeauthoryear{Landes}{1966}]{lan66} Landes, K.~K., 1966, A scrutiny of the abstract, {II}: AAPG Bull., {\bf 50}, 1992. \bibitem[\protect\citeauthoryear{Lindsey}{1988}]{segmagazine} Lindsey, J.~P., 1988, Measuring wavelet phase from seismic data: The Leading Edge, {\bf 7}, no. 7, 10--16. \bibitem[\protect\citeauthoryear{Lodha}{1974}]{segms} Lodha, G.~S., 1974, Quantitative interpretation of ariborne electromagnetic response for a spherical model: Masters's thesis, University of Toronto. \bibitem[\protect\citeauthoryear{Loveridge \bgroup et al.\egroup }{1984}]{magazine3} Loveridge, M.~M., Parkes, G.~E., Hatton, L., and Worthington, M.~H., 1984, Effects of marine source array directivity on seismic data and source signature deconvolution: First Break, {\bf 2}, no. 7, 16--23. \bibitem[\protect\citeauthoryear{Zonge and Wynn}{1975}]{segarticle} Zonge, K.~L., and Wynn, J.~C., 1975, {EM} coupling, its intrinsic value, its removal, and the cultural coupling problem: Geophysics, {\bf 40}, 831--850. \bibitem[\protect\citeauthoryear{Claerbout}{1993a}]{Claerbout.sep.77.19} Claerbout, J.~F., 1993a, 3-d local-monoplane annihilator: Stanford Exploration Project Report, {\bf 77}, 19--26. \bibitem[\protect\citeauthoryear{Claerbout}{1993b}]{Claerbout.sep.77.245} Claerbout, J.~F., 1993b, Steep-dip deconvolution: Stanford Exploration Project Report, {\bf 77}, 245--256. \end{thebibliography} %%%%%%%%%%%%%%%%%%%%%%%%%% \appendix \section*{Listing} I list the complete bibliography file, that is used by this paper. This file could be used to create many different reference styles. Please compare these entries to the previous bibliographies. {\tighten \begin{verbatim} @ARTICLE{lan66, author = {K[] K[] Landes}, journal = {AAPG Bull.}, title = {A scrutiny of the abstract, {II}}, volume = {50}, pages={1992}, year = {1966} } @ARTICLE{lindsey93, author = {J. P. Jr. Lindsey}, journal = {Geophysics}, title = {Instructions to authors}, volume = {58}, pages = {2-9}, year = {1993} } @ARTICLE{segarticle, author = {K[] L[] Zonge and J[] C[] Wynn}, journal = {Geophysics}, title = {{EM} coupling, its intrinsic value, its removal, and the cultural coupling problem}, volume = {40}, pages = {831--850}, year = {1975} } @ARTICLE{segmagazine, author = {J[] P[] Lindsey}, journal = {The Leading Edge}, title = {Measuring wavelet phase from seismic data}, volume = {7}, number = {7}, pages = {10-16}, year = {1988} } @BOOK{segbook, author = {P[] J[] Davis and P[] Rabinowitz}, title = {Methods of numerical integration}, year = {1975}, publisher ={Academic Press Inc.} } @INBOOK{inbook, author={D. W. Baker and N. L. Carter}, year={1972}, editor={ H. C. Heard and I. V. Borg and N. L. Carter and C. B. Raleigh}, title={Seismic velocity anisotropy calculated for ultramafic minerals and aggregates}, booktitle={Flow and fracture of rocks}, publisher={Am. Geophys. Union}, series={Geophys. Mono.}, volume={16}, pages={157-166} } @MASTERSTHESIS{segms, author = {G[unter] S[ergei] Lodha}, title = {Quantitative interpretation of ariborne electromagnetic response for a spherical model}, school = {University of Toronto}, year = {1974} } @INPROCEEDINGS{segtalk, author={T. P. Hubbard}, howpublished = {talk}, year= {1979}, title ={Deconvolution of surface recorded data using vertical seismic profiles}, meeting={49th Ann. Internat. Mtg.}, publisher={Soc. Expl. Geophys.}, } @INPROCEEDINGS{segabstract, author={S[ullivan] C[lay] Constable}, year= {1986}, title ={Offshore electromagnetic surveying techniques}, meeting={56th Ann. Internat. Mtg.}, booktitle={Expanded Abstracts}, publisher={Soc. Expl. Geophys.}, pages={81-82} } @ARTICLE{patent, author={N. Anstey}, title={Seismic delineation of oil and gas reservoirs using borehole geophones}, year={1976}, journal={Canadian Patents 1 106 957 and 1 114 937} } @PHDTHESIS{segphd, author = {J[oe] Dellinger}, title = {Anisotropic Wave Propagation}, school = {Stanford University}, year = {1990} } @ARTICLE{magazine3, author={M. M. Loveridge and G. E. Parkes and L. Hatton and M. H. Worthington }, title={Effects of Marine Source Array Directivity on Seismic Data and Source Signature Deconvolution}, year=1984, journal={First Break}, volume=2, number=7, pages={16-23} } @BOOK{lamport, author = {L[eslie] Lamport}, title = {{\LaTeX\ user's guide \& reference manual}}, year = {1985}, publisher ={Addison-Wesley Publishing Company} } \end{verbatim} } \end{document} ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/epsfig.sty�������������������������������������������������������������������������0100644�0000764�0000764�00000122257�07267371705�015460� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%---------------------------------------------- \def\fileversion{v1.20a}% was \def\fileversion{v1.20}% \def\filedate{21.6.94}% was \def\filedate{26.1.94}% %%% %%% from a suggestion by eijkhout@csrd.uiuc.edu to allow %%% loading as a style file: \edef\epsfigRestoreAt{\catcode`@=\number\catcode`@\relax}% \catcode`\@=11\relax \ifx\undefined\@makeother % -pks- \def\@makeother#1{\catcode`#1=12\relax} % -pks- \fi % -pks- \immediate\write16{Document style option `epsfig', \fileversion\space <\filedate> (edited by SPQR + pks)}% was <\filedate> (edited by SPQR)}% %%%-------------------------------------------------------------------- %%% psfig merged with EPSF = epsfig Release 1 %%% 1.0 November 91 %%% 1.1 Dec 91 fixed some bugs %%% 1.2 Jan 92 fixed bug that it never stopped reading PS file until %%% it reached the end! merged in changes from psfig1.8 %%% (plain TeX definition of \fbox, new code for rotation) %%% 1.3 Jan 92 separated out \special code so that dvitops can be %%% supported. use \psfigdriver{dvitops}% %%% 1.4 Jan 92 fixed dvitops. need to input psfig at different point %%% in dvips from dvitops. define \psfig@start and \psfig@end to cope %%% with this %%% 1.5 Jan 92 force use of psfig method if using dvitops %%% 1.6 May 92 fixed bugs %%% 1.7 Sep 92 added support for emtex, sort of. reads a .bb file %%% and imports .pcx file. Boolean flag \epsfigdos used %%% to indicate that we cannot have more than one . in the %%% suffix (ie we will look at file.bb not file.eps.bb) %%% %%% 1.8 Sep 92 added support for OzTeX; fixed bugs in dvips support %%% (including clipping to bounding box); removed use of dimen100. %%% %%% 1.9 Dec 92 cleaned up documentation again %%% 1.10 Mar 93 cleaned up for plain TeX %%% 1.11 Mar 93 merged in changes by Peter Galko (supplied by CERN) for %%% use with Textures %%% 1.12 Apr 93 actually *tested* the Textures additions, and so rewrote %%% from scratch (borrowed an idea from psbox) %%% 1.13 May 93 allow for file names with _ or $ in them in \psdraft, and %%% fix problem that occurred with missing BoundingBox %%% 1.14 May 93 allow for .z suffix %%% 1.15 July 93 allow for .gz suffix %%% use \leavevmode as appropriate %%% fix plain \TeX mode %%% (fixes from Peter-Klaus Schilling <R02SCH@DSYIBM.DESY.DE>) %%% 1.16 August 93 [peta@mcrcim.mcgill.edu (Peter Whaite)] %%% -- Implement Perl scripts to do compressed file inclusion and bb %%% generation. %%% -- Add \pscompress. %%% -- Tidy up comments. %%% 1.17 September 93 SPQR %%% better code for literal name printing %%% allowed for spaces around , and = %%% 1.18 17.9.93 %%% updates to epsbb and epsfig from Peter W %%% 1.19 14.11.93 %%% mistaken placement of calculation of EPS@Height resulted in errors %%% 1.20 defaults to no compression %-------------------------------------------------------- %%% %%% code rearranged by Sebastian Rahtz (spqr@uk.ac.york.minster) %%% from work by %%% Trevor Darrell; Tom Rokicki; Daniel Smith; H. Payne, Robert Russell %%% %%% This is a version of Darrell's `psfig' macros which are designed %%% to be used with dvips or dvitops, and the `epsf' macros (these are %%% automaticaly included by the style file). I did this because the %%% \special commands used by `epsf' appear to be more robust and %%% portable than the raw \specials used by `psfig', but I preferred %%% the psfig interface. This system preserves the psfig interface, %%% but mainly uses epsf macros to carry out the job. The user %%% interface is identical to \psfig, but you just use \epsfig %%% instead. Rotation uses the original psfig macros: I could not work %%% out how to do rotation with the epsf macros. %%% %%% The same applies to `rheight' and `rwidth' %%% %%% If you *really* want old psfig behaviour regardless, use \psfig. It is %%% still there. Some of the features have gone, however. \figurepath %%% seemed redundant, since it could be controlled by the TEXINPUTS %%% variable anyway. %%% %%% As an added feature, if FILE cannot be found, a file called FILE.bb %%% is searched for. This should simply contain a %%BoundingBox line. A perl %%% script "epsbb" is provided to generate these automatically. It is %%% assumed that if this exists, then the actual postscript is in UNIX %%% compress format in FILE.Z or in GNU gzip format in FILE.gz or FILE.z. %%% %%% The macros then read the BB from FILE.bb, but insert "`epsfig FILE`" in %%% the output for dvips to interpret (don't worry, it knows about this). %%% "Epsfig" is another perl script which searches the TEXINPUTS path for %%% FILE or FILE.{gz,z,Z}. %%% %%% As an added bonus if you say \pscompress the -c switch will be passed to %%% epsfig, causing automatic FILE.bb generation and compression the first %%% time dvips is run. Files in the system directories will NOT be %%% compressed. %%% If you are *not* on a Unix system and use this, deliberately or by %%% mischance, you will have problems! %%% %%% This file can be included in a dumped format, or used as a LaTeX %%% style file, or used in plain TeX. It does not load itself twice (I hope) %%% %-------------------------------------------------------------------- %-------------------------------------------------------------------- %%% previous notes. this copy of psfig.tex inherited from versions 1.8 %-------------------------------------------------------------------- %%% All psfig/tex software, documentation, and related files %%% in this distribution of psfig/tex are %%% Copyright 1987, 1988, 1991 Trevor J. Darrell % %%% Permission is granted for use and non-profit distribution of psfig/tex %%% providing that this notice be clearly maintained. The right to %%% distribute any portion of psfig/tex for profit or as part of any commercial %%% product is specifically reserved for the author(s) of that portion. %%% %%% Thanks to Greg Hager (GDH) and Ned Batchelder for their contributions %%% to this project. %%%-------------------------------------------------------------------------- %%% GDH 7/26/87 -- changed so that it first looks in the local directory, %%% then in a specified global directory for the ps file. %%% SPQR 12/91 removed that last change. it follows TEXINPUTS anyway %%% RPR 6/25/91 -- changed so that it defaults to user-supplied name if %%% boundingbox info is specified, assuming graphic will be created by %%% print time. %%% SPQR 12/91 removed that last change. use LaTeX error message instead %%% SPQR 12/91 -- `no file found' produces LaTeX error message. %%% If you recover from that the file name is set in draft %%% mode in place of the file. %%% %%% Modified by J. Daniel Smith on 9 October 1990 to accept the %%% %%BoundingBox: comment with or without a space after the colon. Stole %%% file reading code from Tom Rokicki's EPSF.TEX file (see below). %%% --- SPQR 12.91 removed most of this to use epsf directly %%% %%% More modifications by J. Daniel Smith on 29 March 1991 to allow the %%% the included PostScript figure to be rotated. The amount of %%% rotation is specified by the "angle=" parameter of the \epsfig command. %%% %%% Modified by Robert Russell on June 25, 1991 to allow users to specify %%% .ps filenames which don't yet exist, provided they explicitly provide %%% boundingbox information via the \epsfig command. Note: This will only work %%% if the "file=" parameter follows all four "bb???=" parameters in the %%% command. This is due to the order in which psfig interprets these params. %%% ---- SPQR 12.91 removed all this %%% %%% 3 Jul 1991 JDS check if file already read in once %%% %-----------------------------USAGE--------------------------------------- % From: gvr@cs.brown.edu (George V. Reilly) % % \psdraft draws an outline box, but doesn't include the figure % in the DVI file. Useful for previewing. % % \psfull includes the figure in the DVI file (default). % % \psscalefirst width= or height= specifies the size of the figure % before rotation. % \psrotatefirst (default) width= or height= specifies the size of the % figure after rotation. Asymetric figures will % appear to shrink. % % usage: \epsfig{file=, figure=, height=, width=, % bbllx=, bblly=, bburx=, bbury=, % rheight=, rwidth=, clip=, angle=, silent=}% % % "file" is the filename. If no path name is specified and the % file is not found in the current directory, % it will be looked for in directory \psfigurepath. % "figure" is a synonym for "file". % By default, the width and height of the figure are taken from % the BoundingBox of the figure. % If "width" is specified, the figure is scaled so that it has % the specified width. Its height changes proportionately. % If "height" is specified, the figure is scaled so that it has % the specified height. Its width changes proportionately. % If both "width" and "height" are specified, the figure is scaled % anamorphically. % "bbllx", "bblly", "bburx", and "bbury" control the PostScript % BoundingBox. % "rheight" and "rwidth" are the reserved height and width % of the figure, i.e., how big TeX actually thinks % the figure is. They default to "width" and "height". % The "clip" option ensures that no portion of the figure will % appear outside its BoundingBox. "clip=" is a switch and % takes no value, but the `=' must be present. % The "angle" option specifies the angle of rotation (degrees, ccw). % The "silent" option makes \psfig work silently. % %-------------------------------------------------------------------------- \newcount\EPS@Height \newcount\EPS@Width \newcount\EPS@xscale \newcount\EPS@yscale \def\psfigdriver#1{% \bgroup\edef\next{\def\noexpand\tempa{#1}}% \uppercase\expandafter{\next}% \def\LN{DVITOLN03}% \def\DVItoPS{DVITOPS}% \def\DVIPS{DVIPS}% \def\emTeX{EMTEX}% \def\OzTeX{OZTEX}% \def\Textures{TEXTURES}% \global\chardef\fig@driver=0 \ifx\tempa\LN \global\chardef\fig@driver=0\fi \ifx\tempa\DVItoPS \global\chardef\fig@driver=1\fi \ifx\tempa\DVIPS \global\chardef\fig@driver=2\fi \ifx\tempa\emTeX \global\chardef\fig@driver=3\fi \ifx\tempa\OzTeX \global\chardef\fig@driver=4\fi \ifx\tempa\Textures \global\chardef\fig@driver=5\fi \egroup \def\psfig@start{}% \def\psfig@end{}% \def\epsfig@gofer{}% \ifcase\fig@driver % case 0 ln03 \typeout{WARNING! **** no specials for LN03 psfig}% % \or % case 1: dvitops \def\psfig@start{}% \def\psfig@end{\special{dvitops: import \@p@sfilefinal \space \@p@swidth sp \space \@p@sheight sp \space fill}% \if@clip \typeout{Clipping not supported}\fi \if@angle \typeout{Rotating not supported}\fi }% \let\epsfig@gofer\psfig@end % \or %case2 dvips \def\psfig@start{\special{ps::[begin] \@p@swidth \space \@p@sheight \space% \@p@sbbllx \space \@p@sbblly \space% \@p@sbburx \space \@p@sbbury \space% startTexFig \space }% \if@clip \if@verbose \typeout{(clipped to BB) }% \fi \special{ps:: doclip \space }% \fi \if@angle % moved after \if@clip ... \fi -pks- \special {ps:: \@p@sangle \space rotate \space} \fi \special{ps: plotfile \@p@sfilefinal \space }% \special{ps::[end] endTexFig \space }% }% \def\psfig@end{}% \def\epsfig@gofer{\if@clip \if@verbose \typeout{(clipped to BB)}% \fi \epsfclipon \fi \epsfsetgraph{\@p@sfilefinal}% }% % \or % case 3, emTeX \typeout{WARNING. You must have a .bb info file with the Bounding Box of the pcx file}% \def\psfig@start{}% % when emtex imports a pcx file, it is *below* where we are now. % so raise the box \def\psfig@end{\typeout{pcx import of \@p@sfilefinal}% \if@clip \typeout{Clipping not supported}\fi \if@angle \typeout{Rotating not supported}\fi \raisebox{\@p@srheight sp}{\special{em: graph \@p@sfilefinal}}}% \def\epsfig@gofer{}% % \or % case 4, OzTeX \def\psfig@start{}% \def\psfig@end{% \EPS@Width\@p@swidth \EPS@Height\@p@sheight \divide\EPS@Width by 65781 % convert sp to bp \divide\EPS@Height by 65781 \special{epsf=\@p@sfilefinal \space width=\the\EPS@Width \space height=\the\EPS@Height }% \if@clip \typeout{Clipping not supported}\fi \if@angle \typeout{Rotating not supported}\fi }% \let\epsfig@gofer\psfig@end \or % case 5, Textures \def\psfig@end{ % what is scaling of picture \EPS@Width=\@bbw \divide\EPS@Width by 1000 \EPS@xscale=\@p@swidth \divide \EPS@xscale by \EPS@Width \EPS@Height=\@bbh \divide\EPS@Height by 1000 \EPS@yscale=\@p@sheight \divide \EPS@yscale by\EPS@Height % take largest calculated scale \ifnum\EPS@xscale>\EPS@yscale\EPS@xscale=\EPS@yscale\fi \if@clip \if@verbose \typeout{(clipped to BB)}% \fi \epsfclipon \fi \special{illustration \@p@sfilefinal\space scaled \the\EPS@xscale}% }% \def\psfig@start{}% \let\epsfig\psfig \else \typeout{WARNING. *** unknown driver - no psfig}% \fi }% % copies of bits of LaTeX we need.... \newdimen\ps@dimcent % % \fbox is defined in latex.tex; so if \fbox is undefined, assume that % we are not in LaTeX. % Perhaps this could be done better??? \ifx\undefined\fbox % \fbox code from modified slightly from LaTeX \newdimen\fboxrule \newdimen\fboxsep \newdimen\ps@tempdima \newbox\ps@tempboxa \fboxsep = 0pt \fboxrule = .4pt \long\def\fbox#1{\leavevmode\setbox\ps@tempboxa\hbox{#1}\ps@tempdima\fboxrule \advance\ps@tempdima \fboxsep \advance\ps@tempdima \dp\ps@tempboxa \hbox{\lower \ps@tempdima\hbox {\vbox{\hrule height \fboxrule \hbox{\vrule width \fboxrule \hskip\fboxsep \vbox{\vskip\fboxsep \box\ps@tempboxa\vskip\fboxsep}\hskip \fboxsep\vrule width \fboxrule}% \hrule height \fboxrule}}}}% \fi \ifx\@ifundefined\undefined \long\def\@ifundefined#1#2#3{\expandafter\ifx\csname #1\endcsname\relax#2\else#3\fi}% \fi % \@ifundefined{typeout}% {\gdef\typeout#1{\immediate\write\sixt@@n{#1}}}% {\relax}% % %%% check to see if macros already loaded in (maybe some other file says %%% "\input epsfig") ... \@ifundefined{epsfig}{}{\typeout{EPSFIG --- already loaded}\endinput}% % %%% %%% we need Rokicki's EPSF macros anyway, unless they are already loaded % \@ifundefined{epsfbox}{\input epsf}{}% % %% SPQR 12.91 handling of errors using standard LaTeX error %% mechanism. In case we are plain TeX we first define the %% error routines... \ifx\undefined\@latexerr \newlinechar`\^^J \def\@spaces{\space\space\space\space}% \def\@latexerr#1#2{% \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}% \typeout{Error. \space see a manual for explanation.^^J \space\@spaces\@spaces\@spaces Type \space H <return> \space for immediate help.}\errmessage{#1}}% \fi %------------------------ %% a couple of LaTeX error messages \def\@whattodo{You tried to include a PostScript figure which cannot be found^^JIf you press return to carry on anyway,^^J The failed name will be printed in place of the figure.^^J or type X to quit}% \def\@whattodobb{You tried to include a PostScript figure which has no^^Jbounding box, and you supplied none.^^J If you press return to carry on anyway,^^J The failed name will be printed in place of the figure.^^J or type X to quit}% %------------------------ % %------------------------------------------------------------------------ %------------------------------------------------------------------------ %%% @psdo control structure -- similar to Latex @for. %%% I redefined these with different names so that psfig can %%% be used with TeX as well as LaTeX, and so that it will not %%% be vunerable to future changes in LaTeX's internal %%% control structure, % \def\@nnil{\@nil}% \def\@empty{}% \def\@psdonoop#1\@@#2#3{}% \def\@psdo#1:=#2\do#3{\edef\@psdotmp{#2}\ifx\@psdotmp\@empty \else \expandafter\@psdoloop#2,\@nil,\@nil\@@#1{#3}\fi}% \def\@psdoloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else #5\def#4{#2}\ifx #4\@nnil \else#5\@ipsdoloop #3\@@#4{#5}\fi\fi}% \def\@ipsdoloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil \let\@nextwhile=\@psdonoop \else #4\relax\let\@nextwhile=\@ipsdoloop\fi\@nextwhile#2\@@#3{#4}}% \def\@tpsdo#1:=#2\do#3{\xdef\@psdotmp{#2}\ifx\@psdotmp\@empty \else \@tpsdoloop#2\@nil\@nil\@@#1{#3}\fi}% \def\@tpsdoloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil \let\@nextwhile=\@psdonoop \else #4\relax\let\@nextwhile=\@tpsdoloop\fi\@nextwhile#2\@@#3{#4}}% %%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% file reading stuff from epsf.tex %%% EPSF.TEX macro file: %%% Written by Tomas Rokicki of Radical Eye Software, 29 Mar 1989. %%% Revised by Don Knuth, 3 Jan 1990. %%% Revised by Tomas Rokicki to accept bounding boxes with no %%% space after the colon, 18 Jul 1990. %%% Portions modified/removed for use in PSFIG package by %%% J. Daniel Smith, 9 October 1990. %%% Just the bit which knows about (atend) as a BoundingBox % %%% hacked back a bit by SPQR 12/91 % \long\def\epsfaux#1#2:#3\\{\ifx#1\epsfpercent \def\testit{#2}\ifx\testit\epsfbblit \@atendfalse \epsf@atend #3 . \\% \if@atend \if@verbose \typeout{epsfig: found `(atend)'; continuing search}% \fi \else \epsfgrab #3 . . . \\% \epsffileokfalse\global\no@bbfalse \global\epsfbbfoundtrue \fi \fi\fi}% % %%% Determine if the stuff following the %%BoundingBox is `(atend)' %%% J. Daniel Smith. Copied from \epsf@grab above. % \def\epsf@atendlit{(atend)} % \def\epsf@atend #1 #2 #3\\{% \def\epsf@tmp{#1}\ifx\epsf@tmp\empty \epsf@atend #2 #3 .\\\else \ifx\epsf@tmp\epsf@atendlit\@atendtrue\fi\fi}% %%% End of file reading stuff from epsf.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% trigonometry stuff from "trig.tex" \chardef\trig@letter = 11 \chardef\other = 12 \newif\ifdebug %%% turn me on to see TeX hard at work ... \newif\ifc@mpute %%% don't need to compute some values \newif\if@atend \c@mputetrue % but assume that we do \let\then = \relax \def\r@dian{pt }% \let\r@dians = \r@dian \let\dimensionless@nit = \r@dian \let\dimensionless@nits = \dimensionless@nit \def\internal@nit{sp }% \let\internal@nits = \internal@nit \newif\ifstillc@nverging \def \Mess@ge #1{\ifdebug \then \message {#1} \fi}% { %%% Things that need abnormal catcodes %%% \catcode `\@ = \trig@letter \gdef \nodimen {\expandafter \n@dimen \the \dimen}% \gdef \term #1 #2 #3% {\edef \t@ {\the #1}%%% freeze parameter 1 (count, by value) \edef \t@@ {\expandafter \n@dimen \the #2\r@dian}% %%% freeze parameter 2 (dimen, by value) \t@rm {\t@} {\t@@} {#3}% }% \gdef \t@rm #1 #2 #3% {{% \count 0 = 0 \dimen 0 = 1 \dimensionless@nit \dimen 2 = #2\relax \Mess@ge {Calculating term #1 of \nodimen 2}% \loop \ifnum \count 0 < #1 \then \advance \count 0 by 1 \Mess@ge {Iteration \the \count 0 \space}% \Multiply \dimen 0 by {\dimen 2}% \Mess@ge {After multiplication, term = \nodimen 0}% \Divide \dimen 0 by {\count 0}% \Mess@ge {After division, term = \nodimen 0}% \repeat \Mess@ge {Final value for term #1 of \nodimen 2 \space is \nodimen 0}% \xdef \Term {#3 = \nodimen 0 \r@dians}% \aftergroup \Term }}% \catcode `\p = \other \catcode `\t = \other \gdef \n@dimen #1pt{#1} %%% throw away the ``pt'' }% \def \Divide #1by #2{\divide #1 by #2} %%% just a synonym \def \Multiply #1by #2%%% allows division of a dimen by a dimen {{%%% should really freeze parameter 2 (dimen, passed by value) \count 0 = #1\relax \count 2 = #2\relax \count 4 = 65536 \Mess@ge {Before scaling, count 0 = \the \count 0 \space and count 2 = \the \count 2}% \ifnum \count 0 > 32767 %%% do our best to avoid overflow \then \divide \count 0 by 4 \divide \count 4 by 4 \else \ifnum \count 0 < -32767 \then \divide \count 0 by 4 \divide \count 4 by 4 \else \fi \fi \ifnum \count 2 > 32767 %%% while retaining reasonable accuracy \then \divide \count 2 by 4 \divide \count 4 by 4 \else \ifnum \count 2 < -32767 \then \divide \count 2 by 4 \divide \count 4 by 4 \else \fi \fi \multiply \count 0 by \count 2 \divide \count 0 by \count 4 \xdef \product {#1 = \the \count 0 \internal@nits}% \aftergroup \product }}% \def\r@duce{\ifdim\dimen0 > 90\r@dian \then % sin(x) = sin(180-x) \multiply\dimen0 by -1 \advance\dimen0 by 180\r@dian \r@duce \else \ifdim\dimen0 < -90\r@dian \then % sin(x) = sin(360+x) \advance\dimen0 by 360\r@dian \r@duce \fi \fi}% \def\Sine#1% {{% \dimen 0 = #1 \r@dian \r@duce \ifdim\dimen0 = -90\r@dian \then \dimen4 = -1\r@dian \c@mputefalse \fi \ifdim\dimen0 = 90\r@dian \then \dimen4 = 1\r@dian \c@mputefalse \fi \ifdim\dimen0 = 0\r@dian \then \dimen4 = 0\r@dian \c@mputefalse \fi % \ifc@mpute \then % convert degrees to radians \divide\dimen0 by 180 \dimen0=3.141592654\dimen0 % \dimen 2 = 3.1415926535897963\r@dian %%% a well-known constant \divide\dimen 2 by 2 %%% we only deal with -pi/2 : pi/2 \Mess@ge {Sin: calculating Sin of \nodimen 0}% \count 0 = 1 %%% see power-series expansion for sine \dimen 2 = 1 \r@dian %%% ditto \dimen 4 = 0 \r@dian %%% ditto \loop \ifnum \dimen 2 = 0 %%% then we've done \then \stillc@nvergingfalse \else \stillc@nvergingtrue \fi \ifstillc@nverging %%% then calculate next term \then \term {\count 0} {\dimen 0} {\dimen 2}% \advance \count 0 by 2 \count 2 = \count 0 \divide \count 2 by 2 \ifodd \count 2 %%% signs alternate \then \advance \dimen 4 by \dimen 2 \else \advance \dimen 4 by -\dimen 2 \fi \repeat \fi \xdef \sine {\nodimen 4}% }}% %%% Now the Cosine can be calculated easily by calling \Sine: %%% cos(x) = sin(90-x) \def\Cosine#1{\ifx\sine\UnDefined\edef\Savesine{\relax}\else \edef\Savesine{\sine}\fi {\dimen0=#1\r@dian\multiply\dimen0 by -1 \advance\dimen0 by 90\r@dian \Sine{\nodimen 0}% \xdef\cosine{\sine}% \xdef\sine{\Savesine}}} %%% end of trig stuff %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\psdraft{\def\@psdraft{0}}% \def\psfull{\def\@psdraft{1}}% \psfull \newif\if@compress \def\pscompress{\@compresstrue} \def\psnocompress{\@compressfalse} \@compressfalse \newif\if@scalefirst \def\psscalefirst{\@scalefirsttrue}% \def\psrotatefirst{\@scalefirstfalse}% \psrotatefirst % \newif\if@draftbox \def\psnodraftbox{\@draftboxfalse}% \@draftboxtrue % \newif\if@noisy \@noisyfalse \newif\ifno@bb %%% These are for the option list. %%% A specification of the form a = b maps to calling \@p@@sa{b}% \newif\if@bbllx \newif\if@bblly \newif\if@bburx \newif\if@bbury \newif\if@height \newif\if@width \newif\if@rheight \newif\if@rwidth \newif\if@angle \newif\if@clip \newif\if@verbose \newif\if@prologfile \def\@p@@sprolog#1{\@prologfiletrue\def\@prologfileval{#1}}% \def\@p@@sclip#1{\@cliptrue}% % \newif\ifepsfig@dos % only single suffix possible \def\epsfigdos{\epsfig@dostrue}% \epsfig@dosfalse %%% if this is true, the original Darrell macros and specials are used \newif\ifuse@psfig % \def\ParseName#1{\expandafter\@Parse#1}% \def\@Parse#1.#2:{\gdef\BaseName{#1}\gdef\FileType{#2}}% \def\@p@@sfile#1{% \ifepsfig@dos \ParseName{#1:}% \else \gdef\BaseName{#1}\gdef\FileType{}% \fi \def\@p@sfile{NO FILE: #1}% \def\@p@sfilefinal{NO FILE: #1}% \openin1=#1 \ifeof1\closein1\openin1=\BaseName.bb \ifeof1\closein1 \if@bbllx % No postscript file but bb given explicitly. \if@bblly\if@bburx\if@bbury \def\@p@sfile{#1}% \def\@p@sfilefinal{#1}% \fi\fi\fi \else % No bounding box found. \@latexerr{ERROR. PostScript file #1 not found}\@whattodo \@p@@sbbllx{100bp}% \@p@@sbblly{100bp}% \@p@@sbburx{200bp}% \@p@@sbbury{200bp}% \psdraft \fi \else % Postscript file is compressed. \closein1% \edef\@p@sfile{\BaseName.bb}% \typeout{using BB from \@p@sfile}% \ifnum\fig@driver=3 \edef\@p@sfilefinal{\BaseName.pcx}% \else \ifepsfig@dos \edef\@p@sfilefinal{"`gunzip -c `texfind \BaseName.{z,Z,gz}"}% \else \edef\@p@sfilefinal{"`epsfig \if@compress-c \fi#1"}% \fi \fi \fi \else\closein1 % Postscript file is not compressed. \edef\@p@sfile{#1}% \if@compress \edef\@p@sfilefinal{"`epsfig -c #1"}% \else \edef\@p@sfilefinal{#1}% \fi \fi% } % alternative syntax: figure= \let\@p@@sfigure\@p@@sfile % \def\@p@@sbbllx#1{% \@bbllxtrue \ps@dimcent=#1 \edef\@p@sbbllx{\number\ps@dimcent}% \divide\ps@dimcent by65536 \global\edef\epsfllx{\number\ps@dimcent}% }% \def\@p@@sbblly#1{% \@bbllytrue \ps@dimcent=#1 \edef\@p@sbblly{\number\ps@dimcent}% \divide\ps@dimcent by65536 \global\edef\epsflly{\number\ps@dimcent}% }% \def\@p@@sbburx#1{% \@bburxtrue \ps@dimcent=#1 \edef\@p@sbburx{\number\ps@dimcent}% \divide\ps@dimcent by65536 \global\edef\epsfurx{\number\ps@dimcent}% }% \def\@p@@sbbury#1{% \@bburytrue \ps@dimcent=#1 \edef\@p@sbbury{\number\ps@dimcent}% \divide\ps@dimcent by65536 \global\edef\epsfury{\number\ps@dimcent}% }% \def\@p@@sheight#1{% \@heighttrue \global\epsfysize=#1 \ps@dimcent=#1 \edef\@p@sheight{\number\ps@dimcent}% }% \def\@p@@swidth#1{% \@widthtrue \global\epsfxsize=#1 \ps@dimcent=#1 \edef\@p@swidth{\number\ps@dimcent}% }% \def\@p@@srheight#1{% \@rheighttrue\use@psfigtrue \ps@dimcent=#1 \edef\@p@srheight{\number\ps@dimcent}% }% \def\@p@@srwidth#1{% \@rwidthtrue\use@psfigtrue \ps@dimcent=#1 \edef\@p@srwidth{\number\ps@dimcent}% }% \def\@p@@sangle#1{% \use@psfigtrue \@angletrue \edef\@p@sangle{#1}% }% \def\@p@@ssilent#1{% \@verbosefalse }% \def\@p@@snoisy#1{% \@verbosetrue }% \def\@cs@name#1{\csname #1\endcsname}% \def\@setparms#1=#2,{\@cs@name{@p@@s#1}{#2}}% % %%% initialize the defaults (size the size of the figure) % \def\ps@init@parms{% \@bbllxfalse \@bbllyfalse \@bburxfalse \@bburyfalse \@heightfalse \@widthfalse \@rheightfalse \@rwidthfalse \def\@p@sbbllx{}\def\@p@sbblly{}% \def\@p@sbburx{}\def\@p@sbbury{}% \def\@p@sheight{}\def\@p@swidth{}% \def\@p@srheight{}\def\@p@srwidth{}% \def\@p@sangle{0}% \def\@p@sfile{}% \use@psfigfalse \@prologfilefalse \def\@sc{}% \if@noisy \@verbosetrue \else \@verbosefalse \fi \@clipfalse }% % %%% Go through the options setting things up. % \def\parse@ps@parms#1{% \@psdo\@psfiga:=#1\do {\expandafter\@setparms\@psfiga,}% \if@prologfile \special{header=\@prologfileval}% \fi }% % %%% Compute bb height and width % \def\bb@missing{% \if@verbose \typeout{psfig: searching \@p@sfile \space for bounding box}% \fi \epsfgetbb{\@p@sfile}% \ifepsfbbfound \ps@dimcent=\epsfllx bp\edef\@p@sbbllx{\number\ps@dimcent}% \ps@dimcent=\epsflly bp\edef\@p@sbblly{\number\ps@dimcent}% \ps@dimcent=\epsfurx bp\edef\@p@sbburx{\number\ps@dimcent}% \ps@dimcent=\epsfury bp\edef\@p@sbbury{\number\ps@dimcent}% \else \epsfbbfoundfalse \fi } % % rotate point (#1,#2) about (0,0). % The sine and cosine of the angle are already stored in \sine and % \cosine. The result is placed in (\p@intvaluex, \p@intvaluey). \newdimen\p@intvaluex \newdimen\p@intvaluey \def\rotate@#1#2{{\dimen0=#1 sp\dimen1=#2 sp % calculate x' = x \cos\theta - y \sin\theta \global\p@intvaluex=\cosine\dimen0 \dimen3=\sine\dimen1 \global\advance\p@intvaluex by -\dimen3 % calculate y' = x \sin\theta + y \cos\theta \global\p@intvaluey=\sine\dimen0 \dimen3=\cosine\dimen1 \global\advance\p@intvaluey by \dimen3 }}% \def\compute@bb{% \epsfbbfoundfalse \if@bbllx\epsfbbfoundtrue\fi \if@bblly\epsfbbfoundtrue\fi \if@bburx\epsfbbfoundtrue\fi \if@bbury\epsfbbfoundtrue\fi \ifepsfbbfound\else\bb@missing\fi \ifepsfbbfound\else \@latexerr{ERROR. cannot locate BoundingBox}\@whattodobb \@p@@sbbllx{100bp}% \@p@@sbblly{100bp}% \@p@@sbburx{200bp}% \@p@@sbbury{200bp}% \no@bbtrue \psdraft \fi % % % store height/width of original (unrotated) bounding box \count203=\@p@sbburx \count204=\@p@sbbury \advance\count203 by -\@p@sbbllx \advance\count204 by -\@p@sbblly \edef\ps@bbw{\number\count203}% \edef\ps@bbh{\number\count204}% \edef\@bbw{\number\count203}% \edef\@bbh{\number\count204}% \if@angle \Sine{\@p@sangle}\Cosine{\@p@sangle}% {\ps@dimcent=\maxdimen\xdef\r@p@sbbllx{\number\ps@dimcent}% \xdef\r@p@sbblly{\number\ps@dimcent}% \xdef\r@p@sbburx{-\number\ps@dimcent}% \xdef\r@p@sbbury{-\number\ps@dimcent}}% % % Need to rotate all four points and take the X-Y extremes of the new % points as the new bounding box. \def\minmaxtest{% \ifnum\number\p@intvaluex<\r@p@sbbllx \xdef\r@p@sbbllx{\number\p@intvaluex}\fi \ifnum\number\p@intvaluex>\r@p@sbburx \xdef\r@p@sbburx{\number\p@intvaluex}\fi \ifnum\number\p@intvaluey<\r@p@sbblly \xdef\r@p@sbblly{\number\p@intvaluey}\fi \ifnum\number\p@intvaluey>\r@p@sbbury \xdef\r@p@sbbury{\number\p@intvaluey}\fi }% % lower left \rotate@{\@p@sbbllx}{\@p@sbblly}% \minmaxtest % upper left \rotate@{\@p@sbbllx}{\@p@sbbury}% \minmaxtest % lower right \rotate@{\@p@sbburx}{\@p@sbblly}% \minmaxtest % upper right \rotate@{\@p@sbburx}{\@p@sbbury}% \minmaxtest \edef\@p@sbbllx{\r@p@sbbllx}\edef\@p@sbblly{\r@p@sbblly}% \edef\@p@sbburx{\r@p@sbburx}\edef\@p@sbbury{\r@p@sbbury}% \fi \count203=\@p@sbburx \count204=\@p@sbbury \advance\count203 by -\@p@sbbllx \advance\count204 by -\@p@sbblly \edef\@bbw{\number\count203}% \edef\@bbh{\number\count204}% }% % % \in@hundreds performs #1 * (#2 / #3) correct to the hundreds, % then leaves the result in @result % \def\in@hundreds#1#2#3{\count240=#2 \count241=#3 \count100=\count240 % 100 is first digit #2/#3 \divide\count100 by \count241 \count101=\count100 \multiply\count101 by \count241 \advance\count240 by -\count101 \multiply\count240 by 10 \count101=\count240 %101 is second digit of #2/#3 \divide\count101 by \count241 \count102=\count101 \multiply\count102 by \count241 \advance\count240 by -\count102 \multiply\count240 by 10 \count102=\count240 % 102 is the third digit \divide\count102 by \count241 \count200=#1\count205=0 \count201=\count200 \multiply\count201 by \count100 \advance\count205 by \count201 \count201=\count200 \divide\count201 by 10 \multiply\count201 by \count101 \advance\count205 by \count201 % \count201=\count200 \divide\count201 by 100 \multiply\count201 by \count102 \advance\count205 by \count201 % \edef\@result{\number\count205}% }% \def\compute@wfromh{% % computing : width = height * (bbw / bbh) \in@hundreds{\@p@sheight}{\@bbw}{\@bbh}% \edef\@p@swidth{\@result}% }% \def\compute@hfromw{% % computing : height = width * (bbh / bbw) \in@hundreds{\@p@swidth}{\@bbh}{\@bbw}% \edef\@p@sheight{\@result}% }% \def\compute@handw{% \if@height \if@width \else \compute@wfromh \fi \else \if@width \compute@hfromw \else \edef\@p@sheight{\@bbh}% \edef\@p@swidth{\@bbw}% \fi \fi }% \def\compute@resv{% \if@rheight \else \edef\@p@srheight{\@p@sheight} \fi \if@rwidth \else \edef\@p@srwidth{\@p@swidth} \fi }% % % Compute any missing values \def\compute@sizes{% \if@scalefirst\if@angle % at this point the bounding box has been adjsuted correctly for % rotation. PSFIG does all of its scaling using \@bbh and \@bbw. If % a width= or height= was specified along with \psscalefirst, then the % width=/height= value needs to be adjusted to match the new (rotated) % bounding box size (specifed in \@bbw and \@bbh). % \ps@bbw width= % ------- = ---------- % \@bbw new width= % so `new width=' = (width= * \@bbw) / \ps@bbw; where \ps@bbw is the % width of the original (unrotated) bounding box. \if@width \in@hundreds{\@p@swidth}{\@bbw}{\ps@bbw}% \edef\@p@swidth{\@result}% \fi \if@height \in@hundreds{\@p@sheight}{\@bbh}{\ps@bbh}% \edef\@p@sheight{\@result}% \fi \fi\fi \compute@handw \compute@resv } % %------------------------------------------------------------------ %%% by the way, possible parameters to the PSfile= command in dvips are: %%% llx %%% lly %%% urx %%% ury %%% rwi % hoffset The horizontal offset (default 0) % voffset The vertical offset (default 0) % hsize The horizontal clipping size (default 612) % vsize The vertical clipping size (default 792) % hscale The horizontal scaling factor (default 100) % vscale The vertical scaling factor (default 100) % angle The rotation (default 0) %------------------------------------------------------------------ \long\def\graphic@verb#1{\def\next{#1}% {\expandafter\graphic@strip\meaning\next}} \def\graphic@strip#1>{} \def\graphic@zapspace#1{% #1\ifx\graphic@zapspace#1\graphic@zapspace% \else\expandafter\graphic@zapspace% \fi} \def\psfig#1{% \edef\@tempa{\graphic@zapspace#1{}}% \ifvmode\leavevmode\fi\vbox {% % \ps@init@parms \parse@ps@parms{\@tempa}% % \ifnum\@psdraft=1 \typeout{[\@p@sfilefinal]}% \if@verbose \typeout{epsfig: using PSFIG macros}% \fi \psfig@method \else \epsfig@draft \fi } }% \def\graphic@zapspace#1{% #1\ifx\graphic@zapspace#1\graphic@zapspace% \else\expandafter\graphic@zapspace% \fi} \def\epsfig#1{% \edef\@tempa{\graphic@zapspace#1{}}% \ifvmode\leavevmode\fi\vbox {% % \ps@init@parms \parse@ps@parms{\@tempa}% % \ifnum\@psdraft=1 \if@angle\use@psfigtrue\fi {\ifnum\fig@driver=1\global\use@psfigtrue\fi}% {\ifnum\fig@driver=3\global\use@psfigtrue\fi}% {\ifnum\fig@driver=4\global\use@psfigtrue\fi}% {\ifnum\fig@driver=5\global\use@psfigtrue\fi}% \ifuse@psfig \if@verbose \typeout{epsfig: using PSFIG macros}% \fi \psfig@method \else \if@verbose \typeout{epsfig: using EPSF macros}% \fi \epsf@method \fi \else \epsfig@draft \fi }% }% \def\epsf@method{% \epsfbbfoundfalse \if@bbllx\epsfbbfoundtrue\fi \if@bblly\epsfbbfoundtrue\fi \if@bburx\epsfbbfoundtrue\fi \if@bbury\epsfbbfoundtrue\fi \ifepsfbbfound\else\epsfgetbb{\@p@sfile}\fi \ifepsfbbfound \typeout{<\@p@sfilefinal>}% \epsfig@gofer \else \@latexerr{ERROR - Cannot locate BoundingBox}\@whattodobb \@p@@sbbllx{100bp}% \@p@@sbblly{100bp}% \@p@@sbburx{200bp}% \@p@@sbbury{200bp}% \count203=\@p@sbburx \count204=\@p@sbbury \advance\count203 by -\@p@sbbllx \advance\count204 by -\@p@sbblly \edef\@bbw{\number\count203}% \edef\@bbh{\number\count204}% \compute@sizes \epsfig@@draft \fi }% \def\psfig@method{% \compute@bb \ifepsfbbfound \compute@sizes \psfig@start % Create the vbox to reserve the space for the figure% \vbox to \@p@srheight sp{\hbox to \@p@srwidth sp{\hss}\vss\psfig@end}% \else \epsfig@draft \fi }% % % draft figure, just reserve the space and print the % path name. \def\epsfig@draft{\compute@bb\compute@sizes\epsfig@@draft}% % \def\epsfig@@draft{% \typeout{<(draft only) \@p@sfilefinal>}% \if@draftbox % Verbose draft: print file name in box \hbox{{\fboxsep0pt\fbox{\vbox to \@p@srheight sp{% \vss\hbox to \@p@srwidth sp{ \hss \expandafter\Literally\@p@sfilefinal\@nil \hss }\vss }}}}% \else % Non-verbose draft \vbox to \@p@srheight sp{% \vss\hbox to \@p@srwidth sp{\hss}\vss}% \fi }% \def\Literally#1\@nil{{\tt\graphic@verb{#1}}} % default to dvips \psfigdriver{dvips}% % and to DOS file conventions %%% \epsfigdos \epsfigRestoreAt �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/josaa.tex��������������������������������������������������������������������������0100644�0000764�0000764�00000063771�07267371705�015266� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%%%%%%%%%%%%%%%%%% file josaa.tex %%%%%%%%%%%%%%%%%%%% % % % Copyright (c) Optical Society of America, 1992. % % % %%%%%%%%%%%%%%%%%% October 20, 1992 %%%%%%%%%%%%%%%%%%% % \documentstyle[osa,manuscript]{revtex} % DON'T CHANGE % \newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} \newcommand{\manual}{rm} % Substitute rm (Roman) font. \newcommand\bs{\char '134 } % add backslash char to \tt font % % \begin{document} % INITIALIZE - DONT CHANGE % % % \title{Strehl ratios with various types of anisoplanatism} \author{Richard J. Sasiela} \address{Lincoln Laboratory, Massachusetts Institute of Technology, Lexington, Massachusetts 02173-9108} % \maketitle \begin{abstract} There are many ways in which the paths of two waves through turbulence can become separated, thereby leading to anisoplanatic effects. Among these are a parallel path separation, an angular separation, one caused by a time delay, and one that is due to differential refraction at two wavelengths. All these effects can be treated in the same manner. Gegenbauer polynomials are used to obtain an approximation for the Strehl ratio for these anisoplanatic effects, yielding a greater range of applicability than the Mar\'{e}chal approximation. \end{abstract} \section{ INTRODUCTION} Adaptive-optics systems are used to correct images of objects. These systems work by measuring the phase distortion on a downpropagating wave called a beacon and applying the negative of that phase to a deformable mirror. If this is done well, then the image of the beacon is close to diffraction limited; and if a laser beam is projected along the corrected path, it will have propagation characteristics approaching those of a wave propagating in vacuum. It is not possible to make a perfect correction; one of the major error sources is due to the fact that the rays of the object to be imaged or the laser beam to be propagated are along a path displaced from that of the beacon. A measurement of this degradation is the Strehl ratio, which is the ratio of the intensity of the actual beam on axis to that of a diffraction-limited beam. \begin{center} {\small \copyright\ Optical Society of America, 1992.} \end{center} This displacement can have several causes. The receiving and the transmitting apertures may be displaced from each other owing to misalignment or vignetting of the beams. The paths can be separated in angle, for instance, when the object to be imaged is different from the beacon. The correction is applied with a time delay after the measurements. In this time the turbulence is displaced by winds and slewing of the telescope. The paths may be separated because the beacon and the imaging wavelengths differ, in which case refraction operates differently on the two waves. All the effects are typically present simultaneously. These anisoplanatisms have been treated separately in the past\cite{1,2,3,4,5,6,7}; however, they are all manifestations of the same effect. \ldots A better analytic approximation that applies in the range of operation of a typical adaptive-optics system is developed here. This is applied to obtain expressions for the various types of anisoplanatism discussed above. In Section \ref{SR} the general formula for the Strehl ratio with any type of anisoplanatism is derived. Gegenbauer polynomials provide a convenient way to keep track of the series terms and to cancel terms that lead to numerical difficulties if the integral is evaluated numerically. In Sections \ref{da}--\ref{ca} the general formula is applied to obtain the Strehl ratio for various types of anisoplanatism. The cases considered are parallel path displacements, angular offsets, time-delay-induced offsets, and offsets that are due to refractive effects that vary with wavelength. The Strehl ratio in the presence of several effects is examined in Section \ref{cd}. It is shown that, depending on the direction of the relative displacements, one can get a cancellation of the displacements so that the Strehl ratio is high or an enhancement so that the Strehl ratio is less than the product of the Strehl ratios of the individual terms. \section{ STREHL RATIO WITH ANISOPLANATISM} \label{SR} For a perfect correction the paths of the beacon signal and the imaging or projected laser should be the same. In general, this is not possible to achieve, and there is a degradation in performance caused by time delays, displacement of the two paths by translation and angle, and differences in wavelength of the beacon and the measurement or projecting systems. The effects of displacement, angular mispointing, time delay, and atmospheric dispersion can each be treated as an anisoplanatic effect. In fact, if all the effects are present simultaneously, they can be combined to get a total offset of the measurement from the imaging paths. In this section the effect of a general displacement on the Strehl ratio is determined. The Strehl ratio (SR) for a circular aperture \cite{7} from the Huygens--Fresnel approximation is \begin{eqnarray}{\rm SR} ={1 \over {2\pi }}\int {{\rm d}\bbox \alpha }\,K(\alpha )\,\exp \,\left[ {-{{{\cal D}\left( {\bbox \alpha } \right)} \over 2}} \right].\end{eqnarray} The integral is over a circular aperture of unit radius, ${\cal D}( {\bbox \alpha } )$ is the structure function, and $K(\alpha )$ is a factor times the optical transfer function given by \begin{eqnarray}K(\alpha )={{16} \over \pi }\left[ {\cos ^{- 1}(\alpha )-\alpha \left( {1-\alpha ^2} \right)^{1/ 2}} \right]\,U(1- \alpha ),\end{eqnarray} where $U\left( x \right)$ is the unit step function defined as \begin{eqnarray} U( x )&=&1\,\,\,\,\,\,\,\,{\rm for}\,\,\,\,x\ge 0\,, \nonumber \\ U( x )&=&0\,\,\,\,\,\,\,\,{\rm for}\,\,\,\,x<0\,\,. \end{eqnarray} To find the Strehl ratio, one must first determine the structure function. It was found by Fried\cite{4} for angular anisoplanatism. If the source is collimated and a general displacement is introduced, his expression for a wave propagating from ground to space becomes \begin{eqnarray} {\cal D}({\alpha \kern 1ptD} )&=& 2(2.91)\,{k_0}^2\int\limits_{\,\,\; 0}^{\,\,\,\,\,\; \infty} {\rm d}z\,{C_n}^2(z)\left[ {( {\alpha \kern 1ptD} )^{5/ 3}+d^{5/ 3}(z)}\right. \nonumber\\ &&\left. {-{\slantfrac{1}{2}}\,\left| {{\bbox \alpha} \kern 1ptD+{\bbox d}(z)\,} \right|^{5/ 3} -{\textstyle \slantfrac{1}{2}}\left| {\,{\bbox \alpha} \kern 1ptD-{\bbox d}(z)\,} \right|^{5 / 3}} \right], \end{eqnarray} where ${C_n}^2(z)$ is the turbulence strength as a function of altitude; $k_0=2\kern 1pt\pi / \lambda ,$ where $\lambda $ is the wavelength of operation; $D$ is the aperture diameter; and ${\bbox d}(z)$ is the vector displacement of the two paths. The sums of the terms in brackets almost cancel, thus causing difficulties if one tries to evaluate this integral numerically. The terms in the absolute-value sign are equal to \begin{eqnarray}\left| {\,{\bbox \alpha} \kern 1ptD\pm {\bbox d}(z)\,} \right|^{5/ 3}=\left[ {\left( {\alpha \kern 1ptD} \right)^2\pm 2\alpha \kern 1ptD\,d(z)\cos \left( \varphi \right)+d^2(z)} \right]^{5/ 6},\end{eqnarray} where is the angle between ${\bbox \alpha} $ and ${\bbox d}( z )$ . This expression can be simplified and the numerical difficulties can be eliminated by using Gegenbauer polynomials.\cite{8} Their generating function is \begin{eqnarray}\left( {1-2ax+a^2} \right)^{-\lambda }=\sum\limits_{p=0}^\infty {{C_p}^\lambda (x)\,a^p}. \end{eqnarray} These functions are sometimes referred to as ultraspherical functions because they are a generalization of the Legendre polynomials $P_n(t)$ , whose generating function is \begin{eqnarray}\left( {1- 2ax+a^2} \right)^{-1/ 2}=\sum\limits_{p=0}^\infty {P_p(x)\,a^p}.\end{eqnarray} The Gegenbauer polynomials with the cosine of a variable as the argument are given in Eq. (8.934 \#2) of Ref. \onlinecite{8} and can be rewritten as \begin{eqnarray}{C_p}^\lambda \left[ {\cos \left( \varphi \right)} \right]=\sum\limits_{m=0}^p {}{{\Gamma\,\left[ {\lambda +m} \right]\,\Gamma\,\left[ {\lambda +p-m} \right]\cos \left[ {(p-2m)\varphi } \right]} \over {m!\,(p-m)!\,\left( {\Gamma\,\left[ \lambda \right]} \right)^2}},\end{eqnarray} where - $\Gamma\left[ x \right]$ is the gamma function. A particular Gegenbauer polynomial that is required is \begin{eqnarray}{C_2}^{-5/ 6}\left[ {\cos (\varphi )} \right]={\textstyle{\slantfrac{5}{6}}}\left[ {1- {\textstyle{ \slantfrac{1}{3}}}\cos ^2\left( \varphi \right)} \right]. \end{eqnarray} For $\alpha \kern 1ptD>d(z)$ , the terms in the structure function can be expanded in Gegenbauer polynomials. The zeroth- and all odd-order terms cancel. When the summation index is changed by the substitution $p\to 2\kern 1ptp$ the result is \begin{eqnarray} {\cal D}(\alpha \kern 1ptD)=2(2.91)\,{k_0}^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\,\infty}{\rm d}z\,{C_n}^2(z) \left\{ {d^{5/ 3}(z)- (\alpha \kern 1ptD)^{5/ 3}\sum\limits_{p=1}^\infty {{C_{2p}}^{- 5/ 6}\,\left[ {\cos \left( \varphi \right)} \right]}\,\left[ {{{d(z)} \over {\alpha \kern 1ptD}}} \right]^{2p}} \right\}.\end{eqnarray} It is this canceling of the first two terms of the power series that would cause numerical difficulties. Define a distance moment as \begin{eqnarray}d_m\equiv 2.91\,{k_0}^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\,\infty}{\rm d}z\,{C_n}^2(z)\,d^m(z) \end{eqnarray} and a phase variance as \begin{eqnarray}{\sigma _\varphi}^2=d_{5/ 3}.\end{eqnarray} Unlike the calculation for Strehl ratio for uncorrected turbulence and for corrected turbulence with tilt jitter, an exact analytical solution cannot be found for anisoplanatism. Fortunately, for adaptive-optics systems, the Strehl ratio should be fairly high by design, which requires the structure function to be small. This assumption allows one to retain only the first term of the Gegenbauer expansion to give \begin{eqnarray}{\cal D}(\alpha \kern 1ptD)=2{\sigma _\varphi}^2-2x,\end{eqnarray} where \begin{eqnarray}x=d_{2}\left[ {1- {\textstyle{\slantfrac{1}{3}}}\cos ^2\left( \varphi \right)} \right]{\slantfrac{5}{6}}(\alpha \kern 1ptD)^{-1/ 3}.\end{eqnarray} We justify this single-term approximation below by showing that it produces a result close to the exact result. \\ \ldots \\ The Strehl ratio with the six term approximation is \begin{eqnarray}{\rm SR} \approx {{\exp \left( {-\sigma _\varphi} ^2 \right)} \over {2\pi }}\int {\rm d{\bbox \alpha} \,K(\alpha )\,}\kern-.5em\left( {1+x+{{x^2} \over 2}+{{x^3} \over 6}+{{x^4} \over {24}}+{{x^5} \over {120}}} \right).\end{eqnarray} If just the first term in the last parenthetical expression is retained, the result is equivalent to the extended Mar\'{e}chal approximation. It is shown below that the six-term approximation is best for aperture sizes normally encountered. The angle integral for the $n$th term, after use of the binomial theorem, is proportional to \begin{eqnarray}\Phi (n)={1 \over {2\pi }}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\,\,\, 2\pi } {\rm d}\varphi \,\left[ {1-\slantfrac{1}{3}} \cos ^2\left( \varphi \right) \right]^n={1 \over {2\pi }}\sum\limits_{m=0}^n {\left( \begin{array}{c} n \\ n-m\end{array} \right)}\,3^{-m}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, 2\pi } {\rm d\varphi }\, \cos ^{2m}\left( \varphi \right),\end{eqnarray} where \begin{eqnarray}\left( \begin{array}{c} n \\ n-m \end{array} \right)={{n!} \over {\left( {n-m} \right)!\,\,m!}}.\end{eqnarray} Equation (4.641 \# 4) in Gradshteyn and Ryzhik\cite{8} is \begin{eqnarray}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, \pi / 2}{\rm d\varphi \,}\cos ^{2m}\left( \varphi \right)={{\pi (2m-1)!!} \over {2(2m)!!}},\end{eqnarray} where \begin{eqnarray}(2m-1)!!&=&(2m-1)(2m-3)\ldots (3)(1), \\ (2m)!!&=&(2m)(2m-2)\ldots (4)(2).\end{eqnarray} With these relations, the angle integral is equal to \begin{eqnarray}\Phi (n)=1-\sum\limits_{m=1}^n {\left( \begin{array}{c}n \\ n-m \end{array} \right)}\,3^{-m}{{(2m-1)!!} \over {(2m)!!}}.\end{eqnarray} The values of interest to us are $\Phi (0) = 1$, $\Phi (1) = 0.8333$, $\Phi (2) = 0.7083$, $ \Phi (3) = 0.6134$, $\Phi (4) = 0.5404$, and $\Phi (5) = 0.4836$. The aperture integration for the $n$th term is proportional to \begin{eqnarray}Y(n)=\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, 1} {\rm d\alpha \,}\alpha ^{1-n/ 3}K(\alpha ).\end{eqnarray} This is a generalization of the integral evaluated by Tatarski in Sec.\ 55, Eq.\ (22) of Ref. \onlinecite{9}. Its value is \begin{eqnarray}Y\left( n \right)={8 \over {(2-n/ 3)\,\sqrt \pi }}\,\Gamma\,\left[ \begin{array}{c} -n/ 6+{3 \over 2} \\ { -n/ 6+3} \end{array} \right]\,\,\quad\,\,\,\,\,\,\,\, {\rm for}\,\,\, n<6.\end{eqnarray} The values of interest to us are $Y\left( 0 \right)=1$, $Y\left( 1 \right)=1.402$, $Y\left( 2 \right)=2.087$, $Y\left( 3 \right)=3.396$, $Y\left( 4 \right)=6.419$, and $Y\left( 5 \right)=16.94$. With these values for the integral, the Strehl ratio approximation is \begin{eqnarray}{\rm SR} \approx ({1+0.9736\,E+0.5133\,E^2+0.2009\,E^3+0.0697\,E^4+0.02744\,E^5} )\exp ({-\sigma _\varphi }^2),\end{eqnarray} where \begin{eqnarray}E={{d_{\,2}} \over {D^{1/ 3}}}. \end{eqnarray} \ldots \\ There is an error made in using this approximation for the central part of the aperture that increases with each term in the approximation. One has to determine whether this error is less than or greater than the increased accuracy achieved over the remainder of the aperture by using additional series terms. To resolve these uncertainties, I compared the Strehl ratio, using various numbers of terms, with exact calculations. I calculated the Strehl ratio numerically for the case in which the displacement does not vary with propagation distance. In Fig.~\ref{f1} are plotted the exact Strehl ratio versus displacement for the Hufnagel--Valley 21 (HV-21) model of turbulence\cite{10,11,12} and the Strehl ratio from relation (24) for $D/ r_o = 1$, with only the unity term in parenthesis (extended Marechal approximation) and with different numbers of terms in the parenthesis. \\ \ldots \\ \section{ DISPLACEMENT ANISOPLANATISM} \label{da} In the simplest case of displacement anisoplanatism, which was treated in Section \ref{SR}, the displacement is constant along the propagation direction. The terms to use to find the Strehl ratio are \begin{eqnarray} d(z)&=&d , \\ d_{\,2}&=&2.91\,k_0^2\,\mu _0\,d^2 , \\ E&=&6.88\,\left( {{d \over D}} \right)^2\left( {{D \over {r_o}}} \right)^{5/3} , \\ \sigma _\varphi ^2&=&2.91\,k_0^2\,\mu _0\,d^{5/3}=6.88\, \left( {{d \over {r_o}}} \right)^{5/3} . \end{eqnarray} The Strehl ratios are plotted in Figs.~\ref{f5} and ~\ref{f10}. \section{ ANGULAR ANISOPLANATISM} \label{aa} When the propagation beam is offset by a constant angle from the direction along which turbulence is measured, the effect is called angular anisoplanatism.\cite{4} It arises naturally when one is tracking a satellite target and directing a laser beam at it. Because of the finite speed of light, the laser beam has to lead the tracking direction, resulting in an angular difference between the direction along which the target is tracked and the one along which the laser beam is directed. This error can be eliminated if the target has a reflector for the beacon that extends a suitable distance in the point-ahead direction. For the case of an angular error \begin{eqnarray} d(z)&=&\theta \,z , \\ d_{\,2}&=&2.91\,k_0^2\,\mu _2\,\theta ^2 , \\ E&=&6.88\,{{\mu _2} \over {\mu _0}}\left( {{\theta \over D}} \right)^2\left( {{D \over {r_o}}} \right)^{5/3} , \\ \sigma _\varphi ^2&=&2.91\,k_0^2\,\theta ^{5/ 3}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {{\rm d}z\,{C_n}^2(z)}\kern 1ptz^{5/ 3}=\left( {\theta / \theta _o} \right)^{5/ 3} , \end{eqnarray} where the isoplanatic angle is defined by \begin{eqnarray} \theta _o^{}=\left( {2.91\,k_0^2\,\mu _{5/ 3}} \right)^{-3/ 5} . \end{eqnarray} ... \section{ TIME DELAY} \label{td} If there is a time delay between when turbulence is measured and when a correction is applied to the deformable mirror, there is a degradation in performance.\cite{7} This effect is not often thought of as an anisoplanatic effect; however, it can be treated as such. ... \begin{eqnarray} d(z)&=&v(z)\tau , \\ d_2&=&2.91\,k_0^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {\rm d}z\,{C_n}^2(z)\,v^2(z)\,\tau ^2=\left( {\tau / \tau _2} \right)^2 , \\ E&=&{{\tau ^2} \over {\tau _2^2D^{1/ 3}}} , \\ \sigma _\varphi ^2&=&2.91\,k_0^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {\rm d}z\,{C_n}^2(z)\,v^{5/ 3}(z)\,\tau ^{5/ 3}=\left( {\tau / \tau _{5/ 3}} \right)^{5/ 3} , \end{eqnarray} where the temporal moment is defined as \begin{eqnarray} 1/ \tau _m^{5/ 3}=2.91\,k_0^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {\rm d}z\,{C_n}^2(z)\,v^m(z) . \end{eqnarray} \ldots \section{ CHROMATIC ANISOPLANATISM} \label{ca} If the beacon beam that senses the turbulence has a wavelength different from that of the laser beam that is sent out, then the two beams will follow different paths through the atmosphere because of the dispersive properties of the atmosphere. The analysis given here parallels that given by Belsher and Fried.\cite{1} \ldots The change of refractive index with wavelength has been given by Allen\cite{16} as \begin{eqnarray} \Delta \kern 1ptn_0=\left( {\lambda _1^2-\lambda _2^2} \right)\left[ {{{29\,498.1} \over {\left( {146\lambda _2^2-1} \right)\left( {146\lambda _1^2-1} \right)}}+{{255.4} \over {\left( {41\lambda _2^2-1} \right)\left( {41\lambda _1^2-1} \right)}}} \right]10^{-6} . \end{eqnarray} The atmospheric density versus altitude is given by Cole.\cite{17} The ratio of the ... . Thus the beam displacement along the path is \begin{eqnarray} {\rm \pmb{d}}_c(z)=-{{{ \rm \bbox{\xi}} \,\sin \left( \xi \right)\,\Delta \kern 1ptn_0} \over {\xi \,\cos ^2\left( \xi \right)}}\,\left[ {\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, z} {\rm d}z' \alpha \left( {z'} \right)-{z \over L}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {\rm d}z'\alpha \left( {z'} \right)} \right] . \end{eqnarray} Define the integral of the air density as \begin{eqnarray} I\left( z \right)=\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, z}{\rm d}z'\alpha \left( {z'} \right) . \end{eqnarray} Evaluating the integral and \ldots The moments of this displacement are \begin{eqnarray} d_m=\left[ {{{\sin \left( \xi \right)\Delta \kern 1ptn_0} \over {\cos ^2\left( \xi \right)}}} \right]^mT_m , \end{eqnarray} where \begin{eqnarray} T_m=2.91\,k_0^2\sec \left( \xi \right)\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, H} {\rm d}h\,{C_n}^2(h)\,\left[ {I(h)-{{h\sec \left( \xi \right)} \over L}I(L)} \right]^m . \end{eqnarray} $H$ is the altitude of the target. The last term in brackets goes to zero as the range becomes infinite. \ldots For the infinite range, this reduces to \begin{eqnarray} T_m=2.91\,k_0^2\sec \left( \xi \right)\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, H} {\rm d}h\,{C_n}^2(h)\,I^m(h) . \end{eqnarray} \ldots \section{ COMBINED DISPLACEMENT} \label{cd} If there are several anisoplanatic effects present, with each not decreasing the Strehl ratio much, it is a common practice to multiply the Strehl ratios for the individual effects to get a combined Strehl ratio. The validity of this assumption is now examined. The total displacement that is due to a translation, an angular offset, a time delay, and a chromatic offset is \begin{eqnarray} {\rm \pmb{d}}_t(z)={\rm \pmb{d}}+{ \rm \bbox{ \theta}} \kern 1ptz+{\rm \pmb{v}}(z)\tau +{\rm \pmb{d}}_c(z) , \end{eqnarray} where chromatic displacement is given in Eq. (50). The two terms necessary for calculating the Strehl ratio are \begin{eqnarray} E&=&{{d_{\,2}} \over {D^{1/ 3}}} , \\ \sigma _\varphi ^2&=&d_{\,5/ 3} , \end{eqnarray} where \begin{eqnarray} d_m=2.91\,k_0^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, \infty} {\rm d}z\,{C_n}^2(z)\,\left| {d_t(z)} \right|^m . \end{eqnarray} \ldots \ldots Tyler {\it et al.}\cite{18} took advantage of the vector nature of the displacement almost to eliminate the effect of chromatic anisoplanatism on an adaptive-optics system by choosing an optimal offset angle of a beacon from the propagation direction. \section{ SUMMARY} \label{Su} An approximate expression for the Strehl ratio that is easily evaluated for any turbulence distribution was derived. It applies for various anisoplanatic effects. This expression was shown to give much better agreement with the exact answer than the extended Marechal approximation. The zenith dependence is included in the formula. This approximation was applied to parallel path displacements, angular offsets, time-delay induced offsets, and offsets owing to refractive effects that vary with wavelength. Examples for each type of anisoplanatism at various zenith angles were evaluated. The Strehl ratio in the presence of several effects was examined. It was shown that, depending on the direction of the relative displacements, one can get a cancellation or an enhancement of the effect of the displacements. Therefore it is possible for there to be little reduction in the Strehl ratio if there is little net path displacement. If the displacements are in the same direction, the Strehl ratio is less than the product of the Strehl ratios of the individual terms. \acknowledgments This research was sponsored by the Strategic Defense Initiative Organization through the U.S. Department of the Air Force. \begin{references} \bibitem{1} J. Belsher and D. Fried, ``Chromatic refraction induced pseudo anisoplanatism,'' tOSC Rep. TR-433 (Optical Sciences Co., Placentia, Calif., 1981). \bibitem{2} B. L. Ellerbroek and P. H. Roberts, ``Turbulence induced angular separation errors; expected values for the SOR-2 experiment,'' tOSC Rep. TR-613 (Optical Sciences Co., Placentia, Calif., 1984). \bibitem{3} D. L. Fried, ``Differential angle of arrival: theory, evaluation, and measurement feasibility,'' Radio Sci. {\bf 10,} 71-76 (1975). \bibitem{4} D. Fried, ``Anisoplanatism in adaptive optics,'' \josa {\bf 72,} 52-61 (1982). \bibitem{5} D. Korff, G. Druden, and R. P. Leavitt, ``Isoplanicity: the translation invariance of the atmospheric Green's function,'' \josa {\bf 65,} 1321-1330 (1975). \bibitem{6} J. H. Shapiro, ``Point-ahead limitation on reciprocity tracking,'' \josa {\bf 65,} 65-68 (1975). \bibitem{7} G. A. Tyler, ``Turbulence-induced adaptive-optics performance degradation: evaluation in the time domain,'' \josaa {\bf 1,} 251-262 (1984). \bibitem{8} I. S. Gradshteyn and I. M. Ryzhik, {\it Table of Integrals, Series, and Products} (Academic, New York, 1980). \bibitem{9} V. I. Tatarski, {\it The Effects Of The Turbulent Atmosphere On Wave Propagation} (U. S. Department of Commerce, Washington, D.C., 1971). \bibitem{10} R. E. Hufnagel, {\it Optical Propagation through Turbulence} (Optical Society of America, Washington, D. C., 1974). \bibitem{11} J. L. Bufton, P. O. Minott, M. W. Fitzmaurice, and P. J. Titterton, ``Measurements of turbulence profiles in the troposphere,'' \josa {\bf 62,} 1068-1070 (1972). \bibitem{12} G. C. Valley, ``Isoplanatic degradation of tilt correction and short-term imaging system,'' \ao {\bf 19,} 574-577 (1980). \bibitem{13} M. G. Miller and P. L. Zieske, ``Turbulence environmental characterization,'' RADC-TR-79-131 (Rome Air Development Center, Griffiss Air Force Base, N.Y., 1979). \bibitem{14} D. P. Greenwood, ``Bandwidth specifications for adaptive optics systems,'' \josa {\bf 67,} 390-393 (1977). \bibitem{15} D. L. Fried, ``Time-delay-induced mean-square error in adaptive optics,'' \josaa {\bf 7,} 1224-1225 (1990). \bibitem{16} C. W. Allen, {\it Astrophysical Quantities} (Athlone, London, 1963). \bibitem{17} A. E. Cole, A. Court, and A. J. Kantor, {\it Handbook of Geophysics and Space Environments,} S.\ L.\ Valley, ed. (McGraw-Hill, New York, 1965). \bibitem{18} G. Tyler, J. Belsher and D. Fried, ``Amelioration of chromatic refraction induced pseudoanisoplanatism," tOSC Rep. TR-465 (Optical Sciences Co., Placentia, Calif., 1982). \end{references} \begin{figure} \caption{ Comparison of the Mar\'{e}chal and the two- to six-term approximations with the exact value of the Strell ratio, for an anisoplanatic displacement, for $D/r_0$ equal to 1.}\label{f1} \end{figure} \begin{figure} \caption{ Comparison of the Mar\'{e}chal and the two- to six-term approximations with the exact value of the Strell ratio, for an anisoplanatic displacement, for $D/r_0$ equal to 5. } \label{f5} \end{figure} \begin{figure} \caption{ Comparison of the Mar\'{e}chal and the two- to six-term approximations with the exact value of the Strell ratio, for an anisoplanatic displacement, for $D/r_0$ equal to 10. } \label{f10} \end{figure} \begin{figure} \caption{Strehl ratio for angular anisoplanatic error at zenith, for various turbulence models, versus separation angle for a 0.6-m system. Upper-altitude turbulence has a strong effect on the Strehl ratio.} \label{faaz} \end{figure} \begin{figure} \caption{ Strehl ratio for angular anisoplanatism at $30^{\circ}$ for a 0.6-m system.} \label{faa30} \end{figure} \begin{figure} \caption{ Strehl ratio versus time delay at zenith for a 0.6-m system.} \label{ftdz} \end{figure} \begin{figure} \caption{ Strehl ratio versus time delay for a 0.6-m system at $30^{\circ}$ zenith angle. Strehl ratio at $30^{\circ}$ for a 0.6-m system. } \label{ftd30} \end{figure} \begin{figure} \caption{ Difference ($\times 10^6$) in refractive index between $0.5 \, \mu \rm m$ and other wavelengths.}\label{fri} \end{figure} \begin{table} \caption{Values of $T_2$ and $T_{5/3}$ to Solve for the Chromatic Displacement for Various Turbulence Models for a Wavelength of 0.5 $\mu \rm m$} \begin{tabular}{lcc} Model&$T_2$\tablenote{The units of $T_2$ are $m^{1/3}$.}& $T_{5/3}$\tablenote{$T_{5/3}$ is dimensionless.} \\ \tableline SLC-Day&$2.71 \, \times \, 10^{-6}$&$2.00 \, \times \, 10^{-7}$\\ HV-21&$6.16 \, \times \, 10^{-6}$&$3.60 \, \times \, 10^{-7}$\\ HV-54&$3.40 \, \times \, 10^{-5}$&$1.87 \, \times \, 10^{-6}$\\ HV-72&$5.95 \, \times \, 10^{-5}$&$3.25 \, \times \, 10^{-6}$\\ \end{tabular} \end{table} \end{document} %%% file josaa.tex %%% �������extrarpms/revtex/josab.tex��������������������������������������������������������������������������0100644�0000764�0000764�00000070712�07267371705�015260� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%%%%%%%%%%%%%%%%%% file josab.tex %%%%%%%%%%%%%%%%%%%% % % % Copyright (c) Optical Society of America, 1992. % % % %%%%%%%%%%%%%%%%%% October 20, 1992 %%%%%%%%%%%%%%%%%%% % \documentstyle[osa,manuscript]{revtex} % DON'T CHANGE % % \newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} \newcommand{\manual}{rm} % Substitute rm (Roman) font. \newcommand\bs{\char '134 } % add backslash char to \tt font % % \begin{document} % INITIALIZE - DONT CHANGE % % % \title{Generation, propagation, and amplification of dark solitons} % \author{W. Zhao and E. Bourkoff} % \address{Department of Electrical and Computer Engineering, The University of South Carolina, Columbia, South Carolina, 29208} % \maketitle \begin{abstract} The technique for generating dark solitons with constant background using guided-wave Mach--Zehnder interferometers is further examined. Under optimal conditions, a reduction of 30\% in both the input optical power and the driving voltage can be achieved, as compared with the case of complete modulation. Dark solitons are also found to experience compression through amplification. When the gain coefficient is small, adiabatic amplification is possible. Raman amplification can be used as the gain mechanism for adiabatic amplification, in addition to being used for loss-compensation. The frequency and time shifts caused by intrapulse stimulated Raman scattering are both found to be a factor of 2 smaller than those for bright solitons. Finally, the propagation properties of even dark pulses are described quantitatively. \end{abstract} \section{ INTRODUCTION} \label{INT} Nonlinear optical pulses can propagate in dispersive fibers in the form of bright and dark solitons under certain conditions, as first described by Zakharov and Shabat in 1972\cite{ZA} and in 1973,\cite{ZB} respectively. They are stationary solutions of the initial boundary value problem of the nonlinear Schr{$\rm\ddot o$}dinger equation (NLSE).\cite{SA} In the anomalous dispersion regime of the fiber, under the boundary condition $ u( z, t = \pm \infty ) = 0 $, there exists a class of particle-like, stationary solutions called bright solitons.\cite{HA} In the normal dispersion region, under the \begin{center} {\small \copyright\ Optical Society of America, 1992.} \end{center} boundary condition $ | u( z, t = \pm \infty ) | = $constant, one can obtain another class of stationary solutions, which are called dark solitons, since a dip occurs at the center of the pulse.\cite{HB} Ever since the pioneering work by Zakharov and Shabat\cite{ZA,ZB} and Hasegawa and Tappert,\cite{HA,HB} optical solitons have been an active topic of research. This is particularly true since advances in experimental techniques for generating ultrashort pulses in the picosecond regime have made it possible to observe soliton effects in single-mode optical fibers. The bright soliton was first successfully observed in single-mode optical fibers by Mollenauer {\it et al.\ } in 1980,\cite{MA} and the dark soliton was first observed by Emplit {\it et al.\ } in 1987.\cite{EA} The characteristics of bright solitons have been studied extensively during the past decade.\cite{AA,MB} It was found\cite{SA} that bright solitons are periodic and highly stable against small perturbations, such as fiber loss, background noise, and amplitude variations.\cite{HA,HB} Ideally, when fiber loss is neglected, the fundamental bright soliton can propagate inside an anomalously dispersive fiber over an infinitely long distance without changing its pulse shape. This can occur because, for a fundamental soliton, the effect of dispersion on the pulse is exactly balanced by that of the nonlinear refractive index of the fiber, i.e., the self-phase modulation. Solitons can also survive collisions between them. The interaction force between two neighboring solitons is periodic and decreases exponentially with their separation.\cite{GA} Another characteristic of bright solitons is that they can be adiabatically amplified under certain conditions when gain is introduced into the fiber, e.g., through Raman amplification.\cite{BA} The effect of fiber loss on the pulse can thus be compensated for by injecting a cw laser beam at a shorter wavelength into the fiber, whereby stimulated Raman scattering transfers its energy to the soliton.\cite{HC} Therefore solitons are candidates for information carriers for future optical communications. Much research has been done in this area.\cite{DA} The possibility of stable, repeaterless, all-optical soliton transmission at a 10--GHz rate across almost 5000 km has been numerically demonstrated\cite{HD,MC} and experimentally realized with a rate-length product of approximately 11,000 GHz km.\cite{MD} More recently, with erbium-doped fiber amplifiers, soliton transmission of 9,000 km at 4 Gbits/s has been realized.\cite{ME} Because a dark pulse (with a dip of pulse intensity under constant background),\cite{EA,KA,WA} especially the so called odd dark pulse (for which the electric field changes sign at the center of the pulse), cannot be easily generated, dark solitons have been studied less than their counterparts, bright solitons. However, as a result of recent developments in techniques for synthesizing short optical pulses with almost arbitrary shapes and phases,\cite{WB} it is possible to observe soliton like propagation of individual dark pulses in single-mode fibers. Because these fibers exhibit normal dispersion over a large spectral region, extending from UV to IR ($ \lambda < 1.3 \mu\rm m $), many cw and pulsed laser sources can be used to generate dark solitons. As a result, dark solitons have attracted increasing attention. \ldots In the following discussions, we adopt the normalization convention used in Agrawal's book.\cite{AB} We normalize the field amplitude $A$ (optical power $P_0 = A^2 $) into $u$ by \begin{eqnarray*} u = \left( { 2 \pi n_2 {\tau_0}^2 }\over { \lambda A_{\rm eff} | \beta_2 | } \right)^{1/2} A , \end{eqnarray*} where $A_{\rm eff }$ is the effective area of the propagating mode, $n_2 = 3.2\times 10^{-16}$cm$^2 /$W is the nonlinear optical Kerr coefficient of the silica fiber, and $ \beta_{2} $ is a parameter describing the group velocity dispersion of fiber, defined as the second-order derivative of the propagation constant with respect to the radiant frequency evaluated at the signal frequency. The time variable $ t $ is normalized by a characteristic time constant $ \tau_0 $ (e.g., $ \tau_{\rm FWHM} = 1.76 \tau _{0} $ for hyperbolic secant pulses), and the spatial variable $z$ is normalized by the so-called dispersion length, \begin{eqnarray*} L_D &=& {{\tau_0}^2}\over{\beta_2 } . \end{eqnarray*} As an example, at wavelength $ \lambda = 1.06 \, \mu$m with $ A_{\rm eff} = 40\, \mu {\rm m}^2$, for a pulse with $ \tau _{0} = 1\, $ps, the normalized distance $z = 1 $ corresponds to a real fiber length of $ L_{D}= 60\,$m, and $ u = 1 $ represents an optical power of $ P_{0}=3.5\,$W. However, when $ \tau _{0} =0.1\,$ps, $ L_{D }=60\,$cm, and $ P_{0}=350\,$W. \section{GENERATION OF DARK SOLITONS} \label{GDS} In our earlier work\cite{ZBD,ZBE} we discussed the possibility of using an integrated Mach--Zehnder interferometer (MZI) to generate dark solitons with constant background. The idea is to drive a broad bandwidth MZI with a square-shape electric voltage with picosecond rise time. The applied electric voltage signal introduces a relative phase shift, proportional to the voltage, between the two arms of the interferometer by means of the electro-optic effect of the waveguide material. At the output, the two components of light are recombined, and the resultant optical field is proportional to the cosine of half of the total phase difference, the induced relative phase shift plus any other static (residual) phase differences. Therefore the pulse after the MZI, when properly biased, can have the form \begin{eqnarray} u (0,t) = a\, {\rm sin} [ \delta \pi /2\, {\rm tanh} (t) ], \label{E1} \end{eqnarray} where $a$ is the field amplitude of the input cw laser beam and $ \delta $ the ratio of the applied voltage, approximated by a hyperbolic tangent function of time, to the half-wave voltage of the MZI. \ldots \ldots The bandwidth requirement of the MZI is determined by the desired pulse duration, which is approximately half of the reciprocal of pulse duration. For a 50 ps dark soliton, 10 GHz is required, and this is achievable by current technology. \section{PROPAGATION AND AMPLIFICATION} \label{PAA} As discussed in Section \ref{GDS}, when smaller values of $ \delta $ are used, pulses of better characteristics are obtained. This can be seen in Fig. 1(d), where $ a = 1.33 $ and a pure fundamental dark soliton is generated. \ldots . \ldots In what follows, we will examine the possibility of amplification and compression of dark solitons with a constant gain and show that the stimulated Raman scattering can be used to amplify dark solitons as well as to compensate for the fiber loss. We first examine the solution of a modified NLSE with a constant gain: \begin{eqnarray} i u_{z} - {1/2} u_{tt} + |u|^2 u = i \Gamma u, \label{E2} \end{eqnarray} where $\Gamma $ is assumed to be a constant, appropriate for the Raman amplification under strong pumping without depletion. The solution of a similar equation to Eq. (\ref{E2}), but in the anomalous dispersion regime, in which bright solitons are amplified and compressed by the gain, has been analyzed by Blow {\it et al}.\cite{BA} To solve the equation, we make the following variable transformation: \begin{mathletters} \begin{eqnarray} t' &=& t e^{ \Gamma z }, \label{E4} \\ z' &=& { e^{2 \Gamma z } - 1 \over 2 \Gamma }, \label{E5} \\ u &=& v e^{ \Gamma z } . \label{E6} \end{eqnarray} \end{mathletters} Under this transformation, the NLSE has the new form \begin{eqnarray} i v_{z'} -\slantfrac{1}{2} v_{ t' t' } - |v|^2 v &=& - { \Gamma t' \over 2 \Gamma z' + 1} v_{t'}. \label{E7} \end{eqnarray} The solution of Eq. (\ref{E2}) when $\Gamma $ = 0 is well known and has the form ${\rm exp} [i \sigma (z,t) ] \kappa \tanh \kappa t $, where $\kappa $ is the form factor and the phase variable satisfies $ \partial \sigma / \partial z = \kappa^2 $.\cite{ZA} Therefore, when the right-hand-side of Eq.(\ref{E7}) is zero, an exact solution for $v(z',t)$ can be obtained from Eq. (\ref{E7}). On the other hand, when $z \rightarrow \infty $ and hence $z' \rightarrow \infty $ or $ \Gamma \rightarrow 0$, the right-hand side of Eq. (\ref{E7}) becomes infinitely small. Under these conditions, we can treat the right-hand side of Eq. (\ref{E7}) as a perturbation to the NLSE. \ldots \begin{eqnarray} u(z,t)&=&{\rm exp}\left( i{e^{2\Gamma z}-1 \over 2\Gamma}\right) e^{\Gamma z} \, {\rm tanh} (te^{\Gamma z}), \label{E8} \\ \Gamma&=&g(e^{-2\Gamma_pz} + e^{-2\Gamma_p(L-z)}) - \Gamma_s, \label{E9} \\ g&=&{\Gamma_p(\Gamma_s + \beta)L \over {\rm sinh}(\Gamma_pL)} e^{\Gamma_pL} , \label{E10} \\ \kappa(z) &=& \kappa_0 \, {\rm exp}(\beta z). \label{E11} \end{eqnarray} \ldots In summary, we have studied the propagation properties of dark solitons under the influence of gain. The dark soliton can be amplified and compressed adiabatically when the gain coefficient remains small, e.g., $ \Gamma < 0.1 $. As the gain increases above this value, secondary gray solitons will be generated. Stimulated Raman scattering can be utilized to provide the gain. When the product $ \Gamma _p L $ is kept small, dark solitons can be amplified adiabatically with high quality. Such a property of dark solitons enable us to obtain dark solitons with short durations for the ease of observation and transmission. \section{EFFECTS OF INTRAPULSE STIMULATED RAMAN SCATTERING} \label{EIS} The properties of dark solitons considered thus far are based on the simplified propagation equation (\ref{E2}). When the pulse duration reaches the subpicosecond regime, it becomes necessary to include higher-order nonlinear and dispersive effects.\cite{ZBF} These effects represent higher-order terms in the derivation of wave equation from the Maxwell's equations. Intrapulse stimulated Raman scattering (ISRS) is one of the dominating effects. It causes soliton self-frequency shift for both bright solitons\cite{MG,GD} as well as for dark solitons.\cite{WD} Since its discovery for bright solitons,\cite{ZBF} considerable attention has been paid to such effects. \ldots The effect of ISRS on bright solitons is to shift in both the temporal and spectral domains. It has been demonstrated that the frequency red shift of bright solitons is linear with propagation length, at a rate of $-8t_d /15 {\tau_0}^4 $ per unit propagation distance, where $ t_d $ is the delay time the nonlinear response of the medium (typically 6 fs) and $ \tau _{0} $ is the normalized soliton duration. The temporal shift is a direct consequence of the group velocity dispersion of the fiber. The temporal shift was found to be $4 t_d z^2 /15 {\tau_0}^4 $.\cite{BB} Note that the shifting rate is proportional to $|u|^4 $ because $ \tau _0 $ is the inverse of the normalized amplitude. ISRS is especially pronounced for high peak power pulses. Therefore, when a higher-order soliton is launched, the ISRS will cause soliton fission.\cite{TA} Because of such effects, the initially bound state ceases to exist and solitons of different amplitudes are separated from one another. The energies of these separating solitons are distributed in such way to ensure conservation of momentum. \ldots \begin{eqnarray} iu_z - {1/2}u_{tt}+|u|^2u &=& \tau_d{\partial |u|^2 \over \partial t}u, \label{E12} \end{eqnarray} \ldots We introduce a simple model of the shift for fundamental dark solitons: \begin{mathletters} \begin{eqnarray} {{\rm d}\omega \over {\rm d}z} &=& {4\tau_d \over 15}\kappa^4, \label{E13}\\ {{\rm d}\theta \over {\rm d}z} &=& \omega. \label{E14} \end{eqnarray} \end{mathletters} \ldots We next study the behavior of dark solitons when both adiabatic amplification and ISRS are present. Figure 6(a) shows the pulse shape of a fundamental dark soliton in such a case. In this case the fundamental dark soliton loses its amplitude contrast, as it does in Fig. 4(a), and the ISRS temporal shift is enhanced by the effect of adiabatic gain. In the simple model described by Eqs. (\ref{E8}) and (\ref{E13}), the temporal shift by ISRS has the functional form \begin{eqnarray} \theta = {\tau_d \over 60 \Gamma^2 } ( e^{ 4 \Gamma z } - 1 - 4 \Gamma z ) . \label{E15} \end{eqnarray} \ldots In summary, the ISRS causes a shift of dark solitons. A salient feature of dark solitons is that the rate of such shift is half the value for bright solitons, when the slow loss of contrast is neglected. This leads to a better stability of a fundamental dark soliton against such perturbations. However, the situation for higher-order dark solitons is more complicated because there are amplitude changes associated with each soliton. The symmetry of higher-order solitons is broken. Red secondary solitons gain energy at the expense of blue ones. The primary soliton ceases to be a fundamental dark soliton and suffers energy losses and frequency blue shift. \section{EVEN DARK PULSES} \label{EDP} Even dark pulses,\cite{KA,WA} which are symmetric functions of time centered around the pulse, can be simply generated by driving the MZI with a short electric pulse. In this case, only an intensity modulation that gives a dip of optical power under the constant background is required. The propagation characteristics of even dark pulses are different from those of odd dark solitons. Generally, even dark pulses split into pairs of secondary dark solitons without the formation of a primary dark soliton. The energy of the input dark pulse is then redistributed into a certain number of paired secondary dark solitons. Secondary dark solitons, which are called gray solitons\cite{TB} have nonzero intensity of pulse centers. \ldots If we define the amplitudes of the secondary soliton pairs as \begin{eqnarray} \kappa_n = \kappa_0 - \Delta_{n} , \label{E16} \end{eqnarray} then the $n$th order secondary pulse shape (n = 1, 2, 3, \ldots ) has the form \begin{eqnarray} u_n (z,t) = \kappa_{0}{(\lambda_n - i \nu_n )^2 - \nu_n \,{\rm exp} [ 2 \nu_n (t-t_{n0} - \lambda_{n} z)] \over 1 + \nu_n\, {\rm exp} [ 2 \nu_n (t-t_{n0} - \lambda_n z)]} e^{iz}, \label{E17} \end{eqnarray} \ldots \section{CONCLUSIONS} We have discussed the possibility of using the waveguide Mach--Zehnder interferometer to generate a variety of dark solitons under constant background. Under optimal operation, 30\% less input power and driving voltage are required than for complete modulation. The generated solitons can have good pulse quality and stimulated Raman scattering process can be utilized to compensate for fiber loss and even to amplify and compress the dark solitons. Generally speaking, when a constant gain coefficient is included in the NLSE, adiabatic amplification of the dark soliton is possible, as long as the gain $\Gamma $ is kept small \ldots When a fundamental dark soliton is adiabatically amplified in the presence of ISRS, the spectral shift and thus the temporal shift follow a simple rule, Eq. (\ref{E15}), which takes into consideration the exponentially increasing amplitude and linear dependence of the shift on the propagation distance. We find that such a simple model can accurately describe the behavior of fundamental dark solitons subject to adiabatic amplification and ISRS. The propagation properties of even dark pulses are also studied, with special attention to the distribution of energies among secondary gray solitons. Despite their more complicated nature, our results demonstrate that the partition of the energy is similar for quite different input pulse shapes, as long as they have the same background intensity and total energy for the input pulse. One can use the partition rule obtained here to predict the amplitude of secondary solitons produced from an input even dark pulse. \acknowledgments The authors thank the reviewers for their constructive comments. This research was supported by National Science Foundation grant ECS-91960-64. \begin{references} \bibitem{ZA} V. E. Zakharov and A. B. Shabat, ``Exact theory of two-dimensional self-focusing and one-dimensional self-modulation of waves in nonlinear media,'' Sov. Phys. JETP {\bf 5,} 364--372 (1972). \bibitem{ZB} V. E. Zakharov and A. B. Shabat, ``Interaction between solitons in a stable medium,'' Sov. Phys. JETP {\bf 37,} 823--828 (1973). \bibitem{SA} J. Satruma and N. Yajima, ``Initial value problems of one-dimensional self-phase modulation of nonlinear waves in dispersive media,'' Progr. Theor. Phys. Suppl. {\bf 55,} 284--305 (1974). \bibitem{HA} A. Hasegawa and F. Tappert, ``Transmission of stationary nonlinear optical pulses in dispersive dielectric fibers. I. Anomalous dispersion,'' Appl. Phys. Lett. {\bf 23,} 142 (1973). \bibitem{HB} A. Hasegawa and F. Tappert, ``Transmission of stationary nonlinear optical pulses in dispersive dielectric fibers. II. Normal dispersion,'' Appl. Phys. Lett. {\bf 23,} 172 (1973). \bibitem{MA} L. F. Mollenauer, R. H. Stolen, and J. P. Gordon, ``Experimental observation of pico-second pulse narrowing and solitons in optical fibers,'' Phys. Rev. Lett. {\bf 45,} 1095 (1980). \bibitem{EA} P. Emplit, J. P. Hamaide, R. Reynaud, C. Froehly, and A. Barthelemy, ``Picosecond steps and dark pulses through nonlinear single mode fibers,'' Opt. Commun. {\bf 62,} 374--379 (1987). \bibitem{AA} S. A. Akhmanov, V. A. Vysloukh, and A. S. Chirkin, ``Self-action of wave packets in a nonlinear medium and femtoseconds laser pulse,'' Sov. Phys. Usp. {\bf 29,} 642--677 (1986). \bibitem{MB} L. F. Mollenauer, ``Solitons in optical fibers and the soliton laser,'' Philos. Trans. Roy. Soc. Lond. A {\bf 315,} 437--450 (1985). \bibitem{GA} J. P. Gordon, ``Interaction forces among solitons in optical fibers,'' Opt. Lett. {\bf 8,} 596--598 (1983). \bibitem{BA} K. J. Blow, N. J. Doran, and David Wood, ``Generation and stabilization of short soliton pulses in amplified nonlinear Schr$ roman o dotdot $dinger equation,'' J. Opt. Soc. Am. B {\bf 5,} 381--91 (1988). \bibitem{HC} A. Hasegawa, ``Amplification and reshaping of optical solitons in a glass fiber -- IV: Use of the stimulated Raman process,'' Opt. Lett. {\bf 8,} 650--652 (1983). \bibitem{DA} N. J. Doran and K. J. Blow, ``Solitons in optical communications,'' IEEE J. Quantum Electron. {\bf QE-19,} 1883--1888 (1983). \bibitem{HD} A. Hasegawa, ``Numerical study of optical soliton transmission amplified periodically by the stimulated Raman process,'' Appl. Opt. {\bf 23,} 3302--3309 (1984). \bibitem{MC} L. F. Mollenauer, J. P. Gordon, and M. N. Islam, ``Soliton propagation in long fibers with periodically compensated loss,'' IEEE J. Quantum Electron. {\bf QE-22,} 157--173 (1986). \bibitem{MD} L. F. Mollenauer and K. Smith, ``Demonstration of soliton transmission over more than 4000 km in fiber with loss periodically compensated by Raman gain,'' Opt. Lett. {\bf 13,} 675--677 (1988). \bibitem{ME} L. F. Mollenauer, M. J. Neubelt, S. G. Evangelides, J. P. Gordon, J. R. Simpson, and L. G. Cohen, ``Experimental study of soliton transmission over more than 10,000 km in dispersion-shifted fiber,'' Opt. Lett. {\bf 16,} 1203--1205 (1990). \bibitem{KA} D. Kr$\rm {\ddot o}$kel, N. J. Halas, G. Giuliani, and D. Grischkowsky, ``Dark-pulse propagation in optical fibers,'' Phys. Rev. Lett. {\bf 60,} 29--32 (1988). \bibitem{WA} A. M. Weiner, J. P. Heritage, R. J. Hawkins, R. N. Thurston, E. M. Kirschner, D. E. Leaird, and W. J. Tomlinson, ``Experimental observation of the fundamental dark soliton in optical fibers,'' Phys. Rev. Lett. {\bf 61,} 2445--2448 (1988). \bibitem{WB} A. M. Weiner, J. P. Heritage, and E. M. Kirschner, ``High-resolution femtosecond pulse shaping,'' J. Opt. Soc. Am. B {\bf 5,} 1563--1572, (1988). \bibitem{ZBA} W. Zhao and E. Bourkoff, ``Propagation properties of dark solitons,'' Opt. Lett. {\bf 14,} 703--705 (1989). \bibitem{ZBB} W. Zhao and E. Bourkoff, ``Periodic amplification of dark solitons using stimulated Raman scattering,'' Opt. Lett. {\bf 14,} 808--810 (1989). \bibitem{ZBC} W. Zhao and E. Bourkoff, ``Interactions between dark solitons,'' Opt. Lett. {\bf 14,} 1371--1373 (1989). \bibitem{ZBD} W. Zhao and E. Bourkoff, ``Generation of dark solitons under cw background using waveguide EO modulators,'' Opt. Lett. {\bf 15,} 405--407 (1990). \bibitem{WC} A. W. Weiner, R. N. Thurston, W. J. Tomlinson, J. P. Heritage, D. E. Leaird, E. M. Kirschner, and R. J. Hawkins, ``Temporal and spectral self-shifts of dark optical solitons,'' Opt. Lett. {\bf 14,} 868--870 (1989). \bibitem{AB} G. P. Agrawal, {\it Nonlinear Fiber Optics,} Chapt. 5 (Academic, Boston, 1989). \bibitem{ZBE} W. Zhao and E. Bourkoff, ``Dark solitons: generation, propagation, and amplification'', {\it OSA Annual Meeting,} Vol. 18 of 1989 OSA Technical Digest Series (Optical Society of America, Washington, D.C., 1989), p. 185. \bibitem{ZBF} W. Zhao and E. Bourkoff, ``Femtosecond pulse propagation in optical fibers: higher order effects,'' IEEE J. Quantum Electron. {\bf QE-24,} 356--372 (1988). \bibitem{MG} F. M. Mitschke and L. F. Mollenauer, ``Discovery of soliton self-frequency shift,'' Opt. Lett. {\bf 11,} 659--661 (1986); \bibitem{GD} J. P. Gordon, ``Theory of soliton self-frequency shift,'' Opt. Lett. {\bf 11,} 662--664 (1986). \bibitem{WD} A. W. Weiner, R. N. Thurston, W.J. Tomlinson, J. P. Heritage, D.E. Leaird, E. M. Kirschner, and R. J. Hawkins, ``Temporal and spectral self-shifts of dark optical solitons,'' Opt. Lett. {\bf 14,} 868--870 (1989). \bibitem{SA} R. H. Stolen, J. P. Gordon, W. J. Tomlinson, and H. A. Haus, ``Raman response function of silica-core fibers,'' J. Opt. Soc. Am. B {\bf 6,} 1159--1166 (1989). \bibitem{BB} K. J. Blow, N. J. Doran, and D. Wood, ``Suppression of the soliton self-frequency shift by bandwidth-limited amplification,'' J. Opt. Soc. Am. B {\bf 5,} 1301--1304 (1988). \bibitem{TA} K. Tai, A. Hasegawa, and N. Bekki, ``Fission of optical solitons induced by stimulated Raman effect,'' Opt. Lett. {\bf 13,} 392--394 (1988). \bibitem{TB} W. J. Tomlinson, R. J. Hawkins, A. M. Weiner, J. P. Heritage, and R. N. Thurston, ``Dark optical solitons with finite-width background pulses'', J. Opt. Soc. Am. B {\bf 6,} 329--334 (1989). \end{references} \begin{figure} \caption{The dark solitons generated by the waveguide Mach-Zehnder interferometer. The amplitude of the input cw light is chosen to be $ a = \pi /2 $ for (a)-(c). The parameter $ \delta $ is (a) 0.8, (b) 0.5, and (c) 0.2. Part (d) is the case of optimal operation when $ a = 1.33 $, and $ \delta = 0.7 $. In all cases, the output pulse shapes are plotted as solid curves while the dashed curves are input pulse shapes. The pulses shown here are at a propagation distance of $ z = 4 $.} \end{figure} \begin{figure} \caption{ Dark solitons under constant gain. Pulse shapes (solid) when $\Gamma$=0.05 (a) and 1(b), after certain propagation distance, $\Gamma$z=1.6, as compared to input pulse shapes (dashed). (c): The pulse duration, relative to its input, as a function of $\Gamma z$ at various $\Gamma$. The solid curve is the adiabatic approximation obtained by perturbation method. Three values of $\Gamma$ are used: $\Gamma$ = 0.05 (dotted); 0.2 (dash-dotted); and 1 (dashed). Negative $\Gamma$z depicts the case of loss.} \end{figure} \begin{figure} \caption{ The pulse shapes of amplified dark solitons. (a) $ \delta = 0.5 $, $ \beta = 2 ln 1.05 $, $ \Gamma_p L = 2 $, after 8 amplifying cycles (solid); (b) $ \delta = 0.5 $, $ \beta = 2 ln 1.02 $, $ \Gamma_p L = 2 $, after 16 amplifying cycles (solid); (c) $ \delta = 0.5 $, $ \beta = 2 ln 1.02 $, $ \Gamma_p L = 0.5 $, after 16 amplifying cycles (solid); (d) The input pulse is the same as in Fig. 1(c), $ \beta = 2 ln 1.05 $, after 8 amplification periods (solid). The input pulse shapes are plotted as dashed curves.} \end{figure} \begin{figure} \caption{ (a) The shape of a fundamental dark soliton after a propagation distance of 40 (solid). The normalized time delay $ \tau_d = 0.01 $. The dashed curve is the input pulse shape. (b) The trace of the soliton (solid) as a function of propagation distance for the situation described by (a). The dotted curve represents the case for a fundamental bright soliton under similar conditions.} \end{figure} \begin{figure} \caption{ The shape of a higher-order dark soliton [2 tanh($t$)] after a propagation distance of 12 for $ \tau_d = 0.01 $ (solid). The dotted curve is the pulse if $ \tau_d = 0 $, i.e., without ISRS.} \end{figure} \begin{figure} \caption{ (a) The shape of an adiabatically amplified fundamental dark soliton (solid). $ \Gamma = 0.05 $, $ z = 16 $, and $ \tau _d = 0.01 $. The dotted curve corresponds to the pulse shape without ISRS; (b) The trace of the soliton (solid) for the case of (a). The dotted curve is a fit as described by Eq. (11) in the text.} \end{figure} \begin{figure} \caption{Even dark pulses when the input pulse (dashed curve) is $\kappa_0 |\tanh (t)|$. (a) $\kappa_0=1.56$, and $z=8 $ (solid curve), (b) $\kappa_0 = 4$ and $ z = 3.75 $ (solid curve). In (c), three different input pulses are assumed: $ 8|\tanh (t)|$ (solid curve), $ 8 [{1-{\rm exp}(-t^2 /\tau_g^2)}]^{1/2} $ (dotted curve), and $ 8 [1- {\rm sech } (t/ \tau_s )]$ (dashed curve). The propagation distance is $ z = 8$. } \end{figure} \begin{figure} \caption{ Even dark pulses generated from MZI. The pulse after MZI is 2 cos$(\pi /2 {\rm sech }^2 t ) $ (dashed curve) and the shape of secondary dark solitons is shown by the solid curve for $ z = 4 $.} \end{figure} \begin{figure} \caption{ The loss compensated even dark pulses. The input pulse is 2 cos$(\pi /2 {\rm sech }^2 t ) $ (dotted curve), the secondary solitons with fiber losses compensated by stimulated Raman scattering is shown by the solid curve. For comparison, the pulse shape without fiber losses is shown by the dashed curve (same as Fig. 8). The propagation distance is 4.} \end{figure} \begin{table} \caption{Amplitudes of Secondary Even Dark Pulses} \begin{tabular}{cccccr} &&Input Pulse Shape&&&\\ \cline{2-4} $\Delta_n$Values&$\kappa_0|{\rm tanh}t|$&$\kappa_0[1-{\rm exp}(-t^2/ {\tau_g}^2)]^{1/2}$&$\kappa_0[1-{\rm sech}(t/\tau_s)]$&Avg.&Range\\ \tableline $\Delta_1$&0.34&0.30&0.21&0.28&$\pm 25\%$ \\ $\Delta_2$&1.56&1.41&1.26&1.41&$\pm 11\%$ \\ $\Delta_3$&2.47&2.26&2.28&2.34&$\pm 6\%$ \\ $\Delta_4$&3.52&3.25&3.31&3.36&$\pm 6\%$ \\ $\Delta_5$&4.45&4.26&4.42&4.38&$\pm 6\%$ \\ $\Delta_6$&5.52&5.35&5.50&5.50&$\pm 5\%$ \\ \end{tabular} \end{table} \end{document} %%% file josab.tex %%% ������������������������������������������������������extrarpms/revtex/manaip.tex�������������������������������������������������������������������������0100644�0000764�0000764�00000044617�07267371705�015434� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%% file: manaip.tex from REVTeX 3.1 % Copyright (c) 1992, American Institute of Physics \documentstyle[aps]{revtex} \makeatletter %run page numbers by chapter \def\thepage{3-\@arabic\c@page} %these page numbers need abit more width \def\@pnumwidth{2em} \def\REVTeX{REV\TeX} \makeatother \begin{document} \twocolumn \title{REV\TeX\ Information For AIP Authors\\ \vskip 1pc Instructions to authors for preparing compuscripts to be submitted to\\ AIP journals in REV\TeX\ 3.1 format} \maketitle \tableofcontents \makeatletter \global\@specialpagefalse \def\@oddhead{\REVTeX{} 3.1\hfill Released September 1996} \let\@evenhead\@oddhead % run page numbers by "chapter", with copyright for first page \def\@oddfoot{\reset@font\rm\hfill \thepage\hfill \ifnum\c@page=1 \llap{\protect\copyright{} 1996 American Institute of Physics}% \fi } \let\@evenfoot\@oddfoot \makeatother \section{Introduction} The American Institute of Physics has been using author-prepared REV\TeX\ files to produce author proofs since 1992. Author files are converted into code that can be used by Xyvision, AIP's composition system. Therefore, you may have noticed that these compuscripts look exactly like conventionally processed articles. It is because of this conversion that it is imperative that the guidelines as set forth in the REV\TeX\ input guide are followed exactly. Failure to comply with these guidelines may result in rejection of your file, and your manuscript will then be typeset from scratch. At this time, all compuscripts follow conventional processing schedules. There are no accelerated schedules for compuscripts, nor are there any page charge reductions. \section{Participating Journals } \label{partjourn} AIP has established compuscript procedures for the following journals: \begin{itemize} \item The Astronomical Journal\footnote{{\it AJ} authors are asked to use AAS\TeX\, an author markup package prepared by the American Astronomical Society. For more information on AAS\TeX\, send e-mail to {\tt aastex-help@aas.org}. For instructions on how to submit a file electronically, send an empty e-mail message to {\tt aj-instruct@aas.org}.} \item Applied Physics Letters \item Chaos \item Computers in Physics \item Journal of Applied Physics \item Journal of the Acoustical Society of America \item Journal of Chemical Physics \item Journal of Mathematical Physics \item Journal of Rheology \item Journal of Physical and Chemical Reference Data \item Journal of Vacuum Science \& Technology A \& B\footnote{Authors wishing to submit a REV\TeX\ file to these journals may of course do so, but please be aware that this society prefers the use of AIP's Word/WordPerfect author toolkit. Information regarding this toolkit may be found on the AIP homepage \protect({\tt http://www.aip.org/compuscripts.info.html}). The toolkit is available via anonymous ftp from ftp.aip.org in the directory{\tt /ems}.} \item Medical Physics\footnote{See {\it JVA} \& {\it JVB}.} \item Noise Control Engineering \item Powder Diffraction \item Physics of Fluids \item Physics of Plasmas \item Publications of the Astronomical Society of the Pacific\footnote{% Authors may submit either AAS\TeX\/, \LaTeX\/, or \TeX\ files. Send an empty e-mail message to {\tt pasp-instruct@aas.org} for more information.} \item Review of Scientific Instruments \end{itemize} \section{Where to turn for help} \subsection{Procedural questions} \label{home} For more detailed instructions on how to submit your REV\TeX\ file, please see the {\it Information For Contributors} page in the journal you wish to publish in. Information can also be found on various journal homepages (most are accessible from the AIP homepage; URL: {\tt http://www.aip.org}). Please remember this ``golden rule'' of submission: Do not send a file electronically or on diskette to the editorial office unless (a) your article has been accepted for publication or (b) you are sure that the editorial office accepts files prior to acceptance of your paper. %In this section are listed both AIP contacts and editorial office contacts. %Authors can always contact AIP with any questions, technical or procedural, %surrounding the compuscript program. However, answers may be obtained more %quickly by contacting the editorial office in question, depending on what %stage the manuscript is in and whether the question is procedural or %technical (involving the use of REV\TeX ). \subsection{REV\TeX\ questions} Technical questions involving the use of REV\TeX\/, transmitting files electronically, procedural questions, etc., can be answered by AIP staff. Please contact: \begin{verse} Liz Belmont\\ Compuscript Liaison, AIP\\ e-mail: esubs@aip.org\\ phone: 516-576-2454 \end{verse} \subsection{Prior to manuscript acceptance} %\subsubsection{Procedural questions} Some editorial offices accept original submissions via e-mail, but most do not. Contact the editorial office of the journal you wish to submit to for instructions on how to send your original file electronically. If you have already sent a hard copy of the manuscript to the editorial office, DO NOT send a file until you have been instructed to do so. {\bf Note:} When corresponding with the editorial office, {\it always} include an e-mail address. This will help to expedite matters when the time comes for you to send the file electronically. \subsection{After manuscript acceptance} Files may be submitted to AIP or the editorial office via e-mail or on diskette (PC or Mac, preferably high density diskettes). The editorial office will send you instructions on how and when to submit your file with your acceptance letter (or, depending on the editorial office, an e-mail message notifying you of acceptance). You will receive notification with your page proofs as to whether or not your file was used by AIP, along with an author feedback form, outlining problems we had with the file, or perhaps offering suggestions on how to more easily prepare files in the future. \subsection{Editorial Office Contacts} \label{contacts} Editorial office contacts are listed below (editor, editorial assistant, phone number, and e-mail address). \bigskip \noindent Applied Physics Letters \begin{verse} Dr. Nghi Q. Lam (Diane Kurtz)\\ 708-252-4200\\ apl@anl.gov \end{verse} \noindent Astronomical Journal$^*$ \begin{verse} Dr. Paul Hodge (Chaim Rosemarin)\\ 206-685-2150\\ astroj@astro.washington.edu\\ $^*$Do not use REV\TeX . See Sec. \ref{partjourn}. \end{verse} \noindent Chaos \begin{verse} Dr. David Campbell\\ (Janis Bennett, AIP; janis@aip.org; 516-576-2403)\\ 217-333-3760\\ dkc@faust.physics.uiuc.edu \end{verse} \noindent Computers in Physics \begin{verse} Dr. Lewis Holmes\\ (Patricia Daukantas: 202-745-1895)\\ 301-209-3003\\ lh4@aip.org \end{verse} \noindent Journal of Applied Physics \begin{verse} Dr. Steven Rothman (Diane Kurtz)\\ 708-252-4200\\ jap@anl.gov \end{verse} \noindent The Journal of the Acoustical Society of America \begin{verse} Dr. Daniel Martin\\ 513-231-5278 \end{verse} \noindent The Journal of Chemical Physics \begin{verse} Dr. John C. Light (Mitty Collier)\\ 312-702-7067\\ light@jcp.uchicago.edu \end{verse} \noindent Journal of Mathematical Physics \begin{verse} Dr. Roger G. Newton\\ (Penny Brigham, 812-855-3576)\\ jmp@indiana.edu \end{verse} \noindent Journal of Physical and Chemical Reference Data \begin{verse} Dr. Jean Gallagher/Dr. Malcolm Chase\\ (Julian Ives)\\ 301-975-2204\\ jpcrd@nist.gov \end{verse} \noindent Journal of Rheology \begin{verse} Dr. Morton Denn (Elizabeth Frey)\\ 510-642-0176\\ jor@cchem.berkeley.edu \end{verse} \noindent Journal of Vacuum Science and Technology A \begin{verse} Dr. Gerald Lucovsky (Becky York)\\ 919-248-1861\\ jvst@mcnc.org \end{verse} \noindent Journal of Vacuum Science and Technology B \begin{verse} Dr. Gary McGuire (Becky York)\\ 919-248-1861\\ jvst@mcnc.org \end{verse} \noindent Medical Physics %ADD E-MAIL ADDRESS \begin{verse} Dr. John S. Laughlin\\ (Linda Addonisio, 212-639-7414)\\ addonisio@mpcs.mskcc.org \end{verse} \noindent Noise Control Engineering$^*$ \begin{verse} Dr. David K. Holger\\ 515-294-6240\\ nz.dk@iastate.edu\\ $^*$ Word/WordPerfect toolkit preferred. See Sec. \ref{partjourn}. \end{verse} \noindent Publications of the Astronomical Society of the Pacific$^*$ \begin{verse} Dr. Howard Bond (Denise Dankert)\\ 410-338-4958\\ pasp@stsci.edu\\ $^*$ AAS\TeX\/, La\TeX\/, \TeX\ preferred and accepted. See Sec. \ref{partjourn}. \end{verse} \noindent Physics of Fluids \begin{verse} Dr. Andreas Acrivos (Cheryl Pahaham)\\ 212-283-0962\\ pfa@lev.engr.ccny.cuny.edu \end{verse} \noindent Physics of Plasmas \begin{verse} Dr. Ronald C. Davidson (Sandra Schmidt)\\ 609-243-2424\\ physplas@pppl.gov \end{verse} \noindent Powder Diffraction \begin{verse} Deane K. Smith (Mary Rossi)\\ 814-865-5782\\ smith@psumrl1.psu.edu \end{verse} \noindent Review of Scientific Instruments \begin{verse} Dr. Thomas H. Braid (Lynne Welsh)\\ 708-252-8236\\ rsi@anl.gov \end{verse} \section{REV\TeX\ Tips} You may have discovered that, although you followed all the instructions in the REV\TeX\ input guide, your file was found to be unusable by AIP. Of course there will be circumstances beyond anyone's control (damaged disks, corrupt e-mail messages, etc.) that will render a file unusable. But there are some things that you, the author, can do before you send AIP the file to ensure that it {\it is} accepted and used to produce your page proofs. AIP has developed a robust conversion to translate your file to our Xyvision page make-up system. This conversion was written based on the APS REV\TeX\ input guidelines and the REV\TeX\ template. If those instructions are followed exactly, and the correct REV\TeX\ tags used, then the file will be converted without any problems. But we do recognize that you may be using your REV\TeX\ file to produce preprints, so you may find yourself ``tweaking'' fonts or spacing, or even creating new symbols. However, for our conversion to work properly, it is absolutely necessary that you send AIP a ``clean'' file to work with. Here are some things you can do to help us. \subsection{Author-Defined Macros} Not all author-defined macros are ``bad.'' This used to be the case, but owing to the efforts of AIP's programmers, we are now able to globally expand ``keystroke-saving'' macros. ``Keystroke-saving'' macros are macros defined via the \verb+\def+ and \verb+\newcommand+ family of commands. For example, ``\verb+\be+'' would expand to ``\verb+\begin{equation}+'' and would be defined in the beginning of the file as \verb+\def\be{\begin{equation}}+. So-called ``bad'' macros are custom macros that effect low-level formatting. It is not necessary to worry about the finer points of typesetting. Your file is being translated into another typesetting language, and no amount of moving and kerning of superscripts and subscripts and creating open-face fonts (for example) will change the way the final printed page looks like. If you are going to use your own keystroke-saving macros, please list all of them at the beginning of the file, before the \verb+\begin{document}+ line. Do not sprinkle your defs (or redefine the same macros!) throughout your paper. Again, the macro expander will not work unless all author-defined macros are present at the beginning of the file. The macro expander does not support Plain \TeX\ commands at this time. Do not use \verb+\else, \fi, \if, \input, \mathop, \mathrel, \special+. As for La\TeX\ constructions, \linebreak please do not use \verb+ \newenvironment, \newfont, \newtheorem, \include+. Do not redefine labels, do not reset counters, etc. \subsection{Style files} At this time, there are no AIP journal-specific style files. Please use one of the {\it Physical Review} style files that most closely resembles the style you are trying to achieve. Do not use any private style files, or ``ersatz'' AIP style files found at various FTP sites. AIP does not support these files. The easiest thing to do is to use the following documentstyle line. \begin{center} \begin{verbatim} \documentstyle[preprint,prb,aps]{revtex} \end{verbatim} \end{center} This documenstyle line will be sufficient for most journals printed by AIP. Using this documentstyle line will give you a preprint (12 point, one column) manuscript, with superscripted reference citation numbers. (If you wish to number your equation numbers by section, use the eqsecnum style; use amssymb, amsfonts for symbols and fonts, etc.) \subsection{Plain \TeX\ and La\TeX\ files} Some authors will put the REV\TeX\ documentstyle line at the beginning of a regular, ``non-REV\TeX\/'' \LaTeX\ file and send it in as a bona fide REV\TeX\ file. We ask that authors please do not do this, since it still requires us to go into your file and (a) edit the file into a ``real'' REV\TeX\ file or (b) reject the file outright due to the amount of extra editing time it would take for us to make the file usable. Use the REV\TeX\ template. If you use the template and follow it implicitely, the odds of your file being used to produce your proofs will greatly increase. (See the APS input guide for more information.) Do not use Plain \TeX\ to typeset equations or tables. Use \LaTeX\ and REV\TeX\ commands. \subsection{Cross-referencing commands} One of the most important things you can do is use cross-referencing commands that REV\TeX\ and \LaTeX\ provide for \verb+\section, \bibitem, and \cite+. Use \verb+\ref+ and \verb+\label+ for tagging figures and tables. Not only will you get automatic numbering, but this markup will be translated by AIP's conversion software to create ``SGML-like'' hyperlinks, which will then be used in electronic journal products such as on-line journals and CD-ROM's. \subsection{Roman versus {\it italic}} One of the most prevalent problems we encounter with author files is the incorrect uses of roman and italic characters. As a rule, all math variables should be typed as italic characters in the file. Roman functions should be set in roman font. Units of measure should be roman also. All too often, a file has been found to be unusable for production of author proofs because of the number of fonts changes that would have to be made to the file by the keyboarder. For example, if an author typesets math variables as roman characters throughout a file, it means that a keyboarder must go through the file and change each character by hand, one by one. At this point, then, it is much easier to typeset the article from scratch, and we may have to reject your file. Conversely, some authors will typeset units of measure or abbreviations for elements in italic fonts. This time, the keyboarder would have to change all the italics to roman fonts, and once again, the file would have to be rejected. Here is an example of a chronic problem. The author has typeset the elements as italics: \[ Ga_{1-x}As_{1-y} \] The above {\it should} be typeset as shown below: \[ {\rm Ga}_{1-x}{\rm As}_{1-y} \] Another example: ``20 $\mu m$'' is wrong. ``20 $\mu$m'' is correct. Most math variables (with very few exceptions) must be typeset as italic characters. Very often, authors will set roman functions as italic; these must all be changed to roman. Use \verb+\sin, \cos, \tan+, etc., not \verb+$sin$, $cos$, $tan$+, etc. \subsection{Equations} Do not attempt to break equations unnecessarily. Xyvision will do this automatically. For the most part, eqnarrays should only be used for matrices. Do not use Plain \TeX\ commands (i.e., \verb+$$+ and \verb+\eqno+). \subsection{References} Frequently seen errors are: \begin{itemize} \item Missing and/or extra punctuation (usually missing serial commas between authors' names). \item Spacing errors: these include not enough space between the authors' initials, awkward spacing of journal names, etc. \item Font problems: Journal titles should be roman, not italic; book titles should be italic, not roman; journal volume numbers should be emphasized in bold face, etc. \end{itemize} \subsection{The best advice and the final word...} The best advice we can give you is, when you are in doubt about some stylistic question, check the latest issue of the journal you wish to publish in. Although most of the AIP-owned journals follow the same style rules, there are some society-owned journals whose style differs slightly (or somewhat greatly!) from the AIP style. Therefore, the final word may be found in the journal itself. However, if you still have a question even after consulting the journal, you should contact the editorial office or AIP. Although the AIP Compuscript Liaison may be able to help you with these queries, you might want to consult with the Chief Production Editor in charge of the journal. A list of phone numbers and e-mail addresses may be found on the AIP homepage (see Sec. \ref{home}). \bigskip \bigskip \section{Other packages that can be used with REV\TeX} \begin{itemize} \item BIBTEX can be used to produce the bibliography section. Use the guidelines for {\em Physical Review}. But please remember to add the resulting *.bbl file to your main file. \item PostScript graphics files: At this time, AIP does not accept PostScript files. However, look for AIP to announce an author-prepared electronic graphics program in the near future. Until that time, please send hard copies of your figures along with the final hard copy version of your article to the editorial office. \end{itemize} \section{The Latest REV\TeX\ Information} The latest information regarding the AIP Compuscript Program may be found on the AIP homepage. Point your browser to \begin{center} \begin{verbatim} http://www.aip.org/epub/compuscripts.info.html \end{verbatim} \end{center} \end{document} % end of file manaip.tex �����������������������������������������������������������������������������������������������������������������extrarpms/revtex/manaps.tex�������������������������������������������������������������������������0100644�0000764�0000764�00000271503�07267371705�015442� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% start of file manaps.tex % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, September 1996. % % Copyright (c) 1996 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % % \documentstyle[twocolumn,aps]{revtex} % Macros for the various macro package names, etc. \def\SNG{{\em Physical Review Style and Notation Guide}} \def\LUG {{\em \LaTeX{} User's Guide \& Reference Manual}} % \def\RUG {{\em \REVTeX{} User's Guide \& Reference Manual}} \def\btt#1{{\tt$\backslash$\string#1}}% \def\REVTeX{REV\TeX} \def\AmS{{\protect\the\textfont2 A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} \def\AmSLaTeX{\AmS-\LaTeX} \def\BibTeX{\rm B{\sc ib}\TeX} \makeatletter % run page numbers by "chapter" \def\thepage{1-\@arabic\c@page} % these page numbers need a bit more width \def\@pnumwidth{2em} \makeatother \begin{document} \title{REV\TeX{} Information for APS Authors\\[1pc] Instructions for preparing compuscripts to be submitted to APS journals\\ in the \REVTeX{} 3.1 format} \maketitle \tableofcontents \makeatletter \global\@specialpagefalse \def\@oddhead{\REVTeX{} 3.1\hfill Released September 1996} \let\@evenhead\@oddhead % run page numbers by "chapter", with copyright for first page \def\@oddfoot{\reset@font\rm\hfill \thepage\hfill \ifnum\c@page=1 \llap{\protect\copyright{} 1996 American Physical Society}% \fi } \let\@evenfoot\@oddfoot \makeatother \section{Introduction} \label{sec:intro} In 1987, the Council of The American Physical Society authorized acceptance of \TeX-formatted author-prepared compuscripts to be submitted to {\em Physical~Review A, B, C,} and {\em D\/} in machine-readable form. This electronic-submission compuscript program was extended to {\it Physical Review Letters} in 1992 and to {\it Reviews of Modern Physics in 1994}. It is essential that author-prepared input be consistent and standardized so that the compuscripts can be accommodated by the normal production procedures and software. It is only by routinely handling author-prepared files that this method of production is economically feasible. This input guide contains basic instructions for keyboarding compuscripts using the \REVTeX{} macro package, which works in a \LaTeX{} environment. This guide is part of the ``\REVTeX{} compuscript toolbox;'' other items in the toolbox are the \REVTeX{} macro package (several style files), bibliography tools, a test file, a README file (which contains details regarding installation and copying of the style files), an input template, and an example file. Authors should also consult auxiliary files that give additional information about compuscripts and about correct notation and style practices. These files are available online; cf. Sec. \ref{sec:contacts}. Compuscripts that do not comply closely with the instructions in the toolbox and the auxiliary files will not be used electronically in the production process. You may need to supplement this input guide with the standard documentation available for \LaTeX: namely, the \LUG{}, by Leslie Lamport, published by Addison Wesley. This guide assumes some familiarity with \LaTeX; specifically the article style. \REVTeX{} version 3.1 is based on article style. The notations \verb+#1+, \verb+#2+, etc.\ are used throughout this guide to denote user-supplied arguments. Commands will be shown in their full form; i.e., with their mandatory arguments. {\bf Contents of this Guide.} In Sec.\ \ref{sec:gensubmit} we describe procedures for making an original electronic submission to the Editorial Office. Section \ref{sec:filesubmit} discusses the specifications for file submittal (electronic mail or floppy disk). Section \ref{sec:process} briefly describes author proofs. In Sec.\ \ref{sec:instruct} we describe in detail several aspects of compuscript creation: the input of front matter and how to switch from galley to preprint style; paragraph formatting, hyphenation, quotes, and text-width issues; section headings; basic input for in-text math and displayed equations; special character issues; footnotes and references; figure captions; and tables. In Sec.\ \ref{sec:xrefs} we describe the various numbering and cross-referencing features of \REVTeX{} using the available commands; these features can be used to label and cross-reference equations, figures, tables, references, and section heads. Section \ref{sec:fonts} discusses font selection schemes, support for AMSFonts, and extra symbols available in \REVTeX{} 3.1 Section \ref{sec:upgrade} itemizes the differences between v2.x and v3.1 of \REVTeX{}, for current users of v2.x, along with differences between \LaTeX{} article style and \REVTeX{} 3.1. Authors who have never participated in the compuscript program may wish to read Sec.\ \ref{sec:fastfacts} and Sec.\ \ref{sec:macros} at this point. There we give a brief overview of the production compuscript-conversion program and answer some frequently asked author questions. Section \ref{sec:contacts} lists the people and places to contact if you have questions about any services described herein. To obtain the most proper and expedient answer to your question, please consult this section before calling or e-mailing the APS. Appendix A gives a complete listing of symbols and characters available with \REVTeX{} v3.1. Appendix B is a handy list of some necessary commands that will be found in a \REVTeX{} compuscript. This command list supplements the \LUG{}. Output for Appendixes A and B can be obtained by running the file manend.tex through \LaTeX. Unless specified in Section \ref{sec:contacts}, questions regarding this input guide should be directed to REV\TeX\/ Support, The American Physical Society, 1 Research Rd. Box 9000, Ridge, NY 11961-9000. % {\bf Note on participating journals}. The compuscript program is open to all authors in {\em Physical Review A, B, C, D, E;} {\em Physical Review Letters} and {\em Reviews of Modern Physics}. \section{General Compuscript Submission Procedures} \label{sec:gensubmit} When the \REVTeX{} compuscript (preprint style) is ready to go, it should should be submitted to the Editorial Office in conformance with the procedures printed in the first issue of each volume of {\em Physical Review A, B, C, D, E,} or {\em L} or in the back of each issue of {\em Reviews of Modern Physics}. The following procedures are those unique to compuscript processing. Papers intended for the compuscript production program should be originally submitted and then always resubmitted by electronic mail or by DOS-formatted disk. (See details below.) Avoid resubmission by conventional means (paper, postal mail); continue to use one of the electronic modes. When a compuscript is changed in response to recommendations and criticisms from the review process, or to present other corrections and author revisions, the full file should be resubmitted. Please include a summary of the changes made, as well as any rebuttal to reviewer comments; state whether or not figures have been modified. Any new or revised figures should be forwarded as described below. \subsection{Electronic mail submissions} Submissions and inquiries should be sent via electronic mail to the appropriate address given below. \begin{quasitable} \begin{tabular}{@{\hspace{.5in}}ll@{\hspace{.5in}}} & Internet \\ Journal & address \\ \hline PR A--E & \verb+prXtex@aps.org+\tablenotemark[1] \\ PR Letters & \verb+prltex@aps.org+ \\ RMP & \verb+rmptex@aps.org+ \\ \end{tabular} \tablenotetext[1]{Where X is a,b,c,d,or e} \end{quasitable} \vskip -6pt \noindent {\footnotesize $^{\mbox a}$ Where X is a,b,c,d,or e} \\ \noindent Files must be accompanied by a cover message stating to which journal the paper is submitted and must provide a conventional mailing address. The manuscript accession code, if any, should be included for resubmissions. The cover message can be in the form of comments at the head of the file(s). All of the textual material of the paper (including tables, captions, etc.) should be in electronic form. The file must be in ASCII containing no control codes, with line lengths of 80 characters or less. The file should produce double-spaced output (three lines per inch and at least 6 mm white space between lines). Seperate electronic figure files should be coded in PostScript (one figure per file). Editorial processing of an electronic-mail submission cannot begin until at least review-quality copies of the figures are received. Sending scanner-reproducible journal-quality figures immediately by overnight mail will meet this need, as will electronic-mail transmission (one figure per file) of PostScript-formatted figures. Alternatively, for Physical Review Letters, review-quality figures can be forwarded by FAX to 516-591-4141, while the ``originals'' are sent by conventional or overnight mail as soon as possible. Please mark the FAX transmission as being part of an electronic-mail submission. If the transmission of the computer file and the figures has been successful, the Editorial Office sends an acknowledgment by electronic mail. If any problems are encountered, you are contacted immediately, again by electronic mail, and informed of the problem. If you do not receive either message within 24 hours, you can assume that your file was never received. Copies of the manuscript {\em must not\/} be sent by conventional mail unless there has been an unsuccessful transmission. \subsection{Floppy disk submissions} Compuscripts may also be submitted or resubmitted on a DOS-formatted floppy disk. The disk should be accompanied by a cover letter stating to which journal the paper is being submitted, and a conventional mailing address should be provided. A single copy of the manuscript should also be enclosed. This single copy will only be used for processing if we are unable to generate output from the disk submitted. Floppy disks should be standard 5$\frac14$- or 3$\frac12$-inch diameter, and should be mailed in a protective envelope to avoid possible damage to the files. \section{File Transmission Specifications} \label{sec:filesubmit} Please see Sec.\ \ref{sec:gensubmit} for important submittal procedures. Compuscripts should be transmitted (1) via electronic mail or (2) on a DOS-formatted floppy disk. The floppy should be labeled to indicate the name of the author, the name of the file on the disk, and the return address of the submitting author. The electronic submission may be as a single large file (preferred), e.g., BB1010, or as a series of separately named files, e.g., BB1010, BB1010caps, BB1010tabs. The code number of the compuscript does not have to be used as the file name or names; smithpaper, smithcaps, smithfigs, etc., will suffice. Upon receipt of the file(s) by the Editorial Office, the contents will be concatenated if needed. The compuscript file, and figure files if any, will then be evaluated for various potential problems and compliance with the input instructions. The author may be advised of technical problems, and asked to submit a proper file. All e-mail receipts will be acknowledged. \section{Production of Author Proofs} \label{sec:process} When/if a manuscript is accepted for publication, the manuscript and the compuscript file will be forwarded from the Editorial Office to the production group. The compuscript file undergoes software conversion into the Xyvision/SGML page composition system. Otherwise, standard procedures and schedule for production will be in effect, and the author will receive the correspondence associated with traditional manuscript publication. The manuscript will be returned to the author with the page proofs. The manuscript will be thoroughly marked to indicate where file changes were needed, and the author will be responsible for a thorough reading of the proofs. {\bf Note}: For {\em Physical Review Letters}, page copies are sent by FAX. Although the author has assumed the responsibilities of keyboarding and proofreading, the production staff will still perform a quality check of the article and will insert editorial style changes. Other changes may be necessary as a result of the compuscript-conversion step. The changes are made to the Xyvision/SGML file at the production site. If their number is seen to be high it may be more efficient for the production group to proceed by rekeyboarding, and this is done. We do not ask the author to make changes to the compuscript file at this stage. Page proofs should be carefully checked. Return the corrected proofs to the address indicated on the cover sheet; the necessary corrections will be handled by the production staff. An electronic file should {\em not\/} be sent at this stage. \section{Compuscript Instructions} \label{sec:instruct} Author-prepared compuscripts should include the following parts (preferably) in this order: title, author, address, abstract, suggested PACS numbers (use current Physics and Astronomy Classification Scheme), main manuscript body, references, figure captions, and tables. The production staff will add verified PACS numbers and manuscript receipt date. Specific instructions pertaining to various parts of the compuscript are listed below as well as a short annotated example of compuscript input. Proper tagging commands (macros) and coding are indicated where necessary. In general, compuscripts should not contain any author-defined macros. However, macros which are simple text substitutions can be ``expanded'' by the production software. More complicated macros will create problems when the file is converted and must be avoided. See Sec. \ref{sec:macros} for further information. This guide assumes some familiarity with \LaTeX; specifically the article style. \REVTeX{} version 3.1 is based on article style. The notations \verb+#1+, \verb+#2+, etc.\ are used throughout this guide to denote user-supplied arguments. Commands will be shown in their full form; i.e., with their mandatory arguments. Authors should also print the file apssamp.tex and compare the input for further instruction and detailed examples. This guide and the sample file depend upon each other to cover all features of \REVTeX. The file template.aps may be copied to another name to use as a basis for creating a new \REVTeX{} file. \subsection{Galley style and preprint style} The \REVTeX{} macro package has been developed to accommodate the preprint needs of the author as well as the production needs of the APS. If you use \REVTeX{} to prepare a manuscript for electronic submission to the Editorial Office and participation in the compuscript program, please follow these steps: (a) Review the galley-format output (the default style), which mimics final journal output. Carefully check the content of text, equations, references, captions (and figures), and tables, as if reading the journal. This format is often preferred for distribution of preliminary versions to colleagues. (b) In the case of papers subject to length restrictions, estimate the overall length by directly measuring the journal text. Add in the space that will be occupied by any figures (at their final reduction). On the journal page, the two-column area available for text and figures is nominally 9.5 in.\ (24 cm) deep; nominally 6 text lines occupy 1 in. of vertical space. Alternatively, produce mock page output by using the [twocolumn] documentstyle option, and perhaps even include EPS figures. (c) Switch to preprint style (see below) and review the output, which is at a larger type size. It is this format that is presented to reviewers and used by editorial staff. Check that equations and tables remain satisfactory. A \REVTeX{} facility for ``squeezing'' preprint-style tables is described later. (d) Submit the preprint-style file electronically to the Editorial Offices. {\bf Galley style}, is produced by the following front matter: \begin{verbatim} \documentstyle[aps]{revtex} \begin{document} \end{verbatim} Galley style activates the width-changing commands and centers equations by default. Commands to place equations flush left or flush right are enabled in galley style, but are not normally needed. Note, however, that galley style produces output that only mimics the final journal output. Actual formatting and layout details of the final journal pages are applied by production software, not necessarily the coding in the author-prepared compuscript file or in the \REVTeX{} macros. The editors of {\em Physical Review\/} require the traditional form of manuscript for the review process: large typeface for legibility and ease of review; adequate space between typed lines and wide margins, for editor and reviewer marks and comments. This {\bf preprint style} can be obtained with the following front matter: \begin{verbatim} \documentstyle[preprint,aps]{revtex} \begin{document} \end{verbatim} Preprint style gives a constant-width output with equations centered. \subsection{Style options} The main style is \verb+revtex+, and \verb+aps+ is a mandatory style option for papers to be submitted to the APS. Other style options include \verb+eqsecnum+ (to number equations by section), \verb+preprint+ (to get double-spaced output for submission purposes), \verb+tighten+ (to get single-spaced output with the preprint style), and \verb+amsfonts+ and \verb+amssymb+ (see Sec.\ \ref{sec:fonts}). There are also style options for each APS journal: \verb+pra+, \verb+prb+, \verb+prc+, \verb+prd+, \verb+pre+, \verb+prl+, and \verb+rmp+ for {\it Physical Review\/} {\it A}, {\it B}, {\it C}, {\it D}, {\it E}, {\it Letters}, and {\it Reviews of Modern Physics} respectively. \verb+pra+ is the default. The \verb+prb+ option gives superscript reference citations, as is the style for {\it Physical Review B}. The \verb+prl+ option yields the slightly different line spacing of {\em Letters\/} (use for accurate length estimates). Other than this, there are no substantial differences in the journal options. Please do not use the \verb+prb+ option unless you will be submitting to {\it Physical Review B}. The \verb+floats+ style option enables \LaTeX{}-style floating figures and tables---it is for an author's personal use, and is {\it not\/} for use with files to be submitted to the APS. All files submitted to the APS should have figures and tables at the end of the file. Other arrangements may not be accommodated by the compuscript program. Similarly, the twocolumn style option is for personal use, and not for use in submitted files. \subsection{Front matter} \label{sec:front} The typical file will start off with a \LaTeX{} documentstyle line and begin the document: \begin{verbatim} \documentstyle[pra,aps]{revtex} \begin{document} \end{verbatim} Next comes the \verb+\draft+ command, which instructs \REVTeX{} to print out the suggested PACS numbers from the \verb+\pacs{#1}+ command: \begin{verbatim} \draft \end{verbatim} The title is entered with the \verb+\title{#1}+ command: \begin{verbatim} \title{The title of the paper goes here} \end{verbatim} Now the author(s) and address(es) are entered: \begin{verbatim} \author{Jackson P. Jones} \address{321 Main Street, Everville, Illinois 12345-6789} \end{verbatim} The \verb+\author{#1}+ and \verb+\address{#1}+ commands may be repeated as a pair. Bottom-of-page footnotes to the author may be set using \LaTeX's normal \verb+\thanks{#1}+ command. \LaTeX's normal footnote commands are also enabled for use in \REVTeX{}. Bottom-of-page footnotes of any kind should only be used by authors publishing in a journal that allows such footnotes (e.g., {\em Physical Review C\/} and {\em D\/}). Use recent issues of the particular journal as a guide. If unsure, use endnotes instead of footnotes (see Sec.\ \ref{sec:endnotes}.). The \verb+\date{#1}+ command can optionally be entered if the author wishes to have dates print on the manuscript. \verb+#1+ represents the date of receipt at the Editorial Office. This date will be inserted at the production site. Using \verb+\today+ will cause \LaTeX{} to insert the current date whenever the file is run: \begin{verbatim} \date{\today} \end{verbatim} The \verb+\maketitle+ command must be entered just before the abstract. Don't forget this command or the title, author(s), address(es), and date will not print! \begin{verbatim} \maketitle \end{verbatim} Now enter the abstract in the abstract environment: \begin{verbatim} \begin{abstract} In this paper we show the result of . . . \end{abstract} \end{verbatim} The final piece of the front matter is the \verb+\pacs{#1}+ command. This should be included even if \verb+#1+ is empty. \begin{verbatim} \pacs{23.23.+x, 56.65.Dy} \end{verbatim} \subsection{Section headings} Section headings are input as in \LaTeX. The output is similar, with a few extra features. Four levels of headings are provided\break in \REVTeX{}: \verb+\section{#1}+, \verb+\subsection{#1}+, \verb+\subsubsection{#1}+, and \verb+\paragraph{#1}+. Use the star form of the command to suppress the automatic numbering; e.g., \begin{verbatim} \section*{Introduction} \end{verbatim} To label a section heading for cross referencing use the \verb+\label{#1}+ command {\em after\/} the heading; e.g., \begin{verbatim} \section{Introduction} \label{sec:intro} \end{verbatim} All text in the \verb+\section{#1}+ command is automatically set uppercase. If a lowercase letter is needed, just use \verb+\lowercase{x}+. For example, to use ``He'' for helium in a \verb+\section{#1}+ command, type \verb+H\lowercase{e}+ in \verb+#1+. The \verb+\appendix+ command signals that all following sections are appendixes, so \verb+\section{#1}+ after \verb+\appendix+ will set \verb+#1+ as an appendix heading. \verb+#1+ may be empty. If only one appendix is used, use a \verb+\section*{#1}+ command to suppress the appendix letter in the section heading. Use \verb+\protect\\+ to force a line break in a section heading. (Fragile commands must be protected in section headings and captions, and \verb+\\+ is a fragile command.) {\bf Note\/}: For {\em Physical Review Letters,} if there are to be section headings, use only the fourth-level type, \verb+\paragraph{#1}+. Use the ``star form'' of the command (\verb+\paragraph*{#1}+) to avoid the numbering that is normally attached [(a), (b), $\ldots$]. \subsection{Text} {\bf Paragraphs} always begin with a blank input line. {\bf Do not hyphenate} words at the end of a line; \TeX{} will do this. Continue to hyphenate modifiers within a line of text, e.g., ``author-prepared copy.'' {\bf Use curly quotes} for quotation marks around quoted text ({\tt ``xxx''}) not straight quotes ({\tt "xxx"}). [For opening quotes, this is two octal 140 characters (hex 60); for closing quotes, this is two octal 047 (hex 27) characters.] There are two commands that control the width of the text across the page in the galley style; \verb+\narrowtext+ will set the column width to 3$\case3/8$ in., and the \verb+\widetext+ command will set the text 7 in.\ wide. The \verb+\widetext+ command may be needed to set very long equations. See the section on displayed math, below. Neither \verb+\narrowtext+ or \verb+\widetext+ have any effect on the output if the front matter calls for the preprint style. The preprint style is a uniform 6.5 in.\ throughout. Don't use \verb+\smallskip+, \verb+\bigskip+, or any other vertical motion commands. Horizontal motion commands should be unnecessary as well. \LaTeX's normal footnote commands are enabled for use in \REVTeX{}, but should only be used by authors publishing in a journal that allows bottom-of-page footnotes. Use recent issues of the particular journal as a guide. \subsection{Math in text} APS uses the normal delimiter \$ for any \TeX{} in-line math, e.g., \begin{quote} {the quantity $a^{z}$} \end{quote} is obtained from the input \begin{verbatim} the quantity $a^{z}$ \end{verbatim} \TeX{} will assume that you want a superscript or subscript to consist of the first {\em token\/} (generally a single character or command) following the \^{} or \_, {\em unless\/} you use curly brackets to delimit a subscript/superscript. It is safest to use the curly brackets if unsure. We have followed this convention in this guide. Again, don't use any vertical motion commands in math; horizontal motion commands should be unnecessary as well. \subsection{Text in math} \label{sec:textinmath} There are times when an author needs to insert text into math. The \verb+\rm+ command only switches to the Roman font for math letters. It does not, for example, let you print a normal text hyphen: \verb+${\rm e-p}$+ gives ``$\rm e-p$''. Using an \verb+\mbox{#1}+ will give you normal text, including a hyphen, but will not scale correctly in superscripts: \verb+$x_{\mbox{e-p}}$+ gives ``$x_{\mbox{e-p}}$''. The \verb+\text{#1}+ command will solve both problems. It gives you regular text {\em and\/} scales correctly in superscripts: \verb+$y=x \text{ for } x_{\text{e-p}}$+ gives ``$y=x \text{ for } x_{\text{e-p}}$''. \subsection{Displayed equations} The most common (and preferred) type of displayed equation in {\em The APS Journals\/} is a {\bf single-line equation, with an equation number on the same line}. Try to set as many equations as you can in this way. Equations are now normally set centered in the column width for APS style with \REVTeX{}. Setting the equation number is taken care of by \REVTeX{}---the number will be set below the equation if necessary. Breaking the equation into multiline format may be necessary for very long equations. The \verb+eqnarray+ environment is used for this purpose. Do not use plain array for this purpose. Break at a sign of relation or an operator sign; the sign (e.g., $=$, $+$, $\times$) begins the next line of the equation. Specify (using \verb+&&+) a proper indent or alignment of the line following the break; e.g., $+$, $-$, $\times$ should line up to the right of an $=$ above, not directly under it. A multiline equation centers as a unit. Use a separate \verb+equation+ or \verb+eqnarray+ environment (\verb+\begin{#1}+-\verb+\end{#1}+ command pair) for {\em each\/} single-line equation or multiline equation. Short displayed equations that can appear together on a single line may be placed in one equation environment. In galley style, if an equation needs to be broken into many lines, it is suggested that it be set in a wide column for ease of reading, using the \verb+\widetext+ command. The author should return to \verb+\narrowtext+ as soon as possible after one or more very long equations, but short pieces of narrow text and/or math between nearly contiguous wide sections should be left wide and incorporated into the surrounding wide sections. In apssamp.tex, we have illustrated how to obtain each of the above. \subsubsection{Numbering displayed equations} The \REVTeX{} macro package allows two methods for numbering equations: you can assign your own equation numbers or you can allow \REVTeX{} to number for you. Use the command \verb+\eqnum{#1}+ to number your own equations. You can also use this command to produce a specific equation number not normally obtainable; $(1')$, for example. Numbers assigned by \verb+\eqnum{#1}+ are completely independent of the automatic numbering. For automatically numbered single-line and multiline equations, use the {\tt equation} and {\tt eqnarray} environments. You can use the \verb+\[+,\verb+\]+ commands and the {\tt eqnarray$\ast$} environment for unnumbered single-line and multiline equations, respectively. The command \verb+\nonumber+ will suppress the numbering on a single line of an eqnarray. If you wish a series of equations to be a lettered sequence, e.g., (3a), (3b), and (3c), just include the equation(s) or eqnarray(s) within the {\tt mathletters} environment. Finally, to have \REVTeX{} number equations by section, use the {\tt eqsecnum} style option. See apssamp.tex to see examples of how all this works. \subsubsection{Cross-referencing displayed equations} Authors will probably not cross-reference every equation in text. When a numbered equation needs to be referred to in text by its number, the \verb+\label{#1}+ and \verb+\ref{#1}+ commands should be used. The \verb+\label{#1}+ command is used within the equation or the eqnarray line to be referenced: \smallskip \leftline{\bf input:} \begin{verbatim} \begin{equation} A=B \label{pauli} \end{equation} ... It follows from Eq.\ (\ref{pauli}) that this is the case ... \end{verbatim} \leftline{\bf output:} \begin{equation} A=B \label{pauli} \end{equation} ... It follows from Eq.\ (\ref{pauli}) that this is the case ... \smallskip Please note the parentheses surrounding the command. They are necessary for proper output. You can also label individual lines in an eqnarray. Numbers produced with \verb+\eqnum{#1}+ can also be cross-referenced: just follow the \verb+\eqnum{#1}+ command with a \verb+\label{#1}+ command. Using a \verb+\label{#1}+ after \verb+\begin{mathletters}+ will allow you to reference the {\em general\/} number of the equations in the \verb+mathletters+ environment. For example, if \begin{verbatim} \begin{mathletters} \label{allequations} % notice location \begin{equation} E=mc^2,\label{equationa} \end{equation} \begin{equation} E=mc^2,\label{equationb} \end{equation} \begin{equation} E=mc^2,\label{equationc} \end{equation} \end{mathletters} \end{verbatim} \noindent gives the output \smallskip\hrule\smallskip \begin{mathletters} \label{allequations} \begin{equation} E=mc^2,\label{equationa} \end{equation} \begin{equation} E=mc^2,\label{equationb} \end{equation} \begin{equation} E=mc^2,\label{equationc} \end{equation} \end{mathletters} \smallskip\hrule\smallskip \noindent then \verb+Eq.\ (\ref{allequations})+ gives ``Eq.\ (\ref{allequations})''. {\bf Note:} incorrect cross-referencing will result if \verb+\label{#1}+ is used in an unnumbered single line equation (i.e., within the \verb+\[+ and \verb+\]+ commands), or if \verb+\label{#1}+ is used on a line of an eqnarray that is not being numbered (i.e., a line that has a \verb+\nonumber+). Please see Sec.\ \ref{sec:xrefs} for further information about cross-referencing. \subsection{Special characters} Authors should avoid the use of specially designed ``define characters'' and choose symbols from those shown in the \LUG{}. There is no guarantee that a specially designed definition will be supported by the conversion software and in the production environment. If a special symbol is required and not listed in the \LUG, please request special consideration in the cover letter accompanying the file submittal. The copyeditor will make note of it and the production staff will attempt to accommodate the author. Unusual characters are subject to approval by the editor. See Appendix A for a list of normal \LaTeX{} symbols, a list of symbols available when the \verb+amsfonts+ and \verb+amssymb+ options are used, and a list of extra symbols made available by \REVTeX. \subsection{Endnotes and references} \label{sec:endnotes} The list of references should appear after the main body of the paper. Please refer to the \SNG{} or the {\em The Reviews of Modern Physics Style Guide}, as well as recent issues of the journal for current style. apssamp.tex shows examples of a variety of reference entries, e.g., byline, journal, book, and private communication. Remember to include a space (or hyphen) between author-name initials and between initial and surname. The style for references in {\em Reviews of Modern Physics} is different from that of {\em Physical Review}. An RMP compuscript author shoud use the Harvard bibliographic style and citations commands. Please consult the information provided at that journal's World Wide Web home page, \verb+http://www.phys.washington.edu/~rmp/+. The \verb+harvard.sty+ package is available there. References will be listed in the reference section using the \verb+\bibitem{#1}+ command (for RMP, it will be the \verb+\harvarditem+ command), and they will be cited in text using the \verb+\cite{#1}+ command. A cite command that has a list of references will be output with consecutive reference numbers collapsed; e.g., [1,2,3,5,7,8,9] will be output as [1--3,5,7--9]. No ordering will be done, so [1,3,2,4] will be output as [1,3,2,4]. If you use a \verb+\cite{#1}+ command with a long list of tags, you may need to split the list over more than one line. Use a \% character immediately following a comma to make sure that you do not get unwanted spaces: \begin{verbatim} . . . as shown in \cite{a,b,c,d,e,f,g,h,i,j,% k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z} \end{verbatim} Note the \% inserted after the comma on the first line. This ensures that the entire list will be processed correctly. A byline endnote and the first reference cited may appear in the reference section like this: \smallskip \begin{verbatim} \begin{references} \bibitem[*]{AAAuth}Present Address: Brookhaven National Laboratory, Upton, New York, 11973. \bibitem{tal82}Y. Tal and L. J. Bartolotti, J. Chem. Phys. {\bf 76}, 4056 (1982). \end{references} \end{verbatim} \smallskip The \verb+[*]+ represents an optional, author-specified endnote symbol. If an endnote symbol is not present, \REVTeX{} will assign the next available reference number. \verb+AAAuth+ and \verb+tal82+ are tags; they can be any string of letters and numbers that you will easily associate with the reference. The tag will be used in text to tell \TeX{} what reference you want to cite. See the example below. \bigskip % due to order of examples, we use \nocite so reftest will think % this document is OK \nocite{AAAuth} \leftline{\bf input:} \begin{verbatim} This has been noted previously \cite{tal82}. \end{verbatim} \leftline{\bf output:} \begin{quote} This has been noted previously \cite{tal82}. \end{quote} \smallskip Input for an author name with a byline endnote is similar, but the output is different: \bigskip \leftline{\bf input:} \begin{verbatim} \author{A. A. Author\cite{AAAuth}} \end{verbatim} \leftline{\bf output:} \bigskip \begin{center} % we have to fake this. A. A. Author$^{*}$ \end{center} \bigskip (See the Style Guides for details on proper usage of byline endnotes.) Output (galley style) in the reference section for the endnote and reference samples above will look like this: %\newpage \begin{references} \bibitem[*]{AAAuth}Present Address: Brookhaven National Laboratory, Upton, New York, 11973. \bibitem{tal82}Y. Tal and L. J. Bartolotti, J. Chem. Phys. {\bf 76}, 4056 (1982). \end{references} \smallskip Since {\em Physical Review B\/} uses superscript reference citations, authors will need a special command to get on-line citations when the \verb+prb+ style option is in effect. The command \verb+\onlinecite{#1}+ can be used for this purpose. For example, if the \verb+prb+ style option is in effect, \verb+Ref.\ \onlinecite{tal82}+ will give the output ``Ref.\ 1''. It should be mentioned that the normal \LaTeX{} \verb+thebibliography+ environment will also work in \REVTeX{}. \bigskip There are also several tools for creating reference sections: prsty.bst, rmp.bst and reftest.tex. prsty.bst is a \BibTeX{} style file that will output references in {\em Physical Review\/} style. Using rmp.bst, and harvard.sty, yields {\em Reviews of Modern Physics} style. You should now be able to use the normal \LaTeX/\BibTeX{} commands (\verb+\bibliographystyle{#1}+ and \verb+\bibliography{#1}+) in lieu of typing in the references environment by hand. If you do this, you must of course {\em make sure\/} that you keep the correct references with the main file when you submit it. For the sake of simplicity, it is better if the Editorial Office receive a single file, especially in the case of an electronic submission. With these concerns in mind, it is better to just comment out the two bibliography commands and input the .bbl file directly into your main file just before submitting it. It should run correctly this way. Please {\em do not\/} send .bib or .bst files to the Editorial Office. There is also a tool for authors that prepare their bibliographies by hand. It is called reftest.tex. It will check to make sure that you (1) have no uncited references, (2) have no undefined citations, and (3) have your references in the same order as your citations. These are all requirements in {\it Physical Review\/} style. This can only work if you use \LaTeX{}'s \verb+\bibitem{#1}+ and \verb+\cite{#1}+ mechanisms. You just need to run reftest through \LaTeX{}. For example, suppose you want to check the references for the file test.tex. You would first run test.tex through \LaTeX{} as usual. This creates an up-to-date auxiliary file, which is what reftest uses to analyze your references. Then run \LaTeX{} on reftest. You will be prompted for the name of the file you wish to check (without the extension). Answer \verb+test+ at the prompt (not \verb+test.tex+ or \verb+test.aux+). You will receive some messages on your screen and in the log file (reftest.log) that tell you if there are any problems. You can also preview or print the file reftest.dvi. If your references are out of order, the correct order will be given only in reftest.dvi, not through messages on the screen. Using reftest, an author can put the citations in the correct order once, after writing the paper, by using the correct order printed by reftest. \bigskip {\bf Quick guide to references: ({\em Physical Review Style})} \begin{itemize} \item The \verb+\bibitem{#1}+ command begins a reference. \item References should be listed in the reference section in the order in which they are first cited in the text. (See next item.) \item References will automatically be numbered by \REVTeX{} in the order in which they occur in the reference section, unless the author provides his/her own label. \item The \verb+#1+ in \verb+\bibitem{#1}+ is a tag; it can be any string of letters and numbers that you will easily associate with the reference. This tag will be used in text (with the \verb+\cite{#1}+ command) to tell \REVTeX{} what reference you want to cite. \item Anynotes to the byline should precede the references and should not be numbered. Provide a label in square brackets: e.g., \verb+\bibitem[*]{byline}+. For {\em Physical Review A, B, C, D, E,} and {\em L,} use \verb+[*]+, \verb+[\dagger]+, \verb+[\ddagger]+, \verb+[\S]+, \verb+[\P]+, \verb+[\|]+, \verb+[**]+, \verb+[\dagger\dagger]+, \verb+[\ddagger\ddagger]+, \verb+[\S\S]+, \verb+[\P\P]+, \verb+[\|\|]+ in the order listed. This conforms to the requirements detailed in the \SNG{}. \end{itemize} \subsection{Figure captions} Figure captions are a part of the compuscript and should appear after the references. They should be input sequentially in the order in which they are cited in the text; \LaTeX{} will label and number the captions FIG.~1, FIG.~2, etc. Note below the use of the \verb+\label{#1}+ command; this is used to cross-reference figures in text. The \verb+\label{#1}+ command should be inserted inside or after the figure caption, but before the end of the figure environment. \smallskip \leftline{\bf input:} \begin{verbatim} \begin{figure} \caption{Text of first caption.} \label{fig1} \end{figure} \begin{figure} \caption{This is the second caption: comparison of the differential cross sections for the subprocess $qg \rightarrow qggg$ of our approximation (dotted line) versus the approximation of Maxwell together with the use of the effective structure function approximation(solid line).} \label{fig2} \end{figure} \end{verbatim} \leftline{\bf output:} \begin{figure} \caption{Text of first caption.} \label{fig1} \end{figure} \begin{figure} \caption{This is the second caption: comparison of the differential cross sections for the subprocess $qg \rightarrow qggg$ of our approximation (dotted line) versus the approximation of Maxwell together with the use of the effective structure function approximation(solid line).} \label{fig2} \end{figure} \bigskip Figures are cited in text with the use of the \verb+\ref{#1}+ command: \smallskip \leftline{\bf input:} \begin{verbatim} ...It can be seen from Fig.\ \ref{fig1} that the data are inconsistent with this conclusion... \end{verbatim} \leftline{\bf output:} \bigskip ...It can be seen from Fig.\ \ref{fig1} that the data are inconsistent with this conclusion... \bigskip \noindent Further information on cross-referencing can be found in Sec.~\ref{sec:xrefs}. Figures in \REVTeX{} do not normally float. The \verb+floats+ style option restores floating behavior for figures and tables. (This option has been added for the author's personal use. It should not be used in any file destined for submission to the APS.) Figures and illustrations are submitted as originals or glossy prints. Follow the rules in the {\em Style Guides} for style and specifications. PostScript image files may be submitted electronically (one figure per file, seperate from compuscript file). \subsection{Tables} \label{sec:tables} Tables are a part of the compuscript and should appear at the end of the file. Every table must have a complete caption and the correct number of descriptive column headings. Tables may be narrow (8.6~cm or 3.4~in.\ wide), medium (14~cm or 5.5~in.\ wide), or wide (17.8~cm or 7.0~in.\ wide), in galley style. An example of each appears in the sample compuscript input. The final tables will be sized by the production compostion system to be set narrow, medium, or wide (according to the number of columns, type of material, etc.). (When using the preprint style for \REVTeX{}, all tables will be set 6.5~in.\ wide. \REVTeX{} will ignore \verb+\narrowtext+, \verb+\mediumtext+, and \verb+\widetext+ commands if the front matter of the file calls for the preprint style.) Each table must begin with \verb+\begin{table}+, and end with \verb+\end{table}+. Follow current journal style concerning placement of table lines. (See examples in this guide and recent issues of the journal.) The table commands will set double horizontal lines appearing at the beginning and end of the table; a single horizontal rule should be set after the column headings with the use of the \verb+\hline+ command. Extra sets of column headings within the table will require another \verb+\hline+ to separate the headings from the column entries. Do not insert any other horizontal or vertical lines in the body of the table. Since tables are automatically numbered, the \verb+\label{#1}+ command is used with the \verb+\ref{#1}+ command to cite tables in text. The \verb+\label{#1}+ command should appear after the \verb+\caption{#1}+ command and before the \verb+\end{table}+ command. \bigskip {\bf Some special table considerations:} \begin{itemize} \item {\em Numerical columns\/} should align on the decimal point (or decimal points if more than one is is present). The column specifier ``d,'' should be used for simple numeric data with a {\em single\/} decimal point. Material without a decimal point is simply centered. Notes: entries that start with a decimal point (e.g., \verb+.003+) will not be aligned by the decimal point; you should add a prezero to align the number correctly (e.g., \verb+0.003+). The prezero is also editorial style! Additionally, the entry is typeset in separate parts separated by any decimal point(s) present, so parts of the entry to the left and right of a decimal point must be able to be typeset separately. For example, \verb+$-1.23$+ will not work in a \verb+d+ column. You will get a ``missing \$'' error because \verb+$-1+ is typeset separately from \verb+23$+. Use instead \verb+$-$1.23+. If multiple decimal points are present then the last is used for alignment. To escape from the \verb+d+ column use \verb+\multicolumn+ as usual. See apssamp.tex for examples. \item Use \$ delimiters for all math in a table (no displayed equation commands). \item {\em Footnotes\/} in a table must be labeled a, b, c, etc. Tablenote commands that act just like regular footnotes have been added. See apssamp.tex for examples and explanations of use. \item {\em Extra wide tables\/} that will not fit into the 17.8-cm or 7.0-in.\ designation can be manipulated by the production composition system to produce a turned table that will appear lengthwise on a page. A cover letter requesting this special handling should accompany file submittal. The author can use the \verb+\squeezetable+ command with tables that do not fit on the page. This command will make the fonts in the body of the table smaller, allowing larger tables to fit onto the page. \end{itemize} Tables in \REVTeX{} do not normally float. The \verb+floats+ style option restores floating behavior for figures and tables. Tables in \REVTeX{} will break across pages if they are more than a full page in length, unless the \verb+floats+ option has been selected. (The \verb+floats+ option has been added for the author's personal use. It should not be used in any file destined for submission to the APS.) \section{Cross-referencing} \label{sec:xrefs} \REVTeX{} has built-in features for labeling and cross-referencing of section headings, equations, tables, and figures. This section contains a simplified explanation of cross-referencing features. The format for using these features with section headings, equations, tables, and figures is discussed in the appropriate section. Cross-referencing depends upon the use of ``tags,'' which are defined by the user. The \verb+\label{#1}+ command is used to identify tags for \REVTeX . Tags are strings of characters that serve to label section headings, equations, tables, and figures, so that you don't need to know what number \REVTeX{} has assigned to the item in order to talk about it in text. You will need to \LaTeX{} the original file more than once to ensure that the tags have been properly linked to appropriate numbers. If you add any tags, you will need to \LaTeX{} more than once in subsequent work sessions: \LaTeX{} will display an error message that ends with {\tt ... Rerun to get cross-references right}. If you see that message, \LaTeX{} the file again. If the error message appears after two \LaTeX ings, please check your labels; you probably have referred to an item in text without tagging the item. You may not need to know (or care to know) all about what \REVTeX{} is doing for autonumbering; however, you may want to know that when you \LaTeX{} the file for the first time, an auxiliary file with the {\tt .aux} filename extension will be created that connects numbers with their tags. Subsequent \LaTeX ing accesses the auxiliary file to put the proper number in the text. \section{Fonts} \label{sec:fonts} Fonts are complicated. \REVTeX{} has been set up to give good results on all \LaTeX{} installations, but no guarantee can be given that you will be able to access all the font options---memory and font restrictions vary in \TeX{} implementations and computers. \subsection{Font selection schemes (OFSS and NFSS)} \label{sec:onfss} The font-selection scheme (FSS) that \LaTeX{} normally uses is somewhat limited. This is known as the Old Font Selection Scheme (OFSS). A new scheme has been written and distributed by Frank Mittelbach and Rainer Sch\"opf---the so-called New Font Selection Scheme (NFSS). When you run a file with \REVTeX{} you will see a message telling you which FSS you are running on, right after the file aps.sty is read in. Several font problems have been addressed in \REVTeX{} itself so it is not very important which FSS you use, since \REVTeX{} has been written to run equally well on either FSS. It should be said that, in general, an NFSS installation is more capable than an OFSS installation. At this time we are only supporting the NFSS if it is used with oldlfont.sty. This makes the NFSS use the same font-selection macros as the OFSS. If you use the NFSS and \verb+${\bf ABC}$+ gives boldface letters, then you are using oldlfont.sty. Here is the output of \verb+${\bf ABC}$+: ${\bf ABC}$. \subsection[Using bold symbols in math: \btt{bbox$\{\#1\}$} and the {\protect\tt amsfonts} option]% {Using bold symbols in math:\protect\\ \btt{bbox$\{\#1\}$} and the {\protect\tt amsfonts} option} \label{sec:bboxamsfonts} If you use regular \LaTeX{} with the OFSS, then you will probably get incorrectly sized letters if you use \verb+\bf+ in a superscript. For example, both letters in the output from \verb+${\bf x}^{\bf x}$+ are the same size. This problem has been corrected if you run \REVTeX{} on the OFSS. There are also problems if you try to get bold math symbols in \LaTeX{}. The solution given by the \LUG{} is to use \verb+\mbox{\boldmath$#1$}+ where \verb+#1+ is the symbol to be set bold. There are problems with this approach. On the average \LaTeX{} setup with the OFSS you only use this for \verb+\cal+, lowercase Greek letters, curly brackets, and other miscellaneous symbols. You will not be able to get these characters in the correct size in a superscript, either. If you use the NFSS you will also be able to set digits, uppercase Greek letters, parentheses, and square brackets in boldface using \verb+\boldmath+, but you will still not get them in the correct size for superscripts. The \REVTeX{} command \verb+\bbox{#1}+ will make \verb+#1+ bold in math mode, but it will first make sure that it is the correct size, even in superscripts. If the correct font in the correct size is not available then you get \verb+#1+ at the correct size in lightface and \LaTeX{} will issue a warning that says ``\verb+No+ \verb+\boldmath+ \verb+typeface+ \verb+in+ \verb+this+ \verb+size+ \verb+. . .+''. So the \verb+\bbox{#1}+ command will give bold output of \verb+#1+ in math mode. You can use it to get bold greek characters---upper- and lowercase---and other symbols. It is still easier to use \verb+\bf+ to get upright Latin letters in boldface. How much comes out bold and in how many places you get bold output depends on how many fonts you have installed. Using the \verb+amsfonts+ option will automatically use the extra AMS Computer Modern math and symbol fonts for bold in superscripts and smaller sizes, if you have installed the AMSFonts. The following will come out bold in bboxes: normal math italic letters, numbers, Greek letters (uppercase and lowercase), small bracketing and operators, and \verb+\cal+. If you use only on-line bold math symbols there is no advantage to using \verb+\mbox{\boldmath$#1$}+. If you use superscript bold math symbols then you need the AMSFonts installed and the \verb+amsfonts+ style option to see bold, but the symbols will be in the correct size and will come out bold at the APS. Overall, it seems better to use \verb+\bbox{#1}+ everywhere. Note that \verb+\bbox{#1}+ is a fragile command. \subsection[Extra typefaces in math: {\protect\tt amsfonts} option]% {Extra typefaces in math:\protect\\ {\protect\tt amsfonts} option} In addition to the extra bold capabilities you get in math with the \verb+amsfonts+ option, you also gain access to the Fraktur and Blackboard Bold typefaces. You select these with normal font-switching commands: \verb+${\frak G}$+ gives a Fraktur ``G'' and \verb+${\Bbb Z}$+ gives a Blackboard Bold ``Z''. Fraktur will become bold in a bbox; there is no bold version of Blackboard Bold. If you have the AMSFonts installed and have the \verb+amsfonts+ option selected, example output can be found in Appendix A. \subsection[Extra symbols in math: {\protect\tt amssymb} option]% {Extra symbols in math:\protect\\ {\protect\tt amssymb} option} Many new symbols are available to you if you have the AMSFonts installed. The \verb+amssymb+ style option gives you all the font capabilities of the \verb+amsfonts+ style option and further defines the commands to get the symbols shown in Appendix A. See Appendix A for examples of the symbols and instructions on use. These characters will scale correctly in different areas of the paper and in superscripts. Note that the symbols and typefaces in Appendix A will not be printed unless you have the AMSFonts installed and have selected either the \verb+amsfonts+ or \verb+amssymb+ style option. \subsection{AMSFonts} \label{AMSFonts} The AMSFonts are fonts that were developed and are now made available free of charge by the American Mathematical Society. The METAFONT source files for \vadjust{\penalty-10000} these fonts are freely available, as are precompiled .pk files, for those with Internet ftp capabilities. There are two style options that can be used to access the AMSFonts: \verb+amsfonts+ and \verb+amssymb+. Not distributed with \REVTeX{} are the files amsfonts.sty and amssymb.sty from the AMS's \AmSLaTeX{} distribution. These files are called in by \REVTeX{} to give you access to the AMSFonts when the NFSS is in effect; \REVTeX{} itself will do the work necessary to allow access when the OFSS is in effect. The \verb+amsfonts+ option will define the \verb+\frak+ and \verb+\Bbb+ commands to switch to the Fraktur and Blackboard Bold fonts, respectively. Fraktur characters will come out bold in a bbox, Blackboard Bold will not. The \verb+amsfonts+ option also adds support for bold math letters and symbols in smaller sizes in galley style and in superscripts when a \verb+\bbox{#1}+ is used. For example, \verb+$^{\bbox{\pi}}$+ gives a bold lowercase pi in the superscript position. \verb+amssymb+ gives the capabilities of the \verb+amsfonts+ option and additionally defines many new characters for use in math. Here are the fonts you need to have installed for the \verb+amsfonts+ and \verb+amssymb+ options: \begin{enumerate} \item msam5, msam6, msam7, msam8, msam9, and msam10 at their normal (unmagnified) sizes, and msam10 at magsteps $\frac12$,1,2. \item msbm5, msbm6, msbm7, msbm8, msbm9, and msbm10 at their normal (unmagnified) sizes, and msbm10 at magsteps $\frac12$,1,2. \item eufm5, eufm6, eufm7, eufm8, eufm9, and eufm10 at their normal (unmagnified) sizes, and eufm10 at magsteps $\frac12$,1,2. \item eufb5, eufb6, eufb7, eufb8, eufb9, and eufb10 at their normal (unmagnified) sizes, and eufb10 at magsteps $\frac12$,1,2. \item cmmib5, cmmib6, cmmib7, cmmib8, cmmib9, and cmmib10 at their normal (unmagnified) sizes, and cmmib10 at magsteps $\frac12$,1,2. \item cmbsy5, cmbsy6, cmbsy7, cmbsy8, cmbsy9, and cmbsy10 at their normal (unmagnified) sizes, and cmbsy10 at magsteps $\frac12$,1,2. \end{enumerate} The following table shows only the \REVTeX{} requirements for a {\em minimal\/} AMSFonts installation; i.e., one that will function correctly at normal sizes. ``Normal sizes'' means the sizes one gets automatically in \REVTeX{} without using \LaTeX's explicit size-changing commands. (It may be worth installing the fonts at larger sizes if you use the NFSS, for uses other than \REVTeX{}.) \newpage \begin{table} \caption{Minimum fonts and resolutions required for a 300-dpi installation of AMSFonts for use of the {\tt amsfonts} and {\tt amssymb} style options at normal \REVTeX{} sizes.} \begin{tabular}{@{\hspace{.4in}}ll@{\hspace{.4in}}} Font & Resolution(s) \\ \hline msam5 & 300 \\ msam6 & 300 \\ msam7 & 300 \\ msam8 & 300 \\ msam9 & 300 \\ msam10 & 300,329,360,432 \\ msbm5 & 300 \\ msbm6 & 300 \\ msbm7 & 300 \\ msbm8 & 300 \\ msbm9 & 300 \\ msbm10 & 300,329,360,432 \\ eufm5 & 300 \\ eufm6 & 300 \\ eufm7 & 300 \\ eufm8 & 300 \\ eufm9 & 300 \\ eufm10 & 300,329,360,432 \\ eufb5 & 300 \\ eufb6 & 300 \\ eufb7 & 300 \\ eufb8 & 300 \\ eufb9 & 300 \\ eufb10 & 300,329,360,432 \\ cmbsy5 & 300 \\ cmbsy6 & 300 \\ cmbsy7 & 300 \\ cmbsy8 & 300 \\ cmbsy9 & 300 \\ cmbsy10 & 300,329,360,432 \\ cmmib5 & 300 \\ cmmib6 & 300 \\ cmmib7 & 300 \\ cmmib8 & 300 \\ cmmib9 & 300 \\ cmmib10 & 300,329,360,432 \\ \end{tabular} \end{table} \vskip-.5pc \REVTeX{} does not support the use of the extra Euler fonts (the AMSFonts starting with \verb+eur+ or \verb+eus+) or the Cyrillic fonts (the AMSFonts starting with \verb+w+). In addition, if you are using the NFSS you will need to have the files amsfonts.sty and amssymb.sty from the \AmSLaTeX{} distribution. See Sec.\ \ref{sec:onfss} for an explanation of what the NFSS is. \section{Installing \REVTeX{} 3.1} \label{sec:upgrade} %%%%%%%%%%%%%%%%%%%%%%% REVTeX DISTRIBUTION %%%%%%%%%%%%%%%%%%%%%%% Files in the complete REVTeX 3.1 distribution: (a) the general files: \begin{verbatim} README revtex.sty manintro.tex manend.tex \end{verbatim} \newpage (b) APS-specific files \begin{verbatim} aps.sty aps10.sty aps12.sty rmp.sty prabib.sty prbbib.sty template.aps manaps.tex apssamp.tex prsty.bst reftest.tex \end{verbatim} %%%%%%%%%%%%%%%%%%%%%%% GETTING STARTED %%%%%%%%%%%%%%%%%%%%%%% You must have \TeX{} and \LaTeX{} running to use these macros. All macros run on a standard \LaTeX2.09{} format. If \LaTeX2e is used, it must be run in ``compatibility'' mode. Installing to just test the macros can be accomplished by copying all the files into an unused directory, then changing to that directory. All the files and facilities of \REVTeX{} should then be usable while you are in that directory. A more permanent installation would usually mean installing the .sty files and reftest.tex files into the directory where \TeX{} usually looks for input files, the .bst files where \BibTeX{} usually looks for its style files, and the the rest of the files into a \REVTeX{} working directory or a public directory, depending on your system setup. Care should be taken to avoid writing over files already present. The files in the \REVTeX{} package have been named to help avoid this problem, but there can be no guarantee that our filenames are unique (e.g., README). If you are upgrading an older version of \REVTeX{} ($<$3.1), the files from the old version should be deleted first. Here is a list of the older files: \begin{verbatim} readme (make sure you only delete the REVTeX readme!) revtex.sty aps.sty aps10.sty aps12.sty preprint.sty eqsecnum.sty smplea.tex smpleb.tex smplec.tex apguide.tex \end{verbatim} The next thing you need to do is run \LaTeX{} on the appropriate user guide(s). Run manintro.tex, manaps.tex, and manend.tex. Collecting the output together in this order will provide a complete user guide for APS authors. Running manaip.tex and manosa.tex will give you the chapters for AIP and OSA authors. If needed, consult a local \LaTeX{} user or system support person for information on how to run \LaTeX{} and print its output on your local system. %%%%%%%%%%%%%%%%%%%%%%% ERROR REPORTS %%%%%%%%%%%%%%%%%%%%%%% Before you report an error please check that \begin{itemize} \item the error isn't caused by obsolete versions of other software. \LaTeX{} from 1986 is a good candidate. \item you use an original version of the package. \end{itemize} If you think you have found a genuine bug please report it, together with the following information: \begin{itemize} \item version of the \REVTeX{} file(s) \item version (date!) of your \LaTeX{} \item a short test file showing the behavior with all unnecessary coding removed. The log file showing the problem might also help. \end{itemize} Errors should be reported to the support person listed in Sec.\ \ref{sec:contacts}. \subsection[Differences between \REVTeX{} v3.1 and \LaTeX{} article style]% {Differences between \REVTeX{} v3.1 and LaTeX{} article style} \label{sec:ltor} \begin{enumerate} \item The documentstyle is different. The main style is \verb+revtex+, and \verb+aps+ is a mandatory style option for APS authors. Other style options are \verb+eqsecnum+ (to number equations by section), \verb+preprint+ (to get double-spaced output for submission purposes), \verb+tighten+ (to get single-spaced output with the preprint option), and \verb+amsfonts+ and \verb+amssymb+ (for extra font capabilities, see Sec.\ \ref{sec:fonts}). There are also style options for each APS journal: \verb+pra+, \verb+prb+, \verb+prc+, \verb+prd+, \verb+pre+, \verb+prl+, and \verb+rmp+ for {\it Physical Review\/} {\it A}, {\it B}, {\it C}, {\it D}, {\it E}, {\it Letters}, and {\it Reviews of Modern Physics} respectively. \verb+pra+ is the default. The \verb+prb+ option gives superscript reference citations, as is the style for {\it Physical Review B}. Other than this, there are no substantial differences in the journal options. Please do not use the \verb+prb+ option unless you will be submitting to {\it Physical Review B}. The \verb+prl+ option yields a slightly different line spacing for accurate PRL length estimates. The \verb+floats+ style option enables \LaTeX{}-style floating figures and tables---it is {\it not\/} for use with files to be submitted to the APS. Similarly, the twocolumn style option is for personal use, and not for use in submitted files. \item The beginning of a file is different in \REVTeX. The top of a typical paper might look like (cf.\ template.aps) \begin{verbatim} \documentstyle[pra,aps]{revtex} \begin{document} \draft \title{Title here} \author{Author(s) here} \address{Address(es) here} \author{Another author(s) here} \address{Another address(es) here} \date{\today} \maketitle \begin{abstract} Abstract here. \end{abstract} \pacs{PACS numbers here} \end{verbatim} Note the \verb+\draft+, \verb+\address{#1}+, and \verb+\pacs{#1}+ commands. See Sec.\ \ref{sec:front} for details. \item Figures and tables are input the same as in \LaTeX{}. Tables can be over 1 page long and will break automatically across pages. Figures and tables do not float unless you use the \verb+floats+ option. While floats can be re-enabled by use of the \verb+floats+ style option, you {\em cannot\/} use this for files that you submit to the APS; it is added for your personal use. Floating tables and figures will not break across pages. All tables expand to fill the column width. \item The \verb+\text{#1}+ command will print \verb+#1+ as regular text output in math. In particular, you will get hyphens instead of minus signs. Used in a superscript, you will get the correct size. See Sec.\ \ref{sec:textinmath}. \item Using a \verb+\label{#1}+ after \verb+\begin{mathletters}+ will allow you to reference the {\em general\/} number of the equations in the \verb+mathletters+ environment. For example, if \begin{verbatim} \begin{mathletters} \label{alleqs} % observe location \begin{equation} E=mc^2,\label{eqa} \end{equation} \begin{equation} E=mc^2,\label{eqb} \end{equation} \begin{equation} E=mc^2,\label{eqc} \end{equation} \end{mathletters} \end{verbatim} gives the output \smallskip\hrule\smallskip \begin{mathletters} \label{alleqs} \begin{equation} E=mc^2,\label{eqa} \end{equation} \begin{equation} E=mc^2,\label{eqb} \end{equation} \begin{equation} E=mc^2,\label{eqc} \end{equation} \end{mathletters} \smallskip\hrule\smallskip then \verb+Eq.\ (\ref{alleqs})+ gives ``Eq.\ (\ref{alleqs})''. \item When you use the \verb+\bf+ command in superscripts, you will get a correctly sized character. \item There are commands \verb+\tablenote{#1}+, \verb+\tablenotetext{#1}+, and \verb+\tablenotemark{#1}+. These commands work in direct analogy to the regular footnoting commands in \LaTeX{}. They should be used only in tables, and the notes will come out at the bottom of the table in which they appear. See apssamp.tex for instructions and examples. \item There is a new letter for specifying columns in tabular environments. Using \verb+d+ in a tabular specification will create a column centered on the decimal points of the entries. See Sec.\ \ref{sec:tables} for details; see apssamp.tex for examples. \item Extra diacritics are available: \verb+\tensor+ (double-headed overarrow), \verb+\overdots+ (triple overdots), \verb+\overstar+ (star), \verb+\overcirc+ (circle), \verb+\loarrow+ (left-going overarrow), and \verb+\roarrow+ (right-going overarrow). They scale correctly in superscripts. See Appendix A for examples. \item \verb+\case{#1}{#2}+ will give text-style fractions (smaller) in display-style math. \item There are \BibTeX{} style files, \verb+prsty.bst+, \verb+rmp.bst+, that can be used to prepare bibliographies automatically, as explained in Lamport's book. \item There is also a tool for authors that prepare their bibliographies by hand. It is called reftest.tex. It will check to make sure that you (1) have no uncited bibitems, (2) have no undefined citations, and (3) have your bibitems in the same order as your citations. These are all requirements in {\it Physical Review\/} style. See Sec.\ \ref{sec:endnotes}. \item The \LaTeX{} command \verb+\extracolsep{#1}+ sets extra intercolumn spacing, but this extra spacing has already been set in \REVTeX{} to allow the columns in the table to expand out to fill the text width. Therefore, \verb+\extracolsep{#1}+ will not work in \REVTeX{}. Use the \verb+@{#1}+ command to specify spacing between two adjacent columns, for personal files. See Appendix C.9.2 of Lamport for a full explanation of \verb+@{#1}+. An example has been given in apssamp.tex. Note that final journal table layout is set by production software. \item We intend for \REVTeX{} to be as compatible as possible with \LaTeX{}, including features we (APS) do not require at this time, such as \verb+\twocolumn+, \verb+floats+, etc. You {\em cannot\/} use these for files that you submit to the APS; they are added for your personal use. Please let us know of any other incompatibilities. \item You should be able to use either the OFSS or NFSS with these macros, with similar results (the NFSS may give you more fonts in some areas, depending what your setup is). We are only supporting the NFSS with \verb+oldlfont.sty+ active. Please let us know if you have any problems in this area. And don't worry if you don't know what the OFSS and NFSS are. (See Sec.\ \ref{sec:fonts} if you are curious.) \end{enumerate} \subsection{Differences between \REVTeX{} v3.1 and \REVTeX{} v$<$3.0} \label{sec:2to3} There are few differences between \REVTeX{} v3.1 and v3.0: \begin{enumerate} \item No difference in basic macro functionality. \item Support for the same ``tag set''. \item Version 3.1 remains \LaTeX2.09 compliant. \item A new publisher has been added to the program, SEG. \item A new APS journal has been added, {\it Reviews of Modern Physics}. \item New/revised style files have been added to the toolbox. \item Documentation has been updated. \end{enumerate} Here are the differences between \REVTeX{} v3.1 and versions $<$3.0. \begin{enumerate} \item The \verb+\documentstyle+ is different. The main style is now \verb+revtex+, and \verb+aps+ is a mandatory style option for APS authors. Other style options are \verb+eqsecnum+ (to number equations by section), \verb+preprint+ (to get double-spaced output for submission purposes), \verb+tighten+ (to get single-spaced output with the preprint option), and \verb+amsfonts+ and \verb+amssymb+ (see below). There are also style options for each APS journal: \verb+pra+, \verb+prb+, \verb+prc+, \verb+prd+, \verb+pre+, \verb+prl+, and \verb+rmp+ for {\it Physical Review\/} {\it A}, {\it B}, {\it C}, {\it D}, {\it E}, {\it Letters}, and {\it Reviews of Modern Physics}, respectively. \verb+pra+ is the default. The \verb+prb+ option gives superscript reference citations, as is the style for {\it Physical Review B}. Other than this, there are no substantial differences in the journal options. Please do not use the \verb+prb+ option unless you will be submitting to {\it Physical Review B}. The \verb+prl+ option yields a slightly different line spacing for accurate PRL length estimates. The \verb+floats+ style option enables \LaTeX{}-style floating figures and tables---it is {\it not\/} for use with files to be submitted to the APS. Similarly the twocolumn style option is for personal use, and not for use in submitted files. \item The beginning of a file is different in v3.1. It is more like \LaTeX{}'s article style. See Sec.\ \ref{sec:front} and template.aps for details. \item The \verb+\tightenlines+ command is now called \verb+\tighten+. The \verb+tighten+ style option can be used to get a single-spaced preprint. \item You can now use the \verb+\label{#1}+ command after \verb+\begin{mathletters}+. This allows you to reference the {\em general\/} number of the equations in the \verb+mathletters+ environment. For example, if \begin{verbatim} \begin{mathletters} \label{eq:all} % note location \begin{equation} E=mc^2,\label{eq:a} \end{equation} \begin{equation} E=mc^2,\label{eq:b} \end{equation} \begin{equation} E=mc^2,\label{eq:c} \end{equation} \end{mathletters} \end{verbatim} gives the output \smallskip\hrule\smallskip \begin{mathletters} \label{eq:all} \begin{equation} E=mc^2,\label{eq:a} \end{equation} \begin{equation} E=mc^2,\label{eq:b} \end{equation} \begin{equation} E=mc^2,\label{eq:c} \end{equation} \end{mathletters} \smallskip\hrule\smallskip then \verb+Eq.\ (\ref{eq:all})+ gives ``Eq.\ (\ref{eq:all})''. \item The \verb+\nonum+ command is no longer used. You can get unnumbered section headings by using the ``star form'' of the command; e.g., \begin{verbatim} \section*{Unnumbered section} \end{verbatim} This is normal \LaTeX{} practice. Appendix headings used to be set with the \verb+\appendix{#1}+ and \verb+\unletteredappendix{#1}+ commands. The normal \LaTeX{} convention is now used: When you wish to start the appendix(es) use the \verb+\appendix+ command (no argument). Then \verb+\section{#1}+ will give an appendix heading and \verb+\section*{#1}+ gives an unlettered appendix. All numbering, labeling, and cross-referencing remain the same. \item Figure captions should be input as in \LaTeX{}. The syntax is exactly the same as in \LaTeX{}; e.g., \begin{verbatim} \begin{figure} \caption{Here is the caption.\label{xxx}} \end{figure} \end{verbatim} Note that the label can be inside the caption or after it, as long as it is inside the figure environment and does not come before the caption. \item All the normal \LaTeX{} rules about fragile commands in moving arguments apply. Especially in figure and table captions, where \REVTeX{} users have not had to worry until now. An error of \begin{verbatim} ! Argument of \@caption has an extra } \end{verbatim} generally indicates that a command in a caption must be preceded by the \verb+\protect+ command. \verb+\protect+ will need to be used much more often, unfortunately. Specifically, \verb+\\+ and \verb+\ref+, along with other fragile commands, will need to be protected in section heads and captions. \item Equations and eqnarrays center in the column width, instead of appearing indented. The \verb+\FL+ and \verb+\FR+ commands still flush equations left and right, repectively, in the column, but should be needed only occasionally. This mimics the style of how the equations will appear in the journal. \item The AMSFonts are supported through the \verb+amsfonts+ and \verb+amssymb+ style options. These work similar on both \LaTeX's normal font macros (OFSS) and the so-called NFSS. You do not need to know what the OFSS and NFSS are. (See Sec.\ \ref{sec:fonts} if you are curious.) The \verb+amsfonts+ option will define the \verb+\frak+ and \verb+\Bbb+ commands to switch to the Fraktur and Blackboard Bold fonts, respectively. Fraktur characters will come out bold in a bbox (see below), Blackboard Bold will not. The \verb+amsfonts+ option also adds support for bold math letters and symbols in smaller sizes in galley style and in superscripts when a bbox is used. For example, \verb+$^{\bbox{\pi}}$+ gives a bold lowercase pi in the superscript position. \verb+\bbox{#1}+ is explained below. The \verb+amssymb+ option gives all the capabilities of the \verb+amsfonts+ option, but also defines names for all the extra symbols in the AMSFonts. See Sec.\ \ref{sec:fonts} for font details. \item The \verb+\bbox{#1}+ command will give bold output of \verb+#1+ in math mode. You can use it to get bold greek characters---upper- and lowercase---and other symbols. It is still easier to use \verb+\bf+ to get upright Latin letters in boldface. How much comes out bold and in how many places you get bold output depends on how many fonts you have installed. Using the \verb+amsfonts+ option will automatically enable bold Fraktur in a bbox and will use the extra AMS Computer Modern math and symbol fonts for bold in superscripts and smaller sizes. The following will come out bold in bboxes: normal math italic letters, numbers, Greek letters (uppercase and lowercase), small bracketing and operators, \verb+\cal+, and \verb+\frak+. See Sec.\ \ref{sec:bboxamsfonts}. \item The \verb+\text{#1}+ command will print \verb+#1+ as regular text output in math. In particular, you will get hyphens instead of minus signs. Used in a superscript, you will get the correct size. See Sec.\ \ref{sec:textinmath}. \item When you use the \verb+\bf+ command in superscripts, you will get a correctly sized character. \item The \verb+/+ in the \verb+\case+ command is now optional. Either \verb+\case{1}/{2}+ or \verb+\case{1}{2}+ will work. Our hope is that the latter, more usual construct will become the norm. \item There are commands \verb+\tablenote{#1}+, \verb+\tablenotetext{#1}+, and \verb+\tablenotemark{#1}+. These commands work in direct analogy to the regular footnoting commands in \LaTeX{}. They should be used only in tables, and the notes will come out at the bottom of the table in which they appear. See apssamp.tex for instructions and examples. \item There is a new letter for specifying columns in tabular environments. Using \verb+d+ in a tabular specification will create a column centered on the decimal points of the entries. See Sec.\ \ref{sec:tables} for details; see apssamp.tex for examples. \verb+\dec+ and \verb+\setdec+ should not be used. \item The symbols $\lesssim,\gtrsim$ were called \verb+\alt+,\verb+\agt+ in previous versions of \REVTeX{}. These symbols are now called \verb+\lesssim+ and \verb+\gtrsim+, for compatibility with normal AMSFonts notation. \item Extra diacritics are available: \verb+\tensor+ (double-headed overarrow), \verb+\overdots+ (triple overdots), \verb+\overstar+ (star), \verb+\overcirc+ (circle), \verb+\loarrow+ (left-going overarrow), and \verb+\roarrow+ (right-going overarrow). They scale correctly in superscripts. See Appendix A for examples. \item There are \BibTeX{} style files, \verb+prsty.bst+, \verb+rmp.bst+, that can be used to prepare bibliographies automatically, as explained in Lamport's book. \item There is also a tool for authors that prepare their bibliographies by hand. It is called reftest.tex. It will check to make sure that you (1) have no uncited bibitems, (2) have no undefined citations, and (3) have your bibitems in the same order as your citations. These are all requirements in {\it Physical Review\/} style. This can only work if you use \LaTeX{}'s \verb+\bibitem+ and \verb+\cite+ mechanisms. See Sec.\ \ref{sec:endnotes}. \item We have intended for \REVTeX{} to be as compatible as possible with \LaTeX{}, including features we (APS) do not require at this time such as \verb+\twocolumn+, \verb+floats+, etc. You {\em cannot\/} use these for files that you submit to the APS; they are added for your personal use. Please let us know of any incompatibilities. \item You should be able to use either the OFSS or NFSS with these macros, with similar results (the NFSS may give you more fonts in some areas, depending what your setup is). We are only supporting the NFSS with \verb+oldlfont.sty+ active. Please let us know if you have any problems in this area. And don't worry if you don't know what the OFSS and NFSS are. (See Sec.\ \ref{sec:fonts} if you are curious.) \end{enumerate} \subsection{Running an older \REVTeX{} file under \REVTeX{} v3.1} Version 3.0 files will in their current form. If you have version 2.x files that you wish to run with v3.1, use the \verb+version2+ style option. If you have a file formatted with version 1.x, first delete the optional arguments to the bibitem commands. That is, \verb+\bibitem[1]{firstref}+ would become \verb+\bibitem{firstref}+, etc. Then use the \verb+version2+ style option to run the paper. This means a documentstyle line of \begin{verbatim} \documentstyle[version2,aps]{revtex} \end{verbatim} \subsection{Converting a \REVTeX{} v2.x file to \REVTeX{} v3.1} To change a file over from v2.x to run with v3.1, you need to make the following changes. If you have a file formatted with version 1.x, first delete the optional arguments to the \verb+\bibitem+ commands. That is, \verb+\bibitem[1]{firstref}+ would become \verb+\bibitem{firstref}+, etc. Then make the following changes. \smallskip \hrule \nobreak\smallskip \begin{verbatim} \documentstyle[revtex]{aps} \end{verbatim} becomes \begin{verbatim} \documentstyle[aps]{revtex} \end{verbatim} The \verb+preprint+ and \verb+eqsecnum+ options work the same as before. \smallskip \hrule \nobreak\smallskip \begin{verbatim} \tightenlines \end{verbatim} becomes \begin{verbatim} \tighten \end{verbatim} \smallskip \hrule \nobreak\smallskip \begin{verbatim} $\alt$ and $\agt$ \end{verbatim} become \begin{verbatim} $\lesssim$ and $\gtrsim$ \end{verbatim} \smallskip \hrule \smallskip \begin{verbatim} \begin{title} XXX \end{title} \end{verbatim} becomes \begin{verbatim} \title{XXX} \end{verbatim} \smallskip \hrule \smallskip \begin{verbatim} \begin{instit} XXX \end{instit} \end{verbatim} becomes \begin{verbatim} \address{XXX} \end{verbatim} \smallskip \hrule \smallskip \begin{verbatim} \receipt{XXX} \end{verbatim} becomes \begin{verbatim} \date{XXX} \end{verbatim} \smallskip \hrule \smallskip \verb+\maketitle+~should~be~added~just~before the \verb+\begin{abstract}+ command is entered. \smallskip \hrule \smallskip \begin{verbatim} \figure{XXX\label{YYY}} \end{verbatim} becomes \begin{verbatim} \begin{figure} \caption{XXX\label{YYY}} \end{figure} \end{verbatim} \smallskip \hrule \smallskip Tablenotes should be converted over to run correctly. The first three \verb+\tablenotes{#1}+ commands would be treated as follows: \begin{verbatim} \tablenotes{$^{\rm a}$Tablenote a.} \tablenotes{$^{\rm b}$Tablenote b.} \tablenotes{$^{\rm c}$Tablenote c.} \end{verbatim} becomes \begin{verbatim} \tablenotetext[1]{Tablenote a.} \tablenotetext[2]{Tablenote b.} \tablenotetext[3]{Tablenote c.} \end{verbatim} Further tablenotes should be treated similarly. This should allow older tables to run correctly. There is much greater capability in the new tablenote macros, however. See apssamp.tex for examples and explanations. \smallskip \hrule \smallskip \begin{verbatim} \nonum\section{XXX} \end{verbatim} becomes \begin{verbatim} \section*{XXX} \end{verbatim} \smallskip \hrule \smallskip Note that there should only be one \verb+\unletteredappendix+ command in any file. \begin{verbatim} \unletteredappendix{XXX} \end{verbatim} becomes \begin{verbatim} \appendix \section*{XXX} \end{verbatim} \smallskip \hrule \smallskip Note that there may be more than one \verb+\appendix+ command in any file. The first occurrence should be treated as follows: \begin{verbatim} \appendix{XXX} \end{verbatim} becomes \begin{verbatim} \appendix \section{XXX} \end{verbatim} Subsequent occurrences should be treated as follows: \begin{verbatim} \appendix{XXX} \end{verbatim} becomes \begin{verbatim} \section{XXX} \end{verbatim} \nobreak \smallskip \hrule \nobreak \smallskip \nobreak \section{Fast Facts for New Participants} \label{sec:fastfacts} Since 1980 the American Physical Society has been accepting computer files from authors and using those files (``compuscripts'') in the preparation of their papers. In 1987 a research and development effort was launched to expand this service to include \TeX-formatted compuscripts. We have been publishing \TeX{} compuscripts since 1988. \medskip {\bf Benefits to Author and Publisher}. \REVTeX{} is one of the acceptable electronic-submission formats that earns an APS publication-charge discount for authors. It is currently the only format that routinely undergoes direct software conversion into APS's Xyvision/SGML production files, avoiding rekeyboarding. Not only does this yield a small savings for APS, it also maximizes author control of text-content keystrokes and thereby minimizes author effort in checking author proofs. Furthermore, the macros are supported by several other physics publishers, so \REVTeX{} has utility for non-APS electronic submissions as well. \REVTeX{} attempts to meet both publisher and author needs, strtiking a balance between requirements that sometimes conflict. It addresses the tagging needs of production; by staying closely compatible with \LaTeX, it can also be useful to an author for presubmission presentation and for non-APS submissions more generally. %mtp \medskip {\bf How to Qualify: Use \REVTeX{} Macro Package}. The APS has developed a ``compuscript toolbox,'' which is composed of \LaTeX{} macros, (style files), {\it The \REVTeX{} Input Guide}, bibliography tools, an input template and example file, and instructions for using the software and on how to properly prepare a compuscript for the APS program. Auxiliary files, e.g. editorial style and notation guides, are available online and compliment the toolbox (cf. \ref{sec:contacts}). \medskip {\bf Which Journals are Participants?} Papers submitted to all the journals, {\em Physical Review A, B, C, D, E,} {\em Letters,\/} or {\em Reviews of Modern Physics} may qualify. \medskip {\bf Media for Compuscripts}. We can process files received via electronic mail or on DOS-formatted floppy disk. \medskip {\bf How to Participate}. Make the original submission of your \REVTeX{} compuscript to the Editorial Office via electronic mail or DOS-formatted floppy disk. We will contact you to confirm file qualification. During the review process, resubmit in one of the electronic modes; do {\em not\/} resubmit by conventional means. \medskip {\bf Obtaining the Toolbox and More Information}. Contact \medskip REV\TeX\/ Support The American Physical Society 1 Research Rd. Box 9000 Ridge, New York~~11961-9000 \medskip Telephone: (516) 591-4000 FAX: (516) 591-4141 E-mail address: {\tt mis@aps.org} (Internet) %\leavevmode\phantom{E mail address: }{\tt mis@apsedoff} (Bitnet) \section{Common Author Questions} \label{sec:macros} {\bf Page Charges.} Historically, page charges for compuscripts have fluctuated. The Council has, at various points over the history of the program, voted for reduced page charges, the elimination of page charges, and full page charges for compuscripts. The current APS policy is to request a {\bf discounted} publication charge for articles submitted electronically to the {\em Physical Review} and {\em Letters} journals, provided they are in an acceptable file format and are printable/displayable at the Editorial Office. ({\em Reviews of Modern Physics} does not request publication charges.) The discounts are journal specific. See a journal's inside front cover for exact charges or visit their World Wide Web home page via the URL http://publish.aps.org/. Acceptable file formats for electronic submissions are, at the moment, \REVTeX\/ (preferred), \LaTeX\/, Plain \TeX. {\bf Compuscripts versus Electronic Submissions.} Electronic Submissions are manuscript files that can be used electronically in the APS editorial-review process. They are described in the preceeding paragraph. Compuscripts are electronic submissions that also meet the requirements for the APS production process; i.e., they have the correct tagging and coding (\REVTeX!) to undergo direct software translation into a useable Xyvision/SGML production file. Compuscripts garner no additional discount for authors. Plain \TeX\/ and ``non-\REVTeX'' \LaTeX\/ files do not offer the standard coding needed for the conversion. {\bf Publication Schedule.} The normal edtorial-review and production schedules apply to electronic submissions and compuscripts. {\bf Compuscript Conversion.} APS production files are in Xyvision or SGML format. The files are created via original keyboarding according to conventional manuscripts or via translation of an author's \REVTeX\/ file. It is no longer the case that \REVTeX\/ files serve as the actual production file that produces the final journal output. For journal page composition, any low-level format coding in a compuscript file is effectively ignored in the conversion to the production file. Such is the nature of the SGML scheme: separation of the logical structioral elements (tagged items) of a document from the specification for the formatted output of the document content. The compuscript serves to code the elements; production composition software applies APS-standard format specificaitons. Extensive coding for low-level formatting details in a compuscript file may foil the translation process, and should be avoided. \bigskip {\bf Macros.} Some authors use specialized definitions, or custom macros, in their files. These definitions serve different purposes: some macros save the author from typing a long character string repetitively (Type 1), and some macros act as commands to the \TeX{} program (Type 2). Type-1 macros enable the author to define a frequently occurring string of characters as a shorter string, in order to save typing time. These ``keystroke-saving'' macros are now acceptable for APS compuscripts. They will be globally expanded by the compuscript conversion software. If the resulting code otherwise meets the requirements for APS compuscript files, all should be well. The expansion should not lead to low-level formatting. Avoid recursive definitions; include the Type-1 macros at the beginning of the file, before the \verb+\begin{document}+ line; include only those used within the given compuscript file. Refer to the Compuscript Booklets (cf. \ref{sec:contacts}) for more details. Type-2 macros enable the author to give commands to the \TeX\ program. Authors need to do this when the macro package they are using does not contain a command that they need and/or they are effecting low-level formatting. Type-2 macros frequently occur in \LaTeX{} compuscripts. This is because the macros do not provide for certain elements of APS style; for instance, letters in equation numbers. Authors who are using \LaTeX{} to compose their compuscripts would need to develop a command that would number their equations (1a), (1b), etc. Type-2 macros should not occur in \REVTeX{} compuscripts. The \REVTeX{} macros ideally represent a complete command set, allowing the author to do anything that APS edtorial style allows. Type-2 macros are not easy to remove; therefore files containing them will be ineligible for the compuscript program. \section{Troubleshooting and Other Questions} This section is intended to help authors with problems and common questions that arise when using \REVTeX{}. {\bf Question: Where are the appendixes that are mentioned in the text of this document?} You need to run the file manend.tex through \LaTeX. Also, you may elect to try a documentstyle with either the \verb+amsfonts+ or \verb+amssymb+ option selected, if you have the AMSFonts installed and the correct \AmSLaTeX{} files (if needed). See Sec.\ \ref{sec:fonts} for details on these options. {\bf Question: \REVTeX{} types out information about the NFSS (or OFSS). What does this mean?} This is simply information to let you know which FSS you are running on. Normally this information is not important. (See Sec.\ \ref{sec:fonts} if you are curious.) {\bf Question: How do I get lowercase letters in the \verb+\section{#1}+ command?} All text in the \verb+\section{#1}+ command is automatically set uppercase. If a lowercase letter is needed, just use \verb+\lowercase{x}+. For example, to use ``He'' for helium in a \verb+\section{#1}+ command, type \verb+H\lowercase{e}+ in \verb+#1+. This also works in math mode: \verb+$\lowercase{e}^2$+ in a \verb+\section{#1}+ command will output $e^2$. {\bf Problem: I am getting error messages on the lines of my \verb+\section{#1}+, \verb+\subsection{#1}+, \verb+\subsubsection{#1}+, or \verb+\caption{#1}+ commands, and I can't understand why!} You may have a so-called ``fragile'' command in a section heading or caption. This is solved in \LaTeX{} by immediately preceding the fragile command with \verb+\protect+. Some common fragile commands include: \begin{verbatim} \cite{#1} \onlinecite{#1} \ref{#1} \sqrt{#1} \openone \lesssim \gtrsim \\ \newline \bbox{#1} \end{verbatim} So, if you have one of these commands, or another fragile command (check Lamport's book), just precede them with \verb+\protect+ and try running the file again. For example, if you have \begin{verbatim} \section{The next result: $\sqrt{-1}$} \end{verbatim} just change it to \begin{verbatim} \section{The next result: $\protect\sqrt{-1}$} \end{verbatim} {\bf Problem: I have tables that do not fit into the preprint width.} Try putting the \verb+\squeezetable+ command right after the \verb+\begin{table}+ command. This will reduce the size of the type in the body of the table, thus allowing more data to fit. {\bf Problem: \TeX{} (or my device driver) runs out of font space.} Try removing the \verb+amsfonts+ and \verb+amssymb+ style options. \TeX{} implementations vary, and some implementations will be unable to provide the resources needed to run these options. {\bf Problem: \TeX{} runs out of string space (\verb+pool_size+ is too small).} Remove the \verb+amssymb+ style option. It defines hundreds of symbol names. Some \TeX{} implementations will be unable to provide the resources needed to run this option. {\bf Problem: (a) The text immediately following an equation is ``outdented''. That is, indented into the margin. (b) I get a \verb+missing }+ error in the references, but the input is OK. If I let \TeX{} run through, the output is OK, too.} \REVTeX{} is having a bad interaction with an older version of \LaTeX{}. Upgrading to a newer \LaTeX{} has cured these problems in the past. {\bf Problem: One of my equations (or more) is not being cross-referenced correctly.} Make sure that you have run \LaTeX{} at least twice since the equation numbering was last disturbed by an input change. Also note that incorrect cross-referencing will result if \verb+\label{#1}+ is used in an unnumbered single line equation (i.e., within the \verb+\[+ and \verb+\]+ commands), or if \verb+\label{#1}+ is used on a line of an eqnarray that is not being numbered (i.e., a line that has a \verb+\nonumber+). {\bf Problem: I get a \LaTeX{} message at the end of the run that tells me that the references may have changed, no matter how many times I run \LaTeX{}.} Make sure that you have not used the same tag to label two different things. This will produce this effect, but will also produce a warning during the run and is therefore easy to detect. Also make sure that you have not used the same tag for two different bibitems. That is, make sure that two different \verb+\bibitem{#1}+ commands do not use the same text for \verb+#1+. You will probably {\em not\/} get a warning for this, so this a more subtle error. \penalty-10000 \section{Contacts; Resources} \label{sec:contacts} \begin{table} \begin{tabular}{p{3.2in}} \noalign{\vskip.75pc} {\bf \REVTeX{} questions/technical support\tablenotemark[1]}\par \vskip4pt\hrule width2.5in\vskip4pt REV\TeX\/ Support, {\tt mis@aps.org} \par %\leavevmode\phantom{C.\ Hamlin, }{\tt mis@apsedoff} (Bitnet)\par \\[.75pc] {\bf Electronic mail submissions}\par {\bf (manuscripts, PostScript figures)}\par \vskip4pt\hrule width2.5in\vskip4pt {\em Physical Review A,B,C,D,E\/}: {\tt prXtex@aps.org} \tablenotemark[2]\par {\em Physical Review Letters\/}: {\tt prltex@aps.org} \tablenotemark[2]\par \hskip .5em {\em Where X is a,b,c,d or e}\par {\em Reviews of Modern Physics\/}: {\tt rmptex@aps.org} \tablenotemark[3]\par \\[.75pc] {\bf Manuscript status queries\tablenotemark[2]}\par \vskip4pt\hrule width2.5in\vskip4pt {\em Physical Review A,B,C,D,E\/}: {\tt prX@aps.org} \tablenotemark[2]\par {\em Physical Review Letters\/}: {\tt prl@aps.org} \tablenotemark[2]\par \hskip .5em {\em Where X is a,b,c,d or e}\par {\em Reviews of Modern Physics\/}: {\tt rmp@phys.washington.edu} \tablenotemark[3]\par \\[.75pc] {\bf Electronic Authors Status Inquiry System \tablenotemark[2]}\par \vskip4pt\hrule width2.5in\vskip4pt {\em Physical Review} and {\em Letters}:\par \verb+http://publish.aps.org/STATUS/status.html+ \par \\[.75pc] {\bf \mbox{Compuscript questions\tablenotemark[1]}\par} \vskip4pt\hrule width2.5in\vskip4pt REV\TeX\/ Support \par \\[.75pc] {\bf \REVTeX{} project development questions\tablenotemark[1]}\par \vskip4pt\hrule width2.5in\vskip4pt REVTeX\/ Support\par \\[.75pc] {\bf \REVTeX\/ update list}\tablenotemark[1]\par \vskip4pt\hrule width2.5in\vskip4pt \REVTeX\/ Support, {\tt mis@aps.org}\par \\[.75pc] {\bf APS Journals home page}\par \vskip4pt\hrule width2.5in\vskip4pt (links to {\em Physical Review, Letters,} and {\em Reviews of Modern Physics} \par {\tt http://publish.aps.org/} \\[.75pc] {\bf APS ftp archives} ({\tt ftp://aps.org/pub/}\par \vskip4pt\hrule width2.5in\vskip4pt \REVTeX\/ toolbox: {\tt ftp://aps.org/revtex\/}\par Auxiliary files: (in directory /pub/jrnls/):\par Physical Review Style and Notation Guide\par \hskip .5em (also for PRL)- {\tt style\_guide.ps (.tex)}\par Reviews of Modern Physics Style Guide-\par {\tt rmp\_style\_guide.ps (.tex)}\par PR Electronic-Submission Compuscript Program-\par \hskip .5em {\tt compu\_inform\_pr.asc (.tex, .ps)}\par PRL Electronic-Submission Compuscript Program-\par \hskip .5em {\tt compu\_inform\_prl.asc (.tex, .ps)}\par Electronic Submissions Checklist -\par \hskip .5em {\tt elec\_sub.asc (.tex, .ps)}\par Information for Contributors-\par \hskip .5em {\tt info\_con\_prX.ps}\par \hskip .5em (where X is a, b, c, d, e, or l)\par \end{tabular} \tablenotetext[1]{\REVTeX\/ Support, The American Physical Society, 1 Research Rd. Box 9000, Ridge, NY 11961-9000 [FAX: (516)591-4141; Phone: (516)591-4000].} \tablenotetext[2]{Editorial Offices, The American Physical Society 1 Research Road, Box 9000, Ridge, NY 11961-9000 .} \tablenotetext[3]{Reviews of Modern Physics, Department of Physics, University of Washington, Box 351560, Seattle, WA 98195-1560 [FAX: (206)685-2391].} \end{table} \acknowledgments We wish to acknowledge the support of the author community in using \REVTeX{}, offering suggestions and encouragement, and testing new versions. \end{document} % end of file manaps.tex ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/manend.tex�������������������������������������������������������������������������0100644�0000764�0000764�00000140517�07267371705�015425� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% start of file manend.tex % % This file is part of the files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, September 1996. % % Copyright (c) 1992 American Physical Society, Optical Society of America, % American Institute of Physics. % % See the REVTeX 3.1 README file for restrictions and more information. % % %\documentstyle[twocolumn,aps]{revtex} % % comment out the documentstyle line above and use one of the other lines % if you have the AMSFonts installed and would like to see the characters % and fonts available with these options enabled. There is no guarantee % that any specific TeX installation will be able to handle these options. % % the amsfonts option gives better handling of \bbox output in odd sizes % and superscripts, along with the \frak and \Bbb font commands: % \documentstyle[amsfonts,twocolumn,aps]{revtex} % % the amssymb option gives all the capabilities of the amsfonts option, but % also defines names for many extra symbols: \documentstyle[amsfonts,twocolumn,aps]{revtex} % \def\SNG{{\em Physical Review Style and Notation Guide}} \def\LUG {{\em \LaTeX{} User's Guide \& Reference Manual}} \def\btt#1{{\tt$\backslash$\string#1}}% \def\REVTeX{REV\TeX} \def\AmS{{\protect\the\textfont2 A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} \def\AmSLaTeX{\AmS-\LaTeX} \def\BibTeX{\rm B{\sc ib}\TeX} \makeatletter % run page numbers by "chapter" \def\thepage{A-\@arabic\c@page} % these page numbers need a bit more width \def\@pnumwidth{2em} \makeatother % next line overrules aps style neutralization of \slantfrac \def\slantfrac#1#2{\kern1em^{#1}\kern-.3em/\kern-.1em_{#2}} \begin{document} \appendix \twocolumn \makeatletter \global\@specialpagefalse \def\@oddhead{\REVTeX{} 3.1\hfill Released September 1996} \let\@evenhead\@oddhead % run page numbers by "chapter", with copyright for first page \def\@oddfoot{\reset@font\rm\hfill \thepage\hfill \ifnum\c@page=1 \llap{\protect\copyright{} 1996~~% $\vcenter{\baselineskip10pt \hbox{American Physical Society} \hbox{Optical Society of America} \hbox{American Institute of Physics} }$}\fi } \let\@evenfoot\@oddfoot \makeatother \section{Character Set Listing} \label{sec:chars} This appendix provides tables which show all of the special characters and mathematical symbols that are available within \REVTeX{}. Some of these symbols require the AMSFonts to be available. \REVTeX{} version 3.1 supports an extensive set of symbols, alphabets, and special fonts. Their availability does not relieve an author (editor) of considering whether a chosen notation or symbol will convey the intended meaning, and whether there is a more conventional alternative. As always, for the benefit of the reader, notation should be clear, as simple as possible, and consistent with standard usage. Nonstandard symbols should only be used if necessary; their meaning should be explained in the paper at the first occurrence. Editorial policy on this issue may vary from journal to journal. Check recent issues of a given journal and/or query the editor. APS authors may also consult the journal's ``Information for Contributors'' as well as the \SNG{}. In preparing an accepted paper for publication, the editor may suggest (require) the use of alternative notation. \def\xxx{4pt} \subsection[\protect\LaTeX{} notations]{LaTeX notations} \subsubsection[Standard \protect\LaTeX{} symbols]{Standard LaTeX symbols} The following tables show the standard symbols for \LaTeX{} users. \begin{table} \caption{Text accents with letter a.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}% lc@{\hspace{\xxx}}l} \`{a} & \verb+\`{a}+& \'{a} & \verb+\'{a}+& \^{a} & \verb+\^{a}+& \"{a} & \verb+\"{a}+\\ \~{a} & \verb+\~{a}+& \={a} & \verb+\={a}+& \.{a} & \verb+\.{a}+& \u{a} & \verb+\u{a}+\\ \v{a} & \verb+\v{a}+& \H{a} & \verb+\H{a}+& \t{aa} & \verb+\t{aa}+& \c{a} & \verb+\c{a}+\\ \d{a} & \verb+\d{a}+& \b{a} & \verb+\b{a}+ \end{tabular} \end{table} \begin{table} \caption{Math accents with letter a.} \begin{tabular}% {c@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\hat{a}$ & \verb+\hat{a}+ & $\check{a}$ & \verb+\check{a}+ & $\dot{a}$ & \verb+\dot{a}+ & $\ddot{a}$ & \verb+\ddot{a}+ \\ $\breve{a}$ & \verb+\breve{a}+ & $\tilde{a}$ & \verb+\tilde{a}+ & $\grave{a}$ & \verb+\grave{a}+ & $\acute{a}$ & \verb+\acute{a}+ \\ $\bar{a}$ & \verb+\bar{a}+ & $\vec{a}$ & \verb+\vec{a}+ & \end{tabular} \end{table} \begin{table} \caption{Special symbols; any mode.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\dagger$ & \verb+\dagger+& \S & \verb+\S+& \copyright & \verb+\copyright+\\ $\ddagger$ & \verb+\ddagger+& \P & \verb+\P+& \pounds & \verb+\pounds+\\ \end{tabular} \end{table} \begin{table} \caption{Other special (foreign) symbols; text mode.} \begin{tabular}% {c@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} \aa & \verb+\aa+& \AA & \verb+\AA+& \ae & \verb+\ae+& \AE & \verb+\AE+\\ \o & \verb+\o+& \O & \verb+\O+& \oe & \verb+\oe+& \OE & \verb+\OE+\\ \l & \verb+\l+& \L & \verb+\L+& ?` & \verb+?`+& !` & \verb+!`+\\ \ss & \verb+\ss+ \end{tabular} \end{table} \begin{table} \caption{Greek letters; used in math mode.} \begin{tabular}% {c@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} \multicolumn{8}{c}{\it Lowercase}\\ $\alpha$ & \verb+\alpha+ & $\beta$ & \verb+\beta+ & $\gamma$ & \verb+\gamma+ & $\delta$ & \verb+\delta+\\ $\epsilon$ & \verb+\epsilon+ & $\varepsilon$ & \verb+\varepsilon+ & $\zeta$ & \verb+\zeta+ & $\eta$ & \verb+\eta+ \\ $\theta$ & \verb+\theta+ & $\vartheta$ & \verb+\vartheta+ & $\iota$ & \verb+\iota+ & $\kappa$ & \verb+\kappa+ \\ $\lambda$ & \verb+\lambda+ & $\mu$ & \verb+\mu+ & $\nu$ & \verb+\nu+ & $\xi$ & \verb+\xi+\\ $o$ & \verb+o+ & $\pi$ & \verb+\pi+ & $\varpi$ & \verb+\varpi+ & $\rho$ & \verb+\rho+ \\ $\varrho$ & \verb+\varrho+ & $\sigma$ & \verb+\sigma+ & $\varsigma$ & \verb+\varsigma+ & $\tau$ & \verb+\tau+ \\ $\upsilon$ & \verb+\upsilon+ & $\phi$ & \verb+\phi+ & $\varphi$ & \verb+\varphi+ & $\chi$ & \verb+\chi+ \\ $\psi$ & \verb+\psi+ & $\omega$ & \verb+\omega+ & \\[\baselineskip] \multicolumn{8}{c}{\it Uppercase}\\ $\Gamma$ & \verb+\Gamma+ & $\Delta$ & \verb+\Delta+ & $\Theta$ & \verb+\Theta+ & $\Lambda$ & \verb+\Lambda+\\ $\Xi$ & \verb+\Xi+ & $\Pi$ & \verb+\Pi+ & $\Sigma$ & \verb+\Sigma+ & $\Upsilon$ & \verb+\Upsilon+ \\ $\Phi$ & \verb+\Phi+ & $\Psi$ & \verb+\Psi+ & $\Omega$ & \verb+\Omega+ & \end{tabular} \end{table} \begin{table} \caption{Binary operation symbols; used in math mode.} \def\xxx{3.2pt} \begin{tabular}% {c@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\pm$ & \verb+\pm+ & $\mp$ & \verb+\mp+ & $\times$ & \verb+\times+ & $\div$ & \verb+\div+ \\ $\ast$ & \verb+\ast+ & $\star$ & \verb+\star+ & $\circ$ & \verb+\circ+ & $\bullet$ & \verb+\bullet+\\ $\cap$ & \verb+\cap+ & $\cup$ & \verb+\cup+ & $\uplus$ & \verb+\uplus+ & $\cdot$ & \verb+\cdot+ \\ $\sqcap$ & \verb+\sqcap+ & $\sqcup$ & \verb+\sqcup+ & $\vee$ & \verb+\vee+ & $\wedge$ & \verb+\wedge+\\ $\oplus$ & \verb+\oplus+ & $\ominus$ & \verb+\ominus+ & $\otimes$ & \verb+\otimes+ & $\oslash$ & \verb+\oslash+ \\ $\bigtriangleup$ & \verb+\bigtriangleup+ & $\odot$ & \verb+\odot+ & $\lhd$ & \verb+\lhd+ & $\dagger$ & \verb+\dagger+ \\ $\bigtriangledown$ & \verb+\bigtriangledown+ & $\bigcirc$ & \verb+\bigcirc+ & $\rhd$ & \verb+\rhd+ & $\ddagger$ & \verb+\ddagger+\\ $\triangleleft$ & \verb+\triangleleft+ & $\diamond$ & \verb+\diamond+ & $\unlhd$ & \verb+\unlhd+ & $\setminus$ & \verb+\setminus+\\ $\triangleright$ & \verb+\triangleright+ & $\wr$ & \verb+\wr+ & $\unrhd$ & \verb+\unrhd+ & $\amalg$ & \verb+\amalg+ \end{tabular} \end{table} \begin{table} \caption{Relation symbols; used in math mode. } \begin{tabular}% {c@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\leq$ & \verb+\leq+ & $\geq$ & \verb+\geq+ & $\ll$ & \verb+\ll+ & $\gg$ & \verb+\gg+ \\ $\equiv$ & \verb+\equiv+ & $\asymp$ & \verb+\asymp+ & $\neq$ & \verb+\neq+ & $\doteq$ & \verb+\doteq+ \\ $\subset$ & \verb+\subset+ & $\supset$ & \verb+\supset+ & $\subseteq$ & \verb+\subseteq+ & $\supseteq$ & \verb+\supseteq+ \\ $\sqsubset$ & \verb+\sqsubset+ & $\sqsupset$ & \verb+\sqsupset+ & $\sqsubseteq$ & \verb+\sqsubseteq+ & $\sqsupseteq$ & \verb+\sqsupseteq+\hidewidth \\ $\models$ & \verb+\models+ & $\perp$ & \verb+\perp+ & $\mid$ & \verb+\mid+ & $\parallel$ & \verb+\parallel+ \\ $\prec$ & \verb+\prec+ & $\succ$ & \verb+\succ+ & $\preceq$ & \verb+\preceq+ & $\succeq$ & \verb+\succeq+ \\ $\sim$ & \verb+\sim+ & $\simeq$ & \verb+\simeq+ & $\approx$ & \verb+\approx+ & $\cong$ & \verb+\cong+ \\ $\bowtie$ & \verb+\bowtie+ & $\Join$ & \verb+\Join+ & $\smile$ & \verb+\smile+ & $\frown$ & \verb+\frown+ \\ $\in$ & \verb+\in+ & $\ni$ & \verb+\ni+ & $\vdash$ & \verb+\vdash+ & $\dashv$ & \verb+\dashv+ \\ $\propto$ & \verb+\propto+ & \end{tabular} \end{table} Negated relations can sometimes be constructed with \verb+\not+. For example, \[ \hbox{\verb+If $x \not< y$ then $x \not\leq z$.+} \] gives \[ \hbox{If $x \not< y$ then $x \not\leq z$.} \] The AMSFonts have many negated relations already constructed. See Appendix \ref{AMSFonts,notations}. %mtp \begin{table} \caption{Arrow symbols; used in math mode.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\leftarrow$ & \verb+\leftarrow+ & $\rightarrow$ & \verb+\rightarrow+ \\ $\longleftarrow$ & \verb+\longleftarrow+ & $\longrightarrow$ & \verb+\longrightarrow+ \\ $\Leftarrow$ & \verb+\Leftarrow+ & $\Rightarrow$ & \verb+\Rightarrow+ \\ $\Longleftarrow$ & \verb+\Longleftarrow+ & $\Longrightarrow$ & \verb+\Longrightarrow+ \\ $\hookleftarrow$ & \verb+\hookleftarrow+ & $\hookrightarrow$ & \verb+\hookrightarrow+ \\ $\leftharpoonup$ & \verb+\leftharpoonup+ & $\rightharpoonup$ & \verb+\rightharpoonup+\\ $\leftharpoondown$ & \verb+\leftharpoondown+ & $\rightharpoondown$ & \verb+\rightharpoondown+ \\ $\rightleftharpoons$&\verb+\rightleftharpoons+&$\leadsto$&\verb+\leadsto+ \\ $\leftrightarrow$ & \verb+\leftrightarrow+ & $\longleftrightarrow$ & \verb+\longleftrightarrow+ \\ $\Leftrightarrow$ & \verb+\Leftrightarrow+ & $\Longleftrightarrow$ & \verb+\Longleftrightarrow+ \\ $\mapsto$ & \verb+\mapsto+ & $\longmapsto$ & \verb+\longmapsto+ \\ \multicolumn{4}{c}{% \begin{tabular}{c@{\hspace{\xxx}}l} $\uparrow$ & \btt{uparrow}\\ $\downarrow$ & \btt{downarrow} \\ $\Uparrow$ & \btt{Uparrow}\\ $\Downarrow$ & \btt{Downarrow}\\ $\updownarrow$ & \btt{updownarrow}\\ $\Updownarrow$ & \btt{Updownarrow}\\ $\nearrow$ & \btt{nearrow}\\ $\searrow$ & \btt{searrow}\\ $\swarrow$ & \btt{swarrow}\\ $\nwarrow$ & \btt{nwarrow} \end{tabular}% } % end of multicolumn % \end{tabular} \end{table} \begin{table} \caption{Miscellaneous symbols; used in math mode.} \begin{tabular}% {c@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\flat$ & \verb+\flat+ & $\natural$ & \verb+\natural+ & $\sharp$ & \verb+\sharp+ & $\prime$ & \verb+\prime+ \\ $\backslash$ & \verb+\backslash+ & $\forall$ & \verb+\forall+ & $\infty$ & \verb+\infty+ & $\exists$ & \verb+\exists+\\ $\emptyset$ & \verb+\emptyset+ & $\Box$ & \verb+\Box+ & $\nabla$ & \verb+\nabla+ & $\neg$ & \verb+\neg+ \\ $\Diamond$ & \verb+\Diamond+ & $\surd$ & \verb+\surd+ & $\triangle$ & \verb+\triangle+& $\|$ & \verb+\|+ \\ $\clubsuit$ & \verb+\clubsuit+ & $\aleph$ & \verb+\aleph+ & $\wp$ & \verb+\wp+ & $\top$ & \verb+\top+\\ $\diamondsuit$ & \verb+\diamondsuit+& $\Re$ & \verb+\Re+ & $\ell$ & \verb+\ell+ & $\bot$ & \verb+\bot+ \\ $\heartsuit$ & \verb+\heartsuit+ & $\Im$ & \verb+\Im+ & $\imath$ & \verb+\imath+ & $\partial$ & \verb+\partial+ \\ $\spadesuit$ & \verb+\spadesuit+ & $\hbar$ & \verb+\hbar+ & $\jmath$ & \verb+\jmath+ & $\angle$ & \verb+\angle+ \\ $\mho$ & \verb+\mho+ \end{tabular} \end{table} \begin{table} \caption{Log-like functions; used in math mode.} \begin{tabular}{llllllll} \verb+\arccos+ & \verb+\arcsin+ & \verb+\arctan+ & \verb+\arg+ & \verb+\cos+ \\ \verb+\cosh+ & \verb+\cot+ & \verb+\coth+ & \verb+\csc+ & \verb+\deg+ \\ \verb+\det+ & \verb+\dim+ & \verb+\exp+ & \verb+\gcd+ & \verb+\hom+ \\ \verb+\inf+ & \verb+\ker+ & \verb+\lg+ & \verb+\lim+ & \verb+\liminf+ \\ \verb+\limsup+ & \verb+\ln+ & \verb+\log+ & \verb+\max+ & \verb+\min+ \\ \verb+\Pr+ & \verb+\sec+ & \verb+\sin+ & \verb+\sinh+ & \verb+\sup+ \\ \verb+\tan+ & \verb+\tanh+ \end{tabular} \end{table} \begin{table} \caption{Delimiters; used in math mode.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $($ & \verb+(+ & $)$ & \verb+)+ & $/$ & \verb+/+ \\ $[$ & \verb+[+ & $]$ & \verb+]+ & $\backslash$ & \verb+\backslash+ \\ $\{$ & \verb+\{+ & $\}$ & \verb+\}+ & $|$ & \verb+|+ \\ $\langle$ & \verb+\langle+ & $\rangle$ & \verb+\rangle+ & $\|$ & \verb+\|+ \\ $\uparrow$ & \verb+\uparrow+ & $\Uparrow$ & \verb+\Uparrow+& $\lfloor$ & \verb+\lfloor+ \\ $\downarrow$ & \verb+\downarrow+ & $\Downarrow$ & \verb+\Downarrow+ & $\rfloor$ & \verb+\rfloor+ \\ $\updownarrow$ & \verb+\updownarrow+ & $\Updownarrow$ & \verb+\Updownarrow+ & $\lceil$ & \verb+\lceil+ \\ & & & & $\rceil$ & \verb+\rceil+ \end{tabular} \end{table} \begin{table} \caption{Miscellaneous symbols; used in math mode.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\textstyle\sum$ $\displaystyle\sum$ & \verb+\sum+ & $\textstyle\prod$ $\displaystyle\prod$ & \verb+\prod+ & $\textstyle\coprod$ $\displaystyle\coprod$ & \verb+\coprod+ \\ $\textstyle\int$ $\displaystyle\int$ & \verb+\int+ & $\textstyle\oint$ $\displaystyle\oint$ & \verb+\oint+ & $\textstyle\biguplus$ $\displaystyle\biguplus$ & \verb+\biguplus+ \\ $\textstyle\bigcap$ $\displaystyle\bigcap$ & \verb+\bigcap+ & $\textstyle\bigcup$ $\displaystyle\bigcup$ & \verb+\bigcup+ & $\textstyle\bigsqcup$ $\displaystyle\bigsqcup$ & \verb+\bigsqcup+ \\ $\textstyle\bigodot$ $\displaystyle\bigodot$ & \verb+\bigodot+ & $\textstyle\bigotimes$ $\displaystyle\bigotimes$ & \verb+\bigotimes+ & $\textstyle\bigoplus$ $\displaystyle\bigoplus$ & \verb+\bigoplus+ \\ $\textstyle\bigvee$ $\displaystyle\bigvee$ & \verb+\bigvee+ & $\textstyle\bigwedge$ $\displaystyle\bigwedge$ & \verb+\bigwedge+ \end{tabular} \end{table} \subsubsection[Standard \protect\LaTeX{} typefaces]{Standard LaTeX typefaces} You can access a pair of special typefaces in \LaTeX. % only math mode? You can switch to script (calligraphic) letters by using the \verb+\cal+ command (note the $\cal L$): \begin{verbatim} {\cal L}_{\text{int}} = e F^{3}_{\pi} r^{2} B^{0}(r,t) \epsilon \sin(\Omega t) \exp(\eta t), \end{verbatim} gives \[ {\cal L}_{\text{int}} = eF^{3}_{\pi} r^{2} B^{0}(r,t)\epsilon\sin(\Omega t)\exp(\eta t), \] Only uppercase letters are available in the \verb+\cal+ font. \penalty-10000 % only math mode? You can switch to sans serif letters by using the \verb+\sf+ command (note the $\sf M$): \begin{verbatim} R({\cal Q}-{\cal Q}_{0}) =R_{0} \exp\left(-\case1/2\Delta {\cal Q} \cdot{\sf M}\cdot\Delta{\cal Q}\right). \label{eq:rdef} \end{verbatim} gives \[ R({\cal Q}-{\cal Q}_{0}) = R_{0} \exp\left(-\case1/2\Delta {\cal Q} \cdot {\sf M} \cdot \Delta {\cal Q}\right). \] Both uppercase and lowercase letters are available with \verb+\sf+. \subsubsection{Other notations} % math mode only? The \verb+\overline+ command puts a horizontal line above its argument in math mode: \begin{verbatim} $\overline{x}+\overline{y}$ \end{verbatim} gives \[ \overline{x}+\overline{y} \] There is an analogous \verb+\underline+ command that works in text or math mode: \begin{verbatim} The equation \underline{is} $\underline{x+y}$. \end{verbatim} gives \[ \hbox{The equation \underline{is} $\underline{x+y}$.} \] % math mode? Horizontal braces are put above or below an expression with the \verb+\overbrace+ and \verb+\underbrace+ commands: \begin{verbatim} $\underbrace{a_{1} + \overbrace{a_{2}+a_{3}} + a_{4}}$ \end{verbatim} gives \[ \underbrace{a_{1} + \overbrace{a_{2}+a_{3}} + a_{4}} \] and in displayed math, a subscript or a superscript puts a label on the brace: \begin{verbatim} $\underbrace{a_{1} + \overbrace{a_{2}+\cdots+a_{n-1}}^{n-2} + a_{n}}_{n}$ \end{verbatim} gives \[ \underbrace{a_{1} + \overbrace{a_{2}+\cdots+a_{n-1}}^{n-2} + a_{n}}_{n} \] Wide versions of the \verb+\hat+ and \verb+\tilde+ commands are available. They are called \verb+\widehat+ and \verb+\widetilde+, respectively. Here is an example: \begin{verbatim} $\widehat{a} + \widehat{ab} + \widehat{abc} + \widehat{abcd}$ \end{verbatim} gives \[ \widehat{a} + \widehat{ab} + \widehat{abc} + \widehat{abcd} \] \subsection{AMSFonts notations} \label{AMSFonts,notations} The AMSFonts are fonts that were developed by the American Mathematical Society and are now made available free of charge by the AMS. The METAFONT source files for these fonts are freely available, as are precompiled .pk files. There are two style options that can be used to access the AMSFonts: \verb+amsfonts+ and \verb+amssymb+. These style options are explained in The appropriate society-specific documentation. Not distributed with \REVTeX{} are the files amsfonts.sty and amssymb.sty of the \AmSLaTeX{} distribution. These files are called in by \REVTeX{}, when the NFSS is in effect, to give you access to the AMSFonts; under the OFSS \REVTeX{} itself will do the work necessary to allow access. % \subsubsection{Getting the AMSFonts} % \label{sec:AMSFonts,getting} % % This information on getting the AMSFonts was put together from Internet % posts by Rafal Zbikowski and George D. Greenwade. They are responsible % for any correct information herein. % % The original distributing site for AMSFonts Version 2.1 (released % in August 1991) is % \begin{verbatim} % e-math.ams.com 130.44.1.100 /ams % \end{verbatim} % available via ftp. Version 2.1 is incompatible with earlier % versions, so upgrades are strongly recommended. % Users having Unix-compatible compress/uncompress and tar/untar % utilities (such exist for DOS and VMS) can get the following % (binary) files: % \begin{verbatim} % 637421 Oct 28 1991 amsfonts-sources.tar.Z % 4915200 Sep 27 1991 amsfonts300.tar % 78823 Jul 2 1991 tfm-files.tar.Z % 2447360 Sep 27 1991 amsfonts118.tar % 3235840 Sep 27 1991 amsfonts180.tar % 3788800 Sep 27 1991 amsfonts240.tar % 4915200 Sep 27 1991 amsfonts300.tar % 6512640 Sep 30 1991 amsfonts400.tar % \end{verbatim} % from the \verb+/ams+ directory, which covers the whole distribution together % with documentation printable with plain \TeX. The files % \verb+amsfonts$$$.tar+ (where \verb+$$$+ is 118 or 180 or 240 or 300 or 400) % contain .pk files (packed generic font files for AMSFonts), % the number \verb+$$$+ indicating the required printer/previewer resolution % in dots per inch (dpi). % Note that \verb+amsfonts$$$.tar+ are {\em not\/} compressed using Unix's % compress facility. % % Users not having the Unix-compatible utilities will have to pull % the files from subdirectories % \begin{verbatim} % /ams/amsfonts % /ams/amsfonts/doc % /ams/amsfonts/pk-files % /ams/amsfonts/sources % /ams/amsfonts/sources/cyrillic % /ams/amsfonts/sources/euler % /ams/amsfonts/sources/extracm % /ams/amsfonts/sources/symbols % /ams/tfm-files % \end{verbatim} % Subdirectory \verb+/ams/amsfonts/pk-files+ contains .pk files (compressed % generic font files for AMSFonts) organized in directories % according to the required printer/previewer resolution, i.e. % \begin{verbatim} % /ams/amsfonts/pk-files/118dpi % /ams/amsfonts/pk-files/180dpi % /ams/amsfonts/pk-files/240dpi % /ams/amsfonts/pk-files/300dpi % /ams/amsfonts/pk-files/400dpi % \end{verbatim} % where dpi is dots per inch. % % The files of the AMS distribution are rather big, even in the compressed % form (as seen from the above listings). It is recommended to pull % only the relevant files (especially the .pk ones). For example, % files necessary for a 300dpi installation (\verb+amsfonts-sources.tar.Z+, % \verb+amsfonts300.tar+, tfm-files.tar.Z) occupy around eight megabytes in % uncompressed form (untarred \verb+amsfonts300.tar+ occupies 4533 % kilobytes). % % Note that \verb+amsfonts$$$.tar+ are {\em not\/} compressed using the Unix % compress facility. % % % The \AmSLaTeX files \verb+amsfonts.sty+ and \verb+amssymb.sty+, % can also be obtained via anonymous ftp, from % the directory \verb+/ams/amslatex/inputs+. % % The AMSFonts can be obtained by retrieving the font packages from % Sam Houston State University. Send a mail message ({\em not interactive\/}) % with the lines % \begin{verbatim} % SENDME AMSFONTS % SENDME AMSFONTS_DOC % SENDME AMSFONTS_EULER % SENDME AMSFONTS_EXTRACM % SENDME AMSFONTS_SYMBOLS % SENDME AMSFONTS_SOURCES % \end{verbatim} % to \verb+fileserv@shsu.edu+ (Internet) or \verb+fileserv@shsu+ (Bitnet). % The server there will queue your request and send you the needed files % automatically. Be forewarned that you can only retrieve the METAFONT sources % from the server, and these packages can be large. You will also need % to have a functioning copy of METAFONT and know how to use it. Here % is a list of the packages, the number of files in each, and the approximate % size of the package. % \begin{quasitable} % \begin{tabular}{lll} % Package & No.\ files & Size \\ % \hline % AMSFONTS & 5 & 37.5 kB \\ % AMSFONTS\_DOC & 4 & 87 kB \\ % AMSFONTS\_EULER & 68 & 1.2 MB \\ % AMSFONTS\_EXTRACM & 15 & 95.5 kB \\ % AMSFONTS\_SYMBOLS & 19 & 285 kB \\ % AMSFONTS\_SOURCES & 3 & 17.5 kB % \end{tabular} % \end{quasitable} % You may wish to split up your requests to simplify things, sending only % a single request at a time. % % % You can also obtain \verb+amsfonts.sty+ and \verb+amssymb.sty+ by % sending a mail message containing the lines % \begin{verbatim} % SENDME AMSLaTeX_INPUTS.AMSFONTS_STY % SENDME AMSLaTeX_INPUTS.AMSSYMB_STY % \end{verbatim} % to \verb+fileserv@shsu.edu+ (Internet) or \verb+fileserv@shsu+ (Bitnet). % % \subsubsection{Using the {\protect\tt amsfonts} option} \label{sec:AMSFonts,amsfonts} The \verb+amsfonts+ style option will give you access to the \verb+\frak+ and \verb+\Bbb+ fonts and will also use the extra Computer Modern fonts from the AMS in order to provide better access to bold math characters at smaller sizes and in super- and subscripts. {\em AMSFonts typefaces.} With the AMSFonts installed and in use through either the \verb+amsfonts+ or \verb+amssymb+ style option, the \verb+\frak+ and \verb+\Bbb+ commands are available. \verb+\frak+ switches to the AMS Fraktur font, while \verb+\Bbb+ switches to the so-called ``Blackboard Bold'' font. Only uppercase letters are available in Blackboard Bold, and there is no bold version of the font. Fraktur has both uppercase and lowercase letters and will become bold in a bbox. \makeatletter \def\foobar{\let\foo\iftrue}\let\foo\iffalse \if@amssymbols\foobar\else\if@amsfonts\foobar\fi\fi \foo \makeatother Here are the letters ``ABCDE'' from \verb+\frak+: $\frak ABCDE$. And here are the letters ``RIZN'' from \verb+\Bbb+: $\Bbb RIZN$. Here is some math with superscripts and \verb+\frak+. It demonstrates the output of \verb+\bbox{#1}+. \[\text{Normal: } {\frak E}=mc^{2\pi}, \text{\ \ bbox: } \bbox{{\frak E}=mc^{2\pi}} \] \else \makeatother \bigskip \begin{center} \bf You do not have the amsfonts or amssymb option selected, therefore the characters in the AMSFonts will not be printed using \verb+\frak+ and \verb+\Bbb+. \end{center} \fi \subsubsection{Using the {\protect\tt amssymb} option} \label{sec:AMSFonts,symb} The \verb+amssymb+ style option gives all the font capabilities of the \verb+amsfonts+ option. It also defines names for many extra symbols that are present in the AMSFonts. The names are the same as those the AMS uses. These symbols and their names are shown below, if you have the AMSFonts installed and the \verb+amssymb+ option selected. \makeatletter \if@amssymbols \makeatother % some of these characters are very high \renewcommand{\arraystretch}{1.2} Please be aware that no bold versions are available for any of the characters in this subsection. % Lowercase Greek \begin{table} \caption{Extra lowercase Greek letters available with amssymb option selected.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\digamma$ & \verb+\digamma+ & $\varkappa$ & \verb+\varkappa+ \end{tabular} \end{table} % Hebrew letters \begin{table} \caption{Extra Hebrew letters available with amssymb option selected.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\beth$ & \verb+\beth+ & $\gimel$ & \verb+\gimel+ \\ $\daleth$ & \verb+\daleth+ \end{tabular} \end{table} % Bin Rel \begin{table} \caption{Binary relations available with amssymb option selected.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\leqq$ & \verb+\leqq+ & $\geqq$ & \verb+\geqq+ \\ $\leqslant$ & \verb+\leqslant+ & $\geqslant$ & \verb+\geqslant+ \\ $\eqslantless$ & \verb+\eqslantless+ & $\eqslantgtr$ & \verb+\eqslantgtr+ \\ $\lesssim$ & \verb+\lesssim+ & $\gtrsim$ & \verb+\gtrsim+ \\ $\lessapprox$ & \verb+\lessapprox+ & $\gtrapprox$ & \verb+\gtrapprox+ \\ $\approxeq$ & \verb+\approxeq+ \\ $\lessdot$ & \verb+\lessdot+ & $\gtrdot$ & \verb+\gtrdot+ \\ $\lll$ & \verb+\lll,\llless+ & $\ggg$ & \verb+\ggg,\gggtr+ \\ $\lessgtr$ & \verb+\lessgtr+ & $\gtrless$ & \verb+\gtrless+ \\ $\lesseqgtr$ & \verb+\lesseqgtr+ & $\gtreqless$ & \verb+\gtreqless+ \\[4pt] $\lesseqqgtr$ & \verb+\lesseqqgtr+ & $\gtreqqless$ & \verb+\gtreqqless+ \\ $\preccurlyeq$ & \verb+\preccurlyeq+ & $\succcurlyeq$ & \verb+\succcurlyeq+ \\ $\curlyeqprec$ & \verb+\curlyeqprec+ & $\curlyeqsucc$ & \verb+\curlyeqsucc+ \\ $\precsim$ & \verb+\precsim+ & $\succsim$ & \verb+\succsim+ \\ $\precapprox$ & \verb+\precapprox+ & $\succapprox$ & \verb+\succapprox+ \\ $\subseteqq$ & \verb+\subseteqq+ & $\supseteqq$ & \verb+\supseteqq+ \\ $\Subset$ & \verb+\Subset+ & $\Supset$ & \verb+\Supset+ \\ $\sqsubset$ & \verb+\sqsubset+ & $\sqsupset$ & \verb+\sqsupset+ \\ $\backsim$ & \verb+\backsim+ & $\thicksim$ & \verb+\thicksim+ \\ $\backsimeq$ & \verb+\backsimeq+ & $\thickapprox$ & \verb+\thickapprox+ \\ $\doteqdot$ & \verb+\doteqdot,\Doteq+ & $\eqcirc$ & \verb+\eqcirc+ \\ $\risingdotseq$ & \verb+\risingdotseq+ & $\circeq$ & \verb+\circeq+ \\ $\fallingdotseq$ & \verb+\fallingdotseq+ & $\triangleq$ & \verb+\triangleq+ \\ $\vartriangleleft$ & \verb+\vartriangleleft+ & $\vartriangleright$ & \verb+\vartriangleright+ \\ $\trianglelefteq$ & \verb+\trianglelefteq+ & $\trianglerighteq$ & \verb+\trianglerighteq+ \\ $\vDash$ & \verb+\vDash+ & $\Vdash$ & \verb+\Vdash+ \\ $\Vvdash$ & \verb+\Vvdash+ \\ $\smallsmile$ & \verb+\smallsmile+ & $\smallfrown$ & \verb+\smallfrown+ \\ $\shortmid$ & \verb+\shortmid+ & $\shortparallel$ & \verb+\shortparallel+ \\ $\bumpeq$ & \verb+\bumpeq+ & $\Bumpeq$ & \verb+\Bumpeq+ \\ $\between$ & \verb+\between+ & $\pitchfork$ & \verb+\pitchfork+ \end{tabular} \end{table} \begin{table} \caption{Miscellaneous symbols available with amssymb option selected.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\hbar $ & \verb+\hbar+ & $\hslash$ & \verb+\hslash+ \\ $\backprime $ & \verb+\backprime+ & $\varnothing$ & \verb+\varnothing+ \\ $\vartriangle$ & \verb+\vartriangle+ & $\blacktriangle$ & \verb+\blacktriangle+ \\ $\triangledown$ & \verb+\triangledown+ & $\blacktriangledown$ & \verb+\blacktriangledown+ \\ $\square$ & \verb+\square+ & $\blacksquare$ & \verb+\blacksquare+ \\ $\lozenge$ & \verb+\lozenge+ & $\blacklozenge$ & \verb+\blacklozenge+ \\ $\circledS$ & \verb+\circledS+ & $\bigstar$ & \verb+\bigstar+ \\ $\angle $ & \verb+\angle+ & $\sphericalangle$ & \verb+\sphericalangle+ \\ $\measuredangle$ & \verb+\measuredangle+ \\ $\nexists$ & \verb+\nexists+ & $\complement$ & \verb+\complement+ \\ $\mho$ & \verb+\mho+ & $\eth$ & \verb+\eth+ \\ $\Finv$ & \verb+\Finv+ & $\Game$ & \verb+\Game+ \\ $\diagup$ & \verb+\diagup+ & $\diagdown$ & \verb+\diagdown+ \\ $\Bbbk$ & \verb+\Bbbk+ \end{tabular} \label{tab:a} \end{table} % Bin Op \begin{table} \caption{Binary operators available with amssymb option selected.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\dotplus$ & \verb+\dotplus+ & $\ltimes$ & \verb+\ltimes+ \\ $\smallsetminus$ & \verb+\smallsetminus+ & $\rtimes$ & \verb+\rtimes+ \\ $\barwedge$ & \verb+\barwedge+ & $\curlywedge$ & \verb+\curlywedge+ \\ $\veebar$ & \verb+\veebar+ & $\curlyvee$ & \verb+\curlyvee+ \\ $\doublebarwedge$ & \verb+\doublebarwedge+ \\ $\Cap$ & \verb+\Cap,\doublecap+ & $\leftthreetimes$ & \verb+\leftthreetimes+ \\ $\Cup$ & \verb+\Cup,\doublecup+ & $\rightthreetimes$ & \verb+\rightthreetimes+ \\ $\boxtimes$ & \verb+\boxtimes+ & $\circledast$ & \verb+\circledast+ \\ $\boxminus$ & \verb+\boxminus+ & $\circleddash$ & \verb+\circleddash+ \\ $\boxplus$ & \verb+\boxplus+ & $\centerdot$ & \verb+\centerdot+ \\ $\boxdot$ & \verb+\boxdot+ & $\circledcirc$ & \verb+\circledcirc+ \\ $\divideontimes$ & \verb+\divideontimes+ & $\intercal$ & \verb+\intercal+ \end{tabular} \end{table} % other junk \begin{table} \caption{Other miscellaneous symbols available with amssymb option selected.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\varpropto$ & \verb+\varpropto+ & $\backepsilon$ & \verb+\backepsilon+ \\ $\blacktriangleleft$ & \verb+\blacktriangleleft+ & $\blacktriangleright$ & \verb+\blacktriangleright+ \\ $\therefore$ & \verb+\therefore+ & $\because$ & \verb+\because+ \end{tabular} \end{table} % negated relations \begin{table} \caption{Negated relations available with amssymb option selected.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\nsim$ & \verb+\nsim+ & $\ncong$ & \verb+\ncong+ \\ $\nless$ & \verb+\nless+ & $\ngtr$ & \verb+\ngtr+ \\ $\nleq$ & \verb+\nleq+ & $\ngeq$ & \verb+\ngeq+ \\ $\nleqslant$ & \verb+\nleqslant+ & $\ngeqslant$ & \verb+\ngeqslant+ \\ $\nleqq$ & \verb+\nleqq+ & $\ngeqq$ & \verb+\ngeqq+ \\ $\lneq$ & \verb+\lneq+ & $\gneq$ & \verb+\gneq+ \\ $\lneqq$ & \verb+\lneqq+ & $\gneqq$ & \verb+\gneqq+ \\ $\lvertneqq$ & \verb+\lvertneqq+ & $\gvertneqq$ & \verb+\gvertneqq+ \\ $\lnsim$ & \verb+\lnsim+ & $\gnsim$ & \verb+\gnsim+ \\ $\lnapprox$ & \verb+\lnapprox+ & $\gnapprox$ & \verb+\gnapprox+ \\ $\nprec$ & \verb+\nprec+ & $\nsucc$ & \verb+\nsucc+ \\ $\npreceq$ & \verb+\npreceq+ & $\nsucceq$ & \verb+\nsucceq+ \\ $\precneqq$ & \verb+\precneqq+ & $\succneqq$ & \verb+\succneqq+ \\ $\precnsim$ & \verb+\precnsim+ & $\succnsim$ & \verb+\succnsim+ \\ $\precnapprox$ & \verb+\precnapprox+ & $\succnapprox$ & \verb+\succnapprox+ \\ $\ntriangleleft$ & \verb+\ntriangleleft+ & $\ntriangleright$ & \verb+\ntriangleright+ \\ $\ntrianglelefteq$ & \verb+\ntrianglelefteq+ & $\ntrianglerighteq$ & \verb+\ntrianglerighteq+ \\ $\nshortmid$ & \verb+\nshortmid+ & $\nmid$ & \verb+\nmid+ \\ $\nshortparallel$ & \verb+\nshortparallel+ & $\nparallel$ & \verb+\nparallel+ \\ $\nvdash$ & \verb+\nvdash+ & $\nvDash$ & \verb+\nvDash+ \\ $\nVdash$ & \verb+\nVdash+ & $\nVDash$ & \verb+\nVDash+ \\ $\nsubseteq$ & \verb+\nsubseteq+ & $\nsupseteq$ & \verb+\nsupseteq+ \\ $\nsubseteqq$ & \verb+\nsubseteqq+ & $\nsupseteqq$ & \verb+\nsupseteqq+ \\ $\varsubsetneq$ & \verb+\varsubsetneq+ & $\varsupsetneq$ & \verb+\varsupsetneq+ \\ $\subsetneq$ & \verb+\subsetneq+ & $\supsetneq$ & \verb+\supsetneq+ \\ $\varsubsetneqq$ & \verb+\varsubsetneqq+ & $\varsupsetneqq$ & \verb+\varsupsetneqq+ \\ $\subsetneqq$ & \verb+\subsetneqq+ & $\supsetneqq$ & \verb+\supsetneqq+ \end{tabular} \end{table} \begin{table} \caption{Yet more miscellaneous symbols available with amssymb option selected.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\dashrightarrow$ & \verb+\dashrightarrow+ & $\dashleftarrow$ & \verb+\dashleftarrow+ \\ $\dasharrow$ & \verb+\dasharrow+ \\ $\ulcorner$ & \verb+\ulcorner+ & $\urcorner$ & \verb+\urcorner+ \\ $\llcorner$ & \verb+\llcorner+ & $\lrcorner$ & \verb+\lrcorner+ \\ $\yen$ & \verb+\yen+ & $\checkmark$ & \verb+\checkmark+ \\ $\circledR$ & \verb+\circledR+ & $\maltese$ & \verb+\maltese+ \end{tabular} \end{table} % Negated arrows \begin{table} \caption{Extra negated arrows available with amssymb option selected.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\nleftrightarrow$ & \verb+\nleftrightarrow+ & $\nLeftrightarrow$ & \verb+\nLeftrightarrow+\\ $\nleftarrow$ & \verb+\nleftarrow+ & $\nrightarrow$ & \verb+\nrightarrow+ \\ $\nLeftarrow$ & \verb+\nLeftarrow+ & $\nRightarrow$ & \verb+\nRightarrow+ \\ \end{tabular} \end{table} %% Arrows \begin{table} \caption{Extra arrows available with amssymb option selected.} \begin{tabular}{c@{\hspace{\xxx}}lc@{\hspace{\xxx}}l} $\leftrightarrows$ & \verb+\leftrightarrows+ & $\rightleftarrows$ & \verb+\rightleftarrows+ \\ $\leftleftarrows$ & \verb+\leftleftarrows+ & $\rightrightarrows$ & \verb+\rightrightarrows+ \\ $\leftrightharpoons$ & \verb+\leftrightharpoons+ & $\rightleftharpoons$ & \verb+\rightleftharpoons+ \\ $\Lleftarrow$ & \verb+\Lleftarrow+ & $\Rrightarrow$ & \verb+\Rrightarrow+ \\ $\twoheadleftarrow$ & \verb+\twoheadleftarrow+ & $\twoheadrightarrow$ & \verb+\twoheadrightarrow+ \\ $\leftarrowtail$ & \verb+\leftarrowtail+ & $\rightarrowtail$ & \verb+\rightarrowtail+ \\ $\looparrowleft$ & \verb+\looparrowleft+ & $\looparrowright$ & \verb+\looparrowright+ \\ $\Lsh$ & \verb+\Lsh+ & $\Rsh$ & \verb+\Rsh+ \\ $\upuparrows$ & \verb+\upuparrows+ & $\downdownarrows$ & \verb+\downdownarrows+ \\ $\upharpoonleft$ & \verb+\upharpoonleft+ & $\upharpoonright$ & \verb+\upharpoonright,+ \\ &&&\hskip1pc\verb+\restriction+ \\ $\downharpoonleft$ & \verb+\downharpoonleft+ & $\downharpoonright$ & \verb+\downharpoonright+ \\ $\curvearrowleft$ & \verb+\curvearrowleft+ & $\curvearrowright$ & \verb+\curvearrowright+ \\ $\circlearrowleft$ & \verb+\circlearrowleft+ & $\circlearrowright$ & \verb+\circlearrowright+ \\ $\multimap$ & \verb+\multimap+ & $\rightsquigarrow$ & \verb+\rightsquigarrow+ \\ $\leftrightsquigarrow$ & \verb+\leftrightsquigarrow+ \end{tabular} \end{table} % other stuff %\widehat %\widetilde %\eqsim \else \makeatother \bigskip \begin{center} \bf You do not have the amssymb option selected, therefore the characters in the AMSFonts will not be printed. \end{center} \fi \subsection{\REVTeX{} notations} \label{sec:revtexnotations} An openface one is available. It does not change size in superscripts. Here is an example: \verb+$\openone$+ gives $\openone$. \verb+\openone+ is a fragile command and must be immediately preceded by \verb+\protect+ when used in section headings and captions. Bold large bracketing is also available. The normal commands \verb+\Biggl+,\verb+\Bigl+,$\ldots$, when used with an extra ``b'' on the end of the command, come out bold: \begin{verbatim} \[ \Biggl(\biggl(\Bigl(\bigl( (x) \bigr)\Bigr)\biggr)\Biggr) \] \end{verbatim} gives \[ \Biggl(\biggl(\Bigl(\bigl( (x) \bigr)\Bigr)\biggr)\Biggr) \] while \begin{verbatim} \[ \Bigglb(\bigglb(\Biglb(\biglb( (x) \bigrb)\Bigrb)\biggrb)\Biggrb) \] \end{verbatim} gives \[ \Bigglb(\bigglb(\Biglb(\biglb( (x) \bigrb)\Bigrb)\biggrb)\Biggrb) \] {\makeatletter\if@amssymbols\penalty-10000\fi} The commands \verb+\lesssim+,\verb+\gtrsim+ give the output $\lesssim,\gtrsim$, even without the \verb+amssymb+ style option. (The commands \verb+\alt+,\verb+\agt+, respectively, may also be used.) These commands will be fragile if you are not using the \verb+amssymb+ option. Some extra diacritics have been provided. They scale correctly in superscripts. Some examples follow. \verb+$\tensor{x}$+ gives $\tensor{x}$. \verb+$\overstar{x}$+ gives $\overstar{x}$. \verb+$\overdots{x}$+ gives $\overdots{x}$. \verb+$\overcirc{x}$+ gives $\overcirc{x}$. \verb+$\loarrow{x}$+ gives $\loarrow{x}$. \verb+$\roarrow{x}$+ gives $\roarrow{x}$. These commands all work correctly in superscripts. \verb+\slantfrac{#1}{#2}+ produces a slanted fraction in math mode: $\slantfrac{1}{2}$. This command should not be used in files destined to be submitted to the APS (normal upright fractions will be produced). \verb+\corresponds+ produces the symbol $\corresponds$ math mode, \verb+\precsim+ produces $\precsim$ in math mode, and \verb+\succsim+ produces $\succsim$ in math mode. The AMSFonts will be used for these symbols if you have them, but are not necessary. \verb+\lambdabar+ produces ``lambda-bar'' in math mode: $\lambdabar$. \onecolumn \makeatletter \c@page1 \def\thepage{B-\@arabic\c@page} \makeatother \section{Command List} \label{sec:commands} In the following pages are brief descriptions of some necessary commands. Those commands that are unique to \REVTeX{} are so noted with (R). Please consult the \LUG{} if you have further questions regarding \LaTeX{} commands. If commands require arguments, they are so noted with \verb+#1+, \verb+#2+, etc. The commands are in order of their probable occurrence in a file. \bigskip\hrule\bigskip \begin{quasitable} \begin{tabular}{lp{4.5in}} \verb+\documentstyle[#1]{revtex}+ & Will allow for proper formatting of paper. Selecting a society style option (either \verb+osa+, \verb+aps+ or \verb+seg+) is mandatory. Use \verb+[manuscript,osa]+ for \verb+#1+ if manuscript style is desired for the OSA macros, and use \verb+[osa]+ for \verb+#1+ if galley style is desired for the OSA macros. Use \verb+[preprint,aps]+ for \verb+#1+ if preprint style is desired for the APS macros, and use \verb+[aps]+ for \verb+#1+ if galley style is desired for the APS macros. The preprint and manuscript styles are similar ideas. The author will also need to add a journal option. Consult the society-specific documentation for the relevant options. To number equations by section, use the \verb+eqsecnum+ option.\\[4pt] \verb+\tighten+ & Preprint style outputs a double-spaced manuscript. When used in preprint style, this command reverts to single spacing to save paper. Has no effect in galley style. Use before \verb+\begin{document}+. You can also use the \verb+tighten+ style option to get single-spaced preprint output for the whole paper. (R) \\[4pt] \verb+\begin{document}+ & Begins the body of the \REVTeX{} document. \\[4pt] \verb+\preprint{#1}+ & When used as the first command of a document, places \verb+#1+ at the top right corner of the first page in preprint style. Used for site-specific preprint numbers. (R) \\[4pt] \verb+\draft+ & Omission of this command will cause printing of PACS numbers to be stifled. (R) \\[4pt] \verb+\title{#1}+ & \verb+#1+ is the title of the paper. The title should be broken with the \verb+\\+ command. \\[4pt] \verb+\author{#1}+ & \verb+#1+ represents a list of authors. Use \verb+\\+ to force linebreaks. \\[4pt] \verb+\address{#1}+ & \verb+#1+ represents an author's address (institution). The address should be broken with \verb+\\+ if necessary. (R) \\[4pt] \verb+\date{#1}+ & \verb+#1+ represents the date of receipt at the Editorial Offices. This date will be inserted at the production site. \\[4pt] \verb+\maketitle+ & Prints the material contained in the \verb+\title{#1}+, \verb+\author{#1}+, \verb+\address{#1}+ and \verb+\date{#1}+ commands. \\[4pt] $\vcenter{\hbox{\verb+\begin{abstract},+} \hbox{\verb+\end{abstract},+}}$ & Signals the beginning or end of the abstract. \\[4pt] \verb+\pacs{#1}+ & \verb+#1+ represents valid PACS numbers. This command should be used after the abstract, even if \verb+#1+ is empty. Use the \verb+\draft+ command to have \verb+#1+ printed. (R) \\[4pt] \verb+\narrowtext+ & For galley style, will set all text that follows into a 3.4-in.\ column. Does not affect preprint output. (R) \\[4pt] \verb+\mediumtext+ & For galley style, will set figure captions and tables 5.5-in.\ wide. Does not affect preprint output. (R) \\[4pt] \verb+\widetext+ & For galley style, will set all text that follows into a 7-in.-wide column. Does not affect preprint output. (R) \\[4pt] \verb+\section{#1}+ & \verb+#1+ represents a primary heading. Fragile commands should be preceded by \verb+\protect+. \\[4pt] \verb+\subsection{#1}+ & \verb+#1+ represents a secondary heading. Fragile commands should be preceded by \verb+\protect+. \\[4pt] \verb+\subsubsection{#1}+ & \verb+#1+ represents a third-level heading. Fragile commands should be preceded by \verb+\protect+. \\[4pt] \verb+\paragraph{#1}+ & \verb+#1+ represents a fourth-level heading. Fragile commands should be preceded by \verb+\protect+. \\[4pt] \verb+\cite{#1}+ & Sets a reference or byline footnote citation. \verb+#1+ represents a list of reference tags used with \verb+\bibitem{#1}+. Lists of consecutive numbers will be collapsed; e.g., [1,2,3] will become [1--3]. The style of citation in output will depend on the society and/or journal option selected. Fragile. \\[4pt] \verb+\onlinecite{#1}+ & Sets a reference citation just like \verb+\cite{#1}+ does, except that it places the citation on-line in styles where the citations are usually superscripts. Fragile. (R) \\[4pt] \verb+\case{#1}{#2}+ & Sets textstyle (smaller) fractions in displayed equations. \verb+#1+ is the numerator, \verb+#2+ is denominator. An optional \verb+/+ may be added between \verb+{#1}+ and \verb+{#2}+. (R) \\[4pt] \verb+\openone+ & Produces an openface one ($\openone$). Fragile. (R) \\[4pt] \verb+\precsim,\succsim+ & Produce the signs $\precsim,\succsim$, respectively, in math mode. \\[4pt] \verb+\lesssim,\gtrsim+ & Produce ``approximately less than'' and ``approximately greater than'' signs \hbox{($\lesssim,\gtrsim$)}, respectively, in math mode. Fragile. \\[4pt] \verb+\tensor{#1}+ & Gives double-headed overarrow in math mode: \verb+$\tensor{x}$+ gives $\tensor{x}$. (R)\\ \verb+\loarrow{#1}+ & Gives left-going overarrow in math mode: \verb+$\loarrow{x}$+ gives $\loarrow{x}$. (R)\\ \verb+\roarrow{#1}+ & Gives right-going overarrow in math mode to match \verb+\loarrow{#1}+: \verb+$\roarrow{x}$+ gives $\roarrow{x}$. (R)\\ \verb+\overstar{#1}+ & Gives overstar in math mode: \verb+$\overstar{x}$+ gives $\overstar{x}$. (R)\\ \verb+\overcirc{#1}+ & Gives overcircle in math mode: \verb+$\overcirc{x}$+ gives $\overcirc{x}$. (R)\\[4pt] \verb+\biglb(+, etc.& Commands to produce large bold bracketing. (R)\\[4pt] \verb+\corresponds+ & Produces ``corresponds'' sign in math mode: $\corresponds$. \\[4pt] \verb+\slantfrac{#1}{#2}+ & Produces a slanted fraction in math mode: $\slantfrac{1}{2}$. Should not be used for APS files. (R) \\[4pt] \verb+\lambdabar+ & Produces ``lambda-bar'' in math mode: $\lambdabar$. (R) \\[4pt] \verb+\FL+ & Sets the displayed equation that follows flush left with the margin. Only works in galley style. (R) \\[4pt] \verb+\FR+ & Sets the displayed equation that follows flush right. Only works in galley style. (R) \\[4pt] \verb+\[,\]+ & Signals beginning or end of unnumbered displayed equation. \\[4pt] \verb+\begin{equation},\end{equation}+ & Signals beginning or end of single-line displayed equation. \\[4pt] \verb+\begin{eqnarray},\end{eqnarray}+ & Signals beginning or end of multiline displayed equation. \\[4pt] \verb+\nonumber+ & Suppresses the numbering of a single line in a eqnarray environment. \\[4pt] \verb+\eqnum{#1}+ & Uses \verb+#1+ as the number for an equation or for a single line of an eqnarray. The number can be cross-referenced with \verb+\ref{#1}+ if \verb+\label{#1}+ is used right after \verb+\eqnum{#1}+. Numbers set with \verb+\eqnum{#1}+ are completely independent of the automatic numbering. (R) \\[4pt] \verb+\begin{quasitable},\end{quasitable}+ & Environment to produce tables in text. See apssamp.tex for an example. (R) \\[4pt] \verb+\label{#1}+ & \verb+#1+ represents the tag. This command appears in displayed equations that need cross-referencing, all tables, and all figure captions. Also used following section headings that need cross-referencing. \\[4pt] \verb+\ref{#1}+ & \verb+#1+ represents the tag. This command appears in text wherever sections, equations, tables, or figures are cited. Fragile. \\[4pt] \verb+\acknowledgments+ & Sets a section heading for the acknowledgment section. \\[4pt] \verb+\appendix+ & After using this command, all \verb+\section{#1}+ commands will set \verb+#1+ as an appendix heading. \verb+\section*{#1}+ will set \verb+#1+ as an appendix heading without a letter (A, B, etc.) and should be used when there is only one appendix. \\[4pt] \verb+\begin{references},\end{references}+ & Signals beginning or end of reference section. The normal \LaTeX{} \verb+thebibliography+ environment can also be used. (R) \\[4pt] \verb+\bibitem[#1]{#2}+ & Sets a reference in the reference section. \verb+#1+ represents an optional, author-specified reference symbol. This is used for byline endnotes that are not numbered (e.g., those in {\em Physical Review\/}). \verb+#2+ represents the reference tag. \\[4pt] \verb+\begin{figure}+ & Begins the environment for the figure caption.\\[4pt] \verb+\caption{#1}+ & \verb+#1+ represents the text of the caption. Fragile commands must be preceded by \verb+\protect+. \\[4pt] \verb+\label{#2}+ & \verb+#2+ represents the figure caption tag.\\[4pt] \verb+\end{figure}+ & Ends the environment for the figure caption. \\[4pt] \verb+\begin{table}+ & Signals the beginning of a table. \\[4pt] \verb+\squeezetable+ & Used immediately after \verb+\begin{table}+, shrinks tables that would not otherwise fit. (R) \\[4pt] \verb+\caption{#1}+ & Sets the table caption. \verb+#1+ represents the text of the caption. Fragile commands must be preceded by \verb+\protect+. \\[4pt] \verb+\begin{tabular}{#1}+ & Signals the beginning of the tabular material. \verb+#1+ represents formatting commands for the columns. \\[4pt] \verb+\hline+ & Sets a horizontal rule, separating column headings from data. \verb+\tableline+ may also be used. \\[4pt] \verb+\end{tabular}+ & Signals end of tabular material. \\[4pt] \verb+\end{table}+ & Signals the end of a table. \\[4pt] \verb+\end{document}+ & Ends the body of the \REVTeX{} document. \\[4pt] \end{tabular} \end{quasitable} \smallskip\hrule \end{document} % end of file manend.tex ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/manintro.tex�����������������������������������������������������������������������0100644�0000764�0000764�00000034460�07267371705�016011� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% start of file manintro.tex % % This file is part of the files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, September 1996. % % Copyright (c) 1996 American Physical Society, Optical Society of America, % American Institute of Physics. % % See the REVTeX 3.1 README file for restrictions and more information. % % \documentstyle[aps]{revtex} \def\REVTeX{REV\TeX} \begin{document} \flushbottom % run page numbers by "chapter" \def\thepage{\roman{page}} \title{\vspace*{1.5in}THE \REVTeX{} INPUT GUIDE} \author{A joint effort of\\The American Physical Society\\The Optical Society of America\\The American Institute of Physics} \address{Ridge, Woodbury, Washington, DC\\ September 1996} \maketitle \makeatletter \global\@specialpagefalse \def\@oddhead{\REVTeX{} 3.1\hfill Released September 1996} \let\@evenhead\@oddhead % run page numbers by "chapter", with copyright for first page \def\@oddfoot{\reset@font\rm\hfill \thepage \hfill \ifnum\c@page=1 \llap{\protect\copyright{}~1996~~% $\vcenter{\baselineskip10pt \hbox{American Physical Society} \hbox{Optical Society of America} \hbox{American Institute of Physics} }$}% \fi } \let\@evenfoot\@oddfoot \makeatother \newpage \vspace*{.4in} \section*{Table of contents} { \leftskip1in\rightskip\leftskip \vspace{.4in} {\parindent0pt\parfillskip0pt\baselineskip2\baselineskip Preface\leaders\hbox to1em{\hfil.\hfil}\hfill iii Introduction \leaders\hbox to1em{\hfil.\hfil}\hfill iv--vi \REVTeX{} Information for APS Authors\leaders\hbox to1em{\hfil.\hfil}\hfill 1-1--1-19 \REVTeX{} Information for OSA Authors\leaders\hbox to1em{\hfil.\hfil}\hfill 2-1--2-37 \REVTeX{} Information for AIP Authors\leaders\hbox to1em{\hfil.\hfil}\hfill 3-1--3-4 Appendix A: Character Set Listing\leaders\hbox to1em{\hfil.\hfil}\hfill A1--A4 Appendix B: Command List\leaders\hbox to1em{\hfil.\hfil}\hfill B1--B3 \vspace{.4in} } This input guide is for \REVTeX{} 3.1. The README file for \REVTeX{} 3.1 should be consulted before the \REVTeX{} macros are used. Important copyright information is contained in the README file. \vspace{\baselineskip} This table of contents is for the {\em \REVTeX{} Input Guide\/} as a whole. Individual society chapters of the guide may include their own tables of contents. The sections of the guide are produced by the following files: Preface and Introduction: manintro.tex. \REVTeX{} Information for APS Authors: manaps.tex. \REVTeX{} Information for OSA Authors: manosa.tex. \REVTeX{} Information for AIP Authors: manaip.tex. Appendixes A and B: manend.tex. \vfill \begin{center} \leftskip0pt plus1fill \rightskip\leftskip \TeX{} is a trademark of the American Mathematical Society.\par \end{center} } \newpage {\leftskip1in\rightskip\leftskip \section*{PREFACE} 1986: In response to author requests and market research, the American Physical Society (APS) launched a new compuscript development effort. The focus was on the \TeX\ typesetting program, and the goal was to expand the capabilities of the Society's electronic submission program to include \TeX-prepared compuscripts, using those submissions to produce final pages for Physical Review. Evaluating the available \TeX-based tools, including LaTeX, APS recognized that the \TeX\ physics community did not have all the necessary tools to create a physics manuscript. At that point the APS staff designed the macro package and style guide called \REVTeX{} to help meet these requirements and standardize compuscript submission files. The idea for a \REVTeX{} macro set was born under the following premises. 1. Ease of reformatting. Files were to be reformatted from preprints to final pages. This reformatting would have to be easily accomplished with minimal modification to the file. 2. Ease of use. If possible, build on the knowledge and documentation already available in the community. Also, the package must provide for any and all acceptable styling situations. In this way authors would be encouraged to follow the rules in manuscript preparation. 3. Built-in allowance for growth. The macro set must easily allow for more journal formats. 4. Electronic submissions. The macro set must contain preprint styles to facilitate original manuscript submissions to editorial offices. 5. Author compliance. Develop procedures to encourage author compliance, thereby minimizing handling of compuscripts, resulting in decreased proofreading for both the author and staff. ``\REVTeX{},'' so named for the {\em Physical Review} journals, was released in 1988. Version 2 responded to author feedback and also addressed certain in-house production concerns. Version 2 was released in March 1990. The Optical Society of America (OSA), the American Astronomical Society (AAS), and the American Institute of Physics (AIP) expressed interest in this project and were kept informed of progress. The APS has enjoyed continued success with their compuscript program, and as of July 1996 were receiving 50\% of their published pages as compuscripts. \subsection*{The Joint Society Task Force} In 1990 the American Institute of Physics and a number of its member Societies organized a Joint Society Task Force (JSTF) on Electronic Publishing for the purpose of long-range strategic planning on electronic communication and publishing. The Executive Directors and Publishing Directors meet regularly to discuss common directions and goals. One of these goals involves the establishment of a standard tool for compuscript submission. As a result, a \REVTeX{} Working Group was established to explore the issues surrounding the use of \REVTeX{} as this standard. Under the leadership of Janice Fleming, Chairperson (OSA), and with representatives from each organization, the group worked to resolve issues and to ensure that \REVTeX{} version 3.0 would meet the needs of the participating organizations. \newpage } \twocolumn[ \section*{THE \REVTeX{} INPUT GUIDE: INTRODUCTION}\vspace*{4pt}] \section{What Is \REVTeX{}?} \REVTeX{} is an electronic publishing product of the American Physical Society. It is a set of \LaTeX-based tags that can be used to prepare a physics manuscript for submission. If \REVTeX{} tags are used consistently throughout a manuscript and published guidelines are followed exactly, it is hoped that the \TeX\ manuscript file (called a {\it compuscript}) can be used by APS, OSA, AIP, and other participating member societies in production of author proofs. \REVTeX{} is physically several {\it style files}. \LaTeX\ accesses these style files in order to recognize allowable tags and to get information about how these tags should be interpreted for a specific document. These \REVTeX{} style files have been developed by the aforementioned groups to meet individual society needs as well as the needs of the users. \section{What do you need in order to use \REVTeX{}?} You need \TeX\ and \LaTeX\ to use \REVTeX{}. \REVTeX's software and hardware requirements are especially significant. It is the \TeX\ program and the \LaTeX\ macros that really define \REVTeX's needs. \subsection{Software requirements for all computers} \begin{enumerate} \item The \REVTeX{} style files. \item \TeX\ program (comes with Computer Modern fonts; must have \TeX\ version that is compatible with your version of operating system). \item \LaTeX\ macros. \item A text editor or word processor (you'll be happier with one that is quick and easy to get in/out of and saves files as ASCII text as a default). \item A printer {\it driver} (software needed to print). \item Documentation for \REVTeX{} and \LaTeX. \end{enumerate} \subsection{Hardware requirements} \TeX\ can be run on a variety of computers and operating systems. Users must obtain the proper version of \TeX\ for their computer and operating system; in other words, it is not possible to take a colleague's \TeX\ program that runs on a PC and have that run on a VAX. \subsubsection{For the personal computer} The most widely used computer for manuscript preparation in the physics community is the personal computer. Implementations of \TeX\ vary in their requirements. Below is a representative hardware configuration for a PC. \begin{itemize} \item A hard disk (will need 10--20 megabytes space). \item Any Windows supported monitor. \item A 386 or compatible with a minimum of 4 meg of RAM running Microsoft Windows 3.1, 95 or NT. \item A printer (lasers give the best output, but even some dot matrix printers are fine). \end{itemize} Your \TeX\ vendor or \TeX\ provider will provide documentation that specifies exact hardware requirements. \subsubsection{For other computers} Needs should be reviewed with \TeX\ site coordinators. These are people that the \TeX\ User's Group ``contracts'' with to distribute \TeX\ software and to keep software current. Coordinators are not available to help install software or debug. Call the \TeX\ User's Group for a referral to the proper coordinator. \section{How do you get what you need?} For current users of \TeX , \REVTeX{} can be obtained by contacting representatives listed in the society-specific chapters that follow this Introduction. If you are not yet a \TeX\ user, the other software listed above must be obtained from different sources, depending on the hardware that will be used. As noted above, the \TeX\ User's Group has established Site Coordinators who distribute \TeX\ for the various computers. Software obtained in this manner will be very inexpensive, but will require some computer aptitude to install. TUG can also advise on commercial sources for the software. These companies or consultants charge a fee for assisting with installation and/or providing technical assistance. \section{How does \REVTeX{} benefit authors?} \begin{itemize} \item \REVTeX{} provides all the elements needed for preparation of a physics manuscript. Users will not need to develop special tags (macros) to meet their needs. \item \REVTeX{} formats are designed to be acceptable for manuscript submission. Users will not need to be concerned about proper format for editorial offices (double spacing, margin requirements, etc.). \item \REVTeX{} macros accommodate many presubmission distribution needs. For example, users can assign preprint numbers to manuscripts and can easily change to single-spaced copy to save paper before submission to editorial offices. \item \REVTeX{} macros are recognized by numerous physics organizations as a \TeX\ standard for manuscript preparation. \item \REVTeX{} compuscript files can be used by a variety of publishers to create author proofs. Depending on the composition method used and the consistency of tagging, this can result in less proofreading for the author, accelerated production schedules, and/or reduced cost-per-page. \end{itemize} \section{How to get started?} \begin{itemize} \item Get \TeX\ and \LaTeX\ operational. Become familiar with creating simple \TeX\ and \LaTeX\ documents with your screen editor or word processor. Learn how to print \TeX\ documents and/or how to view them on the screen. \item Get the compuscript toolbox. This contains the following: General files: README, revtex.sty, manintro.tex (this file), and manend.tex. Society specific files: Listed in society-specific chapters of this document. \item {\it Read\/} the README file thoroughly! \item Follow installation instructions in README file. \item Read this document thoroughly. Scan the appendixes; they are provided for reference purposes, but if you look at them now you'll know where to find the information later. \penalty-10000 \item Read thoroughly the society-specific chapter of this document that is of the most interest to you, but try to at least scan {\it all\/} the society-specific chapters. \item Now focus on one society-specific chapter. Copy the template file for that society into a junk file for some experimenting. \item Edit the junk file to create an experimental manuscript. Maybe try to prepare one of the sample documents that have been provided; this way, if you get ``stuck,'' you can consult the documentation for help. \item Try to create a new document. If you are a new \TeX\ user, you may want to try to recreate an old document rather than a current one. \item When you have a document that is ready for submission to the editorial office of interest, review the policies for submission in the society-specific chapter. Individual editorial offices have differing requirements for when you should provide the \REVTeX{} file. For example, most editorial offices currently require that hard copy (paper copy) be provided for original submission, but APS offices encourage original manuscript submissions to be electronic. See the Reminder below. \item Reminder: The society-specific chapters are provided because each organization has different policies and processing procedures for compuscripts. Please make sure that you review the appropriate chapter even if and when you are an expert \REVTeX{} user! \end{itemize} \section{Can you create your own macros?} The use of author-created macros is strongly discouraged. The \REVTeX{} macro set is intended to represent completely the tagging needs for a physics manuscript. Non-standard tags will probably disqualify a manuscript file from a compuscript program because most journal compositors cannot translate them cost-efficiently. This point frequently requires further clarification: usually it is not technically impossible to use or to translate author-created macros. However, \begin{quote} {\bf the time and effort required to massage compuscript files that do not follow standard formatting guidelines will eliminate any cost savings and/or time savings in production, and will eliminate any proofreading time savings for the author.} \end{quote} Therefore, authors who use custom macros to save keystrokes in preparing their manuscript should remove them before generating the manuscript output for submission. Most screen editors and word processors have tools that will facilitate this. \section{What else can I read?} The following are the standard references, by the authors of \LaTeX{} and \TeX{}, respectively. \begin{references} \bibitem{latexbook}Leslie Lamport, {\it \LaTeX: A Document Preparation System} (Addison-Wesley, Reading, MA, 1986). \bibitem{texbook}Donald Knuth, {\it The \TeX book} (Addison-Wesley, Reading, MA, 1984). \end{references} \end{document} % end of file manintro.tex ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/manosa.tex�������������������������������������������������������������������������0100644�0000764�0000764�00000213622�07267371705�015437� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%%%%%%%%%%%%%%%%% file manosa.tex %%%%%%%%%%%%%%%%%%%% % % % Copyright (c) 1992, Optical Society of America. % % % %%%%%%%%%%%%%%%%%% November 10, 1992 %%%%%%%%%%%%%%%%%% % % From version 3.0 of the REVTeX macro package. % % This file is part of a compuscript toolbox distributed by % the APS, OSA, and AIP in conjunction with % the TeX author-prepared program. % % All rights not specifically granted are reserved. % For more information, see the README file. % %Filename: manosa.tex \documentstyle[manuscript,osa]{revtex} \def\btt#1{{\tt$\backslash$#1}} \def\thesection {\Roman{section} } %%OSA CHANGE: WAS arabic % \makeatletter % run page numbers by "chapter" %File manosa.tex \hskip4in \def\thepage{2 -- \@arabic\c@page} % these page numbers need a bit more width \def\@pnumwidth{4em} %\makeatother %\pagestyle{myheadings} %\markright{REV\TeX\ 3.0. \hskip2em Release date: November 10, 1992} %% \newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} \newcommand{\manual}{rm} % Replace the manual font with rm (Roman) \newcommand\bs{\char '134 } % add backslash char to \tt font % \begin{document} %\title{OSA Input Guide for REV\TeX\ based %Author-Prepared Compuscripts} \title{REV\TeX\ Information for OSA Authors} \maketitle %% ESSENTIAL IF TITLE, AUTHOR, OR DATE ARE TO APPEAR \makeatletter \global\@specialpagefalse \def\@oddhead{REV\TeX\ 3.0\hfill Released November 10, 1992} \let\@evenhead\@oddhead \def\@oddfoot{\reset@font\rm\hfill \thepage \hfill\llap{ \protect\copyright{} 1992, Optical Society of America}} \let\@evenfoot\@oddfoot \makeatother % % % \begin{center} Instructions to authors for preparing compuscripts to be submitted to OSA journals in the REV\TeX\ 3.0 format. \hskip.2in Release date: November 10, 1992. \\ \copyright\ 1992, Optical Society of America. \end{center} \tableofcontents \makeatletter \def\@oddfoot{\reset@font\rm\hfill \thepage\hfill} \let\@evenfoot\@oddfoot \makeatother \newpage \baselineskip = .5\baselineskip % single space the first half \section{ ELECTRONIC MANUSCRIPT FILE SUBMISSION} \begin{center} Quick-Reference Check List for Submission: \\ \end{center} \begin{tabular}{|cl|} \hline $\,\,\,\,\,\,\,$Submission by & IBM-compatible formatted diskette should include: \\ \hline 1. & Cover letter with journal and manuscript identification, hardware$\,\,\,\,\,\,\,$ \\ & identification, and corresponding author information restated \\ 2. & Diskette with filename(s), manuscript number, and \\ & first author's name written on label \\ 3. & REV\TeX\ 3.0 file(s) on the diskette that match the final, \\ & accepted manuscript \\ 4. & Paper copy of the final, accepted manuscript, with camera \\ & ready figures. \\ \hline \end{tabular} \vskip.5in The Optical Society of America is pleased to invite electronic files in REV\TeX\ 3.0 from authors of journal manuscripts. At this time, the REV\TeX\ format can be converted by OSA's commercial typesetters, and it is hoped that most files submitted in this fashion will be usable. \\ %\\ Electronic manuscript files should be submitted at the conclusion of the peer review process. The key is that, on acceptance, the author's electronic file must be in the hands of the OSA Manuscript Office staff. The electronic version must be that of the authors's final, accepted manuscript. If it is not, the file will simply not be used. \\ %\\ A cover letter containing the following information should accompany any electronic file submission: \begin{itemize} \begin{enumerate} \item Article identification -- include journal name, manuscript number, title of paper, and the fact that this is a REV\TeX\ 3.0 electronic file submission \item Computer information -- give the name of computer used and the density of the diskette \item Corresponding author information -- telephone and facsimile numbers, plus an e-mail address if available, should be restated in the cover letter \end{enumerate} \end{itemize} Failure to include the necessary information may preclude the use of an author's file. Also, if questions arise and the author cannot be reached for an answer in a timely fashion, then the file may not be used (OSA will not delay publication of an author's work in this way). \\ %\\ The address for submission is given below for the following four OSA journals: \begin{quote} {\it Journal of the Optical Society of America A \\ Journal of the Optical Society of America B \\ Applied Optics. \\ Optics Letters \\ } \end{quote} Conventional mail delivery of the author's file on diskette to the address below is the current mode of receipt. In the future, electronic mail options are expected to be available as well. \begin{quote} Optical Society of America \\ Manuscript Office \\ 2010 Massachusetts Ave., N.W. \\ Washington, D.C. 20036-1023 \\ \end{quote} \begin{tabbing} Telephones: \= (202) 416-1916 - Manuscript Office\\ \> (202) 416-1903 - Technical Assistance \\ Facsimile : \> (202) 416-6120 \\ E-mail: \> (Internet) osamss@pinet.aip.org -- Manuscript Office\\ \> fharris@pinet.aip.org -- Technical Assistance %optmss@pinet.aip.org \end{tabbing} A paper copy of the manuscript is still required with submissions on diskette. Copy editing will still take place on paper, and then the marked paper plus electronic file will be sent to one of OSA's typesetters. \\ %\\ The typesetter will examine the author's file to determine whether it will be easier and less costly to convert and utilize the full file or just parts of the file or to rekey the manuscript completely. The author's compliance with the stylistic directions of \LaTeX\ and REV\TeX\ along with the degree of copy editing will be the main factors affecting this decision. In all cases, the typesetter will identify the course of action taken by including a feedback form that the author will receive with the proof. \\ %\\ It may be interesting to know that the Society's typesetters do not use REV\TeX\ or \LaTeX\ for their actual typesetting. They currently use Xyvision or Arbortext, which are professional, specialty systems used by the typesetting industry. \section{ WHERE TO TURN FOR HELP} Authors are expected to know the basics of \TeX\ and \LaTeX\ before using REV\TeX. Also, authors should fully review the README file included in REV\TeX\ 3.0 before getting started. But if problems or questions specific to REV\TeX\ 3.0 arise, the following staff person from the Optical Society will advise the OSA author: \begin{quote} Frank E. Harris \\ Optical Society of America \\ 2010 Massachusetts Ave., N.W. \\ Washington, D.C. 20036-1023 \end{quote} \begin{tabbing} \hskip.5in \= Telephone: \= (202) 416-1903 \\ \> Facsimile: \> (202) 416-6120 \\ \> E-Mail: \> fharris@pinet.aip.org (Internet)--for REV\TeX\ help only \\ \> \> fharris@aip.org -- other inquiries. \\ { To FTP for files: \\ } \> \> ftp aip.org \\ \> \> anonymous \\ \> \> (Your Internet address) \\ \> \> cd revtex30 \\ \> \> mget * \end{tabbing} \vskip.25in Some inquiries may be forwarded to OSA members who have volunteered to assist in answering REV\TeX\ technical questions. Through this member-assisted network, it is OSA's intent to provide satisfactory answers to all REV\TeX-related questions that OSA authors ask. \\ %\\ If you are willing to participate in this member-assistance program for REV\TeX, please get in touch with Frank E. Harris, at the above e-mail address. \\ %\\ If you are new to \TeX\ and \LaTeX, some books that you might find useful are \begin{itemize} \item Paul W. Abrahams, {\TeX\ \it for the Impatient,} (Addison-Wesley Publishing Company, Reading, Massachusetts, 1990) \item Leslie Lamport, {\it \LaTeX\ - A Document Preparation System,} ( Addison-Wesley Publishing Company, Reading, Massachusetts, 1986) \end{itemize} \section{ GETTING STARTED: BASIC TEMPLATES AND OVERVIEW} This is a description of the components of REV\TeX\ 3.0 that are specific to OSA's journals. A brief map of what files are relevant and an overview of use are provided. The quick- reference guide below is intended for advanced users of REV\TeX\ 3.0, while more detailed how-to-use information is given in Section {\bf IV}. \begin{quote} {\bf NOTE: All users of REV\TeX\ 3.0 should fully review the README file before getting started. MS-DOS users can use the TYPE command.\\ Type: TYPE README: MORE [carriage return]. } \\ \end{quote} Users of REV\TeX\ 3.0 for OSA journals will want to use the following files: \begin{tabbing} \hskip.5in \= README\hskip.5in \= - \= Brief instructions on REV\TeX\ use\\ \> revtex.sty \> - \> Main style file for all physics societies \\ \> osa.sty \> - \> Society-specific style file for OSA journals \\ \> osa10.sty \> - \> Fonts and format style file for OSA journals \\ \> osa12.sty \> - \> Fonts and format style file for OSA manuscripts \\ \> osabib.sty \> - \> Society file for bibliography style \\ \> template.tex \> - \> OSA template for creating a manuscript \\ \> manosa.tex\> - \> The OSA portion of the REV\TeX\ manual, part of which shows \\ \> \> \> output and corresponding REV\TeX\ input on facing pages \\ \> sample.tex\> - \> Short excerpts of the three manuscripts listed below, (about 20\% \\ \> \> \> of each original paper), with corresponding input\\ \> josaa.tex \> - \> Sample JOSA A paper (excerpts) \\ \> josab.tex \> - \> Sample JOSA B paper (excerpts) \\ \> aplop.tex \> - \> Sample Applied Optics paper (excerpts) \end{tabbing} \vskip.25in OSA authors will want to ``\LaTeX'' and print sample.tex, and also the more complete sample for the journal to which they are submitting, josaa.tex, josab.tex, or aplop.tex. Optics Letters authors should refer to josaa.tex or josab.tex for a style guide, and select the josaa option in the documentstyle command for their manuscripts. \\ %\\ A valuable tool for authors new to REV\TeX\ is the raw input files josaa.tex, josab.tex, and aplop.tex. These may be imported into a word processor and printed, so that input and REV\TeX\ output can be compared. \\ %\\ The OSA template (template.tex) is a document file set up and ready to use for manuscript input. It includes all the basic section tags and formatting commands (macros) that are relevant to an OSA manuscript. For a list of all available macros, please refer to Appendix B, and for a list of symbols, see Appendix A. It may also be helpful to scan the manuscript example provided in Section {\bf V} to find other macros that may be useful to a particular application. \\ %\\ The three style files (osa.sty, osa10.sty, and osa12.sty) will interpret the macros in terms of special layouts and fonts for OSA journals and thus will produce a properly formatted manuscript when printed. The file osabib.sty handles cross-referencing and bibliographic citations and makes sure that these are formatted according to OSA style. \subsection{ Quick-Reference Guide } The following quick-reference guide may be particularly useful for advanced REV\TeX\ users. \\ \begin{enumerate} \item See Appendix A for a list of symbols. \item See Appendix B for a list of all REV\TeX\ macros in addition to many useful \LaTeX\ macros. [Do not create and use new macros. Use only \LaTeX\ and REV\TeX\ macros so the file will be usable by OSA's typesetters.] \item Sections, subsections and subsubsections are supported. It is also possible to suppress section numbering by putting a star after each command, i.e., \btt{section*}\{your name\}. \begin{tabbing} \hskip.5in \= Main section heading:\hskip.5in \= \btt{section} \\ \> First subheading: \> \btt{subsection} \\ \> Second subheading: \> \btt{subsubsection} \end{tabbing} \vspace{-.15in} \item Delimiter for in-line math: \$ \item To display and automatically number an equation, start with \btt{begin\{equation\}} and finish with \btt{end\{equation\}}. \item To display and automatically number a group of equations, use \btt{begin\{eqnarray\}} and \btt{end\{eqnarray\}}. To get each equation to line up under the = or $\leq $ or similar sign, surround the = sign in each equation with \& signs. \item To number displayed equations manually, use \btt{eqnum\{thenumber\}}. This option would be used for equation ($7^{\prime} $), etc. \item To number equations using letters start with \btt{begin\{mathletters\}} and end with \btt{end\{mathletters\}}. \item Number by section: Put the \btt{eqsecnum} command before the first section. \item Citations for cross referencing equations and sections use the same commands. Bibliographic citations have separate commands.\\ \begin{tabbing} \hskip.5in\= Tag for citing equations in text:\hskip1.3in\=\btt{ref\{tag\}}\\ \> Tag for equations to be cited: \> \btt{label\{tag\}}\\ \> Tag for citing references in text: \> \btt{cite\{reftag\}} \\ \> Tag for citing references ``on the line'' in text: \> \btt{onlinecite\{reftag\}} \\ \> Tag for listing references: \> \btt{bibitem\{reftag\}} \end{tabbing} \item Journal name shortcuts: See Table 5 in section {\bf V}. \item Place figure captions at the end of your manuscript. Use the commands \btt{begin\{figure\}} and \btt{end\{figure\}} to start and end each figure. Use the command \btt{caption\{your caption here\}} to create and automatically number the caption. To label figure captions use \btt{label\{figureName\}}. Numbering is automatic. \item Please place your tables at the end of your manuscript submission. The typesetters will put them in the appropriate place within the journal. \\ \begin{tabbing} \hskip.5in \= Start the table environment with \hskip.2in \= \btt{begin\{tabular\}}, \\ \> and end with\> \btt{end\{tabular\}}. \\ \> Within the table environment, some standard options are: \\ \> Caption and number:\> \btt{caption\{caption here\}} \\ \> Begin tables:\> \btt{begin\{table\}\{column data\}} \\ \> End tables:\> \btt{end\{table\}} \\ \> Make a horizontal rule:\> \btt{tableline} \\ \> Column headings:\> \btt{multicolumn\{\}\{\}} \\ \> Footnotes:\> \btt{tablenote\{note here\}} \end{tabbing} \end{enumerate} \section{ DETAILED HOW-TO-USE INFORMATION} \begin{quote} NOTE: Do not create and use new macros. Use only \LaTeX\ and REV\TeX\ macros so the file will be usable to OSA's typesetters. \end{quote} \subsection{ Title, Authors, Affiliation, Abstract} The document template for OSA (template.tex) already contains the basic macros for the early parts of any manuscript: the title, author(s), affiliation(s), and abstract. \subsection{ Text} Paragraphs always begin with a blank input line. Unless a hyphen is required in a word and that hyphen falls at the end of a line as you type it, do not hyphenate a word at the end of a line; REV\TeX\ will do this. Continue to hyphenate modifiers within a line of text, e.g., ``electro-optical devices."\\ %\\ Use 2 single curly quotes for quotation marks around quoted text (``xxx''), not straight quotes ("xxx"). For opening quotes this is two octal 140 characters (hex 60, near the top left on most keyboards); for closing quotes, this is two octal 047 (hex 27) characters. \\ %\\ Don't use \btt{smallskip}, \btt{bigskip}, or any other vertical motion commands. Horizontal motion commands are unnecessary as well. \\ %\\ Authors should avoid the use of specially designed "define characters" and choose symbols from those shown in the \LaTeX\ User's Guide \& Reference Manual or in Appendix A of this REV\TeX\ Author's Guide. There is no guarantee that a specially designed definition will produce the desired results at the typesetter's production facility. If a special symbol is required and not listed in the \LaTeX\ User's Guide \& Reference Manual or in Appendix A of this REV\TeX\ Author's Guide, please request special consideration in the cover letter accompanying the file submittal. The copy editor will make note of it, and the typesetter will attempt to accommodate the author. {\it Use of unusual characters is subject to approval by the managing editor. } \subsection{ Section Headings } Three levels of headings are provided in REV\TeX: section, subsection, and subsubsection. Precede the section heading with the * command to suppress the automatic numbering; e.g., \\ %\\ \hskip.5in \btt{section*\{Introduction\}} \\ %\\ To label a section heading for cross referencing use the \btt{label} command after the heading; e.g., \\ %\\ \hskip.5in \btt{section\{Introduction\}} \btt{label\{sec:intro\}}\\ %\\ \subsection{ Math Within Paragraphs } REV\TeX\ uses the delimiter \$ for any in-line math, e.g., the quantity, $a^z$, is obtained from the input, \verb+ $a^z$. +\\ %\\ Another example of in-line math is\\ %\\ \begin{tabbing} \hskip.5in\= output:\= ... difference between $\langle J_z \rangle (t)$ and $\langle J-z \rangle_{\rm HF}(t) ...$ \\ \> \\ \> input:\> ... difference between \$\btt{langle} J\_z \btt{rangle} \\ \> \> (t)\$ and \$\btt{langle} J\_z \btt{rangle}\_\{\btt{rm} HF\}(t) ...\$\\ \end{tabbing} Standard mathematical style conventions are followed for in-line math, such as smaller point size for superscripts/subscripts, appropriate use of roman, italic, greek, and script fonts, and the use of special math symbols. See Appendix A for a list of available symbols. \\ %\\ \TeX\ will take care of setting the point size appropriate for variables and numbers in the superscript/subscript position. \\ %\\ \TeX\ makes latin letters within math italic by default. These are commonly used for variables. To get the roman font, commonly used for functions such as exp and erf, use the \btt{rm} command. \\ %\\ \begin{tabbing} \hskip.5in \= input:\hskip.5in \= \verb+ $... {\rm exp}(t^2 - t) ...$ + \\ \> \\ \> output: \> $... {\rm exp}(t^2 - t) ...$ \\ \end{tabbing} %\\ \TeX\ will assume that you want the superscript or subscript to consist of the first token (generally a single character or command) following the \verb+^{hat} or _{en dash}+ unless you use curly brackets to delimit the superscript/subscript. It is safest to use the curly brackets if unsure. The curly brackets here also serve to limit the scope of the \btt{rm} command. Again, don't use any vertical or horizontal motion commands in math. \subsection{ Displayed Equations } The most common (and preferred) type of displayed equation is a narrow, indented single-line equation, with an equation number on the same line. Try to set as many equations as you can in this way. Specifically, use a solidus instead of a built-up fraction whenever possible. \subsubsection{ Numbering displayed equations } REV\TeX\ 3.0 permits two methods for numbering equations. You can assign your own equation numbers or you can allow REV\TeX\ to number for you. Equation numbers are not mandatory, and numbered and unnumbered equations may be intermixed. \\ %\\ Use the command \btt{eqnum\{thenumber\}} to number on your own. You can also use this command to produce a specific equation number not normally obtainable, ($1^{\prime}$), for example. \\ %\\ For automatically numbered single-line and multiline equations, use the equation and eqnarray environments. You can use the \verb+\[,\]+ commands and the eqnarray* environment for unnumbered single-line and multiline equations, respectively. The command \btt{nonumber} will suppress the numbering on a single line of an eqnarray. \\ %\\ If you wish a series of equations to be a lettered sequence, e.g., (1a), (1b), and (1c), just include the equations or eqnarray within the mathletters environment. \\ %\\ Finally, to have REV\TeX\ number equations by section, use the eqsecnum style option. See the sample manuscript in Section {\it V} for illustrations of these equation numbering options. \subsubsection{ Cross referencing displayed equations } Authors will probably not cross reference every equation in text. When a numbered equation needs to be referred to in text by its number, the \btt{label\{tag\}} and \btt{ref\{tag\}} commands should be used. The \btt{label} command is used within the equation or the eqnarray line to be referenced. \\ %\\ \begin{quote} input: \\ \btt{begin\{equation\}} \\ \verb"{\partial^2 \psi \over \partial x^2} + {\partial^2 \psi \over \partial y^2} + {\partial^2 \psi \over \partial z^2} = - {\partial \psi \over \partial t}" \\ \btt{label\{schroedinger\}} \\ \btt{end\{equation\}} \\ ... It follows from Eq.\btt{} (\btt{ref\{schroedinger\}}) that this is the case... \\ \end{quote} \hskip.15in output: \begin{equation} {\partial^2 \psi \over \partial x^2} + {\partial^2 \psi \over \partial y^2} + {\partial^2 \psi \over \partial z^2} = - {\partial \psi \over \partial t} \label{schroedinger} \end{equation} \begin{quote} ... It follows from Eq.\ (\ref{schroedinger}) that this is the case... \end{quote} %\\ Please note the parentheses surrounding the command. They are necessary for proper output. You can also label individual lines in an eqnarray. Numbers produced with \btt{eqnum} can also be cross referenced; just follow the \btt{eqnum} command with a \btt{label} command. See section F. Footnotes and References for further information. \subsection{ Footnotes and References } \begin{tabular}{|cl|} \hline \hskip.5in Quick & Guide to References \\ \hline 1. & The \btt{bibitem} command begins a reference. \\ 2. & References must be listed in the reference section in the order \\ & in which they are first cited, in text, figures, or tables. \\ 3. & References will automatically be numbered by REV\TeX\ in the $\,\,\,\,\,\,\,\,$\\ & order in which they occur in the reference section, unless \\ & the author provides his/her own label. \\ \hline \end{tabular} \vskip.5in The list of references should appear after the main body of the paper. References must be numbered consecutively in the order of their first citation. Please refer to recent issues of the OSA journals for current style. The sample manuscript in Section {\bf V} also gives some examples of a variety of reference entries. \\ %\\ List the references in the reference section by using the \btt{bibitem} command, and cite them in the text by using the \btt{cite} or \btt{onlinecite} command. A present-address footnote should appear immediately above the reference section. If there are acknowledgments, the present-address footnote should be the last item in the acknowledgments section. \\ %\\ Here is a sample reference.\\ %\\ \begin{tabbing} \hskip.5in\= input: \hskip.5in \=\btt{bibitem\{homer91\}}G. Homer and B. T. Rogers, \\ \> \> \btt{ao} \{\btt{bf} 30,\} 5002-5004 (1991).\\ \> \\ \> output: \> 1. G. Homer and B. T. Rogers, \ao {\bf 30,} 5002- 5004 (1991). \\ \end{tabbing} %\\ {homer91} is a tag. It can be any string of letters and numbers that you will easily associate with the reference. This tag will be used in text to tell \TeX\ what reference you want to cite. See the example below.\\ %\\ \begin{tabbing} \hskip.5in\= input:\hskip.5in\= ... This has been noted previously \btt{cite\{homer91\}}.\\ \> \\ \> output: \> ... This has been noted previously$^1$. \\ \end{tabbing} %\\ The macro \btt{ao} in the above example expands to Appl. Opt., the standard abbreviation for Applied Optics. OSA has provided macros for the most common journal abbreviations used in OSA publications. The macros save typing and improve the consistent spelling of references. For a complete listing see Table 5 at the end of the sample document in \\ Section {\it V}. %\\ %\subsection{ Cross Referencing } REV\TeX\ has built-in features for autonumbering of section headings, equations, tables, and figures. Cross referencing depends on the use of tags that are defined by the user. Tags are strings of characters that identify the equations, tables, and figures for the purposes of the user and so that the user doesn't have to know what number REV\TeX\ has automatically assigned to the item. The \btt{label} command is used to identify tags for \TeX. \\ %\\ You will need to \LaTeX\ the original file more than once to ensure that the tags have been properly linked to appropriate numbers. If you add any tags, you will need to \LaTeX\ more than once in subsequent work sessions. \LaTeX\ will display an error message that ends with \begin{center} \ldots Rerun to get cross-reference right. \end{center} If you see that message, \LaTeX\ the file again. If the error message appears after two \LaTeX ings, please check your labels. You probably have referred to an item in text without tagging the item. \\ %\\ You may not need to know (or care to know) all about what \LaTeX\ is doing for autonumbering; however, you may want to know that when you \LaTeX\ the file for the first time, an auxiliary file with the .aux filename extension will be created that connects numbers with their tags. Subsequent \LaTeX ing accesses the auxiliary file to put the proper number in the text. % End of Cross Referencing subsection... \subsection{ Figure Captions} Figure captions are a part of the electronic manuscript and should appear after the references. They should be input sequentially in the order in which they are cited in the text; REV\TeX\ will label and number the captions Fig. 1, Fig. 2, etc. Please place the figure captions at the end of the manuscript. \\ %\\ The \btt{label} command is used to cross reference figures in the text. This command is inserted after the text of the figure caption and before the final curly bracket.\\ %\\ \begin{tabular}{ll} input: & \btt{figure}\{Text of first caption.\btt{label\{fig1\}\}} \\ & \btt{figure}\{This is the second caption: high-pressure Xe- \\ & lamp spectrum as seen at the output of the Mach-Zehnder \\ & interferometer\}.\btt{label\{fig2\}} \\ & \\ output: & Fig. 1. Text of first caption. \\ & \\ & Fig. 2. This is the second caption: high-pressure \\ & Xe-lamp spectrum as seen at the output of the Mach- \\ & Zehnder interferometer. \\ & \\ \end{tabular} \\ Figures are cited in text with the use of the \btt{ref} command. \\ %\\ \begin{tabular}{ll} input: & ... It can be seen from Fig. \btt{ref}\{fig1\} that the data\\ & are inconsistent with this conclusion... \\ & \\ output:& ... It can be seen from Fig. 1 that the data are \\ & inconsistent with this conclusion... \\ & \\ \end{tabular} \\ %\\ Figures and illustrations are submitted as originals or glossy prints. Follow the rules elaborated in the Information for Contributors sections that appear in most issues of OSA's journals. \subsection{ Tables } Tables are a part of the electronic manuscript and should appear at the end of the file. Every table must have a complete title and the correct number of descriptive column headings. Please set all tables within a \btt{begin\{tabular\}} and an \btt{end\{tabular\}} command. Each individual table must begin with \btt{begin\{table\}}, and end with \btt{end\{table\}}. \\ %\\ Tables are set to 15.25 cm wide in OSA's manuscript style of REV\TeX. Any usage of the \btt{narrowtext}, \btt{mediumtext}, and \btt{widetext} commands will simply be ignored, as these are not relevant to OSA's manuscript style. \\ %\\ See examples of tables in a current OSA journal issue for the placement of table lines. The table commands will set single horizontal lines appearing at the beginning and end of the table. A single horizontal rule should be set after the column headings with the use of the \btt{tableline} command. Extra sets of column headings within the table will require another \btt{tableline} to separate the headings from the column entries. Do not insert any other horizontal or vertical lines in the body of the table. \\ %\\ Since tables are automatically numbered, the \btt{label} command is used with the \btt{ref} command to cite tables in the text. The \btt{label} command should appear after the \btt{end\{tabular\}} and before the \btt{end\{table\}} command. \\ \hskip.15in \begin{center} Special Table Considerations \end{center} \begin{enumerate} \item Numerical columns should align on the decimal point. Use the d alignment designator. \\ \item Use \$ delimiters for all math in a table (no displayed equation commands). \\ \item Footnotes in a table will automatically be labeled a, b, c, etc. \\ \item Extra wide tables that will not fit into the 15.25-cm width provided can be compressed by using the \btt{squeezetable} command. \end{enumerate} \section{ INPUT AND OUTPUT FROM A SAMPLE MANUSCRIPT} The following pages illustrate a short annotated sample of an OSA manuscript created with REV\TeX. Both the input and output are presented for comparison purposes. We welcome your suggestions of sample formats or conventions that might be added to this manuscript example in the future to make it more useful to OSA's authors. Please send your ideas to \begin{quote} Frank E. Harris \\ Optical Society of America \\ 2010 Massachusetts Ave., N.W.\\ Washington, D.C. 20036-1023 \\ \end{quote} \begin{quote} Telephone: (202) 416-1903 \\ Facsimile: (202) 416-6102 \\ E-Mail: fharris@aip.org (Internet) \\ \end{quote} In addition to examining the following sample, many OSA authors will find valuable examples in the files sample.tex, josaa.tex, josab.tex, and aplop.tex. Optics Letters authors can refer to josaa.tex or josab.tex for a style guide, and select the josaa option in the documentstyle command for their manuscripts. \\ %\\ The OSA template (template.tex) is a document file set up and ready to use for manuscript input. It includes all the basic section tags and formatting commands (macros) that are relevant to an OSA manuscript. \\ %\\ ************************************************************************** The Optical Society of America thanks you for your participation in the {\it REVTEX} electronic manuscript activity. Your electronic submissions will help the Society improve its capabilities and competencies to serve the OSA technical community even better in the future. Thank you. \newpage \setcounter{eqletter}{0} \setcounter{equation}{0} \setcounter{figure}{0} % \end{document} % This is the file MANUAL2.TEX , MODIFIED TO TEST OSA MACROS % from version 3.0 of the REVTeX macro package. % *** !!!!!!!! 3.0 !!!!!!!! *** % This file is part of a compuscript toolbox distributed by % the American Physical Society in conjunction with % the \TeX\ author-prepared program. % % All rights not specifically granted are reserved. % % Copyright (c) 1992, Optical Society of America. % % For more information, see the README file. % %Filename: manual2.tex %\documentstyle[manuscript,osa]{revtex} %\def\btt#1{{\tt$\backslash$#1}} % % %\newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} %\newcommand{\manual}{rm} % Replace the manual font with rm (Roman) %\newcommand\bs{\char '134 } % add backslash char to \tt font % %\begin{document} %\title{Title of Manuscript} \vskip.5in \begin{center}{ \rm \Large \bf Title of Manuscript}\end{center} %\author{A. A. Author and B. B. Author} \vskip.5in \begin{center} A. A. Author and B. B. Author\end{center} %\address{Authors' institution and/or address} \begin{center}\it Authors' institution and/or address\end{center} %\author{C. C. Author} \vskip.5in \begin{center} C. C. Author\end{center} %\address{Second author institution and/or address} \begin{center} \it Second author institution and/or address\end{center} %\maketitle %% ESSENTIAL IF TITLE, AUTHOR, OR DATE ARE TO APPEAR \begin{abstract} In this version of the manual's sample document, each page of \TeX\ output will be followed by a page in \btt{verbatim} mode showing the input that produced the facing page. This provides examples of almost everything an OSA author needs to know to produce an article. The facing page format makes it especially convenient. \end{abstract} \section*{1. First-level heading:} \label{sec:level1} \baselineskip = 2\baselineskip Here is the first sentence in Section 1, demonstrating section cross-referencing. Note that this sample file was run without the eqsecnum option selected. OSA accepts equation numbers of the form (1), (2), etc. If you wish to use numbers of the form (1.1), (1.2), etc., use the eqsecnum option. The author will not know the received date when the compuscript is first submitted; production will insert this. Every article includes an abstract. The abstract is a concise summary of the work covered at length in the main body of the article. It is used for secondary publications and for information retrieval purposes. OSA will enter the received date. \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} % This is the file MANUAL2.TEX , MODIFIED TO TEST OSA MACROS % from version 3.0 of the REVTeX macro package. % *** !!!!!!!! 3.0 !!!!!!!! *** % This file is part of a compuscript toolbox distributed by % APS and OSA in conjunction with the TeX author-prepared program. % All rights not specifically granted are reserved. % Copyright (c) 1992 Optical Society of America. % % For more information, see the README file. % Filename: manual2.tex \documentstyle[manuscript,osa]{revtex} \def\btt#1{{\tt$\backslash$#1}} \newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} \newcommand{\manual}{rm} % Replace the manual font with rm (Roman) \newcommand\bs{\char '134 } % add backslash char to \tt font % \begin{document} \title{Title of Manuscript} \author{A. A. Author and B. B. Author} \address{Authors' institution and/or address} \author{C. C. Author} \address{Second author institution and/or address} \maketitle %% ESSENTIAL IF TITLE, AUTHOR, OR DATE ARE TO APPEAR \begin{abstract} In this version of the manual's sample document, each page of \TeX\ output will be followed by a page in \btt{verbatim} mode showing the input that produced the facing page. This provides examples of almost everything an OSA author needs to know to produce an article. The facing page format makes it especially convenient. \end{abstract} \section{First-level heading:} \label{sec:level1} Here is the first sentence in Section \ref{sec:level1}, demonstrating section cross-referencing. Note that this sample file was run without the eqsecnum option selected. OSA accepts equation numbers of the form (1), (2), etc. If you wish to use numbers of the form (1.1), (1.2), etc., use the eqsecnum option. The author will not know the received date when the compuscript is first submitted; production will insert this. Every article includes an abstract. The abstract is a concise summary of the work covered at length in the main body of the article. It is used for secondary publications and for information retrieval purposes. OSA will enter the received date. \end{verbatim} \newpage \baselineskip = 2\baselineskip % back to double space \subsection*{A. Second-level heading:} \label{sec:level2} Here is the first sentence in Section 1 A, demonstrating section cross-referencing. The commands \btt{section} and \btt{subsection} are used to start sections and subsections. You should follow the section command with the section title, enclosed in curly brackets. If you wish to cross-reference a section, follow the section command with a \btt{label\{ Your-section-name\}} command. A blank input line tells \TeX\ that a new paragraph begins. Reference citations in text use the command \btt{cite}. In the reference section of this paper each reference is ``tagged'' by a string (in curly brackets). The proper form for citing in text is \btt{cite}$\{${\it string}$\}$, and the result is shown here.\cite{smith82,jones78} We will cite other people \cite{smith82,jonessmith80} and journals here. We also cite other people again (Refs.\ \onlinecite{smith82} and \onlinecite{jonessmith80}). To get reference numbers that appear on the line, use the \btt{onlinecite} command. It is worth mentioning that REV\TeX\ ``collapses'' lists of reference numbers where possible. We now cite everyone together, \cite{smith82,jones78,jonessmith80} and once again (Refs.\ \onlinecite{smith82,jones78,jonessmith80}). \section*{2. Displayed equations} \subsection*{A. Another second-level heading} \subsubsection*{1. Third-level heading:} \label{sec:level3} Here is the first sentence in Section 2 A 1, demonstrating section cross-referencing. In \LaTeX\ there are many different ways to display equations, and a few preferred ways are noted below. Below we have indented, single-line equations with numbers; this is the most common type of equation in {\bf OSA} journals: \begin{equation} \chi_+(p)\alt{\bf [}2|{\bf p}|(|{\bf p}|+p_z){\bf ]}^{-1/2} \left( \begin{array}{c} |{\bf p}|+p_z\\ px+ip_y \end{array}\right)\;, \end{equation} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \subsection{Second-level heading:} \label{sec:level2} Here is the first sentence in Section \ref{sec:level2}, demonstrating section cross-referencing. The commands \btt{section} and \btt{subsection} are used to start sections and subsections. You should follow the section command with the section title, enclosed in curly brackets. If you wish to cross-reference a section, follow the section command with a \btt{label\{ Your-section-name\}} command. A blank input line tells \TeX\ that a new paragraph begins. Reference citations in text use the command \btt{cite}. In the reference section of this paper each reference is ``tagged'' by a string (in curly brackets). The proper form for citing in text is \btt{cite}$\{${\it string}$\}$, and the result is shown here \cite{smith82,jones78}. We will cite other people \cite{smith82,jonessmith80} and journals here. We also cite other people again (Refs.\ \onlinecite{smith82} and \onlinecite{jonessmith80}). To get reference numbers that appear on the line, use the \btt{onlinecite} command. It is worth mentioning that REV\TeX\ ``collapses'' lists of reference numbers where possible. We now cite everyone together, \cite{smith82,jones78,jonessmith80} and once again (Refs.\ \onlinecite{smith82,jones78,jonessmith80}). \section{Displayed equations} \subsection{Another second-level heading} \subsubsection{Third-level heading:} \label{sec:level3} Here is the first sentence in Section\ \ref{sec:level3}, demonstrating section cross-referencing. In \LaTeX\ there are many different ways to display equations, and a few preferred ways are noted below. Below we have indented, single-line equations with numbers; this is the most common type of equation in {\bf OSA} journals: \begin{equation} \chi_+(p)\alt{\bf [}2|{\bf p}|(|{\bf p}|+p_z){\bf ]}^{-1/2} \left(\begin{array}{c} |{\bf p}|+p_z\\ px+ip_y \end{array}\right)\;, \end{equation} \end{verbatim} \newpage \baselineskip = 2\baselineskip % back to double space \begin{equation} \left\{\openone234567890abc123\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\}\label{one}, \end{equation} Note the outline numeral one in Eq.\ (\ref{one}). If the equation is a little wider, the equation number automatically moves down to the next line: \begin{equation} \left\{abc1234567890abc1234\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2} abc1234567890abc1234\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\}. \end{equation} When the \btt{label} command is used [cf. input for Eq. (\ref{one})], the equation can be referred to in text without your knowing the equation number that \TeX\ will assign to it. Math will be flush left by default, in OSA submissions. It should allow longer equations to be displayed before line numbers are displayed below. \begin{equation} \left\{ab12345678abc123456abcdef\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\}, \end{equation} \begin{equation} \epsilon^\ast_\mu(p)\to c(V)D_V \sum_\tau c^f_\tau \bar u(f)P_\tau \gamma_\mu v( \bar f)\; [\epsilon_jl_i\epsilon_i]_{\sigma_1}\chi_{\sigma_1}(p_1)\;. \end{equation} If you have a single-line equation that you don't want numbered, you can use the \btt{[}, \btt{]} format: \[g^+g^+ \rightarrow g^+g^+g^+g^+ \dots ~,~~q^+q^+\rightarrow q^+g^+g^+ \dots ~. \] \subsubsection*{2. Multiline equations} Multiline equations are obtained by using the \btt{begin$\{$eqnarray$\}$}, \btt{end$\{$eqnarray$\}$} format. Use the \btt{nonumber} command at the end of each line where you do not want a number: \begin{eqnarray} {\cal M}=&&ig_Z^2(4E_1E_2)^{1/2}(l_i^2)^{-1} \delta_{\sigma_1,-\sigma_2} (g_{\sigma_2}^e)^2\chi_{-\sigma_2}(p_2)\nonumber\\ &&\times [\epsilon_jl_i\epsilon_i]_{\sigma_1}\chi_{\sigma_1}(p_1), \\ \sum \vert M^{\rm viol}_g \vert ^2&=&g^{2n-4}_S(Q^2)~N^{n-2} (N^2-1)\nonumber \\ & &\times \left( \sum_{i<j}\right) \sum_{\rm perm} {1 \over S_{12}} {1 \over S_{12}}\sum_\tau c^f_\tau~. \end{eqnarray} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{equation} \left\{\openone234567890abc123\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\}\label{one}, \end{equation} Note the open one in Eq.\ (\ref{one}). If the equation is a little wider, the equation number automatically moves down to the next line: \begin{equation} \left\{abc1234567890abc1234\alpha\beta\gamma\delta1234556\alpha\beta% {1\sum^{a}_{b}\over A^2}abc1234567890abc1234\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\}. \end{equation} When the \btt{label} command is used [cf. input for Eq. (\ref{one})], the equation can be referred to in text without your knowing the equation number that \TeX\ will assign to it. Math will be flush left by default, in OSA submissions. It should allow longer equations to be displayed before line numbers are displayed below. \begin{equation} \left\{ab12345678abc123456abcdef\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\}, \end{equation} \begin{equation} \epsilon^\ast_\mu(p)\to c(V)D_V \sum_\tau c^f_\tau \bar u(f)P_\tau \gamma_\mu v( \bar f)\; [\epsilon_jl_i\epsilon_i]_{\sigma_1}\chi_{\sigma_1}(p_1)\;. \end{equation} If you have a single-line equation that you don't want numbered, you can use the \btt{[}, \btt{]} format: \[g^+g^+ \rightarrow g^+g^+g^+g^+ \dots ~,~~q^+q^+\rightarrow q^+g^+g^+ \dots ~. \] \subsubsection{Multiline equations} Multiline equations are obtained by using the \btt{begin$\{$eqnarray$\}$}, \btt{end$\{$eqnarray$\}$} format. Use the \btt{nonumber} command at the end of each line where you do not want a number: \begin{eqnarray} {\cal M}=&&ig_Z^2(4E_1E_2)^{1/2}(l_i^2)^{-1} \delta_{\sigma_1,-\sigma_2} (g_{\sigma_2}^e)^2\chi_{-\sigma_2}(p_2)\nonumber\\ &&\times [\epsilon_jl_i\epsilon_i]_{\sigma_1}\chi_{\sigma_1}(p_1), \\ \sum \vert M^{\rm viol}_g \vert ^2&=&g^{2n-4}_S(Q^2)~N^{n-2} (N^2-1)\nonumber \\ & &\times \left( \sum_{i<j}\right) \sum_{\rm perm} {1 \over S_{12}} {1 \over S_{12}}\sum_\tau c^f_\tau~. \end{eqnarray} \end{verbatim} \newpage \baselineskip = 2\baselineskip % back to double space If you wish to set a multiline equation without any line numbers, you can use the \verb+\begin{eqnarray*}+, \verb+\end{eqnarray*}+ format: \begin{eqnarray*} \sum \vert M^{\rm viol}_g \vert ^2&=&g^{2n-4}_S(Q^2)~N^{n-2} (N^2-1)\\ & &\times \left( \sum_{i<j}\right) \left( \sum_{\rm perm} {1 \over S_{12}S_{23}S_{n1}}\right) {1 \over S_{12}}~. \end{eqnarray*} To obtain numbers not normally produced by the automatic numbering, use the \verb+\eqnum{#1}+ command, where \verb+#1+ is the desired equation number. For example, to get an equation number of (\ref{eq:mynum}), \begin{equation} g^+g^+ \rightarrow g^+g^+g^+g^+ \dots ~,~~q^+q^+\rightarrow q^+g^+g^+ \dots ~. \eqnum{2.7$'$}\label{eq:mynum} \end{equation} {\it A few notes on} \verb=\eqnum=. The \verb+\eqnum+ must come before the \verb+\label+, if any. The numbering set with \verb+\eqnum+ is {\it transparent} to the automatic numbering in REV\TeX; therefore you must know the number ahead of time and {\it must\/} make sure that the number set with \verb+\eqnum+ stays in step with the automatic numbering. \verb+\eqnum+ works with both single-line and multiline equations. You could, if you wished, do all the numbering in a paper manually with \verb+\eqnum+. Enclosing single-line and multiline equations in \btt{begin\{mathletters\}} and \btt{end\{mathletters\}} will produce a set of equations that are ``numbered'' with letters, as shown in Eqs.\ (\ref{mlett:1}) and (\ref{mlett:2}) below: \begin{mathletters} \begin{equation} \left\{abc123456abcdef\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\},\label{mlett:1} \end{equation} \begin{eqnarray} {\cal M}=&&ig_Z^2(4E_1E_2)^{1/2}(l_i^2)^{-1} (g_{\sigma_2}^e)^2\chi_{-\sigma_2}(p_2)\nonumber\\ &&\times [\epsilon_i]_{\sigma_1}\chi_{\sigma_1}(p_1).\label{mlett:2} \end{eqnarray} \end{mathletters} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} If you wish to set a multiline equation without any line numbers, you can use the \verb+\begin{eqnarray*}+, \verb+\end{eqnarray*}+ format: \begin{eqnarray*} \sum \vert M^{\rm viol}_g \vert ^2&=&g^{2n-4}_S(Q^2)~N^{n-2} (N^2-1)\\ & &\times \left( \sum_{i<j}\right) \left( \sum_{\rm perm} {1 \over S_{12}S_{23}S_{n1}}\right) {1 \over S_{12}}~. \end{eqnarray*} To obtain numbers not normally produced by the automatic numbering, use the \verb+\eqnum{#1}+ command, where \verb+#1+ is the desired equation number. For example, to get an equation number of (\ref{eq:mynum}), \begin{equation} g^+g^+ \rightarrow g^+g^+g^+g^+ \dots ~,~~q^+q^+\rightarrow q^+g^+g^+ \dots ~. \eqnum{2.7$'$}\label{eq:mynum} \end{equation} {\it A few notes on} \verb=\eqnum=. The \verb+\eqnum+ must come before the \verb+\label+, if any. The numbering set with \verb+\eqnum+ is {\it transparent} to the automatic numbering in REV\TeX; therefore you must know the number ahead of time and {\it must\/} make sure that the number set with \verb+\eqnum+ stays in step with the automatic numbering. \verb+\eqnum+ works with both single-line and multiline equations. You could, if you wished, do all the numbering in a paper manually with \verb+\eqnum+. Enclosing single-line and multiline equations in \btt{begin\{mathletters\}} and \btt{end\{mathletters\}} will produce a set of equations that are ``numbered'' with letters, as shown in Eqs.\ (\ref{mlett:1}) and (\ref{mlett:2}) below: \begin{mathletters} \begin{equation} \left\{abc123456abcdef\alpha\beta\gamma\delta% 1234556\alpha\beta{1\sum^{a}_{b}\over A^2}\right\},\label{mlett:1} \end{equation} \begin{eqnarray} {\cal M}=&&ig_Z^2(4E_1E_2)^{1/2}(l_i^2)^{-1} (g_{\sigma_2}^e)^2\chi_{-\sigma_2}(p_2)\nonumber\\ &&\times [\epsilon_i]_{\sigma_1}\chi_{\sigma_1}(p_1).\label{mlett:2} \end{eqnarray} \end{mathletters} \end{verbatim} \newpage \baselineskip = 2\baselineskip % back to double space \subsection*{B. New Printing Characters for OSA} The following are composite characters, created by short macros included in the osa.sty style file. \begin{eqnarray*} \begin{array}{rrrr} \,\,\,\,\,\, \succsim & \,\,\,\,\,\, \precsim & \,\,\,\,\,\, \corresponds & \\ \,\,\,\,\,\, \lambdabar & \,\,\,\,\,\, \slantfrac{1}{2}, & \,\,\,\,\,\, \slantfrac{2}{3},& \,\,\, {\rm etc.} \end{array} \end{eqnarray*} The macros to produce these special characters are shown in Table \ref{table1}, at the end of this document. \section*{3. Cross-referencing} REV\TeX\ will automatically number sections, equations, figure captions, and tables. In order to reference them in text, use the \btt{label} and \btt{ref} commands. The \btt{label} command appears following a section heading or within a equation, figure caption, or table; the \btt{ref} command appears in text where citation is to occur. We will refer to the first figure (Fig.~\ref{autonum}) here. We can refer to the ``late figure'' also (Fig.~\ref{latefigure}). References to figures: Fig.~\ref{autonum}, Fig.~\ref{latefigure} and Fig.~\ref{reduced}. References to tables: Table \ref{table1}, Table \ref{table2}, Table \ref{table3}, and Table \ref{latetable}. {\bf OSA} style requires that the initial citation of figures or tables be in numerical order in text, so don't cite Fig.~\ref{reduced} until you've cited Fig.~\ref{latefigure}. See {\it Style and Notation Guide}. \section*{4. Tables} In manuscript format, tables should be placed at the end of the submission, after the figure captions. The tables that were once in this location have been placed at the end of the document. \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \subsection{New Printing Characters for OSA} The following are composite characters, created by short macros included in the OSA.STY style file. \begin{eqnarray*} \begin{array}{rrrr} \,\,\,\,\,\, \succsim & \,\,\,\,\,\, \precsim & \,\,\,\,\,\, \corresponds &\\ \,\,\,\,\,\, \lambdabar & \,\,\,\,\,\, \slantfrac{1}{2} & \,\,\,\,\,\, \slantfrac{2}{3},& \,\,\, {\rm etc.} \end{array} \end{eqnarray*} The macros to produce these special characters are shown in Table \ref{table1}, at the end of this document. \section{Cross-referencing} REV\TeX\ will automatically number sections, equations, figure captions, and tables. In order to reference them in text, use the \btt{label} and \btt{ref} commands. The \btt{label} command appears following a section heading or within a equation, figure caption, or table; the \btt{ref} command appears in text where citation is to occur. We will refer to the first figure (Fig.~\ref{autonum}) here. We can refer to the ``late figure'' also (Fig.~\ref{latefigure}). References to figures: Fig.~\ref{autonum}, Fig.~\ref{latefigure} and Fig.~\ref{reduced}. References to tables: Table \ref{table1}, Table \ref{table2}, Table \ref{table3}, and Table \ref{latetable}. {\bf OSA} style requires that the initial citation of figures or tables be in numerical order in text, so don't cite Fig.~\ref{reduced} until you've cited Fig.~\ref{latefigure}. See {\it Style and Notation Guide}. \section{Tables} In manuscript format, tables should be placed at the end of the submission, after the figure captions. The tables that were once in this location have been placed at the end of the document. \end{verbatim} \newpage \baselineskip = 2\baselineskip % back to double space Tables must begin with a \verb+"\begin{table}"+ command. This starts the table environment, which may contain several tables. A \verb+"\begin{tabular}{}"+ is used to start the actual table. \verb+"\end{tabular}"+ and \verb+"\end{table}+ are used to end the table and the table environment. The command \btt{caption\{Your Caption\}} is used to create a caption for a table. It should be used just prior to the \btt{begin\{tabular\}\{\}} command. The second set of braces following \{tabular\} must contain information to indicate the number of columns and the type of justification you wish to use. The information is conveyed by letters. Each letter within the braces indicates one column in the table. The value of the letter indicates the kind of justification. Some examples include c for centered, l for left justification, r for right justification, and d for decimal, where numbers will be lined up according to their decimal points. \acknowledgments For the Acknowledgments section use the command \verb+\acknowledgments+ to produce the heading. The section number will not appear. If you want to suppress section numbers (as in the Acknowledgments section), the command \btt{section*} can be used. This has already been done by the \verb+\acknowledgments+ macro, so the \btt{section*} command is not needed in this case. %\appendix \section*{Appendix: $\,\,$ A} To start appendixes, you should use the command \verb+\appendix+, followed by the command \verb+\section{}+. Please note the equation numbers in an appendix: Note that the letters and numbers switch places and functions in the appendix. \begin{eqnarray} {\rm P} = mc, \eqnum{(A1)} \\ {\rm E} = mc^2. \eqnum{(A2)} \end{eqnarray} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} Tables must begin with a \verb+"\begin{table}"+ command. this starts the table environment, which may contain several tables. A \verb+"\begin{tabular}{}"+ is used to start the actual table. \verb+"\end{tabular}"+ and \verb+"\end{table}+ are used to end the table and the table environment. The command \btt{caption\{Your Caption\}} is used to create a caption for a table. It should be used just prior to the \btt{begin\{tabular\}\{\}} command. The second set of braces following \{tabular\} must contain information to indicate the number of columns and the type of justification you wish to use. The information is conveyed by letters. Each letter within the braces indicates one column in the table. The value of the letter indicates the kind of justification. Some examples include c for centered, l for left justification, r for right justification, and d for decimal, where numbers will be lined up according to their decimal points. \acknowledgments For the Acknowledgments section use the command \verb+\acknowledgments+ to produce the heading. The section number will not appear. If you want to suppress section numbers (as in the Acknowledgments section), the command \btt{section*\{\}} can be used. This has already been done by the \verb+\acknowledgments+ macro, so the \btt{section*\{\}} command is not needed in this case. \appendix \section{} To start appendixes, you should use the command \verb+\appendix+, followed by the command \verb+\section{}+. Please note the equation numbers in an appendix: Note that the letters and numbers switch places and functions in the appendix. \begin{eqnarray} {\rm P} = mc, \\ {\rm E} = mc^2. \end{eqnarray} \end{verbatim} \newpage \baselineskip = 2\baselineskip % back to double space Either the \btt{begin\{eqnarray\}} (as above) or the \btt{begin\{equation\}} (as below) command may be used to start the equations, in the appendix. The appropriate ending command must also be given, of course. \begin{equation} {\rm E} = \case 1/2 mv^2. \label{appa} \eqnum{(A3)}\end{equation} \section*{Appendix: $\,\,$ B} The following section demonstrates a book reference, a journal reference, and a proceedings reference. Each reference should begin with the \btt{bibitem\{Name\}} command. \{Name\} should be a short name that can be used with the \btt{cite\{Name\}} command in the text. The first reference is a book reference. It shows the authors, the {\it Title in Italics,} and the publisher, city, and year of publication in parentheses. The second reference, for a journal, shows authors, ``title in quotes,'' journal name, {\bf Volume number in boldface,} complete page numbers (beginning and ending), and year in parentheses. The third reference is a proceedings reference. The authors, ``title in quotes,'' {\it proceedings name in italics,} editors, (publisher and year in parenthesis), and volume and pages. To produce {\it italics}, the command sequence \{\btt{it\{Title in Italics\}} was used. To produce bold type, the command \{\btt{bf\{Number in boldface\}} was used. To produce right facing double quotes, 2 single quotes should be used. To produce left facing quotes, use 2 `left quote' marks. On most IBM keyboards this can be found near the number 1 at the top left corner of the keyboard. For greater convenience and accuracy, OSA has provided a set of standard macros for some commonly used journal abbreviations. They contain special formatting commands to ensure correct spacing. They also save typing and ensure consistent spelling of the journal abbreviations. See Table \ref{abbrev} for a list of journal abbreviation macros supported by the OSA style option. Other societies also use some of these keystroke saving macros. \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} Either the \btt{begin\{eqnarray\}} (as above) or the \btt{begin\{equation\}} (as below) command may be used to start the equations, in the appendix. The appropriate ending command must also be given, of course. \begin{equation} {\rm E} = \case 1/2 mv^2. \label{appa}\end{equation} \section{} The following section demonstrates a book reference, a journal reference, and a proceedings reference. Each reference should begin with the \btt{bibitem\{Name\}} command. \{Name\} should be a short name that can be used with the \btt{cite\{Name\}} command in the text. The first reference is a book reference. It shows the authors, the {\it Title in Italics,} and the publisher, city and year of publication in parenthesis. The second reference, for a journal, shows authors, ``title in quotes,'' journal name, {\bf Volume number in boldface,} complete page numbers (beginning and ending), and year in parentheses. The third reference is a proceedings reference. The authors, ``title in quotes,'' {\it proceedings name in italics,} editors, (publisher and year in parenthesis), and volume and pages. To produce {\it italics}, the command sequence \{\btt{it\{Title in Italics\}} was used. To produce bold type, the command \{\btt{bf\{Number in boldface\}} was used. To produce right facing double quotes, 2 single quotes should be used. To produce left facing quotes, use 2 `left quote' marks. On most IBM keyboards this can be found near the number 1 at the top left corner of the keyboard. For greater convenience and accuracy, OSA has provided a set of standard macros for some commonly used journal abbreviations. They contain special formatting commands to ensure correct spacing. They also save typing and ensure consistent spelling of the journal abbreviations. See Table \ref{abbrev} for a list of journal abbreviation macros supported by the OSA style option. Other societies also use some of these keystroke saving macros. \end{verbatim} \newpage \baselineskip = 2\baselineskip % back to double space \begin{references} \bibitem{smith82}F. Zernike and J. Midwinter, {\it Applied Nonlinear Optics} (Wiley, New York, 1973). \bibitem{jones78}K. W. Kirby and L. G. DeShazer ``Refractive indexes of 14 nonlinear crystals isomorphic to ${\rm KH}_2{\rm PO}_4$,'' \josab {\bf 4,} 1072-1078 (1987). \bibitem{jonessmith80}C. C. Skiscim and B. L. Golden, ``Optimization by simulated annealing: a preliminary computational study for the TSP,'' in {\it Proceedings of the 1983 Winter Simulation Conference,} S. Roberts, J.Banks, and B Schmeiser, eds. (Institute of Electrical and Electronics Engineers, New York, 1983), Vol.\ 1, pp. 523-535. \end{references} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{references} \bibitem{smith82}F. Zernike and J. Midwinter, {\it Applied Nonlinear Optics} (Wiley, New York, 1973). \bibitem{jones78}K. W. Kirby and L. G. DeShazer, ``Refractive indexes of 14 nonlinear crystals isomorphic to ${\rm KH}_2{\rm PO}_4$,'' \josab {\bf 4,} 1072-1078 (1987). \bibitem{jonessmith80}C. C. Skiscim and B. L. Golden, ``Optimization by simulated annealing: a preliminary computational study for the TSP,'' in {\it Proceedings of the 1983 Winter Simulation Conference,} S. Roberts, J.Banks, and B Schmeiser, eds. (Institute of Electrical and Electronics Engineers, New York, 1983), Vol.\ 1, pp. 523-535. \end{references} \end{verbatim} \newpage \baselineskip = 2\baselineskip % back to double space \begin{figure} \caption{A figure caption. The figure captions are automatically numbered.\label{autonum}} \end{figure} \begin{figure} \caption{The ``late figure.'' This figure was inserted when the paper was finished. Since the figures are automatically numbered, no renumbering in text was necessary. All that needed to be done was to type the caption in the proper place and cite the figure in text.\label{latefigure}} \end{figure} \begin{figure} \caption{A figure caption. Figures will be reduced to an appropriate size by the production staff of the journal.\label{reduced}} \end{figure} \begin{figure} \caption{A figure caption. The labels you give tables and figures can be descriptive.} %%%%% \label{figure4}%%%% \end{figure} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{figure} \caption{A figure caption. The figure captions are automatically numbered.\label{autonum}} \end{figure} \begin{figure} \caption{The ``late figure.'' This figure was inserted when the paper was finished. Since the figures are automatically numbered, no renumbering in text was necessary. All that needed to be done was to type the caption in the proper place and cite the figure in text.\label{latefigure}} \end{figure} \begin{figure} \caption{A figure caption. Figures will be reduced to an appropriate size by the production staff of the journal.\label{reduced}} \end{figure} \begin{figure} \caption{A figure caption. The labels you give tables and figures can be descriptive.} %%%%% \label{figure4}%%%% \end{figure} \end{verbatim} \newpage \baselineskip = 2\baselineskip % back to double space \begin{table} \caption{OSA special characters and the macros to produce them. (This is a small table, which would occupy the width of a narrow column in the finished article. In manuscripts all tables will be displayed with the same width you see here. Also, table captions are automatically numbered.)} \begin{tabular}{lr} Macro & Character\\ \tableline \verb+\corresponds+&$\corresponds$ \\ \verb+\lambdabar +&$\lambdabar$ \\ \verb+\succsim +&$\succsim $ \\ \verb+\precsim +&$\precsim$ \\ \verb+\slantfrac{1}{2}+\tablenote{Replace 1 and 2 with your numbers.} &$\slantfrac{1}{2}$ \end{tabular} \label{table1} \end{table} \begin{table} \caption{A table with math characters. Two alternative occupations of special positions by KMnCL$_3$ ions in the two space groups $D_{4h}^1$ and $D_{4h}^1$. For a special value of the $x$ and $y$ parameters, a set of special positions may split into two sets of special positions of higher symmetry. This table's footnote was inserted using the ``tablenote" command at the point of insertion.} \begin{tabular}{ccccc} &\multicolumn{2}{c}{$D_{4h}^1$}&\multicolumn{2}{c}{$D_{4h}^5$}\\ \cline{2-3} \cline{4-5} Ion&1st alternative&2nd alternative&lst alternative &2nd alternative\\ \tableline K&$(2e)+(2f)$&$(4i)$&$(2c)+(2d)$&$(4f)$\\ Mn&$(2g)$&$(a)+(b)+(c)+(d)$&$(4e)$&$(2a)+(2b)$\\ Cl&$(a)+(b)+(c)+(d)$&$(2g)$+$(2h)$&$(a)+(2b)$&$(4e)$ \tablenote{The $z$ parameter of these positions is $z\sim\kern-1em\slantfrac{1}{4}$.}\\ He&$(8r)$&$(4j)$&$(4g)$\\ % Ag& &$(4k)$& &$(4h)$\\ \end{tabular} \label{table2} % for cross references, only \end{table} \bigskip \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{table} \caption{OSA special characters and the macros to produce them. (This is a small table, which would occupy the width of a narrow column in the finished article. In manuscripts all tables will be displayed with the same width you see here. Also, table captions are automatically numbered.)} \begin{tabular}{lr} Macro & Character\\ \tableline \verb+\corresponds+&$\corresponds$ \\ \verb+\lambdabar +&$\lambdabar$ \\ \verb+\succsim +&$\succsim $ \\ \verb+\precsim +&$\precsim$ \\ \verb+\slantfrac{1}{2}+\tablenote{Replace 1 and 2 with your numbers.} &$\slantfrac{1}{2}$ \end{tabular} \label{table1} \end{table} \begin{table} \caption{A table with math characters. Two alternative occupations of special positions by KMnCL$_3$ ions in the two space groups $D_{4h}^1$ and $D_{4h}^1$. For a special value of the $x$ and $y$ parameters, a set of special positions may split into two sets of special positions of higher symmetry. This table's footnote was inserted using the "tablenote" command at the point of insertion.} \begin{tabular}{ccccc} &\multicolumn{2}{c}{$D_{4h}^1$}&\multicolumn{2}{c}{$D_{4h}^5$}\\ \cline{2-3} \cline{4-5} Ion&1st alternative&2nd alternative&lst alternative &2nd alternative\\ \tableline K&$(2e)+(2f)$&$(4i)$&$(2c)+(2d)$&$(4f)$\\ Mn&$(2g)$&$(a)+(b)+(c)+(d)$&$(4e)$&$(2a)+(2b)$\\ Cl&$(a)+(b)+(c)+(d)$&$(2g)$+$(2h)$&$(a)+(2b)$&$(4e)$ \tablenote{The $z$ parameter of these positions is $z\sim\kern-1em\slantfrac{1}{4}$.}\\ He&$(8r)$&$(4j)$&$(4g)$\\ % Ag& &$(4k)$& &$(4h)$\\ \end{tabular} \label{table2} % for cross references, only \end{table} \end{verbatim} \newpage \baselineskip = 2\baselineskip % back to double space \begin{table} \setdec 00.00 \caption{Another table. This shows decimal and implied-decimal alignments. Predecimal zeros are required according to OSA style.} \begin{tabular}{lldddc} One&Two&Three&Four&Five\\ \tableline one&two&three&four&five\\ He\tablenote{Some tables require footnotes.}&2&\dec 2.772 & 45672.554 & 0.691 \\ C&Ca\tablenote{Some tables need more than one footnote.} & 12537.649 & 37.663 &\dec 86.378 \\ \end{tabular} %% \label{table3} \end{table} \begin{table} \caption{A ``late table.'' This table was added after most of the paper had been completed. Since the tables are automatically numbered, no renumbering in text was necessary. This table was added to show the use of the d specifier for lining things up. This time I am going to use the tablenotemark command in the body of the table and the tablenotetext command at the end. This permits multiple citations of the same reference.} \begin{tabular}{l|dddrd} \multicolumn{2}{c}{Align by .}& \multicolumn{4}{c}{Multiple alignments}\\ \tableline Glass &1.89\tablenotemark[1] &1.45 &23.66\tablenotemark[2] &0 &0.002\\ Water &1.00 &1.35 &100.00\tablenotemark[1] &344 &\tablenotemark[3] \\ Wood &0.87 &0.00\tablenotemark[1]\tablenotemark[2] &7.80 &45 &0.316\\ \end{tabular} \label{latetable} \tablenotetext[1]{Here we cite Ref.\ \onlinecite{jones78}.} \tablenotetext[2]{By the way, these are fictitious numbers.} \tablenotetext[3]{These are fictitious numbers also.} \end{table} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{table} \setdec 00.00 \caption{Another table. This shows decimal and implied-decimal alignments. Predecimal zeros are required according to OSA style.} \begin{tabular}{llcdcc} One&Two&Three&Four&Five\\ \tableline one&two&three&four&five\\ He\tablenote{Some tables require footnotes.}&2&\dec 2.772 & 45672.554 & 0.691 \\ C&Ca\tablenote{Some tables need more than one footnote.} & 12537.649 & 37.663 &\dec 86.378 \\ \end{tabular} %% \label{table3} \end{table} \begin{table} \caption{A ``late table.'' This table was added after most of the paper had been completed. Since the tables are automatically numbered, no renumbering in text was necessary. This table was added to show the use of the d specifier for lining things up. This time I am going to use the tablenotemark command in the body of the table, and the tablenotetext command at the end. This permits multiple citations of the same reference.} \begin{tabular}{l|dddrd} \multicolumn{2}{c}{Align by .}& \multicolumn{4}{c}{Multiple alignments}\\ \tableline Glass& 1.89\tablenotemark[1]& 1.45& 23.66\tablenotemark[2]& 0& 0.002\\ Water& 1.00& 1.35& 100.00\tablenotemark[1]& 344& \tablenotemark[3] \\ Wood & 0.87& 0.00\tablenotemark[1]\tablenotemark[2]& 7.80& 45& 0.316\\ \end{tabular} \label{latetable} \tablenotetext[1]{Here we cite Ref.\ \onlinecite{jones78}.} \tablenotetext[2]{By the way, these are fictitious numbers.} \tablenotetext[3]{These are fictitious numbers also.} \end{table} \end{verbatim} \newpage \begin{table} \caption{OSA Journal abbreviations and the macros to produce them. Unfortunately, in manuscript style this table will not fit on 1 page. The input for this table starts below the last lines of output, on the facing page.} \begin{tabular}{ll} Macro & Output\\ \tableline \verb+\ao + & \ao \\ \verb+\ap + & \ap \\ \verb+\apl + & \apl \\ \verb+\apj + & \apj \\ \verb+\bell + & \bell \\ \verb+\jqe + & \jqe \\ \verb+\assp + & \assp \\ \verb+\aprop + & \aprop \\ \verb+\mtt + & \mtt \\ \verb+\iovs + & \iovs \\ \verb+\jcp + & \jcp \\ \verb+\jmo + & \jmo \\ \verb+\josa + & \josa \\ \verb+\josaa + & \josaa \\ \verb+\josab + & \josab \\ \verb+\jpp + & \jpp \\ \verb+\nat + & \nat \\ \verb+\oc + & \oc \\ \verb+\ol + & \ol \\ \verb+\pl + & \pl \\ \verb+\pra + & \pra \\ \verb+\prb + & \prb \\ \verb+\prl + & \prl \\ \verb+\pspie + & \pspie \\ \verb+\sjqe + & \sjqe \\ \verb+\vr + & \vr \\ \end{tabular} \label{abbrev} \end{table} \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{table} \caption{OSA Journal abbreviations and the macros to produce them.} \begin{tabular}{ll} Macro & Output\\ \tableline \verb+\ao + & \ao \\ \verb+\ap + & \ap \\ \verb+\apl + & \apl \\ \verb+\apj + & \apj \\ \verb+\bell + & \bell \\ \verb+\jqe + & \jqe \\ \verb+\assp + & \assp \\ \verb+\aprop + & \aprop \\ \verb+\mtt + & \mtt \\ \verb+\iovs + & \iovs \\ \verb+\jcp + & \jcp \\ \verb+\jmo + & \jmo \\ \verb+\josa + & \josa \\ \verb+\josaa + & \josaa \\ \verb+\josab + & \josab \\ \verb+\jpp + & \jpp \\ \verb+\nat + & \nat \\ \verb+\oc + & \oc \\ \verb+\ol + & \ol \\ \verb+\pl + & \pl \\ \verb+\pra + & \pra \\ \verb+\prb + & \prb \\ \verb+\prl + & \prl \\ \verb+\pspie + & \pspie \\ \verb+\sjqe + & \sjqe \\ \verb+\vr + & \vr \\ \end{tabular} \label{abbrev} \end{table} \end{document} \end{verbatim} \end{document} % end of file manosa.tex ��������������������������������������������������������������������������������������������������������������extrarpms/revtex/osa10.sty��������������������������������������������������������������������������0100644�0000764�0000764�00000032333�07267371705�015121� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ******* Start of file osa10.sty ******* % % Copyright (c) 1992, Optical Society of America. % % This is one of the files of the release version of the OSA macros for % REVTEX 3.0. REVTEX 3.0 is being developed by cooperation between the AAS, % AGU, AIP, APS, and OSA. % % % Support is available weekdays, 8:45 am--4:30 pm, East coast(USA) time. % % Frank Harris % Optical Society of America % 2010 Massachusetts Ave. N.W. % Washington D.C. 20036-1023 % (202) 416-1903 (phone) % (202) 416-6120 (fax) % fharris@aip.org (Internet) % % % \typeout{Filename: osa10.sty, v1.0 <November 20, 1992>} \lineskip 1pt \normallineskip 1pt \def\baselinestretch{1} \def\@tempa{prl} \ifx\@journal\@tempa % \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI} \else \def\@normalsize{\@setsize\normalsize{11.5pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI} \fi \def\small{\@setsize\small{11pt}\ixpt\@ixpt \abovedisplayskip 8.5\p@ plus3\p@ minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus2\p@ \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 4\p@ plus2\p@ minus2\p@\parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep}} \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt \abovedisplayskip 6\p@ plus2\p@ minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus\p@ \belowdisplayshortskip 3\p@ plus\p@ minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 3\p@ plus\p@ minus\p@\parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} \def\large{\@setsize\large{14pt}\xiipt\@xiipt} \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} \normalsize \if@twoside \oddsidemargin -.4in \evensidemargin -.1in \marginparwidth 107pt \else \oddsidemargin -.25in \evensidemargin -.25in \marginparwidth 30pt \fi \marginparsep 6pt \topmargin -.25in \headheight 12pt \headsep 25pt \footskip 30pt \textheight = 53\baselineskip \advance\textheight by \topskip \def\narrowtext{\global\columnwidth3.375in \global\hsize\columnwidth\global\linewidth\columnwidth \global\displaywidth\columnwidth} \def\mediumtext{\global\columnwidth5.5in \global\hsize\columnwidth\global\linewidth\columnwidth \global\displaywidth\columnwidth} \def\widetext{\global\columnwidth7in \global\hsize\columnwidth\global\linewidth\columnwidth \global\displaywidth\columnwidth} \textwidth 7in \widetext \columnsep .25in \columnseprule 0pt \footnotesep 9.25pt \skip\footins 39pt plus 4pt minus 2pt \def\footnoterule{\kern-19pt\hrule width.5in\kern18.6pt} \floatsep 12pt plus 2pt minus 2pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 12pt plus 2pt minus 2pt \@maxsep 20pt \dblfloatsep 12pt plus 2pt minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt \@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil \marginparpush 5pt \parskip 0pt plus 1pt \parindent 1em \partopsep 2pt plus 1pt minus 1pt \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \newif\if@mainhead \def\section{\@mainheadtrue %% \@startsection {section}{1}{\z@}{-0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf\noindent}} \def\subsection{\@mainheadfalse \@startsection{subsection}{2}{\z@}{-0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf\noindent}} \def\subsubsection{\@mainheadfalse \@startsection{subsubsection}{3}{\z@}{-.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\it\noindent}} \def\paragraph{\@mainheadfalse \@startsection{paragraph}{4}{\parindent}{\z@}{-1em}{\reset@font \normalsize\it}} \def\subparagraph{\@mainheadfalse \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus .2ex}{-1em}{\reset@font\normalsize\bf}} \setcounter{secnumdepth}{4} \newif\ifappendixon \global\appendixonfalse \def\appendix{\par\global\appendixontrue \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \def\thesection{\Alph{section}} \def\thesubsection{\arabic{subsection}} \def\thesubsubsection{\alph{subsubsection}} \def\theequation@prefix{\thesection} \@addtoreset{equation}{section} \addcontentsline{toc}{section}{\protect\numberline{APPENDIXES\hskip 0pt plus1fill minus1fill\relax}} } \leftmargini 25pt \leftmarginii 22pt \leftmarginiii 18.7pt \leftmarginiv 17pt \leftmarginv 10pt \leftmarginvi 10pt \leftmargin\leftmargini \labelsep 4pt \labelwidth\leftmargini\advance\labelwidth-\labelsep \def\@listI{\leftmargin\leftmargini \parsep 4\p@ plus2\p@ minus\p@ \topsep 8\p@ plus2\p@ minus4\p@ \itemsep 4\p@ plus2\p@ minus\p@} \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 4\p@ plus2\p@ minus\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} \if@amssymbols % \def\@tempa{% \@ifundefined{selectfont}% {}% {\input{amssymb.sty} \new@fontshape{euf}{b}{n}{% <5>eufb5% <6>eufb6% <7>eufb7% <8>eufb8% <9>eufb9% <10>eufb10% <11>eufb10 at10.95pt% <12>eufb10 at12pt% <14>eufb10 at14.4pt% <17>eufb10 at17.28pt% <20>eufb10 at20.74pt% <25>eufb10 at24.88pt}{} \edef\@tempa{\hexnumber@\msa@group} \mathchardef\dabar@="0\@tempa39 \endinput}% } \else % \if@amsfonts % \def\@tempa{% \@ifundefined{selectfont}% {}% {\input{amsfonts.sty} \new@fontshape{euf}{b}{n}{% <5>eufb5% <6>eufb6% <7>eufb7% <8>eufb8% <9>eufb9% <10>eufb10% <11>eufb10 at10.95pt% <12>eufb10 at12pt% <14>eufb10 at14.4pt% <17>eufb10 at17.28pt% <20>eufb10 at20.74pt% <25>eufb10 at24.88pt}{} \edef\@tempa{\hexnumber@\msa@group} \mathchardef\dabar@="0\@tempa39 \endinput}% } \else \let\@tempa\endinput \fi \fi \@tempa \def\frak{\protect\pfrak} \def\Bbb{\protect\pBbb} \newfam\msamfam \font\twlmsam=msam10\@magscale1 \font\tenmsam=msam10 \font\ninmsam=msam9 \font\sevmsam=msam7 \font\fivmsam=msam5 \newfam\msbmfam \font\twlmsbm=msbm10\@magscale1 \font\tenmsbm=msbm10 \font\ninmsbm=msbm9 \font\sevmsbm=msbm7 \font\fivmsbm=msbm5 \newfam\euffam \font\twleufm=eufm10\@magscale1 \font\teneufm=eufm10 \font\nineufm=eufm9 \font\seveufm=eufm7 \font\fiveufm=eufm5 \def\fontextras#1{% \def\pfrak{\fam\euffam\nineufm}\textfont\euffam\nineufm \scriptfont\euffam\seveufm \scriptscriptfont\euffam\fiveufm \textfont\msamfam\ninmsam \scriptfont\msamfam\sevmsam \scriptscriptfont\msamfam\fivmsam \def\pBbb{\fam\msbmfam\ninmsbm}\textfont\msbmfam\ninmsbm \scriptfont\msbmfam\sevmsbm \scriptscriptfont\msbmfam\fivmsbm \def\boldmath{\@ifundefined{#1ninmib}% {\expandafter\global\expandafter\def\csname#1ninmib\endcsname{}% \global\font\ninmib=cmmib9\global\font\sevmib=cmmib7\global \font\fivmib=cmmib5% \global\font\ninbsy=cmbsy9\global\font\sevbsy=cmbsy7\global \font\fivbsy=cmbsy5% \global\font\nineufb=eufb9\global\font\seveufb=eufb7\global \font\fiveufb=eufb5\relax \expandafter\@addfontinfo\csname#1\endcsname {\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\ninmib \scriptfont\@ne\sevmib \scriptscriptfont\@ne\fivmib \textfont\tw@\ninbsy \scriptfont\tw@\sevbsy \scriptscriptfont\tw@\fivbsy \textfont\euffam\nineufb \scriptfont\euffam\seveufb \scriptscriptfont\euffam\fiveufb \@prtct\@boldtrue}% }% }% {}\csname#1\endcsname\boldmath }% } \expandafter\def\expandafter\viiipt\expandafter{\viiipt \fontextras{@viiipt}} \expandafter\def\expandafter\ixpt\expandafter{\ixpt \fontextras{@ixpt}} \expandafter\def\expandafter\xpt\expandafter{\xpt% \def\pfrak{\fam\euffam\teneufm}\textfont\euffam\teneufm \scriptfont\euffam\seveufm \scriptscriptfont\euffam\fiveufm \textfont\msamfam\tenmsam \scriptfont\msamfam\sevmsam \scriptscriptfont\msamfam\fivmsam \def\pBbb{\fam\msbmfam\tenmsbm}\textfont\msbmfam\tenmsbm \scriptfont\msbmfam\sevmsbm \scriptscriptfont\msbmfam\fivmsbm \def\boldmath{\@ifundefined{tenmib}% {\global\font\tenmib=cmmib10\global\font\sevmib=cmmib7\global \font\fivmib=cmmib5% \global\font\tenbsy=cmbsy10\global\font\sevbsy=cmbsy7\global \font\fivbsy=cmbsy5% \global\font\teneufb=eufb10\global\font\seveufb=eufb7\global \font\fiveufb=eufb5 \global\font\tenlyb=lasyb10\relax \@addfontinfo\@xpt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\tenmib \scriptfont\@ne\sevmib \scriptscriptfont\@ne\fivmib \textfont\tw@\tenbsy \scriptfont\tw@\sevbsy \scriptscriptfont\tw@\fivbsy \textfont\euffam\teneufb \scriptfont\euffam\seveufb \scriptscriptfont\euffam\fiveufb \textfont\lyfam\tenlyb \@prtct\@boldtrue}% }% }% {}\@xpt\boldmath }% } \expandafter\def\expandafter\xiipt\expandafter{\xiipt% \def\pfrak{\fam\euffam\twleufm}\textfont\euffam\twleufm \scriptfont\euffam\nineufm \scriptscriptfont\euffam\seveufm \textfont\msamfam\twlmsam \scriptfont\msamfam\ninmsam \scriptscriptfont\msamfam\sevmsam \def\pBbb{\fam\msbmfam\twlmsbm}\textfont\msbmfam\twlmsbm \scriptfont\msbmfam\ninmsbm \scriptscriptfont\msbmfam\sevmsbm \def\boldmath{\@ifundefined{twlmib}% {\global\font\twlmib=cmmib10\@magscale1\global\font\ninmib=cmmib9\global \font\sevmib=cmmib7% \global\font\twlbsy=cmbsy10\@magscale1\global\font\ninbsy=cmbsy9\global \font\sevbsy=cmbsy7% \global\font\twleufb=eufb10\@magscale1\global\font\nineufb=eufb9\global \font\seveufb=eufb7 \global\font\twllyb=lasyb10\@magscale1\relax \@addfontinfo\@xiipt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\twlmib \scriptfont\@ne\ninmib \scriptscriptfont\@ne\sevmib \textfont\tw@\twlbsy \scriptfont\tw@\ninbsy \scriptscriptfont\tw@\sevbsy \textfont\euffam\twleufb \scriptfont\euffam\nineufb \scriptscriptfont\euffam\seveufb \textfont\lyfam\twllyb \@prtct\@boldtrue}% }% }% {}\@xiipt\boldmath }% } \def\undefine#1{\let#1\undefined} \def\newsymbol#1#2#3#4#5{\let\next@\relax \ifnum#2=\@ne\let\next@\msafam@\else \ifnum#2=\tw@\let\next@\msbfam@\fi\fi \mathchardef#1="#3\next@#4#5} \def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\or A\or B\or C\or D\or E\or F\fi} \edef\msafam@{\hexnumber@\msamfam} \mathchardef\dabar@"0\msafam@39 \def\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}} \def\dashleftarrow{\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}} \let\dasharrow\dashrightarrow \def\ulcorner{\delimiter"4\msafam@70\msafam@70 } \def\urcorner{\delimiter"5\msafam@71\msafam@71 } \def\llcorner{\delimiter"4\msafam@78\msafam@78 } \def\lrcorner{\delimiter"5\msafam@79\msafam@79 } \def\yen{{\mathhexbox\msafam@55 }} \def\checkmark{{\mathhexbox\msafam@58 }} \def\circledR{{\mathhexbox\msafam@72 }} \def\maltese{{\mathhexbox\msafam@7A }} \edef\msbfam@{\hexnumber@\msbmfam} \def\widehat#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5B{#1}% \else\mathaccent"0362{#1}\fi} \def\widetilde#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5D{#1}% \else\mathaccent"0365{#1}\fi} \undefine\Box \newsymbol\Box 1203 \undefine\Diamond \newsymbol\Diamond 1206 \undefine\leadsto \newsymbol\leadsto 1320 \undefine\lhd \newsymbol\lhd 1343 \undefine\unlhd \newsymbol\unlhd 1345 \undefine\rhd \newsymbol\rhd 1342 \undefine\unrhd \newsymbol\unrhd 1344 \edef\Join{\mathrel{\mathchar"0\msbfam@ 6F\mkern-13.8mu% \mathchar"0\msbfam@ 6E}} \if@amssymbols % \expandafter\def\csname amsfonts.sty\endcsname{} \input amssymb.sty \let\Finv\undefined \newsymbol\Finv 2060 \let\Game\undefined \newsymbol\Game 2061 \let\Bbbk\undefined \newsymbol\Bbbk 207C \let\diagup\undefined \newsymbol\diagup 231E \let\diagdow\undefined \newsymbol\diagdown 231F \fi \endinput % % ****** End of file osa10.sty ****** �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/osa12.sty��������������������������������������������������������������������������0100644�0000764�0000764�00000032100�07267371705�015113� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ******* Start of file osa12.sty ******* % % Copyright (c) 1992, Optical Society of America. % % This is one of the files of the release version of the OSA macros for % REVTEX 3.0. REVTEX 3.0 is being developed by cooperation between the AAS, % AGU, AIP, APS, and OSA. % % % Support is available weekdays, 8:45 am--4:30 pm, East coast(USA) time. % % Frank Harris % Optical Society of America % 2010 Massachusetts Ave. N.W. % Washington D.C. 20036-1023 % (202) 416-1903 (phone) % (202) 416-6120 (fax) % fharris@aip.org (Internet) % % % \typeout{Filename: osa12.sty, v1.0 <November 20, 1992>} \lineskip 1pt \normallineskip 1pt \edef\baselinestretch{\if@tightenlines1\else1.655\fi} \def\@normalsize{\@setsize\normalsize{14.5pt}\xiipt\@xiipt \abovedisplayskip 12\p@ plus3\p@ minus7\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \let\@listi\@listI} \def\small{\@setsize\small{14.5pt}\xipt\@xipt \abovedisplayskip 11\p@ plus3\p@ minus6\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \def\@listi{\leftmargin\leftmargini \parsep 4.5\p@ plus2\p@ minus\p@ \itemsep \parsep \topsep 9\p@ plus3\p@ minus5\p@}} \def\footnotesize{\@setsize\footnotesize{14.5pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def\@listi{\leftmargin\leftmargini \topsep 6\p@ plus2\p@ minus2\p@\parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} \def\large{\@setsize\large{18pt}\xivpt\@xivpt} \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} \let\Huge=\huge \normalsize \if@twoside \oddsidemargin .25in \evensidemargin -.25in \marginparwidth 60pt \else \oddsidemargin 0pt \evensidemargin 0pt \marginparwidth 44pt \fi \marginparsep 10pt \topmargin -37pt \headheight 12pt \headsep 25pt \footskip 30pt \if@tightenlines \textheight = 44\baselineskip \else \textheight = 27\baselineskip \fi \advance\textheight by \topskip \textwidth 468pt \displaywidth\textwidth \linewidth\textwidth \let\narrowtext=\relax \let\mediumtext=\relax \let\widetext=\relax \columnsep 10pt \columnseprule 0pt \footnotesep 2pc \skip\footins 25.25pt plus 4pt minus 2pt \def\footnoterule{\kern-5.25pt\hrule width.5in\kern4.85pt} \floatsep 14pt plus 2pt minus 4pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 14pt plus 4pt minus 4pt \@maxsep 20pt \dblfloatsep 14pt plus 2pt minus 4pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt \@fptop 0pt plus 1fil \@fpsep 10pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 10pt plus 2fil% \@dblfpbot 0pt plus 1fil \marginparpush 7pt \parskip 0pt plus 1pt \parindent 1.5em \partopsep 3pt plus 2pt minus 2pt \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \newif\if@mainhead \def\section{\@mainheadtrue % \@startsection {section}{1}{\z@}{-0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf\noindent}} \def\subsection{\@mainheadfalse \@startsection{subsection}{2}{\z@}{-0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf\noindent}} \def\subsubsection{\@mainheadfalse \@startsection{subsubsection}{3}{\z@}{-.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\it\noindent}} \def\paragraph{\@mainheadfalse \@startsection{paragraph}{4}{\parindent}{\z@}{-1em}{\reset@font \normalsize\it}} \def\subparagraph{\@mainheadfalse \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus .2ex}{-1em}{\reset@font\normalsize\bf}} \setcounter{secnumdepth}{4} \newif\ifappendixon \global\appendixonfalse \def\appendix{\par\global\appendixontrue \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \def\thesection{\Alph{section}} \def\thesubsection{\arabic{subsection}} \def\thesubsubsection{\alph{subsubsection}} \def\theequation@prefix{\thesection} \@addtoreset{equation}{section} \addcontentsline{toc}{section}{\protect\numberline{APPENDIXES\hskip 0pt plus1fill minus1fill\relax}} } \leftmargini 2.5em \leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em \leftmarginvi 1em \leftmargin\leftmargini \labelsep .5em \labelwidth\leftmargini\advance\labelwidth-\labelsep \def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@} \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 5\p@ plus2.5\p@ minus\p@ \parsep 2.5\p@ plus\p@ minus\p@ \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2.5\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} \if@amssymbols % \def\@tempa{% \@ifundefined{selectfont}% {}% {\input{amssymb.sty} \new@fontshape{euf}{b}{n}{% <5>eufb5% <6>eufb6% <7>eufb7% <8>eufb8% <9>eufb9% <10>eufb10% <11>eufb10 at10.95pt% <12>eufb10 at12pt% <14>eufb10 at14.4pt% <17>eufb10 at17.28pt% <20>eufb10 at20.74pt% <25>eufb10 at24.88pt}{} \edef\@tempa{\hexnumber@\msa@group} \mathchardef\dabar@="0\@tempa39 \endinput}% } \else % \if@amsfonts % \def\@tempa{% \@ifundefined{selectfont}% {}% {\input{amsfonts.sty} \new@fontshape{euf}{b}{n}{% <5>eufb5% <6>eufb6% <7>eufb7% <8>eufb8% <9>eufb9% <10>eufb10% <11>eufb10 at10.95pt% <12>eufb10 at12pt% <14>eufb10 at14.4pt% <17>eufb10 at17.28pt% <20>eufb10 at20.74pt% <25>eufb10 at24.88pt}{} \edef\@tempa{\hexnumber@\msa@group} \mathchardef\dabar@="0\@tempa39 \endinput}% } \else \let\@tempa\endinput \fi \fi \@tempa \def\frak{\protect\pfrak} \def\Bbb{\protect\pBbb} \newfam\msamfam \font\frtnmsam=msam10\@magscale2 \font\twlmsam=msam10\@magscale1 \font\elvmsam=msam10\@halfmag \font\egtmsam=msam8 \font\sixmsam=msam6 \newfam\msbmfam \font\frtnmsbm=msbm10\@magscale2 \font\twlmsbm=msbm10\@magscale1 \font\elvmsbm=msbm10\@halfmag \font\egtmsbm=msbm8 \font\sixmsbm=msbm6 \newfam\euffam \font\frtneufm=eufm10\@magscale2 \font\twleufm=eufm10\@magscale1 \font\elveufm=eufm10\@halfmag \font\egteufm=eufm8 \font\sixeufm=eufm6 \def\fontextras#1#2#3{% \def\pfrak{\fam\euffam\elveufm}\textfont\euffam\elveufm \scriptfont\euffam\egteufm \scriptscriptfont\euffam\sixeufm \textfont\msamfam\elvmsam \scriptfont\msamfam\egtmsam \scriptscriptfont\msamfam\sixmsam \def\pBbb{\fam\msbmfam\elvmsbm}\textfont\msbmfam\elvmsbm \scriptfont\msbmfam\egtmsbm \scriptscriptfont\msbmfam\sixmsbm \def\boldmath{\@ifundefined{#1elvmib}% {\expandafter\global\expandafter\def\csname#1elvmib\endcsname{}% \global\font\elvmib=cmmib10\@halfmag\global\font\egtmib=cmmib8\global \font\sixmib=cmmib6% \global\font\elvbsy=cmbsy10\@halfmag\global\font\egtbsy=cmbsy8\global \font\sixbsy=cmbsy6% \global\font\elveufb=eufb10\@halfmag\global\font\egteufb=eufb8\global \font\sixeufb=eufb6\global\font#2=#3\relax \expandafter\@addfontinfo\csname#1\endcsname {\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\elvmib \scriptfont\@ne\egtmib \scriptscriptfont\@ne\sixmib \textfont\tw@\elvbsy \scriptfont\tw@\egtbsy \scriptscriptfont\tw@\sixbsy \textfont\euffam\elveufb \scriptfont\euffam\egteufb \scriptscriptfont\euffam\sixeufb \textfont\lyfam#2\relax \@prtct\@boldtrue}% }% end of \@addfontinfo }% end of \@ifundefined true stuff {}\csname#1\endcsname\boldmath }% } \expandafter\def\expandafter\xpt\expandafter{\xpt% \fontextras{@xpt}\tenlyb{lasyb10}% } \expandafter\def\expandafter\xipt\expandafter{\xipt% \fontextras{@xipt}\elvlyb{lasyb10\@halfmag}% } \expandafter\def\expandafter\xiipt\expandafter{\xiipt% \def\pfrak{\fam\euffam\twleufm}\textfont\euffam\twleufm \scriptfont\euffam\egteufm \scriptscriptfont\euffam\sixeufm \textfont\msamfam\twlmsam \scriptfont\msamfam\egtmsam \scriptscriptfont\msamfam\sixmsam \def\pBbb{\fam\msbmfam\twlmsbm}\textfont\msbmfam\twlmsbm \scriptfont\msbmfam\egtmsbm \scriptscriptfont\msbmfam\sixmsbm \def\boldmath{\@ifundefined{twlmib}% {\global\font\twlmib=cmmib10\@magscale1\global\font\egtmib=cmmib8\global \font\sixmib=cmmib6% \global\font\twlbsy=cmbsy10\@magscale1\global\font\egtbsy=cmbsy8\global \font\sixbsy=cmbsy6% \global\font\twleufb=eufb10\@magscale1\global\font\egteufb=eufb8\global \font\sixeufb=eufb6 \global\font\twllyb=lasyb10\@magscale1\relax \@addfontinfo\@xiipt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\twlmib \scriptfont\@ne\egtmib \scriptscriptfont\@ne\sixmib \textfont\tw@\twlbsy \scriptfont\tw@\egtbsy \scriptscriptfont\tw@\sixbsy \textfont\euffam\twleufb \scriptfont\euffam\egteufb \scriptscriptfont\euffam\sixeufb \textfont\lyfam\twllyb \@prtct\@boldtrue}% }% }% {}\@xiipt\boldmath }% } \expandafter\def\expandafter\xivpt\expandafter{\xivpt% \def\pfrak{\fam\euffam\frtneufm}\textfont\euffam\frtneufm \scriptfont\euffam\elveufm \scriptscriptfont\euffam\egteufm \textfont\msamfam\frtnmsam \scriptfont\msamfam\elvmsam \scriptscriptfont\msamfam\egtmsam \def\pBbb{\fam\msbmfam\frtnmsbm}\textfont\msbmfam\frtnmsbm \scriptfont\msbmfam\elvmsbm \scriptscriptfont\msbmfam\egtmsbm \def\boldmath{\@ifundefined{frtnmib}% {\global\font\frtnmib=cmmib10\@magscale2\global\font\elvmib=cmmib10\@halfmag \global\font\egtmib=cmmib8% \global\font\frtnbsy=cmbsy10\@magscale2\global\font\elvbsy=cmbsy10\@halfmag \global\font\egtbsy=cmbsy8% \global\font\frtneufb=eufb10\@magscale2\global\font\elveufb=eufb10\@halfmag \global\font\egteufb=eufb8 \global\font\frtnlyb=lasyb10\@magscale2\relax \@addfontinfo\@xivpt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\frtnmib \scriptfont\@ne\elvmib \scriptscriptfont\@ne\egtmib \textfont\tw@\frtnbsy \scriptfont\tw@\elvbsy \scriptscriptfont\tw@\egtbsy \textfont\euffam\frtneufb \scriptfont\euffam\elveufb \scriptscriptfont\euffam\egteufb \textfont\lyfam\frtnlyb \@prtct\@boldtrue}% }% }% {}\@xivpt\boldmath }% } \def\undefine#1{\let#1\undefined} \def\newsymbol#1#2#3#4#5{\let\next@\relax \ifnum#2=\@ne\let\next@\msafam@\else \ifnum#2=\tw@\let\next@\msbfam@\fi\fi \mathchardef#1="#3\next@#4#5} \def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\or A\or B\or C\or D\or E\or F\fi} \edef\msafam@{\hexnumber@\msamfam} \mathchardef\dabar@"0\msafam@39 \def\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}} \def\dashleftarrow{\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}} \let\dasharrow\dashrightarrow \def\ulcorner{\delimiter"4\msafam@70\msafam@70 } \def\urcorner{\delimiter"5\msafam@71\msafam@71 } \def\llcorner{\delimiter"4\msafam@78\msafam@78 } \def\lrcorner{\delimiter"5\msafam@79\msafam@79 } \def\yen{{\mathhexbox@\msafam@55 }} \def\checkmark{{\mathhexbox\msafam@58 }} \def\circledR{{\mathhexbox\msafam@72 }} \def\maltese{{\mathhexbox\msafam@7A }} \edef\msbfam@{\hexnumber@\msbmfam} \def\widehat#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5B{#1}% \else\mathaccent"0362{#1}\fi} \def\widetilde#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5D{#1}% \else\mathaccent"0365{#1}\fi} \undefine\Box \newsymbol\Box 1203 \undefine\Diamond \newsymbol\Diamond 1206 \undefine\leadsto \newsymbol\leadsto 1320 \undefine\lhd \newsymbol\lhd 1343 \undefine\unlhd \newsymbol\unlhd 1345 \undefine\rhd \newsymbol\rhd 1342 \undefine\unrhd \newsymbol\unrhd 1344 \edef\Join{\mathrel{\mathchar"0\msbfam@ 6F\mkern-13.8mu% \mathchar"0\msbfam@ 6E}} \if@amssymbols % \expandafter\def\csname amsfonts.sty\endcsname{} \input amssymb.sty \let\Finv\undefined \newsymbol\Finv 2060 \let\Game\undefined \newsymbol\Game 2061 \let\Bbbk\undefined \newsymbol\Bbbk 207C \let\diagup\undefined \newsymbol\diagup 231E \let\diagdow\undefined \newsymbol\diagdown 231F \fi \endinput % % ****** End of file osa12.sty ****** ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/osabib.sty�������������������������������������������������������������������������0100644�0000764�0000764�00000006703�07267371705�015437� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ******* Start of file osabib.sty ******* % % Copyright (c) 1992, Optical Society of America. % % This is one of the files of the release version of the OSA macros for % REVTEX 3.0. REVTEX 3.0 is being developed by cooperation between the AAS, % AGU, AIP, APS, and OSA. % % % Support is available weekdays, 8:45 am--4:30 pm, East coast(USA) time. % % Frank Harris % Optical Society of America % 2010 Massachusetts Ave. N.W. % Washington D.C. 20036-1023 % (202) 416-1903 (phone) % (202) 416-6120 (fax) % fharris@aip.org (Internet) % % % \typeout{Filename: osabib.sty, v1.0 <November 20, 1992>} \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces} \def\@cite#1#2{{#1\if@tempswa , #2\fi}} % \def\@biblabel#1{${#1.\,\,\,}$} % \newdimen\WidestRefLabelThusFar \global\WidestRefLabelThusFar\z@ \def\bibcite#1#2{\global\@namedef{b@#1}{#2}\@SetMaxRefLabel{#1}} \def\@SetMaxRefLabel#1{% {% \setbox0\hbox{${\csname b@#1\endcsname}.\,\,\,$}% \ifdim\wd0>\WidestRefLabelThusFar \global\WidestRefLabelThusFar=\wd0 \fi }% } \def\@citex[#1]#2{% \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi \leavevmode\unskip$^{\scriptstyle\@cite{\@collapse{#2}}{#1}}$} \def\CITE{% \@ifnextchar[{\@tempswatrue\@CITEX}{\@tempswafalse\@CITEX[]}% } \let\onlinecite\CITE \def\@CITEX[#1]#2{% \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi \leavevmode\unskip\ \@cite{\@collapse{#2}}{#1}} \let\bylinecite\cite \def\@collapse#1{% {% \let\@temp\relax \@tempcntb\@MM \def\@citea{}% \@for \@citeb:=#1\do{% \@ifundefined{b@\@citeb}% {\@temp\@citea{\bf ?}% \@tempcntb\@MM\let\@temp\relax \@warning{Citation `\@citeb ' on page \thepage\space undefined}% }% {\@tempcnta\@tempcntb \advance\@tempcnta\@ne \edef\MyTemp{\csname b@\@citeb\endcsname}% \def\@tempa{\@temptokena=\bgroup}% \if0A{\fi% \afterassignment\@tempa % \@tempcntb=0\MyTemp\relax}% \ifnum\@tempcntb=0\relax% \@tempcntb=\@MM \@citea\MyTemp \let\@temp = \relax \else % \edef\@tempd{\number\@tempcntb}% \ifnum\@tempcnta=\@tempcntb % \ifx\@temp\relax % \edef\@temp{\@citea\@tempd}% \else \edef\@temp{\hbox{--}\@tempd}% \fi \else % \@temp\@citea\@tempd \let\@temp\relax \fi \fi }% \def\@citea{, }% }% \@temp % }% }% \def\references{% \ifpreprintsty \newpage \hbox to\hsize{\refname\hss}% \else \vskip24pt \hrule width\textwidth\relax \vskip 1.6cm \fi \list{\@biblabel{\arabic{enumiv}}}% {\labelwidth\WidestRefLabelThusFar \labelsep2pt % \leftmargin\labelwidth \advance\leftmargin\labelsep \ifdim\baselinestretch pt>1 pt % \parsep 4pt\relax \else \parsep 0pt\relax \fi \itemsep\parsep \usecounter{enumiv}% \let\p@enumiv\@empty \def\theenumiv{\arabic{enumiv}}% }% \let\newblock\relax \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax \ifpreprintsty\else\small\fi } \def\endreferences{% \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% \endlist \let\@SetMaxRefLabel\@gobble } \def\thebibliography#1{\references} \def\endthebibliography{\endreferences} % % ****** End of file osabib.sty ****** �������������������������������������������������������������extrarpms/revtex/osa.bst����������������������������������������������������������������������������0100644�0000764�0000764�00000050505�07267371705�014732� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ******* Start of file osa.bst ******* % % Copyright (c) 1994, Optical Society of America. % % This is one of the files for the release version of the OSA macros % for REVTEX 3.1. REVTEX 3.1 is being developed by cooperation % between the AAS, AGU, AIP, APS, MRS, and OSA. % % Support is available weekdays, 8:45 am--4:30 pm, East coast % (USA) time. % % Optical Society of America % 2010 Massachusetts Ave. N.W. % Washington D.C. 20036-1023 % (202) 416-1903 (phone) % (202) 416-6120 (fax) % fharris@osa.org (Internet) % % OSA.BST is a BIBTEX style file suitable for use with the OSA % journals Applied Optics, Journal of the Optical Society of % America A, and Journal of the Optical Society of America B. % The style file OSA.BST correctly formats reference citations % for journal articles, books, and meetings proceedings for the % above journals. The APS BIBTEX style file, PRSTY.BST, is % suitable for creating references for the OSA letters journal % Optics Letters. % % OSA.BST was adapted from PRSTY.BST, which was written by % Christopher Hamlin for the American Physical Society. % The adaptation was done by graduate student Bill Bradford of the % University of California, Santa Cruz, with permission. % % Prof. Stanley M. Flatt\'e, Physics Department, University of % California, Santa Cruz % Frank E. Harris, Optical Society of America % % This is the Optical Society of America--style BibTeX style % file intended for REVTeX 3.1 (release date to be determined). %%%%%%%%%%%%%%%%%%%%%%%%%%%% % begin osa.bst % version 3.1 %%%%%%%%%%%%%%%%%%%%%%%%%%%% % % See the REVTeX 3.0 README file for restrictions and more % information. REVTeX 3.1 documentation is not yet available. % %%%%%%%%%%%%%%%%%%%%%%%%%%%% ENTRY { address author booktitle chapter edition editor howpublished institution journal key month note number organization pages publisher school series title type volume year } {} { label } INTEGERS { vol.used i.temp } STRINGS { s t } FUNCTION {output} { duplicate$ empty$ 'pop$ 'write$ if$ } % Note: nothing left on stack for future processing in bibitem. FUNCTION {output.bibitem} { newline$ "\bibitem{" write$ cite$ write$ "}" write$ newline$ } FUNCTION {fin.entry} { add.period$ write$ newline$ } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "{\em " swap$ * "}" * } if$ } FUNCTION {embolden} { duplicate$ empty$ { pop$ "" } { "{\bf " swap$ * "}" * } if$ } FUNCTION {paren} { duplicate$ empty$ { pop$ "" } { "(" swap$ * ")" * } if$ } INTEGERS { nameptr namesleft numnames } INTEGERS { etal } FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames #10 > s numnames "{ll}" format.name$ "others" = numnames #1 > and or 'etal := etal { #1 #1 + 'namesleft := } { numnames 'namesleft := } if$ { namesleft #0 > } { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { nameptr #2 > { "," * } 'skip$ if$ t "others" = etal or { " {\it et~al.}" * } { " and " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.authors} { author empty$ { "" } { author format.names } if$ } FUNCTION {format.edited} { editor empty$ { "" } % { "edited by " editor format.names * } { editor format.names editor num.names$ #1 > { ", eds.," * } { ", ed.," * } if$ } if$ } FUNCTION {format.title} { title empty$ { "" } % 'title { "``" title * ",''" * } if$ } FUNCTION {lc.first.letter} { 't := "" t #1 #1 substring$ "l" change.case$ * t #2 global.max$ substring$ * } FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {first.page} { 't := "" { t empty$ not t #1 #1 substring$ "-" = not and } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } while$ } FUNCTION {format.date} { year empty$ { "" } 'year if$ } FUNCTION {format.btitle} { title emphasize } FUNCTION {format.in.btitle} { "In " booktitle emphasize *} FUNCTION {tie.or.space.connect} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ * * } FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check { "\ pp.\ " pages n.dashify * } { "\ p.\ " pages * } if$ } if$ } FUNCTION {format.pages.a} { pages empty$ { "" } { "page" pages first.page tie.or.space.connect } if$ } %FUNCTION {format.vol.num.pages} %{ volume field.or.null embolden % " " swap$ * * % pages empty$ % 'skip$ % { duplicate$ empty$ % { pop$ format.pages.a } % { ", " * pages first.page * } % if$ % } % if$ %} FUNCTION {format.vol.num.pages} { volume field.or.null % number empty$ % 'skip$ % { "(" number * ")" * * % volume empty$ % { "there's a number but no volume in " cite$ * warning$ } % 'skip$ % if$ % } % if$ pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { "," * embolden " " * pages n.dashify * } if$ } if$ } FUNCTION {if.comma} { { ", " * } 'skip$ if$ } % pushes "" if value passed is empty$ FUNCTION {push.string} { 'i.temp := duplicate$ empty$ { pop$ "" } { i.temp if.comma } if$ } % pushes "" if value passed is empty$ FUNCTION {push.string.check} { 'i.temp := duplicate$ empty$ { pop$ "Warning: " swap$ * " missing in entry " cite$ "." * * * warning$ "" } { swap$ pop$ i.temp if.comma } if$ } % adds nothing if value passed is empty$ FUNCTION {add.string} { 'i.temp := duplicate$ empty$ { pop$ } { * i.temp if.comma } if$ } % adds nothing if value passed is empty$ FUNCTION {add.string.check} { 'i.temp := duplicate$ empty$ { pop$ "Warning: " swap$ * " missing in entry " cite$ "." * * * warning$ } { swap$ pop$ * i.temp if.comma } if$ } FUNCTION {format.vol.page} { "volume" volume embolden #1 push.string.check " " * "pages" pages field.or.null first.page #0 add.string.check " " * } FUNCTION {empty.misc.check} { author empty$ title empty$ howpublished empty$ year empty$ note empty$ and and and and { "All relevant fields are empty in " cite$ * warning$ } 'skip$ if$ } FUNCTION {format.thesis.type} { type empty$ 'skip$ { pop$ type "t" change.case$ } if$ } FUNCTION {format.tr.number} { type empty$ { "Technical Report" } 'type if$ number empty$ { "t" change.case$ } { type empty$ { " No.~" * } { " " * } if$ number * } if$ } FUNCTION {format.etc} { vol.used 'skip$ { number empty$ { volume empty$ 'skip$ { "Vol.~" volume * * chapter empty$ pages empty$ note empty$ and and 'skip$ { ", " * } if$ } if$ } { "No.~" number * * chapter empty$ pages empty$ note empty$ and and 'skip$ { ", " * } if$ } if$ } if$ chapter empty$ 'skip$ { type empty$ { "Chap.~" chapter * * } { type "u" change.case$ "l" change.case$ " " chapter * * * } if$ pages empty$ note empty$ and 'skip$ { ", " * } if$ } if$ pages empty$ 'skip$ { format.pages * note empty$ 'skip$ { ", " * } if$ } if$ note empty$ 'skip$ { note lc.first.letter * } if$ } FUNCTION {format.pub.add.year.etc} { " (" publisher empty$ 'skip$ { publisher ", " * *} if$ address empty$ 'skip$ { address ", " * * } if$ year empty$ 'skip$ 'year if$ ")" * * volume empty$ not number empty$ not or title empty$ series empty$ or and chapter empty$ not or pages empty$ not or type empty$ not or note empty$ not or { ", " * format.etc } 'skip$ if$ } FUNCTION {format.pub.addr} { " (" publisher empty$ 'skip$ { publisher ", " * *} if$ address empty$ 'skip$ { address ", " * * } if$ year empty$ 'skip$ 'year if$ ")" * * } FUNCTION {format.bedition} { edition empty$ { "" } { edition "l" change.case$ duplicate$ "first" = { pop$ "1st " } { duplicate$ "second" = { pop$ "2nd " } { duplicate$ "third" = { pop$ "3rd " } 'skip$ if$ } if$ } if$ " ed." * } if$ } FUNCTION {format.title.and.series.and.org} { #0 'vol.used := "" duplicate$ 's := title empty$ 'skip$ { title 's := } if$ booktitle empty$ 'skip$ { booktitle 's := } if$ s empty$ 'skip$ { type$ "inproceedings" = type$ "proceedings" = or type$ "incollection" = or type$ "inbook" = or { " in " * } { author empty$ not editor empty$ not and { " in " * } 'skip$ if$ } if$ s emphasize series empty$ editor empty$ edition empty$ and and not type$ "inproceedings" = organization empty$ not and type$ "proceedings" = organization empty$ not and or or add.string } if$ series empty$ 'skip$ { s empty$ 'skip$ { number empty$ { volume empty$ 'skip$ { "Vol.~" volume " of " * * * #1 'vol.used := } if$ } { "No.~" number " in " * * * #1 'vol.used := } if$ } if$ series emphasize edition empty$ not editor empty$ not type$ "inproceedings" = organization empty$ not and type$ "proceedings" = organization empty$ not and or or or add.string } if$ type$ "inproceedings" = type$ "proceedings" = or { organization empty$ 'skip$ { organization editor empty$ edition empty$ and not add.string } if$ } 'skip$ if$ } FUNCTION {article} { output.bibitem "author" format.authors #1 push.string.check "title" format.title #0 add.string.check " " * "journal" journal #0 add.string.check " " * output % format.vol.page #0 push.string format.vol.num.pages #0 push.string " " * "date" format.date paren #0 add.string.check note empty$ 'skip$ { ", " * note lc.first.letter * } if$ fin.entry crossref empty$ 'skip$ { "See Ref.\ \cite{" crossref "}." * * write$ newline$ } if$ } FUNCTION {book} { output.bibitem format.authors #1 push.string "title" format.title.and.series.and.org #0 add.string.check format.bedition editor empty$ not add.string output format.edited #0 push.string format.pub.add.year.etc #0 add.string fin.entry crossref empty$ 'skip$ { "See Ref.\ \cite{" crossref "}." * * write$ newline$ } if$ } FUNCTION {booklet} { output.bibitem format.authors #1 push.string "title" format.title #0 add.string.check howpublished empty$ 'skip$ { ", " howpublished * * } if$ address empty$ 'skip$ { ", " address * * } if$ year empty$ 'skip$ { " (" year ")" * * * } if$ note empty$ 'skip$ { ", " note lc.first.letter * * } if$ fin.entry } FUNCTION {inbook} { book } FUNCTION {incollection} { output.bibitem format.authors #1 push.string "title" format.title #0 add.string.check " " * "booktitle" format.title.and.series.and.org #0 add.string.check format.bedition editor empty$ not add.string output format.edited #0 push.string format.pub.add.year.etc #0 add.string fin.entry crossref empty$ 'skip$ { "See Ref.\ \cite{" crossref "}." * * write$ newline$ } if$ } FUNCTION {myseries} { series empty$ {" "} {"\ " series * "\ " *} if$ } FUNCTION {inproceedings} { output.bibitem format.authors #1 push.string "title" format.title #0 add.string.check " " * % "booktitle" format.title.and.series.and.org #0 add.string.check "booktitle" format.in.btitle #0 add.string.check ", " * format.bedition editor empty$ not add.string output format.edited #0 push.string % format.pub.add.year.etc #0 add.string "series" myseries #0 add.string.check % "series" "\ in " * series * ", " * #0 add.string.check % "series" "\ " series * ", " * #0 add.string format.vol.num.pages #0 add.string " " * format.pub.addr #0 add.string note empty$ 'skip$ { ", " * note lc.first.letter * } if$ fin.entry crossref empty$ 'skip$ { "See Ref.\ \cite{" crossref "}." * * write$ newline$ } if$ } FUNCTION {proceedings} { book } FUNCTION {conference} { book } FUNCTION {manual} { output.bibitem "" author empty$ 'skip$ { format.authors #1 add.string } if$ format.btitle edition empty$ address empty$ organization empty$ year empty$ note empty$ and and and and not add.string edition empty$ 'skip$ { format.bedition organization empty$ address empty$ year empty$ note empty$ and and and not add.string } if$ organization empty$ 'skip$ { organization address empty$ year empty$ note empty$ and and not add.string } if$ address empty$ 'skip$ { address year empty$ note empty$ and not add.string } if$ year empty$ 'skip$ { year note empty$ not add.string } if$ note empty$ 'skip$ { note lc.first.letter #0 add.string } if$ fin.entry } FUNCTION {mastersthesis} { output.bibitem "author" format.authors #1 push.string.check title empty$ 'skip$ { "We don't use thesis titles in Phys. Rev, see \cite{" cite$ "}" * * warning$ } if$ "Master's thesis" format.thesis.type #1 add.string "school" school #1 add.string.check address #1 add.string "year" format.date note empty$ not add.string.check note empty$ 'skip$ { note lc.first.letter * } if$ fin.entry } FUNCTION {phdthesis} { output.bibitem "author" format.authors #1 push.string.check title empty$ 'skip$ { "We don't use thesis titles in Phys. Rev, see \cite{" cite$ "}" * * warning$ } if$ "Ph.D. thesis" format.thesis.type #1 add.string "school" school #1 add.string.check address #1 add.string "year" format.date note empty$ not add.string.check note empty$ 'skip$ { note lc.first.letter * } if$ fin.entry } FUNCTION {misc} { output.bibitem format.authors title empty$ howpublished empty$ year empty$ note empty$ and and and not push.string format.title howpublished empty$ year empty$ note empty$ and and not add.string howpublished year empty$ note empty$ and not add.string format.date note empty$ not add.string note empty$ 'skip$ { note author empty$ title empty$ howpublished empty$ year empty$ and and and 'skip$ 'lc.first.letter if$ #0 add.string } if$ fin.entry empty.misc.check } FUNCTION {techreport} { output.bibitem "author" format.authors #1 push.string.check title empty$ 'skip$ % { "We chuck the title of techreports in Phys. Rev.---\cite{" % cite$ "}." * * warning$ % } { "title" format.title #0 add.string.check " " * } if$ format.tr.number institution empty$ address empty$ note empty$ and and not add.string "institution" institution address empty$ note empty$ and not add.string.check address #0 add.string " (" year * ") " * note empty$ not add.string note empty$ 'skip$ { note lc.first.letter * } if$ fin.entry } FUNCTION {unpublished} { output.bibitem "author" format.authors note empty$ not push.string.check note empty$ 'skip$ { note lc.first.letter #0 add.string } if$ " (unpublished)" * fin.entry } FUNCTION {default.type} { misc } MACRO {jan} {"January"} MACRO {feb} {"February"} MACRO {mar} {"March"} MACRO {apr} {"April"} MACRO {may} {"May"} MACRO {jun} {"June"} MACRO {jul} {"July"} MACRO {aug} {"August"} MACRO {sep} {"September"} MACRO {oct} {"October"} MACRO {nov} {"November"} MACRO {dec} {"December"} MACRO {acmcs} {"ACM Comput. Surv."} MACRO {acta} {"Acta Inf."} MACRO {applopt} {"Appl. Opt."} MACRO {cacm} {"Commun. ACM"} MACRO {ibmjrd} {"IBM J. Res. Dev."} MACRO {ibmsj} {"IBM Syst.~J."} MACRO {ieeese} {"IEEE Trans. Softw. Eng."} MACRO {ieeetc} {"IEEE Trans. Comput."} MACRO {ieeetcad} {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} MACRO {ipl} {"Inf. Process. Lett."} MACRO {jacm} {"J.~ACM"} MACRO {jcss} {"J.~Comput. Syst. Sci."} MACRO {scp} {"Sci. Comput. Programming"} MACRO {sicomp} {"SIAM J. Comput."} MACRO {tocs} {"ACM Trans. Comput. Syst."} MACRO {tods} {"ACM Trans. Database Syst."} MACRO {tog} {"ACM Trans. Gr."} MACRO {toms} {"ACM Trans. Math. Softw."} MACRO {toois} {"ACM Trans. Office Inf. Syst."} MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} MACRO {tcs} {"Theor. Comput. Sci."} MACRO {anp} {"Adv. Nucl. Phys."} MACRO {ap} {"Ann. Phys."} MACRO {arnpc} {"Annu. Rev. Nucl. Part. Sci."} MACRO {baps} {"Bull. Am. Phys. Soc."} MACRO {cp} {"Computers Phys."} MACRO {jp} {"J. Phys."} MACRO {josa} {"J. Opt. Soc. Am."} MACRO {josaa} {"J. Opt. Soc. Am. A"} MACRO {josab} {"J. Opt. Soc. Am. B"} MACRO {nim} {"Nucl. Instrum. Meth."} MACRO {np} {"Nucl. Phys."} MACRO {rmp} {"Rev. Mod. Phys."} MACRO {physica} {"Physica"} MACRO {pl} {"Phys. Lett."} MACRO {plb} {"Phys. Lett. B"} MACRO {pr} {"Phys. Rev."} MACRO {pra} {"Phys. Rev. A"} MACRO {prb} {"Phys. Rev. B"} MACRO {prc} {"Phys. Rev. C"} MACRO {prd} {"Phys. Rev. D"} MACRO {pre} {"Phys. Rev. E"} MACRO {prl} {"Phys. Rev. Lett."} MACRO {prep} {"Phys. Rep."} MACRO {ps} {"Phys. Scr."} MACRO {rpp} {"Rep. Prog. Phys."} MACRO {sjnp} {"Sov. J. Nucl. Phys."} MACRO {springmp} {"Springer Tracts in Modern Physics"} MACRO {yadfiz} {"Yad. Fiz."} MACRO {zp} {"Z. Phys."} READ STRINGS { longest.label } INTEGERS { number.label longest.label.width } FUNCTION {initialize.longest.label} { "" 'longest.label := #1 'number.label := #0 'longest.label.width := } FUNCTION {longest.label.pass} { number.label int.to.str$ 'label := number.label #1 + 'number.label := label width$ longest.label.width > { label 'longest.label := label width$ 'longest.label.width := } 'skip$ if$ } EXECUTE {initialize.longest.label} ITERATE {longest.label.pass} FUNCTION {begin.bib} { preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ "\begin{thebibliography}{" longest.label * "}" * write$ newline$ } EXECUTE {begin.bib} ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % end prsty.bst %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/osa.sty����������������������������������������������������������������������������0100644�0000764�0000764�00000067244�07267371705�014771� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ******* Start of file osa.sty ******* % % Copyright (c) 1992, Optical Society of America. % % This is one of the files of the release version of the OSA macros for % REVTEX 3.0. REVTEX 3.0 is being developed by cooperation between the AAS, % AGU, AIP, APS, and OSA. % % % Support is available weekdays, 8:45 am--4:30 pm, East coast(USA) time. % % Frank Harris % Optical Society of America % 2010 Massachusetts Ave. N.W. % Washington D.C. 20036-1023 % (202) 416-1903 (phone) % (202) 416-6120 (fax) % fharris@aip.org (Internet) % % % \typeout{Filename: osa.sty, v1.0 <November 20, 1992>} \def\partname{Part} \def\contentsname{Contents} \def\listfigurename{List of Figures} \def\listtablename{List of Tables} \def\indexname{Index} \def\figurename{Fig.} \def\tablename{Table} \def\abstractname{Abstract} \newif\iffirstfig \global\firstfigtrue \newif\iffirsttab \global\firsttabtrue \def\@tempa{aplop} \ifx\@journal\@tempa \def\refname{\bf References} % \def\acknowledgments{\section*{}} % \else \def\refname{\large\bf REFERENCES} \def\acknowledgments{\section*{ACKNOWLEDGMENTS}} \fi \def\tightenlines{\def\baselinestretch{1}\small\normalsize} \ifx\selectfont\undefined % \@revmess{message}{NFSS not detected. Assuming OFSS.} \let\reset@font\relax \def\mathhexbox{\protect\mathhexbox@} \def\mathhexbox@#1#2#3{\relax \ifmmode\mathpalette{}{\m@th\mathchar"#1#2#3}% \else\leavevmode\hbox{$\m@th\mathchar"#1#2#3$}\fi} \def\text#1{% \relax \ifmmode % \mathchoice {\hbox{\everymath{\displaystyle}\rm #1}}% {\hbox{\everymath{\textstyle}\rm #1}}% {\hbox{\everymath{\scriptstyle}% \def\prm{\fam\z@ \the\scriptfont\z@ \relax}% \def\pit{\fam\itfam \the\scriptfont\itfam \relax}% \rm #1}% }% {\hbox{\everymath{\scriptscriptstyle}% \def\prm{\fam\z@ \the\scriptscriptfont\z@ \relax}% \def\pit{\fam\itfam \the\scriptscriptfont\itfam \relax}% \rm #1}% }% \else % \leavevmode\hbox{#1}% \fi } \def\bbox#1{% \leavevmode\text{% \textfont0 \the\textfont\bffam \scriptfont0 \the\scriptfont\bffam \scriptscriptfont0 \the\scriptscriptfont\bffam \@temptokena\everymath \boldmath \everymath\@temptokena {$\m@th\relax#1$}% }% } \font\fivbf=cmbx5 \font\sixbf=cmbx6 \font\sevbf=cmbx7 \font\egtbf=cmbx8 \expandafter\def\expandafter\ixpt\expandafter{\ixpt \scriptfont\bffam\sixbf \scriptscriptfont\bffam\fivbf} \expandafter\def\expandafter\xpt\expandafter{\xpt \scriptfont\bffam\sevbf \scriptscriptfont\bffam\fivbf} \expandafter\def\expandafter\xipt\expandafter{\xipt \scriptfont\bffam\egtbf \scriptscriptfont\bffam\sixbf} \expandafter\def\expandafter\xiipt\expandafter{\xiipt \scriptfont\bffam\egtbf \scriptscriptfont\bffam\sixbf} \expandafter\def\expandafter\xivpt\expandafter{\xivpt \scriptfont\bffam\tenbf \scriptscriptfont\bffam\sevbf} \else % \@revmess{message}{NFSS detected! Assuming NFSS.} \def\text#1{% \relax\ifmmode \mathchoice {\hbox{{\everymath{\displaystyle}#1}}}% {\hbox{{\everymath{\textstyle}#1}}}% {\hbox{{\everymath{\scriptstyle}\let\f@size\sf@size\selectfont#1}}}% {\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}% \glb@settings \else \mbox{#1}% \fi } \def\bbox#1{% \relax\ifmmode \mathchoice {{\hbox{\boldmath$\displaystyle#1$}}}% {{\hbox{\boldmath$\textstyle#1$}}}% {{\hbox{\boldmath$\scriptstyle#1$}}}% {{\hbox{\boldmath$\scriptscriptstyle#1$}}}% \glb@settings \else \mbox{#1}% \fi } \def\mathhexbox{\protect\mathhexbox@} \def\mathhexbox@#1#2#3{\relax \ifmmode\mathpalette{}{\m@th\mathchar"#1#2#3}% \else\leavevmode\hbox{$\m@th\mathchar"#1#2#3$}\fi} \fi \input osa1\@ptsize.sty\relax % \def\@chuckoptarg[#1]{} \def\labelenumi{\theenumi.} \def\theenumi{\arabic{enumi}} \def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}} \def\p@enumii{\theenumi} \def\labelenumiii{\theenumiii.} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{\theenumiv.} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} \def\labelitemi{$\m@th\bullet$} \def\labelitemii{\bf --} \def\labelitemiii{$\m@th\ast$} \def\labelitemiv{$\m@th\cdot$} \def\verse{\let\\=\@centercr \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} \let\endverse\endlist \def\quotation{\list{}{\listparindent 1.5em \itemindent\listparindent \rightmargin\leftmargin \parsep \z@ plus\p@}\item[]} \let\endquotation=\endlist \def\quote{\list{}{\rightmargin\leftmargin}\item[]} \let\endquote=\endlist \def\descriptionlabel#1{\hspace\labelsep \bf #1} \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} \let\enddescription\endlist \def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn \else \newpage \fi \thispagestyle{empty}\c@page\z@} \def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} \arraycolsep 3pt \tabcolsep 2pt \arrayrulewidth .4pt \doublerulesep 2pt \tabbingsep \labelsep \skip\@mpfootins = \skip\footins \fboxsep = 3pt \fboxrule = .4pt \newcounter{part} \newcounter{section} \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph] \def\thepart {\Roman{part}} \def\thesection {\arabic{section}} \def\p@section {} \def\thesubsection {\Alph{subsection}} \def\p@subsection {\thesection\,} \def\thesubsubsection {\arabic{subsubsection}} \def\p@subsubsection {\thesection\,\thesubsection\,} \def\theparagraph {\alph{paragraph}} \def\thesubparagraph {\theparagraph.\arabic{subparagraph}} \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \let\@svsec\@empty\else \refstepcounter{#1}% \def\@tempa{#8}% \ifx\@tempa\empty % \ifappendixon % \if@mainhead % \def\@tempa{Appendix }\def\@tempb{}% \else % \def\@tempa{}\def\@tempb{. }% \fi \else % \def\@tempa{}\def\@tempb{. }% \fi \else % \ifappendixon % \if@mainhead % \def\@tempa{Appendix }\def\@tempb{: }% \else % \def\@tempa{}\def\@tempb{. }% \fi \else % \def\@tempa{}\def\@tempb{. }% \fi \fi \edef\@svsec{\@tempa\csname the#1\endcsname\@tempb}\fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8}% \endgroup \csname #1mark\endcsname{#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}\else \def\@svsechd{#6\hskip #3\relax %% \@svsec #8\csname #1mark\endcsname {#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}}\fi \@xsect{#5}} \def\@ssect#1#2#3#4#5{\@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M \ifappendixon \if@mainhead % \stepcounter{section}% \def\@tempa{#5}% \ifx\@tempa\empty % Appendix% \else % Appendix: \fi \fi \fi #5}\endgroup \else \def\@svsechd{#4\hskip #1\relax \ifappendixon \if@mainhead % \stepcounter{section}% \def\@tempa{#5}% \ifx\@tempa\empty % Appendix% \else % Appendix: \fi \fi \fi #5}\fi \@xsect{#3}} \def\part{\par \addvspace{4ex} \@afterindentfalse \secdef\@part\@spart} \def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{part} \addcontentsline{toc}{part}{\thepart \hspace{1em}#1}\else \addcontentsline{toc}{part}{#1}\fi {\parindent \z@ \raggedright \interlinepenalty\@M \ifnum \c@secnumdepth >\m@ne \Large \bf \partname~\thepart% \par\nobreak \fi \huge \bf #2% \markboth{}{}\par }\nobreak \vskip 3ex \@afterheading } \def\@spart#1{{\parindent \z@ \raggedright \interlinepenalty\@M \huge \bf #1\par} \nobreak \vskip 3ex \@afterheading } \newskip\@indentwidth \@indentwidth=18.4pt \newcount\@indentflag \global\@indentflag=1 \def\@eqtoeqnum{6pt\relax} \ifpreprintsty % preprint; FL, FR don't work, equations are flush left. % \let\@indentamount=\@centering \def\@indentamount{0pt} \let\FL=\relax \let\FR=\relax \else \def\@indentamount{% \ifcase\@indentflag 0pt\or\@indentwidth\or0pt plus1fil\fi\relax} \def\FL{\global\@indentflag=0 } \def\FR{\global\@indentflag=2 } \fi \newcounter{eqletter} \setcounter{eqletter}{0} \def\@eqnnum{\hbox{\reset@font\rm(\theequation)}} \let\make@eqnnum=\@eqnnum % \def\eqnum#1{\dec@eqnnum \global\def\make@eqnnum{\reset@font\rm(#1)}% \def\@currentlabel{#1}% } \def\inc@eqnnum{\addtocounter{equation}{1}} \def\dec@eqnnum{\addtocounter{equation}{-1}} \@definecounter{equation}% \ifsecnumbers % \@addtoreset{equation}{section} \def\theequation@prefix{\arabic{section}.} \else \def\theequation@prefix{} \fi \def\theequation{\theequation@prefix\arabic{equation}}% \def\mathletters{% \inc@eqnnum \setcounter{eqletter}{0}% \edef\@currentlabel{\theequation}% \def\theequation{\theequation@prefix\arabic{equation}\alph{eqletter}}% \def\inc@eqnnum{\addtocounter{eqletter}{1}}% \def\dec@eqnnum{\addtocounter{eqletter}{-1}}% } \let\endmathletters\relax \def\[{\relax \ifmmode\@badmath\else\par\vskip-\lastskip\vskip\abovedisplayskip\fi \hbox to\hsize\bgroup \def\label##1{\@revmess{warning}{\string\label{##1} used in \string\[\space environment after (\theequation)}}% \hskip\@totalleftmargin\hskip\@indentamount$\displaystyle } \def\]{\relax \ifmmode $\hskip\@centering\egroup \else \@badmath \fi \vskip\belowdisplayskip \global\@indentflag=1 % \noindent\ignorespaces } \newbox\@testboxa \newbox\@testboxb \def\equation{\par\vskip-\lastskip\vskip\abovedisplayskip \inc@eqnnum\let\@currentlabel=\theequation \setbox\@testboxa=\hbox\bgroup\hskip\@totalleftmargin\hskip\@indentamount $\displaystyle } \def\endequation{$\hskip\@centering\egroup % \setbox\@testboxb=\hbox{\unhcopy\@testboxa\kern\@eqtoeqnum\make@eqnnum}% \ifdim\wd\@testboxb>\hsize % \vbox{\hbox to\hsize{\unhbox\@testboxa}% \hbox to\hsize{\hfil\make@eqnnum}}% \else % \hbox to\hsize{\unhbox\@testboxb}% \fi \global\let\make@eqnnum\@eqnnum % \vskip\belowdisplayskip\noindent\global\@indentflag=1 \global\@ignoretrue } \def\eqnarray{\par\vskip-\lastskip\vskip\abovedisplayskip \inc@eqnnum\let\@currentlabel=\theequation \global\@eqnswtrue\m@th \global\@eqcnt\z@ \tabskip\@totalleftmargin\advance\tabskip by\@indentamount\let\\\@eqncr \halign to\hsize\bgroup\hskip\@centering $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne \hfil${{}##{}}$\hfil &\global\@eqcnt\tw@ $\displaystyle\tabskip\z@{##}$\hfil \tabskip\@centering \if@eqnsw\phantom{\make@eqnnum\kern\@eqtoeqnum}\fi &\llap{##}\tabskip\z@\cr} \def\endeqnarray{% \@@eqncr\egroup \vskip\belowdisplayskip\noindent \dec@eqnnum\global\@indentflag=1 \global\let\make@eqnnum\@eqnnum % \global\@ignoretrue } \def\nonumber{\global\@eqnswfalse \def\label##1{\@revmess{error}{\string\label{##1} used with \string\nonumber\space before (\theequation)}}% } \def\@@eqncr{\let\@tempa\relax \ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa{& &}% \else \def\@tempa{&}\fi \@tempa \if@eqnsw\make@eqnnum\inc@eqnnum\fi \global\@eqnswtrue\global\@eqcnt\z@\global\let\make@eqnnum=\@eqnnum\cr } \@namedef{eqnarray*}{\def\@eqncr{\nonumber\@seqncr}% \def\label##1{\@revmess{warning}{\string\label{##1} used in eqnarray* environment before (\theequation)}}% \eqnarray} \def\@pnumwidth{1.55em} \def\@tocrmarg {2.55em} \def\@dotsep{4.5} \setcounter{tocdepth}{3} \def\tableofcontents{\section*{\contentsname \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}% \@starttoc{toc}} \def\l@part#1#2{\addpenalty{\@secpenalty}% \addvspace{2.25em plus\p@}% \begingroup \@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth {\large \bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par \nobreak \endgroup} \def\l@section#1#2{\addpenalty{\@secpenalty}% \addvspace{1.0em plus\p@}% \@tempdima 1.5em \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \bf \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par \endgroup} \def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} \def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} \def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} \def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} \def\listoffigures{\section*{\listfigurename \@mkboth{\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}% \@starttoc{lof}} \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} \def\listoftables{\section*{\listtablename\@mkboth {\uppercase{\listtablename}}{\uppercase{\listtablename}}}% \@starttoc{lot}} \let\l@table\l@figure \def\@tempa{osa} % \def\tempa{\input osabib.sty} % \tempa \newif\if@restonecol \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi \columnseprule \z@ \columnsep 35\p@\twocolumn[\section*{\indexname}]% \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}% \thispagestyle{plain}\parindent\z@ \parskip\z@ plus.3\p@\relax\let\item\@idxitem} \def\@idxitem{\par\hangindent 40\p@} \def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}} \def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}} \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} \long\def\@makefntext#1{\parindent 5pt\hsize\columnwidth\parskip0pt\relax \small\def\strut{\vrule width0pt height0pt depth1.75pt\relax}% $\m@th^{\@thefnmark}$#1} \def\thefootnote{\fnsymbol{footnote}} \def\@fnsymbol#1{\ifcase#1\or *\or \dagger\or \ddagger\or \mathchar "278\or **\or \dagger\dagger \or \ddagger\ddagger \or \mathchar "278 \mathchar "278\or ***\or\dagger\dagger\dagger\or\ddagger\ddagger\ddagger\or \mathchar "278 \mathchar "278 \mathchar "278 \else\@ctrerr\fi\relax} \setcounter{topnumber}{2} \def\topfraction{.7} \setcounter{bottomnumber}{1} \def\bottomfraction{.3} \setcounter{totalnumber}{3} \def\textfraction{.2} \def\floatpagefraction{.5} \setcounter{dbltopnumber}{2} \def\dbltopfraction{.7} \def\dblfloatpagefraction{.5} \long\def\@makecaption#1#2{% \setbox\@testboxa\hbox{\outertabfalse % \reset@font\small\rm#1\penalty10000\hskip4pt plus2pt\ignorespaces#2% }% eo hbox \setbox\@testboxb\vbox{\hsize\@capwidth \ifdim\wd\@testboxa<\hsize % \hbox to\hsize{\box\@testboxa\hfil}% \else % reset as a paragraph \small \parindent \ifpreprintsty 0pt \else 1em \fi % \unhbox\@testboxa\par \fi }% \box\@testboxb } % \newcounter{figure} \def\thefigure{\@arabic\c@figure} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{\figurename\penalty10000\ \thefigure.\hskip1em} \def\figure{% \let\@capwidth\columnwidth \ifpreprintsty\iffirstfig {\newpage\centerline{FIGURES}}\global\firstfigfalse \fi\fi \vskip1pc \def\@captype{figure}% \interlinepenalty10000 % \@ifnextchar[{\@chuckoptarg}{}% }% \def\endfigure{\goodbreak\vskip1pc}% \@namedef{figure*}{\figure}% \@namedef{endfigure*}{\endfigure}% % \newcounter{table} \def\thetable{\@arabic\c@table} % {\catcode`\.=13 % \gdef.{\relax\egroup\def\@flag{1}\setbox1\hbox\bgroup}% }% \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{\tablename\kern.33em\thetable.} \if@floats \else % \def\table{% \let\@capwidth\columnwidth \iffirsttab \global\firsttabfalse \ifpreprintsty{\newpage\centerline{TABLES}}\fi \fi \vskip1pc \global\tableontrue \bgroup\parindent=0pt \outertabtrue \setcounter{tablenote}{0}% \def\@captype{table}% \@ifnextchar[{\@chuckoptarg}{}% }% \def\endtable{% \global\tableonfalse\global\outertabfalse {\let\protect\relax\small\vskip2pt\leftskip = 1em\@tablenotes% \par}\xdef\@tablenotes{}% \egroup \vskip1pc plus 1filll \penalty-200 \vskip0pt plus -1filll }% \@namedef{table*}{\table} \@namedef{endtable*}{\endtable} \fi \@definecounter{tablenote} \def\thetablenote{\it\alph{tablenote}} % \def\@tablenotes{} \def\@maketnmark{\leavevmode\hbox{$^{\reset@font\rm\@thetnmark}\m@th$}} \def\tablenote{\@ifnextchar[{\@xtablenote}{\stepcounter{tablenote}% \begingroup \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup % \@tablenotemark\@tablenotetext}} \def\@xtablenote[#1]{\begingroup \c@tablenote #1\relax \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark\@tablenotetext} \long\def\@tablenotetext#1{% \bgroup \def\protect{\noexpand\protect\noexpand}% \edef\@tempa{\@maketnmark}% \expandafter\expandafter\expandafter \gdef \expandafter\expandafter\expandafter \@tablenotes \expandafter\expandafter\expandafter {\expandafter\@tablenotes\expandafter\par\@tempa#1}% \egroup } \def\tablenotemark{\@ifnextchar[{\@xtablenotemark}{\stepcounter{tablenote}% \begingroup\def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark}} \def\@xtablenotemark[#1]{\begingroup \c@tablenote #1\relax \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark} \def\@tablenotemark{\leavevmode\ifhmode \edef\@x@sf{\the\spacefactor}\fi \@maketnmark \ifhmode\spacefactor\@x@sf\fi\relax} \def\tablenotetext{\@ifnextchar [{\@xtablenotetext}% {\begingroup \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotetext}} \def\@xtablenotetext[#1]{\begingroup \c@tablenote #1\relax \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotetext} \def\tableline{\noalign{\vskip2pt\hrule\vskip2pt}} \newdimen\@Ldec \newdimen\@Rdec \def\dec #1.#2 {\hbox to\@Ldec{\hss#1}\def\test{#2}% \ifx\test\empty\hbox to\@Rdec{\hfill}\else\hbox to\@Rdec{.#2\hss}\fi } \def\setdec #1.#2 {\relax% \bgroup \setbox0\hbox{\kern1pt\relax#1}\setbox1\hbox{\kern1pt\relax#2}% \global\@Ldec\wd0\global\@Rdec\wd1% \egroup } \setdec 000.000 % \def\savecaption{} \def\apstable@array[#1]#2{\setbox\@arstrutbox=\hbox{\vrule height\arraystretch \ht\strutbox depth\arraystretch \dp\strutbox width\z@}\@mkpream{#2}\edef\@preamble{\tabskip\z@ plus 1fil\halign to\@capwidth% \bgroup \tabskip\z@ plus1fill \@arstrut \@preamble\hskip-\tabcolsep \tabskip\z@ plus 1fil \cr}% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox% \bgroup\let\par\relax\outertabfalse% \let\@sharp##\let\protect\relax \def\@startcenterdot{\begingroup \relax\def\@flag{0 }\catcode`\.=13 \setbox0\hbox\bgroup\ignorespaces}% \def\@endcenterdot{\unskip\egroup\catcode`\.=12 \ifnum\@flag=0 % \box0 \else % \ifdim\wd0=0pt % \setbox0\hbox to\wd1{\hss 0}\box0.\box1 \else \ifdim\wd1=0pt % \setbox1=\hbox{\phantom{.\copy0}}\box0\box1 \else % \ifdim\wd0>\wd1 \setbox1\hbox to\wd0{\box1\hfil}% \else \setbox0\hbox to\wd1{\hfil\box0}% \fi \box0.\box1 \fi \fi \fi \endgroup}% \lineskip\z@\baselineskip\z@\@preamble} \def\@array[#1]#2{\setbox\@arstrutbox=\hbox{\vrule height\arraystretch \ht\strutbox depth\arraystretch \dp\strutbox width\z@}\@mkpream{#2}\edef\@preamble{\halign\noexpand\@halignto \bgroup\tabskip\z@\@arstrut\@preamble \tabskip\z@\cr}% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox% \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi% \bgroup\let\par\relax% \let\@sharp##\let\protect\relax \def\@startcenterdot{\begingroup \relax\def\@flag{0 }\catcode`\.=13 \setbox0\hbox\bgroup\ignorespaces}% \def\@endcenterdot{\unskip\egroup\catcode`\.=12 \ifnum\@flag=0 % \box0 \else % \ifdim\wd0=0pt % \setbox0\hbox to\wd1{\hss 0}\box0.\box1 \else \ifdim\wd1=0pt % \setbox1=\hbox{\phantom{.\copy0}}\box0\box1 \else % \ifdim\wd0>\wd1 \setbox1\hbox to\wd0{\box1\hfil}% \else \setbox0\hbox to\wd1{\hfil\box0}% \fi \box0.\box1 \fi \fi \fi \endgroup}% \lineskip\z@\baselineskip\z@\@preamble} \def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi \edef\@preamble{\@preamble \ifcase \@chnum \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil \or \hfil$\relax\@sharp$\or \hfil$\relax\@sharp$\hfil \fi}} \def\@tabclassz{\ifcase \@lastchclass\@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol\or \@firstampfalse \new@tabacol \fi \edef\@preamble{\@preamble{% \ifcase \@chnum \hfil\ignorespaces\@sharp\unskip\hfil \or \ignorespaces\@sharp\unskip\hfil \or \hfil\hskip\z@ \ignorespaces\@sharp\unskip \or\hfil\@startcenterdot\@sharp\@endcenterdot\hfil \fi}}} \def\@tabclassiv{\@addtopreamble\@nextchar} \let\tabbodyfont\small \def\squeezetable{\let\tabbodyfont\scriptsize} \def\tabular{\def\@halignto{}\@tabular} \newif\ifoutertab \global\outertabfalse \def\@tabular{% \ifoutertab \tabbodyfont\global\@newlistfalse\bgroup \else \leavevmode\hbox\bgroup$% \fi \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr \ifoutertab \vskip18pt\hrule width\@capwidth\vskip2pt \expandafter\apstable@tabarray \else \expandafter\@tabarray \fi } \def\apstable@tabarray{% \m@th\@ifnextchar[{\apstable@array}{\apstable@array[c]}% } \def\endtabular{\crcr\egroup\egroup \ifoutertab \vskip3pt\hrule width\@capwidth\vskip2pt \else $% \fi \egroup } \def\new@tabacol{\edef\@preamble{\@preamble \hskip0pt% }} \newif\iftableon \def\@mkpream#1{\@firstamptrue\@lastchclass6 \def\@preamble{}% \def\protect{\noexpand\protect\noexpand}\let\@sharp\relax \let\@startpbox\relax\let\@endpbox\relax \let\@startcenterdot\relax \let\@endcenterdot\relax \@expast{#1}\expandafter\@tfor \expandafter \@nextchar \expandafter:\expandafter=\@tempa\do{\@testpach\@nextchar \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or\@classv \fi% \iftableon\ifoutertab % \ifnum\@chclass=4 \@addtopreamble{\tabskip\z@}% \else \ifnum\@lastchclass=4 \@addtopreamble{\tabskip\z@ plus1fill}% \fi \fi \fi\fi \@lastchclass\@chclass}% \ifcase \@lastchclass \@acol \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi} \def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else \ifnum \@lastchclass=3 5 \else \z@ \if #1c\@chnum \z@ \else \if #1l\@chnum \@ne \else \if #1r\@chnum \tw@ \else \if #1d\@chnum 3 \else % \@chclass \if #1|\@ne \else \if #1@\tw@ \else \if #1p3 \else \z@ \@preamerr 0\fi \fi \fi \fi \fi \fi \fi \fi % \fi} \def\quasitable{% \par\vskip\topsep \bgroup \def\caption##1{\@revmess{warning}{Captions are not supported for quasitables.}\@revmess{warning}{No caption was set.}}% \def\tablenotes##1{\@revmess{warning}{Tablenotes are not supported for quasitables.}% \@revmess{warning}{No tablenotes were set.}}% \tableontrue\outertabtrue\parindent0pt\relax} \def\endquasitable{\par\egroup\vskip\topsep\noindent \global\@ignoretrue} \def\@frontmaterial{} \def\@preprint{} \def\and{\unskip, } \def\preprint#1{% \ifpreprintsty \def\@preprint{\noindent\hfill\hbox{#1}\vskip 10pt}% \fi } \def\title#1{\expandafter\def\expandafter\@frontmaterial\expandafter {\@frontmaterial{\large\bf\centering\ignorespaces#1\par\vskip2pc}}} \def\author#1{\expandafter\def\expandafter\@frontmaterial\expandafter {\@frontmaterial{\vskip-\lastskip\vskip1pc\rm\centering\ignorespaces#1\par}}} \def\address#1{\expandafter\def\expandafter\@frontmaterial\expandafter {\@frontmaterial{\vskip-\lastskip\vskip.2pc% \small\it\centering\ignorespaces#1\par \vskip1pc}}} \def\date#1{\expandafter\def\expandafter\@frontmaterial\expandafter {\@frontmaterial{\vskip-\lastskip\vskip1pc\rm\centering\ignorespaces#1\vskip 1pc}}} \def\maketitle{\par \begingroup \let\cite\bylinecite \let\thanks\footnote \def\thefootnote{\fnsymbol{footnote}}% \if@twocolumn \twocolumn[\@maketitle]% \else \newpage \global\@topnum\z@ % \@maketitle \fi\thispagestyle{plain}\@thanks \endgroup \def\thefootnote{\arabic{footnote}}% \setcounter{footnote}{0}% \let\maketitle\relax \let\@maketitle\relax \gdef\@thanks{}\gdef\@frontmaterial{}\gdef\@title{}\let\thanks\relax} \def\@maketitle{\@preprint\@frontmaterial\gdef\@frontmaterial{}} \def\abstract{% \if@twocolumn \section*{\abstractname}% \else \par \ifpreprintsty \vskip3pc \begin{center}% {\bf\large \abstractname\par}% \end{center}% \fi \bgroup \dimen0\textwidth\advance\dimen0by-5.56in\divide\dimen0by2 \leftskip\dimen0\rightskip\leftskip \small\vrule width 0pt height .6cm \leavevmode \fi} \def\endabstract{\if@twocolumn\else\par\egroup\fi} \def\pacs#1{ \bgroup \dimen0\textwidth\advance\dimen0by-5.56in\divide\dimen0by2 \leftskip\dimen0\rightskip\leftskip\parindent0pt \vskip1pc #1\par \egroup } \mark{{}{}} % \if@twoside % \def\ps@headings{\let\@mkboth\markboth \def\@oddfoot{}\def\@evenfoot{}% \def\@evenhead{\rm \thepage\hfil \sl \leftmark}% \def\@oddhead{{\sl \rightmark}\hfil \rm\thepage}% \def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\z@ \thesection\hskip 1em\relax \fi ##1}}{}}% \def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne \thesubsection\hskip 1em\relax \fi ##1}}} \else \def\ps@headings{\let\@mkboth\markboth \def\@oddfoot{}\def\@evenfoot{}% \def\@oddhead{{\sl \rightmark}\hfil \rm\thepage}% \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@ \thesection\hskip 1em\relax \fi ##1}}}} \fi \def\ps@myheadings{\let\@mkboth\@gobbletwo \def\@oddhead{{\sl\rightmark}\hfil \rm\thepage}% \def\@oddfoot{}\def\@evenhead{\rm \thepage\hfil\sl\leftmark}% \def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}} \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} \ps@plain \pagenumbering{arabic} \if@twoside\else\raggedbottom\fi % \if@twocolumn % \twocolumn \sloppy \raggedbottom % \else \sloppy \onecolumn \raggedbottom % \fi \if@titlepage \@@input titlepag.sty\relax \fi \def\ao{Appl.\ Opt.\ } \def\ap{Appl.\ Phys.\ } \def\apl{Appl.\ Phys.\ Lett.\ } \def\apj{Astrophys.\ J.\ } \def\bell{Bell Syst.\ Tech.\ J.\ } \def\jqe{IEEE J.\ Quantum Electron.\ } \def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.\ } \def\aprop{IEEE Trans.\ Antennas Propag.\ } \def\mtt{IEEE Trans.\ Microwave Theory Tech.\ } \def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.\ } \def\jcp{J.\ Chem.\ Phys.\ } \def\jmo{J.\ Mod.\ Opt.\ } \def\josa{J.\ Opt.\ Soc.\ Am.\ } \def\josaa{J.\ Opt.\ Soc.\ Am.\ A } \def\josab{J.\ Opt.\ Soc.\ Am.\ B } \def\jpp{J.\ Phys.\ (Paris) } \def\nat{Nature (London) } \def\oc{Opt.\ Commun.\ } \def\ol{Opt.\ Lett.\ } \def\pl{Phys.\ Lett.\ } \def\pra{Phys.\ Rev.\ A } \def\prb{Phys.\ Rev.\ B } \def\prl{Phys.\ Rev.\ Lett.\ } \def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.\ } \def\sjqe{Sov.\ J.\ Quantum Electron.\ } \def\vr{Vision Res.\ } \endinput %%%%% end of file OSA.STY %%%%% ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/prabib.sty�������������������������������������������������������������������������0100644�0000764�0000764�00000007771�07267371705�015445� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%------------- Beginning of prabib.sty --------------------- % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, July 1, 1996. % % Copyright (c) 1996 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % \typeout{Filename: prabib.sty, v3.1 <7/1/96>} \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces} \newdimen\WidestRefLabelThusFar \global\WidestRefLabelThusFar\z@ \def\bibcite#1#2{\global\@namedef{b@#1}{#2}\@SetMaxRefLabel{#1}} \def\@SetMaxRefLabel#1{% {% \if\@ExpandsToRefNumber{#1}% \setbox0\hbox{\ifpreprintsty\@normalsize\else\small\fi \rm[\csname b@#1\endcsname]}% \else % \setbox0\hbox{\ifpreprintsty\@normalsize\else\small\fi $\scriptstyle\m@th{\csname b@#1\endcsname}$}% \fi \ifdim\wd0>\WidestRefLabelThusFar \global\WidestRefLabelThusFar=\wd0 \fi }% } % To use \protected@edef (instead of \edef) we have to add the following % three def's (from LaTeX2e) FOR LATEX 2.09 USERS! % --- Hu Wang \ifx\every@math@size\undefined \def\protected@edef{% \let\@@protect\protect \let\protect\@unexpandable@protect \afterassignment\restore@protect \edef} \def\@unexpandable@protect{\noexpand\protect\noexpand} \def\restore@protect{\let\protect\@@protect} \fi %% \def\@ExpandsToRefNumber #1{% TT\fi % \@ifundefined{b@#1}% {\@tempcntb=1 }% % using \edef is bad here! Christian Spieler and David Carlisle suggest % The fix: use \protected@edef ! % {\protected@edef\@tempb{\csname b@#1\endcsname}% \def\@tempa{\@temptokena=\bgroup}% \if0A { \else \fi % \afterassignment\@tempa \@tempcntb=0\@tempb}% }% \ifnum\@tempcntb>0 % }% \def\cite{\@ifnextchar[{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}} \let\CITE\cite \let\onlinecite\cite \def\@citex[#1]#2{% \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi \leavevmode\unskip\ \@cite{\@collapse{#2}}{#1}} \def\@bylinecite{% \@ifnextchar[{\@tempswatrue\@CITEX}{\@tempswafalse\@CITEX[]}% } \def\@CITEX[#1]#2{% \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi \leavevmode\unskip$^{\scriptstyle\@CITE{\@collapse{#2}}{#1}}$} \def\@cite#1#2{[{#1\if@tempswa , #2\fi}]} % \def\@CITE#1#2{{#1\if@tempswa , #2\fi}} % \def\@lbibitem[#1]#2{\item[\@BIBLABEL{#1}]\if@filesw {\def\protect##1{\string ##1\space}\immediate \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} \def\@biblabel#1{{[#1]}} % \def\@BIBLABEL#1{$^{#1}\m@th$} % \def\references{% \ifpreprintsty \newpage \hbox to\hsize{\hss\large \refname\hss}% \else \vskip24pt \hrule width\hsize\relax \vskip 1.6cm \fi \list{\@biblabel{\arabic{enumiv}}}% {\labelwidth\WidestRefLabelThusFar \labelsep4pt % \leftmargin\labelwidth % \advance\leftmargin\labelsep % \ifdim\baselinestretch pt>1 pt % \parsep 4pt\relax % \else % \parsep 0pt\relax % \fi \itemsep\parsep % \usecounter{enumiv}% \let\p@enumiv\@empty \def\theenumiv{\arabic{enumiv}}% }% \let\newblock\relax % \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax \ifpreprintsty\else\small\fi } \def\endreferences{% \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% \endlist \let\@SetMaxRefLabel\@gobble } \def\thebibliography#1{\references} \def\endthebibliography{\endreferences} \def\@collapse#1{% {% \let\@temp\relax \@tempcntb\@MM \def\@citea{}% \@for \@citeb:=#1\do{% \@ifundefined{b@\@citeb}% {\@temp\@citea{\bf ?}% \@tempcntb\@MM\let\@temp\relax \@warning{Citation `\@citeb ' on page \thepage\space undefined}% }% {\@tempcnta\@tempcntb \advance\@tempcnta\@ne \edef\MyTemp{\csname b@\@citeb\endcsname}% \def\@tempa{\@temptokena=\bgroup}% \if0A{\fi% \afterassignment\@tempa % \@tempcntb=0\MyTemp\relax}% \ifnum\@tempcntb=0\relax% \@tempcntb=\@MM \@citea\MyTemp \let\@temp = \relax \else % \edef\@tempd{\number\@tempcntb}% \ifnum\@tempcnta=\@tempcntb % \ifx\@temp\relax % \edef\@temp{\@citea\@tempd}% \else \edef\@temp{\hbox{--}\@tempd}% \fi \else % \@temp\@citea\@tempd \let\@temp\relax \fi \fi }% \def\@citea{,}% }% \@temp % }% }% % % ****** End of file prabib.sty ****** �������extrarpms/revtex/prbbib.sty�������������������������������������������������������������������������0100644�0000764�0000764�00000005624�07267371705�015441� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file prbbib.sty ****** % % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, July 1, 1996. % % Copyright (c) 1996 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % \typeout{Filename: prbbib.sty, v3.1 <7/1/1996>} \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces} \def\@cite#1#2{{#1\if@tempswa , #2\fi}} % \def\@biblabel#1{$^{#1}$} % \def\@lbibitem[#1]#2{\item[\@biblabel{#1}]\if@filesw {\def\protect##1{\string ##1\space}\immediate \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} \newdimen\WidestRefLabelThusFar \global\WidestRefLabelThusFar\z@ \def\bibcite#1#2{\global\@namedef{b@#1}{#2}\@SetMaxRefLabel{#1}} \def\@SetMaxRefLabel#1{% {% \setbox0\hbox{$^{\csname b@#1\endcsname}$}% \ifdim\wd0>\WidestRefLabelThusFar \global\WidestRefLabelThusFar=\wd0 \fi }% } \def\@citex[#1]#2{% \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi \leavevmode\unskip$^{\scriptstyle\@cite{\@collapse{#2}}{#1}}$} \def\CITE{% \@ifnextchar[{\@tempswatrue\@CITEX}{\@tempswafalse\@CITEX[]}% } \let\onlinecite\CITE \def\@CITEX[#1]#2{% \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi \leavevmode\unskip\ \@cite{\@collapse{#2}}{#1}} \let\@bylinecite\cite \def\@collapse#1{% {% \let\@temp\relax \@tempcntb\@MM \def\@citea{}% \@for \@citeb:=#1\do{% \@ifundefined{b@\@citeb}% {\@temp\@citea{\bf ?}% \@tempcntb\@MM\let\@temp\relax \@warning{Citation `\@citeb ' on page \thepage\space undefined}% }% {\@tempcnta\@tempcntb \advance\@tempcnta\@ne \edef\MyTemp{\csname b@\@citeb\endcsname}% \def\@tempa{\@temptokena=\bgroup}% \if0A{\fi% \afterassignment\@tempa % \@tempcntb=0\MyTemp\relax}% \ifnum\@tempcntb=0\relax% \@tempcntb=\@MM \@citea\MyTemp \let\@temp = \relax \else % \edef\@tempd{\number\@tempcntb}% \ifnum\@tempcnta=\@tempcntb % \ifx\@temp\relax % \edef\@temp{\@citea\@tempd}% \else \edef\@temp{\hbox{--}\@tempd}% \fi \else % \@temp\@citea\@tempd \let\@temp\relax \fi \fi }% \def\@citea{, }% }% \@temp % }% }% \def\references{% \ifpreprintsty \newpage \hbox to\hsize{\hss\large \refname\hss}% \else \vskip24pt \hrule width\hsize\relax \vskip 1.6cm \fi \list{\@biblabel{\arabic{enumiv}}}% {\labelwidth\WidestRefLabelThusFar \labelsep2pt % \leftmargin\labelwidth % \advance\leftmargin\labelsep % \ifdim\baselinestretch pt>1 pt % \parsep 4pt\relax % \else % \parsep 0pt\relax % \fi \itemsep\parsep % \usecounter{enumiv}% \let\p@enumiv\@empty \def\theenumiv{\arabic{enumiv}}% }% \let\newblock\relax % \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax \ifpreprintsty\else\small\fi } \def\endreferences{% \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% \endlist \let\@SetMaxRefLabel\@gobble } \def\thebibliography#1{\references} \def\endthebibliography{\endreferences} % % ****** End of file prbbib.sty ****** ������������������������������������������������������������������������������������������������������������extrarpms/revtex/prsty.bst��������������������������������������������������������������������������0100644�0000764�0000764�00000046654�07267371705�015343� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % begin prsty.bst % % version 3.1, June 11, 1993 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % This file is part of the APS files in the REVTeX 3.1 distribution. % % Version 3.1 of REVTeX. % % % % Copyright (c) 1996 The American Physical Society. % % % % See the REVTeX 3.1 README file for restrictions and more information. % % Search for CUSTOMIZATION below to read about setting variables to % % control automatic use of ``et al.'' and automatic abbreviation. % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This is a bibtex style file to produce Physical-Review--style % % references for inclusion in LaTeX/REVTeX documents. % % Main problem: crossref handling is terrible % % Some documentation is available (e-mail below) % % Contact: APS Liaison Office, mis@aps.org (Internet) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ENTRY { address author booktitle chapter edition editor howpublished institution journal key month note number organization pages publisher school series title type volume year } {} { label } INTEGERS { useetal useabbrev } % % CUSTOMIZATION % % The assignments in the following function allow you to customize % your version of prsty.bst. You may wish to copy the file to another % name and customize for your personal use, if other people use this % copy of prsty.bst. % % There are two variables that can be set: useetal and useabbrev. % % The useetal variable controls the use of ``et al.''. Setting the first two % lines in the function ``init.stuff'' below as % % %#0 'useetal := % #1 'useetal := % % will substitute ``et al.'' when there are over four author names. Setting % the lines as % % #0 'useetal := % %#1 'useetal := % % will print all author names, no matter how many are used. (The only change % is which of the two lines starts with a % character.) % % The useabbrev variable controls the use of ``et al.''. Setting the last % two lines in the function ``init.stuff'' below as % % %#0 'useabbrev := % #1 'useabbrev := % % will abbreviate the first names of all authors. Setting the lines as % % #0 'useabbrev := % %#1 'useabbrev := % % will print all author first names in full, no matter how long. % % The defaults are to use et al. for over 4 authors and abbreviate first names FUNCTION {init.stuff} { #0 'useetal := %#1 'useetal := %#0 'useabbrev := #1 'useabbrev := } INTEGERS { vol.used i.temp } STRINGS { s t } FUNCTION {output} { duplicate$ empty$ 'pop$ 'write$ if$ } % Note: nothing left on stack for future processing in bibitem. FUNCTION {output.bibitem} { newline$ "\bibitem{" write$ cite$ write$ "}" write$ newline$ } FUNCTION {fin.entry} { add.period$ write$ newline$ } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "{\em " swap$ * "}" * } if$ } FUNCTION {embolden} { duplicate$ empty$ { pop$ "" } { "{\bf " swap$ * "}" * } if$ } FUNCTION {paren} { duplicate$ empty$ { pop$ "" } { "(" swap$ * ")" * } if$ } INTEGERS { nameptr namesleft numnames etal } FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames #4 > s numnames "{ll}" format.name$ "others" = numnames #1 > and or 'etal := useetal { } { #0 'etal := } if$ etal { #1 #1 + 'namesleft := } { numnames 'namesleft := } if$ { namesleft #0 > } { useabbrev { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := } { s nameptr "{ff }{vv~}{ll}{, jj}" format.name$ 't := } if$ nameptr #1 > { namesleft #1 > { ", " * t * } { nameptr #2 > { "," * } 'skip$ if$ t "others" = etal or { " {\it et~al.}" * } { " and " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.authors} { author empty$ { "" } { author format.names } if$ } FUNCTION {format.edited} { editor empty$ { "" } { "edited by " editor format.names * } if$ } FUNCTION {format.title} { title empty$ { "" } 'title if$ } FUNCTION {lc.first.letter} { 't := "" t #1 #1 substring$ "l" change.case$ * t #2 global.max$ substring$ * } FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {first.page} { 't := "" { t empty$ not t #1 #1 substring$ "-" = not and } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } while$ } FUNCTION {format.date} { year empty$ { "" } 'year if$ } FUNCTION {format.btitle} { title emphasize } FUNCTION {tie.or.space.connect} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ * * } FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check { "pp.\ " pages n.dashify * } { "p.\ " pages * } if$ } if$ } FUNCTION {format.pages.a} { pages empty$ { "" } { "page" pages first.page tie.or.space.connect } if$ } FUNCTION {format.vol.num.pages} { volume field.or.null embolden " " swap$ * * pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages.a } { ", " * pages first.page * } if$ } if$ } FUNCTION {if.comma} { { ", " * } 'skip$ if$ } % pushes "" if value passed is empty$ FUNCTION {push.string} { 'i.temp := duplicate$ empty$ { pop$ "" } { i.temp if.comma } if$ } % pushes "" if value passed is empty$ FUNCTION {push.string.check} { 'i.temp := duplicate$ empty$ { pop$ "Warning: " swap$ * " missing in entry " cite$ "." * * * warning$ "" } { swap$ pop$ i.temp if.comma } if$ } % adds nothing if value passed is empty$ FUNCTION {add.string} { 'i.temp := duplicate$ empty$ { pop$ } { * i.temp if.comma } if$ } % adds nothing if value passed is empty$ FUNCTION {add.string.check} { 'i.temp := duplicate$ empty$ { pop$ "Warning: " swap$ * " missing in entry " cite$ "." * * * warning$ } { swap$ pop$ * i.temp if.comma } if$ } FUNCTION {format.vol.page} { "volume" volume embolden #1 push.string.check " " * "pages" pages field.or.null first.page #0 add.string.check " " * } FUNCTION {empty.misc.check} { author empty$ title empty$ howpublished empty$ year empty$ note empty$ and and and and { "All relevant fields are empty in " cite$ * warning$ } 'skip$ if$ } FUNCTION {format.thesis.type} { type empty$ 'skip$ { pop$ type "t" change.case$ } if$ } FUNCTION {format.tr.number} { type empty$ { "Technical Report" } 'type if$ number empty$ { "t" change.case$ } { type empty$ { " No.~" * } { " " * } if$ number * } if$ } FUNCTION {format.etc} { vol.used 'skip$ { number empty$ { volume empty$ 'skip$ { "Vol.~" volume * * chapter empty$ pages empty$ note empty$ and and 'skip$ { ", " * } if$ } if$ } { "No.~" number * * chapter empty$ pages empty$ note empty$ and and 'skip$ { ", " * } if$ } if$ } if$ chapter empty$ 'skip$ { type empty$ { "Chap.~" chapter * * } { type "u" change.case$ "l" change.case$ " " chapter * * * } if$ pages empty$ note empty$ and 'skip$ { ", " * } if$ } if$ pages empty$ 'skip$ { format.pages * note empty$ 'skip$ { ", " * } if$ } if$ note empty$ 'skip$ { note lc.first.letter * } if$ } FUNCTION {format.pub.add.year.etc} { " (" publisher empty$ { "PUBLISHER" "No publisher for entry " cite$ "." * * warning$ } { publisher } if$ ", " * * address empty$ { "ADDRESS" "Missing address in entry " cite$ * "." * warning$ } { address } if$ ", " * * year empty$ { "YEAR" } 'year if$ ")" * * volume empty$ not number empty$ not or title empty$ series empty$ or and chapter empty$ not or pages empty$ not or type empty$ not or note empty$ not or { ", " * format.etc } 'skip$ if$ } FUNCTION {format.bedition} { edition empty$ { "" } { edition "l" change.case$ duplicate$ "first" = { pop$ "1st " } { duplicate$ "second" = { pop$ "2nd " } { duplicate$ "third" = { pop$ "3rd " } 'skip$ if$ } if$ } if$ " ed." * } if$ } FUNCTION {format.title.and.series.and.org} { #0 'vol.used := "" duplicate$ 's := title empty$ 'skip$ { title 's := } if$ booktitle empty$ 'skip$ { booktitle 's := } if$ s empty$ 'skip$ { type$ "inproceedings" = type$ "proceedings" = or type$ "inbook" = or { " in " * } { author empty$ not editor empty$ not and { " in " * } 'skip$ if$ } if$ s emphasize series empty$ editor empty$ edition empty$ and and not type$ "inproceedings" = organization empty$ not and type$ "proceedings" = organization empty$ not and or or add.string } if$ series empty$ 'skip$ { s empty$ 'skip$ { number empty$ { volume empty$ 'skip$ { "Vol.~" volume " of " * * * #1 'vol.used := } if$ } { "No.~" number " in " * * * #1 'vol.used := } if$ } if$ series emphasize edition empty$ not editor empty$ not type$ "inproceedings" = organization empty$ not and type$ "proceedings" = organization empty$ not and or or or add.string } if$ type$ "inproceedings" = type$ "proceedings" = or { organization empty$ 'skip$ { organization editor empty$ edition empty$ and not add.string } if$ } 'skip$ if$ } FUNCTION {article} { output.bibitem "author" format.authors #1 push.string.check "journal" journal #0 add.string.check " " * output format.vol.page #0 push.string " " * "date" format.date paren #0 add.string.check note empty$ 'skip$ { ", " * note lc.first.letter * } if$ fin.entry crossref empty$ 'skip$ { "See Ref.\ \cite{" crossref "}." * * write$ newline$ } if$ } FUNCTION {book} { output.bibitem format.authors #1 push.string "title" format.title.and.series.and.org #0 add.string.check format.bedition editor empty$ not add.string output format.edited #0 push.string format.pub.add.year.etc #0 add.string fin.entry crossref empty$ 'skip$ { "See Ref.\ \cite{" crossref "}." * * write$ newline$ } if$ } FUNCTION {booklet} { output.bibitem format.authors #1 push.string "title" format.title #0 add.string.check howpublished empty$ 'skip$ { ", " howpublished * * } if$ address empty$ 'skip$ { ", " address * * } if$ year empty$ 'skip$ { " (" year ")" * * * } if$ note empty$ 'skip$ { ", " note lc.first.letter * * } if$ fin.entry } FUNCTION {inbook} { book } FUNCTION {incollection} { book } FUNCTION {inproceedings}{ book } FUNCTION {proceedings} { book } FUNCTION {conference} { book } FUNCTION {manual} { output.bibitem "" author empty$ 'skip$ { format.authors #1 add.string } if$ format.btitle edition empty$ address empty$ organization empty$ year empty$ note empty$ and and and and not add.string edition empty$ 'skip$ { format.bedition organization empty$ address empty$ year empty$ note empty$ and and and not add.string } if$ organization empty$ 'skip$ { organization address empty$ year empty$ note empty$ and and not add.string } if$ address empty$ 'skip$ { address year empty$ note empty$ and not add.string } if$ year empty$ 'skip$ { year note empty$ not add.string } if$ note empty$ 'skip$ { note lc.first.letter #0 add.string } if$ fin.entry } FUNCTION {mastersthesis} { output.bibitem "author" format.authors #1 push.string.check title empty$ 'skip$ { "We don't use thesis titles in Phys. Rev, see \cite{" cite$ "}" * * warning$ } if$ "Master's thesis" format.thesis.type #1 add.string "school" school #1 add.string.check address #1 add.string "year" format.date note empty$ not add.string.check note empty$ 'skip$ { note lc.first.letter * } if$ fin.entry } FUNCTION {phdthesis} { output.bibitem "author" format.authors #1 push.string.check title empty$ 'skip$ { "We don't use thesis titles in Phys. Rev, see \cite{" cite$ "}" * * warning$ } if$ "Ph.D. thesis" format.thesis.type #1 add.string "school" school #1 add.string.check address #1 add.string "year" format.date note empty$ not add.string.check note empty$ 'skip$ { note lc.first.letter * } if$ fin.entry } FUNCTION {misc} { output.bibitem format.authors title empty$ howpublished empty$ year empty$ note empty$ and and and not push.string format.title howpublished empty$ year empty$ note empty$ and and not add.string howpublished year empty$ note empty$ and not add.string format.date note empty$ not add.string note empty$ 'skip$ { note author empty$ title empty$ howpublished empty$ year empty$ and and and 'skip$ 'lc.first.letter if$ #0 add.string } if$ fin.entry empty.misc.check } FUNCTION {techreport} { output.bibitem "author" format.authors #1 push.string.check title empty$ 'skip$ { "We chuck the title of techreports in Phys. Rev.---\cite{" cite$ "}." * * warning$ } if$ format.tr.number institution empty$ address empty$ note empty$ and and not add.string "institution" institution address empty$ note empty$ and not add.string.check address #0 add.string " (unpublished)" note empty$ not add.string note empty$ 'skip$ { note lc.first.letter * } if$ fin.entry } FUNCTION {unpublished} { output.bibitem "author" format.authors note empty$ not push.string.check note empty$ 'skip$ { note lc.first.letter #0 add.string } if$ " (unpublished)" * fin.entry } FUNCTION {default.type} { misc } MACRO {jan} {"January"} MACRO {feb} {"February"} MACRO {mar} {"March"} MACRO {apr} {"April"} MACRO {may} {"May"} MACRO {jun} {"June"} MACRO {jul} {"July"} MACRO {aug} {"August"} MACRO {sep} {"September"} MACRO {oct} {"October"} MACRO {nov} {"November"} MACRO {dec} {"December"} MACRO {acmcs} {"ACM Comput. Surv."} MACRO {acta} {"Acta Inf."} MACRO {applopt} {"Appl. Opt."} MACRO {cacm} {"Commun. ACM"} MACRO {ibmjrd} {"IBM J. Res. Dev."} MACRO {ibmsj} {"IBM Syst.~J."} MACRO {ieeese} {"IEEE Trans. Softw. Eng."} MACRO {ieeetc} {"IEEE Trans. Comput."} MACRO {ieeetcad} {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} MACRO {ipl} {"Inf. Process. Lett."} MACRO {jacm} {"J.~ACM"} MACRO {jcss} {"J.~Comput. Syst. Sci."} MACRO {scp} {"Sci. Comput. Programming"} MACRO {sicomp} {"SIAM J. Comput."} MACRO {tocs} {"ACM Trans. Comput. Syst."} MACRO {tods} {"ACM Trans. Database Syst."} MACRO {tog} {"ACM Trans. Gr."} MACRO {toms} {"ACM Trans. Math. Softw."} MACRO {toois} {"ACM Trans. Office Inf. Syst."} MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} MACRO {tcs} {"Theor. Comput. Sci."} MACRO {anp} {"Adv. Nucl. Phys."} MACRO {ap} {"Ann. Phys."} MACRO {arnpc} {"Annu. Rev. Nucl. Part. Sci."} MACRO {baps} {"Bull. Am. Phys. Soc."} MACRO {cp} {"Computers Phys."} MACRO {jp} {"J. Phys."} MACRO {josa} {"J. Opt. Soc. Am."} MACRO {josaa} {"J. Opt. Soc. Am. A"} MACRO {josab} {"J. Opt. Soc. Am. B"} MACRO {nim} {"Nucl. Instrum. Meth."} MACRO {np} {"Nucl. Phys."} MACRO {rmp} {"Rev. Mod. Phys."} MACRO {physica} {"Physica"} MACRO {pl} {"Phys. Lett."} MACRO {plb} {"Phys. Lett. B"} MACRO {pr} {"Phys. Rev."} MACRO {pra} {"Phys. Rev. A"} MACRO {prb} {"Phys. Rev. B"} MACRO {prc} {"Phys. Rev. C"} MACRO {prd} {"Phys. Rev. D"} MACRO {pre} {"Phys. Rev. E"} MACRO {prl} {"Phys. Rev. Lett."} MACRO {prep} {"Phys. Rep."} MACRO {ps} {"Phys. Scr."} MACRO {rpp} {"Rep. Prog. Phys."} MACRO {sjnp} {"Sov. J. Nucl. Phys."} MACRO {springmp} {"Springer Tracts in Modern Physics"} MACRO {yadfiz} {"Yad. Fiz."} MACRO {zp} {"Z. Phys."} READ STRINGS { longest.label } INTEGERS { number.label longest.label.width } FUNCTION {initialize.longest.label} { "" 'longest.label := #1 'number.label := #0 'longest.label.width := } FUNCTION {longest.label.pass} { number.label int.to.str$ 'label := number.label #1 + 'number.label := label width$ longest.label.width > { label 'longest.label := label width$ 'longest.label.width := } 'skip$ if$ } EXECUTE {initialize.longest.label} ITERATE {longest.label.pass} FUNCTION {begin.bib} { preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ init.stuff "\begin{thebibliography}{" longest.label * "}" * write$ newline$ } EXECUTE {begin.bib} ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % end prsty.bst % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ������������������������������������������������������������������������������������extrarpms/revtex/README.rmp�������������������������������������������������������������������������0100644�0000764�0000764�00000003674�07267371705�015120� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ This file provides information on the initial version of a REVTeX style file for RMP authors. If you do not have TeX, LaTeX, and REVTeX v3.1, you should first obtain and install these packages. If you already have these installed, then very little is required to use the RMP macros. You should have received or acquired: readme.rmp (this file) rmp.sty (REVTeX style file for RMP style) To install, just put the rmp.sty file into the directory that holds all of your other .sty files, or put it into the directory where you will be working on your RMP compuscript file. It may be better to keep the file in a completely separate directory since this is just the initial version, and may soon be superceded. To use the RMP style file, simply use the documentstyle line: \documentstyle[rmp,aps]{revtex} You should make sure that you are using REVTeX v3.1. You can use the eqsecnum style option with the rmp style option. Here are the differences between the RMP style and the existing REVTeX styles for other journals: (1) The front matter, section headings, figure and table captions, references, and section cross references are all set in the proper RMP styles when rmp.sty is in use. (2) The table of contents macro has been rewritten to give RMP-style output automatically. (3) Reference citations and ordering of the reference list in the RMP style must be accomplished "manually." There is no automatic numbering or ordering of the references in the reference list, and no automatic cross referencing (i.e., the \cite{#1} command will not work). There is no BibTeX style file for RMP at this time. Please contact us with any questions or comments --- REVTeX Support American Physical Society Internet: mis@aps.org 1 Research Rd. Box 9000 Telephone: (516) 591-4000 Ridge, New York 11961-9000 Fax: (516) 591-4141 ��������������������������������������������������������������������extrarpms/revtex/README.seg�������������������������������������������������������������������������0100644�0000764�0000764�00000004466�07267371705�015100� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ This directory contains an experimental version of SEG style files within the REVTeX frame work. Copy the following files to where you usually keep your tex style files: seg.sty master style file seg12.sty internal style file for manuscripts seg10.sty internal style file for manuscripts segabstract.sty internal style particulars for SEG abstracts segbib.sty bibliography hadling file for bibtex seg.bst bibtex style file for citations revtex.sty modified version of the original revtex file to allow for seg style epsf.sty macros to include PostScript figures in the document (this is the unmodified version of epfs.sty as distributed with dvips (from labrea.stanford.edu) Then look at the following files after running latex on them: segman.tex a brief guide for prepraring seg papers segskeleton.tex a paper skeleton file using seg.sty easybib.tex a paper explaining how to use bibtex manend.tex an appendix listing the commands and symbols used in revtex (tensor, vector) are seg specific Utilities for Bibliographies: Georom2Bib a perl script that attempts to convert the Ascii index to a bibliography file including abstracts (has some known problem in matching authro patterns) emconvert a emacs batch script to convert cumulative digital index to bibliography files refer2bibtex.el a emacs lisp script to convert Refer format to Bibtex used by emconvert (latest script is available at emacs ftp sites, we include it here only for convenience) last change to SEGTeX package: Martin Karrenbach 4-21-94 ( martin@sep.stanford.edu ) added abberviation journal in sep.bst Martin Karrenbach 3-27-94 ( martin@sep.stanford.edu ) added legalsize options (thanks to Craig Artley) Martin Karrenbach 3-25-94 ( martin@sep.stanford.edu ) added exp. abstract support (thanks to Bill Harlan) Martin Karrenbach 11-29-93 ( martin@sep.stanford.edu ) fixed numbering in appendix Martin Karrenbach 11-06-93 ( martin@sep.stanford.edu ) added plot placement Martin Karrenbach 10-28-93 ( martin@sep.stanford.edu ) Martin Karrenbach 9-13-93 ( martin@sep.stanford.edu ) still todo: camera ready copies interactivity ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/reftest.tex������������������������������������������������������������������������0100644�0000764�0000764�00000011015�07267371705�015625� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file reftest.tex ****** % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, July 1, 1996. % % Copyright (c) 1996 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % % \documentstyle[aps]{revtex} \begin{document} \typeout{Filename: reftest.tex, v0.02 <1 July 1996>} \makeatletter \def\newlabel#1#2{} \let\@writefile\newlabel \def\bibdata#1{} \let\bibstyle\newlabel \newcount\bibcount \bibcount0 \newcount\citecount \citecount0 \def\bibcite#1#2{% \advance\bibcount by1 \xdef\@tempb{bib#1}% \expandafter\ifx\csname\@tempb\endcsname\relax % \def\@tempa{\expandafter\xdef\csname \@tempb\endcsname{\the\bibcount}% \expandafter\xdef\csname bib@num\the\bibcount\endcsname{#1}% }% \else % \def\@tempa{\typeout{*** Tag "#1" used in more than one \string\bibitem.}% \typeout{\space\space\space\space You must correct this first.}% \end{document}% } \fi \@tempa } \def\citation#1{% \@for\@tempa:={#1}\do {\edef\@tempb{cite\@tempa}% \expandafter\ifx\csname\@tempb\endcsname\relax % \advance\citecount by1 \expandafter\xdef\csname \@tempb\endcsname{\the\citecount}% \expandafter\xdef\csname cite@num\the\citecount\endcsname{\@tempa}% \fi }% } \typeout{} \typein[\filename]{Type in file name (no extension)} \expandafter\input\expandafter{\filename.aux} \xdef\bibtotal{\the\bibcount} \xdef\citetotal{\the\citecount} \newcount\index \index0 \def\uncitedbibs{} \loop\ifnum\index<\bibtotal \advance\index by1 \xdef\@tempa{\csname bib@num\the\index\endcsname}% \expandafter\ifx\csname cite\@tempa\endcsname\relax \xdef\uncitedbibs{\uncitedbibs\csname bib@num\the\index\endcsname, } \fi \repeat \index0 \def\undefinedcites{} \loop\ifnum\index<\citetotal \advance\index by1 \xdef\@tempa{\csname cite@num\the\index\endcsname}% \expandafter\ifx\csname bib\@tempa\endcsname\relax \xdef\undefinedcites{\undefinedcites\csname cite@num\the\index\endcsname, } \fi \repeat \index0 \newcount\errcount \errcount0 \def\strut{\vrule height12pt depth4pt width0pt} \def\addit#1#2{% \bgroup \let\bf\relax \xdef\ordertable{\ordertable \hbox to\hsize {\vrule\hbox to.5\hsize{\hss#1\hss}\hss\vrule\hss\strut \hbox to.5\hsize{\hss#2\hss}\vrule}% \hrule \vskip1sp %added 5/9/95 mtp to make table break pages }% \egroup } \def\ordertable{}% \loop\ifnum\index<\citetotal \advance\index by1 \xdef\@tempa{\csname cite@num\the\index\endcsname}% \xdef\@tempb{\csname bib@num\the\index\endcsname}% \expandafter\ifx\csname bib\@tempa\endcsname\relax % \addit{\@tempa}{{\bf Undefined in bibiography/references.}}% \else % \ifx\@tempa\@tempb % \addit{\@tempa}{{OK in bibiography/references.}} \else % \advance \errcount by 1 \addit{\@tempa}{{\bf Out of order in bibiography/references.}} \fi \fi \repeat \typeout{} \typeout{% * Bibitems that were not cited: \ifx\uncitedbibs\empty none. \else \uncitedbibs please cite or remove these bibitems. \fi } \typeout{} \typeout{% * Undefined citations: \ifx\undefinedcites\empty none. \else \undefinedcites please add bibitems or remove these cites. \fi } \typeout{} \typeout{% \ifnum\errcount=0 * The order of the bibitems is OK. \else * The order of the bibitems is wrong. Preview reftest.dvi for more details. \fi } \hrule height2pt \bigskip Analysis of \filename.aux, according to rules of {\it Physical Review\/}: All bibitems must occur in the bibliography/reference section in order of their first citation in the file, and all bibitems must be cited in the paper. \bigskip \hrule height2pt \bigskip \bigskip * Bibitems that were not cited: \ifx\uncitedbibs\empty none. \else \uncitedbibs please cite or remove bibitem(s). \fi \vskip1pc * Undefined citations: \ifx\undefinedcites\empty none. \else \undefinedcites please add bibitem(s) or remove cite(s). \fi \vskip1pc \ifnum\errcount=0 * The order of the bibitems is OK. \else * There were \the\errcount\space errors in the order of your bibitems. This is in addition to any problems noted above. Please check the following table to see what the problems were. Comments in boldface denote problems that need to be corrected. {\it NOTE: This table is a complete listing of all your citations, in order of their first occurrence. That is, your bibitems should be in the order shown in the first column of this table. } \smallskip \small \hrule \hbox to\hsize {\vrule\hbox to.5\hsize {\hss Citation tag\hss}% \hss\vrule\hss\strut depth5pt\hbox to.5\hsize {\hss Comment\hss}\vrule}% \hrule \smallskip \hrule \ordertable % \fi \typeout{} \end{document} % % ****** End of file reftest.tex ****** �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/revtex.cls�������������������������������������������������������������������������0100644�0000764�0000764�00000001337�07267371705�015455� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% % revtex.cls, version 2, 24-JUL-1995 % % Temporary fix to RevTeX 3.0 package with LaTeX2e 1994/12/01, % by David Carlisle, 22 Dec 1994 % Added fix for `control sequences (.e.g. \dag) as biblabel' bug % (David Carlisle, Christian Spieler, 24 Jul 1995) % % \ifx\every@math@size\undefined\else \let\old@expast\@expast \def\@expast#1{\old@expast{#1}\let\@tempa\reserved@a} \fi \input{revtex.sty} \@ifundefined{@ExpandsToRefNumber}{\relax}% {% \def\@ExpandsToRefNumber #1{% TT\fi % \@ifundefined{b@#1}% {\@tempcntb=1 }% {\protected@edef\@tempb{\csname b@#1\endcsname}% \def\@tempa{\@temptokena=\bgroup}% \if0A { \else \fi % \afterassignment\@tempa \@tempcntb=0\@tempb}% }% \ifnum\@tempcntb>0 % }% } \endinput % end of revtex.cls �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/revtex.sty�������������������������������������������������������������������������0100644�0000764�0000764�00000012550�07267371705�015512� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file revtex.sty ****** % % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, July 1, 1996. % % Copyright (c) 1996 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % % Contains segtex information Seg changes are denoted by ``%%%'' \typeout{Filename: revtex.sty, v3.1 <1 July 96>} \def\@revmess#1#2{\typeout{REVTeX #1: #2}} \@namedef{ds@11pt}{\def\@ptsize{1}} % \@namedef{ds@12pt}{\def\@ptsize{2}} % \def\@ptsize{0} % \def\ds@preprint{\global\preprintstytrue \def\@ptsize{2}} \let\ds@manuscript\ds@preprint \newif\ifpreprintsty \global\preprintstyfalse \@namedef{ds@aps}{\def\@society{aps}} \@namedef{ds@osa}{\def\@society{osa}} %%% \@namedef{ds@seg}{\def\@society{seg}} %%% \def\ds@twoside{\@twosidetrue % \@mparswitchtrue} % \def\ds@draft{\overfullrule 5\p@} % \newif\if@amsfonts \@amsfontsfalse \def\ds@amsfonts{\@amsfontstrue} \newif\if@amssymbols \@amssymbolsfalse \def\ds@amssymb{\@amssymbolstrue} \newif\if@titlepage \@titlepagefalse \def\ds@titlepage{\@titlepagefalse} \def\ds@twocolumn{\@twocolumntrue} \newif\if@tightenlines \@tightenlinesfalse \def\ds@tighten{\@tightenlinestrue} \newif\if@floats \@floatsfalse \def\ds@floats{\@floatstrue} \newif\ifsecnumbers \global\secnumbersfalse \def\ds@eqsecnum{\global\secnumberstrue} \def\@journal{pra} \def\ds@pra{\def\@journal{pra}} \def\ds@prb{\def\@journal{prb}} \def\ds@prc{\def\@journal{prc}} \def\ds@prd{\def\@journal{prd}} \def\ds@pre{\def\@journal{pre}} \def\ds@prl{\def\@journal{prl}} \def\ds@josaa{\def\@journal{josaa}} \def\ds@josab{\def\@journal{josab}} \def\ds@aplop{\def\@journal{aplop}} %%% Martin \def\ds@geo{\def\@journal{geo}} \def\ds@tle{\def\@journal{tle}} \newif\ifsegabssty \global\segabsstyfalse \def\ds@abstract{ \def\@ptsize{2} \global\segabsstytrue \global\preprintstytrue } \newif\if@legalsize\@legalsizefalse \def\ds@legalsize{\global\@legalsizetrue\global\def\@firstlongpage{3}} %%% \ifpreprintsty \def\openone{\leavevmode\hbox{\small1\kern-3.8pt\normalsize1}}% \else \def\openone{\leavevmode\hbox{\small1\kern-3.3pt\normalsize1}}% \fi \def\case{\protect\@case} \def\@case#1#2{% \def\@tempa{#2}\def\@tempb{/}% \ifx\@tempa\@tempb % \def\@tempa{\@@case{#1}}% \else % \def\@tempa{\@@case{#1}{#2}}% \fi \@tempa } \def\@@case#1#2{{\textstyle{#1\over#2}}} \def\overlay#1#2{\ifmmode% \setbox0=\hbox{$#1$}% \setbox1=\hbox to\wd0{\hss$#2$\hss}\else% \setbox0=\hbox{#1}% \setbox1=\hbox to\wd0{\hss#2\hss}\fi% #1\hskip-\wd0\box1 } \def\pmb#1{\leavevmode\setbox0=\hbox{#1}% \kern-.02em\copy0\kern-\wd0 \kern.04em\copy0\kern-\wd0 \kern-.02em\raise.04em\box0 } \def\Bigglb#1{\leavevmode\hbox{\pmb{$\Biggl#1$}}} \def\Biglb#1{\leavevmode\hbox{\pmb{$\Bigl#1$}}} \def\bigglb#1{\leavevmode\hbox{\pmb{$\biggl#1$}}} \def\biglb#1{\leavevmode\hbox{\pmb{$\bigl#1$}}} \def\Biggrb#1{\leavevmode\hbox{\pmb{$\Biggr#1$}}} \def\Bigrb#1{\leavevmode\hbox{\pmb{$\Bigr#1$}}} \def\biggrb#1{\leavevmode\hbox{\pmb{$\biggr#1$}}} \def\bigrb#1{\leavevmode\hbox{\pmb{$\bigr#1$}}} \def\lesssim{\mathrel{\mathpalette\vereq<}} \def\vereq#1#2{\lower3pt\vbox{\baselineskip1.5pt \lineskip1.5pt \ialign{$\m@th#1\hfill##\hfil$\crcr#2\crcr\sim\crcr}}} \def\gtrsim{\mathrel{\mathpalette\vereq>}} \def\alt{\lesssim} \def\agt{\gtrsim} \def\tensor#1{\protect\@ontopof{#1}{\leftrightarrow}{1.15}\mathord{\box2}} \def\overstar#1{\protect\@ontopof{#1}{\ast}{1.15}\mathord{\box2}} \def\overdots#1{\protect\@ontopof{#1}{\cdots}{1.0}\mathord{\box2}} \def\overcirc#1{\protect\@ontopof{#1}{\circ}{1.2}\mathord{\box2}} \def\loarrow#1{\protect\@ontopof{#1}{\leftarrow}{1.15}\mathord{\box2}} \def\roarrow#1{\protect\@ontopof{#1}{\rightarrow}{1.15}\mathord{\box2}} \def\@ontopof#1#2#3{% {\mathchoice {\@@ontopof{#1}{#2}{#3}\displaystyle\scriptstyle}% {\@@ontopof{#1}{#2}{#3}\textstyle\scriptstyle}% {\@@ontopof{#1}{#2}{#3}\scriptstyle\scriptscriptstyle}% {\@@ontopof{#1}{#2}{#3}\scriptscriptstyle\scriptscriptstyle}% }% } \def\@@ontopof#1#2#3#4#5{% \setbox0=\hbox{$#4#1$}% \setbox1=\hbox{$#5#2$}% \setbox2=\hbox{}\ht2=\ht0 \dp2=\dp0 % \ifdim\wd0>\wd1 % \setbox1=\hbox to\wd0{\hss\box1\hss}% \mathord{\rlap{\raise#3\ht0\box1}\box0}% \else % \setbox1=\hbox to.9\wd1{\hss\box1\hss}% \setbox0=\hbox to\wd1{\hss$#4\relax#1$\hss}% \mathord{\rlap{\copy0}\raise#3\ht0\box1}% \fi }% \def\lambdabar{\protect\@lambdabar} \def\@lambdabar{% \relax \bgroup \def\@tempa{\hbox{\raise.73\ht0 \hbox to0pt{\kern.25\wd0\vrule width.5\wd0 height.1pt depth.1pt\hss}\box0}}% \mathchoice{\setbox0\hbox{$\displaystyle\lambda$}\@tempa}% {\setbox0\hbox{$\textstyle\lambda$}\@tempa}% {\setbox0\hbox{$\scriptstyle\lambda$}\@tempa}% {\setbox0\hbox{$\scriptscriptstyle\lambda$}\@tempa}% \egroup } \def\corresponds{{\lower.2ex\hbox{=}}{\rm\kern-.75em^\triangle}} \def\succsim{\succ\kern-.9em_\sim\kern.3em} \def\precsim{\prec\kern-1em_\sim\kern.3em} \def\slantfrac#1#2{\kern1em^{#1}\kern-.3em/\kern-.1em_{#2}} \@options \let\@tempa\relax \ifx\@society\undefined \def\@tempa{% \typeout{You need to use one of the society style options!} \typeout{The valid options are aps, osa or seg. That is, use either aps, osa or seg in} \typeout{square brackets after the \string\documentstyle\space command and before the curly brackets:} \typeout{\space\space\space\string\documentstyle[aps]{revtex} or \string\documentstyle[osa]{revtex}}\typeout{}\@@end } \fi \@tempa \input \@society.sty \endinput % % ****** End of file revtex.sty ****** ��������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/rmp.sty����������������������������������������������������������������������������0100644�0000764�0000764�00000033036�07267371705�014775� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file rmp.sty ****** % % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, September, 1996. % % Copyright (c) 1996 The American Physical Society. % % See the REVTeX 3.1 README.rmp file for restrictions and more information. % %This file contains the appendix colon fix by Hamlin 5/13/94 %The font information was changed to make the title boldface san serif % on 1/24/94 MTP %Check for NFSS added by Brinkmann (brinkmann@virginia.edu) on 1/25/95 \def\title#1{\gdef\@title{{\Large\sf \ifx\selectfont\undefined % old LaTeX \@revmess{message}{NFSS not detected. Assuming OFSS.} \sf\parindent0pt\rightskip0pt plus1fill \else % NFSS in effect \fontseries{bx}\selectfont\parindent0pt\rightskip0pt plus1fill \fi \ignorespaces#1\vskip 2.5pt}}} \def\author#1{\expandafter\def\expandafter\@authoraddress\expandafter {\@authoraddress % \ifpreprintsty\vskip0.5pc\hbox{}\fi% {\dimen0=-\prevdepth \advance\dimen0 by0.8cm \par\vskip-\lastskip \nointerlineskip\sf \parindent0pt \leftskip0.5in \rightskip0pt plus1fill \vrule height\dimen0 width0pt\relax\ignorespaces#1\par }% }% } \def\address#1{\expandafter\def\expandafter\@authoraddress\expandafter {\@authoraddress{% \ifpreprintsty\vskip0.25pc\hbox{}\fi% \dimen0=-\prevdepth \advance\dimen0 by0.6cm \par\vskip-\lastskip \small % next line replaces \sf, 1/24/94 \ifx\selectfont\undefined % old LaTeX \sf \else % NFSS in effect \fontseries{m}\fontshape{sl}\fontfamily{cmss}\selectfont \fi \parindent0pt\leftskip0.5in\rightskip0pt plus1fill \vrule height\dimen0 width0pt\relax\ignorespaces#1\par }% }} \def\date#1{\gdef\@date{{\small\sf\leftskip.5in\noindent (\ignorespaces#1\unskip)\par}}} \def\@maketitle{% % next line was added for PROD --- handles frontmatter on UNIX, if the file % frntmttr.tex has been compiled into the format. mark pheffer 4/08/94 \ifx\@frontmatter\undefined\else\@frontmatter\fi \@preprint \@title \ifdim\prevdepth=-1000pt \prevdepth0pt\fi \@authoraddress \ifpreprintsty\@date\fi } \def\abstract{\par \ifpreprintsty % \vskip2.5pc \begin{center}% {\large \abstractname\par}% \end{center}% \vskip.5pc \fi \bgroup \ifdim\prevdepth=-1000pt \prevdepth0pt\fi \hsize\columnwidth \if@twocolumn\else\leftskip=0.5in\parindent0pt\hsize5.5in\fi \dimen0=-\prevdepth \advance\dimen0 by0.6cm \nointerlineskip \footnotesize\vrule width 0pt height\dimen0 \relax \ignorespaces } \def\endabstract{\par\egroup\vskip2pc} \def\pacs#1{\par % \bgroup \hsize\columnwidth \parindent0pt \if@twocolumn\else\leftskip=0.5in \fi \ifdim\prevdepth=-1000pt \prevdepth0pt\fi \dimen0=-\prevdepth \advance\dimen0 by20pt\nointerlineskip \vbox to28pt{\small\vrule height\dimen0 width0pt\relax\ifdraft#1\fi\vfill}% \egroup \if@twocolumn\vskip1pc\fi \ifpreprintsty \penalty10000\vfill \hbox to\columnwidth{\hfil Typeset using {REV\TeX}}\newpage \fi } %The following piece was removed from the aps10.sty file MTP % Added to move footnotes down by .25pc 4/11/94 MTP PROD. \footnotesep 9.25pt \skip\footins 36pt plus 4pt minus 2pt \def\footnoterule{\kern-13pt\hrule width.5in\kern15.6pt} % Changed .5cm to .4cm for space following headings 3/21/94 mtp \def\section{\@mainheadtrue \@startsection {section}{1}{\z@}{0.8cm plus1ex minus .2ex}{0.4cm plus1ex minus.2ex}{\reset@font\small\sf \ifx\selectfont\undefined % old LaTeX \sf\raggedright\noindent \else % NFSS in effect \fontseries{bx}\selectfont\raggedright\noindent \fi }} \def\subsection{\@mainheadfalse \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus .2ex}{0.4cm plus1ex minus.2ex}{\reset@font\small\sf \ifx\selectfont\undefined % old LaTeX \sf\raggedright\noindent \else % NFSS in effect \fontseries{bx}\selectfont\raggedright\noindent \fi }} \def\subsubsection{\@mainheadfalse \@startsection{subsubsection}{3}{\z@}{.8cm plus1ex minus .2ex}{0.4cm plus1ex minus.2ex}{\reset@font\small\sf\raggedright\noindent}} \def\paragraph{\@mainheadfalse \@startsection{paragraph}{4}{\z@}{.8cm plus1ex minus .2ex}{0.4cm plus1ex minus.2ex}{\reset@font\small\sl\raggedright\noindent}} \def\subparagraph{\@mainheadfalse \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus .2ex}{-1em}{\reset@font\normalsize\bf}} \setcounter{tocdepth}{4} \def\thepart{\Roman{part}} % \def\thesection{\Roman{section}} \def\p@section{} \def\thesubsection{\Alph{subsection}} \def\p@subsection{\thesection.} \def\thesubsubsection{\arabic{subsubsection}} \def\p@subsubsection{\thesection.\thesubsection.} \def\p@paragraph{\thesection.\thesubsection.\thesubsubsection.} \def\theparagraph{\alph{paragraph}} \def\thesubparagraph{\theparagraph.\arabic{subparagraph}} \long\def\@makecaption#1#2{% \vbox{\hsize\@capwidth\noindent\reset@font\small\rm#1\penalty10000 \hskip.5em plus.2em\ignorespaces#2\par}% \vskip 2pt} % \newif\if@headempty \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty \else \refstepcounter{#1}% \def\@tempa{#8}% \ifx\@tempa\empty % \@heademptytrue \else \@heademptyfalse \fi \if@headempty % \ifappendixon % \if@mainhead % \def\@tempa{APPENDIX }\def\@tempb{}% \else % \def\@tempa{}\def\@tempb{. }% \fi \else % \def\@tempa{}\def\@tempb{. }% \fi \else % \ifappendixon % \if@mainhead % \def\@tempa{APPENDIX }\def\@tempb{: }% \else % \def\@tempa{}\def\@tempb{. }% \fi \else % \def\@tempa{}\def\@tempb{. }% \fi \fi \edef\@svsec{\@tempa\csname the#1\endcsname\@tempb}% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax {\hskip #3\relax\@svsec}{\interlinepenalty \@M \if@mainhead\uppercase{#8}\else#8\fi\par}% \endgroup \csname #1mark\endcsname{#7}% \addcontentsline{toc}% {\if@mainhead\ifappendixon appendix\else#1\fi\else#1\fi}% {\ifnum #2>\c@secnumdepth \else \protect\numberline{\if@mainhead\ifappendixon\ \fi\fi \csname the#1\endcsname \if@mainhead\ifappendixon\if@headempty\else:\fi\fi\fi} \fi #7}% \else \def\@svsechd{#6\hskip #3\relax % \@svsec \if@mainhead\uppercase{#8}\else#8\fi \csname #1mark\endcsname{#7}% \addcontentsline{toc}% {\if@mainhead\ifappendixon appendix\else#1\fi\else#1\fi}% {\ifnum #2>\c@secnumdepth \else \protect\numberline{\if@mainhead\ifappendixon\ \fi\fi \csname the#1\endcsname \if@mainhead\ifappendixon\if@headempty\else:\fi\fi\fi} \fi #7}% }% \fi \@xsect{#5}} \def\@ssect#1#2#3#4#5{\@tempskipa #3\relax \def\@tempa{#5}% \ifx\@tempa\empty % \@heademptytrue \else \@heademptyfalse \fi \ifdim \@tempskipa>\z@ \begingroup #4{\hskip #1}{\interlinepenalty \@M \ifappendixon \if@mainhead % \stepcounter{section}% \if@headempty % APPENDIX% \else % APPENDIX: \fi \fi \fi \if@mainhead\uppercase{#5}\else#5\fi\par}\endgroup \else \def\@svsechd{#4\hskip #1\relax \ifappendixon \if@mainhead % \stepcounter{section}% \if@headempty % APPENDIX% \else % APPENDIX: \fi \fi \fi \if@mainhead\uppercase{#5}\else#5\fi}% \fi \if@mainhead \addcontentsline{toc}{\ifappendixon appendix\else unknown\fi}% {\ifappendixon \protect\numberline{\if@headempty\else:\fi}\fi#5}% \fi \@xsect{#3}} \def\appendix{\par\global\appendixontrue \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \def\thesection{\Alph{section}} \def\thesubsection{\arabic{subsection}} \def\thesubsubsection{\alph{subsubsection}} \def\theequation@prefix{\thesection} \@addtoreset{equation}{section} } \ifpreprintsty\else \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI} \fi \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout {\string\bibcite{#1}{}}\fi\ignorespaces} \def\cite{\@ifnextchar[{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}} \let\CITE\cite \let\onlinecite\cite \def\@citex[#1]#2{% \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi \leavevmode\@cite{#2}{#1}} \def\@bylinecite{% \@ifnextchar[{\@tempswatrue\@CITEX}{\@tempswafalse\@CITEX[]}% } \def\@CITEX[#1]#2{% \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi \leavevmode\unskip$^{\scriptstyle\@CITE{#2}{#1}}$} %Parens were added to the following line in order to get %parens around the citation label. mtp 8/28/95 \def\@cite#1#2{({\csname b@#1\endcsname\if@tempswa , #2\fi})} % \def\@CITE#1#2{{\csname b@#1\endcsname\if@tempswa , #2\fi}} % \def\@lbibitem[#1]#2{\item[\@BIBLABEL{#1}]\if@filesw {\def\protect##1{\string ##1\space}\immediate \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} \def\@biblabel#1{{[#1]}} % %\def\@BIBLABEL#1{$^{#1}\m@th$} % %The following line was modified to eliminate the printing %of a superscripted reference label mtp 8/28/95 \def\@BIBLABEL#1{\relax} % \def\references{% \addcontentsline{toc}{unknown}{References}% \ifpreprintsty \newpage \hbox to\hsize{\hss\large \refname\hss}% \else \vskip 2.5pc %\hrule width\hsize\relax \ifx\selectfont\undefined % old LaTeX \noindent\sf REFERENCES \else % NFSS in effect \noindent\fontseries{bx}\fontshape{n}\fontfamily{cmss}\selectfont REFERENCES \fi %\vskip 1.6cm %changed to 1.5pc to fix bad spacing mtp 3/21/94 \vskip 1.5pc \fi \list{}% {\labelwidth\z@ \labelsep\z@ % \leftmargin6pt \itemindent-6pt \ifdim\baselinestretch pt>1 pt % \parsep 4pt\relax % \else % \parsep 0pt\relax % \fi \itemsep\parsep % }% \let\newblock\relax % \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax \ifpreprintsty\else\small\fi } \def\endreferences{% \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% \endlist } \def\thebibliography#1{\references} \def\endthebibliography{\endreferences} \newdimen\tocskip@section \tocskip@section\z@ \newdimen\tocskip@subsection \tocskip@subsection\z@ \newdimen\tocskip@subsubsection \tocskip@subsubsection\z@ \newdimen\tocskip@paragraph \tocskip@paragraph\z@ \newdimen\tocskip@appendix \tocskip@appendix\z@ \newdimen\tocskip@pagenum \tocskip@pagenum\z@ \def\@dotsep{5.5pt} \def\@pnumsep{14pt} \def\contentsline#1#2#3{% \checknsetmaxwd{pagenum}{#3}% \if\equalstrings{unknown}{#1}\else \def\numberline##1{% \egroup \checknsetmaxwd{#1}{##1}\@temptokena=\bgroup }% {#2}% \fi } \def\checkset#1#2{% \setbox0=\hbox{\footnotesize\rm #2}% \expandafter\ifdim\csname tocskip@#1\endcsname<\wd0 \global\csname tocskip@#1\endcsname\wd0 \fi } \def\checknsetmaxwd#1#2{% \if\equalstrings{pagenum}{#1}% \checkset{#1}{#2}% \else \if\equalstrings{appendix}{#1}% \checkset{appendix}{Appendix#2}%remove : following #2 mtp 5/10/94 \else \checkset{#1}{#2.}% \fi \fi } \def\equalstrings#1#2{TT\fi\edef\@tempa{#1}\edef\@tempb{#2}\ifx\@tempa\@tempb} \def\l@section#1#2#3{% \bgroup \leftskip\csname tocskip@#1\endcsname \rightskip\tocskip@pagenum plus 1fil \noindent \parfillskip0pt \footnotesize\rm \def\numberline##1{\llap{\hbox to\leftskip{\hss ##1.\kern\@dotsep}}% \ignorespaces}% \ignorespaces#2\unskip\penalty10000\hfill \rlap{\hbox to\tocskip@pagenum{\hss\ignorespaces#3}}\par \egroup } \def\l@subsection#1#2#3{% \bgroup \leftskip\csname tocskip@#1\endcsname \rightskip\tocskip@pagenum plus 1fil \noindent \parfillskip0pt \footnotesize\rm \def\numberline##1{% \llap{\hbox to\leftskip{\kern\tocskip@section##1.\hfil}}% \ignorespaces}% \ignorespaces#2\unskip\penalty10000\hfill \rlap{\hbox to\tocskip@pagenum{\hss\ignorespaces#3}}\par \egroup } \def\l@subsubsection#1#2#3{% \bgroup \leftskip\csname tocskip@#1\endcsname \rightskip\tocskip@pagenum plus 1fil \noindent \parfillskip0pt \footnotesize\rm \def\numberline##1{% \llap{\hbox to\leftskip{\kern\tocskip@subsection##1.\hfil}}% \ignorespaces}% \ignorespaces#2\unskip\penalty10000\hfill \rlap{\hbox to\tocskip@pagenum{\hss\ignorespaces#3}}\par \egroup } \def\l@paragraph#1#2#3{% \bgroup \leftskip\csname tocskip@#1\endcsname \rightskip\tocskip@pagenum plus 1fil \noindent \parfillskip0pt \footnotesize\rm \def\numberline##1{% \llap{\hbox to\leftskip{\kern\tocskip@subsubsection##1.\hfil}}% \ignorespaces}% \ignorespaces#2\unskip\penalty10000\hfill \rlap{\hbox to\tocskip@pagenum{\hss\ignorespaces#3}}\par \egroup } \def\l@appendix#1#2#3{% \bgroup \leftskip\csname tocskip@#1\endcsname \rightskip\tocskip@pagenum plus 1fil \noindent \parfillskip0pt \footnotesize\rm \def\numberline##1{% \llap{\hbox to\leftskip{Appendix##1\hfil}}% \ignorespaces}% \ignorespaces#2\unskip\penalty10000\hfill \rlap{\hbox to\tocskip@pagenum{\hss\ignorespaces#3}}\par \egroup } \def\l@unknown#1#2#3{% \bgroup \rightskip\tocskip@pagenum plus 1fil \noindent \parfillskip0pt \footnotesize\rm \ignorespaces#2\unskip\penalty10000\hfill \rlap{\hbox to\tocskip@pagenum{\hss\ignorespaces#3}}\par \egroup } \def\tableofcontents{% \processtoc \if@filesw \newwrite\tf@toc \immediate\openout\tf@toc \jobname.toc\relax \fi \global\@nobreakfalse } \def\processtoc{% %\sf changed to the following to make contents bold sf mtp 2/28/94 \par{\noindent \ifx\selectfont\undefined % old LaTeX \sf CONTENTS\vskip1pc \else % NFSS in effect \fontseries{bx}\fontshape{n}\fontfamily{cmss}\selectfont CONTENTS\vskip1pc \fi }% \begingroup %The next def is for the leading change in the toc 2/28/94 mtp \let\biglead=\footnotesize \def\footnotesize{\biglead\baselineskip 10.5pt} \@input{\jobname.toc}% \advance\tocskip@section by\@dotsep \advance\tocskip@subsection by\tocskip@section \advance\tocskip@subsection by\@dotsep \advance\tocskip@subsubsection by\tocskip@subsection \advance\tocskip@subsubsection by\@dotsep \advance\tocskip@paragraph by\tocskip@subsubsection \advance\tocskip@paragraph by\@dotsep \advance\tocskip@appendix by\@dotsep \advance\tocskip@pagenum by\@pnumsep \def\contentsline##1##2##3{\csname l@##1\endcsname{##1}{##2}{##3}} \@input{\jobname.toc}% \endgroup } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/sample.tex�������������������������������������������������������������������������0100644�0000764�0000764�00000246702�07267371705�015447� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%%%%%%%%%%%%%%%%% file sample.tex %%%%%%%%%%%%%%%%%%%% % % % Copyright (c) Optical Society of America, 1992. % % % %%%%%%%%%%%%%%%%%% October 20, 1992 %%%%%%%%%%%%%%%%%%% % \documentstyle[osa,manuscript]{revtex} \newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} \newcommand{\manual}{rm} % Substitute rm (Roman) font. \newcommand\bs{\char '134 } % add backslash char to \tt font % % \begin{document} %\setcounter{page}{38} \section*{ V. EXCERPTS FROM OSA MANUSCRIPTS} {\bf (File: sample.tex)} \vskip.5in \baselineskip = .5\baselineskip % single space Manuscript excerpts from {\it Journal of the Optical Society of America A} (JOSA A), {\it Journal of the Optical Society of America B} (JOSA B), and {\it Applied Optics} are presented in this document, sample.tex. Each manuscript has been ``\TeX ed'' with the REV\TeX 3.0 macros added to the original manuscript. Each manuscript was also cut to about 20\% of its original length. \\ \vskip.25in Even numbered pages present the manuscript output, as produced by REV\TeX 3.0. Odd numbered pages show the ASCII input required to produce the output shown on the previous page, for an OSA manuscript submission. \\ \vskip.25in More complete versions (approximately 40\% complete) of these sample manuscripts are available in the files josaa.tex, josab.tex, and aplop.tex. Josaa.tex, josab.tex, and aplop.tex have not been modified to display input on facing pages. The full articles are available in the OSA journals. They are: \\ \vskip.35in \begin{quote} 1. R. J. Sasiela, ``Strehl ratios with various types of anisoplanatism,'' \josaa {\bf 9,} 1398--1405 (1992). \\ \vskip.1in 2. W. Zhao and E. Bourkoff, ``Generation, propagation, and amplification of dark solitons,'' \josab {\bf 9,} 1134--1144 (1992). \\ \vskip.25in 3. J. P. Pratt and V. P. Heuring, ``Designing digital optical computing systems: power distribution and cross talk,'' \ao {\bf 31,} 4657--4661 (1992). \\ \end{quote} \vskip.25in {\it The Optical Society of America expresses its appreciation to the authors listed above for their permission to reuse the material in this way.} \baselineskip = 2\baselineskip \begin{center} {\small \copyright\ Optical Society of America, 1992.} \end{center} \newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{center}{\Large \bf Strehl ratios with various types of anisoplanatism} \\ \vskip.25in {Richard J. Sasiela} {\it Lincoln Laboratory, Massachusetts Institute of Technology, Lexington, Massachusetts 02173-9108} % \end{center} %\title{Strehl ratios with various types of anisoplanatism} %\author{Richard J. Sasiela } %\address{Lincoln Laboratory, Massachusetts Institute of Technology, %Lexington, Massachusetts 02173-9108} % %\maketitle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{abstract} % DON'T CHANGE THIS LINE There are many ways in which the paths of two waves through turbulence can become separated, thereby leading to anisoplanatic effects. Among these are a parallel path separation, an angular separation, one caused by a time delay, and one that is due to differential refraction at two wavelengths. All these effects can be treated in the same manner. Gegenbauer polynomials are used to obtain an approximation for the Strehl ratio for these anisoplanatic effects, yielding a greater range of applicability than the Mar\'{e}chal approximation. \end{abstract} \section{ INTRODUCTION} Adaptive-optics systems are used to correct images of objects. These systems work by measuring the phase distortion on a downpropagating wave called a beacon and applying the negative of that phase to a deformable mirror. If this is done well, then the image of the beacon is close to diffraction limited; and if a laser beam is projected along the corrected path, it will have propagation characteristics approaching those of a wave propagating in vacuum. It is not possible to make a perfect correction; one of the major error sources is due to the fact that the rays of the object to be imaged or the laser beam to be propagated are along a path displaced from that of the beacon. A measurement of this degradation is the Strehl ratio, which is the ratio of the intensity of the actual beam on axis to that of a diffraction-limited beam. \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \documentstyle[osa,manuscript]{revtex} % DON'T CHANGE % \newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} \newcommand{\manual}{rm} % Substitute rm (Roman) font. \newcommand\bs{\char '134 } % add backslash char to \tt font % % \begin{document} % INITIALIZE - DONT CHANGE % % % \title{Strehl ratios with various types of anisoplanatism} \author{Richard J. Sasiela } \address{Lincoln Laboratory, Massachusetts Institute of Technology, Lexington, Massachusetts 02173-9108} % \maketitle \begin{abstract} % DON'T CHANGE THIS LINE There are many ways in which the paths of two waves through turbulence can become separated, thereby leading to anisoplanatic effects. Among these are a parallel path separation, an angular separation, one caused by a time delay, and one that is due to differential refraction at two wavelengths. All these effects can be treated in the same manner. Gegenbauer polynomials are used to obtain an approximation for the Strehl ratio for these anisoplanatic effects, yielding a greater range of applicability than the Mar\'{e}chal approximation. \end{abstract} \section{ INTRODUCTION} Adaptive-optics systems are used to correct images of objects. These systems work by measuring the phase distortion on a downpropagating wave called a beacon and applying the negative of that phase to a deformable mirror. If this is done well, then the image of the beacon is close to diffraction limited; and if a laser beam is projected along the corrected path, it will have propagation characteristics approaching those of a wave propagating in vacuum. It is not possible to make a perfect correction; one of the major error sources is due to the fact that the rays of the object to be imaged or the laser beam to be propagated are along a path displaced from that of the beacon. A measurement of this degradation is the Strehl ratio, which is the ratio of the intensity of the actual beam on axis to that of a diffraction-limited beam. \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text This displacement can have several causes. The receiving and the transmitting apertures may be displaced from each other owing to misalignment or vignetting of the beams. The paths can be separated in angle, for instance, when the object to be imaged is different from the beacon. The correction is applied with a time delay after the measurements. In this time the turbulence is displaced by winds and slewing of the telescope. The paths may be separated because the beacon and the imaging wavelengths differ, in which case refraction operates differently on the two waves. All the effects are typically present simultaneously. These anisoplanatisms have been treated separately in the past\cite{1,2,3,4,5,6,7}; \ldots \section{ STREHL RATIO WITH ANISOPLANATISM} \label{SR} For a perfect correction the paths of the beacon signal and the imaging or projected laser should be the same. In general, this is not possible to achieve, and there is a degradation in performance caused by time delays, displacement of the two paths by translation and angle, and differences in wavelength of the beacon and the measurement or projecting systems. The effects of displacement, angular mispointing, time delay, and atmospheric dispersion can each be treated as an anisoplanatic effect. In fact, if all the effects are present simultaneously, they can be combined to get a total offset of the measurement from the imaging paths. In this section the effect of a general displacement on the Strehl ratio is determined. The Strehl ratio (SR) for a circular aperture \cite{7} from the Huygens--Fresnel approximation is \begin{eqnarray}{\rm SR} ={1 \over {2\pi }}\int {{\rm d}\bbox \alpha }\,K(\alpha )\,\exp \,\left[ {-{{{\cal D}\left( {\bbox \alpha } \right)} \over 2}} \right].\end{eqnarray} The integral is over a circular aperture of unit radius, ${\cal D}( {\bbox \alpha } )$ is the structure function, and $K(\alpha )$ is a factor times the optical transfer function given by \begin{eqnarray}K(\alpha )={{16} \over \pi }\left[ {\cos ^{- 1}(\alpha )-\alpha \left( {1-\alpha ^2} \right)^{1/ 2}} \right]\,U(1- \alpha ),\end{eqnarray} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} This displacement can have several causes. The receiving and the transmitting apertures may be displaced from each other owing to misalignment or vignetting of the beams. The paths can be separated in angle, for instance, when the object to be imaged is different from the beacon. The correction is applied with a time delay after the measurements. In this time the turbulence is displaced by winds and slewing of the telescope. The paths may be separated because the beacon and the imaging wavelengths differ, in which case refraction operates differently on the two waves. All the effects are typically present simultaneously. These anisoplanatisms have been treated separately in the past\cite{1,2,3,4,5,6,7}; \ldots \section{ STREHL RATIO WITH ANISOPLANATISM} \label{SR} For a perfect correction the paths of the beacon signal and the imaging or projected laser should be the same. In general, this is not possible to achieve, and there is a degradation in performance caused by time delays, displacement of the two paths by translation and angle, and differences in wavelength of the beacon and the measurement or projecting systems. The effects of displacement, angular mispointing, time delay, and atmospheric dispersion can each be treated as an anisoplanatic effect. In fact, if all the effects are present simultaneously, they can be combined to get a total offset of the measurement from the imaging paths. In this section the effect of a general displacement on the Strehl ratio is determined. The Strehl ratio (SR) for a circular aperture \cite{7} from the Huygens--Fresnel approximation is \begin{eqnarray}{\rm SR} ={1 \over {2\pi }}\int {{\rm d}\bbox \alpha }\,K(\alpha )\,\exp \,\left[ {-{{{\cal D}\left( {\bbox \alpha } \right)} \over 2}} \right].\end{eqnarray} The integral is over a circular aperture of unit radius, ${\cal D}( {\bbox \alpha } )$ is the structure function, and $K(\alpha )$ is a factor times the optical transfer function given by \begin{eqnarray}K(\alpha )={{16} \over \pi }\left[ {\cos ^{- 1}(\alpha )-\alpha \left( {1-\alpha ^2} \right)^{1/ 2}} \right]\,U(1- \alpha ),\end{eqnarray} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text where $U\left( x \right)$ is the unit step function defined as \begin{eqnarray} U( x )&=&1\,\,\,\,\,\,\,\,{\rm for}\,\,\,\,x\ge 0\,, \nonumber \\ U( x )&=&0\,\,\,\,\,\,\,\,{\rm for}\,\,\,\,x<0\,\,. \end{eqnarray} To find the Strehl ratio, one must first determine the structure function. It was found by Fried\cite{4} for angular anisoplanatism. If the source is collimated and a general displacement is introduced, his expression for a wave propagating from ground to space becomes \begin{eqnarray} {\cal D}({\alpha \kern 1ptD} )&=& 2(2.91)\,{k_0}^2\int\limits_{\,\,\; 0}^{\,\,\,\,\,\; \infty} {\rm d}z\,{C_n}^2(z)\left[ {( {\alpha \kern 1ptD} )^{5/ 3}+d^{5/ 3}(z)}\right. \nonumber\\ &&\left. {-{\slantfrac{1}{2}}\,\left| {{\bbox \alpha} \kern 1ptD+{\bbox d}(z)\,} \right|^{5/ 3} -{\textstyle \slantfrac{1}{2}}\left| {\,{\bbox \alpha} \kern 1ptD-{\bbox d}(z)\,} \right|^{5 / 3}} \right], \end{eqnarray} where ${C_n}^2(z)$ is the turbulence strength as a function of altitude; $k_0=2\kern 1pt\pi / \lambda ,$ where $\lambda $ is the wavelength of operation; $D$ is the aperture diameter; and ${\bbox d}(z)$ is the vector displacement of the two paths. The sums of the terms in brackets almost cancel, thus causing difficulties if one tries to evaluate this integral numerically. The terms in the absolute-value sign are equal to \begin{eqnarray}\left| {\,{\bbox \alpha} \kern 1ptD\pm {\bbox d}(z)\,} \right|^{5/ 3}=\left[ {\left( {\alpha \kern 1ptD} \right)^2\pm 2\alpha \kern 1ptD\,d(z)\cos \left( \varphi \right)+d^2(z)} \right]^{5/ 6},\end{eqnarray} where is the angle between ${\bbox \alpha} $ and ${\bbox d}( z )$ . This expression can be simplified and the numerical difficulties can be eliminated by using Gegenbauer polynomials.\cite{8} Their generating function is \begin{eqnarray}\left( {1-2ax+a^2} \right)^{-\lambda }=\sum\limits_{p=0}^\infty {{C_p}^\lambda (x)\,a^p}. \end{eqnarray} These functions are sometimes referred to as ultraspherical functions because they are a generalization of the Legendre polynomials $P_n(t)$ , whose generating function is \begin{eqnarray}\left( {1- 2ax+a^2} \right)^{-1/ 2}=\sum\limits_{p=0}^\infty {P_p(x)\,a^p}.\end{eqnarray} The Gegenbauer polynomials with the cosine of a variable as the argument are given in Eq. (8.934 \#2) of Ref. \onlinecite{8} and can be rewritten as \begin{eqnarray}{C_p}^\lambda \left[ {\cos \left( \varphi \right)} \right]=\sum\limits_{m=0}^p {}{{\Gamma\,\left[ {\lambda +m} \right]\,\Gamma\,\left[ {\lambda +p-m} \right]\cos \left[ {(p-2m)\varphi } \right]} \over {m!\,(p-m)!\,\left( {\Gamma\,\left[ \lambda \right]} \right)^2}},\end{eqnarray} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} where $U\left( x \right)$ is the unit step function defined as \begin{eqnarray} U( x )&=&1\,\,\,\,\,\,\,\,{\rm for}\,\,\,\,x\ge 0\,, \nonumber \\ U( x )&=&0\,\,\,\,\,\,\,\,{\rm for}\,\,\,\,x<0\,\,. \end{eqnarray} To find the Strehl ratio, one must first determine the structure function. It was found by Fried\cite{4} for angular anisoplanatism. If the source is collimated and a general displacement is introduced, his expression for a wave propagating from ground to space becomes \begin{eqnarray} {\cal D}({\alpha \kern 1ptD} )&=& 2(2.91)\,{k_0}^2\int\limits_{\,\,\; 0}^{\,\,\,\,\,\; \infty} {\rm d}z\,{C_n}^2(z)\left[ {( {\alpha \kern 1ptD} )^{5/ 3}+d^{5/ 3}(z)}\right. \nonumber\\ &&\left. {-{\slantfrac{1}{2}}\,\left| {{\bbox \alpha} \kern 1ptD+{\bbox d}(z)\,} \right|^{5/ 3} -{\textstyle \slantfrac{1}{2}}\left| {\,{\bbox \alpha} \kern 1ptD-{\bbox d}(z)\,} \right|^{5 / 3}} \right], \end{eqnarray} where ${C_n}^2(z)$ is the turbulence strength as a function of altitude; $k_0=2\kern 1pt\pi / \lambda ,$ where $\lambda $ is the wavelength of operation; $D$ is the aperture diameter; and ${\bbox d}(z)$ is the vector displacement of the two paths. The sums of the terms in brackets almost cancel, thus causing difficulties if one tries to evaluate this integral numerically. The terms in the absolute-value sign are equal to \begin{eqnarray}\left| {\,{\bbox \alpha} \kern 1ptD\pm {\bbox d}(z)\,} \right|^{5/ 3}=\left[ {\left( {\alpha \kern 1ptD} \right)^2\pm 2\alpha \kern 1ptD\,d(z)\cos \left( \varphi \right)+d^2(z)} \right]^{5/ 6},\end{eqnarray} where is the angle between ${\bbox \alpha} $ and ${\bbox d}( z )$ . This expression can be simplified and the numerical difficulties can be eliminated by using Gegenbauer polynomials.\cite{8} Their generating function is \begin{eqnarray}\left( {1-2ax+a^2} \right)^{-\lambda }=\sum\limits_{p=0}^\infty {{C_p}^\lambda (x)\,a^p}. \end{eqnarray} These functions are sometimes referred to as ultraspherical functions because they are a generalization of the Legendre polynomials $P_n(t)$ , whose generating function is \begin{eqnarray}\left( {1- 2ax+a^2} \right)^{-1/ 2}=\sum\limits_{p=0}^\infty {P_p(x)\,a^p}.\end{eqnarray} The Gegenbauer polynomials with the cosine of a variable as the argument are given in Eq. (8.934 \#2) of Ref. \onlinecite{8} and can be rewritten as \begin{eqnarray}{C_p}^\lambda \left[ {\cos \left( \varphi \right)} \right]=\sum\limits_{m=0}^p {}{{\Gamma\,\left[ {\lambda +m} \right]\,\Gamma\,\left[ {\lambda +p-m} \right]\cos \left[ {(p-2m)\varphi } \right]} \over {m!\,(p-m)!\,\left( {\Gamma\,\left[ \lambda \right]} \right)^2}},\end{eqnarray} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text where - $\Gamma\left[ x \right]$ is the gamma function. A particular Gegenbauer polynomial that is required is \begin{eqnarray}{C_2}^{-5/ 6}\left[ {\cos (\varphi )} \right]={\textstyle{\slantfrac{5}{6}}}\left[ {1- {\textstyle{ \slantfrac{1}{3}}}\cos ^2\left( \varphi \right)} \right]. \end{eqnarray} For $\alpha \kern 1ptD>d(z)$ , the terms in the structure function can be expanded in Gegenbauer polynomials. The zeroth- and all odd-order terms cancel. When the summation index is changed by the substitution $p\to 2\kern 1ptp$ the result is \begin{eqnarray} {\cal D}(\alpha \kern 1ptD)=2(2.91)\,{k_0}^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\,\infty}{\rm d}z\,{C_n}^2(z) \left\{ {d^{5/ 3}(z)- (\alpha \kern 1ptD)^{5/ 3}\sum\limits_{p=1}^\infty {{C_{2p}}^{- 5/ 6}\,\left[ {\cos \left( \varphi \right)} \right]}\,\left[ {{{d(z)} \over {\alpha \kern 1ptD}}} \right]^{2p}} \right\}.\end{eqnarray} It is this canceling of the first two terms of the power series that would cause numerical difficulties. Define a distance moment as \begin{eqnarray}d_m\equiv 2.91\,{k_0}^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\,\infty}{\rm d}z\,{C_n}^2(z)\,d^m(z) \end{eqnarray} and a phase variance as \begin{eqnarray}{\sigma _\varphi}^2=d_{5/ 3}.\end{eqnarray} Unlike the calculation for Strehl ratio for uncorrected turbulence and for corrected turbulence with tilt jitter, an exact analytical solution cannot be found for anisoplanatism. Fortunately, for adaptive-optics systems, the Strehl ratio should be fairly high by design, which requires the structure function to be small. This assumption allows one to retain only the first term of the Gegenbauer expansion to give \begin{eqnarray}{\cal D}(\alpha \kern 1ptD)=2{\sigma _\varphi}^2-2x,\end{eqnarray} where \begin{eqnarray}x=d_{2}\left[ {1- {\textstyle{\slantfrac{1}{3}}}\cos ^2\left( \varphi \right)} \right]{\slantfrac{5}{6}}(\alpha \kern 1ptD)^{-1/ 3}.\end{eqnarray} We justify this single-term approximation below by showing that it produces a result close to the exact result. \\ \ldots \\ \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} where - $\Gamma\left[ x \right]$ is the gamma function. A particular Gegenbauer polynomial that is required is \begin{eqnarray}{C_2}^{-5/ 6}\left[ {\cos (\varphi )} \right]={\textstyle{\slantfrac{5}{6}}}\left[ {1- {\textstyle{ \slantfrac{1}{3}}}\cos ^2\left( \varphi \right)} \right]. \end{eqnarray} For $\alpha \kern 1ptD>d(z)$ , the terms in the structure function can be expanded in Gegenbauer polynomials. The zeroth- and all odd-order terms cancel. When the summation index is changed by the substitution $p\to 2\kern 1ptp$ the result is \begin{eqnarray} {\cal D}(\alpha \kern 1ptD)=2(2.91)\,{k_0}^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\,\infty}{\rm d}z\,{C_n}^2(z) \left\{ {d^{5/ 3}(z)- (\alpha \kern 1ptD)^{5/ 3}\sum\limits_{p=1}^\infty {{C_{2p}}^{- 5/ 6}\,\left[ {\cos \left( \varphi \right)} \right]}\,\left[ {{{d(z)} \over {\alpha \kern 1ptD}}} \right]^{2p}} \right\}.\end{eqnarray} It is this canceling of the first two terms of the power series that would cause numerical difficulties. Define a distance moment as \begin{eqnarray}d_m\equiv 2.91\,{k_0}^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\,\infty}{\rm d}z\,{C_n}^2(z)\,d^m(z) \end{eqnarray} and a phase variance as \begin{eqnarray}{\sigma _\varphi}^2=d_{5/ 3}.\end{eqnarray} Unlike the calculation for Strehl ratio for uncorrected turbulence and for corrected turbulence with tilt jitter, an exact analytical solution cannot be found for anisoplanatism. Fortunately, for adaptive-optics systems, the Strehl ratio should be fairly high by design, which requires the structure function to be small. This assumption allows one to retain only the first term of the Gegenbauer expansion to give \begin{eqnarray}{\cal D}(\alpha \kern 1ptD)=2{\sigma _\varphi}^2-2x,\end{eqnarray} where \begin{eqnarray}x=d_{2}\left[ {1- {\textstyle{\slantfrac{1}{3}}}\cos ^2\left( \varphi \right)} \right]{\slantfrac{5}{6}}(\alpha \kern 1ptD)^{-1/ 3}.\end{eqnarray} We justify this single-term approximation below by showing that it produces a result close to the exact result. \\ \ldots \\ \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text The Strehl ratio with the six term approximation is \begin{eqnarray}{\rm SR} \approx {{\exp \left( {-\sigma _\varphi} ^2 \right)} \over {2\pi }}\int {\rm d{\bbox \alpha} \,K(\alpha )\,}\kern-.5em\left( {1+x+{{x^2} \over 2}+{{x^3} \over 6}+{{x^4} \over {24}}+{{x^5} \over {120}}} \right).\end{eqnarray} If just the first term in the last parenthetical expression is retained, the result is equivalent to the extended Mar\'{e}chal approximation. It is shown below that the six-term approximation is best for aperture sizes normally encountered. The angle integral for the $n$th term, after use of the binomial theorem, is proportional to \begin{eqnarray}\Phi (n)={1 \over {2\pi }}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\,\,\, 2\pi } {\rm d}\varphi \,\left[ {1-\slantfrac{1}{3}} \cos ^2\left( \varphi \right) \right]^n={1 \over {2\pi }}\sum\limits_{m=0}^n {\left( \begin{array}{c} n \\ n-m\end{array} \right)}\,3^{-m}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, 2\pi } {\rm d\varphi }\, \cos ^{2m}\left( \varphi \right),\end{eqnarray} \begin{eqnarray}\left( \begin{array}{c} n \\ n-m \end{array} \right)={{n!} \over {\left( {n-m} \right)!\,\,m!}}.\end{eqnarray} Equation (4.641 \# 4) in Gradshteyn and Ryzhik\cite{8} is \begin{eqnarray}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, \pi / 2}{\rm d\varphi \,}\cos ^{2m}\left( \varphi \right)={{\pi (2m-1)!!} \over {2(2m)!!}},\end{eqnarray} where \begin{eqnarray}(2m-1)!!&=&(2m-1)(2m-3)\ldots (3)(1), \\ (2m)!!&=&(2m)(2m-2)\ldots (4)(2).\end{eqnarray} With these relations, the angle integral is equal to \begin{eqnarray}\Phi (n)=1-\sum\limits_{m=1}^n {\left( \begin{array}{c}n \\ n-m \end{array} \right)}\,3^{-m}{{(2m-1)!!} \over {(2m)!!}}.\end{eqnarray} The values of interest to us are $\Phi (0) = 1$, $\Phi (1) = 0.8333$, $\Phi (2) = 0.7083$, $ \Phi (3) = 0.6134$, $\Phi (4) = 0.5404$, and $\Phi (5) = 0.4836$. The aperture integration for the $n$th term is proportional to \begin{eqnarray}Y(n)=\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, 1} {\rm d\alpha \,}\alpha ^{1-n/ 3}K(\alpha ).\end{eqnarray} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} The Strehl ratio with the six term approximation is \begin{eqnarray}{\rm SR} \approx {{\exp \left( {-\sigma _\varphi} ^2 \right)} \over {2\pi }}\int {\rm d{\bbox \alpha} \,K(\alpha )\,}\kern-.5em\left( {1+x+{{x^2} \over 2}+{{x^3} \over 6}+{{x^4} \over {24}}+{{x^5} \over {120}}} \right).\end{eqnarray} If just the first term in the last parenthetical expression is retained, the result is equivalent to the extended Mar\'{e}chal approximation. It is shown below that the six-term approximation is best for aperture sizes normally encountered. The angle integral for the $n$th term, after use of the binomial theorem, is proportional to \begin{eqnarray}\Phi (n)={1 \over {2\pi }}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\,\,\, 2\pi } {\rm d}\varphi \,\left[ {1-\slantfrac{1}{3}} \cos ^2\left( \varphi \right) \right]^n={1 \over {2\pi }}\sum\limits_{m=0}^n {\left( \begin{array}{c} n \\ n-m\end{array} \right)}\,3^{-m}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, 2\pi } {\rm d\varphi }\, \cos ^{2m}\left( \varphi \right),\end{eqnarray} \begin{eqnarray}\left( \begin{array}{c} n \\ n-m \end{array} \right)={{n!} \over {\left( {n-m} \right)!\,\,m!}}.\end{eqnarray} Equation (4.641 \# 4) in Gradshteyn and Ryzhik\cite{8} is \begin{eqnarray}\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, \pi / 2}{\rm d\varphi \,}\cos ^{2m}\left( \varphi \right)={{\pi (2m-1)!!} \over {2(2m)!!}},\end{eqnarray} where \begin{eqnarray}(2m-1)!!&=&(2m-1)(2m-3)\ldots (3)(1), \\ (2m)!!&=&(2m)(2m-2)\ldots (4)(2).\end{eqnarray} With these relations, the angle integral is equal to \begin{eqnarray}\Phi (n)=1-\sum\limits_{m=1}^n {\left( \begin{array}{c}n \\ n-m \end{array} \right)}\,3^{-m}{{(2m-1)!!} \over {(2m)!!}}.\end{eqnarray} The values of interest to us are $\Phi (0) = 1$, $\Phi (1) = 0.8333$, $\Phi (2) = 0.7083$, $ \Phi (3) = 0.6134$, $\Phi (4) = 0.5404$, and $\Phi (5) = 0.4836$. The aperture integration for the $n$th term is proportional to \begin{eqnarray}Y(n)=\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, 1} {\rm d\alpha \,}\alpha ^{1-n/ 3}K(\alpha ).\end{eqnarray} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \section{ DISPLACEMENT ANISOPLANATISM} \label{da} In the simplest case of displacement anisoplanatism, which was treated in Section \ref{SR}, the displacement is constant along the propagation direction. The terms to use to find the Strehl ratio are \begin{eqnarray} d(z)&=&d , \\ d_{\,2}&=&2.91\,k_0^2\,\mu _0\,d^2 , \\ E&=&6.88\,\left( {{d \over D}} \right)^2\left( {{D \over {r_o}}} \right)^{5/3} , \\ \sigma _\varphi ^2&=&2.91\,k_0^2\,\mu _0\,d^{5/3}=6.88\, \left( {{d \over {r_o}}} \right)^{5/3} . \end{eqnarray} The Strehl ratios are plotted in Figs.~\ref{f5} and ~\ref{f10}. \section{ ANGULAR ANISOPLANATISM} \label{aa} When the propagation beam is offset by a constant angle from the direction along which turbulence is measured, the effect is called angular anisoplanatism.\cite{4} \ldots \section{ TIME DELAY} \label{td} If there is a time delay between when turbulence is measured and when a correction is applied to the deformable mirror, there is a degradation in performance.\cite{7} This effect is not often thought of as an anisoplanatic effect; however, it can be treated as such. ... \begin{eqnarray} d(z)&=&v(z)\tau , \\ d_2&=&2.91\,k_0^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {\rm d}z\,{C_n}^2(z)\,v^2(z)\,\tau ^2=\left( {\tau / \tau _2} \right)^2 , \\ E&=&{{\tau ^2} \over {\tau _2^2D^{1/ 3}}} , \\ \sigma _\varphi ^2&=&2.91\,k_0^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {\rm d}z\,{C_n}^2(z)\,v^{5/ 3}(z)\,\tau ^{5/ 3}=\left( {\tau / \tau _{5/ 3}} \right)^{5/ 3} , \end{eqnarray} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \section{ DISPLACEMENT ANISOPLANATISM} \label{da} In the simplest case of displacement anisoplanatism, which was treated in Section \ref{SR}, the displacement is constant along the propagation direction. The terms to use to find the Strehl ratio are \begin{eqnarray} d(z)&=&d , \\ d_{\,2}&=&2.91\,k_0^2\,\mu _0\,d^2 , \\ E&=&6.88\,\left( {{d \over D}} \right)^2\left( {{D \over {r_o}}} \right)^{5/3} , \\ \sigma _\varphi ^2&=&2.91\,k_0^2\,\mu _0\,d^{5/3}=6.88\, \left( {{d \over {r_o}}} \right)^{5/3} . \end{eqnarray} The Strehl ratios are plotted in Figs.~\ref{f5} and ~\ref{f10}. \section{ ANGULAR ANISOPLANATISM} \label{aa} When the propagation beam is offset by a constant angle from the direction along which turbulence is measured, the effect is called angular anisoplanatism.\cite{4} \ldots \section{ TIME DELAY} \label{td} If there is a time delay between when turbulence is measured and when a correction is applied to the deformable mirror, there is a degradation in performance.\cite{7} This effect is not often thought of as an anisoplanatic effect; however, it can be treated as such. ... \begin{eqnarray} d(z)&=&v(z)\tau , \\ d_2&=&2.91\,k_0^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {\rm d}z\,{C_n}^2(z)\,v^2(z)\,\tau ^2=\left( {\tau / \tau _2} \right)^2 , \\ E&=&{{\tau ^2} \over {\tau _2^2D^{1/ 3}}} , \\ \sigma _\varphi ^2&=&2.91\,k_0^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {\rm d}z\,{C_n}^2(z)\,v^{5/ 3}(z)\,\tau ^{5/ 3}=\left( {\tau / \tau _{5/ 3}} \right)^{5/ 3} , \end{eqnarray} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text where the temporal moment is defined as \begin{eqnarray} 1/ \tau _m^{5/ 3}=2.91\,k_0^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {\rm d}z\,{C_n}^2(z)\,v^m(z) . \end{eqnarray} \ldots \section{ CHROMATIC ANISOPLANATISM} \label{ca} If the beacon beam that senses the turbulence has a wavelength different from that of the laser beam that is sent out, then the two beams will follow different paths through the atmosphere because of the dispersive properties of the atmosphere. \ldots \section{ COMBINED DISPLACEMENT} \label{cd} If there are several anisoplanatic effects present, with each not decreasing the Strehl ratio much, it is a common practice to multiply the Strehl ratios for the individual effects to get a combined Strehl ratio. \ldots \begin{eqnarray} {\rm \pmb{d}}_t(z)={\rm \pmb{d}}+{ \rm \bbox{ \theta}} \kern 1ptz+{\rm \pmb{v}}(z)\tau +{\rm \pmb{d}}_c(z) , \end{eqnarray} where chromatic displacement is given in Eq. (50). The two terms necessary for calculating the Strehl ratio are \ldots \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} where the temporal moment is defined as \begin{eqnarray} 1/ \tau _m^{5/ 3}=2.91\,k_0^2\int\limits_{\,\,\, 0}^{\,\,\,\,\,\, L} {\rm d}z\,{C_n}^2(z)\,v^m(z) . \end{eqnarray} \ldots \section{ CHROMATIC ANISOPLANATISM} \label{ca} If the beacon beam that senses the turbulence has a wavelength different from that of the laser beam that is sent out, then the two beams will follow different paths through the atmosphere because of the dispersive properties of the atmosphere. \ldots \section{ COMBINED DISPLACEMENT} \label{cd} If there are several anisoplanatic effects present, with each not decreasing the Strehl ratio much, it is a common practice to multiply the Strehl ratios for the individual effects to get a combined Strehl ratio. \ldots \begin{eqnarray} {\rm \pmb{d}}_t(z)={\rm \pmb{d}}+{ \rm \bbox{ \theta}} \kern 1ptz+{\rm \pmb{v}}(z)\tau +{\rm \pmb{d}}_c(z) , \end{eqnarray} where chromatic displacement is given in Eq. (50). The two terms necessary for calculating the Strehl ratio are \ldots \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \section{ SUMMARY} \label{Su} An approximate expression for the Strehl ratio that is easily evaluated for any turbulence distribution was derived. It applies for various anisoplanatic effects. This expression was shown to give much better agreement with the exact answer than the extended Marechal approximation. The zenith dependence is included in the formula. This approximation was applied to parallel path displacements, angular offsets, time-delay induced offsets, and offsets owing to refractive effects that vary with wavelength. Examples for each type of anisoplanatism at various zenith angles were evaluated. The Strehl ratio in the presence of several effects was examined. It was shown that, depending on the direction of the relative displacements, one can get a cancellation or an enhancement of the effect of the displacements. Therefore it is possible for there to be little reduction in the Strehl ratio if there is little net path displacement. If the displacements are in the same direction, the Strehl ratio is less than the product of the Strehl ratios of the individual terms. \acknowledgments This research was sponsored by the Strategic Defense Initiative Organization through the U.S. Department of the Air Force. \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \section{ SUMMARY} \label{Su} An approximate expression for the Strehl ratio that is easily evaluated for any turbulence distribution was derived. It applies for various anisoplanatic effects. This expression was shown to give much better agreement with the exact answer than the extended Marechal approximation. The zenith dependence is included in the formula. This approximation was applied to parallel path displacements, angular offsets, time-delay induced offsets, and offsets owing to refractive effects that vary with wavelength. Examples for each type of anisoplanatism at various zenith angles were evaluated. The Strehl ratio in the presence of several effects was examined. It was shown that, depending on the direction of the relative displacements, one can get a cancellation or an enhancement of the effect of the displacements. Therefore it is possible for there to be little reduction in the Strehl ratio if there is little net path displacement. If the displacements are in the same direction, the Strehl ratio is less than the product of the Strehl ratios of the individual terms. \acknowledgments This research was sponsored by the Strategic Defense Initiative Organization through the U.S. Department of the Air Force. \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \begin{references} \bibitem{1} J. Belsher and D. Fried, ``Chromatic refraction induced pseudo anisoplanatism,'' tOSC Rep. TR-433 (Optical Sciences Co., Placentia, Calif., 1981). \bibitem{2} B. L. Ellerbroek and P. H. Roberts, ``Turbulence induced angular separation errors; expected values for the SOR-2 experiment,'' tOSC Rep. TR-613 (Optical Sciences Co., Placentia, Calif., 1984). \bibitem{3} D. L. Fried, ``Differential angle of arrival: theory, evaluation, and measurement feasibility,'' Radio Sci. {\bf 10,} 71-76 (1975). \bibitem{4} D. Fried, ``Anisoplanatism in adaptive optics,'' \josa {\bf 72,} 52-61 (1982). \bibitem{5} D. Korff, G. Druden, and R. P. Leavitt, ``Isoplanicity: the translation invariance of the atmospheric Green's function,'' \josa {\bf 65,} 1321-1330 (1975). \bibitem{6} J. H. Shapiro, ``Point-ahead limitation on reciprocity tracking,'' \josa {\bf 65,} 65-68 (1975). \bibitem{7} G. A. Tyler, ``Turbulence-induced adaptive-optics performance degradation: evaluation in the time domain,'' \josaa {\bf 1,} 251-262 (1984). \bibitem{8} I. S. Gradshteyn and I. M. Ryzhik, {\it Table of Integrals, Series, and Products} (Academic, New York, 1980). \bibitem{9} V. I. Tatarski, {\it The Effects Of The Turbulent Atmosphere On Wave Propagation} (U. S. Department of Commerce, Washington, D.C., 1971). \bibitem{10} R. E. Hufnagel, {\it Optical Propagation through Turbulence} (Optical Society of America, Washington, D. C., 1974). \end{references} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{references} \bibitem{1} J. Belsher and D. Fried, ``Chromatic refraction induced pseudo anisoplanatism,'' tOSC Rep. TR-433 (Optical Sciences Co., Placentia, Calif., 1981). \bibitem{2} B. L. Ellerbroek and P. H. Roberts, ``Turbulence induced angular separation errors; expected values for the SOR-2 experiment,'' tOSC Rep. TR-613 (Optical Sciences Co., Placentia, Calif., 1984). \bibitem{3} D. L. Fried, ``Differential angle of arrival: theory, evaluation, and measurement feasibility,'' Radio Sci. {\bf 10,} 71-76 (1975). \bibitem{4} D. Fried, ``Anisoplanatism in adaptive optics,'' \josa {\bf 72,} 52-61 (1982). \bibitem{5} D. Korff, G. Druden, and R. P. Leavitt, ``Isoplanicity: the translation invariance of the atmospheric Green's function,'' \josa {\bf 65,} 1321-1330 (1975). \bibitem{6} J. H. Shapiro, ``Point-ahead limitation on reciprocity tracking,'' \josa {\bf 65,} 65-68 (1975). \bibitem{7} G. A. Tyler, ``Turbulence-induced adaptive-optics performance degradation: evaluation in the time domain,'' \josaa {\bf 1,} 251-262 (1984). \bibitem{8} I. S. Gradshteyn and I. M. Ryzhik, {\it Table of Integrals, Series, and Products} (Academic, New York, 1980). \bibitem{9} V. I. Tatarski, {\it The Effects Of The Turbulent Atmosphere On Wave Propagation} (U. S. Department of Commerce, Washington, D.C., 1971). \bibitem{10} R. E. Hufnagel, {\it Optical Propagation through Turbulence} (Optical Society of America, Washington, D. C., 1974). \end{references} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \begin{figure} \caption{ Comparison of the Mar\'{e}chal and the two- to six-term approximations with the exact value of the Strell ratio, for an anisoplanatic displacement, for $D/r_0$ equal to 1.}\label{f1} \end{figure} \begin{figure} \caption{ Comparison of the Mar\'{e}chal and the two- to six-term approximations with the exact value of the Strell ratio, for an anisoplanatic displacement, for $D/r_0$ equal to 5. } \label{f5} \end{figure} \begin{figure} \caption{ Comparison of the Mar\'{e}chal and the two- to six-term approximations with the exact value of the Strell ratio, for an anisoplanatic displacement, for $D/r_0$ equal to 10. } \label{f10} \end{figure} \begin{figure} \caption{Strehl ratio for angular anisoplanatic error at zenith, for various turbulence models, versus separation angle for a 0.6-m system. Upper-altitude turbulence has a strong effect on the Strehl ratio.} \label{faaz} \end{figure} \begin{figure} \caption{ Strehl ratio for angular anisoplanatism at $30^{\circ}$ for a 0.6-m system.} \label{faa30} \end{figure} \begin{figure} \caption{ Strehl ratio versus time delay at zenith for a 0.6-m system.} \label{ftdz} \end{figure} \begin{figure} \caption{ Strehl ratio versus time delay for a 0.6-m system at $30^{\circ}$ zenith angle. Strehl ratio at $30^{\circ}$ for a 0.6-m system. } \label{ftd30} \end{figure} \begin{figure} \caption{ Difference ($\times 10^6$) in refractive index between $0.5 \, \mu \rm m$ and other wavelengths.}\label{fri} \end{figure} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{figure} \caption{ Comparison of the Mar\'{e}chal and the two- to six-term approximations with the exact value of the Strell ratio, for an anisoplanatic displacement, for $D/r_0$ equal to 1.}\label{f1} \end{figure} \begin{figure} \caption{ Comparison of the Mar\'{e}chal and the two- to six-term approximations with the exact value of the Strell ratio, for an anisoplanatic displacement, for $D/r_0$ equal to 5. } \label{f5} \end{figure} \begin{figure} \caption{ Comparison of the Mar\'{e}chal and the two- to six-term approximations with the exact value of the Strell ratio, for an anisoplanatic displacement, for $D/r_0$ equal to 10. } \label{f10} \end{figure} \begin{figure} \caption{Strehl ratio for angular anisoplanatic error at zenith, for various turbulence models, versus separation angle for a 0.6-m system. Upper-altitude turbulence has a strong effect on the Strehl ratio.} \label{faaz} \end{figure} \begin{figure} \caption{ Strehl ratio for angular anisoplanatism at $30^{\circ}$ for a 0.6-m system.} \label{faa30} \end{figure} \begin{figure} \caption{ Strehl ratio versus time delay at zenith for a 0.6-m system.} \label{ftdz} \end{figure} \begin{figure} \caption{ Strehl ratio versus time delay for a 0.6-m system at $30^{\circ}$ zenith angle. Strehl ratio at $30^{\circ}$ for a 0.6-m system. } \label{ftd30} \end{figure} \begin{figure} \caption{ Difference ($\times 10^6$) in refractive index between $0.5 \, \mu \rm m$ and other wavelengths.}\label{fri} \end{figure} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \begin{table} \caption{Values of $T_2$ and $T_{5/3}$ to Solve for the Chromatic Displacement for Various Turbulence Models for a Wavelength of 0.5 $\mu \rm m$} \begin{tabular}{lcc} Model&$T_2$\tablenote{The units of $T_2$ are $m^{1/3}$.}& $T_{5/3}$\tablenote{$T_{5/3}$ is dimensionless.} \\ \tableline SLC-Day&$2.71 \, \times \, 10^{-6}$&$2.00 \, \times \, 10^{-7}$\\ HV-21&$6.16 \, \times \, 10^{-6}$&$3.60 \, \times \, 10^{-7}$\\ HV-54&$3.40 \, \times \, 10^{-5}$&$1.87 \, \times \, 10^{-6}$\\ HV-72&$5.95 \, \times \, 10^{-5}$&$3.25 \, \times \, 10^{-6}$\\ \end{tabular} \end{table} %\end{document} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{table} \caption{Values of $T_2$ and $T_{5/3}$ to Solve for the Chromatic Displacement for Various Turbulence Models for a Wavelength of 0.5 $\mu \rm m$} \begin{tabular}{lcc} Model&$T_2$\tablenote{The units of $T_2$ are $m^{1/3}$.}& $T_{5/3}$\tablenote{$T_{5/3}$ is dimensionless.} \\ \tableline SLC-Day&$2.71 \, \times \, 10^{-6}$&$2.00 \, \times \, 10^{-7}$\\ HV-21&$6.16 \, \times \, 10^{-6}$&$3.60 \, \times \, 10^{-7}$\\ HV-54&$3.40 \, \times \, 10^{-5}$&$1.87 \, \times \, 10^{-6}$\\ HV-72&$5.95 \, \times \, 10^{-5}$&$3.25 \, \times \, 10^{-6}$\\ \end{tabular} \end{table} \end{document} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text NEW DOCUMENT!!! \setcounter{eqletter}{0} \setcounter{equation}{0} \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \setcounter{figure}{0} \begin{center}{\Large \bf Generation, propagation, and amplification of dark solitons} \\ \vskip.5in {W. Zhao and E. Bourkoff} {\it Department of Electrical and Computer Engineering, The University of South Carolina, Columbia, South Carolina, 29208} \end{center} \vskip.5in \begin{abstract} % DON'T CHANGE THIS LINE The technique for generating dark solitons with constant background using guided-wave Mach--Zehnder interferometers is further examined. Under optimal conditions, a reduction of 30\% in both the input optical power and the driving voltage can be achieved, as compared with the case of complete modulation. Dark solitons are also found to experience compression through amplification. When the gain coefficient is small, adiabatic amplification is possible. Raman amplification can be used as the gain mechanism for adiabatic amplification, in addition to being used for loss-compensation. The frequency and time shifts caused by intrapulse stimulated Raman scattering are both found to be a factor of 2 smaller than those for bright solitons. Finally, the propagation properties of even dark pulses are described quantitatively. \end{abstract} \section{ INTRODUCTION} \label{INT} Nonlinear optical pulses can propagate in dispersive fibers in the form of bright and dark solitons under certain conditions, as first described by Zakharov and Shabat in 1972\cite{ZA} and in 1973,\cite{ZB} respectively. They are stationary solutions of the initial boundary value problem of the nonlinear Schr{$\rm\ddot o$}dinger equation (NLSE).\cite{SA} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \documentstyle[osa,manuscript]{revtex} % DON'T CHANGE % % \newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} \newcommand{\manual}{rm} % Substitute rm (Roman) font. \newcommand\bs{\char '134 } % add backslash char to \tt font % % \begin{document} % INITIALIZE - DONT CHANGE % % % \title{Generation, propagation, and amplification of dark solitons} % \author{W. Zhao and E. Bourkoff} % \address{Department of Electrical and Computer Engineering, The University of South Carolina, Columbia, South Carolina, 29208} % \maketitle \begin{abstract} % DON'T CHANGE THIS LINE The technique for generating dark solitons with constant background using guided-wave Mach--Zehnder interferometers is further examined. Under optimal conditions, a reduction of 30\% in both the input optical power and the driving voltage can be achieved, as compared with the case of complete modulation. Dark solitons are also found to experience compression through amplification. When the gain coefficient is small, adiabatic amplification is possible. Raman amplification can be used as the gain mechanism for adiabatic amplification, in addition to being used for loss-compensation. The frequency and time shifts caused by intrapulse stimulated Raman scattering are both found to be a factor of 2 smaller than those for bright solitons. Finally, the propagation properties of even dark pulses are described quantitatively. \end{abstract} \section{ INTRODUCTION} \label{INT} Nonlinear optical pulses can propagate in dispersive fibers in the form of bright and dark solitons under certain conditions, as first described by Zakharov and Shabat in 1972\cite{ZA} and in 1973,\cite{ZB} respectively. They are stationary solutions of the initial boundary value problem of the nonlinear Schr{$\rm\ddot o$}dinger equation (NLSE).\cite{SA} \ldots \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text In the anomalous dispersion regime of the fiber, under the boundary condition $ u( z, t = \pm \infty ) = 0 $, there exists a class of particle-like, stationary solutions called bright solitons.\cite{HA} In the normal dispersion region, under the boundary condition $ | u( z, t = \pm \infty ) | = $constant, one can obtain another class of stationary solutions, which are called dark solitons, since a dip occurs at the center of the pulse.\cite{HB} \ldots In the following discussions, we adopt the normalization convention used in Agrawal's book.\cite{AB} We normalize the field amplitude $A$ (optical power $P_0 = A^2 $) into $u$ by \begin{eqnarray*} u = \left( { 2 \pi n_2 {\tau_0}^2 }\over { \lambda A_{\rm eff} | \beta_2 | } \right)^{1/2} A , \end{eqnarray*} where $A_{\rm eff }$ is the effective area of the propagating mode, $n_2 = 3.2\times 10^{-16}$cm$^2 /$W is the nonlinear optical Kerr coefficient of the silica fiber, and $ \beta_{2} $ is a parameter describing the group velocity dispersion of fiber, \ldots \section{GENERATION OF DARK SOLITONS} \label{GDS} In our earlier work\cite{ZBD,ZBE} we discussed the possibility of using an integrated Mach--Zehnder interferometer (MZI) to generate dark solitons with constant background. \ldots \ldots Therefore the pulse after the MZI, when properly biased, can have the form \begin{eqnarray} u (0,t) = a\, {\rm sin} [ \delta \pi /2\, {\rm tanh} (t) ], \label{E1} \end{eqnarray} \section{PROPAGATION AND AMPLIFICATION} \label{PAA} As discussed in Section \ref{GDS}, when smaller values of $ \delta $ are used, pulses of better characteristics are obtained. This can be seen in Fig. 1(d), where $ a = 1.33 $ and a pure fundamental dark soliton is generated. \ldots . \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} In the anomalous dispersion regime of the fiber, under the boundary condition $ u( z, t = \pm \infty ) = 0 $, there exists a class of particle-like, stationary solutions called bright solitons.\cite{HA} In the normal dispersion region, under the boundary condition $ | u( z, t = \pm \infty ) | = $constant, one can obtain another class of stationary solutions, which are called dark solitons, since a dip occurs at the center of the pulse.\cite{HB} \ldots In the following discussions, we adopt the normalization convention used in Agrawal's book.\cite{AB} We normalize the field amplitude $A$ (optical power $P_0 = A^2 $) into $u$ by \begin{eqnarray*} u = \left( { 2 \pi n_2 {\tau_0}^2 }\over { \lambda A_{\rm eff} | \beta_2 | } \right)^{1/2} A , \end{eqnarray*} where $A_{\rm eff }$ is the effective area of the propagating mode, $n_2 = 3.2\times 10^{-16}$cm$^2 /$W is the nonlinear optical Kerr coefficient of the silica fiber, and $ \beta_{2} $ is a parameter describing the group velocity dispersion of fiber, \ldots \section{GENERATION OF DARK SOLITONS} \label{GDS} In our earlier work\cite{ZBD,ZBE} we discussed the possibility of using an integrated Mach--Zehnder interferometer (MZI) to generate dark solitons with constant background. \ldots \ldots Therefore the pulse after the MZI, when properly biased, can have the form \begin{eqnarray} u (0,t) = a\, {\rm sin} [ \delta \pi /2\, {\rm tanh} (t) ], \label{E1} \end{eqnarray} \section{PROPAGATION AND AMPLIFICATION} \label{PAA} As discussed in Section \ref{GDS}, when smaller values of $ \delta $ are used, pulses of better characteristics are obtained. This can be seen in Fig. 1(d), where $ a = 1.33 $ and a pure fundamental dark soliton is generated. \ldots . \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text We first examine the solution of a modified NLSE with a constant gain: \begin{eqnarray} i u_{z} - {1/2} u_{tt} + |u|^2 u = i \Gamma u, \label{E2} \end{eqnarray} where $\Gamma $ is assumed to be a constant, appropriate for the Raman amplification under strong pumping without depletion. The solution of a similar equation to Eq. (\ref{E2}), but \ldots \begin{mathletters} \begin{eqnarray} t' &=& t e^{ \Gamma z }, \label{E4} \\ z' &=& { e^{2 \Gamma z } - 1 \over 2 \Gamma }, \label{E5} \\ u &=& v e^{ \Gamma z } . \label{E6} \end{eqnarray} \end{mathletters} Under this transformation, the NLSE has the new form \begin{eqnarray} i v_{z'} -\slantfrac{1}{2} v_{ t' t' } - |v|^2 v &=& - { \Gamma t' \over 2 \Gamma z' + 1} v_{t'}. \label{E7} \end{eqnarray} The solution of Eq. (\ref{E2}) when $\Gamma $ = 0 is well known and has the form ${\rm exp} [i \sigma (z,t) ] \kappa \tanh \kappa t $, where $\kappa $ is the form factor and the phase variable satisfies $ \partial \sigma / \partial z = \kappa^2 $.\cite{ZA} Therefore, when the right-hand-side of Eq.(\ref{E7}) is zero, an exact solution for $v(z',t)$ can be obtained from Eq. (\ref{E7}). On the other hand, when $z \rightarrow \infty $ and hence $z' \rightarrow \infty $ or $ \Gamma \rightarrow 0$, the right-hand side of Eq. (\ref{E7}) becomes infinitely small. Under these conditions, we can treat the right-hand side of Eq. (\ref{E7}) as a perturbation to the NLSE. \ldots \begin{eqnarray} u(z,t)&=&{\rm exp}\left( i{e^{2\Gamma z}-1 \over 2\Gamma}\right) e^{\Gamma z} \, {\rm tanh} (te^{\Gamma z}), \label{E8} \\ \Gamma&=&g(e^{-2\Gamma_pz} + e^{-2\Gamma_p(L-z)}) - \Gamma_s, \label{E9} \\ g&=&{\Gamma_p(\Gamma_s + \beta)L \over {\rm sinh}(\Gamma_pL)} e^{\Gamma_pL} , \label{E10} \\ \kappa(z) &=& \kappa_0 \, {\rm exp}(\beta z). \label{E11} \end{eqnarray} \section{EFFECTS OF INTRAPULSE STIMULATED RAMAN SCATTERING} \label{EIS} The properties of dark solitons considered thus far are based on the simplified propagation equation (\ref{E2}). \ldots \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} We first examine the solution of a modified NLSE with a constant gain: \begin{eqnarray} i u_{z} - {1/2} u_{tt} + |u|^2 u = i \Gamma u, \label{E2} \end{eqnarray} where $\Gamma $ is assumed to be a constant, appropriate for the Raman amplification under strong pumping without depletion. The solution of a similar equation to Eq. (\ref{E2}), but \ldots \begin{mathletters} \begin{eqnarray} t' &=& t e^{ \Gamma z }, \label{E4} \\ z' &=& { e^{2 \Gamma z } - 1 \over 2 \Gamma }, \label{E5} \\ u &=& v e^{ \Gamma z } . \label{E6} \end{eqnarray} \end{mathletters} Under this transformation, the NLSE has the new form \begin{eqnarray} i v_{z'} -\slantfrac{1}{2} v_{ t' t' } - |v|^2 v &=& - { \Gamma t' \over 2 \Gamma z' + 1} v_{t'}. \label{E7} \end{eqnarray} The solution of Eq. (\ref{E2}) when $\Gamma $ = 0 is well known and has the form ${\rm exp} [i \sigma (z,t) ] \kappa \tanh \kappa t $, where $\kappa $ is the form factor and the phase variable satisfies $ \partial \sigma / \partial z = \kappa^2 $.\cite{ZA} Therefore, when the right-hand-side of Eq.(\ref{E7}) is zero, an exact solution for $v(z',t)$ can be obtained from Eq. (\ref{E7}). On the other hand, when $z \rightarrow \infty $ and hence $z' \rightarrow \infty $ or $ \Gamma \rightarrow 0$, the right-hand side of Eq. (\ref{E7}) becomes infinitely small. Under these conditions, we can treat the right-hand side of Eq. (\ref{E7}) as a perturbation to the NLSE. \ldots \begin{eqnarray} u(z,t)&=&{\rm exp}\left( i{e^{2\Gamma z}-1 \over 2\Gamma}\right) e^{\Gamma z} \, {\rm tanh} (te^{\Gamma z}), \label{E8} \\ \Gamma&=&g(e^{-2\Gamma_pz} + e^{-2\Gamma_p(L-z)}) - \Gamma_s, \label{E9} \\ g&=&{\Gamma_p(\Gamma_s + \beta)L \over {\rm sinh}(\Gamma_pL)} e^{\Gamma_pL} , \label{E10} \\ \kappa(z) &=& \kappa_0 \, {\rm exp}(\beta z). \label{E11} \end{eqnarray} \section{EFFECTS OF INTRAPULSE STIMULATED RAMAN SCATTERING} \label{EIS} The properties of dark solitons considered thus far are based on the simplified propagation equation (\ref{E2}). \ldots \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \ldots The energies of these separating solitons are distributed in such way to ensure conservation of momentum. \ldots \begin{eqnarray} iu_z - {1/2}u_{tt}+|u|^2u &=& \tau_d{\partial |u|^2 \over \partial t}u, \label{E12} \end{eqnarray} \section{EVEN DARK PULSES} \label{EDP} Even dark pulses,\cite{KA,WA} which are symmetric functions of time centered around the pulse, can be simply generated by driving the MZI with a short electric pulse. \ldots If we define the amplitudes of the secondary soliton pairs as \begin{eqnarray} \kappa_n = \kappa_0 - \Delta_{n} , \label{E16} \end{eqnarray} then the $n$th order secondary pulse shape (n = 1, 2, 3, \ldots ) has the form \begin{eqnarray} u_n (z,t) = \kappa_{0}{(\lambda_n - i \nu_n )^2 - \nu_n \,{\rm exp} [ 2 \nu_n (t-t_{n0} - \lambda_{n} z)] \over 1 + \nu_n\, {\rm exp} [ 2 \nu_n (t-t_{n0} - \lambda_n z)]} e^{iz}, \label{E17} \end{eqnarray} \ldots \section{CONCLUSIONS} We have discussed the possibility of using the waveguide Mach--Zehnder interferometer to generate a variety of dark solitons under constant background. Under optimal operation, 30\% less input power and driving voltage are required than for complete modulation. The generated solitons can have good pulse quality and stimulated Raman scattering process can be utilized to compensate for fiber loss and even to amplify and compress the dark solitons. \ldots \acknowledgments The authors thank the reviewers for their constructive comments. This research was supported by National Science Foundation grant ECS-91960-64. \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \ldots The energies of these separating solitons are distributed in such way to ensure conservation of momentum. \ldots \begin{eqnarray} iu_z - {1/2}u_{tt}+|u|^2u &=& \tau_d{\partial |u|^2 \over \partial t}u, \label{E12} \end{eqnarray} \ldots \section{EVEN DARK PULSES} \label{EDP} Even dark pulses,\cite{KA,WA} which are symmetric functions of time centered around the pulse, can be simply generated by driving the MZI with a short electric pulse. \ldots If we define the amplitudes of the secondary soliton pairs as \begin{eqnarray} \kappa_n = \kappa_0 - \Delta_{n} , \label{E16} \end{eqnarray} then the $n$th order secondary pulse shape (n = 1, 2, 3, \ldots ) has the form \begin{eqnarray} u_n (z,t) = \kappa_{0}{(\lambda_n - i \nu_n )^2 - \nu_n \,{\rm exp} [ 2 \nu_n (t-t_{n0} - \lambda_{n} z)] \over 1 + \nu_n\, {\rm exp} [ 2 \nu_n (t-t_{n0} - \lambda_n z)]} e^{iz}, \label{E17} \end{eqnarray} \ldots \section{CONCLUSIONS} We have discussed the possibility of using the waveguide Mach--Zehnder interferometer to generate a variety of dark solitons under constant background. Under optimal operation, 30\% less input power and driving voltage are required than for complete modulation. The generated solitons can have good pulse quality and stimulated Raman scattering process can be utilized to compensate for fiber loss and even to amplify and compress the dark solitons. \ldots \acknowledgments The authors thank the reviewers for their constructive comments. This research was supported by National Science Foundation grant ECS-91960-64. \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \begin{references} \bibitem{ZA} V. E. Zakharov and A. B. Shabat, ``Exact theory of two-dimensional self-focusing and one-dimensional self-modulation of waves in nonlinear media,'' Sov. Phys. JETP {\bf 5,} 364--372 (1972). \bibitem{ZB} V. E. Zakharov and A. B. Shabat, ``Interaction between solitons in a stable medium,'' Sov. Phys. JETP {\bf 37,} 823--828 (1973). \bibitem{SA} J. Satruma and N. Yajima, ``Initial value problems of one-dimensional self-phase modulation of nonlinear waves in dispersive media,'' Progr. Theor. Phys. Suppl. {\bf 55,} 284--305 (1974). \bibitem{HA} A. Hasegawa and F. Tappert, ``Transmission of stationary nonlinear optical pulses in dispersive dielectric fibers. I. Anomalous dispersion,'' Appl. Phys. Lett. {\bf 23,} 142 (1973). \bibitem{HB} A. Hasegawa and F. Tappert, ``Transmission of stationary nonlinear optical pulses in dispersive dielectric fibers. II. Normal dispersion,'' Appl. Phys. Lett. {\bf 23,} 172 (1973). \bibitem{AB} G. P. Agrawal, {\it Nonlinear Fiber Optics,} Chapt. 5 (Academic, Boston, 1989). \bibitem{ZBD} W. Zhao and E. Bourkoff, ``Generation of dark solitons under cw background using waveguide EO modulators,'' Opt. Lett. {\bf 15,} 405--407 (1990). \bibitem{ZBE} W. Zhao and E. Bourkoff, ``Dark solitons: generation, propagation, and amplification'', {\it OSA Annual Meeting,} Vol. 18 of 1989 OSA Technical Digest Series (Optical Society of America, Washington, D.C., 1989), p. 185. \bibitem{KA} D. Kr$\rm {\ddot o}$kel, N. J. Halas, G. Giuliani, and D. Grischkowsky, ``Dark-pulse propagation in optical fibers,'' Phys. Rev. Lett. {\bf 60,} 29--32 (1988). \bibitem{WA} A. M. Weiner, J. P. Heritage, R. J. Hawkins, R. N. Thurston, E. M. Kirschner, D. E. Leaird, and W. J. Tomlinson, ``Experimental observation of the fundamental dark soliton in optical fibers,'' Phys. Rev. Lett. {\bf 61,} 2445--2448 (1988). \end{references} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{references} \bibitem{ZA} V. E. Zakharov and A. B. Shabat, ``Exact theory of two-dimensional self-focusing and one-dimensional self-modulation of waves in nonlinear media,'' Sov. Phys. JETP {\bf 5,} 364--372 (1972). \bibitem{ZB} V. E. Zakharov and A. B. Shabat, ``Interaction between solitons in a stable medium,'' Sov. Phys. JETP {\bf 37,} 823--828 (1973). \bibitem{SA} J. Satruma and N. Yajima, ``Initial value problems of one-dimensional self-phase modulation of nonlinear waves in dispersive media,'' Progr. Theor. Phys. Suppl. {\bf 55,} 284--305 (1974). \bibitem{HA} A. Hasegawa and F. Tappert, ``Transmission of stationary nonlinear optical pulses in dispersive dielectric fibers. I. Anomalous dispersion,'' Appl. Phys. Lett. {\bf 23,} 142 (1973). \bibitem{HB} A. Hasegawa and F. Tappert, ``Transmission of stationary nonlinear optical pulses in dispersive dielectric fibers. II. Normal dispersion,'' Appl. Phys. Lett. {\bf 23,} 172 (1973). \bibitem{AB} G. P. Agrawal, {\it Nonlinear Fiber Optics,} Chapt. 5 (Academic, Boston, 1989). \bibitem{ZBD} W. Zhao and E. Bourkoff, ``Generation of dark solitons under cw background using waveguide EO modulators,'' Opt. Lett. {\bf 15,} 405--407 (1990). \bibitem{ZBE} W. Zhao and E. Bourkoff, ``Dark solitons: generation, propagation, and amplification'', {\it OSA Annual Meeting,} Vol. 18 of 1989 OSA Technical Digest Series (Optical Society of America, Washington, D.C., 1989), p. 185. \bibitem{KA} D. Kr$\rm {\ddot o}$kel, N. J. Halas, G. Giuliani, and D. Grischkowsky, ``Dark-pulse propagation in optical fibers,'' Phys. Rev. Lett. {\bf 60,} 29--32 (1988). \bibitem{WA} A. M. Weiner, J. P. Heritage, R. J. Hawkins, R. N. Thurston, E. M. Kirschner, D. E. Leaird, and W. J. Tomlinson, ``Experimental observation of the fundamental dark soliton in optical fibers,'' Phys. Rev. Lett. {\bf 61,} 2445--2448 (1988). \end{references} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \begin{figure} \caption{The dark solitons generated by the waveguide Mach-Zehnder interferometer. The amplitude of the input cw light is chosen to be $ a = \pi /2 $ for (a)-(c). The parameter $ \delta $ is (a) 0.8, (b) 0.5, and (c) 0.2. Part (d) is the case of optimal operation when $ a = 1.33 $, and $ \delta = 0.7 $. In all cases, the output pulse shapes are plotted as solid curves while the dashed curves are input pulse shapes. The pulses shown here are at a propagation distance of $ z = 4 $.} \end{figure} \begin{figure} \caption{ Dark solitons under constant gain. Pulse shapes (solid) when $\Gamma$=0.05 (a) and 1(b), after certain propagation distance, $\Gamma$z=1.6, as compared to input pulse shapes (dashed). (c): The pulse duration, relative to its input, as a function of $\Gamma z$ at various $\Gamma$. The solid curve is the adiabatic approximation obtained by perturbation method. Three values of $\Gamma$ are used: $\Gamma$ = 0.05 (dotted); 0.2 (dash-dotted); and 1 (dashed). Negative $\Gamma$z depicts the case of loss.} \end{figure} \begin{figure} \caption{ The pulse shapes of amplified dark solitons. (a) $ \delta = 0.5 $, $ \beta = 2 ln 1.05 $, $ \Gamma_p L = 2 $, after 8 amplifying cycles (solid); (b) $ \delta = 0.5 $, $ \beta = 2 ln 1.02 $, $ \Gamma_p L = 2 $, after 16 amplifying cycles (solid); (c) $ \delta = 0.5 $, $ \beta = 2 ln 1.02 $, $ \Gamma_p L = 0.5 $, after 16 amplifying cycles (solid); (d) The input pulse is the same as in Fig. 1(c), $ \beta = 2 ln 1.05 $, after 8 amplification periods (solid). The input pulse shapes are plotted as dashed curves.} \end{figure} \begin{figure} \caption{ (a) The shape of a fundamental dark soliton after a propagation distance of 40 (solid). The normalized time delay $ \tau_d = 0.01 $. The dashed curve is the input pulse shape. (b) The trace of the soliton (solid) as a function of propagation distance for the situation described by (a). The dotted curve represents the case for a fundamental bright soliton under similar conditions.} \end{figure} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{figure} \caption{The dark solitons generated by the waveguide Mach-Zehnder interferometer. The amplitude of the input cw light is chosen to be $ a = \pi /2 $ for (a)-(c). The parameter $ \delta $ is (a) 0.8, (b) 0.5, and (c) 0.2. Part (d) is the case of optimal operation when $ a = 1.33 $, and $ \delta = 0.7 $. In all cases, the output pulse shapes are plotted as solid curves while the dashed curves are input pulse shapes. The pulses shown here are at a propagation distance of $ z = 4 $.} \end{figure} \begin{figure} \caption{ Dark solitons under constant gain. Pulse shapes (solid) when $\Gamma$=0.05 (a) and 1(b), after certain propagation distance, $\Gamma$z=1.6, as compared to input pulse shapes (dashed). (c): The pulse duration, relative to its input, as a function of $\Gamma z$ at various $\Gamma$. The solid curve is the adiabatic approximation obtained by perturbation method. Three values of $\Gamma$ are used: $\Gamma$ = 0.05 (dotted); 0.2 (dash-dotted); and 1 (dashed). Negative $\Gamma$z depicts the case of loss.} \end{figure} \begin{figure} \caption{ The pulse shapes of amplified dark solitons. (a) $ \delta = 0.5 $, $ \beta = 2 ln 1.05 $, $ \Gamma_p L = 2 $, after 8 amplifying cycles (solid); (b) $ \delta = 0.5 $, $ \beta = 2 ln 1.02 $, $ \Gamma_p L = 2 $, after 16 amplifying cycles (solid); (c) $ \delta = 0.5 $, $ \beta = 2 ln 1.02 $, $ \Gamma_p L = 0.5 $, after 16 amplifying cycles (solid); (d) The input pulse is the same as in Fig. 1(c), $ \beta = 2 ln 1.05 $, after 8 amplification periods (solid). The input pulse shapes are plotted as dashed curves.} \end{figure} \begin{figure} \caption{ (a) The shape of a fundamental dark soliton after a propagation distance of 40 (solid). The normalized time delay $ \tau_d = 0.01 $. The dashed curve is the input pulse shape. (b) The trace of the soliton (solid) as a function of propagation distance for the situation described by (a). The dotted curve represents the case for a fundamental bright soliton under similar conditions.} \end{figure} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \begin{table} \caption{Amplitudes of Secondary Even Dark Pulses} \begin{tabular}{cccccr} &&Input Pulse Shape&&&\\ \cline{2-4} $\Delta_n$Values&$\kappa_0|{\rm tanh}t|$&$\kappa_0[1-{\rm exp}(-t^2/ {\tau_g}^2)]^{1/2}$&$\kappa_0[1-{\rm sech}(t/\tau_s)]$&Avg.&Range\\ \tableline $\Delta_1$&0.34&0.30&0.21&0.28&$\pm 25\%$ \\ $\Delta_2$&1.56&1.41&1.26&1.41&$\pm 11\%$ \\ $\Delta_3$&2.47&2.26&2.28&2.34&$\pm 6\%$ \\ $\Delta_4$&3.52&3.25&3.31&3.36&$\pm 6\%$ \\ $\Delta_5$&4.45&4.26&4.42&4.38&$\pm 6\%$ \\ $\Delta_6$&5.52&5.35&5.50&5.50&$\pm 5\%$ \\ \end{tabular} \end{table} %\end{document} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{table} \caption{Amplitudes of Secondary Even Dark Pulses} \begin{tabular}{cccccr} &&Input Pulse Shape&&&\\ \cline{2-4} $\Delta_n$Values&$\kappa_0|{\rm tanh}t|$&$\kappa_0[1-{\rm exp}(-t^2/ {\tau_g}^2)]^{1/2}$&$\kappa_0[1-{\rm sech}(t/\tau_s)]$&Avg.&Range\\ \tableline $\Delta_1$&0.34&0.30&0.21&0.28&$\pm 25\%$ \\ $\Delta_2$&1.56&1.41&1.26&1.41&$\pm 11\%$ \\ $\Delta_3$&2.47&2.26&2.28&2.34&$\pm 6\%$ \\ $\Delta_4$&3.52&3.25&3.31&3.36&$\pm 6\%$ \\ $\Delta_5$&4.45&4.26&4.42&4.38&$\pm 6\%$ \\ $\Delta_6$&5.52&5.35&5.50&5.50&$\pm 5\%$ \\ \end{tabular} \end{table} \end{document} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text NEW DOCUMENT!!! \setcounter{eqletter}{0} \setcounter{equation}{0} \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \setcounter{figure}{0} \begin{center}{\Large \bf Designing digital optical computing systems: power distribution and cross talk} \vskip.5in {Jonathan P. Pratt and Vincent P. Heuring} {\it When this work was performed, both the authors were with the Boulder Optoelectronic Computing Systems Center and Department of Electrical and Computer Engineering, University of Colorado, Campus Box 425, Boulder, Colorado 80309-0425. They are now with the Department of Radiology, University of Colorado Health Sciences Center, Box A034, 4200 East Ninth Avenue, Denver, Colorado 80262. } \end{center} \vskip.5in \begin{abstract} Complex optical computer designs must implicitly or explicitly allow for power budgeting, to compensate for cross talk and loss in both devices and interconnections. We develop algorithms for calculating the system cross talk and power loss in optical systems, using a graph-theoretic model. Devices are modeled as directed graphs with nodes representing inputs and outputs, and edges are weighted with the power relationships between nodes. Systems are modeled by interconnecting the individual device graphs in a manner that reflects the connectivity of the system. A system's power budget is efficiently computed by a depth-first search of its graph. The algorithms have been incorporated into an optical computer-aided design system that is now being used to design a bit-serial optical computer containing hundreds of components. Key words: Optical computing, optical systems, optical communications, power loss, cross talk, graphs. \end{abstract} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \documentstyle[osa,aplop,manuscript]{revtex} % DON'T CHANGE % \newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} \newcommand{\manual}{rm} % Substitute rm (Roman) font. \newcommand\bs{\char '134 } % add backslash char to \tt font % % \begin{document} % INITIALIZE - DONT CHANGE \title{Designing digital optical computing systems: power distribution and cross talk} \author{Jonathan P. Pratt and Vincent P. Heuring} \address{ When this work was performed, both the authors were with the Boulder Optoelectronic Computing Systems Center and Department of Electrical and Computer Engineering, University of Colorado, Campus Box 425, Boulder, Colorado 80309-0425. They are now with the Department of Radiology, University of Colorado Health Sciences Center, Box A034, 4200 East Ninth Avenue, Denver, Colorado 80262. } \maketitle \begin{abstract} Complex optical computer designs must implicitly or explicitly allow for power budgeting, to compensate for cross talk and loss in both devices and interconnections. We develop algorithms for calculating the system cross talk and power loss in optical systems, using a graph-theoretic model. Devices are modeled as directed graphs with nodes representing inputs and outputs, and edges are weighted with the power relationships between nodes. Systems are modeled by interconnecting the individual device graphs in a manner that reflects the connectivity of the system. A system's power budget is efficiently computed by a depth-first search of its graph. The algorithms have been incorporated into an optical computer-aided design system that is now being used to design a bit-serial optical computer containing hundreds of components. Key words: Optical computing, optical systems, optical communications, power loss, cross talk, graphs. \end{abstract} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \section{ Introduction} We describe a technique that facilitates the design of digital optical computers and other complex optical circuitry, such as optical communications systems. Although there has been some discussion in the literature of power budgeting in optical systems,\cite{1,2} the treatment has been limited to relatively uncomplicated applications, \ldots \section{Power Loss and Cross Talk in the System} \subsection{ Introduction} Appropriate signal levels must be maintained in any digital optical system that uses signal level thresholds to encode transmitted information. Usually a high-level signal represents a logic 1 and a low-level signal represents a logic 0. In these systems the device characteristics of importance are power loss and cross talk. \ldots \subsection{Power Levels and Correct Device Operation} Here we discuss the type of power information desired from a system model. Since the objective is to find weak points in the system power flow, only power extremes are considered. Power extremes are the cross talk and signal levels obtained when the worst possible combinations of device states and input power levels are assumed. \ldots The weakest 1 arriving at the detection point under all conditions from all possible paths to the point is defined as $P_{1\rm min}$, and similarly, the strongest 0 is defined as $ P_{0\rm max}$. Proper device operation can be ensured if the following relations are met: \begin{equation} P_{0\rm max} < P_{S2} < P_{D} < P_{S1} < P_{1\rm min}.\label{p0} \end{equation} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \section{ Introduction} We describe a technique that facilitates the design of digital optical computers and other complex optical circuitry, such as optical communications systems. Although there has been some discussion in the literature of power budgeting in optical systems,\cite{1,2} the treatment has been limited to relatively uncomplicated applications, \ldots \section{Power Loss and Cross Talk in the System} \subsection{ Introduction} Appropriate signal levels must be maintained in any digital optical system that uses signal level thresholds to encode transmitted information. Usually a high-level signal represents a logic 1 and a low-level signal represents a logic 0. In these systems the device characteristics of importance are power loss and cross talk. \ldots \subsection{Power Levels and Correct Device Operation} Here we discuss the type of power information desired from a system model. Since the objective is to find weak points in the system power flow, only power extremes are considered. Power extremes are the cross talk and signal levels obtained when the worst possible combinations of device states and input power levels are assumed. \ldots The weakest 1 arriving at the detection point under all conditions from all possible paths to the point is defined as $P_{1\rm min}$, and similarly, the strongest 0 is defined as $ P_{0\rm max}$. Proper device operation can be ensured if the following relations are met: \begin{equation} P_{0\rm max} < P_{S2} < P_{D} < P_{S1} < P_{1\rm min}.\label{p0} \end{equation} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text It is also desirable to have information about $ P_{\rm max} $, the maximum power level that can occur at the inputs to a given device. A power detector may provide erroneous results when the power of a logic 1 arriving at a detection point is too large; that is, when $ P_{\rm max} $ exceeds $ P_D $ by some large amount. A second and more important reason for computing $ P_{\rm max} $ is that it makes the major contribution to cross talk, as discussed below. Knowledge of the power triple $ P_{0\rm max}, P_{1\rm min}, $ and $ P_{\rm max} $ at each device in a system permits the tracking of power levels throughout the entire system. \subsection{ Modeling the Device} Here we discuss the means for calculating the power triples $ P_{0\rm max},\kern.5em P_{1\rm min}, $ and $ P_{\rm max}$ at the outputs of a given device, given the values of the triples at each of its inputs. \ldots \ldots The power triple for the $j$th output of a device is computed from the input triples and the coupling terms as follows: \begin{eqnarray} P_{1\rm min}({\rm out})_j & = & \begin{array}[t]{c}{\rm min} \\[-15pt] {s\in\rm states} \end{array}\, \{ \, \begin{array}[t]{c}{\rm min} \\[-15pt] {\rm inputs}\, i \end{array} \; [P_{1\rm min}({\rm in})_i - L_{ij}(s)]\}, L_{ij}(s) \; \in \; {\rm loss},\label{p1min} \\ P_{0\rm max}({\rm out})_j & =& \begin{array}[t]{c}{\rm max} \\[-15pt] {s\in\rm states} \end{array}\, \sum_{{\rm inputs}\, i}\left\{ \begin{array}{l}P_{\rm max}{\rm (in)}_i - L_{ij}(s)\; ,\; L_{ij}(s)\in {\rm cross\, talk},\label{p0max} \\ P_{0\rm max}({\rm in})_i - L_{ij}(s)\; ,\; L_{ij}(s)\in {\rm loss}, \end{array} \right. \\ P_{\rm max}({\rm out})_j &=& \begin{array}[t]{c}{\rm max} \\[-15pt] {s\in\rm states} \end{array}\, \sum_{{\rm inputs}\, i} P_{\rm max}{\rm (in)}_i - L_{ij}(s) . \label{pmax} \end{eqnarray} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} It is also desirable to have information about $ P_{\rm max} $, the maximum power level that can occur at the inputs to a given device. A power detector may provide erroneous results when the power of a logic 1 arriving at a detection point is too large; that is, when $ P_{\rm max} $ exceeds $ P_D $ by some large amount. A second and more important reason for computing $ P_{\rm max} $ is that it makes the major contribution to cross talk, as discussed below. Knowledge of the power triple $ P_{0\rm max}, P_{1\rm min}, $ and $ P_{\rm max} $ at each device in a system permits the tracking of power levels throughout the entire system. \subsection{ Modeling the Device} Here we discuss the means for calculating the power triples $ P_{0\rm max},\kern.5em P_{1\rm min}, $ and $ P_{\rm max}$ at the outputs of a given device, given the values of the triples at each of its inputs. \ldots \ldots The power triple for the $j$th output of a device is computed from the input triples and the coupling terms as follows: \begin{eqnarray} P_{1\rm min}({\rm out})_j & = & \begin{array}[t]{c}{\rm min} \\[-15pt] {s\in\rm states} \end{array}\, \{ \, \begin{array}[t]{c}{\rm min} \\[-15pt] {\rm inputs}\, i \end{array} \; [P_{1\rm min}({\rm in})_i - L_{ij}(s)]\}, L_{ij}(s) \; \in \; {\rm loss},\label{p1min} \\ P_{0\rm max}({\rm out})_j & =& \begin{array}[t]{c}{\rm max} \\[-15pt] {s\in\rm states} \end{array}\, \sum_{{\rm inputs}\, i}\left\{ \begin{array}{l}P_{\rm max}{\rm (in)}_i - L_{ij}(s)\; ,\; L_{ij}(s)\in {\rm cross\, talk},\label{p0max} \\ P_{0\rm max}({\rm in})_i - L_{ij}(s)\; ,\; L_{ij}(s)\in {\rm loss}, \end{array} \right. \\ P_{\rm max}({\rm out})_j &=& \begin{array}[t]{c}{\rm max} \\[-15pt] {s\in\rm states} \end{array}\, \sum_{{\rm inputs}\, i} P_{\rm max}{\rm (in)}_i - L_{ij}(s) . \label{pmax} \end{eqnarray} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text Equation (\ref{p1min}) states that the power of the minimum 1 emerging from the {\it j}th output of the device will be the minimum over all possible states of the minimum over all possible inputs having loss terms of the minimum 1's arriving at those inputs minus the loss terms. Equation (\ref{p0max}) states that the power of the maximum 0 emerging from the {\it j}th output of the device will be the maximum over all possible states of the sum of the inputs \ldots \subsection{ Modeling the System} In this section we extend the applicability of the device graph model to complete systems. \ldots \section{Discussion} The technique described above is indispensable in designing complex optical systems whose components have significant nonidealities. It has been incorporated into a digital optical computer-assisted design system, HATCH,\cite{10} where it has proven invaluable in the design of optical counters and an optical delay line memory system. It is now being used in designing a bit-serial optical computer now under construction in our laboratories. \ldots \acknowledgments This research was supported by the National Science Foundation Engineering Research Centers program under grant CDR 8622236 and by the Colorado Advanced Technology Institute. \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} Equation (\ref{p1min}) states that the power of the minimum 1 emerging from the {\it j}th output of the device will be the minimum over all possible states of the minimum over all possible inputs having loss terms of the minimum 1's arriving at those inputs minus the loss terms. Equation (\ref{p0max}) states that the power of the maximum 0 emerging from the {\it j}th output of the device will be the maximum over all possible states of the sum of the inputs \ldots \subsection{ Modeling the System} In this section we extend the applicability of the device graph model to complete systems. \ldots \section{Discussion} The technique described above is indispensable in designing complex optical systems whose components have significant nonidealities. It has been incorporated into a digital optical computer-assisted design system, HATCH,\cite{10} where it has proven invaluable in the design of optical counters and an optical delay line memory system. It is now being used in designing a bit-serial optical computer now under construction in our laboratories. \ldots \acknowledgments This research was supported by the National Science Foundation Engineering Research Centers program under grant CDR 8622236 and by the Colorado Advanced Technology Institute. \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \begin{references} \bibitem{1} J. C. Palais, {\it Fiber Optic Communications}, 2nd ed. (Prentice-Hall, Englewood Cliffs, N.J., 1988), pp. 270-271. \bibitem{2} E. E. Bash and H. A. Carnes, ``Digital optical communications systems,''in {\it Fiber Optics,} J. Daly, ed. (CRC Press, Boca Raton, Fla., 1987), pp. 153-154. \bibitem{3} V. P. Heuring, H. F. Jordan, and J. P. Pratt, "A bit serial architecture for optical computing," \ao {\bf 31,} 3213-3224 (1992). \bibitem{4} V. P. Heuring, H. F. Jordan, and J. P. Pratt, "Bit serial optical computer design," in {\it Optical Computing 1988,} P. Chavel, J. W. Goodman, and G. Robin, eds., \pspie {\bf 963,} 346-353 (1988). \bibitem{5} V. P. Heuring and J. P. Pratt, "Designing continuous dataflow optical computing systems, I.\ synchronization," in {\it OSA Annual Meeting,} Vol.\ 15 of 1990 OSA Technical Digest Series (Optical Society of America, Washington, D.C., 1990), paper TuUU2. \bibitem{6} A. F. Benner, H. F. Jordan, and V. P. Heuring, "Digital optical computer with optically switched directional coupler," Opt.\ Eng.\ {\bf 30,} 1936-1941 (1991). \bibitem{7} J. P. Tremblay, P. G. Sorenson, {\it The Theory and Practice of Compiler Writing} (McGraw-Hill, New York, 1987), pp. 635-640. \bibitem{8} C. Berge, {\it Graphs} (Elsevier, New York, 1985), pp. 143-152. \bibitem{9} W. M. Waite and G. Goos, {\it Compiler Construction} (Springer-Verlag, New York, 1987), pp. 398-399. \bibitem{10} J. P. Pratt, "HATCH instruction manual," OCS Tech. Rep. 89-31 (Optoelectronic Computing Systems Center, University of Colorado, Boulder, Colo., 1989). \end{references} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{references} \bibitem{1} J. C. Palais, {\it Fiber Optic Communications}, 2nd ed. (Prentice-Hall, Englewood Cliffs, N.J., 1988), pp. 270-271. \bibitem{2} E. E. Bash and H. A. Carnes, ``Digital optical communications systems,''in {\it Fiber Optics,} J. Daly, ed. (CRC Press, Boca Raton, Fla., 1987), pp. 153-154. \bibitem{3} V. P. Heuring, H. F. Jordan, and J. P. Pratt, "A bit serial architecture for optical computing," \ao {\bf 31,} 3213-3224 (1992). \bibitem{4} V. P. Heuring, H. F. Jordan, and J. P. Pratt, "Bit serial optical computer design," in {\it Optical Computing 1988,} P. Chavel, J. W. Goodman, and G. Robin, eds., \pspie {\bf 963,} 346-353 (1988). \bibitem{5} V. P. Heuring and J. P. Pratt, "Designing continuous dataflow optical computing systems, I.\ synchronization," in {\it OSA Annual Meeting,} Vol.\ 15 of 1990 OSA Technical Digest Series (Optical Society of America, Washington, D.C., 1990), paper TuUU2. \bibitem{6} A. F. Benner, H. F. Jordan, and V. P. Heuring, "Digital optical computer with optically switched directional coupler," Opt.\ Eng.\ {\bf 30,} 1936-1941 (1991). \bibitem{7} J. P. Tremblay, P. G. Sorenson, {\it The Theory and Practice of Compiler Writing} (McGraw-Hill, New York, 1987), pp. 635-640. \bibitem{8} C. Berge, {\it Graphs} (Elsevier, New York, 1985), pp. 143-152. \bibitem{9} W. M. Waite and G. Goos, {\it Compiler Construction} (Springer-Verlag, New York, 1987), pp. 398-399. \bibitem{10} J. P. Pratt, "HATCH instruction manual," OCS Tech. Rep. 89-31 (Optoelectronic Computing Systems Center, University of Colorado, Boulder, Colo., 1989). \end{references} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \begin{figure} \caption{ Power fluctuations at a detection point.} \end{figure} \begin{figure} \caption{General device model.} \end{figure} \begin{figure} \caption{Modeling a lithium niobate switch.} \end{figure} \begin{figure} \caption{Modeling device loss and cross talk.} \end{figure} \begin{figure} \caption{Optical circuit.} \end{figure} \begin{figure} \caption{Graph model of optical circuit.} \end{figure} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{figure} \caption{ Power fluctuations at a detection point.} \end{figure} \begin{figure} \caption{General device model.} \end{figure} \begin{figure} \caption{Modeling a lithium niobate switch.} \end{figure} \begin{figure} \caption{Modeling device loss and cross talk.} \end{figure} \begin{figure} \caption{Optical circuit.} \end{figure} \begin{figure} \caption{Graph model of optical circuit.} \end{figure} \end{verbatim} \newpage \baselineskip = 2\baselineskip % double space the text \begin{table} \caption{Minimum Signal Powers} \begin{tabular}{cc} Vertex&$P_{1\rm min} $ (dBm) \\ \tableline 1 & 0 \\ 2 & -3 \\ 3 & -5 \\ 4 & -5 \\ 5 & -8 \\ 6 & -11 \\ 7 & -8 \end{tabular} \end{table} \newpage \baselineskip = .5\baselineskip % single space the verbatim \begin{verbatim} \begin{table} \caption{Minimum Signal Powers} \begin{tabular}{cc} Vertex&$P_{1\rm min} $ (dBm) \\ \tableline 1 & 0 \\ 2 & -3 \\ 3 & -5 \\ 4 & -5 \\ 5 & -8 \\ 6 & -11 \\ 7 & -8 \end{tabular} \end{table} \end{document} \end{verbatim} \end{document} %%%%% file sample.tex %%%%% ��������������������������������������������������������������extrarpms/revtex/seg10.sty��������������������������������������������������������������������������0100644�0000764�0000764�00000033306�07267371705�015116� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%% ====================================================================== %%% @LaTeX-style-file{ %%% filename = "seg10.sty", %%% version = "0.9", %%% date = "September 12, 1993", %%% ISO-date = "1993.9.12", %%% time = "15:10:00.18 PST", %%% author = "Martin Karrenbach", %%% contact = "Stanford Exploartion Project", %%% address = "366 Mitchell , %%% Stanford, CA, 94305-2215 %%% telephone = "(415) 723-6007", %%% email = "martin@sep.stanford.edu (Internet)", %%% supported = "maybe", %%% archived = "not yet'', %%% keywords = "REVTeX, version 3.0, galley print style, %%% Society of Exploration Geophysicists", %%% codetable = "ISO/ASCII", %%% docstring = "This is the internally called style for %%% galley-format output for the Society of %%% Exploration Geophysicists under REVTeX 3.0 %%% (release of November 10, 1992). %%% } %%% ====================================================================== % ****** Start of file seg10.sty ****** % % % This file is part of the SEG files in the REVTeX 3.0 distribution. % Version 3.0 of REVTeX, November 10, 1992. % % Copyright (c) 1992 The Society of Exploration Geophysicists. % % See the REVTeX 3.0 README file for restrictions and more information. % \typeout{Filename: seg10.sty, v3.0 <12 September 1993>} \newcounter{flushfig}\setcounter{flushfig}{0} \lineskip 1pt \normallineskip 1pt \def\baselinestretch{1} \def\@tempa{prl} \ifx\@journal\@tempa % \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI} \else \def\@normalsize{\@setsize\normalsize{11.5pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \abovedisplayskip \belowdisplayshortskip \abovedisplayskip \let\@listi\@listI} \fi \def\small{\@setsize\small{11pt}\ixpt\@ixpt \abovedisplayskip 8.5\p@ plus3\p@ minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus2\p@ \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 4\p@ plus2\p@ minus2\p@\parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep}} \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt \abovedisplayskip 6\p@ plus2\p@ minus4\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus\p@ \belowdisplayshortskip 3\p@ plus\p@ minus2\p@ \def\@listi{\leftmargin\leftmargini \topsep 3\p@ plus\p@ minus\p@\parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} \def\large{\@setsize\large{14pt}\xiipt\@xiipt} \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} \normalsize \if@twoside \oddsidemargin -.4in \evensidemargin -.1in \marginparwidth 107pt \else \oddsidemargin -.25in \evensidemargin -.25in \marginparwidth 30pt \fi \marginparsep 6pt \topmargin -61pt \headheight 25pt \headsep 16pt \topskip 10pt \footskip 30pt \def\@tempa{prl} \ifx\@journal\@tempa % \textheight = 55\baselineskip \else \textheight = 57\baselineskip \fi \advance\textheight by \topskip \def\narrowtext{\par\global\columnwidth20.5pc \global\hsize\columnwidth\global\linewidth\columnwidth \global\displaywidth\columnwidth} \def\mediumtext{\par\global\columnwidth5.5in \global\hsize\columnwidth\global\linewidth\columnwidth \global\displaywidth\columnwidth} \def\widetext{\par\global\columnwidth42.5pc \global\hsize\columnwidth\global\linewidth\columnwidth \global\displaywidth\columnwidth} \textwidth42.5pc \widetext \columnsep 1.5pc \columnseprule 0pt \footnotesep 9.25pt \skip\footins 39pt plus 4pt minus 2pt \def\footnoterule{\kern-19pt\hrule width.5in\kern18.6pt} \floatsep 12pt plus 2pt minus 2pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 12pt plus 2pt minus 2pt \@maxsep 20pt \dblfloatsep 12pt plus 2pt minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt \@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil \marginparpush 5pt \parskip 0pt plus 1pt \parindent 1em \partopsep 2pt plus 1pt minus 1pt \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \newif\if@mainhead %%% Martin \newif\if@subsubhead \def\section{\@mainheadtrue\@subsubheadfalse \@startsection {section}{1}{\z@}{0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf\centering}} \def\subsection{\@mainheadfalse\@subsubheadfalse \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\noindent\reset@font\small\bf}} \def\subsubsection{\@mainheadfalse\@subsubheadtrue \@startsection{subsubsection}{3}{\z@}{-0.01cm plus1ex minus.2ex} {-0.01cm plus1ex minus.2ex}{\indent\reset@font\small\bf}} \def\paragraph{\@mainheadfalse\@subsubheadfalse \@startsection{paragraph}{4}{\parindent}{\z@}{-1em}{\reset@font \normalsize\it}} \def\subparagraph{\@mainheadfalse\@subsubheadfalse \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus .2ex}{-1em}{\reset@font\normalsize\bf}} \setcounter{secnumdepth}{4} \newif\ifappendixon \global\appendixonfalse \def\appendix{\par\global\appendixontrue \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} % \def\thefigure{\Alph{section}-\@arabic\c@figure} % %\def\thesection{\Alph{section}-} %\def\thesubsection{\arabic{subsection}} %\def\thesubsubsection{\alph{subsubsection}} %\def\theequation@prefix{\thesection} %\def\thefigure@prefix{\thesection} %\def\thetable@prefix{\thesection} \def\thesection{\Alph{section}} \def\thesubsection{\arabic{subsection}} \def\thesubsubsection{\alph{subsubsection}} \def\theequation@prefix{\thesection-} \def\thefigure@prefix{\thesection-} \def\thetable@prefix{\thesection-} \@addtoreset{equation}{section} \@addtoreset{figure}{section} \@addtoreset{flushfig}{section} \@addtoreset{table}{section} \addcontentsline{toc}{section}{\protect\numberline{APPENDIXES\hskip 0pt plus1fill minus1fill\relax}{}} } \leftmargini 25pt \leftmarginii 22pt \leftmarginiii 18.7pt \leftmarginiv 17pt \leftmarginv 10pt \leftmarginvi 10pt \leftmargin\leftmargini \labelsep 4pt \labelwidth\leftmargini\advance\labelwidth-\labelsep \def\@listI{\leftmargin\leftmargini \parsep 4\p@ plus2\p@ minus\p@ \topsep 8\p@ plus2\p@ minus4\p@ \itemsep 4\p@ plus2\p@ minus\p@} \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 4\p@ plus2\p@ minus\p@ \parsep 2\p@ plus\p@ minus\p@ \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} \if@amssymbols % \def\@tempa{% \let\gtrsim\undefined \let\lesssim\undefined \let\precsim\undefined \let\succsim\undefined \def\corresponds{\triangleq}% \@ifundefined{selectfont}% {}% {\input{amssymb.sty}% \let\Finv\undefined \newsymbol\Finv 2060 \let\Game\undefined \newsymbol\Game 2061 \let\Bbbk\undefined \newsymbol\Bbbk 207C \let\diagup\undefined \newsymbol\diagup 231E \let\diagdown\undefined \newsymbol\diagdown 231F \endinput}% } \else % \if@amsfonts % \def\@tempa{\@ifundefined{selectfont}{}{\input{amsfonts.sty}\endinput}} \else % \let\@tempa\endinput \fi \fi \@tempa \def\frak{\protect\pfrak} \def\Bbb{\protect\pBbb} \newfam\msamfam \font\twlmsam=msam10\@magscale1 \font\tenmsam=msam10 \font\ninmsam=msam9 \font\sevmsam=msam7 \font\fivmsam=msam5 \newfam\msbmfam \font\twlmsbm=msbm10\@magscale1 \font\tenmsbm=msbm10 \font\ninmsbm=msbm9 \font\sevmsbm=msbm7 \font\fivmsbm=msbm5 \newfam\euffam \font\twleufm=eufm10\@magscale1 \font\teneufm=eufm10 \font\nineufm=eufm9 \font\seveufm=eufm7 \font\fiveufm=eufm5 \def\fontextras#1{% \def\pfrak{\fam\euffam\nineufm}\textfont\euffam\nineufm \scriptfont\euffam\seveufm \scriptscriptfont\euffam\fiveufm \textfont\msamfam\ninmsam \scriptfont\msamfam\sevmsam \scriptscriptfont\msamfam\fivmsam \def\pBbb{\fam\msbmfam\ninmsbm}\textfont\msbmfam\ninmsbm \scriptfont\msbmfam\sevmsbm \scriptscriptfont\msbmfam\fivmsbm \def\boldmath{\@ifundefined{#1ninmib}% {\expandafter\global\expandafter\def\csname#1ninmib\endcsname{}% \global\font\ninmib=cmmib9\global\font\sevmib=cmmib7\global \font\fivmib=cmmib5% \global\font\ninbsy=cmbsy9\global\font\sevbsy=cmbsy7\global \font\fivbsy=cmbsy5% \global\font\nineufb=eufb9\global\font\seveufb=eufb7\global \font\fiveufb=eufb5\relax \expandafter\@addfontinfo\csname#1\endcsname {\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\ninmib \scriptfont\@ne\sevmib \scriptscriptfont\@ne\fivmib \textfont\tw@\ninbsy \scriptfont\tw@\sevbsy \scriptscriptfont\tw@\fivbsy \textfont\euffam\nineufb \scriptfont\euffam\seveufb \scriptscriptfont\euffam\fiveufb \@prtct\@boldtrue}% }% }% {}\csname#1\endcsname\boldmath }% } \expandafter\def\expandafter\viiipt\expandafter{\viiipt \fontextras{@viiipt}} \expandafter\def\expandafter\ixpt\expandafter{\ixpt \fontextras{@ixpt}} \expandafter\def\expandafter\xpt\expandafter{\xpt% \def\pfrak{\fam\euffam\teneufm}\textfont\euffam\teneufm \scriptfont\euffam\seveufm \scriptscriptfont\euffam\fiveufm \textfont\msamfam\tenmsam \scriptfont\msamfam\sevmsam \scriptscriptfont\msamfam\fivmsam \def\pBbb{\fam\msbmfam\tenmsbm}\textfont\msbmfam\tenmsbm \scriptfont\msbmfam\sevmsbm \scriptscriptfont\msbmfam\fivmsbm \def\boldmath{\@ifundefined{tenmib}% {\global\font\tenmib=cmmib10\global\font\sevmib=cmmib7\global \font\fivmib=cmmib5% \global\font\tenbsy=cmbsy10\global\font\sevbsy=cmbsy7\global \font\fivbsy=cmbsy5% \global\font\teneufb=eufb10\global\font\seveufb=eufb7\global \font\fiveufb=eufb5 \global\font\tenlyb=lasyb10\relax \@addfontinfo\@xpt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\tenmib \scriptfont\@ne\sevmib \scriptscriptfont\@ne\fivmib \textfont\tw@\tenbsy \scriptfont\tw@\sevbsy \scriptscriptfont\tw@\fivbsy \textfont\euffam\teneufb \scriptfont\euffam\seveufb \scriptscriptfont\euffam\fiveufb \textfont\lyfam\tenlyb \@prtct\@boldtrue}% }% }% {}\@xpt\boldmath }% } \expandafter\def\expandafter\xiipt\expandafter{\xiipt% \def\pfrak{\fam\euffam\twleufm}\textfont\euffam\twleufm \scriptfont\euffam\nineufm \scriptscriptfont\euffam\seveufm \textfont\msamfam\twlmsam \scriptfont\msamfam\ninmsam \scriptscriptfont\msamfam\sevmsam \def\pBbb{\fam\msbmfam\twlmsbm}\textfont\msbmfam\twlmsbm \scriptfont\msbmfam\ninmsbm \scriptscriptfont\msbmfam\sevmsbm \def\boldmath{\@ifundefined{twlmib}% {\global\font\twlmib=cmmib10\@magscale1\global\font\ninmib=cmmib9\global \font\sevmib=cmmib7% \global\font\twlbsy=cmbsy10\@magscale1\global\font\ninbsy=cmbsy9\global \font\sevbsy=cmbsy7% \global\font\twleufb=eufb10\@magscale1\global\font\nineufb=eufb9\global \font\seveufb=eufb7 \global\font\twllyb=lasyb10\@magscale1\relax \@addfontinfo\@xiipt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\twlmib \scriptfont\@ne\ninmib \scriptscriptfont\@ne\sevmib \textfont\tw@\twlbsy \scriptfont\tw@\ninbsy \scriptscriptfont\tw@\sevbsy \textfont\euffam\twleufb \scriptfont\euffam\nineufb \scriptscriptfont\euffam\seveufb \textfont\lyfam\twllyb \@prtct\@boldtrue}% }% }% {}\@xiipt\boldmath }% } \def\undefine#1{\let#1\undefined} \def\newsymbol#1#2#3#4#5{\let\next@\relax \ifnum#2=\@ne\let\next@\msafam@\else \ifnum#2=\tw@\let\next@\msbfam@\fi\fi \mathchardef#1="#3\next@#4#5} \def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\or A\or B\or C\or D\or E\or F\fi} \edef\msafam@{\hexnumber@\msamfam} \mathchardef\dabar@"0\msafam@39 \def\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}} \def\dashleftarrow{\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}} \let\dasharrow\dashrightarrow \def\ulcorner{\delimiter"4\msafam@70\msafam@70 } \def\urcorner{\delimiter"5\msafam@71\msafam@71 } \def\llcorner{\delimiter"4\msafam@78\msafam@78 } \def\lrcorner{\delimiter"5\msafam@79\msafam@79 } \def\yen{{\mathhexbox\msafam@55 }} \def\checkmark{{\mathhexbox\msafam@58 }} \def\circledR{{\mathhexbox\msafam@72 }} \def\maltese{{\mathhexbox\msafam@7A }} \edef\msbfam@{\hexnumber@\msbmfam} \def\widehat#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5B{#1}% \else\mathaccent"0362{#1}\fi} \def\widetilde#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5D{#1}% \else\mathaccent"0365{#1}\fi} \undefine\Box \newsymbol\Box 1203 \undefine\Diamond \newsymbol\Diamond 1206 \undefine\leadsto \newsymbol\leadsto 1320 \undefine\lhd \newsymbol\lhd 1343 \undefine\unlhd \newsymbol\unlhd 1345 \undefine\rhd \newsymbol\rhd 1342 \undefine\unrhd \newsymbol\unrhd 1344 \edef\Join{\mathrel{\mathchar"0\msbfam@ 6F\mkern-13.8mu% \mathchar"0\msbfam@ 6E}} \if@amssymbols % \expandafter\def\csname amsfonts.sty\endcsname{} \input{amssymb.sty} \undefine\Finv \newsymbol\Finv 2060 \undefine\Game \newsymbol\Game 2061 \undefine\Bbbk \newsymbol\Bbbk 207C \undefine\diagup \newsymbol\diagup 231E \undefine\diagdown \newsymbol\diagdown 231F \fi \endinput % % ****** End of file sep10.sty ****** ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/seg12.sty��������������������������������������������������������������������������0100644�0000764�0000764�00000033356�07267371705�015125� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%% ====================================================================== %%% @LaTeX-style-file{ %%% filename = "seg12.sty", %%% version = "0.9", %%% date = "September 12, 1993", %%% ISO-date = "1993.9.12", %%% time = "00:00:00.00 PST", %%% author = "Martin Karrenbach", %%% contact = "Stanford Exploration Project", %%% address = "366 Mitchell %%% Stanford, CA 94305" %%% telephone = "(415) 723-6007", %%% email = "martin@sep.stanford.edu (Internet)", %%% supported = "maybe", %%% archived = "not yet", %%% keywords = "REVTeX, version 3.0, manuscript print style, %%% Society of Exploration Geophysicists", %%% codetable = "ISO/ASCII", %%% docstring = "This is the internally called style for %%% preprint-format output for the Society %%% of Exploration Geophysicists under REVTeX 3.0 %%% (release of November 10, 1992). %%% %%% ====================================================================== % ****** Start of file seg12.sty ****** % % % This file is part of the SEG files in the REVTeX 3.0 distribution. % Version 3.0 of REVTeX, November 10, 1992. % % Copyright (c) 1993 Society of Exploration Geophysicists % % See the REVTeX 3.0 README file for restrictions and more information. % \typeout{Filename: seg12.sty, v0.9 <12 September 1993>} \newcounter{flushfig}\setcounter{flushfig}{0} \lineskip 1pt \normallineskip 1pt \edef\baselinestretch{\if@tightenlines1\else1.655\fi} \def\@normalsize{\@setsize\normalsize{14.5pt}\xiipt\@xiipt \abovedisplayskip 12\p@ plus3\p@ minus7\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \let\@listi\@listI} \def\small{\@setsize\small{14.5pt}\xipt\@xipt \abovedisplayskip 11\p@ plus3\p@ minus6\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \def\@listi{\leftmargin\leftmargini \parsep 4.5\p@ plus2\p@ minus\p@ \itemsep \parsep \topsep 9\p@ plus3\p@ minus5\p@}} \def\footnotesize{\@setsize\footnotesize{14.5pt}\xpt\@xpt \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def\@listi{\leftmargin\leftmargini \topsep 6\p@ plus2\p@ minus2\p@\parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} \def\large{\@setsize\large{18pt}\xivpt\@xivpt} \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} \let\Huge=\huge \normalsize \if@twoside \oddsidemargin .25in \evensidemargin -.25in \marginparwidth 60pt \else %%% Martin %\oddsidemargin 0pt \oddsidemargin .25in %%% \evensidemargin 0pt \marginparwidth 44pt \fi \marginparsep 10pt \topmargin -37pt \headheight 12pt \headsep 25pt \topskip 10pt \footskip 30pt \if@tightenlines \textheight = 44\baselineskip \else \textheight = 27\baselineskip \fi \advance\textheight by \topskip %%% Martin %\textwidth 468pt \textwidth 6in %%% \displaywidth\textwidth % \linewidth\textwidth % \let\narrowtext=\relax \let\mediumtext=\relax \let\widetext=\relax \columnsep 10pt \columnseprule 0pt \footnotesep 2pc \skip\footins 25.25pt plus 4pt minus 2pt \def\footnoterule{\kern-5.25pt\hrule width.5in\kern4.85pt} \floatsep 14pt plus 2pt minus 4pt \textfloatsep 20pt plus 2pt minus 4pt \intextsep 14pt plus 4pt minus 4pt \@maxsep 20pt \dblfloatsep 14pt plus 2pt minus 4pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt \@fptop 0pt plus 1fil \@fpsep 10pt plus 2fil \@fpbot 0pt plus 1fil \@dblfptop 0pt plus 1fil \@dblfpsep 10pt plus 2fil% \@dblfpbot 0pt plus 1fil \marginparpush 7pt \parskip 0pt plus 1pt \parindent 1.5em \partopsep 3pt plus 2pt minus 2pt \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \newif\if@mainhead %%% Martin \newif\if@subsubhead \def\section{\@mainheadtrue\@subsubheadfalse \@startsection {section}{1}{\z@}{0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf\centering}} \def\subsection{\@mainheadfalse\@subsubheadfalse \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus .2ex}{0.5cm plus1ex minus.2ex}{\noindent\reset@font\small\bf}} \def\subsubsection{\@mainheadfalse\@subsubheadtrue %\@startsection{subsubsection}{3}{\z@}{.8cm plus1ex minus % .2ex}{0.5cm plus1ex minus.2ex}{\reset@font\small\bf}} \@startsection{subsubsection}{3}{\z@}{-0.01cm}{-0.01cm } {\indent\reset@font\small\bf}} \def\paragraph{\@mainheadfalse\@subsubheadfalse \@startsection{paragraph}{4}{\parindent}{\z@}{-1em}{\reset@font \normalsize\it}} \def\subparagraph{\@mainheadfalse\@subsubheadfalse \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus .2ex}{-1em}{\reset@font\normalsize\bf}} %%% \setcounter{secnumdepth}{4} \newif\ifappendixon \global\appendixonfalse \def\appendix{\par\global\appendixontrue \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} % \def\thefigure{\Alph{section}-\@arabic\c@figure} % %\def\thesection{\Alph{section}-} %\def\thesubsection{\arabic{subsection}} %\def\thesubsubsection{\alph{subsubsection}} %\def\theequation@prefix{\thesection} %\def\thefigure@prefix{\thesection} %\def\thetable@prefix{\thesection} %\@addtoreset{equation}{section} %\@addtoreset{figure}{section} %\@addtoreset{flushfig}{section} %\@addtoreset{table}{section} \def\thesection{\Alph{section}} \def\thesubsection{\arabic{subsection}} \def\thesubsubsection{\alph{subsubsection}} \def\theequation@prefix{\thesection-} \def\thefigure@prefix{\thesection-} \def\thetable@prefix{\thesection-} \@addtoreset{equation}{section} \@addtoreset{figure}{section} \@addtoreset{flushfig}{section} \@addtoreset{table}{section} \addcontentsline{toc}{section}{\protect\numberline{APPENDIXES\hskip 0pt plus1fill minus1fill\relax}{}} } \leftmargini 2.5em \leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em \leftmarginvi 1em \leftmargin\leftmargini \labelsep .5em \labelwidth\leftmargini\advance\labelwidth-\labelsep \def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@} \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 5\p@ plus2.5\p@ minus\p@ \parsep 2.5\p@ plus\p@ minus\p@ \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2.5\p@ plus\p@ minus\p@ \parsep \z@ \partopsep \p@ plus\z@ minus\p@ \itemsep \topsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} \ifsegabssty\input{segabstract.sty}\endinput\else\fi \if@amssymbols % \def\@tempa{% \let\gtrsim\undefined \let\lesssim\undefined \let\precsim\undefined \let\succsim\undefined \def\corresponds{\triangleq}% \@ifundefined{selectfont}% {}% {\input{amssymb.sty}% \let\Finv\undefined \newsymbol\Finv 2060 \let\Game\undefined \newsymbol\Game 2061 \let\Bbbk\undefined \newsymbol\Bbbk 207C \let\diagup\undefined \newsymbol\diagup 231E \let\diagdown\undefined \newsymbol\diagdown 231F \endinput}% } \else % \if@amsfonts % \def\@tempa{\@ifundefined{selectfont}{}{\input{amsfonts.sty}\endinput}} \else % \let\@tempa\endinput \fi \fi \@tempa \def\frak{\protect\pfrak} \def\Bbb{\protect\pBbb} \newfam\msamfam \font\frtnmsam=msam10\@magscale2 \font\twlmsam=msam10\@magscale1 \font\elvmsam=msam10\@halfmag \font\egtmsam=msam8 \font\sixmsam=msam6 \newfam\msbmfam \font\frtnmsbm=msbm10\@magscale2 \font\twlmsbm=msbm10\@magscale1 \font\elvmsbm=msbm10\@halfmag \font\egtmsbm=msbm8 \font\sixmsbm=msbm6 \newfam\euffam \font\frtneufm=eufm10\@magscale2 \font\twleufm=eufm10\@magscale1 \font\elveufm=eufm10\@halfmag \font\egteufm=eufm8 \font\sixeufm=eufm6 \def\fontextras#1#2#3{% \def\pfrak{\fam\euffam\elveufm}\textfont\euffam\elveufm \scriptfont\euffam\egteufm \scriptscriptfont\euffam\sixeufm \textfont\msamfam\elvmsam \scriptfont\msamfam\egtmsam \scriptscriptfont\msamfam\sixmsam \def\pBbb{\fam\msbmfam\elvmsbm}\textfont\msbmfam\elvmsbm \scriptfont\msbmfam\egtmsbm \scriptscriptfont\msbmfam\sixmsbm \def\boldmath{\@ifundefined{#1elvmib}% {\expandafter\global\expandafter\def\csname#1elvmib\endcsname{}% \global\font\elvmib=cmmib10\@halfmag\global\font\egtmib=cmmib8\global \font\sixmib=cmmib6% \global\font\elvbsy=cmbsy10\@halfmag\global\font\egtbsy=cmbsy8\global \font\sixbsy=cmbsy6% \global\font\elveufb=eufb10\@halfmag\global\font\egteufb=eufb8\global \font\sixeufb=eufb6\global\font#2=#3\relax \expandafter\@addfontinfo\csname#1\endcsname {\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\elvmib \scriptfont\@ne\egtmib \scriptscriptfont\@ne\sixmib \textfont\tw@\elvbsy \scriptfont\tw@\egtbsy \scriptscriptfont\tw@\sixbsy \textfont\euffam\elveufb \scriptfont\euffam\egteufb \scriptscriptfont\euffam\sixeufb \textfont\lyfam#2\relax \@prtct\@boldtrue}% }% }% {}\csname#1\endcsname\boldmath }% } \expandafter\def\expandafter\xpt\expandafter{\xpt% \fontextras{@xpt}\tenlyb{lasyb10}% } \expandafter\def\expandafter\xipt\expandafter{\xipt% \fontextras{@xipt}\elvlyb{lasyb10\@halfmag}% } \expandafter\def\expandafter\xiipt\expandafter{\xiipt% \def\pfrak{\fam\euffam\twleufm}\textfont\euffam\twleufm \scriptfont\euffam\egteufm \scriptscriptfont\euffam\sixeufm \textfont\msamfam\twlmsam \scriptfont\msamfam\egtmsam \scriptscriptfont\msamfam\sixmsam \def\pBbb{\fam\msbmfam\twlmsbm}\textfont\msbmfam\twlmsbm \scriptfont\msbmfam\egtmsbm \scriptscriptfont\msbmfam\sixmsbm \def\boldmath{\@ifundefined{twlmib}% {\global\font\twlmib=cmmib10\@magscale1\global\font\egtmib=cmmib8\global \font\sixmib=cmmib6% \global\font\twlbsy=cmbsy10\@magscale1\global\font\egtbsy=cmbsy8\global \font\sixbsy=cmbsy6% \global\font\twleufb=eufb10\@magscale1\global\font\egteufb=eufb8\global \font\sixeufb=eufb6 \global\font\twllyb=lasyb10\@magscale1\relax \@addfontinfo\@xiipt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\twlmib \scriptfont\@ne\egtmib \scriptscriptfont\@ne\sixmib \textfont\tw@\twlbsy \scriptfont\tw@\egtbsy \scriptscriptfont\tw@\sixbsy \textfont\euffam\twleufb \scriptfont\euffam\egteufb \scriptscriptfont\euffam\sixeufb \textfont\lyfam\twllyb \@prtct\@boldtrue}% }% }% {}\@xiipt\boldmath }% } \expandafter\def\expandafter\xivpt\expandafter{\xivpt% \def\pfrak{\fam\euffam\frtneufm}\textfont\euffam\frtneufm \scriptfont\euffam\elveufm \scriptscriptfont\euffam\egteufm \textfont\msamfam\frtnmsam \scriptfont\msamfam\elvmsam \scriptscriptfont\msamfam\egtmsam \def\pBbb{\fam\msbmfam\frtnmsbm}\textfont\msbmfam\frtnmsbm \scriptfont\msbmfam\elvmsbm \scriptscriptfont\msbmfam\egtmsbm \def\boldmath{\@ifundefined{frtnmib}% {\global\font\frtnmib=cmmib10\@magscale2\global\font\elvmib=cmmib10\@halfmag \global\font\egtmib=cmmib8% \global\font\frtnbsy=cmbsy10\@magscale2\global\font\elvbsy=cmbsy10\@halfmag \global\font\egtbsy=cmbsy8% \global\font\frtneufb=eufb10\@magscale2\global\font\elveufb=eufb10\@halfmag \global\font\egteufb=eufb8 \global\font\frtnlyb=lasyb10\@magscale2\relax \@addfontinfo\@xivpt{\def\boldmath{\@prtct\@nomathbold \everymath{\mit}\everydisplay{\mit}% \textfont\@ne\frtnmib \scriptfont\@ne\elvmib \scriptscriptfont\@ne\egtmib \textfont\tw@\frtnbsy \scriptfont\tw@\elvbsy \scriptscriptfont\tw@\egtbsy \textfont\euffam\frtneufb \scriptfont\euffam\elveufb \scriptscriptfont\euffam\egteufb \textfont\lyfam\frtnlyb \@prtct\@boldtrue}% }% }% {}\@xivpt\boldmath }% } \def\undefine#1{\let#1\undefined} \def\newsymbol#1#2#3#4#5{\let\next@\relax \ifnum#2=\@ne\let\next@\msafam@\else \ifnum#2=\tw@\let\next@\msbfam@\fi\fi \mathchardef#1="#3\next@#4#5} \def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\or A\or B\or C\or D\or E\or F\fi} \edef\msafam@{\hexnumber@\msamfam} \mathchardef\dabar@"0\msafam@39 \def\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}} \def\dashleftarrow{\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}} \let\dasharrow\dashrightarrow \def\ulcorner{\delimiter"4\msafam@70\msafam@70 } \def\urcorner{\delimiter"5\msafam@71\msafam@71 } \def\llcorner{\delimiter"4\msafam@78\msafam@78 } \def\lrcorner{\delimiter"5\msafam@79\msafam@79 } \def\yen{{\mathhexbox@\msafam@55 }} \def\checkmark{{\mathhexbox\msafam@58 }} \def\circledR{{\mathhexbox\msafam@72 }} \def\maltese{{\mathhexbox\msafam@7A }} \edef\msbfam@{\hexnumber@\msbmfam} \def\widehat#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5B{#1}% \else\mathaccent"0362{#1}\fi} \def\widetilde#1{\setbox\z@\hbox{$\m@th#1$}% \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5D{#1}% \else\mathaccent"0365{#1}\fi} \undefine\Box \newsymbol\Box 1203 \undefine\Diamond \newsymbol\Diamond 1206 \undefine\leadsto \newsymbol\leadsto 1320 \undefine\lhd \newsymbol\lhd 1343 \undefine\unlhd \newsymbol\unlhd 1345 \undefine\rhd \newsymbol\rhd 1342 \undefine\unrhd \newsymbol\unrhd 1344 \edef\Join{\mathrel{\mathchar"0\msbfam@ 6F\mkern-13.8mu% \mathchar"0\msbfam@ 6E}} \if@amssymbols % \expandafter\def\csname amsfonts.sty\endcsname{} \input{amssymb.sty} \undefine\Finv \newsymbol\Finv 2060 \undefine\Game \newsymbol\Game 2061 \undefine\Bbbk \newsymbol\Bbbk 207C \undefine\diagup \newsymbol\diagup 231E \undefine\diagdown \newsymbol\diagdown 231F \fi \endinput % % ****** End of file seg12.sty ****** ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/segbib.sty�������������������������������������������������������������������������0100644�0000764�0000764�00000005700�07267371705�015427� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%% ====================================================================== %%% @LaTeX-style-file{ %%% filename = "segbib.sty", %%% version = "0.9", %%% date = "September 9, 1992", %%% ISO-date = "1993.9.9", %%% time = "00.00.00", %%% author = "Martin Karrenbach", %%% contact = "Stanford Exploration Project", %%% address = "366 Mitchell %%% Stanford, CA 94305", %%% telephone = "(415) 723-6007", %%% email = "martin@sep.stanford.edu (Internet)", %%% supported = "maybe", %%% archived = "not yet", %%% keywords = "REVTeX, version 3.0, main style, %%% Society of Exploration Geophysicists", %%% codetable = "ISO/ASCII", %%% docstring = "This is the main society-specific bibliographic %%% file for the Society of Exploration Geophysicists %%% under REVTeX 3.0 %%% (release of September 9, 1993)." %%% %%% ====================================================================== % ****** Start of file segbib.sty ****** % % % This file is part of the SEG files in the REVTeX 3.0 distribution. % Version 3.0 of REVTeX, November 10, 1992. % % Copyright (c) 1993 The Society of Exploration Geophysicists. % % See the REVTeX 3.0 README file for restrictions and more information. % Here goes some sep specific bibliography stuff: \def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi \def\@citea{}\@cite{\@for\@citeb:=#2\do {\@citea\def\@citea{\@citesep}\@ifundefined {b@\@citeb}{{\bf ?}\@warning {Citation `\@citeb' on page \thepage \space undefined}}% {\csname b@\@citeb\endcsname}}}{#1}} % undent first line of reference by using negative \itemindent. \def\@bibsetup{\itemindent=-\leftmargin} % Use a semicolon instead of a comma between multiple citations. \def\@citesep{; } \let\old@cite\@cite \def\@cite#1#2{({#1\if@tempswa , #2\fi})} % this one makes ( ) instead of [ ] \let\@internalcite\cite \def\cite{\def\citeauthoryear##1##2{##1, ##2}\@internalcite} \def\shortcite{\def\citeauthoryear##1##2{##2}\@internalcite} \def\@biblabel#1{\def\citeauthoryear##1##2{##1, ##2}\hfill} \def\thebibliography#1{% %\ifpreprintsty\else\newpage\fi %\par %\hbox to\hsize{\hss\small\bf\refname\hss}% \section{\bf\refname}% \list{}{% \settowidth\labelwidth{[#1]}% \leftmargin\labelwidth% \advance\leftmargin\labelsep% governs the indent, ok screws up last \usecounter{enumi}% \@bibsetup% }% \def\newblock{\hskip .11em plus .33em minus .07em} \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax% } \def\endthebibliography{% \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% \endlist } %\let\CITE\cite \let\onlinecite\cite % this fixes the bibliography style to be SEG compliant \bibliographystyle{seg} %% ****** End of file sepbib.sty ****** ����������������������������������������������������������������extrarpms/revtex/seg.bst����������������������������������������������������������������������������0100644�0000764�0000764�00000066203�07267371705�014730� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%% ====================================================================== %%% @LaTeX-style-file{ %%% filename = "seg.bst", %%% version = "0.9", %%% date = "September 12, 1993", %%% ISO-date = "1993.9.12", %%% time = "00.00.00", %%% author = "Martin Karrenbach", %%% contact = "Stanford Exploration Project", %%% address = "366 Mitchell %%% Stanford, CA 94305", %%% telephone = "(415) 723-6007", %%% email = "martin@sep.stanford.edu (Internet)", %%% supported = "maybe", %%% archived = "not yet", %%% keywords = "REVTeX, version 3.0, main style, %%% Society of Exploration Geophysicists", %%% codetable = "ISO/ASCII", %%% docstring = "This is the BIBTeX society-specific style file for %%% the Society of Exploration Geophysicists %%% under REVTeX 3.0 %%% (release of September 9, 1993)." %%% %%% ====================================================================== % % % Martin Karrenbach (last updated: 9-9-1993) % Martin Karrenbach (last updated: 4-16-1994) % % Citation format: [author-last-name, year] % [author-last-name and author-last-name, year] % [author-last-name {\em et al.}, year] % % Reference list ordering: alphabetical by author or whatever passes % for author in the absence of one. % % the following lives in segbib.sty: % This BibTeX style has support for short (year only) citations. This % is done by having the citations actually look like % \citeauthoryear{author-info}{year} % The LaTeX style has to have the following (or similar) % \let\@internalcite\cite % \def\cite{\def\citeauthoryear##1##2{##1, ##2}\@internalcite} % \def\shortcite{\def\citeauthoryear##1{##2}\@internalcite} % \def\@biblabel#1{\def\citeauthoryear##1##2{##1, ##2}[#1]\hfill} % which makes \shortcite the macro for short citations. ENTRY { address author booktitle chapter edition editor howpublished institution journal key month note number organization pages publisher school series title type volume year meeting } {} { label extra.label sort.label } % examples: %label \protect... %extra.label is a in 1990a %sort.label karrenbach1990 INTEGERS { output.state before.all mid.sentence after.sentence after.block } FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := } STRINGS { s t } FUNCTION {output.with.dash} { 's := output.state mid.sentence = { "--" * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output.with.colon} { 's := output.state mid.sentence = { ": " * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ ": " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output.with.space} { 's := output.state mid.sentence = { " " * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output.nonnull} { 's := output.state mid.sentence = { ", " * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output} { duplicate$ empty$ 'pop$ 'output.nonnull if$ } FUNCTION {output.space.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.with.space if$ } FUNCTION {output.colon.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.with.colon if$ } FUNCTION {output.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ } FUNCTION {output.same.author.check} { extra.label "" = { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ % "no label" warning$ } { extra.label "a" = { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ % "label a" warning$ } { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.with.space if$ % "label other" warning$ } if$ } if$ } FUNCTION {output.bibitem} { newline$ "\bibitem[" write$ label write$ "]{" write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := } FUNCTION {fin.entry} { add.period$ write$ newline$ } FUNCTION {new.block} { output.state before.all = 'skip$ { after.block 'output.state := } if$ } FUNCTION {new.sentence} { output.state after.block = 'skip$ { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } if$ } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {new.block.checka} { empty$ 'skip$ 'new.block if$ } FUNCTION {new.block.checkb} { empty$ swap$ empty$ and 'skip$ 'new.block if$ } FUNCTION {new.sentence.checka} { empty$ 'skip$ 'new.sentence if$ } FUNCTION {new.sentence.checkb} { empty$ swap$ empty$ and 'skip$ 'new.sentence if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "{\bf " swap$ * "}" * } if$ } INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}{jj}{, f.}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { numnames #2 > { ", " * } 'skip$ if$ t "others" = { ", et~al." * } { numnames #2 = { ", and " * t * } { " and " * t * } if$ } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } %FUNCTION {format.authors} %{ author empty$ % { "" } % { author format.names } % if$ %} FUNCTION {format.authors} { author empty$ { "" } { extra.label "" = {author format.names } {extra.label "a" = {author format.names } { "--------" } if$ } if$ } if$ } FUNCTION {format.editors} { editor empty$ { "" } { editor format.names editor num.names$ #1 > { ", Eds." * } { ", Ed." * } if$ } if$ } FUNCTION {format.title} { title empty$ { "" } { editor empty$ { title "t" change.case$ ":" * } { title "t" change.case$ } if$ } if$ } FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {format.sep.date} { year empty$ { month empty$ { "" } { "there's a month but no year in " cite$ * warning$ month } if$ } { month empty$ { % 'year year extra.label * } { month " " * year * } if$ } if$ } FUNCTION {format.date} { year empty$ { month empty$ { "" } { "there's a month but no year in " cite$ * warning$ month } if$ } { month empty$ 'year { month " " * year * } if$ } if$ } FUNCTION {format.btitle} { title emphasize } FUNCTION {tie.or.space.connect} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ * * } FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } FUNCTION {format.bvolume} { volume empty$ { "" } { "volume" volume tie.or.space.connect series empty$ 'skip$ { " of " * series emphasize * } if$ "volume and number" number either.or.check } if$ } FUNCTION {format.number.series} { volume empty$ { number empty$ { series field.or.null } { output.state mid.sentence = { "number" } { "Number" } if$ number tie.or.space.connect series empty$ { "there's a number but no series in " cite$ * warning$ } { " in " * series * } if$ } if$ } { "" } if$ } FUNCTION {format.edition} { edition empty$ { "" } { output.state mid.sentence = { edition "l" change.case$ " edition" * } { edition "t" change.case$ " edition" * } if$ } if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check { "pages" pages n.dashify tie.or.space.connect } { "page" pages tie.or.space.connect } if$ } if$ } FUNCTION {format.proceed.pages} { pages empty$ { "" } { pages multi.page.check { "" pages n.dashify tie.or.space.connect } { "" pages tie.or.space.connect } if$ } if$ } FUNCTION {format.vol.num.pages} { volume field.or.null emphasize number empty$ 'skip$ { ", no. " number * * volume empty$ { "there's a number but no volume in " cite$ * warning$ } 'skip$ if$ } if$ pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ", " * pages n.dashify * } if$ } if$ } FUNCTION {format.chapter.pages} { chapter empty$ 'format.pages { type empty$ { "chapter" } { type "l" change.case$ } if$ chapter tie.or.space.connect pages empty$ 'skip$ { ", " * format.pages * } if$ } if$ } FUNCTION {format.in.ed.booktitle} { booktitle empty$ { "" } { editor empty$ { "{\it in} " booktitle * } { "{\it in} " format.editors * ", " * booktitle * ":" * } if$ } if$ } FUNCTION {empty.misc.check} { author empty$ title empty$ howpublished empty$ month empty$ year empty$ note empty$ and and and and and key empty$ not and { "all relevant fields are empty in " cite$ * warning$ } 'skip$ if$ } FUNCTION {format.thesis.type} { type empty$ 'skip$ { pop$ type "t" change.case$ } if$ } FUNCTION {format.tr.number} { type empty$ { "Technical Report" } 'type if$ number empty$ { "t" change.case$ } { number tie.or.space.connect } if$ } FUNCTION {format.article.crossref} { key empty$ { journal empty$ { "need key or journal for " cite$ * " to crossref " * crossref * warning$ "" } { "In {\em " journal * "\/}" * } if$ } { "In " key * } if$ " \shortcite{" * crossref * "}" * } FUNCTION {format.crossref.editor} { editor #1 "{vv~}{ll}" format.name$ editor num.names$ duplicate$ #2 > { pop$ " et~al." * } { #2 < 'skip$ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " et~al." * } { " and " * editor #2 "{vv~}{ll}" format.name$ * } if$ } if$ } if$ } FUNCTION {format.book.crossref} { volume empty$ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ "In " } { "Volume" volume tie.or.space.connect " of " * } if$ editor empty$ editor field.or.null author field.or.null = or { key empty$ { series empty$ { "need editor, key, or series for " cite$ * " to crossref " * crossref * warning$ "" * } { "{\em " * series * "\/}" * } if$ } { key * } if$ } { format.crossref.editor * } if$ " \shortcite{" * crossref * "}" * } FUNCTION {format.incoll.inproc.crossref} { editor empty$ editor field.or.null author field.or.null = or { key empty$ { booktitle empty$ { "need editor, key, or booktitle for " cite$ * " to crossref " * crossref * warning$ "" } { "In {\em " booktitle * "\/}" * } if$ } { "In " key * } if$ } { "In " format.crossref.editor * } if$ " \shortcite{" * crossref * "}" * } FUNCTION {sortify.sep} { purify$ "l" change.case$ } FUNCTION {sepreport} { output.bibitem format.authors "author" output.check % format.sep.date "year" output.check format.sep.date "year" output.same.author.check format.title "title" output.check crossref missing$ { organization "organization" output.space.check format.vol.num.pages output.with.dash } { format.article.crossref output.nonnull format.pages output } if$ new.block note output fin.entry } FUNCTION {article} { output.bibitem format.authors "author" output.check % format.sep.date "year" output.check format.sep.date "year" output.same.author.check format.title "title" output.check crossref missing$ { journal "journal" output.space.check format.vol.num.pages output } { format.article.crossref output.nonnull format.pages output } if$ fin.entry } FUNCTION {book} { output.bibitem author empty$ { format.editors "author and editor" output.check } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ % format.sep.date "year" output.check format.sep.date "year" output.same.author.check format.title "title" output.check crossref missing$ { format.bvolume output format.number.series output publisher "publisher" output.space.check address output } { format.book.crossref output.nonnull } if$ format.edition output fin.entry } FUNCTION {booklet} { output.bibitem format.authors output new.block format.title "title" output.check howpublished address new.block.checkb howpublished output address output format.date output new.block note output fin.entry } FUNCTION {inbook} { output.bibitem author empty$ { format.editors "author and editor" output.check } { format.authors output.nonnull } if$ % format.sep.date "year" output.check format.sep.date "year" output.same.author.check format.title "title" output.check format.in.ed.booktitle booktitle output.check crossref missing$ { publisher "publishers" output.space.check series empty$ {} {series "series" output.check } if$ volume empty$ {} { volume "volume" output.check } if$ format.proceed.pages output } { format.chapter.pages "chapter and pages" output.check new.block format.book.crossref output.nonnull } if$ format.edition output new.block note output fin.entry } FUNCTION {incollection} { output.bibitem format.authors "author" output.check % format.sep.date "year" output.check format.sep.date "year" output.same.author.check format.title "title" output.check crossref missing$ { editor empty$ { booktitle output.with.space } { format.in.ed.booktitle output.with.space publisher empty$ {} { publisher output.with.colon } if$ } if$ } { format.incoll.inproc.crossref output.nonnull } if$ format.proceed.pages output fin.entry } FUNCTION {inproceedings} { output.bibitem format.authors "author" output.check % format.sep.date "year" output.check format.sep.date "year" output.same.author.check format.title "title" output.check crossref missing$ { howpublished empty$ {meeting output.with.space} {"Presented at the" output.with.space meeting output.with.space} if$ publisher output booktitle output } { format.incoll.inproc.crossref output.nonnull } if$ howpublished empty$ {format.proceed.pages output} {} if$ fin.entry } FUNCTION {conference} { inproceedings } FUNCTION {manual} { output.bibitem author empty$ { organization empty$ 'skip$ { organization output.nonnull address output } if$ } { format.authors output.nonnull } if$ new.block format.btitle "title" output.check author empty$ { organization empty$ { address new.block.checka address output } 'skip$ if$ } { organization address new.block.checkb organization output address output } if$ format.edition output format.date output new.block note output fin.entry } FUNCTION {mastersthesis} { output.bibitem format.authors "author" output.check % format.sep.date "year" output.check format.sep.date "year" output.same.author.check format.title "title" output.check "Master's thesis" output.with.space school "school" output.check address output fin.entry } FUNCTION {misc} { output.bibitem format.authors output title howpublished new.block.checkb format.title output howpublished new.block.checka howpublished output format.date output new.block note output fin.entry empty.misc.check } FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check % format.sep.date "year" output.check format.sep.date "year" output.same.author.check format.title "title" output.check "Ph.D. thesis" output.with.space school "school" output.check address output fin.entry } FUNCTION {proceedings} { output.bibitem editor empty$ { organization output } { format.editors output.nonnull } if$ new.block format.btitle "title" output.check format.bvolume output format.number.series output address empty$ { editor empty$ { publisher new.sentence.checka } { organization publisher new.sentence.checkb organization output } if$ publisher output format.date "year" output.check } { address output.nonnull format.date "year" output.check new.sentence editor empty$ 'skip$ { organization output } if$ publisher output } if$ new.block note output fin.entry } FUNCTION {techreport} { output.bibitem format.authors "author" output.check format.title "title" output.check format.tr.number output.nonnull institution "institution" output.check address output format.date "year" output.check fin.entry } FUNCTION {unpublished} { output.bibitem format.authors "author" output.check format.title "title" output.check note "note" output.check format.date output fin.entry } FUNCTION {default.type} { misc } MACRO {acmcs} {"ACM Computing Surveys"} MACRO {acta} {"Acta Informatica"} MACRO {cacm} {"Communications of the ACM"} MACRO {ibmjrd} {"IBM Journal of Research and Development"} MACRO {ibmsj} {"IBM Systems Journal"} MACRO {ieeese} {"IEEE Transactions on Software Engineering"} MACRO {ieeetc} {"IEEE Transactions on Computers"} MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} MACRO {ipl} {"Information Processing Letters"} MACRO {jacm} {"Journal of the ACM"} MACRO {jcss} {"Journal of Computer and System Sciences"} MACRO {scp} {"Science of Computer Programming"} MACRO {sicomp} {"SIAM Journal on Computing"} MACRO {tocs} {"ACM Transactions on Computer Systems"} MACRO {tods} {"ACM Transactions on Database Systems"} MACRO {tog} {"ACM Transactions on Graphics"} MACRO {toms} {"ACM Transactions on Mathematical Software"} MACRO {toois} {"ACM Transactions on Office Information Systems"} MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} MACRO {tcs} {"Theoretical Computer Science"} MACRO {aapgb} {"AAPG Bull."} MACRO {aapge} {"AAPG Explorer"} MACRO {ag} {"Advances Geophys."} MACRO {baseg} {"Bull., Austral. Soc. Expl. Geophys."} MACRO {ssa} {"Bull., Seis. Soc. Am."} MACRO {eg} {"Expl. Geophys."} MACRO {fb} {"First Break"} MACRO {gb} {"Geobyte"} MACRO {gj} {"Geol. J."} MACRO {geol} {"Geology"} MACRO {gjras} {"Geophys. J.Roy. Astr. Soc."} MACRO {gp} {"Geophys. Prosp."} MACRO {grb} {"Geophys. Res. Bull."} MACRO {grl} {"Geophys. Res. Lett."} MACRO {gs} {"Geophys. Surv."} MACRO {geop} {"Geophysics"} MACRO {ge} {"Geotherm. Energy"} MACRO {geoth} {"Geothermics"} MACRO {geot} {"Geotimes"} MACRO {gw} {"Groundwater"} MACRO {ieeeoe} {"IEEE, J. Oceanic Eng."} MACRO {ieeegrs}{"IEEE Trans. Geosc. Remote Sensing"} MACRO {jasa} {"J. Acoust. Soc. Am."} MACRO {jap} {"J. Appl. Phys."} MACRO {jcpt} {"J. Can. Petr. Tech."} MACRO {jgs} {"J. Geol. Soc."} MACRO {jg} {"J. Geophysics"} MACRO {jgr} {"J. Geophys. Res."} MACRO {me} {"Mining Eng."} MACRO {os} {"Offshore"} MACRO {og} {"Oil and Gas J."} MACRO {pepi} {"Phys. Earth Plan. Int."} MACRO {pieee} {"Proc. IEEE"} MACRO {rsl} {"Proc., Roy. Soc. London, Ser. A"} MACRO {pag} {"Pure Appl. Geophysics"} MACRO {rs} {"Radio Sci."} MACRO {ifp} {"Rev. Inst. Fran. Petr."} MACRO {rmre} {"Rock Mech. Rock Eng."} MACRO {tle} {"The Leading Edge"} MACRO {siamjam}{"SIAM J. Appl. Math."} MACRO {wo} {"World Oil"} MACRO {sep} {"Stanford Exploration Project Report"} READ FUNCTION {sortify} { purify$ "l" change.case$ } INTEGERS { len } FUNCTION {chop.word} { 's := 'len := s #1 len substring$ = { s len #1 + global.max$ substring$ } 's if$ } INTEGERS { et.al.char.used } FUNCTION {initialize.et.al.char.used} { #0 'et.al.char.used := } EXECUTE {initialize.et.al.char.used} FUNCTION {format.lab.names} { 's := s num.names$ 'numnames := numnames #1 = { s #1 "{vv }{ll}" format.name$ } { numnames #2 = { s #1 "{vv }{ll }and " format.name$ s #2 "{vv }{ll}" format.name$ * } { s #1 "{vv }{ll }\bgroup et al.\egroup " format.name$ } if$ } if$ } FUNCTION {author.key.label} { author empty$ { key empty$ { cite$ #1 #3 substring$ } { key } if$ } { author format.lab.names } if$ } FUNCTION {author.editor.key.label} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } { key } if$ } { editor format.lab.names } if$ } { author format.lab.names } if$ } FUNCTION {author.key.organization.label} { author empty$ { key empty$ { organization empty$ { cite$ #1 #3 substring$ } { "The " #4 organization chop.word #3 text.prefix$ } if$ } { key } if$ } { author format.lab.names } if$ } FUNCTION {editor.key.organization.label} { editor empty$ { key empty$ { organization empty$ { cite$ #1 #3 substring$ } { "The " #4 organization chop.word #3 text.prefix$ } if$ } { key } if$ } { editor format.lab.names } if$ } FUNCTION {calc.label} { type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.organization.label { type$ "manual" = 'author.key.organization.label 'author.key.label if$ } if$ } if$ duplicate$ "\protect\citeauthoryear{" swap$ * "}{" * year field.or.null purify$ * % CHANGED - pfps - 15 Feb 1989 'label := year field.or.null purify$ * sortify 'sort.label := } FUNCTION {sort.format.names} { 's := #1 'nameptr := "" s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { nameptr #1 > { " " * } 'skip$ if$ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := nameptr numnames = t "others" = and { "et al" * } { t sortify * } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {sort.format.title} { 't := "A " #2 "An " #3 "The " #4 t chop.word chop.word chop.word sortify #1 global.max$ substring$ } FUNCTION {author.sort} { author empty$ { key empty$ { "to sort, need author or key in " cite$ * warning$ "" } { key sortify } if$ } { author sort.format.names } if$ } FUNCTION {author.editor.sort} { author empty$ { editor empty$ { key empty$ { "to sort, need author, editor, or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } { author sort.format.names } if$ } FUNCTION {author.organization.sort} { author empty$ { organization empty$ { key empty$ { "to sort, need author, organization, or key in " cite$ * warning$ "" } { key sortify } if$ } { "The " #4 organization chop.word sortify } if$ } { author sort.format.names } if$ } FUNCTION {editor.organization.sort} { editor empty$ { organization empty$ { key empty$ { "to sort, need editor, organization, or key in " cite$ * warning$ "" } { key sortify } if$ } { "The " #4 organization chop.word sortify } if$ } { editor sort.format.names } if$ } FUNCTION {presort} { calc.label sort.label " " * type$ "book" = type$ "inbook" = or 'author.editor.sort { type$ "proceedings" = 'editor.organization.sort { type$ "manual" = 'author.organization.sort 'author.sort if$ } if$ } if$ * " " * year field.or.null sortify * " " * title field.or.null sort.format.title * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {presort} SORT STRINGS { longest.label last.sort.label next.extra } INTEGERS { longest.label.width last.extra.num } FUNCTION {initialize.longest.label} { "" 'longest.label := #0 int.to.chr$ 'last.sort.label := "" 'next.extra := #0 'longest.label.width := #0 'last.extra.num := } FUNCTION {forward.pass} { last.sort.label sort.label = { last.extra.num #1 + 'last.extra.num := last.extra.num int.to.chr$ 'extra.label := } { "a" chr.to.int$ 'last.extra.num := "" 'extra.label := sort.label 'last.sort.label := } if$ } FUNCTION {reverse.pass} { next.extra "b" = { "a" 'extra.label := } 'skip$ if$ label extra.label * "}" * 'label := % CHANGED - pfps 15 Feb 1989 label width$ longest.label.width > { label 'longest.label := label width$ 'longest.label.width := } 'skip$ if$ extra.label 'next.extra := } EXECUTE {initialize.longest.label} ITERATE {forward.pass} REVERSE {reverse.pass} FUNCTION {begin.bib} { et.al.char.used { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ } 'skip$ if$ preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ "\begin{thebibliography}{}" write$ newline$ } EXECUTE {begin.bib} EXECUTE {init.state.consts} ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/segfig2.ps�������������������������������������������������������������������������0100644�0000764�0000764�00000004126�07267371705�015326� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%!PS-Adobe-2.0 EPSF-2.0 %%Title: /tmp/xfig-export007496 %%Creator: fig2dev Version 2.1.8 Patchlevel 0 %%CreationDate: Sat Nov 6 09:50:13 1993 %%For: martin@oas (Martin Karrenbach,463,7230253,4972862) %%Orientation: Portrait %%BoundingBox: 0 0 247 112 %%Pages: 0 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def /col8 {.68 .85 .9 setrgbcolor} bind def /col9 {0 .39 0 setrgbcolor} bind def /col10 {.65 .17 .17 setrgbcolor} bind def /col11 {1 .51 0 setrgbcolor} bind def /col12 {.63 .13 .94 setrgbcolor} bind def /col13 {1 .75 .8 setrgbcolor} bind def /col14 {.7 .13 .13 setrgbcolor} bind def /col15 {1 .84 0 setrgbcolor} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix } def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0 setlinecap 0 setlinejoin -72.0 328.0 translate 0.900 -0.900 scale 9.000 setlinewidth % Ellipse n 214 301 100 47 0 360 DrawEllipse gs col1 s gr % Polyline n 129 239 m 129 239 l 104 239 l 104 239 l clp gs col7 s gr 0.500 setlinewidth % Polyline n 86 239 m 79 239 79 357 7 arcto 4 {pop} repeat 79 364 347 364 7 arcto 4 {pop} repeat 354 364 354 246 7 arcto 4 {pop} repeat 354 239 86 239 7 arcto 4 {pop} repeat clp gs col7 s gr /Times-Roman findfont 28.00 scalefont setfont 155 310 m gs 1 -1 scale 360.0 rotate (SEGTeX) col1 show gr $F2psEnd ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/segfig.ps��������������������������������������������������������������������������0100644�0000764�0000764�00000336210�07267371705�015246� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%! %%BoundingBox: 47.52 38.16 942.48 673.2 % Start of pspen output 0.24 0.24 scale gsave systemdict /colorimage known not { /colortograyscale { dup /rgbdata exch store length 3 idiv /npixls exch store /indx 0 store /pixls npixls string store 0 1 npixls -1 add { pixls exch rgbdata indx get .3 mul rgbdata indx 1 add get .59 mul add rgbdata indx 2 add get .11 mul add cvi put /indx indx 3 add store } for pixls } bind def /mergeprocs { dup length 3 -1 roll dup length dup 5 1 roll 3 -1 roll add array cvx dup 3 -1 roll 0 exch putinterval dup 4 2 roll putinterval } bind def /colorimage { pop pop {colortograyscale} mergeprocs image } bind def } if /m { moveto } bind def /d { lineto } bind def 0 setgray grestore /clippingpath {newpath -1 -1 m 4097 -1 d 4097 3073 d -1 3073 d closepath} def gsave clippingpath eoclip newpath 0 setgray grestore /clippingpath {newpath -1 0 m 2049 0 d 2049 3073 d -1 3073 d closepath} def gsave clippingpath eoclip newpath 0 setgray grestore /clippingpath {newpath 341 384 m 1879 384 d 1879 2690 d 341 2690 d closepath} def gsave clippingpath eoclip newpath 0 setgray 364 2689 m 365 2665 d 365 2549 d 364 2526 d 364 2456 d 365 2433 d 366 2409 d 368 2386 d 369 2363 d 363 2340 d 351 2316 d 352 2293 d 373 2270 d 387 2247 d 374 2223 d 352 2200 d 351 2177 d 363 2153 d 369 2130 d 368 2107 d 366 2084 d 365 2060 d 364 2037 d 364 1967 d 365 1944 d 365 1851 d 364 1828 d 364 1758 d 365 1735 d 366 1711 d 368 1688 d 369 1665 d 363 1641 d 351 1618 d 352 1595 d 373 1572 d 388 1548 d 373 1525 d 352 1502 d 351 1479 d 363 1455 d 369 1432 d 368 1409 d 366 1385 d 365 1362 d 364 1339 d 364 1292 d 365 1269 d 365 1246 d 368 1223 d 369 1199 d 363 1176 d 351 1153 d 352 1129 d 373 1106 d 388 1083 d 373 1060 d 352 1036 d 351 1013 d 363 990 d 369 967 d 368 943 d 366 920 d 365 897 d 364 873 d 364 827 d 365 804 d 366 780 d 368 757 d 369 734 d 363 711 d 351 687 d 352 664 d 373 641 d 388 617 d 373 594 d 352 571 d 351 548 d 363 524 d 369 501 d 368 478 d 366 455 d 365 431 d 364 408 d 364 385 d stroke 395 2642 m 395 2689 d stroke 395 2642 m 395 2526 d 394 2503 d 394 2479 d 395 2456 d 395 2433 d 396 2409 d 398 2386 d 399 2363 d 394 2340 d 382 2316 d 382 2293 d 402 2270 d 417 2247 d 405 2223 d 384 2200 d 381 2177 d 392 2153 d 399 2130 d 398 2107 d 396 2084 d 395 2060 d 395 2037 d 394 2014 d 394 1991 d 395 1967 d 395 1828 d 394 1804 d 394 1781 d 395 1758 d 395 1735 d 396 1711 d 398 1688 d 400 1665 d 393 1641 d 382 1618 d 382 1595 d 403 1572 d 418 1548 d 404 1525 d 383 1502 d 381 1479 d 393 1455 d 399 1432 d 398 1409 d 396 1385 d 395 1362 d 394 1339 d 394 1292 d 395 1269 d 396 1246 d 398 1223 d 400 1199 d 393 1176 d 381 1153 d 382 1129 d 403 1106 d 418 1083 d 404 1060 d 383 1036 d 381 1013 d 393 990 d 400 967 d 398 943 d 396 920 d 395 897 d 394 873 d 394 827 d 395 804 d 396 780 d 398 757 d 400 734 d 393 711 d 381 687 d 382 664 d 403 641 d 418 617 d 404 594 d 382 571 d 381 548 d 393 524 d 400 501 d 398 478 d 396 455 d 395 431 d 395 408 d 394 385 d stroke 425 2526 m 425 2689 d stroke 425 2526 m 425 2456 d 426 2433 d 426 2409 d 428 2386 d 430 2363 d 425 2340 d 415 2316 d 412 2293 d 428 2270 d 445 2247 d 438 2223 d 418 2200 d 412 2177 d 420 2153 d 428 2130 d 429 2107 d 427 2084 d 426 2060 d 425 2037 d 425 1921 d 426 1897 d 426 1874 d 425 1851 d 425 1758 d 426 1735 d 426 1711 d 428 1688 d 430 1665 d 424 1641 d 413 1618 d 412 1595 d 432 1572 d 447 1548 d 436 1525 d 415 1502 d 412 1479 d 422 1455 d 429 1432 d 429 1409 d 427 1385 d 425 1362 d 425 1339 d 424 1316 d 425 1292 d 425 1269 d 426 1246 d 428 1223 d 430 1199 d 424 1176 d 412 1153 d 412 1129 d 432 1106 d 448 1083 d 435 1060 d 414 1036 d 412 1013 d 423 990 d 430 967 d 429 943 d 427 920 d 425 897 d 425 873 d 424 850 d 425 827 d 425 804 d 426 780 d 429 757 d 430 734 d 424 711 d 412 687 d 412 664 d 433 641 d 448 617 d 435 594 d 414 571 d 412 548 d 423 524 d 430 501 d 429 478 d 426 455 d 426 431 d 425 408 d 425 385 d stroke 456 2526 m 456 2689 d stroke 456 2526 m 455 2503 d 455 2456 d 456 2433 d 456 2409 d 458 2386 d 460 2363 d 458 2340 d 449 2316 d 442 2293 d 452 2270 d 470 2247 d 473 2223 d 456 2200 d 442 2177 d 447 2153 d 457 2130 d 460 2107 d 458 2084 d 456 2060 d 456 2014 d 455 1991 d 455 1967 d 456 1944 d 456 1828 d 455 1804 d 455 1781 d 456 1758 d 456 1735 d 457 1711 d 458 1688 d 460 1665 d 456 1641 d 445 1618 d 443 1595 d 459 1572 d 476 1548 d 468 1525 d 448 1502 d 442 1479 d 451 1455 d 459 1432 d 459 1409 d 457 1385 d 456 1362 d 455 1339 d 455 1292 d 456 1269 d 457 1246 d 459 1223 d 460 1199 d 455 1176 d 444 1153 d 443 1129 d 461 1106 d 477 1083 d 467 1060 d 446 1036 d 442 1013 d 452 990 d 459 967 d 459 943 d 457 920 d 456 897 d 455 873 d 455 827 d 456 804 d 457 780 d 459 757 d 460 734 d 455 711 d 444 687 d 443 664 d 462 641 d 477 617 d 466 594 d 446 571 d 442 548 d 453 524 d 460 501 d 459 478 d 457 455 d 456 431 d 455 408 d 455 385 d stroke 486 2526 m 486 2689 d stroke 486 2526 m 486 2409 d 487 2386 d 489 2363 d 491 2340 d 485 2316 d 473 2293 d 473 2270 d 494 2247 d 509 2223 d 495 2200 d 474 2177 d 472 2153 d 484 2130 d 491 2107 d 489 2084 d 487 2060 d 486 2037 d 486 1735 d 487 1711 d 489 1688 d 490 1665 d 487 1641 d 477 1618 d 473 1595 d 486 1572 d 504 1548 d 501 1525 d 482 1502 d 473 1479 d 480 1455 d 488 1432 d 490 1409 d 488 1385 d 487 1362 d 486 1339 d 485 1316 d 486 1292 d 486 1269 d 487 1246 d 489 1223 d 491 1199 d 486 1176 d 476 1153 d 473 1129 d 489 1106 d 505 1083 d 499 1060 d 480 1036 d 473 1013 d 481 990 d 489 967 d 490 943 d 488 920 d 486 897 d 486 873 d 485 850 d 486 827 d 486 804 d 487 780 d 489 757 d 491 734 d 486 711 d 475 687 d 473 664 d 490 641 d 506 617 d 498 594 d 478 571 d 473 548 d 482 524 d 489 501 d 490 478 d 488 455 d 487 431 d 486 408 d 485 385 d stroke 517 2526 m 517 2689 d stroke 517 2526 m 516 2503 d 516 2433 d 517 2409 d 517 2386 d 519 2363 d 520 2340 d 518 2316 d 510 2293 d 503 2270 d 513 2247 d 532 2223 d 534 2200 d 516 2177 d 503 2153 d 508 2130 d 518 2107 d 521 2084 d 519 2060 d 517 2037 d 517 2014 d 516 1991 d 516 1921 d 517 1897 d 517 1828 d 516 1804 d 516 1758 d 517 1735 d 517 1711 d 518 1688 d 520 1665 d 519 1641 d 510 1618 d 503 1595 d 512 1572 d 531 1548 d 534 1525 d 517 1502 d 503 1479 d 507 1455 d 517 1432 d 521 1409 d 519 1385 d 517 1362 d 516 1339 d 516 1269 d 517 1246 d 519 1223 d 521 1199 d 518 1176 d 508 1153 d 503 1129 d 516 1106 d 533 1083 d 532 1060 d 513 1036 d 503 1013 d 510 990 d 518 967 d 521 943 d 519 920 d 517 897 d 516 873 d 516 804 d 517 780 d 519 757 d 521 734 d 517 711 d 507 687 d 503 664 d 518 641 d 535 617 d 530 594 d 511 571 d 503 548 d 511 524 d 519 501 d 520 478 d 518 455 d 517 431 d 516 408 d 516 385 d stroke 547 2665 m 547 2689 d stroke 547 2665 m 547 2386 d 548 2363 d 550 2340 d 551 2316 d 547 2293 d 536 2270 d 534 2247 d 551 2223 d 567 2200 d 559 2177 d 539 2153 d 533 2130 d 543 2107 d 550 2084 d 551 2060 d 548 2037 d 547 2014 d 547 1967 d 546 1944 d 547 1921 d 547 1804 d 546 1781 d 547 1758 d 547 1711 d 548 1688 d 550 1665 d 551 1641 d 544 1618 d 533 1595 d 536 1572 d 557 1548 d 569 1525 d 554 1502 d 534 1479 d 534 1455 d 546 1432 d 552 1409 d 550 1385 d 548 1362 d 547 1339 d 546 1316 d 546 1292 d 547 1269 d 547 1246 d 549 1223 d 551 1199 d 549 1176 d 541 1153 d 534 1129 d 542 1106 d 561 1083 d 565 1060 d 548 1036 d 534 1013 d 538 990 d 548 967 d 551 943 d 549 920 d 548 897 d 547 873 d 546 850 d 546 827 d 547 804 d 547 780 d 549 757 d 551 734 d 549 711 d 539 687 d 534 664 d 545 641 d 563 617 d 563 594 d 545 571 d 534 548 d 539 524 d 549 501 d 551 478 d 549 455 d 548 431 d 547 408 d 546 385 d stroke 577 2572 m 577 2689 d stroke 577 2572 m 578 2549 d 578 2503 d 577 2479 d 577 2386 d 578 2363 d 579 2340 d 581 2316 d 582 2293 d 575 2270 d 564 2247 d 566 2223 d 587 2200 d 600 2177 d 585 2153 d 564 2130 d 564 2107 d 576 2084 d 582 2060 d 581 2037 d 578 2014 d 578 1991 d 577 1967 d 577 1897 d 578 1874 d 578 1828 d 577 1804 d 577 1735 d 578 1711 d 578 1688 d 580 1665 d 582 1641 d 577 1618 d 566 1595 d 564 1572 d 581 1548 d 598 1525 d 589 1502 d 569 1479 d 564 1455 d 573 1432 d 581 1409 d 581 1385 d 579 1362 d 578 1339 d 577 1316 d 577 1246 d 579 1223 d 581 1199 d 581 1176 d 574 1153 d 564 1129 d 567 1106 d 588 1083 d 599 1060 d 583 1036 d 564 1013 d 565 990 d 577 967 d 582 943 d 580 920 d 578 897 d 577 873 d 577 804 d 578 780 d 579 757 d 581 734 d 580 711 d 572 687 d 564 664 d 572 641 d 591 617 d 596 594 d 579 571 d 564 548 d 568 524 d 578 501 d 582 478 d 580 455 d 578 431 d 577 408 d 576 385 d stroke 608 2456 m 608 2689 d stroke 608 2456 m 607 2433 d 607 2386 d 608 2363 d 608 2340 d 609 2316 d 611 2293 d 611 2270 d 603 2247 d 594 2223 d 600 2200 d 620 2177 d 628 2153 d 611 2130 d 595 2107 d 597 2084 d 608 2060 d 612 2037 d 611 2014 d 609 1991 d 608 1967 d 608 1944 d 607 1921 d 607 1897 d 608 1874 d 608 1781 d 607 1758 d 608 1735 d 608 1688 d 610 1665 d 612 1641 d 610 1618 d 601 1595 d 594 1572 d 604 1548 d 623 1525 d 625 1502 d 607 1479 d 595 1455 d 599 1432 d 609 1409 d 612 1385 d 610 1362 d 608 1339 d 607 1316 d 607 1269 d 608 1246 d 609 1223 d 611 1199 d 612 1176 d 607 1153 d 596 1129 d 595 1106 d 614 1083 d 629 1060 d 618 1036 d 598 1013 d 594 990 d 605 967 d 612 943 d 611 920 d 609 897 d 608 873 d 607 850 d 607 804 d 608 780 d 609 757 d 611 734 d 612 711 d 605 687 d 594 664 d 598 641 d 618 617 d 629 594 d 614 571 d 595 548 d 595 524 d 607 501 d 612 478 d 611 455 d 609 431 d 608 408 d 607 385 d stroke 638 2433 m 638 2689 d stroke 638 2433 m 638 2340 d 639 2316 d 640 2293 d 642 2270 d 641 2247 d 632 2223 d 625 2200 d 633 2177 d 652 2153 d 657 2130 d 639 2107 d 625 2084 d 629 2060 d 639 2037 d 642 2014 d 641 1991 d 639 1967 d 638 1944 d 638 1711 d 639 1688 d 639 1665 d 642 1641 d 643 1618 d 636 1595 d 624 1572 d 626 1548 d 647 1525 d 661 1502 d 647 1479 d 625 1455 d 625 1432 d 637 1409 d 643 1385 d 642 1362 d 639 1339 d 638 1316 d 638 1246 d 639 1223 d 641 1199 d 642 1176 d 639 1153 d 630 1129 d 625 1106 d 638 1083 d 655 1060 d 653 1036 d 635 1013 d 625 990 d 631 967 d 640 943 d 642 920 d 640 897 d 639 873 d 638 850 d 638 780 d 639 757 d 641 734 d 643 711 d 637 687 d 626 664 d 625 641 d 645 617 d 660 594 d 648 571 d 628 548 d 624 524 d 635 501 d 642 478 d 642 455 d 640 431 d 638 408 d 637 385 d stroke 669 2409 m 669 2689 d stroke 669 2409 m 668 2386 d 668 2340 d 669 2316 d 669 2293 d 671 2270 d 672 2247 d 671 2223 d 662 2200 d 655 2177 d 664 2153 d 683 2130 d 686 2107 d 669 2084 d 655 2060 d 660 2037 d 669 2014 d 673 1991 d 671 1967 d 669 1944 d 669 1921 d 668 1897 d 668 1851 d 669 1828 d 669 1781 d 668 1758 d 668 1711 d 669 1688 d 669 1665 d 671 1641 d 673 1618 d 670 1595 d 660 1572 d 655 1548 d 668 1525 d 686 1502 d 684 1479 d 665 1455 d 655 1432 d 662 1409 d 671 1385 d 673 1362 d 671 1339 d 669 1316 d 668 1292 d 668 1246 d 669 1223 d 670 1199 d 672 1176 d 672 1153 d 664 1129 d 655 1106 d 661 1083 d 681 1060 d 688 1036 d 672 1013 d 656 990 d 658 967 d 669 943 d 673 920 d 671 897 d 669 873 d 668 850 d 668 780 d 669 757 d 671 734 d 673 711 d 669 687 d 659 664 d 655 641 d 669 617 d 687 594 d 683 571 d 664 548 d 655 524 d 663 501 d 671 478 d 673 455 d 671 431 d 669 408 d 667 385 d stroke 699 2409 m 699 2689 d stroke 699 2409 m 699 2293 d 700 2270 d 701 2247 d 703 2223 d 701 2200 d 693 2177 d 686 2153 d 694 2130 d 713 2107 d 717 2084 d 700 2060 d 686 2037 d 690 2014 d 700 1991 d 703 1967 d 701 1944 d 700 1921 d 699 1897 d 699 1665 d 700 1641 d 702 1618 d 703 1595 d 697 1572 d 685 1548 d 688 1525 d 709 1502 d 721 1479 d 706 1455 d 686 1432 d 686 1409 d 698 1385 d 704 1362 d 702 1339 d 700 1316 d 699 1292 d 699 1223 d 700 1199 d 702 1176 d 704 1153 d 698 1129 d 687 1106 d 686 1083 d 705 1060 d 721 1036 d 709 1013 d 689 990 d 685 967 d 696 943 d 703 920 d 703 897 d 700 873 d 699 850 d 699 827 d 698 804 d 699 780 d 699 757 d 701 734 d 703 711 d 702 687 d 693 664 d 686 641 d 694 617 d 713 594 d 717 571 d 700 548 d 686 524 d 690 501 d 700 478 d 704 455 d 702 431 d 700 408 d 697 385 d stroke 730 2572 m 730 2689 d stroke 730 2572 m 729 2549 d 729 2503 d 730 2479 d 730 2386 d 729 2363 d 729 2293 d 730 2270 d 730 2247 d 731 2223 d 733 2200 d 732 2177 d 724 2153 d 716 2130 d 723 2107 d 743 2084 d 749 2060 d 732 2037 d 716 2014 d 719 1991 d 730 1967 d 734 1944 d 732 1921 d 730 1897 d 730 1874 d 729 1851 d 729 1688 d 730 1665 d 730 1641 d 732 1618 d 733 1595 d 731 1572 d 721 1548 d 716 1525 d 728 1502 d 746 1479 d 745 1455 d 727 1432 d 716 1409 d 722 1385 d 731 1362 d 733 1339 d 731 1316 d 730 1292 d 729 1269 d 729 1223 d 730 1199 d 731 1176 d 733 1153 d 731 1129 d 722 1106 d 716 1083 d 727 1060 d 745 1036 d 746 1013 d 728 990 d 716 967 d 722 943 d 731 920 d 734 897 d 732 873 d 730 850 d 729 827 d 729 757 d 730 734 d 733 711 d 734 687 d 727 664 d 716 641 d 718 617 d 739 594 d 752 571 d 737 548 d 716 524 d 716 501 d 728 478 d 735 455 d 733 431 d 730 408 d 727 385 d stroke 760 2433 m 760 2689 d stroke 760 2433 m 760 2316 d 759 2293 d 760 2270 d 760 2223 d 761 2200 d 763 2177 d 763 2153 d 756 2130 d 746 2107 d 751 2084 d 771 2060 d 781 2037 d 765 2014 d 747 1991 d 748 1967 d 759 1944 d 764 1921 d 763 1897 d 761 1874 d 760 1851 d 760 1735 d 759 1711 d 760 1688 d 760 1641 d 761 1618 d 763 1595 d 764 1572 d 759 1548 d 747 1525 d 747 1502 d 768 1479 d 782 1455 d 769 1432 d 748 1409 d 746 1385 d 758 1362 d 764 1339 d 763 1316 d 761 1292 d 760 1269 d 759 1246 d 759 1223 d 760 1199 d 761 1176 d 763 1153 d 764 1129 d 758 1106 d 746 1083 d 748 1060 d 770 1036 d 782 1013 d 767 990 d 747 967 d 747 943 d 759 920 d 765 897 d 763 873 d 761 850 d 760 827 d 759 804 d 759 780 d 760 757 d 760 734 d 763 711 d 764 687 d 760 664 d 750 641 d 747 617 d 762 594 d 779 571 d 773 548 d 753 524 d 746 501 d 755 478 d 763 455 d 764 431 d 762 408 d 758 385 d stroke 790 2293 m 790 2689 d stroke 790 2293 m 790 2223 d 791 2200 d 791 2177 d 794 2153 d 795 2130 d 788 2107 d 777 2084 d 778 2060 d 799 2037 d 813 2014 d 799 1991 d 777 1967 d 777 1944 d 789 1921 d 795 1897 d 794 1874 d 791 1851 d 791 1828 d 790 1804 d 790 1641 d 791 1618 d 792 1595 d 794 1572 d 793 1548 d 785 1525 d 777 1502 d 785 1479 d 804 1455 d 809 1432 d 792 1409 d 777 1385 d 781 1362 d 791 1339 d 795 1316 d 793 1292 d 791 1269 d 790 1246 d 790 1199 d 791 1176 d 793 1153 d 794 1129 d 791 1106 d 781 1083 d 777 1060 d 791 1036 d 808 1013 d 805 990 d 786 967 d 777 943 d 784 920 d 793 897 d 794 873 d 792 850 d 791 827 d 790 804 d 790 734 d 792 711 d 794 687 d 793 664 d 785 641 d 777 617 d 785 594 d 804 571 d 808 548 d 791 524 d 777 501 d 781 478 d 792 455 d 796 431 d 793 408 d 788 385 d stroke 821 2270 m 821 2689 d stroke 821 2270 m 820 2247 d 820 2223 d 821 2200 d 821 2177 d 822 2153 d 824 2130 d 825 2107 d 820 2084 d 809 2060 d 808 2037 d 826 2014 d 841 1991 d 832 1967 d 812 1944 d 807 1921 d 817 1897 d 824 1874 d 824 1851 d 822 1828 d 821 1804 d 821 1781 d 820 1758 d 820 1665 d 821 1641 d 821 1618 d 822 1595 d 823 1572 d 825 1548 d 821 1525 d 811 1502 d 808 1479 d 822 1455 d 839 1432 d 834 1409 d 815 1385 d 807 1362 d 815 1339 d 823 1316 d 824 1292 d 822 1269 d 821 1246 d 820 1223 d 820 1199 d 821 1176 d 822 1153 d 824 1129 d 825 1106 d 818 1083 d 807 1060 d 811 1036 d 831 1013 d 842 990 d 827 967 d 808 943 d 808 920 d 820 897 d 825 873 d 824 850 d 821 827 d 820 804 d 820 757 d 821 734 d 821 711 d 824 687 d 825 664 d 819 641 d 807 617 d 808 594 d 828 571 d 843 548 d 830 524 d 809 501 d 807 478 d 820 455 d 826 431 d 825 408 d 819 385 d stroke 851 2270 m 851 2689 d stroke 851 2270 m 851 2153 d 852 2130 d 854 2107 d 855 2084 d 852 2060 d 842 2037 d 838 2014 d 851 1991 d 869 1967 d 866 1944 d 847 1921 d 838 1897 d 845 1874 d 853 1851 d 855 1828 d 853 1804 d 852 1781 d 851 1758 d 851 1711 d 850 1688 d 851 1665 d 851 1618 d 852 1595 d 852 1572 d 854 1548 d 856 1525 d 850 1502 d 837 1479 d 838 1455 d 860 1432 d 874 1409 d 860 1385 d 839 1362 d 837 1339 d 849 1316 d 856 1292 d 854 1269 d 852 1246 d 851 1223 d 851 1153 d 853 1129 d 855 1106 d 852 1083 d 842 1060 d 838 1036 d 851 1013 d 869 990 d 866 967 d 847 943 d 838 920 d 845 897 d 853 873 d 855 850 d 853 827 d 851 804 d 851 711 d 853 687 d 855 664 d 853 641 d 843 617 d 838 594 d 850 571 d 868 548 d 866 524 d 848 501 d 838 478 d 845 455 d 854 431 d 856 408 d 850 385 d stroke 882 2247 m 882 2689 d stroke 882 2247 m 881 2223 d 881 2153 d 882 2130 d 882 2107 d 883 2084 d 885 2060 d 884 2037 d 876 2014 d 868 1991 d 876 1967 d 895 1944 d 900 1921 d 883 1897 d 868 1874 d 872 1851 d 882 1828 d 886 1804 d 884 1781 d 882 1758 d 882 1735 d 881 1711 d 881 1618 d 882 1595 d 882 1572 d 883 1548 d 885 1525 d 885 1502 d 877 1479 d 868 1455 d 874 1432 d 894 1409 d 901 1385 d 885 1362 d 869 1339 d 871 1316 d 882 1292 d 886 1269 d 884 1246 d 882 1223 d 881 1199 d 881 1153 d 882 1129 d 885 1106 d 886 1083 d 879 1060 d 868 1036 d 870 1013 d 891 990 d 904 967 d 889 943 d 869 920 d 869 897 d 880 873 d 886 850 d 885 827 d 882 804 d 881 780 d 881 711 d 883 687 d 885 664 d 886 641 d 879 617 d 868 594 d 871 571 d 892 548 d 903 524 d 887 501 d 869 478 d 871 455 d 882 431 d 887 408 d 882 385 d stroke 912 2409 m 912 2689 d stroke 912 2409 m 912 2177 d 911 2153 d 912 2130 d 912 2084 d 913 2060 d 915 2037 d 916 2014 d 910 1991 d 898 1967 d 900 1944 d 922 1921 d 935 1897 d 920 1874 d 899 1851 d 899 1828 d 911 1804 d 917 1781 d 915 1758 d 913 1735 d 912 1711 d 912 1688 d 911 1665 d 911 1618 d 912 1595 d 912 1572 d 913 1548 d 914 1525 d 916 1502 d 914 1479 d 904 1455 d 899 1432 d 910 1409 d 928 1385 d 928 1362 d 910 1339 d 899 1316 d 904 1292 d 913 1269 d 916 1246 d 914 1223 d 912 1199 d 912 1129 d 914 1106 d 916 1083 d 914 1060 d 905 1036 d 899 1013 d 910 990 d 928 967 d 928 943 d 910 920 d 899 897 d 904 873 d 913 850 d 916 827 d 914 804 d 912 780 d 912 687 d 914 664 d 916 641 d 913 617 d 902 594 d 899 571 d 913 548 d 930 524 d 925 501 d 907 478 d 900 455 d 908 431 d 915 408 d 915 385 d stroke 942 2247 m 942 2689 d stroke 942 2247 m 943 2223 d 943 2200 d 942 2177 d 942 2084 d 943 2060 d 943 2037 d 945 2014 d 947 1991 d 942 1967 d 932 1944 d 929 1921 d 946 1897 d 962 1874 d 955 1851 d 935 1828 d 929 1804 d 938 1781 d 945 1758 d 946 1735 d 944 1711 d 943 1688 d 942 1665 d 942 1641 d 941 1618 d 942 1595 d 942 1572 d 943 1548 d 943 1525 d 945 1502 d 947 1479 d 943 1455 d 932 1432 d 929 1409 d 945 1385 d 961 1362 d 956 1339 d 936 1316 d 929 1292 d 937 1269 d 945 1246 d 946 1223 d 944 1199 d 942 1176 d 942 1129 d 943 1106 d 945 1083 d 947 1060 d 942 1036 d 930 1013 d 929 990 d 949 967 d 964 943 d 953 920 d 932 897 d 929 873 d 939 850 d 946 827 d 946 804 d 943 780 d 942 757 d 942 687 d 944 664 d 946 641 d 946 617 d 939 594 d 929 571 d 933 548 d 953 524 d 962 501 d 947 478 d 930 455 d 932 431 d 943 408 d 948 385 d stroke 973 2130 m 973 2689 d stroke 973 2130 m 972 2107 d 972 2084 d 973 2060 d 973 2014 d 975 1991 d 977 1967 d 975 1944 d 966 1921 d 959 1897 d 969 1874 d 988 1851 d 990 1828 d 972 1804 d 960 1781 d 964 1758 d 974 1735 d 977 1711 d 975 1688 d 974 1665 d 973 1641 d 972 1618 d 972 1572 d 973 1548 d 973 1525 d 974 1502 d 976 1479 d 977 1455 d 972 1432 d 960 1409 d 960 1385 d 979 1362 d 994 1339 d 983 1316 d 963 1292 d 959 1269 d 970 1246 d 977 1223 d 976 1199 d 974 1176 d 973 1153 d 973 1106 d 974 1083 d 976 1060 d 976 1036 d 968 1013 d 959 990 d 965 967 d 985 943 d 993 920 d 976 897 d 960 873 d 962 850 d 973 827 d 977 804 d 975 780 d 973 757 d 973 734 d 972 711 d 973 687 d 973 664 d 975 641 d 977 617 d 974 594 d 963 571 d 960 548 d 974 524 d 990 501 d 985 478 d 967 455 d 960 431 d 969 408 d 980 385 d stroke 1003 2107 m 1003 2689 d stroke 1003 2107 m 1003 2014 d 1004 1991 d 1004 1967 d 1007 1944 d 1007 1921 d 1001 1897 d 989 1874 d 992 1851 d 1013 1828 d 1025 1804 d 1010 1781 d 990 1758 d 990 1735 d 1002 1711 d 1008 1688 d 1006 1665 d 1004 1641 d 1004 1618 d 1003 1595 d 1002 1572 d 1002 1548 d 1003 1525 d 1004 1502 d 1004 1479 d 1007 1455 d 1008 1432 d 1001 1409 d 989 1385 d 991 1362 d 1012 1339 d 1026 1316 d 1012 1292 d 990 1269 d 990 1246 d 1002 1223 d 1008 1199 d 1006 1176 d 1004 1153 d 1003 1129 d 1003 1106 d 1004 1083 d 1005 1060 d 1007 1036 d 1004 1013 d 994 990 d 990 967 d 1003 943 d 1021 920 d 1018 897 d 999 873 d 990 850 d 997 827 d 1005 804 d 1007 780 d 1005 757 d 1003 734 d 1003 664 d 1004 641 d 1007 617 d 1007 594 d 1000 571 d 990 548 d 994 524 d 1013 501 d 1023 478 d 1006 455 d 989 431 d 994 408 d 1011 385 d stroke 1034 2084 m 1034 2689 d stroke 1034 2084 m 1033 2060 d 1033 2014 d 1034 1991 d 1034 1944 d 1036 1921 d 1038 1897 d 1034 1874 d 1023 1851 d 1020 1828 d 1036 1804 d 1053 1781 d 1046 1758 d 1027 1735 d 1020 1711 d 1029 1688 d 1037 1665 d 1037 1641 d 1035 1618 d 1034 1595 d 1033 1572 d 1033 1502 d 1034 1479 d 1035 1455 d 1037 1432 d 1037 1409 d 1030 1385 d 1020 1362 d 1024 1339 d 1044 1316 d 1055 1292 d 1039 1269 d 1021 1246 d 1022 1223 d 1033 1199 d 1038 1176 d 1036 1153 d 1034 1129 d 1034 1060 d 1036 1036 d 1038 1013 d 1033 990 d 1021 967 d 1021 943 d 1040 920 d 1056 897 d 1044 873 d 1023 850 d 1020 827 d 1031 804 d 1038 780 d 1037 757 d 1034 734 d 1034 711 d 1033 687 d 1033 664 d 1034 641 d 1036 617 d 1038 594 d 1035 571 d 1026 548 d 1021 524 d 1034 501 d 1049 478 d 1043 455 d 1026 431 d 1023 408 d 1039 385 d stroke 1064 2060 m 1064 2689 d stroke 1064 2060 m 1064 1944 d 1065 1921 d 1066 1897 d 1068 1874 d 1067 1851 d 1058 1828 d 1051 1804 d 1059 1781 d 1078 1758 d 1082 1735 d 1065 1711 d 1051 1688 d 1054 1665 d 1065 1641 d 1068 1618 d 1067 1595 d 1065 1572 d 1064 1548 d 1063 1525 d 1063 1502 d 1064 1479 d 1064 1455 d 1066 1432 d 1068 1409 d 1067 1385 d 1060 1362 d 1050 1339 d 1056 1316 d 1076 1292 d 1084 1269 d 1068 1246 d 1051 1223 d 1053 1199 d 1064 1176 d 1068 1153 d 1066 1129 d 1065 1106 d 1064 1083 d 1064 1060 d 1065 1036 d 1067 1013 d 1067 990 d 1060 967 d 1051 943 d 1056 920 d 1076 897 d 1085 873 d 1069 850 d 1051 827 d 1053 804 d 1064 780 d 1068 757 d 1067 734 d 1064 711 d 1064 617 d 1067 594 d 1069 571 d 1064 548 d 1052 524 d 1053 501 d 1071 478 d 1080 455 d 1066 431 d 1054 408 d 1066 385 d stroke 1095 2433 m 1095 2689 d stroke 1095 2433 m 1094 2409 d 1094 2363 d 1095 2340 d 1095 2247 d 1094 2223 d 1094 2130 d 1095 2107 d 1095 2037 d 1094 2014 d 1094 1921 d 1095 1897 d 1095 1874 d 1098 1851 d 1099 1828 d 1093 1804 d 1081 1781 d 1082 1758 d 1102 1735 d 1117 1711 d 1104 1688 d 1082 1665 d 1081 1641 d 1092 1618 d 1099 1595 d 1098 1572 d 1095 1548 d 1094 1525 d 1094 1455 d 1095 1432 d 1096 1409 d 1098 1385 d 1097 1362 d 1089 1339 d 1081 1316 d 1088 1292 d 1107 1269 d 1114 1246 d 1097 1223 d 1081 1199 d 1084 1176 d 1095 1153 d 1098 1129 d 1097 1106 d 1095 1083 d 1095 1036 d 1096 1013 d 1098 990 d 1096 967 d 1087 943 d 1081 920 d 1092 897 d 1110 873 d 1111 850 d 1093 827 d 1081 804 d 1086 780 d 1096 757 d 1098 734 d 1096 711 d 1095 687 d 1094 664 d 1094 617 d 1096 594 d 1099 571 d 1098 548 d 1089 524 d 1082 501 d 1090 478 d 1105 455 d 1104 431 d 1091 408 d 1091 385 d stroke 1125 2060 m 1125 2689 d stroke 1125 2060 m 1125 1967 d 1124 1944 d 1124 1921 d 1125 1897 d 1125 1874 d 1126 1851 d 1127 1828 d 1129 1804 d 1126 1781 d 1116 1758 d 1112 1735 d 1124 1711 d 1142 1688 d 1140 1665 d 1122 1641 d 1112 1618 d 1118 1595 d 1127 1572 d 1129 1548 d 1127 1525 d 1125 1502 d 1125 1479 d 1124 1455 d 1124 1432 d 1125 1409 d 1127 1385 d 1129 1362 d 1128 1339 d 1119 1316 d 1111 1292 d 1119 1269 d 1138 1246 d 1143 1223 d 1127 1199 d 1112 1176 d 1115 1153 d 1125 1129 d 1129 1106 d 1127 1083 d 1126 1060 d 1125 1036 d 1126 1013 d 1127 990 d 1129 967 d 1125 943 d 1115 920 d 1112 897 d 1127 873 d 1144 850 d 1138 827 d 1118 804 d 1111 780 d 1120 757 d 1128 734 d 1128 711 d 1126 687 d 1125 664 d 1125 594 d 1128 571 d 1130 548 d 1125 524 d 1114 501 d 1113 478 d 1130 455 d 1140 431 d 1127 408 d 1117 385 d stroke 1155 1921 m 1155 2689 d stroke 1155 1921 m 1155 1851 d 1156 1828 d 1157 1804 d 1159 1781 d 1159 1758 d 1152 1735 d 1142 1711 d 1146 1688 d 1166 1665 d 1176 1641 d 1161 1618 d 1142 1595 d 1143 1572 d 1155 1548 d 1160 1525 d 1158 1502 d 1156 1479 d 1155 1455 d 1155 1385 d 1157 1362 d 1159 1339 d 1158 1316 d 1150 1292 d 1142 1269 d 1150 1246 d 1169 1223 d 1174 1199 d 1157 1176 d 1142 1153 d 1146 1129 d 1156 1106 d 1159 1083 d 1157 1060 d 1156 1036 d 1156 990 d 1158 967 d 1159 943 d 1154 920 d 1142 897 d 1142 873 d 1162 850 d 1178 827 d 1165 804 d 1144 780 d 1142 757 d 1153 734 d 1159 711 d 1158 687 d 1156 664 d 1155 641 d 1155 594 d 1156 571 d 1159 548 d 1158 524 d 1150 501 d 1144 478 d 1155 455 d 1168 431 d 1161 408 d 1148 385 d stroke 1186 1897 m 1186 2689 d stroke 1186 1897 m 1185 1874 d 1185 1851 d 1186 1828 d 1186 1804 d 1187 1781 d 1188 1758 d 1190 1735 d 1186 1711 d 1175 1688 d 1173 1665 d 1189 1641 d 1205 1618 d 1198 1595 d 1179 1572 d 1172 1548 d 1181 1525 d 1189 1502 d 1189 1479 d 1187 1455 d 1186 1432 d 1185 1409 d 1185 1385 d 1186 1362 d 1187 1339 d 1189 1316 d 1188 1292 d 1180 1269 d 1172 1246 d 1180 1223 d 1199 1199 d 1204 1176 d 1187 1153 d 1173 1129 d 1176 1106 d 1186 1083 d 1189 1060 d 1188 1036 d 1187 1013 d 1186 990 d 1187 967 d 1189 943 d 1189 920 d 1182 897 d 1172 873 d 1176 850 d 1196 827 d 1207 804 d 1192 780 d 1173 757 d 1173 734 d 1185 711 d 1190 687 d 1188 664 d 1187 641 d 1186 617 d 1186 571 d 1187 548 d 1188 524 d 1184 501 d 1179 478 d 1184 455 d 1193 431 d 1190 408 d 1181 385 d stroke 1216 1874 m 1216 2689 d stroke 1216 1874 m 1216 1781 d 1217 1758 d 1218 1735 d 1220 1711 d 1219 1688 d 1211 1665 d 1203 1641 d 1210 1618 d 1229 1595 d 1235 1572 d 1218 1548 d 1203 1525 d 1206 1502 d 1216 1479 d 1220 1455 d 1218 1432 d 1216 1409 d 1216 1339 d 1217 1316 d 1220 1292 d 1219 1269 d 1211 1246 d 1203 1223 d 1210 1199 d 1229 1176 d 1235 1153 d 1218 1129 d 1203 1106 d 1206 1083 d 1216 1060 d 1220 1036 d 1218 1013 d 1217 990 d 1217 967 d 1218 943 d 1219 920 d 1218 897 d 1211 873 d 1203 850 d 1210 827 d 1229 804 d 1235 780 d 1219 757 d 1203 734 d 1206 711 d 1216 687 d 1220 664 d 1219 641 d 1217 617 d 1216 594 d 1216 548 d 1217 524 d 1216 501 d 1214 478 d 1215 455 d 1219 431 d 1218 408 d 1214 385 d stroke 1247 1851 m 1247 2689 d stroke 1247 1851 m 1246 1828 d 1246 1758 d 1247 1735 d 1247 1711 d 1250 1688 d 1251 1665 d 1246 1641 d 1234 1618 d 1234 1595 d 1252 1572 d 1268 1548 d 1257 1525 d 1237 1502 d 1233 1479 d 1243 1455 d 1250 1432 d 1250 1409 d 1247 1385 d 1247 1316 d 1248 1292 d 1250 1269 d 1250 1246 d 1242 1223 d 1233 1199 d 1239 1176 d 1259 1153 d 1266 1129 d 1250 1106 d 1233 1083 d 1236 1060 d 1246 1036 d 1250 1013 d 1249 990 d 1248 967 d 1247 943 d 1248 920 d 1250 897 d 1248 873 d 1239 850 d 1233 827 d 1243 804 d 1262 780 d 1263 757 d 1246 734 d 1233 711 d 1238 687 d 1248 664 d 1251 641 d 1249 617 d 1247 594 d 1247 571 d 1246 548 d 1246 455 d 1247 431 d 1247 408 d 1246 385 d stroke 1277 1944 m 1277 2689 d stroke 1277 1944 m 1277 1781 d 1276 1758 d 1277 1735 d 1277 1711 d 1278 1688 d 1279 1665 d 1281 1641 d 1279 1618 d 1270 1595 d 1264 1572 d 1273 1548 d 1292 1525 d 1294 1502 d 1277 1479 d 1264 1455 d 1268 1432 d 1278 1409 d 1281 1385 d 1279 1362 d 1277 1339 d 1277 1292 d 1278 1269 d 1280 1246 d 1280 1223 d 1273 1199 d 1263 1176 d 1268 1153 d 1289 1129 d 1298 1106 d 1282 1083 d 1264 1060 d 1265 1036 d 1276 1013 d 1281 990 d 1280 967 d 1278 943 d 1278 920 d 1279 897 d 1281 873 d 1277 850 d 1268 827 d 1264 804 d 1277 780 d 1294 757 d 1292 734 d 1273 711 d 1264 687 d 1270 664 d 1279 641 d 1281 617 d 1279 594 d 1278 571 d 1277 548 d 1277 524 d 1276 501 d 1277 478 d 1277 385 d stroke 1307 1851 m 1307 2689 d stroke 1307 1851 m 1308 1828 d 1308 1804 d 1307 1781 d 1307 1688 d 1308 1665 d 1308 1641 d 1311 1618 d 1312 1595 d 1306 1572 d 1294 1548 d 1294 1525 d 1315 1502 d 1330 1479 d 1317 1455 d 1295 1432 d 1294 1409 d 1305 1385 d 1312 1362 d 1310 1339 d 1308 1316 d 1308 1246 d 1310 1223 d 1311 1199 d 1305 1176 d 1294 1153 d 1297 1129 d 1318 1106 d 1329 1083 d 1314 1060 d 1294 1036 d 1295 1013 d 1306 990 d 1311 967 d 1310 943 d 1309 920 d 1308 897 d 1310 873 d 1311 850 d 1307 827 d 1297 804 d 1294 780 d 1310 757 d 1326 734 d 1321 711 d 1301 687 d 1294 664 d 1302 641 d 1310 617 d 1311 594 d 1309 571 d 1308 548 d 1307 524 d 1307 431 d 1308 408 d 1308 385 d stroke 1338 1735 m 1338 2689 d stroke 1338 1735 m 1337 1711 d 1337 1688 d 1338 1665 d 1338 1618 d 1340 1595 d 1342 1572 d 1339 1548 d 1330 1525 d 1324 1502 d 1336 1479 d 1354 1455 d 1354 1432 d 1336 1409 d 1325 1385 d 1330 1362 d 1339 1339 d 1341 1316 d 1339 1292 d 1338 1269 d 1338 1246 d 1339 1223 d 1341 1199 d 1342 1176 d 1336 1153 d 1324 1129 d 1325 1106 d 1346 1083 d 1361 1060 d 1347 1036 d 1325 1013 d 1324 990 d 1335 967 d 1342 943 d 1341 920 d 1339 897 d 1339 873 d 1341 850 d 1342 827 d 1337 804 d 1326 780 d 1325 757 d 1342 734 d 1358 711 d 1350 687 d 1330 664 d 1324 641 d 1333 617 d 1341 594 d 1341 571 d 1339 548 d 1338 524 d 1338 501 d 1337 478 d 1337 431 d 1338 408 d 1338 385 d stroke 1368 1711 m 1368 2689 d stroke 1368 1711 m 1368 1618 d 1369 1595 d 1369 1572 d 1372 1548 d 1373 1525 d 1366 1502 d 1354 1479 d 1356 1455 d 1378 1432 d 1391 1409 d 1376 1385 d 1355 1362 d 1355 1339 d 1367 1316 d 1372 1292 d 1371 1269 d 1369 1246 d 1369 1199 d 1371 1176 d 1372 1153 d 1367 1129 d 1356 1106 d 1355 1083 d 1374 1060 d 1390 1036 d 1379 1013 d 1358 990 d 1354 967 d 1364 943 d 1372 920 d 1372 897 d 1370 873 d 1370 850 d 1371 827 d 1372 804 d 1367 780 d 1356 757 d 1355 734 d 1374 711 d 1390 687 d 1379 664 d 1358 641 d 1355 617 d 1365 594 d 1372 571 d 1372 548 d 1370 524 d 1369 501 d 1368 478 d 1368 408 d 1369 385 d stroke 1399 1688 m 1399 2689 d stroke 1399 1688 m 1398 1665 d 1398 1595 d 1399 1572 d 1399 1548 d 1401 1525 d 1403 1502 d 1400 1479 d 1390 1455 d 1385 1432 d 1398 1409 d 1416 1385 d 1414 1362 d 1395 1339 d 1385 1316 d 1392 1292 d 1400 1269 d 1402 1246 d 1400 1223 d 1399 1199 d 1400 1176 d 1401 1153 d 1402 1129 d 1398 1106 d 1388 1083 d 1386 1060 d 1402 1036 d 1418 1013 d 1412 990 d 1392 967 d 1385 943 d 1393 920 d 1401 897 d 1402 873 d 1401 850 d 1400 827 d 1402 804 d 1403 780 d 1397 757 d 1385 734 d 1386 711 d 1406 687 d 1421 664 d 1409 641 d 1388 617 d 1385 594 d 1396 571 d 1403 548 d 1402 524 d 1400 501 d 1399 478 d 1398 455 d 1398 408 d 1399 385 d stroke 1429 1641 m 1429 2689 d stroke 1429 1641 m 1429 1525 d 1430 1502 d 1432 1479 d 1433 1455 d 1426 1432 d 1415 1409 d 1418 1385 d 1439 1362 d 1451 1339 d 1436 1316 d 1416 1292 d 1416 1269 d 1428 1246 d 1433 1223 d 1432 1199 d 1430 1176 d 1430 1153 d 1431 1129 d 1433 1106 d 1430 1083 d 1420 1060 d 1416 1036 d 1429 1013 d 1446 990 d 1444 967 d 1426 943 d 1415 920 d 1422 897 d 1431 873 d 1433 850 d 1431 827 d 1431 804 d 1432 780 d 1433 757 d 1427 734 d 1415 711 d 1416 687 d 1437 664 d 1452 641 d 1439 617 d 1417 594 d 1415 571 d 1427 548 d 1433 524 d 1432 501 d 1430 478 d 1429 455 d 1429 431 d 1428 408 d 1429 385 d stroke 1459 1735 m 1459 2689 d stroke 1459 1735 m 1460 1711 d 1460 1618 d 1459 1595 d 1459 1525 d 1460 1502 d 1460 1479 d 1462 1455 d 1464 1432 d 1460 1409 d 1450 1385 d 1446 1362 d 1460 1339 d 1477 1316 d 1474 1292 d 1455 1269 d 1446 1246 d 1453 1223 d 1461 1199 d 1463 1176 d 1461 1153 d 1461 1106 d 1463 1083 d 1461 1060 d 1453 1036 d 1446 1013 d 1455 990 d 1474 967 d 1477 943 d 1460 920 d 1446 897 d 1450 873 d 1460 850 d 1464 827 d 1462 804 d 1461 780 d 1463 757 d 1464 734 d 1457 711 d 1446 687 d 1446 664 d 1468 641 d 1483 617 d 1469 594 d 1447 571 d 1446 548 d 1458 524 d 1464 501 d 1463 478 d 1461 455 d 1460 431 d 1459 408 d 1459 385 d stroke 1490 1641 m 1490 2689 d stroke 1490 1641 m 1490 1548 d 1489 1525 d 1490 1502 d 1490 1455 d 1491 1432 d 1493 1409 d 1494 1385 d 1486 1362 d 1476 1339 d 1480 1316 d 1501 1292 d 1511 1269 d 1496 1246 d 1477 1223 d 1477 1199 d 1489 1176 d 1494 1153 d 1493 1129 d 1491 1106 d 1492 1083 d 1493 1060 d 1493 1036 d 1485 1013 d 1476 990 d 1482 967 d 1502 943 d 1510 920 d 1494 897 d 1477 873 d 1478 850 d 1489 827 d 1494 804 d 1493 780 d 1492 757 d 1493 734 d 1494 711 d 1488 687 d 1476 664 d 1477 641 d 1498 617 d 1513 594 d 1499 571 d 1477 548 d 1476 524 d 1488 501 d 1495 478 d 1494 455 d 1491 431 d 1490 408 d 1489 385 d stroke 1520 1525 m 1520 2689 d stroke 1520 1525 m 1520 1455 d 1521 1432 d 1521 1409 d 1523 1385 d 1524 1362 d 1521 1339 d 1511 1316 d 1507 1292 d 1522 1269 d 1539 1246 d 1534 1223 d 1515 1199 d 1506 1176 d 1514 1153 d 1522 1129 d 1524 1106 d 1522 1083 d 1522 1060 d 1524 1036 d 1525 1013 d 1518 990 d 1506 967 d 1508 943 d 1529 920 d 1544 897 d 1529 873 d 1507 850 d 1506 827 d 1518 804 d 1525 780 d 1524 757 d 1522 734 d 1524 711 d 1525 687 d 1518 664 d 1506 641 d 1507 617 d 1528 594 d 1543 571 d 1529 548 d 1508 524 d 1507 501 d 1519 478 d 1525 455 d 1524 431 d 1521 408 d 1518 385 d stroke 1551 1502 m 1551 2689 d stroke 1551 1502 m 1550 1479 d 1550 1432 d 1551 1409 d 1551 1385 d 1552 1362 d 1554 1339 d 1554 1316 d 1547 1292 d 1537 1269 d 1542 1246 d 1562 1223 d 1572 1199 d 1556 1176 d 1537 1153 d 1538 1129 d 1550 1106 d 1555 1083 d 1554 1060 d 1552 1036 d 1554 1013 d 1555 990 d 1550 967 d 1539 943 d 1537 920 d 1555 897 d 1571 873 d 1562 850 d 1542 827 d 1537 804 d 1546 780 d 1554 757 d 1555 734 d 1553 711 d 1554 687 d 1555 664 d 1549 641 d 1537 617 d 1537 594 d 1558 571 d 1573 548 d 1560 524 d 1539 501 d 1537 478 d 1549 455 d 1556 431 d 1555 408 d 1549 385 d stroke 1581 1479 m 1581 2689 d stroke 1581 1479 m 1581 1362 d 1582 1339 d 1584 1316 d 1585 1292 d 1582 1269 d 1571 1246 d 1568 1223 d 1583 1199 d 1600 1176 d 1595 1153 d 1575 1129 d 1567 1106 d 1575 1083 d 1584 1060 d 1585 1036 d 1584 1013 d 1584 990 d 1585 967 d 1582 943 d 1572 920 d 1568 897 d 1581 873 d 1598 850 d 1596 827 d 1577 804 d 1567 780 d 1574 757 d 1583 734 d 1585 711 d 1584 687 d 1585 664 d 1586 641 d 1580 617 d 1568 594 d 1568 571 d 1587 548 d 1602 524 d 1591 501 d 1571 478 d 1569 455 d 1580 431 d 1586 408 d 1582 385 d stroke 1612 1432 m 1612 2689 d stroke 1612 1432 m 1611 1409 d 1611 1362 d 1612 1339 d 1612 1316 d 1613 1292 d 1615 1269 d 1615 1246 d 1608 1223 d 1598 1199 d 1603 1176 d 1623 1153 d 1632 1129 d 1616 1106 d 1598 1083 d 1599 1060 d 1611 1036 d 1616 1013 d 1615 990 d 1614 967 d 1616 943 d 1614 920 d 1605 897 d 1598 873 d 1606 850 d 1625 827 d 1630 804 d 1613 780 d 1598 757 d 1601 734 d 1612 711 d 1616 687 d 1615 664 d 1615 641 d 1616 617 d 1611 594 d 1599 571 d 1598 548 d 1616 524 d 1632 501 d 1622 478 d 1602 455 d 1599 431 d 1609 408 d 1618 385 d stroke 1642 1525 m 1642 2689 d stroke 1642 1525 m 1642 1292 d 1643 1269 d 1644 1246 d 1646 1223 d 1642 1199 d 1632 1176 d 1629 1153 d 1644 1129 d 1661 1106 d 1655 1083 d 1636 1060 d 1628 1036 d 1636 1013 d 1645 990 d 1646 967 d 1645 943 d 1646 920 d 1646 897 d 1639 873 d 1628 850 d 1631 827 d 1652 804 d 1664 780 d 1648 757 d 1629 734 d 1629 711 d 1641 687 d 1647 664 d 1646 641 d 1646 617 d 1647 594 d 1642 571 d 1631 548 d 1629 524 d 1645 501 d 1660 478 d 1650 455 d 1632 431 d 1632 408 d 1649 385 d stroke 1672 1432 m 1672 2689 d stroke 1672 1432 m 1673 1409 d 1672 1385 d 1672 1269 d 1673 1246 d 1674 1223 d 1676 1199 d 1676 1176 d 1669 1153 d 1659 1129 d 1663 1106 d 1684 1083 d 1693 1060 d 1677 1036 d 1659 1013 d 1660 990 d 1672 967 d 1677 943 d 1676 920 d 1676 897 d 1677 873 d 1672 850 d 1660 827 d 1659 804 d 1678 780 d 1693 757 d 1683 734 d 1663 711 d 1658 687 d 1668 664 d 1676 641 d 1676 594 d 1678 571 d 1674 548 d 1664 524 d 1660 501 d 1673 478 d 1685 455 d 1679 431 d 1666 408 d 1671 385 d stroke 1703 1316 m 1703 2689 d stroke 1703 1316 m 1702 1292 d 1702 1269 d 1703 1246 d 1703 1223 d 1704 1199 d 1705 1176 d 1707 1153 d 1703 1129 d 1693 1106 d 1690 1083 d 1705 1060 d 1721 1036 d 1716 1013 d 1697 990 d 1689 967 d 1697 943 d 1706 920 d 1707 897 d 1707 850 d 1704 827 d 1694 804 d 1689 780 d 1702 757 d 1720 734 d 1718 711 d 1699 687 d 1689 664 d 1696 641 d 1705 617 d 1707 594 d 1707 571 d 1708 548 d 1704 524 d 1693 501 d 1691 478 d 1706 455 d 1717 431 d 1706 408 d 1695 385 d stroke 1733 1292 m 1733 2689 d stroke 1733 1292 m 1733 1199 d 1734 1176 d 1735 1153 d 1737 1129 d 1737 1106 d 1730 1083 d 1720 1060 d 1724 1036 d 1744 1013 d 1754 990 d 1738 967 d 1720 943 d 1721 920 d 1733 897 d 1738 873 d 1738 827 d 1736 804 d 1728 780 d 1719 757 d 1726 734 d 1746 711 d 1752 687 d 1735 664 d 1720 641 d 1723 617 d 1733 594 d 1738 571 d 1738 548 d 1736 524 d 1731 501 d 1726 478 d 1731 455 d 1740 431 d 1737 408 d 1729 385 d stroke 1764 1269 m 1764 2689 d stroke 1764 1269 m 1763 1246 d 1763 1176 d 1764 1153 d 1764 1129 d 1766 1106 d 1768 1083 d 1764 1060 d 1754 1036 d 1751 1013 d 1765 990 d 1782 967 d 1777 943 d 1758 920 d 1750 897 d 1758 873 d 1766 850 d 1768 827 d 1769 804 d 1769 780 d 1762 757 d 1750 734 d 1750 711 d 1772 687 d 1787 664 d 1772 641 d 1751 617 d 1750 594 d 1762 571 d 1769 548 d 1767 524 d 1765 501 d 1763 478 d 1763 455 d 1764 431 d 1764 408 d 1763 385 d stroke 1794 1223 m 1794 2689 d stroke 1794 1223 m 1794 1106 d 1795 1083 d 1797 1060 d 1798 1036 d 1791 1013 d 1780 990 d 1784 967 d 1805 943 d 1815 920 d 1799 897 d 1781 873 d 1782 850 d 1793 827 d 1799 804 d 1800 780 d 1799 757 d 1794 734 d 1784 711 d 1780 687 d 1796 664 d 1813 641 d 1807 617 d 1787 594 d 1781 571 d 1789 548 d 1797 524 d 1798 501 d 1796 478 d 1794 455 d 1794 385 d stroke 1824 1292 m 1824 2689 d stroke 1824 1292 m 1825 1269 d 1825 1199 d 1824 1176 d 1824 1106 d 1825 1083 d 1825 1060 d 1827 1036 d 1829 1013 d 1825 990 d 1815 967 d 1811 943 d 1825 920 d 1842 897 d 1838 873 d 1819 850 d 1811 827 d 1818 804 d 1827 780 d 1830 757 d 1830 734 d 1827 711 d 1818 687 d 1811 664 d 1820 641 d 1839 617 d 1842 594 d 1824 571 d 1811 548 d 1816 524 d 1825 501 d 1829 478 d 1827 455 d 1825 431 d 1824 408 d 1823 385 d stroke 1855 1129 m 1855 2689 d stroke 1855 1129 m 1854 1106 d 1854 1083 d 1855 1060 d 1855 1036 d 1856 1013 d 1858 990 d 1859 967 d 1852 943 d 1841 920 d 1845 897 d 1865 873 d 1876 850 d 1861 827 d 1841 804 d 1842 780 d 1854 757 d 1861 734 d 1861 711 d 1860 687 d 1852 664 d 1841 641 d 1844 617 d 1864 594 d 1876 571 d 1861 548 d 1842 524 d 1842 501 d 1854 478 d 1860 455 d 1859 431 d 1856 408 d 1853 385 d stroke 342 385 m 1878 385 d stroke 1878 967 m 342 967 d stroke 342 1548 m 1878 1548 d stroke 1878 2130 m 342 2130 d stroke grestore /clippingpath {newpath -1 0 m 2049 0 d 2049 3073 d -1 3073 d closepath} def gsave clippingpath eoclip newpath 0 setgray 342 385 m 342 2689 d 1878 2689 d 1878 385 d 342 385 d stroke 342 2689 m 1878 2689 d stroke 342 2689 m 324 2689 d stroke 324 2107 m 342 2107 d stroke 342 1525 m 324 1525 d stroke 324 943 m 342 943 d stroke 300 2691 m 298 2696 d 293 2699 d 284 2701 d 279 2701 d 270 2699 d 265 2696 d 263 2691 d 263 2687 d 265 2682 d 270 2679 d 279 2677 d 284 2677 d 293 2679 d 298 2682 d 300 2687 d 300 2691 d 298 2694 d 296 2696 d 293 2698 d 284 2699 d 279 2699 d 270 2698 d 267 2696 d 265 2694 d 263 2691 d stroke 263 2687 m 265 2684 d 267 2682 d 270 2680 d 279 2679 d 284 2679 d 293 2680 d 296 2682 d 298 2684 d 300 2687 d stroke 300 2136 m 298 2142 d 293 2145 d 284 2147 d 279 2147 d 270 2145 d 265 2142 d 263 2136 d 263 2133 d 265 2128 d 270 2124 d 279 2123 d 284 2123 d 293 2124 d 298 2128 d 300 2133 d 300 2136 d 298 2140 d 296 2142 d 293 2143 d 284 2145 d 279 2145 d 270 2143 d 267 2142 d 265 2140 d 263 2136 d stroke 263 2133 m 265 2130 d 267 2128 d 270 2126 d 279 2124 d 284 2124 d 293 2126 d 296 2128 d 298 2130 d 300 2133 d stroke 267 2107 m 265 2109 d 263 2107 d 265 2105 d 267 2107 d stroke 293 2090 m 291 2088 d 289 2090 d 291 2091 d 293 2091 d 296 2090 d 298 2088 d 300 2083 d 300 2076 d 298 2071 d 296 2069 d 293 2067 d 289 2067 d 286 2069 d 282 2074 d 279 2083 d 277 2086 d 274 2090 d 268 2091 d 263 2091 d stroke 300 2076 m 298 2072 d 296 2071 d 293 2069 d 289 2069 d 286 2071 d 282 2076 d 279 2083 d stroke 267 2091 m 268 2090 d 268 2086 d 265 2078 d 265 2072 d 267 2069 d 268 2067 d stroke 268 2086 m 263 2078 d 263 2071 d 265 2069 d 268 2067 d 272 2067 d stroke 300 1554 m 298 1560 d 293 1563 d 284 1565 d 279 1565 d 270 1563 d 265 1560 d 263 1554 d 263 1551 d 265 1546 d 270 1542 d 279 1541 d 284 1541 d 293 1542 d 298 1546 d 300 1551 d 300 1554 d 298 1558 d 296 1560 d 293 1561 d 284 1563 d 279 1563 d 270 1561 d 267 1560 d 265 1558 d 263 1554 d stroke 263 1551 m 265 1548 d 267 1546 d 270 1544 d 279 1542 d 284 1542 d 293 1544 d 296 1546 d 298 1548 d 300 1551 d stroke 267 1525 m 265 1527 d 263 1525 d 265 1523 d 267 1525 d stroke 296 1494 m 263 1494 d stroke 300 1492 m 263 1492 d stroke 300 1492 m 274 1511 d 274 1483 d stroke 263 1499 m 263 1487 d stroke 300 972 m 298 978 d 293 981 d 284 983 d 279 983 d 270 981 d 265 978 d 263 972 d 263 969 d 265 964 d 270 960 d 279 959 d 284 959 d 293 960 d 298 964 d 300 969 d 300 972 d 298 976 d 296 978 d 293 979 d 284 981 d 279 981 d 270 979 d 267 978 d 265 976 d 263 972 d stroke 263 969 m 265 966 d 267 964 d 270 962 d 279 960 d 284 960 d 293 962 d 296 964 d 298 966 d 300 969 d stroke 267 943 m 265 945 d 263 943 d 265 941 d 267 943 d stroke 294 907 m 293 908 d 291 907 d 293 905 d 294 905 d 298 907 d 300 910 d 300 915 d 298 920 d 294 924 d 291 926 d 284 927 d 274 927 d 268 926 d 265 922 d 263 917 d 263 914 d 265 908 d 268 905 d 274 903 d 275 903 d 280 905 d 284 908 d 286 914 d 286 915 d 284 920 d 280 924 d 275 926 d stroke 300 915 m 298 919 d 294 922 d 291 924 d 284 926 d 274 926 d 268 924 d 265 920 d 263 917 d stroke 263 914 m 265 910 d 268 907 d 274 905 d 275 905 d 280 907 d 284 910 d 286 914 d stroke 220 1564 m 223 1562 d 216 1562 d 220 1564 d 222 1566 d 223 1569 d 223 1576 d 222 1579 d 220 1581 d 216 1581 d 215 1579 d 213 1576 d 210 1567 d 208 1564 d 206 1562 d stroke 218 1581 m 216 1579 d 215 1576 d 211 1567 d 210 1564 d 208 1562 d 203 1562 d 201 1564 d 199 1567 d 199 1574 d 201 1578 d 203 1579 d 206 1581 d 199 1581 d 203 1579 d stroke 213 1548 m 213 1527 d 216 1527 d 220 1529 d 222 1531 d 223 1534 d 223 1540 d 222 1545 d 218 1548 d 213 1550 d 210 1550 d 204 1548 d 201 1545 d 199 1540 d 199 1536 d 201 1531 d 204 1527 d stroke 213 1529 m 218 1529 d 222 1531 d stroke 223 1540 m 222 1543 d 218 1547 d 213 1548 d 210 1548 d 204 1547 d 201 1543 d 199 1540 d stroke 218 1495 m 216 1496 d 215 1495 d 216 1493 d 218 1493 d 222 1496 d 223 1500 d 223 1505 d 222 1510 d 218 1514 d 213 1515 d 210 1515 d 204 1514 d 201 1510 d 199 1505 d 199 1501 d 201 1496 d 204 1493 d stroke 223 1505 m 222 1508 d 218 1512 d 213 1514 d 210 1514 d 204 1512 d 201 1508 d 199 1505 d stroke 342 385 m 342 2689 d stroke 365 385 m 365 348 d stroke 608 348 m 608 385 d stroke 851 385 m 851 348 d stroke 1095 348 m 1095 385 d stroke 1338 385 m 1338 348 d stroke 1581 348 m 1581 385 d stroke 1824 385 m 1824 348 d stroke 363 323 m 358 321 d 355 316 d 353 307 d 353 302 d 355 294 d 358 288 d 363 287 d 367 287 d 372 288 d 375 294 d 377 302 d 377 307 d 375 316 d 372 321 d 367 323 d 363 323 d 360 321 d 358 320 d 356 316 d 355 307 d 355 302 d 356 294 d 358 290 d 360 288 d 363 287 d stroke 367 287 m 370 288 d 372 290 d 374 294 d 375 302 d 375 307 d 374 316 d 372 320 d 370 321 d 367 323 d stroke 579 323 m 573 321 d 570 316 d 568 307 d 568 302 d 570 294 d 573 288 d 579 287 d 582 287 d 587 288 d 591 294 d 592 302 d 592 307 d 591 316 d 587 321 d 582 323 d 579 323 d 575 321 d 573 320 d 572 316 d 570 307 d 570 302 d 572 294 d 573 290 d 575 288 d 579 287 d stroke 582 287 m 585 288 d 587 290 d 589 294 d 591 302 d 591 307 d 589 316 d 587 320 d 585 321 d 582 323 d stroke 608 290 m 606 288 d 608 287 d 610 288 d 608 290 d stroke 625 316 m 627 314 d 625 313 d 624 314 d 624 316 d 625 320 d 627 321 d 632 323 d 639 323 d 644 321 d 646 320 d 648 316 d 648 313 d 646 309 d 641 306 d 632 302 d 629 301 d 625 297 d 624 292 d 624 287 d stroke 639 323 m 643 321 d 644 320 d 646 316 d 646 313 d 644 309 d 639 306 d 632 302 d stroke 624 290 m 625 292 d 629 292 d 637 288 d 643 288 d 646 290 d 648 292 d stroke 629 292 m 637 287 d 644 287 d 646 288 d 648 292 d 648 295 d stroke 822 323 m 816 321 d 813 316 d 811 307 d 811 302 d 813 294 d 816 288 d 822 287 d 825 287 d 830 288 d 834 294 d 835 302 d 835 307 d 834 316 d 830 321 d 825 323 d 822 323 d 818 321 d 816 320 d 815 316 d 813 307 d 813 302 d 815 294 d 816 290 d 818 288 d 822 287 d stroke 825 287 m 828 288 d 830 290 d 832 294 d 834 302 d 834 307 d 832 316 d 830 320 d 828 321 d 825 323 d stroke 851 290 m 849 288 d 851 287 d 853 288 d 851 290 d stroke 882 320 m 882 287 d stroke 884 323 m 884 287 d stroke 884 323 m 865 297 d 893 297 d stroke 877 287 m 889 287 d stroke 1066 323 m 1060 321 d 1057 316 d 1055 307 d 1055 302 d 1057 294 d 1060 288 d 1066 287 d 1069 287 d 1074 288 d 1078 294 d 1079 302 d 1079 307 d 1078 316 d 1074 321 d 1069 323 d 1066 323 d 1062 321 d 1060 320 d 1059 316 d 1057 307 d 1057 302 d 1059 294 d 1060 290 d 1062 288 d 1066 287 d stroke 1069 287 m 1072 288 d 1074 290 d 1076 294 d 1078 302 d 1078 307 d 1076 316 d 1074 320 d 1072 321 d 1069 323 d stroke 1095 290 m 1093 288 d 1095 287 d 1097 288 d 1095 290 d stroke 1131 318 m 1130 316 d 1131 314 d 1133 316 d 1133 318 d 1131 321 d 1128 323 d 1123 323 d 1118 321 d 1114 318 d 1112 314 d 1111 307 d 1111 297 d 1112 292 d 1116 288 d 1121 287 d 1124 287 d 1130 288 d 1133 292 d 1135 297 d 1135 299 d 1133 304 d 1130 307 d 1124 309 d 1123 309 d 1118 307 d 1114 304 d 1112 299 d stroke 1123 323 m 1119 321 d 1116 318 d 1114 314 d 1112 307 d 1112 297 d 1114 292 d 1118 288 d 1121 287 d stroke 1124 287 m 1128 288 d 1131 292 d 1133 297 d 1133 299 d 1131 304 d 1128 307 d 1124 309 d stroke 1309 323 m 1303 321 d 1300 316 d 1298 307 d 1298 302 d 1300 294 d 1303 288 d 1309 287 d 1312 287 d 1317 288 d 1321 294 d 1322 302 d 1322 307 d 1321 316 d 1317 321 d 1312 323 d 1309 323 d 1305 321 d 1303 320 d 1302 316 d 1300 307 d 1300 302 d 1302 294 d 1303 290 d 1305 288 d 1309 287 d stroke 1312 287 m 1315 288 d 1317 290 d 1319 294 d 1321 302 d 1321 307 d 1319 316 d 1317 320 d 1315 321 d 1312 323 d stroke 1338 290 m 1336 288 d 1338 287 d 1340 288 d 1338 290 d stroke 1362 323 m 1357 321 d 1355 318 d 1355 313 d 1357 309 d 1362 307 d 1369 307 d 1374 309 d 1376 313 d 1376 318 d 1374 321 d 1369 323 d 1362 323 d 1359 321 d 1357 318 d 1357 313 d 1359 309 d 1362 307 d stroke 1369 307 m 1373 309 d 1374 313 d 1374 318 d 1373 321 d 1369 323 d stroke 1362 307 m 1357 306 d 1355 304 d 1354 301 d 1354 294 d 1355 290 d 1357 288 d 1362 287 d 1369 287 d 1374 288 d 1376 290 d 1378 294 d 1378 301 d 1376 304 d 1374 306 d 1369 307 d stroke 1362 307 m 1359 306 d 1357 304 d 1355 301 d 1355 294 d 1357 290 d 1359 288 d 1362 287 d stroke 1369 287 m 1373 288 d 1374 290 d 1376 294 d 1376 301 d 1374 304 d 1373 306 d 1369 307 d stroke 1574 316 m 1578 318 d 1583 323 d 1583 287 d stroke 1581 321 m 1581 287 d stroke 1574 287 m 1590 287 d stroke 1789 316 m 1793 318 d 1798 323 d 1798 287 d stroke 1796 321 m 1796 287 d stroke 1789 287 m 1805 287 d stroke 1824 290 m 1822 288 d 1824 287 d 1826 288 d 1824 290 d stroke 1841 316 m 1843 314 d 1841 313 d 1840 314 d 1840 316 d 1841 320 d 1843 321 d 1848 323 d 1855 323 d 1860 321 d 1862 320 d 1864 316 d 1864 313 d 1862 309 d 1857 306 d 1848 302 d 1845 301 d 1841 297 d 1840 292 d 1840 287 d stroke 1855 323 m 1859 321 d 1860 320 d 1862 316 d 1862 313 d 1860 309 d 1855 306 d 1848 302 d stroke 1840 290 m 1841 292 d 1845 292 d 1853 288 d 1859 288 d 1862 290 d 1864 292 d stroke 1845 292 m 1853 287 d 1860 287 d 1862 288 d 1864 292 d 1864 295 d stroke 1071 196 m 1071 160 d stroke 1073 196 m 1073 160 d stroke 1090 184 m 1073 167 d stroke 1081 174 m 1092 160 d stroke 1080 174 m 1090 160 d stroke 1066 196 m 1073 196 d stroke 1085 184 m 1095 184 d stroke 1066 160 m 1078 160 d stroke 1085 160 m 1095 160 d stroke 1109 184 m 1109 160 d stroke 1111 184 m 1111 160 d stroke 1111 179 m 1114 182 d 1120 184 d 1123 184 d 1128 182 d 1130 179 d 1130 160 d stroke 1123 184 m 1126 182 d 1128 179 d 1128 160 d stroke 1130 179 m 1133 182 d 1139 184 d 1142 184 d 1147 182 d 1149 179 d 1149 160 d stroke 1142 184 m 1146 182 d 1147 179 d 1147 160 d stroke 1104 184 m 1111 184 d stroke 1104 160 m 1116 160 d stroke 1123 160 m 1135 160 d stroke 1142 160 m 1154 160 d stroke 897 2804 m 897 2758 d stroke 899 2804 m 899 2758 d stroke 899 2782 m 903 2786 d 907 2789 d 912 2789 d 918 2786 d 923 2782 d 925 2776 d 925 2771 d 923 2765 d 918 2760 d 912 2758 d 907 2758 d 903 2760 d 899 2765 d stroke 912 2789 m 916 2786 d 920 2782 d 923 2776 d 923 2771 d 920 2765 d 916 2760 d 912 2758 d stroke 890 2804 m 899 2804 d stroke 942 2776 m 968 2776 d 968 2780 d 966 2784 d 964 2786 d 959 2789 d 953 2789 d 946 2786 d 942 2782 d 940 2776 d 940 2771 d 942 2765 d 946 2760 d 953 2758 d 957 2758 d 964 2760 d 968 2765 d stroke 966 2776 m 966 2782 d 964 2786 d stroke 953 2789 m 949 2786 d 944 2782 d 942 2776 d 942 2771 d 944 2765 d 949 2760 d 953 2758 d stroke 998 2802 m 996 2799 d 998 2797 d 1001 2799 d 1001 2802 d 998 2804 d 994 2804 d 990 2802 d 988 2797 d 988 2758 d stroke 994 2804 m 992 2802 d 990 2797 d 990 2758 d stroke 981 2789 m 998 2789 d stroke 981 2758 m 996 2758 d stroke 1027 2789 m 1020 2786 d 1016 2782 d 1014 2776 d 1014 2771 d 1016 2765 d 1020 2760 d 1027 2758 d 1031 2758 d 1037 2760 d 1042 2765 d 1044 2771 d 1044 2776 d 1042 2782 d 1037 2786 d 1031 2789 d 1027 2789 d 1022 2786 d 1018 2782 d 1016 2776 d 1016 2771 d 1018 2765 d 1022 2760 d 1027 2758 d stroke 1031 2758 m 1035 2760 d 1040 2765 d 1042 2771 d 1042 2776 d 1040 2782 d 1035 2786 d 1031 2789 d stroke 1063 2789 m 1063 2758 d stroke 1066 2789 m 1066 2758 d stroke 1066 2776 m 1068 2782 d 1072 2786 d 1076 2789 d 1083 2789 d 1085 2786 d 1085 2784 d 1083 2782 d 1081 2784 d 1083 2786 d stroke 1057 2789 m 1066 2789 d stroke 1057 2758 m 1072 2758 d stroke 1100 2776 m 1126 2776 d 1126 2780 d 1124 2784 d 1122 2786 d 1118 2789 d 1111 2789 d 1105 2786 d 1100 2782 d 1098 2776 d 1098 2771 d 1100 2765 d 1105 2760 d 1111 2758 d 1115 2758 d 1122 2760 d 1126 2765 d stroke 1124 2776 m 1124 2782 d 1122 2786 d stroke 1111 2789 m 1107 2786 d 1102 2782 d 1100 2776 d 1100 2771 d 1102 2765 d 1107 2760 d 1111 2758 d stroke 1178 2789 m 1178 2758 d stroke 1180 2789 m 1180 2758 d stroke 1180 2782 m 1185 2786 d 1191 2789 d 1196 2789 d 1202 2786 d 1204 2782 d 1204 2758 d stroke 1196 2789 m 1200 2786 d 1202 2782 d 1202 2758 d stroke 1172 2789 m 1180 2789 d stroke 1172 2758 m 1187 2758 d stroke 1196 2758 m 1211 2758 d stroke 1228 2789 m 1228 2758 d stroke 1230 2789 m 1230 2758 d stroke 1230 2782 m 1235 2786 d 1241 2789 d 1245 2789 d 1252 2786 d 1254 2782 d 1254 2758 d stroke 1245 2789 m 1250 2786 d 1252 2782 d 1252 2758 d stroke 1254 2782 m 1258 2786 d 1265 2789 d 1269 2789 d 1276 2786 d 1278 2782 d 1278 2758 d stroke 1269 2789 m 1274 2786 d 1276 2782 d 1276 2758 d stroke 1222 2789 m 1230 2789 d stroke 1222 2758 m 1237 2758 d stroke 1245 2758 m 1261 2758 d stroke 1269 2758 m 1284 2758 d stroke 1310 2789 m 1304 2786 d 1300 2782 d 1297 2776 d 1297 2771 d 1300 2765 d 1304 2760 d 1310 2758 d 1315 2758 d 1321 2760 d 1326 2765 d 1328 2771 d 1328 2776 d 1326 2782 d 1321 2786 d 1315 2789 d 1310 2789 d 1306 2786 d 1302 2782 d 1300 2776 d 1300 2771 d 1302 2765 d 1306 2760 d 1310 2758 d stroke 1315 2758 m 1319 2760 d 1323 2765 d 1326 2771 d 1326 2776 d 1323 2782 d 1319 2786 d 1315 2789 d stroke grestore /clippingpath {newpath -1 -1 m 32761 -1 d 32761 24571 d -1 24571 d closepath} def gsave clippingpath eoclip newpath 0 setgray grestore /clippingpath {newpath 2047 0 m 4097 0 d 4097 3073 d 2047 3073 d closepath} def gsave clippingpath eoclip newpath 0 setgray grestore /clippingpath {newpath 2389 384 m 3927 384 d 3927 2690 d 2389 2690 d closepath} def gsave clippingpath eoclip newpath 0 setgray 2413 2689 m 2413 2572 d 2412 2549 d 2412 2456 d 2413 2433 d 2414 2409 d 2416 2386 d 2417 2363 d 2411 2340 d 2399 2316 d 2400 2293 d 2421 2270 d 2436 2247 d 2421 2223 d 2400 2200 d 2399 2177 d 2411 2153 d 2417 2130 d 2416 2107 d 2414 2084 d 2413 2060 d 2412 2037 d 2412 1967 d 2413 1944 d 2413 1851 d 2412 1828 d 2412 1758 d 2413 1735 d 2414 1711 d 2416 1688 d 2417 1665 d 2411 1641 d 2398 1618 d 2399 1595 d 2421 1572 d 2436 1548 d 2421 1525 d 2399 1502 d 2398 1479 d 2411 1455 d 2417 1432 d 2416 1409 d 2414 1385 d 2413 1362 d 2412 1339 d 2412 1292 d 2413 1269 d 2414 1246 d 2416 1223 d 2417 1199 d 2411 1176 d 2398 1153 d 2399 1129 d 2421 1106 d 2436 1083 d 2421 1060 d 2399 1036 d 2398 1013 d 2411 990 d 2417 967 d 2416 943 d 2414 920 d 2413 897 d 2412 873 d 2412 827 d 2413 804 d 2414 780 d 2416 757 d 2417 734 d 2411 711 d 2398 687 d 2399 664 d 2421 641 d 2436 617 d 2421 594 d 2399 571 d 2398 548 d 2411 524 d 2417 501 d 2416 478 d 2414 455 d 2413 431 d 2412 408 d 2412 385 d stroke 2443 2642 m 2443 2689 d stroke 2443 2642 m 2443 2526 d 2442 2503 d 2443 2479 d 2443 2433 d 2444 2409 d 2446 2386 d 2447 2363 d 2440 2340 d 2430 2316 d 2432 2293 d 2451 2270 d 2465 2247 d 2451 2223 d 2431 2200 d 2430 2177 d 2441 2153 d 2447 2130 d 2446 2107 d 2444 2084 d 2443 2060 d 2443 2037 d 2442 2014 d 2442 1991 d 2443 1967 d 2443 1828 d 2442 1804 d 2442 1781 d 2443 1758 d 2443 1735 d 2444 1711 d 2446 1688 d 2447 1665 d 2441 1641 d 2429 1618 d 2430 1595 d 2452 1572 d 2466 1548 d 2452 1525 d 2430 1502 d 2429 1479 d 2441 1455 d 2448 1432 d 2446 1409 d 2444 1385 d 2443 1362 d 2442 1339 d 2442 1292 d 2443 1269 d 2444 1246 d 2446 1223 d 2448 1199 d 2441 1176 d 2429 1153 d 2430 1129 d 2452 1106 d 2466 1083 d 2452 1060 d 2430 1036 d 2429 1013 d 2441 990 d 2448 967 d 2446 943 d 2444 920 d 2443 897 d 2442 873 d 2442 827 d 2443 804 d 2444 780 d 2446 757 d 2448 734 d 2441 711 d 2429 687 d 2430 664 d 2452 641 d 2466 617 d 2452 594 d 2430 571 d 2429 548 d 2441 524 d 2448 501 d 2446 478 d 2444 455 d 2443 431 d 2443 408 d 2442 385 d stroke 2473 2549 m 2473 2689 d stroke 2473 2549 m 2473 2456 d 2474 2433 d 2475 2409 d 2477 2386 d 2476 2363 d 2470 2340 d 2462 2316 d 2465 2293 d 2481 2270 d 2491 2247 d 2481 2223 d 2465 2200 d 2461 2177 d 2470 2153 d 2476 2130 d 2477 2107 d 2475 2084 d 2474 2060 d 2473 2037 d 2473 1944 d 2474 1921 d 2474 1874 d 2473 1851 d 2473 1758 d 2474 1735 d 2475 1711 d 2477 1688 d 2477 1665 d 2471 1641 d 2460 1618 d 2462 1595 d 2482 1572 d 2494 1548 d 2482 1525 d 2462 1502 d 2460 1479 d 2471 1455 d 2477 1432 d 2477 1409 d 2475 1385 d 2473 1362 d 2473 1339 d 2472 1316 d 2473 1292 d 2473 1269 d 2474 1246 d 2477 1223 d 2478 1199 d 2471 1176 d 2460 1153 d 2462 1129 d 2482 1106 d 2495 1083 d 2482 1060 d 2462 1036 d 2460 1013 d 2471 990 d 2478 967 d 2477 943 d 2474 920 d 2473 897 d 2473 873 d 2472 850 d 2473 827 d 2473 804 d 2474 780 d 2477 757 d 2478 734 d 2471 711 d 2460 687 d 2461 664 d 2482 641 d 2496 617 d 2482 594 d 2461 571 d 2460 548 d 2471 524 d 2478 501 d 2477 478 d 2474 455 d 2473 431 d 2473 385 d stroke 2504 2572 m 2504 2689 d stroke 2504 2572 m 2503 2549 d 2503 2503 d 2504 2479 d 2504 2433 d 2506 2409 d 2507 2386 d 2506 2363 d 2499 2340 d 2492 2316 d 2496 2293 d 2512 2270 d 2521 2247 d 2512 2223 d 2496 2200 d 2492 2177 d 2500 2153 d 2506 2130 d 2507 2107 d 2505 2084 d 2504 2060 d 2504 2037 d 2503 2014 d 2503 1967 d 2504 1944 d 2504 1851 d 2503 1828 d 2503 1781 d 2504 1758 d 2504 1735 d 2505 1711 d 2507 1688 d 2507 1665 d 2501 1641 d 2492 1618 d 2494 1595 d 2512 1572 d 2522 1548 d 2512 1525 d 2494 1502 d 2492 1479 d 2501 1455 d 2507 1432 d 2507 1409 d 2505 1385 d 2504 1362 d 2503 1339 d 2503 1292 d 2504 1269 d 2505 1246 d 2507 1223 d 2507 1199 d 2501 1176 d 2491 1153 d 2493 1129 d 2512 1106 d 2524 1083 d 2512 1060 d 2493 1036 d 2491 1013 d 2501 990 d 2508 967 d 2507 943 d 2505 920 d 2504 897 d 2503 873 d 2503 827 d 2504 804 d 2505 780 d 2507 757 d 2508 734 d 2501 711 d 2491 687 d 2493 664 d 2512 641 d 2524 617 d 2512 594 d 2493 571 d 2491 548 d 2501 524 d 2508 501 d 2507 478 d 2505 455 d 2504 431 d 2503 408 d 2503 385 d stroke 2534 2596 m 2534 2689 d stroke 2534 2596 m 2534 2456 d 2535 2433 d 2536 2409 d 2538 2386 d 2537 2363 d 2529 2340 d 2520 2316 d 2524 2293 d 2544 2270 d 2558 2247 d 2544 2223 d 2523 2200 d 2520 2177 d 2530 2153 d 2538 2130 d 2538 2107 d 2536 2084 d 2535 2060 d 2534 2037 d 2534 1758 d 2535 1735 d 2536 1711 d 2537 1688 d 2537 1665 d 2531 1641 d 2523 1618 d 2526 1595 d 2542 1572 d 2551 1548 d 2542 1525 d 2526 1502 d 2523 1479 d 2531 1455 d 2537 1432 d 2537 1409 d 2536 1385 d 2534 1362 d 2534 1339 d 2533 1316 d 2534 1292 d 2534 1269 d 2536 1246 d 2537 1223 d 2537 1199 d 2531 1176 d 2523 1153 d 2525 1129 d 2542 1106 d 2552 1083 d 2542 1060 d 2525 1036 d 2523 1013 d 2531 990 d 2537 967 d 2537 943 d 2536 920 d 2534 897 d 2534 873 d 2533 850 d 2534 827 d 2534 804 d 2535 780 d 2537 757 d 2538 734 d 2531 711 d 2522 687 d 2525 664 d 2542 641 d 2553 617 d 2542 594 d 2525 571 d 2522 548 d 2531 524 d 2538 501 d 2537 478 d 2536 455 d 2534 431 d 2534 385 d stroke 2564 2503 m 2564 2689 d stroke 2564 2503 m 2565 2479 d 2565 2456 d 2566 2433 d 2567 2409 d 2568 2386 d 2566 2363 d 2558 2340 d 2552 2316 d 2558 2293 d 2573 2270 d 2581 2247 d 2573 2223 d 2558 2200 d 2553 2177 d 2559 2153 d 2566 2130 d 2568 2107 d 2567 2084 d 2565 2060 d 2565 2037 d 2564 2014 d 2564 1944 d 2565 1921 d 2565 1851 d 2564 1828 d 2564 1781 d 2565 1758 d 2565 1735 d 2566 1711 d 2568 1688 d 2567 1665 d 2561 1641 d 2553 1618 d 2556 1595 d 2572 1572 d 2582 1548 d 2572 1525 d 2557 1502 d 2553 1479 d 2561 1455 d 2567 1432 d 2568 1409 d 2566 1385 d 2565 1362 d 2564 1339 d 2564 1292 d 2565 1269 d 2566 1246 d 2568 1223 d 2567 1199 d 2561 1176 d 2554 1153 d 2557 1129 d 2572 1106 d 2581 1083 d 2572 1060 d 2557 1036 d 2554 1013 d 2561 990 d 2567 967 d 2568 943 d 2566 920 d 2565 897 d 2564 873 d 2564 827 d 2565 804 d 2566 780 d 2568 757 d 2568 734 d 2561 711 d 2553 687 d 2556 664 d 2572 641 d 2582 617 d 2572 594 d 2556 571 d 2553 548 d 2561 524 d 2568 501 d 2568 478 d 2566 455 d 2565 431 d 2564 408 d 2564 385 d stroke 2595 2526 m 2595 2689 d stroke 2595 2526 m 2595 2479 d 2596 2456 d 2597 2433 d 2598 2409 d 2599 2386 d 2595 2363 d 2587 2340 d 2582 2316 d 2589 2293 d 2605 2270 d 2614 2247 d 2605 2223 d 2586 2200 d 2581 2177 d 2589 2153 d 2597 2130 d 2599 2107 d 2597 2084 d 2596 2060 d 2595 2037 d 2595 1828 d 2594 1804 d 2595 1781 d 2595 1735 d 2596 1711 d 2599 1688 d 2599 1665 d 2592 1641 d 2581 1618 d 2584 1595 d 2604 1572 d 2616 1548 d 2604 1525 d 2584 1502 d 2582 1479 d 2592 1455 d 2599 1432 d 2598 1409 d 2596 1385 d 2595 1362 d 2595 1339 d 2594 1316 d 2594 1292 d 2595 1269 d 2596 1246 d 2598 1223 d 2598 1199 d 2592 1176 d 2584 1153 d 2587 1129 d 2602 1106 d 2612 1083 d 2602 1060 d 2587 1036 d 2584 1013 d 2592 990 d 2598 967 d 2598 943 d 2596 920 d 2595 897 d 2595 873 d 2594 850 d 2594 827 d 2595 804 d 2596 780 d 2598 757 d 2598 734 d 2592 711 d 2584 687 d 2587 664 d 2602 641 d 2612 617 d 2602 594 d 2587 571 d 2584 548 d 2592 524 d 2598 501 d 2598 478 d 2597 455 d 2595 431 d 2594 408 d 2594 385 d stroke 2625 2596 m 2625 2689 d stroke 2625 2596 m 2625 2526 d 2626 2503 d 2626 2456 d 2628 2433 d 2629 2409 d 2630 2386 d 2624 2363 d 2616 2340 d 2612 2316 d 2619 2293 d 2636 2270 d 2648 2247 d 2636 2223 d 2618 2200 d 2612 2177 d 2618 2153 d 2626 2130 d 2630 2107 d 2628 2084 d 2626 2060 d 2626 2037 d 2625 2014 d 2625 1921 d 2626 1897 d 2626 1874 d 2625 1851 d 2625 1758 d 2626 1735 d 2627 1711 d 2629 1688 d 2628 1665 d 2621 1641 d 2613 1618 d 2617 1595 d 2634 1572 d 2644 1548 d 2634 1525 d 2616 1502 d 2613 1479 d 2622 1455 d 2629 1432 d 2629 1409 d 2627 1385 d 2626 1362 d 2625 1339 d 2625 1269 d 2627 1246 d 2629 1223 d 2629 1199 d 2623 1176 d 2612 1153 d 2615 1129 d 2634 1106 d 2646 1083 d 2634 1060 d 2615 1036 d 2613 1013 d 2623 990 d 2629 967 d 2629 943 d 2627 920 d 2626 897 d 2625 873 d 2625 827 d 2626 804 d 2627 780 d 2629 757 d 2629 734 d 2622 711 d 2614 687 d 2617 664 d 2633 641 d 2643 617 d 2633 594 d 2617 571 d 2614 548 d 2622 524 d 2628 501 d 2629 478 d 2627 455 d 2626 431 d 2625 408 d 2625 385 d stroke 2655 2619 m 2655 2689 d stroke 2655 2619 m 2656 2596 d 2656 2503 d 2657 2479 d 2657 2456 d 2659 2433 d 2659 2386 d 2653 2363 d 2646 2340 d 2644 2316 d 2650 2293 d 2667 2270 d 2674 2247 d 2666 2223 d 2652 2200 d 2643 2177 d 2647 2153 d 2656 2130 d 2660 2107 d 2659 2084 d 2657 2060 d 2656 2037 d 2656 1991 d 2655 1967 d 2656 1944 d 2656 1851 d 2655 1828 d 2655 1804 d 2656 1781 d 2656 1735 d 2658 1711 d 2659 1688 d 2658 1665 d 2651 1641 d 2644 1618 d 2648 1595 d 2664 1572 d 2673 1548 d 2664 1525 d 2649 1502 d 2644 1479 d 2652 1455 d 2658 1432 d 2659 1409 d 2657 1385 d 2656 1362 d 2655 1339 d 2655 1292 d 2656 1269 d 2657 1246 d 2659 1223 d 2659 1199 d 2653 1176 d 2643 1153 d 2646 1129 d 2664 1106 d 2676 1083 d 2664 1060 d 2645 1036 d 2643 1013 d 2653 990 d 2660 967 d 2659 943 d 2657 920 d 2656 897 d 2655 873 d 2655 827 d 2656 804 d 2657 780 d 2659 757 d 2660 734 d 2653 711 d 2643 687 d 2645 664 d 2664 641 d 2677 617 d 2664 594 d 2645 571 d 2643 548 d 2653 524 d 2660 501 d 2659 478 d 2657 455 d 2656 431 d 2655 408 d 2656 385 d stroke 2686 2665 m 2686 2689 d stroke 2686 2665 m 2686 2549 d 2687 2526 d 2687 2503 d 2688 2479 d 2689 2456 d 2690 2433 d 2689 2409 d 2687 2386 d 2681 2363 d 2676 2340 d 2675 2316 d 2682 2293 d 2698 2270 d 2703 2247 d 2697 2223 d 2683 2200 d 2673 2177 d 2676 2153 d 2685 2130 d 2689 2107 d 2690 2084 d 2688 2060 d 2687 2037 d 2686 2014 d 2686 1758 d 2687 1735 d 2688 1711 d 2690 1688 d 2690 1665 d 2682 1641 d 2672 1618 d 2675 1595 d 2696 1572 d 2710 1548 d 2696 1525 d 2675 1502 d 2672 1479 d 2683 1455 d 2690 1432 d 2690 1409 d 2688 1385 d 2686 1362 d 2686 1269 d 2688 1246 d 2690 1223 d 2689 1199 d 2682 1176 d 2675 1153 d 2679 1129 d 2694 1106 d 2703 1083 d 2694 1060 d 2679 1036 d 2675 1013 d 2682 990 d 2689 967 d 2690 943 d 2688 920 d 2686 897 d 2686 804 d 2688 780 d 2690 757 d 2690 734 d 2683 711 d 2673 687 d 2676 664 d 2695 641 d 2707 617 d 2695 594 d 2675 571 d 2673 548 d 2684 524 d 2691 501 d 2690 478 d 2688 455 d 2686 431 d 2685 408 d 2686 385 d stroke 2717 2572 m 2717 2689 d stroke 2717 2572 m 2717 2526 d 2718 2503 d 2719 2479 d 2720 2456 d 2720 2433 d 2719 2409 d 2716 2386 d 2710 2363 d 2705 2340 d 2706 2316 d 2714 2293 d 2729 2270 d 2734 2247 d 2728 2223 d 2714 2200 d 2703 2177 d 2706 2153 d 2714 2130 d 2719 2107 d 2720 2084 d 2719 2060 d 2717 2037 d 2717 1991 d 2716 1967 d 2716 1921 d 2717 1897 d 2717 1851 d 2716 1828 d 2716 1781 d 2717 1758 d 2717 1735 d 2719 1711 d 2720 1688 d 2719 1665 d 2711 1641 d 2705 1618 d 2710 1595 d 2725 1572 d 2733 1548 d 2725 1525 d 2710 1502 d 2705 1479 d 2712 1455 d 2719 1432 d 2720 1409 d 2718 1385 d 2717 1362 d 2716 1339 d 2716 1292 d 2717 1269 d 2718 1246 d 2720 1223 d 2720 1199 d 2713 1176 d 2704 1153 d 2708 1129 d 2725 1106 d 2735 1083 d 2725 1060 d 2708 1036 d 2705 1013 d 2713 990 d 2720 967 d 2720 943 d 2718 920 d 2717 897 d 2716 873 d 2716 827 d 2717 804 d 2718 780 d 2720 757 d 2719 734 d 2713 711 d 2705 687 d 2709 664 d 2724 641 d 2734 617 d 2724 594 d 2708 571 d 2705 548 d 2713 524 d 2720 501 d 2720 478 d 2718 455 d 2716 431 d 2715 408 d 2717 385 d stroke 2747 2619 m 2747 2689 d stroke 2747 2619 m 2748 2596 d 2748 2526 d 2749 2503 d 2750 2479 d 2751 2456 d 2750 2433 d 2750 2409 d 2745 2386 d 2739 2363 d 2734 2340 d 2737 2316 d 2746 2293 d 2760 2270 d 2764 2247 d 2759 2223 d 2746 2200 d 2734 2177 d 2736 2153 d 2743 2130 d 2749 2107 d 2751 2084 d 2750 2060 d 2748 2037 d 2747 2014 d 2747 1758 d 2748 1735 d 2749 1711 d 2751 1688 d 2750 1665 d 2742 1641 d 2733 1618 d 2736 1595 d 2757 1572 d 2769 1548 d 2757 1525 d 2737 1502 d 2734 1479 d 2743 1455 d 2750 1432 d 2751 1409 d 2749 1385 d 2747 1362 d 2747 1269 d 2749 1246 d 2751 1223 d 2750 1199 d 2743 1176 d 2734 1153 d 2737 1129 d 2756 1106 d 2768 1083 d 2756 1060 d 2736 1036 d 2733 1013 d 2744 990 d 2751 967 d 2751 943 d 2748 920 d 2747 897 d 2747 873 d 2746 850 d 2747 827 d 2747 804 d 2749 780 d 2751 757 d 2750 734 d 2743 711 d 2736 687 d 2739 664 d 2755 641 d 2764 617 d 2755 594 d 2739 571 d 2736 548 d 2743 524 d 2750 501 d 2751 478 d 2749 455 d 2746 431 d 2746 408 d 2747 385 d stroke 2778 2642 m 2778 2689 d stroke 2778 2642 m 2778 2596 d 2779 2572 d 2779 2526 d 2780 2503 d 2781 2479 d 2781 2433 d 2778 2409 d 2774 2386 d 2769 2363 d 2764 2340 d 2768 2316 d 2777 2293 d 2791 2270 d 2795 2247 d 2790 2223 d 2777 2200 d 2765 2177 d 2766 2153 d 2772 2130 d 2779 2107 d 2782 2084 d 2780 2060 d 2779 2037 d 2778 2014 d 2778 1991 d 2777 1967 d 2777 1781 d 2778 1758 d 2778 1735 d 2780 1711 d 2781 1688 d 2779 1665 d 2771 1641 d 2765 1618 d 2771 1595 d 2786 1572 d 2794 1548 d 2786 1525 d 2771 1502 d 2765 1479 d 2772 1455 d 2780 1432 d 2781 1409 d 2779 1385 d 2778 1362 d 2777 1339 d 2777 1292 d 2778 1269 d 2779 1246 d 2781 1223 d 2780 1199 d 2773 1176 d 2766 1153 d 2770 1129 d 2785 1106 d 2794 1083 d 2785 1060 d 2770 1036 d 2766 1013 d 2773 990 d 2780 967 d 2781 943 d 2779 920 d 2778 897 d 2777 873 d 2777 827 d 2778 804 d 2779 780 d 2781 757 d 2782 734 d 2775 711 d 2763 687 d 2765 664 d 2787 641 d 2800 617 d 2786 594 d 2766 571 d 2764 548 d 2775 524 d 2782 501 d 2782 478 d 2779 455 d 2776 431 d 2777 408 d 2778 385 d stroke 2809 2619 m 2809 2689 d stroke 2809 2619 m 2809 2572 d 2810 2549 d 2810 2526 d 2811 2503 d 2812 2479 d 2812 2456 d 2811 2433 d 2807 2409 d 2803 2386 d 2797 2363 d 2795 2340 d 2798 2316 d 2809 2293 d 2821 2270 d 2828 2247 d 2821 2223 d 2809 2200 d 2795 2177 d 2795 2153 d 2801 2130 d 2808 2107 d 2812 2084 d 2811 2060 d 2810 2037 d 2809 2014 d 2808 1991 d 2808 1851 d 2807 1828 d 2808 1804 d 2808 1758 d 2809 1735 d 2810 1711 d 2812 1688 d 2810 1665 d 2802 1641 d 2794 1618 d 2799 1595 d 2818 1572 d 2831 1548 d 2818 1525 d 2798 1502 d 2794 1479 d 2803 1455 d 2810 1432 d 2812 1409 d 2810 1385 d 2808 1362 d 2808 1339 d 2807 1316 d 2808 1292 d 2808 1269 d 2809 1246 d 2812 1223 d 2811 1199 d 2804 1176 d 2794 1153 d 2796 1129 d 2817 1106 d 2830 1083 d 2817 1060 d 2798 1036 d 2795 1013 d 2804 990 d 2811 967 d 2812 943 d 2809 920 d 2808 897 d 2808 873 d 2807 850 d 2807 827 d 2808 804 d 2809 780 d 2811 757 d 2811 734 d 2804 711 d 2796 687 d 2800 664 d 2816 641 d 2826 617 d 2816 594 d 2799 571 d 2796 548 d 2805 524 d 2812 501 d 2812 478 d 2809 455 d 2806 431 d 2808 408 d 2808 385 d stroke 2839 2642 m 2839 2689 d stroke 2839 2642 m 2840 2619 d 2840 2572 d 2841 2549 d 2842 2526 d 2842 2503 d 2843 2479 d 2843 2456 d 2840 2433 d 2837 2409 d 2831 2386 d 2824 2363 d 2825 2340 d 2828 2316 d 2841 2293 d 2852 2270 d 2862 2247 d 2852 2223 d 2840 2200 d 2825 2177 d 2824 2153 d 2830 2130 d 2838 2107 d 2843 2084 d 2842 2060 d 2840 2037 d 2839 2014 d 2839 1991 d 2838 1967 d 2838 1781 d 2839 1758 d 2840 1735 d 2841 1711 d 2842 1688 d 2840 1665 d 2832 1641 d 2825 1618 d 2831 1595 d 2847 1572 d 2856 1548 d 2847 1525 d 2832 1502 d 2826 1479 d 2832 1455 d 2840 1432 d 2842 1409 d 2840 1385 d 2839 1362 d 2838 1339 d 2838 1292 d 2839 1269 d 2840 1246 d 2842 1223 d 2840 1199 d 2833 1176 d 2827 1153 d 2831 1129 d 2846 1106 d 2855 1083 d 2846 1060 d 2831 1036 d 2826 1013 d 2834 990 d 2841 967 d 2842 943 d 2840 920 d 2839 897 d 2838 873 d 2838 804 d 2840 780 d 2842 757 d 2841 734 d 2834 711 d 2826 687 d 2830 664 d 2846 641 d 2855 617 d 2846 594 d 2831 571 d 2827 548 d 2835 524 d 2842 501 d 2842 478 d 2839 455 d 2837 431 d 2838 408 d 2838 385 d stroke 2871 2619 m 2871 2689 d stroke 2871 2619 m 2871 2596 d 2872 2572 d 2872 2526 d 2873 2503 d 2873 2479 d 2871 2456 d 2869 2433 d 2864 2409 d 2859 2386 d 2856 2363 d 2855 2340 d 2862 2316 d 2873 2293 d 2883 2270 d 2888 2247 d 2882 2223 d 2870 2200 d 2859 2177 d 2855 2153 d 2860 2130 d 2867 2107 d 2872 2084 d 2872 2060 d 2871 2037 d 2870 2014 d 2869 1991 d 2869 1944 d 2868 1921 d 2868 1828 d 2869 1804 d 2869 1758 d 2870 1735 d 2872 1711 d 2873 1688 d 2870 1665 d 2861 1641 d 2856 1618 d 2863 1595 d 2878 1572 d 2886 1548 d 2878 1525 d 2862 1502 d 2855 1479 d 2863 1455 d 2870 1432 d 2872 1409 d 2871 1385 d 2869 1362 d 2869 1339 d 2868 1316 d 2869 1292 d 2869 1269 d 2870 1246 d 2872 1223 d 2872 1199 d 2864 1176 d 2855 1153 d 2858 1129 d 2878 1106 d 2890 1083 d 2878 1060 d 2860 1036 d 2856 1013 d 2864 990 d 2871 967 d 2873 943 d 2871 920 d 2869 897 d 2868 873 d 2868 827 d 2869 804 d 2870 780 d 2872 757 d 2872 734 d 2865 711 d 2855 687 d 2858 664 d 2878 641 d 2891 617 d 2878 594 d 2857 571 d 2855 548 d 2866 524 d 2874 501 d 2873 478 d 2868 455 d 2868 431 d 2869 408 d 2869 385 d stroke 2902 2619 m 2902 2689 d stroke 2902 2619 m 2902 2572 d 2903 2549 d 2903 2503 d 2901 2479 d 2900 2456 d 2897 2433 d 2893 2409 d 2889 2386 d 2887 2363 d 2888 2340 d 2895 2316 d 2903 2293 d 2914 2270 d 2916 2247 d 2914 2223 d 2902 2200 d 2892 2177 d 2885 2153 d 2890 2130 d 2896 2107 d 2901 2084 d 2903 2060 d 2902 2037 d 2901 2014 d 2900 1991 d 2899 1967 d 2899 1897 d 2898 1874 d 2898 1851 d 2899 1828 d 2899 1781 d 2900 1758 d 2900 1735 d 2902 1711 d 2904 1688 d 2900 1665 d 2891 1641 d 2885 1618 d 2891 1595 d 2910 1572 d 2923 1548 d 2910 1525 d 2891 1502 d 2885 1479 d 2892 1455 d 2901 1432 d 2903 1409 d 2901 1385 d 2900 1362 d 2899 1339 d 2899 1269 d 2901 1246 d 2903 1223 d 2901 1199 d 2894 1176 d 2887 1153 d 2893 1129 d 2908 1106 d 2916 1083 d 2908 1060 d 2892 1036 d 2887 1013 d 2894 990 d 2902 967 d 2903 943 d 2901 920 d 2899 897 d 2899 804 d 2901 780 d 2903 757 d 2902 734 d 2895 711 d 2888 687 d 2892 664 d 2907 641 d 2915 617 d 2907 594 d 2892 571 d 2888 548 d 2896 524 d 2903 501 d 2902 478 d 2898 455 d 2899 431 d 2899 385 d stroke 2933 2619 m 2933 2689 d stroke 2933 2619 m 2933 2526 d 2932 2503 d 2932 2479 d 2929 2456 d 2926 2433 d 2922 2409 d 2919 2386 d 2916 2363 d 2920 2340 d 2924 2316 d 2935 2293 d 2944 2270 d 2947 2247 d 2944 2223 d 2933 2200 d 2924 2177 d 2916 2153 d 2919 2130 d 2925 2107 d 2931 2084 d 2933 2060 d 2933 2037 d 2932 2014 d 2930 1991 d 2930 1944 d 2929 1921 d 2929 1804 d 2930 1781 d 2930 1758 d 2931 1735 d 2933 1711 d 2933 1688 d 2929 1665 d 2922 1641 d 2916 1618 d 2922 1595 d 2940 1572 d 2948 1548 d 2939 1525 d 2924 1502 d 2917 1479 d 2922 1455 d 2930 1432 d 2934 1409 d 2932 1385 d 2930 1362 d 2929 1339 d 2929 1292 d 2930 1269 d 2931 1246 d 2933 1223 d 2932 1199 d 2925 1176 d 2916 1153 d 2919 1129 d 2940 1106 d 2952 1083 d 2939 1060 d 2920 1036 d 2916 1013 d 2925 990 d 2932 967 d 2933 943 d 2931 920 d 2930 897 d 2929 873 d 2929 827 d 2930 804 d 2931 780 d 2933 757 d 2933 734 d 2926 711 d 2915 687 d 2919 664 d 2938 641 d 2950 617 d 2938 594 d 2920 571 d 2918 548 d 2927 524 d 2933 501 d 2932 478 d 2930 455 d 2930 385 d stroke 2964 2572 m 2964 2689 d stroke 2964 2572 m 2964 2526 d 2963 2503 d 2961 2479 d 2959 2456 d 2955 2433 d 2951 2409 d 2946 2386 d 2947 2363 d 2948 2340 d 2956 2316 d 2967 2293 d 2975 2270 d 2983 2247 d 2975 2223 d 2966 2200 d 2953 2177 d 2947 2153 d 2946 2130 d 2954 2107 d 2960 2084 d 2965 2060 d 2964 2037 d 2962 2014 d 2961 1991 d 2960 1967 d 2960 1921 d 2959 1897 d 2959 1828 d 2960 1804 d 2960 1781 d 2961 1758 d 2962 1735 d 2963 1711 d 2963 1688 d 2959 1665 d 2952 1641 d 2947 1618 d 2955 1595 d 2970 1572 d 2977 1548 d 2970 1525 d 2955 1502 d 2947 1479 d 2952 1455 d 2961 1432 d 2963 1409 d 2962 1385 d 2961 1362 d 2960 1339 d 2960 1269 d 2962 1246 d 2964 1223 d 2962 1199 d 2954 1176 d 2948 1153 d 2954 1129 d 2969 1106 d 2977 1083 d 2969 1060 d 2954 1036 d 2948 1013 d 2954 990 d 2962 967 d 2964 943 d 2962 920 d 2960 897 d 2960 804 d 2962 780 d 2964 757 d 2962 734 d 2955 711 d 2948 687 d 2953 664 d 2968 641 d 2977 617 d 2968 594 d 2953 571 d 2949 548 d 2957 524 d 2963 501 d 2962 478 d 2960 455 d 2960 385 d stroke 2994 2642 m 2994 2689 d stroke 2994 2642 m 2995 2619 d 2995 2596 d 2994 2572 d 2994 2549 d 2993 2526 d 2991 2503 d 2990 2479 d 2987 2456 d 2983 2433 d 2979 2409 d 2978 2386 d 2977 2363 d 2981 2340 d 2989 2316 d 2997 2293 d 3006 2270 d 3009 2247 d 3005 2223 d 2996 2200 d 2984 2177 d 2979 2153 d 2978 2130 d 2984 2107 d 2989 2084 d 2994 2060 d 2994 2037 d 2993 2014 d 2992 1991 d 2991 1967 d 2991 1944 d 2990 1921 d 2990 1897 d 2989 1874 d 2990 1851 d 2990 1804 d 2991 1781 d 2991 1758 d 2992 1735 d 2994 1711 d 2994 1688 d 2990 1665 d 2981 1641 d 2978 1618 d 2986 1595 d 3000 1572 d 3008 1548 d 3001 1525 d 2984 1502 d 2977 1479 d 2983 1455 d 2990 1432 d 2994 1409 d 2993 1385 d 2991 1362 d 2990 1339 d 2990 1292 d 2991 1269 d 2993 1246 d 2994 1223 d 2992 1199 d 2984 1176 d 2977 1153 d 2983 1129 d 3000 1106 d 3011 1083 d 3000 1060 d 2981 1036 d 2977 1013 d 2985 990 d 2993 967 d 2994 943 d 2992 920 d 2991 897 d 2990 873 d 2990 827 d 2991 804 d 2992 780 d 2994 757 d 2994 734 d 2986 711 d 2977 687 d 2981 664 d 2999 641 d 3009 617 d 2999 594 d 2983 571 d 2979 548 d 2987 524 d 2994 501 d 2993 478 d 2990 455 d 2990 385 d stroke 3024 2619 m 3024 2689 d stroke 3024 2619 m 3024 2572 d 3023 2549 d 3023 2526 d 3021 2503 d 3018 2479 d 3015 2456 d 3013 2433 d 3011 2409 d 3008 2386 d 3009 2363 d 3014 2340 d 3019 2316 d 3028 2293 d 3036 2270 d 3038 2247 d 3037 2223 d 3027 2200 d 3017 2177 d 3010 2153 d 3009 2130 d 3012 2107 d 3018 2084 d 3023 2060 d 3025 2037 d 3024 2014 d 3023 1991 d 3022 1967 d 3021 1944 d 3021 1921 d 3020 1897 d 3020 1828 d 3021 1804 d 3021 1781 d 3022 1758 d 3023 1735 d 3025 1711 d 3025 1688 d 3020 1665 d 3011 1641 d 3008 1618 d 3016 1595 d 3032 1572 d 3042 1548 d 3032 1525 d 3014 1502 d 3008 1479 d 3013 1455 d 3020 1432 d 3025 1409 d 3024 1385 d 3022 1362 d 3021 1339 d 3021 1269 d 3023 1246 d 3024 1223 d 3022 1199 d 3015 1176 d 3007 1153 d 3013 1129 d 3030 1106 d 3039 1083 d 3030 1060 d 3014 1036 d 3009 1013 d 3014 990 d 3022 967 d 3025 943 d 3023 920 d 3021 897 d 3021 873 d 3020 850 d 3020 827 d 3021 804 d 3023 780 d 3025 757 d 3023 734 d 3016 711 d 3009 687 d 3014 664 d 3029 641 d 3037 617 d 3028 594 d 3013 571 d 3009 548 d 3018 524 d 3028 501 d 3021 478 d 3021 385 d stroke 3055 2596 m 3055 2689 d stroke 3055 2596 m 3054 2572 d 3053 2549 d 3052 2526 d 3050 2503 d 3048 2479 d 3045 2456 d 3042 2433 d 3038 2409 d 3038 2386 d 3039 2363 d 3041 2340 d 3051 2316 d 3061 2293 d 3067 2270 d 3073 2247 d 3067 2223 d 3059 2200 d 3048 2177 d 3038 2153 d 3038 2130 d 3041 2107 d 3048 2084 d 3053 2060 d 3056 2037 d 3055 2014 d 3053 1991 d 3052 1967 d 3052 1944 d 3051 1921 d 3051 1897 d 3050 1874 d 3050 1851 d 3051 1828 d 3051 1804 d 3052 1781 d 3052 1758 d 3054 1735 d 3055 1711 d 3055 1688 d 3050 1665 d 3041 1641 d 3038 1618 d 3046 1595 d 3063 1572 d 3075 1548 d 3063 1525 d 3046 1502 d 3038 1479 d 3042 1455 d 3051 1432 d 3056 1409 d 3054 1385 d 3052 1362 d 3051 1339 d 3051 1292 d 3052 1269 d 3053 1246 d 3055 1223 d 3052 1199 d 3044 1176 d 3039 1153 d 3046 1129 d 3060 1106 d 3068 1083 d 3060 1060 d 3045 1036 d 3038 1013 d 3045 990 d 3053 967 d 3055 943 d 3053 920 d 3052 897 d 3051 873 d 3051 804 d 3053 780 d 3055 757 d 3054 734 d 3047 711 d 3038 687 d 3041 664 d 3060 641 d 3070 617 d 3058 594 d 3041 571 d 3040 548 d 3053 524 d 3055 501 d 3051 478 d 3051 385 d stroke 3084 2642 m 3084 2689 d stroke 3084 2642 m 3084 2619 d 3083 2596 d 3083 2572 d 3082 2549 d 3081 2526 d 3079 2503 d 3076 2479 d 3073 2456 d 3071 2433 d 3070 2409 d 3069 2386 d 3070 2363 d 3076 2340 d 3083 2316 d 3090 2293 d 3098 2270 d 3100 2247 d 3096 2223 d 3089 2200 d 3078 2177 d 3072 2153 d 3068 2130 d 3072 2107 d 3077 2084 d 3082 2060 d 3085 2037 d 3086 2014 d 3084 1991 d 3083 1967 d 3082 1944 d 3082 1921 d 3081 1897 d 3081 1804 d 3082 1781 d 3083 1758 d 3084 1735 d 3085 1711 d 3085 1688 d 3079 1665 d 3071 1641 d 3069 1618 d 3076 1595 d 3093 1572 d 3102 1548 d 3093 1525 d 3078 1502 d 3069 1479 d 3071 1455 d 3081 1432 d 3085 1409 d 3085 1385 d 3083 1362 d 3082 1339 d 3082 1269 d 3084 1246 d 3086 1223 d 3082 1199 d 3074 1176 d 3069 1153 d 3075 1129 d 3092 1106 d 3103 1083 d 3092 1060 d 3073 1036 d 3068 1013 d 3075 990 d 3083 967 d 3085 943 d 3084 920 d 3082 897 d 3081 873 d 3081 827 d 3082 804 d 3084 780 d 3086 757 d 3084 734 d 3077 711 d 3071 687 d 3076 664 d 3089 641 d 3095 617 d 3086 594 d 3073 571 d 3075 548 d 3087 524 d 3082 501 d 3082 385 d stroke 3115 2642 m 3115 2689 d stroke 3115 2642 m 3114 2619 d 3113 2596 d 3112 2572 d 3111 2549 d 3109 2526 d 3108 2503 d 3106 2479 d 3104 2456 d 3101 2433 d 3099 2409 d 3100 2386 d 3103 2363 d 3106 2340 d 3113 2316 d 3121 2293 d 3127 2270 d 3129 2247 d 3129 2223 d 3120 2200 d 3111 2177 d 3103 2153 d 3099 2130 d 3101 2107 d 3106 2084 d 3112 2060 d 3115 2037 d 3116 2014 d 3115 1991 d 3114 1967 d 3113 1944 d 3112 1921 d 3112 1897 d 3111 1874 d 3111 1828 d 3112 1804 d 3112 1781 d 3113 1758 d 3115 1735 d 3116 1711 d 3115 1688 d 3109 1665 d 3102 1641 d 3100 1618 d 3107 1595 d 3124 1572 d 3131 1548 d 3123 1525 d 3109 1502 d 3099 1479 d 3101 1455 d 3110 1432 d 3115 1409 d 3115 1385 d 3114 1362 d 3113 1339 d 3112 1316 d 3112 1292 d 3113 1269 d 3115 1246 d 3115 1223 d 3112 1199 d 3105 1176 d 3099 1153 d 3104 1129 d 3122 1106 d 3131 1083 d 3122 1060 d 3106 1036 d 3099 1013 d 3105 990 d 3113 967 d 3116 943 d 3115 920 d 3112 897 d 3112 804 d 3114 780 d 3116 757 d 3115 734 d 3108 711 d 3100 687 d 3103 664 d 3120 641 d 3128 617 d 3115 594 d 3104 571 d 3111 548 d 3113 524 d 3112 501 d 3112 385 d stroke 3144 2665 m 3144 2689 d stroke 3144 2665 m 3144 2642 d 3143 2619 d 3143 2596 d 3142 2572 d 3141 2549 d 3139 2526 d 3137 2503 d 3134 2479 d 3131 2456 d 3129 2433 d 3129 2386 d 3130 2363 d 3137 2340 d 3146 2316 d 3153 2293 d 3160 2270 d 3165 2247 d 3159 2223 d 3152 2200 d 3142 2177 d 3130 2153 d 3129 2130 d 3129 2107 d 3136 2084 d 3142 2060 d 3146 2037 d 3147 2014 d 3146 1991 d 3144 1967 d 3143 1944 d 3143 1921 d 3142 1897 d 3142 1804 d 3143 1781 d 3144 1758 d 3145 1735 d 3146 1711 d 3145 1688 d 3139 1665 d 3132 1641 d 3131 1618 d 3138 1595 d 3154 1572 d 3160 1548 d 3154 1525 d 3140 1502 d 3129 1479 d 3132 1455 d 3140 1432 d 3145 1409 d 3146 1385 d 3144 1362 d 3143 1339 d 3143 1292 d 3144 1269 d 3145 1246 d 3145 1223 d 3142 1199 d 3135 1176 d 3129 1153 d 3137 1129 d 3152 1106 d 3159 1083 d 3152 1060 d 3137 1036 d 3130 1013 d 3135 990 d 3144 967 d 3146 943 d 3145 920 d 3143 897 d 3142 873 d 3142 827 d 3143 804 d 3145 780 d 3147 757 d 3146 734 d 3138 711 d 3131 687 d 3136 664 d 3148 641 d 3153 617 d 3146 594 d 3139 571 d 3140 548 d 3143 524 d 3143 385 d stroke 3173 2665 m 3173 2689 d stroke 3173 2665 m 3173 2642 d 3172 2619 d 3171 2596 d 3170 2572 d 3169 2549 d 3167 2526 d 3165 2503 d 3164 2479 d 3163 2456 d 3161 2433 d 3160 2409 d 3161 2386 d 3166 2363 d 3170 2340 d 3176 2316 d 3183 2293 d 3190 2270 d 3190 2247 d 3189 2223 d 3182 2200 d 3173 2177 d 3166 2153 d 3161 2130 d 3162 2107 d 3165 2084 d 3170 2060 d 3175 2037 d 3176 2014 d 3176 1991 d 3175 1967 d 3174 1944 d 3173 1921 d 3173 1897 d 3172 1874 d 3172 1828 d 3173 1804 d 3173 1781 d 3174 1758 d 3176 1735 d 3176 1711 d 3175 1688 d 3168 1665 d 3162 1641 d 3162 1618 d 3169 1595 d 3185 1572 d 3190 1548 d 3184 1525 d 3171 1502 d 3160 1479 d 3162 1455 d 3170 1432 d 3175 1409 d 3176 1385 d 3175 1362 d 3174 1339 d 3173 1316 d 3173 1292 d 3174 1269 d 3176 1246 d 3176 1223 d 3173 1199 d 3164 1176 d 3160 1153 d 3168 1129 d 3183 1106 d 3191 1083 d 3183 1060 d 3166 1036 d 3160 1013 d 3166 990 d 3173 967 d 3176 943 d 3175 920 d 3174 897 d 3173 873 d 3173 804 d 3175 780 d 3177 757 d 3175 734 d 3167 711 d 3161 687 d 3167 664 d 3181 641 d 3186 617 d 3174 594 d 3165 571 d 3173 548 d 3173 385 d stroke 3202 2642 m 3202 2689 d stroke 3202 2642 m 3202 2619 d 3201 2596 d 3200 2572 d 3199 2549 d 3197 2526 d 3195 2503 d 3193 2479 d 3191 2456 d 3190 2433 d 3191 2409 d 3192 2386 d 3193 2363 d 3200 2340 d 3207 2316 d 3215 2293 d 3219 2270 d 3224 2247 d 3221 2223 d 3213 2200 d 3205 2177 d 3196 2153 d 3190 2130 d 3191 2107 d 3194 2084 d 3200 2060 d 3204 2037 d 3208 2014 d 3207 1991 d 3206 1967 d 3205 1944 d 3204 1921 d 3203 1897 d 3203 1804 d 3204 1781 d 3205 1758 d 3207 1735 d 3207 1711 d 3205 1688 d 3198 1665 d 3192 1641 d 3193 1618 d 3200 1595 d 3215 1572 d 3221 1548 d 3215 1525 d 3202 1502 d 3190 1479 d 3193 1455 d 3199 1432 d 3205 1409 d 3207 1385 d 3205 1362 d 3204 1339 d 3204 1292 d 3205 1269 d 3206 1246 d 3207 1223 d 3203 1199 d 3194 1176 d 3190 1153 d 3197 1129 d 3214 1106 d 3225 1083 d 3214 1060 d 3196 1036 d 3190 1013 d 3195 990 d 3204 967 d 3207 943 d 3206 920 d 3204 897 d 3203 873 d 3203 827 d 3204 804 d 3206 780 d 3207 757 d 3204 734 d 3196 711 d 3193 687 d 3203 664 d 3215 641 d 3210 617 d 3199 594 d 3201 571 d 3203 548 d 3203 385 d stroke 3232 2665 m 3232 2689 d stroke 3232 2665 m 3231 2642 d 3231 2619 d 3230 2596 d 3228 2572 d 3227 2549 d 3225 2526 d 3223 2503 d 3222 2479 d 3222 2456 d 3221 2433 d 3221 2409 d 3223 2386 d 3228 2363 d 3233 2340 d 3239 2316 d 3245 2293 d 3251 2270 d 3252 2247 d 3249 2223 d 3244 2200 d 3235 2177 d 3226 2153 d 3223 2130 d 3220 2107 d 3225 2084 d 3229 2060 d 3234 2037 d 3237 2014 d 3237 1967 d 3235 1944 d 3234 1921 d 3234 1874 d 3233 1851 d 3234 1828 d 3234 1781 d 3236 1758 d 3237 1735 d 3237 1711 d 3234 1688 d 3228 1665 d 3222 1641 d 3223 1618 d 3231 1595 d 3246 1572 d 3251 1548 d 3245 1525 d 3232 1502 d 3221 1479 d 3223 1455 d 3229 1432 d 3235 1409 d 3237 1385 d 3236 1362 d 3235 1339 d 3234 1316 d 3235 1292 d 3235 1269 d 3237 1246 d 3237 1223 d 3233 1199 d 3225 1176 d 3221 1153 d 3227 1129 d 3245 1106 d 3255 1083 d 3244 1060 d 3228 1036 d 3221 1013 d 3225 990 d 3234 967 d 3238 943 d 3237 920 d 3235 897 d 3234 873 d 3234 804 d 3235 780 d 3235 757 d 3231 734 d 3227 711 d 3231 687 d 3239 664 d 3240 641 d 3234 617 d 3231 594 d 3234 571 d 3234 385 d stroke 3261 2665 m 3261 2689 d stroke 3261 2665 m 3260 2642 d 3260 2619 d 3259 2596 d 3258 2572 d 3257 2549 d 3256 2526 d 3255 2503 d 3253 2479 d 3251 2456 d 3251 2433 d 3253 2409 d 3255 2386 d 3257 2363 d 3263 2340 d 3269 2316 d 3276 2293 d 3280 2270 d 3282 2247 d 3282 2223 d 3275 2200 d 3267 2177 d 3260 2153 d 3252 2130 d 3252 2107 d 3253 2084 d 3258 2060 d 3264 2037 d 3266 2014 d 3268 1991 d 3267 1967 d 3266 1944 d 3265 1921 d 3264 1897 d 3264 1804 d 3265 1781 d 3266 1758 d 3268 1735 d 3267 1711 d 3264 1688 d 3258 1665 d 3252 1641 d 3254 1618 d 3262 1595 d 3277 1572 d 3282 1548 d 3276 1525 d 3263 1502 d 3251 1479 d 3253 1455 d 3259 1432 d 3265 1409 d 3268 1385 d 3267 1362 d 3266 1339 d 3265 1316 d 3265 1292 d 3266 1269 d 3267 1246 d 3267 1223 d 3262 1199 d 3256 1176 d 3252 1153 d 3258 1129 d 3275 1106 d 3282 1083 d 3274 1060 d 3260 1036 d 3251 1013 d 3255 990 d 3264 967 d 3268 943 d 3267 920 d 3266 897 d 3265 873 d 3264 850 d 3264 804 d 3265 780 d 3264 757 d 3262 734 d 3262 711 d 3265 687 d 3267 664 d 3265 641 d 3263 617 d 3264 594 d 3264 385 d stroke 3290 2665 m 3290 2689 d stroke 3290 2665 m 3290 2642 d 3289 2619 d 3288 2596 d 3287 2572 d 3285 2549 d 3284 2526 d 3282 2503 d 3282 2456 d 3281 2433 d 3281 2409 d 3284 2386 d 3289 2363 d 3295 2340 d 3301 2316 d 3307 2293 d 3313 2270 d 3315 2247 d 3311 2223 d 3306 2200 d 3298 2177 d 3288 2153 d 3283 2130 d 3281 2107 d 3283 2084 d 3289 2060 d 3293 2037 d 3297 2014 d 3298 1991 d 3298 1967 d 3297 1944 d 3295 1921 d 3295 1781 d 3297 1758 d 3298 1735 d 3298 1711 d 3294 1688 d 3288 1665 d 3282 1641 d 3284 1618 d 3293 1595 d 3308 1572 d 3313 1548 d 3307 1525 d 3294 1502 d 3281 1479 d 3283 1455 d 3289 1432 d 3295 1409 d 3298 1385 d 3297 1362 d 3296 1339 d 3296 1269 d 3298 1246 d 3297 1223 d 3292 1199 d 3285 1176 d 3281 1153 d 3290 1129 d 3305 1106 d 3311 1083 d 3305 1060 d 3291 1036 d 3281 1013 d 3285 990 d 3294 967 d 3298 943 d 3298 920 d 3296 897 d 3295 873 d 3295 850 d 3294 827 d 3294 734 d 3295 711 d 3295 664 d 3294 641 d 3295 617 d 3295 385 d stroke 3319 2665 m 3319 2689 d stroke 3319 2665 m 3319 2642 d 3318 2619 d 3318 2596 d 3317 2572 d 3316 2549 d 3315 2526 d 3314 2503 d 3313 2479 d 3312 2456 d 3313 2433 d 3315 2409 d 3317 2386 d 3320 2363 d 3325 2340 d 3331 2316 d 3338 2293 d 3341 2270 d 3342 2247 d 3343 2223 d 3336 2200 d 3329 2177 d 3322 2153 d 3316 2130 d 3312 2107 d 3314 2084 d 3317 2060 d 3322 2037 d 3326 2014 d 3328 1991 d 3328 1967 d 3327 1944 d 3326 1921 d 3325 1897 d 3325 1804 d 3326 1781 d 3327 1758 d 3328 1735 d 3328 1711 d 3324 1688 d 3318 1665 d 3311 1641 d 3314 1618 d 3324 1595 d 3338 1572 d 3345 1548 d 3337 1525 d 3325 1502 d 3312 1479 d 3313 1455 d 3319 1432 d 3325 1409 d 3329 1385 d 3328 1362 d 3327 1339 d 3326 1316 d 3326 1292 d 3327 1269 d 3328 1246 d 3327 1223 d 3322 1199 d 3315 1176 d 3311 1153 d 3322 1129 d 3335 1106 d 3342 1083 d 3336 1060 d 3320 1036 d 3312 1013 d 3316 990 d 3323 967 d 3328 943 d 3328 920 d 3327 897 d 3326 873 d 3325 850 d 3325 385 d stroke 3348 2665 m 3348 2689 d stroke 3348 2665 m 3348 2642 d 3347 2619 d 3346 2596 d 3345 2572 d 3344 2549 d 3342 2526 d 3342 2409 d 3345 2386 d 3351 2363 d 3357 2340 d 3364 2316 d 3369 2293 d 3374 2270 d 3379 2247 d 3373 2223 d 3368 2200 d 3361 2177 d 3351 2153 d 3343 2130 d 3342 2107 d 3341 2084 d 3347 2060 d 3353 2037 d 3356 2014 d 3360 1991 d 3359 1967 d 3358 1944 d 3357 1921 d 3356 1897 d 3356 1804 d 3357 1781 d 3358 1758 d 3359 1735 d 3358 1711 d 3354 1688 d 3347 1665 d 3342 1641 d 3344 1618 d 3355 1595 d 3368 1572 d 3377 1548 d 3368 1525 d 3355 1502 d 3342 1479 d 3342 1455 d 3348 1432 d 3355 1409 d 3359 1385 d 3359 1362 d 3357 1339 d 3357 1292 d 3358 1269 d 3359 1246 d 3357 1223 d 3352 1199 d 3345 1176 d 3342 1153 d 3353 1129 d 3366 1106 d 3373 1083 d 3367 1060 d 3350 1036 d 3343 1013 d 3347 990 d 3354 967 d 3358 943 d 3359 920 d 3357 897 d 3356 873 d 3356 850 d 3355 827 d 3355 711 d 3356 687 d 3355 664 d 3355 385 d stroke 3378 2665 m 3378 2689 d stroke 3378 2665 m 3377 2642 d 3377 2596 d 3376 2572 d 3376 2549 d 3375 2526 d 3374 2503 d 3373 2479 d 3372 2456 d 3374 2433 d 3377 2409 d 3380 2386 d 3383 2363 d 3388 2340 d 3393 2316 d 3399 2293 d 3403 2270 d 3402 2247 d 3402 2223 d 3398 2200 d 3391 2177 d 3383 2153 d 3378 2130 d 3373 2107 d 3374 2084 d 3377 2060 d 3381 2037 d 3385 2014 d 3388 1991 d 3389 1967 d 3389 1944 d 3388 1921 d 3387 1897 d 3386 1874 d 3386 1828 d 3387 1804 d 3387 1781 d 3389 1758 d 3390 1735 d 3388 1711 d 3384 1688 d 3377 1665 d 3372 1641 d 3373 1618 d 3386 1595 d 3400 1572 d 3410 1548 d 3399 1525 d 3386 1502 d 3373 1479 d 3371 1455 d 3379 1432 d 3386 1409 d 3390 1385 d 3389 1362 d 3388 1339 d 3387 1316 d 3387 1292 d 3388 1269 d 3389 1246 d 3388 1223 d 3383 1199 d 3374 1176 d 3373 1153 d 3383 1129 d 3397 1106 d 3405 1083 d 3398 1060 d 3381 1036 d 3374 1013 d 3376 990 d 3384 967 d 3389 943 d 3389 920 d 3388 897 d 3387 873 d 3386 850 d 3386 827 d 3385 804 d 3385 757 d 3386 734 d 3386 385 d stroke 3407 2665 m 3407 2689 d stroke 3407 2665 m 3407 2642 d 3406 2619 d 3405 2596 d 3404 2572 d 3403 2549 d 3402 2526 d 3402 2503 d 3403 2479 d 3403 2433 d 3404 2409 d 3408 2386 d 3413 2363 d 3419 2340 d 3426 2316 d 3430 2293 d 3434 2270 d 3439 2247 d 3435 2223 d 3429 2200 d 3423 2177 d 3414 2153 d 3406 2130 d 3403 2107 d 3403 2084 d 3405 2060 d 3411 2037 d 3415 2014 d 3418 1991 d 3420 1967 d 3419 1944 d 3419 1921 d 3418 1897 d 3417 1874 d 3417 1804 d 3418 1781 d 3419 1758 d 3420 1735 d 3418 1711 d 3413 1688 d 3406 1665 d 3403 1641 d 3405 1618 d 3418 1595 d 3430 1572 d 3437 1548 d 3429 1525 d 3416 1502 d 3405 1479 d 3402 1455 d 3409 1432 d 3415 1409 d 3420 1385 d 3420 1362 d 3419 1339 d 3418 1316 d 3418 1292 d 3419 1269 d 3420 1246 d 3418 1223 d 3413 1199 d 3404 1176 d 3403 1153 d 3413 1129 d 3428 1106 d 3437 1083 d 3428 1060 d 3411 1036 d 3404 1013 d 3406 990 d 3414 967 d 3420 943 d 3420 920 d 3418 897 d 3417 873 d 3416 850 d 3416 385 d stroke 3437 2665 m 3437 2689 d stroke 3437 2665 m 3437 2619 d 3436 2596 d 3436 2572 d 3435 2549 d 3435 2526 d 3434 2503 d 3433 2479 d 3434 2456 d 3436 2433 d 3439 2409 d 3442 2386 d 3445 2363 d 3450 2340 d 3455 2316 d 3460 2293 d 3464 2270 d 3463 2247 d 3463 2223 d 3460 2200 d 3452 2177 d 3445 2153 d 3440 2130 d 3436 2107 d 3434 2084 d 3437 2060 d 3440 2037 d 3444 2014 d 3448 1991 d 3449 1967 d 3450 1944 d 3449 1921 d 3448 1897 d 3448 1804 d 3449 1781 d 3450 1758 d 3450 1735 d 3447 1711 d 3443 1688 d 3436 1665 d 3434 1641 d 3438 1618 d 3449 1595 d 3460 1572 d 3465 1548 d 3460 1525 d 3447 1502 d 3437 1479 d 3433 1455 d 3439 1432 d 3445 1409 d 3449 1385 d 3450 1362 d 3449 1339 d 3448 1316 d 3448 1292 d 3450 1269 d 3451 1246 d 3448 1223 d 3443 1199 d 3434 1176 d 3433 1153 d 3444 1129 d 3458 1106 d 3468 1083 d 3459 1060 d 3442 1036 d 3434 1013 d 3436 990 d 3445 967 d 3450 943 d 3450 920 d 3449 897 d 3448 873 d 3447 850 d 3446 827 d 3446 780 d 3447 757 d 3447 385 d stroke 3466 2665 m 3466 2689 d stroke 3466 2665 m 3466 2642 d 3465 2619 d 3465 2596 d 3464 2572 d 3463 2549 d 3463 2526 d 3464 2503 d 3464 2479 d 3465 2456 d 3465 2433 d 3466 2409 d 3471 2386 d 3476 2363 d 3481 2340 d 3487 2316 d 3491 2293 d 3495 2270 d 3498 2247 d 3496 2223 d 3490 2200 d 3485 2177 d 3477 2153 d 3469 2130 d 3464 2107 d 3464 2060 d 3469 2037 d 3474 2014 d 3478 1991 d 3480 1967 d 3481 1944 d 3480 1921 d 3479 1897 d 3478 1874 d 3478 1828 d 3479 1804 d 3480 1781 d 3480 1735 d 3478 1711 d 3472 1688 d 3467 1665 d 3464 1641 d 3470 1618 d 3479 1595 d 3491 1572 d 3494 1548 d 3491 1525 d 3478 1502 d 3468 1479 d 3464 1455 d 3468 1432 d 3475 1409 d 3479 1385 d 3481 1362 d 3480 1339 d 3479 1316 d 3479 1292 d 3480 1269 d 3481 1246 d 3479 1223 d 3473 1199 d 3464 1176 d 3463 1153 d 3474 1129 d 3489 1106 d 3500 1083 d 3489 1060 d 3473 1036 d 3464 1013 d 3465 990 d 3475 967 d 3480 943 d 3481 920 d 3479 897 d 3478 873 d 3477 850 d 3477 385 d stroke 3497 2619 m 3497 2689 d stroke 3497 2619 m 3496 2596 d 3496 2549 d 3495 2526 d 3495 2503 d 3494 2479 d 3496 2456 d 3498 2433 d 3501 2409 d 3504 2386 d 3508 2363 d 3512 2340 d 3517 2316 d 3522 2293 d 3526 2270 d 3525 2247 d 3523 2223 d 3521 2200 d 3514 2177 d 3507 2153 d 3501 2130 d 3497 2107 d 3494 2084 d 3496 2060 d 3499 2037 d 3503 2014 d 3507 1991 d 3510 1967 d 3511 1944 d 3511 1921 d 3510 1897 d 3509 1874 d 3509 1804 d 3510 1781 d 3511 1758 d 3510 1735 d 3507 1711 d 3502 1688 d 3497 1665 d 3494 1641 d 3500 1618 d 3509 1595 d 3522 1572 d 3525 1548 d 3521 1525 d 3509 1502 d 3499 1479 d 3495 1455 d 3498 1432 d 3505 1409 d 3509 1385 d 3512 1362 d 3510 1339 d 3510 1292 d 3511 1269 d 3512 1246 d 3509 1223 d 3503 1199 d 3494 1176 d 3494 1153 d 3505 1129 d 3520 1106 d 3531 1083 d 3520 1060 d 3504 1036 d 3494 1013 d 3495 990 d 3505 967 d 3511 943 d 3511 920 d 3510 897 d 3508 873 d 3508 850 d 3507 827 d 3507 385 d stroke 3526 2665 m 3526 2689 d stroke 3526 2665 m 3525 2642 d 3525 2619 d 3524 2596 d 3524 2549 d 3525 2526 d 3525 2503 d 3526 2479 d 3526 2456 d 3527 2433 d 3529 2409 d 3533 2386 d 3538 2363 d 3543 2340 d 3549 2316 d 3552 2293 d 3555 2270 d 3558 2247 d 3557 2223 d 3552 2200 d 3546 2177 d 3539 2153 d 3532 2130 d 3525 2107 d 3525 2060 d 3528 2037 d 3533 2014 d 3537 1991 d 3540 1967 d 3542 1944 d 3541 1921 d 3541 1897 d 3540 1874 d 3539 1851 d 3540 1828 d 3540 1804 d 3541 1781 d 3541 1735 d 3537 1711 d 3532 1688 d 3527 1665 d 3525 1641 d 3529 1618 d 3540 1595 d 3552 1572 d 3557 1548 d 3552 1525 d 3540 1502 d 3528 1479 d 3525 1455 d 3527 1432 d 3535 1409 d 3540 1385 d 3542 1362 d 3541 1339 d 3540 1316 d 3540 1292 d 3541 1269 d 3542 1246 d 3539 1223 d 3533 1199 d 3523 1176 d 3524 1153 d 3535 1129 d 3550 1106 d 3561 1083 d 3550 1060 d 3535 1036 d 3525 1013 d 3525 990 d 3535 967 d 3541 943 d 3542 920 d 3541 897 d 3539 873 d 3538 850 d 3537 827 d 3537 804 d 3538 780 d 3538 385 d stroke 3557 2619 m 3557 2689 d stroke 3557 2619 m 3556 2596 d 3556 2549 d 3555 2526 d 3555 2479 d 3558 2456 d 3560 2433 d 3563 2409 d 3566 2386 d 3570 2363 d 3574 2340 d 3578 2316 d 3583 2293 d 3587 2270 d 3586 2247 d 3584 2223 d 3583 2200 d 3576 2177 d 3569 2153 d 3562 2130 d 3559 2107 d 3556 2084 d 3556 2060 d 3559 2037 d 3562 2014 d 3566 1991 d 3570 1967 d 3571 1944 d 3572 1921 d 3571 1897 d 3571 1874 d 3570 1851 d 3570 1828 d 3571 1804 d 3572 1781 d 3572 1735 d 3568 1711 d 3562 1688 d 3555 1665 d 3554 1641 d 3558 1618 d 3572 1595 d 3583 1572 d 3592 1548 d 3583 1525 d 3571 1502 d 3556 1479 d 3554 1455 d 3557 1432 d 3565 1409 d 3570 1385 d 3573 1362 d 3572 1339 d 3571 1316 d 3571 1292 d 3572 1269 d 3573 1246 d 3569 1223 d 3563 1199 d 3554 1176 d 3555 1153 d 3566 1129 d 3581 1106 d 3591 1083 d 3581 1060 d 3565 1036 d 3555 1013 d 3555 990 d 3565 967 d 3571 943 d 3573 920 d 3572 897 d 3569 873 d 3567 850 d 3568 827 d 3568 385 d stroke 3585 2665 m 3585 2689 d stroke 3585 2665 m 3585 2572 d 3586 2549 d 3586 2526 d 3587 2503 d 3587 2479 d 3588 2456 d 3589 2433 d 3592 2409 d 3596 2386 d 3600 2363 d 3605 2340 d 3610 2316 d 3613 2293 d 3616 2270 d 3619 2247 d 3618 2223 d 3613 2200 d 3607 2177 d 3601 2153 d 3595 2130 d 3588 2107 d 3585 2084 d 3586 2060 d 3587 2037 d 3592 2014 d 3597 1991 d 3600 1967 d 3602 1944 d 3603 1921 d 3602 1897 d 3602 1874 d 3601 1851 d 3601 1828 d 3602 1804 d 3602 1781 d 3603 1758 d 3601 1735 d 3598 1711 d 3591 1688 d 3586 1665 d 3585 1641 d 3592 1618 d 3603 1595 d 3613 1572 d 3618 1548 d 3612 1525 d 3601 1502 d 3589 1479 d 3585 1455 d 3588 1432 d 3595 1409 d 3600 1385 d 3602 1362 d 3602 1339 d 3601 1316 d 3602 1292 d 3603 1269 d 3603 1246 d 3599 1223 d 3592 1199 d 3585 1176 d 3585 1153 d 3597 1129 d 3611 1106 d 3621 1083 d 3611 1060 d 3596 1036 d 3586 1013 d 3586 990 d 3596 967 d 3602 943 d 3604 920 d 3601 897 d 3597 873 d 3598 850 d 3599 827 d 3599 385 d stroke 3617 2619 m 3617 2689 d stroke 3617 2619 m 3617 2572 d 3616 2549 d 3616 2503 d 3618 2479 d 3620 2456 d 3623 2433 d 3625 2409 d 3628 2386 d 3632 2363 d 3636 2340 d 3640 2316 d 3644 2293 d 3648 2270 d 3647 2247 d 3645 2223 d 3643 2200 d 3638 2177 d 3631 2153 d 3624 2130 d 3620 2107 d 3617 2084 d 3615 2060 d 3619 2037 d 3622 2014 d 3626 1991 d 3630 1967 d 3632 1944 d 3633 1921 d 3633 1897 d 3632 1874 d 3632 1804 d 3633 1781 d 3633 1758 d 3631 1735 d 3627 1711 d 3621 1688 d 3618 1665 d 3615 1641 d 3623 1618 d 3632 1595 d 3644 1572 d 3646 1548 d 3644 1525 d 3631 1502 d 3622 1479 d 3615 1455 d 3619 1432 d 3624 1409 d 3630 1385 d 3632 1362 d 3633 1339 d 3632 1316 d 3633 1292 d 3633 1269 d 3634 1246 d 3629 1223 d 3622 1199 d 3616 1176 d 3615 1153 d 3628 1129 d 3641 1106 d 3650 1083 d 3641 1060 d 3627 1036 d 3618 1013 d 3618 990 d 3626 967 d 3632 943 d 3632 920 d 3630 897 d 3629 873 d 3629 385 d stroke 3646 2642 m 3646 2689 d stroke 3646 2642 m 3646 2596 d 3647 2572 d 3647 2549 d 3648 2526 d 3648 2503 d 3649 2479 d 3650 2456 d 3650 2433 d 3654 2409 d 3658 2386 d 3662 2363 d 3667 2340 d 3672 2316 d 3674 2293 d 3677 2270 d 3679 2247 d 3679 2223 d 3674 2200 d 3669 2177 d 3663 2153 d 3657 2130 d 3650 2107 d 3646 2084 d 3646 2060 d 3647 2037 d 3651 2014 d 3656 1991 d 3660 1967 d 3662 1944 d 3664 1921 d 3664 1897 d 3663 1874 d 3663 1851 d 3662 1828 d 3663 1804 d 3664 1781 d 3663 1758 d 3661 1735 d 3657 1711 d 3652 1688 d 3647 1665 d 3648 1641 d 3653 1618 d 3663 1595 d 3674 1572 d 3677 1548 d 3674 1525 d 3663 1502 d 3653 1479 d 3646 1455 d 3648 1432 d 3654 1409 d 3660 1385 d 3663 1362 d 3664 1339 d 3663 1316 d 3663 1292 d 3664 1269 d 3664 1246 d 3660 1223 d 3652 1199 d 3647 1176 d 3646 1153 d 3659 1129 d 3671 1106 d 3679 1083 d 3671 1060 d 3658 1036 d 3649 1013 d 3648 990 d 3656 967 d 3663 943 d 3664 920 d 3660 897 d 3660 385 d stroke 3678 2642 m 3678 2689 d stroke 3678 2642 m 3677 2619 d 3677 2549 d 3676 2526 d 3678 2503 d 3680 2479 d 3682 2456 d 3685 2433 d 3687 2409 d 3690 2386 d 3694 2363 d 3697 2340 d 3701 2316 d 3706 2293 d 3709 2270 d 3708 2247 d 3706 2223 d 3704 2200 d 3699 2177 d 3693 2153 d 3686 2130 d 3682 2107 d 3679 2084 d 3676 2060 d 3678 2037 d 3682 2014 d 3685 1991 d 3689 1967 d 3693 1944 d 3693 1921 d 3694 1897 d 3694 1874 d 3693 1851 d 3693 1828 d 3694 1804 d 3694 1758 d 3691 1735 d 3687 1711 d 3681 1688 d 3675 1665 d 3677 1641 d 3682 1618 d 3694 1595 d 3704 1572 d 3712 1548 d 3705 1525 d 3694 1502 d 3682 1479 d 3676 1455 d 3676 1432 d 3684 1409 d 3690 1385 d 3694 1362 d 3694 1292 d 3695 1269 d 3694 1246 d 3690 1223 d 3683 1199 d 3678 1176 d 3678 1153 d 3690 1129 d 3701 1106 d 3706 1083 d 3699 1060 d 3685 1036 d 3679 1013 d 3682 990 d 3695 967 d 3692 943 d 3690 920 d 3690 385 d stroke 3707 2642 m 3707 2689 d stroke 3707 2642 m 3708 2619 d 3708 2572 d 3709 2549 d 3709 2526 d 3710 2503 d 3710 2479 d 3711 2456 d 3713 2433 d 3716 2409 d 3720 2386 d 3724 2363 d 3729 2340 d 3733 2316 d 3735 2293 d 3738 2270 d 3740 2247 d 3740 2223 d 3735 2200 d 3730 2177 d 3725 2153 d 3719 2130 d 3712 2107 d 3706 2084 d 3707 2060 d 3708 2037 d 3710 2014 d 3715 1991 d 3720 1967 d 3722 1944 d 3724 1921 d 3725 1897 d 3724 1874 d 3724 1804 d 3725 1781 d 3724 1758 d 3721 1735 d 3717 1711 d 3710 1688 d 3707 1665 d 3707 1641 d 3715 1618 d 3726 1595 d 3735 1572 d 3740 1548 d 3734 1525 d 3724 1502 d 3711 1479 d 3708 1455 d 3708 1432 d 3715 1409 d 3720 1385 d 3724 1362 d 3724 1339 d 3725 1316 d 3725 1269 d 3724 1246 d 3721 1223 d 3713 1199 d 3709 1176 d 3710 1153 d 3719 1129 d 3729 1106 d 3732 1083 d 3727 1060 d 3717 1036 d 3716 1013 d 3719 990 d 3720 967 d 3720 385 d stroke 3738 2642 m 3738 2689 d stroke 3738 2642 m 3738 2596 d 3737 2572 d 3737 2549 d 3739 2526 d 3741 2503 d 3742 2479 d 3745 2456 d 3747 2433 d 3749 2409 d 3752 2386 d 3755 2363 d 3759 2340 d 3763 2316 d 3767 2293 d 3770 2270 d 3768 2247 d 3767 2223 d 3765 2200 d 3761 2177 d 3755 2153 d 3748 2130 d 3743 2107 d 3740 2084 d 3737 2060 d 3738 2037 d 3742 2014 d 3745 1991 d 3748 1967 d 3752 1944 d 3754 1921 d 3755 1897 d 3755 1781 d 3754 1758 d 3751 1735 d 3746 1711 d 3741 1688 d 3738 1665 d 3739 1641 d 3746 1618 d 3755 1595 d 3766 1572 d 3767 1548 d 3766 1525 d 3754 1502 d 3745 1479 d 3738 1455 d 3739 1432 d 3744 1409 d 3750 1385 d 3754 1362 d 3755 1339 d 3755 1316 d 3756 1292 d 3756 1269 d 3754 1246 d 3749 1223 d 3742 1199 d 3739 1176 d 3743 1153 d 3754 1129 d 3762 1106 d 3761 1083 d 3753 1060 d 3745 1036 d 3747 1013 d 3751 990 d 3751 385 d stroke 3769 2619 m 3769 2689 d stroke 3769 2619 m 3769 2572 d 3770 2549 d 3770 2526 d 3771 2503 d 3771 2479 d 3772 2456 d 3775 2433 d 3779 2409 d 3782 2386 d 3786 2363 d 3791 2340 d 3794 2316 d 3796 2293 d 3799 2270 d 3801 2247 d 3801 2223 d 3796 2200 d 3792 2177 d 3787 2153 d 3781 2130 d 3774 2107 d 3768 2084 d 3768 2037 d 3769 2014 d 3774 1991 d 3779 1967 d 3782 1944 d 3784 1921 d 3786 1897 d 3786 1804 d 3785 1781 d 3785 1758 d 3781 1735 d 3777 1711 d 3772 1688 d 3767 1665 d 3770 1641 d 3775 1618 d 3786 1595 d 3795 1572 d 3799 1548 d 3796 1525 d 3786 1502 d 3776 1479 d 3768 1455 d 3770 1432 d 3774 1409 d 3780 1385 d 3784 1362 d 3786 1339 d 3786 1316 d 3785 1292 d 3784 1269 d 3781 1246 d 3777 1223 d 3774 1199 d 3777 1176 d 3783 1153 d 3788 1129 d 3786 1106 d 3781 1083 d 3778 1060 d 3781 1036 d 3781 385 d stroke 3799 2665 m 3799 2689 d stroke 3799 2665 m 3798 2642 d 3798 2596 d 3799 2572 d 3800 2549 d 3801 2526 d 3803 2503 d 3805 2479 d 3807 2456 d 3809 2433 d 3811 2409 d 3814 2386 d 3817 2363 d 3820 2340 d 3824 2316 d 3828 2293 d 3830 2270 d 3829 2247 d 3827 2223 d 3826 2200 d 3822 2177 d 3816 2153 d 3810 2130 d 3805 2107 d 3802 2084 d 3799 2060 d 3798 2037 d 3801 2014 d 3805 1991 d 3808 1967 d 3812 1944 d 3815 1921 d 3816 1897 d 3816 1874 d 3817 1851 d 3817 1781 d 3815 1758 d 3812 1735 d 3807 1711 d 3800 1688 d 3797 1665 d 3798 1641 d 3806 1618 d 3818 1595 d 3827 1572 d 3835 1548 d 3827 1525 d 3818 1502 d 3805 1479 d 3798 1455 d 3798 1432 d 3804 1409 d 3811 1385 d 3815 1362 d 3816 1339 d 3815 1316 d 3814 1292 d 3812 1269 d 3811 1246 d 3811 1199 d 3812 1176 d 3812 1129 d 3811 1106 d 3811 1083 d 3812 1060 d 3812 385 d stroke 3830 2642 m 3830 2689 d stroke 3830 2642 m 3830 2572 d 3831 2549 d 3831 2526 d 3832 2503 d 3832 2479 d 3834 2456 d 3837 2433 d 3841 2409 d 3844 2386 d 3848 2363 d 3852 2340 d 3855 2316 d 3857 2293 d 3860 2270 d 3862 2247 d 3862 2223 d 3857 2200 d 3853 2177 d 3848 2153 d 3842 2130 d 3836 2107 d 3830 2084 d 3828 2060 d 3829 2037 d 3829 2014 d 3833 1991 d 3838 1967 d 3842 1944 d 3845 1921 d 3847 1897 d 3848 1874 d 3848 1828 d 3847 1804 d 3847 1781 d 3844 1758 d 3841 1735 d 3836 1711 d 3831 1688 d 3829 1665 d 3830 1641 d 3839 1618 d 3847 1595 d 3857 1572 d 3860 1548 d 3856 1525 d 3847 1502 d 3835 1479 d 3831 1455 d 3830 1432 d 3835 1409 d 3840 1385 d 3845 1362 d 3846 1339 d 3845 1316 d 3844 1292 d 3843 1269 d 3842 1246 d 3842 385 d stroke 3859 2665 m 3859 2689 d stroke 3859 2665 m 3859 2642 d 3860 2619 d 3860 2596 d 3861 2572 d 3862 2549 d 3864 2526 d 3865 2503 d 3867 2479 d 3868 2456 d 3870 2433 d 3873 2409 d 3875 2386 d 3878 2363 d 3882 2340 d 3885 2316 d 3889 2293 d 3890 2270 d 3889 2247 d 3888 2223 d 3887 2200 d 3883 2177 d 3878 2153 d 3872 2130 d 3866 2107 d 3864 2084 d 3861 2060 d 3859 2037 d 3862 2014 d 3864 1991 d 3868 1967 d 3871 1944 d 3875 1921 d 3876 1897 d 3878 1874 d 3878 1804 d 3877 1781 d 3875 1758 d 3871 1735 d 3866 1711 d 3862 1688 d 3859 1665 d 3863 1641 d 3868 1618 d 3878 1595 d 3887 1572 d 3889 1548 d 3888 1525 d 3878 1502 d 3869 1479 d 3861 1455 d 3861 1432 d 3864 1409 d 3870 1385 d 3874 1362 d 3876 1339 d 3876 1316 d 3875 1292 d 3874 1269 d 3873 1246 d 3872 1223 d 3872 385 d stroke 3891 2619 m 3891 2689 d stroke 3891 2619 m 3891 2572 d 3892 2549 d 3892 2503 d 3894 2479 d 3897 2456 d 3900 2433 d 3903 2409 d 3906 2386 d 3910 2363 d 3914 2340 d 3916 2316 d 3918 2293 d 3921 2270 d 3924 2247 d 3923 2223 d 3919 2200 d 3914 2177 d 3910 2153 d 3904 2130 d 3898 2107 d 3892 2084 d 3889 2060 d 3890 2037 d 3890 2014 d 3893 1991 d 3897 1967 d 3902 1944 d 3905 1921 d 3907 1897 d 3909 1874 d 3909 1804 d 3908 1781 d 3905 1758 d 3901 1735 d 3896 1711 d 3891 1688 d 3889 1665 d 3891 1641 d 3898 1618 d 3909 1595 d 3917 1572 d 3924 1548 d 3918 1525 d 3910 1502 d 3898 1479 d 3890 1455 d 3890 1432 d 3893 1409 d 3900 1385 d 3905 1362 d 3908 1339 d 3907 1316 d 3906 1292 d 3904 1269 d 3902 1246 d 3901 1223 d 3902 1199 d 3903 1176 d 3903 385 d stroke 2390 385 m 3926 385 d stroke 3926 967 m 2390 967 d stroke 2390 1548 m 3926 1548 d stroke 3926 2130 m 2390 2130 d stroke grestore /clippingpath {newpath 2047 0 m 4097 0 d 4097 3073 d 2047 3073 d closepath} def gsave clippingpath eoclip newpath 0 setgray 2390 385 m 2390 2689 d 3926 2689 d 3926 385 d 2390 385 d stroke 2390 2689 m 3926 2689 d stroke 2390 2689 m 2372 2689 d stroke 2372 2107 m 2390 2107 d stroke 2390 1525 m 2372 1525 d stroke 2372 943 m 2390 943 d stroke 2348 2691 m 2346 2696 d 2341 2699 d 2332 2701 d 2327 2701 d 2318 2699 d 2313 2696 d 2311 2691 d 2311 2687 d 2313 2682 d 2318 2679 d 2327 2677 d 2332 2677 d 2341 2679 d 2346 2682 d 2348 2687 d 2348 2691 d 2346 2694 d 2344 2696 d 2341 2698 d 2332 2699 d 2327 2699 d 2318 2698 d 2315 2696 d 2313 2694 d 2311 2691 d stroke 2311 2687 m 2313 2684 d 2315 2682 d 2318 2680 d 2327 2679 d 2332 2679 d 2341 2680 d 2344 2682 d 2346 2684 d 2348 2687 d stroke 2348 2136 m 2346 2142 d 2341 2145 d 2332 2147 d 2327 2147 d 2318 2145 d 2313 2142 d 2311 2136 d 2311 2133 d 2313 2128 d 2318 2124 d 2327 2123 d 2332 2123 d 2341 2124 d 2346 2128 d 2348 2133 d 2348 2136 d 2346 2140 d 2344 2142 d 2341 2143 d 2332 2145 d 2327 2145 d 2318 2143 d 2315 2142 d 2313 2140 d 2311 2136 d stroke 2311 2133 m 2313 2130 d 2315 2128 d 2318 2126 d 2327 2124 d 2332 2124 d 2341 2126 d 2344 2128 d 2346 2130 d 2348 2133 d stroke 2315 2107 m 2313 2109 d 2311 2107 d 2313 2105 d 2315 2107 d stroke 2341 2090 m 2339 2088 d 2337 2090 d 2339 2091 d 2341 2091 d 2344 2090 d 2346 2088 d 2348 2083 d 2348 2076 d 2346 2071 d 2344 2069 d 2341 2067 d 2337 2067 d 2334 2069 d 2330 2074 d 2327 2083 d 2325 2086 d 2322 2090 d 2316 2091 d 2311 2091 d stroke 2348 2076 m 2346 2072 d 2344 2071 d 2341 2069 d 2337 2069 d 2334 2071 d 2330 2076 d 2327 2083 d stroke 2315 2091 m 2316 2090 d 2316 2086 d 2313 2078 d 2313 2072 d 2315 2069 d 2316 2067 d stroke 2316 2086 m 2311 2078 d 2311 2071 d 2313 2069 d 2316 2067 d 2320 2067 d stroke 2348 1554 m 2346 1560 d 2341 1563 d 2332 1565 d 2327 1565 d 2318 1563 d 2313 1560 d 2311 1554 d 2311 1551 d 2313 1546 d 2318 1542 d 2327 1541 d 2332 1541 d 2341 1542 d 2346 1546 d 2348 1551 d 2348 1554 d 2346 1558 d 2344 1560 d 2341 1561 d 2332 1563 d 2327 1563 d 2318 1561 d 2315 1560 d 2313 1558 d 2311 1554 d stroke 2311 1551 m 2313 1548 d 2315 1546 d 2318 1544 d 2327 1542 d 2332 1542 d 2341 1544 d 2344 1546 d 2346 1548 d 2348 1551 d stroke 2315 1525 m 2313 1527 d 2311 1525 d 2313 1523 d 2315 1525 d stroke 2344 1494 m 2311 1494 d stroke 2348 1492 m 2311 1492 d stroke 2348 1492 m 2322 1511 d 2322 1483 d stroke 2311 1499 m 2311 1487 d stroke 2348 972 m 2346 978 d 2341 981 d 2332 983 d 2327 983 d 2318 981 d 2313 978 d 2311 972 d 2311 969 d 2313 964 d 2318 960 d 2327 959 d 2332 959 d 2341 960 d 2346 964 d 2348 969 d 2348 972 d 2346 976 d 2344 978 d 2341 979 d 2332 981 d 2327 981 d 2318 979 d 2315 978 d 2313 976 d 2311 972 d stroke 2311 969 m 2313 966 d 2315 964 d 2318 962 d 2327 960 d 2332 960 d 2341 962 d 2344 964 d 2346 966 d 2348 969 d stroke 2315 943 m 2313 945 d 2311 943 d 2313 941 d 2315 943 d stroke 2342 907 m 2341 908 d 2339 907 d 2341 905 d 2342 905 d 2346 907 d 2348 910 d 2348 915 d 2346 920 d 2342 924 d 2339 926 d 2332 927 d 2322 927 d 2316 926 d 2313 922 d 2311 917 d 2311 914 d 2313 908 d 2316 905 d 2322 903 d 2323 903 d 2328 905 d 2332 908 d 2334 914 d 2334 915 d 2332 920 d 2328 924 d 2323 926 d stroke 2348 915 m 2346 919 d 2342 922 d 2339 924 d 2332 926 d 2322 926 d 2316 924 d 2313 920 d 2311 917 d stroke 2311 914 m 2313 910 d 2316 907 d 2322 905 d 2323 905 d 2328 907 d 2332 910 d 2334 914 d stroke 2268 1564 m 2271 1562 d 2264 1562 d 2268 1564 d 2270 1566 d 2271 1569 d 2271 1576 d 2270 1579 d 2268 1581 d 2264 1581 d 2263 1579 d 2261 1576 d 2258 1567 d 2256 1564 d 2254 1562 d stroke 2266 1581 m 2264 1579 d 2263 1576 d 2259 1567 d 2258 1564 d 2256 1562 d 2251 1562 d 2249 1564 d 2247 1567 d 2247 1574 d 2249 1578 d 2251 1579 d 2254 1581 d 2247 1581 d 2251 1579 d stroke 2261 1548 m 2261 1527 d 2264 1527 d 2268 1529 d 2270 1531 d 2271 1534 d 2271 1540 d 2270 1545 d 2266 1548 d 2261 1550 d 2258 1550 d 2252 1548 d 2249 1545 d 2247 1540 d 2247 1536 d 2249 1531 d 2252 1527 d stroke 2261 1529 m 2266 1529 d 2270 1531 d stroke 2271 1540 m 2270 1543 d 2266 1547 d 2261 1548 d 2258 1548 d 2252 1547 d 2249 1543 d 2247 1540 d stroke 2266 1495 m 2264 1496 d 2263 1495 d 2264 1493 d 2266 1493 d 2270 1496 d 2271 1500 d 2271 1505 d 2270 1510 d 2266 1514 d 2261 1515 d 2258 1515 d 2252 1514 d 2249 1510 d 2247 1505 d 2247 1501 d 2249 1496 d 2252 1493 d stroke 2271 1505 m 2270 1508 d 2266 1512 d 2261 1514 d 2258 1514 d 2252 1512 d 2249 1508 d 2247 1505 d stroke 2390 385 m 2390 2689 d stroke 2413 385 m 2413 348 d stroke 2656 348 m 2656 385 d stroke 2899 385 m 2899 348 d stroke 3143 348 m 3143 385 d stroke 3386 385 m 3386 348 d stroke 3629 348 m 3629 385 d stroke 3872 385 m 3872 348 d stroke 2411 323 m 2406 321 d 2403 316 d 2401 307 d 2401 302 d 2403 294 d 2406 288 d 2411 287 d 2415 287 d 2420 288 d 2423 294 d 2425 302 d 2425 307 d 2423 316 d 2420 321 d 2415 323 d 2411 323 d 2408 321 d 2406 320 d 2404 316 d 2403 307 d 2403 302 d 2404 294 d 2406 290 d 2408 288 d 2411 287 d stroke 2415 287 m 2418 288 d 2420 290 d 2422 294 d 2423 302 d 2423 307 d 2422 316 d 2420 320 d 2418 321 d 2415 323 d stroke 2627 323 m 2621 321 d 2618 316 d 2616 307 d 2616 302 d 2618 294 d 2621 288 d 2627 287 d 2630 287 d 2635 288 d 2639 294 d 2640 302 d 2640 307 d 2639 316 d 2635 321 d 2630 323 d 2627 323 d 2623 321 d 2621 320 d 2620 316 d 2618 307 d 2618 302 d 2620 294 d 2621 290 d 2623 288 d 2627 287 d stroke 2630 287 m 2633 288 d 2635 290 d 2637 294 d 2639 302 d 2639 307 d 2637 316 d 2635 320 d 2633 321 d 2630 323 d stroke 2656 290 m 2654 288 d 2656 287 d 2658 288 d 2656 290 d stroke 2673 316 m 2675 314 d 2673 313 d 2672 314 d 2672 316 d 2673 320 d 2675 321 d 2680 323 d 2687 323 d 2692 321 d 2694 320 d 2696 316 d 2696 313 d 2694 309 d 2689 306 d 2680 302 d 2677 301 d 2673 297 d 2672 292 d 2672 287 d stroke 2687 323 m 2691 321 d 2692 320 d 2694 316 d 2694 313 d 2692 309 d 2687 306 d 2680 302 d stroke 2672 290 m 2673 292 d 2677 292 d 2685 288 d 2691 288 d 2694 290 d 2696 292 d stroke 2677 292 m 2685 287 d 2692 287 d 2694 288 d 2696 292 d 2696 295 d stroke 2870 323 m 2864 321 d 2861 316 d 2859 307 d 2859 302 d 2861 294 d 2864 288 d 2870 287 d 2873 287 d 2878 288 d 2882 294 d 2883 302 d 2883 307 d 2882 316 d 2878 321 d 2873 323 d 2870 323 d 2866 321 d 2864 320 d 2863 316 d 2861 307 d 2861 302 d 2863 294 d 2864 290 d 2866 288 d 2870 287 d stroke 2873 287 m 2876 288 d 2878 290 d 2880 294 d 2882 302 d 2882 307 d 2880 316 d 2878 320 d 2876 321 d 2873 323 d stroke 2899 290 m 2897 288 d 2899 287 d 2901 288 d 2899 290 d stroke 2930 320 m 2930 287 d stroke 2932 323 m 2932 287 d stroke 2932 323 m 2913 297 d 2941 297 d stroke 2925 287 m 2937 287 d stroke 3114 323 m 3108 321 d 3105 316 d 3103 307 d 3103 302 d 3105 294 d 3108 288 d 3114 287 d 3117 287 d 3122 288 d 3126 294 d 3127 302 d 3127 307 d 3126 316 d 3122 321 d 3117 323 d 3114 323 d 3110 321 d 3108 320 d 3107 316 d 3105 307 d 3105 302 d 3107 294 d 3108 290 d 3110 288 d 3114 287 d stroke 3117 287 m 3120 288 d 3122 290 d 3124 294 d 3126 302 d 3126 307 d 3124 316 d 3122 320 d 3120 321 d 3117 323 d stroke 3143 290 m 3141 288 d 3143 287 d 3145 288 d 3143 290 d stroke 3179 318 m 3178 316 d 3179 314 d 3181 316 d 3181 318 d 3179 321 d 3176 323 d 3171 323 d 3166 321 d 3162 318 d 3160 314 d 3159 307 d 3159 297 d 3160 292 d 3164 288 d 3169 287 d 3172 287 d 3178 288 d 3181 292 d 3183 297 d 3183 299 d 3181 304 d 3178 307 d 3172 309 d 3171 309 d 3166 307 d 3162 304 d 3160 299 d stroke 3171 323 m 3167 321 d 3164 318 d 3162 314 d 3160 307 d 3160 297 d 3162 292 d 3166 288 d 3169 287 d stroke 3172 287 m 3176 288 d 3179 292 d 3181 297 d 3181 299 d 3179 304 d 3176 307 d 3172 309 d stroke 3357 323 m 3351 321 d 3348 316 d 3346 307 d 3346 302 d 3348 294 d 3351 288 d 3357 287 d 3360 287 d 3365 288 d 3369 294 d 3370 302 d 3370 307 d 3369 316 d 3365 321 d 3360 323 d 3357 323 d 3353 321 d 3351 320 d 3350 316 d 3348 307 d 3348 302 d 3350 294 d 3351 290 d 3353 288 d 3357 287 d stroke 3360 287 m 3363 288 d 3365 290 d 3367 294 d 3369 302 d 3369 307 d 3367 316 d 3365 320 d 3363 321 d 3360 323 d stroke 3386 290 m 3384 288 d 3386 287 d 3388 288 d 3386 290 d stroke 3410 323 m 3405 321 d 3403 318 d 3403 313 d 3405 309 d 3410 307 d 3417 307 d 3422 309 d 3424 313 d 3424 318 d 3422 321 d 3417 323 d 3410 323 d 3407 321 d 3405 318 d 3405 313 d 3407 309 d 3410 307 d stroke 3417 307 m 3421 309 d 3422 313 d 3422 318 d 3421 321 d 3417 323 d stroke 3410 307 m 3405 306 d 3403 304 d 3402 301 d 3402 294 d 3403 290 d 3405 288 d 3410 287 d 3417 287 d 3422 288 d 3424 290 d 3426 294 d 3426 301 d 3424 304 d 3422 306 d 3417 307 d stroke 3410 307 m 3407 306 d 3405 304 d 3403 301 d 3403 294 d 3405 290 d 3407 288 d 3410 287 d stroke 3417 287 m 3421 288 d 3422 290 d 3424 294 d 3424 301 d 3422 304 d 3421 306 d 3417 307 d stroke 3622 316 m 3626 318 d 3631 323 d 3631 287 d stroke 3629 321 m 3629 287 d stroke 3622 287 m 3638 287 d stroke 3837 316 m 3841 318 d 3846 323 d 3846 287 d stroke 3844 321 m 3844 287 d stroke 3837 287 m 3853 287 d stroke 3872 290 m 3870 288 d 3872 287 d 3874 288 d 3872 290 d stroke 3889 316 m 3891 314 d 3889 313 d 3888 314 d 3888 316 d 3889 320 d 3891 321 d 3896 323 d 3903 323 d 3908 321 d 3910 320 d 3912 316 d 3912 313 d 3910 309 d 3905 306 d 3896 302 d 3893 301 d 3889 297 d 3888 292 d 3888 287 d stroke 3903 323 m 3907 321 d 3908 320 d 3910 316 d 3910 313 d 3908 309 d 3903 306 d 3896 302 d stroke 3888 290 m 3889 292 d 3893 292 d 3901 288 d 3907 288 d 3910 290 d 3912 292 d stroke 3893 292 m 3901 287 d 3908 287 d 3910 288 d 3912 292 d 3912 295 d stroke 3119 196 m 3119 160 d stroke 3121 196 m 3121 160 d stroke 3138 184 m 3121 167 d stroke 3129 174 m 3140 160 d stroke 3128 174 m 3138 160 d stroke 3114 196 m 3121 196 d stroke 3133 184 m 3143 184 d stroke 3114 160 m 3126 160 d stroke 3133 160 m 3143 160 d stroke 3157 184 m 3157 160 d stroke 3159 184 m 3159 160 d stroke 3159 179 m 3162 182 d 3168 184 d 3171 184 d 3176 182 d 3178 179 d 3178 160 d stroke 3171 184 m 3174 182 d 3176 179 d 3176 160 d stroke 3178 179 m 3181 182 d 3187 184 d 3190 184 d 3195 182 d 3197 179 d 3197 160 d stroke 3190 184 m 3194 182 d 3195 179 d 3195 160 d stroke 3152 184 m 3159 184 d stroke 3152 160 m 3164 160 d stroke 3171 160 m 3183 160 d stroke 3190 160 m 3202 160 d stroke 2973 2784 m 2973 2782 d 2971 2782 d 2971 2784 d 2973 2786 d 2977 2789 d 2986 2789 d 2990 2786 d 2992 2784 d 2994 2780 d 2994 2765 d 2997 2760 d 2999 2758 d stroke 2992 2784 m 2992 2765 d 2994 2760 d 2999 2758 d 3001 2758 d stroke 2992 2780 m 2990 2778 d 2977 2776 d 2971 2773 d 2968 2769 d 2968 2765 d 2971 2760 d 2977 2758 d 2984 2758 d 2988 2760 d 2992 2765 d stroke 2977 2776 m 2973 2773 d 2971 2769 d 2971 2765 d 2973 2760 d 2977 2758 d stroke 3029 2802 m 3027 2799 d 3029 2797 d 3031 2799 d 3031 2802 d 3029 2804 d 3025 2804 d 3020 2802 d 3018 2797 d 3018 2758 d stroke 3025 2804 m 3023 2802 d 3020 2797 d 3020 2758 d stroke 3012 2789 m 3029 2789 d stroke 3012 2758 m 3027 2758 d stroke 3049 2804 m 3049 2767 d 3051 2760 d 3055 2758 d 3059 2758 d 3064 2760 d 3066 2765 d stroke 3051 2804 m 3051 2767 d 3053 2760 d 3055 2758 d stroke 3042 2789 m 3059 2789 d stroke 3081 2776 m 3107 2776 d 3107 2780 d 3105 2784 d 3103 2786 d 3098 2789 d 3092 2789 d 3085 2786 d 3081 2782 d 3079 2776 d 3079 2771 d 3081 2765 d 3085 2760 d 3092 2758 d 3096 2758 d 3103 2760 d 3107 2765 d stroke 3105 2776 m 3105 2782 d 3103 2786 d stroke 3092 2789 m 3088 2786 d 3083 2782 d 3081 2776 d 3081 2771 d 3083 2765 d 3088 2760 d 3092 2758 d stroke 3127 2789 m 3127 2758 d stroke 3129 2789 m 3129 2758 d stroke 3129 2776 m 3131 2782 d 3135 2786 d 3140 2789 d 3146 2789 d 3148 2786 d 3148 2784 d 3146 2782 d 3144 2784 d 3146 2786 d stroke 3120 2789 m 3129 2789 d stroke 3120 2758 m 3135 2758 d stroke 3198 2789 m 3198 2758 d stroke 3200 2789 m 3200 2758 d stroke 3200 2782 m 3205 2786 d 3211 2789 d 3215 2789 d 3222 2786 d 3224 2782 d 3224 2758 d stroke 3215 2789 m 3220 2786 d 3222 2782 d 3222 2758 d stroke 3192 2789 m 3200 2789 d stroke 3192 2758 m 3207 2758 d stroke 3215 2758 m 3231 2758 d stroke 3248 2789 m 3248 2758 d stroke 3250 2789 m 3250 2758 d stroke 3250 2782 m 3254 2786 d 3261 2789 d 3265 2789 d 3272 2786 d 3274 2782 d 3274 2758 d stroke 3265 2789 m 3270 2786 d 3272 2782 d 3272 2758 d stroke 3274 2782 m 3278 2786 d 3285 2789 d 3289 2789 d 3296 2786 d 3298 2782 d 3298 2758 d stroke 3289 2789 m 3293 2786 d 3296 2782 d 3296 2758 d stroke 3241 2789 m 3250 2789 d stroke 3241 2758 m 3257 2758 d stroke 3265 2758 m 3280 2758 d stroke 3289 2758 m 3304 2758 d stroke 3330 2789 m 3324 2786 d 3319 2782 d 3317 2776 d 3317 2771 d 3319 2765 d 3324 2760 d 3330 2758 d 3335 2758 d 3341 2760 d 3345 2765 d 3348 2771 d 3348 2776 d 3345 2782 d 3341 2786 d 3335 2789 d 3330 2789 d 3326 2786 d 3322 2782 d 3319 2776 d 3319 2771 d 3322 2765 d 3326 2760 d 3330 2758 d stroke 3335 2758 m 3339 2760 d 3343 2765 d 3345 2771 d 3345 2776 d 3343 2782 d 3339 2786 d 3335 2789 d stroke grestore showpage ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/segman.tex�������������������������������������������������������������������������0100644�0000764�0000764�00000025273�07267371705�015436� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% segman.tex \documentstyle[seg,manuscript]{revtex} % This line gives a manuscript style. % %\documentstyle[seg]{revtex} % Uncomment this line for a preprint style. % % Adapted from the JGG LaTex manual by Brian Spies % (spies@ridgefield.sdr.slb.com) Sept. 1993., modified 11-5-93 % % Rewritten for REV\TeX by Martin Karrenbach % martin@sep.stanford.edu, 9-13-93 % \def\s{\char`\\} \def\GEO{{\sl Geophysics\ }} \def\La{\LaTeX\ } \def\seg{{\bf seg\ }} \def\BibTeX{\rm B{\sc ib}\TeX} % \begin{document} \bibliographystyle{seg} \title{A Brief Guide for Preparing Geophysics Manuscripts \\ Using \LaTeX} \author{by The Friends of Geophysics\footnotemark[1]} \footnotetext[1]{Brian Spies, Bill Harlan, Martin Karrenbach, Michael Prange} \date{September 13, 1993} \maketitle \section{Introduction} The SEG encourages contributors of \GEO to submit their manuscripts in the form of \LaTeX\ files or plain \TeX\ text files. This speeds up the publication process and results in fewer %stet typugrophical %stet errors. The \LaTeX\ or \TeX\ file should be sent with the paper copy after the review process is completed and all changes have been made. Since the format of an article produced with \LaTeX\ is determined by the style file employed, we have prepared a set of style files named {\tt seg.sty, seg10.sty, seg12.sty, segbib.sty, seg.bst} and {\tt revtex.sty} in order to keep consistency with \GEO format. This style set is based on REV\TeX\ , a \LaTeX\ framework for publishing scientific papers, which is used by the The American Physical Society, the American Institute of Physics and the Optical Society of America. A complete package that includes the relevant REV\TeX\ files and SEG macros can be obtained by anonymous ftp from {\tt sepftp.stanford.edu /pub/SEGTeX} , or via email from {\tt listserv@sep.stanford.edu} or from SEG, as described in the next section. You should consult the manual and/or guide books of \LaTeX\ on how to obtain and use \LaTeX\ itself. %For those interested, the REV\TeX\ package can be obtained from the %{ftp~site} {\tt pinet.aip.org /pub/revtex} or from %{\tt Niord.SHSU,edu:[FILESERV.REVTEX]}. % %The SEG style package is still under development, with the ultimate goal %of submitting papers in a camera ready format. % A small sample file, called {\tt segskeleton.tex}, is also available. This file contains an example layout of a standard paper and can be easily edited and expanded into your own paper. Another example file ({\tt easybib.tex}) shows how to use \BibTeX\ for creating bibliographies and references in your paper. % \section{Preparation} \subsection{How to get a copy of the SEG style package} If you have access to the INTERNET you can obtain a copy of the package by anonympus ftp from {\tt sepftp.stanford.edu} (net address 36.51.0.59) in the directory {\tt /pub/SEGTeX}. Login as anonymous and use your e-mail address as the password. Alternatively, for Unix users, send e-mail to {\tt listserv@sep.stanford.edu} with the line ``get segtex segtex.shar'' in the body of the text to get a compressed copy of the files. PC or Mac users can get the package in form of a single uncompressed file by sending the line ``get segtex segtex.ascii''. For help information send the email message ``help''. To join a discussion group, put the line ``subscribe segtex Your Name'' in the text. If you do not have e-mail you can ask for a copy of the style file, manual and sample files by sending a blank formatted 5.25-inch 2HD or 3.5-inch MS-DOS floppy disk to: \begin{quote} \fbox{\begin{tabular}{l} Geophysics\\ Society of Exploration Geophysicists\\ P.O. Box 702740\\ Tulsa, OK 74170-2740\\ Attention: Ken Brenkman \end{tabular}} \end{quote} \vspace{0.1in} Also, you can get a copy personally from somebody who already obtained one, since the SEG permits free copying of the style package and related documents. \subsection{Installation} Copy all {\tt .sty} and {\tt .bst} files ({\tt seg.sty, seg10.sty, seg12.sty, segbib.sty, seg.bst, revtex.sty, epsf.sty}) into the same directory where you keep other \LaTeX\ style files (such as {\tt article.sty} etc.). If you are using \LaTeX\ on a unix machine, it will be most likely {\tt/usr/lib/tex/inputs} or {\tt/usr/local/lib/tex/inputs}, and if you use MicroTeX on an MS-DOS (or PC-DOS) machine, it will be {\tt\verb+\+TEX INPUTS} (or the directory specified by the environment variable {\tt \verb+\+TEXINPUTS}). Consult your \LaTeX\ installation manual or a \TeX\ guru around you. If you are in a hurry and can't find a \TeX guru then just keep these style files in the same directory as your paper. % \section{Preparing Your Manuscript} Preparation of your manuscript using the \seg style is similar to the procedure used with the {\bf article} style, which is most commonly used with \LaTeX\ . Additional extensions are described below. The easiest way to produce a manuscript for \GEO is by starting with the {\tt segskeleton.tex} file and by editing it accordingly. \begin{enumerate} \item The first lines of the text file should be \begin{quote} {\tt \verb+\+documentstyle[seg,manuscript]\{revtex\}}\\ {\tt \verb+\+begin\{document\}}\\ {\tt \verb+\+bibliographystyle\{seg\}}\\ \end{quote} \item The title, the author(s) and their affiliation are specified through a {\tt\s maketitle} command as in the {\bf article} style\footnote{\LaTeX\ manual, section 2.2.2.}. For example: \begin{quote} \tt \s title\{Life with Geophones and Jugs\}\\ \s author\{Popul R. Demand\} \\ \s address\{Flat Land University, Green Acres, HW 99999\}\\ \s author\{Joe E. Second\}\\ \s address\{Arctic Oil, Sicily\}\\ \s maketitle \end{quote} \item The abstract should be inserted using the {\bf abstract} environment. \begin{verbatim} \begin{abstract} The abstract is the most important ... \end{abstract} \end{verbatim} \item Each major heading should be typeset using the \verb+\section+ command. \begin{verbatim} \section{Introduction} \end{verbatim} Headings of the next lowest rank should be typeset using the \verb+\subsection+ command. \begin{verbatim} \subsection{Historical Development} \end{verbatim} For headings of lower rank typeset using the \verb+\subsubsection+ command. \begin{verbatim} \subsubsection{Middle Ages} \end{verbatim} \item Acknowledgments should be placed before the reference list. \begin{verbatim} \section{Acknowledgment} \end{verbatim} \item Citations and references should be formatted using the {\bf bibliography} environment with citation\footnote{\LaTeX\ manual, section 4.3.1.}, as shown in the {\tt segskeleton.tex} sample file. \item Appendices should be placed after the acknowledgments and the reference list. The appendices should be started by a {\tt\verb+\+appendix} command, and ordinary {\tt\verb+\+section} commands used to label each appendix. Appendices are automatically numbered as A, B, \ldots in the order of appearance. Equations in them are automatically numbered as (A-1), etc. % \item Figure and table captions can be placed anywhere in the paper using the {\bf figure}, {\bf plot} and {\bf table} environments. The {\bf plot} command is used to include encapsulated PostScript figures, and is described later in the manual. \end{enumerate} For a comprehensive listing see the example file {\tt segskeleton.tex}. \subsection{Additional Features:} Several more commands than usually encountered in \LaTeX\ are available within this style package. The sample file exercises a few specific macros. If you are interested, we encourage you to read the complete REV\TeX\ manual. \subsection{Adding New Macros} Some authors use specialized definitions, or macros, in their files. These definitions serve different purposes: some macros save the author from typing long character strings repetitively and some macros act as commands and environments to the \TeX\ program. The first kind of macros enables the author to replace a frequently used used long string by a shorter string. These macros are not very likely to cause trouble during the typesetting process. The second kind however, defines or redefines \TeX\ environments and can cause stylistic changes. Papers which define such environments are not eligible for electronic submission. Therefore we advise authors to restrain from using complicated macros and ask to suggest to the \GEO Editor the inclusion of their macros. \boxit{ Modifications to the {\tt seg.sty} file itself is not allowed, since it interferes with future enhancements of the style file. Instead, send your suggestions to the \GEO Editor. } \subsection{Figure Inclusion} Figures in PostScript format can be included into a {\tt\bf dvi} document. There are several \TeX\ packages that allow such an inclusion. We decided on using one of the most common ones namely {\tt epsf.sty} that comes with {\tt dvips}. It was written by T. Rockicki and can be ftp'd from {\tt labrea.stanford.edu} or many other sites that have \TeX\ . The SEG style file relies on having {\tt epsf.sty} installed and this will be the only package supported in seg.sty. {\tt epsf} takes encapsulated PostScript and includes it into your \TeX\ document. Be sure that your figures are {\bf encapsulated PostScript} (EPSF) figures. We encourage for PostScript figure inclusion to use the command {\tt \verb+\plot+} that is available in the SEG style file. This command takes three arguments: \begin{verbatim} \plot{file}{width=6.in,height=4.in}{caption....} \end{verbatim} Using this command has several effects. \begin{enumerate} \item A file with the name {\tt file.ps} is included. \item A label {\tt fig:file} is set for referencing, use \verb+\ref{fig:file}+. \item The figure is scaled to {\tt width=6.in} and {\tt height=6.in}. If only width is given then the height will be scaled accordingly, if only the height is given then the width will be scaled accordingly. If neither width nor height are given, then the figure will be scaled such that the figure width is the same as the text width. (Remember to leave no spaces in the comma separated list of the second argument.) \item A figure caption is produced. \end{enumerate} \noindent Using this plot macro will allow for easy expandability at a later time, while leaving the author unaffected. For simplicity we suggest that plot files should be called something like FIG1.ps, FIG2.ps, etc. When referencing a figure that is not included as an EPSF file, the {\bf figure} command \footnote{\LaTeX\ manual, sections 3.5.1 and C.8.1} should be used. (Using the {\bf plot} command without an included EPSF figure will result in a \LaTeX\ warning, but is otherwise harmless). The SEG style file will automatically place a list of figures at the end of the paper, irrespective of whether the {\bf figure} or {\bf plot} command is used. This list will be followed by the figures themselves if EPSF files are included. \end{document} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/segmaste.bib�����������������������������������������������������������������������0100644�0000764�0000764�00000007466�07267371705�015734� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@ARTICLE{lan66, author = {K[] K[] Landes}, journal = {AAPG Bull.}, title = {A scrutiny of the abstract, {II}}, volume = {50}, pages={1992}, year = {1966} } @ARTICLE{lindsey93, author = {J. P. Lindsey}, journal = {Geophysics}, title = {Instructions to authors}, volume = {58}, pages = {2-9}, year = {1993} } @ARTICLE{segarticle, author = {K[] L[] Zonge and J[] C[] Wynn}, journal = {Geophysics}, title = {{EM} coupling, its intrinsic value, its removal, and the cultural coupling problem}, volume = {40}, pages = {831--850}, year = {1975} } @ARTICLE{segmagazine, author = {J[] P[] Lindsey}, journal = {The Leading Edge}, title = {Measuring wavelet phase from seismic data}, volume = {7}, number = {7}, pages = {10-16}, year = {1988} } @BOOK{segbook, author = {P[] J[] Davis and P[] Rabinowitz}, title = {Methods of numerical integration}, year = {1975}, publisher ={Academic Press Inc.} } @INBOOK{inbook, author={D. W. Baker and N. L. Carter}, year={1972}, editor={ H. C. Heard and I. V. Borg and N. L. Carter and C. B. Raleigh}, title={Seismic velocity anisotropy calculated for ultramafic minerals and aggregates}, booktitle={Flow and fracture of rocks}, publisher={Am. Geophys. Union}, series={Geophys. Mono.}, volume={16}, pages={157-166} } @MASTERSTHESIS{segms, author = {G[unter] S[ergei] Lodha}, title = {Quantitative interpretation of ariborne electromagnetic response for a spherical model}, school = {University of Toronto}, year = {1974} } @INPROCEEDINGS{segtalk, author={T. P. Hubbard}, howpublished = {talk}, year= {1979}, title ={Deconvolution of surface recorded data using vertical seismic profiles}, meeting={49th Ann. Internat. Mtg.}, publisher={Soc. Expl. Geophys.}, } @INPROCEEDINGS{segabstract, author={S[ullivan] C[lay] Constable}, year= {1986}, title ={Offshore electromagnetic surveying techniques}, meeting={56th Ann. Internat. Mtg.}, booktitle={Expanded Abstracts}, publisher={Soc. Expl. Geophys.}, pages={81-82} } @ARTICLE{patent, author={N. Anstey}, title={Seismic delineation of oil and gas reservoirs using borehole geophones}, year={1976}, journal={Canadian Patents 1 106 957 and 1 114 937} } @PHDTHESIS{segphd, author = {J[oe] Dellinger}, title = {Anisotropic Wave Propagation}, school = {Stanford University}, year = {1990} } @ARTICLE{magazine3, author={M. M. Loveridge and G. E. Parkes and L. Hatton and M. H. Worthington }, title={Effects of Marine Source Array Directivity on Seismic Data and Source Signature Deconvolution}, year=1984, journal={First Break}, volume=2, number=7, pages={16-23} } @BOOK{lamport, author = {L[eslie] Lamport}, title = {{\LaTeX\ user's guide \& reference manual}}, year = {1985}, publisher ={Addison-Wesley Publishing Company} } @ARTICLE{Claerbout.sep.77.245, author={J[on] F[] Claerbout}, title={ Steep-dip deconvolution }, pages={245-256}, type={SEP-Report}, organization={SEP}, journal={Stanford Exploration Project Report}, year={1993}, volume={77} } @ARTICLE{Claerbout.sep.77.19, author={J[on] F[] Claerbout}, title={ 3-D local-monoplane annihilator}, pages={19-26}, type={SEP-Report}, organization={SEP}, year={1993}, journal={Stanford Exploration Project Report}, volume={77} } @ARTICLE{clr91, author = {J[on] F[] Claerbout}, journal = {The Leading Edge}, title = {A scrutiny of the introduction}, volume = {10}, number = {1}, pages = {39-41}, year = {1991} } @ARTICLE{smith11, author = {A[] B[] Smith and W[] E[] Wesson}, journal = {Texas Review}, title = {Better than four aces}, volume = {1}, pages = {1-10}, year = {1911} } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/segskele.tex�����������������������������������������������������������������������0100644�0000764�0000764�00000012475�07267371705�015766� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% segskeleton.tex \documentstyle[seg,manuscript]{revtex} % This line gives a manuscript style % %\documentstyle[seg]{revtex} % Uncomment this line for a preprint style. % %\documentstyle[seg,abstract]{revtex} % This line gives an expanded abstract style % %\documentstyle[seg,abstract,legalsize]{revtex} % same with 8.5x14 inch paper % needs less effort in cutting/pasting \begin{document} \bibliographystyle{seg} \title{A Prototype SEG Paper \\ -- The Skeleton} \author{Friends O. Geophysics} \address{Society of Exploration Geophysicists, P.O. Box 702740, Tulsa, OK 74170-2740} \author{Friends O. Interactive Documents} \address{Stanford Exploration Project, 366 Mitchell, Stanford, CA 94305-2215} \date{\today} \maketitle \begin{abstract} The abstract of the paper is the most important part. It is read by 100 times as many people as read the full paper. It should be understood by 100 percent of all who read it. Much has been written on the best way to write an abstract. The comments of Landes \shortcite{lan66} are particularly insightful. This manuscript uses the Rev\TeX\ style, a standard \LaTeX\ style used by many other scientific organizations. This skeleton file is prepared with the SEG style file. For further details consult Lindsey \shortcite{lindsey93}. Copy the files: {\tt revtex.sty} {\tt seg.sty} {\tt seg12.sty} {\tt seg10.sty} {\tt segbib.sty}, {\tt epsf.sty} and {\tt seg.bst} where you usually keep your \LaTeX\ style files, then run {\tt latex} as usual. Then view the document. \end{abstract} \section{Introduction} \label{sec:intro} The introduction goes here. In the ``The Leading Edge'', Claerbout \shortcite{clr91} offers helpful suggestions on writing the introduction. \section{Theory} \label{sec:theory} Pretty involved. Go to Appendix A to see details. \subsection{How to write equations} \label{sec:theory:subsec:how} \subsubsection{A~simple~equation} Equations can be written using the command: \newline \verb+\begin{equation}+ ... \verb+\end{equation}+ . \label{sec:theory:ssec:how:sssec:eqn} % \begin{equation} V_{MN}-V_{M^{ \prime }N}={{I} \over {4 \pi \sigma }} \left( {-{{2} \over {r_{AM}}}+{{2} \over {r_{AB}}}-{{2} \over {r_{BN}}}+{{2} \over {r_{MN}}}} \right) . \label{eqn:first} \end{equation} % If you want to have a set of equations label with ending letters use the \verb+\begin{mathletters} ... \end{mathletters}+ command: \begin{mathletters} \begin{equation} a = b \end{equation} ... and ... \begin{equation} \vector{c} \ne \tensor{d}. \end{equation} \end{mathletters} as \cite{smith11} should have derived. % \plot{segfig}{}{My first figure is an encapsulated PostScript (EPSF) figure that is included} % % this is roughly the equivalent of the above: %\begin{figure} %\epsfbox{segfig.ps} %\caption{My first figure is an encapsulated PostScript figure %that is included.} %\label{fig:segfig} %\end{figure} % % here is how you reference it: % Figure \ref{fig:segfig} is an encapsulated PostScript (EPSF) figure that can be included with the \verb+\{plot}+ command. Figure~\ref{fig:segfig3} shows what happens when a EPSF file isn't present. \begin{figure} %\rule{0in}{4in} \begin{picture}(275,90)(280,630) \put(280,710){\vector( 3,-1){234.500}} \put(280,710){\framebox{\ SEGTeX\ \segvector{V} \segtensor{T}}} \put(400,675){\circle{50}} \end{picture} \caption{My second figure doesn't have an encapsulated PostScript file, but is drawn within the \LaTeX\ picture environment.} \label{fig:segfig3} \end{figure} \section{Discussion} Let's discuss the previous sections. \section{Conclusions} It all is pretty simple, once you use the SEG style file in \LaTeX. Let's try something harder soon. \section{Acknowledgements} Thanks to {\it The Friends of Geophysics}: Brian Spies, Bill Harlan, Martin Karrenbach, Michael Prange. %%% the following line should be used when using bibtex, then citations will %%% be pulled in from the file called: segmaster.bib %%% %\bibliography{segmaster} %%% this block should be commented out when using bibtex %%% \begin{thebibliography}{} \bibitem[\protect\citeauthoryear{Lindsey}{1993}]{lindsey93} Lindsey, J. P, Jr., 1993, Instructions to authors: Geophysics, {\bf 58}, 2--9. \footnote{We encourage the use of BIB\TeX\ to create References. See the paper {\tt easybib.tex} for more details.} \bibitem[\protect\citeauthoryear{Claerbout}{1991}]{clr91} Claerbout, J. F., 1991, A scrutiny of the introduction: The Leading Edge, {\bf 10}, 39--40. \bibitem[\protect\citeauthoryear{Landes}{1966}]{lan66} Landes, K. K., 1966, A scrutiny of the abstract, {II}: AAPG Bull., {\bf50}, 1992. \bibitem[\protect\citeauthoryear{Smith and Wesson}{1911}]{smith11} Smith, A. B., and Wesson, W. E, 1911, Better than four aces: Texas Review, {\bf 1}, 1--10. \end{thebibliography} %%% \appendix \section{A Small Appendix} \label{app:first} This is where the first appendix would go. \plot{segfig2}{}{My third figure is in appendix \protect\ref{app:first}.} \begin{equation} a=b \label{eqn:AAA} \end{equation} yet \begin{equation} c=d. \end{equation} Compare equation \ref{eqn:first} to equation \ref{eqn:AAA} and enjoy figure \ref{fig:segfig2}. \section{A Second Appendix} This is where a second appendix would go. \begin{table} \caption{First table.} \label{tab:1} \end{table} \begin{table} \caption{Second table.} \label{tab:2} \end{table} \end{document} ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/seg.sty����������������������������������������������������������������������������0100644�0000764�0000764�00000115634�07267371705�014762� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%% ====================================================================== %%% @LaTeX-style-file{ %%% filename = "seg.sty", %%% version = "0.9", %%% date = "September 9, 1993", %%% ISO-date = "1993.9.9", %%% time = "00.00.00", %%% author = "Martin Karrenbach", %%% contact = "Stanford Exploration Project", %%% address = "366 Mitchell %%% Stanford, CA 94305", %%% telephone = "(415) 723-6007", %%% email = "martin@sep.stanford.edu (Internet)", %%% supported = "maybe", %%% archived = "not yet", %%% keywords = "REVTeX, version 3.0, main style, %%% Society of Exploration Geophysicists", %%% codetable = "ISO/ASCII", %%% docstring = "This is the main society-specific style file for %%% the Society of Exploration Geophysicists %%% under REVTeX 3.0 %%% (release of September 9, 1993)." %%% %%% ====================================================================== % ****** Start of file seg.sty ****** % % % This file is part of the SEG files in the REVTeX 3.0 distribution. % Version 3.0 of REVTeX, November 10, 1992. % % Copyright (c) 1992 The Society of Exploration Geophysicist. % % See the REVTeX 3.0 README file for restrictions and more information. % \typeout{Filename: seg.sty, v0.9 <9 September 1993>} \def\partname{Part} \def\contentsname{Contents} \def\listfigurename{FIGURES} \def\listtablename{TABLES} \def\refname{REFERENCES} \def\indexname{Index} \def\figurename{FIG.} \def\tablename{TABLE} \def\abstractname{\bf ABSTRACT} \newif\iffirstfig \global\firstfigtrue \newif\iffirsttab \global\firsttabtrue \newif\ifflushfiguretoend \global\flushfiguretoendfalse \ifpreprintsty\global\flushfiguretoendtrue\else\fi \ifsegabssty\global\flushfiguretoendfalse\else\fi \def\tightenlines{\def\baselinestretch{1}\small\normalsize} \let\tighten\tightenlines \ifx\selectfont\undefined % \@revmess{message}{NFSS not detected. Assuming OFSS.} \let\reset@font\relax \def\mathhexbox{\protect\mathhexbox@} \def\mathhexbox@#1#2#3{\relax \ifmmode\mathpalette{}{\m@th\mathchar"#1#2#3}% \else\leavevmode\hbox{$\m@th\mathchar"#1#2#3$}\fi} \def\text#1{% \relax \ifmmode % \mathchoice {\hbox{\everymath{\displaystyle}\rm #1}}% {\hbox{\everymath{\textstyle}\rm #1}}% {\hbox{\everymath{\scriptstyle}% \def\prm{\fam\z@ \the\scriptfont\z@ \relax}% \def\pit{\fam\itfam \the\scriptfont\itfam \relax}% \rm #1}% }% {\hbox{\everymath{\scriptscriptstyle}% \def\prm{\fam\z@ \the\scriptscriptfont\z@ \relax}% \def\pit{\fam\itfam \the\scriptscriptfont\itfam \relax}% \rm #1}% }% \else % \leavevmode\hbox{#1}% \fi } \def\bbox#1{% \leavevmode\text{% \textfont0 \the\textfont\bffam \scriptfont0 \the\scriptfont\bffam \scriptscriptfont0 \the\scriptscriptfont\bffam \@temptokena\everymath \boldmath \everymath\@temptokena {$\m@th\relax#1$}% }% } \font\fivbf=cmbx5 \font\sixbf=cmbx6 \font\sevbf=cmbx7 \font\egtbf=cmbx8 \expandafter\def\expandafter\ixpt\expandafter{\ixpt \scriptfont\bffam\sixbf \scriptscriptfont\bffam\fivbf} \expandafter\def\expandafter\xpt\expandafter{\xpt \scriptfont\bffam\sevbf \scriptscriptfont\bffam\fivbf} \expandafter\def\expandafter\xipt\expandafter{\xipt \scriptfont\bffam\egtbf \scriptscriptfont\bffam\sixbf} \expandafter\def\expandafter\xiipt\expandafter{\xiipt \scriptfont\bffam\egtbf \scriptscriptfont\bffam\sixbf} \expandafter\def\expandafter\xivpt\expandafter{\xivpt \scriptfont\bffam\tenbf \scriptscriptfont\bffam\sevbf} \else % \@revmess{message}{NFSS detected! Assuming NFSS.} \def\text#1{% \relax\ifmmode \mathchoice {\hbox{{\everymath{\displaystyle}#1}}}% {\hbox{{\everymath{\textstyle}#1}}}% {\hbox{{\everymath{\scriptstyle}\let\f@size\sf@size\selectfont#1}}}% {\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}% \glb@settings \else \mbox{#1}% \fi } \def\bbox#1{% \relax\ifmmode \mathchoice {{\hbox{\boldmath$\displaystyle#1$}}}% {{\hbox{\boldmath$\textstyle#1$}}}% {{\hbox{\boldmath$\scriptstyle#1$}}}% {{\hbox{\boldmath$\scriptscriptstyle#1$}}}% \glb@settings \else \mbox{#1}% \fi } \def\mathhexbox{\protect\mathhexbox@} \def\mathhexbox@#1#2#3{\relax \ifmmode\mathpalette{}{\m@th\mathchar"#1#2#3}% \else\leavevmode\hbox{$\m@th\mathchar"#1#2#3$}\fi} \fi \input seg1\@ptsize.sty\relax \def\@chuckoptarg[#1]{} \def\alph#1{\@alph{\@nameuse{c@#1}}} \def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi} \def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi} \let\slantfrac\frac %\def\ao{Appl.\ Opt.\ } %\def\ap{Appl.\ Phys.\ } %\def\apl{Appl.\ Phys.\ Lett.\ } %\def\apj{Astrophys.\ J.\ } %\def\bell{Bell Syst.\ Tech.\ J.\ } %\def\jqe{IEEE J.\ Quantum Electron.\ } %\def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.\ } %\def\aprop{IEEE Trans.\ Antennas Propag.\ } %\def\mtt{IEEE Trans.\ Microwave Theory Tech.\ } %\def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.\ } %\def\jcp{J.\ Chem.\ Phys.\ } %\def\jmo{J.\ Mod.\ Opt.\ } %\def\josa{J.\ Opt.\ Soc.\ Am.\ } %\def\josaa{J.\ Opt.\ Soc.\ Am.\ A } %\def\josab{J.\ Opt.\ Soc.\ Am.\ B } %\def\jpp{J.\ Phys.\ (Paris) } %\def\nat{Nature (London) } %\def\oc{Opt.\ Commun.\ } %\def\ol{Opt.\ Lett.\ } %\def\pl{Phys.\ Lett.\ } %\def\pra{Phys.\ Rev.\ A } %\def\prb{Phys.\ Rev.\ B } %\def\prc{Phys.\ Rev.\ C } %\def\prd{Phys.\ Rev.\ D } %\def\pre{Phys.\ Rev.\ E } %\def\prl{Phys.\ Rev.\ Lett.\ } %\def\rmp{Rev.\ Mod.\ Phys.\ } %\def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.\ } %\def\sjqe{Sov.\ J.\ Quantum Electron.\ } %\def\vr{Vision Res.\ } \def\labelenumi{\theenumi.} \def\theenumi{\arabic{enumi}} \def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}} \def\p@enumii{\theenumi} \def\labelenumiii{\theenumiii.} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{\theenumiv.} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} \def\labelitemi{$\m@th\bullet$} \def\labelitemii{\bf --} \def\labelitemiii{$\m@th\ast$} \def\labelitemiv{$\m@th\cdot$} \def\verse{\let\\=\@centercr \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} \let\endverse\endlist \def\quotation{\list{}{\listparindent 1.5em \itemindent\listparindent \rightmargin\leftmargin \parsep \z@ plus\p@}\item[]} \let\endquotation=\endlist \def\quote{\list{}{\rightmargin\leftmargin}\item[]} \let\endquote=\endlist \def\descriptionlabel#1{\hspace\labelsep \bf #1} \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} \let\enddescription\endlist \def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn \else \newpage \fi \thispagestyle{empty}\c@page\z@} \def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} \arraycolsep 3pt % \tabcolsep 2pt % \arrayrulewidth .4pt % \doublerulesep 2pt % \tabbingsep \labelsep % \skip\@mpfootins = \skip\footins \fboxsep = 3pt % \fboxrule = .4pt % \newcounter{part} \newcounter{section} \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph] \def\thepart {\Roman{part}} % \def\thesection {\Roman{section}} \def\p@section {} \def\thesubsection {\Alph{subsection}} %\def\p@subsection {\thesection\,} \def\p@subsection {} \def\thesubsubsection {\arabic{subsubsection}} \def\p@subsubsection {\thesection\,\thesubsection\,} \def\theparagraph {\alph{paragraph}} \def\thesubparagraph {\theparagraph.\arabic{subparagraph}} \def\acknowledgments{\section*{ACKNOWLEDGMENTS}} \let\acknowledgements\acknowledgments %%% Martin this has a few changes to get rid of sec numbers in sec titles \gdef\tempc{}% that should be @tempc \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty\else \refstepcounter{#1}% \def\@tempa{#8}% \ifappendixon\if@mainhead\ifsegabssty\else\ifpreprintsty\newpage\fi\fi\fi\fi% %%%%\ifappendixon\ifpreprintsty\if@mainhead\newpage\fi\fi\fi% \ifx\@tempa\empty % \ifappendixon% \if@mainhead% \def\@tempa{APPENDIX }\def\@tempb{}% \else% %\def\@tempa{}\def\@tempb{. }% \def\@tempa{}\def\@tempb{}% \fi% \else % %\def\@tempa{}\def\@tempb{. }% \def\@tempa{}\def\@tempb{}% \fi \else % \ifappendixon% \if@mainhead% %\def\@tempa{APPENDIX }\def\@tempb{--}% \def\@tempa{APPENDIX }\def\@tempb{\thesection--}% \else % %\def\@tempa{}\def\@tempb{. }% \def\@tempa{}\def\@tempb{}% \fi \else % %\def\@tempa{}\def\@tempb{. }% \def\@tempa{}\def\@tempb{}% \fi \fi %\edef\@svsec{\@tempa\csname the#1\endcsname\@tempb}\fi \edef\@svsec{\@tempa\@tempb}% \gdef\tempc{\if@subsubhead.---\fi} %%% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax {\hskip #3\relax\@svsec}{\interlinepenalty \@M %%% MARTIN %\if@mainhead\uppercase{#8}\else#8\fi\par}% \if@mainhead\uppercase{#8}\else#8\fi\tempc\par}% %%% \endgroup \csname #1mark\endcsname{#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}\else \def\@svsechd{#6\hskip #3\relax % %%% Martin %\@svsec \if@mainhead\uppercase{#8}\else#8\fi \@svsec \if@mainhead\uppercase{#8}\else#8\tempc\fi %%% \csname #1mark\endcsname {#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}}\fi \@xsect{#5}} \def\@ssect#1#2#3#4#5{\@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup #4{\hskip #1}{\interlinepenalty \@M \ifappendixon \if@mainhead % \stepcounter{section}% \def\@tempa{#5}% \ifx\@tempa\empty % APPENDIX% \else % APPENDIX:\ % \fi \fi \fi %%% Martin %\if@mainhead\uppercase{#5}\else#5\fi\par}\endgroup \if@mainhead\uppercase{#5}\else#5\fi\tempc\par}\endgroup %%% \else \def\@svsechd{#4\hskip #1\relax \ifappendixon \if@mainhead % \stepcounter{section}% \def\@tempa{#5}% \ifx\@tempa\empty % APPENDIX% \else % APPENDIX:\ % \fi \fi \fi %%% Martin %\if@mainhead\uppercase{#5}\else#5\fi}\fi \if@mainhead\uppercase{#5}\else#5\tempc\fi}\fi %%% \@xsect{#3}} \def\part{\par % \addvspace{4ex} % \@afterindentfalse % \secdef\@part\@spart} % \def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne % \refstepcounter{part} % \addcontentsline{toc}{part}{\thepart % \hspace{1em}#1}\else % \addcontentsline{toc}{part}{#1}\fi % {\parindent \z@ \raggedright \interlinepenalty\@M \ifnum \c@secnumdepth >\m@ne % \Large \bf \partname~\thepart% \par\nobreak % \fi % \huge \bf % #2% \markboth{}{}\par % }\nobreak % \vskip 3ex % \@afterheading % } % \def\@spart#1{{\parindent \z@ \raggedright \interlinepenalty\@M \huge \bf #1\par} % \nobreak % \vskip 3ex % \@afterheading % } % \newcount\@indentflag \global\@indentflag=1 % \newdimen\@eqtoeqnum \@eqtoeqnum=6pt % \def\@indentamount{% \ifcase\@indentflag 0pt\or\@centering\or0pt plus1fil\fi\relax } \def\FL{\global\@indentflag=0 } \def\FR{\global\@indentflag=2 } \newcounter{eqletter} \setcounter{eqletter}{0} \def\@eqnnum{\hbox{\reset@font\rm(\theequation)}} \let\make@eqnnum=\@eqnnum % \def\eqnum#1{\dec@eqnnum \global\def\make@eqnnum{\reset@font\rm(#1)}% \def\@currentlabel{#1}% } \def\inc@eqnnum{\addtocounter{equation}{1}} \def\dec@eqnnum{\addtocounter{equation}{-1}} \@definecounter{equation}% \ifsecnumbers % \@addtoreset{equation}{section} % \def\theequation@prefix{\arabic{section}.} % \else % \def\theequation@prefix{} \fi \def\theequation{\theequation@prefix\arabic{equation}}% \def\mathletters{% \inc@eqnnum \setcounter{eqletter}{0}% \edef\@currentlabel{\theequation}% \def\theequation{\theequation@prefix\arabic{equation}\alph{eqletter}}% \def\inc@eqnnum{\addtocounter{eqletter}{1}}% \def\dec@eqnnum{\addtocounter{eqletter}{-1}}% } \let\endmathletters\relax \def\[{\relax \ifmmode\@badmath\else\par\vskip-\lastskip\vskip\abovedisplayskip\fi \hbox to\hsize\bgroup \def\label##1{\@revmess{warning}{\string\label{##1} used in \string\[\space environment after (\theequation)}}% \hskip\@totalleftmargin\hskip\@indentamount$\displaystyle } \def\]{\relax \ifmmode $\hskip\@centering\egroup \else \@badmath \fi \vskip\belowdisplayskip \global\@indentflag=1 % \noindent\ignorespaces } \newbox\@testboxa \newbox\@testboxb \def\equation{\par\vskip-\lastskip\vskip\abovedisplayskip \inc@eqnnum\let\@currentlabel=\theequation \setbox\@testboxa=\hbox\bgroup\hskip\@totalleftmargin\hskip\@indentamount \hbox\bgroup$\displaystyle } \def\endequation{$\egroup\hskip\@centering\egroup % \setbox\@testboxb=\hbox{\make@eqnnum}% \bgroup \@tempdima\wd\@testboxa \advance\@tempdima by\wd\@testboxb \ifcase\@indentflag \advance\@tempdima by\@eqtoeqnum \ifdim\@tempdima<\hsize % \def\@tempa{0}% \else \def\@tempa{1}% \fi \or \advance\@tempdima by2\@eqtoeqnum \ifdim\@tempdima<\hsize % \def\@tempa{0}% \else % \@tempdima\wd\@testboxa \advance\@tempdima by\wd\@testboxb \advance\@tempdima by\@eqtoeqnum \ifdim\@tempdima<\hsize % \def\@tempa{0}% \setbox\@testboxa\hbox{\hfill\box\@testboxa\kern\@eqtoeqnum}% \else \def\@tempa{1}% \fi \fi \or \advance\@tempdima by2\@eqtoeqnum \ifdim\@tempdima<\hsize % \def\@tempa{0}% \setbox\@testboxb=\hbox{\kern\@eqtoeqnum\make@eqnnum}% \else \def\@tempa{1}% \fi \fi \ifnum\@tempa=0 % \hbox to\hsize{\unhbox\@testboxa\box\@testboxb}% \else % \vbox{\hbox to\hsize{\unhbox\@testboxa}% \vskip6pt % \hbox to\hsize{\hfil\box\@testboxb}}% \fi \egroup \global\let\make@eqnnum\@eqnnum % \vskip\belowdisplayskip\noindent\global\@indentflag=1 \global\@ignoretrue } \def\eqnarray{\par\vskip-\lastskip\vskip\abovedisplayskip \inc@eqnnum\let\@currentlabel=\theequation \global\@eqnswtrue\m@th \global\@eqcnt\z@ \tabskip\@totalleftmargin\advance\tabskip by\@indentamount\let\\\@eqncr \halign to\hsize\bgroup\hskip\@centering $\displaystyle\tabskip\z@{##{}}$&\global\@eqcnt\@ne \hfil${{}##{}}$\hfil &\global\@eqcnt\tw@ $\displaystyle\tabskip\z@{##}$\hfil \tabskip\@centering \if@eqnsw\phantom{\make@eqnnum\kern\@eqtoeqnum}\fi &\llap{##}\tabskip\z@\cr} \def\endeqnarray{% \@@eqncr\egroup \vskip\belowdisplayskip\noindent \dec@eqnnum\global\@indentflag=1 \global\let\make@eqnnum\@eqnnum % \global\@ignoretrue } \def\nonumber{\global\@eqnswfalse \def\label##1{\@revmess{error}{\string\label{##1} used with \string\nonumber\space before (\theequation)}}% } \def\@@eqncr{\let\@tempa\relax \ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa{& &}% \else \def\@tempa{&}\fi \@tempa \if@eqnsw\make@eqnnum\inc@eqnnum\fi \global\@eqnswtrue\global\@eqcnt\z@\global\let\make@eqnnum=\@eqnnum\cr } \@namedef{eqnarray*}{\def\@eqncr{\nonumber\@seqncr}% \def\label##1{\@revmess{warning}{\string\label{##1} used in eqnarray* environment before (\theequation)}}% \eqnarray} \def\@pnumwidth{1.55em} \def\@tocrmarg {2.55em} \def\@dotsep{4.5} \setcounter{tocdepth}{3} \def\tableofcontents{\section*{\contentsname \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}% \@starttoc{toc}} \def\l@part#1#2{\addpenalty{\@secpenalty}% \addvspace{2.25em plus\p@}% \begingroup \@tempdima 3em % \parindent \z@ \rightskip \@pnumwidth % \parfillskip -\@pnumwidth {\large \bf % \leavevmode % #1\hfil \hbox to\@pnumwidth{\hss #2}}\par \nobreak % \endgroup} \def\l@section#1#2{\addpenalty{\@secpenalty}% \addvspace{1.0em plus\p@}% \@tempdima 3.0em % \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \bf % \leavevmode % \advance\leftskip\@tempdima % \hskip -\leftskip % #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par \endgroup} \def\l@subsection{\@dottedtocline{2}{3.0em}{2.0em}} \def\l@subsubsection{\@dottedtocline{3}{5.0em}{1.5em}} \def\l@paragraph{\@dottedtocline{4}{6.5em}{1.5em}} \def\l@subparagraph{\@dottedtocline{5}{8.0em}{1.5em}} %%% change the contents line %%% Martin %\def\listoffigures{\section*{\listfigurename %\@mkboth{\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}% %\@starttoc{lof}} \def\listoffigures{% \ifsegabssty\else% %\ifnum\c@figure>0% \newpage\centerline{\bf\large\listfigurename}\@starttoc{lof} %\fi \fi% } %\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} \def\l@figure#1#2{\noindent\figurename~#1} \def\numberline#1#2{#1. #2\newline\newline} \def\listoftables{ \ifsegabssty\else% \section*{\listtablename\@mkboth {\uppercase{\listtablename}}{\uppercase{\listtablename}}}% \@starttoc{lot} \fi% } \def\l@table#1#2{\tablename~#1} \input segbib.sty \newif\if@restonecol \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi \columnseprule \z@ \columnsep 35\p@\twocolumn[\section*{\indexname}]% \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}% \thispagestyle{plain}\parindent\z@ \parskip\z@ plus.3\p@\relax\let\item\@idxitem} \def\@idxitem{\par\hangindent 40\p@} \def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}} \def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}} \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} \long\def\@makefntext#1{\parindent 5pt\hsize\columnwidth\parskip0pt\relax \small\def\strut{\vrule width0pt height0pt depth1.75pt\relax}% $\m@th^{\@thefnmark}$#1} \def\thefootnote{\fnsymbol{footnote}} \def\@fnsymbol#1{\ifcase#1\or *\or \dagger\or \ddagger\or \mathchar "278\or **\or \dagger\dagger \or \ddagger\ddagger \or \mathchar "278 \mathchar "278\or ***\or\dagger\dagger\dagger\or\ddagger\ddagger\ddagger\or \mathchar "278 \mathchar "278 \mathchar "278 \else\@ctrerr\fi\relax} \setcounter{topnumber}{2} \def\topfraction{.7} \setcounter{bottomnumber}{1} \def\bottomfraction{.3} \setcounter{totalnumber}{3} \def\textfraction{.2} \def\floatpagefraction{.5} \setcounter{dbltopnumber}{2} \def\dbltopfraction{.7} \def\dblfloatpagefraction{.5} \long\def\@makecaption#1#2{% \setbox\@testboxa\hbox{\outertabfalse % \reset@font\small\rm#1\penalty10000\hskip.5em plus.2em\ignorespaces#2% }% \setbox\@testboxb\vbox{\hsize\@capwidth \ifdim\wd\@testboxa<\hsize % %%% Martin %\hbox to\hsize{\hfil\box\@testboxa\hfil}% %%% \hbox to\hsize{\box\@testboxa\hfil}% \else % \small \parindent \ifpreprintsty 1.5em \else 1em \fi \unhbox\@testboxa\par \fi }% \box\@testboxb } % \newcounter{figure} \def\thefigure{\@arabic\c@figure} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{\figurename\penalty10000\hskip.3em plus .1em\relax\thefigure.} \if@floats \def\figure{\let\@capwidth\columnwidth\@float{figure}} \let\endfigure\end@float \@namedef{figure*}{\let\@capwidth\textwidth\@dblfloat{figure}} \@namedef{endfigure*}{\end@dblfloat} \else \def\figure{% \let\@capwidth\columnwidth \ifsegabssty\else \ifpreprintsty\iffirstfig \newpage\global\firstfigfalse \fi\clearpage\fi \fi \vskip1pc \def\@captype{figure}% \interlinepenalty10000 % \@ifnextchar[{\@chuckoptarg}{}% }% \def\endfigure{\goodbreak\vskip1pc}% \@namedef{figure*}{\figure}% \@namedef{endfigure*}{\endfigure}% \fi \newcounter{table} %%% Martin %\def\thetable{\@Roman\c@table} \def\thetable{\@arabic\c@table} %%% {\catcode`\.=13 % \gdef.{\relax\egroup\def\@flag{1}\setbox1\hbox\bgroup}% }% \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{\tablename\penalty10000\hskip.3em plus .1em\relax\thetable.} \if@floats \def\table{% \let\@capwidth\columnwidth \def\@tablenotes{}% \global\tableontrue \bgroup\parindent=0pt \outertabtrue \setcounter{tablenote}{0}% \@float{table}% }% \def\endtable{% \global\tableonfalse\global\outertabfalse {\let\protect\relax\small\vskip2pt\@tablenotes\par}\xdef\@tablenotes{}% \end@float\egroup }% \@namedef{table*}{% \let\@capwidth\textwidth \def\@tablenotes{}% \global\tableontrue \bgroup\parindent=0pt \outertabtrue \setcounter{tablenote}{0}% \@dblfloat{table}% } \@namedef{endtable*}{% \global\tableonfalse\global\outertabfalse {\let\protect\relax\small\vskip2pt\@tablenotes\par}\xdef\@tablenotes{}% \end@dblfloat\egroup }% \else % \def\table{% \let\@capwidth\columnwidth \def\@tablenotes{}% \iffirsttab \global\firsttabfalse \ifsegabssty\else \ifpreprintsty{\newpage\centerline{\bf TABLES}}\fi\fi \fi \vskip1pc \global\tableontrue \bgroup\parindent=0pt \outertabtrue \setcounter{tablenote}{0}% \def\@captype{table}% \@ifnextchar[{\@chuckoptarg}{}% }% \def\endtable{% \global\tableonfalse\global\outertabfalse {\let\protect\relax\small\vskip2pt\@tablenotes\par}\xdef\@tablenotes{}% \egroup \vskip1pc plus 1filll \penalty-200 \vskip0pt plus -1filll }% \@namedef{table*}{\table} \@namedef{endtable*}{\endtable} \fi \@definecounter{tablenote} \def\thetablenote{\alph{tablenote}} \def\@tablenotes{} \def\@maketnmark{\leavevmode\hbox{$^{\reset@font\rm\@thetnmark}\m@th$}} \def\tablenote{\@ifnextchar[{\@xtablenote}{\stepcounter{tablenote}% \begingroup \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark\@tablenotetext}} \def\@xtablenote[#1]{\begingroup \c@tablenote #1\relax \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark\@tablenotetext} \long\def\@tablenotetext#1{% \bgroup \iftableon\else \@revmess{error}{tablenotes used outside a table environment,}% \typeout{\space\space\space\space\space THEY ARE ARE BEING LOST!}% \fi \def\protect{\noexpand\protect\noexpand}% \edef\@tempa{\@maketnmark}% \expandafter\expandafter\expandafter \gdef \expandafter\expandafter\expandafter \@tablenotes \expandafter\expandafter\expandafter {\expandafter\@tablenotes\expandafter\par\@tempa#1}% \egroup } \def\tablenotemark{% \@ifnextchar[{\@xtablenotemark}{\stepcounter{tablenote}% \begingroup\def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark}} \def\@xtablenotemark[#1]{\begingroup \c@tablenote #1\relax \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotemark} \def\@tablenotemark{\leavevmode\ifhmode \edef\@x@sf{\the\spacefactor}\fi \@maketnmark \ifhmode\spacefactor\@x@sf\fi\relax} \def\tablenotetext{\@ifnextchar [{\@xtablenotetext}% {\begingroup \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotetext}} \def\@xtablenotetext[#1]{\begingroup \c@tablenote #1\relax \def\protect{\noexpand\protect\noexpand}% \xdef\@thetnmark{\thetablenote}\endgroup \@tablenotetext} \let\tableline\hline \newdimen\@Ldec \newdimen\@Rdec \def\dec #1.#2 {\hbox to\@Ldec{\hss#1}\def\test{#2}% \ifx\test\empty\hbox to\@Rdec{\hfill}\else\hbox to\@Rdec{.#2\hss}\fi } \def\setdec #1.#2 {\relax% \bgroup \setbox0\hbox{\kern1pt\relax#1}\setbox1\hbox{\kern1pt\relax#2}% \global\@Ldec\wd0\global\@Rdec\wd1% \egroup } \setdec 000.000 % \@temptokena={\relax\egroup \ifnum\@flag=1 \setbox0\hbox{\unhbox0.\unhbox1}% \fi \gdef\@flag{1}\setbox1\hbox\bgroup }% {\catcode`\.=13\let.\relax \xdef\@defdot{\def.{\the\@temptokena}} } \@temptokena={.} {\catcode`\.=13 \ifx.\undefined % \xdef.{\the\@temptokena} \fi } \def\@activatedots{% \def\@startcenterdot{\begingroup \relax\gdef\@flag{0 } \catcode`\.=13\@defdot \setbox0\hbox\bgroup\ignorespaces}% \def\@endcenterdot{\unskip\egroup\catcode`\.=12 \ifnum\@flag=0 % \box0 \else % \ifdim\wd0=0pt % .\box1 \else \ifdim\wd1=0pt % \setbox1=\hbox{\phantom{.\copy0}}\box0\box1 \else % \ifdim\wd0>\wd1 \setbox1\hbox to\wd0{\box1\hfil}% \else \setbox0\hbox to\wd1{\hfil\box0}% \fi \box0.\box1 \fi \fi \fi \endgroup}% } \def\apstable@array[#1]#2{\setbox\@arstrutbox=\hbox{\vrule height\arraystretch \ht\strutbox depth\arraystretch \dp\strutbox width\z@}\@mkpream{#2}\edef\@preamble{\tabskip\z@ plus 1fil\halign to\@capwidth% \bgroup \tabskip\z@ plus1fill \@arstrut \@preamble\hskip-\tabcolsep \tabskip\z@ plus 1fil \cr}% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox% \bgroup\let\par\relax\outertabfalse% \let\@sharp##\let\protect\relax \@activatedots \lineskip\z@\baselineskip\z@\@preamble} \def\@array[#1]#2{\setbox\@arstrutbox=\hbox{\vrule height\arraystretch \ht\strutbox depth\arraystretch \dp\strutbox width\z@}\@mkpream{#2}\edef\@preamble{\halign\noexpand\@halignto \bgroup\tabskip\z@\@arstrut\@preamble \tabskip\z@\cr}% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox% \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi% \bgroup\let\par\relax% \let\@sharp##\let\protect\relax \@activatedots \lineskip\z@\baselineskip\z@\@preamble} \def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi \edef\@preamble{\@preamble \ifcase \@chnum \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil \or \hfil$\relax\@sharp$\or \hfil$\relax\@sharp$\hfil \fi}} \def\@tabclassz{\ifcase \@lastchclass\@acolampacol \or \@ampacol \or \or \or \@addamp \or \@acolampacol\or \@firstampfalse \new@tabacol \fi \edef\@preamble{\@preamble{% \ifcase \@chnum \hfil\ignorespaces\@sharp\unskip\hfil \or \ignorespaces\@sharp\unskip\hfil \or \hfil\hskip\z@ \ignorespaces\@sharp\unskip \or\hfil\@startcenterdot\@sharp\@endcenterdot\hfil \fi}}} \def\@tabclassiv{\@addtopreamble\@nextchar} \let\tabbodyfont\small \def\squeezetable{\let\tabbodyfont\scriptsize} \def\tabular{\def\@halignto{}\@tabular} \newif\ifoutertab \global\outertabfalse \def\@tabular{% \ifoutertab \tabbodyfont\global\@newlistfalse\bgroup \else \leavevmode\hbox\bgroup$% \fi \let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr \ifoutertab \if@quasitable\else \vskip2pt\hrule width\@capwidth\vskip2pt\hrule width\@capwidth\vskip2pt \fi \expandafter\apstable@tabarray \else \expandafter\@tabarray \fi } \def\apstable@tabarray{% \m@th\@ifnextchar[{\apstable@array}{\apstable@array[c]}% } \def\endtabular{\crcr\egroup\egroup \ifoutertab \if@quasitable\else \vskip2pt\hrule width\@capwidth\vskip2pt\hrule width\@capwidth\vskip2pt \fi \else $% \fi \egroup } \def\new@tabacol{\edef\@preamble{\@preamble \hskip0pt% }} \newif\iftableon \def\@mkpream#1{\@firstamptrue\@lastchclass6 \def\@preamble{}% \def\protect{\noexpand\protect\noexpand}\let\@sharp\relax \let\@startpbox\relax\let\@endpbox\relax \let\@startcenterdot\relax \let\@endcenterdot\relax \@expast{#1}\expandafter\@tfor \expandafter \@nextchar \expandafter:\expandafter=\@tempa\do{\@testpach\@nextchar \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or\@classv \fi% \iftableon\ifoutertab % \ifnum\@chclass=4 \@addtopreamble{\tabskip\z@}% \else \ifnum\@lastchclass=4 \@addtopreamble{\tabskip\z@ plus1fill}% \fi \fi \fi\fi \@lastchclass\@chclass}% \ifcase \@lastchclass \@acol \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi} \def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else \ifnum \@lastchclass=3 5 \else \z@ \if #1c\@chnum \z@ \else \if #1l\@chnum \@ne \else \if #1r\@chnum \tw@ \else \if #1d\@chnum 3 \else % \@chclass \if #1|\@ne \else \if #1@\tw@ \else \if #1p3 \else \z@ \@preamerr 0\fi \fi \fi \fi \fi \fi \fi \fi % \fi} \newif\if@quasitable \@quasitablefalse \def\quasitable{% \@quasitabletrue \par\vskip\topsep \bgroup \def\caption##1{\@revmess{warning}{Captions are not supported for quasitables.}\@revmess{warning}{No caption was set.}}% \def\tablenotes##1{\@revmess{warning}{Tablenotes are not supported for quasitables.}% \@revmess{warning}{No tablenotes were set.}}% \let\@capwidth\columnwidth \tableontrue\outertabtrue\parindent0pt\relax} \def\endquasitable{\par\egroup\vskip\topsep\noindent \@quasitablefalse \global\@ignoretrue} \def\@authoraddress{} \def\@title{} \def\@date{} \def\@preprint{} \def\and{\unskip, } \def\preprint#1{% \ifpreprintsty \def\@preprint{\noindent\hfill\hbox{#1}\vskip 10pt}% \fi } \def\title#1{\gdef\@title{{\large\bf\centering\ignorespaces#1\vskip2.5pt}}} %%% Martin this author stuff is all new \newcount\authorcount \authorcount=0 \newcount\tempcount \newcount\authornum \def\author#1{% \global\advance\authorcount by 1 \expandafter\gdef\csname author\romannumeral\authorcount\endcsname {\bf\ignorespaces#1}% } \newcount\addresscount \addresscount=0 \newcount\addressnum \def\address#1{\global\advance\addresscount by 1 \expandafter\gdef\csname address\romannumeral\addresscount\endcsname {\ignorespaces#1}} \def\@authoraddress{% \ifpreprintsty % \def\@putauthor{{\csname author\romannumeral\authornum\endcsname}\vskip 1.5pc}% % \def\@putaddress{{\it\csname address\romannumeral\authornum\endcsname}\vskip 1.5pc}% \else % \def\@putauthor{\csname author\romannumeral\authornum\endcsname}% % \def\@putaddress{\footnote{\csname address\romannumeral\authornum\endcsname}}% % \fi % \rm\centering\vskip1.5pc% \nobreak \global\addressnum=0 \global\authornum=0 \global\tempcount=\authorcount \ifnum\tempcount>1 \advance\tempcount by -1 \fi \ifpreprintsty{% \loop \ifnum\authornum<\tempcount \global\advance\authornum by 1% \@putauthor% \ifnum\authorcount=\addresscount% \@putaddress% \fi% \repeat% }\else{% \loop\ifnum\authornum<\tempcount \global\advance\authornum by 1% \ifnum\authornum=0\else{, }\fi% \@putauthor% \ifnum\authorcount=\addresscount% \@putaddress% \fi \repeat% }\fi% % \loop\ifnum\authornum<\authorcount\global\advance\authornum by 1% \ifpreprintsty{% \@putauthor \ifnum\authornum=\addresscount% \@putaddress\fi \ifnum\authornum>\addresscount% \advance\addresscount by 1 \advance\addressnum by 1% \@putaddress\fi }\else{% { and }% \@putauthor% \ifnum\authornum=\addresscount% \@putaddress\fi \ifnum\authornum>\addresscount% \advance\addresscount by 1 \advance\addressnum by 1% \@putaddress\fi }\fi% \repeat% \global\addresscount=0\global\authorcount=0% \par% } \def\date#1{\gdef\@date{{\small\rm\centering(\ignorespaces#1\unskip)\par}}} \def\maketitle{\par \begingroup \let\cite\@bylinecite \def\thefootnote{\fnsymbol{footnote}}% \if@twocolumn \twocolumn[\@maketitle\vskip2pc]% \else \newpage \global\@topnum\z@ % \@maketitle \fi \thispagestyle{plain}\@thanks \endgroup \def\thefootnote{\arabic{footnote}}% \setcounter{footnote}{0}% \let\maketitle\relax \let\@maketitle\relax \let\@thanks\relax \let\@authoraddress\relax \let\@title\relax \let\@date\relax \let\thanks\relax } \def\@maketitle{% \@preprint \@title \ifdim\prevdepth=-1000pt \prevdepth0pt\fi \@authoraddress \@date \ifpreprintsty \else %\footnotetext{\copyright \number\year \ Society of Exploration Geophysicists. All rights reserved.} \fi \ifsegabssty \vskip 1in {\boxit{\bf Cut and paste the follwing pages onto the official SEG expanded abstract form.}} \if@legalsize \global\def\@firstlongpage{4} \vskip 1in \begin{center}\boxit{Remember to use 8.5 x 14 inch (legalsize) paper for the printout! }\end{center} \else \boxit{If you have 8.5 x 14 inch paper available, we suggest you rerun the document using the ``legalsize'' option: {\bf $\backslash$documentstyle~[seg,abstract,legalsize]~\{revtex\}}} \fi \newpage\fi } \def\abstract{\par \begin{center}% %%% Martin Karrenbach %{\bf \abstractname\par}% {\abstractname\par}% \end{center}% \bgroup \ifdim\prevdepth=-1000pt \prevdepth0pt\fi %%% Martin abstract section is like a normal section, maybe boxed \hsize\columnwidth% just spans the column %\if@twocolumn\leftskip=0.03\columnwidth \rightskip\leftskip\else\fi %\hsize\textwidth% make it span two columns \if@twocolumn\leftskip=0.02\textwidth \rightskip\leftskip\else\fi %%% \dimen0=-\prevdepth \advance\dimen0 by17.5pt \nointerlineskip %\small\vrule width 0pt height\dimen0 \relax \vrule width 0pt height\dimen0 \relax \indent } %\def\endabstract{\par\egroup} \def\endabstract{\par\egroup\ifpreprintsty\else\twocolumn\fi} \global\let\ifdraft\iffalse \def\draft{\global\let\ifdraft\iftrue} \def\pacs#1{\par % \bgroup \hsize\columnwidth \parindent0pt \if@twocolumn\else\leftskip=0.10753\textwidth \rightskip\leftskip\fi \ifdim\prevdepth=-1000pt \prevdepth0pt\fi \dimen0=-\prevdepth \advance\dimen0 by20pt\nointerlineskip \vbox to28pt{\small\vrule height\dimen0 width0pt\relax\ifdraft#1\fi\vfill}% \egroup \if@twocolumn\vskip1pc\fi \ifpreprintsty \penalty10000\vfill \hbox to\columnwidth{\hfil Typeset using {REV\TeX}}\newpage \fi } \def\keywords#1{% \@revmess{warning}{APS doesn't use keywords. I'll ignore them.}% } \mark{{}{}} % \def\subsectionmark#1{\markright {#1}} \if@twoside % \def\ps@headings{\let\@mkboth\markboth \def\@oddfoot{}\def\@evenfoot{}% \def\@evenhead{\rm \thepage\hfil \sl \leftmark}% \def\@oddhead{{\sl \rightmark}\hfil \rm\thepage}% \def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\z@ \thesection\hskip 1em\relax \fi ##1}}{}}% \def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne \thesubsection\hskip 1em\relax \fi ##1}}} \else % \def\ps@headings{\let\@mkboth\markboth \def\@oddfoot{}\def\@evenfoot{}% \def\@oddhead{{\sl \rightmark}\hfil \rm\thepage}% \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@ \thesection\hskip 1em\relax \fi ##1}}}} %%% \fi \def\ps@myheadings{\let\@mkboth\@gobbletwo \def\@oddhead{{\sl\rightmark}\hfil \rm\thepage}% \def\@oddfoot{}\def\@evenhead{\rm \thepage\hfil\sl\leftmark}% \def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}} \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} \ps@plain % \pagenumbering{arabic} % \if@twoside\else\raggedbottom\fi % \if@twocolumn % \twocolumn \sloppy \raggedbottom % \else \sloppy \onecolumn % \raggedbottom % \fi %\if@titlepage %\@@input titlepag.sty\relax %\fi % more goodies for SEG %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % draw a multiline box \def\boxit#1{\bigskip\vbox{\hrule\hbox{\advance\hsize by-20pt\vrule\kern10pt \vbox{\medskip\kern5pt#1\bigskip\kern5pt}\kern10pt\vrule}\hrule}} % smart tensor/vector symbols % picture environment keeps its old definition \let\@OrigLatexVector=\vector \let\@OrigLatexPicture=\picture % now redefine vector \def\realbold#1{{\mbox{\boldmath $\bf #1$}}} \def\@undertilde#1{\oalign{{\realbold{#1}}\crcr\hidewidth \vbox to .2ex{\hbox{\bf\char126}\vss}\hidewidth}} \def\vector#1{\ifpreprintsty\@undertilde{#1}\else\realbold{#1}\fi} \def\tensor#1{\@undertilde{\ifpreprintsty\@undertilde{#1}\else\realbold{#1}\fi}} \def\picture(#1,#2){% \let\segvector=\vector% \let\segtensor=\tensor% \let\vector=\@OrigLatexVector% \@OrigLatexPicture(#1,#2)} % for picture environment we want original latex vector command % unfortunately revtex has redefined that one \def\@setupverbatim{ \tt\baselineskip= 8.5truept\lineskip=1truept \lineskiplimit=1truept\topskip=0pt \def\par{\leavevmode\egroup\box0\endgraf} \obeylines \uncatcodespecials \obeyspaces \catcode`\`=\active \catcode`\^^I=\active \everypar{ \startbox}} \newdimen\w \setbox0=\hbox{\tt\space} \w=8\wd0 \def\startbox{\setbox0=\hbox\bgroup} {\catcode`\^^I=\active \gdef^^I{\leavevmode\egroup \dimen0=\wd0 \divide\dimen0 by\w \multiply\dimen0 by\w \advance\dimen0 by\w \wd0=\dimen0 \box0 \startbox}} {\obeyspaces\global\let =\ } {\catcode`\`=\active \gdef`{\relax\lq}} \def\listing#1{% \par\bigskip% \begingroup% \parskip=0pt\setupverbatim\input{#1}% \endgroup\bigskip% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% figure inclusion macros rely on having epsf.sty installed %%% get it from the dvips distribution % try to include epsf.sty \input epsf.sty % \plot{label}{width=,height=}{caption} \def\@plot@set@parms#1=#2,{\@namedef{@plot@#1}{#2}}% \def\@plot@init@parms{% \def\@plot@bbllx{}\def\@plot@bblly{}% \def\@plot@bburx{}\def\@plot@bbury{}% \def\@plot@height{0pt}% \def\@plot@width{\columnwidth}% \def\@plot@clip{}}% \def\@plot@parse@parms#1{% \@for\@plot@:=#1\do% {\expandafter\@plot@set@parms\@plot@,}}% \def\@call@epsf#1#2#3{% \global\newdimen\@darg% \@darg=#2\relax\epsfxsize=\@darg% \@darg=#3\relax\epsfysize=\@darg% \epsfbox{#1}% } % check if a file exists and set a flag accordingly \newread\@plotfilein \newif\if@plotfileok \def\@checkfilein#1{ \openin\@plotfilein=#1 \ifeof\@plotfilein{% \global\@plotfileokfalse% \typeout{Warning: No Figure File `#1'.} }\else{% \global\@plotfileoktrue% \typeout{Found File: `#1'.} }\fi% \closein\@plotfilein% } %%%% SEG plot macro %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\dosegplotit#1#2#3{% \@plot@init@parms\@plot@parse@parms{#2}% \begin{figure}% % here we can have different cases for plot types, currently only epsf \@checkfilein{#1.ps} \if@plotfileok % \@call@epsf{#1.ps}{\@plot@width}{\@plot@height}% % \fi \setlength{\normalbaselineskip}{.8\normalbaselineskip}% \caption{#3}% \label{fig:#1}% \end{figure}% } % % figures are flushed at the end of the document if in manuscript mode % \newtoks\@temppptokena % \ifflushfiguretoend %\ifpreprintsty \newwrite\plotaux % \if@filesw\immediate\openout\plotaux=\jobname.plt% \immediate\write\plotaux{\relax}\fi% %% % \def\addplotline#1#2#3{% \if@filesw\begingroup% % \addtocounter{flushfig}{1}% \ifappendixon\edef\@flushfigure{\Alph{section}-\@arabic\c@flushfig}% \else\edef\@flushfigure{\@arabic\c@flushfig}\fi% % \edef\@tempppa{\immediate\write\plotaux{\string\def\string\thefigure{\@flushfigure}}}% % \@tempppa% % works but does not completely expand \edef\argaa{#1}\edef\argbb{#2}% \@temppptokena{#3} \def\@tempppa{\immediate\write\plotaux{\string\newpage\string\dosegplotit{\argaa}{\argbb}{\the\@temppptokena}}}\@tempppa% \if@nobreak \ifvmode\nobreak\fi\fi\endgroup\fi}% % \def\plot#1#2#3{\addplotline{#1}{#2}{#3}}% \else% \def\plot#1#2#3{\dosegplotit{#1}{#2}{#3}}% \fi% % % now do the same for figure environment % \def\makeinnocent#1{\catcode`#1=12 } \def\csarg#1#2{\expandafter#1\csname#2\endcsname} \def\WriteEnvironmentToFile#1{\begingroup \def\CurrentEnvironment{#1}% \let\do\makeinnocent \dospecials \makeinnocent\^^L% and whatever other special cases \endlinechar`\^^M \catcode`\^^M=12 \xEnvironment} {\catcode`\^^M=12 \endlinechar=-1 % \gdef\xEnvironment#1^^M{\def\test{#1} \csarg\ifx{PlainEnd\CurrentEnvironment Test}\test \let\next\endgroup \else \csarg\ifx{LaLaEnd\CurrentEnvironment Test}\test \edef\next{\endgroup\noexpand\end{\CurrentEnvironment}} \else \let\next\xEnvironment % \immediate\write\plotaux{#1} \fi\fi \next} } \def\@includefigure{% \@ifundefined{figure}{% \def\figure{}% \def\figure{}% }{% \@ifundefined{figure@orig}{}{% \let\figure=\figure@orig% \let\endfigure=\endfigure@orig% % and also undefine #1@orig and end#1@orig }}} \def\@excludefigure{% \@ifundefined{figure}{}{% \let\figure@orig\figure% \let\endfigure@orig\endfigure% }% \def\figure{% % \addtocounter{flushfig}{1}% \ifappendixon\edef\@flushfigure{\Alph{section}-\@arabic\c@flushfig}% \else\edef\@flushfigure{\@arabic\c@flushfig}\fi% % \edef\@tempppa{\immediate\write\plotaux{\string\def\string\thefigure{\@flushfigure}}}% % \@tempppa% % \edef\@tempppa{\immediate\write\plotaux{\string\begin\string{figure\string}}}% \@tempppa% \WriteEnvironmentToFile{figure}% }% \def\endfigure{% \edef\@tempppa{\immediate\write\plotaux{\string\end\string{figure\string}}}% \@tempppa% }% {\escapechar=-1\relax% \csarg\xdef{PlainEndfigureTest}{\string\\endfigure}% \csarg\xdef{LaLaEndfigureTest}{\string\\end\string\{figure\string\}}% }}% % \ifsegabssty\else\ifpreprintsty\@excludefigure\fi\fi %\ifpreprintsty\@excludefigure\fi % % redefine enddocument to put the figures if in preprintsty % \def\enddocument{% \ifflushfiguretoend \immediate\closeout\plotaux\@includefigure\listoffigures\input\jobname.plt\fi \@checkend{document}\clearpage\begingroup% \if@filesw \immediate\closeout\@mainaux% \def\global\@namedef##1##2{}\def\newlabel{\@testdef r}% \def\bibcite{\@testdef b}\@tempswafalse \makeatletter\input \jobname.aux% \if@tempswa \@warning{Label(s) may have changed. Rerun to get cross-references right}\fi\fi\endgroup\deadcycles\z@\@@end}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \endinput \makeatother % % ****** End of file seg.sty ****** ����������������������������������������������������������������������������������������������������extrarpms/revtex/template.aps�����������������������������������������������������������������������0100644�0000764�0000764�00000003405�07267371705�015753� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file template.aps ****** % % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, July 1, 1996. % % Copyright (c) 1996 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % % % This is a template for producing files for use with REVTEX 3.1. % Copy this file to another name and then work on that file. % That way, you always have this original template file to use. % \documentstyle[aps]{revtex} \begin{document} % \draft command makes pacs numbers print \draft % repeat the \author\address pair as needed \author{} \address{} \date{\today} \maketitle \begin{abstract} % insert abstract here \end{abstract} % insert suggested PACS numbers in braces on next line \pacs{} % body of paper here % now the references. delete or change fake bibitem. delete next three % lines and directly read in your .bbl file if you use bibtex. \begin{references} \bibitem{tag} Fake bibitem. \end{references} % figures follow here % % Here is an example of the general form of a figure: % Fill in the caption in the braces of the \caption{} command. Put the label % that you will use with \ref{} command in the braces of the \label{} command. % % \begin{figure} % \caption{} % \label{} % \end{figure} % tables follow here % % Here is an example of the general form of a table: % Fill in the caption in the braces of the \caption{} command. Put the label % that you will use with \ref{} command in the braces of the \label{} command. % Insert the column specifiers (l, r, c, d, etc.) in the empty braces of the % \begin{tabular}{} command. % % \begin{table} % \caption{} % \label{} % \begin{tabular}{} % \end{tabular} % \end{table} \end{document} % % ****** End of file template.aps ****** �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/template.tex�����������������������������������������������������������������������0100644�0000764�0000764�00000007064�07267371705�015775� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%%%%%%%%%%%%%%%%%% file template.tex %%%%%%%%%%%%%%%%%%%% % % % Copyright (c) Optical Society of America, 1992. % % % %%%%%%%%%%%%%%%%%%% November 17, 1992 %%%%%%%%%%%%%%%%%%% % % THIS FILE IS A TEMPLATE TO PRODUCE AN ARTICLE SUBMISSION % TO THE OSA JOURNALS, JOSA-A, JOSA-B, and APPLIED OPTICS. % % THIS TEMPLATE CONTAINS TYPESETTING COMMANDS WHICH BEGIN WITH A % BACKSLASH. THESE COMMANDS WILL BE READ BY LATEX, USING THE % REVTEX 3.0 STANDARD MACROS. PLEASE FILL IN THE REQUIRED DATA % FOR THE MACROS, BUT DO NOT ALTER THE DEFINITIONS. % % EXAMPLE: IN \author{Authors' names} , PLEASE FILL IN THE % AUTHORS' NAME(S). % % COMMENTS BEGIN WITH THE PERCENT (%) SYMBOL. AFTER A %, ANY % DATA ON THE REST OF A LINE WILL NOT PRINT. % \documentstyle[osa,manuscript]{revtex} % DON'T CHANGE % % \newcommand{\MF}{{\large{\manual META}\-{\manual FONT}}} \newcommand{\manual}{rm} % Substitute rm (Roman) font. \newcommand\bs{\char '134 } % add backslash char to \tt font % % \begin{document} % INITIALIZE - DONT CHANGE % % % \title{Insert your title here} \author{Insert your names here} \address{Insert the name of your University, company or Institute here} % \author{} % Use this and the next line only if there is a second % \address{Another University, etc.} % address. (Remove the left % marks) % \maketitle \begin{abstract} % DON'T CHANGE THIS LINE Insert your abstract here. No {\it REVTEX} limit to number of lines. \end{abstract} % \section{Introduction} % Introduction goes below. Introduction goes here... Most TeX, {\it REVTEX} and LaTeX commands begin with a backslash. See the manual for a list of special, non-printing characters (Appendix B and Table 5). \section{Insert your section title here.} Copy the above line to head each section. Section 2 text goes below. Please use the \verb+\verb+ command to print passages with special characters in the text. Surround the special characters with "+" signs. Please use the \verb+\cite{RefTag}+\cite{RefTag} command to cite references in the text. Create equations, lists, and tables using standard {\it REVTEX} 3.0 macros. See the manual and examples for further instructions. Please place tables and figure captions at the end of your manuscript. Examples are shown below. I feel these examples are necessary because the spelling and syntax of some commands have changed, compared to earlier versions of {\it REVTEX}. % % ({\it REVTEX} 3.0 automatically issues % a \newpage command when the \begin{table} or \begin{figure} % commands are used, so the figures and tables will be placed % on separate pages by {\it REVTEX}). \begin{references} % Please use the \bibitem command to create references. \bibitem{RefTag}Author, "Title," Journal {\bf Volume,} page numbers (year). %(Format for Journal Reference) \end{references} \begin{figure} % Please send figures with disk, or separately if % if it is an e-mail submission. (Good photo or India ink drawing.) \caption{Please place your figure caption here.} \end{figure} \begin{table} \caption{Please place your table caption here.} \begin{tabular}{lrcd} % In second brace, l = left, r = right, % c = centered and d = decimal justification. One&Two&Three&Four\\ % Separate items with &. End line with \\ \tableline % Creates a horizontal line. One&Two\tablenote{footnote.}&Three&Four\\ % Place \tablenote{} % after item to be footnoted. \end{tabular} \end{table} \end{document} % end of file Template.tex ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/version2.sty�����������������������������������������������������������������������0100644�0000764�0000764�00000006444�07267371705�015751� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% ****** Start of file version2.sty ****** % % % This file is part of the APS files in the REVTeX 3.1 distribution. % Version 3.1 of REVTeX, July 1, 1996. % % Copyright (c) 1996 The American Physical Society. % % See the REVTeX 3.1 README file for restrictions and more information. % \typeout{Filename: version2.sty, v3.1 <1 July 1996>} \long\def\tablenotes#1{{\vskip0.28pt \small#1}} \def\tightenlines{\edef\baselinestretch{1}\small\normalsize} \def\preprint#1{% \ifpreprintsty{\vskip -.25in\hfill\hfil#1\vskip 10pt}\fi} \def\title{% \bgroup% \def\\{\par}\everypar{\hskip\parfillskip\relax}% \large % \parindent0pt% \vrule height1cm width0pt\ignorespaces} \def\endtitle{\vskip1sp\egroup } \def\author#1{% \hbox to\textwidth{% \hss% \vbox{% \let\cite\@bylinecite\let\onlinecite\@bylinecite \let\citenum\@bylinecite \vskip24pt\hsize=.7\hsize \let\\=\@centercr \hyphenpenalty=10000 \spaceskip=.3333em \xspaceskip=.5em \@rightskip 0pt plus 1filll \rightskip \@rightskip \leftskip\rightskip \parindent \z@ #1\vskip1sp% }% \hss% }% } \let\moreauthors=\author \def\instit{% \bgroup\small\it \everypar{\hskip\parfillskip\ignorespaces}\def\\{\par}% \let\cite\@bylinecite\let\onlinecite\@bylinecite \let\citenum\@bylinecite \parindent0pt} % \def\endinstit{\vskip1sp\egroup } \def\receipt#1{\hbox to\textwidth{\small\hss(Received #1)\hss}} \def\abstract{% {\ifpreprintsty\else\textwidth20.5pc\fi\@thanks}\gdef\@thanks{}% \gdef\thefootnote{\arabic{footnote}} \ifpreprintsty\vskip3pc\fi \bgroup% \vskip1sp% \dimen0\textwidth\advance\dimen0by-5.56in\divide\dimen0by2% \leftskip\dimen0\rightskip\leftskip% \small\vrule width 0pt height .6cm% \leavevmode\ignorespaces% } \def\endabstract{% \par\egroup% \ifpreprintsty\vskip2pc\fi \vskip4pc\global\everypar={\global\pacsonfalse\global\everypar={}}% \global\pacsontrue\nointerlineskip } \newif\ifdraft \newif\ifpacson \def\draft{\global\drafttrue} \def\pacs#1{% \vtop to0pt{% \vskip-4pc\vskip.5\baselineskip\small \dimen0\textwidth \advance\dimen0 by-5.56in \divide\dimen0 by2 \leftskip\dimen0 \rightskip\leftskip \noindent \ifdraft#1\fi \par \global\everypar={\global\pacsonfalse\global\everypar={}}% \global\pacsontrue \vss } \nointerlineskip\vskip1sp% \ifpreprintsty% {\vfill\hskip -.5in Typeset Using {\em REVTEX}\newpage}% \fi% \global\pacsontrue% } \let\@newversionfigure\figure \let\end@newversionfigure\endfigure \def\figure#1{% \begin{@newversionfigure} \caption{#1} \end{@newversionfigure} } \def\appendix{% \global\appendixontrue \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \def\thesection{\Alph{section}} \def\thesubsection{\arabic{subsection}} \def\thesubsubsection{\alph{subsubsection}} \def\theequation@prefix{\thesection} \@addtoreset{equation}{section} \let\appendix\section \def\unletteredappendix{\section*} \section } \def\unletteredappendix{% \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \def\thesection{\Alph{section}} \def\thesubsection{\arabic{subsection}} \def\thesubsubsection{\alph{subsubsection}} \def\theequation@prefix{\thesection} \@addtoreset{equation}{section} \let\appendix\section \def\unletteredappendix{\section*} \section*% } \def\nonum#1{#1*} \def\addcontentsline#1#2#3{} \def\Sinmath{\mathchar"278\relax} \def\Pinmath{\mathchar"27B\relax} % % ****** End of file version2.sty ****** ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/README�����������������������������������������������������������������������������0100644�0000764�0000764�00000027605�07267371705�014323� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% % ------------------------------------------------------------------- % % This file is the main README file for the REVTeX v3.1 macro set % % version 3.1, September 1996 % % ------------------------------------------------------------------- % % % IMPORTANT NOTICE: You are not allowed to change this readme file. % Contents --->Copyright --->Restrictions On Use --->What's New --->The REVTeX Distribution --->Getting Started --->Generating the Input Guide --->REVTeX 3.1 and LaTeX2e Copyright (c) 1996 by American Physical Society, American Institute of Physics, Optical Society of America. All rights reserved. Other files in this package are copyrighted as stated, and their rights are reserved by their respective owners. This version of REVTeX is a cooperative product of the American Physical Society (APS), American Institute of Physics (AIP), and Optical Society of America (OSA). The Joint Society Task Force, comprised of AIP and AIP Member Societies has appointed a REVTeX Working Group in order to coordinate the development and evolution of a joint electronic publishing product and mark-up language standards amongst the participating societies. Those authors interested in publishing articles in the journals of the American Astronomical Society should use AASTeX (the LaTeX-based mark-up developed by the American Astronomical Society). One of the primary objectives of the REVTeX Working Group is to make REVTeX and AASTeX as similar as possible. Authors will use many of the same mark-up tags in manuscripts prepared using either REVTeX or AASTeX. Style differences in the journals---for example, the manner in which citations are handled (numerical reference or author/date format)---require that authors actually write different text. Thus, it is important that authors identify the journal they intend to publish in and use the appropriate electronic publishing product. %%%%%%%%%%%%%%%%%%%%%%% RESTRICTIONS ON USE %%%%%%%%%%%%%%%%%%%%%%% Files in this package may only be distributed or changed according to the following restrictions. Distribution of unchanged versions: You are NOT ALLOWED to take money for the distribution or use of these files except for a nominal charge for copying, etc. Redistribution of unchanged files is allowed provided that all files listed in this readme file are distributed together. If you receive only some of these files from someone, complain! Generation and distribution of changed versions: The generation of changed versions of the files included in the packages is allowed under the following restrictions: - Rename the file before you make any changes to it. - Acknowledge the origin of the changed version in the file and keep the information that it (or a changed version) has to be distributed under the restrictions mentioned in this file. - Change any ERROR REPORT address so that we don't get error reports for files *not* maintained by us. The distribution of changed versions of the files included in the package is allowed under the following restrictions: - Provide the user with information how to obtain the original package or, even better, distribute it with your files. - Make sure that the changed versions contain a notice that prevents others from taking money for distribution or use of your files, i.e., they have to be distributed under the restrictions mentioned in this file. %%%%%%%%%%%%%%%%%%%%%%% What's New %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% There are several new additions to the REVTeX 3.1 distribution: 1. The RMP style file is now distributed with the REVTeX toolkit. 2. SEG (The Society of Exploration Geophysicists) is now part of the REVTeX toolkit. 3. Corrections to the REVTeX documentation including new contact information. %%%%%%%%%%%%%%%%%%%%%%% REVTeX DISTRIBUTION %%%%%%%%%%%%%%%%%%%%%%% Files in the complete REVTeX 3.1 distribution: (a) the general files: README % this file revtex.sty % main style file manintro.tex % introduction for input guide manend.tex % appendixes for input guide (b) AIP-specific files manaip.tex % AIP chapter for input guide (c) APS-specific files aps.sty % main society-specific style file for APS macros aps10.sty % internally called style for galley-format output aps12.sty % internally called style for preprint-format output apssamp.tex % sample file manaps.tex % APS chapter for input guide prabib.sty % internally called style for normal-style citations prbbib.sty % internally called style for PRB-style citations prsty.bst % Physical Review--style BibTeX style file reftest.tex % Citation and bibliography analyzer rmp.sty % RMP style file template.aps % template file; copy to filename.tex and edit that file version2.sty % style file for running v2.x REVTeX files in v3.1 (d) OSA-specific files osa.sty % Society-specific style file for OSA journals osa10.sty % Fonts and format style file for OSA journals osa12.sty % Fonts and format style file for OSA journals osabib.sty % Society file for bibliography style template.tex % OSA template for creating a manuscript sample.tex % a longer sample of REVTeX use manosa.tex % OSA chapter for input guide josaa.tex % sample JOSA A paper josab.tex % sample JOSA B paper aplop.tex % sample Applied Optics paper (e) SEG-specific files seg.sty % Society-specific style file for SEG journals seg10.sty % Fonts and format style file for SEG journals seg12.sty % Fonts and format style file for SEG journals segbib.sty % Society file for bibliography style sample.tex % a longer sample of REVTeX use segman.tex % SEG chapter for input guide easybib.tex % SEG BibTeX instruction file The essential working files for each society are: For APS journals you'll need sections a and c. For AIP journals you'll need sections a, b and c. For OSA journals you'll need sections a and d. For SEG journals you'll need sections a and e. %%%%%%%%%%%%%%%%%%%%%%% GETTING STARTED %%%%%%%%%%%%%%%%%%%%%%% You must have TeX and LaTeX running to use these macros. All macros run on a standard LaTeX format. Installing to test the macros can be accomplished by copying all the files into an unused directory, then changing to that directory. All the files and facilities of REVTeX should then be usable while you are in that directory. A more permanent installation would usually mean installing the .sty files and reftest.tex file into the directory where TeX usually looks for input files, the .bst file into the directory where BibTeX usually looks for its style files, and the rest of the files into a REVTeX working directory or a public directory, depending on your system setup. Care should be taken to avoid writing over files already present. The files in the REVTeX package have been named to help avoid this problem, but there can be no guarantee that our file names are unique. If you are permanently upgrading an older version of REVTeX (<3.0), the files >from the old version should be removed first. You may delete these files or save them somewhere where they will not be found by TeX when it looks for style files. Here is a list of the older files: readme % make sure you only delete the REVTeX readme! revtex.sty aps.sty aps10.sty aps12.sty preprint.sty eqsecnum.sty smplea.tex smpleb.tex smplec.tex apguide.tex Older versions of REVTeX (<3.0) will not coexist with this version. The next thing you need to do is run LaTeX on the files for the input guide. The input guide consists of common introductory material (manintro.tex), society-specific chapters (manaps.tex for APS, manosa.tex for OSA, manaip.tex for AIP and segman.tex for SEG), and common appendixes (manend.tex). Run LaTeX on, and print, manintro.tex, the desired society-specific chapters, and manend.tex. Gathering the printed material together in order will provide all needed information. There is a general table of contents in manintro.tex, and separate tables of contents in each society's chapter. Carefully read the intructions in the appropriate chapter of the Input Guide. The sample file(s) and template will also contain useful examples and explanations. You may get a number of ``Underfull \hbox . . .'' messages when running the documentation and samples; these are normal. Also, you may need to LaTeX these files three times to complete all references and build the table of contents. If needed, consult a local (La)TeX user or system support person for information on how to run LaTeX and print its output on your local system. Installation Summary- You can use the following sequence to view the APS manuals. To view the file called manintro.tex, run the following sequence of commands: latex manintro.tex latex manintro.tex xdvi manintro.dvi dvips manintro.dvi The first two lines run latex manintro.tex twice. This is necessary to ensure that all the references and labels are printed correctly. The third line, xdvi manintro.dvi, starts the dvi viewer (assuming that your viewer is called xdvi) and the fourth line converts the dvi file to a Postscript file (assuming your printers are Postscript printers). Repeat the previous steps for each section of the Input Guide. %%%%%%%%%%%%%%%%% REVTeX 3.1 WITH LaTeX 2e %%%%%%%%%%%%%%%%%% A couple of issues have arisen with the release of LaTeX 2e, and specifically with the 12/94 release. One is that the internal table/array commands of LaTeX have changed. This affects REVTeX's redefinitions, but there is a workaround. The following should be saved to filename revtex.cls and put into the same directory as your version 3.1 revtex.sty file. You should continue to use compatibility mode (i.e., \documentstyle rather than \documentclass) as this is not a full-fledged 2e class. Also, in compatibility mode REVTeX handles the amsfonts and amssymb options by looking for the amsfonts.sty and amssymb.sty files. This should work as long as you are using the beta of the AMS LaTeX files that are now on CTAN. When amssymb.sty, amsfonts.sty, amsgen.sty, and all the .fd files were made available to TeX (after unpacking via amslatex.ins and amsfonts.ins) REVTeX seemed to run OK with the amsfonts and amssymb style options. No testing was done with older macros (if there were any, ever . . .). %%%% Start of file revtex.cls %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% This file allows REVTeX v3.1 to function correctly under %% the 12/94 release of LaTeX 2e. Put this file wherever %% revtex.sty is. Continue to use \documentstyle{revtex} %% (with the correct options) and REVTeX will run normally %% in compatibility mode. Thanks to David Carlisle for %% pointing out this fix. \ifx\every@math@size\undefined\else \let\old@expast\@expast \def\@expast#1{\old@expast{#1}\let\@tempa\reserved@a} \fi \input{revtex.sty} %%%% End of file revtex.cls %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% ERROR REPORTS %%%%%%%%%%%%%%%%%%%%%%% Before you report an error please check that - the error isn't caused by obsolete versions of other software. LaTeX from 1986 is a good candidate; for example, negative indents (outdents) following an equation environment. - you use an original version of the package. If you think you have found a genuine bug please report it, together with the following information: - version of the REVTeX file(s) - version (date!) of your LaTeX - a short test file showing the behavior with all unnecessary coding removed. The log file showing the problem might also help. Errors should be reported to the person listed in your copy of the user guide. ���������������������������������������������������������������������������������������������������������������������������extrarpms/revtex/wideabs����������������������������������������������������������������������������0100644�0000764�0000764�00000002030�07267371705�014765� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ You can actually get a first page that looks something like the first page of Phys. Rev. (with abstract across the page), IF you are using version 3.1 of REVTeX. Here is the general format: \wideabs{ \title{ . . . } . . . \pacs{ . . . } } That is, just insert the command \wideabs the title, and put the ending curly brace after the pacs. Note that these lines should never appear in a file destined for the APS. Note also that this is a quick hack and may have unknown drawbacks, along with these known ones: (1) Byline footnotes (any footnotes or \thanks between the inserted lines) will probably just disappear. (2) No catcode changes can be effected between the inserted lines; mainly this means no verbatim and \verb, but may have other consequences. It was intended to produce a style that had the abstract printed on the width of the page, but there were always problems with the implementation and so it was withdrawn near the release date. It may be possible to solve this problem in the future. ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/��������������������������������������������������������������������������0040755�0000764�0000764�00000000000�07472736052�014562� 5����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/.dvipsrc������������������������������������������������������������������0100755�0000764�0000764�00000000020�06244714123�016214� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������M toshiba D 180 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/BUGS����������������������������������������������������������������������0100644�0000764�0000764�00000002777�07005234326�015244� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������LaTeX2HTML BUGS File -------------------- This file contains instructions on how to deal with bugs in LaTeX2HTML and important known bugs that should not be re-submitted. If you encounter any problem, please try to check yourself whether your setup is ok by verifying your configuration, reading the FAQ and the troubleshooting section of the manual *before* contacting the address below. You'll learn a lot and we won't be flooded by emails. Thank you. If however you are pretty sure that you've found a bug - indeed this is not a very rare situation :-) - then send an email to latex2html@tug.org Please be patient if you don't receive a reply within 24h, someone will eventually answer your call. Of course patches, i.e. bugfixes you've found yourself (best as context diffs) are highly appreciated, but a concise report will help us too in improving the code. Attach your cfgcache.pm file (containing the most important information about your local setup) if you think it may help in finding the problem. You might also send example LaTeX code; please strip it down to minimum size that still shows the error. Otherwise put it on the web and send the URL so we can retrieve it ourselves (be careful with confidential information!). Please send bug reports, comments, questions and suggestions to the discussion list: latex2html@tug.org . We would appreciate receiving any ideas for changes or improvements that you regard as appropriate. Known bugs in this release: --------------------------- �extrarpms/latex2html-2002/Changes�������������������������������������������������������������������0100644�0000764�0000764�00000344201�06703557134�016054� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ # LaTeX2HTML by Nikos Drakos <nikos@cbl.leeds.ac.uk> # ************************************************** # Change Log *************************************** # ************************************************** # # Please use the following style: Add your (unique) initials to the list below. # Use your initials whereever you make commented changes. # To get in correlation with the more verbous explanations you make in the # change log, or if you want to stress meaningful changes, use an additional # short (about 3 letters) identifier, unique together with your initials, # eg. jcl-pag. This also helps others to find your changes. # If any change affects former changes, this *must* be stated in the log, # together with a reference to the previous log entrie(s). # # nd = Nikos Drakos <nikos@cbl.leeds.ac.uk> # ab = Axel Belinfante <Axel.Belinfante@cs.utwente.nl> # ac = Andrew Cole <ajcole@cbl.leeds.ac.uk> # wb = William Perry <wmperry@edu.indiana.ucs.mango> # bh = Bob Hendley <R.J.Hendley@uk.ac.bham.cs> # rst = Robert S. Thau <rst@edu.mit.ai> # dm = David Martland <David.Martland@uk.ac.brunel> # rjw = Roderick Williams <rodw@cbl.leeds.ac.uk> # jr = Jussi Rahola <Jussi.Rahola@csc.fi> # ec = Eric Carroll <eric@ca.utoronto.utcc.enfm> # tl = <little@com.dec.enet.nuts2u> # fz = Franz Vojik <vojik@de.tu-muenchen.informatik> # spqr= Sebastian Rahtz <spqr@ftp.tex.ac.uk> # up = Ulrich Pfeifer <pfeifer@de.uni-dortmund.informatik.ls6> # aa = Alberto Accomazzi <alberto@cfa.harvard.edu> # wr = Wolfgang Riedel <wolfgang.riedel@de.tu-chemnitz.hrz> # alo= Alex Lopez-Ortiz <alopez-o@ca.uwaterloo.barrow> # mb = Michael Francis Brantley <brantley@EDU.Princeton> # mcb= Michael C. Grant <mcgrant@edu.stanford.rascals> # jz = Jelle van Zeijl <jvzeijl@isou17.estec.esa.nl> # bs = <boris@cs.rochester.edu> # jhf = James Freeman <freeman@Cornell-Iowa.edu> # hpr = Hal Peterson <hrp@com.cray.sdiv> # kc = Ken Cox <kenc@com.viewlogic> # gp = George Phillips <phillips@ca.ubc.cs> # tw = Thomas Wieland <thomas_w@de.uni-bayreuth.mat.btm2x7> # dh = Dirk Husemann <Dirk.Husemann@informatik.uni-erlangen.de> # bt = Brian Toonen <toonen@mcs.anl.gov> # gg = Graham Gough <graham@cs.man.ac.uk> # kz = Kenny Zalewski <zalewk@rpi.edu> # tm = Tim MacKenzie (t.mackenzie@trl.oz.au) # mk = Martijn Koster (m.koster@nexor.co.uk) # ew = Evan Welsh <welsh@uk.ac.ed.epcc> # re = Robert Estes <estes@ece.ucdavis.edu> # rw = Richard Walker <richard@cs.anu.edu.au> # sl = Stefan Lohrum <lohrum@inf.fu-berlin.de> # kl = Kris Laporte <kl@sunbim.be> # gg = Gordon Greene <greeng3@rpi.edu> # pb = Pascal Brisset <brissetp@poly.polytechnique.fr> # po = Pieter Olivier <olivierp@fwi.uva.nl> # eb = Ethan Bradford <ethanb@ptolemy.astro.washington.edu> # ev = Eric Verbeek <wsineric@win.tue.nl> # tt = Tom Tromey <tromey@busco.lanl.gov> # ms = Mike Stok <Mike.Stok@meiko.concord.ma.us> # sk = Stefan Kaes <kaes@lssun001.DresdnerBank.de> # psm = Peter Magnusson <psm@sics.se> # mb = Martin Boyer <gamin@ireq-robot.hydro.qc.ca> #segal= Mark Segal <segal@spud.asd.sgi.com> # jmn = Mark Noworolski <jmn@eecs.berkeley.edu> # meh = Marcus Hennecke <marcush@crc.ricoh.com> # hws = Herbert W Swan <hswan@perc.Arco.com> # jkr = Jens Krinke <krinke@ips.cs.tu-bs.de> # sid = Sidik Isani <isani@cfht.hawaii.edu> # rml = Rob Malouf <malouf@csli.stanford.edu> # jtc = Ted Cox <jtcox@gumby.syr.edu> # pns = Paulo Ney de Souza <desouza@math.berkeley.edu> # tkm = Tom Miller <tkm@eos.ncsu.edu> # mg = Michel Goossens <Michel.Goossens@cern.ch> # ays = Andreas Schott <schott@rzg.mpg.de> # jfr = J. Freeman <jfreeman@ms.com> # mer = Michael Ernst <mernst@cs.rice.edu> # rrm = Ross Moore <ross@mpce.mq.edu.au> # jcl = Jens Lippmann <lippmann@rbg.informatik.tu-darmstadt.de> # dtp = D. Taupin <taupin@lps.u-psud.fr> # mwk = Martin Wilck <martin@kassandra.tropos.de> # mcm = Barry McMullin <McMullin@EENG.DCU.IE> # tak = Takashi Tomokiyo <tomokiyo@trc.rwcp.or.jp> # mro = Marek Rouchal <marek@saftsack.fs.uni-bayreuth.de> # bv = Boris Veytsman <boris@plmsc.psu.edu> # kr = Keith Refson <Keith.Refson@earth.ox.ac.uk> # uw = Uli Wortmann <uli12@bonk.ethz.ch> # # #------------------- Test Suite Manifest ---------------------------------- # # A listing of current test suites. # These suites should be run before any new version is released. # For a detailed description consult the suite's header. # Feel free to devise further test suites, but *comment* them (see # jcl-pag.tex header on how to comment). # # docs/manual.tex The l2h manual. # example/report.tex An example with segment document parts. # tests/pages.tex Tests image generation of l2h. # tests/rrm-col.tex See log. # tests/jcl-pag.tex See log. # tests/jcl-env.tex See log. # tests/jcl-verb.tex See log. # #-------------------------------------------------------------------------- # # CHANGE LOG FOR THE LATEX2HTML RELEASE # # What is recorded here are changes to any file of the LaTeX2HTML release # *meaningful to the user*, such as new options or files, important bug # fixes etc. # A more detailed log history can be found within the particular files, near # the top. # # #--------- v98.1 (compiled by jcl) # # Changes in the top-level directory: # # rrm latex2html.config # jcl - New section header strings in &english_titles (corresponding # entries also in german.perl, french.perl): # $ref_title - this text heads the References section # $pre_title - for preface # $child_name - this text heads the table of child links # $prf_name - for proofs # - added variables for tex and initex for use with the -ldump # feature # The -ldump switch will help to speed up image generation # with *subsequent* runs on your document. # - added command line option -unsegment and $UNSEGMENT # Use latex2html -unsegment, or texexpand -unsegment, or set # $UNSEGMENT to 1 in latex2html.config # (see texexpand changes) # - added defaults for bolder images of gray background # - provide optional value for $TMP --- location of a tmp directory # - provide default for $GENERIC_WORDS to be omitted from filenames # when using the -long_titles switch # (see also german.perl, french.perl) # # rrm latex2html # (uw) - patch for -no_subdir bug, reported by Thomas Anders dta@dsapp2.hmi.de # (jcl) - &cleanup deletes ${PREFIX}images.dvi # - fixed bug whereby \item s were combined --- lack of unique brace id # - fixed missing-space bug that killed math-images # - implemented scheme to allow alternative address formats # - address-data default is ISO conformant # - added translation of \institute as part of the title page settings # - change to -link so that -link +<num> puts mini-TOC on leaf pages # and -link <num> puts no mini-TOC on these lowest-level pages; # Alternatively, set $MAX_LINK_DEPTH to be negative for these mini-TOCs # - new switch -ldump to use ldump.sty when making images, # this speeds up processing on the 2nd and subsequent runs; # - fully implemented dependency of counters; # - implemented \expandafter and \noexpand with special care concerning # case-changing macros; # - fixed bug whereby `0' in math was getting lost; # - allow alternative source for icons, using $ALTERNATIVE_ICONS # - implemented on-the-fly \renewcommand # - \renewcommand meta-commands are now wrapped, so that they are # re-processed *before* there replacement text is processed. # Otherwise bad LaTeX code can get into images.tex # (Thanks to Michael Hall for an example of this.) # - \newcommand both warns *and* replaces existing macros # - more care over \limits macro # - fixed a bug whereby some macro-expansions didn't work correctly # - fixed printing of \the<counter> macros, with dependent counters # - NEW: implementation of document-classes and styles # allows file for classes and options and option-class pairs # - implemented $INFO-page options # - fixed error with minipage footnote numbering # - implemented \numberwithin (from AMS-packages) # - fixed error in DTD declaration # - implemented \nobreakspace and \nonbreakingspace (AMS-packages) # - Added support for Override.pm to latex2html # - added command line option -unsegment and $UNSEGMENT # Use latex2html -unsegment, or texexpand -unsegment, or set $UNSEGMENT # to 1 in latex2html.config (see texexpand Changes) # - **major** # introduced a font/size state-stack concept to handle nesting # of tags altering size and font-face within text-level data. # It also affects macros which create block-level tags. # The @open-tags list has to be cleared, tags inserted, # then @open-tags recovered for the new paragraph, say. # - font/size-changing commands are declared as `deferred' # so as to be processed in sequence with environments # \par \bigskip \medskip etc. are similarly `deferred' # - the switch -tmp 0 uses /tmp as a tmp-directory # - special characters can be `escaped' in macros that construct # {rawhtml} environments # - \newcommand \newenvironment \def definitions are more efficient # macro substitution is *much* faster, using an array mechanism # - support for HTML 4.0, including style-sheets # - faster processing on user-defined macro replacements # - faster processing of .aux files # - improvments to ensure validity of the HTML code, wrt DTDs # - many LaTeX macros use an extra indirection, so that it # becomes much easier to cope with tag-balancing and styles; # this also shortens the code somewhat. # - the declared environments are similarly handled indirectly. # - processing of the .aux file and user-defined macros handle # smaller chunks of text, rather than the whole document; # for the .aux file, each line is handled separately # for macro-replacement, a \par command serves as a delimiter # (since it is illegal within most (La)TeX macros). # - other parts of the processing are done using arrays, to lessen # the length of strings that might otherwise be copied. # - when $USING_STYLES is set, a CSS style-sheet is generated, # indicating the style used in each environment, and providing # a unique ID to such environments. This CSS style-sheet can be # subsequently edited, if desired. # - \label and \index commands in section-headings work better, # (the anchor is placed before the heading tag) # also a forward-search is now conducted for these. # - handling of charsets and input encodings is much improved. # - moved some variables to establish defaults before .config or -init # files are read. # - introduced variables $image_pre and $IMAGE_PREFIX to control names # used for the intermediate files created by dvips and pstoimg # - implemented \textsc fully --- now 8-bit characters are case-folded too # - create images anti-aliased against a gray background. Characters are # bolder, without (almost) white edges against gray. # new variables $LOAD_LATEX_COLOR and $LATEX_COLOR control this. # - new switch -numbered_footnotes setting $NUMBERED_FOOTNOTES # - \begin/endgroup and $b/egroup commands write directly into images.tex # - defined &do_cmd_footnote* since \footnote*{...} is a common in TeX # - defined &do_cmd_MF for the Metafont logo # - support for pre-processors when making images of non-latin script # code for generating images is placed into file: images.pre # pre-processor commands are placed into file: preproc # preproc is run as a script, producing: images.tex # image generation then proceeds as normal. # - pseudo-environments for font/styles are given better support # and TeX's \font command is implemented # e.g. {\bf ... } {\wncyr .... } # the control-sequence is found and the grouping is treated as an # environment, rather than waiting to handle it as a command. # - theorem commands and styles are implemented; # covers the {theorem} and {amsthm} packages. # - footnotes have hyperlink back into the main text. # - footnotes can have images in the footnote marker `word' # - section numbering is rationalised to be more in-step with LaTeX # the HTML numbering is unchanged, via @curr_sec_id # in-text macros, like \value \setcounter \thesection get their # number from $global{'section'} etc. # \section advances both counters, but \section* only the HTML one. # - changed the $NO_ACCENT_IMAGES variable instance to $ACCENT_IMAGES # - added %numbered_section hash for initialising $global counters # in &initialise_sections # - some name changes of auxiliary files usage of temporary directories # to get it running on DOS (thanks to Daniel Taupin) # - implemented \theoremstyle , \theorembodyfont , etc. # - added to the TeX code in images.tex for finer control with accents # - inserted binmode(IMAGE) when scanning bitmaps for size # (thanks, Daniel Taupin) # - changes to the way captions are found and handled # - new switch: -iso_language to get the correct DTD with mixed-languages # - minipage environments can capture a caption, when inside figure/table # - implemented \eqref (from AMS-TeX) # - implemented \topcaption \bottomcaption \middlecaption commands # - implemented use of 2 temp directories: # $TEMPDIR for image-processing, usually subdir of /tmp # TMP subdir of working directory, for the (formerly) TMP_ files # - sectioning commands in expansions of \newcommand work properly now # (thanks to Azat Badretdinov for finding the cause) # - improved the handling of simple math generally # - changed name \HTML to \HTMLcode ; \HTML remains as an alias # - minor changes in images.tex to avoid some `cropping bars' remaining # - itemize works properly, with explicit \item[...] # bullets implemented as images, for other \item s # - \tag is recognised in equation environments, with all math modes # - \authorURL make the \author information into a hyperlink # - \email adds to the title-page info # - made \large and \small use <FONT SIZE....> tags # - added declarations for \smaller and \larger # - change to &do_cmd_mbox so that it doesn't try to make an image # of the code that may already have an image_marker # This allows \mbox{$...$} to be used with macro-replacements # - improvements to &make_long_title to cope with accents, etc. # - implemented -no_fork switch for $NOFORK variable # - replaced system `cat` command with a platform-independent version # - implemented \usecounter use within {list} environments # - long-titles are restricted to 27 characters +(.html) = 32 chars # - suppressed warning messages for `array` and `theorem` packages # - use $BODYTEXT with the footnotes page (thanks Andreas Otte) # - figure/table captions aren't also included in images # # NEW Override.pm # This file is intended to hold OS-specific definitions that # the latex2html or other scripts may require during runtime. # Thanks go to Marcus Hennecke, Axel Ramge, Uli Wortmann and # many others who helped with their suggestions. # This is a step towards an operating system independent # LaTeX2HTML which is currently under work. # # jcl configure-pstoimg # - safer renaming of substitute files to .bak (lost files reported) # - dies with message unless initialized via install-test # # jcl install-test # rrm - some revisions for 98.1, see log of that file # # rrm pstoimg, pstoimg_nopipes # uw - adjusted to use the Override.pm module with Perl5 # jcl - removed the PaperSize bug # - handles absolute file names and temp dirs correctly # # jcl texexpand # rrm - small fix to &interprete, \input|include now doesn't loose the # uw comment if merging fails # - added command line option -unsegment and $UNSEGMENT # Use latex2html -unsegment, or texexpand -unsegment, or set # $UNSEGMENT to 1 in latex2html.config. # This will force a segmented document to expand its segment # files, so that it may be processed as a whole with LaTeX2HTML. # Use this feature to test a segmented document or whenever a # document needs to be fully expanded. # - Added support for Override.pm to texepand. # - generalised pattern for matching verbatim-like environments # # NEW packages: # # IndicTeX-HTML/ # rrm provided IndicTeX-HTML, a collection of Perl and LaTeX styles # to translate IndicTeX documents (see README) # # foilhtml/ # bv provided FoilHTML, a package for translating FoilTeX documents # (see readme.v12) # # Changes in the styles/ directory: # # rrm alltt.perl # reimplemented the {alltt} to use <TT> rather than <PRE> now # style changes can be handled properly, with valid tag nesting # # NEW rrm amsart.perl, amsbook.perl # New files --- support AMS document class # # rrm amsfonts.perl # pass \mathbb commands to LaTeX # # rrm amsmath.perl, amstex.perl # various changes (see log history in that files) # # rrm babel.perl # - parametrised the loading-mechanism: # a single line now suffices for each new language # - added such lines for `french' and `francais' (NB. Michel Goossens) # -- fixed error in file-loading # # NEW rrm article.perl, book.perl, letter.perl, report.perl, slides.perl # Document-class emulation file # -- adjusts the \the<counter> macros for sectioning commands # -- suppresses warnings for standard class-options # # NEW kr chemsym.perl # There may be some problems with accents, whose TeX macro names # correspond to chemical symbols, as defined here --- there is no # compensation provided within this implementation. # # rrm latex2html.config, francais.perl, french.perl # jcl german.perl, germanb.perl # - with -long_titles, use $GENERIC_WORDS list to shorten the title. # - brought &german/french_titles up to date with &english_titles # # rrm graphics.perl, graphicx.perl # - modified \graphicspath to parse a list of directories (Axel Ramge) # - rewritten the &do_cmd_graphicspath subroutine # works correctly and allows multiple use, outside the preamble # - handle \DeclareGraphicsRule and \DeclareGraphicsExtension # - \graphicspath works correctly in the preamble now # # rrm heqn.perl # recognise \htmlborder and \htmlimage also in processed environments # # rrm html.perl # \htmlmeta defined, for inserting <META...> tags # # NEW rrm inputenc.perl # Implements the inputenc package, allowing the character encoding # to be specified from within the document. # Supports latin1, latin2, latin3, latin4, latin5, latin6, Unicode. # This uses files latin1.pl to latin6.pl and unicode.pl # in the versions/ directory. # # rrm makeidx.perl # -- fixed problem with sub-item keys printing multiply # -- \index commands within section-heads now work correctly # # NEW rrm more_amsmath.perl # That part of amstex.perl and amsmath.perl that needs the `math' # extension has been split-off into more_amsmath.perl . # This is loaded automatically with switches: # -no_math -html_version ...,math # # rrm natbib.perl # Updated for compatibility with natbib.sty v6.6 # - all \cite... commands have a *-version and 2 optional arguments # - Harvard emulation is now automatic # - implemented \citep* # - fixed \harvardurl to work properly and without html.sty # thanks to James A. Bednar <jbednar@cs.utexas.edu> for noticing # # NEW rrm seminar.perl # implements seminar.sty by: # making \newslide into a sectioning-command, with its own numbering # other commands are recognised and largely ignored # text of `notes' are gobbled # # rrm supertabular.perl # implemented the \tablehead \tabletail etc. commands # # rrm xy.perl # - allow for optional argument to \newxycolor and \newgraphescape # - recognise \htmlborder and \htmlimage also in processed environments # # Changes in the versions/ directory: # # jcl html2_1.pl, html2_2.pl, html3_0.pl, html3_1.pl, html3_2.pl # renamed html*.*.pl files, for DOS # # rrm html2_2.pl (equal to table.pl) # {tabular} environments could pick up caption from previous {table} # # rrm html3_1.pl (equal to math.pl) # with $NO_SIMPLE_MATH, force images of \...matrix environments # - fixed bug which affected the code for image-making # - fixed bug not handling \lefteqn in {eqnarray}s # - allow Netscape's VALIGN="BASELINE" for {eqnarray} rows # - correctly writes {eqnarray*}, not {eqnarraystar} to images.tex # - recognises \le (as well as \leq) without warning (thanks Michel) # - automatic recognition of the differential `d' after \int # - significant additions to math-parsing # additions: # \mathop,\mathrel,\mathbin, etc. recognised; # sup/subscripts handled a little differently; # array-like environments need to have delimiters protected, # when they occur as sub-environments of other array-like envs; # get equation-number from \\theequation not &do_cmd_.... # equation-numbers can have variable delimiters, not just (..); # some AMS commands implemented always # \text trated as \mbox --- not best, only temporary # - fixed spacing/line-break problems # - implemented \text properly, within math # - fixed `missing 0' error with sup/subscripts # - adapted for $USING_STYLES ; e.g. with HTML 4.0 # - adapted to allow use of Unicode entities for math-symbols # - allow some fractions to be given as named entities; e.g. frac12 # - font styles/faces are now supported with properly nested tags # - support for \strut and \vrule and \hrule # - use the MATH and BOLDMATH classes when $USING_STYLES # - always make images of some math operators # - always make image of variable-sized operators # - catch fractions via \frac \tfrac \dfrac # - use a specified WIDTH="10%" for equation-numbering cells # - made all numbering environments have WIDTH="100%" # - introduced variables $math_start_rx and $math_end_rx . # (looking ahead to the possibility of allowing $ to be non-math.) # - fixed problem with superscripts: ' (\prime) missing from images # - \mathbf , \mathcal etc. seem to be correct now # - fixed bug causing some fractions to be in \textstyle, not displayed # - fixed some string tests that incorrectly treated 0 as '' # - recognise \htmlimage and \htmlborder in processed environments also # ... and various other changes (see log history of that file) # # rrm html3_2.pl # - Implemented {tabular*} environment, to be same as {tabular} # i.e. does not recognise a fixed width # - the \extracolsep macro is recognised, but ignored # - sub-environments of {tabular}s are processed first; # this allows {tabular}s to be nested # - \multicolumn now implemented # - cells containing `0' now show it, rather than being empty # - {eqnarray} math-style bug fixed # - allow Netscape's VALIGN="BASELINE" for {eqnarray} rows # - removed unnecessary <BIG> tags, when {eqnarray} cell is an image # - reworked the handling of @-expressions in tabular specs. # - remove &simple_math_env acting twice on the same math --- Ugh! # - implemented the extra tabular declarations from array.sty # - ignore and \PreserveBackslash commands # these extensions are **untested** # - adapted the alignment environments to work as instances of # &declared_env which respects the font/size state-stack. # - adapted some environment-like commands to work with style-sheets # - fixed migrating captions error; thanks to Keith Andrews # - use a specified WIDTH="10%" for equation-numbering cells # - made all numbering environments have WIDTH="100%" # - improvements to {eqnarray} environments: # each field is handled separately, equation-numbering works # eqn-numbering aligned OK now; # - VALIGN on rows in {tabular} is not used, unless $NETSCAPE_HTML # - introduced \mathon and \mathoff for use in tabular-specs # - implemented \tablehead and \tabletail (from supertabular.sty) # - implemented the @{...} and !{...} column-specs as separate columns # without slots for filling from the table-data. # - \tag and \notag now work correctly in normal math-mode # - fixed some string tests that incorrectly treated 0 as '' # - recognise \htmlimage and \htmlborder in processed environments also # - make sure math within do_math_env is properly delimited # - p{<width>} in a {tabular}'s col-spec causes VALIGN="TOP" # # NEW rrm html4_0.pl # Implements output specific for HTML 4.0 # This requires LaTeX2HTML v97.2 (alpha) or later version. # The variable $USING_STYLES is set, to enable automatic creation # of a CSS style-sheet. # To use a UTF-7 or UTF-8 Unicode charset, the unicode extension # needs to be loaded also; else the Latin-1 charset is used. # # NEW rrm lang.pl # contains the language codes, from i18n.pl # # Changes in the versions/ directory: # # rrm html.sty # - uses Robin Fairbairns' code for ignored environments, # replacing the previous comment.sty stuff. # - extensions to the \tableofchildlinks command # - extensions to the \htmlinfo command # - allow the dummy {tex2html_nowrap} environment in LaTeX # use it to make its contents be evaluated in environment order # - implemented an optional argument to \begin for style-sheet info. # - modified use of an optional argument with sectioning-commands # # NEW rrm ldump.sty # ldump.sty --- LaTeX package which allows format dumps to be used. # use the new -ldump switch to make use of this feature/package. # # # #--------- v97.1 (compiled mostly by rrm and also jcl) # incorporating the changes of v96.2 (not officially released) by mro # # # The \textsc{v97.1} release has significant improvements in: # # image-generation # rrm is much faster, requires less memory # and inline images are aligned more accurately; # # image quality --- thanks to Uli Wortmann # rrm is greatly improved by the use of anti-aliasing effects # for on-screen clarity, in particular with mathematics, # text and line-drawings; # # memory-requirements # rrm are much reduced, particularly with image-generation; # # mathematics # rrm can now be handled using a separate parsing procedure; # images of sub-parts of expressions can be created, # rather than using a single image for the whole formula; # # macro definitions # rrm having a more complicated structure than previously allowed, # can now be successfully expanded; # # counters and numbering # rrm are no longer entirely dependent on the \texttt{.aux} # file generated by \LaTeX; # # decisions about which environments # mro to include or exclude can now be made; see v96.2 . # # HTML effects # rrm for which there is no direct \LaTeX{} counterpart # can be requested in a variety of new ways; # # HTML code # rrm produced by the translator is much neater and more easily # readable, containing more comments and fewer redundant breaks # and \HTMLtag{P} tags. # # error-detection # rrm of simple \LaTeX{} errors, such as missing or unmatched braces, # is now performed --- a warning message shows a line or two # of the source code where the error has apparently occurred; # # # #--------- v96.2 (compiled by jcl) # mro - Rewrote texexpand. Contains more logic and mimics the # behaviour of LaTeX more closely. Supports DO_INCLUDE to # force style file translation and filename extensions in # (DO|DONT)_INCLUDE. # mro - Rewrote pstogif and renamed it to pstoimg, as it now also # produces PNG graphics. Added an automatic configuration # script (configure-pstoimg). Supplied a patch for dvips-5.58f # to enable production of EPSF format in multiple files. # mro - Added configuration variable and command line switch # LOCAL_ICONS: when set, the navigation icons are copied to # the document directory. # #--------- v96.1 Rev h (compiled by jcl) # 30-Sep-96 # tak - Fixed bug in optional argument of do_cmd_htmladdimg() in html.perl # and embed_image(): ALT tag now properly gets transmitted to html. # hws - uses %new_command and %new_environment instead of /$meta_cmd_rx/ # in process_ext_file() # - Recover figure and table caption numbers when captions contain # a ~ [in extract_captions()] # - environments are not further processed when coming from .aux # file in process_undefined_environments() # - introduced translation for \ensuremath to force math expressions # to be translated into HTML instead of computing an image. # rrm - introduced latex-only command \etalchar... # - cite labels fetched from .aux file if available, in do_cmd_bibitem() # - added call to translate_environments() in do_env_enumerate(), # do_env_itemize(), do_env_description(), do_env_list(). # - small fix in accent_safe_for_ij() # - Non-inlined images now embedded in <BR>, not <P> tags. # - introduced tex2html_nowrap environment. # LaTeX commands wrapped with this environment go directly into images.tex. # - introduced make_hbox(), make_vbox() for inlined images # - check if $adjust is positive in top_justify() # - changed text_cleanup() to prevent -- => - being applied twice, # with headings, captions, etc.; thus --- correctly becomes -- not - # - list items not strongified if $compact, in do_env_description() # - introduced make_nowrapper(), make_inline_wrapper() # - \bigskip now produces <P><P> # - arguments of \message and \typeout now prompted during translation # - slight change to process_cmds_in_tex() # - introduced process_commands_nowrap_in_tex() and # process_commands_inline_in_tex() to work with tex2html_nowrap resp. # tex2html_wrap_inline environments. # Changed list of ignored commands, built a list of nowrap commands. # - raw arg cmds now also recognized if delimited by @ (eg. a\l@b). # rrm-nac # allow new commands \W for non-alphanumerics, not already defined. # rrm-col # - introduced $NESTING_LEVEL for counting group ({,} currently) nesting # - hook for colors used at each section start, in translate() # jcl - Removed bug in replace_cite_references(), a not executed # replacement command concerning make_named_href(...). # - The use of $global{'warnings'}, held in a DBM entry, led to # subsequent DBM errors when the warnings accumulated to more # than approx. 900 chars. # The DBM data base is not used for 'warnings' any more: # The warnings are now written to the file 'WARNINGS' in the # directory where all output files reside. The file contents # is displayed and the file removed at the end of the # translation process. # - A \clearpage command precedes the \end{document} of images.tex # to force the last page to appear in the DVI file. The case # in which this behaviour is needed is when a style file discards # the \end{document} command or redefines it (eg. cweb.sty). # - replaced $(PNMTILE) with $(PBMMAKE) in latex2html.config # and install-test, changed right_justify() according to the # suggestion by meh. Removed obsolete blank.pbm. # - $(GIFTRANS) is preferred to the netpbm binaries if it's available. # This encreases speed of gif translation significantly if one # wants to use the (faster) netpbm instead of pbmplus. # - Changed deal_with_texinputs() to set TEXINPUTS the following way: # 1. . to let TeX find things from work dir (invocation of l2h) # or dest dir (for images.tex) # 2. .. to find things from work dir for images.tex (questionable) # 3. absolute path to source file # 4. dest dir, and, 5. $TEXINPUTS (suggested by rrm). # - Re-arranged latex2html.config to make it more comprehensive: # - shuffled entries without changing their meaning # - slight improvements to documentation # - introduced color variables # - introduced down url/down title/contents url/index url defaults # - Tidied l2h's synopsis both in usage() and the nroff section. # - Introduced l2h options -auto_prefix, -prev_url, -prev_title # - Introduced global variable $PREAMBLE. It is set to 1 if the text # before \begin{document} or \startdocument is processed, and 0 # if the text after it is processed. It is *undef* before # any text is translated. # - In html.perl, URL in htmladdimg not reverted to raw TeX. # Klaus Steinberger <http://www.bl.physik.tu-muenchen.de/~k2/k2.html> # supposed this. # This is conform with \htmladdnormallink now. # - Introduced $LINKPOINT (see also latex2html.config), which is used # to generate a directory index link if the document is finished. # - Cosmetic changes: removed spaces, indented expressions etc. # - grep doesn't understand -e on Solaris, fixed install-test # jcl-env # Content of environment (\begin{..}...\end{..}) will now be # encapsulated in l2h open/close brackets internally. # This will lead to the same behaviour as in TeX: Changes # within the environment (esp. to font style) are really local # and reverted when passing the end of the environment. # jcl-pag # An incomplete LaTeX command (eg. \theoremstyle{..}) that is # passed to LaTeX through images.tex leads to an absent page in # the resulting DVI file, causing all following pages and its # images to be a page earlier than expected. # To prevent this, invisible glue is added to each page entry. # Then, in turn to prevent a page break between glue and overly # long contents, the \textheight is set to 50cm. This also # prevents page breaks within the contents (eg. a supertable). # However, *very* long pages are cut by dvips itself. Anyway, we # are rid of the 'images out of sync' problem. I'm aware of the # log entries of Nikos, but couldn't reproduce the restrictions # he stated. # To make bug fixes easier an excerpt of the original text is # added to its translation text in commented form, if $DEBUG. #--------- v96.1 Rev g (compiled by hws) # 12-Jun-96 # jcl - Supplied verbatim.perl style file for displaying an external file # verbatim. # - LaTeX called from l2h now reads the "images.tex" from # the current directory before searching TEXINPUTS. # - Changed &do_cmd_contentsline to be compatible with LaTeX 2.09 # (and 2e). # jcl-verb # Extensive changes in the &pre_process routine to handle things # \verb strings in comments, and commands like \verbatimfile. # hws - Fixed problem which ocurred when a section label began with # a number. Allow double and single quotes to appear within # section headings in segmented documents. Corrected a bug # in &save_array_in_file which caused an incorrect labels.pl # to be written. Added a \bodytext{text} command, which inserts # "text" into the <BODY> ... </BODY> preamble of the current # HTML document page. Depending on the browser, this may allow # a specification of background and text colours. Added # an additional "alt=text" parameter to the \htmlimage command to # override the default ALT HTML tag for figures and tables. # For LaTeX2e users, added an optional argument to the # \htmladdimg command for the ALT tag. Upgraded floatfig.perl # to floatflt.perl to utilize the floatflt package of # Mats Dahlgren <mats@physchem.kth.se>. # mwk - Made html2e.sty more compatible with the natbib package # of Patrick W. Daly. Provided natbib.perl and nharvard.perl. # rrm - Made GIFs used by htmllist.perl transparent and further changes # to makeidx.perl. The file prefix now applies to images.tex, # so that images for separate segments are kept separate. # Hooks were added for packages to modify various links, and to # to perform operations at the beginning of a document. Added # sub make_named_href. Improved citation mechanism for # segmented documents. Implemented mechanism for recognizing # package options. The command \usepackage[option]{package} # is now searched in the following order **after** package.perl # is loaded: # # A. file named: <package>_<option>.perl # in the local directory, given by .. # (i.e. where the LaTeX sources reside) # # B. file named: <package>_<option>.perl # in the styles/ directory or directories # # C. a subroutine named do_<package>_<option> # # rrm - Recognize named colors in crayola.perl and color.perl. # # mcm - Percent-signs within section headings now processed correctly. # Subsection and subsubsection numbers are now properly retrieved. # #--------- v96.1 Rev f (compiled by rrm) # 31-May-96 # hws - correlated debug/nondebug behaviors by fix in texexpand . # and correctly remove multiple %%'s. # jcl - allow \documentstyle and /or \documentclass from \input files. # jcl - additions to german.perl # rrm - reinstated unconditional use of &make_image_file . # rrm - made $dir local in sub load_style_file_translations # to avoid (unlikely) conflict with other uses of $dir . # rrm - fixed incorrect variable name in sub top_justify . # meh - improved copy_file routine. # meh - reordered the img_tag subroutine so long alternatives come # first. # # rrm - Improvements to Indexing, when using the makeidx package: # - hyperlinks and labels can be specified inside \index{...}, # - styled text allowed, default style = bold # - alternative compactified style for index-entry hyperlinks, # new config-variable $SHORT_INDEX to request this style; # set in .config file or by commandline option -short_index . # - Also adds a Legend to the Index, with segmented documents, # implemented by sub make_preindex constructing a $preindex # using information stored in %index_segment by sub # make_index_segment . # - The child-links display for each segment is now tagged with # <A NAME="CHILD_LINKS">, accessible from this Legend. # - all aspects of Indexing work correctly with document segmentation. # - reduced number of *.pl files created by segments: *index.pl now # saves %sub_index, %index_labels, %index_segment, %printable_key # arrays. # # rrm - added some version-control to changebar.perl using a # control-sequence \cbversion . A LaTeX expansion is defined in # docs/l2hman.sty . # # rrm - fixed html2e.sty and html.perl to put correct numbering of all # sectioning levels into the .ptr files, when using segmentation. # - Commencing a new \section now resets LaTeX's counters at lower # levels; e.g. the {subsubsection} and all {...paragraph} counters, # as well. # # rrm - new package justify.sty and justify.perl for implementing # LaTeX's {flushleft}, {center} and {flushright} environments, as # well as TeX's \leftline, \centerline and \rightline commands. # This markup is supported by Netscape, and conforms to HTML 3.2 # proposals. # # #--------- v96.1 Rev e (compiled by hws) # 08-Apr-96 # hws - URLs in command-line options (e.g. -up_url) may now contain # one or more ~'s. LaTeX .lof and .lot files are now scanned to # obtain figure and table numbers. (This information is not # contained in the .aux file for \include'd document segments.) # The \@input{} command is now recognized. # dtp - HTML files now have a newline for every <LI> item, so as # to make them easier to edit manually. # rrm - Document segments no longer need to reside in the same directory, # as long as they have a common parent directory. # The only information that is now saved in the XXX.pl parameter # files is that which was introduced in that segment's own source # file (as opposed to another source file via the \internal # command.) Fixed a bug in html2e.sty which reserved a new TeX # \write channel for every program segment. LaTeX is no longer # called if the -no_images flag is specified. Change bars, # citations, and indices are now handled more correctly across # program segments. # jcl - Multiple ~'s may now appear in the $LATEX2HTMLSTYLES # installation variable to denote instances of the user's home # directory. Each .perl file is now guaranteed to be read only # once, even if it is specified in the source more than once. # #--------- v96.1 Rev d (compiled by hws) # 10-Mar-96 # meh - Made the Perl code conform to strict syntactical conventions, # eliminating compilation warnings. # hws - Replaced the &cleanup routine with a faster one. # Made the eqnarray* environment order-independent, so that # it can be recycled with the -reuse option. # #--------- v96.1 Rev c (compiled by hws) # 28-Feb-96 # hws - Improves document segmentation by permitting LaTeX sections # to appear after the \segment command. (Also the index and # information page may now be associated with the top-level # segment, not just the bottom-level.) Output .pl files only # when necessary for segmentation. (However, images.pl and # labels.pl are still always generated.) # \begin{latexonly} commands are now ignored if commented. # Uses &navigation_panel if &top_navigation_panel is undefined. # Ditto for &bottom_navigation_panel. Upgraded # .dot-latex2html-init. Make duplicate GIFs hard links of # each other so that they do not have to be recreated on a # reuse run. # meh - Translates subscripts and superscripts in inline equations # using <SUB> and <SUP> markups if the HTML_VERSION is 3.1 or # higher. # #--------- v96.1 Rev b (compiled by hws) # 20-Feb-96 # meh - Removed ;SPM*; constructs from simple inline equations. # hws - Restored the -no_images / -images_only mechanism. # #--------- v96.1 Rev a (compiled by hws) # 15-Feb-96 # hws - Fixed bug in texexpand pertaining to verbatim environments # in included files. Allow ~'s in htmllist icons. # #--------- v96.1 (compiled by hws) # 05-Feb-96 # tkm - Fixed bug which prevented &make_transparent from non-figure # environments when $TRANSPARENT_FIGURES is set to zero. # hws - Fixed bug in htmllist.perl: ~'s in $ICONSERVER were # being converted to blanks. Made latex2html die more # gracefully upon interrupt. Specified that environments # floatingfigure and wrapfigure are to be passed to TeX. # Fixed bug in pstogif which caused ppmquant never to be called! # Moved all command line defaults to latex2html.config. # Added a -debug command line switch. Support the alltt package. # Removed command line switch "dont_include". (Not needed.) # Updated the manual (again) and included changebar.sty. # Added the ability to segment documents. This required the # addition of five new command-line switches. Image recycling # now works even if a filename prefix is used. Added ability # to pass starred versions of commands to TeX, and added # \includegraphics and \includegraphics* to graphic[s,x].perl. # Support unbreakable spaces. Guard against HTML tags appearing # in up and down titles. Moved raw TeX support to texdefs.perl, # and made it optional. Added better control over LaTeX font size. # mg - Converted manual to standard LaTeX2e. Added epsfig.perl, # color.perl. Removed duplicate entries in graphics.perl. # meh - Made command parsing more like LaTeX's. Added commands # \makeatletter and \makeatother. Fixed bug which caused HTML # 3.0 table conversion to sometimes omit the caption. # Provide support for HTML 2.1, with ISO 10646 Unicodes. # Support itallic correction. # ays - Added forgotten ${PREFIX} for footnode.html. Added missing # $abs_title instead of Abstract. Created french_titles and moved # french do_cmd_today to french.perl. Created links to # germanb.perl and francais.perl for the sake of the babel # package. Allowed other extensions than .tex for top-level-file. # jfr - Fix a bug in getting current working directory. # mer - Added calls to &pre_pre_process and &post_post_process # for specialized user-defined applications. Typeset only # the alphabetic portion of simple math expressions in itallic. # Added installation variable $AUTO_PREFIX. # #--------- v96.1-beta (compiled by hws) # 15-Jan-96 # hws - Fixed \htmladdimg, broken by a patch in v95.3. \labels, # equations and images in section headings now work (Really!) # Additional inline math equations can now be set in HTML. The # "scale=" option of \htmlimage is fixed. # rml - The comment removal regular expression in text_cleanup # missed comments that occur on the first line of an included file. # HTML 3.0 tabular not inside table inherited previous caption (fixed). # I also added a call to replace_user_refereces, to allow style # files to add new types of crossreferences. # jkr - Now LaTeX2HTML uses two panels, one for the top and one for # the bottom of the document. Made the translation of \today more # similar to LaTeX's. Patched the verbatim-counter patch of # #EI#. Removed the expansion of '\\' to '\\ ' in \verbatim. # Added support for the TeX \char command. # meh - Fixed treatment of @{} expressions in HTML 3.0 tables. # Fixed treatment of \circ in math mode. Made german.perl # compatible with HTML math 3.0 changes. Added width and # height attributes to navigation panel icons. Replaced # all occurences of tex2htmlindex with textohtmlindex. # Added a check that compares the actual image files to # remove duplicate images. # dkw - Added a new command \latexhtml{LaTeX}{html} to process # something in LaTeX one way, and in HTML another way. # hws - Added a "flip=" option in \htmlimage. Caused \htmlref, etc. # to use an external reference if an internal one is not found. # Added support for \ensuremath and floating/wrapped figures. # Ignore input after first /end{document} not shielded by # verbatim or \verb. Overhauled method of image sharing and # recycling. Made -reuse switch accept a reuse_option. # Added installation variables $TEXINPUTS and $DVIPS_MODE. # Made the .tex filename suffix optional. Provided support # for \special's outside of defined environments. Supplied # additional optional style files, htmllist and heqn. Updated the # manual. Ignore "| and "- constructs in german.perl. Support # the LaTeX2e babel package. Fixed bug in &read_mydb which # appended redundant newlines to macro expansions. User-defined # commands and environments can now have an optional argument. # Provided stubs tor \suppressfloats and \enlargethispage. # Added support for the LaTeX2e graphics package. Added command # line switch -prefix. Changed TeX mode to \nonstopmode if # $DEBUG is set. Made treatment of \document(style|class) # consistent. Added \providecommand. Provided the makemap # utility to construct active image maps. # jtc - Added comment about the possible need to insert # "use GDBM_File" for Linux platforms. # pns - Improved error reporting in install-test. Corrected errors # in &iso_latin1_character_map and &iso_latin1_character_map_inv. # tkm - Remove optional space argument to \\ in 3.0 tables. # Even the inter-item spacing in list environments. # Made description tags be bold (as in LaTeX). # alo - Corrected bugs in &write_string_out, &special_env, # and &make_new_cmd_rx. Fixed bug in macro tokenization, # which sometimes caused macros not to be expanded in math mode. # sid - Corrected an error in the making of transparent images. # Added more error checking in install-test. # #--------- v95.3 (compiled by jmn) # 15-Nov-95 meh really - added tables (HTML 3.0) support. And support # for math format too - not enabled by default. Wow! # Made pstogif/latex2html detect blank images and remove IMG tags # pointing to them. # Added two switches: up_url and up_title - to spec the parent document # jmn - updated pstogif to use the ppmraw driver in ghostscript - # currently, DEPTH value is silently ignored - default gif output is # the same as it was before (except now it works on my decstation). # Also added in badfree perl5 patches from the ftp site. removed # references to pstoppm.ps in install-test # hws - Added an optional argument align=<arg> to \htmlimage for # the alignment of table and figure gif files. Added dbmclose calls. # Improved support for active image maps. # krn - numerous minor fixes including language support, comment # stripping, removal of extraneous spaces, and LATEX2HTMLSTYLES as a # path list # sid - Patch to generate fonts at appropriate scales for screen # viewing. Note that this uses a .dvipsrc file in the latex2html # directory. This is probably a bad idea, but some dvips versions # unfortunately don't handle the -mode option. # #--------- v95.1 # 20-Jan-95 nd - Fixed spurious syntax error in latex2html.config #--------- v95 # 13-Jan-95 mb - Added ppmquant filter in pstogif to make sure the GIF # images contain less than 256 colors # nd - Removed redundant call to finger in address_data # nd - Fixed pattern matching problem during \def processing # nd - Stopped using the -path option in "type $what" in install-test #--------- v0.7a5 # 11-Jan-95 nd - Fixed problem with HTML encodings of ISO-LATIN1 characters # creeping into converted images of figures and tables by defining # an inverse mapping from such characters back to the original Latex # encodings # 10-Jan-95 nd - Added new global variable $PAPERSIZE in latex2html.config # to make it easier to change the default behavior when converting # large images # nd - Fixed problem with passing results from child to parent processes # through DBM files by closing and reopening the DBM files on crossing # process boundaries # nd - Fixed the hierarchical index building to deal with duplicate # index keys. Also fixed it to close the description list (<DL>) properly # nd - Fixed problem in process_command which instead of collapsing # spaces following a command it was introducing them # 9-Jan-95 nd - Fixed problem with duplicated input files caused by # the parent process not waiting for each child finish # nd - Fixed looping problem with \input files caused by forked processes # messing up the parent's input stream. The fix was to save the position # in the input stream and then return to it after the child has exited. # mb - Support for internationalization. A global variable # can now be set in latex2html.config to change the titles of generated # sections (eg "Table of Contents", etc) # segal- Ingenious code to fix equation baseline alignment. This adds # instructions in the images.tex file so that information about # equation size is printed in the log file. This information is used # to determine whether to add extra white space at the bottom of the # equation and then changing the alignment mode... # nd - Incorporated the equation alignment code with the off-line # image generation mechanism. This required another DBM database and # also LaTeX to be run even when using the -no_images option in order # to get at the log file (which determines equation alignment) # 6-Jan-95 nd - Now will not create images.tex|pl or labels.pl unless there # data to go in them. Also persistent DMB files are hidden in .XXX files # ms - Now use getpwuid instead of whoami to get the user's name # nd - Fixed problem with special characters (<>&) in -address argument # - BUT it causes a problem for those who want to incude html # in their signatures so it's back to the old behavior # sk - Added shortcut commands \html and \latex for conditional text # psm - Added support for hierarchical indices # nd - Stopped replacing dashes (-- and ---) with a single hyphen # nd - Changed waitpid($pid0) to waitpid($pid,1) in sub write_out_string. # This cures the problem of repeated text from \input files # 5-Jan-95 nd - Changed make_begin_end_env_rx not to eat spaces at the # of the regexp *unless* we have a newline at the end (otherwise # have trouble with inlined equations) # nd - Hacked tokenize to deal with multiple newcommands on the same line # nd - Changed do_cmd_sc not to capitalize latex2html markers! # tt - Now use `sh -c "type $X` instead of `which $X` # mb - Fixed texexpand to include files XXX.tex specified using \input{XXX} # if XXX.tex in the TEXINPUTS path # mb - Fixed to resolve figure and table numbers when captions contain # accented characters # mb - Fixed for dotless i's and accents # mb - Added support for "named" bibtex style # 4-Jan-95 nd - Fixed strange bug in ignore_commands code generator by # removing some white space from command arguments #--------- v0.7a4 # 21-Dec-94 #--------- v0.7a3 # 16-Dec-94 nd - Removed the "o" in /$sections_no_delim_rx / in sub translate # because of problem with Perl 5. # nd - Replaced all occurrences of \<n> in substitutions with $<n> for # Perl 5 compatibility # nd - Replaced all occurrences of @_[0] with $_[0] # nd - Fixed bug in do_cmd_cite # nd - Replaced all occurrences of $$ with $$\ # 14-Dec-94 nd - Added more information in the README file # nd - Fixed problem with multiple bibliographies by incrementing $bbl_nr # at the end of do_env_thebibliography. Also, multiple bibliographies # are treated as separate sections # tt - Fixed invocation of $GS to stop printing annoying messages # 13-Dec-94 nd - Added a new variable $NETSCAPE_HTML in latex2html.config. # If set some Netscape-specific HTML may be generated. At the moment, # if it is set then the borders around inlined images will be removed. # nd - Fixed problem in german.sty caused by changes in the main script # nd - Changed process_command to collapse spaces following a command # into a single space rather than remove them completely # ev - Modified pstoppm.ps to use papersize aguments in gs. This is # supposed to fix the problem of large inlined images but we are # not quite there yet... # nd - Modified pstogif to accept papersize argument and latex2html to # call it with one but only if we are using pstoppm.ps # nd - Changed make_begin_end_env_rx to eat spaces following a begin|end # regular expression. Otherwise introduces <P>'s in concecutive # environments. Verbatim environments seem unaffected. # 12-Dec-94 nd - Fixed it to use optional arguments in caption commands # nd - If latex2html is called with -split 0 then the footnotes are shown # at the end rather than in a separate node # nd - If $DEBUG is set then the images.tex file is not processed # in batchmode (ie will see the messages from LaTeX on STDOUT) # nd - Changed so that if called with -split 0 it will not use the filename # when constructing TOC HREFs (it caused some browsers to reload) #--------- v0.7a2 # 2-Dec-94 nd - Stopped enabling multi-line pattern matching ($*) throughout # the translation. This causes problems with the /$get_next_pair_pr_rx/ # regular expressions which will match *any* line beginning with a # bracket pair (ie a command argument). Instead multi-line pattern # matching is enabled selectively when needed (eg for deleting blank # lines) # nd - Added tests for availability of DBM in install-test # nd - Changed regular expressions which match next argument to skip # over any comment characters #--------- v0.7a1 # 1-Dec-94 nd - No changes - just pushing the release date into December :-) #--------- v0.7a # 29-Nov-94 nd - Added new option -no_reuse # nd - Fixed problem in sub expand_code which caused latex2html to hung # 28-Nov-94 nd - Fixed problem with capitalizing command names after an # \sc command # nd - NO longer necessary to get Giftrans if NETPBM is available # nd - Changed to trap errors and define a local version # if getcwd.pl is not in the Perl library # nd - The \hyphenation command and its argument are now ignored # 24-Nov-94 nd - When untarring the distribution a new directory which # contains the version number in its name is created # eb - Modified inlined images so that the background color is grey as # well as transparent (for browsers like the alpha Mosaic for Windows) # nd - Fixed so that citation labels in do_cmd_bibitem # are processed by translate_command # nd - Added config variable $TRANSPARENT_IMAGES in latex2html.config # If set to 0 then "figure" environments will not be transparent # nd - Modified install-test to prom`pt users to modify $GIFTOPPM # if they are using the NETPBM library # 24-Nov-94 eb - Added option -no_subdir so that the generated HTML files are # placed in the current directory. # nd - Changed so that -address "" is valid # 23-Nov 94 nd - Support for "off-line" image conversion with two new options # -no_images and -images_only. Some of the information necessary for the off-line # conversion is kept in DBM files. # 23-Nov-94 nd - Escaped the @ in "nikos@cbl" because of Perl 5 incompatibility # 18-Nov-94 nd - Removed manual.ps from the distribution # 15-Nov-94 nd - Added an anchor in the "References" heading #--------- v0.6.5 # 10-Nov-94 nd - Added \clearpage back in the text of each image in images.tex # Without it more than one figures may appear on the same page (it clears # the accumulated floating bodies) # nd - Added do_cmd_caption for tables than may be ignored... # 7-Nov-94 nd - Stopped adding $arg .= "\\\\"; in sub process_commands_in_tex # nd - Changed texexpand to print \input{XXX} even when XXX is to be # excluded # nd - Stopped adding \textheight 250cm in preamble because it seems to # work only with included bitmaps. In other cases cannot get # ghostview to process the whole (long) page before getting the ppm... # 4-Nov-94 nd - Changed do_cmd_footnote, do_cmd_ditch_preceding and # make_index_entry to use $ref_before instead of $before # nd - Stopped putting $contents in the ALT attribute of IMGs # becuase it causes problems when reading back cached images # from images.pl # nd - Changed ignore_numeric_arguments # nd - Stopped making "section" the outermost level in do_cmd_appendix # 3-Nov-94 po and nd - Added new option map=<image map URL> in the # \htmlimage command which can turn an included ps image # into an image map - UNTESTED # nd - Added a signal handler to call cleanup if interrupted # nd - Changed make_href to use %7E instead of &126; in URLs # 2-Nov-94 nd - Changed special_env not to match the "_" char in equations # pb - Changed replace_strange_accents to deal with \^\i (icirc) # ab - Changed preamble to set textheight to 250cm to solve problem of # long images # ab - Removed \clearpage from the text for generated images which causes # images to "move" # nd - Changed pre_process to remove comments but not the % character # which may be meaningful inside figure environments. It is removed # text_cleanup # 1-Nov-94 nd - Changed "finger" to use the -m option and added # an extra test to make sure we are looking at the name of # current user # nd - Added support for \newline, \dots # kl - Added support for tabbing environments - UNTESTED # kl - Added new option -ps_images, "which # if used together with -external_images produces PostScript external # images rather than external GIF's. # gg - Change to place the original latex content of an inlined image # in the ALT property of IMG # 31-Oct-94 nd - Fixed bugs in expand_code # 28-Oct-94 nd - Changed so that the verbatim hash table does not use the # DBM database becuase it crashes with entries longer than ~900 # characters. Now when forking a child, verbatim is saved and restored # using files explicitly. # # 13-Oct-94 nd - Major overhaul of pre processing to reduce the amount of # RAM required. Each of the \input files is pre processed a as # separate child process which is forked off independently. # The main latex2html process waits for each child to finish. # Any global variables changed by each child process are # seen by the parent process through DBM files. All the parent # has to do is reopen the DBM files holding some hash tables # (mainly LaTeX macros and verbatim environments). # LaTeX2HTML now *REQUIRES* NDBM (New DataBase Management which # can support multiple databases) # # Potential *problem*: "long" verbatim or rawhtml environments may # dissapear depending on the limitations of the NDBM installation. # On our system this happens at around 1000 characters. To avoid it # split such environments into smaller chunks... The error message # should look like # dbm store returned -1, errno 28, key "15" at # /usr/cblelca/nikos/bin/latex2html line 511, <INPUT> line 2199. # nd - Changed the rx for getting the name of the user in sub address_data # 12-Oct-94 nd - Changed slurp_input to use the unix "cat" command # instead of doing it explicitly (naughty but faster and smaller) # nd - Many changes to reduce the amount of memory required during # slurping/bracket-matching/macro-substitution. Mainly these operations # are now performed on separate chunks of the input stream. A chunk # holds the contents of each file specified by an \input command. # 11-Oct-94 nd - Changed do_cmd_section_helper and do_cmd_title to # use extract_pure_text instead of text_cleanup to remove markup # from headings # 10-Oct-94 nd - sub normalize now replaces occurrences of '@' with 'tex' # in command names # nd - Changed ignore_numeric_argument to cover more cases # nd - Added some more page layout control commands # nd - Fixed minor bug in replace_next_char # nd - Added \d (numbers) in delimiters list (DEJA VU!) # 7-Oct-94 nd - Fixed citations so that optional argument appears at the end # nd - Added LVerbatim in verbatim_rx for Raman (Naughty!) # nd - Fixed problem which caused \verb to fail when it was followed by a # a number # sl - Fixed generation of illegal HTML when $TOP_NAVIGATION =0; # nd - Extended the range of equations that need not be passed to latex # to include alphanumeric characters (in sub special_env) # 6-Oct-94 ab - Added support for multiple bibliographies # 4-Oct-94 gg - More support fot LaTeX2e # 30-Sep-94 nd - Added support for \LaTeX and \TeX! Removed them from the # arguments of &process_commands_in_tex # 27-Sep-94 nd - Changed add_link to put links from the navigation panel # of the top node to the address specified by the variables # $EXTERNAL_UP_LINK and $EXTERNAL_UP_TITLE # nd - Removed spaces from definitions of some commands in html.sty # rw - Fixed problem in wrap_math_environment where displayed # equations ($$eqn$$) cause subsequent normal equations ($eqn$) # to also appear as displayed # rw - Added support for some LaTeX2e commands # nd - Fixed the translation of the \cite command to recognize optional # arguments # nd - Changed address_data to try and match "Name:" when trying to # figure out the username for $ADDRESS ("Name:" is used by tcsh) # nd - Changed special_env to look for numbers as well as "\," in # equations which dont need to be converted to images # 23-Sep-94 nd - Fixed translation of displaymath (\[ \]) not to eat parts # of the formula # nd - Changed sub normalize not to eat the characters that follow an \& # nd - Changed the manual not to use braces when \protect'ing commands # nd - Added translation for \linebreak # re - Added support for the \and command # 22-Sep-94 nd - Changed make_head_and_body not to put <meta> tags in the HEAD # nd - Changed the dot.latex2html-init file to use the new $ADDRESS format # (this change was made in v0.6.4) #--------- v0.6.4 # 30-Aug-94 nd - Changed install-test to check just for -t rather than # for "-t index" in giftrans # nd - Commented out the usage message in pstoppm3.ps # bt - Various fixes dealing with counters and figure captions # nd - Changed two occurrences of $file to $FILE in sub driver #--------- v0.6.3 # 29-Aug-94 nd - Changed the protection on the *previous* set of iconic # buttons in the distribution. #--------- v0.6.2 # 26-Aug-94 nd - Changed so that .aux and .bbl files are really copied # in the html directory as $$_images.{aux|bbl} so that references # in images appear correctly # - Changed so that environments given as arguments to # process_commands_in_tex do not have their contents translated # - Changed translate_environments so that counter commands # which do not appear inside any environments are caught # just before exit # bt - Fixed problem in dealing with \part commands while processing # auxiliary (.aux) files # nd - Fixed regular expression in latex2html.config to include # index|contents so that the ALT attribute in the navigation panel # is correct # nd - Added config. variable $FIGURE_SCALE_FACTOR and renamed # $IMAGE_SCALE_FACTOR to $MATH_SCALE_FACTOR # 25-Aug-94 nd - Changed the invisible character from  to   as # described in http://www.uni-passau.de/~ramsch/iso8859-1.html # nd - Now prints pointer to "Troubleshooting" if images fail to convert # 24-Aug-94 nd - Fixed bug introduced by displaymath fix (23-Aug-94) # ew - Fixed translate_environments to handle multi-section environments # (environments spanning more than one sections) where the end of the # environment is not important to latex2html # 23-Aug-94 mk - Fixed so that the address appears inside the body # (otherwise it generates illegal HTML) # 23-Aug-94 nd - Fixed bug in the way that $$ (displaymath) are processed # 18-Aug-94 nd - Fixed bug in replace_cross_references which caused # pageref not to work #--------- v0.6.1 # 17-Aug-94 kz - Added "/" in join statement of img_tag just in case # someone omits it from the $ICONSERVER variable # nd - Added pstoppm3.ps in distribution. This is necessary for gs 3.0 # or later. The install-test script has been modified to automatically # change PSTOPPM in latex2html.config to point to the correct version # after checking which version gs is available # - Deleted a large portion of the man page inside latex2html # - Changed texexpand to ignore spaces around names of included files # - Changed $DVIPS to be invoked with the -M option which stops it # using Metafont # - Changed do_cmd_cite not to quote the #$cite_key because it # was causing problems when removing citation markers # - Changed do_cmd_texwritefile not to keep removing {}'s after picking # the figure|section|table number. This fixes problems of disappearing # numbers in figure and table captions # - Fixed encode to remove id's from the image caching key so that # image reuse works better # - Fixed do_cmd_footnotemark to pick \footnotetext # - Changed footnote file name from <FILE>.foot.html to footnode.html # 16-Aug-94 nd - Fixed bug in process_commands_in_tex which caused # commands with many arguments not to be processed correctly (eg # parbox) #--------- v0.6a3 # 16-Aug-94 nd - Changed install-test to test if giftrans takes the -t # argument. # - Changed $img_out to $img in make_transparent # - Changed so it adds "<! DOCTYPE ..." and "<!-- Converted ..." # information at the top of each node # tm and nd - Changed $item_description_rx to deal with one level # of nesting in \item[ [one level] ] commands. More than one levels # will be processed correctly if enclosed in {}'s eg # \item[{ [one [two]]}] # nd - Changed the naming convention of generated HTML files. The top # is as before but the rest are of the form "nodeN.html" where N is # a number. This makes generated documents more portable. # 15-Aug-94 nd - Changed meta_information not to use the contents # of the "About this document..." section in the meta information # tags. Instead only the section title is used # nd - Changed the test on whether to read .aux from /figure|table/ to # /\\caption/ # kz - Now ignores the numeric argument in (top|even|odd)sidemargin # kz - Does not call giftrans unless $GIFTRANS is bound # kz - Stopped adding ALT="" in embed_image. It is good to see [IMAGE] # in lynx #--------- v0.6a2 # 10-AUG-94 jhf - Fixed mispellings of pathnames in pstogif #--------- v0.6a1 # 10-AUG-94 jhf - Fixed several logic bugs in install-test # nd - Changed the code that loads ./.latex2html-init not to load # the file if ./ = ~/ #---------- v0.6a # 9-AUG-94 nd - Changed \html@next to \htmlnext in html.sty so the # \makeatletter and \makeatother commands could be removed (they # were cuasing other style files - changebar.sty - to crash) # nd - Stopped using <TT> when converting "verbatim" - <PRE> is enough # nd - Added support for loading a configuration file ./.latex2html-init # after ~/.latex2html-init if one is found. # 5-AUG-94 nd - The install-test script now makes executable the # appropriate scripts # 4-AUG-94 nd - Fixed problem with counters used in environments passed # to LaTeX missing or being added too late in images.tex. Was done by # scanning for $counters_rx in the $before string while processing # environments # bt - Fixed problem with section numbering (-show_section_numbers # when sections have the same titles. Also added support for # recognizing book parts # nd - Removed all .xbm's from the icons directory # nd - Created changebar.perl file which recognizes the commands # \chgbarbegin and \chgbarend. # These insert changebar icons around new text in a document. # nd - Fixed strange name clash bug in process_command where # $ref_contents was restored to an old value just before exiting # - the change was to add a ref_ prefix to the local variable # $before (the suberoutine was called with &process_command(???,*before) #--------- v0.5.9 # 3-AUG-94 nd - Fixed major bug in processing nested environments which # eg caused the outer environment to modify the contents of # inner environments. Fix is to go into the recursive call on # $contents before processing $contents in the current environment. # Also found that recursive call to modify $after was superfluous... # nd - Changed   back to  - Mosaic don't like it. #--------- v0.5.8 # 3-AUG-94 nd - Changed translate_commands and translate_environments to # free more local variables before going into recursive calls. # Also changed some of their subordinate subroutines to receive # their parameters by reference rather than by value. # nd - Changed  to   # 2-AUG-94 nd - Changed 3 reg expressions in revert_to_raw_tex to use # the "o" option for efficiency. Changed reg expressions in # wrap_shorthand_environments in the same way # nd - Changed texexpand to check for "sty|tex|cls" when figuring out # the basename of each style file # nd - Changed calls to process_environment to modify variables in the # caller rather than pass them around. # nd - Modified $contents parameter to process_command to be passed by # reference rather than by value # nd - Changed several subroutines to "undef" their local arguments # on exit. Not sure if this helps a lot... # nd - Changed to stop processing \input and \include commands # separately as soon as translation begins. This was # causing problems with \input commands inside figure environments. # Now they add themselves to $latex_body at the appropriate place. # nd - Changed html.perl to use embed_image instead of deal_with_image # nd - Stopped "linking" the .aux file in the HTML directory. It is not # needed since the captions are processed separately (and the # original was getting corrupted). # 1-AUG-94 nd - Implemented a new command \htmlimage which takes one # argument containing options used during the ps->gif converion. # [scale=<scale factor>] [external] [thumbnail=<reduction factor> # The "scale" option allows control over the size of the final image. # The "external" option will cause the image not to be inlined # (images are inlined by default). External images will be accessible # from a hypertext link. # The "thumbnail" option will cause a small inlined image to be # placed in the caption. The size of the thumbnail depends on the # reduction factor. "thumbnail" implies "external"... # Example: # \htmlimage{scale=1.5,external,thumbnail=0.2} # will cause a small thumbnail image 1/5 of the original size to be # placed in the final document, pointing to an external image 1.5 # times bigger than the original. (The "external" option is not # necessary in this example. # nd - Added a global variable $DEBUG. If set in the configuration # files then intermediate files are left for later inspection. # Caution: Intermediate files can be *enormous*. # nd - Stopped eating \n's at the end of environments - it causes problem # latex source of the form "$eqn$\nabc". # nd - Changed it so that all GIFs are made transparent (ie the color # white is transparent). This includes thumbnails. Warning: # Some pictures may need to keep the white color! #-------- v0.5.7 # 29-JUL-94 nd - Implemented a new version of the pstogif script in # Perl. It takes -scale and -depth command line arguments. This will # be used to scale equations etc. and convert color images without # loss of quality. # nd - Changed the image generation mechanism to use the new pstogif # script. Equations are now on average *six* times smaller than before! # (Calculated using a physics paper with 88 equations). # nd - Changed the handling of "figure" and "equation" so that # the captions appear in HTML rather than in the inlined image. # This makes it unnecessary to scale up high quality images just to # be able to read the captions. Also hypertext links inside the # captions now work. Also, figure and table numbers will work # correctly *if* there is an up to date .aux file (generated by # LaTeX) *and* the caption does not contain any characters # converted into images (eg equations). # nd - Can now control the scaling of each image generated by an # unknown environment using a new command \htmlimage (see 1-AUG). # Also, a new global variable $IMAGE_SCALE_FACTOR controls # the size of all other image generating commands and # environments (eg the size of equations). # nd - Fixed problem with \html@next in html.sty which caused latex to # crash when reading html.sty with \input{html.sty} # 27-JUL-94 nd - Removed link to itself inside the Contents page # nd - Changed it so that it prints error messages # if system calls go wrong # nd - Texexpand now automatically excludes any files ending in # .sty and .cls # nd - Changed texexpand so that the arguments of documentclass # and usepackage are processed correctly without being lost. # Also modified do_include to return success or failure. If there # is a failure then the corresponding style file is added back # in the options lists. # nd - Changed <B>'s to <STRONG> and <I>'s to <EM>'s. Now let's hope # all the browsers know them! # nd - Removed pstoxbm from distribution, removed -allbitmaps from # options and $BIG_IMAGES_AS_GIFS from the config files # 26-JUL-94 nd - Added support for do_cmd_latexonly. # 26-JUL-94 nd - Option -split 0 now removes the (inactive) navigation panel # nd - Changed some internal commands from latex2html_* and tex2html_* to # latextohtml_* and textohtml_* so that numbers can act as delimiters # to command names as expected (and added [0-9] to the delimiter list) # *Removed* [0-9] from the delimiters list because it cannot distiguish # between delimiters and legitimate commands/envs with numbers in their # names # hpr - Changed install-test to recognize dvipsk as dvips # nd - Replaced nslookup and e-mail guessing code with simple finger # nd - Fixed warnings in install-test about DVIPS compatibility # nd - Fixed all HREFs to surround their arguments with ""'s # kc - Replaced uses of $ENV{'PWD'} which is not maintained by # all the shells with &getpwd (from getpwd.pl) # gp - Replaced <HR> with <BR><HR> so that it looks better with lynx # tw - Fixed substitute_meta_cmds not to write all macros in the same # line in the file images.tex # dh - Changed texexpand to understand "~" in TEXINPUTS # bs - Fixed texexpand to ignore comments in inlcuded files # nd - Fixed raw_arg_cmd_rx so it gets set after loading the .perl files # nd - Changed $begin_env_rx to strip off spaces only until the end of # of a line (needed for verbatim environments) - suggested by ??? # nd - Now adds the title of the document in the "About this document" # section - this is useful for indexing eg with ALIWEB # nd - Fixed \& to be translated as & #----------- v0.5.6 # 25-JUL-94 jhf - Changed latex2html.config to provide textual equivalents # (ALT) for the navigation buttons # 25-JUL-94 nd - Fixed problem with unresolved references in inlined # images by copying the .aux and .bbl files in the new HTML directory # 22-JUL-94 nd - Put call to &address_data before the loading of # ~/.latex2html-init so that @address_data is initialised when # setting $ADDRESS # 21-JUL-94 nd - Removed the line # $_ = &process_command($sections_rx, $_) if /$sections_rx/; # (4-AUG-94 Correction: The change involved $counters_rx NOT $sections_rx) # which means that counter commands will *NOT* be effective inside # environments passed to latex. This is to avoid executing too early # counter commands occurring *inside* environments that are passed # to latex. To avoid the problem introduced by this change must enclose # it in an "ordered" environment which has no effect in latex but # causes it's contents to be translated immediately by latex2html. # (Fixed. See 4-AUG-94) # 15-JUL-94 nd - Removed "~" from latex_specials_rx so that it is caught # in %normalize and processed by a generated subroutine do_cmd_tilde # 14-JUL-94 nd - Changed sub make_latex to add a global declaration that # makes all text inside inlined images \large and \bf. This makes it # unnecessary to use 110 110 ppmsetdensity in the psto{gif!xbm} # converters which may distort included images. BUT have removed it # because it is now possible to control the density explicitly (27/JUL) # 14-JUL-94 nd - Simplified sub deal_with_texinputs so that it adds # the current directories without overwriting the default TeX # input directories by adding a trailing ':' - thanks bs. # This means that there is *** no longer a need to specify full # pathnames for included ps files ***. # 11-JUL-94 nd - Replaced the \\s* with \\n* in the environment regular # expression so that it eats just newlines rather than spaces. # This fixes a problem with spaces following equations being eaten # without causing extra lines to be introduced when we have consecutive # environments. # 5-JUL-94 nd - Fixed wrap_math_environment to treat $$ as displayed math. # 4-JUL-94 nd - Previous fix (9-JUN) introduced new bug. It was replacing # \_ with _ globally which affected environments passed to latex (tables). # Changed process_command to stop doing this and embedded the # identification of \<special_latex_char> in # sub normalize instead of in process_command. # 1-JUL-94 nd - Changed wrap_shorthand_environments to replace \[ and \] # with \begin{displaymath} etc. Also changed right_justify to # justify displaymath. (There is still a problem with justifying eqnarray*) # 20-JUN-94 nd - Changed get_ref_mark to examine symbolic_labels as well and # changed process_ref not to test $symbolic_labels{$label} before saving # $use_label. This fixed problem with hyperref text being replaced with # cross ref. icon. # 9-JUN-94 nd - Fixed bug in process_command to replace \_ with _ before # starting to process commands # 21-MAY-94 mcb - Changed extract_image to remove stars ("*") from filenames # 12-MAY-94 nd - Added sub meta_information in latex2html.config which is used # to add meta information in the HEAD of generated documents. This # information is compatible with that required by indexing scripts # such as site-index.pl at http://www.ai.mit.edu/tools/site-index.html) # which generate IAFA style templates for ALIWEB. # By default the meta information includes the contents of the # "About this document" section which can be customised with the # -info command line option or the $INFO setup variable. # 11-MAY-94 nd - Changed texexpand not to print "Checking ..." debug information. Changed do_cmd_title to ignore optional argument. # 5-MAY-94 nd - Changed latex2html.config so that the invisible character  # is used instead of the invisible bitmaps in anchors. # 29-APR-94 nd - Changed process_ref and replace_[external]_cross_references to # index the "hot" text text in \hyperref commands under $label as before # but also under $id. This avoids the problem of each \hyperref # writing over the "hot" text of the previous one... # 28-APR-94 nd - Changed -ascii-mode to imply -external-images # 22-APR-94 nd - Added \s* at the end of the regular expressions that match # environments to eat trailing spaces. # nd - Changed the normalised form of \/ from "slash" to "esc_slash" # because it was clashing with \slash. # 20-APR-94 nd - Added support for \i which just prints "i" # (without the dot in latex). # 20-APR-94 nd - Fixed erroneous call without an argument to escape_rx_chars from # get_next_pair_or_char_pr. This was causing accented characters to appear # twice. # 15-APR-94 nd - Added a new command htmladdnormallinkfoot in html.sty and # modified html.perl accordingly. This forces the URL to appear as a footnote # in the paper version of a document instead of being ignored. # *The default behavior of htmladdnormallink has changed* # 6-APR-94 mb - Changed a pattern /^@/ to /^\@/ which caused perl on a DEC # Alpha (OSF v1.3) to crash. # 23-MAR-94 nd - Changed get_next to remove spaces and newlines # from the beginning and and end of the arguments it picks up # 17-MAR-94 nd - Changed do_cmd_footnotemark to remove optional arguments, # and ALSO to look for optional arguments in the regular expression # for footnotetext. # 14-MAR-94 nd - Changed list helper to recognize optional arguments # in \item commands # 14-MAR-94 nd - Changed do_env_minipage to ignore its numeric argument # 11-MAR-94 nd - Changed navigation_panel to insert newlines between buttons # so that the HTML source looks prettier but removed them because they # were being translated to <P>'s. # 11-MAR-94 nd - Changed pre-process to chop of newlines at the start of verbatim # environments - They generate 2 lines when combined with <TT> # 11-MAR-94 nd - Fixed so \slash produces a "/" instead of being ignored #----------- v0.5.5 # 28-FEB-94 nd - Changed get_next_pair_or_char_pr to escape command arguments # picked from the text before using them in patterns # 25-FEB-94 nd - Changed dot.latex2html-init to append styles to # $DONT_INCLUDE instead of overwritting it. This caused looping problems # when loading style files with commented \input commands (eg german.sty) # 25-FEB-94 nd - Added translation for \hrule #DELETED - Must escape new command|env names specifically... # 20-FEB-94 nd - Changed sub tokenize to escape text for use in reg. expressions # 17-FEB-94 nd - Fixed normalize to deal with commands of the form # \<special_latex_char>text eg \_level. # 16-FEB-94 nd - Changed the way perl executes latex2html (#!/usr/local/bin/perl) # 11-FEB-94 nd - Mapped large, Large, LARGE etc to H5, H4, H3, etc. # Pitfalls: They *must* be delimited and a carriage return in the HTML # viewer is unavoidable. #----------- v0.5.4 # 11-FEB-94 nd - Changed pre_process to include the substitution of # special html characters and mark_string to solve the problem were # the text inside the body of a newcommand was reverting to raw text. # 28-JAN-94 nd - Added "]" to the list of delimiters (Oops!) # 28-JAN-94 alo- Added flag -f when calling dvips in install-test (some # dvips's dont return usage when called with no args) # 28-JAN-94 nd - Removed "\\setlength{\\textheight}{10in}" because it was # causing parameter overflow in some systems # 28-JAN-94 nd - Strip leading +'s which appear in domain names returned by # some NIS servers # 27-JAN-94 nd - Modified texexpand to strip spaces out of $styles #----------- v0.5.3 # 26-JAN-94 nd - The space eating \\s* in the rx for matching environments in # sub make_begin_end_env_rx has been removed. It was making $$'s stick to # the next piece of text. Because there is no regression testing to speak # of, there may be problems (see 18-JAN-94). # 26-JAN-94 nd - Changed pre-process not to eat the inital spaces # in a verbatim environment # 25-JAN-94 nd - Changed install-test to use $DVIPS instead of 'dvips' #----------- v0.5.2 # 25-JAN-94 nd - Changed the markers for html special characters (&,<,>,etc) # so that they are delimited by ;'s. This was required before updating # styles/german.perl and styles/makeidx.perl #----------- v0.5.1 # 24-JAN-94 nd - Changed mark_string to call pre_process. This # allows the handling of verbatim environments which are given # as arguments to command macros. # nd - Changed pre_process to save the "unescaped" \verb delimiter #----------- v0.5 # 21-JAN-94 nd - Fixed nasty problem in the generated code for commands # that are passed to Latex. The regular expression for picking # optional arguments has been replaced with get_next_optional_argument #----------- v0.4.5 # 20-JAN-94 nd - Overhauled the way in which navigation icons are embedded # in the main text. Instead of adding them at any time, icon markers # are used instead. After cleaning the text of the navigation panel # (text_cleanup) the real icons which may contain special characters # such as ~ are exhcanged with the markers. # nd - Hacked the mechanism for replacing html specials (<,>,& etc) # to mark them rather than replace them outright. Otherwise # occasionally the "&" in < etc is replaced (eg when <> are at the # beginning of a line). Also, *changed slurp_input* to # look for html special characters twice (otherwise there is a problem # with consecutive html specials e.g. # ' "<H...' strings where both " and < are special. # Also modified html_special_rx and defined %html_special_inv to cope # with the html specials markers. # 20-JAN-94 wr - Added translations for (small|med|big)skip # 19-JAN-94 aa - Made changes to retrieve correct host and domain information # via a call to nslookup. # aa - Added a search for latex2html-init to include the @INC # directories. # 18-JAN-94 nd - Implemented user-configurable navigation panel. The main # script provides images of buttons bound to section links and global # variables bound to section titles. The subroutine navigation_panel # can be customized in order to create a personal navigation panel # by mixing the buttons and titles provided. The number of words # to display in each title can also be customized. The buttons were # grabbed from real motif buttons. # 18-JAN-94 nd - Navigation icon replacement (in main text) now also takes # place after text_cleanup # nd - Changed the environment regular expressions to match trailing # spaces. This stops the insertion of paragraphs between consecutive # environments. #----------- v0.4.4 # 17-JAN-94 nd - Verbatim markers are now replaced after doing text_cleanup #----------- v0.4.3 # 14-JAN-94 nd - Fixed bug introduced at 12-JAN when text_cleanup was moved # earlier. Now text_cleanup is called separately to clean titles #----------- v0.4.2 # 12-JAN-94 nd - Changed the way in which sectioning information is stored # in order to fix problem with -split N and the way the "Next Page" # link is calculated. Now there are two hash tables %section_info and # %toc_section_info. The first one only holds sections which are split # into separate files, while the second holds all the sections and is # used in the calculation of the contents page. # nd - Moved the final &text_cleanup before adding the navigation panel # which may contain special latex characters such as "~" # nd - Defined a translation for the "comment" environment defined in html.sty #---------- v0.4.1 # 11-JAN-94 nd - Changed so that \stepcounter is included in the order_sensitive # commands in order to generate new pictures for each one # nd - Major change in order in which environments contents are processed # *before* the rest of the input file (previously the $after variable was # processed earlier, resulting in order sensitive images being incorrectly # numbered). # 11-JAN-94 up - Made the @ character normal before the preamble is added to # the generated file images.tex and then made it special again. # 10-JAN-94 nd - Added ';' to the list of delimiters. Added newfont in ignored commands # Added do_env_minipage to ignore optional arg and return its contents # Changed do_cmd_index to call make_index_entry # 10-JAN-94 spqr - Added \n before closing } in generated \samepage lines # 4-JAN-94 nd - Changed version number in latex2html.config from 0.3.1 to 0.4 # 21-DEC-93 nd - Fixed serious bug in parsing \item{XX} commands in list_helper # nd - Changed the format of the generated filenames from section*.X.Y.html to section*_X_Y.html so that VMS systems can accept them # 20-DEC-93 nd - Fixed pre_process to escape special chars picked from the text #---------- v0.4 # nd - Changed documentation to warn about dvips # nd - Fixed typo in french.perl # 9-DEC-93 nd - Fixed problem with comments in verbatim environments in texexpand #---------- v0.4a # nd - Added option -init_file # nd - Fixed bug in replace_cross_references when processing pagerefs # 8-DEC-93 nd - Modified translate_environments not to process environments # inside a latexonly environment # 7-DEC-93 nd - Modified texexpand to ignore comments! # Also modified so that \input and \include do not have to be in the # beginning of a line. Text before or after such commands is preserved. # nd - Changed the option -nonavigation to -no_navigation # nd - Moved to code for handling html.sty in styles/html.perl and # added the code for \hyperref in it # 2-DEC-93 nd - Fixed bug in determining the outermost level # 1-DEC-93 nd - Put ab's code on handling makeidx.sty commands in styles/makeidx.perl # 1-DEC-93 nd - Texexpand now copies the whole input file in the $DESTDIR # directory. This is necessary beacuse it needs to see the whole thing # in order to extract the style files used. Doing it using pipes was limiting # it to the size of the pipe buffer (thanks to rjw) # 30-NOV-93 nd - Moved the removal of comments after the extraction of # verbatim environments # nd - If $ENV{$TEXINPUTS} is defined then the directory with the source # latex file is pushed into it. If it is undefined then symbolic links # are created in the HTML directory pointing to each .sty file in # source directory. This is to allow style files to be found when running # latex in the HTML directory # 26-NOV-93 nd - Many changes to translate latex accents and special characters to # the equivalent ISO-LATIN-1 characters where possible. # The following are still NOT supported. # \=, \u, \v, \H, \t, \d, and \b # fz+nd Added a filter to replace accent commands defined in different # style files such as german.sty or french.sty. # 24-NOV-93 nd - Created the file styles/german.perl which contains # the sub german_translation which replaces accents defined in # german.sty with ISO-LATIN-1 equivalents. Also created styles/french.perl # nd - When expanding commands and new definitions will now pick the next # n characters for each of the n arguments if they are not delimited # by braces. Must generalize this when picking $next_pair_rx for any command # nd - Fixed very serious problem with $next_pair_rx $next_pair_pr_rx # (made them match only the beginning of a line ...) and created # $any_next_pair_rx and $any_next_pair_pr_rx which will skip initial chars # nd - Moved the Change Log in a separate file called "Changes" # 23-NOV-93 nd - Changed texexpand to take an extra command line # argument -save_styles <file> which instructs it to save in <file> the names # of any style files or other included files. <file> is then examined, # and for each <file> it tries to load perl code in ./<file>.perl or # $LATEX2HTMLSTYLES/<file>.perl that can deal with <file>[.sty]. # nd - The value of $LATEX2HTMLDIR is now bound to the environment variable # of the same name. This is used by texexpand when loading perl code # that corresponds to particular style files. # nd - Changed texexpand to look for <file> as well as <file>.tex # Stopped assigning source directory to TEXINPUTS. This was # causing problems when TEXINPUTS did not already have the correct paths # (style files not found when passing commands etc. to latex). # fz - Modified texexpand to look in subdirectories when expanding # nd - Now gives warning if file.tex is newer than file.aux|bbl|etc # 22-NOV-93 nd - Changed $HIDE_SECTION_NUMBERS to $SHOW_SECTION_NUMBERS # 18-NOV-93 nd - Changed $_ in process_ext_file to global to produce side-effect # (was causing bibliographies to disappear) # 17-NOV-93 nd - Now every section title is enclosed in a name anchor (based on # $curr_sec_id). This fixes the problem of the table of contents in single # page documents created with -split 0 # 17-NOV-93 nd - New options -auto_navigation (suggested by tl), # -index_in_navigation, -contents_in_navigation, -next_page_in_navigation # -previous_page_in_navigation # 16-NOV-93 nd - Created new icons for next_page, previous_page, index and contents # 16-NOV-93 nd - Created a $LATEX2HTMLDIR/install-test file which sets the # $LATEX2HTMLDIR variable in the main script and tests the availability of # external programs. To install, must change latex2html.config and (run # install-test or change $LATEX2HTMLDIR in this file manually) # 16-NOV-93 nd - Created a $LATEX2HTMLDIR/latex2html.config file which is # loaded before each user's personal init files # 15-NOV-93 nd - Fixed problem with \item not being delimited #--------- v0.3.12 # 12-NOV-93 nd - Can now specify that numeric arguments should be ignored e.g. # \parindent 12pt (using parindent # &ignore_numeric_argument) # 12-NOV-93 nd - Added '=' in the list of $delimiters # 11-NOV-93 nd - Changed post_process to include the header #--------- v0.3.11 # 11-NOV-93 nd - Changed the way globbing is done. Some had problems with <$$*> # 11-NOV-93 nd - Changed the image reuse mechanism yet again. Have removed # the id from the hash table key and I stopped saving order sensitive # environments like equations, captioned figures and tables etc. #--------- v0.3.10 # 10-NOV-93 nd - Added blank.pbm to the distribution. # 10-NOV-93 nd - Added sub right_justify which prepends a tiled blank XBM # to an equation or eqnarray XBM to give the effect of right justification. # It uses the global variable $LINE_WIDTH and the pbmplus routines # xbmtopbm (to convert to pbm), pnmfile (to ask for its dimensions), # pnmtile (to replicate a blank PBM of 1 pixel), pnmcat # (to prepend the replicated blank bitmap) and pbmtoxbm # (to convert the result to XBM). # 10-NOV-93 nd - Option -top_navigation to put navigation panel at the top # 10-NOV-93 nd - Changed pstogif and pstoxbm not to use 100 100 ppmsetdensity # when calling $GS. This makes included ps files which contain bitmaps cleaner #--------- v0.3.9 # 9-NOV-93 nd - Option -bottom_navigation to put navigation panel at the end # 9-NOV-93 nd - Now prints version number etc. on invocation # 9-NOV-93 nd - Fixed problem with blank lines surrounding rawhtml environments # 9-NOV-93 nd - Fixed conversion of \$ \& \% etc. by rearranging $delimiters # 9-NOV-93 nd - Fixed problem with handling "hand-made" bibliographies. Also # fixed serious problem with picking optional arguments in sub do_cmd_bibitem #--------- v0.3.8 # 29-OCT-93 nd - Added some support for optional labels (user defined bullets) in # itemize and enumerate environments. Problem is that user defined bullets # should NOT be mixed with default ones (e.g. in an enumerate environment the # automatic numbering is lost if any such labels are used). #--------- v0.3.7 # 28-OCT-93 nd - Now remove markers *after* adding child node titles. # These titles may contain inlined images. # 28-OCT-93 nd - Now call translate_environments when processing section titles # 28-OCT-93 nd - Changed the way that section titles are encoded (encode_title) # so that titles can be recognized in <file>.aux. Also commands not recognized # in an aux file are not recorded. This solves the problem of titles with # font changes not getting the correct numbers. *** This process relies on each # section title being unique ***. # 27-OCT-93 nd - Added ' to $delimiters and to $cmd_delims # 26-OCT-93 nd - Modified sub process_ref to take optional argument which controls # the printed cross ref mark (0 -> default, 1 -> internal label, 'XXX' -> 'XXX') #--------- v0.3.6 # 25-OCT-93 nd - Now ignores the \/ command # 25-OCT-93 nd - Added support for a latexonly and an htmlonly environment. # 25-OCT-93 nd - No navigation panel on the top page. # 21-OCT-93 nd - Added support for the \begin|end{rawhtml} environment. Can type # raw HTML (intended to be used to specify forms). Latex ignores it. # 21-OCT-93 ec - Now gives warning when it is not possible to convert an image # 19-OCT-93 nd - Fixed spelling error in name of subroutine do_cmd_htmladdimg # 18-OCT-93 nd - Added \clearpage inside each page passed to latex in order # to synchronize the positions of floating figure and table environments. # 18-OCT-93 nd - Added the environment id as part of encoded key in the table # of generated images. This means that the same tex code will generate two # separate images. This is ok for environments like equations which will have # unique equation numbers but it is an overkill for things like $X_i$. # It also means that the addition of a new envirnoment will change the unique # id's and images will not be reused. #--------- v0.3.5 # 14-OCT-93 nd - Added option to print the section numbers calculated by LaTex # which is true by default. When true the references to sections are shown # using these numbers instead of $cross_ref_visible_mark # 14-OCT-93 nd - Fixed Problem with \label commands inside captions # 13-OCT-93 nd - Theorems are now passed on to latex in order to keep their # counters in step with other counters. # Stopped removing \caption commands from figure and table environments. # Generalised the mechanism for reading in the $FILE.bbl and can use it to read # any other $FILE.<ext>. At the moment it is used to read the $FILE.aux which # contains the correct symbolic values for the labels. Defined new # do_cmd_<aux_cmd> subroutines to handle the contents of $FILE.aux. # 12-OCT-93 nd - Changed the way *-forms of sectioning commands are recognized # and processed (they must not update the sectioning counters) # 11-OCT-93 nd - Fixed problem with encoding of keys in cached image table. # 8-OCT-93 nd - Major reengineering to get numeric labels in cross-references, # to figures, equations and tables. Now latex is called # only once to process all the counter commands, special commands and # unknown environments. Dvips is also called once to generate a separate # file for each image. The resulting .aux file contains the correct # numeric labels for equations, figures and tables. # The subroutines dump_counters, increment_counters, reset_counters_within, # get_full_counter, get_counter, set_within_counter have been deleted. # Have stopped trying to translate counter commands. Instead they are appended # to the variable $latex_body which contains unknown commands and environments # that will be possed to latex. # POTENTIAL PROBLEMS: # - ALL explicit counter manipulation commands are appended to # $latex_body as each section is processed and they are not # evaluated in the expected order (e.g. it may cause a problem when # interleaving explicit equation counter setting commands with # equation environments) # - When an environment generates more than one pages of postscript then # ALL THE IMAGES GET OUT OF SYNC. In this case a warning is given. #--------- v0.3.4 # 5-OCT-93 nd - Fixed bug in dump_counters that stopped equation counters being # dumped before passing environments to Latex #---------- v0.3.3 # 30-SEP-93 nd - Changed $delimiters and $single_cmd_rx to handle commands which # are also delimiters # 30-SEP-93 jr - Added '-' to delimiters # 30-SEP-93 nd - Fixed serious problem with ignored commands and environments. # Moved ignored commands into hash table %ignore and changed &ignore_commands, # &process_environment, &process_command to use it. #---------- v0.3.2 (also known as 0.3.1 patch 1) # 29-SEP-93 nd - Stopped using the list @process_in_latex_cmds and the # associated procedure make_process_in_latex_cmds # 29-SEP-93 nd - \\ now translates to <BR> instead of <P> # 29-SEP-93 nd - Added '!' to the set of delimiters. # 29-SEP-93 nd - Changed $raw_arg_cmd_rx to check for delimiters and changed # wrap_raw_arg_cmds to use it. # 29-SEP-93 nd - Changed value of ALIGN attribute from TOP to BOTTOM. # 16-SEP-93 nd - Fixed bug in do_include-lines (input|include commands now # revert to raw tex before added to the preamble # 13-SEP-93 nd - Added :,~, in the list of delimiters # 7-SEP-93 nd - Added option -reuse and corresponding variable $REUSE # 2-SEP-93 nd - Added $tmp in local variables of get_next (was causing test on # whether an env was defined or not in get_body_newcommand to fail. #---------- v0.3.1 # 1-SEP-93 rst - Added set of patches to deal with nested environments which have # the same name. This was necessary in order to address the problem of commands # that should be processed in latex whose arguments contain environments. # Such arguments should be left raw. The solution is to enclose such commands # in tex2thml_wrap wrappers. # 1-SEP-93 rst - Added patch to fix the recognition of \specials # 1-SEP-93 nd - Fixed bug in get_first_words - now counts words instead of chars #---------- v0.3 # 26-AUG-93 nd - Added test for not adding new counter definitions in the preamble # if already there. Also added test to catch counters with name "0" in # dump_counters (need more looking into why this happens) # 26-AUG-93 nd - Added test to check if file already exists when generating a # name for a new image. If positive, the pid is used to "uniquify" it. # 26-AUG-93 nd - Incorporated latest set of patches from rst: (i) expand macros in # bibliographies, (ii) recognize $a$$b$ as two distinct invocations of # non-display math mode and (iii) a new version of texexpand # 26-AUG-93 nd - Added ALT="" attribute to the IMG tag to make Lynx users happier # 25-AUG-93 nd - Fixed serious bug in the test for undefined environments # (have replaced sub undefined_env with defined_env) # 25-AUG-93 nd - Added mechanism for reusing existing images generated by # the translator during previous runs. The associations between text already # passed to latex and any generated images is saved in the file "images.pl". # On invoking latex2html the user is asked whether old images should be reused # as well as being asked whether to delete the old directory. # 25-AUG-93 nd - Added delimiters (<>) around all the marker strings # (e.g. $verbatim_mark, $toc_mark etc). This stops them being concatenated # to commands which they may follow (tests/verbatim.tex) # 24-AUG-93 nd - Added html.sty in the distribution # 24-AUG-93 nd - Added support for referring to symbolic labels defined in # one document from any other document. The external links to another document # will point to the correct physical files even after the original document # has been broken into different physical parts or moved [1]. This is # possible even when the document being referenced lives on a remote server. # To do this two new commands have been defined: # \externallabels{<URL to directory of external document>} # {<remote document LABELS.PL file>} # \externalref{<label in remote document>} # The command \externallabels can be used to import external labels # into the current document. # The command \externalref can be used to refer to labels in external # documents, in the same way that the \ref command refers to internal labels. # The file LABELS.PL associates symbolic labels with physical files and is now # generated automatically for each translated document. (Idea came from # discussions with rjw. See tests/external-labels.tex. # [1] (to get re-alignment it is necessary to run latex2html on the # original document and any others that refer to it). # 23-AUG-93 nd - Added support for new latex command latextohtml which can # be used to pass arbitrary perl code to the translator # 23-AUG-93 nd - Added some support for operations on counters. Very ugly code # and it is still not right. The order that commands are processed depends # on their depth. This causes problems with counter commands which must # be processed in strict order. Also as commands are processed after # environments, counter commands cannot influence environments. # See tests/counters.tex # 23-AUG-93 nd - Added support for correct numbering of equations # 23-AUG-93 nd - Fixed problem with the numbering of theorem environments # 23-AUG-93 nd - Fixed regular expression in make_name that chewed up section # names containing "10" # 20-AUG-93 nd - Changed the name of PPMTOXBM to PBMTOXBM # 20-AUG-93 nd - The names of commands like \LaTeX and \pounds stays in the text # as [LaTeX] etc. when the ascii_mode is used # 20-AUG-93 nd - Fixed bug that caused links to figures and tables to disappear # when the -nolatex option was used # 20-AUG-93 nd - Added option -ascii_mode to switch all the icons to their # ascii equivalents so that the output can be used on character based browsers # 19-AUG-93 nd - Added the pstogif script in the distribution # 19-AUG-93 nd - Added option -external_images that does not inline images but # provides links to where they are stored # 19-AUG-93 rst - Fixed bug in get_body_def # 19-AUG-93 rst - Modified to work with new version of texexpand. Added an # option -dont_include to specify style files that should not be included. # 19-AUG-93 rst - Added a new version of texexpand to the distribution. # This handles the inclusion of style files which need to processed by the # translator (patch7). # 19-AUG-93 rst - Added option to change the format of the generated images # for figures, tables and tabular environments to GIF rather than XBM. # This saves a lot of disk space as GIFs are more compact. Smaller # images for equations and special symbols are still XMBs as they look # better on color backround screens (patch6) # 19-AUG-93 rst - Fixed bugs in the handling of optional labels on # bibitems (patch5) # 19-AUG-93 rst - Added support for nested math mode expressions and general # list environments (patch4 - document from Hell!) # 19-AUG-93 rst - This patch educates latex2html about simple raw TeX command # \special and simple instances of \def (where "simple" is defined roughly # as "they could have used \newcommand, but didn't". For the messier cases, # the definition is scooped up and moved to the preamble. This allows # latex2html to handle the simple, but nonstandard, postscript figure inclusion # macros as well as an awful lot of other stuff done with gratuitous # \defs (patch3) # 19-AUG-93 rst - Fixed bug in the substitution of macro definitions (patch2) # 19-AUG-93 rst - Cleaned up erroneously generated output from unrecognized # commands in the preamble (patch1) # 19-AUG-93 nd - Changed do_cmd_title and do_cmd_section_helper to remove newlines # from the title and section names when they are used for navigation # 19-AUG-93 nd - Individual footnotes in the footnotes file are separated by # about a page of empty space for easier identification (suggested by dm) # 18-AUG-93 nd - Fixed problem about the -nonavigation option deleting the header # information (including the title). # 18-AUG-93 nd - Now writes out the tag <HEAD> instead of <HEADER> (oops!) # 18-AUG-93 nd - Added command \thanks # 16-AUG-93 nd - Changed the $process_in_latex_cmd_rx to $raw_args_cmd_rx to # include sectioning commands. This was done to catch the titles of # sections before they are processed in order to remove label references # (not from the title in the text but from the title that is used as a # handle for the section in the table of contents etc). # 10-AUG-93 nd - Removed the space character at the beginning of $verbatim_mark # and $verb_mark (was causing problems with \verb at the begining of a doc) # 5-AUG-93 nd - Changed $CHILDLINE to use ____ instead of ----- 's #---------- v0.2 # 3-AUG-93 nd - Stopped trying to expand the paths to the arguments of psfig # as it done through $TEXINPUT # 3-AUG-93 nd - All the navigation icon variables are now set in the # initialization file # 2-AUG-93 nd - The initialization file is now require'd using the full path # 2-AUG-93 nd - Modified the pstoxbm script to use environment variables # set in the .latex2html-init file. Modified the dot.latex2html-init file # 2-AUG-93 nd - Added delimiters(;) after the translation of special HTML chars # Modified the way HTML specials are translated in slurp_input # 2-AUG-93 nd - Added flag to switch off navigation links (suggested by wb) # 2-AUG-93 nd - References filtered through translate_environment # (bug reported by bh) # 2-AUG-93 nd - Fixed problem with recognizing the *-forms of environments # (bug reported by rst) # 2-AUG-93 nd - Added code to handle the $$-form of display math # (bug reported by rst) # 2-AUG-93 nd - Prints message at the end if references are not found # 2-AUG-93 nd - Added a separator between the body of text in a page and the # child links controlled by $CHILDLINE (suggested by ac) # 2-AUG-93 nd - Can specify the syntax of commands to be ignored in the # initialisation file # 31-JUL-93 nd - Added hundreds of semicolons to make it compatible with older # versions of Perl (but failed !) # 30-JUL-93 nd - Changed the order of the navigation keywords to be the same # as that of the navigation icons (suggested by ac) # 30-JUL-93 nd - Changed verbatim command arguments to be translated to fixed # width fonts (<TT>) # 30-JUL-93 nd - Added section 'Hyperlinks with LaTeX commands' to the man page #---------- v0.1.1 # 29-JUL-93 nd - Changed make_new_env_rx and make_begin_env_rx to consume extra # spaces and newlines after a \begin{<env>} command. Such newlines # were being added to environments that cause errors if they contain # blank lines (e.g. math) # 29-JUL-93 nd - Fixed design flaw (reported by ab) # Problem: Arguments of commands that were passed to latex were translated. # Fixed it by registering such commands in regular expression # $process_in_latex_cmd_rx and then processing such commands as soon as we enter # translate_commands. Modified translate_commands and process_command to # this accomodate. Also fixed bugs in the code of do_cmd_<X> where # X=psfig|fbox|framebox|parbox # 29-JUL-93 nd - Changed the format of inlined images coming back from latex # from GIF to XBM (suggested by ab) # 26-JUL-93 nd - Created �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/FAQ�����������������������������������������������������������������������0100644�0000764�0000764�00000152214�07005234326�015103� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ LATEX2HTML Frequently Asked Questions Release 98.1 Contents * Contents * 1. Overview * 2. Installation and Further Support + 2.1 Getting LATEX2HTML + 2.2 Getting Support and More Information * 3. Known Problems + 3.1 Troubleshooting * Bibliography 1. Overview This manual describes the LATEX2HTML translator which is used to create Web pages from document source written for the LATEX typesetting system, or simply containing LATEX commands. ----- To use LATEX2HTML to translate a file <file>.tex containing LATEX commands, simply type: latex2html <file>.tex This will create a new directory called <file> which will contain the generated HTML files, some log files and possibly some images. ----- Basically the translator reads the source document and creates a linked set of HTML pages, displaying the information it contains. The LATEX commands and environments that are found are interpreted either as ``markup'' instructions, or as macros expanding into more text or markup commands. Where such markup corresponds to the intended use for markup tags in the HTML language, a direct translation is made. If there is no natural way to present the information using simple text embellished with HTML markup tags, then an image is generated, using LATEX itself to interpret the portion of code. Of course this is a drastically over-simplified description of what LATEX2HTML actually does. Many questions spring readily to mind. The answers to these and the options available to handle particular situations are discussed elsewhere in this manual. ----- * What does ``natural way to present the information'' really mean? Text and paragraphing clearly should appear as such, whether printed or on-screen. Different font sizes and styles such as ``bold-face'' or ``italic'' are generally rendered accordingly. However, whereas LATEX has access to appropriate fonts for specialised purposes such as mathematical symbols, these cannot be guaranteed to be available with all Web-browsers. So for information requiring such things, LATEX2HTML will generally resort to making an image, using LATEX itself to typeset the material required for that image. The next page contains a brief overview of how LATEX's standard environments are handled within LATEX2HTML. It also mentions some of the extra features that are available. In general LATEX2HTML attempts to use textual constructions to represent the required information. Generation of an image is done only when there is no adequate textual construction with the required version of HTML, or when specifically requested to do so. Various extensions, to cope with the different HTML versions and extra features, are discussed elsewhere. That describes what to expect on the HTML pages, with little or no changes required to the LATEX source. Just as LATEX has various packages which can be used to present specific types of information in appropriate ways, so is LATEX2HTML capable of handling the commands from many of these packages. See this table for a listing of those packages which currently have special support. ----- * Some features of HTML have no direct counterpart in a LATEX typeset document. Can such features be used with LATEX2HTML? Any effect currently available with any version of the HTML standard can be specified for a document processed by LATEX2HTML. New LATEX commands are defined in the html.sty package; the features that these commands allow are the subject of a whole section of this manual. Some of the new commands provide improved strategies for effects already existing in LATEX; e.g. cross-references and citations. To use these effectively requires only small changes to the LATEX source. Other commands define new environments which are completely ignored when processed by LATEX. Indeed the full scope of HTML 3.2 is available, using LATEX-like macros to help structure the source, reduce the tedium of repetitious use of tags, and ensure that all appropriate tags are correctly closed. ----- * What determines the amount of information that goes onto a single HTML page? How are different pages linked? The HTML pages can contain whole chapters, sections, (sub)subsections or (sub)paragraphs. This is fully customisable using the command-line options discussed in detail in a separate section of this manual. ----- * Does the original document have to be a valid LATEX document, typesetting without errors? If not, does it help if it is? In fact any document can be fed to the LATEX2HTML processor, but it is designed specifically to recognise and sensibly translate the intentions expressed by LATEX markup commands. Although sensible results can be obtained even when the LATEX source is not valid, the most reliable translations are obtained when it is. Relevant issues are discussed in a later section. ----- * When developing a document which contains special HTML features, is it best to regularly test it in LATEX or with LATEX2HTML? The answer to such a question changes as the developer gains more experience with the available tools. Some aspects to be considered are discussed in a later section of this manual. _________________________________________________________________ ----- Information relevant to obtaining the latest version of LATEX2HTML, installation within the local environment, and where to look for help when things do not go as expected, can be found in the support section. 2. Installation and Further Support 2.1 Getting LATEX2HTML _________________________________________________________________ change_begin 98.1 One way LATEX2HTMLmay be obtained is through one of the three Comprehensive TEX Archive Network (CTAN) sites. They are located at * US United States: http://ctan.tug.org/ctan/, * UK United Kingdom: http://www.tex.ac.uk/ * DE Germany: ftp://ftp.dante.de. In the directory http://ctan.tug.org/ctan/ should be the latest version, uncompressed. There are also many mirrors. To find the nearest to you, get a listing via the command: finger ctan@www.tug.org change_begin 97.1 The site at http://cdc-server.cdc.informatik.tu-darmstadt.de/~latex2html/ is a convenient alternative for European users. This is connected to the developer's repository, so should always have the most recent release. change_end 97.1 Alternatively, a compressed tar file of the source and related files may be obtained via anonymous ftp to http://www-dsed.llnl.gov/files/programs/unix/latex2html/sources/latex2 html-98.1.tar.gz. Two other ftp -sites are http://ctan.tug.org/ctan/tex-archive/support/latex2html and ftp://ftp.rzg.mpg.de/pub/software/latex2html/sources/latex2html-98.1.t ar.gz. Other ftp -sites nearer to you can be found using Archie at http://hoohoo.ncsa.uiuc.edu/archie.html or http://www.pvv.unit.no/archie/ (faster) or more recent Web-searching tools such as FTP search in Norway. Warning: Some ftp -sites may not carry the latest version. Updates and patches are posted on the LATEX2HTML server at http://www-dsed.llnl.gov/files/programs/unix/latex2html/. change_end 98.1 change_begin 97.1 For users of Windows NT, there is a port of LATEX2HTML obtainable from ftp://ftp.ese-metz.fr/pub/TeX/win32. Obtain the release from this site and follow the instructions in the accompanying file README.win32. Thanks to Fabrice Popineau for this work. In future it is planned to merge this code with the main distribution. change_end 97.1 change_begin 97.1 Finally there is the LATEX2HTML developers' CVS repository, at http://cdc-server.cdc.informatik.tu-darmstadt.de/~latex2html/user/. The files to be found here are the most up-to-date with current developments, but they cannot be guaranteed to be fully reliable. New features may be still under development and not yet sufficiently tested for release. A daily updated compressed archive of the developers' work may be downloaded from http://cdc-server.cdc.informatik.tu-darmstadt.de/~latex2html/l2h-lates t.tar.gz. Warning: Use the files from this site at your own risk. change_end 97.1 _________________________________________________________________ Having obtained a compressed tar version, save it into a file latex2html-98.1.tar.gz say, then extract its contents with % gzip -d latex2html-98.1.tar.gz % tar xvf latex2html-98.1.tar You should then have the following: * README file; change_begin 98.1 * Changes index with latest changes; * Changes.detailed (no longer supplied); change_end 98.1 * latex2html Perl script; * texexpand Perl script1; * latex2html.config configuration file; * install-test Perl script, for installation and testing; * dot.latex2html-init sample initialisation file; change_begin 97.1 * texinputs/ subdirectory, containing various LATEX style-files; * versions/ subdirectory, containing code for specific HTML versions; * makemap Perl script; * example/ subdirectory, containing the segmentation example, described in detail in a later section; * .dvipsrc file; * pstogif Perl script (no longer supplied); change_end 97.1 change_begin 97.1 * pstoimg Perl script for image conversion (replaces pstogif ); * configure-pstoimg Perl script for installation; * local.pm Perl input file; * icons.gif/ subdirectory, containing icons in GIF format; * icons.png/ subdirectory, containing icons in PNG format; * makeseg Perl script and examples to handle segmented documents via a generated Makefile, see makeseg.tex; change_end 97.1 change_begin 98.1 * foilhtml/ package to support FoilTeX to HTML translation, by Boris Veystman; * IndicTeX-HTML/ package that contains Perl and LATEX code for translating IndicTEX documents (see README file); change_end 98.1 * docs/ subdirectory, containing the files needed to create a version of this manual; * styles/ subdirectory, containing Perl code for handling some style-files; * tests/ contains some test documents for LATEX2HTML. _________________________________________________________________ 2.1.1 Requirements The translator makes use of several utilities all of which are freely available on most platforms. You may use Archie , or other Web-searching tools such as FTP search , to find the source code of any utilities you might need. For the best use of LATEX2HTML you want to get the latest versions of all the utilities that it uses. (It will still work with earlier versions, but some special effects may not be possible. The specific requirements are discussed below.) change_begin 98.1 * Perl version 5.002, or later (check with perl -v); Perl should be compiled to use the csh or tcsh shell, though LATEX2HTML can also work with the bash shell if Perl is recompiled to use it as ``full csh''. Don't care about this, you will be reported about missing things by install-test if there are any. change_end 98.1 * LATEX, meaning LATEX2e dated <1995/06/01>, or later; * dvips or dvipsk , at version 5.58 or later; * Ghostscript at version 4.02 or later; * the netpbm library of graphics utilities version 1-MAR-94 (check with pnmcrop -version). _________________________________________________________________ More specific requirements for using LATEX2HTML depend on the kind of translation you would like to perform, as follows: 1. LATEX commands but without equations, figures, tables, etc. + Perl change_begin 98.1 Note: LATEX2HTML requires Perl 5 to operate. change_end 98.1 Warning 1: You really do need Perl 5. Versions of LATEX2HTML up to V96.1H work both with Perl 4 at patch level 36 and Perl 5, though some of the packages may only work with Perl 5. Warning 2: Various aspects of Perl, which are used by LATEX2HTML, assume certain system commands to be provided by the operating system shell. If csh or tcsh is used to invoke LATEX2HTML then everything should work properly. Perl 5 eliminates this requirement on the shell. + DBM or NDBM , the Unix DataBase Management system, or GDBM , the GNU database manager. Note: Some systems lack any DBM support. Perl 5 comes with its own database system SDBM, but it is sometimes not part of some Perl distributions. change_begin 98.1 The installation script install-test will check that for you. If no database system is found, you will have to install Perl properly. change_end 98.1 2. LATEX commands with equations, figures, tables, etc. As above plus ... + latex (version 2e recommended but 2.09 acceptable); + dvips (version 5.516 or later) or dvipsk change_begin 98.1 Version 5.62 or higher enhances the performance of image creation with a significant speed-up. See latex2html.config for this after you are done with the installation. Do not use the 'dvips -E' feature unless you have 5.62, else you will get broken images. change_end 98.1 + change_begin 98.1 gs Ghostscript (version 4.03 or later); with the ppmraw device driver, or even better pnmraw. Upgrade to 5.10 or later if you want to go sure about seldom problems with 4.03 to avoid (yet unclarified). change_end 98.1 + change_begin 98.1 The netpbm library. Netpbm 1 March 1994 is recommended. Check with pnmcrop -version. change_end 98.1 Several of the filters in those libraries are used during the PostScript to GIF conversion. + change_begin 98.1 If you want PNG images, you need pnmtopng (current version is 2.31). It is not part of netpbm and requires libpng-0.89c.tar.gz and libz (1.0.4) (or later versions). pnmtopng supports transparency and interlace mode. Hooray!!! Netscape Navigator v4.04 has been reported to grok PNG images! That means your PNG option is not longer ahead of its time! change_end 98.1 3. Segmentation of large documents If you wish to use this feature, you will have to upgrade your LATEX to LATEX2e. Some other hyperlinking features also require LATEX2e. 4. Transparent inlined images If you dislike the white background color of the generated inlined images then you should get either the netpbm library (instead of the older pbmplus ) or install the giftrans filter by Andreas Ley <ley@rz.uni-karlsruhe.de>. LATEX2HTML now supports the shareware program giftool (by Home Pages, Inc., version 1.0), too. It can also create interlaced GIFs. If Ghostscript or the netpbm library are not available, it is still possible to use the translator with the -no_images option. If you intend to use any of the special features of the translator then you have to include the html.sty file in any LATEX documents that use them. Since by default the translator makes use of inlined images in the final HTML output, it would be better to have a viewer which supports the <IMG> tag, such as NCSA Mosaic or Netscape Navigator. change_begin 97.1 Any browser which claims to be compatible with HTML 3.2 should meet this requirement. change_end 97.1 If only a character-based browser, such as lynx , is available, or if you want the generated documents to be more portable, then the translator can be used with the -ascii_mode option. 2.1.2 Installing LATEX2HTML change_begin 98.1 To install LATEX2HTML you MUST do the following: 1. Specify where Perl is on your system. In each of the files latex2html , texexpand , pstoimg , install-test and makemap , modify the first line saying where Perl is on your system. Some system administrators do not allow Perl programs to run as shell scripts. This means that you may not be able to run any of the above programs. In this case change the first line in each of these programs from #!/usr/local/bin/perl to: # *-*-perl-*-* eval 'exec perl -S $0 "$@"' if $running_under_some_shell; 2. Copy the files to the destination directory. Copy the contents of the texinputs/ directory to a place where they will be found by LATEX, or set up your TEXINPUTS variable to point to that directory. 3. Run install-test . This Perl script will make some changes in the latex2html file and then check whether the path-names to any external utilities required by latex2html are correct. It will not actually install the external utilities. install-test asks you whether to configure for GIF or PNG image generation. Finally it creates the file local.pm which houses pathnames for the external utilities determined earlier. You might need to make install-test executable before using it. Use chmod +x install-test to do this. You may also need to make the files pstogif , texexpand , configure-pstoimg and latex2html executable if install-test fails to do it for you. 4. If you like so, copy or move the latex2html executable script to some location outside the $LATEX2HTMLDIR directory. 5. You might want to edit latex2html.config to reflect your needs. Read the instructions about $ICONSERVER carefully to make sure your HTML documents will be displayed right via the Web server. While you're at it you may want to change some of the default options in the same file. If you do a system installation for many users, only care for general aspects and let the user override them with $HOME/.latex2html-init. Note that you must run install-test now (formerly you needn't). If you want to reconfigure LATEX2HTML for GIF/PNG image generation, or because some of the external tools changed the location, simply rerun configure-pstoimg . change_end 98.1 ___________________________________ This is usually enough for the main installation, but you may also want to do some of the following, to ensure that advanced features of LATEX2HTML work correctly on your system: * To use the new LATEX commands which are defined in html.sty : Make sure that LATEX knows where the html.sty file is, either by putting it in the same place as the other style-files on your system, or by changing your TEXINPUTS shell environment variable, or by copying html.sty into the same directory as your LATEX source file. The environment variable TEXINPUTS is not to be confused with the LATEX2HTML installation variable $TEXINPUTS described next. * There is an installation variable in latex2html.config called $TEXINPUTS , which tells LATEX2HTML where to look for LATEX style-files to process. It can also affect the input-path of LATEX when called by LATEX2HTML, unless the command latex is really a script which overwrites the $TEXINPUTS variable prior to calling the real latex . This variable is overridden by the environment variable of the same name if it is set. * The installation variable $PK_GENERATION specifies which fonts are used in the generation of mathematical equations. A value of ``0'' causes the same fonts to be used as those for the default printer. Because they were designed for a printer of much greater resolution than the screen, equations will generally appear to be of a lower quality than is otherwise possible. To cause LATEX2HTML to dynamically generate fonts that are designed specifically for the screen, you should specify a value of ``1'' for this variable. If you do, then check to see whether your version of dvips supports the command-line option -mode . If it does, then also set the installation variable $DVIPS_MODE to a low resolution entry from modes.mf , such as toshiba . It may also be necessary to edit the MakeTeXPK script, to recognise this mode at the appropriate resolution. change_begin 97.1 If you have PostScript fonts available for use with LATEX and dvips then you can probably ignore the above complications and simply set $PK_GENERATION to ``0'' and $DVIPS_MODE to "" (the empty string). You must also make sure that gs has the locations of the fonts recorded in its gs_fonts.ps file. This should already be the case where GS-Preview is installed as the viewer for .dvi-files, using the PostScript fonts. change_end 97.1 If dvips does not support the -mode switch, then leave $DVIPS_MODE undefined, and verify that the .dvipsrc file points to the correct screen device and its resolution. * The installation variable $AUTO_PREFIX allows the filename-prefix to be automatically set to the base filename-prefix of the document being translated. This can be especially useful for multiple-segment documents. * The makemap script also has a configuration variable $SERVER , which must be set to either CERN or NCSA, depending on the type of Web-server you are using. * To set up different initialization files: For a ``per user'' initialization file, copy the file dot.latex2html-init in the home directory of any user that wants it, modify it according to her preferences and rename it as .latex2html-init . At runtime, both the latex2html.config file and $HOME/.latex2html-init file will be loaded, but the latter will take precedence. You can also set up a ``per directory'' initialization file by copying a version of .latex2html-init in each directory you would like it to be effective. An initialization file /X/Y/Z/.latex2html-init will take precedence over all other initialization files if /X/Y/Z is the ``current directory'' when LATEX2HTML is invoked. Warning: This initialization file is incompatible with any version of LATEX2HTML prior to V96.1. Users must either update this file in their home directory, or delete it altogether. * To make your own local copies of the LATEX2HTML icons: Please copy the icons/ subdirectory to a place under your WWW tree where they can be served by your server. Then modify the value of the $ICONSERVER variable in latex2html.config accordingly. change_begin 97.1 Alternatively, a local copy of the icons can be included within the subdirectory containing your completed HTML documents. This is most easily done using the -local_icons command-line switch, or by setting $LOCAL_ICONS to ``1'' in latex2html.config or within an initialization file, as described above. change_end 97.1 Warnings: If you cannot do that, bear in mind that these icons will have to travel from Livermore, California!!! Also note that several more icons were added in V96.1 that were not present in earlier versions of LATEX2HTML. * To make your own local copy of the LATEX2HTML documentation: This will also be a good test of your installation. Firstly, to obtain the .dvi version for printing, from within the docs/ directory it is sufficient to type: make manual.dvi This initiates the following sequence of commands: latex manual.tex makeindex -s l2hidx.ist manual.idx makeindex -s l2hglo.ist -o manual.gls manual.glo latex manual.tex latex manual.tex ...in which the two configuration files l2hidx.ist and l2hglo.ist for the makeindex program, are used to create the index and glossary respectively. The 2nd run of latex is needed to assimilate references, etc. and include the index and glossary. (In case makeindex is not available, a copy of its outputs manual.ind and manual.gls are included in the docs/ subdirectory, along with manual.aux .) The 3rd run of latex is needed to adjust page-numbering for the Index and Glossary within the Table-of-Contents. Next, the HTML version is obtained by typing: make manual.html This initiates a series of calls to LATEX2HTML on the separate segments of the manual; the full manual is thus created as a ``segmented document'' (see a later section). The whole process may take quite some time, as each segment needs to be processed at least twice, to collect the cross-references from other segments. The files necessary for correct typesetting of the manual to be found within the docs/ subdirectory. They are as follows: + style-files: l2hman.sty , html.sty , htmllist.sty , justify.sty , changebar.sty and url.sty + inputs: changes.tex , credits.tex , features.tex , hypextra.tex , licence.tex , manhtml.tex , manual.tex , overview.tex , problems.tex , support.tex and userman.tex + sub-directory: psfiles/ containing PostScript graphics used in the printed version of this manual + images of small curved arrows: up.gif , dn.gif + filename data: l2hfiles.dat + auxiliaries: manual.aux , manual.ind , manual.gls The last three can be derived from the others, but are included for convenience. * change_begin 98.1 To get a printed version of the `Changes' section: Due to the burgeoning size of the Changes file with successive revisions of LATEX2HTML, the `Changes' section is no longer supported for the manual. Please refer to text file Changes instead which is part of the distribution. change_end 98.1 * To join the community of LATEX2HTML users: More information on a mailing list, discussion archives, bug reporting forms and more is available at http://cbl.leeds.ac.uk/nikos/tex2html/doc/latex2html/latex2html.ht ml 2.2 Getting Support and More Information A LATEX2HTML mailing list has been set up at the TeX Users Group. The LATEX2HTML mailing list archive is available. (Thanks to Ian Foster <itf@mcs.anl.gov> and Bob Olson <olson@mcs.anl.gov>.) To join send a message to: <latex2html-request@tug.org > with the contents: subscribe To be removed from the list send a message to: <latex2html-request@tug.org> with the contents: unsubscribe The mailing list also has a searchable online archive at http://www.xray.mpe.mpg.de/mailing-lists/latex2html/. It is recommendable to start with that URL first, to get in touch with the topics actually discussed and to search for articles related with your interests. Enjoy! 3. Known Problems _________________________________________________________________ Here are some of the problems that were known to exist with previous versions of LATEX2HTML. Most of those that were real errors are either fixed completely in the current version (V98.1), or are much less likely to occur within correct LATEX source. (Some are not really errors but indications of poor style in the user's choices among various ways to organise their source code.) Several are indeed limitations inherent in the way LATEX2HTML currently performs its processing. * Correctness and Efficiency: The translator cannot be guaranteed to perform as expected. Several aspects of the implementation need optimisation and improvement. Apart from possible bugs the translator may place heavy demands on your resources. change_begin 97.1 The current version works much more efficiently than previous versions; many subtle bugs have been identified and eliminated. change_end 97.1 change_begin 98.1 The process of command substitution has been improved significantly, resulting in memory savings and faster document text translation. change_end 98.1 * Unrecognised Commands and Environments: Unrecognised commands are ignored and any arguments are left in the text. Unrecognised environments are passed to LATEX and the result is included in the document as one or more inlined images. change_begin 97.1 There are very few standard LATEX commands that are not recognised. Many common TEX commands are recognised also, even though not explicitly mentioned in the LATEX #!lamp:latex!#. Any aberrant commands should be reported to the LATEX2HTML mailing list. change_end 97.1 * Cross-references: References in environments that are passed to LATEX for processing (e.g. a \cite, or a \ref command), are not processed correctly. \label commands are handled correctly. change_begin 97.1 All citation, reference and label commands should work correctly now. Report any problems to the LATEX2HTML mailing list. change_end 97.1 * Order-Sensitive Commands: Commands which affect global parameters during the translation, and are sensitive to the order in which they are processed may not be handled correctly. In particular, counter manipulation (e.g. \newcounter, \setcounter, \stepcounter, etc.) commands may cause problems. change_begin 97.1 Counter commands now work correctly; dependencies are also implemented. change_end 97.1 * Index: The translator generates its own index by saving the arguments of the \index command. The contents of the theindex environment are ignored. change_begin 97.1 This remains true. When using the makeidx package, very sophisticated Indexes can be built automatically. The Index for this manual is a good example. change_end 97.1 * New Definitions: New definitions (\newcommand, \newenvironment, \newtheorem and \def), will not work as expected if they are defined more than once. Only the last definition will be used throughout the document. change_begin 97.1 This remains true. Stylistically it is bad to declare new environments or theorems outside of the document preamble, so these should cause no problems anyway. Changes to commands using \def or \renewcommand should usually be made only locally, within special environments, to set a needed parameter; e.g. a basic length in a picture environment. But when such environments force an image to be generated, then LATEX will make the correct redefinition. change_end 97.1 * Scope of declarations and environments: If the scope of a declaration or environment crosses section boundaries, then the output may not be as expected, because each section is processed independently. change_begin 97.1 This is inherent to the way LATEX2HTML does its processing. It will not be fixed until later versions change this strategy; e.g. when LATEX2HTML-NG becomes fully integrated. change_end 97.1 * Math-mode font-size changes: Math-mode font changes made outside the math-mode are not honoured. Thus the two equations in $a_b$ and {\LARGE $a_b$} would come out looking the same. The trick is to write $a_b and $\mbox{\LARGE $a_b$}$. change_begin 97.1 This remains. The work-around is effective. change_end 97.1 3.1 Troubleshooting Here are some curable symptoms: * Cannot run any of the Perl programs: If your Perl installation is such that Perl programs are not allowed to run as shell scripts you may be unable to run latex2html , texexpand , pstoimg and install-test . In this case change the first line in each of these programs from #!/usr/local/bin/perl to : # *-*-perl-*-* eval 'exec perl -S $0 "$@"' if $running_under_some_shell; * The install-test script gives uninformative error messages: If, for any reason, you have trouble running install-test , do not despair. Most of what it does is to do with checking your installation rather than actually installing anything. To do a manual installation just change the variable $LATEX2HTMLDIR in the beginning of the file latex2html to point to the directory where the LATEX2HTML files can be found. Also, make sure that the files pstoimg , texexpand and latex2html are executable; if necessary use the Unix chmod command to make them executable. * It just stops. Check the style files that you are using. It is possible that you are using a style file which contains raw TEX commands. In such a case start LATEX2HTML with the option -dont_include <style-file name> . Alternatively, add the name of the style to the variable $DONT_INCLUDE in your $HOME/.latex2html-init file. If you don't have such a file then create one and add the lines: $DONT_INCLUDE = "$DONT_INCLUDE" . ": <style file name>"; 1; # This must be the last line Another reason why LATEX2HTML might stop is that the LATEX source file itself contains raw TEX commands. In this case you may put such commands inside a latexonly environment. change_begin 97.1 The $VERBOSITY variable can be used to create tracing messages, which may help to locate which command or environment was being processed when everything stopped. change_end 97.1 change_begin 97.1 * It appears to be doing nothing. Perhaps the processor has fallen into an unending loop. Usually there will be a bad definition, or other faulty source code, which has caused this. The $VERBOSITY variable can be set to generate tracing messages, which may help to locate which command or environment is being processed repeatedly. Try setting a value of `3'; e.g. using the commandline switch -verbosity 3 . This will print command and environment names, as thaey are processed. It should soon become apparent where any such looping occurs. * It just fills the endlessly with dots. No `perhaps' here; the processor has definitely fallen into an unending loop. See the previous item for how to detect which command or environment is causing the problem. change_end 97.1 change_begin 98.1 * Perl cannot parse the latex2html script: If Perl refuses to start LATEX2HTML and issues errors, your Perl version is not up to date. Update your Perl to 5.003 or later. You can check which version of Perl you are using by invoking Perl with the -v option. If Perl issues errors during runtime, this is most probably related to bugs within LATEX2HTML or one of its modules. In this case you will need help from the developers or experienced users; this can be obtained via the discussion list. * It crashes (dumps core) as soon as it starts : Update your Perl to 5.003 or later. change_end 98.1 change_begin 98.1 * It does not show any of your images: You can't run LATEX2HTML in a subdirectory that contains a dot within the directory name, such as latex2html-98.1, or in name of any higher directory. This is because dvips 's -o option will change 98.1 into 98.001 and use that as the resulting output file, instead of image001 . The PostScript files will be placed higher up in the directory tree. For instance, if pwd returns something like: /usr/people/nelson/files/latex2html-98.1/work/tests and you run LATEX2HTML, then dvips will generate image output files here: /usr/people/nelson/files called latex2html-98.001, latex2html-98.002, ... instead of image001, image002, image003, ... in the subdirectory where your .html files were created. As a result the images will not show in your documents. If you are getting File Not Found errors, then turn on the $DEBUG flag in latex2html.config to see what options are passed to dvips . If there are some dots in names, then look above that directory to see if files are being generated there. One obvious fix is to rename the offending directory to remove the `.' from its name. If that is not possible, then define an alternative location for image generation to take place; set $TMP to contain the name for this location. Typically $TMP = '/usr/tmp'; . (This use of $TMP is a good thing to do anyway, especially if your Unix account is subject to quota limitations.) * It stops after having run LATEX, displaying a message about dvips : See the previous item. change_end 98.1 * dvips complains about incorrect arguments: Please use a version which supports the command-line options -M , -S , -o and -i . ``Recent'' versions, at least after 5.516, do support them. * It gives an ``Out of memory'' message and dies: Try splitting your source file into more than one file, using the LATEX commands \input or \include. Also, try using the -no_images option. change_begin 97.1 Perhaps the processor has fallen into an infinite loop. Usually there will be a bad definition, or other faulty source code, which has caused this. See an earlier problem for how to set the $VERBOSITY variable to help locate the bad code leading to this memory exhaustion. change_end 97.1 As a last resort you may consider increasing the virtual memory (swap space) of your machine. As an indication of what you might be able to do on your machine, a very long book (about 1000 printed pages) required about 24MB of RAM and over 150MB of swap space to convert on a local Sun Sparc ELC running SunOS 4.1.3. change_begin 97.1 Much of this memory would have been consumed during image-generation. This part of the processing is much more efficient in V97.1. change_end 97.1 change_begin 98.1 * install-test issues ``dbm'' related error messages: LATEX2HTML requires a DataBase Management system (NDBM , GDBM , or SDBM ) in order to run. This is usually part of each Unix-like operating system and SDBM is part of Perl 5, but sometimes this is either missing on your operating system or left out in a binary Perl distribution. Use to find one or (better) update to a complete Perl 5 distribution. * latex2html issues ``dbm'' related error messages: If you get warnings like ndbm store returned -1, errno 28, key "xyz" at latex2html line 123 this is related to an overflow of LATEX2HTML internals. You will need help from the list, here. If you get real error messages which cause LATEX2HTML to abort, run install-test to check if your DataBase management works. You will probably need to re-install Perl 5 (see above topic). change_end 98.1 change_begin 97.1 This can happen when an image is being created from a large piece of LATEX source code. The image-reuse mechanism uses the code itself to construct a database key. If too long, the key is invalid and may crash DBM or NDBM . (In fact this error should no longer occur in V97.1, so please advise the LATEX2HTML developers if you get error messages of this kind.) The message should contain the name of environment which caused the problem, along with an identifying number; e.g. eqnarray268. To find which exact piece of code this represents, run LATEX2HTML again, using the -debug switch. Then look at the files in the TMP subdirectory of the working directory named TMP/part001, TMP/part002, etc. Use the unix grep command: grep 268 <dir>/TMP/part* to find that number in these files. This should enable you to locate exactly where the problem occurs. One solution may be to wrap the whole environment within \begin{makeimage} and \end{makeimage}. This will still cause the image to be created, but uses just the environment name and number as the database key. change_end 97.1 * The \verb"ABC" command doesn't work: This is a nasty bug. Please use any character other than quotes; e.g. \verb+ABC+. * Cannot get the ``tilde'' (~) to show: The trick here is to use the command \~{}. Alternatively try using something like: mylink">mylink . Warning: Some browsers may not be able to interpret the %7E as a ``tilde'' character. change_begin 98.1 Alternatively use the \char126 command. Anyway, tildes within \htmladdnormallink and familiar commands are now handled correctly. change_end 98.1 * Macro definitions don't work correctly: As mentioned in other places, not all plain TEX \def-initions can be converted. But you may also have problems even when using LATEX definitions (with \newcommand and \newenvironment) if such definitions make use of sectioning or \verbatim commands. These are handled in a special way by LATEX2HTML and cannot be used in macro definitions. In general the macro handling mechanism is inefficient and very fragile. Avoid using macros if possible. change_begin 97.1 A greater range of macros definitions can now be handled, especially if appropriate declarations are added to an initialization file. change_end 97.1 * \input commands: There is a bug in the expansion of \input commands which causes a problem when more than one \input command appears on the same line. There is no quick fix other than suggesting that you put each \input command on a line by itself, in the LATEX source files. * \input commands in verbatim environments: change_begin 98.1 Should no longer cause problems (actually since 97.1). \input commands are also handled right within comment environments as declared with \excludecomment. Alternatively you might want to use either the verbatim or the verbatimfiles package. change_end 98.1 * Optional arguments in description environments: If you have optional arguments for the \item command in a description environment containing nested ``]'' characters then these may not show up correctly. To avoid the problem enclose them in {}s; e.g. \item[{[nested [angle [brackets] are ok]]}] * LATEX2HTML behaves differently even when you run it on the same file: If you notice any strange side-effects from previous runs of LATEX2HTML, try using the option -no_reuse and choose (d) when prompted. This will clear any intermediate files generated during previous runs. Note that this option will disable the image-reuse mechanism. * Cannot convert PostScript images which are included in the LATEX file: It is likely that the macros you are using for including PostScript files (e.g. \epsffile) are not understood by LATEX2HTML. To avoid this problem enclose them in an environment which will be passed to LATEX anyway; e.g. \begin{figure} \epsffile{ <PostScript file name>} \end{figure} Another reason why this might happen is that your shell environment variable TEXINPUTS may be undefined. This is not always fatal but if you have problems you can use full path-names for included PostScript files (even when the PostScript files are in the same directory as the LATEX source file). Alternatively try setting TEXINPUTS to `.::'. With some TEX and LATEX installations setting TEXINPUTS to `.::' may cause problems in the normal operation of LATEX. If you get errors such as LATEX complaining that it can no longer find any style files then you must set TEXINPUTS to "<path to your LaTeX installation>:." if you want to use both LATEX and LATEX2HTML. * Some of the inlined images are in the wrong places: There are several known ways that this may occur. * Perhaps one of the inlined images is more than a page (paper page) long. This is sometimes the case with very large tables or large PostScript images. In this case you can try specifying a larger paper size (e.g. `a4', `a3' or even `a0') instead of the default (`a5') using the LATEX2HTML variable $PAPERSIZE in the file latex2html.config . This reason for the error should no longer occur with V97.1. Please report it on the mailing-list, if it does. * More likely is that some inappropriate LATEX code has caused an error, resulting in an extra page (or pages) being generated. Examine the images.log file, to see if it reports any LATEX errors. * A much rarer reason is that by default the dvips program reverses the PostScript pages it generates. If your dvips program behaves in this way try changing the line: $DVIPS = "dvips"; to: $DVIPS = "dvips -r0"; within the file latex2html.config . * Yet another reason for images appearing out of place, especially while developing a document, is that the browser's image cache is providing out-of-date versions rather than getting the latest version afresh. When this occurs there will often be images stretched or shrunk to fit the wrong sized imaging area; this symptom is browser-dependent. Flushing the cache, then reloading the HTML document, should clear up the problem. * Unacceptable quality of converted images: Try changing the size of the image (see image conversion). * The bibliographic references are missing: Run latex and then bibtex on the original source file in order to generate a .bbl file. LATEX2HTML may need the .bbl file in order to generate the references. * The labels of figures, tables or equations are wrong: This can happen if you have used any figures, tables, equations or any counters inside conditional text; i.e. in a latexonly or a htmlonly environment. * Problems after changing the configuration files: Please make sure that the last line in the configuration files (i.e. .latex2html-init and latex2html.config ) is: 1; # This is the last line This is a Perl quirk. * Problems when producing the .dvi version: If you are using any of the new LATEX commands which are defined in the html.sty file make sure that html.sty is included; e.g. as one of the optional arguments to the \documentclass command. Of course you also have to make sure that LATEX knows where the html.sty file is, either by putting it in the same place as the other style-files on your system, or by changing your TEXINPUTS shell environment variable 2. * Some of the fonts are translated incorrectly: There is a fault in way the LATEX scoping rules have been interpreted in LATEX2HTML. Consider this: \ttfamily fixed-width font. \begin{something} nothing here \end{something} default font. When processed by LATEX, the effect of the \tt command is delimited by the beginning of the environment ``something'', so that ``default font'' will appear in the default font. But LATEX2HTML will not recognise ``something'' as a delimiter and ``default font'' will appear in the wrong font. To avoid this problem (until it is fixed) you may delimit the scope of some commands explicitly using {}'s; i.e. \texttt{fixed-width font}. \begin{something} nothing here \end{something} default font. change_begin 98.1 Nesting of font changing commands is now handled right. Such problems should not occur furthermore. change_end 98.1 * Cannot get it to generate inlined images: Run LATEX2HTML with the -debug switch, and have a look in the directory of the generated HTML files for two files images.tex and images.log . Do you notice anything unusual in them? Copy images.tex into the directory of your original LATEX file and run latex on images.tex . Can you see any errors in images.log ? If yes, can you fix images.tex to get rid of the errors? After fixing images.tex you can put it back in the directory of HTML files created by LATEX2HTML and run LATEX2HTML on the original document using the option -images_only . However if you make changes or additions to the original source then the same problems may occur again, so it is better to understand why the changes were required and alter the source code appropriately. If you get into a mess delete all the image files and run LATEX2HTML again. Often it is sufficient to just delete the file images.pl . If you still get into a mess, try running LATEX2HTML with the options -no_reuse and -no_images ; e.g. cblipca% latex2html -no_reuse -no_images test.tex This is LaTeX2HTML Version 95 (Tue Nov 29 1994) by Nikos Drakos, Computer Based Learning Unit, University of Leeds. OPENING /tmp_mnt/home/cblelca/nikos/tmp/test.tex Cannot create directory /usr/cblelca/nikos/tmp/test: File exists (r) Reuse the images in the old directory OR (d) *** DELETE *** /usr/cblelca/nikos/tmp/test AND ITS CONTENTS OR (q) Quit ? :d Reading ... Processing macros ....+. Reading test.aux ...................... Translating ...0/1........1/1..... Writing image file ... Doing section links ..... *********** WARNINGS *********** If you are having problems displaying the correct images with Mosaic, try selecting "Flush Image Cache" from "Options" in the menu-bar and then reload the HTML file. Done. Then try to have a look in the file images.tex (as described earlier) and perhaps fix it. Once you are happy that images.tex is OK, run LATEX2HTML again with the option -images_only . Some problems in displaying the correct inlined images, may be due to the image caching mechanisms of your browser. With some browsers a simple ``Reload Current Document'' will be enough to refresh the images but with others (e.g. Mosaic ) you may need to request for the cache to be refreshed. With Mosaic try selecting ``Flush Image Cache'' from ``Options'' in the menu-bar and then reload the HTML file. * It cannot do slides, memos, etc. If you use SliTEX you can go a long way just by replacing the {slides} argument of the \documentclass command with something like {article} just before using LATEX2HTML. One problem may be that all your slides will end up in the same HTML file. If you use lslide.sty you may get much better results (use to find this or any other style files). 2 _________________________________________________________________ Footnotes ... script1 Initially written by Robert S. Thau, completely rewritten by Marek Rouchal and Jens Lippmann. ... variable2 If you don't know how to do either of these things, copy (or link) html.sty to the directory of your LATEX document. _________________________________________________________________ Jens Lippmann 1998-02-22 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/INSTALL�������������������������������������������������������������������0100644�0000764�0000764�00000045672�07011735747�015625� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������LaTeX2HTML 99.2 Installation Manual =================================== The installation procedure has changed substantially from version 98.3 on. It now resembles more closely the GNU installation scheme, while providing alternatives for Win32 and OS/2 users. Step by step cookbook ===================== A. UNIX ------- (Win 95, 98, NT and OS/2 users see below) 0. Unpacking Unpack the tar file into a temporary area. This has changed: Do not unpack the tar file to the final desired location (e.g. /usr/local/latex2html). Read the INSTALL file. Oops, you are already here... 1. Configuring You may have a look at the prefs.pm preferences file. It is preset with reasonable defaults. Edit it to adapt the configuration procedure, e.g. if your executables like latex, gs etc. have "strange" names (e.g., "LaTeX"). Run ./configure --help This gives you a brief overview of configuration options. Note that for each --enable-someting there is also a --disable-something. Anyway, the defaults are reasonable and robust, so you should give it a first try with only specifying the --prefix (see below) if you don't like /usr/local. configure looks also at the environment, so that you could hardcode the path to your Ghostscript executable by e.g. (on bourne shell!) GS=/opt/ghostscript/bin/gs ./configure Alternatively you could say (works on all shells) ./configure --with-gs=/opt/ghostscript/bin/gs Note for --prefix: The final directory structure depends on the name of the prefix: - if prefix contains the string "latex2html" or "l2h": Then binaries go into $prefix/bin, while the rest goes into $prefix - prefix does *not* contain the above strings: Then binaries go into $prefix/bin and the rest into $prefix/lib/latex2html You can override the settings by specifying --bindir and/or --libdir. Note that currently no other path/installation options in configure (e.g. --exec-prefix, --sbindir, --datadir, ...) are recognized. This may change in the future. After configure has completed, you may check the cfgcache.pm file if everything is ok. It contains all the information gathered from your system and there should be no need to change anything. Exceptions from this rule can be considered bugs in the configuration procedure. :-) Note: The GNU autoconf-generated configure script hands execution over to a Perl script. This of course isn't the "clean" way. I know that, but the configure procedure should work also on native Win/OS2/Mac systems that (by default) lack sh, make, etc. 2. Building Run "make". The distribution files (extension .pin) are turned into the locally adapted scripts, using the configuration from cfgcache.pm. If you need to change things, then re-run the configuration step with the appropriate options (preferred) or edit the cfgcache.pm file and run "make" again. 3. Testing Do a plausibility check: "make check". The perl scripts are checked for syntax correctness. For compiling a small test document, type "make test". The test example is located in the "tests" subdirectory. You may specify additional command line arguments by saying "make test ARGS='...'". You may test LaTeX2HTML manually on one of your documents by setting the LATEX2HTMLDIR environment to the path where "Makefile" is located and running latex2html with the option -test_mode. Alternatively, you may put your document in the tests/ directory and run "make test TESTCASE=yourfile.tex" 4. Installing Install LaTeX2HTML in its final location by saying "make install". Before doing that you might want to edit l2hconf.pm to reflect your site-wide needs. If you do a system installation for many users, only care for general aspects. Note that at any time these settings are easily overridden by specifying command line options to the latex2html script or by installing a .latex2html-init file in the HOME directory. Read the instructions about ICONSERVER carefully to make sure your HTML documents will be displayed right via the Web server. While you're at it you may want to change some of the default options in the same file. 5. Cleaning up You may remove the temporary directory to which you unpacked the distribution after installation. 6. Bug reports When reporting bugs, it may be a good idea to send the cfgcache.pm file as a reference of your local setup. Re-run the configuration procedure if you don't have the file any more. See also the BUGS file. See below "Further General Aspects" for information on useful site-wide configuration. B. DOS, Win32, OS/2 ------------------- 0. Unpacking Unpack the tar file into a temporary area. This has changed: Do not unpack the tar file to the final desired location (e.g. /usr/local/latex2html). Read the INSTALL file. Oops, you are already here... On OS/2, rename CONFIG.BAT to CONFIG.CMD and modfify the PERL environment setting (in CONFIG.CMD) in the following way: set PERL=perl_ This is needed because this "version" of the Perl executable has some additional features that are required by LaTeX2HTML. If you want to make use of the Makefiles on OS/2 (this works if you have the GNU utilities installed), then you should include a line SHELL=.../sh.exe with ... being the path to the bourne shell executable. Thanks to Uli Wortmann for this hint. 1. Configuring Edit the prefs.pm file to adapt the configuration for your site. You should not have to change much apart from the path where LaTeX2HTML should be installed on your system. The executables are found automatically if located in the directories specified in your PATH environment. If your perl interpreter is not named "perl" or if you have more than one perl installed, you should edit CONFIG.BAT (or CONFIG.CMD on OS/2, in the following CONFIG.* is used for brevity) and specify the exact path to your (desired) perl interpreter. If you have just installed some of the required external utilities and have not yet added the paths to the PATH environment, you may specify the argument EXTRAPATH+... (e.g. EXTRAPATH+C:\tex\bin;C:\netpbm\bin) on the CONFIG.* command line to indicate additional search paths. Now you may run CONFIG.* Example that also sets the installation root directory without editing prefs.pm: CONFIG.BAT PREFIX+C:\latex2html You can also say PREFIX=C:\latex2html but my COMMAND.COM eats the `=' :-( Make sure that you have enough space for the environment. If you get error messages "no space left in environment" or the like, either increase the space for the environment in your CONFIG.SYS or (temporarily) run a new shell with "command /e:2000" (for 2k space for environment). After configure has completed, you may check the cfgcache.pm file (if you are curious). 2. Building Not really an extra step. After successful configuration the distribution files (extension .pin) are automatically turned into the locally adapted scripts automatically, using the settings found in the previous step. 3. Testing The CONFIG.* script created a TEST.BAT (TEST.CMD on OS/2) file that compiles a small test document located in the "tests" subdirectory. You may specify additional LaTeX2HTML options (up to arguments) on the TEST.* command line. You can test LaTeX2HTML yourself with your own documents by setting the LATEX2HTMLDIR environment to the path where CONFIG.* is located and running latex2html by saying "latex2html -test_mode <filename>.tex". It may be necessary that that you need to add the directory where latex2html.bat is stored to your PATH environment. 4. Installing Install LaTeX2HTML in its final location by running INSTALL.BAT (INSTALL.CMD on OS/2). 5. Cleaning up You may remove the temporary directory to which you unpacked the distribution. All required files have been copied to the installation directory. 6. Bug reports When reporting bugs, it may be a good idea to send the cfgcache.pm file as a reference of your local setup. Re-run the configuration procedure if you don't have the file any more. See the BUGS file for more details. Further General Aspects ======================= This is enough for the main installation but you may also want to do some of the following: o If your system supports both GIF and PNG generation (this is if you have both pnmtopng and ppmtogif), then the default image format will be PNG. This is because of legal limitations on the GIF format. To set the site-wide default to GIF, modify the order of the image formats in l2hconf.pm *before* you install: @IMAGE_TYPES = qw(gif png); # GIF is now default Alternatively, you may say "-image_type gif" on the command line or $IMAGE_TYPE = 'gif' in your .latex2html-init file. o To use the new LaTeX commands which are defined in html.sty: Make sure that LaTeX knows where the html.sty file is, either by putting it in the same place as the other style files on your system, or by changing your TEXINPUTS shell environment variable, or by copying html.sty in the same directory as as your LaTeX source file. The installation procedure tries to install these files into your TeX directory tree if present. o If you are a LaTeX 2.09 user, you will not be able to use the document segmentation feature, or the optional arguments to \htmladdimg, until you upgrade to LaTeX2e. (This will also rule out many of the HTML3/HTML4 features!) To determine which version you have, type just 'latex'. If it prompts with '(C version 6.1)', you have LaTeX2e. Anyway, if you're not sure, ask the people who installed it. However you *mustn't* upgrade LaTeX just to have the features, lots of documents do fine without them. You should not try to translate manual.tex with LaTeX 2.09. Instead, invoke LaTeX2HTML with manual.tex directly. o On some systems, the command ``latex'' is really a shell script which sets some environment variables and calls the real LaTeX. If this is so, make sure that this shell script has '.' and '..' set for TEXINPUTS. This environment variable is not to be confused with the LaTeX2HTML installation variable $TEXINPUTS described next. o The installation variable HTML_VERSION in latex2html.config causes LaTeX2HTML to generate table in HTML and supports textual font size changes if it is set to 3.0. Otherwise, tables will be processes in LaTeX and come out as GIF files. o There is an installation variable in l2hconf.pm called $TEXINPUTS, which tells LaTeX2HTML where to look for LaTeX input files to process. This variable is appended to the TEXINPUTS environment variable to make sure the translator finds all your files. o The installation variable $PK_GENERATION specifies which fonts are used in the generation of mathematical equations. A value of ``0'' causes the same fonts to used as those for the default printer. Because they were designed for a printer of much greater resolution than the screen, equations will generally appear to be of a lower quality than is possible. To cause LaTeX2HTML to dynamically generate fonts that are designed specifically for the screen, you should specify a value of ``1'' for this variable. If you do, then check to see whether your version of dvips supports the command line option -mode. If it does, then also set the installation variable $DVIPS_MODE to a low resolution entry from modes.mf, such as `toshiba'. If dvips does not support the -mode switch, then leave $DVIPS_MODE undefined, and verify that the .dvipsrc file points to the correct screen device and its resolution. o The makemap script also has a configuration variable, $SERVER, which must be set to either "CERN" or "NCSA", depending on the type of web server you are using. o To set up different initialisation files: For a ``per user'' initialisation file, copy the file dot.latex2html-init in the home directory of any user that wants it, modify it according to her preferences and rename it as .latex2html-init. At runtime, both the latex2html.config file and $HOME/.latex2html-init file will be loaded, but the latter will take precedence. You can also set up a ``per directory'' initialisation file by copying a version of .latex2html-init in each directory you would like it to be effective. An initialisation file /X/Y/Z/.latex2html-init will take precedence over all other initialisation files if /X/Y/Z is the ``current directory'' when LaTeX2HTML is invoked. o To find the LaTeX2HTML icons: The LaTeX2HTML icons are fetched through $ICONSERVER. This variable should point to a global URL on your system. The icons are installed in $LATEX2HTMLDIR/icons, but you must configure your HTTP daemon to find them. You can configure an alias in HTTPd's config files or you may set up a symbolic link. Whatever you do, make sure that $ICONSERVER is the URL below which the server finds the icons. Make sure they can be *read* by your HTTP daemon, ie. set the directory world-wide readable/executable and the icons world-wide readable and the HTTP daemon finds the icons under the $ICONSERVER URL. If $LATEX2HTMLDIR is something private for you, copy the icons to a global place, say /usr/local/lib/latex2html/icons, and set $ICONSERVER accordingly. Note that by setting $LOCAL_ICONS or using the -local_icons command line switch you can force LaTeX2HTML to copy the icons to the document directory, thus resulting in a self-contained document tree that can be dropped into any existing directory structure. o To make your own local copy of the LaTeX2HTML documentation: This will also be a good test of your installation. To do it run LaTeX2HTML on the file doc/manual.tex. You will get better results if you run LaTeX first on the same file in order to create some auxiliary files. Common Pitfalls, FAQ ==================== 1. Q: What versions of the external programs are recommended? A: General remark: The config procedure automatically checks all your PATH for the required executables. You'll have only to take action if some components are not recognized. As far as Linux is concerned, the major distributions (SuSE, Red Hat, Debian, Slackware) all have packages with the following tools. Just install them and LaTeX2HTML should be happy. Perl : 5.00305 or higher (5.00503 recommended) TeX, LaTeX : teTeX 0.4 or higher (1.0 recommended), Web2C Ghostscript : 4.03 or higher (5.x recommended) Netpbm : 1mar1994p1 The "p1" *is* important: This version fixes a bug in pnmcrop that makes pstoimg leave black bars around the images. The configure procedure tests automatically for this feature. Pnmtopng : 2.31 or higher (for PNG image generation) 2. Q: Where can I get all those external programs? A: Perl : http://www.perl.com (all platforms) TeX, LaTeX : any CTAN site, see XXX for a list of sites Ghostscript : http://www.cs.wisc.edu/~ghost/index.html Netpbm : http://ftp.x.org/contrib/utilities/ Pnmtopng : http://www.graphicswiz.com/png/index.html Win32 users will find all they need at Fabrice Popineau's fine TeX site ftp://ftp.ese-metz.fr/pub/TeX/win32 3. Q: What about perl 4 compatibility and perl 5 versions less than 5.00305? A: Forget perl 4. Perl 5 is out for years now, it is available for more platforms than perl 4 ever was and it is stable and it is being maintained. The early perl 5 versions (esp. 001 and 002) are known to have nasty bugs that cause severe problems with LaTeX2HTML. Update to a more recent version (5.00503 recommended). 4. Q: I've installed the external programs, but the configure procedure doesn't recognize that. A: You either have not sufficient access rights or - more probably - you need to add some paths to your PATH environment. You may do that on the fly, i.e. set PATH manually and run the configure step again. The absolute paths are saved, so that LaTeX2HTML will run ok even if you don't have all the additional PATH settings coded into your .profile, .bashrc, .(t)cshrc, AUTOEXEC.BAT, etc... Finally there is the --with-extrapath=... configure option or EXTRAPATHH+... for CONFIG.BAT 5. Q: On Win/DOS/OS2 I get messages of the type "no more space in environment". What's wrong? A: Your command interpreter (COMMAND.COM) does not provide sufficient space for environment variables. Try to run a new one with: COMMAND.COM /e:2000 Now you should have 2k space for environment variables. You may specify this value in CONFIG.SYS: SHELL=<path>COMMAND.COM /e:2000 (or somehow using COMSPEC=<path>COMMAND.COM /e:2000 Sorry for that, maybe some can supply the correct answer?!?) 6. Q: What is this "EPS support" with dvips all about? A: Recent versions of dvips(k) (5.60 and higher) have the possibility to create many EPS files out of one multi-page DVI file by exploiting -E (EPSF generation) -i (separate file for every section) -S 1 (section size is one page) The idea behind it is that once dvips has produced EPS files with a proper bounding box, Ghostscript's memory requirements are reduced noticeably. CAVEAT: dvips does not handle specials (like psfig, includegraphics) perfectly in the context of EPS, see also the dvips texinfo. You may experience difficulties when you process a document that includes EPS images. In this case, don't use the `-E' switch and/or reconfigure latex2html with --disable-eps 7. Q: I get "out of memory" messages although I have plenty of RAM and/or swap space (virtual memory) - what's wrong? A: Unfortunately LaTeX2HTML is quite hungry for memory. This is one of the main areas of improvement that is being worked upon constantly. In order to run LaTeX2HTML anyway, be sure to close any other applications before starting LaTeX2HTML. Another possible problem is that your system has a hard per-process memory limit. If so, ask the system administrator to relax this value. Note: On HP-UX, this is done by setting the MAXDSIZ, MAXSSIZ, MAXTSIZ kernel parameters (thanks Andre Konopka <ak@presse-data.de>). 8. Q: What's the problem with the GIF image format? A: Unisys holds a patent on the LZW compression algorithm that is used to make GIF images smaller in size. It's a long story how LZW became part of GIF and it is not clear who violated the LZW patent in the first place. Anyway, recently Unisys announced that they consider lawsuits against those using the GIF format (i.e. software generating GIFs, not reading!) without a license from Unisys. LaTeX2HTML itself does not have a problem, because it merely uses ppmtogif and can easily do without if it's not there. I don't know whether it is illegal or not to use ppmtogif in non-commercial environments. The "safe" solution is definitely to use PNG images; unfortunately there is AFAIK no browser available yet that displays transparent PNGs correctly. ����������������������������������������������������������������������extrarpms/latex2html-2002/L2hos.pm������������������������������������������������������������������0100644�0000764�0000764�00000005411�07320001525�016063� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- perl -*- ############################################################################## # $Id: L2hos.pm,v 1.3 2001/07/02 02:21:35 RRM Exp $ # # L2hos.pm # # Wrapper module for OS dependent stuff. Integrates the modules in # the L2hos:: subdirectory. # # Author: Marek Rouchal <marek@saftsack.fs.uni-bayreuth.de> # using stuff from the former Override.pm and from the File::Spec modules. # # This software is part of LaTeX2HTML, originally by Nikos Drakos # It is published under the GNU Public License and comes without any # warranty. # # You aren't supposed to edit this script. # ############################################################################## # Changes History # # $Log: L2hos.pm,v $ # Revision 1.3 2001/07/02 02:21:35 RRM # -- added recognition of 'darwin' OS, for MacOS X, as a Unix system # # Revision 1.2 1999/06/03 12:15:33 MRO # # # - cleaned up the TMP / TMPDIR / TMP_ mechansim. Should work much the # same now, but the code should be easier to understand. # # - cleaned up L2hos, added an INSTALLation FAQ, beautified the test # document a little bit # # Revision 1.1 1999/05/11 06:09:50 MRO # # # - merged config stuff, did first tries on Linux. Simple document # passes! More test required, have to ger rid of Warnings in texexpand # # Revision 1.1 1999/03/15 23:00:51 MRO # # # - moved L2hos modules to top level directory, so that no dir- # delimiter is necessary in the @INC-statement. # - changed strategy for "shave": Do not rely on STDERR redirection any # more (caused problems on at least Win32) # # Revision 1.1 1999/02/10 01:37:16 MRO # # # -- changed os-dependency structure again - now neat OO modules are # used: portable, extensible, neat! # -- some minor cleanups and bugfixes # # ############################################################################## package L2hos; require Exporter; @ISA = qw(Exporter); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @EXPORT = qw(); @EXPORT_OK = qw($Verbose); use strict; use vars qw(@ISA $VERSION $Verbose); ($VERSION) = q$Revision: 1.3 $ =~ /:\s*(\S+)/; $Verbose = 0; sub load { my ($class,$OS) = @_; if ($OS eq 'os2') { require L2hos::OS2; 'L2hos::OS2' # to be done somewhen... #elsif ($OS eq 'VMS') { # require L2hos::VMS; # 'L2hos::VMS' } elsif ($OS eq 'MacOS') { require L2hos::Mac; 'L2hos::Mac' } elsif ($OS eq 'darwin') { require L2hos::Unix; 'L2hos::Unix' } elsif ($OS eq 'MSWin32') { require L2hos::Win32; 'L2hos::Win32' } elsif ($OS =~ /(win|dos)/i) { require L2hos::Dos; 'L2hos::Dos' } else { require L2hos::Unix; 'L2hos::Unix' } } @ISA = load('L2hos', $^O); 1; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/LICENSE�������������������������������������������������������������������0100644�0000764�0000764�00000004760�06776743534�015604� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������LaTeX2HTML License ================== Original Copyright notice: LaTeX2HTML by Nikos Drakos <nikos@cbl.leeds.ac.uk> Some portions of this package are published under the GNU public license. These are clearly marked in the header. **************************************************************** General License Agreement and Lack of Warranty ***************** **************************************************************** This software is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY. The author(s) do not accept responsibility to anyone for the consequences of using it or for whether it serves any particular purpose or works at all. No warranty is made about the software or its performance. Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met: o The copyright notice and this entire notice are included intact and prominently carried on all copies and supporting documentation. o No fees or compensation are charged for use, copies, or access to this software. You may charge a nominal distribution fee for the physical act of transferring a copy, but you may not charge for the program itself. o If you modify this software, you must cause the modified file(s) to carry prominent notices (a Change Log) describing the changes, who made the changes, and the date of those changes. o Any work distributed or published that in whole or in part contains or is a derivative of this software or any part thereof is subject to the terms of this agreement. The aggregation of another unrelated program with this software or its derivative on a volume of storage or distribution medium does not bring the other program under the scope of these terms. This software is made available AS IS, and is distributed without warranty of any kind, either expressed or implied. In no event will the author(s) or their institutions be liable to you for damages, including lost profits, lost monies, or other special, incidental or consequential damages arising out of or in connection with the use or inability to use (including but not limited to loss of data or data being rendered inaccurate or losses sustained by third parties or a failure of the program to operate as documented) the program, even if you have been advised of the possibility of such damages, or for any claim by any other party, whether in an action of contract, negligence, or other tortious action. ����������������extrarpms/latex2html-2002/MANIFEST������������������������������������������������������������������0100644�0000764�0000764�00000016053�06777026125�015715� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.dvipsrc BUGS Changes FAQ INSTALL L2hos.pm LICENSE MANIFEST Makefile.in README TODO config.bat configure dot.latex2html-init l2hconf.pin latex2html.pin makemap prefs.pm pstoimg.pin readme.hthtml texexpand.pin texlive.pm IndicTeX-HTML IndicTeX-HTML/README IndicTeX-HTML/bengali.perl IndicTeX-HTML/bengali.sty IndicTeX-HTML/devnagri.perl IndicTeX-HTML/devnagri.sty IndicTeX-HTML/gujarati.perl IndicTeX-HTML/gujarati.sty IndicTeX-HTML/gurmukhi.perl IndicTeX-HTML/gurmukhi.sty IndicTeX-HTML/hindi.perl IndicTeX-HTML/hindi.sty IndicTeX-HTML/indica.perl IndicTeX-HTML/indica.sty IndicTeX-HTML/itrans.perl IndicTeX-HTML/itrans.sty IndicTeX-HTML/kannada.perl IndicTeX-HTML/kannada.sty IndicTeX-HTML/malyalam.perl IndicTeX-HTML/malyalam.sty IndicTeX-HTML/oriya.perl IndicTeX-HTML/oriya.sty IndicTeX-HTML/sanskrit.perl IndicTeX-HTML/sanskrit.sty IndicTeX-HTML/sinhlese.perl IndicTeX-HTML/sinhlese.sty IndicTeX-HTML/tamil.perl IndicTeX-HTML/tamil.sty IndicTeX-HTML/telugu.perl IndicTeX-HTML/telugu.sty IndicTeX-HTML/tibetan.perl IndicTeX-HTML/tibetan.sty L2hos L2hos/Dos.pm L2hos/Mac.pm L2hos/OS2.pm L2hos/Unix.pm L2hos/Win32.pm XyMTeX-HTML XyMTeX-HTML/aliphat.perl XyMTeX-HTML/carom.perl XyMTeX-HTML/ccycle.perl XyMTeX-HTML/chemstr.perl XyMTeX-HTML/chemsym.perl XyMTeX-HTML/hcycle.perl XyMTeX-HTML/hetarom.perl XyMTeX-HTML/hetaromh.perl XyMTeX-HTML/locant.perl XyMTeX-HTML/lowcycle.perl XyMTeX-HTML/xymman.perl config config/build.pl config/config.pl config/install.pl config/pipetest.pl config/redir.pl config/timg.pnm cweb2html cweb2html/Makefile cweb2html/README cweb2html/cweb.cls cweb2html/cweb.perl cweb2html/cweb2html cweb2html/htcweb.perl cweb2html/htcweb.sty cweb2html/htcweb.tex cweb2html/linkex1.w cweb2html/linkex2.w cweb2html/makemake.pl cweb2html/wcltx.bib cweb2html/wcltx.w docs docs/.latex2html-init docs/Makefile docs/Makefile.frames docs/appendix.tex docs/changebar.sty docs/credits.tex docs/features.tex docs/hypextra.tex docs/justify.sty docs/l2hfiles.dat docs/l2hglo.ist docs/l2hidx.ist docs/l2hman.sty docs/licence.tex docs/manhtml.tex docs/manual.bbl docs/manual.cb docs/manual.gls docs/manual.ind docs/manual.index docs/manual.tex docs/overview.tex docs/problems.tex docs/support.tex docs/url.sty docs/userman.tex docs/changebar docs/changebar/00Contents docs/changebar/00readme.txt docs/changebar/catalog.txt docs/changebar/changebar.bug docs/changebar/changebar.dtx docs/changebar/changebar.idx docs/changebar/changebar.ins docs/changebar/chbar.sh docs/changebar/manifest.txt docs/changebar/update.txt docs/hthtml docs/hthtml/Makefile docs/hthtml/hthtml.sty docs/hthtml/hthtml.tex docs/hthtml/readme.hthtml docs/psfiles docs/psfiles/HTMLtab.ps docs/psfiles/dn.gif docs/psfiles/eform.ps docs/psfiles/eform2.ps docs/psfiles/eqarrA1.ps docs/psfiles/eqarrA15.ps docs/psfiles/eqarrA2.ps docs/psfiles/eqarrB1.ps docs/psfiles/eqarrB15.ps docs/psfiles/eqarrB2.ps docs/psfiles/eqn1.ps docs/psfiles/eqn15.ps docs/psfiles/eqn2.ps docs/psfiles/figure.ps docs/psfiles/table.ps docs/psfiles/up.gif example example/Makefile example/report.tex example/sec1.tex example/sec2.tex foilhtml foilhtml/foilhtml.dtx foilhtml/foilhtml.ins foilhtml/readme.v12 icons icons/blueball.gif icons/blueball.png icons/ch_beg_r.gif icons/ch_beg_r.png icons/ch_begin.gif icons/ch_begin.png icons/ch_del_r.gif icons/ch_del_r.png icons/ch_delet.gif icons/ch_delet.png icons/ch_end.gif icons/ch_end.png icons/ch_end_r.gif icons/ch_end_r.png icons/contents.gif icons/contents.png icons/crossref.gif icons/crossref.png icons/footnote.gif icons/footnote.png icons/greenball.gif icons/greenball.png icons/icons.html icons/image.gif icons/image.png icons/index.gif icons/index.png icons/next.gif icons/next.png icons/next_g.gif icons/next_g.png icons/nx_grp.gif icons/nx_grp.png icons/nx_grp_g.gif icons/nx_grp_g.png icons/orangeball.gif icons/orangeball.png icons/pinkball.gif icons/pinkball.png icons/prev.gif icons/prev.png icons/prev_g.gif icons/prev_g.png icons/purpleball.gif icons/purpleball.png icons/pv_grp.gif icons/pv_grp.png icons/pv_grp_g.gif icons/pv_grp_g.png icons/redball.gif icons/redball.png icons/up.gif icons/up.png icons/up_g.gif icons/up_g.png icons/whiteball.gif icons/whiteball.png icons/yellowball.gif icons/yellowball.png makeseg makeseg/makeseg makeseg/makeseg.tex styles styles/CJK.perl styles/TEMPLATE.perl styles/afrikaan.perl styles/alltt.perl styles/american.perl styles/amsart.perl styles/amsbook.perl styles/amsfonts.perl styles/amsmath.perl styles/amssymb.perl styles/amstex.perl styles/article.perl styles/austrian.perl styles/babel.perl styles/babelbst.perl styles/bahasa.perl styles/book.perl styles/brazil.perl styles/breton.perl styles/catalan.perl styles/changebar.perl styles/chemsym.perl styles/color.perl styles/colordvi.perl styles/crayola.txt styles/croatian.perl styles/czech.perl styles/danish.perl styles/dutch.perl styles/english.perl styles/enumerate.perl styles/epsbox.perl styles/epsfig.perl styles/esperant.perl styles/estonian.perl styles/finnish.perl styles/floatfig.perl styles/floatflt.perl styles/frames.perl styles/francais.perl styles/french.perl styles/galician.perl styles/german.perl styles/germanb.perl styles/graphics.perl styles/graphicx.perl styles/harvard.perl styles/havard.perl styles/heqn.perl styles/hthtml.perl styles/html.perl styles/htmllist.perl styles/inputenc.perl styles/irish.perl styles/italian.perl styles/justify.perl styles/latexsym.perl styles/letter.perl styles/longtable.perl styles/lsorbian.perl styles/lyx.perl styles/magyar.perl styles/makeidx.perl styles/more_amsmath.perl styles/multicol.perl styles/natbib.perl styles/nharvard.perl styles/norsk.perl styles/nynorsk.perl styles/polish.perl styles/polski.perl styles/portuges.perl styles/psfrag.perl styles/report.perl styles/rgb.txt styles/romanian.perl styles/scottish.perl styles/seminar.perl styles/slides.perl styles/slovak.perl styles/slovene.perl styles/spanish.perl styles/supertabular.perl styles/texdefs.perl styles/texnames.perl styles/textcomp.perl styles/turkish.perl styles/usorbian.perl styles/verbatim.perl styles/verbatimfiles.perl styles/webtex.perl styles/welsh.perl styles/wrapfig.perl styles/xspace.perl styles/xy.perl tests tests/basic.tex tests/basicinc.tex tests/formulas.tex tests/jcl-env.tex tests/jcl-pag.tex tests/jcl-verb.tex tests/l2htest.tex tests/pages.tex tests/pages1.eps tests/rrm-col.tex texinputs texinputs/floatflt.ins texinputs/frames.sty texinputs/heqn.sty texinputs/hthtml.sty texinputs/html.sty texinputs/htmllist.sty texinputs/justify.sty texinputs/latin9.def texinputs/ldump.sty texinputs/techexplHTML.tex texinputs/url.sty texinputs/verbatimfiles.sty versions versions/cp1252.pl versions/decmulti.pl versions/frame.pl versions/html2_1.pl versions/html2_2.pl versions/html3_0.pl versions/html3_1.pl versions/html3_2.pl versions/html4_0.pl versions/i18n.pl versions/lang.pl versions/latin1.pl versions/latin2.pl versions/latin3.pl versions/latin4.pl versions/latin5.pl versions/latin6.pl versions/latin7.pl versions/latin8.pl versions/latin9.pl versions/macroman.pl versions/math.pl versions/table.pl versions/techexpl.pl versions/unicode.pl versions/utf8.pl wrapper wrapper/dos.pin wrapper/macos.pin wrapper/os2.pin wrapper/unix.pin wrapper/win32.pin �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/Makefile.in���������������������������������������������������������������0100644�0000764�0000764�00000012105�07005234326�016610� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# $Id: Makefile.in,v 1.9 1999/10/25 21:18:21 MRO Exp $ # Makefile for LaTeX2HTML. # Copyright (C) 1997 Marek Rouchal <marek@saftsack.fs.uni-bayreuth.de> # @configure_input@ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. #### Start of system configuration section. #### DISTVER = @distver@ srcdir = @srcdir@ PERL = @PERL@ PLAT = @plat@ AUTOCONF = autoconf # All programs SCRIPTS = latex2html texexpand pstoimg # Modules MODULES = l2hconf.pm # for dependencies wrappers = wrapper/dos.pin wrapper/macos.pin wrapper/os2.pin \ wrapper/unix.pin wrapper/win32.pin # Switch for Perl Warnings; should always be on # temporary solution until latexhtml is cleaned up PERLW =# -w #### End of system configuration section. #### # Placeholder for additional arguments ARGS=# SHELL = /bin/sh # Files that can be generated, but should be up to date for a distribution. DISTDEP = configure Makefile MANIFEST buildcmd = config/build.pl BUILDOPT=# nothing special, but -devel is a good idea! TESTCASE=l2htest# can be overridden on the command line installcmd = config/install.pl cfgfile = cfgcache.pm all: ${SCRIPTS} ${MODULES} devel: ${MAKE} all BUILDOPT=-devel # .SUFFIXES: pstoimg: ${cfgfile} ${srcdir}/${buildcmd} pstoimg.pin ${wrappers} ${PERL} ${srcdir}/${buildcmd} -x ${BUILDOPT} $@ touch pstoimg latex2html: ${cfgfile} ${srcdir}/${buildcmd} latex2html.pin ${wrappers} ${PERL} ${srcdir}/${buildcmd} -x ${BUILDOPT} $@ touch latex2html texexpand: ${cfgfile} ${srcdir}/${buildcmd} texexpand.pin ${wrappers} ${PERL} ${srcdir}/${buildcmd} -x ${BUILDOPT} $@ touch texexpand ${cfgfile}: config.status l2hconf.pm: ${cfgfile} ${srcdir}/${buildcmd} l2hconf.pin ${PERL} ${srcdir}/${buildcmd} ${BUILDOPT} $@ touch l2hconf.pm test: all LATEX2HTMLDIR=${srcdir}; export LATEX2HTMLDIR ; \ latex2html='' ; \ for file in latex2html bin/latex2html* bin/${PLAT}/latex2html*; do \ test -s $$file && latex2html=$$file break ; \ done ; \ if test -n "$$latex2html"; then \ echo "*** Running test on $$latex2html"; \ cd tests ; ${PERL} ../$$latex2html -test_mode ${ARGS} ${TESTCASE} ; \ fi test_clean: cd tests ; \ for i in *.tex ; do \ dir=`basename $$i .tex` ; \ rm -rf $$dir ; \ done ; \ rm -f *.aux *.dvi *.log test_pstoimg: pstoimg @LATEX2HTMLDIR=${srcdir}; export LATEX2HTMLDIR ; \ pstoimg='' ; \ for file in pstoimg bin/pstoimg* bin/${PLAT}/pstoimg*; do \ test -s $$file && pstoimg=$$file break ; \ done ; \ if test -n "$$pstoimg"; then \ echo "*** Running test: $$pstoimg ${ARGS}"; \ ${PERL} $$pstoimg ${ARGS} ; \ fi texlive: texlive.pm cp texlive.pm ${cfgfile} ${MAKE} all check: all LATEX2HTMLDIR=${srcdir}; export LATEX2HTMLDIR ; \ for file in versions/*.pl styles/*.perl; do \ ${PERL} ${PERLW} -c $$file || exit 1; \ done ; \ for file in ${SCRIPTS} ${MODULES}; do \ test -s $$file && ( ${PERL} ${PERLW} -c $$file || exit 1 ); \ test -s $$file.pl && ( ${PERL} ${PERLW} -c $$file.pl || exit 1 ); \ done ; \ exit 0 install: all ${PERL} ${installcmd} # Don't cd, to avoid breaking install-sh references. ${srcdir}/configure: cd ${srcdir} && \ ${AUTOCONF} Makefile: Makefile.in config.status ./config.status config.status: ${srcdir}/configure config/config.pl ./config.status --recheck clean mostlyclean distclean:: test_clean rm -f ${SCRIPTS} ${MODULES} *.tmp *.bak *.pl rm -fr bin distclean:: rm -f Makefile config.status config.cache config.log ${cfgfile} rm -f test.bat install.bat MANIFEST: ${PERL} make_manifest \ -x configure.in \ -x make_manifest \ > MANIFEST # Create a distribution based on the MANIFEST file dist: ${DISTDEP} distname=latex2html-${DISTVER} ; \ rm -fr $$distname; \ mkdir $$distname; \ for item in `cat MANIFEST`; do \ test -d $$item && mkdir $$distname/$$item; \ test -f $$item && ( \ ln $$item $$distname/$$item || \ { echo copying $$item instead; cp -p $$item $$distname/$$item;}; \ ) ; \ done; \ chmod -R u+rw,go-w+rX $$distname; \ tar -chz -f $$distname.tar.gz $$distname; \ rm -fr $$distname # Create a zipped dist zipdist: ${DISTDEP} distname=latex2html-${DISTVER} ; \ rm -fr $$distname; \ mkdir $$distname; \ for item in `cat MANIFEST`; do \ test -d $$item && mkdir $$distname/$$item; \ test -f $$item && ( \ ln $$item $$distname/$$item || \ { echo copying $$item instead; cp -p $$item $$distname/$$item;}; \ ) ; \ done; \ chmod -R u+rw,go-w+rX $$distname; \ zip -r -y $$distname.zip $$distname; \ rm -fr $$distname # no comment... love: @echo "...not war!" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/README��������������������������������������������������������������������0100644�0000764�0000764�00000020161�07310601125�015416� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������LaTeX2HTML README ================= Contents ******** Overview Pointers to the User Manual Requirements Installation Troubleshooting Support and More Information Overview ******** The LaTeX2HTML translator: o breaks up a document into one or more components as specified by the user, o provides optional iconic navigation panels on every page which contain links to other parts of the document, o handles inlined equations, right-justified numbered equations, tables, or figures and any arbitrary environment, o can produce output suitable for browsers that support inlined images or character based browsers (as specified by the user), o handles definitions of new commands, environments, and theorems even when these are defined in external style files, o handles footnotes, tables of contents, lists of figures and tables, bibliographies, and can generate an Index, o translates cross-references into hyperlinks and extends the LaTeX cross-referencing mechanism to work not just within a document but between documents which may reside in remote locations, o translates accent and special character commands to the equivalent ISO-LATIN-1 character set where possible, o recognizes hypertext links (to multimedia resources or arbitrary internet services such as sound/video/ftp/http/news) and links which invoke arbitrary program scripts, all expressed as LaTeX commands, o recognizes conditional text which is intended only for the hypertext version, or only for the paper (DVI) version, o can include raw HTML in a LaTeX document (e.g. in order to specify interactive forms), o can deal sensibly with all the commands and environments commonly used with LaTeX as summarized at the back of the LaTeX blue book [1], and many of the packages described in the LaTeX Companion, and others. o will try to translate any document with embedded LaTeX commands irrespective of whether it is complete or syntactically legal. Pointers to the User Manual *************************** The LaTeX2HTML program includes its own manual page. The manual page can be viewed by saying "perldoc latex2html" or "latex2html -help". See the online documentation at http://www-texdev.mpce.mq.edu.au/l2h/docs/manual/ for more information and examples. Other useful links can be found at: www.latex2html.org and at the mailing-list site: http://tug.org/mailman/listinfo/latex2html In particular see the pages: support.html , Snode1.html , Snode2.html , Snode3.html for instructions on how to install the program and make your own local copy of the manual in HTML. Requirements ************ Please consult the section "Requirements" of the online manual at http://www-texdev.mpce.mq.edu.au/l2h/docs/manual/Snode2.html for more information as well as *active* links to any utilities that you may require. The requirements for using LaTeX2HTML depend on the kind of translation it is asked to perform as follows: 1. LaTeX commands but without equations, figures, tables, etc. o Perl 5.003 (Perl5 Patch level 3) or higher. ------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ o DBM or NDBM, the Unix DataBase Management system. Alternatively, Perl5's SDBM DataBase system. ------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Do not care unless you get misconfiguration errors from LaTeX2HTML. 2. LaTeX commands with equations, figures, tables, etc. As above plus o latex (version 2e recommended but 2.09 acceptable), o dvips (version 5.516 or later) or dvipsk. Version 5.62 or higher enhances the performance of image creation with a *significant* speed-up. See l2conf.pm for this after you are done with the installation. Do not use the 'dvips -E' feature unless you have 5.62, else you will get broken images. ------^^^^ o gs (Ghostscript version 4.03 or later), ------------------------------^^^^ with the ppmraw device driver, or even better pnmraw. Upgrade to 5.10 or later if you want to go sure about seldom problems with 4.03 to avoid (yet unclarified). o The netpbm library (ftp://ftp.x.org/R5contrib/). Netpbm 1 March 1994 is recommended. Check with 'pnmcrop -version'. Some of the filters in those libraries are used during the postscript to image conversion. o If you want PNG images, you need pnmtopng (current version is 2.31). It is not part of netpbm and requires libpng (version 0.89c) and libz (1.0.4). pnmtopng supports transparency and interlace mode. Hurray!!! Netscape 4.04 has been reported to grok PNG images! ------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ That means your PNG option is not longer ahead of its time! Unfortunately Netscape still does not make use of the alpha channel... still not transparency. 3. Transparent inlined GIFs If you dislike the gray background color of the generated inlined images then the best thing you can do is get the netpbm library (instead of the older pbmplus) OR install the giftrans filter by Andreas Ley <ley@rz.uni-karlsruhe.de>. Version 1.10.2 is known to work without problems but later versions should also be OK. LaTeX2HTML also supports the shareware program giftool (by Home Pages, Inc., version 1.0), too. It can also create interlaced GIFs. Because by default the translator makes use of inlined images in the final HTML output, it would be better to have a viewer which supports the <IMG> tag, such as NCSA Mosaic. If only a character based browser is available or if you want the generated documents to be more portable then the translator can be used with the -ascii_mode option. If ghostscript or netpbm library are not available it is still possible to use the translator with the -no_images option. If you intend to use any of the special features of the translator then you have to include the html.sty file in any LaTeX documents that use them. Installation ************ Please consult the section "Installing LaTeX2HTML" of the online manual at http://www-texdev.mpce.mq.edu.au/l2h/docs/manual/Snode3.html Also consult the page at http://tug.org/mailman/listinfo/latex2html for links to special instructions on some platforms. To install LaTeX2HTML please read the file INSTALL. Troubleshooting *************** Please refer to the FAQ file that came with your distribution. Support and More Information **************************** Announcements, discussion archives, bug reporting forms and more are kept at the LaTeX2HTML home at http://cbl.leeds.ac.uk/nikos/tex2html/doc/latex2html/latex2html.html. *** this site has not been updated since November 1996. Many of the links are still valid, leading to useful information. A LaTeX2HTML mailing list had been set up at the Argonne National Labs (thanks to Ian Foster <itf@mcs.anl.gov> and Bob Olson <olson@mcs.anl.gov>). *** This list is no longer functional; it has now been taken over by the TeX User Group (TUG). Thank you Argonne, for the 5+ years of support. To join the list, visit the web-page at: http://tug.org/mailman/listinfo/latex2html and follow the instructions found there. If this is not possible for some reason, then send a message to: latex2html-request@tug.org with the contents subscribe To be removed from the list follow the instructions at: http://tug.org/mailman/listinfo/latex2html If this is not possible for some reason, then send a message to: latex2html-request@tug.org with the contents unsubscribe An archive of the mailing list can be browsed at: http://tug.org/pipermail/latex2html/ This mailing list also has a searchable online archive, at http://www.xray.mpe.mpg.de/mailing-lists/latex2html/ Enjoy! Original Author: Nikos Drakos <nikos@cbl.leeds.ac.uk> Computer Based Learning Unit University of Leeds. Most Recent Authors: Ross Moore <ross@mpce.mq.edu.au> Mathematics Department Macquarie University, Sydney. Marek Rouchal <marek@saftsack.fs.uni-bayreuth.de> Infineon Technologies AG Munich, Germany Former Author: Jens Lippmann <lippmann@rbg.informatik.tu-darmstadt.de> Technische Universit"at Darmstadt. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/TODO����������������������������������������������������������������������0100644�0000764�0000764�00000001335�07002526326�015237� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������MRO: Process commands like \psfig and \includegraphics directly, i.e. parse them, run pstoimg on the postscript file and add the image to an images list. This requires: - (maybe) a new array with image filenames and secifications, or can we use the same one as for the images coming out of dvips? - recognition of certain directives, mainly the image size (i.e. width or height) and calculation of a corresponding pixel size - in the long run support of rotation angles; these could be implemented in pstoimg with appropriate postscript code (like dvips does) MRO: Adapt the configuration procedure to the MacOS platform. MRO: Include the kpsewhich command in texexpand MRO: Configure for use of Type1 fonts, if available ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/config.bat����������������������������������������������������������������0100644�0000764�0000764�00000002154�07005234326�016503� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@ECHO OFF REM this is a DOS batch file REM *vital* This is the path to the perl interpreter set PERL=perl REM ------------------------------------------------------------------------- ECHO Starting Configuration... IF EXIST cfgcache.pm DEL cfgcache.pm %PERL% config\config.pl PERL=%PERL% %1 %2 %3 %4 %5 %6 %7 %8 %9 IF NOT EXIST cfgcache.pm GOTO ERROR REM ------------------------------------------------------------------------- ECHO Starting build... ECHO ... building latex2html %PERL% config\build.pl -x latex2html IF ERRORLEVEL 1 GOTO ERROR ECHO ... building pstoimg %PERL% config\build.pl -x pstoimg IF ERRORLEVEL 1 GOTO ERROR ECHO ... building texexpand %PERL% config\build.pl -x texexpand IF ERRORLEVEL 1 GOTO ERROR ECHO ... building configuration module %PERL% config\build.pl l2hconf.pm IF ERRORLEVEL 1 GOTO ERROR GOTO OK REM ------------------------------------------------------------------------- :ERROR ECHO An error has occured, aborting REM ------------------------------------------------------------------------- :OK ECHO Configuration procedure finished :END ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/configure�����������������������������������������������������������������0100755�0000764�0000764�00000117663�07011735747�016503� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # Defaults: ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: ac_default_prefix=/usr/local ac_help="$ac_help --with-perl=PATH path/name of the Perl interpreter" ac_help="$ac_help --with-oldconfig=PATH use settings from this cfgcache.pm file" ac_help="$ac_help --with-extrapath=EPATH search for executables in EPATH, too" ac_help="$ac_help --with-gsdevice=DEVICE use Ghostscript portable image device (default: chosen automatically, possible choices: ppmraw,pgnmraw,pgmraw,pnmraw,pbmraw,ppm,pgnm,pnm,pbm)" ac_help="$ac_help --with-gsalias=DEVICE use Ghostscript portable image device for anti-aliased image rendering (default: ppmraw, pgmraw)" ac_help="$ac_help --with-iconpath=PATH URL to access LaTeX2HTML icons on http server" ac_help="$ac_help --with-iconstorage=PATH path where LaTeX2HTML icons are stored" ac_help="$ac_help --with-texpath=PATH path where TeX include files will be installed" ac_help="$ac_help --with-rgb=PATH path of the system rgb.txt file" ac_help="$ac_help --with-crayola=PATH path of the system crayola.txt file" ac_help="$ac_help --enable-images add support of images (default: yes)" ac_help="$ac_help --enable-pk create fonts for image generation (default: no)" ac_help="$ac_help --with-metamode=MODE use MetaFont mode MODE for font generation" ac_help="$ac_help --with-metadpi=DPI the DPI resolution the MetaFont mode MODE uses" ac_help="$ac_help --enable-eps use EPS support in dvips if available" ac_help="$ac_help --enable-reverse reverse dvips output (rarely needed)" ac_help="$ac_help --enable-gif add support of GIF images" ac_help="$ac_help --enable-png add support of PNG images" ac_help="$ac_help --enable-pipes use pipes to connect portable bitmap programs" ac_help="$ac_help --enable-paths store absolute pathnames of external programs" ac_help="$ac_help --enable-wrapper build wrapper script to start latex2html" ac_help="$ac_help --enable-texlive build LaTeX2HTML for TeXlive cdrom" ac_help="$ac_help --with-gs=PATH path/name of the GhostScript executable" ac_help="$ac_help --with-dvips=PATH path/name of the dvips executable" ac_help="$ac_help --with-latex=PATH path/name of the LaTeX executable" ac_help="$ac_help --with-pnmcrop=PATH path/name of the pnmcrop executable" ac_help="$ac_help --with-tex=PATH path/name of the TeX executable" ac_help="$ac_help --with-initex=PATH path/name of the IniTeX executable" ac_help="$ac_help --with-kpsewhich=PATH path/name of the kpsewhich executable" ac_help="$ac_help --with-mktexlsr=PATH path/name of the mktexlsr (or texhash) executable" ac_help="$ac_help --with-validator=PATH path/name of a HTML validator executable" ac_help="$ac_help --with-pnmflip=PATH path/name of the pnmflip executable" ac_help="$ac_help --with-ppmquant=PATH path/name of the ppmquant executable" ac_help="$ac_help --with-pnmfile=PATH path/name of the pnmfile executable" ac_help="$ac_help --with-pnmcat=PATH path/name of the pnmcat executable" ac_help="$ac_help --with-pbmmake=PATH path/name of the pnmmake executable" ac_help="$ac_help --with-ppmtogif=PATH path/name of the ppmtogif executable" ac_help="$ac_help --with-pnmtopng=PATH path/name of the pnmtopng executable" ac_help="$ac_help --with-giftool=PATH path/name of the giftool executable" ac_help="$ac_help --with-giftrans=PATH path/name of the giftrans executable" # Initialize some variables set by options. # The variables have the same names as the options, with # dashes changed to underlines. build=NONE cache_file=./config.cache exec_prefix=NONE host=NONE no_create= nonopt=NONE no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= target=NONE verbose= x_includes=NONE x_libraries=NONE bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' # Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi case "$ac_option" in -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; *) ac_optarg= ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case "$ac_option" in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir="$ac_optarg" ;; -build | --build | --buil | --bui | --bu) ac_prev=build ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build="$ac_optarg" ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file="$ac_optarg" ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir="$ac_optarg" ;; -disable-* | --disable-*) ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` eval "enable_${ac_feature}=no" ;; -enable-* | --enable-*) ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "enable_${ac_feature}='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix="$ac_optarg" ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he) # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat << EOF Usage: configure [options] [host] Options: [defaults in brackets after descriptions] Configuration: --cache-file=FILE cache test results in FILE --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [same as prefix] --bindir=DIR user executables in DIR [EPREFIX/bin] --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] --libexecdir=DIR program executables in DIR [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data in DIR [PREFIX/share] --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data in DIR [PREFIX/com] --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] --libdir=DIR object code libraries in DIR [EPREFIX/lib] --includedir=DIR C header files in DIR [PREFIX/include] --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] --infodir=DIR info documentation in DIR [PREFIX/info] --mandir=DIR man documentation in DIR [PREFIX/man] --srcdir=DIR find the sources in DIR [configure dir or ..] --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names EOF cat << EOF Host type: --build=BUILD configure for building on BUILD [BUILD=HOST] --host=HOST configure for HOST [guessed] --target=TARGET configure for TARGET [TARGET=HOST] Features and packages: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR EOF if test -n "$ac_help"; then echo "--enable and --with options recognized:$ac_help" fi exit 0 ;; -host | --host | --hos | --ho) ac_prev=host ;; -host=* | --host=* | --hos=* | --ho=*) host="$ac_optarg" ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir="$ac_optarg" ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir="$ac_optarg" ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir="$ac_optarg" ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir="$ac_optarg" ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir="$ac_optarg" ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir="$ac_optarg" ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir="$ac_optarg" ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix="$ac_optarg" ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix="$ac_optarg" ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix="$ac_optarg" ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name="$ac_optarg" ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir="$ac_optarg" ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir="$ac_optarg" ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site="$ac_optarg" ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir="$ac_optarg" ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir="$ac_optarg" ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target="$ac_optarg" ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers) echo "configure generated by autoconf version 2.13" exit 0 ;; -with-* | --with-*) ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "with_${ac_package}='$ac_optarg'" ;; -without-* | --without-*) ac_package=`echo $ac_option|sed -e 's/-*without-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` eval "with_${ac_package}=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes="$ac_optarg" ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries="$ac_optarg" ;; -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } ;; *) if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then echo "configure: warning: $ac_option: invalid host type" 1>&2 fi if test "x$nonopt" != xNONE; then { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } fi nonopt="$ac_option" ;; esac done if test -n "$ac_prev"; then { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } fi trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 # File descriptor usage: # 0 standard input # 1 file creation # 2 errors and warnings # 3 some systems may open it to /dev/tty # 4 used on the Kubota Titan # 6 checking for... messages and results # 5 compiler messages saved in config.log if test "$silent" = yes; then exec 6>/dev/null else exec 6>&1 fi exec 5>./config.log echo "\ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. " 1>&5 # Strip out --no-create and --no-recursion so they do not pile up. # Also quote any args containing shell metacharacters. ac_configure_args= for ac_arg do case "$ac_arg" in -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) ac_configure_args="$ac_configure_args '$ac_arg'" ;; *) ac_configure_args="$ac_configure_args $ac_arg" ;; esac done # NLS nuisances. # Only set these to C if already set. These must not be set unconditionally # because not all systems understand e.g. LANG=C (notably SCO). # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! # Non-C LC_CTYPE values break the ctype check. if test "${LANG+set}" = set; then LANG=C; export LANG; fi if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo > confdefs.h # A filename unique to this package, relative to the directory that # configure is in, which we can look for to find out if srcdir is correct. ac_unique_file=latex2html.pin # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_prog=$0 ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } else { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } fi fi srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then echo "loading site script $ac_site_file" . "$ac_site_file" fi done if test -r "$cache_file"; then echo "loading cache $cache_file" . $cache_file else echo "creating cache $cache_file" > $cache_file fi ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross ac_exeext= ac_objext=o if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then ac_n= ac_c=' ' ac_t=' ' else ac_n=-n ac_c= ac_t= fi else ac_n= ac_c='\c' ac_t= fi # Check whether --with-perl or --without-perl was given. if test "${with_perl+set}" = set; then withval="$with_perl" PERL=$withval else PERL=${PERL:-} fi # Check whether --with-oldconfig or --without-oldconfig was given. if test "${with_oldconfig+set}" = set; then withval="$with_oldconfig" : else with_oldconfig=${OLDCONFIG:-} fi # Check whether --with-extrapath or --without-extrapath was given. if test "${with_extrapath+set}" = set; then withval="$with_extrapath" : else with_extrapath=${EXTRAPATH:-} fi # Check whether --with-gsdevice or --without-gsdevice was given. if test "${with_gsdevice+set}" = set; then withval="$with_gsdevice" : else with_gsdevice=${GSDEVICE:-} fi # Check whether --with-gsalias or --without-gsalias was given. if test "${with_gsalias+set}" = set; then withval="$with_gsalias" : else with_gsalias=${GSALIASDEVICE:-} fi # Check whether --with-iconpath or --without-iconpath was given. if test "${with_iconpath+set}" = set; then withval="$with_iconpath" : else with_iconpath=${ICONPATH:-} fi # Check whether --with-iconstorage or --without-iconstorage was given. if test "${with_iconstorage+set}" = set; then withval="$with_iconstorage" : else with_iconstorage=${ICONSTORAGE:-} fi # Check whether --with-texpath or --without-texpath was given. if test "${with_texpath+set}" = set; then withval="$with_texpath" : else with_texpath=${TEXPATH:-} fi # Check whether --with-rgb or --without-rgb was given. if test "${with_rgb+set}" = set; then withval="$with_rgb" : else with_rgb=${RGB:-} fi # Check whether --with-crayola or --without-crayola was given. if test "${with_crayola+set}" = set; then withval="$with_crayola" : else with_crayola=${CRAYOLA:-} fi # Check whether --enable-images or --disable-images was given. if test "${enable_images+set}" = set; then enableval="$enable_images" : else enable_images='' fi # Check whether --enable-pk or --disable-pk was given. if test "${enable_pk+set}" = set; then enableval="$enable_pk" : else enable_pk='' fi # Check whether --with-metamode or --without-metamode was given. if test "${with_metamode+set}" = set; then withval="$with_metamode" : else with_metamode=${METAMODE:-} fi # Check whether --with-metadpi or --without-metadpi was given. if test "${with_metadpi+set}" = set; then withval="$with_metadpi" : else with_metadpi=${METADPI:-} fi # Check whether --enable-eps or --disable-eps was given. if test "${enable_eps+set}" = set; then enableval="$enable_eps" : else enable_eps='' fi # Check whether --enable-reverse or --disable-reverse was given. if test "${enable_reverse+set}" = set; then enableval="$enable_reverse" : else enable_reverse='' fi # Check whether --enable-gif or --disable-gif was given. if test "${enable_gif+set}" = set; then enableval="$enable_gif" : else enable_gif='' fi # Check whether --enable-png or --disable-png was given. if test "${enable_png+set}" = set; then enableval="$enable_png" : else enable_png='' fi # Check whether --enable-pipes or --disable-pipes was given. if test "${enable_pipes+set}" = set; then enableval="$enable_pipes" : else enable_pipes='' fi # Check whether --enable-paths or --disable-paths was given. if test "${enable_paths+set}" = set; then enableval="$enable_paths" : else enable_paths='' fi # Check whether --enable-wrapper or --disable-wrapper was given. if test "${enable_wrapper+set}" = set; then enableval="$enable_wrapper" : else enable_wrapper='' fi # Check whether --enable-texlive or --disable-texlive was given. if test "${enable_texlive+set}" = set; then enableval="$enable_texlive" : else enable_texlive='' fi # Check whether --with-gs or --without-gs was given. if test "${with_gs+set}" = set; then withval="$with_gs" : else with_gs=${GS:-} fi # Check whether --with-dvips or --without-dvips was given. if test "${with_dvips+set}" = set; then withval="$with_dvips" : else with_dvips=${DVIPS:-} fi # Check whether --with-latex or --without-latex was given. if test "${with_latex+set}" = set; then withval="$with_latex" : else with_latex=${LATEX:-} fi # Check whether --with-pnmcrop or --without-pnmcrop was given. if test "${with_pnmcrop+set}" = set; then withval="$with_pnmcrop" : else with_latex=${PNMCROP:-} fi # Check whether --with-tex or --without-tex was given. if test "${with_tex+set}" = set; then withval="$with_tex" : else with_tex=${TEX:-} fi # Check whether --with-initex or --without-initex was given. if test "${with_initex+set}" = set; then withval="$with_initex" : else with_initex=${INITEX:-} fi # Check whether --with-kpsewhich or --without-kpsewhich was given. if test "${with_kpsewhich+set}" = set; then withval="$with_kpsewhich" : else with_kpsewhich=${KPSEWHICH:-} fi # Check whether --with-mktexlsr or --without-mktexlsr was given. if test "${with_mktexlsr+set}" = set; then withval="$with_mktexlsr" : else with_mktexlsr=${MKTEXLSR:-} fi # Check whether --with-validator or --without-validator was given. if test "${with_validator+set}" = set; then withval="$with_validator" : else with_validator=${HTML_VALIDATOR:-} fi # Check whether --with-pnmflip or --without-pnmflip was given. if test "${with_pnmflip+set}" = set; then withval="$with_pnmflip" : else with_pnmflip=${PNMFLIP:-} fi # Check whether --with-ppmquant or --without-ppmquant was given. if test "${with_ppmquant+set}" = set; then withval="$with_ppmquant" : else with_ppmquant=${PPMQUANT:-} fi # Check whether --with-pnmfile or --without-pnmfile was given. if test "${with_pnmfile+set}" = set; then withval="$with_pnmfile" : else with_pnmfile=${PNMFILE:-} fi # Check whether --with-pnmcat or --without-pnmcat was given. if test "${with_pnmcat+set}" = set; then withval="$with_pnmcat" : else with_pnmcat=${PNMCAT:-} fi # Check whether --with-pbmmake or --without-pbmmake was given. if test "${with_pbmmake+set}" = set; then withval="$with_pbmmake" : else with_pnmmake=${PBMMAKE:-} fi # Check whether --with-ppmtogif or --without-ppmtogif was given. if test "${with_ppmtogif+set}" = set; then withval="$with_ppmtogif" : else with_ppmtogif=${PPMTOGIF:-} fi # Check whether --with-pnmtopng or --without-pnmtopng was given. if test "${with_pnmtopng+set}" = set; then withval="$with_pnmtopng" : else with_pnmtopng=${PNMTOPNG:-} fi # Check whether --with-giftool or --without-giftool was given. if test "${with_giftool+set}" = set; then withval="$with_giftool" : else with_giftool=${GIFTOOL:-} fi # Check whether --with-giftrans or --without-giftrans was given. if test "${with_giftrans+set}" = set; then withval="$with_giftrans" : else with_giftrans=${GIFTRANS:-} fi if test -n "$PERL"; then if echo "$PERL" | grep '^/' >/dev/null; then echo $ac_n "checking for $PERL""... $ac_c" 1>&6 echo "configure:936: checking for $PERL" >&5 if test -s "$PERL"; then echo "$ac_t""yes" 1>&6 else echo "$ac_t""no" 1>&6 PERL='none' fi else find_perl="$PERL" PERL='' fi else find_perl="perl perl5" fi if test -z "$PERL"; then for ac_prog in $find_perl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:956: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else case "$PERL" in /*) ac_cv_path_PERL="$PERL" # Let the user override the test with a path. ;; ?:/*) ac_cv_path_PERL="$PERL" # Let the user override the test with a dos path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_PERL="$ac_dir/$ac_word" break fi done IFS="$ac_save_ifs" ;; esac fi PERL="$ac_cv_path_PERL" if test -n "$PERL"; then echo "$ac_t""$PERL" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$PERL" && break done test -n "$PERL" || PERL="none" fi if test "$PERL" = 'none'; then { echo "configure: error: perl not found. LaTeX2HTML *needs* perl 5.00305 or higher." 1>&2; exit 1; } fi # Pull the hash mark out of the macro call to avoid m4 problems. ac_msg="whether #! works in shell scripts" echo $ac_n "checking $ac_msg""... $ac_c" 1>&6 echo "configure:1001: checking $ac_msg" >&5 if eval "test \"`echo '$''{'ac_cv_sys_interpreter'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else echo '#! /bin/cat exit 69 ' > conftest chmod u+x conftest (SHELL=/bin/sh; export SHELL; ./conftest >/dev/null) if test $? -ne 69; then ac_cv_sys_interpreter=yes else ac_cv_sys_interpreter=no fi rm -f conftest fi echo "$ac_t""$ac_cv_sys_interpreter" 1>&6 interpval="$ac_cv_sys_interpreter" echo "launching proprietary configuration..." $PERL $srcdir/config/config.pl \ HASHBANG=$ac_cv_sys_interpreter \ OLDCONFIG=$with_oldconfig \ EXTRAPATH=$with_extrapath \ GSDEVICE=$with_gsdevice \ GSALIASDEVICE=$with_gsalias \ ICONPATH=$with_iconpath \ ICONSTORAGE=$with_iconstorage \ TEXPATH=$with_texpath \ RGB=$with_rgb \ CRAYOLA=$with_crayola \ IMAGES=$enable_images \ PK=$enable_pk \ METAMODE=$with_metamode \ METADPI=$with_metadpi \ EPS=$enable_eps \ REVERSE=$enable_reverse \ GIF=$enable_gif \ PNG=$enable_png \ PIPES=$enable_pipes \ ABSPATHS=$enable_paths \ PREFIX=$prefix \ BINDIR=$bindir \ LIBDIR=$libdir \ WRAPPER=$enable_wrapper \ TEXLIVE=$enable_texlive \ GS=$with_gs \ DVIPS=$with_dvips \ LATEX=$with_latex \ PNMCROP=$with_latex \ TEX=$with_tex \ INITEX=$with_initex \ KPSEWHICH=$with_kpsewhich \ MKTEXLSR=$with_mktexlsr \ HTML_VALIDATOR=$with_validator \ PNMFLIP=$with_pnmflip \ PPMQUANT=$with_ppmquant \ PNMFILE=$with_pnmfile \ PNMCAT=$with_pnmcat \ PBMMAKE=$with_pnmmake \ PPMTOGIF=$with_ppmtogif \ PNMTOPNG=$with_pnmtopng \ GIFTOOL=$with_giftool \ GIFTRANS=$with_giftrans if test "$?" != "0"; then exit 1 fi # this is used to get the values from the config file eval `perl -w -e 'use cfgcache; foreach(keys %cfg) { print qq($_='"'"'$cfg{$_}'"'"'\n);}'` trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs. It is not useful on other systems. # If it contains results you don't want to keep, you may remove or edit it. # # By default, configure uses ./config.cache as the cache file, # creating it if it does not exist already. You can give configure # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. # Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. # EOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote substitution # turns \\\\ into \\, and sed turns \\ into \). sed -n \ -e "s/'/'\\\\''/g" \ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' ;; esac >> confcache if cmp -s $cache_file confcache; then : else if test -w $cache_file; then echo "updating cache $cache_file" cat confcache > $cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Any assignment to VPATH causes Sun make to only execute # the first set of double-colon rules, so remove it if not needed. # If there is a colon in the path, we need to keep it. if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' fi trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. cat > conftest.defs <<\EOF s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g s%\[%\\&%g s%\]%\\&%g s%\$%$$%g EOF DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` rm -f conftest.defs # Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} echo creating $CONFIG_STATUS rm -f $CONFIG_STATUS cat > $CONFIG_STATUS <<EOF #! /bin/sh # Generated automatically by configure. # Run this file to recreate the current configuration. # This directory was configured as follows, # on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # # $0 $ac_configure_args # # Compiler output produced by configure, useful for debugging # configure, is in ./config.log if it exists. ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" for ac_option do case "\$ac_option" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; *) echo "\$ac_cs_usage"; exit 1 ;; esac done ac_given_srcdir=$srcdir trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <<EOF # Protect against being on the right side of a sed subst in config.status. sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF $ac_vpsub $extrasub s%@SHELL@%$SHELL%g s%@CFLAGS@%$CFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g s%@FFLAGS@%$FFLAGS%g s%@DEFS@%$DEFS%g s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g s%@exec_prefix@%$exec_prefix%g s%@prefix@%$prefix%g s%@program_transform_name@%$program_transform_name%g s%@bindir@%$bindir%g s%@sbindir@%$sbindir%g s%@libexecdir@%$libexecdir%g s%@datadir@%$datadir%g s%@sysconfdir@%$sysconfdir%g s%@sharedstatedir@%$sharedstatedir%g s%@localstatedir@%$localstatedir%g s%@libdir@%$libdir%g s%@includedir@%$includedir%g s%@oldincludedir@%$oldincludedir%g s%@infodir@%$infodir%g s%@mandir@%$mandir%g s%@PERL@%$PERL%g s%@plat@%$plat%g s%@distver@%$distver%g CEOF EOF cat >> $CONFIG_STATUS <<\EOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. ac_file=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_cmds # Line after last line for current file. ac_more_lines=: ac_sed_cmds="" while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file else sed "${ac_end}q" conftest.subs > conftest.s$ac_file fi if test ! -s conftest.s$ac_file; then ac_more_lines=false rm -f conftest.s$ac_file else if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f conftest.s$ac_file" else ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" fi ac_file=`expr $ac_file + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_cmds` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi EOF cat >> $CONFIG_STATUS <<EOF CONFIG_FILES=\${CONFIG_FILES-"Makefile"} EOF cat >> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case "$ac_file" in *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; *) ac_file_in="${ac_file}.in" ;; esac # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. # Remove last slash and all that follows it. Not all systems have dirname. ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. test ! -d "$ac_dir" && mkdir "$ac_dir" ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` else ac_dir_suffix= ac_dots= fi case "$ac_given_srcdir" in .) srcdir=. if test -z "$ac_dots"; then top_srcdir=. else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; *) # Relative path. srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" top_srcdir="$ac_dots$ac_given_srcdir" ;; esac echo creating "$ac_file" rm -f "$ac_file" configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." case "$ac_file" in *Makefile*) ac_comsub="1i\\ # $configure_input" ;; *) ac_comsub= ;; esac ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` sed -e "$ac_comsub s%@configure_input@%$configure_input%g s%@srcdir@%$srcdir%g s%@top_srcdir@%$top_srcdir%g " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file fi; done rm -f conftest.s* EOF cat >> $CONFIG_STATUS <<EOF EOF cat >> $CONFIG_STATUS <<\EOF exit 0 EOF chmod +x $CONFIG_STATUS rm -fr confdefs* $ac_clean_files test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 # This in a kludge. The cache confuses the results. rm -f config.cache echo echo "If everything went well, you may run 'make'" �����������������������������������������������������������������������������extrarpms/latex2html-2002/dot.latex2html-init�������������������������������������������������������0100644�0000764�0000764�00000016165�06247110112�020303� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#LaTeX2HTML Version 96.1 : dot.latex2html-init # ### Command Line Argument Defaults ####################################### $MAX_SPLIT_DEPTH = 8; # Stop making separate files at this depth $MAX_LINK_DEPTH = 4; # Stop showing child nodes at this depth $NOLATEX = 0; # 1 = do not pass unknown environments to Latex $EXTERNAL_IMAGES = 0; # 1 = leave the images outside the document $ASCII_MODE = 0; # 1 = do not use any icons or internal images # 1 = use links to external postscript images rather than inlined bitmap # images. $PS_IMAGES = 0; $TITLE = $default_title; # The default is "No Title" $DESTDIR = ''; # Put the result in this directory # When this is set, the generated HTML files will be placed in the # current directory. If set to 0 the default behaviour is to create (or reuse) # another file directory. $NO_SUBDIR = 0; # Supply your own string if you don't like the default <Name> <Date> $ADDRESS = "<I>$address_data[0] <BR>\n$address_data[1]</I>"; $NO_NAVIGATION = 0; # 1 = do not put a navigation panel at the top of each page # Put navigation links at the top of each page. If the page exceeds # $WORDS_IN_PAGE number of words then put one at the bottom of the page. $AUTO_NAVIGATION = 1; # Put a link to the index page in the navigation panel $INDEX_IN_NAVIGATION = 1; # Put a link to the table of contents in the navigation panel $CONTENTS_IN_NAVIGATION = 1; # Put a link to the next logical page in the navigation panel $NEXT_PAGE_IN_NAVIGATION = 1; # Put a link to the previous logical page in the navigation panel $PREVIOUS_PAGE_IN_NAVIGATION = 1; $INFO = 1; # 0 = do not make a "About this document..." section # Reuse images generated during previous runs $REUSE = 2; # When this is 1, the section numbers are shown. The section numbers should # then match those that would have bee produced by LaTeX. # The correct section numbers are obtained from the $FILE.aux file generated # by LaTeX. # Hiding the seciton numbers encourages use of particular sections # as standalone documents. In this case the cross reference to a section # is shown using the default symbol rather than the section number. $SHOW_SECTION_NUMBERS = 0; ### Other global variables ############################################### $CHILDLINE = "<BR> <HR>\n"; # This is the line width measured in pixels and it is used to right justify # equations and equation arrays; $LINE_WIDTH = 500; # Used in conjunction with AUTO_NAVIGATION $WORDS_IN_PAGE = 300; # Affects ONLY the way accents are processed $default_language = 'english'; # The value of this variable determines how many words to use in each # title that is added to the navigation panel (see below) # $WORDS_IN_NAVIGATION_PANEL_TITLES = 4; # This number will determine the size of the equations, special characters, # and anything which will be converted into an inlined image # *except* "image generating environments" such as "figure", "table" # or "minipage". # Effective values are those greater than 0. # Sensible values are between 0.1 - 4. $MATH_SCALE_FACTOR = 1.6; # This number will determine the size of # image generating environments such as "figure", "table" or "minipage". # Effective values are those greater than 0. # Sensible values are between 0.1 - 4. $FIGURE_SCALE_FACTOR = 1.6; # If this is set then intermediate files are left for later inspection. # This includes $$_images.tex and $$_images.log created during image # conversion. # Caution: Intermediate files can be *enormous*. $DEBUG = 0; # If both of the following two variables are set then the "Up" button # of the navigation panel in the first node/page of a converted document # will point to $EXTERNAL_UP_LINK. $EXTERNAL_UP_TITLE should be set # to some text which describes this external link. $EXTERNAL_UP_LINK = ""; $EXTERNAL_UP_TITLE = ""; # If this is set then the resulting HTML will look marginally better if viewed # with Netscape. $NETSCAPE_HTML = 0; # Valid paper sizes are "letter", "legal", "a4","a3","a2" and "a0" # Paper sizes has no effect other than in the time it takes to create inlined # images and in whether large images can be created at all ie # - larger paper sizes *MAY* help with large image problems # - smaller paper sizes are quicker to handle $PAPERSIZE = "a4"; # Replace "english" with another language in order to tell LaTeX2HTML that you # want some generated section titles (eg "Table of Contents" or "References") # to appear in a different language. Currently only "english" and "french" # is supported but it is very easy to add your own. See the example in the # file "latex2html.config" $TITLES_LANGUAGE = "english"; ### Navigation Panel ########################################################## # # The navigation panel is constructed out of buttons and section titles. # These can be configured in any combination with arbitrary text and # HTML tags interspersed between them. # The buttons available are: # $PREVIOUS - points to the previous section # $UP - points up to the "parent" section # $NEXT - points to the next section # $NEXT_GROUP - points to the next "group" section # $PREVIOUS_GROUP - points to the previous "group" section # $CONTENTS - points to the contents page if there is one # $INDEX - points to the index page if there is one # # If the corresponding section exists the button will contain an # active link to that section. If the corresponding section does # not exist the button will be inactive. # # Also for each of the $PREVIOUS $UP $NEXT $NEXT_GROUP and $PREVIOUS_GROUP # buttons there are equivalent $PREVIOUS_TITLE, $UP_TITLE, etc variables # which contain the titles of their corresponding sections. # Each title is empty if there is no corresponding section. # # The subroutine below constructs the navigation panels in each page. # Feel free to mix and match buttons, titles, your own text, your logos, # and arbitrary HTML (the "." is the Perl concatenation operator). sub top_navigation_panel { # Now add a few buttons with a space between them "$NEXT $UP $PREVIOUS $CONTENTS $INDEX $CUSTOM_BUTTONS" . "<BR>\n" . # Line break # If ``next'' section exists, add its title to the navigation panel ($NEXT_TITLE ? "<B> Next:</B> $NEXT_TITLE\n" : undef) . # Similarly with the ``up'' title ... ($UP_TITLE ? "<B>Up:</B> $UP_TITLE\n" : undef) . # ... and the ``previous'' title ($PREVIOUS_TITLE ? "<B> Previous:</B> $PREVIOUS_TITLE\n" : undef) . # Line Break, horizontal rule (3-d dividing line) and new paragraph "<BR> <P>\n" } sub bot_navigation_panel { # Start with a horizontal rule (3-d dividing line) "<HR>". # Now add a few buttons with a space between them "$NEXT $UP $PREVIOUS $CONTENTS $INDEX $CUSTOM_BUTTONS" . "<BR>\n" . # Line break # If ``next'' section exists, add its title to the navigation panel ($NEXT_TITLE ? "<B> Next:</B> $NEXT_TITLE\n" : undef) . # Similarly with the ``up'' title ... ($UP_TITLE ? "<B>Up:</B> $UP_TITLE\n" : undef) . # ... and the ``previous'' title ($PREVIOUS_TITLE ? "<B> Previous:</B> $PREVIOUS_TITLE\n" : undef) } 1; # This must be the last line �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/l2hconf.pin���������������������������������������������������������������0100644�0000764�0000764�00000112264�07455737324�016634� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/perl # LaTeX2HTML l2hconf.pm # $Id: l2hconf.pin,v 1.12 2002/04/13 05:12:18 RRM Exp $ package main; use vars qw(%used_icons); # Setting this variable to where your perl executable resides can lead to # better performance on some platforms. # # It is advisable to do this on an Intel system; e.g. # $PERL='g:/usr/bin/perl_.exe'; # # On a unix system it may be best left empty, or set as in: # $PERL='/usr/local/bin/perl'; # $PERL = '@PERL@'; # ############### THESE VARIABLES ARE DETERMINED BY CONFIGURE ################ # Give the paths to latex and dvips on your system: # $LATEX = '@LATEX@'; # LaTeX $DVIPS = '@DVIPS@'; # dvips # give these too, to use the -ldump feature # $TEX = "@TEX@"; # TeX $INILATEX = "@INITEX@ \"&latex\""; # initex+latex # These affect whether images are made on a white or gray background. # They are ignored when the document preamble contains similar commands. # Use these defaults for dark solid (anti-aliased) characters in text and math. # $LOAD_LATEX_COLOR = "\\usepackage[dvips]{color}"; $LATEX_COLOR = "\\pagecolor[gray]{.7}"; # -white # this overrides the above gray-scale for figures that don't need anti-aliasing # $WHITE_BACKGROUND = 0; # -image_type # This specifies the type of images produced by latex2html when processing # unknown environments and/or e.g. math formulae. # @IMAGE_TYPES = qw(@IMAGE_TYPES@); $IMAGE_TYPE = $IMAGE_TYPES[0]; # -tmp # Specify a tmp directory for image-generation (optional) # #if @texlive@ $TMP = $ENV{TMP} || $ENV{TEMP} || '.'; #else $TMP = '@TMPSPACE@'; #fi ############# HTML validation ############### # # set $HTML_VALIDATOR to the command needed to run a validator to check # the HTML pages produced; # use the -validate switch to run the validator, or set $HTML_VALIDATE # $HTML_VALIDATOR = '@HTML_VALIDATOR@'; # -validate # when $HTML_VALIDATE is 1, the validator will run as default # provided $HTML_VALIDATOR is also set; -novalidate suppresses this # $HTML_VALIDATE = 0; ########## ICONSERVER --- !! IMPORTANT !! ############################ # # LaTeX2HTML uses many small graphics as icons within the navigation # panels, and for other purposes. # You *must* specify where these graphics are to be found, for use within # your documents. # # IMPORTANT: This location must not only be accessible to you, but also # to the people who are to read your HTML documents. # # One option is to always use the -local_icons switch (see below) # to have a copy of the icons together with your HTML document. # (This is safe, but wasteful if you have a large number of documents.) # # A better option is to set $ICONSERVER to point to a location that # is known to always (at least in principle) be available publicly. # # The default value for $ICONSERVER given below is within the local # $LATEX2HTMLDIR. If this is *not* to be publicly available then you # **should change the value of $ICONSERVER to a site that is**. # # You probably have to talk to your Webmaster to provide access to the # icon directory. Some hints: # a) It's ok to set $ICONSERVER just to "/path/to/icons.$IMAGE_TYPE" (without # the internet address) if /path/to is valid for your file system, *and* # if www_root/path/to points to the same directory. Normally the www area # is located in some subsidary directory, which is pointed to by www_root # (the entry 'Document Root' of the http daemon's srm.conf file). # Make the Webmaster add appropriate links in that directory that help # locate the icon directory, or set up an Alias in srm.conf. # b) To check if the icons can be displayed properly, invoke the browser # with the *http URL to your site*, and click down to your document. # c) If you have $LOCAL_ICONS set, your document will accumulate a pretty # amount of redundant icons if you make use of segmentation. # In this case, customize &img_tag to use a central directory, say, # "../icons". # #if @texlive@ use L2hos; $ICONSERVER = L2hos->path2URL("$LATEX2HTMLDIR/icons"); #else $ICONSERVER = '@ICONPATH@'; #fi $ALTERNATIVE_ICONS = 0; # ####### YOU *MAY* WANT/NEED TO CHANGE SOME OF THESE VARIABLES ############## # -djgpp # On DOS/DJGPP systems one can easily run out of file handles. To # avoid that, set this to 1. However this affects performance. # $DJGPP = 0; # if you are having difficulties with inputs not being found, # and your system is Web2C then setting this to 1 may help. # $Web2C = @WEB2C@; # Options for dvips as determined by configure # $DVIPSOPT = '@DVIPSOPT@'; # If you already have the fonts, you may add -M to suppress font # generation # # $DVIPSOPT .= ' -M'; # If you have dvips 5.62 or higher, you can turn on generation of EPS files # by uncommenting the following line. Warning: dvips does not support # included EPS figures very well. However if you don't make use of # complicated image include commands like \includegraphics, this option # will speed up image generation a *lot*. # # $DVIPSOPT .= " -E"; # (Note: this here is old, don't worry unless you really run into trouble.) # # Some dvips programs generate postscript images in the reverse order by # default. If your inlined images are all screwed up try uncommenting # the following line: # # $DVIPSOPT .= "-r0"; # For efficient use of font resources, minimising disk-space use, # allow GhostScript to find the fonts it needs for images. # # DO: # EITHER: edit Ghostscript's $GS_LIB/Fontmap file # OR: set the GS_FONTPATH environment variable; # e.g. # $ENV{'GS_FONTPATH'} = join(':/usr/local/texmf/fonts/type1/', '', # 'adobe','ams','bh','bsr','lucida','mt','public/cm','public/xypic'); # # AND # setup a virtual printer configuration file 'config.gs' # and listing 'psfonts.gs' of PostScript fonts to exclude from .ps files # # AND # tell dvips to use this 'virtual printer' : # # $DVIPSOPT .= " -Pgs"; # Local initialization files are usually named .latex2html-init # this name is hard-coded as the default with the latex2html script # It can be changed here, if desired: # # $INIT_FILE_NAME = '.latex2html-init'; # Location of texexpand, supplied with the translator # #if @texlive@ $TEXEXPAND = "$PERL $LATEX2HTMLDIR/texexpand.pl"; #else $TEXEXPAND = "$PERL @scriptdir@${dd}texexpand@scriptext@"; #fi # Location of pstoimg, supplied with the translator # #if @texlive@ $PSTOIMG = "$PERL $LATEX2HTMLDIR/pstoimg.pl"; #else $PSTOIMG = "$PERL @scriptdir@${dd}pstoimg@scriptext@"; #fi # This is used to "autoload" perl code to deal with specific style files # $LATEX2HTMLSTYLES = "$LATEX2HTMLDIR${dd}styles"; # This is used to support upcoming versions of html - directory where perl # files to handle those are # $LATEX2HTMLVERSIONS = "$LATEX2HTMLDIR${dd}versions"; # The following variable sets the default search list of directories for # latex style files that latex2html should process. It also defines a # a list of directories (: separated) which possibly contain TeX and dvips # inputs. This variable is overriden by the environment variable # TEXINPUTS, if it is specified. Internally, the directory your document # resides in, and ".", are appended to this list of directories. # # IMPORTANT: In some installations, latex and dvips are really # shell scripts which set environment TEXINPUTS (and other variables) # to predefined values, then call the real latex and dvips. If this # is true for your installation, then the $TEXINPUTS that latex2html # sees will only affect the processing of \input and \include's # by latex2html, not the operation of latex and dvips when called # by latex2html. In this case, make sure that the predefined # values of TEXINPUTS within the latex and dvips scripts at least # contains "." and ".." (".." works in the most cases). # Otherwise, latex and dvips will not find inputs from the original source # directory when called from a subdirectory contained therein. # # The single colon tells LaTeX to look on the standard places only. # If you add entries, do it colon-separated. # If you don't know where LaTeX takes its standard files from, leave the # single colon in front or at the end, or have an empty entry "::" # at some place among the other entries. # if ($Web2C) { chomp ($TEXINPUTS = # `kpsewhich -progname=latex -expand-braces \\\$TEXINPUTS`); #`kpsewhich -v -n latex \\\$TEXINPUTS`); $envkey); } else { $TEXINPUTS = $envkey; } # This line helps LaTeX2HTML to recognize your adaption everywhere. # $ENV{'TEXINPUTS'} = $TEXINPUTS unless defined $ENV{'TEXINPUTS'}; # -no_fork # If defined this will prevent the translator to crash if your operating # system does not support forking; e.g. DOS. # #if @texlive@ # works only on UNIX, or...? $CAN_FORK = L2hos->plat() =~ /unix/; #else #if @plat@ =~ /dos|win|os2/i $CAN_FORK = 0; #else $CAN_FORK = 1; #fi #fi # ############################################################################ # THERE IS NO NEED TO CHANGE ANY OF THE VARIABLES BELOW EXCEPT FOR CUSTOMISING # THE OPERATION OF LATEX2HTML. # ############################################################################ ### Command Line Argument Defaults ####################################### # -ldump # Change this to 1 if you want to speed up image processing during the 2nd # and more runs of LaTeX2HTML on the same document. # This will cause LaTeX2HTML to produce a LaTeX dump of images.tex which # is read in on subsequent runs and speeds up startup time of LaTeX on the # images.tex translation. # This actually consumes additional time on the first run, but pays off on # subsequent runs. The dump file will need about 1 Meg of disk space. # $LATEX_DUMP = 0; # -numbered_footnotes # If defined to 1 you will get every footnote applied with a subsequent # number, else with a hyperlink icon. # $NUMBERED_FOOTNOTES = 0; # -local_icons # Change this to 1 if you want to copy the navigation icons to each # document directory so that the document directory is self-contained # and can be dropped into another server tree. Note that you can also # use the command line option -local_icons # $LOCAL_ICONS = 0; # -split # $MAX_SPLIT_DEPTH = 8; # Stop making separate files at this depth # -link # $MAX_LINK_DEPTH = 4; # Stop showing child nodes at this depth # -short_extn # If this is set all HTML file will have extension ".htm" instead of # ".html". This is helpful when shipping the document to PC systems. # $SHORTEXTN = 0; # -nolatex # $NOLATEX = 0; # 1 = do not pass unknown environments to Latex # -external_images # $EXTERNAL_IMAGES = 0; # 1 = leave the images outside the document # -ps_images # 1 = use links to external postscript images rather than inlined GIF's. # $PS_IMAGES = 0; # ANTI-ALIASING within generated images # # -antialias # 1 = use anti-aliasing in the generation of images of figures . # $ANTI_ALIAS = 0; # -antialias_text # 1 = use anti-aliasing in the generation of images of typeset material; # e.g. mathematics and text, e.g. in tables and {makeimage} environments. # $ANTI_ALIAS_TEXT = 1; # -font_size # To set the point size of LaTeX-generated GIF files, uncomment the following # variable, and set it to its desired value (i.e, 10pt, 11pt, 12pt, etc.) # The default is to use the point size of the original LaTeX document. # This value will be magnified by $FIGURE_SCALE_FACTOR and # $MATH_SCALE_FACTOR (below). # # $FONT_SIZE = "12pt"; # -no_tex_defs # To suppress the interpretation of raw TeX commands, set $TEXDEFS = 0; # Note: There are many variations of \def that latex2html cannot process # correctly! # $TEXDEFS = 1; # -ascii_mode # This is different from -no_images. # If this is set, LaTeX2HTML will show textual tags rather than # images, both in navigation panel and text (Eg. [Up] instead the up # icon). # You could use this feature to create simple text from your # document, eg. with 'Save as... Text' from Netscape or with # lynx -dump. # $ASCII_MODE = 0; # 1 = do not use any icons or internal images # -t, The document title. # $default_title = '$FILE'; # -dir $DESTDIR = ''; # Put the result in this directory # -no_subdir # When this is set, the generated HTML files will be placed in the # current directory. If set to 0 the default behaviour is to create (or reuse) # another file directory. # $NO_SUBDIR = 0; # -address # Supply your own string if you don't like the default <Name> <Date> # $ADDRESS = "<I>$address_data[0]</I>\n<BR><I>$address_data[1]</I>"; # -no_navigation # 1 = do not put a navigation panel at the top of each page # $NO_NAVIGATION = 0; # -top_navigation # Determines whether to navigation links should be at the top or the bottom # of each page. The default is at the top. # $TOP_NAVIGATION = 1; # -bottom_navigation # Determines whether to navigation links should be at the top or the bottom # of each page. The default is at the top. # $BOTTOM_NAVIGATION = 0; # -auto_navigation # Put navigation links at the top of each page. If the page exceeds # $WORDS_IN_PAGE number of words then put one at the bottom of the page. # $AUTO_NAVIGATION = 1; # -index_in_navigation # Put a link to the index page in the navigation panel # $INDEX_IN_NAVIGATION = 1; # -contents_in_navigation # Put a link to the table of contents in the navigation panel # $CONTENTS_IN_NAVIGATION = 1; # -next_page_in_navigation # Put a link to the next logical page in the navigation panel # $NEXT_PAGE_IN_NAVIGATION = 1; # -previous_page_in_navigation # Put a link to the previous logical page in the navigation panel # $PREVIOUS_PAGE_IN_NAVIGATION = 1; # -prefix # Set the output file prefix, prepended to all .html, .gif and .pl files. # See also $AUTO_PREFIX. # $PREFIX = ''; # -auto_prefix # To automatically insert the equivalent of "-prefix basename-", where # "basename" is the base name of the file being translated, set this to 1. # $AUTO_PREFIX = 0; # -up_url, -up_title, -down_url, -down_title, -prev_url, -prev_title: # If both of the following two variables are set then the "Up" button # of the navigation panel in the first node/page of a converted document # will point to $EXTERNAL_UP_LINK. $EXTERNAL_UP_TITLE should be set # to some text which describes this external link. # $EXTERNAL_UP_LINK = ''; $EXTERNAL_UP_TITLE = ''; # Similarly you might set these variables to link external documents # to your navigation panel. # $EXTERNAL_DOWN_LINK = ""; $EXTERNAL_DOWN_TITLE = ""; $EXTERNAL_PREV_LINK = ""; $EXTERNAL_PREV_TITLE = ""; $EXTERNAL_INDEX = ""; $EXTERNAL_CONTENTS = ""; # -info # 0 = do not make an "About this document..." section # $INFO = 1; # -reuse, -no_reuse, Image recycling: # If 0, do not reuse or recycle identical images. If the html subdirectory # already exists, start the interactive session. # If nonzero, do recycle them and switch off the interactive session. # If 1, only recycle images generated from previous runs. # If 2, recycle images from the current and previous runs. # $REUSE = 2; # -no_images # When $NO_IMAGES is set LaTeX2HTML will not attempt to produce any inlined images # The missing images can be generated "off-line" by restarting LaTeX2HTML # after setting $IMAGES_ONLY (see below); #if @have_images@ $NO_IMAGES = 0; #else $NO_IMAGES = 1; #fi # -images_only # When $IMAGES_ONLY is set, LaTeX2HTML will only try to convert the inlined images # in the file "images.tex" which should have been generated automatically during # previous runs. This is very useful for correcting "bad LaTeX" in this file. # $IMAGES_ONLY = 0; # -discard # When $DISCARD_PS is set, the PostScript file created for each generated image # is discarded immediately after its image has been rendered and saved in the # required graphics format. This can lead to significant savings in disk-space, # when there are a lot of images, since otherwise these files are not discarded # until the end of all processing. # $DISCARD_PS = 1; # -show_section_numbers # When this is 1, the section numbers are shown. The section numbers should # then match those that would have bee produced by LaTeX. # The correct section numbers are obtained from the $FILE.aux file generated # by LaTeX. # Hiding the seciton numbers encourages use of particular sections # as standalone documents. In this case the cross reference to a section # is shown using the default symbol rather than the section number. # $SHOW_SECTION_NUMBERS = 0; # -short_index # If this is set then makeidx.perl will construct codified names # for the text of index references. # $SHORT_INDEX = 0; # -debug # If this is set then intermediate files are left for later inspection. # This includes $$_images.tex and $$_images.log created during image # conversion. # Caution: Intermediate files can be *enormous*. # $DEBUG = 0; # -html_version # The default HTML version to be produced # $HTML_VERSION = '3.2'; # -no_math # By default the special MATH extensions are not used # since they do not conform with the HTML 3.2 standard. # $NO_SIMPLE_MATH = 1; # -unsegment # Use this to translate a segmented document as if it were not # segmented. # $UNSEGMENT = 0; ### Other global variables ############################################### # If this is set then the HTML will look better if viewed with Netscape. # $NETSCAPE_HTML = 0; # Set this to 1 if you want interlaced images, 0 otherwise. Interlaced # images build up gradually while downloading so one can get a first # impression of what the final image will look like very quickly. # $INTERLACE = 1; # Set this to 1 if you like the old LaTeX2HTML style to have a # border around the navigation links. # Values > 1 are also possible. # $NAV_BORDER = 0; ### Colors ### # # If this is set you may set colors in your document (see the LaTeX # package color.dvi and the color.perl/colordvi.perl files). # Note that HTML generated herefrom cannot be viewed by all browsers # (at least Netscape or Mosaic 2.7 should do). # $COLOR_HTML = 0; # Specify the path to your systems color database if you do not agree on # the databases provided with the translator. Eg.: /usr/lib/X11/rgb.txt # the RGB colors database # $RGBCOLORFILE = '@RGBCOLORFILE@'; # the CMYK colors database # $CRAYOLAFILE = '@CRAYOLAFILE@'; ### End Colors ### # Do not try to translate these input files, and do not # complain about a missing Perl module. # Complex LaTeX inputs, styles, or classes may cause the translator # to hang. If this occurs add the input file here. # You may also specify filename extensions here, e.g. if you do # not want to include input files matching "*.myfig", add # ``:.myfig''. # $DONT_INCLUDE = "2up:psfig:epsf:texinfo:pictex:" . ".ps:.eps:.fig:.epsf:.epic:.eepic:.xy:.xya:.xyc:" . "titlepage:openbib:\\d+pt:twoside:twocolumn:" . "memo:dvipsfig:times:margins:aaii2:a4:art\\d+:doublespace:" . "alltt:amstex:anysize:array:article:bm:book:bookman:" . "boxedminipage:cite:comment:courier:dcolumn:doc:eepic:" . "enumerate:epic:fleqn:float:floatflt:fullpage:index:" . "inputenc:isolatin1:leqno:letter:llncs:makeidx:" . "multicol:psfig:report:shadow:shapepar:showidx:" . "slides:syntonly:sz:tabls:times:twoside:umlaut:umlaute"; # Latex2html usually does not include style files provided by # \documentstyle, \documentclass, \usepackage but tries to use the # corresponding *.perl files provided in the styles/ subdirectory. # Now if you use home-brew style files with new environments/commands # you may want to include them. E.g. if you want to include "mystyle.sty", # say $DO_INCLUDE = "mystyle" here. Separate styles with colons. This # setting overrides the settings in $DONT_INCLUDE. You may specify # filename extensions here as well. # # $DO_INCLUDE = ""; # If you have equations in your text, and must use bitmap'd fonts with # an old (pre 4.02) version of Ghostscript... # (RRM: ignore all the following with later versions) # # ... you'll get the best results with PK_GENERATION=1. # With this option switched on, DVIPS will be told to generate # all of the images for a specific screen resolution, # eliminating "blurring" of small letters and subscripts. # If any of it causes you grief, simply set PK_GENERATION=0, # and your default printer's resolution will be used. # # Sidik Isani, <isani@cfht.hawaii.edu> added this. # $PK_GENERATION = 0; # @PK_GENERATION@ # by configure # ... and set the following variable ONLY if your version of dvips # understands the "-mode" command line switch. It is a more reliable # way of setting the METAfont mode than the .dvipsrc file on versions that # support this switch. If you do this, you do not need to modify .dvipsrc # as described below. Herb Swan <dprhws@edp.Arco.com> added this. # $DVIPS_MODE = '@METAMODE@'; # Only if you have PK_GENERATION set to 1: # A file 'modes.mf' is probably installed somewhere in your tex # tree. e.g /usr/local/tex/texmf/mf/modes.mf or something similar. # If it has and entry for 'toshiba', then you can ignore the rest. # Otherwise, you'll need to try *one* of the following things: # # o Set PK_GENERATION=0 and generate images for your default printer # o Download the latest modes.mf from the TeX archive and re-run inimf. # o Choose another LOW RESOLUTION screen or printer entry from modes.mf, # (preferably with "|blacker|" set to 0.0 and a 1:1 aspect ratio-- # If you don't have "toshiba", try "epsonlq", "lqlores", "nec", or "NEC") # If you try some other mode, remember to update two other things as well: # # 1) Change the 'toshiba' in the .dvipsrc file that came with latex2html. # 2) Put whatever the |pixels_per_inch| value is into $METAFONT_DPI # and the .dvipsrc file # # Note: The maximum usable SCALE_FACTOR is determined by this resolution. # A higher resolution will take more memory during processing (regardless # of SCALE_FACTOR) but will allow higher SCALE_FACTORs. Do NOT just # change this value though. It *must* match the |pixels_per_inch| of # the metafont mode (e.g. `toshiba'). # $METAFONT_DPI = @METADPI@; # Controls which markup shows up between page and its foot. $CHILDLINE = "<BR><HR>\n"; # If this is set as below, LaTeX2HTML produces a directory index link to # the html document, ie. you may use <http://my.cite.is.here/dir/of/document> # instead of <http://my.cite.is.here/dir/of/document/document.html>. # Set it to eg. 'node1' to have the index pointing to node1.html, etc. # Comment it out to have no index generation. # Note: $EXTN is ".html" by default, see -short_extn. # $LINKPOINT = '"$FILE$EXTN"'; # Uses this one to determine the name of the directory index. $LINKNAME = '"index$EXTN"'; # This is the line width measured in pixels and it is used to right justify # equations and equation arrays; $LINE_WIDTH = 500; # Used in conjunction with AUTO_NAVIGATION $WORDS_IN_PAGE = 300; # Affects ONLY the way accents are processed $default_language = 'english'; # The value of this variable determines how many words to use in each # title that is added to the navigation panel (see below) # $WORDS_IN_NAVIGATION_PANEL_TITLES = 4; # This number will determine the size of the equations, special characters, # and anything which will be converted into an inlined image # *except* "image generating environments" such as "figure", "table" # or "minipage". # Effective values are those greater than 0. # Sensible values are between 0.1 - 4. # $MATH_SCALE_FACTOR = 1.6; # This number, when defined, determines extra scaling for displayed equations. # It multiplies with the $MATH_SCALE_FACTOR to give the total scaling. # It is especially useful when \scriptscriptstyle text is used frequently, # which would otherwise be extremely difficult to read on-screen. # #$DISP_SCALE_FACTOR = 1; # This number will determine the size of # image generating environments such as "figure", "table" or "minipage". # Effective values are those greater than 0. # Sensible values are between 0.1 - 4. # $FIGURE_SCALE_FACTOR = 1.6; # This is yet another scaling factor which has a special use. # When this number is set, images are created at a size scaled by the # specified amount (multiplying any other scale factors). # However the images are displayed unscaled, by setting the # HEIGHT="..." and WIDTH="..." attributes to the unscaled size. # Thus a larger image is squeezed into a smaller area. # This allows for better quality when the HTML page is printed. # {figure} environments are *not* affected by this factor. # #$EXTRA_IMAGE_SCALE = 2; # If this is set to 0 then any inlined images generated from "figure" # environments will NOT be transparent. # $TRANSPARENT_FIGURES = 1; # Set the default body text, inserted between <BODY> ... </BODY>. # See also \bodytext{..} provided with html.sty. # $BODYTEXT = ""; # Valid paper sizes are "letter", "legal", "note" and ... # "a0", ... "a10", "b0", ... "b5"; # Recommended: "a5" # Paper sizes has no effect other than with images that # need special alignment; # e.g for equation-numbering with HTML, version 2.0 # - larger paper sizes *MAY* help with large image problems # - smaller paper sizes *MAY* be quicker to handle on some systems # $PAPERSIZE = "a5"; ### Internationalization ###################################################### # # Default values used by do_cmd_tableofcontents and others. # Change them to suit your documents sub english_titles { $toc_title = "Contents"; $lof_title = "List of Figures"; $lot_title = "List of Tables"; $idx_title = "Index"; $ref_title = "References"; $bib_title = "Bibliography"; $abs_title = "Abstract"; $app_title = "Appendix"; $pre_title = "Preface"; $foot_title = "Footnotes"; $thm_title = "Theorem"; $fig_name = "Figure"; $tab_name = "Table"; $prf_name = "Proof"; $date_name = "Date"; $page_name = "Page"; # Sectioning-level titles $part_name = "Part"; $chapter_name = "Chapter"; $section_name = "Section"; $subsection_name = "Subsection"; $subsubsection_name = "Subsubsection"; $paragraph_name = "Paragraph"; # Misc. strings $child_name = "Subsections"; $info_title = "About this document ..."; $also_name = "see also"; $see_name = "see"; # names in navigation panels $next_name = "Next"; $up_name = "Up"; $prev_name = "Previous"; $group_name = "Group"; # mail fields $encl_name = "encl"; $headto_name = "To"; $cc_name = "cc"; @Month = ('', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); # These words will be omitted from filenames derived # from section-titles, when using -long_titles $GENERIC_WORDS = "and|the|of|for|by|a|an|to"; } # These words will be omitted from filenames derived # from section-titles, when using -long_titles # Override this value within a <language>_titles subroutine. # $GENERIC_WORDS = "and|the|of|for|by|a|an|to"; # Replace "english" with another language provided # titles for that language are defined, as above... # (Make sure that you don't use a different default in your personal # configuration file) # $TITLES_LANGUAGE = "english"; # ... or use titles in a different language by adding a new subroutine # eg for esperanto: # sub esperanto_titles { # $toc_title = 'Esperanto title'; # etc... # } # and then say # $TITLES_LANGUAGE = "esperanto"; # # Note: This is automatically done for you when use the german or # french style file, and for several other languages also, # or when you specify the language through the babel package. ### Verbosity ################################################################# # # -verbosity # The amount of message information printed to the screen during processing # by LaTeX2HTML is controlled by the $VERBOSITY variable. # Its value can also be set using the -verbosity <num> command-line switch. # By increasing this value, more information is displayed. # Here is the type of extra information that is shown at each level: # # $VERBOSITY = 0; # no extra information # $VERBOSITY = 1; # section types and titles # $VERBOSITY = 2; # environment # $VERBOSITY = 3; # command names # $VERBOSITY = 4; # links, labels and internal sectioning codes # $VERBOSITY = 1; ### Navigation Panel ########################################################## # # The navigation panel is constructed out of buttons and section titles. # These can be configured in any combination with arbitrary text and # HTML tags interspersed between them. # The buttons available are: # $PREVIOUS - points to the previous section # $UP - points up to the "parent" section # $NEXT - points to the next section # $NEXT_GROUP - points to the next "group" section # $PREVIOUS_GROUP - points to the previous "group" section # $CONTENTS - points to the contents page if there is one # $INDEX - points to the index page if there is one # # If the corresponding section exists the button will contain an # active link to that section. If the corresponding section does # not exist the button will be inactive. # # Also for each of the $PREVIOUS $UP $NEXT $NEXT_GROUP and $PREVIOUS_GROUP # buttons there are equivalent $PREVIOUS_TITLE, $UP_TITLE, etc variables # which contain the titles of their corresponding sections. # Each title is empty if there is no corresponding section. # # The subroutine below constructs the navigation panel in each page. # Feel free to mix and match buttons, titles, your own text, your logos, # and arbitrary HTML (the "." is the Perl concatenation operator). #JKR: Use two panels (top and bot) instead of one. # # This is the default form of the navigation panel: sub navigation_panel { "<!--Navigation Panel-->" # Now add a few buttons with a space between them . "$NEXT $UP $PREVIOUS $CONTENTS $INDEX $CUSTOM_BUTTONS" . "\n<BR>" # Line break # If ``next'' section exists, add its title to the navigation panel . ($NEXT_TITLE ? "\n<B> $next_name:</B> $NEXT_TITLE" : undef) # Similarly with the ``up'' title ... . ($UP_TITLE ? "\n<B> $up_name:</B> $UP_TITLE" : undef) # ... and the ``previous'' title . ($PREVIOUS_TITLE ? "\n<B> $prev_name:</B> $PREVIOUS_TITLE" : undef) # ... and the ``contents'' title . ($CONTENTS_LINK ? "\n   <B> $CONTENTS_LINK</B> " : undef) # ... and the ``index'' title . ($INDEX_LINK ? "\n   <B> $INDEX_LINK</B> " : undef) # These <BR>s separate it from the text body. . "\n<BR><BR>" } # This can be redefined in an initialization file: if (!(defined &main::top_navigation_panel)) { eval "sub top_navigation_panel { \&navigation_panel(\@_) }" } else { print "\n *** top_navigation_panel subroutine already defined\n" } sub bot_navigation_panel { # Start with a horizontal rule (3-d dividing line) "<HR>\n" . "<!--Navigation Panel-->" # Now add a few buttons with a space between them . "$NEXT $UP $PREVIOUS $CONTENTS $INDEX $CUSTOM_BUTTONS" . "\n<BR>" # Line break # If ``next'' section exists, add its title to the navigation panel . ($NEXT_TITLE ? "\n<B> $next_name:</B> $NEXT_TITLE" : undef) # Similarly with the ``up'' title ... . ($UP_TITLE ? "\n<B> $up_name:</B> $UP_TITLE" : undef) # ... and the ``previous'' title . ($PREVIOUS_TITLE ? "\n<B> $prev_name:</B> $PREVIOUS_TITLE" : undef) # ... and the ``contents'' title . ($CONTENTS_LINK ? "\n   <B> $CONTENTS_LINK</B> " : undef) # ... and the ``index'' title . ($INDEX_LINK ? "\n   <B> $INDEX_LINK</B> " : undef) } ### Meta Information ##################################################### # # This information will be inserted in the HEAD of the generated # HTML file. It can be used by automatic indexing scripts (eg # site-index.pl at http://www.ai.mit.edu/tools/site-index.html) # You can change the description, keywords, etc. values. # sub meta_information { local($_) = @_; # Cannot have nested HTML tags... do { s/<[^>]*>//g; "<META NAME=\"description\" CONTENT=\"$_\">\n" . "<META NAME=\"keywords\" CONTENT=\"$FILE\">\n" . "<META NAME=\"resource-type\" CONTENT=\"document\">\n" . "<META NAME=\"distribution\" CONTENT=\"global\">\n" } if $_; } ### Icons ################################################################ # Icon names and real icon files. foreach $typ (@IMAGE_TYPES) { %{"icons_$typ"} = ( 'cross_ref_visible_mark' ,"crossref.$typ", 'anchor_mark' , '', # ,' ', 'anchor_invisible_mark' , '', # ,' ', 'up_visible_mark' ,"up.$typ", 'next_visible_mark' ,"nx_grp.$typ", 'previous_visible_mark' ,"pv_grp.$typ", 'next_page_visible_mark' ,"next.$typ", 'previous_page_visible_mark' ,"prev.$typ", 'contents_visible_mark' ,"contents.$typ", 'index_visible_mark' ,"index.$typ", 'footnote_mark' ,"footnote.$typ", 'up_inactive_visible_mark' ,"up_g.$typ", 'next_inactive_visible_mark' ,"nx_grp_g.$typ", 'previous_inactive_visible_mark' ,"pv_grp_g.$typ", 'next_page_inactive_visible_mark' ,"next_g.$typ", 'previous_page_inactive_visible_mark' ,"prev_g.$typ", 'change_begin_visible_mark',"ch_begin.$typ", 'change_begin_right_visible_mark',"ch_beg_r.$typ", 'change_end_visible_mark',"ch_end.$typ", 'change_end_right_visible_mark',"ch_end_r.$typ", 'change_delete_visible_mark',"ch_delet.$typ", 'change_delete_right_visible_mark',"ch_del_r.$typ" ) }; if (!%icons) { %icons = %{"icons_$IMAGE_TYPE"}; } if (!%iconsizes) { %iconsizes = ( 'up' ,'WIDTH="26" HEIGHT="24"', 'next','WIDTH="37" HEIGHT="24"', 'previous','WIDTH="63" HEIGHT="24"', 'next_group' ,'WIDTH="81" HEIGHT="24"', 'next_inactive' ,'WIDTH="81" HEIGHT="24"', 'previous_group','WIDTH="107" HEIGHT="24"', 'change_begin','WIDTH="104" HEIGHT="24"', 'change_begin_right','WIDTH="104" HEIGHT="24" ALIGN="RIGHT"', 'change_end','WIDTH="104" HEIGHT="24"', 'change_end_right','WIDTH="104" HEIGHT="24" ALIGN="RIGHT"', 'change_delete','WIDTH="109" HEIGHT="24"', 'change_delete_right','WIDTH="109" HEIGHT="24" ALIGN="RIGHT"', 'contents','WIDTH="65" HEIGHT="24"', 'index','WIDTH="43" HEIGHT="24"', 'image','WIDTH="48" HEIGHT="24"' ); } $extern_image_mark = &extern_image_mark(); sub extern_image_mark { "[IMAGE $_[0]]"; } sub img_tag { local($iconmark) = @_; local($icon) = $icons{$iconmark}; local($alt); local($align) = " ALIGN=\"BOTTOM\" "; $alt = join ('|', "up", "next_group", "next_inactive", "previous_group" , "next", "previous", "change_begin_right", "change_begin" , "change_end_right", "change_end", "change_delete_right" , "change_delete", "contents", "index"); if ($icon =~ /(gif|png)$/) { $used_icons{$icon} = 1; if ($iconmark =~ /change_(begin|end|delete)_right/) { $align = ' ' }; local($pre); local($nav_border) = "\"$NAV_BORDER\""; if ($iconmark =~ /($alt)/) { $pre = "\n"; $alt = $1; } else { $pre = ""; $nav_border = '"1"'; $alt = '[*]'; }; if ($LOCAL_ICONS) { return join('', $pre ,'<IMG ', $iconsizes{$alt} || '', $align ,'BORDER=', $nav_border, ' ALT="', $alt ,'" SRC="', $icon, '">' ); } else { return join('', $pre ,'<IMG ', $iconsizes{$alt} || '', $align ,'BORDER=', $nav_border, ' ALT="', $alt, "\"\n" ,' SRC="', $ICONSERVER, "/$icon", '">' ); } } else { return $icon; } } sub inactive_img { # Replaces an image name xxx.gif with xxx_gr.gif # It is assumed that _gr images contain the equivalent inactive icons local($_) = @_; s/(up|next|previous|next_page|previous_page)(_visible_mark)/$1_inactive$2/; $_; } ### ASCII Mode ########################################################### # This subroutine defines the ascii strings to be used instead of the # icons when the translator is invoked with the -ascii_mode option. # Please modify them if you do not like them, BUT # *** DO NOT USE THE SPACE CHARACTER (" ") FOR $anchor_invisible_mark *** # (if you use " " then the cross-reference hyperlinks will not work). # --- this depends on the browser. From HTML 3.2, a space works OK now. sub ascii_mode { $cross_ref_visible_mark = "[*]"; $anchor_mark = " "; $anchor_invisible_mark = " "; $up_visible_mark = "[$up_name]"; $next_visible_mark = "[$next_name $group_name]"; $previous_visible_mark = "[$prev_name $group_name]"; $next_page_visible_mark ="[$next_name]"; $previous_page_visible_mark ="[$prev_name]"; $up_inactive_visible_mark = "[$up_name]"; $next_inactive_visible_mark = "[$next_name $group_name]"; $previous_inactive_visible_mark = "[$prev_name $group_name]"; $next_page_inactive_visible_mark ="[$next_name]"; $previous_page_inactive_visible_mark ="[$prev_name]"; $contents_visible_mark = "[$toc_title]"; $index_visible_mark = "[$idx_title]"; $footnote_mark = "[+]"; $extern_image_mark = &extern_image_mark; $EXTERNAL_IMAGES = 1; } ### Adding commands to be ignored ######################################## # Add LaTeX commands to be ignored. # Each command should be on a separate line and have the format: # <cmd_name>#{}# []# {}# [] etc. # {} marks a compulsory argument and [] an optional one. # Note that some commands may have arguments which should be left as # text even though the command should be ignored (e.g. mbox, center, etc) # &::ignore_commands( <<_IGNORED_CMDS_); htmlrule # [] # \$_ = join('',"<BR><HR>",\$_) mathversion # {} underline # {} # \$_ = join('',"<U>", \$2, "</U>", \$_) centerline # {} # \$_ = join('',"<P ALIGN=CENTER>", \$2, "</P>", \$_) latexhtml# {} latex# {} html lrule # {} scrollmode savebox# {}# []# [] center citeindexfalse _IGNORED_CMDS_ ### Adding commands to be processed by TeX ############################### # Commands which need to be passed, ALONG WITH THEIR ARGUMENTS, to TeX. # The syntax is the same as that for ignore_commands above. &::process_commands_in_tex (<<_RAW_ARG_CMDS_); fbox # {} framebox # [] # [] # {} _RAW_ARG_CMDS_ 1; # This must be the last line ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������extrarpms/latex2html-2002/latex2html.pin������������������������������������������������������������0100644�0000764�0000764�00002175610�07457202325�017361� 0����������������������������������������������������������������������������������������������������ustar �karen���������������������������karen������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#- -*- perl -*- # # $Id: latex2html.pin,v 1.67 2002/04/16 23:59:19 RRM Exp $ # # Comprises patches and revisions by various authors: # See Changes, the log file of LaTeX2HTML. # # Original Copyright notice: # # LaTeX2HTML by Nikos Drakos <nikos@cbl.leeds.ac.uk> # **************************************************************** # LaTeX To HTML Translation ************************************** # **************************************************************** # LaTeX2HTML is a Perl program that translates LaTeX source # files into HTML (HyperText Markup Language). For each source # file given as an argument the translator will create a # directory containing the corresponding HTML files. # # The man page for this program is included at the end of this file # and can be viewed using "perldoc latex2html" # # For more information on this program and some examples of its # capabilities visit # # http://www.latex2html.org/ # # or see the accompanying documentation in the docs/ directory # # or # # http://www-texdev.ics.mq.edu.au/l2h/docs/manual/ # # or # # http://www.cbl.leeds.ac.uk/nikos/tex2html/doc/latex2html/ # # Original code written by Nikos Drakos, July 1993. # # Address: Computer Based Learning Unit # University of Leeds # Leeds, LS2 9JT # # Copyright (c) 1993-95. All rights reserved. # # # Extensively modified by Ross Moore, Herb Swan and others # # Address: Mathematics Department # Macquarie University # Sydney, Australia, 2109 # # Copyright (c) 1996-2001. All rights reserved. # # See general license in the LICENSE file. # ########################################################################## use 5.003; # refuse to work with old and buggy perl version #use strict; #use diagnostics; # include some perl packages; these come with the standard distribution use Getopt::Long; use Fcntl; use AnyDBM_File; # The following are global variables that also appear in some modules use vars qw($LATEX2HTMLDIR $LATEX2HTMLPLATDIR $SCRIPT %Month %used_icons $inside_tabbing $TABLE_attribs %mathentities $date_name $outer_math $TABLE__CELLPADDING_rx); #- NOTE: This file contains a sort of preprocessor information, similar #- to C's #define statement, so please be careful when removing comments! #- #- The (texlive) wrapper sets these values #- or it is stored in the enviroment #- #unless @wrapper@ || @texlive@ BEGIN { # print "scanning for l2hdir\n"; if($ENV{'LATEX2HTMLDIR'}) { $LATEX2HTMLDIR = $ENV{'LATEX2HTMLDIR'}; } else { $ENV{'LATEX2HTMLDIR'} = $LATEX2HTMLDIR = '@LATEX2HTMLDIR@'; } if($ENV{'LATEX2HTMLPLATDIR'}) { $LATEX2HTMLPLATDIR = $ENV{'LATEX2HTMLPLATDIR'}; } else { $LATEX2HTMLPLATDIR = '@LATEX2HTMLPLATDIR@'||$LATEX2HTMLDIR; $ENV{'LATEX2HTMLPLATDIR'} = $LATEX2HTMLPLATDIR; } if(-d $LATEX2HTMLPLATDIR) { push(@INC,$LATEX2HTMLPLATDIR); } if(-d $LATEX2HTMLDIR) { push(@INC,$LATEX2HTMLDIR); } else { die qq{Fatal: Directory "$LATEX2HTMLDIR" does not exist.\n}; } } #fi use L2hos; # Operating system dependent routines # $^W = 1; # turn on warnings my $RELEASE = '@distver@'; my ($REVISION) = q$Revision: 1.67 $ =~ /:\s*(\S+)/; # The key, which delimts expressions defined in the environment # depends on the operating system. $envkey = L2hos->pathd(); # $dd is the directory delimiter character $dd = L2hos->dd(); # make sure the $LATEX2HTMLDIR is on the search-path for forked processes if($ENV{'PERL5LIB'}) { $ENV{'PERL5LIB'} .= "$envkey$LATEX2HTMLDIR" unless($ENV{'PERL5LIB'} =~ m|\Q$LATEX2HTMLDIR\E|o); } else { $ENV{'PERL5LIB'} = $LATEX2HTMLDIR; } # Local configuration, read at runtime # Read the $CONFIG_FILE (usually l2hconf.pm ) if($ENV{'L2HCONFIG'}) { require $ENV{'L2HCONFIG'} || die "Fatal (require $ENV{'L2HCONFIG'}): $!"; } else { eval 'use l2hconf'; if($@) { die "Fatal (use l2hconf): $@\n"; } } # MRO: Changed this to global value in config/config.pl # change these whenever you do a patch to this program and then # name the resulting patch file accordingly # $TVERSION = "@distver@"; #$TPATCHLEVEL = " beta"; #$TPATCHLEVEL = " release"; #$RELDATE = "(March 30, 1999)"; #$TEX2HTMLV_SHORT = $TVERSION . $TPATCHLEVEL; $TEX2HTMLV_SHORT = $RELEASE; $TEX2HTMLVERSION = "$TEX2HTMLV_SHORT ($REVISION)"; $TEX2HTMLADDRESS = "http://www.latex2html.org/"; $AUTHORADDRESS = "http://cbl.leeds.ac.uk/nikos/personal.html"; #$AUTHORADDRESS2 = "http://www-math.mpce.mq.edu.au/%7Eross/"; $AUTHORADDRESS2 = "http://www.maths.mq.edu.au/~ross/"; # Set $HOME to what the system considers the home directory $HOME = L2hos->home(); push(@INC,$HOME); # flush stdout with every print -- gives better feedback during # long computations $| = 1; # set Perl's subscript separator to LaTeX's illegal character. # (quite defensive but why not) $; = "\000"; # No arguments!! unless(@ARGV) { die "Error: No files to process!\n"; } # Image prefix #if @texlive@ $IMAGE_PREFIX = L2hos->plat() eq 'dos' ? 'ps' : '_image'; #else #if @plat@ eq 'dos' $IMAGE_PREFIX = 'ps'; #else $IMAGE_PREFIX = '_image'; #fi #fi - texlive # Partition prefix $PARTITION_PREFIX = 'part_' unless $PARTITION_PREFIX; # Author address @address_data = &address_data('ISO'); $ADDRESS = "$address_data[0]\n$address_data[1]"; # ensure non-zero defaults $MAX_SPLIT_DEPTH = 4 unless ($MAX_SPLIT_DEPTH); $MAX_LINK_DEPTH = 4 unless ($MAX_LINK_DEPTH); $TOC_DEPTH = 4 unless ($TOC_DEPTH); # A global value may already be set in the $CONFIG_FILE $INIT_FILE_NAME = $ENV{'L2HINIT_NAME'} || '.latex2html-init' unless $INIT_FILE_NAME; # Read the $HOME/$INIT_FILE_NAME if one is found if (-f "$HOME$dd$INIT_FILE_NAME" && -r _) { print "Note: Loading $HOME$dd$INIT_FILE_NAME\n"; require("$HOME$dd$INIT_FILE_NAME"); $INIT_FILE = "$HOME$dd$INIT_FILE_NAME"; # _MRO_TODO_: Introduce a version to be checked? die "Error: You have an out-of-date " . $HOME . "$dd$INIT_FILE_NAME file.\nPlease update or delete it.\n" if ($DESTDIR eq '.'); } # Read the $INIT_FILE_NAME file if one is found in current directory if ( L2hos->Cwd() ne $HOME && -f ".$dd$INIT_FILE_NAME" && -r _) { print "Note: Loading .$dd$INIT_FILE_NAME\n"; require(".$dd$INIT_FILE_NAME"); $INIT_FILE = "$INIT_FILE_NAME"; } die "Error: '.' is an incorrect setting for DESTDIR.\n" . "Please check your $INIT_FILE_NAME file.\n" if ($DESTDIR eq '.'); # User home substitutions $LATEX2HTMLSTYLES =~ s/~([$dd$dd$envkey]|$)/$HOME$1/go; # the next line fails utterly on non-UNIX systems $LATEX2HTMLSTYLES =~ s/~([^$dd$dd$envkey]+)/L2hos->home($1)/geo; #absolutise the paths $LATEX2HTMLSTYLES = join($envkey, map(L2hos->Make_directory_absolute($_), split(/$envkey/o, $LATEX2HTMLSTYLES))); #HWS: That was the last reference to HOME. Now set HOME to $LATEX2HTMLDIR, # to enable dvips to see that version of .dvipsrc! But only if we # have DVIPS_MODE not set - yes - this is a horrible nasty kludge # MRO: The file has to be updated by configure _MRO_TODO_ if ($PK_GENERATION && ! $DVIPS_MODE) { $ENV{HOME} = $LATEX2HTMLDIR; delete $ENV{PRINTER}; # Overrides .dvipsrc } # language of the DTD specified in the <DOCTYPE...> tag $ISO_LANGUAGE = 'EN' unless $ISO_LANGUAGE; # Save the command line arguments, quote where necessary $argv = join(' ', map {/[\s#*!\$%]/ ? "'$_'" : $_ } @ARGV); # Pre-process the command line for backward compatibility foreach(@ARGV) { s/^--?no_/-no/; # replace e.g. no_fork by nofork # s/^[+](\d+)$/$1/; # remove + in front of integers } # Process command line options my %opt; unless(GetOptions(\%opt, # all non-linked options go into %opt # option linkage (optional) 'help|h', 'version|V', 'split=s', 'link=s', 'toc_depth=i', \$TOC_DEPTH, 'toc_stars!', \$TOC_STARS, 'short_extn!', \$SHORTEXTN, 'iso_language=s', \$ISO_LANGUAGE, 'validate!', \$HTML_VALIDATE, 'latex!', 'djgpp!', \$DJGPP, 'fork!', \$CAN_FORK, 'external_images!', \$EXTERNAL_IMAGES, 'ascii_mode!', \$ASCII_MODE, 'lcase_tags!', \$LOWER_CASE_TAGS, 'ps_images!', \$PS_IMAGES, 'font_size=s', \$FONT_SIZE, 'tex_defs!', \$TEXDEFS, 'navigation!', 'top_navigation!', \$TOP_NAVIGATION, 'bottom_navigation!', \$BOTTOM_NAVIGATION, 'auto_navigation!', \$AUTO_NAVIGATION, 'index_in_navigation!', \$INDEX_IN_NAVIGATION, 'contents_in_navigation!', \$CONTENTS_IN_NAVIGATION, 'next_page_in_navigation!', \$NEXT_PAGE_IN_NAVIGATION, 'previous_page_in_navigation!', \$PREVIOUS_PAGE_IN_NAVIGATION, 'footnode!', 'numbered_footnotes!', \$NUMBERED_FOOTNOTES, 'prefix=s', \$PREFIX, 'auto_prefix!', \$AUTO_PREFIX, 'long_titles=i', \$LONG_TITLES, 'custom_titles!', \$CUSTOM_TITLES, 'title|t=s', \$TITLE, 'rooted!', \$ROOTED, 'rootdir=s', 'dir=s', \$FIXEDDIR, 'mkdir', \$MKDIR, 'address=s', \$ADDRESS, 'noaddress', 'subdir!', 'info=s', \$INFO, 'noinfo', 'auto_link!', 'reuse=i', \$REUSE, 'noreuse', 'antialias_text!', \$ANTI_ALIAS_TEXT, 'antialias!', \$ANTI_ALIAS, 'transparent!', \$TRANSPARENT_FIGURES, 'white!', \$WHITE_BACKGROUND, 'discard!', \$DISCARD_PS, 'image_type=s', \$IMAGE_TYPE, 'images!', 'accent_images=s', \$ACCENT_IMAGES, 'noaccent_images', 'style=s', \$STYLESHEET, 'parbox_images!', 'math!', 'math_parsing!', 'latin!', 'entities!', \$USE_ENTITY_NAMES, 'local_icons!', \$LOCAL_ICONS, 'scalable_fonts!', \$SCALABLE_FONTS, 'images_only!', \$IMAGES_ONLY, 'show_section_numbers!',\$SHOW_SECTION_NUMBERS, 'show_init!', \$SHOW_INIT_FILE, 'init_file=s', \$INIT_FILE, 'up_url=s', \$EXTERNAL_UP_LINK, 'up_title=s', \$EXTERNAL_UP_TITLE, 'down_url=s', \$EXTERNAL_DOWN_LINK, 'down_title=s', \$EXTERNAL_DOWN_TITLE, 'prev_url=s', \$EXTERNAL_PREV_LINK, 'prev_title=s', \$EXTERNAL_PREV_TITLE, 'index=s', \$EXTERNAL_INDEX, 'biblio=s', \$EXTERNAL_BIBLIO, 'contents=s', \$EXTERNAL_CONTENTS, 'external_file=s', \$EXTERNAL_FILE, 'short_index!', \$SHORT_INDEX, 'unsegment!', \$UNSEGMENT, 'debug!', \$DEBUG, 'tmp=s', \$TMP, 'ldump!', \$LATEX_DUMP, 'timing!', \$TIMING, 'verbosity=i', \$VERBOSITY, 'html_version=s', \$HTML_VERSION, 'strict!', \$STRICT_HTML, 'xbit!', \$XBIT_HACK, 'ssi!', \$ALLOW_SSI, 'php!', \$ALLOW_PHP, 'test_mode!' # undocumented switch )) { &usage(); exit 1; } # interpret options, check option consistency if(defined $opt{'split'}) { if ($opt{'split'} =~ /^(\+?)(\d+)$/) { $MAX_SPLIT_DEPTH = $2; if ($1) { $MAX_SPLIT_DEPTH *= -1; $REL_DEPTH = 1; } } else { &usage; die "Error: Unrecognised value for -split: $opt{'split'}\n"; } } if(defined $opt{'link'}) { if ($opt{'link'} =~ /^(\+?)(\d+)$/) { $MAX_LINK_DEPTH = $2; if ($1) { $MAX_LINK_DEPTH *= -1 } } else { &usage; die "Error: Unrecognised value for -link: $opt{'link'}\n"; } } unless ($ISO_LANGUAGE =~ /^[A-Z.]+$/) { die "Error: Language (-iso_language) must be uppercase and dots only: $ISO_LANGUAGE\n"; } if ($HTML_VALIDATE && !$HTML_VALIDATOR) { die "Error: Need a HTML_VALIDATOR when -validate is specified.\n"; } &set_if_false($NOLATEX,$opt{latex}); # negate the option... if ($ASCII_MODE || $PS_IMAGES) { $EXTERNAL_IMAGES = 1; } if ($FONT_SIZE && $FONT_SIZE !~ /^\d+pt$/) { die "Error: Font size (-font_size) must end with 'pt': $FONT_SIZE\n" } &set_if_false($NO_NAVIGATION,$opt{navigation}); &set_if_false($NO_FOOTNODE,$opt{footnode}); if (defined $TITLE && !length($TITLE)) { die "Error: Empty title (-title).\n"; } if ($opt{rootdir}) { $ROOTED = 1; $FIXEDDIR = $opt{rootdir}; } if ($FIXEDDIR && !-d $FIXEDDIR) { if ($MKDIR) { print "\n *** creating directory: $FIXEDDIR "; die "Failed: $!\n" unless (mkdir($FIXEDDIR, 0755)); # _TODO_ use File::Path to create a series of directories } else { &usage; die "Error: Specified directory (-rootdir, -dir) does not exist.\n"; } } &set_if_false($NO_SUBDIR, $opt{subdir}); &set_if_false($NO_AUTO_LINK, $opt{auto_link}); if ($opt{noreuse}) { $REUSE = 0; } unless(grep(/^\Q$IMAGE_TYPE\E$/o, @IMAGE_TYPES)) { die <<"EOF"; Error: No such image type '$IMAGE_TYPE'. This installation supports (first is default): @IMAGE_TYPES EOF } &set_if_false($NO_IMAGES, $opt{images}); if ($opt{noaccent_images}) { $ACCENT_IMAGES = ''; } if($opt{noaddress}) { $ADDRESS = ''; } if($opt{noinfo}) { $INFO = 0; } if($ACCENT_IMAGES && $ACCENT_IMAGES !~ /^[a-zA-Z,]+$/) { die "Error: Single word or comma-list of style words needed for -accent_images, not: $_\n"; } &set_if_false($NO_PARBOX_IMAGES, $opt{parbox_images}); &set_if_false($NO_SIMPLE_MATH, $opt{math}); if (defined $opt{math_parsing}) { $NO_MATH_PARSING = !$opt{math_parsing}; $NO_SIMPLE_MATH = !$opt{math_parsing} unless(defined $opt{math}); } &set_if_false($NO_ISOLATIN, $opt{latin}); if ($INIT_FILE) { if (-f $INIT_FILE && -r _) { print "Note: Initialising with file: $INIT_FILE\n" if ($DEBUG || $VERBOSITY); require($INIT_FILE); } else { die "Error: Could not find file (-init_file): $INIT_FILE\n"; } } foreach($EXTERNAL_UP_LINK, $EXTERNAL_DOWN_LINK, $EXTERNAL_PREV_LINK, $EXTERNAL_INDEX, $EXTERNAL_BIBLIO, $EXTERNAL_CONTENTS) { $_ ||= ''; # initialize s/~/~/g; # protect `~' } if($TMP && !(-d $TMP && -w _)) { die "Error: '$TMP' not usable as temporary directory.\n"; } if ($opt{help}) { L2hos->perldoc($SCRIPT); exit 0; } if ($opt{version}) { &banner(); exit 0; } if ($opt{test_mode}) { $TITLE = 'LaTeX2HTML Test Document'; $TEXEXPAND = "$PERL @srcdir@${dd}texexpand@scriptext@"; $PSTOIMG = "$PERL @srcdir@${dd}pstoimg@scriptext@"; $ICONSERVER = L2hos->path2URL("@srcdir@${dd}icons"); $TEST_MODE = 1; $RGBCOLORFILE = "@srcdir@${dd}styles${dd}rgb.txt"; $CRAYOLAFILE = "@srcdir@${dd}styles${dd}crayola.txt"; } if($DEBUG) { # make the OS-dependent functions more chatty, too $L2hos::Verbose = 1; } undef %opt; # not needed any more #unless @have_images@ print "Warning: This system does not support generation of images\n" unless($NO_IMAGES); $NO_IMAGES = 1; #fi $FIXEDDIR = $FIXEDDIR || $DESTDIR || ''; # for backward compatibility if ($EXTERNAL_UP_TITLE xor $EXTERNAL_UP_LINK) { warn "Warning (-up_url, -up_title): Need to specify both a parent URL and a parent title!\n"; $EXTERNAL_UP_TITLE = $EXTERNAL_UP_LINK = ""; } if ($EXTERNAL_DOWN_TITLE xor $EXTERNAL_DOWN_LINK) { warn "Warning (-down_url, -down_title): Need to specify both a parent URL and a parent title!\n"; $EXTERNAL_DOWN_TITLE = $EXTERNAL_DOWN_LINK = ""; } # $NO_NAVIGATION = 1 unless $MAX_SPLIT_DEPTH; # Martin Wilck if ($MAX_SPLIT_DEPTH && $MAX_SPLIT_DEPTH < 0) { $MAX_SPLIT_DEPTH *= -1; $REL_DEPTH = 1; } if ($MAX_LINK_DEPTH && $MAX_LINK_DEPTH < 0) { $MAX_LINK_DEPTH *= -1; $LEAF_LINKS = 1; } $FOOT_FILENAME = 'footnode' unless ($FOOT_FILENAME); $NO_FOOTNODE = 1 unless ($MAX_SPLIT_DEPTH || $NO_FOOTNODE); $NO_SPLIT = 1 unless $MAX_SPLIT_DEPTH; # _MRO_TODO_: is this needed at all? $SEGMENT = $SEGMENTED = 0; $NO_MATH_MARKUP = 1; # specify the filename extension to use with the generated HTML files if ($SHORTEXTN) { $EXTN = ".htm"; } # for HTML files on CDROM elsif ($ALLOW_PHP) { $EXTN = ".php"; } # has PHP dynamic includes # with server-side includes (SSI) : elsif ($ALLOW_SSI && !$XBIT_HACK) { $EXTN = ".shtml"; } # ordinary names, valid also for SSI with XBit hack : else { $EXTN = ".html"; } $NODE_NAME = 'node' unless (defined $NODE_NAME); # space for temporary files # different to the $TMPDIR for image-generation # MRO: No directory should end with $dd! $TMP_ = "TMP"; $TMP_PREFIX = "l2h" unless ($TMP_PREFIX); # This can be set to 1 when using a version of dvips that is safe # from the "dot-in-name" bug. # _TODO_ this should be determined by configure #$DVIPS_SAFE = 1; $CHARSET = $charset || 'iso-8859-1'; #################################################################### # # If possible, use icons of the same type as generated images # if ($IMAGE_TYPE && defined %{"icons_$IMAGE_TYPE"}) { %icons = %{"icons_$IMAGE_TYPE"}; } #################################################################### # # Figure out what options we need to pass to DVIPS and store that in # the $DVIPSOPT variable. Also, scaling is taken care of at the # dvips level if PK_GENERATION is set to 1, so adjust SCALE_FACTORs # accordingly. # if ($SCALABLE_FONTS) { $PK_GENERATION = 0; $DVIPS_MODE = ''; } if ($PK_GENERATION) { if ($MATH_SCALE_FACTOR <= 0) { $MATH_SCALE_FACTOR = 2; } if ($FIGURE_SCALE_FACTOR <= 0) { $FIGURE_SCALE_FACTOR = 2; } my $saveMSF = $MATH_SCALE_FACTOR; my $saveFSF = $FIGURE_SCALE_FACTOR; my $desired_dpi = int($MATH_SCALE_FACTOR*75); $FIGURE_SCALE_FACTOR = ($METAFONT_DPI / 72) * ($FIGURE_SCALE_FACTOR / $MATH_SCALE_FACTOR) ; $MATH_SCALE_FACTOR = $METAFONT_DPI / 72; $dvi_mag = int(1000 * $desired_dpi / $METAFONT_DPI); if ($dvi_mag > 1000) { &write_warnings( "WARNING: Your SCALE FACTOR is too large for PK_GENERATION.\n" . " See $CONFIG_FILE for more information.\n"); } # RRM: over-sized scaling, using dvi-magnification if ($EXTRA_IMAGE_SCALE) { print "\n *** Images at $EXTRA_IMAGE_SCALE times resolution of displayed size ***\n"; $desired_dpi = int($EXTRA_IMAGE_SCALE * $desired_dpi+.5); print " desired_dpi = $desired_dpi METAFONT_DPI = $METAFONT_DPI\n" if $DEBUG; $dvi_mag = int(1000 * $desired_dpi / $METAFONT_DPI); $MATH_SCALE_FACTOR = $saveMSF; $FIGURE_SCALE_FACTOR = $saveFSF; } # no space after "-y", "-D", "-e" --- required by DVIPS under DOS ! my $mode_switch = "-mode $DVIPS_MODE" if $DVIPS_MODE; $DVIPSOPT .= " -y$dvi_mag -D$METAFONT_DPI $mode_switch -e5 "; } else { # no PK_GENERATION # if ($EXTRA_IMAGE_SCALE) { # &write_warnings( # "the \$EXTRA_IMAGE_SCALE feature requires either \$PK_GENERATION=1" # . " or the '-scalable_fonts' option"); # $EXTRA_IMAGE_SCALE = ''; # } # MRO: shifted to l2hconf #$DVIPSOPT .= ' -M'; } # end PK_GENERATION # The mapping from numbers to accents. # These are required to process the \accent command, which is found in # tables of contents whenever there is an accented character in a # caption or section title. Processing the \accent command makes # $encoded_*_number work properly (see &extract_captions) with # captions that contain accented characters. # I got the numbers from the plain.tex file, version 3.141. # Missing entries should be looked up by a native speaker. # Have a look at generate_accent_commands and $iso_8859_1_character_map. # MEH: added more accent types # MRO: only uppercase needed! %accent_type = ( '18' => 'grave', # \` '19' => 'acute', # `' '20' => 'caron', # \v '21' => 'breve', # \u '22' => 'macr', # \= '23' => 'ring', # '24' => 'cedil', # \c '94' => 'circ', # \^ '95' => 'dot', # \. '7D' => 'dblac', # \H '7E' => 'tilde', # \~ '7F' => 'uml', # \" ); &driver; exit 0; # clean exit, no errors ############################ Subroutines ################################## #check that $TMP is writable, if so create a subdirectory sub make_tmp_dir { &close_dbm_database if $DJGPP; # to save file-handles #if @texlive@ $TMP = "$DESTDIR$dd$TMP_"; unless(-d $TMP) { mkdir($TMP,0755); } #fi # determine a suitable temporary path # $TMPDIR = ''; my @tmp_try = (); push(@tmp_try, $TMP) if($TMP); push(@tmp_try, "$DESTDIR$dd$TMP_") if($TMP_); push(@tmp_try, $DESTDIR) if($DESTDIR); push(@tmp_try, L2hos->Cwd()); my $try; TempTry: foreach $try (@tmp_try) { next unless(-d $try && -w _); my $tmp = "$try$dd$TMP_PREFIX$$"; if(mkdir($tmp,0755)) { $TMPDIR=$tmp; last TempTry; } else { warn "Warning: Cannot create temporary directory '$tmp': $!\n"; } } $dvips_warning = <<"EOF"; Warning: There is a '.' in \$TMPDIR, $DVIPS will probably fail. Set \$TMP to use a /tmp directory, or rename the working directory. EOF die ($dvips_warning . "\n\$TMPDIR=$TMPDIR ***\n\n") if ($TMPDIR =~ /\./ && $DVIPS =~ /dvips/ && !$DVIPS_SAFE); &open_dbm_database if $DJGPP; } # MRO: set first parameter to the opposite of the second if second parameter is defined sub set_if_false { $_[0] = !$_[1] if(defined $_[1]); } sub check_for_dots { local($file) = @_; if ($file =~ /\.[^.]*\./) { die "\n\n\n *** Fatal Error --- but easy to fix ***\n" . "\nCannot have '.' in file-name prefix, else dvips fails on images" . "\nChange the name from $file and try again.\n\n"; } } # Process each file ... sub driver { local($FILE, $orig_cwd, %unknown_commands, %dependent, %depends_on , %styleID, %env_style, $bbl_cnt, $dbg, %numbered_section); # MRO: $texfilepath has to be global! local(%styles_loaded); $orig_cwd = L2hos->Cwd(); print "\n *** initialise *** " if ($VERBOSITY > 1); &initialise; # Initialise some global variables print "\n *** check modes *** " if ($VERBOSITY > 1); &ascii_mode if $ASCII_MODE; # Must come after initialization &titles_language($TITLES_LANGUAGE); &make_numbered_footnotes if ($NUMBERED_FOOTNOTES); $dbg = $DEBUG ? "-debug" : ""; $dbg .= (($VERBOSITY>2) ? " -verbose" : ""); #use the same hashes for all files in a batch local(%cached_env_img, %id_map, %symbolic_labels, %latex_labels) if ($FIXEDDIR && $NO_SUBDIR); local($MULTIPLE_FILES,$THIS_FILE); $MULTIPLE_FILES = 1+$#ARGV if $ROOTED; print "\n *** $MULTIPLE_FILES file".($MULTIPLE_FILES ? 's: ' : ': ') . join(',',@ARGV) . " *** " if ($VERBOSITY > 1); local(%section_info, %toc_section_info, %cite_info, %ref_files); foreach $FILE (@ARGV) { &check_for_dots($FILE) unless $DVIPS_SAFE; ++$THIS_FILE if $MULTIPLE_FILES; do { %section_info = (); %toc_section_info = (); %cite_info = (); %ref_files = (); } unless $MULTIPLE_FILES; local($bbl_nr) = 1; # The number of reused images and those in images.tex local($global_page_num) = (0) unless($FIXEDDIR && $NO_SUBDIR); # The number of images in images.tex local($new_page_num) = (0); # unless($FIXEDDIR && $NO_SUBDIR); local($pid, $sections_rx, , $outermost_level, %latex_body, $latex_body , %encoded_section_number , %verbatim, %new_command, %new_environment , %provide_command, %renew_command, %new_theorem , $preamble, $aux_preamble, $prelatex, @preamble); # must retain these when all files are in the same directory # else the images.pl and labels.pl files get clobbered unless ($FIXEDDIR && $NO_SUBDIR) { print "\nResetting image-cache" if ($#ARGV); local(%cached_env_img, %id_map, %symbolic_labels, %latex_labels) } ## AYS: Allow extension other than .tex and make it optional ($EXT = $FILE) =~ s/.*\.([^\.]*)$/$1/; if ( $EXT eq $FILE ) { $EXT = "tex"; $FILE =~ s/$/.tex/; } #RRM: allow user-customisation, dependent on file-name # e.g. add directories to $TEXINPUTS named for the file # --- idea due to Fred Drake <fdrake@cnri.reston.va.us> &custom_driver_hook($FILE) if (defined &custom_driver_hook); # JCL(jcl-dir) # We need absolute paths for TEXINPUTS here, because # we change the directory if ($orig_cwd eq $texfilepath) { &deal_with_texinputs($orig_cwd); } else { &deal_with_texinputs($orig_cwd, $texfilepath); } ($texfilepath, $FILE) = &get_full_path($FILE); $texfilepath = '.' unless($texfilepath); die "Cannot read $texfilepath$dd$FILE \n" unless (-f "$texfilepath$dd$FILE"); # Tell texexpand which files we *don't* want to look at. $ENV{'TEXE_DONT_INCLUDE'} = $DONT_INCLUDE if $DONT_INCLUDE; # Tell texexpand which files we *do* want to look at, e.g. # home-brew style files $ENV{'TEXE_DO_INCLUDE'} = $DO_INCLUDE if $DO_INCLUDE; $FILE =~ s/\.[^\.]*$//; ## AYS $DESTDIR = ''; # start at empty if ($FIXEDDIR) { $DESTDIR = $FIXEDDIR unless ($FIXEDDIR eq '.'); if (($ROOTED)&&!($texfilepath eq $orig_cwd)) { $DESTDIR .= $dd . $FILE unless $NO_SUBDIR; }; } elsif ($texfilepath eq $orig_cwd) { $DESTDIR = ($NO_SUBDIR ? '.' : $FILE); } else { $DESTDIR = $ROOTED ? '.' : $texfilepath; $DESTDIR .= $dd . $FILE unless $NO_SUBDIR; } $PREFIX = "$FILE-" if $AUTO_PREFIX; print "\nOPENING $texfilepath$dd$FILE.$EXT \n"; ## AYS next unless (&new_dir($DESTDIR,'')); # establish absolute path to $DESTDIR $DESTDIR = L2hos->Make_directory_absolute($DESTDIR); &make_tmp_dir; print "\nNote: Working directory is $DESTDIR\n"; print "Note: Images will be generated in $TMPDIR\n\n"; # Need to clean up a bit in case there's garbage left # from former runs. if ($DESTDIR) { chdir($DESTDIR) || die "$!\n"; } if (opendir (TMP,$TMP_)) { foreach (readdir TMP) { L2hos->Unlink("TMP_$dd$_") unless (/^\.\.?$/); } closedir TMP; } &cleanup(1); unless(-d $TMP_) { mkdir($TMP_, 0755) || die "Cannot create directory '$TMP_': $!\n"; } chdir($orig_cwd); # RRM 14/5/98 moved this to occur earlier ## JCL(jcl-dir) ## We need absolute paths for TEXINPUTS here, because ## we change the directory # if ($orig_cwd eq $texfilepath) { # &deal_with_texinputs($orig_cwd); # } else { # &deal_with_texinputs($orig_cwd, $texfilepath); # } # This needs $DESTDIR to have been created ... print " *** calling `texexpand' ***" if ($VERBOSITY > 1); local($unseg) = ($UNSEGMENT ? "-unsegment " : ""); # does DOS need to check these here ? # die "File $TEXEXPAND does not exist or is not executable\n" # unless (-x $TEXEXPAND); L2hos->syswait("$TEXEXPAND $dbg -auto_exclude $unseg" . "-save_styles $DESTDIR$dd$TMP_${dd}styles " . ($TEXINPUTS ? "-texinputs $TEXINPUTS " : '' ) . (($VERBOSITY >2) ? "-verbose " : '' ) . "-out $DESTDIR$dd$TMP_$dd$FILE " . "$texfilepath$dd$FILE.$EXT") && die " texexpand failed: $!\n"; print STDOUT "\n *** `texexpand' done ***\n" if ($VERBOSITY > 1); chdir($DESTDIR) if $DESTDIR; $SIG{'INT'} = 'handler'; &open_dbm_database; &initialise_sections; print STDOUT "\n *** database open ***\n" if ($VERBOSITY > 1); if ($IMAGES_ONLY) { &make_off_line_images; } else { &rename_image_files; &load_style_file_translations; &make_language_rx; &make_raw_arg_cmd_rx; # &make_isolatin1_rx unless ($NO_ISOLATIN); &translate_titles; &make_sections_rx; print "\nReading ..."; if ($SHORT_FILENAME) { L2hos->Rename ("$TMP_$dd$FILE" ,"$TMP_$dd$SHORT_FILENAME" ); &slurp_input_and_partition_and_pre_process( "$TMP_$dd$SHORT_FILENAME"); } else { &slurp_input_and_partition_and_pre_process("$TMP_$dd$FILE"); } &add_preamble_head; # Create a regular expressions &set_depth_levels; &make_sections_rx; &make_order_sensitive_rx; &add_document_info_page if ($INFO && !(/\\htmlinfo/)); &add_bbl_and_idx_dummy_commands; &translate; # Destructive! } &style_sheet; &close_dbm_database; &cleanup(); #JCL: read warnings from file to $warnings local($warnings) = &get_warnings; print "\n\n*********** WARNINGS *********** \n$warnings" if ($warnings || $NO_IMAGES || $IMAGES_ONLY); &image_cache_message if ($NO_IMAGES || $IMAGES_ONLY); &image_message if ($warnings =~ /Failed to convert/io); undef $warnings; # JCL - generate directory index entry. # Yet, a hard link, cause Perl lacks symlink() on some systems. do { local($EXTN) = $EXTN; $EXTN =~ s/_\w+(\.html?)/$1/ if ($frame_main_name); local($from,$to) = (eval($LINKPOINT),eval($LINKNAME)); if (length($from) && length($to) && ($from ne $to)) { #frames may have altered $EXTN $from =~ s/$frame_main_name(\.html?)/$1/ if ($frame_main_name); $to =~ s/$frame_main_name(\.html?)/$1/ if ($frame_main_name); L2hos->Unlink($to); L2hos->Link($from,$to); } } unless ($NO_AUTO_LINK || !($LINKPOINT) || !($LINKNAME)); &html_validate if ($HTML_VALIDATE && $HTML_VALIDATOR); # Go back to the source directory chdir($orig_cwd); $TEST_MODE = $DESTDIR if($TEST_MODE); # save path $DESTDIR = ''; $OUT_NODE = 0 unless $FIXEDDIR; $STYLESHEET = '' if ($STYLESHEET =~ /^\Q$FILE./); } print "\nUnknown commands: ". join(" ",keys %unknown_commands) if %unknown_commands; ###MEH -- math support print "\nMath commands outside math: " . join(" ",keys %commands_outside_math) . "\n Output may look weird or may be faulty!\n" if %commands_outside_math; print "\nDone.\n"; if($TEST_MODE) { $TEST_MODE =~ s:[$dd$dd]+$::; print "\nTo view the results, point your browser at:\n", L2hos->path2URL(L2hos->Make_directory_absolute($TEST_MODE).$dd. "index$EXTN"),"\n"; } $end_time = time; $total_time = $end_time - $start_time; print STDOUT join(' ',"Timing:",$total_time,"seconds\n") if ($TIMING||$DEBUG||($VERBOSITY > 2)); $_; } sub open_dbm_database { # These are DBM (unix DataBase Management) arrays which are actually # stored in external files. They are used for communication between # the main process and forked child processes; print STDOUT "\n"; # this mysteriously prevents a core dump ! dbmopen(%verb, "$TMP_${dd}verb",0755); # dbmopen(%verbatim, "$TMP_${dd}verbatim",0755); dbmopen(%verb_delim, "$TMP_${dd}verb_delim",0755); dbmopen(%expanded,"$TMP_${dd}expanded",0755); # Holds max_id, verb_counter, verbatim_counter, eqn_number dbmopen(%global, "$TMP_${dd}global",0755); # Hold style sheet information dbmopen(%env_style, "$TMP_${dd}envstyles",0755); dbmopen(%txt_style, "$TMP_${dd}txtstyles",0755); dbmopen(%styleID, "$TMP_${dd}styleIDs",0755); # These next two are used during off-line image conversion # %new_id_map maps image id's to page_numbers of the images in images.tex # %image_params maps image_ids to conversion parameters for that image dbmopen(%new_id_map, "$TMP_${dd}ID_MAP",0755); dbmopen(%img_params, "$TMP_${dd}IMG_PARAMS",0755); dbmopen(%orig_name_map, "$TMP_${dd}ORIG_MAP",0755); $global{'max_id'} = ($global{'max_id'} | 0); &read_mydb(\%verbatim, "verbatim"); $global{'verb_counter'} = ($global{'verb_counter'} | 0); $global{'verbatim_counter'} = ($global{'verbatim_counter'} | 0); &read_mydb(\%new_command, "new_command"); &read_mydb(\%renew_command, "renew_command"); &read_mydb(\%provide_command, "provide_command"); &read_mydb(\%new_theorem, "new_theorem"); &read_mydb(\%new_environment, "new_environment"); &read_mydb(\%dependent, "dependent"); # &read_mydb(\%env_style, "env_style"); # &read_mydb(\%styleID, "styleID"); # MRO: Why should we use read_mydb instead of catfile? $preamble = &catfile(&_dbname("preamble"),1) || ''; $prelatex = &catfile(&_dbname("prelatex"),1) || ''; $aux_preamble = &catfile(&_dbname("aux_preamble"),1) || ''; &restore_critical_variables; } sub close_dbm_database { &save_critical_variables; dbmclose(%verb); undef %verb; # dbmclose(%verbatim); undef %verbatim; dbmclose(%verb_delim); undef %verb_delim; dbmclose(%expanded); undef %expanded; dbmclose(%global); undef %global; dbmclose(%env_style); undef %env_style; dbmclose(%style_id); undef %style_id; dbmclose(%new_id_map); undef %new_id_map; dbmclose(%img_params); undef %img_params; dbmclose(%orig_name_map); undef %orig_name_map; dbmclose(%txt_style); undef %txt_style; dbmclose(%styleID); undef %styleID; } sub clear_images_dbm_database { # <Added calls to dbmclose dprhws> # %new_id_map will be used by the off-line image conversion process # dbmclose(%new_id_map); dbmclose(%img_params); dbmclose(%orig_name_map); undef %new_id_map; undef %img_params; undef %orig_name_map; dbmopen(%new_id_map, "$TMP_${dd}ID_MAP",0755); dbmopen(%img_params, "$TMP_${dd}IMG_PARAMS",0755); dbmopen(%orig_name_map, "$TMP_${dd}ORIG_MAP",0755); } sub initialise_sections { local($key); foreach $key (keys %numbered_section) { $global{$key} = $numbered_section{$key}} } sub save_critical_variables { $global{'math_markup'} = $NO_MATH_MARKUP; $global{'charset'} = $CHARSET; $global{'charenc'} = $charset; $global{'language'} = $default_language; $global{'isolatin'} = $ISOLATIN_CHARS; $global{'unicode'} = $UNICODE_CHARS; if ($UNFINISHED_ENV) { $global{'unfinished_env'} = $UNFINISHED_ENV; $global{'replace_end_env'} = $REPLACE_END_ENV; } $global{'unfinished_comment'} = $UNFINISHED_COMMENT; if (@UNMATCHED_OPENING) { $global{'unmatched'} = join(',',@UNMATCHED_OPENING); } } sub restore_critical_variables { $NO_MATH_MARKUP = ($global{'math_markup'}| (defined $NO_MATH_MARKUP ? $NO_MATH_MARKUP:1)); $CHARSET = ($global{'charset'}| $CHARSET); $charset = ($global{'charenc'}| $charset); $default_language = ($global{'language'}| (defined $default_language ? $default_language:'english')); $ISOLATIN_CHARS = ($global{'isolatin'}| (defined $ISOLATIN_CHARS ? $ISOLATIN_CHARS:0)); $UNICODE_CHARS = ($global{'unicode'}| (defined $UNICODE_CHARS ? $UNICODE_CHARS:0)); if ($global{'unfinished_env'}) { $UNFINISHED_ENV = $global{'unfinished_env'}; $REPLACE_END_ENV = $global{'replace_end_env'}; } $UNFINISHED_COMMENT = $global{'unfinished_comment'}; if ($global{'unmatched'}) { @UNMATCHED_OPENING = split(',',$global{'unmatched'}); } # undef any renewed-commands... # so the new defs are read from %new_command local($cmd,$key,$code); foreach $key (keys %renew_command) { $cmd = "do_cmd_$key"; $code = "undef \&$cmd"; eval($code) if (defined &$cmd); if ($@) { print "\nundef \&do_cmd_$cmd failed"} } } #JCL: The warnings should have been handled within the DBM database. # Unfortunately if the contents of an array are more than ~900 (system # dependent) chars long then dbm cannot handle it and gives error messages. sub write_warnings { #clean my ($str) = @_; $str .= "\n" unless($str =~ /\n$/); print STDOUT "\n *** Warning: $str" if ($VERBOSITY > 1); my $warnings = ''; if(-f 'WARNINGS') { $warnings = &catfile('WARNINGS') || ''; } return () if ($warnings =~ /\Q$str\E/); if(open(OUT,">>WARNINGS")) { print OUT $str; close OUT; } else { print "\nError: Cannot append to 'WARNINGS': $!\n"; } } sub get_warnings { return &catfile('WARNINGS',1) || ''; } # MRO: Standardizing sub catfile { my ($file,$ignore) = @_; unless(open(CATFILE,"<$file")) { print "\nError: Cannot read '$file': $!\n" unless($ignore); return undef; } local($/) = undef; # slurp in whole file my $contents = <CATFILE>; close(CATFILE); $contents; } sub html_validate { my ($extn) = $EXTN; if ($EXTN !~ /^\.html?$/i) { $extn =~ s/^[^\.]*(\.html?)$/$1/; } print "\n *** Validating ***\n"; my @htmls = glob("*$extn"); my $file; foreach $file (@htmls) { system("$HTML_VALIDATOR $file"); } } sub lost_argument { local($cmd) = @_; &write_warnings("\nincomplete argument to command: \\$cmd"); } #----------------------------------------------------------------------------- # These subroutines should have been handled within the DBM database. # Unfortunately if the contents of an array are more than ~900 (system # dependent) chars long then dbm cannot handle it and gives error messages. # So here we save and then read the contents explicitly. sub write_mydb { my ($db, $key, $str) = @_; &write_mydb_simple($db, "\n$mydb_mark#$key#$str"); } # generate the DB file name from the DB name sub _dbname { "$TMP_$dd$_[0]"; } sub write_mydb_simple { my ($db, $str) = @_; my $file = &_dbname($db); if(open(DB,">>$file")) { print DB $str; close DB; } else { print "\nError: Cannot append to '$file': $!\n"; } } sub clear_mydb { my ($db) = @_; my $file = &_dbname($db); if(open(DB,">$file")) { close DB; } else { print "\nError: Cannot clear '$file': $!\n"; } } # Assumes the existence of a DB file which contains # sequences of e.g. verbatim counters and verbatim contents. sub read_mydb { my ($dbref,$name) = @_; my $contents = &catfile(&_dbname($name),1); return '' unless(defined $contents); my @tmp = split(/\n$mydb_mark#([^#]*)#/, $contents); my $i = 1; # Ignore the first element at 0 print "\nDBM: $name open..." if ($VERBOSITY > 2); while ($i < scalar(@tmp)) { my $tmp1 = $tmp[$i]; my $tmp2 = $tmp[++$i]; $$dbref{$tmp1} = defined $tmp2 ? $tmp2 : ''; ++$i; }; $contents; } #----------------------------------------------------------------------------- # Reads in a latex generated file (e.g. .bbl or .aux) # It returns success or failure # ****** and binds $_ in the caller as a side-effect ****** sub process_ext_file { local($ext) = @_; local($found, $extfile,$dum,$texpath); $extfile = $EXTERNAL_FILE||$FILE; local($file) = &fulltexpath("$extfile.$ext"); $found = 0; &write_warnings( "\n$extfile.$EXT is newer than $extfile.$ext: Please rerun latex" . ## AYS (($ext =~ /bbl/) ? " and bibtex.\n" : ".\n")) if ( ($found = (-f $file)) && &newer(&fulltexpath("$extfile.$EXT"), $file)); ## AYS if ((!$found)&&($extfile =~ /\.$EXT$/)) { $file = &fulltexpath("$extfile"); &write_warnings( "\n$extfile is newer than $extfile: Please rerun latex" . ## AYS (($ext =~ /bbl/) ? " and bibtex.\n" : ".\n")) if ( ($found = (-f $file)) && &newer(&fulltexpath("$extfile"), $file)); ## AYS } # check in other directories on the $TEXINPUTS paths if (!$found) { foreach $texpath (split /$envkey/, $TEXINPUTS ) { $file = "$texpath$dd$extfile.$ext"; last if ($found = (-f $file)); } } if ( $found ) { print "\nReading $ext file: $file ..."; # must allow @ within control-sequence names $dum = &do_cmd_makeatletter(); &slurp_input($file); &pre_process; &substitute_meta_cmds if (%new_command || %new_environment); if ($ext eq "aux") { my $latex_pathname = L2hos->path2latex($file); $aux_preamble .= "\\AtBeginDocument{\\makeatletter\n\\input $latex_pathname\n\\makeatother\n}\n"; local(@extlines) = split ("\n", $_); print " translating ".(0+@extlines). " lines " if ($VERBOSITY >1); local($eline,$skip_to); #$_ = ''; foreach $eline (@extlines) { if ($skip_to) { next unless ($eline =~ s/$O$skip_to$C//) } $skip_to = ''; # skip lines added for pdfTeX/hyperref compatibility next if ($eline =~ /^\\(ifx|else|fi|global \\let|gdef|AtEndDocument|let )/); # remove \index and \label commands, else invalid links may result $eline =~ s/\\(index|label)\s*($O\d+$C).*\2//g; if ($eline =~ /\\(old)?contentsline/) { do { local($_,$save_AUX) = ($eline,$AUX_FILE); $AUX_FILE = 0; &wrap_shorthand_environments; #footnote markers upset the numbering s/\\footnote(mark|text)?//g; $eline = &translate_environments($_); $AUX_FILE = $save_AUX; undef $_ }; } elsif ($eline =~ s/^\\\@input//) { &do_cmd__at_input($eline); $eline = ''; } elsif ($eline =~ s/^\\\@setckpt$O(\d+)$C//) { $skip_to = $1; next; } # $eline =~ s/$image_mark#([^#]+)#/print "\nIMAGE:",$img_params{$1},"\n";''/e; # $_ .= &translate_commands(&translate_environments($eline)); $_ .= &translate_commands($eline) if $eline; } undef @extlines; } elsif ($ext =~ /$caption_suffixes/) { local(@extlines) = split ("\n", $_); print " translating ".(0+@extlines). " lines "if ($VERBOSITY >1); local($eline); $_ = ''; foreach $eline (@extlines) { # remove \index and \label commands, else invalid links may result $eline =~ s/\\(index|label)\s*($O\d+$C).*\2//gso; if ($eline =~ /\\(old)?contentsline/) { do { local($_,$save_PREAMBLE) = ($eline,$PREAMBLE); $PREAMBLE = 0; &wrap_shorthand_environments; $eline = &translate_environments($_); $PREAMBLE = $save_PREAMBLE; undef $_ }; } $_ .= &translate_commands($eline); } undef @extlines; } else { print " wrapping " if ($VERBOSITY >1); &wrap_shorthand_environments; $_ = &translate_commands(&translate_environments($_)); print " translating " if ($VERBOSITY >1); } print "\n processed size: ".length($_)."\n" if($VERBOSITY>1); $dum = &do_cmd_makeatother(); } else { print "\n*** Could not find file: $file ***\n" if ($DEBUG) }; $found; } sub deal_with_texinputs { # The dot precedes all, this let's local files override always. # The dirs we want are given as parameter list. if(!$TEXINPUTS) { $TEXINPUTS = '.' } elsif ($TEXINPUTS =~ /^$envkey/) { $TEXINPUTS = '.'.$TEXINPUTS }; if ($ROOTED) {$TEXINPUTS .= "$envkey$FIXEDDIR"} $TEXINPUTS = &absolutize_path($TEXINPUTS); $ENV{'TEXINPUTS'} = join($envkey,".",@_,$TEXINPUTS,$ENV{'TEXINPUTS'}); } # provided by Fred Drake sub absolutize_path { my ($path) = @_; my $npath = ''; foreach $dir (split /$envkey/o, $path) { $npath .= L2hos->Make_directory_absolute($dir) . $envkey; } $npath =~ s/$envkey$//; $npath; } sub add_document_info_page { # Uses $outermost_level # Nasty race conditions if the next two are done in parallel local($X) = ++$global{'max_id'}; local($Y) = ++$global{'max_id'}; ###MEH -- changed for math support: no underscores in commandnames $_ = join('', $_ , (($MAX_SPLIT_DEPTH <= $section_commands{$outermost_level})? "\n<HR>\n" : '') , "\\$outermost_level", "*" , "$O$X$C$O$Y$C\\infopagename$O$Y$C$O$X$C\n", , " \\textohtmlinfopage"); } # For each style file name in TMP_styles (generated by texexpand) look for a # perl file in $LATEX2HTMLDIR/styles and load it. sub load_style_file_translations { local($_, $style, $options, $dir); print "\n"; if ($TEXDEFS) { foreach $dir (split(/$envkey/,$LATEX2HTMLSTYLES)) { if (-f ($_ = "$dir${dd}texdefs.perl")) { print "\nLoading $_..."; require ($_); $styles_loaded{'texdefs'} = 1; last; } } } # packages automatically implemented local($auto_styles) = $AUTO_STYLES; $auto_styles .= 'array|' if ($HTML_VERSION > 3.1); $auto_styles .= 'tabularx|' if ($HTML_VERSION > 3.1); $auto_styles .= 'theorem|'; # these are not packages, but can appear as if class-options $auto_styles .= 'psamsfonts|'; $auto_styles .= 'noamsfonts|'; $auto_styles =~ s/\|$//; if(open(STYLES, "<$TMP_${dd}styles")) { while(<STYLES>) { if(s/^\s*(\S+)\s*(.*)$/$style = $1; $options = $2;/eo) { &do_require_package($style); $_ = $DONT_INCLUDE; s/:/|/g; &write_warnings("No implementation found for style \`$style\'\n") unless ($styles_loaded{$style} || $style =~ /^($_)$/ || $style =~ /$auto_styles/); # MRO: Process options for packages &do_package_options($style,$options) if($options); } } close(STYLES); } else { print "\nError: Cannot read '$TMP_${dd}styles': $!\n"; } } ################## Weird Special case ################## # The new texexpand can be told to leave in \input and \include # commands which contain code that the translator should simply pass # to latex, such as the psfig stuff. These should still be seen by # TeX, so we add them to the preamble ... sub do_include_lines { while (s/$include_line_rx//o) { local($include_line) = &revert_to_raw_tex($&); &add_to_preamble ('include', $include_line); } } ########################## Preprocessing ############################ # JCL(jcl-verb) # The \verb declaration and the verbatim environment contain simulated # typed text and should not be processed. Characters such as $,\,{,and } # loose their special meanings and should not be considered when marking # brackets etc. To achieve this \verb declarations and the contents of # verbatim environments are replaced by markers. At the end the original # text is put back into the document. # The markers for verb and verbatim are different so that these commands # can be restored to what the raw input was just in case they need to # be passed to latex. sub pre_process { # Modifies $_; #JKR: We need support for some special environments. # This has to be here, because they might contain # structuring commands like \section etc. local(%comments); &pre_pre_process if (defined &pre_pre_process); s/\\\\/\\\\ /go; # Makes it unnecessary to look for escaped cmds &replace_html_special_chars; # Remove fake environment which should be invisible to LaTeX2HTML. s/\001//m; s/[%]end\s*{latexonly}/\001/gom; s/[%]begin\s*{latexonly}([^\001]*)\001/%/gos; s/\001//m; &preprocess_alltt if defined(&preprocess_alltt); $KEEP_FILE_MARKERS = 1; if ($KEEP_FILE_MARKERS) { # if (s/%%% TEXEXPAND: \w+ FILE( MARKER)? (\S*).*/ # '<tex2html_'.($1?'':'end').'file>'.qq|#$2#|."\n"/em) { # $_ = "<tex2html_file>#$2#\n". $_ }; #RRM: ignore \n at end of included file, else \par may result if (s/(\n{1,2})?%%% TEXEXPAND: \w+ FILE( MARKER)? (\S*).*\n?/ ($2?$1:"\n").'<tex2html_'.($2?'':'end').'file>'.qq|#$3#|."\n"/em) { $_ = "<tex2html_file>#$3#\n". $_ }; } else { s/%%% TEXEXPAND[^\n]*\n//gm; } # Move all LaTeX comments into a local list s/([ \t]*(^|\G|[^\\]))(%.*(\n[ \t]*|$))/print "%"; $comments{++$global{'verbatim_counter'}} = "$3"; &write_mydb("verbatim", $global{'verbatim_counter'}, $3); "$1$comment_mark".$global{'verbatim_counter'}."\n"/mge; # Remove the htmlonly-environment s/\\begin\s*{htmlonly}\s*\n?//gom; s/\\end\s*{htmlonly}\s*\n?//gom; # Remove enviroments which should be invisible to LaTeX2HTML. s/\n[^%\n]*\\end\s*{latexonly}\s*\n?/\001/gom; s/((^|\n)[^%\n]*)\\begin\s*{latexonly}([^\001]*)\001/$1/gom; s/\\end\s*{comment}\s*\n?/\001/gom; s/\\begin\s*{comment}([^\001]*)\001//gom; # this used to be earlier, but that can create problems with comments &wrap_other_environments if (%other_environments); # s/\\\\/\\\\ /go; # Makes it unnecessary to look for escaped cmds local($next, $esc_del); &normalize_language_changes; # Patches by #JKR, #EI#, #JCL(jcl-verb) #protect \verb|\begin/end....| parts, for LaTeX documentation s/(\\verb\*?(.))\\(begin|end)/$1\003$3/g; local(@processedV); local($opt, $style_info,$before, $contents, $after, $env); while (($UNFINISHED_COMMENT)|| (/\\begin\s*($opt_arg_rx)?\s*\{($verbatim_env_rx|$keepcomments_rx)\}/o)) { ($opt, $style_info) = ($1,$2); $before=$contents=$after=$env=''; if ($UNFINISHED_COMMENT) { $UNFINISHED_COMMENT =~ s/([^:]*)::(\d+)/$env=$1;$after=$_; $before = join("",$unfinished_mark,$env,$2,"#");''/e; print "\nfound the lost \\end{$env}\n"; } #RRM: can we avoid copying long strings here ? # maybe this loop can be an s/.../../s with (.*?) # ($before, $after, $env) = ($`, $', $3) unless ($env); if (!($before =~ /\\begin(\s*\[[^\]]*\]\s*)?\{($verbatim_env_rx|$keepcomments_rx)\}/)) { push(@processedV,$before); print "'";$before = ''; } if ($after =~ /\s*\\end{$env[*]?}/) { # Must NOT use the s///o option!!! ($contents, $after) = ($`, $'); $contents =~ s/^\n+/\n/s; # $contents =~ s/\n+$//s; # re-insert comments $contents =~ s/$comment_mark(\d+)\n?/$comments{$1}/g; # $contents =~ s/$comment_mark(\d+)/$verbatim{$1}/g; # revert '\\ ' -> '\\' only once if ($env =~ /rawhtml|$keepcomments_rx/i) { $contents = &revert_to_raw_tex($contents); } else { $contents =~ s/([^\\](?:\\\\)*\\)([$html_escape_chars])/$1.&special($2)/geos; $contents =~ s/\\\\ /\\\\/go; } if ($env =~/$keepcomments_rx/) { $verbatim{++$global{'verbatim_counter'}} = "$contents"; } else { &write_mydb("verbatim", ++$global{'verbatim_counter'}, $contents); } # $verbatim{$global{'verbatim_counter'}} = "$contents" if ($env =~/$keepcomments_rx/); # $verbatim{$global{'verbatim_counter'}} = "$contents"; if ($env =~ /rawhtml|$keepcomments_rx/i) { if ($before) { $after = join("",$verbatim_mark,$env ,$global{'verbatim_counter'},"#",$after); } else { push (@processedV, join("",$verbatim_mark,$env ,$global{'verbatim_counter'},"#")); } } elsif ($env =~ /tex2html_code/) { if ($before) { $after = join("","\\begin", $opt, "\{verbatim_code\}" , $verbatim_mark,$env , $global{'verbatim_counter'},"#" , "\\end\{verbatim_code\}",$after); } else { push (@processedV , join("","\\begin", $opt, "\{verbatim_code\}" , $verbatim_mark,$env , $global{'verbatim_counter'},"#" , "\\end\{verbatim_code\}")); } } else { if ($before) { $after = join("","\\begin", $opt, "\{tex2html_preform\}" , $verbatim_mark,$env , $global{'verbatim_counter'},"#" , "\\end\{tex2html_preform\}",$after); } else { push (@processedV , join("","\\begin", $opt, "\{tex2html_preform\}" , $verbatim_mark,$env , $global{'verbatim_counter'},"#" , "\\end\{tex2html_preform\}" )); } } } else { print "Cannot find \\end{$env}\n"; $after =~ s/$comment_mark(\d+)\n?/$comments{$1}/g; # $after =~ s/$comment_mark(\d+)/$verbatim{$1}/g; if ($env =~ /rawhtml|$keepcomments_rx/i) { $after = &revert_to_raw_tex($contents); } else { $after =~ s/([^\\](?:\\\\)*\\)([$html_escape_chars])/$1.&special($2)/geos; $after =~ s/\\\\ /\\\\/go; } if ($env =~/$keepcomments_rx/) { $verbatim{++$global{'verbatim_counter'}} = "$after"; } else { &write_mydb("verbatim", ++$global{'verbatim_counter'}, $after ); } $after = join("",$unfinished_mark,$env ,$global{'verbatim_counter'},"#"); } $_ = join("",$before,$after); } print STDOUT "\nsensitive environments found: ".(int(0+@processedV/2))." " if((@processedV)&&($VERBOSITY > 1)); $_ = join('',@processedV, $_); undef @processedV; #restore \verb|\begin/end....| parts, for LaTeX documentation # $_ =~ s/(\\verb\W*?)\003(begin|end)/$1\\$2/g; $_ =~ s/(\\verb(;SPM\w+;|\W*?))\003(begin|end)/$1\\$3/g; # Now do the \verb declarations # Patches by: #JKR, #EI#, #JCL(jcl-verb) # Tag \verb command and legal opening delimiter with unique number. # Replace tagged ones and its contents with $verb_mark & id number if the # closing delimiter can be found. After no more \verb's are to tag, revert # tagged one's to the original pattern. local($del,$contents,$verb_rerun); local($id) = $global{'verb_counter'}; # must tag only one alternation per loop ##RRM: can this be speeded up using a list ?? my $vbmark = $verb_mark; while (s/\\verb(\t*\*\t*)(\S)/"<verb$1".++$id.">$2"/e || s/\\verb()(\;SPM\w+\;|[^a-zA-Z*\s])/"<verb$1".++$id.">$2"/e || s/\\verb(\t\t*)([^*\s])/"<verb$1".++$id.">$2"/e) { $del = $2; #RRM: retain knowledge of whether \verb* or \verb $vb_mark = ($1 =~/^\s*\*/? $verbstar_mark : $verb_mark); $esc_del = &escape_rx_chars($del); $esc_del = '' if (length($del) > 2); # try to find closing delimiter and substitute the complete # statement with $verb_mark or $verbstar_mark # s/(<verb[^\d>]*$id>[\Q$del\E])([^$esc_del\n]*)([\Q$del\E]|$comment_mark(\d+)\n?)/ s/(<verb[^\d>]*$id>\Q$del\E)([^$esc_del\n]*?)(\Q$del\E|$comment_mark(\d+)\n?)/ $contents=$2; if ($4) { $verb_rerun = 1; join('', "\\verb$del", $contents, $comments{$4}) } else { $contents =~ s|\\\\ |\\\\|g; $contents =~ s|\n| |g; $verb{$id}=$contents; $verb_delim{$id}=$del; join('',$vb_mark,$id,$verb_mark) } /e; } $global{'verb_counter'} = $id; # revert changes to fake verb statements s/<verb([^\d>]*)\d+>/\\verb$1/g; #JKR: the comments include the linebreak and the following whitespace # s/([^\\]|^)(%.*\n[ \t]*)+/$1/gom; # Remove Comments but not % which may be meaningful s/((^|\n)$comment_mark(\d+))+//gom; # Remove comment markers on new lines, but *not* the trailing \n s/(\\\w+|(\W?))($comment_mark\d*\n?)/($2)? $2.$3:($1? $1.' ':'')/egm; # Remove comment markers, not after braces # s/(\W?)($comment_mark\d*\n?)/($1)? $1.$2:''/egm; # Remove comment markers, not after braces # Remove comment markers, but *not* the trailing \n # HWS: Correctly remove multiple %%'s. # s/\\%/\002/gm; # s/(%.*\n[ \t]*)//gm; s/(%[^\n]*\n)[ \t]*/$comment_mark\n/gm; s/\002/\\%/gm; local($tmp1,$tmp2); s/^$unfinished_mark$keepcomments_rx(\d+)#\n?$verbatim_mark$keepcomments_rx(\d+)#/ $verbatim{$4}."\n\\end{$1}"/egm; # Raw TeX s/$verbatim_mark$keepcomments_rx(\d+)#/ $tmp1 = $1; $tmp2 = &protect_after_comments($verbatim{$2}); $tmp2 =~ s!\n$!!s; join ('', "\\begin{$tmp1}" , $tmp2 , "\n\\end{$tmp1}" )/egm; # Raw TeX s/$unfinished_mark$keepcomments_rx(\d+)#/$UNFINISHED_COMMENT="$1::$2"; "\\begin{$1}\n".$verbatim{$2}/egm; # Raw TeX $KEEP_FILE_MARKERS = 1; if ($KEEP_FILE_MARKERS) { s/%%% TEXEXPAND: \w+ FILE( MARKER) (\S*).*\n/ '<tex2html_'.($1?'':'end').'file>'.qq|#.$2#\n|/gem; } else { s/%%% TEXEXPAND[^\n]*\n//gm; } &mark_string($_); # attempt to remove the \html \latex and \latexhtml commands s/\\latex\s*($O\d+$C)(.*)\1//gm; s/\\latexhtml\s*($O\d+$C)(.*)\1\s*($O\d+$C)(.*)\3/$4/sg; s/\\html\s*($O\d+$C)(.*)\1/$2/sg; s/\\html\s*($O\d+$C)//gm; # &make_unique($_); } # RRM: When comments are retained, then ensure that they are benign # by removing \s and escaping braces, # so that environments/bracing cannot become unbalanced. sub protect_after_comments { my ($verb_text) = @_; # $verb_text =~ s/\%(.*)/'%'.&protect_helper($1)/eg; $verb_text =~ s/(^|[^\\])(\\\\)*\%(.*)/$1.$2.'%'.&protect_helper($3)/emg; $verb_text; } sub protect_helper { my ($text) = @_; $text =~ s/\\/ /g; $text =~ s/(\{|\})/\\$1/g; $text; } sub make_comment { local($type,$_) = @_; $_ =~ s/\\(index|label)\s*(($O|$OP)\d+($C|$CP)).*\2//sg; $_ = &revert_to_raw_tex($_); s/^\n+//m; $_ =~ s/\\(index|label)\s*\{.*\}//sg; s/\-\-/- -/g; s/\-\-/- -/g; # cannot have -- inside a comment $_ = join('', '<!-- ', $type , "\n ", $_ , "\n -->" ); $verbatim{++$global{'verbatim_counter'}} = $_; &write_mydb('verbatim', $global{'verbatim_counter'}, $_ ); join('', $verbatim_mark, 'verbatim' , $global{'verbatim_counter'},'#') } sub wrap_other_environments { local($key, $env, $start, $end, $opt_env, $opt_start); foreach $key (keys %other_environments) { # skip bogus entries next unless ($env = $other_environments{$key}); $key =~ s/:/($start,$end)=($`,$');':'/e; if (($end =~ /^\#$/m) && ($start =~ /^\#/m)) { # catch Indica pre-processor language switches $opt_start = $'; if ($env =~ s/\[(\w*)\]//o) { $opt_env = join('','[', ($1 ? $1 : $opt_start ), ']'); } local($next); while ($_ =~ /$start\b/) { push(@pre_wrapped, $`, "\\begin\{pre_$env\}", $opt_env ); $_=$'; if (/(\n*)$end/) { push(@pre_wrapped, $`.$1,"\\end\{pre_$env\}$1"); $_ = $'; if (!(s/^N(IL)?//o)) {$_ = '#'.$_ } } else { print "\n *** unclosed $start...$end chunk ***\n"; last; } } $_ = join('', @pre_wrapped, $_); undef @pre_wrapped; } elsif (($end=~/^\n$/) && ($start =~ /^\#/)) { # catch ITRANS pre-processor language info; $env = 'nowrap'; local($ilang) = $start; $ilang =~ s/^\#//m; s/$start\s*\=([^<\n%]*)\s*($comment_mark\d*|\n|%)/\\begin\{tex2html_$env\}\\ITRANSinfo\{$ilang\}\{$1\}\n\\end\{tex2html_$env\}$2/g; } elsif (!$end &&($start =~ /^\#/m)) { # catch Indica pre-processor input-mode switches s/$start(.*)\n/\\begin\{tex2html_$env\}$&\\end\{tex2html_$env\}\n/g; } elsif (($start eq $end)&&(length($start) == 1)) { $start =~ s/(\W)/\\$1/; $end = $start; s/([^$end])$start([^$end]+)$end/$1\\begin\{pre_$env\}$2\\end\{pre_$env\}/mg; } elsif ($start eq $end) { if (!($start =~ /\#\#/)) { $start =~ s/(\W)/\\$1/g; $end = $start; } local (@pre_wrapped); local($opt); $opt = '[indian]' if ($start =~ /^\#\#$/m); while ($_ =~ /$start/s) { push(@pre_wrapped, $` , "\\begin\{pre_$env\}$opt"); $_=$'; if (/$end/s) { push(@pre_wrapped, $`, "\\end\{pre_$env\}"); $_ = $'; } else { print "\n *** unclosed $start...$end chunk ***\n"; last; } } $_ = join('', @pre_wrapped, $_); undef @pre_wrapped; } elsif ($start && ($env =~ /itrans/)) { # ITRANS is of this form local($indic); if($start =~ /\#(\w+)$/m) {$indic = $1} #include the language-name as an optional parameter s/$start\b/\\begin\{pre_$env\}\[$indic\]/sg; s/$end\b/\\end\{pre_$env\}/sg; } elsif (($start)&&($end)) { s/$start\b/\\begin\{pre_$env\}/sg; s/$end\b/\\end\{pre_$env\}/sg; } } $_; } #################### Marking Matching Brackets ###################### # Reads the entire input file and performs pre_processing operations # on it before returning it as a single string. The pre_processing is # done on separate chunks of the input file by separate Unix processes # as determined by LaTeX \input commands, in order to reduce the memory # requirements of LaTeX2HTML. sub slurp_input_and_partition_and_pre_process { local($file) = @_; local(%string, @files, $pos); local ($count) = 1; unless(open(SINPUT,"<$file")) { die "\nError: Cannot read '$file': $!\n"; } local(@file_string); print STDOUT "$file" if ($VERBOSITY >1); while (<SINPUT>) { if (/TEXEXPAND: INCLUDED FILE MARKER (\S*)/) { # Forking seems to screw up the rest of the input stream # We save the current position ... $pos = tell SINPUT; print STDOUT " fork at offset $pos " if ($VERBOSITY >1); $string{'STRING'} = join('',@file_string); @file_string = (); &write_string_out($count); delete $string{'STRING'}; # ... so that we can return to it seek(SINPUT, $pos, 0); print STDOUT "\nDoing $1 "; ++$count} else { # $string{'STRING'} .= $_ push(@file_string,$_); } } $string{'STRING'} = join('',@file_string); @file_string = (); &write_string_out($count); delete $string{'STRING'}; close SINPUT; @files = (); if(opendir(DIR, $TMP_)) { @files = sort grep(/^\Q$PARTITION_PREFIX\E\d+/, readdir(DIR)); closedir(DIR); } unless(@files) { die "\nFailed to read in document parts.\n". "Look up section Globbing in the troubleshooting manual.\n"; } $count = 0; foreach $file (@files) { print STDOUT "\nappending file: $TMP_$dd$file " if ($VERBOSITY > 1); $_ .= (&catfile("$TMP_$dd$file") || ''); print STDOUT "\ntotal length: ".length($_)." characters\n" if ($VERBOSITY > 1); } die "\nFailed to read in document parts (out of memory?).\n" unless length($_); print STDOUT "\ntotal length: ".length($_)." characters\n" if ($VERBOSITY > 1); } sub write_string_out { local($count) = @_; if ($count < 10) {$count = '00'.$count} elsif ($count < 100) {$count = '0'.$count} local($pid); # All open unflushed streams are inherited by the child. If this is # not set then the parent will *not* wait $| = 1; # fork returns 0 to the child and PID to the parent &write_mydb_simple("prelatex", $prelatex); &close_dbm_database; unless ($CAN_FORK) { &do_write_string_out; } else { unless ($pid = fork) { &do_write_string_out; exit 0; }; waitpid($pid,0); } &open_dbm_database; } sub do_write_string_out { local($_); close (SINPUT) if($CAN_FORK); &open_dbm_database; $_ = delete $string{'STRING'}; # locate blank-lines, for paragraphs. # Replace verbatim environments etc. &pre_process; # locate the blank lines for \par s &substitute_pars; # Handle newcommand, newenvironment, newcounter ... &substitute_meta_cmds; &wrap_shorthand_environments; print STDOUT "\n *** End-of-partition ***" if ($VERBOSITY > 1); if(open(OUT, ">$TMP_$dd$PARTITION_PREFIX$count")) { print OUT $_; close(OUT); } else { print "\nError: Cannot write '$TMP_$dd$PARTITION_PREFIX$count': $!\n"; } print STDOUT $_ if ($VERBOSITY > 9); $preamble = join("\n",$preamble,@preamble); # undef @preamble; &write_mydb_simple("preamble", $preamble); # this was done earlier; it should not be repeated #&write_mydb_simple("prelatex", $prelatex); &write_mydb_simple("aux_preamble", $aux_preamble); &close_dbm_database; } # Reads the entire input file into a # single string. sub slurp_input { local($file) = @_; local(%string); if(open(INPUT,"<$file")) { local(@file_string); while (<INPUT>) { push(@file_string, $_ ); } $string{'STRING'} = join('',@file_string); close INPUT; undef @file_string; } else { print "\nError: Cannot read '$file': $!\n"; } $_ = delete $string{'STRING'}; # Blow it away and return the result } # MRO: make them more efficient sub special { $html_specials{$_[0]} || $_[0]; } sub special_inv { $html_specials_inv{$_[0]} || $_[0]; } sub special_html { $html_special_entities{$_[0]} || $_[0]; } sub special_html_inv { $html_spec_entities_inv{$_[0]} || $_[0]; } # Mark each matching opening and closing bracket with a unique id. sub mark_string { # local (*_) = @_; # Modifies $_ in the caller; # -> MRO: changed to $_[0] (same effect) # MRO: removed deprecated $*, replaced by option /m $_[0] =~ s/(^|[^\\])\\{/$1tex2html_escaped_opening_bracket/gom; $_[0] =~ s/(^|[^\\])\\{/$1tex2html_escaped_opening_bracket/gom; # repeat this $_[0] =~ s/(^|[^\\])\\}/$1tex2html_escaped_closing_bracket/gom; $_[0] =~ s/(^|[^\\])\\}/$1tex2html_escaped_closing_bracket/gom; # repeat this my $id = $global{'max_id'}; my $prev_id = $id; # mark all balanced braces # MRO: This should in fact mark all of them as the hierarchy is # processed inside-out. 1 while($_[0] =~ s/{([^{}]*)}/join("",$O,++$id,$C,$1,$O,$id,$C)/geo); # What follows seems esoteric... my @processedB = (); # Take one opening brace at a time while ($_[0] =~ /\{/) { my ($before,$after) = ($`,$'); my $change = 0; while (@UNMATCHED_OPENING && $before =~ /\}/) { my $this = pop(@UNMATCHED_OPENING); print "\n *** matching brace \#$this found ***\n"; $before =~ s/\}/join("",$O,$this,$C)/eo; $change = 1; } $_[0] = join('',$before,"\{",$after) if($change); # MRO: mark one opening brace if($_[0] =~ s/^([^{]*){/push(@processedB,$1);join('',$O,++$id,$C)/eos) { $before=''; $after=$'; } if ($after =~ /\}/) { $after =~ s/\}/join("",$O,$id,$C)/eo; $_[0] = join('',$before,$O,$id,$C,$after); } else { print "\n *** opening brace \#$id is unmatched ***\n"; $after =~ /^(.+\n)(.+\n)?/; print " preceding: $after \n"; push (@UNMATCHED_OPENING,$id); } } $_[0] = join('',@processedB,$_[0]); undef(@processedB); print STDOUT "\nInfo: bracketings found: ", $id - $prev_id,"\n" if ($VERBOSITY > 1); # process remaining closing braces while (@UNMATCHED_OPENING && $_[0] =~ /\}/) { my $this = pop(@UNMATCHED_OPENING); print "\n *** matching brace \#$this found ***\n"; $_[0] =~ s/\}/join("",$O,$this,$C)/eo; } while ($_[0] =~ /\}/) { print "\n *** there was an unmatched closing \} "; my ($beforeline,$prevline,$afterline) = ($`, $`.$& , $'); $prevline =~ /\n([^\n]+)\}$/m; if ($1) { print "at the end of:\n" . $1 . "\}\n\n"; } else { $afterline =~ /^([^\n]+)\n/m; if ($1) { print "at the start of:\n\}" . $1 ."\n\n"; } else { $prevline =~ /\n([^\n]+)\n\}$/m; print "on a line by itself after:\n" . $1 . "\n\}\n\n"; } } $_[0] = $beforeline . $afterline; } $global{'max_id'} = $id; # restore escaped braces $_[0] =~ s/tex2html_escaped_opening_bracket/\\{/go; $_[0] =~ s/tex2html_escaped_closing_bracket/\\}/go; } sub replace_html_special_chars { # Replaces html special characters with markers unless preceded by "\" s/([^\\])(<|>|&|\"|``|'')/&special($1).&special($2)/geom; # MUST DO IT AGAIN JUST IN CASE THERE ARE CONSECUTIVE HTML SPECIALS s/([^\\])(<|>|&|\"|``|'')/&special($1).&special($2)/geom; s/^(<|>|&|\"|``|'')/&special($1)/geom; } # used in \verbatiminput only: $html_escape_chars = '<>&'; sub replace_all_html_special_chars { s/([$html_escape_chars])/&special($1)/geom; } # The bibliography and the index should be treated as separate sections # in their own HTML files. The \bibliography{} command acts as a sectioning command # that has the desired effect. But when the bibliography is constructed # manually using the thebibliography environment, or when using the # theindex environment it is not possible to use the normal sectioning # mechanism. This subroutine inserts a \bibliography{} or a dummy # \textohtmlindex command just before the appropriate environments # to force sectioning. sub add_bbl_and_idx_dummy_commands { local($id) = $global{'max_id'}; s/([\\]begin\s*$O\d+$C\s*thebibliography)/$bbl_cnt++; $1/eg; ## if ($bbl_cnt == 1) { s/([\\]begin\s*$O\d+$C\s*thebibliography)/$id++; "\\bibliography$O$id$C$O$id$C $1"/geo; #} $global{'max_id'} = $id; s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o; s/[\\]printindex/\\textohtmlindex /o; &lib_add_bbl_and_idx_dummy_commands() if defined(&lib_add_bbl_and_idx_dummy_commands); } # Uses and modifies $default_language # This would be straight-forward except when there are # \MakeUppercase, \MakeLowercase or \uppercase , \lowercase commands # present in the source. The cases have to be adjusted before the # ISO-character code is set; e.g. with "z --> "Z in german.perl # sub convert_iso_latin_chars { local($_) = @_; local($next_language, $pattern); local($xafter, $before, $after, $funct, $level, $delim); local(@case_processed); while (/$case_change_rx/) { $xafter = $2; # $before .= $`; push(@case_processed, $`); $funct = $3; $after = ''; $_ = $'; if ($xafter =~ /noexpand/) { $before .= "\\$funct"; next; } s/^[\s%]*(.)/$delim=$1;''/eo; if ($delim =~ /{/ ) { # brackets not yet numbered... # $before .= $funct . $delim; push(@case_processed, $funct . $delim); $level = 1; $after = $delim; while (($level)&&($_)&&(/[\{\}]/)) { $after .= $` . $&; $_ = $'; if ( "$&" eq "\{" ) {$level++} elsif ( "$&" eq "\}" ) { $level-- } else { print $_ } print "$level"; } # $before .= $after; push(@case_processed, $after); } elsif ($delim eq "<") { # brackets numbered, but maybe not processed... s/((<|#)(\d+)(>|#)>).*\1//; $after .= $delim . $&; $_ = $'; print STDOUT "\n<$2$funct$4>" if ($VERBOSITY > 2); $funct =~ s/^\\//o; local($cmd) = "do_cmd_$funct"; $after = &$cmd($after); # $before .= $after; push(@case_processed, $after); } elsif (($xafter)&&($delim eq "\\")) { # preceded by \expandafter ... # ...so expand the following macro first $funct =~ s/^\\//o; local($case_change) = $funct; s/^(\w+|\W)/$funct=$1;''/eo; local($cmd) = $funct; local($thiscmd) = "do_cmd_$funct"; if (defined &$thiscmd) { $_ = &$thiscmd($_) } elsif ($new_command{$funct}) { local($argn, $body, $opt) = split(/:!:/, $new_command{$funct}); do { ### local($_) = $body; &make_unique($body); } if ($body =~ /$O/); if ($argn) { do { local($before) = ''; local($after) = "\\$funct ".$_; $after = &substitute_newcmd; # may change $after $after =~ s/\\\@#\@\@/\\/o ; } } else { $_ = $body . $_; } } else { print "\nUNKNOWN COMMAND: $cmd "; } $cmd = $case_change; $case_change = "do_cmd_$cmd"; if (defined &$case_change) { $_ = &$case_change($_) } } else { # this should not happen, but just in case... $funct =~ s/^\\//o; local($cmd) = "do_cmd_$funct"; print STDOUT "\n\n<$delim$funct>" if ($VERBOSITY > 2); $_ = join('', $delim , $_ ); if (defined &$cmd) { $_ = &$cmd($_) } } } # $_ = join('', $before, $_) if ($before); $_ = join('', @case_processed, $_) if (@case_processed); # ...now do the conversions ($before, $after, $funct) = ('','',''); @case_processed = (); if (/$language_rx/o) { ($next_language, $pattern, $before, $after) = (($2||$1), $&, $`, $'); $before = &convert_iso_latin_chars($before) if ($before); # push(@case_processed, $pattern, $before); local($br_id) = ++$global{'max_id'}; $pattern = join('' , '\selectlanguage', $O.$br_id.$C , (($pattern =~ /original/) ? $TITLES_LANGUAGE : $next_language ) , $O.$br_id.$C ); push(@case_processed, $before, $pattern); push(@language_stack, $default_language); $default_language = $next_language; $_ = &convert_iso_latin_chars($after); $default_language = pop @language_stack; } else { $funct = $language_translations{$default_language}; (defined(&$funct) ? $_ = &$funct($_) : do { &write_warnings( "\nCould not find translation function for $default_language.\n\n") } ); if ($USE_UTF ||(!$NO_UTF &&(defined %unicode_table)&&length(%unicode_table)>2)) { &convert_to_unicode($_)}; } $_ = join('', @case_processed, $_); undef(@case_processed); $_; } # May need to add something here later sub english_translation { $_[0] } # This replaces \setlanguage{\language} with \languageTeX # This makes the identification of language chunks easier. sub normalize_language_changes { s/$setlanguage_rx/\\$2TeX/gs; } sub get_current_language { return () if ($default_language eq $TITLES_LANGUAGE); local($lang,$lstyle) = ' LANG="'; $lang_code = $iso_languages{$default_language}; if (%styled_languages) { $lstyle = $styled_languages{$default_language}; $lstyle = '" CLASS="'.$lstyle if $lstyle; } ($lang_code ? $lang.$lang_code.$lstyle.'"' : ''); } %styled_languages = (); sub do_cmd_htmllanguagestyle { local($_) = @_; local($class) = &get_next_optional_argument; local($lang) = &missing_braces unless ( (s/$next_pair_pr_rx/$lang=$2;''/e) ||(s/$next_pair_rx/$lang=$2;''/e)); return ($_) unless $lang; local($class) = $iso_languages{$lang} unless $class; if ($USING_STYLES && $class) { print "\nStyling language: $lang = \"$class\" "; $styled_languages{"$lang"} = $class; } $_; } # General translation mechanism: # # # The main program latex2html calls texexpand with the document name # in order to expand some of its \input and \include statements, here # also called 'merging', and to write a list of sensitized style, class, # input, or include file names. # When texexpand has finished, all is contained in one file, TMP_foo. # (assumed foo.tex is the name of the document to translate). # # In this version, texexpand cares for following environments # that may span include files / section boundaries: # (For a more technical description, see texexpand.) # a) \begin{comment} # b) %begin{comment} # c) \begin{any} introduced with \excludecomment # d) %begin{any} # e) \begin{verbatim} # f) \begin{latexonly} # g) %begin{latexonly} # # a)-d) cause texexpand to drop its contents, it will not show up in the # output file. You can use this to 'comment out' a bunch of files, say. # # e)-g) prevent texexpand from expanding input files, but the environment # content goes fully into the output file. # # Together with each merging of \input etc. there are so-called %%%texexpand # markers accompanying the boundary. # # When latex2html reads in the output file, it uses these markers to write # each part to a separate file, and process them further. # # # If you have, for example: # # a) preample # b) \begin{document} # c) text # d) \input{chapter} # e) more text # f) \end{document} # # you end up in two parts, part 1 is a)-c), part 2 is the rest. # Regardless of environments spanning input files or sections. # # # What now starts is meta command substitution: # Therefore, latex2html forks a child process on the first part and waits # until it finished, then forks another on the next part and so forth # (see also &slurp_input_and_partition_and_preprocess). # # Here's what each child is doing: # Each child process reads the new commands translated so far by the previous # child from the TMP_global DBM database. # After &pre_processing, it substitutes the meta commands (\newcommand, \def, # and the like) it finds, and adds the freshly retrieved new commands to the # list so far. # This is done *only on its part* of the document; this saves upwards of memory. # Finally, it writes its list of new commands (synopsis and bodies) to the # DBM database, and exits. # After the last child finished, latex2html reads in all parts and # concatenates them. # # # So, at this point in time (start of &translate), it again has the complete # document, but now preprocessed and with new commands substituted. # This has several disadvantages: an amount of commands is substituted (in # TeX lingo, expanded) earlier than the rest. # This causes trouble if commands really must get expanded at the point # in time they show up. # # # Then, still in &translate, latex2html uses the list of section commands to # split the complete document into chunks. # The chunks are not written to files yet. They are retained in the @sections # list, but each chunk is handled separately. # latex2html puts the current chunk to $_ and processes it with # &translate_environments etc., then fetches the next chunk, and so on. # This prevents environments that span section boundaries from getting # translated, because \begin and \end cannot find one another, to say it this # way. # # # After the chunk is translated to HTML, it is written to a file. # When all chunks are done, latex2html rereads each file to get cross # references right, replace image markers with the image file names, and # writes index and bibliography. # # sub translate { &normalize_sections; # Deal with the *-form of sectioning commands # Split the input into sections, keeping the preamble together # Due to the regular expression, each split will create 5 more entries. # Entry 1 and 2: non-letter/letter sectioning command, # entry 4: the delimiter (may be empty) # entry 5: the text. local($pre_section, @sections); if (/\\(startdocument|begin\s*($O\d+$C)\s*document\s*\2)/) { $pre_section = $`.$&; $_ = $'; } @sections = split(/$sections_rx/, $_); $sections[0] = $pre_section.$sections[0] if ($pre_section); undef $pre_section; local($sections) = int(scalar(@sections) / 5); # Initialises $curr_sec_id to a list of 0's equal to # the number of sectioning commands. local(@curr_sec_id) = split(' ', &make_first_key); local(@segment_sec_id) = @curr_sec_id; local($i, $j, $current_depth) = (0,0,0); local($curr_sec) = $SHORT_FILENAME||$FILE; local($top_sec) = ($SEGMENT ? '' : 'top of '); # local(%section_info, %toc_section_info, $CURRENT_FILE, %cite_info, %ref_files); local($CURRENT_FILE); # These filenames may be set when translating the corresponding commands. local($tocfile, $loffile, $lotfile, $footfile, $citefile, $idxfile, $figure_captions, $table_captions, $footnotes, $citations, %font_size, %index, %done, $t_title, $t_author, $t_date, $t_address, $t_affil, $changed); local(%index_labels, %index_segment, $preindex, %footnotes, %citefiles); local($segment_table_captions, $segment_figure_captions); local($dir,$nosave) = ('',''); local($del,$close_all,$open_all,$toc_sec_title,$multiple_toc); local($open_tags_R) = []; local(@save_open_tags)= (); local(@language_stack) = (); push (@language_stack, $default_language); # $LATEX_FONT_SIZE = '10pt' unless ($LATEX_FONT_SIZE); &process_aux_file if $SHOW_SECTION_NUMBERS || /\\(caption|(html|hyper)?((eq)?ref|cite))/; require ("${PREFIX}internals.pl") if (-f "${PREFIX}internals.pl"); #JCL(jcl-del) &make_single_cmd_rx; # $tocfile = $EXTERNAL_CONTENTS; $idxfile = $EXTERNAL_INDEX; $citefile = $EXTERNAL_BIBLIO; $citefile =~ s/#.*$//; $citefiles{1} = $citefile if ($citefile); print "\nTranslating ..."; while ($i <= @sections) { undef $_; $_ = $sections[$i]; s/^[\s]*//; # Remove initial blank lines # The section command was removed when splitting ... s/^/\\$curr_sec$del/ if ($i > 0); # ... so put it back if ($current_depth < $MAX_SPLIT_DEPTH) { if (($footnotes)&&($NO_FOOTNODE)&&( $current_depth < $MAX_SPLIT_DEPTH)) { local($thesenotes) = &make_footnotes ; print OUTPUT $thesenotes; } $CURRENT_FILE = &make_name($curr_sec, join('_',@curr_sec_id)); open(OUTPUT, ">$CURRENT_FILE") || die "Cannot write '$CURRENT_FILE': $!\n"; if ($XBIT_HACK) { # use Apache's XBit hack chmod 0744, $CURRENT_FILE; &check_htaccess; } else { chmod 0644, $CURRENT_FILE; } if ($MULTIPLE_FILES && $ROOTED) { if ($DESTDIR =~ /^\Q$FIXEDDIR\E[$dd$dd]?([^$dd$dd]+)/) { $CURRENT_FILE = "$1$dd$CURRENT_FILE" }; } } &remove_document_env; # &wrap_shorthand_environments; #RRM Is this needed ? print STDOUT "\n" if ($VERBOSITY); print STDOUT "\n" if ($VERBOSITY > 2); print $i/5,"/$sections"; print ":$top_sec$curr_sec:" if ($VERBOSITY); # Must do this early ... It also sets $TITLE &process_command($sections_rx, $_) if (/^$sections_rx/); # reset tags saved from the previous section $open_tags_R = [ @save_open_tags ]; @save_open_tags = (); local($curr_sec_tex); if ((! $TITLE) || ($TITLE eq $default_title)) { eval '$TITLE = '.$default_title; $TITLE = $default_title if $@; $curr_sec_tex = ($top_sec ? '' : join('', '"', &revert_to_raw_tex($curr_sec), '"')); print STDOUT "$curr_sec_tex for $CURRENT_FILE\n" if ($VERBOSITY); } else { local($tmp) = &purify($TITLE,1); $tmp = &revert_to_raw_tex($tmp); print STDOUT "\"$tmp\" for $CURRENT_FILE\n" if ($VERBOSITY); } if (/\\(latextohtmlditchpreceding|startdocument)/m) { local($after) = $'; local($before) = $`.$&; $SEGMENT = 1 if ($1 =~ /startdocument/); print STDOUT "\n *** translating preamble ***\n" if ($VERBOSITY); $_ = &translate_preamble($before); s/\n\n//g; s/<BR>//g; # remove redundant blank lines and breaks # # &process_aux_file if $AUX_FILE_NEEDED; # print STDOUT "\n *** preamble done ***\n" if ($VERBOSITY); $PREAMBLE = 0; $NESTING_LEVEL=0; &do_AtBeginDocument; $after =~ s/^\s*//m; print STDOUT (($VERBOSITY >2)? "\n*** Translating environments ***" : ";"); $after = &translate_environments($after); print STDOUT (($VERBOSITY >2)? "\n*** Translating commands ***" : ";"); $_ .= &translate_commands($after); # $_ = &translate_commands($after); } else { &do_AtBeginDocument; $PREAMBLE = 0; $NESTING_LEVEL=0; print STDOUT (($VERBOSITY >2)? "\n*** Translating environments ***" : ";"); $_ = &translate_environments($_); print STDOUT (($VERBOSITY >2)? "\n*** Translating commands ***" : ";"); $_ = &translate_commands($_); } # close any tags that remain open if (@$open_tags_R) { ($close_all,$open_all) = &preserve_open_tags(); $_ .= $close_all; @save_open_tags = @$open_tags_R; $open_tags_R = []; } else { ($close_all,$open_all) = ('','') } print STDOUT (($VERBOSITY >2)? "\n*** Translations done ***" : "\n"); # if (($footnotes)&&($NO_FOOTNODE)&&( $current_depth < $MAX_SPLIT_DEPTH)) { # $_ .= &make_footnotes # } print OUTPUT $_; # Associate each id with the depth, the filename and the title ###MEH -- starred sections don't show up in TOC ... # RRM: ...unless $TOC_STARS is set # $toc_sec_title = &simplify($toc_sec_title); $toc_sec_title = &purify($toc_sec_title);# if $SEGMENT; $toc_sec_title = &purify($TITLE) unless ($toc_sec_title); if ($TOC_STARS) { $toc_section_info{join(' ',@curr_sec_id)} = "$current_depth$delim$CURRENT_FILE$delim$toc_sec_title" # if ($current_depth <= $MAX_SPLIT_DEPTH + $MAX_LINK_DEPTH); if ($current_depth <= $TOC_DEPTH); } else { $toc_section_info{join(' ',@curr_sec_id)} = "$current_depth$delim$CURRENT_FILE$delim$toc_sec_title" . ($curr_sec =~ /star$/ ? "$delim<tex2html_star_mark>" : "") # if ($current_depth <= $MAX_SPLIT_DEPTH + $MAX_LINK_DEPTH); if ($current_depth <= $TOC_DEPTH); } # include $BODYTEXT in the section_info, when starting a new page $section_info{join(' ',@curr_sec_id)} = "$current_depth$delim$CURRENT_FILE$delim$TITLE$delim" . (($current_depth < $MAX_SPLIT_DEPTH)? $BODYTEXT: ""); # Get type of section (see also the split above) $curr_sec = $sections[$i+1].$sections[$i+2]; $del = $sections[$i+4]; # Get the depth of the current section; # $curr_sec = $outermost_level unless $curr_sec; $current_depth = $section_commands{$curr_sec}; if ($after_segment) { $current_depth = $after_segment; $curr_sec_id[$after_segment] += $after_seg_num; ($after_segment,$after_seg_num) = ('',''); for($j=1+$current_depth; $j <= $#curr_sec_id; $j++) { $curr_sec_id[$j] = 0; } } if ($SEGMENT||$SEGMENTED) { for($j=1; $j <= $#curr_sec_id; $j++) { $curr_sec_id[$j] += $segment_sec_id[$j]; $segment_sec_id[$j] = 0; } }; # this may alter the section-keys $multiple_toc = 1 if ($MULTIPLE_FILES && $ROOTED && (/$toc_mark/)); #RRM : Should this be done here, or in \stepcounter ? @curr_sec_id = &new_level($current_depth, @curr_sec_id); $toc_sec_title = $TITLE = $top_sec = ''; $i+=5; #skip to next text section } $open_tags_R = []; $open_all = ''; $_ = undef; $_ = &make_footnotes if ($footnotes); $CURRENT_FILE = ''; print OUTPUT; close OUTPUT; # # this may alter the section-keys # &adjust_root_keys if $multiple_toc; if ($PREPROCESS_IMAGES) { &preprocess_images } else { &make_image_file } print STDOUT "\n *** making images ***" if ($VERBOSITY > 1); &make_images; # Link sections, add head/body/address do cross-refs etc print STDOUT "\n *** post-process ***" if ($VERBOSITY > 1); &post_process; if (defined &document_post_post_process) { #BRM: extra document-wide post-processing print STDOUT "\n *** post-processing Document ***" if ($VERBOSITY > 1); &document_post_post_process(); } print STDOUT "\n *** post-processed ***" if ($VERBOSITY > 1); ©_icons if $LOCAL_ICONS; if ($SEGMENT || $DEBUG || $SEGMENTED) { &save_captions_in_file("figure", $figure_captions) if $figure_captions; &save_captions_in_file("table", $table_captions) if $table_captions; # &save_array_in_file ("captions", "figure_captions", 0, %figure_captions) if %figure_captions; # &save_array_in_file ("captions", "table_captions", 0, %table_captions) if %table_captions; &save_array_in_file ("index", "index", 0, %index); &save_array_in_file ("sections", "section_info", 0, %section_info); &save_array_in_file ("contents", "toc_section_info", 0,%toc_section_info); &save_array_in_file ("index", "sub_index", 1, %sub_index) if %sub_index; &save_array_in_file ("index", "index_labels", 1, %index_labels) if %index_labels; &save_array_in_file ("index", "index_segment", 1, %index_segment) if %index_segment; &save_array_in_file ("index", "printable_key", 1, %printable_key) if (%printable_key || %index_segment); } elsif ($MULTIPLE_FILES && $ROOTED) { &save_array_in_file ("sections", "section_info", 0, %section_info); &save_array_in_file ("contents", "toc_section_info", 0, %toc_section_info); } &save_array_in_file ("internals", "ref_files", 0, %ref_files) if $changed; &save_array_in_file ("labels", "external_labels", 0, %ref_files); &save_array_in_file ("labels", "external_latex_labels", 1, %latex_labels); &save_array_in_file ("images", "cached_env_img", 0, %cached_env_img); } # RRM: sub translate_preamble { local($_) = @_; $PREAMBLE = 1; $NESTING_LEVEL=0; #counter for TeX group nesting level # remove some artificially inserted constructions s/\n${tex2html_deferred_rx}\\par\s*${tex2html_deferred_rx2}\n/\n/gm; s/\\newedcommand(<<\d+>>)([A-Za-z]+|[^A-Za-z])\1(\[\d+\])?(\[[^]]*\])?(<<\d+>>)[\w\W\n]*\5($comment_mark\d*)?//gm; s/\n{2,}/\n/ogm; if (/\\htmlhead/) { print STDOUT "\nPREAMBLE: discarding...\n$`" if ($VERBOSITY > 4); local($after) = $&.$'; # translate segment preamble preceding \htmlhead &translate_commands(&translate_environments($`)); # translate \htmlhead and rest of preamble $_=&translate_commands(&translate_environments($after)); print STDOUT "\nPREAMBLE: retaining...\n$_" if ($VERBOSITY > 4); } else { # translate only preamble here (metacommands etc.) # there should be no textual results, if so, discard them &translate_commands(&translate_environments($_)); print STDOUT "\nPREAMBLE: discarding...\n$_" if ($VERBOSITY > 4); $_=""; }; $_ = &do_AtBeginDocument($_); if (! $SEGMENT) { $_ = ''} # segmented documents have a heading already $_; } ############################ Processing Environments ########################## sub wrap_shorthand_environments { # This wraps a dummy environment around environments that do not use # the begin-end convention. The wrapper will force them to be # evaluated by Latex rather than them being translated. # Wrap a dummy environment around matching TMPs. # s/^\$\$|([^\\])\$\$/{$1.&next_wrapper('tex2html_double_dollar')}/ge; # Wrap a dummy environment around matching $s. # s/^\$|([^\\])\$/{$1.&next_wrapper('$')}/ge; # s/tex2html_double_dollar/\$\$/go; # Do \(s and \[s # local($wrapper) = "tex2html_wrap_inline"; # \ensuremath wrapper print STDOUT "\n *** wrapping environments ***\n" if ($VERBOSITY > 3); # MRO: replaced $* with /m print STDOUT "\\(" if ($VERBOSITY > 3); s/(^\\[(])|([^\\])(\\[(])/{$2.&make_any_wrapper(1,'',$wrapper).$1.$3}/geom; print STDOUT "\\)" if ($VERBOSITY > 3); s/(^\\[)]|[^\\]\\[)])/{$1.&make_any_wrapper(0,'',$wrapper)}/geom; print STDOUT "\\[" if ($VERBOSITY > 3); s/(^\\[[])|([^\\])(\\[[])/{$2.&make_any_wrapper(1,1,"displaymath")}/geom; print STDOUT "\\]" if ($VERBOSITY > 3); s/(^\\[\]])|([^\\])(\\[\]])/{$2.&make_any_wrapper(0,1,"displaymath")}/geom; print STDOUT "\$" if ($VERBOSITY > 3); s/$enspair/print "\$"; {&make_any_wrapper(1,'',$wrapper).$&.&make_any_wrapper(0,'',$wrapper)}/geom; $double_dol_rx = '(^|[^\\\\])\\$\\$'; $single_dol_rx = '(^|[^\\\\])\\$'; print STDOUT "\$" if ($VERBOSITY > 3); local($dollars_remain) = 0; $_ = &wrap_math_environment; $_ = &wrap_raw_arg_cmds; } sub wrap_math_environment { # This wraps math-type environments # The trick here is that the opening brace is the same as the close, # but they *can* still nest, in cases like this: # # $ outer stuff ... \hbox{ ... $ inner stuff $ ... } ... $ # # Note that the inner pair of $'s is nested within a group. So, to # handle these cases correctly, we need to make sure that the outer # brace-level is the same as the inner. --- rst #tex2html_wrap # And yet another problem: there is a scungy local idiom to do # this: $\_$ for a boldfaced underscore. xmosaic can't display the # resulting itty-bitty bitmap, for some reason; even if it could, it # would probably come out as an overbar because of the floating- # baseline problem. So, we have to special case this. --- rst again. local ($processed_text, @processed_text, $before, $end_rx, $delim, $ifclosed); local ($underscore_match_rx) = "^\\s*\\\\\\_\\s*\\\$"; local ($wrapper); print STDOUT "\nwrap math:" if ($VERBOSITY > 3); #find braced dollars, in tabular-specs while (/((($O|$OP)\d+($C|$CP))\s*)\$(\s*\2)/) { push (@processed_text, $`, $1.$dol_mark.$5); $_ = $'; } $_ = join('',@processed_text, $_) if (@processed_text); undef @processed_text; $dollars_remain = 0; while (/$single_dol_rx/) { $processed_text .= $`.$1; $_ = $'; $wrapper = "tex2html_wrap_inline"; $end_rx = $single_dol_rx; # Default, unless we begin with $$. $delim = "\$"; if (/^\$/ && (! $`)) { s/^\$//; $end_rx = $double_dol_rx; $delim = ""; # Cannot say "\$\$" inside displaymath $wrapper = "displaymath"; } elsif (/$underscore_match_rx/ && (! $`)) { # Special case for $\_$ ... s/$underscore_match_rx//; $processed_text .= '\\_'; next; } # Have an opening $ or $$. Find matching close, at same bracket level # $processed_text .= &make_any_wrapper(1,'',$wrapper).$delim; print STDOUT "\$" if ($VERBOSITY > 3); $ifclosed = 0; local($thismath); while (/$end_rx/) { # Forget the $$ if we are going to replace it with "displaymath" $before = $` . (($wrapper eq "displaymath")? "$1" : $&); last if ($before =~ /\\(sub)*(item|section|chapter|part|paragraph)(star)?\b/); $thismath .= $before; $_ = $'; s/^( [^\n])/\\space$1/s; #make sure a trailing space doesn't get lost. # Found dollar sign inside open subgroup ... now see if it's # at the same brace-level ... local ($losing, $br_rx) = (0, ''); print STDOUT "\$" if ($VERBOSITY > 3); while ($before =~ /$begin_cmd_rx/) { $br_rx = &make_end_cmd_rx($1); $before = $'; if ($before =~ /$br_rx/) { $before = $'; } else { $losing = 1; last; } } do { $ifclosed = 1; last } unless $losing; # It wasn't ... find the matching close brace farther on; then # keep going. /$br_rx/; $thismath .= $`.$&; #RRM: may now contain unprocessed $s e.g. $\mbox{...$...$...}$ # the &do_cmd_mbox uses this specially to force an image # ...but there may be other situations; e.g. \hbox # so set a flag: $dollars_remain = 1; $_ = $'; } # Got to the end. Whew! if ($ifclosed) { # also process any nested math while (($dollars_remain)&&($delim eq "\$")) { local($saved) = $_; $thismath =~ s/\$$//; $_ = $thismath; $thismath = &wrap_math_environment; $thismath .= "\$"; $_ = $saved; } $processed_text .= &make_any_wrapper(1,'',$wrapper) . $delim . $thismath . &make_any_wrapper(0,'',$wrapper); } else { print STDERR "\n\n *** Error: unclosed math or extra `\$', before:\n$thismath\n\n"; # # remove a $ to try to recover as much as possible. # $thismath =~ s/([^\\]\\\\|[^\\])\$/$1\%\%/; # $_ = $thismath . $_; $thismath = ""; print "\n$thismath\n\n\n$_\n\n\n"; die; } } $processed_text . $_; } sub translate_environments { local ($_) = @_; local($tmp, $capenv); # print "\nTranslating environments ..."; local($after, @processedE); local ($contents, $before, $br_id, $env, $pattern); for (;;) { # last unless (/$begin_env_rx/o); last unless (/$begin_env_rx|$begin_cmd_rx|\\(selectlanguage)/o); # local ($contents, $before, $br_id, $env, $pattern); local($this_env, $opt_arg, $style_info); $contents = ''; # $1,$2 : optional argument/text --- stylesheet info # $3 : br_id (at the beginning of an environment name) # $4 : environment name # $5 : br_id of open-brace, when $3 == $4 == ''; # $6 : \selectlanguage{...} if ($7) { push(@processedE,$`); $_ = $'; if (defined &do_cmd_selectlanguage) { $_ = &do_cmd_selectlanguage($_); } else { local($cmd) = $7; $pattern = &missing_braces unless ( s/$next_pair_rx/$pattern = $2;''/e); local($trans) = $pattern.'_translation'; if (defined &$trans) { &set_default_language($pattern,$_); } undef $cmd; undef $trans; } next; } elsif ($4) { ($before, $opt_arg, $style_info, $br_id , $env, $after, $pattern) = ($`, $2, $3, $4, $5, $', $&); if (($before)&& (!($before =~ /$begin_env_rx|$begin_cmd_rx/))) { push(@processedE,$before); $_ = $pattern . $after; $before = ''; } } else { ($before, $br_id, $env, $after, $pattern) = ($`, $6, 'group', $', $&); if (($before)&& (!($before =~ /$begin_env_rx|$begin_cmd_rx/))) { push(@processedE,$before); $_ = $pattern . $after; $before = ''; } local($end_cmd_rx) = &make_end_cmd_rx($br_id); if ($after =~ /$end_cmd_rx/) { # ... find the the matching closing one $NESTING_LEVEL++; ($contents, $after) = ($`, $'); $contents = &process_group_env($contents); print STDOUT "\nOUT: {$br_id} ".length($contents) if ($VERBOSITY > 3); print STDOUT "\n:$contents\n" if ($VERBOSITY > 7); # THIS MARKS THE OPEN-CLOSE DELIMITERS AS PROCESSED $_ = join("", $before,"$OP$br_id$CP", $contents,"$OP$br_id$CP", $after); $NESTING_LEVEL--; } else { $pattern = &escape_rx_chars($pattern); s/$pattern//; print "\nCannot find matching bracket for $br_id"; $_ = join("", $before,"$OP$br_id$CP", $after); } next; } $contents = undef; local($defenv) = $env =~ /deferred/; # local($color_env); local($color_env) unless ($env =~ /tabular|longtable|in(line|display)|math/); local($closures,$reopens); local(@save_open_tags) = @$open_tags_R unless ($defenv); local($open_tags_R) = [ @save_open_tags ] unless ($defenv); local(@saved_tags) if ($env =~ /tabular|longtable/); if ($env =~ /tabular|longtable|makeimage|in(line|display)/) { @save_open_tags = @$open_tags_R; $open_tags_R = [ @save_open_tags ]; # check for color local($color_test) = join(',',@$open_tags_R); if ($color_test =~ /(color{[^}]*})/g ) { $color_env = $1; } # else { $color_env = '' } if ($env =~ /tabular|longtable|makeimage/) { # close to the surrounding block-type tag ($closures,$reopens,@saved_tags) = &preserve_open_block_tags(); @save_open_tags = @$open_tags_R; $open_tags_R = [ @save_open_tags ]; if ($color_env) { $color_test = join(',',@saved_tags); if ($color_test =~ /(color{[^}]*})/g ) { $color_env = $1; } } } elsif ($env =~ /in(line|display)/) { $closures = &close_all_tags() if ((&defined_env($env)) &&!($defenv)&&!($env=~/inline/)&&(!$declarations{$env})); if ($color_env) { $color_test = $declarations{$color_env}; $color_test =~ s/<\/.*$//; $closures .= "\n$color_test"; push (@$open_tags_R , $color_env); } } } elsif ($env =~ /alltt|tex2html_wrap/) { # alltt is constructed as paragraphs, not with <PRE> # tex2html_wrap creates an image, which is at text-level } else { $closures = &close_all_tags() if ((&defined_env($env)) &&!($defenv)&&(!$declarations{$env}) ); } # Sets $contents and modifies $after if (&find_end_env($env,$contents,$after)) { print STDOUT "\nIN-A {$env $br_id}\n$contents\n" if ($VERBOSITY > 4); &process_command($counters_rx, $before) if ($before =~ /$counters_rx/); # This may modify $before and $after # Modifies $contents #RRM: the do_env_... subroutines handle when to translate sub-environments # $contents = &translate_environments($contents) if ## ((!$defenv) && (&defined_env($env)) && (! $raw_arg_cmds{$env}) ## && (!$declarations{$env}) # ((&defined_env($env)) && (! $raw_arg_cmds{$env}) # && (!($env =~ /latexonly|enumerate|figure|table|makeimage|wrap_inline/)) # && ((! $NO_SIMPLE_MATH)||(!($env =~ /wrap/))) # && (!($env =~ /(math|wrap|equation|eqnarray|makeimage|minipage|tabular)/) ) # ); if ($opt_arg) { &process_environment(1, $env, $br_id, $style_info); # alters $contents } else { &process_environment(0, $env, $br_id, ''); } undef $_; print STDOUT "\nOUT-A {$env $br_id}\n$contents\n" if ($VERBOSITY > 4); #JCL(jcl-env) - insert the $O$br_id$C stuff to handle environment grouping if (!($contents eq '')) { $after =~ s/^\n//o if ($defenv); $this_env = join("", $before, $closures , $contents , ($defenv ? '': &balance_tags()) , $reopens ); $_ = $after; } else { $this_env = join("", $before , $closures , ($defenv ? '': &balance_tags()) , $reopens ); $_ = $after; }; ### Evan Welsh <welsh@epcc.ed.ac.uk> added the next 24 lines ## } elsif (&defined_env($env)) { print STDOUT "\nIN-B {$env $br_id}\n$contents\n" if ($VERBOSITY > 4); # If I specify a function for the environment then it # calls it with the contents truncated at the next section. # It assumes I know what I'm doing and doesn't give a # deferred warning. $contents = $after; if ($opt_arg) { $contents = &process_environment(1, $env, $br_id, $style_info); } else { $contents = &process_environment(0, $env, $br_id, ''); } print STDOUT "\nOUT-B {$env $br_id}\n$contents\n" if ($VERBOSITY > 4); $this_env = join("", $before, $closures ,$contents, $reopens); # there should not be anything left over # $_ = $after; $_ = ''; } elsif ($ignore{$env}) { print STDOUT "\nIGNORED {$env $br_id}\n$contents\n" if ($VERBOSITY > 4); # If I specify that the environment should be ignored then # it is but I get a deferred warning. $this_env = join("", $before , $closures , &balance_tags() , $contents, $reopens ); $_ = $after; &write_warnings("\n\\end{$env} not found (ignored).\n"); } elsif ($raw_arg_cmds{$env}) { print "\nIN-C {$env $br_id}\n$contents\n" if ($VERBOSITY > 4); # If I specify that the environment should be passed to tex # then it is with the environment truncated at the next # section and I get a deferred warning. $contents = $after; if ($opt_arg) { $contents = &process_environment(1, $env, $br_id, $style_info); } else { $contents = &process_environment(0, $env, $br_id, ''); } print STDOUT "\nOUT-C {$env $br_id}\n$contents\n" if ($VERBOSITY > 4); $this_env = join("", $before, $closures , $contents, &balance_tags(), $reopens ); $_=''; &write_warnings( "\n\\end{$env $br_id} not found (truncated at next section boundary).\n"); } else { $pattern = &escape_rx_chars($pattern); s/$pattern/$closures/; print "\nCannot find \\end{$env $br_id}\n"; $_ .= join('', &balance_tags(), $reopens) unless ($defenv); } if ($this_env =~ /$begin_env_rx|$begin_cmd_rx/) { $_ = $this_env . $_; } else { push (@processedE, $this_env) } } $_ = join('',@processedE) . $_; $tmp = $_; undef $_; &process_command($counters_rx, $tmp) if ($tmp =~ /$counters_rx/); $_ = $tmp; undef $tmp; $_ } sub find_end_env { # MRO: find_end_env($env,$contents,$rest) #local ($env, *ref_contents, *rest) = @_; my $env = $_[0]; my $be_rx = &make_begin_end_env_rx($env); my $count = 1; while ($_[2] =~ /($be_rx)(\n?)/s) { # $rest $_[1] .= $`; # $contents if ($2 eq "begin") { ++$count } else { --$count }; #include any final \n at an {end} only $_[2] = (($2 eq 'end')? $5 : '') . $'; # $rest last if $count == 0; $_[1] .= $1; # $contents } if ($count != 0) { $_[2] = join('', $_[1], $_[2]); # $rest = join('', $contents, $rest); $_[1] = ''; # $contents return(0) } else { return(1) } } sub process_group_env { local($contents) = @_; local(@save_open_tags) = @$open_tags_R; local($open_tags_R) = [ @save_open_tags ]; print STDOUT "\nIN::{group $br_id}" if ($VERBOSITY > 4); print STDOUT "\n:$contents\n" if ($VERBOSITY > 6); # need to catch explicit local font-changes local(%font_size) = %font_size if (/\\font\b/); # record class/id info for a style-sheet entry local($env_id, $tmp, $etmp); if (($USING_STYLES) && !$PREAMBLE ) { $env_id = $br_id; } # $env_id = "grp$br_id"; # $styleID{$env_id} = " "; # $env_id = " ID=\"$env_id\""; # } undef $_; $contents =~ s/^\s*$par_rx\s*//s; # don't start with a \par if ($contents =~ /^\s*\\($image_switch_rx)\b\s*/s) { # catch TeX-like environments: {\fontcmd ... } local($image_style) = $1; if ($USING_STYLES) { $env_style{$image_style} = " " unless ($env_style{$image_style}); } local($switch_cmd) = "do_cmd_${image_style}"; if (defined &$switch_cmd ) { eval "\$contents = \&${switch_cmd}(\$')"; print "\n*** &$switch_cmd didn't work: $@\n$contents\n\n" if ($@); } elsif ($contents =~ /$par_rx/) { # split into separate image for each paragraph local($par_style,$this_par_img) = ''; local(@par_pieces) = split($par_rx, $contents); local($this_par,$par_style,$par_comment); $contents = ''; while (@par_pieces) { $this_par = shift @par_pieces; if ($this_par =~ /^\s*\\($image_switch_rx)\b/s) { $image_style = $1; $par_style = 'P.'.$1; $env_style{$par_style} = " " unless ($env_style{$par_style}); } # no comment: source is usually too highly encoded to be meaningful # $par_comment = &make_comment($image_style,$this_par); $this_par_img = &process_in_latex("\{".$this_par."\}"); $contents .= join('' #,"\n", $par_comment , "\n<P" , (($USING_STYLES && $image_style)? " CLASS=\"$image_style\"" :'') ,">", $this_par_img , "</P>\n"); if (@par_pieces) { # discard the pieces from matching $par_rx $dum = shift @par_pieces; $dum = shift @par_pieces; $dum = shift @par_pieces; $dum = shift @par_pieces; $dum = shift @par_pieces; $dum = shift @par_pieces; # $contents .= "\n</P>\n<P>"; } } } else { $contents = &process_undefined_environment("tex2html_accent_inline" , ++$global{'max_id'},"\{".$contents."\}"); } } elsif ($contents =~ /^\s*\\(html)?url\b($O\d+$C)[^<]*\2\s*/) { # do nothing $contents = &translate_environments($contents); $contents = &translate_commands($contents); } elsif (($env_switch_rx)&&($contents =~ s/^(\s*)\\($env_switch_rx)\b//s)) { # write directly into images.tex, protected by \begingroup...\endgroup local($prespace, $cmd, $tmp) = ($1,$2,"do_cmd_$2"); $latex_body .= "\n\\begingroup "; if (defined &$tmp) { eval("\$contents = &do_cmd_$cmd(\$contents)"); } $contents = &translate_environments($contents); $contents = &translate_commands($contents); undef $tmp; undef $cmd; $contents .= "\n\\endgroup "; } elsif ($contents =~ /^\s*\\([a-zA-Z]+)\b/s) { local($after_cmd) = $'; local($cmd) = $1; $tmp = "do_cmd_$cmd"; $etmp = "do_env_$cmd"; if (($cmd =~/^(rm(family)?|normalsize)$/) ||($declarations{$cmd}&&(defined &$tmp))) { do{ local(@save_open_tags) = @$open_tags_R; eval "\$contents = \&$tmp(\$after_cmd);"; print "\n*** eval &$tmp failed: $@\n$contents\n\n" if ($@); $contents .= &balance_tags(); }; } elsif ($declarations{$cmd}&&(defined &$etmp)) { eval "\$contents = \&$etmp(\$after_cmd);"; } else { $contents = &translate_environments($contents); $contents = &translate_commands($contents) if ($contents =~ /$match_br_rx/o); # Modifies $contents &process_command($single_cmd_rx,$contents) if ($contents =~ /\\/o); } undef $cmd; undef $tmp; undef $etmp; } else { $contents = &translate_environments($contents); $contents = &translate_commands($contents) if ($contents =~ /$match_br_rx/o); # Modifies $contents &process_command($single_cmd_rx,$contents) if ($contents =~ /\\/o); } $contents . &balance_tags(); } # MODIFIES $contents sub process_environment { local($opt, $env, $id, $styles) = @_; local($envS) = $env; $envS =~ s/\*\s*$/star/; local($env_sub,$border,$attribs,$env_id) = ("do_env_$envS",'','',''); local($original) = $contents; if ($env =~ /tex2html_deferred/ ) { $contents = &do_env_tex2html_deferred($contents); return ($contents); } $env_id = &read_style_info($opt, $env, $id, $styles) if (($USING_STYLES)&&($opt)); if (&defined_env($env)) { print STDOUT ","; print STDOUT "{$env $id}" if ($VERBOSITY > 1); # $env_sub =~ s/\*$/star/; $contents = &$env_sub($contents); } elsif ($env =~ /tex2html_nowrap/) { #pass it on directly for LaTeX, via images.tex $contents = &process_undefined_environment($env, $id, $contents); return ($contents); # elsif (&special_env) { # &special_env modifies $contents } else { local($no_special_chars) = 0; local($failed) = 0; local($has_special_chars) = 0; &special_env; # modifies $contents print STDOUT "\n<MATH $env$id $contents>" if ($VERBOSITY > 3); if ($failed || $has_special_chars) { $contents = $original; $failed = 1; print STDOUT " !failed!\n" if ($VERBOSITY > 3); } } if (($contents) && ($contents eq $original)) { if ($ignore{$env}) { return(''); } # Generate picture if ($contents =~ s/$htmlborder_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } elsif ($contents =~ s/$htmlborder_pr_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } $contents = &process_undefined_environment($env, $id, $contents); $env_sub = "post_latex_$env_sub"; # i.e. post_latex_do_env_ENV if ( defined &$env_sub) { $contents = &$env_sub($contents); } elsif (($border||($attributes))&&($HTML_VERSION > 2.1)) { $contents = &make_table($border,$attribs,'','','',$contents); } else { $contents = join('',"<BR>\n",$contents,"\n<BR>") unless (!($contents)||($inner_math)||($env =~ /^(tex2html_wrap|tex2html_nowrap|\w*math|eq\w*n)/o )); } } $contents; } #RRM: This reads the style information contained in the optional argument # to the \begin command. It is stored to be recovered later as an entry # within the automatically-generated style-sheet, if $USING_STYLES is set. # Syntax for this info is: # <style names> ; <extra style-info> sub read_style_info { local($opt, $envS, $id, $styles) = @_; return() unless (($opt)&&($USING_STYLES)); # allow macro-expansion within the style-info $opt = &translate_commands($opt) if ($opt =~ /\\/); # record class/id info for a style-sheet entry local($style_names, $style_extra, $env_id)=(''," ",''); if ($opt) { # if there is a `;' then <names> ; <extra> if ($styles =~ /^\s*([^\|]*)\|\s*(.*)$/) { $style_names = $1; $style_extra = $2; if ($style_names =~ /[=:;]/) { # cannot be <names>, so is <extra> $style_extra = $style_names.$style_extra; $style_names = ''; } } elsif ($styles =~ /[\=\:]/) { # cannot be <names>, so is <extras> $style_extra = $styles; } else { $style_names = $styles } $style_extra =~ s/\s*[=:]\s*/ : /go; $style_extra =~ s/([\w,\-]+)\s+([\w,\-]+)/$1 ; $2/go; $style_extra =~ s/\s*,\s*/ /go; if ($style_names) { local($sname); local(@names) = split ( /\s+/ , $style_names ); # ensure a style-sheet entry for each new name foreach $sname (@names) { $env_style{$sname} = " " unless (($env_style{$sname})||($sname =~ /^\s*$/)); } } } # remove uninformative part of internally-defined env names $envS =~ s/tex2html_(\w+_)?(\w+)/$2/; $envS =~ s/preform/pre/; $env_id = $envS.$id; $styleID{$env_id} = $style_extra unless ($PREAMBLE); if ($style_names) { $envS = "$style_names" } elsif (($envS =~ /^pre$/)&& (/^\\begin.*preform($O|$OP)\d+($C|$CP)$verbatim_mark(\w*[vV]erbatim)(\*?)/)) { $envS = $3.($4 ? 'star' : '') }; $env_style{$envS} = " " unless (($style_names)||($env_style{$envS})); $env_id = " ID=\"$env_id\"".(($envS) ? " CLASS=\"$envS\"" : ''); return($env_id); } # RRM: This provides the mechanism to save style information in %env_style # using LaTeX macros \htmlsetstyle and \htmladdtostyle # sub process_htmlstyles { local($mode, $_) = @_; local($pre_tags) = &get_next_optional_argument; local($class) = &missing_braces unless ( (s/$next_pair_pr_rx/$class = $2;''/e) ||(s/$next_pair_rx/$class = $2;''/e)); local($sinfo) = &missing_braces unless ( (s/$next_pair_pr_rx/$sinfo = $2;''/e) ||(s/$next_pair_rx/$sinfo = $2;''/e)); return ($_) unless ($class||$pre_tags); $class = $pre_tags.($class ?'.':'').$class; $sinfo =~ s/\s*[:=]\s*/ : /g; $sinfo =~ s/\s*,\s*/ /g; if ($mode =~ /add/) { $sinfo = '; '.$sinfo if ($env_style{$class}); $env_style{$class} .= $sinfo; } else { $env_style{$class} = $sinfo } $_; } sub do_cmd_htmlsetstyle { &process_htmlstyles('set',@_) } sub do_cmd_htmladdtostyle { &process_htmlstyles('add',@_) } # The $<$, $>$, $|$ and $=>$, etc strings are replaced with their textual # equivalents instead of passing them on to latex for processing in math-mode. # This will not be necessary when the mechanism for passing environments # to Latex is improved. # RETURNS SUCCESS OR FAILURE sub special_env { # Modifies $contents in its caller local($next)=''; local ($allow) = $HTML_VERSION ge '3.0' ? "[^#\$%&~\\\\{}]|\\limits" : "[^^#\$%&~_\\\\{}]"; #JKR: Use italics instead of bold #HWS: Generalize to include more symbols. # $contents =~ s/^\$(\s*($html_specials_inv_rx|$allow)*\s*)\$(.)?/ # $next=$3;&simple_math_env($1).(($next =~ m|\w|)? " ":'').$next/ige; $contents =~ s/^\$(\s*($html_specials_inv_rx|$allow)*\s*)\$$/ &simple_math_env($1)." "/ige; if ($contents =~ /\&\w*;/) { $has_math_chars=1 } if ($contents =~ /;SPM([a-zA-Z]+);/) { $has_special_chars=1 }; } # Translate simple math environments into italic. # Only letters should become italic; symbols should stay non-italic. sub simple_math_env { local($mathcontents) = @_; if ($mathcontents eq '') { return("$mathcontents"); } elsif ($NO_SIMPLE_MATH) { # always make an image $failed = 1; return($mathcontents); } elsif ($mathcontents =~ /\\/) { # any macro kills "simple-math" local($save_math) = $mathcontents; local(@text_only) = (); while ((!$failed)&&($mathcontents =~ /\\((boldsymbol|bm)|(math|text)(bf|rm|it|tt)|times|[{}@#^_])(\b|[^A-Za-z]|$)/)) { # ...except when only simple styles push (@text_only, $`, ("$2$4" ? "\\simplemath".($4 ? $4 :"bf") :"\\$1") ); $mathcontents = $5.$'; $failed = 1 if ($` =~ /\\/); } $failed = 1 if ($mathcontents =~ /\\/); return($save_math) if $failed; $mathcontents = join('',@text_only,$mathcontents); } # Is there a problem here, with nested super/subscripts ? # Yes, so do each pattern-match for bracketings within a while-loop while ($mathcontents =~ s/\^$any_next_pair_rx/<SUP>$2<\/SUP>/go){}; while ($mathcontents =~ s/\^$any_next_pair_pr_rx/<SUP>$2<\/SUP>/go){}; while ($mathcontents =~ s/_$any_next_pair_rx/<SUB>$2<\/SUB>/g){}; while ($mathcontents =~ s/_$any_next_pair_pr_rx/<SUB>$2<\/SUB>/g){}; $mathcontents =~ s/\^(\\[a-zA-Z]+|.)/<SUP>$1<\/SUP>/g; $mathcontents =~ s/_(\\[a-zA-Z]+|.)/<SUB>$1<\/SUB>/g; $mathcontents =~ s/(^|\s|[,;:'\?\.\[\]\(\)\+\-\=\!>]|[^\\<]\/|\d)(<(I|TT|B)>)?([a-zA-Z]([a-zA-Z ]*[a-zA-Z])?)(<\/\3>)?/ $1.(($2)? $2 :'<I>').$4.(($6)? $6 : '<\/I>')/eig; $mathcontents =~ s/\\times($|\b|[^A-Za-z])/ x $1/g; $mathcontents =~ s/\\times($|\b|[^A-Za-z])/ x $1/g; $mathcontents =~ s/\\\\/<BR>\n/g; $mathcontents =~ s/\\\\/<BR>\n/g; $mathcontents =~ s/\\([,;])/ /g; $mathcontents =~ s/\\(\W)/$1/g; $mathcontents =~ s/ {2,}/ /g; # any simple style changes remove enclosed <I> tags $mathcontents = &translate_commands($mathcontents) if ($mathcontents =~ /\\/); $mathcontents =~ s/<I><\/(SUB|SUP)>/<\/$1><I>/g; $mathcontents =~ s/<(SUB|SUP)><\/I>/<\/I><$1>/g; $mathcontents =~ s/;<I>SPM([a-zA-Z]+)<\/I>;/;SPM$1;/go; $mathcontents =~ s/<(\/?)<I>(SUB|SUP|I|B|TT)<\/I>>/<$1$2>/g; $mathcontents =~ s/<\/(B|I|TT)><\1>//g; $mathcontents; } sub do_cmd_simplemathrm { local ($_) = @_; local($text); $text = &missing_braces unless ( (s/$next_pair_pr_rx/$text = $2;''/e) ||(s/$next_pair_rx/$text = $2;''/e)); $text =~ s/<\/?I>//g; join('', $text, $_) } sub do_cmd_simplemathbf { local ($_) = @_; local($text); $text = &missing_braces unless ( (s/$next_pair_pr_rx/$text = $2;''/e) ||(s/$next_pair_rx/$text = $2;''/e)); $text =~ s/<\/?I>//g; join('','<B>', $text, '</B>', $_) } sub do_cmd_simplemathtt { local ($_) = @_; local($text); $text = &missing_braces unless ( (s/$next_pair_pr_rx/$text = $2;''/e) ||(s/$next_pair_rx/$text = $2;''/e)); $text =~ s/<\/?I>//g; join('','<TT>', $text, '</TT>', $_) } sub process_math_in_latex { local($mode,$style,$level,$math) = @_; local(@anchors); if ($level) { $style = (($level > 1) ? "script" : "") . "script"; } elsif (! $style) { $style = (($mode =~/display|equation/)? "display" : "") } $style = "\\${style}style" if ($style); # &process_undefined_environment changes $_ , so save it. local($after) = $_; # the 'unless' catches nested AMS-aligned environments $mode = "tex2html_wrap_" . (($mode =~/display|equation|eqnarray/) ? 'indisplay' : 'inline') unless ($mode =~ /^equationstar/ && $outer_math =~ /^equationstar/); $global{'max_id'}++; $math =~ s/\\(\n|$)/\\ $1/g; # catch \ at end of line or string $math =~ s/^\s*((\\!|;SPMnegsp;)\s*)*//g; # remove neg-space at start of string if ($mode =~ /tex2html_wrap_/ ) { $math = &process_undefined_environment( $mode , $global{'max_id'}, join('', "\$$style ", $math, "\$")); } else { # some AMS environments must be within {equation} not {displaymath} $math =~ s/displaymath/equation*/ if ($math =~ /\\begin\{(x+|fl)*align/); $math = &process_undefined_environment($mode, $global{'max_id'}, $math); } $math .= "\n" if ($math =~ /$comment_mark\s*\d+$/s); $_ = $after; # the delimiter \001 inhibits an unwanted \n at image-replacement $math . ($math =~ /$image_mark/? "\001" : ''); } #RRM: Explicit font switches need images. Use the image_switch mechanism. sub do_cmd_font { local($_) = @_; local($fontinfo,$fontname,$size) = ('','','10pt'); s/\s*\\(\w+)\s*=?\s*(.*)(\n|$)/$fontname=$1;$fontinfo=$2;''/eo; $image_switch_rx .= "|$fontname"; if ($fontinfo =~ /([.\d]+\s*(true)?(pt|mm|cm))/ ) { $size = $1 } elsif ( $fontinfo =~ /[a-zA-Z]+(\d+)\b/ ) { $size = $1.'pt' } if ( $fontinfo =~ /(scaled|at)\s*\\?(.+)/) { $size .= " scaled $1" } $font_size{$fontname} = $size; $_; } sub wrap_cmd_font { local($cmd, $_) = @_; local ($args, $dummy, $pat) = ""; if (/\n/) { $args .= $`.$& ; $_ = $' } else {$args = $_; $_ = ''}; (&make_deferred_wrapper(1).$cmd.$padding.$args.&make_deferred_wrapper(0),$_) } sub do_cmd_newfont { local($_) = @_; local($fontinfo,$fontname,$size) = ('','','10pt'); $fontname = &missing_braces unless ( (s/$next_pair_pr_rx/$fontname=$2;''/eo) ||(s/$next_pair_rx/$fontname=$2;''/eo)); $fontname=~ s/^\s*\\|\s*$//g; $image_switch_rx .= "|$fontname"; $fontinfo = &missing_braces unless ( (s/$next_pair_pr_rx/$fontinfo=$2;''/eo) ||(s/$next_pair_rx/$fontinfo=$2;''/eo)); if ($fontinfo =~ /([.\d]+\s*(true)?(pt|mm|cm))/ ) { $size = $1 } elsif ( $fontinfo =~ /[a-zA-Z]+(\d+)\b/ ) { $size = $1.'pt' } if ( $fontinfo =~ /(scaled|at)\s*\\?(.+)/) { $size .= " scaled $1" } $font_size{$fontname} = $size; $_; } sub defined_env { local($env) = @_; $env =~ s/\*$/star/; local($env_sub) = ("do_env_$env"); # The test using declarations should not be necessary but 'defined' # doesn't seem to recognise subroutines generated dynamically using 'eval'. # Remember that each entry in $declarations generates a dynamic prodedure ... ((defined &$env_sub) || ($declarations{$env})); } # RRM: utility to add style information to stored image-parameters # currently only (math) scaling info is included; # current color, etc. could also be added here. sub addto_encoding { local($env, $contents) = @_; # $contents =~ s/(\\(begin|end)\s*)?<<\d*>>|\n//g; # RRM: remove env delimiters $contents =~ s/(\\(begin|end)\s*(<<\d*>>))|\n//g; # RRM: remove env delimiters # append scaling information for environments using it if (($MATH_SCALE_FACTOR) &&(($contents =~ /makeimage|inline|indisplay|entity|displaymath|eqnarray|equation|xy|diagram/) ||($env =~ /makeimage|inline|indisplay|entity|displaymath|eqnarray|equation|xy|diagram/)) ) { $contents .= ";MSF=$MATH_SCALE_FACTOR" } if ($LATEX_FONT_SIZE =~ /([\d\.]+)pt/) { local($fsize) = $1; $contents .= ";LFS=$fsize" unless ($fsize ==10); } if (($EXTRA_IMAGE_SCALE) &&(($contents =~ /makeimage|inline|indisplay|entity|displaymath|eqnarray|equation|xy|diagram/) ||($env =~ /makeimage|inline|indisplay|entity|displaymath|eqnarray|equation|xy|diagram/)) ) { $contents .= ";EIS=$EXTRA_IMAGE_SCALE" } if (($DISP_SCALE_FACTOR) &&(($contents =~ /indisplay|displaymath|eqnarray|equation/) ||($env =~ /indisplay|displaymath|eqnarray|equation/)) &&!(($contents =~ /makeimage/)||($env =~ /makeimage/)) ) { $contents .= ";DSF=$DISP_SCALE_FACTOR" } if (($EQN_TAGS) &&(($env =~ /eqnarray($|[^_\*])|equation/) ||($contents =~ /eqnarray($|[^_\*])|equation/)) &&!(($contents =~ /makeimage/)||($env =~ /makeimage/)) ) { $contents .= ";TAGS=$EQN_TAGS" } if (($FIGURE_SCALE_FACTOR) &&!(($contents =~ /makeimage/)||($env =~ /makeimage/)) &&(($contents =~ /figure/)||($env =~ /figure/)) ) { $contents .= ";FSF=$FIGURE_SCALE_FACTOR"} if (($ANTI_ALIAS) &&(($contents =~ /figure/)||($env =~ /figure/)) &&!(($contents =~ /makeimage/)||($env =~ /makeimage/)) ) { $contents .= ";AAF" } elsif ($ANTI_ALIAS_TEXT) { $contents .= ";AAT" } if (!$TRANSPARENT_FIGURES) { $contents .= ";NTR" } $contents; } sub process_undefined_environment { local($env, $id, $contents) = @_; if ($env =~ s/\*{2,}/*/) { print "\n*** $_[0] has too many \*s ***"}; local($name,$cached,$raw_contents,$uucontents) = ("$env$id"); $name =~ s/\*/star/; local($oldimg,$size,$fullcontents,$imgID); return if ($AUX_FILE); # catch \footnotemark within an image, especially if in math local(@foot_anchors,$foot_anchor); local($im_footnote,$im_mpfootnote) = ($global{'footnote'},$global{'mpfootnote'}); @foot_anchors = &process_image_footnote($contents) if ($contents =~ /\\footnote(mark)?\b/s); if ((@foot_anchors)&&($eqno)) { # append the markers to the equation-numbers $eqno .= join(' ', ' ', @foot_anchors); @foot_anchors = (); } print STDOUT "\nUNDEF-IN {$env $id}:\n$contents\n" if ($VERBOSITY > 4); #RRM - LaTeX commands wrapped with this environment go directly into images.tex. if ($env =~ /tex2html_nowrap|^lrbox$/){ # leave off the wrapper, do not cache # totally ignore if in preamble... # ...since it will be put into images.tex anyway!! if (!($PREAMBLE)) { $contents =~ s/^\n+|\n+$/\n/g; local($lcontents) = join('', "\\begin{$env}", $contents , "\\end{$env}" ); $lcontents =~ s/\\(index|label)\s*(($O|$OP)\d+($C|$CP)).*\2//sg; print STDOUT "pre-LATEX {$env}:\n$lcontents\n" if ($VERBOSITY > 3); $raw_contents = &revert_to_raw_tex($lcontents); print STDOUT "LATEX {$env}:\n$raw_contents\n" if ($VERBOSITY > 3); $latex_body .= "\n$raw_contents"."%\n\n" ; } return("") if ($env =~ /^lrbox/); # ignore enclosed environments; e.g. in \settolength commands # $contents = &translate_environments($contents); # ignore environments # $contents = &translate_commands($contents); # ...but apply any Perl settings that may be defined $contents = &process_command($single_cmd_rx,$contents); print STDOUT "\nOUT {$env $id}:\n$contents\n" if ($VERBOSITY > 4); return(""); } # catch pre-processor environments if ($PREPROCESS_IMAGES) { local($pre_env,$which, $done, $indic); while ($contents =~ /$pre_processor_env_rx/) { $done .= $`; $pre_env = $5; $which =$1; $contents = $'; if (($which =~ /begin/)&&($pre_env =~ /indica/)) { if ($contents =~ s/^\[(\w+)]//o) { $done .= '#'.$1 } } elsif (($which =~ /end/)&&($pre_env =~ /indica/)) { $done .= '#NIL'; } elsif (($which =~ /begin/)&&($pre_env =~ /itrans/)) { if ($contents =~ s/^\[(\w+)]/$indic=$1;''/e) { $done .= "\#$indic" } } elsif (($which =~ /end/)&&($pre_env =~ /itrans/)) { $done .= "\#end$indic"; } elsif ($which =~ /begin/) { $done .= (($which =~ /end/)? $end_preprocessor{$pre_env} : $begin_preprocessor{$pre_env} ) } } $contents = $done . $contents; } $fullcontents = $contents; # save for later \label search. # MRO: replaced $* with /m $contents =~ s/\n?$labels_rx(\%([^\n]+$|$EOL))?/\n/gm; local($tmp) = $contents; $tmp =~ s/^((\\par|\%)?\s*\n)+$//g; return( &do_labels($fullcontents, "\ ") ) unless $tmp; # just a comment as the contents of a cell in a math-display if ($tmp =~ /\$\\(display|text|(script)+)style\s*$comment_mark\d+\s*\$$/) { return ( &do_labels($fullcontents, "\ ") ) }; $contents = "\n% latex2html id marker $id\n$contents" if (!$PREAMBLE &&($contents =~ /$order_sensitive_rx/) &&(!($env =~ /makeimage/))); $env =~ s/displaymath/equation*/ if ($contents =~ /\\begin\{(x+|fl)*align/); #RRM: include the inline-color, when applicable $contents = join('' , (($inner_math =~ /in(display|line)/) ? '$' : '') , "\\begin{$env}" , ($color_env ? "\\bgroup\\$color_env" : '') , $contents , ($color_env ? "\\egroup" : '') , "\\end{$env}" , (($inner_math =~ /in(display|line)/) ? '$' : '') ) if ($contents); # append to the name of special environments found within math if ($inner_math) { local($ext) = $inner_math; if ($inner_math =~ /(display|line)/){ $ext = 'in'.$1;}; $name =~ s/(\d+)$/_$ext$1/; } if (!($latex_body{$name} = $contents)) { print "\n *** code for $name is too long ***\n"} if ($contents =~ /$htmlimage_rx/) { $uucontents = &special_encoding($env,$2,$contents); } elsif ($contents =~ /$htmlimage_pr_rx/) { $uucontents = &special_encoding($env,$2,$contents); } else { $uucontents = &encode(&addto_encoding($env,$contents)); } $cached = $cached_env_img{$uucontents}; print STDOUT "\nCACHED: $uucontents:\n$cached\n" if ($VERBOSITY > 4); if ($NOLATEX) { $id_map{$name} = "[$name]"; } elsif (defined ($_ = $cached)) { # Is it in our cache? # Have we already used it? if (($oldimg) = /SRC="$PREFIX$img_rx\.$IMAGE_TYPE"/o) { # No, check its size local($eis) = 1; # Does it have extra scaling ? if ($uucontents =~ /EIS=(.*);/) { $eis = $1 } ($size, $imgID) = &get_image_size("$PREFIX$oldimg.old", $eis); # Does it have extra scaling ? # if ($uucontents =~ /EIS=(.*);/) { # local($eis) = $1; local($w,$h); # # quotes will not be there with HTML 2.0 # $size =~ s/(WIDTH=\")(\d*)(\".*HEIGHT=\")(\d*)\"/ # $w = int($2\/$eis + .5); $h=int($4\/$eis + .5); # "$1$w$3$h\""/e ; # insert the re-scaled size # } # quotes will not be there with HTML 2.0 $size =~ s/\"//g if ($HTML_VERSION < 2.2); if ($size && /\s$size\s/) { # Size is OK; recycle it! ++$global_page_num; $_ = $cached ; # ...perhaps restoring the desired size. s/(${PREFIX}T?img)\d+\.($IMAGE_TYPE|html)/ &rename_html($&,"$1$global_page_num.$2")/geo; } else { if ($env =~ /equation/) { &extract_eqno($name,$cached) } $_ = ""; # The old Image has wrong size! undef($cached); # (or it doesn't exist) } } s/(IMG\n)/$1$imgID/ if $imgID; s/$PREFIX$img_rx\.new/$PREFIX$1.$IMAGE_TYPE/go; # Point to the actual image file(s) $id_map{$name} = $_; s/$PREFIX$img_rx\.$IMAGE_TYPE/$PREFIX$1.new/go; # But remember them as used. $cached_env_img{$uucontents} = $_; } if (! defined($cached)) { # Must generate it anew. &clear_images_dbm_database unless ($new_page_num ||($NO_SUBDIR && $FIXEDDIR)); $new_id_map{$name} = $id_map{$name} = ++$global_page_num . "#" . ++$new_page_num; $orig_name_map{$id_map{$name}} = $name; $cached_env_img{$uucontents} = $id_map{$name} if ($REUSE == 2); #RRM: this (old) code frequently crashes NDBM, so do it in 2 steps # $img_params{$name} = join('#', &extract_parameters($contents)); local(@params) = &extract_parameters($contents); $img_params{$name} = join('#',@params); undef $params; print "\nIMAGE_PARAMS $name: ".$img_params{$name} if ($VERBOSITY > 3); $contents =~ s/\\(index|label)\s*(($O|$OP)\d+($C|$CP)).*\2//sg; print STDOUT "\nLATEX {$env}:\n$contents" if ($VERBOSITY > 3); $raw_contents = &revert_to_raw_tex($contents) unless ($contents =~ /^\s*$/) ; $raw_contents =~ s/\\pagebreak|\\newpage|\\clearpage/\\\\/go; print STDOUT "\nLATEX {$env}:\n$raw_contents\n" if ($VERBOSITY > 3); local($box_type) = ''; if ($raw_contents =~ /\\special\s*\{/) { $tex_specials{$name} = "1"; &write_warnings("\nenvironment $name contains \\special commands"); print STDOUT "\n *** environment $name contains \\special commands ***\n" if ($VERBOSITY); } elsif (($env =~ /$inline_env_rx/)||($inner_math =~ /in(line|display)/)) { # crop to the marks only... or shave a bit off the bottom if (($env =~ /tex2html_[^w]/)||$inner_math) { # e.g. accents, indic but not wrap $crop{$name} = "bl"; $box_type = "i"; } else { # ...or shave a bit off the bottom as well $crop{$name} = "bls"; $box_type = "h"; } } elsif (($env =~ /(eqnarray|equation)(\*|star)/)||($inner_math)) { # crop to minimum size... $crop{$name} = "blrl"; $box_type = "v"; } elsif ($env =~ /(picture|tex2html_wrap)(\*|star)?/) { # crop hbox to minimum size... $crop{$name} = ""; $box_type = "p"; } elsif ($env =~ /$display_env_rx/) { # crop vbox to minimum size... $crop{$name} = "blrl" ; if ($env =~ /(equation|eqnarray)((s)?$|\d)/) { # ... unless equation numbers are included ... if ($3) { # AMS {subequations} $global{'eqn_number'}=$prev_eqn_number if $prev_eqn_number; --$global{'eqn_number'}; } $raw_contents = join('' , (($eqno{$name}||$global{'eqn_number'})? &set_equation_counter($eqno{$name}) : '') , $raw_contents); $crop{$name} = "bl" ; } elsif ($HTML_VERSION < 2.2) { # ... HTML 2.0 cannot align images, so keep the full typeset width $crop{$name} = "bl" ; } $box_type = "v"; } #RRM: include the TeX-code for the appropriate type of box. eval "\$raw_contents = \&make_$box_type"."box($name, \$raw_contents);"; # JCL(jcl-pag) - remember html text if debug is set. local($_); if ($DEBUG) { $_ = $contents; s/\n/ /g; $_ = &revert_to_raw_tex($_); # incomplete or long commented code can break pre-processors if ($PREPROCESS_IMAGES) { $_ = ((/^(\\\w+)?\{[^\\\}\<]*\}?/)? $& : '').'...' ; $_ = '{ ... }' if ( length($_) > 100); } elsif ( length($_) > 200) { $_ = join('',substr($_,0,200),"...\}"); } s/\\(begin|end)/$1/g; s/[\000-\020]//g; $_ = join('',"% contents=",$_,"\n"); } $raw_contents = '\setcounter{equation}{'.$prev_eqn_number."}\n".$raw_contents if ($env =~ /subequations/); # JCL(jcl-pag) - build the page entries for images.tex: Each page is embraced to # let most statements have only local effect. Each page must compile into a # single dvi page to get proper image translation. Hence the invisible glue to # get *at least* one page (raw_contents alone might not wield glue), and # sufficing page length to get *exactly* one page. # $latex_body .= "{\\newpage\\clearpage\n$_" . # "$raw_contents\\hfill\\vglue1pt\\vfill}\n\n"; # "$raw_contents\\hfill\\vss}\n\n" if ($raw_contents); # "$raw_contents\\hfill\\lthtmlcheckvsize\\clearpage}\n\n" if ($raw_contents); "$raw_contents\\lthtmlcheckvsize\\clearpage}\n\n" if ($raw_contents); } print STDOUT "\nIMAGE_CODE:{$env $id}:\n$raw_contents\n" if ($VERBOSITY > 4); # Anchor the labels and put a marker in the text; local($img) = &do_labels($fullcontents,"$image_mark#$name#"); print STDOUT "\nUNDEF_OUT {$env $id}:\n$img\n" if ($VERBOSITY > 4); return($img) unless (@foot_anchors); # use the image as source to the 1st footnote, unless it is already an anchor. if ($img =~ /<\/?A>/) { join(' ', $img, @foot_anchors); } elsif ($#foot_anchors ==0) { $foot_anchor = shift @foot_anchors; $foot_anchor =~ s/<SUP>.*<\/SUP>/$img/; # join(' ', $foot_anchor, @foot_anchors); $foot_anchor; } else { join(' ', $img, @foot_anchors); } } sub special_encoding { # locally sets $EXTRA_IMAGE_SCALE local($env,$_,$contents) = @_; local($exscale) = /extrascale=([\.\d]*)/; local($EXTRA_IMAGE_SCALE) = $exscale if ($exscale); &encode(&addto_encoding($env,$contents)); } sub extract_eqno{ local($name,$contents) = @_; if ($contents =~ /<P ALIGN="\w+">\(([^<>])\)<\/P>$/) { if (($eqno{$name})&&!($eqno{$name} eq $1)) { &write_warnings("\nequation number for $name may be wrong.")}; $eqno{$name}="$1"; } } sub set_equation_counter{ if ( $global{'eqn_number'}) { "\\setcounter{equation}{". $global{'eqn_number'} ."}\n" } else { "\\setcounter{equation}{0}\n" } } # RRM: 3 different types of boxing, for image environments. # general environments --- crops to width & height sub make_box { local($id,$contents) = @_; "\\lthtmlfigureA{". $id ."}%\n". $contents ."%\n\\lthtmlfigureZ\n"; } # inline math --- horizontal mode, captures height/depth + \mathsurround sub make_hbox { local($id,$contents) = @_; if ($id =~ /indisplay/) { "\\lthtmlinlinemathA{". $id ."}%\n". $contents ."%\n\\lthtmlindisplaymathZ\n"; } else { "\\lthtmlinlinemathA{". $id ."}%\n". $contents ."%\n\\lthtmlinlinemathZ\n"; } } # inline text-image (e.g. accents) --- horizontal mode, captures height/depth sub make_ibox { local($id,$contents) = @_; "\\lthtmlinlineA{". $id ."}%\n". $contents ."%\n\\lthtmlinlineZ\n"; } # centered images (e.g. picture environments) --- horizontal mode sub make_pbox { local($id,$contents) = @_; "\\lthtmlpictureA{". $id ."}%\n". $contents ."%\n\\lthtmlpictureZ\n"; } # displayed math --- vertical mode, captures height/depth + page-width sub make_vbox { local($id,$contents) = @_; if (($HTML_VERSION >=3.2)&&($id =~/(equation|eqnarray)($|\d)/) &&! $failed ) { if ($contents =~ s/^\\setcounter\{equation\}\{\d+\}/$&%\n\\lthtmldisplayB\{$id\}%/) { $contents ."%\n\\lthtmldisplayZ\n" } else { "\\lthtmldisplayB{$id}%\n". $contents ."%\n\\lthtmldisplayZ\n" } } else { "\\lthtmldisplayA{$id}%\n". $contents ."%\n\\lthtmldisplayZ\n"} } sub preprocess_images { do { print "\nWriting image.pre file ...\n"; open(ENV,">.$dd${PREFIX}images.pre") || die "\nCannot write '${PREFIX}images.pre': $!\n"; print ENV &make_latex($latex_body); print ENV "\n"; close ENV; ©_file($FILE, "bbl"); ©_file($FILE, "aux"); local($num_cmds, $cnt, $this, @cmds); @cmds = (split ('\n', $preprocessor_cmds)); $this_cmd = $num_cmds = 1+$#cmds; $cnt = $num_cmds; $preprocessor_cmds = ''; while (@cmds) { $this_cmd = shift @cmds; last unless ($this_cmd); $this_cmd =~ s/.pre /.tex$cnt / if(($cnt)&&($cnt < $num_cmds)); $cnt--; $this_cmd .= $cnt if ($cnt); $preprocessor_cmds .= $this_cmd."\n"; L2hos->syswait($this_cmd); } # save pre-processor commands in a file: preproc open(CMDS,">.$dd${PREFIX}preproc") || die "\nCannot write '${PREFIX}preproc': $!\n"; print CMDS $preprocessor_cmds ; close CMDS; } if ((%latex_body) && ($latex_body =~ /newpage/)); } sub make_image_file { do { print "\nWriting image file ...\n"; open(ENV,">.$dd${PREFIX}images.tex") || die "\nCannot write '${PREFIX}images.tex': $!\n"; print ENV &make_latex($latex_body); print ENV "\n"; close ENV; ©_file($FILE, "bbl"); ©_file($FILE, "aux"); } if ((%latex_body) && ($latex_body =~ /newpage/)); } sub make_latex_images{ &close_dbm_database if $DJGPP; local($dd) = $dd; $dd = '/' if ($dd eq "\\"); local($latex_call) = "$LATEX .$dd${PREFIX}images.tex"; print "$latex_call\n" if (($DEBUG)||($VERBOSITY > 1)); L2hos->syswait($latex_call); &open_dbm_database if $DJGPP; } sub make_off_line_images { local($name, $page_num); if (!$NOLATEX && -f ".${dd}${PREFIX}images.tex") { &make_tmp_dir; # sets $TMPDIR and $DESTDIR $IMAGE_PREFIX =~ s/^_//o if ($TMPDIR); &make_latex_images(); print "\nGenerating postscript images using dvips ...\n"; &process_log_file(".$dd${PREFIX}images.log"); # Get eqn size info unless ($LaTeXERROR) { local($dvips_call) = "$DVIPS -S1 -i $DVIPSOPT -o$TMPDIR$dd${IMAGE_PREFIX} .${dd}${PREFIX}images.dvi"; print "$dvips_call\n" if (($DEBUG)||($VERBOSITY > 1)); &close_dbm_database if $DJGPP; L2hos->syswait($dvips_call) && print "Error: $!\n"; undef $dvips_call; &open_dbm_database if $DJGPP; # add suffix .ps to the file-names for each image if(opendir(DIR, $TMPDIR || '.')) { # use list-context instead; thanks De-Wei Yin <yin@asc.on.ca> my (@ALL_IMAGE_FILES) = grep /^$IMAGE_PREFIX\d+$/o, readdir(DIR); foreach (@ALL_IMAGE_FILES) { L2hos->Rename("$TMPDIR$dd$_", "$TMPDIR$dd$_.ps"); } closedir(DIR); } else { print "\nError: Cannot read dir '$TMPDIR': $!\n"; } } } if ($LaTeXERROR) { print "\n\n*** LaTeXERROR\n"; return(); } while ( ($name, $page_num) = each %new_id_map) { # Extract the page, convert and save it &extract_image($page_num,$orig_name_map{$page_num}); } } # Generate images for unknown environments, equations etc, and replace # the markers in the main text with them. # - $cached_env_img maps encoded contents to image URL's # - $id_map maps $env$id to page numbers in the generated latex file and after # the images are generated, maps page numbers to image URL's # - $page_map maps page_numbers to image URL's (temporary map); # Uses global variables $id_map and $cached_env_img, # $new_page_num and $latex_body sub make_images { local($name, $contents, $raw_contents, $uucontents, $page_num, $uucontents, %page_map, $img); # It is necessary to run LaTeX this early because we need the log file # which contains information used to determine equation alignment if ( $latex_body =~ /newpage/) { print "\n"; if ($LATEX_DUMP) { # dump a pre-compiled format if (!(-f "${PREFIX}images.fmt")) { print "$INILATEX ./${PREFIX}images.tex\n" if (($DEBUG)||($VERBOSITY > 1)); print "dumping ${PREFIX}images.fmt\n" unless ( L2hos->syswait("$INILATEX ./${PREFIX}images.tex")); } local ($img_fmt) = (-f "${PREFIX}images.fmt"); if ($img_fmt) { # use the pre-compiled format print "$TEX \"&./${PREFIX}images\" ./${PREFIX}images.tex\n" if (($DEBUG)||($VERBOSITY > 1)); L2hos->syswait("$TEX \"&./${PREFIX}images\" ./${PREFIX}images.tex"); } elsif (-f "${PREFIX}images.dvi") { print "${PREFIX}images.fmt failed, proceeding anyway\n"; } else { print "${PREFIX}images.fmt failed, trying without it\n"; print "$LATEX ./${PREFIX}images.tex\n" if (($DEBUG)||($VERBOSITY > 1)); L2hos->syswait("$LATEX ./${PREFIX}images.tex"); } } else { &make_latex_images() } # local($latex_call) = "$LATEX .$dd${PREFIX}images.tex"; # print "$latex_call\n" if (($DEBUG)||($VERBOSITY > 1)); # L2hos->syswait("$latex_call"); ## print "$LATEX ./${PREFIX}images.tex\n" if (($DEBUG)||($VERBOSITY > 1)); ## L2hos->syswait("$LATEX ./${PREFIX}images.tex"); ## } $LaTeXERROR = 0; &process_log_file("./${PREFIX}images.log"); # Get image size info } if ($NO_IMAGES) { my $img = "image.$IMAGE_TYPE"; my $img_path = "$LATEX2HTMLDIR${dd}icons$dd$img"; L2hos->Copy($img_path, ".$dd$img") if(-e $img_path && !-e $img); } elsif ((!$NOLATEX) && ($latex_body =~ /newpage/) && !($LaTeXERROR)) { print "\nGenerating postscript images using dvips ...\n"; &make_tmp_dir; # sets $TMPDIR and $DESTDIR $IMAGE_PREFIX =~ s/^_//o if ($TMPDIR); local($dvips_call) = "$DVIPS -S1 -i $DVIPSOPT -o$TMPDIR$dd$IMAGE_PREFIX .${dd}${PREFIX}images.dvi\n"; print $dvips_call if (($DEBUG)||($VERBOSITY > 1)); if ((($PREFIX=~/\./)||($TMPDIR=~/\./)) && not($DVIPS_SAFE)) { print " *** There is a '.' in $TMPDIR or $PREFIX filename;\n" . " dvips will fail, so image-generation is aborted ***\n"; } else { &close_dbm_database if $DJGPP; L2hos->syswait($dvips_call) && print "Error: $!\n"; &open_dbm_database if $DJGPP; } # append .ps suffix to the filenames if(opendir(DIR, $TMPDIR || '.')) { # use list-context instead; thanks De-Wei Yin <yin@asc.on.ca> my @ALL_IMAGE_FILES = grep /^$IMAGE_PREFIX\d+$/o, readdir(DIR); foreach (@ALL_IMAGE_FILES) { L2hos->Rename("$TMPDIR$dd$_", "$TMPDIR$dd$_.ps"); } closedir(DIR); } else { print "\nError: Cannot read dir '$TMPDIR': $!\n"; } } do {print "\n\n*** LaTeXERROR"; return()} if ($LaTeXERROR); return() if ($LaTeXERROR); # empty .dvi file L2hos->Unlink(".$dd${PREFIX}images.dvi") unless $DEBUG; print "\n *** updating image cache\n" if ($VERBOSITY > 1); while ( ($uucontents, $_) = each %cached_env_img) { delete $cached_env_img{$uucontents} if ((/$PREFIX$img_rx\.$IMAGE_TYPE/o)&&!($DESTDIR&&$NO_SUBDIR)); $cached_env_img{$uucontents} = $_ if (s/$PREFIX$img_rx\.new/$PREFIX$1.$IMAGE_TYPE/go); } print "\n *** removing unnecessary images ***\n" if ($VERBOSITY > 1); while ( ($name, $page_num) = each %id_map) { $contents = $latex_body{$name}; if ($page_num =~ /^\d+\#\d+$/) { # If it is a page number do { # Extract the page, convert and save it $img = &extract_image($page_num,$orig_name_map{$page_num}); if ($contents =~ /$htmlimage_rx/) { $uucontents = &special_encoding($env,$2,$contents); } elsif ($contents =~ /$htmlimage_pr_rx/) { $uucontents = &special_encoding($env,$2,$contents); } else { $uucontents = &encode(&addto_encoding($contents,$contents)); } if (($HTML_VERSION >=3.2)||!($contents=~/$order_sensitive_rx/)){ $cached_env_img{$uucontents} = $img; } else { # Blow it away so it is not saved for next time delete $cached_env_img{$uucontents}; print "\nimage $name not recycled, contents may change (e.g. numbering)"; } $page_map{$page_num} = $img; } unless ($img = $page_map{$page_num}); # unless we've just done it $id_map{$name} = $img; } else { $img = $page_num; # it is already available from previous runs } print STDOUT " *** image done ***\n" if ($VERBOSITY > 2); } &write_warnings( "\nOne of the images is more than one page long.\n". "This may cause the rest of the images to get out of sync.\n\n") if (-f sprintf("%s%.3d%s", $IMAGE_PREFIX, ++$new_page_num, ".ps")); print "\n *** no more images ***\n" if ($VERBOSITY > 1); # MRO: The following cleanup seems to be incorrect: The DBM is # still open at this stage, this causes a lot of unlink errors # #do { &cleanup; print "\n *** clean ***\n" if ($VERBOSITY > 1);} # unless $DJGPP; } # MRO: This copies the navigation icons from the distribution directory # or an alternative specified in $ALTERNATIVE_ICONS # to the document directory. sub copy_icons { local($icon,$_); print "\nCopying navigation icons ..."; foreach (keys %used_icons) { # each entry ends in gif or png if ($ALTERNATIVE_ICONS) { L2hos->Copy("$ALTERNATIVE_ICONS$dd$_", ".$dd$_") if (-e "$ALTERNATIVE_ICONS$dd$_" && !-e $_); } elsif (/(gif|png)$/) { L2hos->Copy("$LATEX2HTMLDIR${dd}icons$dd$_", ".$dd$_") if (-e "$LATEX2HTMLDIR${dd}icons$dd$_" && !-e $_); } } } sub process_log_file { local($logfile) = @_; local($name,$before,$lengthsfound); local($TeXpt)= 72/72.27; local($image_counter); open(LOG, "<$logfile") || die "\nCannot read logfile '$logfile': $!\n"; while (<LOG>) { if (/Overfull/) { $before .= $_ } elsif (/latex2htmlLength ([a-zA-Z]+)=(\-?[\d\.]+)pt/) { ${$1} = 0.0+$2; $lengthsfound = 1; } elsif (/latex2htmlSize|l2hSize/) { /:([^:]*):/; $name = $1; $name =~ s/\*//g; ++$image_counter; s/:([0-9.]*)pt/$height{$name} = $1*$TeXpt;''/e; s/::([0-9.]*)pt/$depth{$name} = $1*$TeXpt;''/e; s/::([0-9.]*)pt/$width{$name} = $1*$TeXpt;''/e; s/\((.*)\)/$eqno{$name} = 1+$1;''/e; if ($before) { local($tmp); if ($before =~ /hbox\s*\((\d+\.?\d*)pt/) { $width{$name} = $width{$name}+$1*$TeXpt; } if ($before =~ /vbox\s*\((\d+\.?\d*)pt/) { $height{$name} = $height{$name}+$1*$TeXpt; } $before = ''; } } $LaTeXERROR = 1 if (/^No pages of output./); } if ($LaTeXERROR) { print STDERR "\n\n *** LaTeX produced no output ***\n" . " *** no new images can be created\n" . " *** Examine the images.log file.\n\n"; return; } print STDOUT "\n *** processing $image_counter images ***\n"; print STDOUT "\n *** LATEX LOG OK. ***\n" if ($VERBOSITY > 1); if ($lengthsfound) { $ODD_HMARGIN = $hoffset + $oddsidemargin; $EVEN_HMARGIN = $hoffset + $evensidemargin; $VMARGIN = $voffset + $topmargin + $headheight + $headsep; if ($dvi_mag >0 && $dvi_mag != 1000) { $ODD_HMARGIN = int($dvi_mag /1000 * $ODD_HMARGIN); $EVEN_HMARGIN = int($dvi_mag /1000 * $EVEN_HMARGIN); $VMARGIN = int($dvi_mag /1000 * $VMARGIN); } } else { $ODD_HMARGIN = 0; $EVEN_HMARGIN = 0; $VMARGIN = 0; } $ODD_HMARGIN = int($ODD_HMARGIN*$TeXpt + 72.5); $EVEN_HMARGIN = int($EVEN_HMARGIN*$TeXpt + 72.5); $VMARGIN = int($VMARGIN*$TeXpt + 72.5); close(LOG); } sub extract_image { # clean my ($page_num,$name) = @_; # The followin come out of %img_params my ($scale, $external, $thumbnail, $map, $psimage, $align, $usemap, $flip, $aalias, $trans, $exscale, $alt, $exstr); my ($lwidth, $val) = (0, ''); my ($custom_size,$color_depth,$height,$width,$croparg); print STDOUT "\nextracting $name as $page_num\n" if ($VERBOSITY > 1); # $global_num identifies this image in the original source file # $new_num identifies this image in images.tex my ($global_num, $new_num) = split(/#/, $page_num); $name =~ s/\*/star/; my ($env,$basename,$img) = ($name,"img$global_num",''); $env =~ s/\d+$//; $psname = sprintf("%s%.3d", "$TMPDIR$dd$IMAGE_PREFIX", $new_num); if ( $EXTERNAL_IMAGES && $PS_IMAGES ) { $img = "$basename.ps"; L2hos->Copy("$psname.ps", "${PREFIX}$img"); } else { $img = "$basename.$IMAGE_TYPE"; ($scale, $external, $thumbnail, $map, $psimage, $align, $usemap, $flip, $aalias, $trans, $exscale, $alt, $exstr) = split('#', $img_params{$name}); $lwidth = ($align =~ s/nojustify/middle/) ? 0 : $LINE_WIDTH; $alt = "ALT=\"$name\"" unless $alt; $exscale = $EXTRA_IMAGE_SCALE unless($exscale); if ($NO_IMAGES) { L2hos->Symlink("image.$IMAGE_TYPE", "${PREFIX}$img"); if ($thumbnail) { L2hos->Symlink("image.$IMAGE_TYPE", "${PREFIX}T$img"); $thumbnail = "${PREFIX}T$img"; } } else { # RRM: deal with size data if ($width{$name} < 0) { if ($exscale && $PK_GENERATION) { $height = int( $exscale*$height{$name}+ $exscale*$depth{$name} +.5); $width = int($exscale*$width{$name}-.5); } else { $height = int($height{$name}+$depth{$name}+.5); $width = int($width{$name}-.5); } $custom_size = "${width}x$height"; } elsif ($width{$name}) { if ($exscale && $PK_GENERATION) { $height = int( $height{$name} * $exscale + $depth{$name} * $exscale +.5); $width = int($width{$name} * $exscale +.5); } else { $height = int($height{$name}+$depth{$name}+.5); $width = int($width{$name}+.5); } $custom_size = "${width}x$height"; } else { $custom_size = ''; } # MRO: add first overall crop $croparg = '-crop a' . ($crop{$name} || '') . ' '; $page_num =~ s/^\d+#//o; $custom_size .= " -margins " . (($page_num % 2) ? $ODD_HMARGIN:$EVEN_HMARGIN) . ",$VMARGIN" if ($custom_size); #RRM: \special commands may place ink outside the expected bounds: $custom_size = '' if ($tex_specials{$name}); # MRO: Patches for image conversion with pstoimg # RRM: ...with modifications and fixes L2hos->Unlink("${PREFIX}$img"); &close_dbm_database if $DJGPP; print "Converting image #$new_num\n"; if ( ($name =~ /figure/) || $psimage || $scale || $thumbnail) { $scale = $FIGURE_SCALE_FACTOR unless ($scale); print "\nFIGURE: $name scaled $scale $aalias\n" if ($VERBOSITY > 2); (L2hos->syswait( "$PSTOIMG -type $IMAGE_TYPE " . ($DEBUG ? '-debug ' : '-quiet ' ) . ($TMPDIR ? "-tmp $TMPDIR " : '' ) . (($DISCARD_PS && !$thumbnail && !$psimage)? "-discard " :'') . (($INTERLACE) ? "-interlace " : '' ) . (((($ANTI_ALIAS)||($aalias))&&($aalias !~ /no|text/))? "-antialias ":'') . (($ANTI_ALIAS_TEXT||(($aalias =~/text/)&&($aalias !~/no/)))? "-aaliastext ":'') . (($custom_size) ? "-geometry $custom_size ": '' ) . $croparg . ($color_depth || '') . (($flip) ? "-flip $flip " : '' ) . (($scale > 0) ? "-scale $scale " : '' ) . (((($TRANSPARENT_FIGURES && ($env =~ /figure/o))||($trans)) &&(!($trans =~ /no/))) ? "-transparent " : '') . (($WHITE_BACKGROUND) ? "-white " : '' ) . "-out ${PREFIX}$img $psname.ps" ) ) # ||!(print "\nWriting image: ${PREFIX}$img")) && print "\nError while converting image: $!\n"; if ($thumbnail) { # $thumbnail contains the reduction factor L2hos->Unlink("${PREFIX}T$img"); print "\nIMAGE thumbnail: $name" if ($VERBOSITY > 2); (L2hos->syswait( "$PSTOIMG -type $IMAGE_TYPE " . ($DEBUG ? '-debug ' : '-quiet ' ) . ($TMPDIR ? "-tmp $TMPDIR " : '' ) . (($DISCARD_PS && !$psimage) ? "-discard " : '' ) . (($INTERLACE) ? "-interlace " : '' ) . ((($ANTI_ALIAS||($aalias))&&(!($aalias =~/no/)))? "-antialias " :'') . (($ANTI_ALIAS_TEXT||(($aalias =~/text/)&&($aalias !~/no/)))? "-aaliastext ":'') . (($custom_size) ? "-geometry $custom_size " : '' ) . ($color_depth || '') . (($flip) ? "-flip $flip " : '' ) . (($thumbnail > 0) ? "-scale $thumbnail " : '' ) . ((($trans)&&(!($trans =~ /no/))) ? "-transparent " : '') . (($WHITE_BACKGROUND) ? "-white " : '' ) . "-out ${PREFIX}T$img $psname.ps" ) ) # ||!(print "\nWriting image: ${PREFIX}T$img")) && print "\nError while converting thumbnail: $!\n"; $thumbnail = "${PREFIX}T$img"; } } elsif (($exscale &&(!$PK_GENERATION))&&($width{$name})) { my $under = ''; my $mathscale = ($MATH_SCALE_FACTOR > 0) ? $MATH_SCALE_FACTOR : 1; if (($DISP_SCALE_FACTOR > 0) && ( $name =~ /equation|eqnarray|display/)) { $mathscale *= $DISP_SCALE_FACTOR; }; if ($scale) { $scale *= $exscale if ($name =~ /makeimage|tab/); } else { $scale = $mathscale*$exscale; $under = "d" if (($name =~/inline|indisplay/)&&($depth{$name})); } print "\nIMAGE: $name scaled by $scale \n" if ($VERBOSITY > 2); (L2hos->syswait( "$PSTOIMG -type $IMAGE_TYPE " . ($DEBUG ? '-debug ' : '-quiet ' ) . ($TMPDIR ? "-tmp $TMPDIR " : '' ) . (($DISCARD_PS)? "-discard " : '' ) . (($INTERLACE)? "-interlace " : '' ) . ((($ANTI_ALIAS_TEXT||($aalias))&&($aalias !=~/no/))? "-antialias -depth 1 " :'') . (($custom_size)? "-geometry $custom_size " : '' ) . $croparg . (($scale != 1)? "-scale $scale " : '' ) . ((($exscale)&&($exscale != 1)&& !($ANTI_ALIAS_TEXT &&($LATEX_COLOR)))? "-shoreup $exscale$under " :'') . ((($TRANSPARENT_FIGURES ||($trans)) &&(!($trans =~ /no/)))? "-transparent " : '') . (($WHITE_BACKGROUND && !$TRANSPARENT_FIGURES) ? "-white " : '' ) . "-out ${PREFIX}$img $psname.ps" ) ) # ||!(print "\nWriting image: ${PREFIX}$img")) && print "\nError while converting image: $!\n"; } else { print "\nIMAGE: $name\n" if ($VERBOSITY > 2); my $under = ''; my $mathscale = ($MATH_SCALE_FACTOR > 0) ? $MATH_SCALE_FACTOR : 1; if (($DISP_SCALE_FACTOR > 0) && ( $name =~ /equation|eqnarray|display/)) { $mathscale *= $DISP_SCALE_FACTOR; }; if (($scale)&&($exscale)) { $scale *= $exscale if ($name =~ /makeimage|tab/); } elsif ($scale) { } elsif (($mathscale)&&($exscale)) { $scale = $mathscale*$exscale; $under = "d" if (($name =~/inline|indisplay/)&&($depth{$name})); } elsif ($mathscale) { $scale = $mathscale; } (L2hos->syswait("$PSTOIMG -type $IMAGE_TYPE " . ($DEBUG ? '-debug ' : '-quiet ' ) . ($TMPDIR ? "-tmp $TMPDIR " : '' ) . (($DISCARD_PS) ? "-discard " : '' ) . (($INTERLACE) ? "-interlace " : '' ) . ((($ANTI_ALIAS_TEXT||($aalias))&&(!($aalias =~ /no/)))? "-antialias -depth 1 " :'') . ((($exscale)&&($exscale != 1)&& !($ANTI_ALIAS_TEXT &&($LATEX_COLOR)))? "-shoreup $exscale " :'') . (($scale ne 1) ? "-scale $scale " : '' ) . (($custom_size) ? "-geometry $custom_size " : '' ) . $croparg # . (($name =~ /(equation|eqnarray)/) ? "-rightjustify $lwidth " : '') # . (($name =~ /displaymath/) ? "-center $lwidth " : '') . (($name =~ /inline|indisplay/ && (!($custom_size))&&$depth{$name}!= 0) ? do {$val=($height{$name}-$depth{$name})/($height{$name}+$depth{$name}); "-topjustify x$val "} : '') . ((($TRANSPARENT_FIGURES||($trans)) &&(!($trans =~ /no/))) ? "-transparent " : '') . (($WHITE_BACKGROUND && !$TRANSPARENT_FIGURES) ? "-white " : '' ) . "-out ${PREFIX}$img $psname.ps") ) #|| !(print "\nWriting image: ${PREFIX}$img")) && print "\nError while converting image\n"; } if (! -r "${PREFIX}$img") { &write_warnings("\nFailed to convert image $psname.ps") } else { } #L2hos->Unlink("$psname.ps") unless $DEBUG } &open_dbm_database if $DJGPP; } } print "\nextracted $name as $page_num\n" if ($VERBOSITY > 1); &embed_image("${PREFIX}$img", $name, $external, $alt, $thumbnail, $map, $align, $usemap, $exscale, $exstr); } sub extract_parameters { local($contents) = @_; local($_, $scale, $external, $thumbnail, $map, $psimage, $align, $usemap, $flip, $aalias, $trans, $pagecolor, $alt, $exscale, $cdepth, $htmlparams); #remove the \htmlimage commands and arguments before... $contents =~ s/$htmlimage_rx/$_ = $2;''/ego; $contents =~ s/$htmlimage_pr_rx/$_ .= $2;''/ego; # code adapted from original idea by Stephen Gildea: # If the document specifies the ALT tag explicitly # with \htmlimage{alt=some text} then use it. s!alt=([^,]+)!$alt = $1; $alt =~ s/^\s+|\s+$//g; $alt =~ s/"//g; $alt="ALT=\"$alt\""; ''!ie; if (!$alt) { #...catching all the code for the ALT text. local($keep_gt)=1; $alt = &flatten_math($contents); undef $keep_gt; #RRM: too long strings upset the DBM. Truncate to <= 165 chars. if ( length($alt) > 163 ) { local($start,$end); $start = substr($alt,0,80); $end = substr($alt,length($alt)-80,80); $alt = join('',$start,"...\n ...",$end); } s/ALT\s*=\"([\w\W]*)\"/$alt=$1;''/ie; if ($alt) { if ($alt =~ /\#/) { $alt =~ s/^(\\vbox\{)?\#[A-Za-z]*\s*//; $alt =~ s/\n?\#[A-Za-z]*\s*\}?$//s; if ($alt =~ /\#/) { $alt = $` . " ... " }; } $alt =~ s/\`\`/\\lq\\lq /g; $alt =~ s/\`/\\lq /g; $alt =~ s/(^\s*|\s*$)//mg; $alt = "ALT=\"$alt\"" if ($alt); } else { $alt = 'ALT="image"' } } $psimage++ if ($contents =~ /\.ps/); # $contents =~ s/\s//g; # Remove spaces Why ? s/extrascale=([\.\d]*)/$exscale=$1;''/ie; s/\bscale=([\.\d]*)/$scale=$1;''/ie; s/(^|,\s*)external/$external=1;''/ie; s/(^|,\s*)((no)?_?anti)alias(_?(text))?/$aalias = $2.$4;''/ie; s/(^|,\s*)((no)?_?trans)parent/$trans = $2;''/ie; s/thumbnail=([\.\d]*)/$thumbnail=$1;''/ie; s/usemap=([^\s,]+)/$usemap=$1;''/ie; s/map=([^\s,]+)/;$map=$1;''/ie; s/align=([^\s,]+)/$align=$1;''/ie; s/flip=([^\s,]+)/$flip=$1;''/ie; s/color_?(depth)?=([^\s,]+)/$cdepth=$2;''/ie; ($scale,$external,$thumbnail,$map,$psimage,$align ,$usemap,$flip,$aalias,$trans,$exscale,$alt,$_); } # RRM: Put the raw \TeX code into the ALT tag # replacing artificial environments and awkward characters sub flatten_math { local ($_) = @_; $_ = &revert_to_raw_tex($_); s/[ \t]+/ /g; # MRO: replaced $* with /m s/$tex2html_wrap_rx//gm; s/(\\begin\s*\{[^\}]*\})(\s*(\[[^]]*\]))?[ \t]*/$1$3/gm; s/(\\end\{[^\}]*\})\n?/$1/gm; s/>(\w)?/($1)?"\\gt $1":"\\gt"/eg unless ($keep_gt); # replace > by \gt s/\\\|(\w)?/($1)?"\\Vert $1":"\\Vert"/eg; # replace \| by \Vert s/\|(\w)?/($1)?"\\vert $1":"\\vert"/eg; # replace | by \vert s/\\\\/\\\\ /g; # insert space after \\ s/\\"/\\uml /g; # screen umlaut accents... s/"/\'\'/g; # replace " by '' s/\\\#/\\char93 /g; # replace \# by \char93 else caching fails # s/"(\w)?/($1)?"\\rq\\rq $1":"\'\'"/eg; # replace " by \rq\rq # s/\&\\uml /\\\"/g; # ...reinstate umlauts $_; } sub scaled_image_size { local($exscale,$_) = @_; local($width,$height) = ('',''); /WIDTH=\"?(\d*)\"?\s*HEIGHT=\"?(\d*)\"?$/o; $width=int($1/$exscale + .5); $height=int($2/$exscale + .5); "WIDTH=\"$width\" HEIGHT=\"$height\"" } sub process_in_latex { # This is just a wrapper for process_undefined_environment. # @[0] = contents $global{'max_id'}++; &process_undefined_environment('tex2html_wrap',$global{'max_id'},$_[0]); } # MRO: cp deprecated, replaced by L2hos->Copy # Marcus Hennecke 6/3/96 # MRO: test for existance sub copy_file { local($file, $ext) = @_; $file = &fulltexpath("$FILE.$ext"); if(-r $file) { print "\nNote: Copying '$file' for image generation\n" if($VERBOSITY > 2); L2hos->Copy($file, ".$dd${PREFIX}images.$ext"); } } sub rename_image_files { local($_, $old_name, $prefix); if ($PREFIX) { foreach (<${PREFIX}*img*.$IMAGE_TYPE>) { $old_name = $_; s/\.$IMAGE_TYPE$/\.old/o; L2hos->Rename($old_name, $_); } } else { foreach (<img*.$IMAGE_TYPE>) { $old_name = $_; s/\.$IMAGE_TYPE$/\.old/o; L2hos->Rename($old_name, $_); } foreach (<Timg*.$IMAGE_TYPE>) { $old_name = $_; s/\.$IMAGE_TYPE$/\.old/o; L2hos->Rename($old_name, $_); } } } ############################ Processing Commands ########################## sub ignore_translate_commands { local ($_) = @_; # print "\nTranslating commands ..."; local(@processedC); &replace_strange_accents; local($before, $contents, $br_id, $after, $pattern, $end_cmd_rx); s/$begin_cmd_rx/&replace_macro_expansion($`, $1, $&, $')/eg; } sub replace_macro_expansion { push(@processedC,$_[1]); $end_cmd_rx = &make_end_cmd_rx($_[2]); $pattern = $_[3]; $_ = join('',$_[3],$_[4]); $after = $_[4]; if (($before)&&(!($before =~ /$begin_cmd_rx/))) { push(@processedC,$before); $_ = join('',$pattern,$after); $before = ''; } local($end_cmd_rx) = &make_end_cmd_rx($br_id); } sub translate_aux_commands { s/^(.*)$/&translate_commands($1)/s; } sub translate_commands { local ($_) = @_; # print "\nTranslating commands ..."; local(@processedC); &replace_strange_accents; for (;;) { # For each opening bracket ... last unless ($_ =~ /$begin_cmd_rx/); local($before, $contents, $br_id, $after, $pattern); ($before, $br_id, $after, $pattern) = ($`, $1, $', $&); if (($before)&&(!($before =~ /$begin_cmd_rx/))) { push(@processedC,$before); $_ = join('',$pattern,$after); $before = ''; } local($end_cmd_rx) = &make_end_cmd_rx($br_id); if ($after =~ /$end_cmd_rx/) { # ... find the the matching closing one $NESTING_LEVEL++; ($contents, $after) = ($`, $'); do { local(@save_open_tags) = @$open_tags_R; local($open_tags_R) = [ @save_open_tags ]; print STDOUT "\nIN::{$br_id}" if ($VERBOSITY > 4); print STDOUT "\n:$contents\n" if ($VERBOSITY > 7); undef $_; $contents = &translate_commands($contents) if ($contents =~ /$match_br_rx/o); # Modifies $contents &process_command($single_cmd_rx,$contents) if ($contents =~ /\\/o); $contents .= &balance_tags(); }; print STDOUT "\nOUT: {$br_id}" if ($VERBOSITY > 4); print STDOUT "\n:$contents\n" if ($VERBOSITY > 7); # THIS MARKS THE OPEN-CLOSE DELIMITERS AS PROCESSED $_ = join("", $before,"$OP$br_id$CP", $contents,"$OP$br_id$CP", $after); $NESTING_LEVEL--; } else { $pattern = &escape_rx_chars($pattern); s/$pattern//; print "\nCannot find matching bracket for $br_id" unless $AUX_FILE; } last unless ($_ =~ /$begin_cmd_rx/o); } $_ = join('',@processedC) . $_; # Now do any top level commands that are not inside any brackets # MODIFIES $_ print $_ if ($VERBOSITY > 8); &process_command($single_cmd_rx,$_); } #RRM: based on earlier work of Marcus Hennecke # makes sure the $open_tags_R at the end of an environment # is the same as @save_open_tags from the start, # ensuring that the HTML page indeed has balanced tags sub balance_tags { local($tag_cmd, $tags, $save_tags, $open_tags, @reopen_tags); $save_tags = join(',',@save_open_tags) if (@save_open_tags); $open_tags = join(',',@$open_tags_R) if (@$open_tags_R); if ($open_tags eq $save_tags) { return(); } if ($save_tags =~ s/^$open_tags//) { @reopen_tags = split (',',$'); } else { @reopen_tags = @save_open_tags; while (@$open_tags_R) { $tag_cmd = pop (@$open_tags_R); print STDOUT "\n</$tag_cmd>" if $VERBOSITY > 2; $declarations{$tag_cmd} =~ m|</.*$|; $tags .= $& unless ($` =~ /^<>$/); $open_tags = join(',',@$open_tags_R) if (@$open_tags_R); last if ( $save_tags =~ s/^$open_tags/ @reopen_tags = split (',',$');''/e); } } while (@reopen_tags) { $tag_cmd = shift @reopen_tags; if ($tag_cmd) { push (@$open_tags_R, $tag_cmd) if ($tag_cmd); print STDOUT "\n<$tag_cmd>" if $VERBOSITY > 2; $declarations{$tag_cmd} =~ m|</.*$|; $tags .= $` unless ($` =~ /^<>$/); } } $tags; } sub close_all_tags { return() if (!@$open_tags_R); local($tags,$tag_cmd); while (@$open_tags_R) { $tag_cmd = pop (@$open_tags_R); print STDOUT "\n</$tag_cmd>" if $VERBOSITY > 2; $declarations{$tag_cmd} =~ m|</.*$|; $tags .= $& unless ($` =~ /^<>$/); } $tags; } sub preserve_open_tags { local(@save_open_tags) = @$open_tags_R; local($open_tags_R) = [ @save_open_tags ]; # provides the markup to close and reopen the current tags (&close_all_tags(), &balance_tags()); } sub preserve_open_block_tags { local($tag_cmd,$tags_open,$tags_close,$pre,$post,@tags); while (@$open_tags_R) { $tag_cmd = pop (@$open_tags_R); print STDOUT "\n</$tag_cmd>" if $VERBOSITY > 2; $declarations{$tag_cmd} =~ m|</.*$|; ($pre,$post) = ($`,$&); if ($post =~ /$block_close_rx/) { # put it back and exit push(@$open_tags_R,$tag_cmd); last; } else { # leave it closed, collecting tags for it $tags_close .= $post; $tags_open = $pre . $tags_open; unshift(@tags,$tag_cmd); } } ($tags_close , $tags_open, @tags); } sub minimize_open_tags { local($this_tag, $close_only) = @_; local($pre,$post,$decl); $decl = $declarations{$this_tag}; if ($decl) { # if it is a declaration, get the corresponding tags... $decl =~ m|</.*$|; ($pre,$post) = ($`,$&) unless ($` =~ /^<>$/); if (!@$open_tags_R) { # when nothing else is open... # pushing the style, when appropriate push (@$open_tags_R, $this_tag) unless ($close_only ||($post =~ /$block_close_rx/)); print STDOUT "\n<$this_tag>" if $VERBOSITY > 2; # and return the tags return($pre,$post) unless ($USING_STYLES); local($env_id) = '' if ($env_id =~/^\w+$/); $pre =~ s/>$/ $env_id>/ if ($env_id); return($pre,$post); } } else { # ...else record the argument as $pre $pre = $this_tag unless $close_only; } local($env_id) = '' if ($env_id =~/^\w+$/); $pre =~ s/>$/ ID="$env_id">/ if ($USING_STYLES &&($env_id)); # return the tags, if nothing is already open if (!@$open_tags_R) { return($pre,$post); } # elsif ($close_only) { push (@$open_tags_R, $this_tag) } local($tags,$tag_cmd,$tag_open); local($closures,$reopens,@tags); local($tag_close,$tag_open); local($size_cmd,$size_open); local($font_cmd,$font_open); local($fontwt_cmd,$fontwt_open); local($color_cmd,$color_open); if ($decl) { if ($this_tag =~ /$sizechange_rx/) { $size_cmd = $this_tag; } else { if ($this_tag =~ /$fontchange_rx/) { $font_cmd = $this_tag } if ($this_tag =~ /$fontweight_rx/) { $fontwt_cmd = $this_tag } } } while (@$open_tags_R) { ($tag_close,$tag_open) = ('',''); $tag_cmd = pop (@$open_tags_R); print STDOUT "\n</$tag_cmd>" if $VERBOSITY > 2; $declarations{$tag_cmd} =~ m|</.*$|; ($tag_close,$tag_open) = ($&,$`) unless ($` =~ /<>/); $closures .= $tag_close; if ((!$size_cmd)&&($tag_cmd =~ /$sizechange_rx/)) { $size_cmd = $tag_cmd; $size_open = $tag_open; } elsif ((!$font_cmd)&&($tag_cmd =~ /$fontchange_rx/)) { $font_cmd = $tag_cmd; $font_open = $tag_open; } elsif ((!$fontwt_cmd)&&($tag_cmd =~ /$fontweight_rx/)) { $fontwt_cmd = $tag_cmd; $fontwt_open = $tag_open; } elsif ((!$color_cmd)&&($tag_cmd =~ /$colorchange_rx/)) { $color_cmd = $tag_cmd; $color_open = $tag_open; } elsif ($tag_cmd =~ /$sizechange_rx|$fontchange_rx|$fontweight_rx|$colorchange_rx/) { } else { unshift (@tags, $tag_cmd); print STDOUT "\n<<$tag_cmd>" if $VERBOSITY > 2; $reopens = $tag_open . $reopens; } } if ($USING_STYLES) { local($TAG) = "DIV"; if ($pre =~ /^<(DIV|SPAN|PRE)/) { $TAG = $1 }; if (($pre =~ /^<$TAG/)&&($env_id =~ /^\s+(CLASS|ID)/)) { $pre =~ s/<$TAG/<$TAG$env_id/; } elsif ($pre =~ /<P>/) { $TAG = 'P'; } else { } # $post .= "</$TAG>"; } push (@$open_tags_R, @tags); $tags .= $pre if ($pre && $post =~ /$block_close_rx/); if ($font_cmd && !($font_cmd eq $this_tag)) { push (@$open_tags_R,$font_cmd); print STDOUT "\n<$font_cmd>" if $VERBOSITY > 2; $tags .= $font_open; } if ($fontwt_cmd && !($fontwt_cmd eq $this_tag)) { push (@$open_tags_R,$fontwt_cmd); print STDOUT "\n<$fontwt_cmd>" if $VERBOSITY > 2; $tags .= $fontwt_open; } if ($size_cmd && !($size_cmd eq $this_tag)) { push (@$open_tags_R,$size_cmd); print STDOUT "\n<$size_cmd>" if $VERBOSITY > 2; $tags .= $size_open; } if ($color_cmd && !($color_cmd eq $this_tag)) { push (@$open_tags_R,$color_cmd); print STDOUT "\n<$color_cmd>" if $VERBOSITY > 2; $tags .= $color_open; } $tags .= $pre unless ($pre && $post =~ /$block_close_rx/); push (@$open_tags_R, $this_tag) if ($decl &&!($post =~ /$block_close_rx|$all_close_rx/)); print STDOUT "\n<$this_tag>" if $VERBOSITY > 2; ($closures.$reopens.$tags , $post ); } sub declared_env { local($decl, $_, $deferred) = @_; local($after_cell,$pre,$post); local($decls) = $declarations{$decl}; $decls =~ m|</.*$|; ($pre,$post) = ($`,$&); if ($USING_STYLES) { $env_style{$decl} = " " unless ($env_style{$decl}); $pre =~ s/>$/$env_id>/ if ($env_id); } local($closing_tag) = 1 if ($pre =~ /^<>$/); $pre = $post = '' if $closing_tag; local($closures,$reopens); local(@save_open_tags) = @$open_tags_R unless ($closing_tag || $deferred); local($open_tags_R) = [ @save_open_tags ] unless ($closing_tag || $deferred ); if ($post =~ /$block_close_rx/) { local($last_tag) = pop (@$open_tags_R); local($ldecl) = $declarations{$last_tag}; if ($ldecl =~ m|</.*$|) { $ldecl = $& } if (($last_tag)&&!($ldecl =~ /$block_close_rx/)) { # need to close tags, for re-opening inside push (@$open_tags_R, $last_tag); ($closures,$reopens) = &preserve_open_tags(); $pre = join('', $closures, "\n", $pre, $reopens); $post = join('', $closures, $post, $reopens); } elsif ($last_tag) { $pre = "\n".$pre; push (@$open_tags_R, $last_tag); undef $ldecl; } else { } if ($deferred) { if (defined $ldecl) { print STDOUT "\n<<$decl>" if $VERBOSITY > 2; unshift(@$open_tags_R, $decl); } else { print STDOUT "\n<$decl>" if $VERBOSITY > 2; push(@$open_tags_R, $decl); } return ( $pre . $_ ); } else { if (defined $ldecl) { print STDOUT "\n<<$decl>" if $VERBOSITY > 2; unshift(@$open_tags_R, $decl); } else { print STDOUT "\n<$decl>" if $VERBOSITY > 2; push(@$open_tags_R, $decl); } } } elsif ($post =~/$all_close_rx/) { ($closures,$reopens) = &preserve_open_tags(); ($pre,$post) = &minimize_open_tags($decl,1); $pre = join('', $closures, $pre); } elsif ($closing_tag) { $prev_open = $pre; ($pre,$post) = &minimize_open_tags($decl,1); $pre =~ s/<\/?>//g; $post =~ s/<\/?>//; } else { ($pre,$post) = &minimize_open_tags($decl); } $_ =~ s/^\s+//s; #RRM:28/4/99 remove spaces at the beginning $_ = &translate_environments($_); $_ = &translate_commands($_) if (/\\/); if ($post =~ /$block_close_rx/) { s/^\n?/\n/o; if (defined $ldecl) { $post = &close_all_tags(); } else { $post = "\n"; } } elsif ($post =~/$all_close_rx/) { } else { $post = '' }; join('', $pre, $_, $post , ($closing_tag ? '' : &balance_tags()) ); } sub do_cmd_centering{&declared_env('center',$_[0],$tex2html_deferred)} sub do_cmd_raggedright{&declared_env('flushleft',$_[0],$tex2html_deferred)} sub do_cmd_raggedleft{&declared_env('flushright',$_[0],$tex2html_deferred)} sub do_env_verse { &declared_env('verse',@_) } sub do_env_quote { &declared_env('quote', @_) } sub do_env_quotation { &declared_env('quote', @_) } sub do_env_tex2html_preform { &declared_env('preform', @_) } sub do_env_tex2html_ord { &declared_env('ord', @_) } sub do_env_tex2html_unord { &declared_env('unord', @_) } sub do_env_tex2html_desc { &declared_env('desc', @_) } # Modifies $contents sub process_command { # MRO: modified to use $_[1] # local ($cmd_rx, *ref_contents) = @_; local ($cmd_rx) = @_; local($ref_before, $cmd , $pc_after); local($cmd_sub, $cmd_msub, $cmd_trans, $mathentity); local (@open_font_tags,@open_size_tags); $_[1] = &convert_iso_latin_chars($_[1]) unless (($cmd =~ /(Make)?([Uu]pp|[Ll]ow)ercase/)|| ((!$cmd)&&($_[1] =~ /^\\(Make)?([Uu]pp|[Ll]ow)ercase/s))); local(@ref_processed); for (;;) { # Do NOT use the o option last unless ($_[1] =~ /$cmd_rx/ ); print "."; #JCL(jcl-del) - use new regexp form which handles white space ($ref_before, $cmd, $pc_after) = ($`, $1.$2, $4.$'); push(@ref_processed,$ref_before); #print "\nAFTER:$1.$2:".$4."\n" if ($cmd_rx eq $single_cmd_rx); print STDOUT "$cmd" if ($VERBOSITY > 2); print STDOUT "\nIN: $_[1]\n" if ($VERBOSITY > 6); # if ( $cmd = &normalize($cmd,$pc_after) ) { ($cmd_sub, $cmd_msub, $cmd_trans, $mathentity) = ("do_cmd_$cmd", "do_math_cmd_$cmd" , $declarations{$cmd}, $mathentities{$cmd}); if ($new_command{$cmd}||$renew_command{$cmd}) { # e.g. some \the$counter local($argn, $body, $opt) = split(/:!:/, $new_command{$cmd}); &make_unique($body) if ($body =~ /$O/); if ($argn) { do { local($before) = ''; local($_) = "\\$cmd ".$pc_after; # &substitute_newcmd may need what comes after the $cmd # from the value of $after #RRM: maybe best to pass it as a parameter ? my $keep_after = $after; $after = $pc_after; $pc_after = &substitute_newcmd; # may change $after $pc_after =~ s/\\\@#\@\@/\\/o ; $pc_after .= $after; $after = $keep_after; } } else { $pc_after = $body . $pc_after; } } elsif (defined &$cmd_sub) { # $ref_before may also be modified ... if ($cmd =~ /$sizechange_rx/o) { $pc_after = &$cmd_sub($pc_after, $open_tags_R); } else { $pc_after = &$cmd_sub($pc_after, $open_tags_R); }; } elsif ((defined &$cmd_msub)&&!$NO_SIMPLE_MATH) { #print "\nMCMD:$cmd_msub : "; # $ref_before may also be modified ... $pc_after = &$cmd_msub($pc_after, $open_tags_R); if ( !$math_mode ) { $pc_after = "<MATH>" . $pc_after . "</MATH>"; ++$commands_outside_math{$cmd}; }; } elsif ($cmd_trans) { # One to one transform #print "\nCMD-DECL: $inside_tabular : $cmd_trans". join(',',@$open_tags_R); if ($inside_tabular) { push (@ref_processed , "\\$cmd ") } else { $cmd_trans =~ m|</.*$|; $pc_after = $` . $pc_after unless ($` =~ /^<>/); push(@$open_tags_R, $cmd) if ($cmd =~ /$fontchange_rx|$fontweight_rx|$sizechange_rx/o); } } elsif ($mathentity) { #print "\nM-ENT:$mathentity : "; if ( $math_mode ) { $pc_after = "&$mathentity#$cmd;" . $pc_after; } elsif ($NO_SIMPLE_MATH) { $pc_after = "&$mathentity#$cmd;" . $pc_after; # ++$commands_outside_math{$cmd}; } else { $pc_after = "<MATH>&$mathentity#$cmd;</MATH>" . $pc_after; ++$commands_outside_math{$cmd}; } } elsif ($ignore{$cmd}) { # Ignored command print "\nignoring \\$cmd" if $VERBOSITY > 5; $pc_after = join('', " ", $pc_after) if ($cmd eq " "); # catches `\ ' $pc_after = join(''," ", $pc_after) if (($cmd eq ',')&&($pc_after =~ /^\-/s)&&($ref_before =~/\-$/s)); } elsif ($cmd =~ /^the(.+)$/){ $counter = $1; local($tmp)="do_cmd_$cmd"; if (defined &$tmp) { # Counter $pc_after = &do_cmd_thecounter($pc_after); } else { if (defined $failed) { $failed = 1; # $ref_before .= "$cmd"; push(@ref_processed,$cmd); # $ref_before .= "$cmd"; } else { &declare_unknown_cmd($cmd) } # $ref_before .= "$cmd" if ($failed); } } elsif ($cmd eq "\n") { push(@ref_processed," "); # $ref_before .= " "; } else { # Do not add if reading an auxiliary file if (defined $failed) { $failed = 1; } else { &declare_unknown_cmd($cmd) } } } else { # &normalize should have already handled it adequately # '\ ' (space) gets thru to here. Perhaps some others too ? # print "\n ?? This should not happen: \\$cmd ??\n"; } # $_[1] = join('', $ref_before, $pc_after); $_[1] = $pc_after; print STDOUT "\n-> $ref_before\n" if ($VERBOSITY > 6); } $_[1] = join('',@ref_processed).$_[1]; } sub declare_unknown_cmd { local($this_cmd) = @_; local($tmp) = "wrap_cmd_$cmd"; do { ++$unknown_commands{$cmd}; print STDOUT "\n*** Unknown command[1]: \\$cmd *** \n" if ($VERBOSITY > 2); } unless ($AUX_FILE||(defined &$tmp)||($image_switch_rx=~/\b\Q$cmd\E\b/)); } # This makes images from the code for math-entities, # when $NO_SIMPLE_MATH is set and the math extension is loaded. # sub replace_math_constructions { local($math_mode) = @_; &make_math_box_images($math_mode) if (/<BOX>/); &make_math_entity_images($math_mode) if (/\&\w+#\w+;/); } sub make_math_box_images { local($math_mode) = @_; local($pre,$this,$post,$tmp) = ('','',''); local($slevel,$blevel) = 0; while (/<BOX>/) { $pre .= $`; $tmp = $`; $this = ''; $post = $'; # compute the super/sub-scripting level for each entity $tmp =~ s/<(\/?)SU[BP]>/ if ($1) { $slevel--} else { $slevel++};''/eog; $tmp = $post; if ($tmp =~ /<(\/?)BOX>/o ) { if ($1) { $this = $`; $post = $' } else { $failed = 1 } # nested box, too complicated ! } else { &write_warnings("\nLost end of a <BOX> ?"); $failed = 1; } last if ($failed); ($this,$_) = &process_box_in_latex( $math_mode, $slevel, $this, $post); $_ =~ s/^\s*//; # remove any leading spaces $pre .= $this ."\001"; } return if ($failed); $_ = $pre . $_; } sub make_math_entity_images { local($math_mode) = @_; local($pre,$this,$post,$tmp) = ('','',''); local($slevel) = 0; # compute the super/sub-scripting level for each entity while (/\&\w+#(\w+);/) { $pre .= $`; $tmp = $`; $this = $1; $post = $'; $tmp =~ s/<(\/?)SU[BP]>/ if ($1) { $slevel--} else { $slevel++};''/eog; ($this,$_) = &process_entity_in_latex( $math_mode, $slevel, $this, $post); $_ =~ s/^\s*//; # remove any leading spaces $pre .= $this ."\001"; } $_ = $pre . $_; } #RRM: Revert a math-entity to create image using LaTeX, together with # any super/sub-scripts (possibly nested or with \limits ). # Must also get the correct \display/text/(script)script style. # sub process_entity_in_latex { local($mode,$level,$entity,$after) = @_; local($math_style,$supsub,$rest) = ('','',''); $level++ if ($mode =~/box/); # for top/bottom of inline fractions, etc. if ($level) { $math_style = "\\". (($level > 1) ? "script" : "")."scriptstyle" } else { $math_style = "\\displaystyle" unless ($mode =~ /inline/); } while ($after =~ s/^\s*((\\limits|\&limits;)?\s*<SU(P|B)>)\s*/$supsub .= $1;''/eo) { local($slevel) = 1; local($aftersupb) = ''; while ($slevel) { $after =~ s/(<(\/)SU(B|P)>)/($2)? $slevel-- : $slevel++;''/oe; $supsub .= $`.$&; $aftersupb = $'; } $after = $aftersupb; } local($latex_code) = "\$$math_style\\$entity$supsub\$"; $global{'max_id'}++; ( &process_undefined_environment('tex2html_wrap_inline' ,$global{'max_id'}, $latex_code ) , $after); } sub process_box_in_latex { local($mode,$level,$inside,$after) = @_; local($math_style,$which,$pre,$post,$tmp) = ('','',"\{","\}"); if ($level) { $math_style = "\\". (($level > 1) ? "script" : "")."scriptstyle" } else { $math_style = "\\displaystyle" unless ($mode =~ /inline/); } if ($inside =~ /<((LEFT)|(RIGHT))>/ ) { $pre = "\\left"; $post = "\\right"; if ($2) { $tmp = $`; $inside = $'; $pre .= (($tmp) ? $tmp : ".") . "\{"; if ( $inside =~ /<RIGHT>/ ) { $tmp = $'; $inside = $`; $post = "\}". (($tmp) ? $tmp : "."); } } else { $pre .= ".\{"; $tmp = $'; $inside = $`; $post = "\}". (($tmp) ? $tmp : "."); } } if ( $inside =~ /<((OVER)|(ATOP)|(CHOOSE))>/ ) { $pre .= $`; $post = $' . $post ; if ($2) { $which = "over " } elsif ($3) { $which = "atop " } elsif ($4) { $which = "atopwithdelims\(\)" } } local($latex_code) = join('', "\$" , $math_style , " ", $pre , (($which)? "\\$which" : "") , $post , "\$" ); if ($after =~ s/<SUP ALIGN=\"CENTER\">([^<]*)<\/SUP>/ $tmp =$1;''/eo ) { $latex_code = join('', "\\stackrel" , $latex_code , "\{" , $tmp , "\}" ); } $global{'max_id'}++; ( &process_undefined_environment('tex2html_wrap_inline' ,$global{'max_id'}, $latex_code ) , $after); } ####################### Processing Meta Commands ############################ # This is a specialised version of process_command above. # The special commands (newcommand, newenvironment etc.) # must be processed before translating their arguments, # and before we cut up the document into sections # (there might be sectioning commands in the new definitions etc.). # \newtheorem commands are treated during normal processing by # generating code for the environments they define. sub substitute_meta_cmds { local ($next_def); local ($cmd, $arg, $argn, $opt, $body, $before, $xafter); local ($new_cmd_no_delim_rx, $new_cmd_rx, $new_env_rx, $new_cmd_or_env_rx); local ($new_end_env_rx); &tokenize($meta_cmd_rx); #JCL(jcl-del) - put delimiter after meta command print "\nProcessing macros ..." if (%new_command || %new_environment); # First complete any replacement left-over from the previous part. if ($UNFINISHED_ENV) { s/$UNFINISHED_ENV/$REPLACE_END_ENV/; $UNFINISHED_ENV = ''; $REPLACE_END_ENV = ''; } local(@processed); local($processed, $before, $after)=('', '', $_); while ($after =~ /$meta_cmd_rx$EOL/o) { # ... and uses the delimiter ($cmd, $after) = ($1.$2, $'); $before .= $`; # $next_def = ''; if (!($before =~ /$meta_cmd_rx$EOL/)) { push(@processed, $before); $before = ''; } print ","; # $next_def = "\\$cmd" unless (($cmd =~ /renewcommand/)); local($cmd_sub) = "get_body_$cmd"; if (defined &$cmd_sub) { # $processed = &$cmd_sub(*after); $processed = &$cmd_sub(\$after); # if ($processed) { $after = $before . $processed; } # $next_def = '' # if (($PREAMBLE > 1)&&($cmd =~ /(re)?newcommand/)); # &add_to_preamble($cmd, $next_def) # unless ($next_def =~ /^\s*$/); ### new style of handling meta-commands if ($processed) { push(@processed, "\\".$processed) } } elsif ($before) { # this shouldn't happen !! print STDERR "\nCannot handle \\$cmd , since there is no $cmd_sub "; $after = $before . $cmd . $after; $before = ''; } else { push(@processed, "\\$cmd ") if $cmd; } } print "\nmeta-commands: ". (0+@processed) ." found " if ((@processed)&&($VERBOSITY > 1)); $_ = join('',@processed, $after); undef @processed; if ($PREAMBLE) { # MRO: replaced $* with /m s/((\n$comment_mark\d*)+\n)//gm; s/(\\par\b\s*\n?)+/\\par\n/gm; s/(\\par\b\n?)+/\\par\n/gm; } # hard-code the new-command replacements for these $new_command{'begingroup'} = "0:!:\\begin<<0>>tex2html_begingroup<<0>>:!:}"; $new_command{'endgroup'} = "0:!:\\end<<0>>tex2html_begingroup<<0>>:!:}"; $new_command{'bgroup'} = "0:!:\\begin<<0>>tex2html_bgroup<<0>>:!:}"; $new_command{'egroup'} = "0:!:\\end<<0>>tex2html_bgroup<<0>>:!:}"; # All the definitions have now moved to the $preamble and their bodies # are stored in %new_command and %new_environment # # Now substitute the new commands and environments: # (must do them all together because of cross definitions) $new_cmd_rx = &make_new_cmd_rx(keys %new_command); $new_cmd_no_delim_rx = &make_new_cmd_no_delim_rx(keys %new_command); $new_env_rx = &make_new_env_rx; $new_end_env_rx = &make_new_end_env_rx; # $new_cnt_rx = &make_new_cnt_rx(keys %new_counter); $new_cmd_or_env_rx = join("|", $new_cmd_no_delim_rx." ", $new_env_rx); # $new_cmd_or_env_rx = join("|", $new_cmd_no_delim_rx." ", $new_env_rx, " ".$new_cnt_rx); $new_cmd_or_env_rx =~ s/^ \||\|$//; print STDOUT "\nnew commands:\n" if ($VERBOSITY > 2); while (($cmd, $body) = each %new_command) { unless ($expanded{"CMD$cmd"}++) { print STDOUT ".$cmd " if ($VERBOSITY > 2); $new_command{$cmd} = &expand_body; print STDOUT " ".$new_command{$cmd}."\n" if ($VERBOSITY > 4); &write_mydb("new_command", $cmd, $new_command{$cmd}); } } print STDOUT "\nnew environments:\n" if ($VERBOSITY > 2); while (($cmd, $body) = each %new_environment) { unless ($expanded{"ENV$cmd"}++) { print STDOUT ".$cmd" if ($VERBOSITY > 2); $new_environment{$cmd} = &expand_body; &write_mydb("new_environment", $cmd, $new_environment{$cmd}); } } print STDOUT "\nnew counters and dependencies:\n" if ($VERBOSITY > 2); &clear_mydb("dependent") if ($DEBUG); #avoids appending to a previous version while (($cmd, $body) = each %dependent) { print STDOUT ".($cmd,$body)" if ($VERBOSITY > 2); &write_mydb("dependent", $cmd, $dependent{$cmd}); } &clear_mydb("img_style") if ($DEBUG); #avoids appending to a previous version while (($cmd, $body) = each %img_style) { &write_mydb("img_style", $cmd, $img_style{$cmd}); } &clear_mydb("depends_on") if ($DEBUG); #avoids appending to a previous version while (($cmd, $body) = each %depends_on) { print STDOUT ".($cmd,$body)" if ($VERBOSITY > 2); &write_mydb("depends_on", $cmd, $depends_on{$cmd}); } &clear_mydb("styleID") if ($DEBUG); #avoids appending to a previous version while (($cmd, $body) = each %styleID) { &write_mydb("styleID", $cmd, $styleID{$cmd}); } &clear_mydb("env_style") if ($DEBUG); #avoids appending to a previous version while (($cmd, $body) = each %env_style) { &write_mydb("env_style", $cmd, $env_style{$cmd}); } &clear_mydb("txt_style") if ($DEBUG); #avoids appending to a previous version while (($cmd, $body) = each %txt_style) { &write_mydb("txt_style", $cmd, $txt_style{$cmd}); } print STDOUT "\ntheorem counters:\n" if ($VERBOSITY > 2); &clear_mydb("new_theorem") if ($DEBUG); #avoids appending to a previous version while (($cmd, $body) = each %new_theorem) { print STDOUT ".($cmd,$body)" if ($VERBOSITY > 2); &write_mydb("new_theorem", $cmd, $new_theorem{$cmd}); } print "+"; if (length($new_env_rx)) { local(@pieces); print STDOUT "\nsubstituting new environments: $new_env_rx\n" if ($VERBOSITY > 3); # while (/\n?$new_env_rx/ && (($before, $cmd, $after) = ($`, $2, $'))) { while (/$new_env_rx/ && (($before, $cmd, $after) = ($`, $2, $'))) { print STDOUT ","; print STDOUT "{$cmd}" if ($VERBOSITY > 1); if (!($before =~ /$new_env_rx/)) { push (@pieces, $before); $before = ''; print "{}"; } $_ = join('',$before, &substitute_newenv); } print "\n ".(0+@pieces). " new environments replaced\n" if (@pieces); $_ = join('', @pieces, $_); undef @pieces; } print "+"; if (length($new_cmd_rx)) { print STDOUT "\ntokenizing: $new_cmd_rx\n" if ($VERBOSITY > 2); &tokenize($new_cmd_rx); # Put delimiter after the new commands # and use the delimiter. print STDOUT "\nsubstituting new commands: $new_cmd_rx\n" if ($VERBOSITY > 2); print STDOUT "\ninitial size: ".length($after) if ($VERBOSITY > 1); # store processed pieces in an array local($this_cmd, @pieces); # speed-up processing of long files by splitting into smaller segments # but don't split within the preamble, else \newenvironment may break local($pre_segment,@segments); &make_sections_rx; local($within_preamble,$this_section) = 1 if ($PREAMBLE>1); while (/$sections_rx/) { $pre_segment .= $`; $_ = $'; $this_section = $&; do { push(@segments,$pre_segment); $pre_segment = ''; } unless ($within_preamble); $within_preamble = 0 if ($within_preamble && ($pre_segment =~ /\\(startdocument|begin\s*($O\d+${C})\s*document\s*\2)/)); $pre_segment .= $this_section; } push(@segments,$pre_segment.$_); local($replacements,$seg) ; $before = ''; # count the segments local($within_preamble) = 1 if ($PREAMBLE>1); foreach $after (@segments) { while ($after =~ /(\\(expandafter|noexpand)\b\s*)?$new_cmd_no_delim_rx\b\s?/) { ($before, $xafter, $cmd, $after) = ($`, $2, $3, $'); $within_preamble = 0 if ($before =~ /\\(startdocument|begin\s*($O\d+${C})\s*document\s*\2)/); push(@pieces, $before); print "."; ++$replacements; print STDOUT "$cmd" if ($VERBOSITY > 2); if ($xafter =~ /no/) { $this_cmd = "\\\@#\@\@".$cmd } elsif (($xafter =~ /after/)&&($after =~ /^\s*\\/)) { local($delayed) = $cmd; local($nextcmd); $after =~ s/^\s*\\([a-zA-Z]+|.)/$nextcmd = $1;''/eo; ($cmd,$nextcmd) = ($nextcmd, "do_cmd_$nextcmd"); if (defined &$nextcmd) { $after = &$nextcmd($after); } elsif ($new_command{$cmd}) { local($argn, $body, $opt) = split(/:!:/, $new_command{$cmd}); &make_unique($body) if ($body =~ /$O/); if ($argn) { do { local($before) = ''; $after = join('',&substitute_newcmd, $after); $after =~ s/\\\@#\@\@/\\/o ; }; } else { $after = $body . $after; } } else { print "\nUNKNOWN COMMAND: $cmd "; } $cmd = $delayed; if ($new_command{$cmd}) { if ($renew_command{$cmd}) { # # must wrap it in a deferred environment # $this_cmd = join('', &make_deferred_wrapper(1) # ,"\\$cmd".(($cmd =~ /\w$/)? " ":'') # , &make_deferred_wrapper(0)); # push(@pieces, $this_cmd); $this_cmd = ''; push(@pieces, "\\$cmd".(($cmd =~ /\w$/)? " ":'')); $this_cmd = ''; } elsif ($provide_command{$cmd}&&$within_preamble) { # leave it alone push(@pieces, "\\$cmd".(($cmd =~ /\w$/)? " ":'')); $this_cmd = ''; } else { # do the substitution $this_cmd = &substitute_newcmd; } } } elsif ($renew_command{$cmd}) { # leave it alone push(@pieces, "\\$cmd".(($cmd =~ /\w$/)? " ":'')); $this_cmd = ''; } elsif (($provide_command{$cmd})&&($within_preamble)) { # leave it alone push(@pieces, "\\$cmd".(($cmd =~ /\w$/)? " ":'')); $this_cmd = ''; } else { # do the substitution $this_cmd = &substitute_newcmd if ($new_command{$cmd}); } if ($this_cmd =~ /(\\(expandafter|noexpand)\s*)?$new_cmd_no_delim_rx\b\s?/) { $after = $this_cmd . $after } elsif ($this_cmd) { push(@pieces, $this_cmd) } } push(@pieces, $after); } print " $replacements new-command replacements\n" if (($VERBOSITY>1) && $replacements); # recombine the processed pieces $_ = join('', @pieces); undef @pieces; print STDOUT ", resulting size: ".length($_)." " if ($VERBOSITY > 1); $_ =~ s/\\\@#\@\@/\\/go; } print STDOUT "\n *** substituting metacommands done ***\n" if ($VERBOSITY > 3); } sub insert_command_expansion { ($xafter, $cmd) = @_; # push(@pieces, $_[1]); print ".$cmd"; print STDOUT "$_[3]" if ($VERBOSITY > 2); # $xafter = $_[2]; # $cmd = $_[3]; if ($xafter =~ /no/) { $this_cmd = "\\\@#\@\@".$cmd } elsif (($xafter =~ /after/)&&($after =~ /^\s*\\/)) { local($delayed,$nextcmd) = ($_[3],''); $after =~ s/^\s*\\([a-zA-Z]+|.)/$nextcmd = $1;''/eo; ($cmd,$nextcmd) = ($nextcmd, "do_cmd_$nextcmd"); if (defined &$nextcmd) { $after = &$nextcmd($after); } elsif ($new_command{$cmd}) { local($argn, $body, $opt) = split(/:!:/, $new_command{$cmd}); &make_unique($body) if ($body =~ /$O/); if ($argn) { do { local($before) = ''; $after = join('',&substitute_newcmd, $after); $after =~ s/\\\@#\@\@/\\/o ; }; } else { $after = $body . $after; } } else { print "\nUNKNOWN COMMAND: $cmd "; } $cmd = $delayed; $this_cmd = &substitute_newcmd if ($new_command{$cmd}); } else { $this_cmd = &substitute_newcmd if ($new_command{$cmd}); } # if ($this_cmd =~ /(\\(expandafter|noexpand)\s*)?$new_cmd_no_delim_rx\s?/){ # $after = $this_cmd . $after # } else { push(@pieces, $this_cmd); } $this_cmd; } sub expand_body { return unless length($new_cmd_or_env_rx); local($_) = $body; local($cmd,$saveafter,$avoid_looping); # Uses $before, $body, $arg, etc. of the caller, but not $cmd. # Uses $new_cmd_rx (resp. $new_cmd_no_delim_rx) and $new_env_rx # set in the caller, of which one might be empty. # Puts delimiter after the new commands ... &tokenize($new_cmd_rx) if length($new_cmd_rx); while (/$new_cmd_or_env_rx/) { # $new_cmd_rx binds $1, and $new_env_rx binds $3. ($before,$cmd,$after,$saveafter) = ($`,$1.$3,$',$'); if (length($new_command{$cmd})) { # We have a command # this tokenizes again local($replace) = &substitute_newcmd; # sets $_, changes $after if (!($replace)) { # protect name of unexpanded macro $_ = join('', $before ,"\\@#@@", $cmd, $saveafter ); } else { $_ = join('', $before , $replace, $after ); } } elsif (length($new_environment{$cmd})) { $_ = join('',$before, &substitute_newenv); } last if $avoid_looping; } # remove protection from unreplaced macro names s/\\\@#\@\@/\\/go; # remove trivial comments s/(\\\w+)$comment_mark\d*\n[ \t]*/$1 /go; s/$comment_mark\d*\n[ \t]*//go; # s/($O\d+$C)?($comment_mark\n)[ \t]*/($1 ? $1.$2 : '')/eg; $_; } sub substitute_newcmd { # Modifies $after in the caller # Get the body from the new_command array local($tmp,$cnt,$saved, $arg, $isword) = ('',0,$cmd); local($argn, $_, $opt) = split(/:!:/, $new_command{$cmd}); $avoid_looping = 1 if ($new_command{$cmd} =~ /\\$cmd\b/); &tokenize($new_cmd_rx); # must do it again for newly inserted cmd bodies print STDOUT "\nNEW:$cmd:$_" if ($VERBOSITY > 5); foreach $i (1..$argn) { $arg = $isword = ''; if ($i == 1 && $opt ne '}') { $arg = ($after =~ s/$optional_arg_rx//o) ? $1 : $opt; } else { # Get the next argument, if not in braces, get next character #RRM: allow also for processed braces, in case substitution # was delayed; e.g. by \renewcommand if (!(($after =~ s/$next_pair_rx/$arg = $2;''/e) ||($after =~ s/$next_pair_pr_rx/$arg = $2;''/e))) { $after =~ s/^\s*(\\[a-zA-Z]+|.)/$arg = $1;''/e; } if ($arg eq '#') { &write_warnings("\nSubstitution of arg to $cmd delayed."); $_ = "\\\@#\@\@$saved"; return (); }; } $arg =~ s/(^|\G|[^\\])\\\#/$1$hash_mark/gs; $arg =~ s/\#/$param_mark/gs; #RRM: Substitute the arguments in the body one at a time # else multiple instances would fail in &make_unique # First protect ## parameters in TeX-like substitutions # suggested by Dirk Pleiter (Berlin) s/((^|[^\\])(\\\\)*)\#\#$i/$1$protected_hash/gs; $tmp = $_; $cnt = $tmp =~ s/\#$i//g ; $isword = 1 if ($arg =~ /^\w/); if ($cnt > 1 ) { $tmp = $_; while ($cnt > 1) { if ( s/(\\\w+)?\#$i/(($1&&$isword)? $1.' ': '').$arg/e) { &make_unique($_) if ($arg =~ /$O/ ); &make_unique_p($_) if ($arg =~ /$OP/ ); } $cnt--; } $tmp = $_; } # s/(\\\w+)?\#$i/(($1&&$isword)? $1.' ': '').$arg/e ; s/(\\\w+)?\#$i/$1.(($1&&$isword)? ' ': '').$arg/e ; print "\n *** substitution: $arg \nfor \#$i in \\$cmd did not take ***\n" if (/\#$i/); &write_warnings("incomplete substitution in a \\$cmd command:\n$_") if (/\#$i/); s/$protected_hash/\#$i/g; } s/$param_mark/\#/g; s/$hash_mark/\\\#/g; s/(\\\w+)$/$1 /s; # Make the body unique (give unique id's to the brackets), # translate, and return it &make_unique($_); if ($avoid_looping) { s/\\$cmd\b/\\csname $cmd\\endcsname/g; print STDERR "\n *** possible looping with new-command \\$cmd ***\n"; &write_warnings("\npossible looping with new-command \\$cmd "); } print STDOUT "\nOUT:$cmd:$_" if ($VERBOSITY > 5); # Insert a space to prevent letters from clashing together with a # letter command. Consider this: # New command substitution is restricted to commands introduced by # \newcommand etc. (so-called meta commands), but it is not done # for already defined commands, eg. \large. # But new command, as well as new environment, substitution is done # prior to any other substitution. # So \newcommand{\this}{...} {\large\this b} will get expanded the # following way: # 1. \newcommand{\this}{...} # is handled by &substitute_meta_cmds, it gets the definition # of \this and stores it within a table, %new_command. # After all new commands are recognized, &expand_body is called # to expand one command body from each other. That's O(n*n)! # 2. A regular expression $new_cmd_rx is built containing a pattern # that matches all occurrences of a properly delimited \this # macro. When matching, ensuing white space gets lost. # (But only for letter commands, see also &make_new_cmd_rx.) # Another regular expression called $new_cmd_no_delim_rx is built # which matches exact the \this, and would also match the prefix # of \thisx. # 3. The *whole* text is tokenized using $new_cmd_rx, with separates # \this from the ensuing text by one white space. # 4. Then $new_cmd_no_delim_rx together with the delimiting space # is used to substitute \this with its body. # 5. The following situations may occur: # a) ... is some text (no macros) => {\large<text>yyy} # Then we must prevent that the text clashes into \large. # This is only dangerous when <text> begins with a letter. # b) ... contains another, not expanded new command. # This happens during &expand_body. # In this case, make sure to &tokenize the body before giving # the result to the caller. Also take care that leading letters # of the body cannot clash into \large. # e) ... contains a macro not known as new command: # Make sure that the macro cannot clash with the ensuing yyy. # f) ... is empty: # Make sure that \large cannot clash with yyy. # 6. We prevent clashing by inserting a delimiting blank. # Out of the scetched situation, there are three conditions to # take care of: # a) empty body, left a letter command, right a letter => blank # b) body starts with letter, left a letter command => blank # c) body ends with letter command, right a letter => blank # d) else => no blank, clash all together, it will work. # 7. With this rules, the expansion should work quite well, # concerning letter/non-letter commands and white space # handling. # 8. Deficiencies: # 8.1 Consider \this<CR>that. It's handled this way: # a) The \this swallows the <CR> in LaTeX, but what LaTeX2HTML does # is to &tokenize the expression into \this <CR>that. # b) If ... is some text, it results in <text><CR>that. # c) If ... is a macro (or command, or control sequence, these # terms are often mixed up, but effectively mean the same), # then if the macro later takes at least one argument, the <CR> # might get swallowed, this depends on the grace of $next_pair_rx # resp. $next_pair_pr_rx. # If the macro takes no arguments, the <CR> remains in the text. # d) If ... ends in another new command, the problem repeats. # 8.2 The new commands are substituted in a very insensitive way. # If \this occurs within an environment which sees \this # totally different, there's no chance to substitute \this in # a different way. # 8.3 In relation to 8.2 a similar problem arises when the meta # command, or several meta commands redefining \this, occur # amongst several \this macros. # 8.4 In raw TeX like environments it is not possible to revert the # expansion of \this, but \this probably *must* occur in its # raw form. # Handle the cases as depicted in the description of new command # substitution. local($befdel,$aftdel); $befdel = ' ' if ($before=~/(^|[^\\])\\[a-zA-Z]+$/ && /^$/ && $after=~/^[a-zA-Z]/) || ($before=~/(^|[^\\])\\[a-zA-Z]+$/ && /^[a-zA-Z]/); $aftdel = ' ' if /(^|[^\\])\\[a-zA-Z]+$/ && $after=~/^[a-zA-Z]/; join('', $befdel, $_, $aftdel); } #RRM: use this to test whether a specific command is substituting correctly sub trace_cmd { local($this) = @_; if ($cmd eq $this) { print "\n$1=>$id:$2::"} } # Make the text unique (give unique id's to the brackets). # The text shouldn't contain processed brackets. sub make_unique { # MRO: Change to references $_[0] # local(*_) = @_; my $id = $global{'max_id'}; # MRO: replaced $* by /m # this looks quite funny but is optimized 1 while($_[0] =~ s/$O(\d+)$C([\w\W]*)$O\1$C/$id++;"\000$id $2\000$id "/geom); $_[0] =~ s/\000(\d+) /$O$1$C/gom; $global{'max_id'} = $id; } #RRM: this shouldn't be needed, but just in case... sub make_unique_p { # MRO: Change to references $_[0] my $id = $global{'max_id'}; # MRO: replaced $* by /m # this looks quite funny but is optimized 1 while($_[0] =~ s/$OP(\d+)$CP([\w\W]*)$OP\1$CP/$id++;"\000$id $2\000$id "/geom); $_[0] =~ s/\000(\d+) /$OP$1$CP/gom; $global{'max_id'} = $id; } sub substitute_newenv { # Modifies $cmd and $after in the caller # Get the body from the new_environment array local($argn, $begdef, $enddef, $opt) = split(/:!:/, $new_environment{$cmd}); local($arg,$new_def_rx,$tmp,$cnt); # Note that latex allows argument substitution only in the # \begin part of the new definition foreach $i (1..$argn) { # Process the arguments if (($i == 1) && ($opt ne '}')) { $after =~ s/$optional_arg_rx/$arg = $1;''/eo; $arg = $opt unless $arg; } else { $after =~ s/$next_pair_rx/$arg = $2;''/eo; } $arg =~ s/(^|[^\\])\\\#/$1$hash_mark/g; $arg =~ s/\#/$param_mark/g; #RRM: multiple instances can fail later in &make_unique # s/\#$i/$arg/g; # Substitute the arguments in the body #RRM: ...so do one at a time and &make_unique_p $tmp = $begdef; $cnt = $tmp =~ s/\#$i//g ; if ($cnt > 1) { $tmp = $begdef; while ($cnt > 1) { if ( $begdef =~ s/\#$i/$arg/) { &make_unique($begdef) if ($arg =~ /$O/ ); &make_unique_p($begdef) if ($arg =~ /$OP/ ); } $cnt--; } $tmp = $_; } $begdef =~ s/\#$i/$arg/ ; print "\n *** substitution: $arg \nfor \#$i in {$cmd} did not take ***\n" if ($begdef =~ /\#$i/); &write_warnings("incomplete substitution in a {$cmd} environment:\n$begdef") if ($begdef =~ /\#$i/); } $begdef =~ s/$param_mark/\#/g; $begdef =~ s/$hash_mark/\\\#/g; $begdef =~ s/(\\\w+)$/$1 /s; # Make the body unique (Give unique id's to the brackets), # translate, and return it #RRM: when are these needed ? # $_ = &revert_to_raw_tex($_); # &pre_process; &make_unique($begdef); # Make bracket IDs unique print STDOUT "\nBEGIN:$cmd:$begdef" if ($VERBOSITY > 4); # Now substitute the \end part: #RRM: when are these needed ? # $_ = &revert_to_raw_tex($enddef); # &pre_process; &make_unique($enddef); # Make bracket IDs unique print STDOUT "\nEND:$cmd:$enddef" if (($enddef)&&($VERBOSITY > 4)); $enddef =~ s/(\\\w+)$/$1 /s; local($new_end_def_rx) = &make_end_env_rx($cmd); if (($enddef)&&!($after =~ s/\n?$new_end_def_rx/$enddef/ )) { $UNFINISHED_ENV = $new_end_def_rx; $REPLACE_END_ENV = $enddef; }; join('',$begdef,$after); } sub substitute_pars { s/((\%|$comment_mark\d*)|.)(\n[ \t]*){2,}[ \t]*/$1\n\\par \n/og; # s/((\%|$comment_mark\d*)|\d|.)[\r\n\015]{2,}/print "\nPAR:".$`.$&;"$1\n\\par \n"/egs; } sub do_cmd_end { #RRM: catches the end of any unclosed environments local($_) = @_; &missing_braces unless ( (s/$next_pair_pr_rx//o)||(s/$next_pair_rx//o)); s/^\n//; $_; } # Removes the definition from the input string, # adds to the preamble unless it is part of the preamble already # and stores the body in %new_command; sub get_body_newcommand { local($newed, $n_after) = &process_body_newcommand(0,@_); (($PREAMBLE)? "newed".$newed : ''); } sub process_body_newcommand { # local($renewed,*_) = @_; local($renewed,$after_R) = @_; local($_) = $$after_R; local($no_change) = $_; local($argn,$newcmd,$cmd_br,$body,$body_br,$tmp,$tmp1,$opt,$pat); local($new_cmd) = 'command'; if ($renewed =~ /provide/||$renewed == 2) { # $newcmd = &missing_braces unless ( ($newcmd,$pat) = &get_next(1) unless ( (s/$next_pair_pr_rx/$pat=$&;$newcmd=$2;''/e) ||(s/$next_pair_rx/$pat=$&;$newcmd=$2;''/e)); if (!$pat) { local($br_id) = ++$global{'max_id'}; $pat = "$O$br_id$C".$newcmd."$O$br_id$C"; } } else { ($newcmd,$pat) = &get_next(1); # Get command name } $pat =~ s/\\//; $new_cmd .= $pat; $newcmd =~ s/^\s*\\//; ($argn,$pat) = &get_next(0); # Get optional no. of args $argn = 0 unless $argn; $new_cmd .= $pat if $argn; local($cmd) = $newcmd; # Get the body of the code and store it with the name and number of args # UNLESS THE COMMAND IS ALREADY DEFINED # ...in which case $ALLOW_REDEFINE must also have been set. # RRM # (This is the mechanism with which raw html can be ignored in a Latex document # but be recognised as such by the translator). $opt = '}'; # Flag for no optional arg local($bodyA) = ''; if (/^\[/) { ($opt,$pat) = &get_next(0); $new_cmd .= $pat; $bodyA .= "\n".'($dummy, $pat) = &get_next_optional_argument;' . "\n". '$args .= $pat;'; } local($nargs) = $argn; while ($nargs > 0) { $nargs--; $bodyA .= "\n".'$args .= $`.$& if ((s/$next_pair_pr_rx//o)||(s/$next_pair_rx//o));'; } if ($renewed =~ /provide/||$renewed == 2 ) { $body = &missing_braces unless ( (s/$next_pair_pr_rx/$pat=$&;$body=$2;''/e) ||(s/$next_pair_rx/$pat=$&;$body=$2;''/e)); $new_cmd .= $pat; } else { ($body,$pat) = &get_next(4); #get the body $new_cmd .= $pat; } local($thisone); # $thisone = 1 if ($cmd =~ /div|vec/); # for debugging $tmp = "do_cmd_$cmd"; local($wtmp) = "wrap_cmd_$cmd"; if ((defined &$tmp)||(defined &$wtmp)){ # command already exists, so \providecommand does nothing # but may still be needed in images.tex $$after_R = $_; return ($new_cmd) if ($renewed =~ /provide/); print "\n*** redefining \\$cmd ***\n"; &write_warnings("\nredefining command \\$cmd "); if (!$ALLOW_REDEFINE) { print "*** overiding previous meaning ***\n"; &write_warnings("\nprevious meaning of \\$cmd will be lost"); } # local($code) = "undef \&$tmp"; eval ($code); # if ($@) {print "\n*** undef \&$cmd failed \n"} if ((!$PREAMBLE)||($renewed>1)) { $new_command{$cmd} = join(':!:',$argn,$body,$opt); # local($code) = "sub $tmp\{\&replace_new_command(\"$cmd\");\}"; # eval $code; # print STDERR "\n*** sub do_cmd_$cmd failed:\nPERL: $@\n" if ($@); # &replace_new_command($cmd); } $renew_command{$cmd} = 1; &write_mydb("renew_command", $cmd, $renew_command{$cmd}); local($padding) = " "; $padding = '' if (($cmd =~ /\W$/)||(!$args)||($args =~ /^\W/)); # Generate a new subroutine local($codeA) = "sub wrap_cmd_$cmd {" . "\n" .'local($cmd, $_) = @_; local ($args, $dummy, $pat) = "";' . $bodyA . (($thisone)? "\nprint \"\\nwrap $cmd:\".\$args.\"\\n\";" : '') . "\n".'(&make_deferred_wrapper(1).$cmd.' . "\"$padding\"".'.$args.&make_deferred_wrapper(0),$_)}' . "\n"; print "\nWRAP_CMD: $codeA " if ($thisone); # for debugging eval $codeA; print STDERR "\n\n*** sub wrap_cmd_$cmd failed: $@\n" if ($@); $raw_arg_cmds{$cmd} = 1; } elsif (($ALLOW_REDEFINE)&&($PREAMBLE < 2)) { print "\n*** redefining \\$cmd ***\n"; &write_warnings("\ncommand \\$cmd had no previous definition") if (!($new_command{$cmd})); } if ($renewed && ($PREAMBLE > 1) &&($new_command{$cmd})) { $raw_arg_cmds{$cmd} = 1 ; $renew_command{$cmd} = 1; local($padding) = " "; $padding = '' if (($cmd =~ /\W$/)||(!$args)||($args =~ /^\W/)); # Generate a new subroutine local($codeA) = "sub wrap_cmd_$cmd {" . "\n" .'local($cmd, $_) = @_; local ($args, $dummy, $pat) = "";' . $bodyA . (($thisone)? "\nprint \"\\nwrap $cmd:\".\$args.\"\\n\";" : '') . "\n".'(&make_deferred_wrapper(1).$cmd.' . "\"$padding\"".'.$args.&make_deferred_wrapper(0),$_)}' . "\n"; print "\nWRAP_CMD: $codeA " if ($thisone); # for debugging eval $codeA; print STDERR "\n\n*** sub wrap_cmd_$cmd failed: $@\n" if ($@); &write_mydb("renew_command", $cmd, $renew_command{$cmd}); } elsif ($renewed) { $new_command{$cmd} = join(':!:',$argn,$body,$opt); } else { $new_command{$cmd} = join(':!:',$argn,$body,$opt) unless (($PREAMBLE > 1)&&($renew_command{$cmd})); } local($this_cmd); $this_cmd = join('' , "command{\\$cmd}" , ($argn ? "[$argn]" :'') , (($opt =~ /^}$/) ? '' : "[$opt]" ) , "{", $body , "}" ); $this_cmd = &revert_to_raw_tex($this_cmd); if ($renewed) { if ($renewed=~/provide/){ $provide_command{$cmd} = 1; &write_mydb("provide_command", $cmd, $provide_command{$cmd}); # } else { # print "\n ** marking $cmd as renewed **"; # $renew_command{$cmd} = 1; }; if ((!$PREAMBLE)&&($renewed>1)) { # local($this_cmd) = join('' # , "\n\\renewcommand{\\$cmd}" # , ($argn ? "[$argn]" :'') # , (($opt =~ /^}$/) ? '' : "[$opt]" ) # , "{", $body , "}\n" ); # $latex_body .= &revert_to_raw_tex($this_cmd); $latex_body .= "\n\\renew". $this_cmd."\n"; } else { ## &add_to_preamble('command',"\\" . $this_cmd); } } else { &add_to_preamble('command',"\\new" . $this_cmd) unless ($PREAMBLE); } undef $body; if ($renewed == 2) { # there is no output to return $$after_R = $_; return(); } if (!$PREAMBLE) { $$after_R = $_; return ($new_cmd) if ($renewed); # $cmd_br =~ s/\\//; # ( join ('', &make_deferred_wrapper(1) # , "\\". ($renewed ? (($renewed =~ /provide/)? 'provid' : 'renew') # : 'new')."edcommand" # , $cmd_br , ($argn ? "[$argn]" :'') # , ( ($opt =~ /^\}$/ ) ? '' : "[$opt]" ) , $body_br # , &make_deferred_wrapper(0)) , $_ ); $new_cmd = join('', "command{\\$cmd}" , ($argn ? "[$argn]" :'') , (($opt =~ /^\}$/) ? '' : "[$opt]" ) , "{", $body , "}" ); $new_cmd = &revert_to_raw_tex($new_cmd); &add_to_preamble('command', "\\provide".$new_cmd ); $$after_R = $_; return(); } $new_cmd =~ s/\\$cmd([\d\W]|$)/$cmd$1/s; $$after_R = $_; $new_cmd; } sub replace_new_command { local($cmd) = @_; local($argn, $body, $opt) = split(/:!:/, $new_command{$cmd}); do { ### local($_) = $body; &make_unique($body); } if ($body =~ /$O/); $body =~ s/(^|[^\\])\~/$1\\nobreakspace /g; if ($argn) { do { local($before) = ''; local($after) = "\\$cmd ".$_; $after = &substitute_newcmd; # may change $after $after =~ s/\\\@#\@\@/\\/o ; }; } elsif ($body =~ /\\/) { $body = &translate_commands($body); # ??? $_ = $body . $_; } else { $_ = $body . $_; } $_; } sub get_body_let { # local(*_) = @_; local($_) = @_; local($cmd,$body,$replace,$tmp,$pat); ($cmd,$body) = &get_next_tex_cmd; s/^\s*=?\s*/$body .= $&;''/e; ($replace,$pat) = &get_next_tex_cmd; # return() if ($replace eq $cmd); $body .= $pat; $body = &revert_to_raw_tex($body); &add_to_preamble('', "\\let ".$body ); $_[0] = $_; if (($replace eq $cmd)||($cmd="\\")||($cmd =~/(style|size)$/)) { "let ".$body } else { $new_command{$cmd} = join(':!:','',"\\$replace ",'}'); ''; } } # do not remove the \renewcommand code, since it may be needed # within images. Instead replace it with \renewedcommand; # This will be reverted in &revert_to_raw_tex sub get_body_renewcommand { local($ALLOW_REDEFINE) = 1; local($renew, $n_after) = &process_body_newcommand(1,@_); ($renew ? 'renewed' . $renew : ''); } sub do_cmd_renewedcommand { local($_) = @_; local($ALLOW_REDEFINE) = 1; &process_body_newcommand(2,\$_); $_ ; } sub get_body_providecommand { local($provide, $n_after) = &process_body_newcommand('provide',@_); (($PREAMBLE && $provide) ? 'provided'.$provide : ''); } sub do_cmd_providedcommand{ &do_cmd_renewedcommand(@_) } sub get_body_DeclareRobustCommand { local($provide, $n_after) = &process_body_newcommand('provide',@_); (($PREAMBLE && $provide) ? 'provided'.$provide : ''); } sub get_body_DeclareMathOperator { local($after_R) = @_; local($_) = $$after_R; my $star; s/^\\DeclareMathOperator\s*(\*|star)/$star = $1;''/s; my ($mcmd,$patA) = &get_next(1); my ($mop,$patB) = &get_next(1); if ($star) { $patA .= "${O}0$C\\mathop${O}1$C\\mathrm${patB}${O}1$C${O}0$C".$_; } else { $patA .= "${O}0$C${O}1$C\\mathrm${patB}${O}1$C${O}0$C".$_; } local($provide, $n_after) = &process_body_newcommand('provide',\$patA); $$after_R = $patA; (($PREAMBLE && $provide) ? 'provided'.$provide : ''); } sub get_body_DeclareMathOperatorstar { local($after_R) = @_; local($_) = $$after_R; my $star; s/^\\DeclareMathOperator\s*(\*|star)/$star = $1;''/s; my ($mcmd,$patA) = &get_next(1); my ($mop,$patB) = &get_next(1); $patA .= "${O}0$C\\mathop${O}1$C\\mathrm${patB}${O}1$C${O}0$C".$_; local($provide, $n_after) = &process_body_newcommand('provide',\$patA); $$after_R = $patA; (($PREAMBLE && $provide) ? 'provided'.$provide : ''); } # Removes the definition from the input string, adds to the preamble # and stores the body in %new_environment; sub get_body_newenvironment { local($newed,$after) = &process_body_newenvironment(0,@_); ( $PREAMBLE ? "newed".$newed : ''); } sub process_body_newenvironment { # local($renew,*_) = @_; local($renew,$after_R) = @_; local($_) = $$after_R; local($no_change) = $_; local($argn,$env,$begin,$end,$tmp,$opt,$pat); local($new_env) = 'environment'; if ($renew == 2) { $env = &missing_braces unless ( (s/$next_pair_pr_rx/$pat=$&;$env=$2;''/e) ||(s/$next_pair_rx/$pat=$&;$env=$2;''/e)); $new_env .= $pat; } else { ($env,$pat) = &get_next(1); # Get the environment name $env =~ s/^\s*\\//; $new_env .= $pat; } ($argn,$pat) = &get_next(0); # Get optional no. of args $argn = 0 unless $argn; $new_env .= $pat if $argn; # Get the body of the code and store it with the name and number of args # UNLESS THE COMMAND IS ALREADY DEFINED (see get_body_newcommand) # ...in which case $ALLOW_REDEFINE must also have been set. # RRM $opt = '}'; # Flag for no optional arg if (/^\[/) { ($opt,$pat) = &get_next(0); $new_env .= $pat; } $tmp = "do_env_$env"; if ($renewed == 2 ) { $begin = &missing_braces unless ( (s/$next_pair_pr_rx/$pat=$&;$begin=$2;''/e) ||(s/$next_pair_rx/$pat=$&;$begin=$2;''/e)); $new_env .= $pat; $end = &missing_braces unless ( (s/$next_pair_pr_rx/$pat=$&;$end=$2;''/e) ||(s/$next_pair_rx/$pat=$&;$end=$2;''/e)); $new_env .= $pat; } else { ($begin,$pat) = &get_next(1); $new_env .= $pat; ($end,$pat) = &get_next(1); $new_env .= $pat; } if ((defined &$tmp)&&($ALLOW_REDEFINE)) { print STDOUT "\n*** redefining environment {$env} ***\n"; &write_warnings("\nredefined environment {$env} "); } $new_environment{$env} = join(':!:', $argn, $begin, $end, $opt) unless ((defined &$tmp)&&(! $ALLOW_REDEFINE)); if (!$PREAMBLE) { $new_env = join ('', , "environment{$env}" , ($argn ? "[$argn]" : '') , (($opt ne '}')? "[$opt]" : '') , "{$begin}{$end}" ); &revert_to_raw_tex($new_env); if ($renew == 2) { $latex_body .= "\n\\".($renew ? 're':'').'new'.$new_env."\n"; } else { &add_to_preamble ('environment' , "\\".($renew ? 're':'').'new'.$new_env ); } $$after_R = $_; return(); } if ($new_env =~ /$sections_rx/) { $new_env = join('', $`,'\csname ',$2,'\endcsname',$3,$'); } $new_env =~ s/$par_rx/\\par /g; $$after_R = $_; $new_env; } sub get_body_renewenvironment { local($ALLOW_REDEFINE) = 1; local($renewed, $after) = &process_body_newenvironment(1,@_); 'renewed'.$renewed; } sub do_cmd_renewedenvironment { local($ALLOW_REDEFINE) = 1; local($_) = @_; &process_body_newenvironment(2,\$_); $_; } # Instead of substituting as with newcommand and newenvironment, # or generating code to handle each new theorem environment, # it now does nothing. This forces theorem environments to be passed # to latex. Although it would be possible to handle theorem # formatting in HTML as it was done previously it is impossible # to keep the theorem counters in step with other counters (e.g. equations) # to which only latex has access to. Sad... sub get_body_newtheorem { # local(*_) = @_; local($after_R) = @_; local($_) = $$after_R; my ($orig, $body) = ($_, ''); my ($title, $env, $ctr, $within, $cmd, $tmp, $begin, $end, $pat); my ($new_thm) = 'theorem'; # Just chop off the arguments and append to $next_def ($env,$pat) = &get_next(1); $new_thm .= $pat; ($ctr,$pat) = &get_next(0); $new_thm .= $pat; ($title,$pat) = &get_next(1); $new_thm .= $pat; ($within,$pat) = &get_next(0); $new_thm .= $pat; #check the style parameters my ($hfont,$bfont,$thm_style); my ($before_thm) = join('',@processed); my ($which,$cmds); while ($before_thm =~ /$theorem_cmd_rx/) { $which = $1; $before_thm = $'; $before_thm =~ s/$next_pair_rx/$cmds = $2;''/e; $cmds =~ s/\\/\|/g; # escape any backslash if ($which =~ /style/) { $thm_style = $cmds } elsif ($which =~ /header/) { $hfont = $cmds } elsif ($which =~ /body/) { $bfont = $cmds } } $hfont = '['.$hfont.']'; $bfont = '['.$bfont.']'; $thm_style = '['.$thm_style.']'; undef $before_thm; if (!($ctr)) { # define the new counter $ctr = $env; do { ### local($_) = "\\arabic<<1>>$ctr<<1>>"; ### $_ = join('',"\\the$within", "." , $_) if ($within); $body = "\\arabic<<1>>$ctr<<1>>"; $body = join('',"\\the$within", "." , $body) if ($within); &make_unique($body); $cmd = "the$ctr"; $tmp = "do_cmd_$cmd"; do { $new_command{$cmd} = join(':!:',0,$body,'}') } unless (defined &$tmp); &write_mydb("new_command", $cmd, $new_command{$cmd}); eval "sub do_cmd_$cmd {\n" . 'local($_,$ot) = @_;'."\n" . 'local($open_tags_R) = defined $ot ? $ot : $open_tags_R;'."\n" . '&translate_commands(' . "\"$body\"" . ");\n}\n"; print STDERR "\n*** sub $tmp failed:\n$@\n" if ($@); $raw_arg_cmds{$cmd} = 1; undef $body; }; &do_body_newcounter($ctr); } else { do { ### local($_) = "\\arabic<<1>>$ctr<<1>>"; $body = "\\arabic<<1>>$ctr<<1>>"; &make_unique($body); $cmd = "the$env"; $tmp = "do_cmd_$cmd"; do { $new_command{$cmd} = join(':!:',0,$body,'}') } unless (defined &$tmp); &write_mydb("new_command", $cmd, $new_command{$cmd}); eval "sub do_cmd_$cmd {\n" . 'local($_,$ot) = @_;' . 'local($open_tags_R) = defined $ot ? $ot : $open_tags_R;' . '&translate_commands(' . "\"$body\"" . ");\n}\n"; print STDERR "\n*** sub $tmp failed:\n$@\n" if ($@); $raw_arg_cmds{$cmd} = 1; undef $body; }; } # record the counter dependency &addto_dependents($within,$ctr) if ($within); # save the text-label in the %new_theorem hash $new_theorem{$env} = $title; # define a new environment my ($id) = ++$global{'max_id'}; $begin = "\\begin<<$id>>theorem_type<<$id>>" . "[$env][$ctr][$within]$thm_style$hfont$bfont\n"; $id = ++$global{'max_id'}; $end = "\\end<<$id>>theorem_type<<$id>>\n"; $tmp = "do_env_$env"; if ((defined &$tmp)&&($ALLOW_REDEFINE)) { print STDOUT "\n*** redefining theorem environment {$env} ***\n"; } $new_environment{$env} = join(':!:', '', $begin, $end, '') unless ((defined &$tmp)&&(! $ALLOW_REDEFINE)); if (!$PREAMBLE) { my ($new_cmd) = join('' , 'theorem{}' ); &add_to_preamble('theorem', "\\new".$new_cmd ); $$after_R = $_; return(); } $$after_R = $_; 'newed'.$new_thm; } sub do_cmd_theoremstyle { local($_) = @_; local($thm_type); $thm_type = &missing_braces unless ( (s/$next_pair_pr_rx/$thm_type=$2;''/e) ||(s/$next_pair_rx/$thm_type=$2;''/e)); # $THM_STYLE = $thm_type; $_; } sub do_cmd_theoremheaderfont { local($_) = @_; local($thm_type); $thm_type = &missing_braces unless ( (s/$next_pair_pr_rx/$thm_type=$2;''/e) ||(s/$next_pair_rx/$thm_type=$2;''/e)); # $THM_HFONT = $thm_type; $_; } sub do_cmd_theorembodyfont { local($_) = @_; local($thm_type); $thm_type = &missing_braces unless ( (s/$next_pair_pr_rx/$thm_type=$2;''/e) ||(s/$next_pair_rx/$thm_type=$2;''/e)); # $THM_BFONT = $thm_type; $_; } sub do_env_theorem_type { local($_) = @_; local($dum,$env,$ctr,$within, $label, $name, $title, $text, $index); ($env, $dum) = &get_next_optional_argument; ($ctr, $dum) = &get_next_optional_argument; ($within, $dum) = &get_next_optional_argument; local($thm_num, $hfont,$bfont,$thm_style); ($thm_style, $dum) = &get_next_optional_argument; ($hfont, $dum) = &get_next_optional_argument; $hfont =~ s/\|/\\/og; ($bfont, $dum) = &get_next_optional_argument; $bfont =~ s/\|/\\/og; ($name, $dum) = &get_next_optional_argument; $name = &translate_environments("${O}0$C".$name."${O}0$C") if $name; $name = &translate_commands($name) if ($name =~ /\\/); $index = $section_commands{$ctr}; if ($index) { # environment actually starts a new (sub-)section $curr_sec_id[$index]++; local($this) = &translate_commands("\\the$ctr"); local($hash) = &sanitize($name." $this"); local($section_tag) = join('', @curr_sec_id); $encoded_section_number{$hash} = join($;, $section_tag); &reset_dependents($ctr) if ($dependent{$ctr}); $thm_num = &translate_commands("\\the$ctr"); $thm_num =~ s/(\w)\.(\.\w)/$1$2/g; # construct the sectioning title from the counter values $title = join( '', $new_theorem{$env}, " " , &translate_commands("\\the$ctr") ); $toc_section_info{join(' ',@curr_sec_id)} = \ "$current_depth$delim$CURRENT_FILE$delim$title" if ($current_depth <= $MAX_SPLIT_DEPTH + $MAX_LINK_DEPTH); $section_info{join(' ',@curr_sec_id)} = \ "$current_depth$delim$CURRENT_FILE$delim$title$delim"; $title = join('',"<A NAME=\"SECTION$section_tag\"><B>" , $title , "</B></A>" ); } else { if ($ctr) { print STDOUT "\nSTP:$ctr:+1" if ($VERBOSITY > 3); $global{$ctr}++; print STDOUT "=".$global{$ctr}." " if ($VERBOSITY > 3); &reset_dependents($ctr) if ($dependent{$ctr}); $thm_num = "\\the$ctr "; } else { $thm_num = ''; } # construct the full title from the counter values $title = $new_theorem{$env}; if (($thm_style =~ /margin/)&&($HTML_VERSION > 2.1)) { # don't use the number yet } elsif ($thm_style =~ /change/) { $title = join(' ', $thm_num, "\\space", $title) } else { $title = join(' ', $title, "\\space", $thm_num); } if ($hfont) { $title = join('',$O,++$global{'max_id'},$C,$hfont," " , $title, $O,++$global{'max_id'},$C); $title = &translate_environments($title); $title = &translate_commands($title); } else { $title = join('',"<B>",&translate_commands($title),"</B>"); } $title =~ s/(\w)\.(\.\w)/$1$2/g; } # extract any name or label that may occur at the start s/^\s*(\\label(($O|$OP)\d+($C|$CP))([^<]*)\2)?\s*(\(([^\)]*)\))?/ $label=$1; $text=$5; $name=$7 if ($7); ''/eo; if ($label) { $label = &anchor_label($text,$CURRENT_FILE,''); $label =~ s/$anchor_mark/$title/; $title = $label; } if ($name) { $name =~ s/^\s*|\s*$//g; $name = join('', " (", $name, ") ") if $name; } local($attribs, $border); if (s/$htmlborder_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } elsif (s/$htmlborder_pr_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } $_ = join('', $O,++$global{'max_id'},$C, $bfont , " ", $_ ,$O,++$global{'max_id'},$C) if ($bfont); my($cmd) = 'do_thm_'.$env; if (defined &$cmd) { $_ = &$cmd($ctr, $title, $_); } else { $_ = &translate_environments($_); $_ = &translate_commands($_); } if ($thm_style =~ /margin/) { local($valign); $valign = ($NETSCAPE_HTML ? ' VALIGN="BASELINE"':''); if ($hfont) { $thm_num = join('',$O,++$global{'max_id'},$C,$hfont," " , $thm_num, $O,++$global{'max_id'},$C); $thm_num = &translate_environments($thm_num); $thm_num = &translate_commands($thm_num); } else { $thm_num = join('',"<B>",&translate_commands($thm_num),"</B>"); } $thm_num =~ s/(\w)\.(\.\w)/$1$2/g; # code copied from &make_table local($Tattribs); if ($attribs) { if (!($attribs =~ /=/)) { $Tattribs = &parse_valuesonly($attribs,"TABLE"); } else { $Tattribs = &parse_keyvalues($attribs,"TABLE"); } $Tattribs = ' '.$Tattribs if ($Tattribs); } $_ = join ('', "\n<P><DIV$env_id><TABLE" , (($border) ? " BORDER=\"$border\"" : '') , $Tattribs , ">\n<TR VALIGN=\"TOP\">" , "<TD$valign>", &translate_commands($thm_num) , "</TD>\n<TD>", $title, $name , (($thm_style =~ /break/)? "\n<BR>":" \  \n") , $_ , "\n</TD></TR></TABLE></DIV>"); } else { $_ = join('', "<P><DIV$env_id>" , $title, $name , (($thm_style =~ /break/)? "\n<BR>":" \  \n") , $_ ,"</DIV><P></P>\n"); if (($border||($attribs))&&($HTML_VERSION > 2.1 )) { &make_table( $border, $attribs, '', '', '', $_ ) } else { $_ } } } # Modifies $_ in the caller and as a side-effect it modifies $next_def # which is local to substitute_meta_cmds sub get_next { local($what) = @_; local($next, $pat, $tmp); if ($what == 1) { ($next, $tmp, $pat) = &get_next_argument; } elsif ($what == 2) { ($next, $pat) = &get_next_tex_cmd; } elsif ($what == 3) { ($next, $pat) = &get_next_def_arg; } elsif ($what == 4) { ($next, $tmp, $pat) = &get_next_argument; } else { ($next, $pat) = &get_next_optional_argument; } do { $next_def .= &revert_to_raw_tex($pat) if $pat; } unless ($renewed); # don't add \renewcommand to preamble # $next =~ s/(^\s*)|(\s*$)//g unless ($what == 4); #don't lose white space on body $next =~ s/(^\s*)|(\s*$)//g unless ($what =~ /[14]/); #retain white space in body ($next, $pat); } # The following get_next_<something> ARE ALL DESTRUCTIVE. sub get_next_argument { local($next, $br_id, $pat); if (!(s/$next_pair_rx/$br_id=$1;$next=$2;$pat=$&;''/seo)) { print " *** Could not find argument for command \\$cmd ***\n"; print "$_\n"; }; ($next, $br_id, $pat); } sub get_next_pair_or_char_pr { local($next, $br_id, $pat, $epat); if ( /^\{([^\}]*)\}/o && (! $`)) { ($next, $pat) = ($1, $&); } elsif ( (/^\s*([^\s\\<])/o && (! $`))) { ($next, $pat) = ($1, $&); } elsif ( /$next_pair_pr_rx/o && (! $`)) { ($next, $br_id, $pat) = ($2, $1, $&); }; $epat = &escape_rx_chars($pat); s/$epat// if $pat; ($next, $br_id, $pat); } sub get_next_optional_argument { local($next, $pat); s/$optional_arg_rx/$next=$1;$pat=$&;''/eo if (/\s*[[]/ && (! $`)); # if the first character is a [ #remove trailing spaces and/or comments s/^($comment_mark(\d+\n?)?|$EOL)//gos; # if nested inside {}s we need to get more tokens if ($pat) { # check for \item, indicating something has gone wrong if ($pat =~ /\\item\b/ ) { print "\n*** optional argument badly formed:\n" . $pat . "\n\n"; $_ = $pat . $_; return('',''); } # check for being nested inside {}s local($found) = $pat; while ($found =~ s/$O(\d+)$C[\s\S]*$O\1$C//g) { if ($found =~ /$O(\d+)$C/) { local($br_id) = $1; if (s/$O$br_id$C//) { $found .= $`.$&; $pat .= "]".$`.$&; $next .= "]".$`.$&; $_ = $'; s/^([^]]*)\]/$next.=$1;$pat.=$&;''/e; $found .= $&; } else { last } # give up if no closing brace } } } else { s/^\s*\[\]/$pat=$&;''/e; # This is not picked by $optional_arg_rx } ($next, $pat); } #JCL(jcl-del) - use new form of $single_cmd_rx. sub get_next_tex_cmd { local($next, $pat); s/^\s*\=?\s*$single_cmd_rx/$4/; ($next, $pat) = ($1.$2,"\\".$1.$2); } sub get_next_def_arg { local($next, $pat); # Sets is_simple_def for caller. Start by turning it off, then # turn it on if we find one of the "simple" patterns. # This has got to be hit-or-miss to an extent, given the # thoroughly incestuous relationship between the TeX macroprocessor # ('mouth') and typesetting back-end ('stomach'). Anything which # even does catcode hacking is going to lose BAD. s/^\s*//so; # Remove whitespace $is_simple_def = 0; # no arguments if (/^$O/ && (! $`)) { $next=0; $pat=''; $is_simple_def=1; } # 'simple' arguments if (! $is_simple_def && /$tex_def_arg_rx/o && (! $`)) { s/$tex_def_arg_rx/$next=$1; $pat=$&; $is_simple_def=1; $2/seo; } # MESSY arguments if (! $is_simple_def) { print "Arguments to $cmd are too complex ...\n"; print "It will not be processed unless used in another environment\n"; print "which is passed to LaTeX whole for processing.\n"; s/^[^<]*(<[^<]+)*<</$next=''; $pat=$&; $O/seo; } $pat =~ s/$O$//so; ($next, $pat); } #### Key-value parsing added by RRM # # This cleans-up the key-value pairs for a given tag, # by removing unnecessary spaces and commas, inserting quotes # around the value and puts a preceding space. # The key becomes upper-case, while the value becomes lower-case. # If specific `tags' are provided, then checking is done to verify # that the keys and values are valid for these tags, eliminating # any that are not; unmatched keys or values are handled as well. # If no tags are provided, then just a list of pairs is returned. # sub parse_keyvalues { local($_,@tags) = @_; local($key,$KEY,$attribs,$atts,%attributes)=('','','',''); # beware active " in german local($is_german); if (s/\"/'/g) { $is_german=1; s/(^|[\s,=])(\&\#\d\d\d;)/$1'$2/g } local($saved) = &revert_to_raw_tex(&translate_commands($_)); print "\nATTRIBS: $saved\n" if ($VERBOSITY > 6); $saved =~ s/$percent_mark/%/g; $saved =~ s/((^|[\s,=])')\\\W{(\w)}/$1$3/g if $is_german; #unwanted accents, from active " if (@tags) { foreach $tag (@tags) { $_ = $saved; local($name)= $tag."_attribs"; $taglist = $$name; $name .= "_rx_list"; $taglist .= $$name; $taglist =~ s/,,/,/; # s/(^|,)\s*([a-zA-Z]+)\s*\=\s*"?([\#\%\w\d]+)"?\s*/$attributes{$2}="$3";''/eg; # s/(^|,)\s*([a-zA-Z]+)\s*\=\s*(\"([^"]*)\"|\'([^\']*)\'|([#%\w\d]*))\s*/ # s/(^|,)\s*([a-zA-Z]+)\s*\=\s*(\"([^"]*)\"|\'([^\']*)\'|([#%&@;:+-\/\w\d]*))\s*/ s/(^|,)\s*([a-zA-Z]+)\s*\=\s*(\"([^"]*)\"|\'([^\']*)\'|([^<>,=\s]*))\s*/ $attributes{$2}=($4?$4:($5?$5:$6));' '/eg; foreach $key (keys %attributes){ $KEY = $key; $KEY =~ tr/a-z/A-Z/; if ($taglist =~ /,$KEY,/i) { local($keyname) = $tag."__".$KEY; local($keyvalues) = ''; if ($$keyname) { $keyvalues = $$keyname; $atts = $attributes{$key}; if ($keyvalues =~ /\,$atts\,/i ) { # $atts =~ tr/A-Z/a-z/; $attribs .= " $KEY=\"$atts\""; print "\n$KEY=$atts " if ($VERBOSITY > 3); } else { &invalid_tag($tag,$KEY,$atts); } } else { # test for a regular expression $keyname = $keyname."_rx"; if ($$keyname) { $keyvalues = $$keyname; $atts = $attributes{$key}; if ($atts =~ /$keyvalues/) { # $atts =~ tr/A-Z/a-z/; $attribs .= " $KEY=\"$atts\""; print "\n$KEY=$atts " if ($VERBOSITY > 3); } else { &invalid_tag($tag,$KEY,$atts) } } else { $atts = $attributes{$key}; # $atts =~ tr/A-Z/a-z/; $attribs .= " $KEY=\"$atts\""; print "\n$KEY=$atts " if ($VERBOSITY > 3); } } } else { print "\n$key not in $taglist for $tag" if ($VERBOSITY > 3); } } } s/(^|\s,)\'([^\s,]*)\'(\s|$)/$1$2 /g if $is_german; $attribs .= &parse_valuesonly($_,@tags); } else { # with no tags provided, just list the key-value pairs $_ = $saved; s/\s*(\w+)\s*=\s*\"?(\w+)\"?\s*,?/$attributes{$1}=$2;''/eg; foreach $key (keys %attributes){ $KEY = $key; $KEY =~ tr/a-z/A-Z/; $atts = $attributes{$key}; $atts =~ tr/A-Z/a-z/; $attribs .= " $KEY=\"$atts\""; } } $attribs; } sub invalid_tag { local($tag,$key,$value) = @_; &write_warnings("$key=$value is an invalid value in the <$tag> tag\n"); } # RRM # This creates key-value pairs from values only, # by checking whether the data matches any key to the provided tags. # Only the first match found is retained. # Attributes with no values are also recognised here. # sub parse_valuesonly { local($values,@tags) = @_; local($i,$tag,$key,$KEY,$attribs,$atts)=(0,'','','','',''); local($saved) = &revert_to_raw_tex(&translate_commands($values)); $saved =~ s/$percent_mark/%/g; foreach $tag (@tags) { local($name)= $tag."_attribs"; $taglist = $$name; $values = $saved; $values =~ s/\s*\"?([^,\s\"]+)\"?\s*,?/$i++;$attributes{$i}=$1;''/eg; local($j) = 0; while ($j < $i) { $j++; $key = $attributes{$j}; if ($taglist =~ /,$key,/i) { $KEY = $key; $KEY =~ tr/a-z/A-Z/; $attribs .= " $KEY"; print " $KEY" if ($VERBOSITY > 3); } else { $atts = $attributes{$j}; $key = &find_attribute($key,$tag); if ($key) { $KEY = $key; $KEY =~ tr/a-z/A-Z/; $atts =~ tr/A-Z/a-z/; $attribs .= " $KEY=\"$atts\""; print " $KEY = $atts" if ($VERBOSITY > 3); } else { } } } } $attribs; } # RRM # Extracts key-value pairs using a supplied (comma-separated) list. # When no list is given, it checks for a pre-defined list for the tag. # sub extract_attributes { local($tag,$taglist,$_) = @_; local($key,$attribs,$unused,%attributes); if (! ($taglist)) { local($name) = "$tag"."_attribs"; if ($$name) { $taglist = $$name } } s/\s*(\w+)\s*=\s*\"?(\w+)\"?\s*,?/$attributes{$1}=$2;''/eg; foreach $key (keys %attributes){ if ($taglist =~ /\,$key\,/) { $attribs .= " $key=\"$attributes{$key}\""; &write_warnings("valid attribute $key for $tag\n"); } else { &write_warnings("unknown attribute $key for $tag\n"); $unused .= " $key=\"$attributes{$key}\""; } } ($attribs,$unused); } # RRM # Finds the attribute of a given tag, for which a given value is valid. # Requires variables: <tag>_<key> to be a comma-separated list of keys. # So far it cannot recognise data-types, only names. # sub find_attribute { local($key,$attrib,$tag) = ('',@_); local($name) = $tag."_attribs"; local($attrib_list)=$$name; if ($attrib_list) { $attrib_list =~ s/^\,//o; $attrib_list =~ s/\,$//o; local(@keys) = split(',',$attrib_list); local($attrib_vals) = ''; foreach $key (@keys) { $name = $tag."__".$key; $attrib_vals = $$name; return ($key) if ($attrib_vals =~ /\,$attrib\,/i ); } } $name = $tag."_attribs_rx_list"; $attrib_list=$$name; if (!($attrib_list)) { return(); } $attrib_list =~ s/^\,//o; $attrib_list =~ s/\,$//o; @keys = split(',',$attrib_list); foreach $key (@keys) { next if ($attribs =~ / $key=/); $name = $tag."__".$key."_rx"; $attrib_vals = $$name; if ( $attrib =~ /^$attrib_vals$/ ) { return ($key); } } 0; } # in case \HTML is defined differently in packages sub do_cmd_HTML { &do_cmd_HTMLcode(@_) } sub do_cmd_HTMLcode { local($_) = @_; local($tag,$attribs,$dum); local($attribs, $dum) = &get_next_optional_argument; $tag = &missing_braces unless ( (s/$next_pair_pr_rx/$tag = $2;''/eo) ||(s/$next_pair_rx/$tag = $2;''/eo)); $tag = &translate_commands($tag) if ($tag =~ /\\/); if (! $tag) { print "*** no tag given with \\HTML command, ignoring it"; return($_); } local($afterHTML) = $_; local($value,$TAGattribs,$etag); if (defined $unclosed_tags_list{$tag}) { } elsif (defined $closed_tags_list{$tag}) { $value = &missing_braces unless ( (s/$next_pair_pr_rx/$value = $2;''/eo) ||(s/$next_pair_rx/$value = $2;''/eo)); $etag = "</$tag>"; $afterHTML = $_; } else { print "\n*** <$tag> is not a valid tag for HTML $HTML_VERSION"; print "\n rejecting: \\HTML".(($attribs)? "[$attribs]" : '')."{$tag}"; return $_ ; } if ($dum) { $attribs = &translate_commands($attribs) if ($attribs=~/\\/); if ($attribs) { if (!($attribs =~ /=/)) { $TAGattribs = &parse_valuesonly($attribs,$tag); } else { $TAGattribs = &parse_keyvalues($attribs,$tag); } } } else { } # default if no [...] local($needed) = join(',' , $closed_tags_list{$tag},$unclosed_tags_list{$tag}); $needed =~ s/,,/,/g; $needed =~ s/^,|,$//g; if ($TAGattribs) { if ($needed) { $needed =~ s/,,/,/g; local($this, @needed); (@needed) = split(',',$needed); foreach $this (@needed) { next unless ($this); next if ($TAGattribs =~ /\b$this\b/); print "\n*** attribute $this required for <$tag> ***"; print "\n rejecting: \\HTML".(($attribs)? "[$attribs]" : '')."{$tag}"; return($value.$afterHTML); } } $value = &translate_environments($value); $value = &translate_commands($value) if ($value =~ /\\/); $_ = join('', "<$tag", $TAGattribs, ">", $value, $etag); } elsif ($needed) { print STDOUT "\n*** attributes $needed are required for <$tag> ***"; return($value.$after); } elsif ($value) { $value = &translate_environments($value); $value = &translate_commands($value) if ($value =~ /\\/); $_ = join('', "<$tag>", $value, $etag); } else { $_ = join('', "<$tag>", $etag); } $_.$afterHTML; } sub do_cmd_HTMLget { local($_) = @_; local($which,$value,$hash,$dummy); local($hash, $dummy) = &get_next_optional_argument; $which = &missing_braces unless ( (s/$next_pair_pr_rx/$which = $2;''/eo) ||(s/$next_pair_rx/$which = $2;''/eo)); if ($hash) { local($tmp) = "\%$hash"; if (eval "defined \%{$hash}") { $! = ''; $value = ${$hash}{'$which'}; } else { print "\nhash: \%$hash not defined" } } elsif ($which) { $value = ${$which}; } $value.$_; } sub do_cmd_HTMLset { local($_) = @_; local($which,$value,$hash,$dummy); local($hash, $dummy) = &get_next_optional_argument; $which = &missing_braces unless ( (s/$next_pair_pr_rx/$which = $2;''/eo) ||(s/$next_pair_rx/$which = $2;''/eo)); $value = &missing_braces unless ( (s/$next_pair_pr_rx/$value = $2;''/eo) ||(s/$next_pair_rx/$value = $2;''/eo)); if ($hash) { local($tmp) = "\%$hash"; if (eval "defined \%{$hash}") { $! = ''; # eval "\$$hash{'$which'} = \"$value\";"; ${$hash}{'$which'} = $value; print "\nHTMLset failed: $! " if ($!); } else { print "\nhash: \%$hash not defined" } } elsif ($which) { $! = ''; eval "\${$which} = \"$value\";"; print "\nHTMLset failed: $! " if ($!); } $_; } sub do_cmd_HTMLsetenv { &do_cmd_HTMLset(@_) } #### # Appends $next_def to the preamble if it is not already there. sub add_to_preamble { local($type, $next_def) = @_; local($name); if ($type =~ /def|include|special|graphicspath/) { local($pat) = &escape_rx_chars ($next_def); # $preamble .= $next_def . "\n" unless ($preamble =~ /$pat/); push(@preamble, $pat); } elsif ($type =~ /command|environment|theorem|counter/) { push(@preamble, $next_def ); } else { ($name) = $next_def =~ /$marker\s*({[^}]+})/; # matches type{name} $name = &escape_rx_chars($name); # $preamble .= $next_def . "\n" unless ($preamble =~ /$marker\s*$name/); push(@preamble, $name ); } } sub make_latex{ # This is the environment in which to process constructs that cannot be # translated to HTML. # The environment tex2html_wrap will be wrapped around any shorthand # environments (e.g. $, \(, \[). # The tex2html_wrap environment will be treated as an unrecognised # evironment by the translator and its contents (i.e. the 'shorthand' # environment) will be passed to latex for processing as usual. local($contents) = @_; local($preamble) = $preamble; local($aux_preamble) = $aux_preamble; while ($preamble =~ s/^(\@.*\n)/$prelatex .= $1;''/e) {} print "\nPRE-LATEX: $prelatex" if (($prelatex)&&($VERBOSITY > 1)); %newed_commands = ( 'newedcommand' , 'newcommand' , 'renewedcommand' , 'renewcommand' , 'providedcommand' , 'providecommand' , 'newedenvironment' , 'newenvironment' , 'newedboolean' , 'newboolean' , 'newedcounter' , 'newcounter' , 'newedtheorem' , 'newtheorem' , 'newedfont' , 'newfont' , 'newedif', 'newif' ); # Make the @ character a normal letter ... $preamble =~ s/\\par([^A-Za-z]|$)/\n$1/g; $preamble =~ s/(\\document(class|style)(\[[^\]]+\])?\{\w+\})/$1\n/; $preamble =~ s/(\\document(class|style)(\[[^\]]+\])?\{\w+\})/$1\n\\RequirePackage{ifthen}\n/ unless ($preamble =~/\{ifthen\}/); # $preamble =~ s/(\\document(class|style)(\[[^\]]+\])?\{\w+\})/$1\n\\makeatletter/; # ... and make it special again after the preamble # remove the \begin/\end for tex2html_nowrap and tex2html_deferred environments $preamble =~s/\\(begin|end)\s*\{(tex2html_(nowrap|deferred|nomath|preform)[_a-z]*|imagesonly)\}//g; $preamble =~s/\n?\s?<tex2html_(end)?file>\#[^#]*\#//mg; $preamble = "\\documentclass\{article\}%\n\\usepackage{html}\n\\usepackage[dvips]{color}\n" unless ($preamble); if (($LATEX_DUMP)&&(!($preamble =~ /\\usepackage\{ldump\}/))) { # MRO: replaced $* with /m $preamble =~ s/(\\document(class|style)[^\n]*\n)/$1\\usepackage\{ldump\}\n/m; } if ($preamble =~ /pstricks/) { if ($LOAD_LATEX_COLOR) { $LOAD_LATEX_COLOR =~ s/\{color\}/\{pstcol\}/ ; } else { $LOAD_LATEX_COLOR = "\n\\usepackage[dvips]{pstcol}\n"; } } else { $LOAD_LATEX_COLOR = "\n\\usepackage[dvips]{color}"; } $LATEX_COLOR = "\\pagecolor[gray]{.85}\\nobreak " unless $LATEX_COLOR; if ($preamble =~ /(^|\s*[^%])\s*\\documentstyle/) { # \usepackage is invalid in LaTeX 2.09 and LaTeX-2e compatibility mode $LATEX_COLOR = ''; $LOAD_LATEX_COLOR = ''; # ... so is \providecommand $preamble =~ s/\\documentstyle[^{]*{[^}]*}\n?/ $&."\n\\let\\providecommand\\newcommand\n"/eo; } $preamble .= $LOAD_LATEX_COLOR."\n" unless ($preamble =~ /[,\{]color[,\}]/); $preamble .= "\n\n".$LATEX_COLOR."\n" unless ($preamble =~ /\\pagecolor/); do { if ($ISOLATIN_CHARS) { $INPUTENC = $INPUTENC || 'latin1' }; $preamble .= "\n\\usepackage[".$INPUTENC."]\{inputenc\}\n"; } unless ($preamble =~ /\\inputenc/); $aux_preamble = '' unless (($aux_preamble)&&($contents =~ /\\(hyper)?(ref|cite)/)); $preamble =~ s/\\((provide|(re)?new)ed(command|counter|if|theorem|environment|font))\b/ "%\n\\".$newed_commands{$1}/eg; $preamble =~ s/(\\(re)?newcommand)\s*(\{(\\?)(\}|[^\}]+)\})/ $1.(($4)? $3 : "{\\".$5.'}' )/eg; $preamble =~s/$verbatim_mark(imagesonly)(\d+)#/$verbatim{$2}/eg; # for images.tex only # local($key); # foreach $key (keys %newed_commands) { # $preamble .= "\n\\let\\$key\\".$newed_commands{$key} # } $preamble .= "\n"; local($paperwidth) = ''; if ($PAPERSIZE) { $paperwidth = &adjust_textwidth($PAPERSIZE); } else { $paperwidth = &adjust_textwidth("a5"); } local($kern) = ($EXTRA_IMAGE_SCALE ? $EXTRA_IMAGE_SCALE/2 : ".5" ); $kern = $kern * $MATH_SCALE_FACTOR; $prelatex . ($DEBUG ? "\\nonstopmode" : "\\batchmode") . "\n$preamble\n\n\\makeatletter\n$aux_preamble\n" . "\\makeatletter\n\\count\@=\\the\\catcode`\\_ \\catcode`\\_=8 \n" . "\\newenvironment{tex2html_wrap}{}{}%\n" . "\\catcode`\\<=12\\catcode`\\_=\\count\@\n" . "\\newcommand{\\providedcommand}[1]{\\expandafter\\providecommand\\csname #1\\endcsname}%\n" . "\\newcommand{\\renewedcommand}[1]{\\expandafter\\providecommand\\csname #1\\endcsname{}%\n" . " \\expandafter\\renewcommand\\csname #1\\endcsname}%\n" . "\\newcommand{\\newedenvironment}[1]{\\newenvironment{#1}{}{}\\renewenvironment{#1}}%\n" . "\\let\\newedcommand\\renewedcommand\n" . "\\let\\renewedenvironment\\newedenvironment\n" . "\\makeatother\n" . "\\let\\mathon=\$\n\\let\\mathoff=\$\n" . "\\ifx\\AtBeginDocument\\undefined \\newcommand{\\AtBeginDocument}[1]{}\\fi\n" . "\\newbox\\sizebox\n" . "$paperwidth" . "\\newwrite\\lthtmlwrite\n" . "\\makeatletter\n" . "\\let\\realnormalsize=\\normalsize\n\\global\\topskip=2sp\n\\def\\preveqno{}" . "\\let\\real\@float=\\\@float \\let\\realend\@float=\\end\@float\n" . "\\def\\\@float{\\let\\\@savefreelist\\\@freelist\\real\@float}\n" . # "\\def\\\@float{\\\@dbflt}\n" . "\\def\\liih\@math{\\ifmmode\$\\else\\bad\@math\\fi}\n" . "\\def\\end\@float{\\realend\@float\\global\\let\\\@freelist\\\@savefreelist}\n" . "\\let\\real\@dbflt=\\\@dbflt \\let\\end\@dblfloat=\\end\@float\n" . "\\let\\\@largefloatcheck=\\relax\n" . "\\let\\if\@boxedmulticols=\\iftrue\n" . "\\def\\\@dbflt{\\let\\\@savefreelist\\\@freelist\\real\@dbflt}\n" . "\\def\\adjustnormalsize{\\def\\normalsize{\\mathsurround=0pt \\realnormalsize\n" . " \\parindent=0pt\\abovedisplayskip=0pt\\belowdisplayskip=0pt}%\n" . " \\def\\phantompar{\\csname par\\endcsname}\\normalsize}%\n" . "\\def\\lthtmltypeout#1{{\\let\\protect\\string \\immediate\\write\\lthtmlwrite{#1}}}%\n" . "\\newcommand\\lthtmlhboxmathA{\\adjustnormalsize\\setbox\\sizebox=\\hbox\\bgroup\\kern.05em }%\n" . "\\newcommand\\lthtmlhboxmathB{\\adjustnormalsize\\setbox\\sizebox=\\hbox to\\hsize\\bgroup\\hfill }%\n" . "\\newcommand\\lthtmlvboxmathA{\\adjustnormalsize\\setbox\\sizebox=\\vbox\\bgroup %\n". " \\let\\ifinner=\\iffalse \\let\\)\\liih\@math }%\n" . "\\newcommand\\lthtmlboxmathZ{\\\@next\\next\\\@currlist{}{\\def\\next{\\voidb\@x}}%\n" . # " \\expandafter\\box\\next\\edef\\next{\\egroup\\def\\noexpand\\thiseqn{\\theequation}}\\next}%\n" . " \\expandafter\\box\\next\\egroup}%\n" . "\\newcommand\\lthtmlmathtype[1]{\\gdef\\lthtmlmathenv{#1}}%\n" . "\\newcommand\\lthtmllogmath{\\lthtmltypeout{l2hSize %\n" . ":\\lthtmlmathenv:\\the\\ht\\sizebox::\\the\\dp\\sizebox::\\the\\wd\\sizebox.\\preveqno}}%\n" . "\\newcommand\\lthtmlfigureA[1]{\\let\\\@savefreelist\\\@freelist \\lthtmlmathtype{#1}\\lthtmlvboxmathA}%\n" . "\\newcommand\\lthtmlpictureA{\\bgroup\\catcode`\\_=8 \\lthtmlpictureB}%\n" . "\\newcommand\\lthtmlpictureB[1]{\\lthtmlmathtype{#1}\\egroup \\let\\\@savefreelist\\\@freelist \\lthtmlhboxmathB}%\n" . "\\newcommand\\lthtmlpictureZ[1]{\\hfill\\lthtmlfigureZ}%\n" . "\\newcommand\\lthtmlfigureZ{\\lthtmlboxmathZ\\lthtmllogmath\\copy\\sizebox \\global\\let\\\@freelist\\\@savefreelist}%\n" . "\\newcommand\\lthtmldisplayA{\\bgroup\\catcode`\\_=8 \\lthtmldisplayAi}%\n" . "\\newcommand\\lthtmldisplayAi[1]{\\lthtmlmathtype{#1}\\egroup\\lthtmlvboxmathA}%\n" . "\\newcommand\\lthtmldisplayB[1]{\\edef\\preveqno{(\\theequation)}%\n" . " \\lthtmldisplayA{#1}\\let\\\@eqnnum\\relax}%\n" . "\\newcommand\\lthtmldisplayZ{\\lthtmlboxmathZ\\lthtmllogmath\\lthtmlsetmath}%\n" . "\\newcommand\\lthtmlinlinemathA{\\bgroup\\catcode`\\_=8 \\lthtmlinlinemathB}\n" . "\\newcommand\\lthtmlinlinemathB[1]{\\lthtmlmathtype{#1}\\egroup\\lthtmlhboxmathA\n" . " \\vrule height1.5ex width0pt }%\n" . "\\newcommand\\lthtmlinlineA{\\bgroup\\catcode`\\_=8 \\lthtmlinlineB}%\n" . "\\newcommand\\lthtmlinlineB[1]{\\lthtmlmathtype{#1}\\egroup\\lthtmlhboxmathA}%\n" . "\\newcommand\\lthtmlinlineZ{\\egroup\\expandafter\\ifdim\\dp\\sizebox>0pt %\n" . " \\expandafter\\centerinlinemath\\fi\\lthtmllogmath\\lthtmlsetinline}\n" . "\\newcommand\\lthtmlinlinemathZ{\\egroup\\expandafter\\ifdim\\dp\\sizebox>0pt %\n" . " \\expandafter\\centerinlinemath\\fi\\lthtmllogmath\\lthtmlsetmath}\n" . "\\newcommand\\lthtmlindisplaymathZ{\\egroup %\n" . " \\centerinlinemath\\lthtmllogmath\\lthtmlsetmath}\n" . "\\def\\lthtmlsetinline{\\hbox{\\vrule width.1em \\vtop{\\vbox{%\n" . " \\kern.1em\\copy\\sizebox}\\ifdim\\dp\\sizebox>0pt\\kern.1em\\else\\kern.3pt\\fi\n" . " \\ifdim\\hsize>\\wd\\sizebox \\hrule depth1pt\\fi}}}\n" . "\\def\\lthtmlsetmath{\\hbox{\\vrule width.1em\\kern-.05em\\vtop{\\vbox{%\n" . " \\kern.1em\\kern$kern pt\\hbox{\\hglue.17em\\copy\\sizebox\\hglue$kern pt}}\\kern.3pt%\n" . " \\ifdim\\dp\\sizebox>0pt\\kern.1em\\fi \\kern$kern pt%\n" . " \\ifdim\\hsize>\\wd\\sizebox \\hrule depth1pt\\fi}}}\n" . "\\def\\centerinlinemath{%\n" . " \\dimen1=\\ifdim\\ht\\sizebox<\\dp\\sizebox \\dp\\sizebox\\else\\ht\\sizebox\\fi\n" . " \\advance\\dimen1by.5pt \\vrule width0pt height\\dimen1 depth\\dimen1 \n". " \\dp\\sizebox=\\dimen1\\ht\\sizebox=\\dimen1\\relax}\n\n" . "\\def\\lthtmlcheckvsize{\\ifdim\\ht\\sizebox<\\vsize \n" . " \\ifdim\\wd\\sizebox<\\hsize\\expandafter\\hfill\\fi \\expandafter\\vfill\n" . " \\else\\expandafter\\vss\\fi}%\n" . "\\providecommand{\\selectlanguage}[1]{}%\n" . # "\\def\\\@enddocumenthook{\\ifnum\\count0>1 \\ifvoid\\\@cclv\\penalty-\\\@MM\\fi\\fi}\n" . "\\makeatletter \\tracingstats = 1 \n" . ($itrans_loaded ? $itrans_tex_mod : '') . $LaTeXmacros . "\n" # macros defined in extension files # "\\usepackage{lthimages}\n" . . (($LATEX_DUMP)? "\\latexdump\n" : '') . "\n\\begin{document}\n" . "\\pagestyle{empty}\\thispagestyle{empty}\\lthtmltypeout{}%\n" . "\\lthtmltypeout{latex2htmlLength hsize=\\the\\hsize}\\lthtmltypeout{}%\n" . "\\lthtmltypeout{latex2htmlLength vsize=\\the\\vsize}\\lthtmltypeout{}%\n" . "\\lthtmltypeout{latex2htmlLength hoffset=\\the\\hoffset}\\lthtmltypeout{}%\n" . "\\lthtmltypeout{latex2htmlLength voffset=\\the\\voffset}\\lthtmltypeout{}%\n" . "\\lthtmltypeout{latex2htmlLength topmargin=\\the\\topmargin}\\lthtmltypeout{}%\n" . "\\lthtmltypeout{latex2htmlLength topskip=\\the\\topskip}\\lthtmltypeout{}%\n" . "\\lthtmltypeout{latex2htmlLength headheight=\\the\\headheight}\\lthtmltypeout{}%\n" . "\\lthtmltypeout{latex2htmlLength headsep=\\the\\headsep}\\lthtmltypeout{}%\n" . "\\lthtmltypeout{latex2htmlLength parskip=\\the\\parskip}\\lthtmltypeout{}%\n" . "\\lthtmltypeout{latex2htmlLength oddsidemargin=\\the\\oddsidemargin}\\lthtmltypeout{}%\n" . "\\makeatletter\n" . "\\if\@twoside\\lthtmltypeout{latex2htmlLength evensidemargin=\\the\\evensidemargin}%\n" . "\\else\\lthtmltypeout{latex2htmlLength evensidemargin=\\the\\oddsidemargin}\\fi%\n" . "\\lthtmltypeout{}%\n" . "\\makeatother\n\\setcounter{page}{1}\n\\onecolumn\n\n% !!! IMAGES START HERE !!!\n\n" . "$contents\n" # "\\clearpage\n" . . "\\end{document}"; } sub adjust_textwidth { local($_) = @_; local($width,$length) = ('',''); if (/a4/) {$width = 595; $length= 842; } elsif (/letter/) {$width = 612; $length= 792; } elsif (/legal/) {$width = 612; $length= 1008; } elsif (/note/) {$width = 540; $length= 720; } elsif (/b5/) {$width = 501; $length= 709; } elsif (/a5/) {$width = 421; $length= 595; } elsif (/a6/) {$width = 297; $length= 421; } elsif (/a7/) {$width = 210; $length= 297; } elsif (/a8/) {$width = 148; $length= 210; } elsif (/a9/) {$width = 105; $length= 148; } elsif (/a10/) {$width = 74; $length= 105; } elsif (/b4/) {$width = 709; $length= 1002; } elsif (/a3/) {$width = 842; $length= 1190; } elsif (/b3/) {$width = 1002; $length= 1418; } elsif (/a2/) {$width = 1190; $length= 1684; } elsif (/b2/) {$width = 1418; $length= 2004; } elsif (/a1/) {$width = 1684; $length= 2380; } elsif (/b1/) {$width = 2004; $length= 2836; } elsif (/a0/) {$width = 2380; $length= 3368; } elsif (/b0/) {$width = 2836; $length= 4013; } else { &write_warnings("\nPAPERSIZE: $_ unknown, using LaTeX's size."); return(); } if ($width > 500) { $width = $width - 144; $length = $length - 288; } elsif ($width > 250) { $width = $width - 72; $length = $length - 144; } elsif ($width > 125) { $width = $width - 36; $length = $length - 72; } # "\\setlength{\\oddsidemargin}{0pt}\n" . # "\\setlength{\\evensidemargin}{0pt}\n" . # "\\setlength{\\parskip}{0pt}\\setlength{\\topskip}{0pt}\n" . "\\setlength{\\hoffset}{0pt}\\setlength{\\voffset}{0pt}\n" . "\\addtolength{\\textheight}{\\footskip}\\setlength{\\footskip}{0pt}\n" . "\\addtolength{\\textheight}{\\topmargin}\\setlength{\\topmargin}{0pt}\n" . "\\addtolength{\\textheight}{\\headheight}\\setlength{\\headheight}{0pt}\n" . "\\addtolength{\\textheight}{\\headsep}\\setlength{\\headsep}{0pt}\n" . "\\setlength{\\textwidth}{${width}pt}\n" . (($length > 500) ? "\\setlength{\\textheight}{${length}pt}\n" : '') } # Given the depth of the current sectioning declaration and the current # section numbers it returns the new section numbers. # It increments the $depth-ieth element of the @curr_sec_id list and # 0's the elements after the $depth-ieth element. sub new_level { local($depth, @curr_sec_id) = @_; $depth = $section_commands{$outermost_level} unless $depth; local($i) = 0; grep( do { if ($i == $depth) {$_++ ;} elsif ($i > $depth) {$_ = 0 ;}; $i++; 0; }, @curr_sec_id); @curr_sec_id; } sub make_head_and_body { local($title,$body,$before_body) = @_; local($DTDcomment) = ''; local($version,$isolanguage) = ($HTML_VERSION, 'EN'); local(%isolanguages) = ( 'english', 'EN' , 'USenglish', 'EN-US' , 'original', 'EN' , 'german' , 'DE' , 'austrian', 'DE-AT', 'french' , 'FR' , 'spanish', 'ES' , %isolanguages ); # $isolanguage = $isolanguages{$default_language}; # DTD is in EN $isolanguage = 'EN' unless $isolanguage; #JCL(jcl-tcl) # clean title as necessary # the first words ... is a kludge, but reasonable (or not?) #RRM: why bother? --- as long as it is pure text. $title = &purify($title,1); eval("\$title = ". $default_title ) unless ($title); # $title = &get_first_words($title, $WORDS_IN_NAVIGATION_PANEL_TITLES); # allow user-modification of the <TITLE> tag; thanks Dan Young if (defined &custom_TITLE_hook) { $title = &custom_TITLE_hook($title, $toc_sec_title); } if ($DOCTYPE =~ /\/\/[\w\.]+\s*$/) { # language spec included $DTDcomment = '<!DOCTYPE HTML PUBLIC "'. $DOCTYPE .'"'; } else { $DTDcomment = '<!DOCTYPE HTML PUBLIC "'. $DOCTYPE .'//' . ($ISO_LANGUAGE ? $ISO_LANGUAGE : $isolanguage) . '"' } $DTDcomment .= ($PUBLIC_REF ? "\n \"".$PUBLIC_REF.'"' : '' ) . '>'."\n"; $STYLESHEET = $FILE.".css" unless defined($STYLESHEET); my ($this_charset) = $charset; if ($USE_UTF) { $charset = $utf8_str; $NO_UTF = ''; } if (!$charset && $CHARSET) { $this_charset = $CHARSET; $this_charset =~ s/_/\-/go; } if ($NO_UTF && $charset =~/utf/) { $this_charset = $PREV_CHARSET||$CHARSET; $this_charset =~ s/_/\-/go; } join("\n", (($DOCTYPE)? $DTDcomment : '' ) ,"<!--Converted with LaTeX2HTML $TEX2HTMLVERSION" , "original version by: Nikos Drakos, CBLU, University of Leeds" , "* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan" , "* with significant contributions from:" , " Jens Lippmann, Marek Rouchal, Martin Wilck and others" . " -->\n<HTML>\n<HEAD>\n<TITLE>".$title."" , &meta_information($title) , ($CHARSET && $HTML_VERSION ge "2.1" ? "" : "" ) , $LATEX2HTML_META , ($BASE ? "" : "" ) , $STYLESHEET_CASCADE , ($STYLESHEET ? "" : '' ) , $more_links_mark , "" , ($before_body? $before_body : '') , "", ''); } sub style_sheet { local($env,$id,$style); #AXR: don't overwrite existing .css #MRO: This is supposed to be $FILE.css, no? #RRM: only by default, others can be specified as well, via $EXTERNAL_STYLESHEET #return if (-f $EXTERNAL_STYLESHEET); return if (-r "$FILE.css" && -s _); unless(open(STYLESHEET, ">$FILE.css")) { print "\nError: Cannot write '$FILE.css': $!\n"; return; } if ( -f $EXTERNAL_STYLESHEET ) { if(open(EXT_STYLES, "<$EXTERNAL_STYLESHEET")) { while () { print STYLESHEET $_; } close(EXT_STYLES); } else { print "\nError: Cannot read '$EXTERNAL_STYLESHEET': $!\n"; } } else { print STYLESHEET <<"EOF" /* Century Schoolbook font is very similar to Computer Modern Math: cmmi */ .MATH { font-family: \"Century Schoolbook\", serif; } .MATH I { font-family: \"Century Schoolbook\", serif; font-style: italic } .BOLDMATH { font-family: \"Century Schoolbook\", serif; font-weight: bold } /* implement both fixed-size and relative sizes */ SMALL.XTINY { font-size : xx-small } SMALL.TINY { font-size : x-small } SMALL.SCRIPTSIZE { font-size : smaller } SMALL.FOOTNOTESIZE { font-size : small } SMALL.SMALL { } BIG.LARGE { } BIG.XLARGE { font-size : large } BIG.XXLARGE { font-size : x-large } BIG.HUGE { font-size : larger } BIG.XHUGE { font-size : xx-large } /* heading styles */ H1 { } H2 { } H3 { } H4 { } H5 { } /* mathematics styles */ DIV.displaymath { } /* math displays */ TD.eqno { } /* equation-number cells */ /* document-specific styles come next */ EOF } print "\n *** Adding document-specific styles *** "; while (($env,$style) = each %env_style) { if ($env =~ /\./) { $env =~ s/\.$//; print STYLESHEET "$env\t\t{ $style }\n"; } elsif ($env =~ /inline|^(text|math)?((tt|rm|sf)(family)?|(up|it|sl|sc)(shape)?|(bf|md)(series)?|normal(font)?)$/) { print STYLESHEET "SPAN.$env\t\t{ $style }\n"; } elsif ($env =~ /\./) { print STYLESHEET "$env\t\t{ $style }\n"; } elsif ($env =~ /^(preform|\w*[Vv]erbatim(star)?)$/) { print STYLESHEET "PRE.$env\t\t{ $style }\n"; } elsif ($env =~ /figure|table|tabular|equation|$array_env_rx/) { print STYLESHEET "TABLE.$env\t\t{ $style }\n"; } else { print STYLESHEET "DIV.$env\t\t{ $style }\n"; } } while (($env,$style) = each %txt_style) { print STYLESHEET "SPAN.$env\t\t{ $style }\n"; } while (($env,$style) = each %img_style) { print STYLESHEET "IMG.$env\t\t{ $style }\n"; } my ($style); foreach $id (sort(keys %styleID)) { $style = $styleID{$id}; $style =~ s/font-(color)/$1/; print STYLESHEET "\#$id\t\t{ $style }\n" if ($styleID{$id} ne ''); } close(STYLESHEET); } sub clear_styleID { return unless ($USING_STYLES); local($env_id,$id) = ("grp", @_); undef $styleID{$env_id} if ($id =~ /^\d+$/); } sub make_address { local($addr) = &make_real_address(@_); $addr .= "\n\n\n"; &lowercase_tags($addr) if $LOWER_CASE_TAGS; $addr; } sub make_real_address { local($addr) = $ADDRESS; if ((defined &custom_address)&&($addr)) { &custom_address($addr) } elsif ($addr) { "
\n$addr\n
"; } else { '' } } sub purify_caption { local($_) = @_; local($text) = &recover_image_code($_); $text =~ s/\\protect|ALT\=|%EQNO:\d+//g; $text =~ s/[\\\#\'\"\`]//g; $text; } sub recover_image_code { local($key) = @_; local($text) = $img_params{$key}; if (!$text) { if ($text = $id_map{$key}) { if ($orig_name_map{$text}) { $text = $img_params{$orig_name_map{$text}} } } elsif ($cached_env_img{$key}) { $text = $img_params{$cached_env_img{$key}}; } if ($text =~ /\#*ALT="([^"]+)"(>|#)/s) { $text = $1 } } $text =~ s/\\protect|%EQNO:\d+//g; $text =~ s/&(gt|lt|amp|quot);/&special_html_inv($1)/eg; $text; } sub encode_title { local($_) = @_; $_ = &encode($_); while (/(<[^<>]*>)/o) {s/$1//g}; # Remove HTML tags s/#[^#]*#//g; # Remove #-delimited markers $_; } # Encodes the contents of enviroments that are passed to latex. The code # is then used as key to a hash table pointing to the URL of the resulting # picture. sub encode { local($_) = @_; # Remove invocation-specific stuff 1 while(s/\\(begin|end)\s*(($O|$OP)\d+($C|$CP))?|{?tex2html_(wrap|nowrap|deferred|)(_\w+)?}?(\2)?//go); $_ = &revert_to_raw_tex($_); s/\\protect//g; # remove redundant \protect macros #$_ = pack("u*", $_); # uuencode s/\\\$/dollar/g; # replace funnies, may cause problems in a hash key s/\//slash/g; # replace funnies, may cause problems in a hash key s/\$|\/|\\//g; # remove funnies, may cause problems in a hash key s/\s*|\n//g; # Remove spaces and newlines s/^(.{80}).*(.{80})$/$1$2/; # truncate to avoid DBM problems $_; } ##################### Hypertext Section Links ######################## sub post_process { # Put hyperlinks between sections, add HTML headers and addresses, # do cross references and citations. # Uses the %section_info array created in sub translate. # Binds the global variables # $PREVIOUS, $PREVIOUS_TITLE # $NEXT, $NEXT_TITLE # $UP, $UP_TITLE # $CONTENTS, $CONTENTS_TITLE # $INDEX, $INDEX_TITLE # $NEXT_GROUP, $NEXT_GROUP_TITLE # $PREVIOUS_GROUP, $PREVIOUS_GROUP_TITLE # Converting to and from lists and strings is very inefficient. # Maybe proper lists of lists should be used (or wait for Perl5?) # JKR: Now using top_navigation and bot_navigation instead of navigation local($_, $key, $depth, $file, $title, $header, @link, @old_link, $top_navigation, $bot_navigation, @keys, @tmp_keys, $flag, $child_links, $body, $more_links); @tmp_keys = @keys = sort numerically keys %section_info; print "\nDoing section links ..."; while (@tmp_keys) { $key = shift @tmp_keys; next if ($MULTIPLE_FILES &&!($key =~ /^$THIS_FILE/)); print "."; $more_links = ""; ($depth, $file, $title, $body) = split($delim,$section_info{$key}); print STDOUT "\n$key $file $title $body" if ($VERBOSITY > 3); next if ($body =~ /external/); $PREVIOUS = $PREVIOUS_TITLE = $NEXT = $NEXT_TITLE = $UP = $UP_TITLE = $CONTENTS = $CONTENTS_TITLE = $INDEX = $INDEX_TITLE = $NEXT_GROUP = $NEXT_GROUP_TITLE = $PREVIOUS_GROUP = $PREVIOUS_GROUP_TITLE = $_ = $top_navigation = $bot_navigation = undef; &add_link_tag('previous',$file); @link = split(' ',$key); ($PREVIOUS, $PREVIOUS_TITLE) = &add_link($previous_page_visible_mark,$file,@old_link); @old_link = @link; unless ($done{$file}) { ++$link[$depth]; # if ($MULTIPLE_FILES && !$depth && $multiple_toc ) { # local($save_depth) = $link[$depth]; # $link[$depth] = 1; # ($NEXT_GROUP, $NEXT_GROUP_TITLE) = # &add_link($next_visible_mark, $file, @link); # &add_link_tag('next', $file, @link); # $link[$depth] = $save_depth; # } else { ($NEXT_GROUP, $NEXT_GROUP_TITLE) = &add_link($next_visible_mark, $file, @link); &add_link_tag('next', $file, @link); # } $link[$depth]--;$link[$depth]--; if ($MULTIPLE_FILES && !$depth ) { } else { ($PREVIOUS_GROUP, $PREVIOUS_GROUP_TITLE) = &add_link($previous_visible_mark, $file,@link); &add_link_tag('previous', $file,@link); } $link[$depth] = 0; ($UP, $UP_TITLE) = &add_link($up_visible_mark, $file, @link); &add_link_tag('up', $file, @link); if ($CONTENTS_IN_NAVIGATION) { ($CONTENTS, $CONTENTS_LINK) = &add_special_link($contents_visible_mark, $tocfile, $file); &add_link_tag('contents', $file, $delim.$tocfile); } if ($INDEX_IN_NAVIGATION) { ($INDEX, $INDEX_LINK) = &add_special_link($index_visible_mark, $idxfile, $file); &add_link_tag('index', $file, $delim.$idxfile,); } @link = split(' ',$tmp_keys[0]); # the required `next' link may be several sub-sections along local($nextdepth,$nextfile,$nextkey,$nexttitle,$nextbody)= ($depth,$file,$key,'',''); $nextkey = shift @tmp_keys; ($nextdepth, $nextfile,$nexttitle,$nextbody) = split($delim,$section_info{$nextkey}); if (($nextdepth<$MAX_SPLIT_DEPTH)&&(!($nextbody=~/external/))) { ($NEXT, $NEXT_TITLE) = &add_link($next_page_visible_mark, $file, @link); &add_link_tag('next', $file, @link); } else { ($NEXT, $NEXT_TITLE) = ('',''); $nextfile = $file; } if ((!$NEXT || $NEXT =~ /next_page_inactive_visible_mark/)&&(@tmp_keys)) { # the required `next' link may be several sub-sections along while ((@tmp_keys)&&(($MAX_SPLIT_DEPTH < $nextdepth+1)||($nextfile eq $file))) { $nextkey = shift @tmp_keys; ($nextdepth, $nextfile,$nexttitle,$nextbody) = split($delim,$section_info{$nextkey}); if ($nextbody =~ /external/) { $nextfile = $file; next; }; print ","; print STDOUT "\n $nextkey" if ($VERBOSITY > 3); } @link = split(' ',$nextkey); if (($nextkey)&&($nextdepth<$MAX_SPLIT_DEPTH)) { ($NEXT, $NEXT_TITLE) = &add_link($next_page_visible_mark, $file, @link); &add_link_tag('next', $file, @link); } else { ($NEXT, $NEXT_TITLE) = ($NEXT_GROUP, $NEXT_GROUP_TITLE); $NEXT =~ s/next_page_(inactive_)?visible_mark/next_page_$1visible_mark/; ($PREVIOUS, $PREVIOUS_TITLE) = ($PREVIOUS_GROUP, $PREVIOUS_GROUP_TITLE); $PREVIOUS =~ s/previous_(inactive_)?visible_mark/previous_page_$1visible_mark/; } } unshift (@tmp_keys,$nextkey) if ($nextkey); # $top_navigation = (defined(&top_navigation_panel) ? &top_navigation_panel : &navigation_panel) unless $NO_NAVIGATION; $bot_navigation = (defined(&bot_navigation_panel) ? &bot_navigation_panel : &navigation_panel) unless $NO_NAVIGATION; local($end_navigation) = "\n\n"; if ($USING_STYLES) { $top_navigation = "\n".' 3.1)? " CLEAR=\"ALL\"" :'') , '>' , $below_display_space ); } else { join ('' , $above_display_space , "\n$anchors\n" , $_ , "\n 3.1)? " CLEAR=\"ALL\"" :'') , '>' , $below_display_space ); } } } else { # MRO: replaced $* with /m s/^\n//m; s/\n$//m; if ($captions) { join('', "\n
\n", (($anchors) ? "$anchors" : '') , "$cap_anchors\n$captions\n
" , "\n', $_ , "\n

"); } elsif ($halign) { join ('', "
\n$anchors", $_ , "\n
" ) } else { join('', "
\n$anchors\n" , $_ , "\n


"); } } } sub do_env_figurestar { &do_env_figure(@_) } sub do_env_table { local($_) = @_; local($halign, $anchors) = ('',''); local ( $border, $attribs ); &get_next_optional_argument; # Try to establish the alignment if (/^(\[[^\]]*])?\s*\\begin\s*<<\d*>>(\w*)<<\d*>>|\\(\w*)line/) { $halign = $2.$3; if ($halign =~ /right/i) { $halign = 'RIGHT' } elsif ($halign =~ /left/i) { $halign = 'LEFT' } elsif ($halign =~ /center/i) { $halign = 'CENTER' } else { $halign = '' } } local($cap_env, $captions) = ('table',''); # allow caption-alignment to be variable local($cap_align); if ($TABLE_CAPTION_ALIGN =~ /^(TOP|BOTTOM|LEFT|RIGHT)/i) { $cap_align = join('', ' ALIGN="', $&, $','"')}; if ((/\\(begin|end)\s*($O\d+$C)\s*makeimage\s*\2/)|| ($HTML_VERSION > 2.0 && ( /\\begin\s*($O\d+$C)\s*((super)?tabular|longtable)\s*\1/))) { $_ = &translate_environments($_); ($_,$anchors) = &extract_labels($_); # extract labels do { local($contents) = $_; &extract_captions($cap_env); $_ = $contents; } if (/\\caption/); if (s/$htmlborder_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } elsif (s/$htmlborder_pr_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } $_ = &translate_commands($_); while ($_ =~ s/(^\s*
\s*|\s*
\s*$)//g){}; } else { # Make an image of the whole environment. ($_,$anchors) = &extract_labels($_); # extract labels do { local($contents) = $_; &extract_captions($cap_env); $_ = $contents; } if (/\\caption/); if (s/$htmlborder_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } elsif (s/$htmlborder_pr_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } $_ = &process_undefined_environment($env, $id, $_); $_ = &post_latex_do_env_table($_); $_ =~ s/\s*
\s*$//g; } if ($captions) { # MRO: replaced $* with /m $captions =~ s/^\n//m; $captions =~ s/\n$//m; } s/$caption_mark//g; local($close_tags) = &close_all_tags; $_ .= $close_tags; # when $captions remain place all the pieces inside a TABLE, if available if ($HTML_VERSION > 2.1) { if ($captions) { $halign = 'CENTER' unless $halign; local($table) = '

\n" , "$anchors$cap_anchors\n$table\n' , $captions , "\n" , $_ , "\n\n


" ) } elsif ($halign) { if ($halign) { # MRO: replaced $* with /m s/^\s*(<(P|DIV)$env_id ALIGN=\"\w+[^>]+>)/$1$anchors/m if ($anchors); join('', "
", $_, "\n
" ) } else { join ('', "
\n$anchors", $_ , "\n
" ) } } else { join ('', "

\n$anchors\n", $_ , "\n
" ) } } else { # MRO: replaced $* with /m s/^\n//m; s/\n$//m; if ($captions) { join('', "
\n", (($anchors) ? "$anchors" : ''), "$cap_anchors\n$captions\n
" , "\n

", $_, "\n


"); } elsif ($halign) { join ('', "

\n$anchors", $_ , "\n

" ) } else { join('', "
\n

$anchors\n", $_, "\n


"); } } } sub do_env_tablestar { &do_env_table(@_) } # RRM: A makeimage environment generates a picture of its entire contents, # UNLESS it is empty. # sub do_env_makeimage { local($_) = @_; local($attribs, $border); s/^\s*//; if (s/$htmlborder_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } elsif (s/$htmlborder_pr_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } if (/^((\\begin\s*(($O|$OP)\d+($C|$CP))tex2html_deferred\3)?\\par(\\end(($O|$OP)\d+($C|$CP))tex2html_deferred\7)?\%?\s*\n)+$/s) { return("\n
\n") } if (/^(\s\%?\n)+$/s) { return() } $_ = &process_undefined_environment($env, $id, $_); if (($border||($attributes))&&($HTML_VERSION > 2.1 )) { $_ = &make_table( $border, $attribs, '', '', '', $_ ) } $_ . ((!$_=~/^\s*$/)? "\n
\n" :''); } sub do_env_abstract { &make_abstract($_[0]) } sub do_env_minipage { local($_) = @_; &get_next_optional_argument; local($width); $width = &missing_braces unless ( (s/$next_pair_pr_rx/$width=$2;''/e) ||(s/$next_pair_rx/$width=$2;''/e)); local($pxs,$len) = &convert_length($width,$MATH_SCALE_FACTOR) if $width; $width = " WIDTH=\"$pxs\""; local ( %mpfootnotes, $mpfootnotes ) unless ($MINIPAGE); local ( $border, $attribs, $footfile); $global{'mpfootnote'} = 0 unless ($MINIPAGE); $MINIPAGE++; print "\n *** doing minipage *** " if ($VERBOSITY > 1); local($open_tags_R) = [ @$open_tags_R ]; local($close_tags,$reopens) = &close_all_tags(); local(@save_open_tags) = @$open_tags_R; local($minipage_caption) if $cap_env; if ($cap_env &&($HTML_VERSION>2.1)) { do { local($captions); local($contents) = $_; &extract_captions($cap_env) if ($_ =~ /\\caption/m); $minipage_caption = $captions; $_ = $contents; undef $contents; undef $captions; }; } if (s/^\s*$htmlborder_rx//so) { $attribs = $2; $border = (($4)? "$4" : 1) } elsif (s/^\s*$htmlborder_pr_rx//so) { $attribs = $2; $border = (($4)? "$4" : 1) } if (/^\s*\\/) { local($tmp) = ++$global{'max_id'}; $_ = $O.$tmp.$C.$_.$O.$tmp.$C } $_ = &translate_environments($_); if (s/$htmlborder_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } elsif (s/$htmlborder_pr_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } $_ = &translate_commands($_); $MINIPAGE--; $MINIPAGE='' if ($MINIPAGE==0); $_ .= &balance_tags(); $attribs .= $width unless ($attribs =~ /WIDTH/i); # if (($border||$attribs)&&$MINIPAGE&&($HTML_VERSION>2.1)) { if (($border||$attribs||$env_id)&&$MINIPAGE&&($HTML_VERSION>2.1)) { $_ = &make_table( $border, $attribs, '', '', '', $_ ); } elsif ($MINIPAGE) { $_ = join ('', '

', $_ , '


' ); } elsif (($border||($attribs)||$minipage_caption)&&($HTML_VERSION > 2.1 )) { $mpfootnotes = '
'.$mpfootnotes.'
' if $mpfootnotes; $_ = &make_table( $border, $attribs, '', $mpfootnotes, '', $_ ); $_ = join('','
3.0)? ' WIDTH="50\%" ALIGN="CENTER"' : '') , '>', $_ , '
3.0)? ' WIDTH="50\%" ALIGN="CENTER"' : '') , '>
') unless ($border||$attribs||$mpfootnotes); } else { $global{'mpfootnote'} = 0; if ($mpfootnotes) { $mpfootnotes = '
'.$mpfootnotes unless ($mpfootnotes =~ /^\s*/); $_ = join('','

', $_ , '
3.0)? ' WIDTH="200" ALIGN="LEFT"' : '') , '>
', $mpfootnotes , '

3.0)? ' CLEAR="all"' : '') , '>' ); } else { $_ = join ('', '

', $_ , '


' ); } } join('', $close_tags, $_, $reopens); } if (($HTML_VERSION > 2.1)&&($HTML_VERSION < 4.0)) { $TABLE_attribs = ",ALIGN,"; $TABLE__ALIGN = ",left,right,center,"; $TABLE_attribs_rx_list = ",CELLPADDING,BORDER,WIDTH,CELLSPACING,"; $TABLE__WIDTH_rx = "\^\\d+%?"; $TABLE__BORDER_rx = $TABLE__CELLSPACING_rx = $TABLE__CELLPADDING_rx = "\^\\d+"; } sub make_table { local($border, $attribs, $anchors, $extra_cell, $halign, $_) = @_; local($table,$caption,$div,$end,$Tattribs); $caption = join('',"" , $minipage_caption ,'') if ($minipage_caption); $end = "\n"; $table = join('', "" if ($VERBOSITY >2 ); $table .= ">".$caption."\n"; if ($extra_cell) { local($sep) = "\n\n"; join ('', $div, $anchors, $table, $_ , $sep, $extra_cell, $end ); } else { join ('', $div, $anchors, $table, $_ , $end ); } } sub do_env_thebibliography { # Sets $citefile and $citations defined in translate local($_) = @_; $bibitem_counter = 0; $citefile = $CURRENT_FILE; $citefiles{$bbl_nr} = $citefile; local($dummy,$title); $dummy = &missing_braces unless ( (s/$next_pair_pr_rx/$dummy=$2;''/e) ||(s/$next_pair_rx/$dummy=$2;''/e)); # MRO: replaced $* with /m s/^\s*$//gm; # Remove empty lines (otherwise will have paragraphs!) s/^\s*//m; # Replace non-breaking spaces, particularly in author names. # s/([^\\])~/$1 /g; # Replace non-breaking spaces. $_ = &translate_environments($_); $_ = &translate_commands($_); # RRM: collect all anchors from initial \label and \index commands local($anchors) = &extract_anchors('',1); $_ = '
'.$_ unless ($_ =~ /^\s*/); $citations = join('',"
", $_, "
"); $citations{$bbl_nr} = $citations; local($br_id); if ((defined &do_cmd_bibname)||$new_command{'bibname'}) { $br_id=++$global{'max_id'}; $title = &translate_environments("$O$br_id$C\\bibname$O$br_id$C"); } else { $title = $bib_title } if (! $title ) { if ((defined &do_cmd_refname)||$new_command{'refname'}) { $br_id=++$global{'max_id'}; $title = &translate_environments("$O$br_id$C\\refname$O$br_id$C"); } else { $title = $ref_name } } local($closures,$reopens) = &preserve_open_tags(); $toc_sec_title = $title ; local $bib_head = $section_headings{'bibliography'}; $_ = join('', $closures , &make_section_heading($title, $bib_head, $anchors) , "$bbl_mark#$bbl_nr#" , $reopens ); $bbl_nr++ if $bbl_cnt > 1; $_ =~ s/;SPMnbsp;/ /g; # replace non-breaking spaces with real ones $_; } # IGNORE - We construct our own index sub do_env_theindex { "" } # This is defined in html.sty sub do_env_comment { "" } sub do_env_equation{ local($_)=@_; local($attribs, $border, $no_num); if (s/$htmlborder_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } elsif (s/$htmlborder_pr_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } if (/\\nonumber/) { $no_num = 1; $_ = &process_undefined_environment($env,$id,$_); } else { $latex_body .= join('', "\n\\setcounter{equation}{" , $global{'eqn_number'}, "}\n"); #include equation-number into the key, with HTML 2.0 # $_ = join("\n", "%EQNO:".$global{'eqn_number'}, $_) $_ .= "%EQNO:".$global{'eqn_number'}."\n" if ($HTML_VERSION < 2.2); $_ = &process_undefined_environment($env,$id,$_); $global{'eqn_number'}++; local($save) = $_; $_ = join('', $save, &post_latex_do_env_equation($eqno_prefix)); } if (($border||($attribs))&&($HTML_VERSION > 2.1 )) { join('',"
\n\n" , &make_table( $border, $attribs, '', '', '', $_ ) , "\n
"); } elsif ($HTML_VERSION < 2.2 ) { join('', "\n

", $_ , "\n

" ) } elsif ($HTML_VERSION > 2.1 ) { join('', "\n

', $_ , "\n

" ) } else { $_ } } sub do_env_eqnarray{ local($_)=@_; local($attribs, $border, $no_num); if (s/$htmlborder_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } elsif (s/$htmlborder_pr_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } local($contents) = $_; # $_ = join("\n", "%EQNO:".$global{'eqn_number'}, $_) # if ($HTML_VERSION < 3.2); #include equation-number into the key. $_ .= "%EQNO:".$global{'eqn_number'}."\n" if ($HTML_VERSION < 2.2); $_ = &process_undefined_environment($env,$id,$_); $_ .= &post_latex_do_env_eqnarray($eqno_prefix,$contents); if (($border||($attribs))&&($HTML_VERSION > 2.1 )) { join('',"
\n
\n" , &make_table( $border, $attribs, '', '', '', $_ ) , "\n
"); } elsif ($HTML_VERSION < 2.2 ) { join('', "\n

", $_ , "\n

" ) } elsif ($HTML_VERSION > 3.1 ) { join('',"
\n
\n", $_ , "\n

" ); } else { join('', "\n

' , $_ , "\n

" ) } } #RRM: these are needed with later versions, when {eqnarray} # environments are split into cells. sub protect_array_envs { local($_) = @_; local($cnt, $arraybit, $thisbit, $which) = (0,'','',''); # MRO: replaced $* with /m while (/\\(begin|end)\s*(<(<|#)\d+(#|>)>)($sub_array_env_rx)(\*|star)?\2/m ) { $thisbit = $` . $&; $_ = $'; $which = $1; do { # mark rows/columns in nested arrays $thisbit =~ s/;SPMamp;/$array_col_mark/g; $thisbit =~ s/\\\\/$array_row_mark/g; $thisbit =~ s/\\text/$array_text_mark/g; $thisbit =~ s/\\mbox/$array_mbox_mark/g; } if ($cnt > 0); $arraybit .= $thisbit; if ($which =~ /begin/) {$cnt++} else {$cnt--}; } $_ = $arraybit . $_; local($presub,$thisstack) = ''; for (;;) { # find \\s needing protection within \substack commands # a while-loop is simpler syntax, but uses longer strings if ( /(\\substack\s*(<(<|#)\d+(#|>)>)(.|\n)*)\\\\((.|\n)*\2)/m ) { $presub .= $`; $thisstack =$1.${array_row_mark}.$6; $_ = $'; # convert all \\s in the \substack $thisstack =~ s/\\\\/${array_row_mark}/og; $presub .= $thisstack; } else { last } } $_ = $presub . $_ if ($presub); $_; } sub revert_array_envs { local($array_contents) = @_; $array_contents =~ s/$array_col_mark/$html_specials{'&'}/go; $array_contents =~ s/$array_row_mark/\\\\/go; $array_contents =~ s/$array_text_mark/\\text/go; $array_contents =~ s/$array_mbox_mark/\\mbox/go; $array_contents; } sub do_env_tabbing { local($_) = @_; local($attribs, $border); if (s/$htmlborder_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } elsif (s/$htmlborder_pr_rx//o) { $attribs = $2; $border = (($4)? "$4" : 1) } $_ = &tabbing_helper($_); if (/$image_mark/) { local($tab_warning) = "*** Images are not strictly valid within HTML
 tags\n"
	   . "Please change your use of {tabbing} to a {tabular} environment.\n\n";
	   &write_warnings("\n".$tab_warning);
	   print "\n\n **** invalid tabbing environment ***\n";
	   print $tab_warning;
    }
    if (($border||($attribs))&&($HTML_VERSION > 2.1 )) { 
	join('',"
\n\n" , &make_table( $border, $attribs, '', '', '', $_ ) , "\n
"); } else { $_ } } sub tabbing_helper { local($_) = @_; s/\\=\s*//go; # cannot alter the tab-stops s/\t/ /g; # convert any tabs to spaces # MRO: replaced $* with /m s/(^|\n)[^\n]*\\kill *\n/\n/gm; s/( )? *\n/$1/gm; # retain at most 1 space for a \n # replace \\ by \n ... , ignoring any trailing space # s/\\\\ */\n/gm; # ...but make sure successive \\ do not generate a

tag # s/\n( *)?\n/\n \n/gm; s/\\\>//go; s/(^| *([^\\]))\\[>]/$2\t\t/go; s/([^\\])\\>/$1\t\t/go; s/\n$//; s/^\n//; # strip off leading/trailing \n local($inside_tabbing) = 1; $_ = &translate_commands(&translate_environments($_)); "

\n$_\n
"; } ################# Post Processing Latex Generated Images ################ # A subroutine of the form post_latex_do_env_ can be used to # format images that have come back from latex # Do nothing (avoid the paragraph breaks) sub post_latex_do_env_figure { $_[0] } sub post_latex_do_env_figurestar { &post_latex_do_env_figure(@_) } sub post_latex_do_env_table { $_[0] } sub post_latex_do_env_tablestar { &post_latex_do_env_table(@_) } sub post_latex_do_env_equation { local($prefix) = @_; $global{'eqn_number'}+=1; # include equation number at the side of the image -- HTML 3.2 if ($HTML_VERSION >= 3.2){ join('',"

$EQNO_START" , $prefix , &translate_commands('\theequation') , "$EQNO_END

\n
" ); #

creates unwanted space in some browsers, but others need it. } else { "" } } sub do_cmd_theequation { if ($USING_STYLES) { $txt_style{'eqn-number'} = " " unless ($txt_style{'eqn-number'}); join('', "" ,&get_counter_value('eqn_number'),"", $_[0]); } else { join('',&get_counter_value('eqn_number'), $_[0]); } } sub post_latex_do_env_eqnarray { local($prefix,$body) = @_; local($num_string,$line,@lines) = ''; local($side) = (($EQN_TAGS eq "L") ? "\"left\"" : "\"right\"" ); # MRO: replaced $* with /m @lines = split(/\\\\\\\\/m, $body); $line = pop(@lines); if (!($line=~/^\s*$/)&&!($line =~/\\nonumber/)) { $global{'eqn_number'}++; $num_string .= join('', "

\n" , $EQNO_START , $prefix , &translate_commands('\theequation') , $EQNO_END); } foreach $line (@lines) { next if ($line=~/^\s*$/); $num_string .= "\n
". (($MATH_SCALE_FACTOR > 1.3)? '
' : '') . "
"; if (!($line =~/\\(nonumber|(no)?tag)/)) { $global{'eqn_number'}+=1; $num_string .= join('', $EQNO_START , $prefix , &translate_commands('\theequation') , $EQNO_END); } } # include equation numbers at the side of the image -- HTML 3.2 if ($HTML_VERSION >= 3.2){ "

" . (($DISP_SCALE_FACTOR >= 1.2 ) ? '' : '') . ${num_string} . (($DISP_SCALE_FACTOR >= 1.2 ) ? '' : '') . "

\n
" #

creates unwanted space in some browsers, but others need it. } else { "" }; } sub post_latex_do_env_eqnarraystar { local($_) = @_; if (($HTML_VERSION >= 3.2)&&(!$NO_SIMPLE_MATH)){ join('', "
\n
\n" , $_ , "\n
\n

"); } elsif (($HTML_VERSION >= 2.2)&&(!$NO_SIMPLE_MATH)) { join('', "\n

\n", $_ , "\n

\n

"); } else { join('', "\n

\n", $_ , "\n

\n

"); } } ############################ Grouping ################################### sub do_cmd_begingroup { $latex_body .= "\n\\begingroup\n"; $_[0] } sub do_cmd_endgroup { $latex_body .= "\\endgroup\n\n"; $_[0] } sub do_cmd_bgroup { $latex_body .= "\n\\bgroup\n"; $_[0] } sub do_cmd_egroup { $latex_body .= "\\egroup\n\n"; $_[0] } sub do_env_tex2html_begingroup { local($_) = @_; $latex_body .= "\\begingroup "; $_ = &translate_environments($_); $_ = &translate_commands($_); $latex_body .= "\\endgroup\n"; $_; } sub do_env_tex2html_bgroup { local($_) = @_; $latex_body .= "\\bgroup "; $_ = &translate_environments($_); $_ = &translate_commands($_); $latex_body .= "\\egroup\n"; $_; } ############################ Commands ################################### # Capitalizes what follows the \sc declaration # *** POTENTIAL ERROR **** # (This is NOT the correct meaning of \sc in the cases when it # is followed by another declaration (e.g. \em). # The scope of \sc should be limited to the next occurence of a # declaration. #sub do_cmd_sc { # local($_) = @_; # local(@words) = split(" "); # Capitalize the words which are not commands and do not contain any markers # grep (do {tr/a-z/A-Z/ unless /(^\\)|(tex2html)/}, @words); # grep (do {s/([a-z]+)/\U$1\E<\/small>/g unless /(^\\)|(tex2html)/}, @words); # join(" ", @words); #} sub do_cmd_sc { &process_smallcaps(@_) } sub do_cmd_scshape { &do_cmd_sc(@_) } # This is supposed to put the font back into roman. # Since there is no HTML equivalent for reverting # to roman we keep track of the open font tags in # the current context and close them. # *** POTENTIAL ERROR ****# # This will produce incorrect results in the exceptional # case where \rm is followed by another context # containing font tags of the type we are trying to close # e.g. {a \bf b \rm c {\bf d} e} will produce # a b c d e # i.e. it should move closing tags from the end sub do_cmd_rm { # clean my ($str, $ot) = @_; $ot = $open_tags_R unless(defined $ot); return("<\#rm\#>".$str) if ($inside_tabular); my ($size,$color,$tags); while (@$ot) { my $next = pop (@$ot); print STDOUT "\n" if $VERBOSITY > 2; if ($next =~ /$sizechange_rx/) { $size = $next unless ($size); } # if ($next =~ /$colorchange_rx/) { # $color = $next unless ($color); # } $declarations{$next} =~ m|/); } if ($size) { $declarations{$size} =~ m|/); push (@$ot,$size); print STDOUT "\n<$size>" if $VERBOSITY > 2; } $tags.$str; } sub do_cmd_rmfamily{ &do_cmd_rm(@_) } sub do_cmd_textrm { local($_) = @_; local($text,$br_id)=('','0'); $text = &missing_braces unless ( (s/$next_pair_pr_rx/$text=$2;$br_id=$1;''/eo) ||(s/$next_pair_rx/$text=$2;$br_id=$1;''/eo)); join ('' , &translate_environments("$O$br_id$C\\rm $text$O$br_id$C") , $_ ); } sub do_cmd_emph { local($_) = @_; local($ifstyle,$join_tags) = ('',join(',',@$open_tags_R)); $join_tags =~ s/(^|,)(text)?(it|rm|normalfont)/$if_style=$3;''/eg; if ($if_style =~ /it/) { ($ifstyle,$join_tags) = ('',join(',',@$open_tags_R)); $join_tags =~ s/(^|,)(text)?(bf|rm|normalfont)/$if_style=$3;''/eg; if ($if_style =~ /bf/) { &do_cmd_textrm(@_) } else { &do_cmd_textbf(@_) } } else { &do_cmd_textit(@_) } } #RRM: These cope with declared commands for which one cannot # simply open a HTML single tag. # The do_cmd_... gets found before the $declaration . sub do_cmd_upshape{&declared_env('upshape',$_[0],$tex2html_deferred)} sub do_cmd_mdseries{&declared_env('mdseries',$_[0],$tex2html_deferred)} sub do_cmd_normalfont{&declared_env('normalfont',$_[0],$tex2html_deferred)} # This is supposed to put the font back into normalsize. # Since there is no HTML equivalent for reverting # to normalsize we keep track of the open size tags in # the current context and close them. sub do_cmd_normalsize { # clean my ($str, $ot) = @_; $ot = $open_tags_R unless(defined $ot); my ($font,$fontwt,$closures,$reopens,@tags); while (@$ot) { my $next = pop @$ot; $declarations{$next} =~ m|/); print STDOUT "\n" if $VERBOSITY > 2; if ($next =~ /$fontchange_rx/) { $font = $next unless ($font); } elsif ($next =~ /$fontweight_rx/) { $fontwt = $next unless ($fontwt); } elsif ($next =~ /$sizechange_rx/) { # discard it } else { unshift (@tags, $next); print STDOUT "\n<<$next>" if $VERBOSITY > 2; $reopens .= $pre unless ($pre =~ /^<>/); } } push (@$ot, @tags); if ($font) { $declarations{$font} =~ m|/); push (@$ot,$font); print STDOUT "\n<$font>" if $VERBOSITY > 2; } if ($fontwt) { $declarations{$fontwt} =~ m|/); push (@$ot,$fontwt); print STDOUT "\n<$fontwt>" if $VERBOSITY > 2; } join('', $closures, $reopens, $str); } #JCL(jcl-tcl) # changed everything # sub do_cmd_title { local($_) = @_; &get_next_optional_argument; local($making_title,$next) = (1,''); $next = &missing_braces unless ( (s/$next_pair_pr_rx/$next = $2;''/eo) ||(s/$next_pair_rx/$next = $2;''/eo)); $t_title = &translate_environments($next); $t_title = &translate_commands($t_title); # $toc_sec_title = &simplify(&translate_commands($next)); $toc_sec_title = &purify(&translate_commands($next)); $TITLE = (($toc_sec_title)? $toc_sec_title : $default_title) unless ($TITLE && !($TITLE =~ /^($default_title|$FILE)$/)); # $TITLE = &purify($TITLE); #RRM: remove superscripts inserted due to \thanks $TITLE =~ s/]*>\d+<\/SUP><\/A>/$1/g; $_; } sub do_cmd_author { local($_) = @_; &get_next_optional_argument; local($next); $next = &missing_braces unless ( (s/$next_pair_pr_rx/$next = $&;''/seo) ||(s/$next_pair_rx/$next = $&;''/seo)); local($after) = $_; $_ = &translate_environments($next); $next = &translate_commands($_); ($t_author) = &simplify($next); $after; } sub do_cmd_address { local($_) = @_; &get_next_optional_argument; local($next); $next = &missing_braces unless ( (s/$next_pair_pr_rx/$next = $&;''/eo) ||(s/$next_pair_rx/$next = $&;''/eo)); ($t_address) = &simplify(&translate_commands($next)); $_; } sub do_cmd_institute { local($_) = @_; &get_next_optional_argument; local($next); $next = &missing_braces unless ( (s/$next_pair_pr_rx/$next = $&;''/eo) ||(s/$next_pair_rx/$next = $&;''/eo)); ($t_institute) = &simplify(&translate_commands($next)); $_; } sub do_cmd_dedicatory { local($_) = @_; &get_next_optional_argument; local($next); $next = &missing_braces unless ( (s/$next_pair_pr_rx/$next = $&;''/eo) ||(s/$next_pair_rx/$next = $&;''/eo)); ($t_affil) = &simplify(&translate_commands($next)); $_; } sub do_cmd_email { local($_) = @_; local($next,$target)=('','notarget'); $next = &missing_braces unless ( (s/$next_pair_pr_rx/$next = $2;''/eo) ||(s/$next_pair_rx/$next = $2;''/eo)); local($mail) = &translate_commands($next); ($t_email) = &make_href("mailto:$mail","$mail"); $_; } sub do_cmd_authorURL { local($_) = @_; local($next); $next = &missing_braces unless ( (s/$next_pair_pr_rx/$next = $2;''/eo) ||(s/$next_pair_rx/$next = $2;''/eo)); ($t_authorURL) = &translate_commands($next); $_; } sub do_cmd_date { local($_) = @_; local($next); $next = &missing_braces unless ( (s/$next_pair_pr_rx/$next = $&;''/eo) ||(s/$next_pair_rx/$next = $&;''/eo)); ($t_date) = &translate_commands($next); $_; } sub do_cmd_maketitle { local($_) = @_; local($the_title) = ''; local($alignc, $alignl); if ($HTML_VERSION > 2.1) { $alignc = " ALIGN=\"CENTER\""; $alignl = " ALIGN=\"LEFT\""; } if ($t_title) { $the_title .= "$t_title"; } else { &write_warnings("\nThis document has no title."); } if ($t_author) { if ($t_authorURL) { local($href) = &translate_commands($t_authorURL); $href = &make_named_href('author' , $href, "${t_author}"); $the_title .= "\n$href

"; } else { $the_title .= "\n$t_author

"; } } else { &write_warnings("\nThere is no author for this document."); } if ($t_institute&&!($t_institute=~/^\s*(($O|$OP)\d+($C|$CP))\s*\1\s*$/)) { $the_title .= "\n$t_institute

";} if ($t_affil&&!($t_affil=~/^\s*(($O|$OP)\d+($C|$CP))\s*\1\s*$/)) { $the_title .= "\n$t_affil

";} if ($t_date&&!($t_date=~/^\s*(($O|$OP)\d+($C|$CP))\s*\1\s*$/)) { $the_title .= "\n$t_date

";} if ($t_address&&!($t_address=~/^\s*(($O|$OP)\d+($C|$CP))\s*\1\s*$/)) { $the_title .= "
\n$t_address

"; } # else { $the_title .= "\n"} if ($t_email&&!($t_email=~/^\s*(($O|$OP)\d+($C|$CP))\s*\1\s*$/)) { $the_title .= "\n$t_email

"; } # else { $the_title .= "

" } $the_title . $_ ; } sub do_cmd_abstract { local($_) = @_; local($abstract); $abstract = &missing_braces unless ( (s/$next_pair_pr_rx/$abstract = $&;''/eo) ||(s/$next_pair_rx/$abstract = $&;''/eo)); join('', &make_abstract($abstract), $_); } sub make_abstract { local($_) = @_; # HWS Removed emphasis (hard to read) $_ = &translate_environments($_); $_ = &translate_commands($_); local($title); if ((defined &do_cmd_abstractname)||$new_command{'abstractname'}) { local($br_id)=++$global{'max_id'}; $title = &translate_environments("$O$br_id$C\\abstractname$O$br_id$C"); } else { $title = $abs_title } local($env_id) = " CLASS=\"ABSTRACT\"" if ($USING_STYLES); join('',"\n

", $title, ":

\n" , (($HTML_VERSION > 3)? "" : "

"), $_ , (($HTML_VERSION > 3)? "

" : "

"), "\n

"); } sub set_default_language { # MRO: local($lang,*_) = @_; my $lang = shift; push(@language_stack, $default_language); $default_language = $lang; $_[0] .= '\popHtmlLanguage'; } sub do_cmd_popHtmlLanguage { $default_language = pop(@language_stack); $_[0]; } sub do_cmd_today { local($lang); if ($PREAMBLE) { $lang = $TITLES_LANGUAGE || $default_language ; } else { $lang = $current_language || $default_language ; } local($today) = $lang . '_today'; if (defined &$today) { join('', eval "&$today()", $_[0]) } else { join('', &default_today(), $_[0]) } } sub default_today { #JKR: Make it more similar to LaTeX ## AYS: moved french-case to styles/french.perl my $today = &get_date(); $today =~ s|(\d+)/0?(\d+)/|$Month[$1] $2, |; join('',$today,$_[0]); } sub do_cmd_textbackslash { join('','\', $_[0]);} sub do_cmd_textbar { join('','|', $_[0]);} sub do_cmd_textless { join('',';SPMlt;', $_[0]);} sub do_cmd_textgreater { join('',';SPMgt;', $_[0]);} sub do_cmd_textasciicircum { join('','^', $_[0]);} sub do_cmd_textasciitilde { join('','~', $_[0]);} sub do_cmd_textquoteleft { join('','`', $_[0]);} sub do_cmd_textquoteright { join('',''', $_[0]);} sub do_cmd_textcompwordmark { join('','', $_[0]);} sub do_cmd_texttrademark { join('','TM', $_[0]);} sub do_cmd_textsubscript { &make_text_supsubscript('SUB',$_[0]);} sub do_cmd_textsuperscript { &make_text_supsubscript('SUP',$_[0]);} sub make_text_supsubscript { local ($supsub, $_) = (@_); my $arg = ''; $arg = &missing_braces unless ( (s/$next_pair_pr_rx/$arg = $&;''/eo) ||(s/$next_pair_rx/$arg = $&;''/eo)); $arg = &translate_commands($arg) if ($arg =~ m!\\!); join('', "<$supsub>", $arg, "", $_); } sub do_cmd_textcircled { local ($_) = (@_); my $arg = ''; $arg = &missing_braces unless ( (s/$next_pair_pr_rx/$arg = $&;''/eo) ||(s/$next_pair_rx/$arg = $&;''/eo)); my $after = $_; join('', &process_undefined_environment("tex2html_nomath_inline" , ++$global{'max_id'} , "\\vbox{\\kern3pt\\textcircled{$arg}}" ) , $after ); } # these can be overridded in charset (.pl) extension files: sub do_cmd_textemdash { join('','---', $_[0]);} sub do_cmd_textendash { join('','--', $_[0]);} #sub do_cmd_exclamdown { join('','', $_[0]);} #sub do_cmd_questiondown { join('','', $_[0]);} sub do_cmd_textquotedblleft { join('',"``", $_[0]);} sub do_cmd_textquotedblright { join('',"''", $_[0]);} sub do_cmd_textbullet { join('','*', $_[0]);} sub do_cmd_textvisiblespace { join('','_', $_[0]);} sub do_cmd_ldots { join('',(($math_mode&&$USE_ENTITY_NAMES) ? ";SPMldots;" : "..."),$_[0]); } sub do_cmd_dots { join('',(($math_mode&&$USE_ENTITY_NAMES) ? ";SPMldots;" : "..."),$_[0]); } sub do_cmd_hrule { local($_) = @_; &ignore_numeric_argument; #JKR: No need for
local($pre,$post) = &minimize_open_tags('


'); join('',$pre,$_); } #sub do_cmd_hrulefill { # "
\n
"; #} sub do_cmd_linebreak { local($num,$dum) = &get_next_optional_argument; if (($num)&&($num<4)) { return $_[0] } join('',"
", $_[0]); } sub do_cmd_pagebreak { local($_) = @_; local($num,$dum) = &get_next_optional_argument; if (($num)&&($num<4)) { return($_) } elsif (/^ *\n *\n/) { local($after) = $'; local($pre,$post) = &minimize_open_tags("
\n

"); join('',$pre, $') } else { $_ } } sub do_cmd_newline { join('',"
", $_[0]); } # this allows for forced newlines in tables, etc. sub do_cmd_endgraf { join('',"
", $_[0]); } sub do_cmd_space { join(''," ",$_[0]); } sub do_cmd_enspace { join('',"\ ",$_[0]); } sub do_cmd_quad { join('',"\ "x4,$_[0]); } sub do_cmd_qquad { join('',"\ "x8,$_[0]); } sub do_cmd_par { local ($_) = @_; my ($pre,$post) = &preserve_open_tags(); my ($spar, $lcode) = ("\n\n",$post,$_); } sub do_cmd_medskip { local ($_) = @_; local($pre,$post) = &preserve_open_tags(); join('',$pre,"\n


\n",$post,$_); } sub do_cmd_smallskip { local ($_) = @_; local($pre,$post) = &preserve_open_tags(); join('',$pre,"\n

\n",$post,$_); } sub do_cmd_bigskip { local ($_) = @_; local($pre,$post) = &preserve_open_tags(); join('',$pre,"\n


\n",$post,$_); } # MEH: Where does the slash command come from? # sub do_cmd_slash { # join('',"/",$_[0]); #} sub do_cmd_esc_slash { $_[0]; } sub do_cmd_esc_hash { "\#". $_[0]; } sub do_cmd_esc_dollar { "\$". $_[0]; } sub do_cmd__at_ { $_[0]; } sub do_cmd_lbrace { "\{". $_[0]; } sub do_cmd_rbrace { "\}". $_[0]; } sub do_cmd_Vert { "||". $_[0]; } sub do_cmd_backslash { "\\". $_[0]; } #RRM: for subscripts outside math-mode # e.g. in Chemical formulae sub do_cmd__sub { local($_) = @_; local($next); $next = &missing_braces unless ( (s/$next_pair_pr_rx/$next = $2;''/e) ||(s/$next_pair_rx/$next = $2;''/e)); join('',"",$next,"",$_); } #JCL(jcl-del) - the next two ones must only have local effect. # Yet, we don't have a mechanism to revert such changes after # a group has closed. # sub do_cmd_makeatletter { $letters =~ s/@//; $letters .= '@'; &make_letter_sensitive_rx; $_[0]; } sub do_cmd_makeatother { $letters =~ s/@//; &make_letter_sensitive_rx; $_[0]; } ################## Commands to be processed by Latex ################# # # The following commands are passed to Latex for processing. # They cannot be processed at the same time as normal commands # because their arguments must be left untouched by the translator. # (Normally the arguments of a command are translated before the # command itself). # # In fact, it's worse: it is not correct to process these # commands after we process environments, because some of them # (for instance, \parbox) may contain unknown or wrapped # environments. If math mode occurs in a parbox, the # translate_environments routine should *not* process it, lest # we encounter the lossage outlined above. # # On the other hand, it is not correct to process these commands # *before* we process environments, or figures containing # parboxes, etc., will be mishandled. # # RRM: (added for V97.1) # \parbox now uses the _wrap_deferred mechanism, and has a do_cmd_parbox # subroutine defined. This means that environments where parboxes are # common (.g. within table cells), can detect the \parbox command and # adjust the processing accordingly. # # So, the only way to handle these commands is to wrap them up # in null environments, as for math mode, and let translate_environments # (which can handle nesting) figure out which is the outermost. # # Incidentally, we might as well make these things easier to configure... sub process_commands_in_tex { local($_) = @_; local($arg,$tmp); foreach (/.*\n?/g) { chop; # For each line local($cmd, @args) = split('#',$_); next unless $cmd; $cmd =~ s/ //g; # skip if a proper implementation already exists $tmp = "do_cmd_$cmd"; next if (defined &$tmp); # Build routine body ... local ($body, $code, $thisone) = ("", ""); # alter the pattern here to debug particular commands # $thisone = 1 if ($cmd =~ /mathbb/); print "\n$cmd: ".scalar(@args)." arguments" if ($thisone); foreach $arg (@args) { print "\nARG: $arg" if ($thisone); print "\nARG: $next_pair_rx" if ($thisone); if ($arg =~ /\{\}/) { # RRM: the $` is surely wrong, allowing no error-checking. # Use <<...>> for specific patterns # $body .= '$args .= "$`$&" if s/$next_pair_rx//o;'."\n"; $body .= '$args .= join("","{", &missing_braces, "}") unless ('."\n"; $body .= ' (s/$next_pair_pr_rx/$args.=$`.$&;""/es)'."\n"; $body .= ' ||(s/$next_pair_rx/$args.=$`.$&;""/es));'."\n"; print "\nAFTER:$'" if (($thisone)&&($')); $body .= $' if ($'); } elsif ($arg =~ /\[\]/) { $body .= '($dummy, $pat) = &get_next_optional_argument;' . '$args .= $pat;'."\n"; print "\nAFTER:$'" if (($thisone)&&($')); $body .= $' if ($'); } elsif ($arg =~ /^\s*\\/) { $body .= '($dummy, $pat) = &get_next_tex_cmd;' . '$args .= $pat;'."\n"; print "\nAFTER:$'" if (($thisone)&&($')); $body .= $' if ($'); } elsif ($arg =~ /<<\s*/) { $arg = $'; if ($arg =~ /\s*>>/) { # MRO: replaced $* with /m $body .= '$args .= "$`$&" if (/\\'.$`.'/m);' . "\n" # $body .= '$args .= "$`$&" if (/\\\\'.$`.'/);' . "\n" . "\$_ = \$\';\n"; print "\nAFTER:$'" if (($thisone)&&($')); $body .= $' if ($'); } else { $body .= $arg ; } } else { print "\nAFTER:$'" if (($thisone)&&($arg)); $body .= $arg ; } } # Generate a new subroutine local($padding) = " "; $padding = '' if (($cmd =~ /\W$/)||(!$args)||($args =~ /^\W/)); $code = "sub wrap_cmd_$cmd {" . "\n" . 'local($cmd, $_) = @_; local ($args, $dummy, $pat) = "";' . "\n" . $body . (($thisone)? "print STDERR \"\\n$cmd:\".\$args.\"\\n\";\n" : '') . '(&make_wrapper(1).$cmd' . ($padding ? '"'.$padding.'"' : '') . '.$args.&make_wrapper(0), $_)}' . "\n"; print "\nWRAP_CMD: $code " if ($thisone); # for debugging eval $code; # unless ($thisone); print STDERR "\n*** sub wrap_cmd_$cmd failed: $@" if ($@); # And make sure the main loop will catch it ... # $raw_arg_cmds{$cmd} = 1; ++$raw_arg_cmds{$cmd}; } } sub process_commands_nowrap_in_tex { local($_) = @_; local($arg); foreach (/.*\n?/g) { chop; local($cmd, @args) = split('#',$_); next unless $cmd; $cmd =~ s/ //g; # Build routine body ... local ($bodyA, $codeA, $bodyB, $codeB, $thisone) = ("", "", "", ""); # alter the pattern here to debug particular commands # $thisone = 1 if ($cmd =~ /epsf/); print "\n$cmd: ".scalar(@args)." arguments" if ($thisone); foreach $arg (@args) { print "\nARG: $arg" if ($thisone); if ($arg =~ /\{\}/) { # $bodyA .= '$args .= "$`"."$&" if (s/$any_next_pair_rx//);'."\n"; $bodyA .= 'if (s/$next_pair_rx//s){$args.="$`"."$&"; $_='."\$'};\n"; $bodyB .= '$args .= &missing_braces'."\n unless ("; $bodyB .= '(s/$any_next_pair_pr_rx/$args.=$`.$&;\'\'/eo)'."\n"; $bodyB .= ' ||(s/$any_next_pair_rx/$args.=$`.$&;\'\'/eo));'."\n"; print "\nAFTER:$'" if (($thisone)&&($')); # $bodyA .= $'.";\n" if ($'); $bodyB .= $'.";\n" if ($'); } elsif ($arg =~ /\[\]/) { $bodyA .= '($dummy, $pat) = &get_next_optional_argument;' . '$args .= $pat;'."\n"; print "\nAFTER:$'" if (($thisone)&&($')); # $bodyA .= $'.";\n" if ($'); $bodyB .= $'.";\n" if ($'); } elsif ($arg =~ /^\s*\\/) { $bodyA .= '($dummy, $pat) = &get_next_tex_cmd;' . '$args .= $pat;'."\n"; $bodyB .= '($dummy, $pat) = &get_next_tex_cmd;' . '$args .= $pat;'."\n"; print "\nAFTER:$'" if (($thisone)&&($')); $bodyA .= $'.";\n" if ($'); $bodyB .= $'.";\n" if ($'); } elsif ($arg =~ /<<\s*/) { $arg = $'; if ($arg =~ /\s*>>/) { # MRO: replaced $* with /m $bodyA .= '$args .= "$`$&" if (/\\'.$`.'/m);' . "\n" # $bodyA .= '$args .= $`.$& if (/\\\\'.$`.'/);' . "\n" . "\$_ = \$\';\n"; $bodyB .= '$args .= "$`$&" if (/\\'.$`.'/m);' . "\n" . "\$_ = \$\';\n"; print "\nAFTER:$'" if (($thisone)&&($')); # $bodyA .= $'.";\n" if ($'); $bodyB .= $'.";\n" if ($'); } else { print "\nAFTER:$arg" if (($thisone)&&($arg)); # $bodyA .= $arg.";\n" if ($arg); $bodyB .= $arg.";\n" if ($arg); } } else { print "\nAFTER:$arg" if (($thisone)&&($arg)); $bodyA .= '$args .= '.$arg.";\n" if ($'); $bodyB .= $arg.";\n" if ($'); } } local($padding) = " "; $padding = '' if (($cmd =~ /\W$/)||(!$args)||($args =~ /^\W/)); # Generate 2 new subroutines $codeA = "sub wrap_cmd_$cmd {" . "\n" .'local($cmd, $_) = @_; local($args, $dummy, $pat) = "";'."\n" . $bodyA . (($thisone)? "print \"\\nwrap $cmd:\\n\".\$args.\"\\n\";\n" : '') . '(&make_nowrapper(1)."\n".$cmd.'."\"$padding\"" . '.$args.&make_nowrapper(0)," ".$_)}' ."\n"; print "\nWRAP_CMD: $codeA " if ($thisone); # for debugging eval $codeA; print STDERR "\n\n*** sub wrap_cmd_$cmd failed: $@\n" if ($@); $codeB = "do_cmd_$cmd"; do { $bodyB = '"";' if !($bodyB); $codeB = "sub do_cmd_$cmd {" . "\n" . 'local($_,$ot) = @_;'."\n" . 'local($open_tags_R) = defined $ot ? $ot : $open_tags_R;'."\n" . 'local($cmd,$args,$dummy,$pat)=("'.$cmd.'","","","");'."\n" . $bodyB . (($thisone)? "print \"\\ndo $cmd:\".\$args.\"\\n\";\n" : '') # . '$latex_body.="\\n".&revert_to_raw_tex("'."\\\\$cmd$padding".'$args")."\\n\\n";' . "\$_;}\n"; print STDOUT "\nDO_CMD: $codeB " if ($thisone); # for debugging eval $codeB; print STDERR "\n\n*** sub do_cmd_$cmd failed: $@\n" if ($@); } unless (defined &$codeB ); # And make sure the main loop will catch it ... # $raw_arg_cmds{$cmd} = 1; ++$raw_arg_cmds{$cmd}; } } sub process_commands_wrap_deferred { local($_) = @_; local($arg,$thisone); foreach (/.*\n?/g) { chop; local($cmd, @args) = split('#',$_); next unless $cmd; $cmd =~ s/ //g; # Build routine body ... local ($bodyA, $codeA, $bodyB, $codeB, $after, $thisone); # alter the pattern here to debug particular commands # $thisone = 1 if ($cmd =~ /selectlanguage/); print "\n$cmd: ".scalar(@args)." arguments" if ($thisone); foreach $arg (@args) { print "\nARG: $arg" if ($thisone); if ($arg =~ /\{\}/) { # $bodyA .= '$args .= "$`$&" if (s/$any_next_pair_rx//o);'; $bodyA .= '$args .= "$`$&" if (s/$next_pair_rx//so);'; $after = $'; print "\nAFTER:$'" if (($thisone)&&($')); } elsif ($arg =~ /\[\]/) { $bodyA .= '($dummy, $pat) = &get_next_optional_argument;' . "\n". '$args .= $pat;'; $after = $'; print "\nAFTER:$'" if (($thisone)&&($')); } elsif ($arg =~ /^\s*\\/) { $bodyA .= '($dummy, $pat) = &get_next_tex_cmd;' . '$args .= $pat;'."\n"; print "\nAFTER:$'" if (($thisone)&&($')); $bodyA .= $'.";\n" if ($'); } elsif (/<<\s*([^>]*)[\b\s]*>>/) { local($endcmd, $afterthis) = ($1,$'); $afterthis =~ s/(^\s*|\s*$)//g; $endcmd =~ s/\\/\\\\/g; $bodyA .= "\n". 'if (/'.$endcmd.'/) { $args .= $`.$& ; $_ = $\' };'; $after .= $afterthis if ($afterthis); print "\nAFTER:$'" if (($thisone)&&($')); } else { print "\nAFTER:$arg" if (($thisone)&&($arg)); $bodyB .= $arg.";\n" ; $after = '' } $after =~ s/(^\s*|\s*$)//g if ($after); $bodyB .= $after . ";" if ($after); $bodyA .= "\$args .= ".$after . ";" if ($after); } local($padding) = " "; $padding = '' if (($cmd =~ /\W$/)||(!$args)||($args =~ /^\W/)); # Generate 2 new subroutines $codeA = "sub wrap_cmd_$cmd {" . "\n" .'local($cmd, $_) = @_; local ($args, $dummy, $pat) = "";'."\n" . $bodyA #. ($bodyA ? "\n" : '') . (($thisone)? ";print \"\\nwrap $cmd:\".\$args.\"\\n\";\n" : '') .'(&make_deferred_wrapper(1).$cmd.'.$padding .'$args.&make_deferred_wrapper(0),$_)}' ."\n"; print STDERR "\nWRAP_CMD: $codeA " if ($thisone); # for debugging eval $codeA; print STDERR "\n\n*** sub wrap_cmd_$cmd failed: $@\n" if ($@); #RRM: currently these commands only go to LaTeX or access counters. # They could be implemented more generally, as below with do_dcmd_$cmd # requiring replacement to be performed before evaluation. $codeB = "sub do_dcmd_$cmd {" . "\n" .'local($cmd, $_) = @_; local ($args, $dummy, $pat) = "";'."\n" . $bodyA . "\n" . (($thisone)? ";print \"\\ndo_def $cmd:\".\$args.\"\\n\";\n" : '') . $bodyB . "}" . "\n"; print "\nDEF_CMD: $codeB " if ($thisone); # for debugging local($tmp) = "do_cmd_$cmd"; eval $codeB unless (defined &$tmp); print STDERR "\n\n*** sub do_dcmd_$cmd failed: $@\n" if ($@); # And make sure the main loop will catch it ... # $raw_arg_cmds{$cmd} = 1; ++$raw_arg_cmds{$cmd}; } } sub process_commands_inline_in_tex { local($_) = @_; foreach (/.*\n?/g) { chop; local($cmd, @args) = split('#',$_); next unless $cmd; $cmd =~ s/ //g; # Build routine body ... local ($body, $code, $thisone) = ("", ""); # uncomment and alter the pattern here to debug particular commands # $thisone = 1 if ($cmd =~ /L/); print "\n$cmd: ".scalar(@args)." arguments" if ($thisone); foreach (@args) { print "\nARG: $_" if ($thisone); if (/\{\}/) { # $body .= '$args .= $`.$& if (/$any_next_pair_rx/);' . "\n" # . "\$_ = \$\';\n"; $body .= '$args .= $`.$& if (s/$next_pair_rx//s);' . "\n" } elsif (/\[\]/) { $body .= 'local($dummy, $pat) = &get_next_optional_argument;' . "\n". '$args .= $pat;'; } elsif ($arg =~ /^\s*\\/) { $body .= '($dummy, $pat) = &get_next_tex_cmd;' . '$args .= $pat;'."\n"; print "\nAFTER:$'" if (($thisone)&&($')); $body .= $'.";\n" if ($'); } elsif (/<<\s*/) { $_ = $'; if (/\s*>>/) { # MRO: replaced $* with /m $body .= '$args .= "$`$&" if (/\\'.$`.'/m);' . "\n" . "\$_ = \$\';\n" } else { $body .= $_.";\n" ; } } else { $body .= $_.";\n" ; } } local($padding) = " "; $padding = '' if (($cmd =~ /\W$/)||(!$args)||($args =~ /^\W/)); # Generate a new subroutine my $itype = ($cmd =~ /^f.*box$/ ? 'inline' : 'nomath'); $code = "sub wrap_cmd_$cmd {" . "\n" .'local($cmd, $_) = @_; local ($args) = "";' . "\n" . $body . "\n" . (($thisone)? ";print \"\\ndo $cmd:\".\$args.\"\\n\";\n" : '') .'(&make_'.$itype.'_wrapper(1).$cmd.$padding.$args.' . '&make_'.$itype.'_wrapper(0),$_)}' ."\n"; print "\nWRAP_CMD:$raw_arg_cmds{$cmd}: $code " if ($thisone); # for debugging eval $code; print STDERR "\n\n*** sub wrap_cmd_$cmd failed: $@\n" if ($@); # And make sure the main loop will catch it ... # $raw_arg_cmds{$cmd} = 1; ++$raw_arg_cmds{$cmd}; } } # Invoked before actual translation; wraps these commands in # tex2html_wrap environments, so that they are properly passed to # TeX in &translate_environments ... # JCL(jcl-del) - new usage of $raw_arg_cmd_rx sub wrap_raw_arg_cmds { local ($processed_text, $cmd, $wrapper, $wrap, $after); print "\nwrapping raw arg commands " if ($VERBOSITY>1); local($seg, $par_wrap, $teststar, @processed); # local(@segments) = split(/\\par\b/,$_); # foreach (@segments) { # $par_wrap = join('',&make_deferred_wrapper(1), "\\par" # , &make_deferred_wrapper(0)); # push(@processed, $par_wrap ) if ($seg); ++$seg; if (%renew_command) { local($key); foreach $key (keys %renew_command) { $raw_arg_cmds{$key} = 1; $raw_arg_cmd_rx =~ s/^(\(\)\\\\\()/$1$key\|/; } } print "\n" if (/$raw_arg_cmd_rx/); # MRO: replaced $* with /m while (/$raw_arg_cmd_rx/m) { local($star); push (@processed, $`); print "\@"; $after = $'; #JCL(jcl-del) - status of starred raw arg cmds yet unclear ($cmd, $star) = ($1.$2,$4); if ($star eq '*') { $star = 'star';} else { $after = $star.$after; $star = ''; } $wrapper = "wrap_cmd_$cmd"; $teststar = $wrapper.'star'; if ($star && defined &$teststar) { $wrapper = $teststar; $star = '*'; } # MRO: make {\bf**} work elsif($star) { $after = '*'.$after; $star = '' } print "\nWRAPPED: $cmd as $wrapper" if ($VERBOSITY > 5); # ensure that the result is separated from following words... my $padding = ($after =~ /^[a-zA-Z]/s)? ($cmd =~ /\W$/ ? '':' '):''; if ($raw_arg_cmds{$cmd} && defined &$wrapper) { $* = 1; ($wrap, $_) = &$wrapper("\\$cmd$star", $padding . $after); $* = 0; # ...but don't leave an unwanted space at the beginning $_ =~ s/^ //s if($padding && $wrap !~ /\w$/m && (length($_) == length($after)+1) ); push (@processed, $wrap); } elsif ($raw_arg_cmds{$cmd}) { print STDERR "\n*** $wrapper not defined, cannot wrap \\$cmd"; &write_warnings("\n*** $wrapper not defined, cannot wrap \\$cmd "); push (@processed, "\\$cmd$padding"); $_ = $after; } else { push (@processed, "\\$cmd$padding"); $_ = $after; } last unless ($after =~ /\\/); } # recombine the pieces $_ = join('',@processed, $_); } ######################################################################### # To make a table of contents, list of figures and list of tables commands # create a link to corresponding files which do not yet exist. # The binding of the file variable in each case acts as a flag # for creating the actual file at the end, after all the information # has been gathered. sub do_cmd_tableofcontents { &do_real_tableofcontents(@_) } sub do_real_tableofcontents { # local($_) = @_; if ((defined &do_cmd_contentsname)||$new_command{'contentsname'}) { local($br_id)=++$global{'max_id'}; $TITLE = &translate_environments("$O$br_id$C\\contentsname$O$br_id$C"); } else { $TITLE = $toc_title } $toc_sec_title = $TITLE; $tocfile = $CURRENT_FILE; # sets $tocfile this globally local $toc_head = $section_headings{'tableofcontents'}; if ($toc_style) { $toc_head .= " CLASS=\"$toc_style\""; $env_style{"$toc_head.$toc_style"} = " " unless ($env_style{"$toc_head.$toc_style"}); } local($closures,$reopens) = &preserve_open_tags(); join('', "
\n", $closures , &make_section_heading($TITLE, $toc_head), $toc_mark , $reopens, @_[0]); } sub do_cmd_listoffigures { local($_) = @_; local($list_type) = ($SHOW_SECTION_NUMBERS ? 'UL' : 'OL' ); if ((defined &do_cmd_listfigurename)||$new_command{'listfigurename'}) { local($br_id)=++$global{'max_id'}; $TITLE = &translate_environments("$O$br_id$C\\listfigurename$O$br_id$C"); } else { $TITLE = $lof_title } $toc_sec_title = $TITLE; $loffile = $CURRENT_FILE; # sets $loffile this globally local $lof_head = $section_headings{'listoffigures'}; local($closures,$reopens) = &preserve_open_tags(); join('', "
\n", $closures , &make_section_heading($TITLE, $lof_head) , "<$list_type>", $lof_mark, "" , $reopens, $_); } sub do_cmd_listoftables { local($_) = @_; local($list_type) = ($SHOW_SECTION_NUMBERS ? 'UL' : 'OL' ); if ((defined &do_cmd_listtablename)||$new_command{'listtablename'}) { local($br_id)=++$global{'max_id'}; $TITLE = &translate_environments("$O$br_id$C\\listtablename$O$br_id$C"); } else { $TITLE = $lot_title } $toc_sec_title = $TITLE; $lotfile = $CURRENT_FILE; # sets $lotfile this globally local $lot_head = $section_headings{'listoftables'}; local($closures,$reopens) = &preserve_open_tags(); join('', "
\n", $closures , &make_section_heading($TITLE, $lot_head) , "<$list_type>", $lot_mark, "" , $reopens, $_); } # Indicator for where to put the CHILD_LINKS table. sub do_cmd_tableofchildlinks { local($_) = @_; local($thismark) = $childlinks_mark; local($option,$dum) = &get_next_optional_argument; $thismark = &check_childlinks_option($option) if ($option); local($pre,$post) = &minimize_open_tags("$thismark\#0\#"); join('', "
", $pre, $_); } # leave out the preceding
sub do_cmd_tableofchildlinksstar { local($_) = @_; local($thismark) = $childlinks_mark; local($option,$dum) = &get_next_optional_argument; $thismark = &check_childlinks_option($option) if ($option); local($pre,$post) = &minimize_open_tags("$thismark\#1\#"); join('', $pre, $_); } sub check_childlinks_option { local($option) = @_; if ($option =~ /none/i) { $childlinks_mark = $childlinks_null_mark; $childlinks_null_mark } elsif ($option =~ /off/i) { $childlinks_null_mark } elsif ($option =~ /all/i) { $childlinks_mark = $childlinks_on_mark; $childlinks_on_mark } elsif ($option =~ /on/i) { $childlinks_on_mark } } sub remove_child_marks { # Modifies $_ s/($childlinks_on_mark|$childlinks_null_mark)\#\d\#//go; } sub do_cmd_htmlinfo { local($_) = @_; local($option,$dum) = &get_next_optional_argument; if ($option =~ /^(off|none)/i) { $INFO = 0; return ($_) } local($pre,$post) = &minimize_open_tags($info_title_mark.$info_page_mark); join('', "
", $pre, $_); } sub do_cmd_htmlinfostar { local($_) = @_; local($option,$dum) = &get_next_optional_argument; if ($option =~ /^(off|none)/i) { $INFO = 0; return ($_) } local($pre,$post) = &minimize_open_tags($info_page_mark); join('', $pre, $_); } # $idx_mark will be replaced with the real index at the end sub do_cmd_textohtmlindex { local($_) = @_; if ((defined &do_cmd_indexname )||$new_command{'indexname'}) { local($br_id)=++$global{'max_id'}; $TITLE = &translate_environments("$O$br_id$C\\indexname$O$br_id$C"); } else { $TITLE = $idx_title } $toc_sec_title = $TITLE; $idxfile = $CURRENT_FILE; if (%index_labels) { &make_index_labels(); } if (($SHORT_INDEX) && (%index_segment)) { &make_preindex(); } else { $preindex = ''; } local $idx_head = $section_headings{'textohtmlindex'}; local($heading) = join('' , &make_section_heading($TITLE, $idx_head) , $idx_mark ); local($pre,$post) = &minimize_open_tags($heading); join('',"
\n" , $pre, $_); } #RRM: added 17 May 1996 # allows labels within the printable key of index-entries, # when using makeidx.perl sub make_index_labels { local($key, @keys); @keys = keys %index_labels; foreach $key (@keys) { if (($ref_files{$key}) && !($ref_files{$key} eq "$idxfile")) { local($tmp) = $ref_files{$key}; &write_warnings("\nmultiple label $key , target in $idxfile masks $tmp "); } $ref_files{$key} .= "$idxfile"; } } #RRM: added 17 May 1996 # constructs a legend for the SHORT_INDEX, with segments # when using makeidx.perl sub make_preindex { &make_real_preindex } sub make_real_preindex { local($key, @keys, $head, $body); $head = "


\n

Legend:

\n
"; @keys = keys %index_segment; foreach $key (@keys) { local($tmp) = "segment$key"; $tmp = $ref_files{$tmp}; $body .= "\n
$key
".&make_named_href('',$tmp,$index_segment{$key}); # $body .= "\n
$key
".&make_named_href('', # $tmp."\#CHILD\_LINKS",$index_segment{$key}) # unless ($CHILD_STAR); } $preindex = join('', $head, $body, "\n
") if ($body); } sub do_cmd_printindex { &do_real_printindex(@_); } sub do_real_printindex { local($_) = @_; local($which) = &get_next_optional_argument; $idx_name = $index_names{$which} if ($which && $index_names{$which}); @_; } sub do_cmd_newindex { local($_) = @_; local($dum,$key,$title); $key = &missing_braces unless ( (s/$next_pair_pr_rx/$key=$2;''/eo) ||(s/$next_pair_rx/$key=$2;''/eo)); $dum = &missing_braces unless ( (s/$next_pair_pr_rx/$dum=$2;''/eo) ||(s/$next_pair_rx/$dum=$2;''/eo)); $dum = &missing_braces unless ( (s/$next_pair_pr_rx/$dum=$2;''/eo) ||(s/$next_pair_rx/$dum=$2;''/eo)); $title = &missing_braces unless ( (s/$next_pair_pr_rx/$title=$2;''/eo) ||(s/$next_pair_rx/$title=$2;''/eo)); $index_names{$key} = $title if ($key && $title); @_; } # FOOTNOTES , also within Mini-page environments # allow easy way to override and inherit; e.g. for frames sub do_cmd_footnotestar { &do_real_cmd_footnote(@_) } sub do_cmd_footnote { &do_real_cmd_footnote(@_) } sub do_real_cmd_footnote { local($_) = @_; local($cnt,$marker,$smark,$emark)=('', $footnote_mark); local($mark,$dum) = &get_next_optional_argument; local($anchor_name); $footfile = "${PREFIX}$FOOT_FILENAME$EXTN" unless ($footfile||$MINIPAGE||$NO_FOOTNODE); if ($mark) { $cnt = $mark; if ($MINIPAGE) { $global{'mpfootnote'} = $cnt } else { $global{'footnote'} = $cnt } } else { $cnt = (($MINIPAGE)? ++$global{'mpfootnote'} : ++$global{'footnote'}); } local($br_id, $footnote)=(++$global{'max_id'},''); $footnote = &missing_braces unless ( (s/$next_pair_pr_rx/${br_id}=$1; $footnote=$2;''/eo) ||(s/$next_pair_rx/${br_id}=$1; $footnote=$2;''/eo)); $br_id = "mp".$br_id if ($MINIPAGE); $marker = &get_footnote_mark($MINIPAGE); local($last_word) = &get_last_word(); local($href) = &make_href("$footfile#foot$br_id",$marker); if ($href =~ /NAME="([^"]*)"/) { $anchor_name=$1 } $last_word .= $marker unless ($anchor_name); &process_footnote($footnote,$cnt,$br_id,$last_word,$mark ,($MINIPAGE? $marker : '') ,($MINIPAGE? '' : "$marker:$anchor_name") ); # this may not work if there is a tag and !($file) !!! # # join('',&make_href("$file#foot$br_id",$marker),$_); $href . $_ } sub process_image_footnote { # MRO: modified to use $_[0] # local(*math) = @_; local($in_image, $keep, $pre, $this_anchor, $out, $foot_counters_recorded, @foot_anchors) = (1,'',''); local($image_contents) = $_[0]; $image_contents =~ s/\\(begin|end)(($O|$OP)\d+($C|$CP))tex2html_\w+\2//go; $image_contents =~ s!(\\footnote(mark\b\s*(\[[^\]]*\])?|\s*(\[[^\]]*\])?\s*(($O|$OP)\d+($C|$CP))(.*)\5))! $keep = $`; $out = '\footnotemark '.$3.$4; #MRO: $*=1; local($saveRS) = $/; $/=''; if ($8) { $this_anchor = &do_cmd_footnote($2); } else { $this_anchor = &do_cmd_footnotemark($3); } #MRO: $*=0; $/ = $saveRS; $foot_counters_recorded = 1; push(@foot_anchors, $this_anchor); $out!oesg; $_[0] = $image_contents; @foot_anchors; } sub do_cmd_thanks { &do_cmd_footnote(@_); } sub get_footnote_mark { local($mini) = @_; return($footnote_mark) if ($HTML_VERSION < 3.0 ); local($cmd,$tmp,@tmp,$marker); $cmd = "the". (($mini)? 'mp' : '') . "footnote"; if ($new_command{$cmd}) { $tmp = "do_cmd_$cmd"; @tmp = split (':!:', $new_command{$cmd}); pop @tmp; $tmp = pop @tmp; if ($tmp =~ /$O/) { ### local($_) = &translate_commands($tmp); $marker = &translate_commands(&translate_environments($tmp)); &make_unique($marker); ### $marker = $_; } else { $marker = &translate_commands(&translate_environments($tmp)); } } elsif ($mini) { $marker = &translate_commands('\thempfootnote'); } elsif ((defined &do_cmd_thefootnote)||$new_command{'thefootnote'}) { local($br_id)=++$global{'max_id'}; $marker = &translate_environments("$O$br_id$C\\thefootnote$O$br_id$C"); } else { $marker = $footnote_mark; } join('','',$marker,''); } sub make_numbered_footnotes { eval "sub do_cmd_thefootnote {\&numbered_footnotes}" } sub numbered_footnotes { &do_cmd_arabic('<<0>>footnote<<0>>');} # default numbering style for minipage notes sub do_cmd_thempfootnote { &do_cmd_arabic('<<0>>mpfootnote<<0>>'); } sub do_cmd_footnotemark { &do_real_cmd_footnotemark(@_) } sub do_real_cmd_footnotemark { local($_) = @_; local($br_id, $footnote,$marker,$mpnote,$tmp,$smark,$emark); # Don't use ()'s for the optional argument! local($mark,$dum) = &get_next_optional_argument; local ($cnt,$text_known) = ('',''); if ($mark) { $cnt = (($mark =~ /\\/)? &translate_commands($mark) : $mark); if (($MINIPAGE)&&($mpfootnotes{$cnt})) { $mpnote = 1; $br_id = $mpfootnotes{$cnt}; $text_known = 1; } else { $global{'footnote'} = $cnt; local($tmp) = $footnotes{$cnt}; if ($tmp) { $br_id = $tmp; $text_known = 1; } else { $footnotes{$cnt} = $br_id } } } else { $cnt = ++$global{'footnote'}; $text_known = 1 if ($footnotes{$cnt}); } if ($text_known) { $br_id = ($MINIPAGE ? $mpfootnotes{$cnt} : $footnotes{$cnt}); $marker = &get_footnote_mark($mpnote); return (join('', &make_href("$footfile#foot$br_id",$marker),$_)); } local($last_word) = &get_last_word() unless ($mpnote); # Try to find a \footnotetext further on. do { if (s/\\footnotetext\s*\[\s*$cnt\s*]*\]\s*$any_next_pair_pr_rx//o) { ($br_id, $footnote) = ($2, $3); } else { $br_id = "fnm$cnt"; $footnotes{$cnt} = $br_id; } } unless ($br_id); $marker = &get_footnote_mark($mpnote); $last_word .= $marker unless ($marker =~ /$footnote_mark/ ); if ($footnote) { # found a \footnotetext further on &process_footnote($footnote,$cnt,$br_id,$last_word,$mark); join('',&make_named_href("foot$br_id","$footfile#$br_id",$marker),$_); } elsif ($br_id =~ /fnm/) { # no \footnotetext yet, so make the entry in $footnotes &process_footnote('',$cnt,$br_id,$last_word,$mark); # this may not work if there is a tag and !($footfile) !!! # join('',&make_named_href("foot$br_id","$footfile#$br_id",$marker),$_); } elsif ($br_id) { # \footnotetext already processed if ($mpnote) { $mpfootnotes =~ s/(=\"$br_id\">...)(<\/A>)/$1$last_word$3/ if ($last_word); # this may not work if there is a tag !!! # join('',&make_named_href("foot$br_id","#$br_id",$marker),$_); } else { $footnotes =~ s/(=\"$br_id\">...)(<\/A>)/$1$last_word$3/; # this may not work if there is a tag and !($footfile) !!! # join('' ,&make_named_href("foot$br_id","$footfile#$br_id",$marker),$_); } } else { print "\nCannot find \\footnotetext for \\footnotemark $cnt"; # this may not work if there is a tag and !($footfile) !!! # join('',&make_named_href("foot$br_id","$footfile",$marker),$_); } } # Under normal circumstances this is never executed. Any commands \footnotetext # should have been processed when the corresponding \footnotemark was # encountered. It is possible however that when processing pieces of text # out of context (e.g. \footnotemarks in figure and table captions) # the pair of commands gets separated. Until this is fixed properly, # this command just puts the footnote in the footnote file in the hope # that its context will be obvious .... sub do_cmd_footnotetext { local($_) = @_; local($mark,$dum) = &get_next_optional_argument; local($br_id, $footnote, $prev, $key)=(1,'','',''); $footnote = &missing_braces unless ( (s/$next_pair_pr_rx/($br_id,$footnote)=($1,$2);''/eo) ||(s/$next_pair_rx/($br_id,$footnote)=($1,$2);''/eo)); $mark = $global{'footnote'} unless $mark; $prev = $footnotes{$mark}; if ($prev) { $prev = ($MINIPAGE ? 'mp' : '') . $prev; # first prepare the footnote-text $footnote = &translate_environments("${OP}$br_id$CP$footnote${OP}$br_id$CP") if ($footnote); $footnote = &translate_commands($footnote) if ($footnote =~ /\\/); # now merge it onto the Footnotes page $footnotes =~ s/(=\"$prev\">\.\.\.)(.*<\/A>)(<\/DT>\n
)\n/ $1.''.$3.$footnote/e; local($this_mark) = $2; $this_mark =~ s|()(?:<#\d+#>)?(\d+)(?:<#\d+#>)?(<\/SUP>)(<\/A>)$| "$4$1$2$3$4"|e; $footnotes =~ s//$this_mark/; } else { &process_footnote($footnote,$mark,$br_id,'','') if $footnote; } $_; } sub process_footnote { # Uses $before # Sets $footfile defined in translate # Modifies $footnotes defined in translate local($footnote, $cnt, $br_id, $last_word, $mark, $mini, $same_page) = @_; local($target) = $target; # first prepare the footnote-text local($br_idd, $fcnt); $br_id =~ /\D*(\d+)/; $br_idd = $1; $footnote = &translate_environments("$O$br_idd$C$footnote$O$br_idd$C") if ($footnote); $footnote = &translate_commands($footnote) if ($footnote =~ /\\/); local($space,$sfoot_style,$efoot_style) = ("\n",'',''); if ((!$NO_FOOTNODE)&&(!$mini)&&(!$target)) { $footfile = "${PREFIX}$FOOT_FILENAME$EXTN"; $space = ".\n" x 30; $space = "\n
$space
"; } elsif ($target) { $target = $frame_body_name if (($frame_body_name)&&($target eq $frame_foot_name)); $sfoot_style = ''; $efoot_style = ''; } if ($mark) { if ($mini) { $cnt = $mpfootnotes{$mark}; if ($in_image) { $fcnt = $global{'mpfootnote'}; --$fcnt if $fcnt; $latex_body .= '\setcounter{mpfootnote}{'.($fcnt||"0")."}\n" unless ($foot_counters_recorded); } } else { $cnt = $footnotes{$mark}; if ($in_image) { $fcnt = $global{'footnote'}; --$fcnt if $fcnt; $latex_body .= '\setcounter{footnote}{'.($fcnt||"0")."}\n" unless ($foot_counters_recorded); } } if ($cnt) { &write_warnings("\nredefined target for footnote $mark" ) unless ( $cnt eq $br_id ) } if ($mini) { $mpfootnotes{$mark} = "$br_id" } elsif ($br_id =~ /fnm\d+/) { $mark = "$footnotes{$cnt}"; $footnotes{$cnt} = "$br_id"; # $footnotes .= "\n
$sfoot_style..." $footnotes .= "\n
$sfoot_style..." . $last_word . "$efoot_style
\n
\n" . $space . "\n
"; return; } else { $footnotes{$mark} = "$br_id" } } else { if ($mini) { $mpfootnotes{$cnt} = "$br_id"; if ($in_image) { $fcnt = $global{'mpfootnote'}; --$fcnt if $fcnt; $latex_body .= '\setcounter{mpfootnote}{'.($fcnt||"0")."}\n" unless ($foot_counters_recorded); } } else { $footnotes{$cnt} = "$br_id"; if ($in_image) { $fcnt = $global{'footnote'}; --$fcnt if $fcnt; $latex_body .= '\setcounter{footnote}{'.($fcnt||"0")."}\n" unless ($foot_counters_recorded); } } } # catch a \footnotemark *after* the \footnotetext if ((!$footnote)&&($last_word)&&(!$mini)) { # $footnotes .= "\n
$sfoot_style..." $footnotes .= "\n
$sfoot_style..." . $last_word . "$efoot_style
\n
\n" . $space . "\n
"; } elsif ($mini) { if ($HTML_VERSION < 3.0) { $mini .= "." } $mpfootnotes .= "\n
$sfoot_style$mini " . $footnote . $efoot_style . "\n
\n"; } elsif ($same_page) { local($link,$text); $same_page =~ s/:/$text=$`;$link=$';''/e; $same_page = &make_named_href("","$CURRENT_FILE\#$link",$text) if($link); $footnotes .= "\n
$sfoot_style...$last_word" . $same_page . $efoot_style . "
\n
" . $sfoot_style . $footnote . $efoot_style . "\n". $space . "\n
"; } else { $footnotes .= "\n
$sfoot_style...$last_word" . $efoot_style . "
\n
" . $sfoot_style . $footnote . "$efoot_style\n" . $space . "\n
"; } } sub do_cmd_appendix { $latex_body .= "\\appendix\n"; if ($section_commands{$outermost_level} == 3) { $global{'section'} = 0; &reset_dependents('section'); eval "sub do_cmd_thesection{ &do_cmd_the_appendix(3,\@_) }"; } else { $global{'chapter'} = 0; &reset_dependents('chapter'); eval "sub do_cmd_thechapter{ &do_cmd_the_appendix(2,\@_) }"; } $_[0]; } sub do_cmd_the_appendix { local($val,$level) = (0,$_[0]); if ($level == 3) { $val=$global{'section'} } elsif ($level == 2) { $val=$global{'chapter'} } join('', &fAlph($val), '.', $_[1]); } sub do_cmd_appendixname { $app_title . $_[0] } sub do_cmd_abstractname { $abs_title . $_[0] } sub do_cmd_keywordsname { $key_title . $_[0] } sub do_cmd_subjclassname { $sbj_title . $_[0] } sub do_cmd_indexname { $idx_title . $_[0] } sub do_cmd_contentsname { $toc_title . $_[0] } sub do_cmd_datename { $date_name . $_[0] } sub do_cmd_refname { $ref_title . $_[0] } sub do_cmd_bibname { $bib_title . $_[0] } sub do_cmd_figurename { $fig_name . $_[0] } sub do_cmd_listfigurename { $lof_title . $_[0] } sub do_cmd_tablename { $tab_name . $_[0] } sub do_cmd_listtablename { $lot_title . $_[0] } sub do_cmd_partname { $part_name . $_[0] } sub do_cmd_chaptername { $chapter_name . $_[0] } sub do_cmd_sectionname { $section_name . $_[0] } sub do_cmd_subsectionname { $subsection_name . $_[0] } sub do_cmd_subsubsectionname { $subsubsection_name . $_[0] } sub do_cmd_paragraphname { $paragraph_name . $_[0] } sub do_cmd_thmname { $thm_title . $_[0] } sub do_cmd_proofname { $prf_name . $_[0] } sub do_cmd_footnotename { $foot_title . $_[0] } sub do_cmd_childlinksname { ''.$child_name.''. $_[0] } sub do_cmd_infopagename { $info_title . $_[0] } sub do_cmd_ref { local($_) = @_; &process_ref($cross_ref_mark,$cross_ref_mark); } sub do_cmd_eqref { local($_) = @_; join('','(',&process_ref($cross_ref_mark,$cross_ref_mark,'',')')); } sub do_cmd_pageref { local($_) = @_; &process_ref($cross_ref_mark,$cross_ref_visible_mark); } # This is used by external style files ... sub process_ref { local($ref_mark, $visible_mark, $use_label, $after_label) = @_; $use_label = &balance_inner_tags($use_label) if $use_label =~ (/<\/([A-Z]+)>($math_verbatim_rx.*)<\1>/); $use_label = &translate_environments($use_label); $use_label = &simplify(&translate_commands($use_label)) if ($use_label =~ /\\/ ); local($label,$id); local($pretag) = &get_next_optional_argument; $pretag = &translate_commands($pretag) if ($pretag =~ /\\/); $label = &missing_braces unless ( (s/$next_pair_pr_rx/($id, $label) = ($1, $2);''/eo) ||(s/$next_pair_rx/($id, $label) = ($1, $2);''/eo)); if ($label) { $label =~ s/<[^>]*>//go ; #RRM: Remove any HTML tags $label =~ s/$label_rx/_/g; # replace non alphanumeric characters $symbolic_labels{"$pretag$label$id"} = $use_label if ($use_label); if (($symbolic_labels{$pretag.$label})&&!($use_label)) { $use_label = $symbolic_labels{$pretag.$label} } # if (!($use_label eq $label)) { # $symbolic_labels{"$label$id"} = $use_label; # }; # if $use_label is empty then $label is used as the cross_ref_mark # elseif $use_label is a string then $use_label is used # else the usual mark will be used $use_label = ( (!$use_label && $label) || $use_label); print "\nLINK: $ref_mark\#$label\#$id :$use_label:" if ($VERBOSITY > 3); # The quotes around the HREF are inserted later join('',"$visible_mark<\/A>",$after_label, $_); } else { print "Cannot find label argument after <$last_word>\n" if $last_word; $after_label . $_; } } #RRM: This removes unbalanced tags, due to closures for math inside # the label-text for an anchor. sub balance_inner_tags { local($text) = @_; return($text) unless ($text =~ /<\/([A-Z]+)>(\s*$math_verbatim_rx.*)(<\1( [^>]*)?>)/); local($beforeT,$afterT,$tag,$math_verb,$stag) = ($`,$',$1,$2,$3); if (!($beforeT =~ /<$tag>/)) { $text = join('', $beforeT, $math_verb, $afterT); return (&balance_inner_tags($text)); } local(@pieces) = split (/<$tag>/, $beforeT ); $beforeT = shift (@pieces); local($cnt,$this) = (0,''); while (@pieces) { $this = shift @pieces; $cnt++; $beforeT .= "<$tag>".$this; $cnt = $cnt - ($this =~ /<\/$tag>/g); } if ($cnt) { $beforeT .= "<\/$tag>" . $math_verb . $stag; $text = $beforeT . $afterT; } else { $beforeT .= $math_verb; $text = join('', $beforeT, $math_verb, $afterT); return (&balance_inner_tags($text)); } $text; } # Uses $CURRENT_FILE defined in translate sub do_cmd_label { local($_) = @_; local($label); $label = &missing_braces unless ( (s/$next_pair_pr_rx\n?/$label = $2;''/eo) ||(s/$next_pair_rx\n?/$label = $2;''/eo)); &anchor_label($label,$CURRENT_FILE,$_); } # This subroutine is also used to process labels in undefined environments sub anchor_label { &real_anchor_label(@_) } sub real_anchor_label { # Modifies entries in %ref_files defined in translate local($label,$filename,$context) = @_; $label =~ s/<[^>]*>//go; #RRM: Remove any HTML tags $label =~ s/$label_rx/_/g; # replace non alphanumeric characters # Associate the label with the current file if ($ref_files{$label} ne $filename) { $ref_files{$label} = $filename; $noresave{$label} = 0; $changed = 1; } print "" if ($VERBOSITY > 3); join('',"$anchor_mark",$context); } sub do_cmd_cite { local($_) = @_; &process_cite('',''); } # This just creates a link from a label (yet to be determined) to the # cite_key in the citation file. sub process_cite { &process_real_cite(@_) } sub process_real_cite { local($mode,$text) = @_; my $has_text = (($text)? 1 : 0); # local($target) = 'contents';print "\nCITE:$text"; # process the text from \htmlcite or \hypercite if ($has_text) { $text = &balance_inner_tags($text) if $use_label =~ (/<\/([A-Z]+)>($math_verbatim_rx.*)<\1>/); $text = &translate_environments($text); $text = &simplify(&translate_commands($text)) if ($use_label =~ /\\/ ); } my $label, $cite_key, $pretag, @cite_keys; local($optional_text,$dummy) = &get_next_optional_argument; if ($mode =~ /external/) { # $target = ''; $pretag = $optional_text; $optional_text = ''; $pretag = &translate_commands($pretag) if ($pretag =~ /\\/); } else { $optional_text = ", $optional_text" if $optional_text; } s/^\s*\\space//o; # Hack - \space is inserted in .aux s/$next_pair_pr_rx//o||s/$next_pair_rx//o; if (!($cite_key = $2)) { print "\n *** Cannot find citation argument\n"; return ($_); } @cite_keys = (split(/,/,$cite_key)); my ($citations, $join) = ('',','); $join = '' if ($text); foreach $cite_key (@cite_keys) { $cite_key =~ s/(^\s+|\s+$)//g; $cite_key =~ s/(^\s+|\s+$)//g; # RRM: if the URL and printable-key are known already, then use them... $cite_key =~ s/$label_rx/_/g; $label = $cite_key; if ($mode eq "nocite") { # nothing more to do, no citations } elsif ( ($SEGMENT) && ($cite_info{$cite_key}) && ($ref_files{"cite_$cite_key"}) ) { $join = "," unless ($text); $text = $cite_info{$cite_key} unless ($text); $citations .= join('', $join , &make_named_href($label,$ref_files{'cite_'."$cite_key"},$text)); } elsif (($mode eq "external")&&($external_labels{$pretag."cite_$cite_key"})) { $join = "," unless ($text); $text = $cross_ref_visible_mark unless ($text); $citations .= join('', $join , &make_named_href($label , $external_labels{$pretag.'cite_'."$cite_key"}."\#$label" , $text) ); } elsif ($mode eq 'external') { $join = "," unless ($text); &write_warnings("\nExternal reference missing for citation: $pretag$cite_key"); $citations .= "$text$join#!$pretag$cite_key!#"; } else { $join = "," unless ($text); #Replace the key... $citations .= "$join#$cite_key#$cite_mark#$bbl_nr#$text#$cite_mark#"; } $text = ''; } $citations =~ s/^\s*,\s*//; if ($has_text) { join('', $citations, $optional_text, $_) } else { join('', "[", $citations, $optional_text, "]", $_) } } sub do_cmd_index { &do_real_index(@_) } sub do_real_index { local($_) = @_; local($br_id, $str); local($idx_option) = &get_next_optional_argument; $str = &missing_braces unless ( (s/$next_pair_pr_rx/($br_id, $str) = ($1, $2);''/eo) ||(s/$next_pair_rx/($br_id, $str) = ($1, $2);''/eo)); join('',&make_index_entry($br_id,$str),$_); } sub do_cmd_indexstar { &do_cmd_index(@_) } # RRM: \bibcite supplies info via the .aux file; necessary with segmented docs. sub do_cmd_bibcite { local($_) = @_; local($br_id, $cite_key,$print_key); $cite_key = &missing_braces unless ( (s/$next_pair_pr_rx/($br_id, $cite_key) = ($1, $2);''/eo) ||(s/$next_pair_rx/($br_id, $cite_key) = ($1, $2);''/eo)); $print_key = &missing_braces unless ( (s/$next_pair_pr_rx/($br_id, $print_key) = ($1, $2);''/eo) ||(s/$next_pair_rx/($br_id, $print_key) = ($1, $2);''/eo)); $cite_key =~ s/$label_rx/_/g; $cite_info{$cite_key} = $print_key; $_; } # This command will only be encountered inside a thebibliography environment. sub do_cmd_bibitem { &do_real_bibitem($CURRENT_FILE, @_) } sub do_real_bibitem { local($thisfile, $_) = @_; # The square brackets may contain the label to be printed local($label, $dummy) = &get_next_optional_argument; # Support for the "named" bibliography style if ($label) { $label =~ s/\\protect//g; $label = &translate_commands($label) if ($label =~ /\\/); } local($cite_key); $cite_key = &missing_braces unless ( ( s/$next_pair_pr_rx/$cite_key=$2;''/e ) ||( s/$next_pair_rx/$cite_key=$2;''/e )); $cite_key =~ s/$label_rx/_/g; $label = $cite_info{$cite_key} unless $label; # read from .aux file $label = ++$bibitem_counter unless $label; # Numerical labels if ($cite_key) { # Associate the cite_key with the printed label. # The printed label will be substituted back into the document later. $cite_info{$cite_key} = &translate_commands($label); if (!($ref_files{'cite_'."$cite_key"} eq $thisfile)) { $ref_files{'cite_'."$cite_key"} = $thisfile; $changed = 1; } #RRM: apply any special styles, as defined below $label = &bibitem_style($label) if (defined &bibitem_style); # Create an anchor around the citation join('',"

$label\n
", $_); } else { print "Cannot find bibitem labels: $label\n"; #RRM: apply any special styles, as defined below $label = &bibitem_style($label) if (defined &bibitem_style); join('',"

$label\n
", $_); # AFEB added this line } } #RRM: override this with a personal style, defined in .latex2html-init #sub bibitem_style { join('','',$_[0],'') } sub bibitem_style { return ($_[0]) unless $BIBITEM_STYLE; local($text) = join('' ,"${O}0$C",$BIBITEM_STYLE,"${O}1$C", @_, "${O}1$C","${O}0$C"); $text = &translate_environments($text); &translate_commands($text); } sub do_cmd_newblock { "
".$_[0] } # This just reads in the $FILE.bbl file if it is available and appends # it to the items that are still to be processed. # The $FILE.bbl should contain a thebibliography environment which will # cause its contents to be processed later in the appropriate way. # (Note that it might be possible for both the \bibliography command and # the thebibliography environment to be present as the former may have been # added by the translator as a sectioning command. In this case (both present) # the $citefile would have already been set by the thebibliography environment) sub do_cmd_bibliography { &do_real_bibliography($CURRENT_FILE, @_) } sub do_real_bibliography { local($thisfile, $after) = @_; if ((defined &do_cmd_bibname)||$new_command{'bibname'}) { local($br_id)=++$global{'max_id'}; $TITLE = &translate_environments("$O$br_id$C\\bibname$O$br_id$C"); } else { $TITLE = $bib_title } $toc_sec_title = $TITLE; return($_[0]) if ($making_name); local($bibfile); $bibfile = &missing_braces unless ( ($after =~ s/$next_pair_rx/$bibfile=$2;''/eo)|| ($after =~ s/$next_pair_rx_rx/$bibfile=$2;''/eo)); do { unless ($citefile) { $citefile = $thisfile; if (&process_ext_file("bbl")) { # *** BINDS $_ as a side effect *** $after = join('',$_,$after);} else { print "\nCannot open $FILE.bbl $!\n"; &write_warnings("\nThe bibliography file was not found."); $after = join('',"\n

No References!

", $after); } } print "\n"; } if $bibfile; $after; } # allow for customised info-pages, for different languages sub do_cmd_textohtmlinfopage { local($_) = @_; local($linfo) = $TITLES_LANGUAGE . '_infopage'; if (defined &$linfo) { eval "&$linfo"; } else { &default_textohtmlinfopage } } sub default_textohtmlinfopage { local($_) = @_; local($argv) = $argv; if (-f "../$argv") { $argv = &make_href ("../$argv", $argv, ); } $_ = ($INFO && $INFO =~ /^\d+$/ ? join('', $close_all , "$t_title

\nThis document was generated using the\n" , "LaTeX2HTML" , " translator Version $TEX2HTMLVERSION\n" , "

Copyright © 1993, 1994, 1995, 1996,\n" , "Nikos Drakos, \n" , "Computer Based Learning Unit, University of Leeds.\n" , "
Copyright © 1997, 1998, 1999,\n" , "Ross Moore, \n" , "Mathematics Department, Macquarie University, Sydney.\n" , "

The command line arguments were:
\n " , "latex2html $argv\n" , (($SHOW_INIT_FILE && ($INIT_FILE ne ''))? "\n

with initialization from: $INIT_FILE\n$init_file_mark\n" :'') , "

The translation was initiated by $address_data[0] on $address_data[1]" , $open_all, $_) : join('', $close_all, "$INFO\n", $open_all, $_)); $_; } # Try to translate LaTeX vertical space in a number of
's. # Eg. 1cm results in one + two extra
's. # To help the browser rendering is quite ugly, but why not. # sub get_vspace { local($_) = @_; local($vh) = 0; return("
") if /-/; $vh = int($1 * $vspace_12pt{$2} + 0.5) if (/([0-9.]+)\s*([a-z]+)/); join('',"
","\n
" x $vh); } sub do_cmd_vskip { local($_) = @_; &ignore_numeric_argument; join('',&get_vspace($1),$_); } sub do_cmd_break { local($_) = @_; join('',"
",$_); } sub do_cmd_vspace { local($_) = @_; local($how_much); $how_much = &missing_braces unless ( (s/$next_pair_pr_rx/$how_much = $2;''/e) ||(s/$next_pair_rx/$how_much = $2;''/e)); join('',&get_vspace($how_much),$_); } sub do_cmd_vspacestar { &do_cmd_vspace; } sub do_cmd_d_backslash { local($_) = @_; # Eat space from &pre_process. # We could also modifiy $single_cmd_rx and %normalize, but why not here. s/^ \*?//; local($spc,$dum)=&get_next_optional_argument; # If the [...] occurs on the next line, then it is *not* an argument to \\ . # MRO: replaced $* with /m if ($dum =~ /\n/m) { $spc = $`; $spc =~ s/\s//gm; $_ = $'.$_ } join('',(($spc)? &get_vspace($spc): "\n
"),$_); } ################## Commands used in the $FILE.aux file ####################### sub do_cmd_jobname { $FILE . $_[0] } # This is used in $FILE.aux sub do_cmd_newlabel { local($_) = @_; local($label,$val,$tmp); $label = &missing_braces unless ( (s/$next_pair_pr_rx/$label = $2;''/eo) ||(s/$next_pair_rx/$label = $2;''/eo)); $tmp = &missing_braces unless ( (s/$next_pair_pr_rx/$tmp=$2;''/eo) ||(s/$next_pair_rx/$tmp=$2;''/eo)); $val = &missing_braces unless ( ($tmp =~ s/$next_pair_pr_rx/$val=$2;''/eo) ||($tmp =~ s/$next_pair_rx/$val=$2;''/eo)); $val =~ s/(^\s+|\s+$)//gs; $label =~ s/$label_rx/_/g; # Replace non alphanumeric characters $latex_labels{$label} = $val; &do_labels_helper($label); $_; } sub do_cmd_oldnewlabel { &do_cmd_newlabel(@_) } # # Sets %encoded_(section|figure|table)_number, which maps encoded # section titles to LaTeX numbers # .= \$number . \"$;\""; sub do_cmd_oldcontentsline { &do_cmd_contentsline(@_) } sub do_cmd_contentsline { local($_) = @_; local($arg,$after,$title,$number,$hash,$stype,$page); # The form of the expression is: # \contentsline{SECTION} {... {SECTION_NUMBER} TITLE}{PAGE} $stype = &missing_braces unless ( (s/$next_pair_pr_rx/$stype = $2;''/e) ||(s/$next_pair_rx/$stype = $2;''/e)); $arg = &missing_braces unless ( (s/$next_pair_pr_rx/$arg = $2;''/e) ||(s/$next_pair_rx/$arg = $2;''/e)); $page = &missing_braces unless ( (s/$next_pair_pr_rx/$page = $2;''/e) ||(s/$next_pair_rx/$page = $2;''/e)); # s/$any_next_pair_pr_rx/$stype = $2;''/eo; # Chop off {SECTION} # s/$any_next_pair_pr_rx/$arg = $2;''/eo; # Get {... {SECTION_NUMBER} TITLE} # s/$any_next_pair_pr_rx/$page = $2;''/eo; # Get page number $hash = $stype if (($stype =~ /^(figure|table)$/)||($SHOW_SECTION_NUMBERS)); $hash =~ s/(sub)*(section|chapter|part)/section/; $after = $_; if ($hash) { if ($arg =~ /^$OP/) { $number = &missing_braces unless ( ($arg =~ s/$next_pair_pr_rx/$number = $2;''/eo) ||($arg =~ s/$next_pair_rx/$number = $2;''/eo)); } if ($stype eq "part") { while ($arg =~ s/$next_pair_pr_rx//o) {}; $number =~ tr/a-z/A-Z/; $number = "Part $number:"} # This cause problem when picking figure numbers... # while ($tmp =~ s/$next_pair_pr_rx//o) {}; $number = -1 unless $number; #JCL(jcl-tcl) ## $_ = $arg; # $title = &sanitize($arg); ## &text_cleanup; ## $title = &encode_title($_); ## #remove surrounding brace-numbering $arg =~ s/^($O|$OP)\d+($C|$CP)|($O|$OP)\d+($C|$CP)$//g; $arg =~ s/\\footnote(mark|text)?//g; # \caption arguments should have had environments translated already $arg = &translate_environments($arg) if ($arg =~ /\\begin/); #replace image-markers by the image params $arg =~ s/$image_mark\#([^\#]+)\#/&purify_caption($1)/e; #RRM: resolve any embedded cross-references first local($checking_caption) = 1; $title = &simplify($arg); $title = &sanitize($title); $checking_caption = ''; eval "\$encoded_${hash}_number{\$title} .= \$number . \"$;\""; } $after; } # # Before normalizing this was \@input. Used in .aux files. # sub do_cmd__at_input { local ($_) = @_; local ($file, $after); $file = &missing_braces unless ( (s/$next_pair_pr_rx/$file=$2;''/eo) ||(s/$next_pair_rx/$file=$2;''/eo)); local($prefix, $suffix) = split(/\./, $file); $after = $_; local($EXTERNAL_FILE) = $prefix; &process_ext_file($suffix); $after; } ########################### Counter Commands ################################# # Removes the definition from the input string, adds to the preamble # and stores the body in %new_counter; sub get_body_newcounter { # local(*_) = @_; local($after_R) = @_; local($_) = $$after_R; local($within,$ctr,$cmd,$tmp,$body,$pat); local($new_ctr) = 'counter'; ($ctr,$pat) = &get_next(1); # Get counter name &write_warnings ("\n*** LaTeX Error: backslash found in counter-name: $ctr") if ($pat =~ s/\\//); $ctr =~ s/^\s*\\//; $new_ctr .= $pat; ($within,$pat) = &get_next(0); # Get optional within, currently ignored &addto_dependents($within,$ctr); $new_ctr .= $pat; do { ### local($_) = "\\arabic<<1>>$ctr<<1>>"; $body = "\\arabic<<1>>$ctr<<1>>"; &make_unique($body); $cmd = "the$ctr"; $tmp = "do_cmd_$cmd"; $new_command{$cmd} = join(':!:',0,$body,'}') unless (defined &$tmp); &write_mydb("new_command", $cmd, $new_command{$cmd}); undef $body; }; &do_body_newcounter($ctr); $$after_R = $_; if (!$PREAMBLE) { my $new_cmd = join('' , "counter{$ctr}", ($within ? "[$within]" : '') ); &add_to_preamble('counter','\\new'.$new_cmd); return (); } 'newed'.$new_ctr; } sub do_body_newcounter { local($ctr) = @_; $latex_body .= &revert_to_raw_tex("\\newcounter{$ctr}\n") unless ($preamble =~ /\\new(counter|theorem){$ctr}/); $global{$ctr} = 0; &process_commands_wrap_deferred("the$ctr "); $_; } #RRM: This doesn't work properly yet. # The new booleans need to be stored for use in all partitions. # \if... \else \fi is not yet implemented. sub get_body_newboolean { # local(*_) = @_; local($after_R) = @_; local($_) = $$after_R; my $bool; $bool = &missing_braces unless ( (s/$next_pair_pr_rx/$bool=$2;''/e) ||(s/$next_pair_rx/$bool=$2;''/e)); $bool = &process_body_newif('',$bool); $$after_R = $_; 'newed'.$bool; } sub get_body_newif { # local(*_) = @_; local($after_R) = @_; local($_) = $$after_R; local($bool); if (!(s/^\s*\\if([a-zA-Z]+)//)) { $$after_R = $_; return(); } $bool = $1; $$after_R = $_; join('','newed', &process_body_newif('', $bool)); } sub process_body_newif { local($texif, $bool) = @_; local($body,$ifbool,$cmd,$tmp,$pat); # ($bool,$pat) = &get_next(1); # Get boolean name # # change the brace-type around the command-name # $pat =~ s/$O/$OP/; $pat =~ s/$C/$CP/; $new_cmd .= $pat; $ifbool = "if".$bool; $global{$ifbool} = 0; do { $body = "\$global{'$ifbool'} = 1;"; $cmd = $bool."true"; $code = "sub do_cmd_$cmd { ".$body." \$_[0];}"; eval $code; print STDERR "\n*** sub do_cmd_$cmd failed:\n$@\n" if ($@); $raw_arg_cmds{$cmd} = 1; $body = "\$global{$ifbool} = 0;"; $cmd = $bool."false"; $code = "sub do_cmd_$cmd { ".$body." \$_[0];}"; eval $code; print STDERR "\n*** sub do_cmd_$cmd failed:\n$@\n" if ($@); $raw_arg_cmds{$cmd} = 1; undef $body; }; &process_commands_wrap_deferred("${bool}true\n${bool}false\nif$bool\n"); # $latex_body .= &revert_to_raw_tex("\\newif\\$ifbool\n") # unless ($preamble =~ /\\newif\s*\\$ifbool/); if (!$PREAMBLE) { local($new_cmd) = "boolean{\\$bool}"; &add_to_preamble ('newif', "\\new$new_cmd" ); return (); } local($br_id) = ++$global{'max_id'}; 'boolean'."$O$br_id$C$bool$O$br_id$C"; } sub do_cmd_value { local($_) = @_; local($ctr,$val); $ctr = &missing_braces unless ((s/$next_pair_pr_rx/$ctr = $2;''/eo) ||(s/$next_pair_rx/$ctr = $2;''/eo)); $val = &get_counter_value($ctr); if ($val) { $val.$_ } else { join(''," 0",$_) } } sub do_cmd_boolean { local($_) = @_; local($bool,$val); $bool = &missing_braces unless ((s/$next_pair_pr_rx/$bool = $2;''/eo) ||(s/$next_pair_rx/$bool = $2;''/eo)); $val = &get_boolean_value($bool); if ($val) { $val.$_ } else { "0".$_ } } sub get_counter_value { local($ctr) = @_; local($val,$index); $ctr = 'eqn_number' if ($ctr eq "equation"); $index = $section_commands{$ctr}; if (defined $global{$ctr}) { $val= $global{$ctr}; } elsif (($SEGMENT)&&($index)) { $val = $segment_sec_id[$index] # if ($index) { # if ($SEGMENT) { $val = $segment_sec_id[$index] } # else { $val = $curr_sec_id[$index] } } else { &write_warnings ("\ncounter $ctr not defined"); $val= 0; } print "\nVAL:$ctr: $val " if ($VERBOSITY > 3); $val; } sub get_boolean_value { local($bool) = @_; local($val,$index); if (defined $global{$bool}) { $val= $global{$bool} } else { &write_warnings ("boolean $bool not defined\n"); $val="0"; } print "\nBOOL:$bool: $val " if ($VERBOSITY > 3); $val; } sub do_cmd_addtocounter { local($_) = @_; local($ctr,$num,$index); $ctr = &missing_braces unless ((s/$next_pair_rx/$ctr = $2;''/eo) ||(s/$next_pair_pr_rx/$ctr = $2;''/eo)); $num = &missing_braces unless ((s/$next_pair_rx/$num = $2;''/eo) ||(s/$next_pair_pr_rx/$num = $2;''/eo)); $num = &translate_commands($num) if ($num =~ /\\/); if ($num !~ /^\s*(\+|-)?\d+\s*$/) { print STDERR "\n*** cannot set counter $ctr to $num ***\n"; return($_); } $latex_body .= &revert_to_raw_tex("\\addtocounter{$ctr}{$num}\n"); $index = $section_commands{$ctr}; if (defined $global{$ctr}) { $global{$ctr} += $num } elsif ($index) { if ($SEGMENT) { $segment_sec_id[$index] += $num } else { $curr_sec_id[$index] += $num } $global{$ctr} += $num; } elsif ($ctr eq "equation") { $global{'eqn_number'} += $num } else { $global{$ctr} += $num }; print "\nADD:$ctr:+$num= ". $global{$ctr}." " if ($VERBOSITY > 3); # &reset_dependents($ctr) if ($dependent{$ctr}); $_; } sub do_cmd_setcounter { local($_) = @_; local($ctr,$num,$index,$sctr); $ctr = &missing_braces unless ((s/$next_pair_rx/$ctr = $2;''/eo) ||(s/$next_pair_pr_rx/$ctr = $2;''/eo)); $num = &missing_braces unless ((s/$next_pair_rx/$num = $2;''/eo) ||(s/$next_pair_pr_rx/$num = $2;''/eo)); $num = &translate_commands($num) if ($num =~ /\\/); if ($num !~ /^\s*(\+|-)?\d+\s*$/) { print STDERR "\n*** cannot set counter $ctr to $num ***\n"; return($_); } if ($ctr =~ /^l/) { $sctr = $'; $ctr = $sctr if $section_commands{$sctr}; } if (! $AUX_FILE && !($ctr =~ /page/ )) { $latex_body .= &revert_to_raw_tex("\\setcounter{$ctr}{$num}\n"); $index = $section_commands{$ctr}; if ($index) { if ($curr_sec_id[$index] <= $num ) { $curr_sec_id[$index] = $num } else { print "\nignoring \\setcounter{$ctr}{$num} currently at ",$curr_sec_id[$index] ; &write_warnings(join('',"\n\\setcounter{$ctr}{$num} ignored," ," cannot reduce from ",$curr_sec_id[$index])); } $global{$ctr} = $num; } elsif ($ctr eq "equation") {$global{'eqn_number'} = $num } else { $global{$ctr} = $num }; } print "\nSET:$ctr: = $num" if ($VERBOSITY > 3); # &reset_dependents($ctr) if ($dependent{$ctr}); $_; } sub do_cmd_setlength { local($_) = @_; local($dimen,$value,$index,$sctr); $dimen = &missing_braces unless ((s/$next_pair_rx/$dimen = $2;''/eo) ||(s/$next_pair_pr_rx/$dimen = $2;''/eo)); $value = &missing_braces unless ((s/$next_pair_rx/$value = $2;''/eo) ||(s/$next_pair_pr_rx/$value = $2;''/eo)); # recognise specific length-parameters if ($dimen =~ /captionwidth/) { local($pxs,$len) = &convert_length($value, $MATH_SCALE_FACTOR); $cap_width = $pxs if ($pxs &&($dimen =~ /captionwidth/)); } if ((! $AUX_FILE)&&(! $PREAMBLE)) { $latex_body .= &revert_to_raw_tex("\\setlength{$dimen}{$value}\n"); print "\nSETLENGTH:$dimen = $value" if ($VERBOSITY > 3); } $_; } sub do_cmd_setboolean { local($_) = @_; local($bool,$val); $bool = &missing_braces unless ((s/$next_pair_rx/$bool = $2;''/eo) ||(s/$next_pair_pr_rx/$bool = $2;''/eo)); $val = &missing_braces unless ((s/$next_pair_rx/$val = $2;''/eo) ||(s/$next_pair_pr_rx/$val = $2;''/eo)); if (! $AUX_FILE) { $latex_body .= &revert_to_raw_tex("\\setboolean{$bool}{$val}\n"); $global{"if$bool"} = (($val = ~/true/) ? 1 : 0); print "\nSETBOOL:$bool = $val" if ($VERBOSITY > 3); } $_; } sub do_cmd_endsegment { local($_) = @_; local($ctr,$dum) = &get_next_optional_argument; local($index,$steps) = ('',1); # $steps = &missing_braces unless ( # (s/$next_pair_pr_rx/$steps = $2;''/e) # ||(s/$next_pair_rx/$steps = $2;''/e)); $index = $section_commands{$ctr} if $ctr; # if ($index) { $curr_sec_id[$index] += $steps } # if ($index) { ($after_segment,$after_seg_num) = ($index,$steps) } if ($index) { ($after_segment,$after_seg_num) = ($index,1) } $_; } sub do_cmd_stepcounter { local($_) = @_; local($ctr,$index); $ctr = &missing_braces unless ((s/$next_pair_rx/$ctr = $2;''/eo) ||(s/$next_pair_pr_rx/$ctr = $2;''/eo)); if (! $AUX_FILE) { $latex_body .= &revert_to_raw_tex("\\stepcounter{$ctr}\n"); $index = $section_commands{$ctr}; if ($index) { # if ($SEGMENT) { $segment_sec_id[$index] += 1 } # else { $curr_sec_id[$index] += 1 } $global{$ctr} += 1; } elsif ($ctr eq "equation") { $global{'eqn_number'} += 1 } else { $global{$ctr} += 1 }; } print "\nSTP:$ctr:+1" if ($VERBOSITY > 3); &reset_dependents($ctr) if ($dependent{$ctr}); $_; } #RRM: dependent counters are stored as a comma-separated list # in the %dependent hash. sub reset_dependents { local($ctr) = @_; local($dep,$subdep,%dependents); @dependents = (split($delim, $dependent{$ctr})); print "\n" if (($VERBOSITY > 3)&&(@dependents)); while (@dependents) { $dep = pop(@dependents); print "RESET $dep to 0\n" if ($VERBOSITY > 3); if ($global{$dep}) { $global{$dep} = 0 } elsif ($dep =~ /equation/) { $global{'eqn_number'} = 0 } if ($dependent{$dep}) { push(@dependents,split($delim,$dependent{$dep})); } } } sub do_cmd_numberwithin { local($_) = @_; local($ctr,$within); $ctr = &missing_braces unless ((s/$next_pair_rx/$ctr = $2;''/eo) ||(s/$next_pair_pr_rx/$ctr = $2;''/eo)); $within = &missing_braces unless ((s/$next_pair_rx/$within = $2;''/eo) ||(s/$next_pair_pr_rx/$within = $2;''/eo)); # record the counter dependency &addto_dependents($within,$ctr) if ($within); local($newsub) = "sub do_cmd_the$ctr {" . "\$global{'max_id'}++;\n" # . "local(\$super)=\&do_cmd_the$within();\n" . "local(\$super)=\&translate_commands('\\the$within');\n" . "\$super .= '.' unless (\$super =~/\\.\$/);\n" . "\$super .\&do_cmd_value('<<'.\$global{'max_id'}.'>>" . $ctr . "<<'.\$global{'max_id'}.'>>')}\n"; eval $newsub; print " *** sub do_cmd_the$ctr unchanged *** $@ " if ($@); $_; } sub do_cmd_refstepcounter { local($_) = @_; local($ctr); $ctr = &missing_braces unless ((s/$next_pair_rx/$ctr = $2;''/eo) ||(s/$next_pair_pr_rx/$ctr = $2;''/eo)); if (! $AUX_FILE) { $latex_body .= &revert_to_raw_tex("\\refstepcounter{$ctr}\n"); $index = $section_commands{$ctr}; if (defined $global{$ctr}) { $global{$ctr} += 1 } elsif ($index) { if ($SEGMENT) { $segment_sec_id[$index] += 1 } else { $curr_sec_id[$index] += 1 } } elsif ($ctr eq "equation") { $global{'eqn_number'} += 1 } else { $global{$ctr} += 1 }; } print "\nSTP: $ctr : +1" if ($VERBOSITY > 3); &reset_dependents($ctr) if ($dependent{$ctr}); $_; } sub read_counter_value { local($_) = @_; local($ctr,$br_id,$val); $ctr = &missing_braces unless ((s/$next_pair_pr_rx/$br_id = $1; $ctr = $2;''/eo) ||(s/$next_pair_rx/$br_id = $1; $ctr = $2;''/eo)); $val = &get_counter_value($ctr); ($ctr, $val, $br_id, $_) } sub styled_number_text { local($num_style, $val, $txtID) = @_; if ($USING_STYLES) { $txt_style{$num_style} = " " unless ($txt_style{$num_style}); join('',"", $val, "", $_); } else { $val.$_ } } sub do_cmd_arabic { local($ctr, $val, $id, $_) = &read_counter_value($_[0]); $val = ($val ? &farabic($val) : "0"); &styled_number_text('arabic', $val, $id); } sub do_cmd_roman { local($ctr, $val, $id, $_) = &read_counter_value($_[0]); if ($val < 0 ) { $val = join('',"-",&froman(-$val)); } elsif ($val) { $val = &froman($val) } else { $val = "0"; } &styled_number_text('roman', $val, $id); } sub do_cmd_Roman { local($ctr, $val, $id, $_) = &read_counter_value($_[0]); if ($val < 0 ) { $val = join('',"-",&fRoman(-$val)); } elsif ($val) { $val = &fRoman($val) } else { $val = "0"; } &styled_number_text('Roman', $val, $id); } sub do_cmd_alph { local($ctr, $val, $id, $_) = &read_counter_value($_[0]); if ($val < 0 ) { $val = join('',"-",&falph(-$val)); } elsif ($val) { $val = &falph($val) } else { $val = "0"; } &styled_number_text('alph', $val, $id); } sub do_cmd_Alph { local($ctr, $val, $id, $_) = &read_counter_value($_[0]); if ($val < 0 ) { $val = join('',"-",&fAlph(-$val)); } elsif ($val) { $val = &fAlph($val) } else { $val = "0"; } &styled_number_text('Alph', $val, $id); } sub do_cmd_fnsymbol { local($ctr, $val, $id, $_) = &read_counter_value($_[0]); $val = &process_in_latex_helper($ctr, $val, "fnsymbol{$ctr}"); &styled_number_text('Alph', $val, $id); } # This is a general command for getting counter values; # e.g. for section-numbers. sub do_cmd_thecounter { local($_) = @_; # Uses $counter bound by the caller local($val) = &get_counter_value($counter); $val = &process_in_latex_helper($counter,$val,"the$counter"); &styled_number_text($counter, $val, ''); # join('',&process_in_latex_helper($counter,$val,"the$counter"),$_[0]); } ################# Special Naming Macros ################################## sub do_cmd_LaTeX { local($_) = @_; if ($USING_STYLES) { $env_style{'LaTeX'} = ' ' unless ($env_style{'LaTeX'}); $env_style{'logo-LaTeX'} = ' ' unless ($env_style{'logo-LaTeX'}); join('',"",$Laname, $TeXname,"",$_); } else { join('',$Laname, $TeXname, $_); } } sub do_cmd_LaTeXe { local($_) = @_; if ($USING_STYLES) { $env_style{'LaTeX2e'} = ' ' unless ($env_style{'LaTeX2e'}); $env_style{'logo-LaTeX2e'} = ' ' unless ($env_style{'logo-LaTeX2e'}); join('',"" ,$Laname, $TeXname,'2e',"",$_); } else { join('',$Laname,$TeXname ,(($HTML_VERSION >= 3.0)? '2e':'2e'),$_); } } sub do_cmd_latextohtml { local($_) = @_; if ($USING_STYLES) { $env_style{'LaTeX2HTML'} = ' ' unless ($env_style{'LaTeX2HTML'}); $env_style{'logo-LaTeX2HTML'} = ' ' unless ($env_style{'logo-LaTeX2HTML'}); join('',"" ,$Laname, $TeXname,"2HTML","",$_); } else { join('',$Laname,$TeXname,"2HTML",$_);} } sub do_cmd_TeX { local($_) = @_; if ($USING_STYLES) { $env_style{'logo-TeX'} = ' ' unless ($env_style{'logo-TeX'}); join('',"",$TeXname,"",$_); } else { join('',$TeXname, $_);} } sub do_cmd_MF { local($_) = @_; if ($USING_STYLES) { $env_style{'logo-Metafont'} = ' ' unless ($env_style{'logo-Metafont'}); join('',"",$MFname,"",$_); } else { join('', $MFname, $_);} } sub do_cmd_Xy { local($_) = @_; if ($USING_STYLES) { $env_style{'logo-Xy-pic'} = ' ' unless ($env_style{'logo-Xy-pic'}); join('',"",$Xyname,"",$_); } else { join('',$Xyname, $_);} } sub do_cmd_AmS { local($_) = @_; if ($USING_STYLES) { $env_style{'logo-AMS'} = ' ' unless ($env_style{'logo-AMS'}); join('',"",$AmSname,"",$_); } else { join('',$AmSname, $_);} } sub do_cmd_AmSTeX { local($_) = @_; if ($USING_STYLES) { $env_style{'logo-AMS'} = ' ' unless ($env_style{'logo-AMS'}); join('',"",$AmSname,"-$TeXname","",$_); } else { join('',$AmSname, "-", $TeXname, $_);} } sub do_cmd_char { local($_) = @_; # some special characters are already turned into l2h internal # representation. # Get its represention from the table and use it like as regexp form. local($spmquot) = &escape_rx_chars($html_specials{'"'}); # Get all internal special char representations as implied during # preprocessing. local($spmrx) = join("\000",values %html_specials); # escape regexp special chars (not really necessary yet, but why not) $spmrx = &escape_rx_chars($spmrx); #~ s:([\\(){}[\]\^\$*+?.|]):\\$1:g; $spmrx =~ s/\000/|/g; $spmrx = "(.)" unless $spmrx =~ s/(.+)/($1|.)/; s/^[ \t]*(\d{1,3})[ \t]*/&#$1;/ && return($_); s/^[ \t]*\'(\d{1,3})[ \t]*/"&#".oct($1).";"/e && return($_); s/^[ \t]*$spmquot(\d{1,2})[ \t]*/"&#".hex($1).";"/e && return($_); # This is a kludge to work together with german.perl. Brrr. s/^[ \t]*\'\'(\d{1,2})[ \t]*/"&#".hex($1).";"/e && return($_); # If l2h's special char marker represents more than one character, # it's already in the &#xxx; form. Else convert the single character # into &#xxx; with the ord() command. s/^[ \t]*\`\\?$spmrx[ \t]*/ (length($html_specials_inv{$1}) > 1 ? $html_specials_inv{$1} : "&#".ord($html_specials_inv{$1}||$1).";")/e && return($_); &write_warnings(join('', "Could not find character number in \\char", (/\n/ ? $` : $_), " etc.\n")); $_; } sub do_cmd_symbol { local($_) = @_; local($char); $char = &missing_braces unless ((s/$next_pair_pr_rx/$char = $2;''/eo) ||(s/$next_pair_rx/$char = $2;''/eo)); join('',&do_cmd_char($char),$_); } ################# Accent and Special Symbols ################################## # Generate code for the accents handling commands that are never # applied to i or j. # MEH: Now all accents are safe for dotless i or j # MEH: Math accents supported as well sub generate_accent_commands { local($accent,$accent_cmd); local(%accents) = ("c", "cedil", "pc", "cedil", "d", "bdot", "b", "b", "tilde", "tilde", "dot", "dot", "bar", "macr", "hat", "circ", "u", "breve", "v", "caron", "H", "dblac", "t", "t", "grave", "grave", "acute", "acute", "ddot", "uml", "check", "caron", "breve", "breve", "vec", "vec", "k", "ogon", "r", "ring"); foreach $accent (keys(%accents)) { $accent_cmd = "sub do_cmd_$accent {" . 'local($_) = @_;' . "&accent_safe_for_ij('$accents{$accent}','$accent');" . '$_}'; eval $accent_cmd; $accent_cmd = "do_cmd_$accent"; print STDERR "\n*** sub do_cmd_$accent failed:\nPERL: $@\n" if ($@); } } # These handle accents, taking care of the dotless i's and j's that # may follow (even though accented j's are not part of any alphabet # that I know). # # Note that many forms of accents over dotless i's and j's are # handled: # "\^\i rest" # "\^\i # rest" # "\^{\i}rest" # "\^\i{}rest" # They all produce "îrest". # MEH: now also handles # "\^{}rest" # "\^,rest" # and many more sub accent_safe_for_ij { local($type,$acc_cmd) = @_; local($arg, $first_char,$ij_cmd); #print STDOUT "\nACCENT: $type <$_>\n" ; s/^[ \t]*\n?[ \t]*(\S)/$1/; # Remove whitespace if (s/^\\([ij])([^a-zA-Z]|$)/$2/) { # Accent of this form: "\^\i rest" or "\^\i{}rest" ($arg) = $1; $ij_cmd = "\\$1"; s/^[ \t]+//o; # Get rid of whitespaces after \i if (substr($_, 0, 2) =~ /[\n\r][^\n\r]/) { $_ = substr($_, 1); # Get rid of 1 newline after \i } } else { # Accent of this form: "\^{\i}rest" or not an accent on i nor j ($arg) = &get_next_pair_or_char_pr; } $arg =~ s/([^\s\\<])/$first_char = $1; ''/eo; # print STDOUT "\nACCENT1 type:$type arg:|${arg}| first_char: |$first_char| $ij_cmd # , $ACCENT_IMAGES\n"; local($aafter) = $_; local($iso) = &iso_map($first_char,$type); if ($iso) { $_ = join('', $iso, $arg, $aafter) } elsif ((!($ACCENT_IMAGES))&&(!($ij_cmd))) { local($err_string) = "\nNo available accent for $first_char$type , using just \"$first_char$arg\""; print $err_string if ($DEBUG||$VERBOSITY > 1); &write_warnings("\n ...set \$ACCENT_IMAGES to get an image "); $_ = join('', $first_char, $arg, $aafter) } else { print ", making image of accent: $first_char$type " if ($VERBOSITY > 1); $_ = join('', &mbox_accent($acc_cmd, $first_char, $ij_cmd) , $arg, $aafter) } } sub mbox_accent { local($type, $char, $ij_cmd) = @_; if (length($type) > 1 ) { if ($text_accent{$type}) { $type = $text_accent{$type}; } elsif ($type =~ /^(math)?accent/) { } else { print "\n unrecognised accent $type for `$char' "; return $char; } } local(@styles); local($cmd,$style,$bstyle,$estyle) = ('','','',''); local(@styles) = split(',',$ACCENT_IMAGES); foreach $style (@styles) { $style =~ s/(^\s*\\|\s*)//g; $cmd = "do_cmd_$style"; if (defined &$cmd) { $bstyle .= "\\$style\{" ; $estyle .= "\}"; } else { &write_warnings("\nunrecognized style \\$style for accented characters"); } } if (!($bstyle)) { $bstyle = "\{"; $estyle = "\}"; } elsif ($bstyle =~ /textit|itshape/) { $bstyle = '\raise.5pt\hbox{' . $bstyle ; $estyle .= "\}"; } $char = $ij_cmd if ($ij_cmd); print STDOUT "\nACCENT: $type, $char" if ($VERBOSITY > 2); local($afterkern); # serifs extend too far on some letters... $afterkern = "\\kern.05em" if (($char =~ /m|n/)||($type=~/[Hv]/)); # ...or the accent is wider than the letter, so pad it out a bit $afterkern = "\\kern.15em" if ($char =~ /i|l/); #||($type=~/v/)); &process_undefined_environment("tex2html_accent_inline" , ++$global{'max_id'}, "${bstyle}\\${type}\{$char\\/\}$estyle$afterkern"); } # MEH: Actually tries to find a dotless i or j sub do_cmd_i { join('',&iso_map('i', 'nodot') || 'i', $_[0]) } sub do_cmd_j { join('',&iso_map('j', 'nodot') || 'j', $_[0]) } sub do_cmd_accent { local($_) = @_; local($number); if (s/\s*(\d+)\s*//o) {$number = $1} elsif (s/\s*&SMPquot;(\d)(\d)\s*//o) { $number = $1*16 + $2 } elsif (s/\s*\'(\d)(\d)(\d)\s*//o) { $number = $1*64 + $2*8 + $3 } else { s/\s*(\W\w+)([\s\W])/$2/o; $number = $1 } local($type) = $accent_type{uc($number)}; #print STDOUT "\ndo_cmd_accent: $number ($type) |$_|\n"; if (! $type) { &write_warnings("Accent number $number is unknown.\n"); return $_; } &accent_safe_for_ij($type , 'accent$number' ); $_; } sub do_cmd_ae { join('', &iso_map("ae", "lig"), $_[0]);} sub do_cmd_AE { join('', &iso_map("AE", "lig"), $_[0]);} sub do_cmd_aa { join('', &iso_map("a", "ring"), $_[0]);} sub do_cmd_AA { join('', &iso_map("A", "ring"), $_[0]);} sub do_cmd_o { join('', &iso_map("o", "slash"), $_[0]);} sub do_cmd_O { join('', &iso_map("O", "slash"), $_[0]);} sub do_cmd_ss { join('', &iso_map("sz", "lig"), $_[0]);} sub do_cmd_DH { join('', &iso_map("ETH", ""), $_[0]);} sub do_cmd_dh { join('', &iso_map("eth", ""), $_[0]);} sub do_cmd_TH { join('', &iso_map("THORN", ""), $_[0]);} sub do_cmd_th { join('', &iso_map("thorn", ""), $_[0]);} sub do_cmd_pounds { join('', &iso_map("pounds", ""), $_[0]);} sub do_cmd_S { join('', &iso_map("S", ""), $_[0]);} sub do_cmd_copyright { join('', &iso_map("copyright", ""), $_[0]);} sub do_cmd_P { join('', &iso_map("P", ""), $_[0]);} sub brackets { ($OP, $CP);} sub get_date { local($format,$order) = @_; local(@lt) = localtime; local($d,$m,$y) = @lt[3,4,5]; if ($format =~ /ISO/) { sprintf("%4d-%02d-%02d", 1900+$y, $m+1, $d); } elsif ($format) { if ($order) { eval "sprintf(".$format.",".$order.")"; } else { sprintf($format, $d, $m+1, 1900+$y); } } else { sprintf("%d/%d/%d", $m+1, $d, 1900+$y); } } sub address_data { local($user, $date, $_); local($format,$order) = @_; # Get author, (email address) and current date. ($user = L2hos->fullname()) =~ s/,.*//; ($user, &get_date($format,$order)); } #################################### LaTeX2e ################################## sub missing_braces { # local($cmd) = @_; local($next, $revert, $thisline); local($this_cmd) = $cmd; $this_cmd =~ s/^\\// unless ($cmd eq "\\"); &write_warnings("\n? brace missing for \\$this_cmd"); if (/^[\s%]*([^\n]*)\n/ ) { $thisline = &revert_to_raw_tex($1) } else { $thisline = &revert_to_raw_tex($_); } print "\n\n*** no brace for \\$this_cmd , before:\n$thisline"; s/^\s*//; if ($_ =~ s/$next_token_rx//) { $next = $& }; $next =~ s/$comment_mark(\d+\n?)?//g; # $next = &translate_commands($next) if ($next =~ /^\\/); if ($next =~ /^\\(\W|\d|[a-zA-z]*\b)/) { $revert = $next = "\\".$1; } elsif ($next =~ /\W/) { $revert = &revert_to_raw_tex($next); } else { $revert = $next }; print "\n*** using \"$revert\" as the argument instead; is this correct? ***\n\n"; $next; } #RRM: # &styled_text_chunk provides an interface for pieces of styled text, # within a single paragraph. The visual markup can be obtained through either # 1. link to a stylesheet (CSS) # 2. direct markup placed into the output # 3. calling another function to process the text # # parameters (in order): # $def_tag : markup tag to be used, unless $USING_STYLES or no $property given, # attributes can be included, only 1st word is used for closing-tag; # $prefix : prefix for the Unique ID identifier, defaults to 'txt' # OR contains CLASS= identifier when $property is empty(see below); # $type : general type of the style-sheet information # $class : specific type of the style-sheet information # $property : value to be set, applicable to the $type & $class # $alt_proc : name of procedure to use, if $USING_STYLES == 0, and no $def_tag # $_ : current data-stream # $open_tags_R : current open-tags (not used in this procedure) sub styled_text_chunk { local($def_tag, $prefix, $type, $class, $property, $alt_proc, $_, $ot) = @_; local($open_tags_R) = defined $ot ? $ot : $open_tags_R; local($text, $env_id, $def_end); local($span_tag) = 'SPAN'; $text = &missing_braces unless ((s/$next_pair_pr_rx/$text = $2; $env_id = $1;''/eo) || (s/$next_pair_rx/$text = $2; $env_id = $1;''/eo)); $text = &balance_inner_tags($text); #start from no open tags local(@save_open_tags) = (); local($open_tags_R) = []; # local($decl); # if ($prefix =~ /CLASS="(\w+)"/ ) { # $decl=$1; # push (@$open_tags_R, $decl); # } # push (@$open_tags_R, $color_env) if $color_env; if (!$inside_math) { $text = &translate_environments($text); $text = &translate_commands($text) if ($text =~ /\\/); $text .= &balance_tags; } if (($USING_STYLES)&&($env_id =~ /^\d+$/)&&($property)) { $prefix = 'txt' unless ($prefix); $env_id = $prefix.$env_id; $styleID{$env_id} = join('',"$type", ($class ? "-$class" : '') ,": ", $property,"; "); return(join('',"<$span_tag ID=\"$env_id\">",$text,"<\/$span_tag>", $_)); } if (($USING_STYLES)&&($prefix =~ /($span_tag )?CLASS=\"(\w+)\"/o)) { local($span_class) = $2; $def_tag = (($1)? $1 : $span_tag." "); $txt_style{$span_class} = "$type: $class " unless ($txt_style{$span_class}); return(join('',"<$def_tag CLASS=\"$span_class\">" , $text,"<\/$span_tag>", $_)); } if (($def_tag) && (!$USING_STYLES)) { $def_tag =~ s/^($span_tag)?CLASS=\"(\w+)\"$// ; } if ($def_tag =~ /^(\w+)/) { $def_end = $1; return(join('',"<$def_tag>",$text,"<\/$def_end>", $_)); } return (join('', eval ("&$alt_proc(\$text)") , $_)) if (defined "&$alt_proc"); &write_warnings( "\ncannot honour request for $type-$class:$property style at br$env_id"); join('', $text, $_); } sub multi_styled_text_chunk { local($def_tag, $prefix, $type, $class, $property, $_, $ot) = @_; local($open_tags_R) = defined $ot ? $ot : $open_tags_R; $prefix = 'txt' unless ($prefix); my(@def_tags) = split(',',$def_tag); my(@types) = split(',',$type); my(@classes) = split(',',$class); my(@properties) = split(',',$property); $text = &missing_braces unless ((s/$next_pair_pr_rx/$text = $2; $env_id = $1;''/eo) || (s/$next_pair_rx/$text = $2; $env_id = $1;''/eo)); if (($USING_STYLES)&&($env_id =~ /^\d+$/)&&($property)) { # $1 contains the bracket-id $env_id = $prefix.$env_id; while (@properties) { $class = shift @classes; $property = shift @properties; $styleID{$env_id} .= join('' , shift @types, , ($class ? "-".$class : '') , ($property ? " : $property" : ''), " ; "); $styleID{$env_id} .= "\n\t\t " if (@properties); } } join('',"",$text,"<\/SPAN>", $_); } #RRM: # This one takes care of commands with argument that really should be # environments; e.g. \centerline, \rightline, etc. # Note that styles are inherited also from the existing @$open_tags_R. # sub styled_text_block { local($def_tag, $attrib, $value, $class, $_, $ot) = @_; local($open_tags_R) = defined $ot ? $ot : $open_tags_R; local($text, $env_id, $attribs); if ($attribs =~ /,/ ) { local(@attribs) = split(',',$attrib); local(@values) = split(',',$value); while (@attribs) { $attribs .= join('', " " , shift @attribs ,"=\"" , shift @values, "\"") } } elsif($value) { $attribs = join(''," ",$attrib,"=\"",$value,"\"") } else { $attribs = " " . $attrib } local(@save_open_tags) = @$open_tags_R; local($closures) = &close_all_tags(); local($reopens)=&balance_tags(); $text = &missing_braces unless ((s/$next_pair_pr_rx/$text = $2; $env_id = $1;''/eo) || (s/$next_pair_rx/$text = $2; $env_id = $1;''/eo)); if (($USING_STYLES)&&($env_id =~ /^\d+$/)) { $env_id = ++$global{'max_id'}; $env_id = "par".$env_id; $styleID{$env_id} = " "; $env_style{$class} = " " if (($class)&&!($env_style{$class})); $class = " CLASS=\"$class\"" if ($class); $env_id = " ID=\"$env_id\""; } else { $class = ''; $env_id = '' }; $text = &translate_environments($text); $text = &translate_commands($text); local($closuresA)=&close_all_tags(); local($reopensA) = &balance_tags(); $text =~ s/^\n?/\n/o; join('', $closures , "<$def_tag$class$env_id$attribs>" , $reopens, $text, $closuresA , "\n", $reopensA, $_); } # this gives a separate ID for each instance #sub do_cmd_textbf { &styled_text_chunk('B','','font','weight' # ,'bold', '', @_); } # # this uses a single CLASS for all instances sub do_cmd_textbf { &styled_text_chunk('B','CLASS="textbf"' ,'font-weight','bold', '', '', @_); } # this gives a separate ID for each instance sub do_cmd_texttt { &styled_text_chunk('TT','','font','','', '', @_); } # this uses a single CLASS for all instances #sub do_cmd_textit { &styled_text_chunk('TT','CLASS="textit"' # ,'font-family','monospace', '', '', @_); } # # this gives a separate ID for each instance #sub do_cmd_textit { &styled_text_chunk('I','','font','style' # ,'italic', '', @_); } # # this uses a single CLASS for all instances sub do_cmd_textit { &styled_text_chunk('I','CLASS="textit"' ,'font-style','italic', '', '', @_); } # this gives a separate ID for each instance #sub do_cmd_textsl { &styled_text_chunk('I','','font','style' # ,'oblique', '', @_); } # # this uses a single CLASS for all instances #sub do_cmd_textsl { &styled_text_chunk('I','CLASS="textsl"' # ,'font-style','oblique', '', '', @_); } # # ... NS4 implements Italic, not oblique sub do_cmd_textsl { &styled_text_chunk('I','CLASS="textsl"' ,'font-style','italic', '', '', @_); } # this gives a separate ID for each instance #sub do_cmd_textsf { &styled_text_chunk('I','','font','family' # ,'sans-serif', '', @_); } # # this uses a single CLASS for all instances #sub do_cmd_textsf { &styled_text_chunk('I','CLASS="textsf"' # ,'font-family','sans-serif', '', '', @_); } # # ... NS4 doesn't implement sans-serif sub do_cmd_textsf { &styled_text_chunk('I','CLASS="textsf"' ,'font-style','italic', '', '', @_); } #sub do_cmd_textsc { # local($_) = @_; # local($text, $next, $scstr, $before, $special); # $text = &missing_braces # unless ((s/$next_pair_pr_rx/$text = $2;''/eo) # || (s/$next_pair_rx/$text = $2;''/eo)); # join('', &process_smallcaps($text), $_); #} sub lowercase_entity { local($char) = @_; local($exent); if ($exent = $low_entities{$char}) { "\&#$exent;" } elsif ($exent = $extra_small_caps{$char}) { $exent } else { "\&#$char;" } } sub process_smallcaps { local($text) = @_; local($next, $scstr, $scbef, $special, $char); # is this enough for \sc and \scshape ? $text = &translate_environments($text); # MRO: replaced $* with /m while ($text =~ /(\\[a-zA-Z]+|[&;]SPM\w+;|<[^>]+>)+/m ) { $scbef = $`; $special = $&; $text = $'; while ( $scbef =~ /(&#\d+;|[a-z$sclower])+[a-z\W\d$sclower]*/m) { $scstr .= $`; $scbef = $'; $next = $&; $next =~ s/&#(\d+);/&lowercase_entity($1)/egm; eval "\$next =~ $scextra" if ($scextra); eval "\$next =~ tr/a-z$sclower/A-Z$scupper/"; $scstr .= "" . $next ."<\/SMALL>"; } $scstr .= $scbef . $special; } if ($text) { while ( $text =~ /(&#\d+;|[a-z$sclower])+[a-z\W\d$sclower]*/m) { $scstr .= $`; $text = $'; $next = $&; $next =~ s/&#(\d+);/&lowercase_entity($1)/egm; eval "\$next =~ $scextra" if ($scextra); eval "\$next =~ tr/a-z$sclower/A-Z$scupper/"; $scstr .= "" . $next ."<\/SMALL>"; } $scstr .= $text; } $scstr; } # this gives a separate ID for each instance #sub do_cmd_textsc { &styled_text_chunk('','','font','variant' # ,'small-caps', 'process_smallcaps', @_); } # # this uses a single CLASS for all instances #sub do_cmd_textsc { &styled_text_chunk('', 'CLASS="textsc"' # ,'font-variant','small-caps','', 'process_smallcaps', @_); } # # ...but NS 4.03 doesn't implement small-caps !!! sub do_cmd_textsc { &styled_text_chunk('','' ,'font-variant','small-caps','', 'process_smallcaps', @_); } #sub do_cmd_emph { &styled_text_chunk('EM','em','font','variant','','', @_); } # this gives a separate ID for each instance #sub do_cmd_underline { &styled_text_chunk('U','','text','decoration','underline','', @_); } # this uses a single CLASS for all instances sub do_cmd_underline { &styled_text_chunk('U','CLASS="underline"' ,'text-decoration','underline','','', @_); } sub do_cmd_underbar { &do_cmd_underline(@_) } # this gives a separate ID for each instance #sub do_cmd_strikeout { &styled_text_chunk('STRIKE','' # ,'text','decoration','line-through','', @_); } # this uses a single CLASS for all instances sub do_cmd_strikeout { &styled_text_chunk('STRIKE','CLASS="strikeout"', 'text-decoration','line-through','','', @_); } sub do_cmd_uppercase { local($_) = @_; local($text,$next,$done,$special,$after); $text = &missing_braces unless ( (s/$next_pair_pr_rx/$text = $2;''/eo) ||(s/$next_pair_rx/$text = $2;''/eo)); $after = $_; while ($text =~ /(\\[a-zA-Z]+|[&;]SPM\w+;)/ ) { $next = $`; $special = $&; $text = $'; $next =~ tr /a-z/A-Z/ if ($next); $done .= $next . $special; } $text =~ tr /a-z/A-Z/ if ($text); $done .= $text; $done = &convert_iso_latin_chars($done) if ($done); join('',$done,$after); } sub do_cmd_lowercase { local($_) = @_; local($text,$next,$done,$special,$after); $text = &missing_braces unless ((s/$next_pair_pr_rx/$text = $2;''/seo) || (s/$next_pair_rx/$text = $2;''/seo)); $after = $_; while ($text =~ /(\\[a-zA-Z]+|[&;]SPM\w+;)/ ) { $next = $`; $special = $&; $text = $'; $next =~ tr /A-Z/a-z/ if ($next); $done .= $next . $special; } $text =~ tr /A-Z/a-z/ if ($text); $done .= $text; $done = &convert_iso_latin_chars($done) if ($done); join('',$done,$after); } sub do_cmd_MakeUppercase { &do_cmd_uppercase(@_) } sub do_cmd_MakeLowercase { &do_cmd_lowercase(@_) } sub do_cmd_ensuremath { local($_) = @_; local ($id, $value); $value = &missing_braces unless ( (s/$next_pair_pr_rx/$value=$2;''/eo) ||(s/$next_pair_rx/$value=$2;''/eo)); join('', &simple_math_env($value), $'); } # # This is mainly for \special{header=PostScript_Prologue}, # and \graphicspath{path} which occur OUTSIDE of an environment # passed to TeX. \special's INSIDE such environments are, of # course, left alone. sub do_cmd_special { local($_) = @_; local ($id, $value); $value = &missing_braces unless ( (s/$next_pair_pr_rx/$value=$2;''/eo) ||(s/$next_pair_rx/$value=$2;''/eo)); local($special_cmd) = &revert_to_raw_tex($value); &add_to_preamble($cmd,"\\$cmd\{$special_cmd\}"); $_; } ########################## Input and Include commands ######################### sub do_cmd_input { local($_) = @_; local($file,$output); (s/\s*(.*)\s*\n/$file =$1;''/s) unless ( (s/$next_pair_pr_rx/$file=$2;''/eo) ||(s/$next_pair_rx/$file=$2;''/eo)); local($after) = $_; $file = &revert_to_raw_tex("\\input{$file}\n") if $file; if ($PREAMBLE) { &add_to_preamble('include',$file)} elsif (!($file=~/^\s*$/)) { $output = &process_undefined_environment('center' , ++$global{'max_id'},"\\vbox{$file}"); } $output.$after; } sub do_cmd_include { local($_) = @_; local($file,$output); $file = &missing_braces unless ( (s/$next_pair_pr_rx/$file=$2;''/eo) ||(s/$next_pair_rx/$file=$2;''/eo)); local($after) = $_; $file = &revert_to_raw_tex("\\include{$file}\n") if $file; if ($PREAMBLE) { &add_to_preamble('include',$file)} else { $output = &process_undefined_environment('figure' , ++$global{'max_id'},"\\vbox{$file}"); } $output.$after; } ########################## Messages ######################### sub do_cmd_message { local($_) = @_; local($message); $message = &missing_braces unless ( (s/$next_pair_pr_rx/$message=$2;''/eo) ||(s/$next_pair_rx/$message=$2;''/eo)); local($after) = $_; $message = &translate_commands($message); $message =~ s/$comment_mark(\d+)//og; print STDOUT "\n*** $message ***\n"; $after; } sub do_cmd_typeout { print STDOUT "\n"; local($_) = &do_cmd_message(@_); print STDOUT "\n"; $_; } sub do_cmd_expandafter { local($_) = @_; print "\nEXPANDAFTER: " if ($VERBOSITY >3); return($_) unless (s/^\s*(\\\w+)\s*\\//o); print " delaying $1 " if ($VERBOSITY >3); local($delay,$cmd) = ($1,''); s/^(\w+|\W)/$cmd=$1;''/eo; local($nextcmd) = "do_cmd_$cmd"; if (defined &$nextcmd) { $_ = &$nextcmd($_) } elsif ($new_command{$cmd}) { local($argn, $body, $opt) = split(/:!:/, $new_command{$cmd}); do { ### local($_) = $body; &make_unique($body); } if ($body =~ /$O/); if ($argn) { do { local($before) = ''; local($after) = "\\$cmd ".$_; $after = &substitute_newcmd; # may change $after $after =~ s/\\\@#\@\@/\\/o unless ($after); }; } else { $_ = $body . $_; } } else { print "\nUNKNOWN COMMAND: $cmd "; } # now put the delayed function back for processing join('',$delay, " ", $_); } sub do_cmd_tracingall { print "\nTRACING:\n$ref_contents\n$after\n"; $VERBOSITY = 8; ""; } sub do_cmd_htmltracenv { &do_cmd_htmltracing } sub do_cmd_htmltracing { local($_) = @_; local($value); $value = &missing_braces unless ((s/$next_pair_rx/$value = $2;''/eo) ||(s/$next_pair_pr_rx/$value = $2;''/eo)); if ($value =~ /^\s*(\d+)\s*$/) { $VERBOSITY = $1; if ($VERBOSITY) { print "\n\n *** setting trace-level to $VERBOSITY ***\n"; } else { print "\n\n *** cancelling all tracing ***\n\n"; } } else { &write_warnings("argument to \\htmltracing must be a number"); } $_ ; } ############################ Initialization #################################### sub initialise { ############################ Global variables ############################### $PREAMBLE = 2; # 1 while translating preamble, 0 while translating body $NESTING_LEVEL = undef; #counter for TeX group nesting level $OUT_NODE = 0; # Used in making filenames of HTML nodes unique $eqno_prefix = ''; # default prefix on equation numbers ($O , $C, $OP, $CP) = ('<<' , '>>', '<#', '#>'); # Open/Close Markers $href_name = 0; # Used in the HREF NAME= field $wrap_toggle = 'end'; $delim = '%:%'; # Delimits items of sectioning information # stored in a string $LATEX2HTML_META = '' . "\n" unless ($LATEX2HTML_META); $TeXname = (($HTML_VERSION ge "3.0")? "TEX" : "TeX"); $Laname = (($HTML_VERSION ge "3.0")? "LA" : "La"); $MFname = (($HTML_VERSION ge "3.0")? "METAFONT" : "Metafont"); $Xyname = (($HTML_VERSION ge "3.0")? "XY" : "Xy"); $AmSname = (($HTML_VERSION ge "3.0")? "AMS" : "AmS"); $EQN_TAGS = "R" unless ($EQN_TAGS); $EQNO_START = "("; $EQNO_END = ")"; $AtBeginDocument_hook = "\$AtBeginDocument_hook\=\'\'; " unless $AtBeginDocument_hook; $cross_ref_mark = ''; $external_ref_mark = ''; $cite_mark = ''; $hash_mark = ''; $protected_hash = ''; $param_mark = ''; $bbl_mark = ''; $toc_mark = ''; $lof_mark = ''; $lot_mark = ''; $info_page_mark = ''; $info_title_mark = ''; $init_file_mark = ''; $childlinks_on_mark = ''; $childlinks_null_mark = ''; $childlinks_mark = $childlinks_on_mark; $more_links_mark = ''; $idx_mark = ''; $verbatim_mark = ''; $unfinished_mark = ''; $verb_mark = ''; $verbstar_mark = ''; $image_mark = ''; $mydb_mark = ''; $percent_mark = ''; $ampersand_mark = ''; $dol_mark = ''; $comment_mark = ''; $caption_mark = ''; $array_col_mark = ''; $array_row_mark = ''; $array_text_mark = ''; $array_mbox_mark = ''; $bibitem_counter = 0; $undef_mark = ''; $file_mark = ''; $endfile_mark = ''; # This defines textual markers for all the icons # e.g. $up_visible_mark = ''; # They will be replaced with the real icons at the very end. foreach $icon (keys %icons) {eval "\$$icon = ''"}; # Make sure $HTML_VERSION is in the right range and in the right format. # $HTML_VERSION =~ /[\d.]*/; # $HTML_VERSION = 0.0 + $&; # $HTML_VERSION = 2 if ( $HTML_VERSION < 2 ); # $HTML_VERSION = 9 if ( $HTML_VERSION > 9 ); # $HTML_VERSION = sprintf("%3.1f",$HTML_VERSION); &banner(); print "Revised and extended by:" . "\n Marcus Hennecke, Ross Moore, Herb Swan and others\n"; # Collect HTML options and figure out HTML version $HTML_OPTIONS = '' unless ($HTML_OPTIONS); $HTML_VERSION =~ s/^html|\s+//g; local(@HTML_VERSION) = split(/,/, $HTML_VERSION); foreach ( @HTML_VERSION ) { if (/^[\d\.]+$/) { # Make sure $HTML_VERSION is in the right range and in the right format. $HTML_VERSION = 0.0 + $_; $HTML_VERSION = 2 if ( $HTML_VERSION < 2 ); $HTML_VERSION = 9 if ( $HTML_VERSION > 9 ); $HTML_VERSION = sprintf("%3.1f",$HTML_VERSION); } else { $HTML_OPTIONS .= "$_,"; } } $HTML_OPTIONS =~ s/\W$//; # remove any trailing punctuation print "...producing markup for HTML version $HTML_VERSION "; print ($HTML_OPTIONS ? "with $HTML_OPTIONS extensions\n\n\n" : "\n\n\n"); if ($HTML_VERSION =~ /(2.0|3.0|3.2|4.0)/) { # Require the version specific file do { $_ = "$LATEX2HTMLVERSIONS${dd}html$1.pl"; if (!(-f $_)) { s/(\d).(\d.pl)$/$1_$2/ }; if (!(-f $_)) { s/(\d)_(\d.pl)$/$1-$2/ }; require $_ || die "\n*** Could not load $_ ***\n"; print "\nLoading $_\n"; } unless ($HTML_VERSION =~ /2.0/); $DOCTYPE = "-//".(($HTML_VERSION eq "2.0")? "IETF" : "W3C") . "//DTD HTML $HTML_VERSION" .(($HTML_VERSION eq "3.2")? " Final" : "") .(($HTML_VERSION eq "4.0")? " Transitional" : ""); if ($HTML_OPTIONS) { local($ext); local($loading_extensions) = 1; # Require the option specific files @HTML_VERSION = split(/,/, $HTML_OPTIONS); foreach $ext ( @HTML_VERSION ) { &do_require_extension($ext); # do { # print "\nLoading $LATEX2HTMLVERSIONS$dd$ext.pl"; # require "$LATEX2HTMLVERSIONS$dd$ext.pl"; # } if (-f "$LATEX2HTMLVERSIONS$dd$ext.pl"); } undef $loading_extensions; } } else { print "\n You specified an invalid version: $HTML_VERSION\n" . "In future please request extensions by name:\n" . " i18n table math frame latin1 unicode etc.\n"; # Require all necessary version specific files foreach ( sort <$LATEX2HTMLVERSIONS${dd}html[1-9].[0-9].pl> ) { last if ( $_ gt "$LATEX2HTMLVERSIONS${dd}html$HTML_VERSION.pl" ); do { print "\nloading $_" if ($DEBUG); require $_; } unless ( ($NO_SIMPLE_MATH)&&($_ eq "$LATEX2HTMLVERSIONS${dd}html3.1.pl")); }; $STRICT_HTML = 0; } # packages automatically implemented, or clearly irrelevant %styles_loaded = ( 'theorem' , 1 , 'enumerate', 1 , 'a4paper' , 1 , 'b5paper' , 1 , '10pt' , 1 , '11pt' , 1 , '12pt' , 1 , %styles_loaded ); %declarations = ('em' , '', 'it' , '', 'bf' , '', 'tt' , '', 'sl' , '', # Oops! 'sf' , '', # Oops! 'rm' , '<>', 'rmfamily' ,'<>', # see $fontchange_rx 'normalfont' ,'<>', # see $fontweight_rx and $fontchange_rx 'mdseries' ,'<>', # see $fontweight_rx 'upshape' ,'<>', # see $fontchange_rx 'itshape' , '', 'bfseries' , '', 'ttfamily' , '', 'slshape' , '', # Oops! 'sffamily' , '', # Oops! ## 'scshape' , '', # Oops! # 'boldmath' , '', # 'quote', '

', # 'quotation', '
', %declarations # Just in case someone extends it in the init file ); %declarations = ( 'tiny', '', 'Tiny', '', 'scriptsize', '', 'small', '', 'Small', '', 'SMALL', '', 'smaller', '', 'footnotesize', '', 'larger', '', 'large', '', 'Large', '', 'LARGE', '', 'huge', '', 'Huge', '', # 'centering', '
', # 'center', '
', # 'flushleft', '
', # 'raggedright', '
', # 'flushright', '
', # 'raggedleft', '
', %declarations ) if ($HTML_VERSION > 2.0 ); # no alignment in HTML 2.0 #%declarations = ( # 'centering', '

', # 'center', '

', # 'flushleft', '

', # 'raggedright', '

', # 'flushright', '

', # 'raggedleft', '

', %declarations = ( # 'centering', '

', 'center', '

', 'flushleft', '

', 'raggedright', '

', 'flushright', '

', 'raggedleft', '

', 'quote', '
', 'quotation', '
', 'verse', '
', 'preform', '
',
     'unord', '
    ', 'ord', '
      ', 'desc', '
      ', 'list', '', 'par', '

      ' ) if ($HTML_VERSION == 2.0 ); &generate_declaration_subs; # Generate code to handle declarations # ...but these block-level divisions must be handled differently... %declarations = ( 'quote', '
      ', 'quotation', '
      ', 'verse', '
      ', 'preform', '
      ',
           'unord', '
        ', 'ord', '
          ', 'desc', '
          ', # 'list', '
          ', 'par', '

          ', 'samepage', '', # 'centering', '
          ', 'center', '
          ', 'flushleft', '
          ', 'raggedright', '
          ', 'flushright', '
          ', 'raggedleft', '
          ', %declarations ) if ($HTML_VERSION > 2.0 ); %section_commands = ('partstar' , '1' , 'chapterstar', '2', 'sectionstar', '3' , 'subsectionstar', '4', 'subsubsectionstar', '5', 'paragraphstar' , '6', 'subparagraphstar', '7' , 'part' , '1' , 'chapter', '2', 'section', '3','subsection', '4' , 'subsubsection', '5', 'paragraph', '6', 'subparagraph', '7' , 'slidehead', '3', %section_commands); # The tableofcontents, listoffigures, listoftables, bibliography and # textohtmlindex are set after determining what is the outermost level # in sub set_depth_levels. Appendix is implemented as a command. %standard_section_headings = ('part' , 'H1' , 'chapter' , 'H1', 'section', 'H1', 'subsection', 'H2' , 'subsubsection', 'H3', 'paragraph', 'H4', 'subparagraph', 'H5' , %standard_section_headings ); # Generates code to handle sectioning commands # for those sections which take an argument. &generate_sectioning_subs; %section_headings = ('partstar' , 'H1' , 'chapterstar' , 'H1', 'sectionstar', 'H1' , 'subsectionstar', 'H2', 'subsubsectionstar', 'H3', 'paragraphstar' , 'H4', 'subparagraphstar', 'H5', %section_headings); # These need their own custom code but are treated as sectioning commands %section_headings = ('tableofcontents', 'H2', 'listoffigures', 'H2', 'listoftables', 'H2' , 'bibliography', 'H2', 'textohtmlindex', 'H2' , %standard_section_headings , %section_headings); &generate_accent_commands; # Code to handle accent commands # These are replaced as soon as the text is read in. %html_specials = ( '<', ';SPMlt;' , '>', ';SPMgt;' , '&', ';SPMamp;' # , '``', '\lq\lq ' # probably not a good idea # , "''", '\rq\rq ', # probably not a good idea , '"', ';SPMquot;' ); %html_specials = ( %html_specials , '``', ';SPMldquo;', "''", ';SPMrdquo;' ) if ($HTML_VERSION >= 5 ); # This mapping is needed in sub revert_to_raw_tex # before passing stuff to latex for processing. %html_specials_inv = ( ';SPMlt;' ,'<' , ';SPMgt;','>' , ';SPMamp;','&' , ';SPMquot;','"' , ';SPMldquo;','``' , ';SPMrdquo;',"''" , ';SPMdollar;', '$' # for alltt , ';SPMpct;', '%' , ';SPMtilde;', '~' ); # normalsize vertical dimension factors for 12pt (1.0 <=>
          ) %vspace_12pt = ('ex', 1.0, 'em', 1.0, 'pt', 0.1, 'pc', 1.0, 'in', 6.0, 'bp', 0.1, 'cm', 2.3, 'mm', 0.2, 'dd', 0.1, 'cc', 1.0, 'sp', 0.0); # For some commands such as \\, \, etc it is not possible to define # perl subroutines because perl does not allow some non-ascii characters # in subroutine names. So we define a table and a subroutine to relate # such commands to ascii names. %normalize = ('\\', 'd_backslash' , '/', 'esc_slash', "`", 'grave' , "'", 'acute', "^", 'hat', '"', 'ddot' , '~', 'tilde', '.', 'dot', '=', 'bar' , '{', 'lbrace' , '}', 'rbrace', '|', 'Vert' , '#', 'esc_hash', '$', 'esc_dollar' ); %text_accent = ( 'cedil','c', 'bdot','d', 'b','b' , 'tilde','~' , 'circ' ,'^', 'hat','^', 'check','v' , 'caron','v' , 'acute','\'' , 'grave','`' , 'dot','.' , 'breve','u' , 'ddot','"' , 'uml','"' , 'bar','=','macr','=' , 'dblacc','H' , 't','t' , 'ogon','k' , 'ring','r' ); # %languages_translations holds for each known language the # appropriate translation function. The function is called in # slurp_input. # The translation functions subtitute LaTeX macros # with ISO-LATIN-1 character references %language_translations = ( 'english', 'english_translation' , 'USenglish', 'english_translation' , 'original', 'english_translation' , 'german', 'german_translation' , 'austrian', 'german_translation' , 'finnish', 'finnish_translation' , 'french', 'french_translation' , 'spanish', 'spanish_translation' , 'swedish', 'swedish_translation' , 'turkish', 'turkish_translation' ); # Reiner: # $standard_label_rx = # "\\s*[[]\\s*(((\$any_next_pair_rx4)|([[][^]]*[]])|[^]])*)[]]"; # $enum_label_rx = "^((({[^{}]*})|([^{}]))*)([aAiI1])(.*)"; # $enum_level = 0; # level for enumerate (1-4, i-iv) %enum = ( 'enumi', 0, # counter for level 1 'enumii', 0, # counter for level 2 'enumiii', 0, 'enumiv', 0, 'theenumi', "&arabic('enumi')", # eval($enum{"theenumi"}) 'theenumii', "&alph('enumii')", 'theenumiii', "&roman('enumiii')", 'theenumiv', "&Alph('enumiv')", # e.g. eval("$enum{'labelenumi'}") 'labelenumi', 'eval($enum{"theenumi"}) . "."', 'labelenumii', '"(" . eval($enum{"theenumii"}) . ")"', 'labelenumiii', 'eval($enum{"theenumiii"}) . "."', 'labelenumiv', 'eval($enum{"theenumiv"}) . "."' ); %RomanI = ( '1',"I",'2',"II",'3',"III",'4',"IV" ,'5',"V",'6',"VI",'7',"VII", '8',"VIII",'9',"IX"); %RomanX = ( '1',"X",'2',"XX",'3',"XXX",'4',"XL" ,'5',"L",'6',"LX",'7',"LXX", '8',"LXXX",'9',"XC"); %RomanC = ( '1',"C",'2',"CC",'3',"CCC",'4',"CD" ,'5',"D",'6',"DC",'7',"DCC", '8',"DCCC",'9',"CM"); %RomanM = ( '1',"M",'2',"MM",'3',"MMM",'4',"MH" ,'5',"H",'6',"HM",'7',"HMM",'8',"HMMM"); %enum_label_funcs = ( "a", "alph", "A", "Alph", "i", "roman", "I", "Roman", "1", "arabic" ); sub farabic{ local($_)=@_; $_; } sub arabic{ local($_)=@_; eval($enum{$_}); } sub falph{ local($num)=@_; # chr($num+64); substr(" abcdefghijklmnopqrstuvwxyz",$num,1) } sub alph{ local($num)=@_; &falph(eval($enum{$num})); } sub fAlph{ local($num)=@_; # chr($num+32); substr(" ABCDEFGHIJKLMNOPQRSTUVWXYZ",$num,1) } sub Alph{ local($num)=@_; &falph(eval($enum{$num})); } sub Roman{ local($num)=@_; &fRoman(eval($enum{$num})); } sub fRoman{ local($num)=@_; local($RmI)= $num%10; ($RmI) = (($RmI) ? $RomanI{"$RmI"} : '' ); $num = $num/10; local($RmX)= $num%10; ($RmX) = (($RmX) ? $RomanX{"$RmX"} : '' ); $num = $num/10; local($RmC)= $num%10; ($RmC) = (($RmC) ? $RomanC{"$RmC"} : '' ); $num = $num/10; local($RmM)= $num%10; ($RmM) = (($RmM) ? $RomanM{"$RmM"} : '' ); "$RmM" . "$RmC" . "$RmX" . "$RmI"; } sub froman{ local($_)=@_; $_ = &fRoman($_); $_ =~ tr/A-Z/a-z/; $_; } sub roman{ local($num)=@_; &froman(eval($enum{$num})); } %unitscale = ("in",72,"pt",72.27/72,"pc",12,"mm",72/25.4,"cm",72/2.54 ,"\\hsize",100,"\\vsize",100 ,"\\textwidth",100,"\\textheight",100 ,"\\pagewidth",100,"\\linewidth",100 ); %units = ("in","in","pt","pt","pc","pi","mm","mm","cm","cm" ,"\\hsize","%","\\vsize","%","\\textwidth","%","\\textheight","%"); sub convert_length { # clean my ($this,$scale) = @_; $scale = 1 unless $scale; my ($pxs,$len,$full); if ( $this =~ /([\d.]*)\s*(in|pt|pc|mm|cm|\\[hv]size|\\\w+(width|height))?/ ) { $len = ($1 ? $1 : 1); $full = $2; if ($full &&($full =~ /\\([hv]size|\w+(width|height))/)) { $scale = 1;}; $pxs = (($full) ? int($len * $unitscale{$full}*$scale + 0.5) : int($len*$scale + .5) ); if ( $full =~ /\\([hv]size|\w+(width|height))/) { $pxs .= '%';}; }; ($pxs,$len); } # Inclusion in this list will cause a command or an environment to be ignored. # This is suitable for commands without arguments and for environments. # If however a do_env|cmd_ exists then it will be used. %ignore = ('sloppypar', 1, 'document', 1, 'newblock', 1, ',', 1, '@', 1, ' ', 1, '-', 1, 'sloppy', 1, 'hyphen', 1, 'titlepage', 1, 'htmlonly', 1, 'flushleft', 1, 'flushright', 1, 'slide', 1, 'tiny', 1, 'Tiny', 1, 'scriptsize', 1, 'footnotesize', 1, 'small', 1, 'normalsize', 1, 'large', 1, 'Large', 1, 'LARGE', 1, 'huge', 1, 'Huge', 1, %ignore); # Specify commands with arguments that should be ignored. # Arbitrary code can be placed between the arguments # to be executed while processing the command. # # Note that some commands MAY HAVE ARGUMENTS WHICH SHOULD BE LEFT AS TEXT # EVEN THOUGH THE COMMAND IS IGNORED (e.g. hbox, center, etc) &ignore_commands( <<_IGNORED_CMDS_); NeedsTeXFormat # {} # [] ProvidesClass # {} # [] ProvidesFile # {} # [] ProvidesPackage # {} # [] abovedisplayskip # &ignore_numeric_argument abovedisplayshortskip # &ignore_numeric_argument addcontentsline # {} # {} # {} addtocontents # {} # {} addvspace # {} # &ignore_numeric_argument and and # \$_ = join(''," - ",\$_) backmatter baselineskip # &ignore_numeric_argument belowdisplayskip # &ignore_numeric_argument belowdisplayshortskip # &ignore_numeric_argument bibdata bibliographystyle # {} bibstyle # {} bigskipamount # &ignore_numeric_argument smallskipamount # &ignore_numeric_argument medskipamount # &ignore_numeric_argument center citation # {} citeauthoryear clearpage cline # {} #documentclass # [] # {} #documentstyle # [] # {} #end # {} enlargethispage # {} evensidemargin # &ignore_numeric_argument filecontents filbreak fil fill flushbottom fontsize # {} # {} footheight # &ignore_numeric_argument footskip # &ignore_numeric_argument frontmatter fussy global goodbreak hbox headheight # &ignore_numeric_argument headsep # &ignore_numeric_argument hfil hfill hfuzz # &ignore_numeric_argument hline hspace # {} # \$_ = join(''," ",\$_) hspacestar # {} # \$_ = join(''," ",\$_) html ifcase ignorespaces indent itemindent # &ignore_numeric_argument itemsep # &ignore_numeric_argument labelsep # &ignore_numeric_argument labelwidth # &ignore_numeric_argument leavevmode leftmargin # &ignore_numeric_argument listparindent # &ignore_numeric_argument lower # &ignore_numeric_argument long mainmatter makebox # [] # [] makeindex marginpar # {} marginparsep # &ignore_numeric_argument marginparwidth # &ignore_numeric_argument markboth # {} # {} markright # {} mathord mathbin mathindent # &ignore_numeric_argument mathrel mathop mathtt #mdseries newpage #newedboolean # {} #newedcommand # {} # [] # [] # {} #newedcounter # {} # [] #newedenvironment # {} # [] # [] # {} # {} #newedtheorem # {} # [] # {} # [] #providedcommand # {} # [] # [] # {} #renewedcommand # {} # [] # [] # {} #renewedenvironment # {} # [] # [] # {} # {} nobreakspace # \$_ = join('',";SPMnbsp;",\$_) nonbreakingspace # \$_ = join('',";SPMnbsp;",\$_) noalign nobreak nocite # {} noindent nolinebreak# [] nopagebreak #[] normalmarginpar numberline oddsidemargin # &ignore_numeric_argument omit onecolumn outer pagenumbering #{} pagestyle # {} parindent # &ignore_numeric_argument parsep # &ignore_numeric_argument parskip # &ignore_numeric_argument partopsep # &ignore_numeric_argument penalty # &ignore_numeric_argument phantom # {} protect raggedright raggedbottom raise # &ignore_numeric_argument raisebox # {} # [] # [] relax reversemarginpar rightmargin # &ignore_numeric_argument #rmfamily rule # [] # {} # {} samepage selectfont startdocument # \$SEGMENT=1;\$SEGMENTED=1; \$_ strut suppressfloats # [] textheight # &ignore_numeric_argument textwidth # &ignore_numeric_argument textnormal #textrm textup theorempreskipamount # &ignore_numeric_argument theorempostskipamount # &ignore_numeric_argument thispagestyle # {} topmargin # &ignore_numeric_argument topsep # &ignore_numeric_argument topskip # &ignore_numeric_argument twocolumn unskip #upshape vfil vfill vfilll vline _IGNORED_CMDS_ # Commands which need to be passed, ALONG WITH THEIR ARGUMENTS, to TeX. # Note that this means that the arguments should *not* be translated, # This is handled by wrapping the commands in the dummy tex2html_wrap # environment before translation begins ... # Also it can be used to specify environments which may be defined # using do_env_* but whose contents will be passed to LaTeX and # therefore should not be translated. # Note that this code squeezes spaces out of the args of psfig; # Images are cropped to the minimum bounding-box for these... &process_commands_in_tex (<<_RAW_ARG_CMDS_); psfig # {} # \$args =~ s/ //g; usebox # {} _RAW_ARG_CMDS_ # ... but these are set in a box to measure height/depth # so that white space can be preserved in the images. &process_commands_inline_in_tex (<<_RAW_ARG_CMDS_); etalchar # \$args =~ s/(.*)/\$\^\{\$1\}\\\$/o; fbox # {} #frac # [] # {} # {} framebox # [] # [] # {} dag ddag l L oe OE textexclamdown textquestiondown textregistered textperiodcentered #textcircled # {} #raisebox # {} # [] # [] # {} _RAW_ARG_CMDS_ # These are handled by wrapping the commands in the dummy tex2html_nowrap # environment before translation begins. This environment will be # stripped off later, when the commands are put into images.tex ... &process_commands_nowrap_in_tex (<<_RAW_ARG_NOWRAP_CMDS_); #begingroup #endgroup #bgroup #egroup errorstopmode nonstopmode scrollmode batchmode psfigurepath # {} pssilent psdraft psfull thinlines thicklines linethickness # {} hyphenation # {} hyphenchar # \\ # &get_numeric_argument hyphenpenalty # &get_numeric_argument #let # \\ # <<\\(\\W|\\w+)>> newedboolean # {} newedcommand # {} # [] # [] # {} newedcounter # {} # [] newedenvironment # {} # [] # [] # {} # {} newedtheorem # {} # [] # {} # [] #providedcommand # {} # [] # [] # {} #renewedcommand # {} # [] # [] # {} #renewedenvironment # {} # [] # [] # {} # {} DeclareMathAlphabet # {} # {} # {} # {} # {} SetMathAlphabet # {} # {} # {} # {} # {} # {} DeclareMathSizes # {} # {} # {} # {} DeclareMathVersion # {} DeclareSymbolFont # {} # {} # {} # {} # {} DeclareSymbolFontAlphabet # {} # {} DeclareMathSymbol # {} # {} # {} # {} SetSymbolFont # {} # {} # {} # {} # {} # {} DeclareFontShape # {} # {} # {} # {} # {} # {} DeclareFontFamily # {} # {} # {} DeclareFontEncoding # {} # {} # {} DeclareFontSubstitution # {} # {} # {} # {} mathversion # {} #newfont # {} # {} #normalfont #rmfamily #mdseries newlength # {} setlength # {} # {} addtolength # {} # {} settowidth # {}# {} settoheight # {} # {} settodepth # {} # {} newsavebox # {} savebox # {} # [] # {} sbox # {} # {} setbox # {} TagsOnLeft # \$EQN_TAGS = \"L\" if \$PREAMBLE; TagsOnRight # \$EQN_TAGS = \"R\" if \$PREAMBLE; _RAW_ARG_NOWRAP_CMDS_ &process_commands_wrap_deferred (<<_RAW_ARG_DEFERRED_CMDS_); alph # {} Alph # {} arabic # {} author # [] # {} boldmath unboldmath captionstar # [] # {} caption # [] # {} #endsegment # [] #segment # [] # {} # {} # {} fnsymbol # {} footnote # [] # {} footnotemark # [] footnotetext # [] # {} #thanks # {} roman # {} Roman # {} #mbox # {} parbox # [] # [] # [] # {} # {} #selectlanguage # [] # {} setcounter # {} # {} addtocounter # {} # {} stepcounter # {} refstepcounter # {} value # {} par hrule # &ignore_numeric_argument linebreak # [] pagebreak # [] newfont # {} # {} smallskip medskip bigskip centering raggedright raggedleft itshape #textit # {} upshape slshape #scshape rmfamily sffamily ttfamily mdseries bfseries #textbf # {} em normalfont it rm sl bf tt sf Tiny tiny scriptsize footnotesize small Small SMALL normalsize large Large LARGE huge Huge lowercase # {} uppercase # {} MakeLowercase # {} MakeUppercase # {} htmlinfo # [] htmlinfostar # [] tableofchildlinks # [] tableofchildlinksstar # [] tableofcontents listoffigures listoftables thepart thepage thechapter thesection thesubsection thesubsubsection theparagraph thesubparagraph theequation htmltracenv # {} HTMLsetenv # [] # {} # {} #newedboolean # {} #newedcounter # {} # [] #newedcommand # {} # [] # [] # {} #newedtheorem # {} # [] # {} # [] #newedenvironment # {} # [] # [] # {} # {} providedcommand # {} # [] # [] # {} renewedcommand # {} # [] # [] # {} renewedenvironment # {} # [] # [] # {} # {} url # {} htmlurl # {} latextohtml TeX LaTeX LaTeXe LaTeXiii Xy MF AmS AmSTeX _RAW_ARG_DEFERRED_CMDS_ #rrm # implement the XBit-Hack for Apache servers, to handle # Server-Side Includes (SSIs) with .html filename extension # sub check_htaccess { my $access_file = '.htaccess'; my $has_access = ''; local $_; print "\nChecking for .htaccess file"; if (-f $access_file) { print STDOUT " ... found"; open(HTACCESS, "<$access_file"); while () { if (/^\s*XBitHack\s*on\s*$/) { print STDOUT " with XBitHack on"; $has_access =1; last; }; } print STDOUT "\n"; close HTACCESS; return() if $has_access; open (HTACCESS, ">>$access_file"); &write_warnings("appended to .htaccess in $DESTDIR"); } else { open (HTACCESS, ">$access_file"); chmod 0644, $access_file; &write_warnings("created .htaccess file in $DESTDIR"); } print HTACCESS "\nXBitHack on\n"; close HTACCESS; } # This maps the HTML mnemonic names for the ISO-LATIN-1 character references # to their numeric values. When converting latex specials characters to # ISO-LATIN-1 equivalents I use the numeric values because this makes any # conversion back to latex (using revert_raw_tex) more reliable (in case # the text contains "&mnemonic_name"). Errors may occur if an environment # passed to latex (e.g. a table) contains the numeric values of character # references. # RRM: removed this portion; load from latin1.pl instead &do_require_extension('latin1'); sub make_isolatin1_rx { local($list) = &escape_rx_chars(join($CD,(values %iso_8859_1_character_map_inv))); $list =~ s/$CD/|/g; $isolatin1_rx = "($list)"; } ################### Frequently used regular expressions ################### # $1 : preamble $preamble_rx = "(^[\\s\\S]*)(\\\\begin\\s*$O\\d+$C\\s*document\\s*$O\\d+$C|\\\\startdocument)"; # \d (number) should sometimes also be a delimiter but this causes # problems with command names that are allowed to contain numbers (eg tex2html) # \d is a delimiter with commands which take numeric arguments? # JCL: I can't see that. \tex2html is also no valid LaTeX (or TeX). # It is parsed \tex 2html, and \tex may take 2html as argument, but this # is invalid LaTeX. \d must be treated as delimiter. # JCL(jcl-del) - Characters to be treated as letters, everything else # is a delimiter. # internal LaTeX command separator, shouldn't be equal to $; $CD = "\001"; &make_cmd_spc_rx; # determines space to follow a letter command #old $delimiters = '\'\\s[\\]\\\\<>(=).,#;:~\/!-'; $letters = 'a-zA-Z'; $delimiter_rx = "([^$letters])"; # # liberalized environment names (white space, optional arg, interpunctuation signs etc.) # $1 : br_id, $2 : $begin_env_rx="(\\\\protect)?\\\\begin\\s*(\\[([^\\]]*)])?$O(\\d+)$C\\s*([^'[\\]\\\\#~]+)\\s*$O\\4$C"; $begin_env_pr_rx="(\\\\protect)?\\\\begin\\s*(\\[([^\\]]*)])?$OP(\\d+)$CP\\s*([^'[\\]\\\\#~]+)\\s*$OP\\4$CP"; $mbox_rx = "\\\\mbox\\s*"; $match_br_rx = "\\s*$O\\d+$C\\s*"; $opt_arg_rx = "\\s*\\[([^\\]]*)\\]\\s*"; # Cannot handle nested []s! $optional_arg_rx = "^\\s*\\[([^]]*)\\]"; # Cannot handle nested []s! $block_close_rx = "^<\\/(DIV|P|BLOCKQUOTE)>\$"; $all_close_rx = "^<\\/(BODY|PRE|OL|UL|DL|FORM|ADDRESS)>\$"; # Matches a pair of matching brackets # $1 : br_id # $2 : contents $next_pair_rx = "^[\\s%]*$O(\\d+)$C([\\s\\S]*)$O\\1$C($comment_mark\\d*\\n?)?"; # will comments be a problem after these ??? $any_next_pair_rx = "$O(\\d+)$C([\\s\\S]*)$O\\1$C"; $any_next_pair_rx4 = "$O(\\d+)$C([\\s\\S]*)$O\\4$C"; $any_next_pair_pr_rx4 = "$OP(\\d+)$CP([\\s\\S]*)$OP\\4$CP"; $any_next_pair_rx5 = "$O(\\d+)$C([\\s\\S]*)$O\\5$C"; $any_next_pair_rx6 = "$O(\\d+)$C([\\s\\S]*)$O\\6$C"; # used for labels in {enumerate} environments $standard_label_rx = "\\s*[[]\\s*((($any_next_pair_rx4)|([[][^]]*[]])|[^]])*)[]]"; $enum_label_rx = "^((({[^{}]*})|([^{}]))*)([aAiI1])(.*)"; $enum_level = 0; # level for enumerate (1-4, i-iv) # Matches the \ensuremath command $enspair = "\\\\ensuremath\\s*" . $any_next_pair_rx; # $enspair = "\\\\ensuremath\\s*$O(\\d+)$C([\\s\\S]*[\\\\\$&]+[\\s\\S]*)$O\\1$C"; # Matches math comments, from math.pl $math_verbatim_rx = "$verbatim_mark#math(\\d+)#"; # Matches math array environments $array_env_rx = "array|cases|\\w*matrix"; # initially empty; has a value in HTML 3.2 and 4.0 $math_class = '' unless ($math_class); $eqno_class = '' unless ($eqno_class); # Matches to end-of-line and subsequent spaces $EOL = "[ \\t]*\\n?"; # Matches wrapped \par command $par_rx = "\\n?\\\\begin(($O|$OP)\\d+($C|$CP))tex2html_deferred\\1\\\\par\\s\*" . "\\\\end(($O|$OP)\\d+($C|$CP))tex2html_deferred\\4\\n?"; # $1 : br_id $begin_cmd_rx = "$O(\\d+)$C"; # $1 : image filename prefix $img_rx = "(\\w*T?img\\d+)"; # $1 : largest argument number $tex_def_arg_rx = "^[#0-9]*#([0-9])($O|$OP)"; # only some non-alphanumerics are allowed in labels, Why? $label_rx = "[^\\w\.\\\-\\\+\\\:]"; #JCL(jcl-del) - new face, see also &do_cmd_makeatletter et.al. # $cmd_delims = q|-#,.~/\'`^"=\$%&_{}@|; # Commands which are also delimiters! # $single_cmd_atletter_rx = "\\\\([a-zA-Z\\\@]+\\*?|[$cmd_delims]|\\\\)"; # $single_cmd_atother_rx = "\\\\([a-zA-Z]+\\*?|[$cmd_delims]|\\\\)"; # $1 : declaration or command or newline (\\) &make_single_cmd_rx; # # $1 : description in a list environment $item_description_rx = # "\\\\item\\s*[[]\\s*((($any_next_pair_rx4)|([[][^]]*[]])|[^]])*)[]]"; "\\\\item\\s*[[]\\s*((($any_next_pair_pr_rx4)|([[][^]]*[]])|[^]])*)[]]"; $fontchange_rx = 'rm|em|it|sl|sf|tt|sc|upshape|normalfont'; $fontweight_rx = 'bf|mdseries|normalfont'; $colorchange_rx = "(text)?color\\s*(\#\\w{6})?"; $sizechange_rx = 'tiny|Tiny|scriptsize|footnotesize|small|Small|SMALL' . '|normalsize|large|Large|LARGE|huge|Huge'; # $image_switch_rx = "makeimage"; $image_switch_rx = "makeimage|scshape|sc"; $env_switch_rx = "writetolatex"; $raw_arg_cmds{'font'} = 1; # Matches the \caption command # $1 : br_id # $2 : contents $caption_suffixes = "lof|lot"; # $caption_rx = "\\\\caption\\s*([[]\\s*((($any_next_pair_rx5)|([[][^]]*[]])|[^]])*)[]])?$O(\\d+)$C([\\s\\S]*)$O\\8$C$EOL"; $caption_rx = "\\\\(top|bottom|table)?caption\\s*\\\*?\\s*([[]\\s*((($any_next_pair_rx6)|([[][^]]*[]])|[^]])*)[]])?$O(\\d+)$C([\\s\\S]*)$O\\9$C$EOL"; $caption_width_rx = "\\\\setlength\\s*(($O|$OP)\\d+($C|$CP))\\\\captionwidth\\1\\s*(($O|$OP)\\d+($C|$CP))([^>]*)\\4"; # Matches the \htmlimage command # $1 : br_id # $2 : contents $htmlimage_rx = "\\\\htmlimage\\s*$O(\\d+)$C([\\s\\S]*)$O\\1$C$EOL"; $htmlimage_pr_rx = "\\\\htmlimage\\s*$OP(\\d+)$CP([\\s\\S]*)$OP\\1$CP$EOL"; # Matches the \htmlborder command # $1 : optional argument... # $2 : ...contents i.e. extra attributes # $3 : br_id # $4 : contents i.e. width $htmlborder_rx = "\\\\htmlborder\\s*(\\[([^]]*)\\])?\\s*$O(\\d+)$C(\\d*)$O\\3$C$EOL"; $htmlborder_pr_rx = "\\\\htmlborder\\s*(\\[([^]]*)\\])?\\s*$OP(\\d+)$CP(\\d*)$OP\\3$CP$EOL"; # Matches a pair of matching brackets # USING PROCESSED DELIMITERS; # (the delimiters are processed during command translation) # $1 : br_id # $2 : contents # $next_pair_pr_rx = "^[\\s%]*$OP(\\d+)$CP([\\s\\S]*)$OP\\1$CP"; $next_pair_pr_rx = "^[\\s%]*$OP(\\d+)$CP([\\s\\S]*)$OP\\1$CP($comment_mark\\d*\\n?)?"; $any_next_pair_pr_rx = "$OP(\\d+)$CP([\\s\\S]*)$OP\\1$CP($comment_mark\\d*\\n?)?"; $next_token_rx = "^[\\s%]*(\\\\[A-Za-z]+|\\\\[^a-zA-Z]|.)"; $HTTP_start = 'http:'; # This will be used to recognise escaped special characters as such # and not as commands $latex_specials_rx = '[\$]|&|%|#|{|}|_'; $html_escape_chars = '<>&'; # This is used in sub revert_to_raw_tex before handing text to be processed # by latex. $html_specials_inv_rx = join("|", keys %html_specials_inv); # These are used for direct replacements in/from ALT=... strings %html_special_entities = ('<','lt','>','gt','"','quot','&','amp'); %html_spec_entities_inv = ('lt','<','gt','>','quot','"','amp','&'); # This is also used in sub revert_to_raw_tex $character_entity_rx = '(&#(\d+);)'; $named_entity_rx = '&(\w+);'; #commands for altering theorem-styles $theorem_cmd_rx = 'theorem(style|(header|body)font)'; # Matches a \begin or \end {tex2html_wrap}. Also used by revert_to_raw_tex $tex2html_wrap_rx = '\\\\(begin|end)\\s*\{\\s*(tex2html_(wrap|nowrap|deferred|nomath|preform|\\w*_inline)[_a-z]*|makeimage)\\s*\}'.$EOL; $tex2html_deferred_rx = '\\\\(begin|end)(<<\\d+>>)tex2html_deferred\\2'; $tex2html_deferred_rx2 = '\\\\(begin|end)(<<\\d+>>)tex2html_deferred\\4'; $tex2html_envs_rx = "\\\\(begin|end)\\s*(($O|$OP)\\d+($C|$CP))\\s*(tex2html_(wrap|nowrap|deferred|nomath|preform|\w+_inline)[_a-z]*||makeimage)\\s*\\2"; # The first empty parenthese pair is for non-letter commands. # $2: meta command, $4: delimiter (may be empty) ignore the *-version distinction # $meta_cmd_rx = "()\\\\(providecommand|renewcommand|renewenvironment|newcommand|newenvironment|newtheorem|newcounter|newboolean|newif|let)(([^$letters$cmd_spc])|$cmd_spcs_rx)"; $meta_cmd_rx = "()\\\\(providecommand|renewcommand|renewenvironment|newcommand|newenvironment|newtheorem|newcounter|newboolean|newif|DeclareRobustCommand|DeclareMathOperator\\*?)\\\*?(([^$letters$cmd_spc])|$cmd_spcs_rx)"; &make_counters_rx; # Matches a label command and its argument $labels_rx = "$EOL\\\\label\\s*$O(\\d+)$C([\\s\\S]*)$O\\1$C$EOL"; $labels_rx8 = "$EOL\\\\label\\s*$O(\\d+)$C([\\s\\S]*)$O\\8$C$EOL"; # Matches environments that should not be touched during the translation # $verbatim_env_rx = "\\s*{(verbatim|rawhtml|LVerbatim)[*]?}"; $verbatim_env_rx = "\\s*(\\w*[Vv]erbatim|rawhtml|imagesonly|tex2html_code)[*]?"; $image_env_rx = "\\s*(picture|xy|diagram)[*]?"; $keepcomments_rx = "\\s*(picture|makeimage|xy|diagram)[*]?"; # names of different math environment types $display_env_rx = "displaymath|makeimage|eqnarray|equation"; $inline_env_rx = "inline|indisplay|entity|xy|diagram"; $sub_array_env_rx = "array|(small|\\w)\?matrix|tabular|cases"; # Matches environments needing pre-processing for images $pre_processor_env_rx = "\\\\(begin|end)\\s*(($O|$OP|\{)\\d+($C|$CP|\}))pre_(\\w+)\\2"; # Matches icon markers $icon_mark_rx = ""; $start_time = time; print STDOUT join(" ", "Starting at", $start_time, "seconds\n") if ($TIMING||$DEBUG||($VERBOSITY>2)); } # end of &initialise # Frequently used regular expressions with arguments sub make_end_env_rx { local($env) = @_; $env = &escape_rx_chars($env); "\\\\end\\s*$O(\\d+)$C\\s*$env\\s*$O\\1$C".$EOL; } sub make_begin_end_env_rx { local($env) = @_; $env = &escape_rx_chars($env); "\\\\(begin|end)\\s*$O(\\d+)$C\\s*$env\\s*$O\\3$C(\\s*\$)?"; } sub make_end_cmd_rx { local($br_id) = @_; "$O$br_id$C"; } #JCL(jcl-del) - see also &tokenize. # Arrange commands into a regexp for tokenisation. # Any letter command will gobble spaces, but avoids to match # on ensuing letters (\foo won't match on \foox). # Any non-letter command retains spaces and matches always # by itself (\| matches \|... regardless of ...). # # This all is a huge kludge. The commands names should stay fix, # regardless of changing catcodes. If we have \makeatletter, # and LaTeX2HTML marks \@foo, then \@foo will be expanded # properly before \makeatother, but does weird things on \@foo # after \makeatother (\@foo in LaTeX is then \@ and foo, which # isn't recognized as such). # The reason is that the text to match the command \@foo # in LaTeX mustn't be \@foo at all, because any text in LaTeX # is also attributed with the category codes. # # But at least we have proper parsing of letter and non-letter # commands as long as catcoding won't upset LaTeX2HTML too much. # sub make_new_cmd_rx { return("") if $#_ < 0; # empty regexp if list is empty! # We have a subtle treatment of ambivalent commands like # \@foo in situations depicted above! # Get every command that contains no letters ... local($nonlettercmds) = &escape_rx_chars(join($CD, grep(!/[$letters]/,@_))); # and every command that contains a letter local($lettercmds) = &escape_rx_chars(join($CD, grep(/[$letters]/,@_))); if (%renew_command) { local($renew); foreach $renew (keys %renew_command) { $lettercmds =~ s/(^|$CD)$renew//; } $lettercmds =~ s/^$CD$//; } # replace the temporary $CD delimiter (this enables eg. \| command) $nonlettercmds =~ s/$CD/|/g; $lettercmds =~ s/$CD/|/g; # In case we have no non-letter commands, insert empty parentheses # to align match strings. # $nonlettercmds =~ s/^\||\|$//g; $lettercmds =~ s/^\||\|$//g; local($rx) = (length($nonlettercmds) ? "\\\\($nonlettercmds)" : ""); if (length($lettercmds)) { $rx .= ( length($rx) ? "|" : "()" ); $rx .= "\\\\($lettercmds)(([^$letters$cmd_spc])|$cmd_spcs_rx|\$)"; } # $1: non-letter cmd, $2: letter cmd, $4: delimiter # Eg. \\(\@|...|\+)|\\(abc|...|xyz)(([^a-zA-Z \t])|[ \t]+) # $1 and $2 are guaranteed to alternate, $4 may be empty. $rx; } # Build a simple regexp to use after tokenisation for # faster translation. sub make_new_cmd_no_delim_rx { return("") if $#_ < 0; # empty regexp if list is empty! # Get every command that contains no letters ... local($_) = &escape_rx_chars(join($CD, @_)); s/$CD/|/g; join('',"\\\\(",$_,")"); } #JCL(jcl-del) - new face: w/o arg (was 'begin' only), escapes env names sub make_new_env_rx { local($envs) = &escape_rx_chars(join($CD, keys %new_environment)); $envs =~ s/$CD/|/g; length($envs) ? "\\\\begin\\s*$O(\\d+)$C\\s*($envs)\\s*$O\\1$C\\s*" : ""; } sub make_new_end_env_rx { local($envs) = &escape_rx_chars(join($CD, keys %new_environment)); $envs =~ s/$CD/|/g; length($envs) ? "\\\\end\\s*$O(\\d+)$C\\s*($envs)\\s*$O\\1$C\\s*" : ""; } #JCL(jcl-del) - $delimiter_rx -> ^$letters # don't care for $cmd_spc_rx; space after sectioning commands # is unlikely and I don't want to try too much new things # sub make_sections_rx { local($section_alts) = &get_current_sections; # $section_alts includes the *-forms of sectioning commands $sections_rx = "()\\\\($section_alts)(([^$letters$cmd_spc])|$cmd_spcs_rx|\$)"; # $sections_rx = "()\\\\($section_alts)([^$letters])"; } sub make_order_sensitive_rx { local(@theorem_alts, $theorem_alts); @theorem_alts = ($preamble =~ /\\newtheorem\s*{([^\s}]+)}/og); $theorem_alts = join('|',@theorem_alts); # # HWS: Added kludge to require counters to be more than 2 characters long # in order to be flagged as order-sensitive. This will permit equations # with \theta to remain order-insensitive. Also permit \alpha and # the eqnarray* environment to remain order-insensitive. # $order_sensitive_rx = # "(equation|eqnarray[^*]|\\\\caption|\\\\ref|\\\\the[a-z]{2,2}[a-z]|\\\\stepcounter" . "(\\\\caption|\\\\ref|\\\\the[a-z]{2,2}[a-z]|\\\\stepcounter" . "|\\\\arabic|\\\\roman|\\\\Roman|\\\\alph[^a]|\\\\Alph|\\\\fnsymbol)"; $order_sensitive_rx =~ s/\)/|$theorem_alts)/ if $theorem_alts; } sub make_language_rx { local($language_alts) = join("|", keys %language_translations); # $setlanguage_rx = "\\\\se(lec)?tlanguage\\s*{\\\\?($language_alts)}"; $setlanguage_rx = "\\\\setlanguage\\s*{\\\\?($language_alts)}"; $language_rx = "\\\\($language_alts)TeX"; $case_change_rx = "(\\\\(expandafter|noexpand)\s*)?\\\\((Make)?([Uu]pp|[Ll]ow)ercase)\s*"; } sub addto_languages { local($lang) = @_; local($trans) = "main'".$lang.'_translation'; if (defined &$trans) { $language_translations {$lang} = $lang.'_translation'; } } # JCL(jcl-del) - new rexexp type sub make_raw_arg_cmd_rx { # $1 or $2 : commands to be processed in latex (with arguments untouched) # $4 : delimiter $raw_arg_cmd_rx = &make_new_cmd_rx(keys %raw_arg_cmds); $raw_arg_cmd_rx; } # There are probably more. # Interferences not checked out yet, thus in makeat... only. sub make_letter_sensitive_rx { $delimiter_rx = "([^$letters])"; &make_sections_rx; &make_single_cmd_rx; &make_counters_rx; } #JCL(jcl-del) - this could eat one optional newline, too. # But this might result in large lines... anyway, it *should* be # handled. A possible solution would be to convert adjacent newlines # into \par's in preprocessing. sub make_cmd_spc_rx { $cmd_spc = " \\t"; $cmd_spc_rx = "[ \\t]*"; # zero or more $cmd_spcs_rx = "[ \\t]+"; # one or more } sub make_single_cmd_rx { $single_cmd_rx = "\\\\([^$letters])|\\\\([$letters]+\\*?)(([^$letters$cmd_spc])|$cmd_spcs_rx|\n|\$)"; } sub make_counters_rx { # Matches counter commands - these are caught early and are appended to the # file that is passed to latex. #JCL(jcl-del) - $delimiter_rx -> ^$letters $counters_rx = "()\\\\(newcounter|addtocounter|setcounter|refstepcounter|stepcounter|arabic|roman|Roman|alph|Alph|fnsymbol)(([^$letters$cmd_spc])|$cmd_spcs_rx|\$)"; } # Creates an anchor for its argument and saves the information in # the array %index; # In the index the word will use the beginning of the title of # the current section (instead of the usual pagenumber). # The argument to the \index command is IGNORED (as in latex) sub make_index_entry { &make_real_index_entry(@_) } sub make_real_index_entry { local($br_id,$str) = @_; local($this_file) = $CURRENT_FILE; $TITLE = $saved_title if (($saved_title)&&(!($TITLE)||($TITLE eq $default_title))); # Save the reference $str = "$str###" . ++$global{'max_id'}; # Make unique $index{$str} .= &make_half_href($this_file."#$br_id"); "$anchor_invisible_mark<\/A>"; } sub image_message { # clean print <<"EOF"; To resolve the image conversion problems please consult the "Troubleshooting" section of your local User Manual or read it online at http://www-texdev.ics.mq.edu.au/l2h/docs/manual/ EOF } sub image_cache_message { # clean print <<"EOF"; If you are having problems displaying the correct images with Mosaic, try selecting "Flush Image Cache" from "Options" in the menu-bar and then reload the HTML file. EOF } __DATA__ # start of POD documentation =head1 NAME latex2html - Translate LaTeX files to HTML (HyperText Markup Language) =head1 SYNOPSIS B S<[ B<-help> | B<-h> ]> S<[ B<-version> | B<-V> ]> B S<[ B<-split> I ]> S<[ B<-link> I ]> S<[ B<-toc_depth> I ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<-iso_language> I ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<-font_size> I ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<-prefix> I ]> S<[ B<->(B)B ]> S<[ B<-long_titles> I ]> S<[ B<->(B)B ]> S<[ B<-title>|B<-t> I ]> S<[ B<->(B)B ]> S<[ B<-rootdir> I ]> S<[ B<-dir> I ]> S<[ B<-mkdir> ]> S<[ B<-address> I | B<-noaddress> ]> S<[ B<->(B)B ]> S<[ B<-info> I<0> | I<1> | I ]> S<[ B<->(B)B ]> S<[ B<-reuse> I | B<-noreuse> ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<->(B)B ]> S<[ B<-image_type> I ]> S<[ B<->(B)B ]> S<[ B<-accent_images> I | B<-noaccent_images> ]> S<[ B<-style> I