From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/physe/physe.doc | 2582 +++++++++++++++++++++++++++++++++++++++++++++ macros/physe/physe.tex | 2024 +++++++++++++++++++++++++++++++++++ macros/physe/physupdt.tex | 109 ++ 3 files changed, 4715 insertions(+) create mode 100644 macros/physe/physe.doc create mode 100644 macros/physe/physe.tex create mode 100644 macros/physe/physupdt.tex (limited to 'macros/physe') diff --git a/macros/physe/physe.doc b/macros/physe/physe.doc new file mode 100644 index 0000000000..4709e695c6 --- /dev/null +++ b/macros/physe/physe.doc @@ -0,0 +1,2582 @@ +%Changes by lde +% changed .texindex extension to .index +% set IBMfalse +% +%FORMAT physe % use PHYSE format +%*** this is file PMANUAL as of 07.03.86 *** +% \input themac +%*** this is file THEMAC as of 11.02.86 *** +% \input mppmac % get MPP macros +%*** this is file MPPMAC as of 17.03.86 *** +\input physupdt % get updates and corrections to PHYS-TeX +\def\wlog#1{} % suppress allocation messages +\catcode`\@=11 + +%\def\jobname{pmanual} +%*** additional macros for MPP *** +%*** (Max-Planck-Institut fuer Physik und Astrophysik) *** +%*** (Werner-Heisenberg-Institut fuer Physik) *** + +\def\mppaddresstext{Postfach 40 12 12, D-8000 M\"unchen 40\else + P.O.Box 40 12 12, Munich (Fed.~Rep.~Germany)} + +\def\mppaddress{\address + {Max-Planck-Institut f\"ur Physik und Astrophysik% + \\-- Werner-Heisenberg-Institut f\"ur Physik --% + \\\case@language\mppaddresstext}} + +\def\mppnum#1{\topright{MPI--PAE/#1}} + +%*** mpp letterhead *** + +\font\fourtenbf=\font@sel ssbx10 scaled \magstep2 % for letterhead +\font\sixtenbf=\font@sel ssbx10 at 16.587 pt % for letterhead + % (LasergrafiX) +\font\seventenbf=\font@sel ssbx10 scaled \magstep3 % for letterhead + % (Canon) + +\def\mppae@text{MAX-PLANCK-INSTITUT F\"UR PHYSIK UND ASTROPHYSIK} + +\def\letterC{\endpage \vglue-19mm\centerline{\seventenbf + \mppae@text}\l@tt@r} % for output on canon +\def\letterL{\endpage \vglue-26mm\centerline{\sixtenbf + \mppae@text}\l@tt@r} % for output on lasergrafix +\let\letter=\letterL % default is lasergrafix + +\def\l@tt@r#1#2#3{\centerline{\fourtenbf + WERNER-HEISENBERG-INSTITUT F\"UR PHYSIK}% + \skippagenum T\skipheadline T\skipfootline T% + \centerline{\strut#1}\vskip.5cm% + \line{\vtop to5cm{\lftline{\strut}\vfil + \let\\\cr \halign{\strut##\hfil\cr#3\cr}\vfil}% + \hss\vtop to5cm{\def\lftline##1{\hbox to 5cm{##1\hfil}}% + \lftline{\strut}\eightrm \setbaselineskip=12pt \vfil + \lftline{F\"OHRINGER RING 6}\lftline{\tenrm D-8000 M\"UNCHEN 40}% + \lftline{\case@language{TELEFON\else PHONE}: (089) 31 893 + \if!#2!\else - #2 \case@language{oder\else or} \fi-1}% + \lftline{TELEGRAMM:}\lftline{PHYSASTROPLANCK M\"UNCHEN}% + \lftline{TELEX: 52 15 61 9 mppa d}% + \lftline{POSTFACH 40 12 12}\vfil}}% + \vskip1cm\rtline{\thedate}\vskip 1cm plus 1cm minus.5cm} + +\def\wlog{\immediate\write\m@ne} % restore PLAIN's definition +\catcode`\@=12 % @ signs are no longer letters +%*** end of file MPPMAC *** +\def\wlog#1{} % suppress allocation messages +\catcode`\@=11 + +\outer\def\pthnum#1{\mppnum{PTh #1}} +\let\pthdate=\pubdate + +\def\wlog{\immediate\write\m@ne} % restore PLAIN's definition +\catcode`\@=12 % @ signs are no longer letters + +%*** additional physics journals *** + +\def\AP{\journal{Ann.\ \Phys}} +\def\CMP{\journal{Commun.\ \Math\Phys}} +\def\JMP{\journal{J.\ \Math\Phys}} +\def\PRep{\journal{\Phys Rep.\ }} +\def\RMP{\journal{\Rev Mod.\ \Phys}} +\def\TMF{\journal{Teor.\ Mat.\ Fiz.\ }} + +%*** end of file THEMAC *** +% \input pmanmac +%*** this is file PMANMAC as of 06.03.86 *** +\catcode`\@=11 + +\newif\ifIBM +%\IBMtrue % print the character ^ as `neg' (as on IBM terminals) +\IBMfalse % print the character ^ as `hat' (as in the TeXbook) + +\hyphenchar\twelvett=-1 \hyphenchar\tentt=-1 +\hyphenchar\eighttt=-1 % prevent hyphenation inside verbatim + +\newinsert\margin +\dimen\margin=\maxdimen % no limit on the number of marginal notes +\count\margin=0 \skip\margin=0pt % marginal notes take up no space + +\def\skip@userexit{\setbox\z@\box\@cclv \setbox\z@\box\margin} +\def\ship@userexit{\ifvbox\margin \nointerlineskip + \rlap{\hskip\hsize \hskip6pt\vbox to\z@{\kern4\p@ \box\margin \vss + }}\fi \unvbox\@cclv} +\let\skipuserexit=\skip@userexit +\let\shipuserexit=\ship@userexit + +\newif\ifmultic@lumn \newcount\numc@lumn \newdimen\c@lumnwidth +\newbox\partialp@ge \newdimen\p@gewidth \newdimen\p@geheight + +\let\multicolumn=\relax +\outer\def\singlecolumn{\ifmultic@lumn \singlec@lumn \bigskip \fi} +\outer\def\doublecolumn{\multicolumn\tw@} +\outer\def\triplecolumn{\multicolumn\thr@@} +\outer\def\multicolumn{\ifmultic@lumn \singlec@lumn \fi \multic@lumn} +\def\singlec@lumn{\output{\balancec@lumns}\eject + \endgroup \pagegoal\vsize} +\def\multic@lumn{\begingroup \multic@lumntrue + \afterassignment\multic@l@mn \numc@lumn=} +\def\multic@l@mn{\output{\global\setbox\partialp@ge + \vbox{\unvbox\@cclv\bigskip}}\eject + \p@gewidth\hsize \p@geheight\vsize \advance\hsize12\p@ + \divide\hsize\numc@lumn \advance\hsize-12\p@ \c@lumnwidth\hsize + \multiply\vsize\numc@lumn \advance\vsize12\p@ + \let\skipuserexit\skipsofar \let\shipuserexit\shipsofar + \output{\multic@lumnout}} +\def\multic@lumnout{\splittopskip\topskip \splitmaxdepth\maxdepth + \dimen@\p@geheight \advance\dimen@-\ht\partialp@ge + \setbox\tw@\hbox{\count@\@ne \loop \setbox\z@\vsplit\@cclv to\dimen@ + \wd\z@\c@lumnwidth \box\z@ \hfil \advance\count@\@ne + \ifnum\count@<\numc@lumn \repeat}% + \setbox\f@ur\vsplit\@cclv to\dimen@ + \bgroup \hsize\p@gewidth \vsize\p@geheight \physoutput \egroup + \unvbox\@cclv \penalty\outputpenalty} +\def\skipsofar{\setbox\z@\box\partialp@ge} +\def\shipsofar{\unvbox\partialp@ge + \hbox to\p@gewidth{\unhbox\tw@ \wd\f@ur\c@lumnwidth \box\f@ur}} +\def\balancec@lumns{\setbox\z@\vbox{\unvbox\@cclv}\splittopskip\topskip + \dimen@-\topskip \advance\dimen@\baselineskip + \advance\dimen@-\numc@lumn\dimen@ + \advance\dimen@\ht\z@ \divide\dimen@\numc@lumn + {\vbadness\@M \loop \global\setbox\thr@@\copy\z@ + \global\setbox\@ne\hbox{\count@\@ne \loop + \setbox\z@\vsplit\thr@@ to\dimen@ + \setbox\z@\vbox to\dimen@{\unvbox\z@}\wd\z@\c@lumnwidth \box\z@ + \hfil \advance\count@\@ne \ifnum\count@<\numc@lumn \repeat}% + \ifdim\ht\thr@@>\dimen@ \global\advance\dimen@\p@ \repeat}% + \setbox\tw@\box\@ne \setbox\f@ur\vbox to\dimen@{\unvbox\thr@@}% + \shipsofar} + +\def\AmSTeX{$\cal A\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em + S$-\TeX} +\def\bull{\vrule height .9ex width.8ex depth -.1ex } % square bullet +\def\dn{\leavevmode\hbox{\tt\char'14}} % downward arrow +\def\up{\leavevmode\hbox{\tt\char'13}} % upward arrow +\def\|{\leavevmode\hbox{\tt\char`\|}} % vertical line +\def\vspace{\leavevmode\hbox{\tt\char`\ }} % visible space + +\def\pt{\,{\rm pt}} % units of points +\def\<#1>{\leavevmode\hbox{$\langle$#1\/$\rangle$}} % syntactic quantity +\def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant +\def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant +\def\cstok#1{\leavevmode\thinspace\hbox{\vrule\vtop{\vbox{\hrule\kern1pt + \hbox{\vphantom{\tt/}\thinspace{\tt#1}\thinspace}}% + \kern1pt\hrule}\vrule}\thinspace} % control sequence token + +\outer\def\begindisplay{\obeylines\startdisplay} +{\obeylines\gdef\startdisplay#1 + {\catcode`\^^M=5$$#1\halign\bgroup\indent##\hfil&&\qquad##\hfil\cr}} +\outer\def\enddisplay{\crcr\egroup$$} + +{\catcode`\^=\active + \gdef\ttverbatim{\begingroup \catcode`\\\@ther \catcode`\{\@ther + \catcode`\}\@ther \catcode`\$\@ther \catcode`\&\@ther + \catcode`\#\@ther \catcode`\%\@ther \catcode`\~\@ther + \catcode`\_\@ther \catcode`\`\active + \ifIBM \catcode`\^\active \let^\tt@neg \else \catcode`\^\@ther \fi + \obeyspaces \obeylines \tt}} +{\catcode`\`=\active \gdef`{\relax\lq}} +\def\tt@neg{\hbox to.5em{\hss\the\scriptfont2:\hss}} +{\obeyspaces\gdef {\ }} % \obeyspaces now gives \ , not \space + +\outer\def\begintt{\strut \begingroup + \abovedisplayskip\parskip \abovedisplayshortskip\abovedisplayskip + \belowdisplayskip\parskip \belowdisplayshortskip\belowdisplayskip + $$\let\par=\endgraf \ttverbatim \parskip0pt + \catcode`\|=0 \rightskip=-5pc \tt@finish} + +\outer\def\beginttlines{\begingroup\tenpoint + \let\par=\cr \ttverbatim \catcode`\|=0 + \ifhmode \strut \expandafter\vadjust\fi \bgroup \ttlines@finish} + +{\catcode`\|=0 |catcode`|\=\@ther % | is temporary escape character + |obeylines % end of line is active + |gdef|tt@finish#1^^M#2\endtt{#1|vbox{|strut#2}|endgroup % + $$|endgroup |ignorespaces} % + |gdef|ttlines@finish#1^^M#2\endttlines{#1|halign % + {|hbox{|strut|quad *|quad##|hfil}|crcr#2|crcr}|egroup % + |ifhmode |lb |fi |endgroup |endgroup |ignorespaces}} + +\catcode`\|=\active +{\obeylines + \gdef|{\ttverbatim\ttglue\let^^M=\ \let|=\endgroup} + \gdef\utt|{\setbox\z@\hbox\bgroup|\aftergroup\utt@end} +} +\def\utt@end{\egroup$\underline{\box\z@}$} + +\def\ttglue{\spaceskip=.5em plus.25em minus.15em} + +\def\beginlines{\par\begingroup\nobreak\medskip\parindent\z@ + \parskip\z@ \hrule\kern1pt\nobreak \obeylines \everypar{\strut}} +\def\endlines{\kern1pt\hrule\endgroup\medbreak\noindent} + +\newwrite\inx +\immediate\openout\inx=\jobname.index % file for index remainders +\def\marginstyle{\eightrm % marginal notes are in 8pt + \vrule height9pt depth3pt width0pt } % a strut for \insert\margin + +\newif\ifsilent +\def\specialhat{\ifmmode \expandafter^\else \expandafter\beginxref\fi} +\def\beginxref{\futurelet\n@xt\beginxrefswitch} +\def\beginxrefswitch{\ifx\n@xt\specialhat \expandafter\silentxref\else + \silentfalse \expandafter\xref\fi} +\catcode`\^=\active \let ^=\specialhat +\def\silentxref^{\silenttrue\xref} + +\begingroup \lccode`\*=`\\ \lowercase{\gdef\bslash{*}} \endgroup +\def\xref{\futurelet\n@xt\xrefswitch} % branch on the next character +\def\xrefswitch{\begingroup\ifx\n@xt|\aftergroup\vxref + \else \begingroup \ifx\n@xt\<\aftergroup\anglexref + \else\aftergroup\normalxref \fi\fi \endgroup} +\def\vxref|{\ttverbatim \futurelet\n@xt\vxrefswitch} +\def\vxrefswitch#1|{\vxref@switch#1@@\@} +{\lccode`\~=`\` \lccode`\?=`\^ \lccode`\+=`\\ \lowercase{ + \gdef\vxref@switch#1#2@#3\@{\if\bslash\noexpand\n@xt + \def\xreftype{2}\def\text{\bslash#2}% code 2, |\arg| + \else\def\xreftype{1}\def\text{#1#2}\fi % code 1, |arg| + \bgroup \def^{?}\def~{`}\let\bslash\empty % for write + \makexref} + \gdef\normalxref#1{\def\xreftype{0}\def\text{#1}% + \bgroup \def\tt{+tt}\def\^{+?}% for write + \makexref} +}} +\def\anglexref\<#1>{\def\xreftype{3}\def\text{\<#1>}% code 3, \ + \bgroup \def\text{#1}% for write + \makexref} + +\newif\ifproofmode +\proofmodefalse % for camera-ready copy +%\proofmodetrue % this should be false when making camera-ready copy +\def\makexref{\ifproofmode \insert\margin{\hbox{\marginstyle\text}}% + \xdef\writeit{\write\inx{\text\space!\xreftype\space + \noexpand\number\pageno.}}\writeit + \else\ifhmode\kern0pt \fi\fi + \ifsilent \egroup \endgroup \ignorespaces \else + \egroup \text \endgroup \fi} + +\outer\def\startindex{\superendpage + \he@d{\strut\case@language\indextext}% + \toc{\case@language\indextext}{\unskip}} +\def\indextext{Stichwortverzeichnis\else Index} +\outer\def\makeindex{\openin\test@read=pmanual.index + \ifeof\test@read \message{* file pmanual.index missing *}\else + \closein\test@read \expandafter\make@index\fi} +\def\make@index{\beginindex \input pmanual.index \endindex } + +\let\endindex=\endgroup \let\sub=\indent + +\def\beginindex{\begingroup \maxdepth\maxdimen + \def\par{\endgraf \futurelet\n@xt\inxentry}\obeylines + \everypar{\hangindent\tw@\parindent}\exhyphenpenalty\@M + \parindent1em\raggedright} +\def\inxentry{\ifx\n@xt\endindex \else \noindent \fi} + +\catcode`\@=12 % @ signs are no longer letters +%*** end of file PMANMAC *** + + +%\IBMtrue % print the character ^ as `neg' (as on IBM terminals) + \IBMfalse % print the character ^ as `hat' (as in the TeXbook) + +\tolerance=1000 + +\def\chapuserexit{\wlog{\expandafter\empty\the\toks0 + \space\the\toks2}} +\def\secsssuserexit{\expandafter\myuserexit\the\toks0 } +\def\myuserexit#1.{\wlog{#1: \the\toks2}\toks0{#1}} + +%\pagesel{39}{99} % print selected pages only + +\english +\chapters \chappage +\pageall \toppagenum +\althead +\lheadtext={The PHYS-{\TeX} Manual} +\rheadtext={P. Breitenlohner, A. Kabelschacht and R.J. Drofnats} +\centfoot +\lfoottext={\thetime} \rfoottext={\thedate} +\equleft \equsect \equshort +\figchap +\tabchap +\refsqb +\tocsect +\footpar \footbot \let\footstyle=\tenpoint + +% \input pmantitp % title page +%*** this is file PMANTITP as of 07.03.86 *** +\submit{Journal ???} +\mppnum{PTh xx/86} +\topright{Version 1.0} +\pubdate{March 1986} + +\title{The PHYS-{\TeX} Manual} +\titcon{How to use the {\TeX} formats PHYSE and PHYS +\rm\footnote +*{This output is produced from the file PMANUAL TEX. +Here you could add things like the phrase: Talk given at {\dots} or +similar.}} + +\author{P. Breitenlohner\\A. Kabelschacht} +\mppaddress +\autcon{R.J. Drofnats} +\address{Dept.~of Farm Ecology, The University of St.~Anford\\% +P.O.Box 1009, Haga Alto, CA 94321 (USA)} + +\abstract{This manual describes how to use the {\TeX} formats PHYSE +and PHYS to write physics papers. +These formats contain MACROS which will automatically number +chapters, sections, \dots, appendices, pages, footnotes, equations, +figures, references and tables. +In addition lists of all figure captions, table captions, references +as well as a table of contents can be generated.} +\endpage +\startpage-2 +\null\vskip3in +\centerline{\it This page intentionally left blank} +\vskip3in +\endpage +%*** end of file PMANTITP *** +\startpage1 % leave room for toc on pages iii and iv +% \input pmanintr % introduction +%*** this is file PMANINTR as of 08.03.86 *** +\chap{Introduction} +The {\TeX} formats PHYSE and PHYS are extensions of the PLAIN format +and should simplify the writing of physics papers. +They differ from eachother by the use of english +or german hyphenation patterns ^^{hyphenation, german and english} +and by having ^|\english| or ^|\german| as default. +Practically all features of PLAIN-{\TeX} as described in the +\TeX book \RF{\texbook}{{\it The \TeX book}, Donald E.~Knuth, +Addison-Wesley, 1984.}\quref{\texbook} can be used without any change. +The only exception is that PLAIN's ^|\item| has been renamed +to ^|\plainitem|. +The PHYSE and PHYS formats have been developed at the +Max-Planck-Institut f\"ur Physik, M\"unchen, and are derived from +the macros for physics papers used at SLAC\null. + +These formats exist as dump files which can be +invoked in the same way as PLAINE or PLAIN\null. +Your input should start with the command |\input|~^|physupdt| +(compare appendix B for details). + +\ifIBM % print this paragraph if ^ is represented as `neg' +The character for superscripts (^{{\tt\char`\^}} in the +{\TeX}book) is printed as ^|^| in this manual, in the same way as it +appears on IBM terminals.\fi + +%*** end of file PMANINTR *** +% \input pmanfont % fonts, text sizes, styles and headings +%*** this is file PMANFONT as of 06.03.86 *** +\chap{Fonts, Text Sizes, Styles and Headings} +\sect{Text Sizes and Spacing} +You can produce text in various ^{sizes}. +If you use the command ^|\twelvepoint| (which is the default) at the +begin of your input file, everything will be \LARGE{\bf large} +i.e.\ normal text and equations will be in 12\pt, subscripts +and superscripts in 10{\pt} and sub-subscripts etc.\ in 8{\pt} size. +If you use ^|\tenpoint| you get \MEDIUM{\bf medium} size +(10\pt, 8{\pt} and 6\pt) and if you use ^|\eightpoint| you get +\SMALL{\bf small} size (8\pt, 6{\pt} and 5\pt). +Independently you can specify ^^{spacing} ^|\singlespace|, +^|\doublespace| (the default) or ^|\triplespace| to obtain narrow, +medium or wide space between consecutive lines of text +(^|\baselineskip|); other spacing parameters are set accordingly. +Each time you select a size or spacing the ^|\strut| is suitably +redefind. +The combination |\twelvepoint\triplespace| should about satisfy +{\it Phys.~Rev.}'s requirements. + +You can use |\medium{text}| or |\MEDIUM{text}| to get `text' in +{\bf medium} size. +The difference is that ^|\medium| puts `text' into +one or several separate paragraphs whereas ^|\MEDIUM| puts `text' +into the middle of the current paragraph. +The commands ^|\large|, ^|\LARGE|, ^|\small| and ^|\SMALL| +can be used in exactly the same way. +Finally we add a displayed equation: +$$\smallint_0^\infty e^{-x^2} dx = {\sqrt{\pi}\over 2}\qquad\qquad +\smallprod_{i=1}^n e^{x_i}=e^{\smallsum_{i=1}^n x_i}\eqn$$ +to see the size of superscripts and super-superscripts. +\medium{\singlespace This paragraph in {\bf medium} size starts with +|\medium{\singlespace This|\dots\space +and uses |\LARGE| and |\SMALL| to get a \LARGE{large} and a +\SMALL{small} word in the middle. +Now we add a very long sentence so that we can see the effect of +the large word on the interline spacing (if any). +Again we add a displayed equation: +$$\smallint_0^\infty e^{-x^2} dx = {\sqrt{\pi}\over 2}\qquad\qquad +\smallprod_{i=1}^n e^{x_i}=e^{\smallsum_{i=1}^n x_i}\eqn$$ +to see the size of superscripts and super-superscripts.} +\small{\singlespace This paragraph in {\bf small} size starts with +|\small{\singlespace This|\dots\space +and, after the first line which is entirely in small type, +uses |\LARGE| and |\MEDIUM| to get a \LARGE{large} and a +\MEDIUM{medium} word in the middle. +Again we add a very long sentence in order to see the effect +of the large and the medium word on the interline spacing. +Again we add a displayed equation: +$$\smallint_0^\infty e^{-x^2} dx = {\sqrt{\pi}\over 2}\qquad\qquad +\smallprod_{i=1}^n e^{x_i}=e^{\smallsum_{i=1}^n x_i}\eqn$$ +to see the size of superscripts and super-superscripts.} +\sect{Fonts} +For each size there are several `^{fonts}' available, i.e.\ sets of +characters of different shape. +Normally text is typed in `roman' and equations are typed in +`math italic'. +You can choose among:\lb +^|\rm| for {\rm roman}\lb +|$|\dots|$| (or |\mit| inside equations) for $math\; italic$\lb +^|\cal| for $\cal CALIGRAPHIC$ (inside equations and for capitals +only)\lb +^|\it| for {\it text italic}\lb +^|\sl| for {\sl slanted}\lb +^|\bf| for {\bf bold}\lb +^|\tt| for {\tt typewriter}\lb +^|\caps| for {\caps Large and Small Capitals}\lb +but not all fonts are available in all sizes. +\sect{Styles} ^^{styles} +There are macros which determine how various things are printed +(e.g.\ page numbers, headings, titles and so on). +The are listed below and can be changed as necessary. +%*** the following lines are copied from PHYSTEXT *** +\beginttlines +\let\headlinestyle=\twelverm +\let\footlinestyle=\twelverm +\let\pagestyle=\twelverm % page numbers +\let\titlestyle=\bf % title of paper, chapters, appendices +\let\authorstyle=\caps +\let\addressstyle=\sl +\let\sectstyle=\caps % section titles +\def\secsstyle{\sectstyle} +\def\secssstyle{\secsstyle} +\def\secsssstyle{\secssstyle} +\def\subsecstyle#1{\hbox{$\underline{\hbox{#1}}$\enskip}\ignorespaces} +\let\headstyle=\UPPERCASE % headlines for list of figure capts. etc +\let\captionstyle=\it % figure and table captions +\let\journalstyle=\sl +\let\volumestyle=\bf +\let\figstyle=\empty % list of figure captions +\def\figindent{to4em} +\def\figbreak{\goodbreak \vskip\refbetweenskip} +\let\tabstyle=\empty % list of table captions +\let\tabindent=\figindent +\let\tabbreak=\figbreak +\let\refstyle=\empty % list of references +\let\refindent=\figindent +\def\namrefindent{2em} +\def\refbreak{\filbreak \vskip\refbetweenskip} +\let\tocstyle=\empty % table of contents +\let\tocindent=\empty +\let\tocbreak=\refbreak +\let\footstyle=\empty % (list of) footnotes +\let\footindent=\figindent +\let\footbreak=\figbreak +\let\stmttitlestyle=\bf % mathematical statements +\let\stmtstyle=\sl +\let\prftitlestyle=\caps +\let\prfstyle=\sl +\endttlines +The command |\UPPERCASE| translates it's argument to uppercase +(as does |\uppercase|) but all macros in the argument are +expanded before the translation. +The definition is +\beginttlines +\def\UPPERCASE#1{\edef\next{#1}\uppercase\expandafter{\next}} +\endttlines +\sect{Headings} +^^{headings}The text of most headings is defined by macros which +are listed below (\|\else|\), +and which can be easily changed. +%*** the following lines are copied from PHYSTEXT *** +\beginttlines +\def\submittextone{Zur Ver\"offentlichung in\else Submitted to} +\def\submittexttwo{ eingereicht\else} +\def\abstracthead{Zusammenfassung\else Abstract} +\def\ackhead{Danksagung\else Acknowledgements} +\def\appendixhead{Anhang\else Appendix} +\def\eqabbr{Gl\else eq} +\def\eqsabbr{Gln\else eqs} +\def\figpref{Abb\else Fig} +\def\fighead{Abbildungen\else Figure captions} +\def\figabbr{Bild\nodot\else Fig} +\def\tabpref{Tab\else Tab} +\def\tabhead{Tabellen\else Table captions} +\let\tababbr=\tabpref +\def\refpref{Lit\else Ref} +\def\refhead{Literaturverzeichnis\else References} +\def\refabbr{???\else Ref} +\def\refsabbr{????\else Refs} +\def\tocpref{Inh\else Toc} +\def\tochead{Inhaltsverzeichnis\else Table of contents} +\def\footpref{Anm\else Foot} +\def\foothead{Anmerkungen\else Footnotes} +\def\prfhead{Beweis\else Proof} +\endttlines + +%*** end of file PMANFONT *** +% \input pmanpage % page numbers +%*** this is file PMANPAGE as of 07.03.86 *** +\chap{Page Numbers, Head- and Footlines} +\sect{Page Numbers} +^^{page numbers} +If you use ^|\pageall| (default) the pages are numbered throughout +the paper, starting with `1' for the ^{title page}. +If you use ^|\pagechap| the title page is page~0 and the pages are +numbered separately for each chapter, appendix, the figure captions, +the table captions, the list of references, the table of contents +and (if applicable) the footnotes, with the number of the chapter or +similar as prefix. +The page number of the title page will never be printed and with +|\pagechap| the same is true for the first page of figure captions, +table captions etc. + +You can use\lb +^|\toppagenum| to get page numbers on top of each page,\lb +^|\botpagenum| (default) to get page numbers at the bottom of each page +or\lb +^|\nopagenum| to supress the printing of page numbers. +\sect{Head- and Footlines} +^^{headlines}^^{footlines} +Independently from the page numbers there may be running head- and +footlines. +You can specify specify a left head line text with +^|\lheadtext||={|\dots|}| and similarly a right head line text +(^|\rheadtext|) and a ^|\cheadtext| as well as foot line texts +(^|\lfoottext|, ^|\rfoottext| and ^|\cfoottext|). +All these texts are initially empty. + +If you choose the option ^|\centhead| (default) the headline +will contain the |\lheadtext| in the left corner, the |\rheadtext| +in the right corner and a page number or blank in the center. +With the option ^|\righthead| the |\rheadtext| is centered, +the ^|\cheadtext| in the left corner and a page number will be in +the right corner; with the option ^|\lefthead| you get the same +with left and right exchanged. +With the option ^|\althead| you get alternatingly the result from +|\righthead| on the odd numbered (right) pages and from |\lefthead| +on the even numbered (left) pages. + +The options ^|\centfoot| (default), ^|\rightfoot|, ^|\leftfoot| and +^|\altfoot| will do the same for the footlines. + +You can use the command ^|\skippagenum||=T| to suppress the printing +of a page number on the current page. +Similarly ^|\skipheadline||=T| and ^|\skipfootline||=T| will suppress +the printing of the entire headline and footline. +All three commands are used automatically on the title page and all +three switches are automatically reset to `|F|' when a new page is +started. +You should, however, be careful where to put these commands because +{\TeX} may have different ideas about what is the current page than +you do (see chapter~15: How {\TeX} Makes Lines into Pages in the +{\TeX}book for details). +\sect{Portrait and Landscape Format} +{\TeX} usually produces output in `portrait' format (|\vsize| is larger +than |\hsize|). +Some times you may want to use `landscape' format, i.e.\ for large +tables. +You can use the commands ^|\portrait| (default) and ^|\landscape| to +switch between portrait and landscape format. +If such a switch occurs any partial page accumulated so far will be +terminated and then the values for |\hsize| and |\vsize| will be +interchanged and adjusted for the presence of head- and footlines. +It is, therefore, \underbar{not} possible to use a |\pageinsert| in +landscape format while processing a page in portrait format. +\subsec{Warning:}Some output devices may not be able to handle +landscape format properly or they may not be able to handle a +mixture of both formats. + +%*** end of file PMANPAGE *** +% \input pmantitl % the title page +%*** this is file PMANTITL as of 07.03.86 *** +\chap{The Title Page} +There are several macros to facilitate the production of a ^{title +page}. +These macros provide vertical spacing which should normally give a +reasonable layout. + +You should use ^|\titlepage| (default) or ^|\notitlepage| if the title +of the paper, the name(s) and address(es) of author(s) and possibly +the abstract do or don't appear on a separate page which is +terminated with |\endpage|. + +You can use ^|\topleft| and ^|\topright| as often as needed to +collect information to appear on the top left and top right corners +of the title page. +This information is stored in boxes and is printed with the (first) +use of ^|\title|. + +The command ^|\submit||{...}| uses topleft to produce the two +lines `Submitted~to' and `\dots' in the top left corner,\lb +^|\mppnum||{...}| is equivalent to |\topright{MPI--PAE/...}|, +\lb and ^|\pubdate| is a synonym for |\topright|. + +You can use ^|\title||{...}| to print (the first line of) the title +of the paper and ^|\titcon||{...}| for continuation lines. + +The command ^|\author||{...}| will print one or more lines with +authors, ^|\\| indicates the start of a new line, +^|\autcon||{...}| will print `and' or `und' and more authors. +You can use the commands |\author|, |\autcon| and +|\address| as often as required. + +Any of the above macros may use ^|\foot| or ^|\footnote|, +but you should surround the footnote with +|{|^|\rm|~|...}|, otherwise the footnote will be printed in the +current font. + +The command ^|\address||{...}| prints the address of the +institution with one or more lines which are again separated by ^|\\|. + +The command ^|\mppaddress| prints the address of the +Max-Planck-Institut f\"ur Physik. + +The command ^|\abstract||{...}| prints the english heading +`^{Abstract}' or the german one `^{Zusammenfassung}' and the text of +the abstract which may consist of several paragraphs. + +Finally we want to mention one command which does not belong to the +title page: ^|\ack| prints the heading `^{Acknowledgements}' or +`^{Danksagung}'. + +The title page of this manual is produced by the following +sequence of commands: +%*** the following lines are copied from PMANTITP *** +\beginttlines +\submit{Journal ???} +\mppnum{PTh xx/86} +\topright{Version 1.0} +\pubdate{March 1986} + +\title{The PHYS-{\TeX} Manual} +\titcon{How to use the {\TeX} formats PHYSE and PHYS +\rm\footnote +*{This output is produced from the file PMANUAL TEX. +Here you could add things like the phrase: Talk given at {\dots} or +similar.}} + +\author{P. Breitenlohner\\A. Kabelschacht} +\mppaddress +\autcon{R.J. Drofnats} +\address{Dept.~of Farm Ecology, The University of St.~Anford\\% +P.O.Box 1009, Haga Alto, CA 94321 (USA)} + +\abstract{This manual describes ... +.... +.... can be generated.} +\endpage +\endttlines + +%*** end of file PMANTITL *** + +% \input pmanchap % structuring the text + +%*** this is file PMANCHAP as of 10.03.86 *** +\chap{Structuring the Text} +\sect{Chapters and Sections} +You can use ^|\chap| to start a new ^{chapter} and ^|\appendix| +to start a new ^{appendix}. +Chapters and appendices will be numbered automatically, starting with +`1' resp.\ `A'\null. +Chapters and appendices can appear in any order but this may be of +little use unless you choose the option ^|\pagechap|. +The text before the first chapter or appendix is treated as chapter~0. + +At the begin of your input you should use the command ^|\chapters| +(default) or ^|\nochapters| if your paper does or does not contain +chapters. +If you choose |\chapters| the chapter number will appear as +prefix in section numbers and possibly (depending on other options) +in page numbers, equation numbers, etc. +If you choose |\nochapters| this prefix will be omitted. +In this case you can not use |\chap| to start a new chapter. + +You can use ^|\arabicchapnum| (default) or ^|\romanchapnum| to get +arabic chapter numbers or (uppercase) roman numerals resp., both in +the chapter titles and in the prefix of e.g.\ ^{equation numbers}. + +Whithin a chapter, but not within an appendix, you may use +^|\sect| to start a ^{section}. +They will again be numbered, starting with `1', and the text before +the first section within a chapter will be treated as section~0. + +You can use ^|\chappage| or ^|\nochappage| (default) to indicate that +each chapter and appendix should or should not start on a new page. + +{\TeX} will try not to begin a chapter or section to low at a page, +it will rather leave blank space and start with the chapter or +section title on a new page. +This mechanism is governed by the parameters\lb +^|\chapstretch| (default `2.5 cm'),\lb +^|\chappenalty| (default `-800'),\lb +^|\sectstretch| (default `2 cm') and\lb +^|\sectpenalty| (default `-400')\lb +and has the additional advantage that a minor change in the +text will quite often lead to identical page breaks after a few +pages which have changed. + +Depending on the choice of other options ^|\chap|, ^|\sect| and +^|\appendix| may influence the numbering of pages, equations, +figures and tables. + +Within a section or an appendix you can use ^|\secs| to start a +numbered subsection and so on down to ^^|\secss| ^|\secsss| for +sub-sub-subsections. +All four commands used to generate numbered (sub-)sections will +generate the (sub-)section numbers automatically. +You can, however, specify your own numbers by using e.g.\lb +|\sect|^\|{|\|}| + +In addition you can use ^|\subsec| to generate an unnumbered +subsection. +You can use |\subsec| everywhere in your text, in appendices as well +as in chapters. +\subsec{Examples:}The present chapter was started with the commands\lb +|\chap{Structuring the Text}|\lb +|\sect{Chapters and sections}|\lb +If you need a continuation line for the chapter title use\lb +|\titcon{continuation of the title}|\lb +as often as needed. +The titles for (sub-)sections will automatically occupy as many +lines as needed. +The unnumbered subsection with these examples starts with\lb +|\subsec{Examples:}The|\dots\foot{The lack of space between `|}|' +and `|The|' in this and similar constructions is significant!}\lb +If you want to start an appendix +you can either use |\appendix| for an appendix without a title +or |\appendix{Title}| for an appendix with a title. +In the former case the text of the appendix must not start with +an explicit or implicit +`|{|' (you could e.g.\ start the text of the appendix with |\relax| +which instructs {\TeX} to `do nothing'). + +You can use ^|\app||{|\dots|}| to start an unnumbered appendix. +This command will just print the heading `Appendix \dots' (using +^|\headstyle|) but will not influence the numbering of equations +or similar. + +\sect{Items and Points} ^^{item}^^{point} +There is another quite different way to structure the text. +You may want to list several important points and either number them +or mark them by a symbol. +There are three levels to do that: ^|\item|s are indented 2.5 em, +^|\sitem|s (subitems) are indented 4.5 em and +^|\ssitems|s (sub-subitems) are indented 6.5 em (an `em' is the width +of a `quad' in the current font). +Each item, sitem or ssitem ends with the end of +the paragraph (^|\par| or a ^{blank line}). +\item{x}This item was started with |\item{x}This|\dots\lb +You could also use\lb +^|\bullitem|~|This|\dots or ^|\staritem|~|This|\dots or +^|\dashitem|~|This|\dots\lb +to get an item marked by `$\bullet$', `$\ast$' or `---' instead of the +`x'.\lb +Similarly there are ^|\sbullitem|, ^|\sstaritem| and ^|\sdashitem| for +sitems as well as ^|\ssbullitem|, ^|\ssstaritem| and ^|\ssdashitem| +for ssitems. +\sitem{y}This sitem was started with |\sitem{y}This|\dots\lb +and this works just the same way for ssitems: +\ssitem{z}This is a sub-subitem. +\itemcon We now want to continue the item with a new paragraph and in +order to do so we had to start the present paragraph with +^|\itemcon|~|We|\dots\lb +For sitem use the analogous command ^|\sitemcon| and for +ssitem you can use ^|\ssitemcon|. + +\noindent +A ^{point} is an item which is numbered automatically and similarly +for an spoint and an sspoint. +\pointbegin This is the first point of a list and was therefore +started with\lb +^|\pointbegin|~|This|\dots\lb +in order to initialize the numbering. +\point This is the next point which was started with the command\lb +^|\point|~|This|\dots\lb +You can add another paragraph to a point by using either +^|\pointcon| or ^|\itemcon|. + +The commands ^|\spointbegin|, ^|\spoint| and ^|\spointcon| +are used to generate spoint, +the commands ^|\sspointbegin|, ^|\sspoint| and ^|\sspointcon| +are used to generate sspoints, +they work in exactly the same way but differ in the numbering +and in the amount of indentation. +\spointbegin The first spoint of a list +\spoint The second spoint of the list +\sspointbegin The first sspoint of a list +\sspoint The second sspoint of the list + +\noindent An spoint may but need not appear within a point. +In order to have no paragraph indentation, this paragraph was started +with ^|\noindent| which is a good idea after a list of +items or points. + +In fact ((sub-)sub)items, ((sub-)sub)points etc.\ are just special +cases of a more general construction ^|\varitem| with the syntax\lb +|\varitem|\<box~specification>|{|\<item~label>|}|\lb +where the optional \<box~specification> can be either\lb +^|to|~\<dimension> or ^|spread|~\<dimension>\lb + just as for any |\hbox|. +The \<item~label> will be put into an |\hbox| using the +\<box~specification> (if any) and the rest of +the paragraph will be indented by the width of this |\hbox|. +An |\item| (or |\point|) is a |\varitem| with the \<box~specification> +|to|~|2.5em|, |\sitem| uses |to|~|4.5em| and |\ssitem| uses +|to|~|6.5em|. +You can start a new paragraph but keep the indentation with +either one of the commands ^|\hvskip|\<glue> or ^|\parvskip|\<glue>, +e.g.\ with |\hvskip\parskip| if you want the normal spacing between +paragraphs. +These two commands are almost identical, the difference will +matter to {\TeX}perts only. + +If you use the command ^|\bpargroup| inside a paragraph or item all +subsequent local definitions (e.g.\ changes of fonts or spacing) +will be effective only until the next ^|\par| or ^{blank line}. +\sect{Code Names} +Very often you will use numbers for equations, figures, tables, +references, chapters, sections and so on which are generated +automatically by {\TeX}. +If you want to refer later on to these numbers you can choose a +^{code name} for e.g.\ an equation number and refer to this code +name. +This has the advantage that the value assigned to such a code name +changes automatically if the equation number changes due to some +modifications of your manuscript. +These code names are ordinary {\TeX} control sequence names and +you should be careful not to use any code name which is the name +of a {\TeX} command (either a primitive command such as |\input| or a +command defined in the PLAIN format such as |\line| or a +command defined in PHYS such as |\eqtag|). +Contrary to the usual {\TeX} rules such code names may contain +not only (upper and lower case) letters but digits and apostrophes +as well. +If you use this possibility such code names must not occur except +as argument to an appropriate command (e.g.\ ^|\quote| or ^|\queq| or +^|\quref|). + +Most of the commands which define code names will be discussed in +subsequent chapters of this manual. +At this point we just want to mention two of them. + +The command ^|\label|\<code~name> will, in most cases, define the code +name such that its value is the (full) number of the most recent +chapter, appendix, (sub-)section or (sub-)point. +If we use, at this point, the command |\label\here| \label\here +then `|\quote{\here}|' will yield `\quote{\here}' because this is +\def\next#1.#2.{section~#2 in chapter~#1}% +\expandafter\next\here. and no subsection or (sub-)point was used +in this section. + +The command ^|\pagelabel|\<code~name> will define the code name such +that it yields the page number of the current page. +This is, however, a somewhat delayed action. +The code name will not be properly defined until after {\TeX} has +decided where to finish the current page. +Any use of the code name before that point must be considered as a +^{forward reference}. + +%*** end of file PMANCHAP *** +% \input pmanequ % equations +%*** this is file PMANEQU as of 10.03.86 *** +\chap{Equations} +\sect{Equation Numbers} +You should use ^|\eqtag| instead of PLAIN's ^|\eqno| or ^|\leqno| to +generate ^{equation numbers}. +Similarly you should use ^|\eqaligntag| instead of PLAIN's +^|\eqalignno| or ^|\leqalignno|. +The commands ^|\equleft| or ^|\equright| (default) will then +automatically put all equation numbers to the left or right of the +equations. +There is a third option ^|\equnone| which inhibits the printing of +all equation numbers. +This may be useful to prepare slides with equations. + +You may choose to have your equations numbered automatically +by {\TeX}; to do so use the following equation number macros. +You can use ^|\equall|, ^|\equchap| (default) or +^|\equsect| to indicate that the equations should be +numbered throughout the paper, separately for each +chapter and appendix or separately for each section and appendix. +In case you choose |\equchap| or |\equsect| the numbers +will have an appropriate prefix. + +Whenever you want to generate an equation number you can use +^|\eq|, e.g.\ in |\eqaligntag{|\dots|&\eq\cr|\dots|}| or +|$$|\dots|\eqtag\eq$$|. + +Sometimes you may want to generate equation numbers e.g.\ \queq{5}, +\queq{5a}, \queq{5b}, \dots, \queq{6}. +To do so you may use |\eq|, ^|\subeqbegin|, ^|\subeq|, \dots, |\eq|. +If you want to generate instead the equation numbers \queq{5}, +\queq{6a}, \queq{6b}, \dots, \queq{7} you should use |\eq|, ^|\eqadv| +(\underbar{adv}ance the \underbar{eq}uation number by 1), +|\subeqbegin|, |\subeq|, \dots, |\eq|. + +If you want to refer to the number of an equation in the text +you should use\lb +^|\EQ|\<code~name> instead of |\eq|,\lb +^|\EQADV|\<code~name> instead of |\eqadv|,\lb +^|\SUBEQBEGIN|\<code~name> instead of |\subeqbegin| and\lb +^|\SUBEQ|\<code~name> instead of |\subeq|.\lb +The \<code~name> will then be defined to +represent the equation number (|\EQ| and |\EQADV|) +or the suffix, e.g.\ $a$ or $b$ (|\SUBEQBEGIN| and |\SUBEQ|).\lb + +Assuming you have chosen the option |\eqsect|, the $5^{\rm th}$ +equation of section~2 in chapter~3 will get the tag +`\queq{3.2.5}'. +The \<code~name> will then evaluate to `5' in section~2 +of chapter~3, to `2.5' in all other sections of chapter~3, +and to `3.2.5' outside of chapter~3. +You may always enforce the short form `5' by using +^|\shorttag|\<code~name> or the long form `3.2.5' by using +^|\fulltag|\<code~name>. + +You may refer to one or more equations by using ^|\queq| +(\underbar{qu}ote \underbar{eq}uation), e.g.\lb +|\queq{|\<code~name>|}| might evaluate to `\queq{3.2.5}',\lb +|\queq{|\<code~name>|,\fulltag|\<code~name>|}| to +`\queq{3.2.5,4.1.7}' and\lb +|\queq{|\<code~name>|-\shorttag|\<code~name>|}| to `\queq{3.2.5-7}'.\lb +The command |\queq| puts the equation numbers into an +|\hbox|, therefore there will never be a line break between them. + +There are in fact two options available: +If you specify |\equshort| (default) then |\queq{|\dots|}| +will give you abbreviated equation numbers as described above and +demonstrated in the examples below. +If you specify |\equfull| then |\queq{|\dots|}| will give +you the full equation numbers. +In either case an explicit |\fulltag| or |\shorttag| in the +argument of |\queq| takes precedence over these options. + +Sometimes you will want to not only quote the equation +number(s) but to have `eq.\vspace' or `eqs.\vspace' or the +german equivalent in front of the equation number(s). +The commands ^|\qeq||{|\dots|}| and ^|\qeqs||{|\dots|}| will just do +that for you. + +Assume you have used the command \dots|\EQ\eqname|\dots +to generate the equation number `\queq{3.2.5}'. +Somewhat later in the text you might want to use the number +`\queq{3.2.5'}' for a modified version of that equation. +For this purpose you can use the command |\eqapp\eqname '| +(\underbar{app}end to \underbar{eq}uation number). + +You can use the abbreviations\lb +^|\eqn| instead of |\eqtag\eq|,\lb +^|\EQN| instead of |\eqtag\EQ|,\lb +^|\subeqnbegin| instead of |\eqtag\subeqbegin|,\lb +^|\SUBEQNBEGIN| instead of |\eqtag\SUBEQBEGIN|,\lb +^|\subeqn| instead of |\eqtag\subeq|,\lb +^|\SUBEQN| instead of|\eqtag\SUBEQ| and\lb +^|\eqnapp| instead of |\eqtag\eqapp|. + +\subsec{Examples:}We will now use +\begintt +$$a=b+c-d\qquad\hbox{this is equation `Eq1'}\EQN\Eq1$$ +\endtt +to produce: +$$a=b+c-d\qquad\hbox{this is equation `Eq1'}\EQN\Eq1$$ +and use `|\qeq{\Eq1}|' to refer to equation `|\Eq1|' as +`\qeq{\Eq1}'. +\sect{More Examples:} +Being in a new section we can again use `|\qeq{\Eq1}|' to refer +to equation `|\Eq1|' as `\qeq{\Eq1}', but the result is +different. + +The input +\beginlines +\dots|$${\cal A}=7\EQN\eqa$$| +\dots|$$\eqaligntag{A_1&=5&\SUBEQBEGIN\eqaa\cr| +|A_2&=12&\SUBEQ\eqab\cr}$$| +\dots|$$C_1=3\EQADV\eqb\SUBEQNBEGIN\eqba$$| +\dots|$$C_2=-21\SUBEQN\eqbb$$| +\dots|$${\cal A}=-7\eqnapp\eqa '$$|\dots +|Eqs.~\queq{\fulltag\eqa-\shorttag\eqb}|\dots +|\qeqs{\eqb\eqba,\eqa '}|\dots +\endlines +yields:\lb +\dots$${\cal A}=7\EQN\eqa$$ +\dots$$\eqaligntag{A_1&=5&\SUBEQBEGIN\eqaa\cr +A_2&=12&\SUBEQ\eqab\cr}$$ +\dots$$C_1=3\EQADV\eqb\SUBEQNBEGIN\eqba$$ +\dots$$C_2=-21\SUBEQN\eqbb$$ +\dots$${\cal A}=-7\eqnapp\eqa '$$\dots +Eqs.~\queq{\fulltag\eqa-\shorttag\eqb} \dots +\qeqs{\eqb\eqba,\eqa '} \dots +%*** end of file PMANEQU *** +% \input pmanfgtb % figures and tables +%*** this is file PMANFGTB as of 10.03.86 *** +\chap{Figures and Tables} +\sect{Storage Management} ^^{storage management} +The text of ^{figure captions}, ^{table captions}, ^{references}, +the ^{table of contents} and (possibly) ^{footnotes} are collected +during the execution and stored for later printing. +If you specify the command ^|\storebox|, ^|\storelist| (default) +or ^|\storefile| these texts will be stored in boxes, +as lists of macro definitions or on external files (sysut1--sysut7). +Each of these methods has its advantages and disadvantages. +\pointbegin |\storebox|: This is the fastest method but it also uses +the largest amount of storage because all macros are expanded before +the text is stored. +Moreover the command |\save| will not be able to write these texts +to an external file for later |\restore|. +\point |\storelist|: This method is slightly slower but needs less +storage (macros are not expanded until the texts are finally printed). +\point |\storefile|: This is the slowest method but it avoids all +storage problem because the texts are stored on external files and are +reread only when they are printed. +\sect{Figure Captions} +The following figure caption macros allow you to automatically +number the figures, collect a list of ^{figure captions} +and print this list. + +If you use ^|\figall| (default) the figures are numbered +throughout the paper, +if you use ^|\figchap| they are numbered separately for +each chapter and appendix, with the number of the chapter or +the letter of the appendix as prefix, +if you use ^|\figsect| they are numbered separately for +each section and appendix, with the the chapter and section number or +the letter of the appendix as prefix. + +If you use ^|\figpage| (default) the list of figure captions +(if any) will be printed on one or several separate pages. +If you use ^|\nofigpage| the list will appear on separate +pages only if you choose ^|\pagechap|. + +If you use ^|\fig||{|\<caption>|}| a number will be assigned to the +figure and the \<caption> will be saved for the list of figure +captions. +If you want to assign your own label to a figure, i.e.\ just +want to save the figure caption for later printing, use +|\fig|^\<label>|{|\<caption>|}|. +The label must not contain any explicit braces (|{| or |}|). +It must contain the entire number for the figure (including +any chapter number as prefix) and could e.g.\ be a figure +number defined previously (with |\FIG|) with a suffix (a, b, \dots). + +You can save a figure caption for the list of captions and at the +same time generate the description of the figure in the text. +Just use ^|\ffig| instead of |\fig|. + +If you want to refer to a figure in the text you should use\lb +^|\FIG|\<code~name> instead of |\fig| or\lb +^|\FFIG|\<code~name> instead of |\ffig|.\lb +You can then refer to figures e.g.\ by +^|\qufig||{|\<code~name>|}|,\lb +|\qufig{|\<code~name>|,|\<code~name>|}| +or |\qufig{|\<code~name>|-|\<code~name>|}|\lb +which might evaluate to +\begingroup % for local def's + \def\name{5} + `\qufig{\name}', + \def\name{3.1} \def\namea{4.2} \german + `\qufig{\name,\namea}' or + \def\name{9} \def\namea{11} \english + `\qufig{\name-\namea}'. +\endgroup % for local def's + +The command ^|\figadd||{...}| can be used to add an ordinary +paragraph of text to the list of figure captions. +Such paragraphs can occur before the first caption, between captions +or after the last caption. + +You can use ^|\figout| to print a list of all +figure captions collected so far (if any). +This will at the same time empty the list. +If you want a separate list of figure captions for each chapter +just use the command |\figout| at the end of each chapter. + +The command ^|\figkill| discards all figure captions collected so far; +this may be helpful to avoid storage problems. +\sect{Figures and Plots} ^^{figures} +The command ^|\frame||{|\<width>|}{|\<heigth>|}{|\<depth>|}| produces +an |\hbox| containing a box of the given dimensions which is empty +except for rules just inside the box boundaries. +Both \<width> and \<height>+\<depth> must be positive but either +\<height> +or \<depth> could be negative. +Note, however, that the surrounding box (as any |\hbox|) will have +nonnegative height and depth! + +In the following we will illustrate how such a frame box or any other +box (e.g.\ a |\table|), possibly together with a description, can be +placed in the text or as an insertion. +First we want to demonstrate how frame boxes will appear in +the middle of a line: +e.g.\ |\frame{1cm}{1cm}{-.5cm}| \frame{1cm}{1cm}{-.5cm} or +|\frame{2cm}{-1mm}{6mm}| \frame{2cm}{-1mm}{6mm} or +|\frame{1cm}{5mm}{5mm}| \frame{1cm}{5mm}{5mm} and so on. + +\def\marginbox#1{\par\begingroup \count255=#1\relax + \dimen0=\ht\count255 \advance\dimen0\dp\count255 + \dimen2\dimen0 \advance\dimen2\parskip + \skip0=0pt plus\dimen2 \vskip\skip0 \penalty-110 \vskip-\skip0 + \strut \vadjust{\kern-\dp\strutbox \vtop to\dp\strutbox + {\kern-\ht\strutbox \baselineskip\dp\strutbox + \rtline{\copy\count255}\vss\null}}% + \dimen2.5em\advance\dimen2\wd\count255 + \count255=0 \loop \ifdim\dimen0>0pt\advance\count255-1 + \advance\dimen0-\baselineskip \repeat + \edef\next{\endgroup \hangafter\the\count255 + \hangindent-\the\dimen2}\next} +\setbox0\frame{3cm}{3cm}{0cm} ^^|\marginbox| +\marginbox{0}At the begin of a paragraph you can leave room +for a box on the right side by using ^|\hangindent| and ^|\hangafter|. +In the present example the values for these commands have been +computed from the dimensions of the box. +In addition we made sure that there will be no page break +between the first lines of the paragraph with the hanging +indentation. +This paragraph was started with the commands +\begintt +\setbox0\frame{3cm}{3cm}{0cm} +\marginbox{0}At the begin ... +\endtt +and the macro definition +\beginttlines +\def\marginbox#1{\par\begingroup \count255=#1\relax + \dimen0=\ht\count255 \advance\dimen0\dp\count255 + \dimen2\dimen0 \advance\dimen2\parskip + \skip0=0pt plus\dimen2 \vskip\skip0 \penalty-110 \vskip-\skip0 + \strut \vadjust{\kern-\dp\strutbox \vtop to\dp\strutbox + {\kern-\ht\strutbox \baselineskip\dp\strutbox + \rtline{\copy\count255}\vss\null}}% + \dimen2.5em\advance\dimen2\wd\count255 + \count255=0 \loop \ifdim\dimen0>0pt\advance\count255-1 + \advance\dimen0-\baselineskip \repeat + \edef\next{\endgroup \hangafter\the\count255 + \hangindent-\the\dimen2}\next} +\endttlines +\noindent With slight modifications in the definition of +|\marginbox| the paragraph could start without the usual paragraph +indentation (|\noindent|) or the hanging indentation could be on the +left side (|\hangindent>0|). + +\def\stepbox#1{\begingroup\count255=#1\relax + \dimen0\ht\count255 \advance\dimen0-\ht\strutbox + \lower\dimen0\copy\count255 + \dimen0\ht\count255 \advance\dimen0\dp\count255 + \advance\dimen0\lineskip + \vadjust{\nobreak \vskip-\dimen0}\allowbreak + \dimen0\hsize \advance\dimen0-\leftskip + \advance\dimen0-\rightskip \advance\dimen0-\wd\count255 + \dimen4\ht\count255 \dimen6\dp\count255 \dimen8\wd\count255 + \setbox0\null \ht0\dimen4 \dp0\dimen6 \wd0\dimen8 + \advance\dimen6-\dp\strutbox + \count255=0 \dimen2=0pt \loop \advance\count255 1 + \ifdim\dimen2<\dimen0 + \advance\dimen2 .25em\repeat \divide\dimen0\count255 + \loop\ifnum\count255>0 \advance\count255-1 \vadjust{}\kern\dimen0 + \allowbreak \repeat + \raise\dimen6\box0 \endgroup} +\setbox0\hbox{$\mat{a&b\cr c&d\cr}$} +\setbox2\frame{2cm}{15mm}{0pt} ^^|\stepbox| +Finally, as the most complicated example to place boxes in a paragraph, +we have a matrix \stepbox{0} and a framebox \stepbox{2} placed such +that their top matches the text to their left and their bottom +matches the text to their right. + +\edef\next{\the\prevgraf}The method used to achieve this effect is +somewhat devious and not entirely satisfactory, but it is the best we +could think of. +The previous paragraph actually consists of {\next} lines and there is +a slight chance that there is an undesirable page break. +We have used the commands +\begintt +\setbox0\hbox{$\mat{a&b\cr c&d\cr}$} +\setbox2\frame{2cm}{15mm}{0pt} +.... matrix \stepbox{0} and a framebox \stepbox{2} placed ... +\endtt +together with the macro definition +\beginttlines +\def\stepbox#1{\begingroup\count255=#1\relax + \dimen0\ht\count255 \advance\dimen0-\ht\strutbox + \lower\dimen0\copy\count255 + \dimen0\ht\count255 \advance\dimen0\dp\count255 + \advance\dimen0\lineskip + \vadjust{\nobreak \vskip-\dimen0}\allowbreak + \dimen0\hsize \advance\dimen0-\leftskip + \advance\dimen0-\rightskip \advance\dimen0-\wd\count255 + \dimen4\ht\count255 \dimen6\dp\count255 \dimen8\wd\count255 + \setbox0\null \ht0\dimen4 \dp0\dimen6 \wd0\dimen8 + \advance\dimen6-\dp\strutbox + \count255=0 \dimen2=0pt \loop \advance\count255 1 + \ifdim\dimen2<\dimen0 + \advance\dimen2 .25em\repeat \divide\dimen0\count255 + \loop\ifnum\count255>0 \advance\count255-1 \vadjust{}\kern\dimen0 + \allowbreak \repeat + \raise\dimen6\box0 \endgroup} +\endttlines + +On our installation there exists the possibility to combine {\TeX} +output +with ^{plots}. +If you specify the option ^|\graphics| the command\lb +^|\graphic||{|\<plot +specification>|}{|\<width>|}{|\<heigth>|}{|\<depth>|}|\lb +produces an invisible plot box and uses ^|\special| commands in order to +transfer the \<plot specification> together with the coordinates to the +DVI-file. +Lateron when the DVI-file is prepared for printing on a suitable device +a plot from a (GKS) plot metafile will be inserted. +If you specify the option ^|\nographics| (default) the command +|\graphic| +will produce a frame box of exactly the same dimensions as the plot box +and write a note to the LOG-file. +\midinsert \advance\leftskip by 2.5 cm +\advance\rightskip by 2.5 cm +\ctrline{\frame{10cm}{5cm}{0cm}} +\FFIG\figr1{Demonstration of how to leave 5 cm of blank space for +a figure and to generate a figure caption} \endinsert +\subsec{Example:}Immediately before this unnumbered subsection +we have used the commands +\begintt +\midinsert \advance\leftskip by 2.5 cm +\advance\rightskip by 2.5 cm +\ctrline{\frame{10cm}{5cm}{0cm}} +\FFIG\figr1{Demonstration of how to leave 5 cm of blank space for +a figure and to generate a figure caption} \endinsert +\endtt +to leave blank space for a figure and generate the caption. +We can now refer to this figure as `\qufig{\figr1}' by using +the command `|\qufig{\figr1}|'. + +Another set of commands reserves blank space for pictures +and allows for a more elaborate description below them, but +will not produce entries for the list of figure captions. +If you want such entries you have to combine these commands +with |\fig| or |\FIG|. +The command\lb +|\pict{|\<dimension>|}| or ^|\pict|^\<label>|{|\<dimension>|}|\lb +will reserve a blank space of vertical dimension +\<dimension> for a picture, followed by a description +(actually a ^|\varitem|). +If the \<label> is omitted {\TeX} will assign a figure number, +otherwise the \<label> will be used. +You can use ^|\PICT|\<code~name> instead of |\pict| if you want +to refer to the figure number lateron. +The description may start with a part relevant for the whole +picture. +This may be followed by one or several commands +^|\spict||{|^\<slabel>|}| and the description of some part of +the picture labelled \<slabel>. +The entire description will terminate with the next ^|\par| +or ^{blank line}. +You may, however, use ^|\parvskip||\parskip| to divide the description +itself into several paragraphs. + +\pageinsert\singlespace\centerline{An inserted page\strut}\hrule +\strut First we give an example where |\PICT| is used without +a \<label> (automatic numbering). +The sequence of commands +\beginttlines +\PICT\figr2{1cm} First we have a description for the whole +picture. The descriptions for its parts could, of course, be +omitted. +\spict{(a)} This is the description for part (a) if the picture. +It is indented somewhat more to leave room for the sub-label. +\spict{(b)} Here is the description for another part. + +\endttlines +yields +\PICT\figr2{1cm} First we have a description for the whole +picture. The descriptions for its parts could, of course, be +omitted. +\spict{(a)} This is the description for part (a) if the picture. +It is indented somewhat more to leave room for the sub-label. +\spict{(b)} Here is the description for another part. + +\noindent Note that we have not produced an entry in the list of +figure captions for the \qufig{\figr2} above. +In the next example we use |\FIG| to produce such an entry and then +|\pict| with a \<label> to generate the description. +Moreover we use |\parvskip\parskip| to start a new paragraph +inside the description. +\beginttlines +\FIG\figr3{A picture with description for its two +parts (a) and (b)} +\pict\figr3{12mm}\spict{(a)} Here the description for the first +part starts without any description common to all parts. +\parvskip\parskip We can start a new paragraph without +\parvskip\parskip\indent or with indentation. +\spict{(b)} Description for the second part.\par +\noindent We can now refer to the whole figure as \qufig{\figr3} +or just to the second part as \qufig{\figr3}b and so on. +\endttlines +\FIG\figr3{A picture with description for its two +parts (a) and (b)} +\pict\figr3{12mm}\spict{(a)} Here the description for the first +part starts without any description common to all parts. +\parvskip\parskip We can start a new paragraph without +\parvskip\parskip\indent or with indentation. +\spict{(b)} Description for the second part.\par +\noindent We can now refer to the whole figure as \qufig{\figr3} +or just to the second part as \qufig{\figr3}b and so on\strut. +\par\hrule\endpage\endinsert +Here we have used the commands +\begintt +\pageinsert\singlespace\centerline{An inserted page\strut}\hrule +\strut First we give ... +.... +.... and so on\strut. +\par\hrule\endpage\endinsert +\endtt +to demonstrate, on a separate page, how these commands work and how +they can be combined with the other figure caption macros. +\sect{Table Captions and Tables} ^^{table captions} +The table options ^|\taball|, ^|\tabchap|, ^|\tabsect|, +^|\tabpage|, ^|\notabpage| and the table caption macros +^|\tab|, ^|\ttab|, ^|\TAB|, ^|\TTAB|, +^|\qutab|, ^|\tabadd|, ^|\tabout| and ^|\tabkill| +are the exact analogue of those for figures. + +The {\TeX}book \quref{\texbook} explains in detail the use of +^|\halign| to align table entries. +This is in fact rather simple as long as you do not want vertical +rules. +For tables with vertical rules you may consult the examples on pages +247 (Chapter 22: Alignment) and 392 (Appendix D: Dirty Tricks). + +Based on the example on page 247 there is a macro ^|\table| +for ^{tables} with vertical rules. +The syntax for |\table| is identical to that for |\halign|:\lb +|\table|^\<box specification>|{|^\<alignment material>|}|.\lb +There are, however, a few restrictions. +\pointbegin The ^\<preamble> must terminate with ^|\cr|, +not with ^|\crcr|. +Immediately after the |{| which precedes the preamble, after an |&| +which terminates a template in the preamble (but not after a second +|&| which indicates that the remainder of the preamble shall be +repeated if necessary) and immediately after the |\cr| which +terminates the preamble you can specify ^|\vrule| to indicate a vertical +rule at this point. +\point Immediately after the preamble (after the |\cr| or |\vrule|) +you may specify ^|\hrule| or ^|\noalign||{...}|. +If you use |\noalign| the vertical rules will, in general, be +interrupted. +\point The preamble may contain ^|\span| (expand) as usual but this +macro expansion must not produce any |&|, |\vrule| or |\cr|. +\point The rest of the ^\<alignment material> may contain +^|\omit|, ^|\span| and ^|\multispan| as usual but all |&|'s +and |\cr|'s must be explicit. +\point |\table| uses the \<glue> parameter ^|\htabskip| and the +\<dimension> parameter ^|\vtabskip| for extra space between the +aligned material and the position where rules are or could be. +The default values are `1em plus 2em minus .5 em' (for 12pt roman) +and `2.5pt' respectively. +\point Inside a table you can use +|\ml{...\nl...}| to produce table entries which consist +of several lines. +The ^|\ml| (multi line mode) could be part of the preamble, +each ^|\nl| (new line) starts a new line. +\midinsert \hbox{\hskip1cm\vtop{\hrule height0pt\table to5.5cm{ + \vrule\hfil#&\vrule#\hfil\cr \vrule \hrule + This is a&\ml{simple\nl table}\cr \hrule + A normal&row\cr \hrule \noalign{\vskip1pt}\hrule + \multispan2\hfil Three rows which span\hfil\cr + \multispan2\hfil two columns and are\hfil\cr + \multispan2\hfil centered\hfil\cr \hrule}}\hskip.5cm% + \vtop{\hsize7cm\hrule height0pt\raggedright + \TTAB\tabl1{Example of a rather simple table which + is extended to 5.5 cm. The description appears as + a 7 cm wide paragraph to the right of the table.}}} +\endinsert +\midinsert \advance\leftskip by 2 cm +\advance\rightskip by 2 cm +\TTAB\tabl2\tabl1 a{E. Cartan's list of classical and +exceptional simple Lie algebras.} +\bigskip +\centerline{\table to 11cm{ + $#$\hfil&\vrule&\hfil$#$\hfil&\vrule + \hfil$#$\hfil&\vrule$#$\hfil\cr\hrule + $Lie Algebra$&\rm Rank&\rm Dimension&% + \ml{corresponding\nl classical group + \nl(compact real form)}\cr\hrule + A_n\quad(n\ge1)&n&n(n+2)&SU(n+1)\cr + B_n\quad(n\ge2)&n&n(2n+1)&SO(2n+1)\cr + C_n\quad(n\ge3)&n&n(2n+1)&USp(2n)\cr + D_n\quad(n\ge4)&n&n(2n-1)&SO(2n)\cr \hrule + G_2&2&14\cr F_4&4&52\cr E_6&6&78\cr + E_7&7&133\cr E_8&8&248\cr }}\endinsert +\subsec{Examples:}The two tables \qutab{\tabl1} and \qutab{\tabl2} +are produced with the following sequence of commands: +\beginlines +|\midinsert \hbox{\hskip1cm\vtop{\hrule height0pt\table to5.5cm{| +| \vrule\hfil#&\vrule#\hfil\cr \vrule \hrule| +| This is a&\ml{simple\nl table}\cr \hrule| +| A normal&row\cr \hrule \noalign{\vskip1pt}\hrule| +| \multispan2\hfil Three rows which span\hfil\cr| +| \multispan2\hfil two columns and are\hfil\cr| +| \multispan2\hfil centered\hfil\cr \hrule}}\hskip.5cm%| +| \vtop{\hsize7cm\hrule height0pt\raggedright| +| \TTAB\tabl1{Example of a rather simple table which| +| is extended to 5.5 cm. The description appears as| +| a 7 cm wide paragraph to the right of the table.}}}| +|\endinsert| +\endlines +and +\beginlines +|\midinsert \advance\leftskip by 2 cm| +|\advance\rightskip by 2 cm| +|\TTAB\tabl2\tabl1 a{E. Cartan's list of classical and| +|exceptional simple Lie algebras.}| +|\bigskip| +|\centerline{\table to 11cm{| +| $#$\hfil&\vrule&\hfil$#$\hfil&\vrule| +| \hfil$#$\hfil&\vrule$#$\hfil\cr\hrule| +| $Lie Algebra$&\rm Rank&\rm Dimension&%| +| \ml{corresponding\nl classical group| +| \nl(compact real form)}\cr\hrule| +| A_n\quad(n\ge1)&n&n(n+2)&SU(n+1)\cr| +| B_n\quad(n\ge2)&n&n(2n+1)&SO(2n+1)\cr| +| C_n\quad(n\ge3)&n&n(2n+1)&USp(2n)\cr| +| D_n\quad(n\ge4)&n&n(2n-1)&SO(2n)\cr \hrule| +| G_2&2&14\cr F_4&4&52\cr E_6&6&78\cr| +| E_7&7&133\cr E_8&8&248\cr }}\endinsert| +\endlines + +%*** end of file PMANFGTB *** +% \input pmanref % references +%*** this is file PMANREF as of 11.03.86 *** +\chap{References} +There are two basic way to quote ^{references} in an article or book. +One possibility is to assign a number to each reference when it +is used for the first time and to list them all, ordered by numbers, +in the list of references. +The other possibility is to quote references by the name of the +author(s) and possibly a date and list them all in alphabetic order. +Most of this chapter deals with the first of these +possibilities (numeric references). ^^{references, numeric} +Only one section later on will describe how to use references by name. +^^{references, by name} + +The reference macros have to serve several purposes: they must +\pointbegin save the reference text, +\point assign numbers to the references, +\point put quotations to references in the text and +\point print a list of all references. +\par\noindent There is a variety of reference macros which perform +one or several of these tasks. +\sect{Form of References} +The command ^|\quref| is very similar to the command ^|\queq| +for equations, it quotes all the references in its argument. + +You may specify ^|\refsup| (default) if quotations to references +should normally appear as superscripts +(\qurefsup like this \quref{\texbook}) +or ^|\refsqb| if they or should be enclosed in square brackets +(\qurefsqb like this \quref{\texbook}). +These options will also affect the form of the list of references +and they cannot be changed once the first reference is used. +You can however specify ^|\qurefsup| (default with |\refsup|), +^|\qurefsqb| (default with |\refsqb|) or ^|\qurefnum| +if at some place you want to deviate from your usual style of +quotation. +Unlike most other specifications described in this manual they are +local to the group (e.g.\ |{...}|) within which they occur. +The input:\lb +|the conjecture by {\qurefsup M\"uller \quref{a}} and {\qurefsqb|\lb +|Schulz \quref{b}} was proven in {\qurefnum Ref.~\quref{I}}.|\lb +yields:\lb +the conjecture by {\qurefsup M\"uller \quref{a}} and {\qurefsqb +Schulz \quref{b}} was proven in {\qurefnum Ref.~\quref{I}}. + +The commands ^|\qref| and ^|\qrefs| are similar to ^|\qeq| and ^|\qeqs|, +i.e. |\qref{...}| is a shorthand for\lb +|{\qurefnum Ref.~\quref{...}}| (or its german equivalent). + +The commands ^|\refpage|, ^|\norefpage|, ^|\refadd|, ^|\refout| and +^|\refkill| have exactly the same function +as the corresponding ones for figures and tables. +\sect{Predefined References} ^^{references, predefined} +You may wish to define some or all references at the begin of your +input. +The command ^|\RF|\<code~name>|{|\<text>|}| will save \<text> +but will not assign a number to the reference. +A number will be assigned when the first quotation of this reference +appears in the text. +References defined with |\RF| can therefore appear in any order. +Those never quoted will not appear in the list of references. + +If you use the commnand ^|\RFlist| (default) predefined references will +be stored as macro definitions, +if you use ^|\RFfile| they will be stored on an external file. + +You can use the command ^|\RFext|~\<filename>{\vspace} to indicate that +all your |\RF|'s are contained in an external file. +This method is somewhat more efficient than |\RFfile| because there +is no need to copy all |\RF|'s to an auxiliary file. +\subsec{Note:}Clearly |\RFlist| is faster than |\RFfile| and |\RFext| +but also needs more storage to keep the text of all references. +|\RFfile| or |\RFext| should only be used if necessary, because the +method is not very efficient. +It may happen that the (auxiliary or external) file containing the +|\RF|'s has to be read several times in order to retrieve the text +of all references. +The maximal number of predefined references kept in storage is given +by the counter ^|\RFmax| with the default value 50. +If the reference texts are very long it may be necessary to reduce this +value, if the texts are rather short and there are more than 50 +predefined references the value of |\RFmax| could be increased. +\subsec{Warning:}Alternating definition and (first) use of predefined +references should be avoided under all circumstances, if |\RFfile| has +been specified. +\subsec{Examples:}We may use the commands +\lb|\RF\AUThor{A.U. Thor, \dots}| +\lb|\RF\Drof{R.J. Drofnats, \dots;\lb| +\lb| A. Kabelschacht, \dots}|\lb +\RF\AUThor{A.U. Thor, \dots} +\RF\Drof{R.J. Drofnats, \dots;\lb + A. Kabelschacht, \dots} +to predefine two references, the second one with two articles. +Lateron we use the input\lb +|\dots\space this hypothesis \quref{\Drof} has recently been|\lb +|proven \quref{\AUThor} \dots|\lb +to obtain:\lb +\dots\space this hypothesis \quref{\Drof} has recently been +proven \quref{\AUThor} \dots + +A certain difficulty arises if all references are predefined and you +want (e.g.\ in the introduction) to refer to several of them as +e.g.\ `\quref{1-4}', because you have to use all of them in order to +assign numbers but you do not want all these numbers in your output. +The solution is\lb +|\quref{|\<code~name>|\use{|\<code~name>\<code~name>|}-|\<code~name>|}|. +\lb +The command ^|\use| puts its argument into an hbox and throws this +hbox away, which may be useful for other purposes as well. +\subsec{Examples:}The input +\begintt +\RF\uuu{uuu} \RF\vvv{vvv} +\RF\www{www} \RF\xxx{xxx} +\dots\space \quref{\uuu\use{\vvv\www}-\xxx} \dots +\endtt +yields:\lb +\RF\uuu{uuu} \RF\vvv{vvv} +\RF\www{www} \RF\xxx{xxx} +\dots\space \quref{\uuu\use{\vvv\www}-\xxx} \dots +\sect{Single References} +You can use ^|\ref||{|\<text>|}| to define a reference which is used +just once. +This command saves \<text>, assigns a number and quotes this reference. +\lb You can use ^|\REF|\<code~name>|{|\<text>|}| to define a reference +which is used several times. +This command saves the \<text> and assigns a number. +It will, however, generate no quotation to this reference. +To obtain such a quotation use ^|\refend| (which always refers +to the reference number which was assigned last) or +|\quref{|\<code~name>|}|. +\subsec{Examples:}The input\lb +|\dots\space \ref{aaa} \dots\space \REF\bbb{bbb}\refend\space\dots|\lb +yields:\foot{Observe the effects in the list of references}\lb +\dots\space \ref{aaa} \dots\space \REF\bbb{bbb}\refend\space\dots +\sect{Multiple References} ^^{references, multiple} +In order to generate multiple references you can, of course, use +|\quref| with sufficiently complicated arguments. +If you want, however, to introduce a number of new references and +refer to all of them you can use the sequence of commands: +\lb^|\refs||{|\<text>|}| or ^|\REFS|\<code~name>|{|\<text>|}| +\lb^|\refscon||{|\<text>|}| or ^|\REFSCON|\<code~name>|{|\<text>|}| +\lb|...| +\lb|\refscon{|\<text>|}| or |\REFSCON|\<code~name>|{|\<text>|}| +\lb^|\refsend|. +\lb If you omit the |\refsend| the quotation +to these references will be omitted. +If you wish, you can in fact use |\refsend| several times. +\subsec{Examples:}The input +\begintt +\dots\space \REFS\ccc{ccc} \refscon{This is a ... indented.} +\REFSCON\eee{eee} \refsend\space\dots +\quref{\Drof,\ccc-\eee} +\endtt +yields:\lb +\dots\space \REFS\ccc{ccc} \refscon{This is a very long reference which +will certainly need more than one line; the second line will be +indented.} +\REFSCON\eee{eee} \refsend\space\dots +\quref{\Drof,\ccc-\eee} +\sect{References by Name} ^^{references, by name} +The command ^|\refnam| indicates that you want references by +name. +In this case all references must be predefined (|\RF|) and their order +is important. +All those used at least once will be printed in the list of references +in exactly the same order. +Because it is much harder to standardize quotations for references by +name the command |\quref| will not produce any visible output. +It will just remember which references have been used. +The commands |\qref|, |\qrefs| and all commands for single or multiple +references cannot be used together with |\refnam|. +\sect{Multiple Lists of References} +It is quite possible to have a separate list of references after +each chapter. +You just have to use |\refout| (probably with the option |\norefpage|) +at the end of each chapter. +The command ^|\refout| will not only print a list of references +but will in addition reset the reference counter to zero and forget +all code names used for single and multiple references. +All the code names for predefined references will, however, still be +defined and available for future use in a later chapter. +\sect{Macros for Physics Journals} +In order to facilitate the writing of references and to conserve +storage there are macros for frequently used ^{physics journals}. +You can choose between the options ^|\yearpage| (default) or +^|\pageyear| if references generated by these macros should have +the form `\yearpage \journal{journal}volume(year)page*' +or `\pageyear \journal{journal}volume(year)page*'.\yearpage +The printing of the journal name and volume is determined by +^|\journalstyle| and ^|\volumestyle| with the default definitions +\lb|\def\journalstyle{\sl}| (slanted) and +\lb|\def\volumestyle{\bf}| (boldface);\lb + other useful possibilities are +\lb|\def\volumestyle{\underbar}| (underlined) or +\lb|\def\volumestyle{}| (roman). + +The basic macros are\lb +^|\journal||{|\<journal name>|}|\<volume>|(|\<year>|)|\<page(s)>|*|\lb +for journals with ordinary volume numbers,\lb +^|\journalp||{|\<journal name>|}|\<letter>\<volume>|(|\<year>|)|% +\<page(s)>|*|\lb +for journals where a letter precedes the volume numbers +(e.g.\ \Nucl\Phys) and\lb +^|\journalf||{|\<journal name>|}|\<letter>\<volume>|(|\<year>|)|% +\<page(s)>|*|\lb +for journals where a letter follows the volume numbers +(e.g.\ \Phys\Lett). + +The following macros for frequently used physics journals are defined +in terms of these basic macros: +^^|\NPA|^^|\NPB|^^|\PLA|^^|\PLB|^^|\PR|^^|\PRA|^^|\PRB|^^|\PRC| +^^|\PRD|^^|\PRL| +%*** the following lines are copied from PHYSJRNL *** +\beginttlines +\def\NPA{\journalp{\Nucl\Phys}A} +\def\NPB{\journalp{\Nucl\Phys}B} +\def\PLA{\journalf{\Phys\Lett}A} +\def\PLB{\journalf{\Phys\Lett}B} +\def\PR{\journal{\Phys\Rev}} +\def\PRA{\journalp{\Phys\Rev}A} +\def\PRB{\journalp{\Phys\Rev}B} +\def\PRC{\journalp{\Phys\Rev}C} +\def\PRD{\journalp{\Phys\Rev}D} +\def\PRL{\journal{\Phys\Rev\Lett}} +\endttlines +where macros for frequently used abbreviations +(e.g.\ `|\Phys|' for `\Phys') +are used in order to conserve storage space. +\subsec{Examples:}The following list displays the use of some of these +macros together with the resulting output. + +\halign{`#'\qquad\hfill&`#'\hfill\cr +|\pageyear\PRL23(1976)27*|&\pageyear\PRL23(1976)27*\cr +|\yearpage\PRL23(1976)27--29*|&\yearpage\PRL23(1976)27--29*\cr +|\PRL45(1980)*|&\PRL45(1980)*\cr +|\PRL45()*|&\PRL45()*\cr +|\PRL(1984)*, to appear|&\PRL(1984)*, to appear\cr +|\NPB72(1982)13*|&\NPB72(1982)13*\cr +|\NPB()* (to appear)|&\NPB()* (to appear)\cr +|\PLA72(1982)13--27*|&\PLA72(1982)13--27*\cr +} + +%*** end of file PMANREF *** +% \input pmanfoot % footnotes and insertionss +%*** this is file PMANFOOT as of 11.03.86 *** +\chap{Footnotes and Insertions} +\sect{Footnotes} ^^{footnotes} +You can use the command ^|\footbot| (default) or ^|\footend| +if `footnotes' should appear at the bottom of the page (as footnotes +like this\foot{A footnote at the bottom of the page}) +or should be printed separately at the end in the same way as +figure captions, table captions and references (as required +by some journals) like this\footend\foot{A footnote at the end +of the paper}\footbot. +In the later case you can use the commands ^|\footpage|, +^|\nofootpage|, ^|\footadd|, ^|\footout| and ^|\footkill| +which have exactly the same function as the corresponding ones for +figures, tables and references. + +To generate footnotes you can use either\lb +^|\footnote||{|\<symbol>|}{|\<text>|}|\foot{The lack of space between +`|}|' and `|{|' in this and similar constructions is significant!} +or ^|\foot||{|\<text>|}|.\lb +The difference is that with |\footnote| you choose your own +symbol, whereas footnotes produced with |\foot| are automatically +numbered and the (superscripted) number is used as symbol. +You can choose between ^|\footsqb| (default) and ^|\footpar| +to get these numbers enclosed in square brackets or followed by +a parenthesis. + +The text of footnotes (only those at the bottom of the page) will +start with the command ^|\footstyle| with the default definition\lb +|\let\footstyle\relax|.\lb +If you want your footnotes printed in 10pt you should replace this +by e.g.\lb +|\def\footstyle{\tenpoint}|. +\subsec{Examples:}We will first use \foot{This is a short footnote}\lb +|\foot{This is a short footnote}|\lb +then +\footnote{*}{This is a footnote. In order to see the difference +in spacing within and between footnotes we make it long}\lb +|\footnote{*}{This|\dots\lb +\dots| long}|\lb +and finally \foot{This is another short footnote}\lb +|\foot{This is another short footnote}|\lb +to generate three footnotes. + +With the option |\footbot| footnotes are insertions which should +eventually migrate to \TeX's main vertical list (compare the +\TeX book \quref{\texbook}). +They will, however, not do so, i.e.\ are lost, if they are hidden +inside nested boxes, e.g.\ in a table. +In such a case you can split the function of\lb +|\foot{|\<text>|}| resp.\ |\footnote{|\<symbol>|}{|\<text>|}| into\lb +^|\hfoot| resp.\ ^|\hfootnote{|\<symbol>|}| which will produce the +reference to the footnote as well as save the symbol in the (global) +variable ^|\footid| and\lb +^|\vfootnote||\footid{|\<text>|}| somewhat later on the same page which +will produce the footnote insertion, such that the insertion can +migrate to the main vertical list. +\subsec{Examples:}The input ^^|\boxit| +\begintt +\boxit{A lost footnote\foot{A lost footnote}}\quad +\boxit{Two footnotes\hfoot \glet\footxx=\footid \space inside + a box\hfootnote{$^*$}} +\vfootnote\footxx{First footnote from inside a box} +\vfootnote\footid{Second footnote from inside a box} +\endtt +yields:\lb +\boxit{A lost footnote\foot{A lost footnote}}\quad +\boxit{Two footnotes\hfoot \glet\footxx=\footid \space inside + a box\hfootnote{$^*$}} +\vfootnote\footxx{First footnote from inside a box} +\vfootnote\footid{Second footnote from inside a box} +\sect{Insertions} +You can use PLAIN's commands ^|\midinsert|, ^|\topinsert| and +^|\pageinsert| together with ^|\endinsert| to produce ^{insertions} +(e.g.\ tables or blank space for figures). + +%*** end of file PMANFOOT *** +% \input pmantoc % table of contents +%*** this is file PMANTOC as of 06.03.86 *** +\chap{Table of Contents} +During the processing of your manuscript you {\TeX} can collect +information for a ^{table of contents} which can be printed at the end. +It is, however, no problem to manipulate page numbers in such a way +that the table of contents appears e.g.\ on pages 1 and 2 and the +text starts on page 3. + +The commands ^|\tocpage|, +^|\notocpage|, ^|\tocadd|, ^|\tocout| and ^|\tockill| +which have exactly the same function as the corresponding ones for +figures, tables and references. + +You can specify an entry for the table of contents with the command\lb +^|\toc||{|\<label>|}{|\<text>|}|\lb +and the page number will be automatically appended to the \<text>. + +You can also use the possibility to generate entries automatically. +\bullitem If you choose the option ^|\tocnone| (default) there will +be no automatic entries for the table of contents. +\bullitem With the option ^|\tocchap| one entry will be +automatically generated for each chapter (with the chapter +number as \<label> and the chapter title as \<text>) and for each +appendix. +\bullitem With the option ^|\tocsect| there will be in addition +one entry for each section (as in this manual). +\bullitem With the option ^|\tocsecs| there will be in addition +one entry for each subsection. +\bullitem With the option ^|\tocsecss| there will be in addition +one entry for each sub-subsection. +\bullitem With the option ^|\tocsecsss| there will be in addition +one entry for each sub-sub-subsection. + +\noindent You can combine these automatic entries with additional ones +specified by ^|\toc| and ^|\tocadd|. +The input +\begintt +\tocadd{Note that most of this table of contents has been produced + automatically with the option `tocsect'. + Only this paragraph and the immediately following entry + have been produced explicitely.} +\toc{Demonstration}{how to generate (explicitely) an entry for the + table of contents. Very long entries will be split into several + lines with apropriate indentation on both sides} +\endtt +\tocadd{Note that most of this table of contents has been produced + automatically with the option `tocsect'. + Only this paragraph and the immediately following entry + have been produced explicitely.} +\toc{Demonstration}{how to generate (explicitely) an entry for the + table of contents. Very long entries will be split into several + lines with apropriate indentation on both sides} +does not produce any visible output at this point. +The effect can, however, been seen in the table of contents. + +%*** end of file PMANTOC *** +% \input pmantext % some macros for text +%*** this is file PMANTEXT as of 06.03.86 *** +\chap{Some Macros for Text} +The command ^|\thetime| yields the time in the form `hh:mm' +(e.g.\ \thetime), ^|\themonth| yields the current month in words +(e.g.\ \themonth\ or \german\themonth), +^|\date| yields todays date in the form `dd.mm.yy' (e.g.\ \date) and +^|\thedate| yields todays date in long form such as `\thedate' or +`\english\thedate'. + +You can use ^|\ctrline|, ^|\lftline| or ^|\rtline| to produce a +centered, left-justified or right-justified line of text. +These commands are almost identical to PLAIN's ^|\centerline|, +^|\leftline| and ^|\rightline| but they use |\hfil| instead +of |\hss|. +The use of |\hfil| does not allow the line to stick out on one +or both sides but it does allow to cancel the |\hfil| by an +|\hfilneg| or to override it by an |\hfill|. + +The definition of ^|\loop| has been modified in order to allow +the construction\lb +|\loop ... \if... ... \else ... \repeat| in addition to\lb +|\loop ... \if... ... \repeat|. + +PLAIN's commands `^|\{|', `^|\}|', `^|\,|', `^|\>| and `^|\;|' +have been modified and can be used in horizontal mode +as well as in math mode. +Moreover you can use ^|\Mit||{...}| to produce `math italic' and +^|\Cal||{...}| to produce `caligraphic' text. +Both commands can be used inside and outside math mode and |\Cal| +will automatically translate its argument to upper case. + +Any input between ^|\comment| end ^|\endcomment| will be ignored, +i.e.\ treated as comment. +Note, however, that |\endcomment| must appear as the first +(nonblank) token of an input line. + +The command ^|\boxit||{...}| puts its argument into a box. + +The commands ^|\topsmash| and ^|\botsmash| are similar to ^|\smash| +but only the part above or below the baseline is `smashed'. +\subsec{Examples:}The input +\begintt + +\line{\boxit{\boxit{\;$a\over b$\;}}\hfill + \boxit{\boxit{\vphantom{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\hphantom{\;$a\over b$\;}}}} +\line{\boxit{\boxit{\rlap{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\topsmash{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\phantom{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\botsmash{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\smash{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\llap{\;$a\over b$\;}}}} + +\endtt +yields: + +\line{\boxit{\boxit{\;$a\over b$\;}}\hfill + \boxit{\boxit{\vphantom{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\hphantom{\;$a\over b$\;}}}} +\line{\boxit{\boxit{\rlap{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\topsmash{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\phantom{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\botsmash{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\smash{\;$a\over b$\;}}}\hfill + \boxit{\boxit{\llap{\;$a\over b$\;}}}} + +The command ^|\lb| is equivalent to |\hfil\break| and can be used to +force a line break.\lb +The command ^|\endpage| is equivalent to |\par\vfil\eject| and can be +used to force a page break.\lb +If you use ^|\superendpage| instead of |\endpage| all pending footnotes +and insertions will be printed before the new page is started. + +The command ^|\use| has already been mentioned, it puts its argument +into an |\hbox| (with macro expansion as usual) and discards this +box.\lb +The command ^|\eat| equally discards its argument but without any macro +expansion.\lb +The command ^|\glet| is an abbreviation for |\global\let| and is used +primarily to conserve space used for macros. + +%*** end of file PMANTEXT *** +% \input pmanmath % mathematical expressions +%*** this is file PMANMATH as of 06.03.86 *** +\chap{Mathematical Expressions} +Let us once again use `|\qeq{\Eq1}|' to refer to equation +`|\Eq1|' defined earlier: +this time the result is `\qeq{\Eq1}'. + +PLAIN's macros ^|\matrix|, ^|\pmatrix| and ^|\bordermatrix| +have been modified as follows: +If you use the commands ^|\matc| (default), ^|\matl| or ^|\matr| +matrix elements will be centered (as in PLAIN), left justified +or right justified respectively. +Moreover you can use ^|\mat| as an abbreviation for ^|\pmatrix|. +\subsec{Examples:}The sequence of commands +\begintt +$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ +\matl +$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ +\matr +$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ +\matc +$$\mat{\sin\lambda&1&0\cr&\sin\lambda&1\cr&&\sin\lambda\cr}\eqn$$ +\endtt +yields +$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ +\matl +$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ +\matr +$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ +\matc +$$\mat{\sin\lambda&1&0\cr&\sin\lambda&1\cr&&\sin\lambda\cr}\eqn$$ + +The macros ^|\smallsum| and ^|\smallprod| give small summation +and product signs similar to PLAIN's ^|\smallint|. +These symbols are reduced in size if they appear in sub- or +superscripts. + +There are additional `^{math accents}' and there are also the +corresponding symbols which can be used as superscripts. +The complete list is:\lb +^|\dot| and ^|\dotsymbol| for one dot,\lb +^|\dotii| (or ^|\ddot|) and ^|\dotiisymbol| for two dots,\lb +^|\dotiii| and ^|\dotiiisymbol| for three dots,\lb +^|\dotiv| and ^|\dotivsymbol| for four dots,\lb +^|\vec| and ^|\vecsymbol| for an arrow,\lb +^|\bar| and ^|\barsymbol| for a bar,\lb +^|\tilde| and ^|\tildesymbol| for a tilde and\lb +^|\hat| and ^|\hatsymbol| for a hat. +\subsec{Examples:}The input: +\begintt +$\dot x=\dotii x=\dotiii x=\dotiv x= +\vec x=\bar x=\tilde x=\hat x$ or +$ABC^\dotsymbol=ABC^\dotiisymbol= +ABC^\dotiiisymbol=ABC^\dotivsymbol$ or +$DEF^\vecsymbol=DEF^\barsymbol= +DEF^\tildesymbol=DEF^\hatsymbol$ +\endtt +yields:\lb +$\dot x=\dotii x=\dotiii x=\dotiv x= +\vec x=\bar x=\tilde x=\hat x$ or +$ABC^\dotsymbol=ABC^\dotiisymbol= +ABC^\dotiiisymbol=ABC^\dotivsymbol$ or +$DEF^\vecsymbol=DEF^\barsymbol= +DEF^\tildesymbol=DEF^\hatsymbol$ +\sect{Mathematical Statements} +You may want to use macros to typeset ^{mathematical statements} +such as definitions, theorems, propositions, {\dots} and +proofs. +The problem is that different people have different ideas +how to name these statements. +Moreover one author prefers to number each class of +statements independently whereas another one would like them +all to share one sequence of numbers. +Therefore you must use the command ^|\defstmt| +(\underbar{def}ine \underbar{st}ate\underbar{m}en\underbar{t}) +to define macros for theorems etc.\ yourself according to +your preferences. +The syntax is\lb +|\defstmt{|\<macro>|}{|\<name>|}{|\<numbering>|} |.\lb +The command |\defstmt{Thm}{Theorem}{|\<numbering>|}| will +define a macro ^|\Thm| which can be used to state `Theorem's. +Any such `Theorem' starts with |\Thm|, followed by optional +text and by `:\vspace', and extends until the next statement or +^|\par| or ^{blank line} is encountered. +You may, however, use ^|\endgraf| to start a new paragraph +within a statement. +While you are inside such a statement the command +^|\label| will define a \<code~name> such that it represents +the number assigned to the statement. + +The command ^|\Prf| can be used to generate a proof. +The only difference is that proofs have no numbers and that +they may appear in a different font. + +The last argument \<numbering> of |\defstmt| determines how +this class of statements shall be numbered and must be one +of the following: +\bullitem `|aa|', `|ca|', `|cc|', `|sa|', `|sc|' or `|ss|' +where the first letter indicates whether the statements +shall be numbered throughout the whole paper (a), +per chapter (c) or per section (s). +The second letter indicates whether +these numbers shall be unique throughout the whole paper +(a), through each chapter, i.e.\ chapter numbers as prefix are +omitted, (c) or through each section, i.e.\ chapter and +section numbers are omitted, (s). +That means that the numbering options `|aa|', `|cc|' and +`|ss|' will yield numbers which look alike but which are +reset differently. +\bullitem `|=|' immediately followed by \<macro> of another +class of statements with which the new class shall share the +numbers. +\par\noindent Since the names of these statements are +supplied by the user there is no need to provide for +automatic switching between english and german text. +The following example demonstrates some of the possibilities. +The input: +\beginlines +|\defstmt{Def}{Definition}{ca}| +|\defstmt{Thm}{Theorem}{cc}| +|\defstmt{Lem}{Lemma}{=Thm}| +|\Def: \label\Df1 This is definition~\quote{\Df1}.| +|\Thm (very important)\label\Tm1 : Assume $X$ has the properties| +| \spointbegin $X$ is {\dots} and| +| \spoint $X$ is \dots| +|\endgraf\noindent Then \dots| +|\par Before we prove Theorem~\quote{\Tm1} we need| +|\Lem: \label\Lm1 This is a Lemma.| +|\Prf: According to Definition \quote{\Df1} all $X$ \dots| +|\Prf \rm of Theorem~\quote{\Tm1}:| +|Using Lemma~\quote{\Lm1} we can \dots| +|\par| +\endlines +yields: +\defstmt{Def}{Definition}{ca} +\defstmt{Thm}{Theorem}{cc} +\defstmt{Lem}{Lemma}{=Thm} +\Def: \label\Df1 This is definition~\quote{\Df1}. +\Thm (very important)\label\Tm1 : Assume $X$ has the properties + \spointbegin $X$ is {\dots} and + \spoint $X$ is \dots +\endgraf\noindent Then \dots +\par Before we prove Theorem~\quote{\Tm1} we need +\Lem: \label\Lm1 This is a Lemma. +\Prf: According to Definition \quote{\Df1} all $X$ \dots +\Prf \rm of Theorem~\quote{\Tm1}: +Using Lemma~\quote{\Lm1} we can \dots +\par + +%*** end of file PMANMATH *** +% \input pmansel % selective printing and start macros +%*** this is file PMANSEL as of 10.03.86 *** +\chap{Selective Printing and Start Macros} +\sect{Selective Printing} +Sometimes you want to print just one or a few pages of a long paper, +e.g.\ because there have been some minor changes.\lb +The command ^|\pagesel||{|\<first>|}{|\<last>|}| will suppress the +printing of all pages with page numbers not in the range `first--last'. +You can use |\pagesel| more than once, but you should consider +that \TeX's page breaking mechanism is somewhat delayed. + +Note, however, that |\pagesel| does not save any computing time. +Paragraphs will be broken into lines and lines will be assembled into +pages as usual. +\sect{Start Macros} +If you prepare a long paper you will usually want to process +smaller parts of it, one at a time. +This is always somewhat difficult but the following `start macros' +should help you:\lb +^|\startpage|\<number> for ^|\pageall| or\lb +^|\startpage|\<prefix>|.|\<number> for ^|\pagechap| sets the number +of the first page (as displayed on the LOG file),\lb +^|\startchap|\<number> sets the number for the next chapter,\lb +^|\startsect|\<number> sets the number for the next section,\lb +^|\startappendix||`|\<character> sets the character for the +next appendix,\lb +^|\startequ|\<number> sets the number for the next equation,\lb +^|\startfig|\<number> sets the number for the next figure,\lb +^|\starttab|\<number> sets the number for the next table,\lb +^|\startref|\<number> sets the number for the next reference and\lb +^|\startfoot|\<number> sets the number for the next footnote. + +These start macros initialize various count registers, but you may +still have to initialize other internal variables (e.g.\ the prefix +for equation numbers) which is normally done by ^|\chap|, ^|\sect| or +^|\appendix|. +In order to do so use +\pointbegin ^|\sectinit| if you want to \underbar{continue} a section +within chapter~0, +\point ^|\chapinit| if you want to \underbar{continue} any chapter +except chapter~0, or +\point ^|\appinit| if you want to \underbar{continue} an appendix. +\sect{Save and Restore} +If you want to process only one part of your manuscript but at the +same time want to refer to equations, figures, tables and references +defined in earlier parts you should use ^|\save|~\<filename>\vspace. +{\TeX} maintains a list of all \<code~name>'s defined so far +(except the names of references defined by ^|\RF| which have not yet +been used). +In order to save storage space you can use the commands\lb +^|\kill|\<code~name> or |\kill{|\<code~name>|...|\<code~name>|}|\lb +to delete \<code~name>'s which are no longer needed; +they are removed from the list and the corresponding definitions +are discarded. + +The command |\save| writes a sequence of commands to an external file +(with file type ^{TEXSAVE}) which can be used to restore all +definitions. +First there is a sequence of commands specifying options, +followed by start macros with appropriate arguments and macros which +will +restore the definitions of all \<code~name>'s on the list. +Note, however, that the counts for subequations, +((sub-)sub-)subsections and ((sub-)sub)points will +neither be saved nor restored. + +To set up a job which starts at the point of the ^|\save| +command you should +\pointbegin respecify all private macro definitions +\point repeat all definitions of references by ^|\RF| +\point use the command ^|\restore|~\<filename>\vspace +\foot{Sometimes it will be necessary to increase the page numer by +one. +The command |\startpage| should be followed by the page number of +that page on which the text immediately following the |\save| +command appears.} +\point start whith the input right after the |\save| command. +\par\noindent Finally if the text immediately after the |\save| +command (e.g.\ a new chapter) doesn't start on a new page +\point either start with the command ^|\vglue| (not |\vskip|) +followed by the right dimension (e.g.\ `5.3cm') or +insert commands to enforce a line and page break at the desired +point:\lb +^|\vadjust||{\endpage}\lb| for a page break in the middle of a paragraph +or\lb +^|\endpage| for a page break between paragraphs. +\sect{Forward References} +Usualy you can refer to a \<code~name> only after it has been defined +and a value is assigned to it (^{backward reference}s). +If you want to refer to something which is defined at a later point in +the manuscript (^{forward reference}) you can use the command +^|\crossrestore|~\<filename>{\vspace} (restore information for cross +references) just before the begin of the actual text of the +manuscript and the commands |\superendpage| and |\save| (with the +same \<filename>) +immediately before the command |\bye|. +If you process your manuscript for the first time you will get +an error message that the file for |\crossrestore| is missing and a +%*** user exits *** % called before +lot of \<code~name>'s will be undefined. +The next time, when the file for |\crossrestore| is present, all these +names will be defined in exactly the same way they were defined at +the end of the previous run. +There should be no more undefined \<code~name>'s unless they are +misspelled or are defined nowhere in the manuscript. +Clearly these definitions may not be accurate if you have meanwhile +modified the manuscript; in this case forward references will not be +accurate in the this run but backward references will allways be +correct. +\sect{User Exits} +There are a few ^{user exits} which can be used for special +applications. +All user exits are named ^|\...userexit| and any argument(s) are +contained in the token list register ^|\toks0|, ^|\toks2|, |...|~. + +The following list contains all user exits presently defined together +with their default definition: +%*** the following lines are copied from PHYSTEXT *** +\beginttlines +%*** user exits *** % called before + +\def\skipuserexit{\setbox0\box255 } % page is not printed +\def\shipuserexit{\unvbox255 } % page is printed + +\def\chapuserexit{\sectuserexit} % chapter title +\def\appuserexit{\chapuserexit} % appendix title +\def\sectuserexit{\secsuserexit} % section title +\def\secsuserexit{\secssuserexit} % subsection title +\def\secssuserexit{\secsssuserexit} % subsubsection title +\let\secsssuserexit=\relax % subsubsubsection title +\endttlines +They are all called immediately before the title of the chapter, +appendix, section, {\dots} is printed. +At this point |\toks0| contains (macros which will expand to) the +number and |\toks2| contains the actual title. +For an appendix |\toks0| will in addition contain the word `Appendix' +or `Anhang' and |\toks2| may contain just `|\unskip|' if the appendix +has no title. +The following two examples show some details. + +Assume you want to remove the final dot in the (sub-)section +number. +In order to do that you have to define |\secsssuserexit| +which will automatically be used for all higher exits up to +|\sectuserexit| and you must make sure that this macro is not used +for chapters and sections: +\begintt +\let\chapuserexit=\relax +\def\secsssuserexit{\expandafter\myuserexit\the\toks0 } +\def\myuserexit#1.{\toks0{#1}} +\endtt + +Let us now consider a more complicated example. +Suppose you want to start each chapter and appendix on a new +page with two title lines in a huge font with 5mm extra space +between them and 20mm extra space below and above. +The first line shall contain the chapter or appendix number +and the second line the actual title. +Moreover the titles shall appear in the headline and a horizontal rule +should be placed below the headline. +You could, of course, write your own chapter and appendix +macros for this purpose, taking care of things like resetting +section numbers, possibly equation numbers ond so on. +This might, however, cause incompatibilities with future +changes of the PHYS macro package. +It is, therefore, strongly recommended to use the appropriate +user exits |\chapuserexit| and |\appuserexit| for this +purpose. + +Below we give a sequence of commands which does all the required +things. +In order to understand them you have to know that immediately after +the user exits the title line is printed with the command\lb +|\ctrline{\titlestyle{\the\toks0\ \the\toks2}}|.\lb +The use of |\mark|'s is not quite necessary in a situation where +each chapter and appendix starts on a new page. +The code around the marks is, however, necessary if there are titles +with footnotes. +\beginttlines +\font\huge=ambx10 scaled\magstep3 % a huge font +\toppagenum\chappage\althead \chapstretch=5cm +\let\physskipheadline=\skipheadline % preserve old definition +\def\skipheadline#1{\glet\skipheadrule#1% skip head line rule + \physskipheadline#1} % if headline is skipped +\lheadtext={\firstmark} \rheadtext={\botmark} +\let\physmakeheadline=\makeheadline % preserve old definition +\def\makeheadline{\physmakeheadline % define new headline + \if F\skipheadrule \vbox to0mm{\vskip-8 mm\hrule + width \hsize \vss}\fi \nointerlineskip} +\skipheadline=F % initialize \skipheadrule +\def\titlestyle{\vadjust{\nobreak \vskip 5mm}\huge} +\def\chapuserexit{\vglue 20mm% + \expandafter\ifx\expandafter\unskip\the\toks2 \toks4=\toks0 + \else + \toks4={\unskip\egroup\egroup\ctrline\bgroup\titlestyle\bgroup}% + \edef\next{\the\toks4 \the\toks2}\toks4=\toks2 + \toks2=\expandafter{\next}\fi + \bgroup\def\footnote{\expandafter\eat\eat}% + \let\hfootnote=\footnote % allow footnotes + \let\foot=\eat \let\hfoot=\eat % in title + \mark\expandafter{\the\toks4}\egroup + \toks2=\expandafter{\the\toks2\vadjust{\vskip 15mm}}} +\endttlines + +\indent\bpargroup The two exits |\skipuserexit| and |\shipuserexit| +are called by the output routine |\physoutput| when a page is skipped +(due to |\pagesel|) or is prepared for printing. +The index of this manual is printed in three columns by using these +two exits without any change in |\physoutput|. + +%*** end of file PMANSEL *** +% \input pmanack % acknowledgements +%*** this is file PMANACK as of 06.03.86 *** +\ack +The authors have profited from many discussion with E. Belau, +G. Raffelt and W. Wiedenmann. +The present |\table| macro was originally designed by R. Schilling +and many improvements at various places are due to discussions with him. +Many macros descibed in this paper originate from macros for physics +papers written at SLAC\null, +some of them have been inspired by \AmSTeX. +%*** end of file PMANACK *** +% \input pmanopts % list of all options +%*** this is file PMANOPTS as of 06.03.86 *** +\appendix{List of all Options} ^^{options, list of all} +This appendix lists all the options you can use with the +PHYSE or PHYS formats. +The default option is underlined unless otherwise indicated. + +The commands |\english| (default for PHYSE) or |\german| (default +for PHYS) indicate that certain headings should be in english or +german language (e.g.\ `Abstract' or `Zusammenfassung'). + +You should choose \utt|\titlepage| or |\notitlepage| if the title of +the paper etc.\ do or don't appear on a separate page which is +terminated with |\endpage|. +You can choose \utt|\botpagenum|, |\toppagenum| or |\nopagenum| +to get page numbers printed at the bottom of each page, +at the top of each page or to get no page numbers. +In any case there will be no page number on the title page. +You can choose \utt|\pageall| or |\pagechap| to get +pages numbered throughout the paper or numbered separately for each +chapter and appendix. +The commands \utt|\portrait| and |\landscape| will switch between +portrait and landscape format. +In the later case the page numbers will have +the number of the chapter or the letter of the appendix as prefix. +\utt|\figpage| and |\nofigpage| indicate that the +figure captions (if any) should or should not appear on one or +several separate pages. +The use of |\pagechap| forces them on separate pages in any case. +The analogous commands \utt|\tabpage|, |\notabpage|, +\utt|\refpage|, |\norefpage| and \utt|\footpage|, |\nofootpage| +do exactly the same for the table captions, the list of references +and (if applicable) the list of footnotes. + +You should use \utt|\chapters| or |\nochapters| if your +paper does or does not contain chapters. +Depending on other options this may influence the numbering of pages, +equations, \dots\ . +You should use \utt|\arabicchapnum| or |\romanchapnum| if you want +the chapter numbers printed as arabic numbers or as (uppercase) +roman numerals. +You should use |\chappage| or \utt|\nochappage| if each chapter +and appendix should or should not start on a new page. + +You can choose among |\equall|, \utt|\equchap| and +|\equsect| if the equations should be numbered throughout the +paper, for each chapter and appendix or for each section and appendix. +Use |\equleft|, \utt|\equright|, or |\equnone| if the equation numbers +should appear on the left side of the page, on the right side of +the page, or should not be printed at all. +You can choose |\equfull| or \utt|\equshort| +to indicate that |\queq| should +quote equation numbers in full or in abbreviated form (unless there is +an explicit |\fulltag| or |\shorttag|). + +Use |\storebox|, \utt|\storelist| or |\storefile| if the +figure captions, table captions, references and (possibly) footnotes +shall be stored in boxes, as lists of macro definitions or on +external files. + +Use \utt|\figall|, |\figchap| or |\figsect| if the figures should +be numbered throughout the paper, for each chapter and appendix or +for each section and appendix. +Use \utt|\taball|, |\tabchap| or |\tabsect| if the tables should +be numbered throughout the paper, for each chapter and appendix or +for each section and appendix. + +Use \utt|\refsup| or |\refsqb| if quotations to references +should appear as superscripts or enclosed in square brackets. +Use \utt|\yearpage| or |\pageyear| if references generated +by the macros for physics journals should appear in the form +`journal {\bf volume} (year) page' or +`journal {\bf volume}, page (year)'. + +Use \utt|\footbot| or |\footend| if `footnotes' should appear at +the bottom of the page or at the end of the paper. +Use \utt|\footsqb| or |\footpar| if you want footnote +numbers enclosed in square brackets or followed by a parenthesis. +This applies only to footnote numbers generated by |\foot|, +not to the symbols which are given to |\footnote| as argument. + +%*** end of file PMANOPTS *** +% \input pmanupdt % updates and corrections ... +%*** this is file PMANUPDT as of 06.03.86 *** +\appendix{Updates and Corrections to PHYS/PHYSE} +\titcon{and Macro Libraries} +\secs{Updates and Corrections to PHYS/PHYSE} +The file PHYSUPDT TEX will contain ^{updates and corrections} of +errors which are not yet implemented in the PHYS/PHYSE format. +Therefore your {\TeX} input should start with the command +|\input physupdt| in order to get all known errors corrected. +In most cases you will, however, use a macro library and +it is most convenient to put this command into the macro library. +\secs{Private and Public Macro Libraries} +It is recommended to organize ^{macro libraries} in a hierarchical +fashion: +\dashitem one public macro library which contains macros useful for +all users at a computer or an institute. +This library should start with the command |\input|~^|physupdt|. +\dashitem one semi-public macro library for each larger group +of users which should start with a command that reads the +public macro library. +\dashitem one private macro library for one user (or for several +users working closely together) which should start with an +|\input| command for the appropriate semi-public library. +\secs{Macro Libraries at MPP} +At present we use the following public and semi-public macro +libraries: +\secss{The File MPPMAC} ^^|mppmac| +This library starts with |\input|~|physupdt| and contains macros +which should be useful for everybody at the Max-Plack-Institut f\"ur +Physik.\lb +^|\mppnum| to generate an MPP preprint or report number and\lb +^|\mppaddress| to generate the MPP address on the title page\lb +are described elsewhere in this manual and are needed in order +to produce a copy of this manual from the {\TeX} source. + +In addition there is a command\lb +^|\letter||{|\<name>|}{|\<phone>|}{|\<address>|}|\lb +which will produce an MPP letter head with your \<name> and +\<phone> and the \<address> of the recipient. +As usual different lines in this address are separated by |\\|. +There are actually two such commands, |\letterL| for output +on a LasergrafiX and |\letterC| for output on a Canon laser printer, +because none of the large fonts is available for both devices. +|\letter| is just a synonym for |\letterL|. + +\secss{The File CELMAC} ^^|celmac| +This library starts with |\input|~|mppmac| and contains additional +macros useful for the CELLO group at MPP\null. +If you use this library the following additional macros are defined:\lb +^|\Znull|, ^|\Wplus|, ^|\Wminus|, ^|\Wpm|, etc.. + +\secss{The File THEMAC} ^^|themac| +This library starts with |\input|~|mppmac| and contains additional +macros useful for the THEORY group at MPP\null. +If you use this library the following additional macros are defined:\lb +^|\pthnum||{|\dots|}| instead of |\mppnum{PTh |\dots|}| and\lb +^|\pthdate| instead of and |\pubdate|. + +The following additional macros for physics journals are defined in +this file: +^^|\AP|^^|\CMP|^^|\JMP|^^|\PRep|^^|\RMP|^^|\TMF| +%*** the following lines are copied from THEMAC *** +\beginttlines +\def\AP{\journal{Ann.\ \Phys}} +\def\CMP{\journal{Commun.\ \Math\Phys}} +\def\JMP{\journal{J.\ \Math\Phys}} +\def\PRep{\journal{\Phys Rep.\ }} +\def\RMP{\journal{\Rev Mod.\ \Phys}} +\def\TMF{\journal{Teor.\ Mat.\ Fiz.\ }} +\endttlines +%*** end of file PMANUPDT *** +% \input pmanmacs % macro expansions, arguments, ... +%*** this is file PMANMAC as of 06.03.86 *** +\appendix{Macro Expansions, Arguments and Category Codes} +In this appendix we have to treat some sublteties which may become +important to someone designing somewhat more complicated macros. +Most users should skip this appendix, at least when reading this +manual for the first time. + +It was said earlier that code names may consist of letters, +digits and apostrophes whereas usually {\TeX}'s control word +names consist of letters only. +The way this can be done is by temporarily declaring the +digits and the apostrophe to be letters while the code name +is read. +Since {\TeX} decides which characters are letters when they +are first read from the input file it is important that +e.g.\ the argument `|\Author81|' of |\quref{\Author81}| is +read by the macro |\quref| which temporarily causes the +digits |8| and |1| to behave as letters. +Things will clearly go wrong if you use something like\lb +|\def\xxx#1{#1}|\dots|\xxx{|\dots|\quref{\Author81}|\dots|}|\lb +because then `|\Author81|' is read as part of |\xxx|'s +argument as control word `|\Author|' (probably undefined) +followed by the digits `|81|'. +(Compare Chapter~7: How {\TeX} Reads What You Type, +Chapter~20: Definitions (also called Macros), and +Appendix~D: Dirty Tricks of the {\TeX}book\quref{\texbook} +for more details.) + +Consider the macro definition |\def\line{\hbox to\hsize}|. +After expanding and processing the macro |\line|, which has +no argument, {\TeX} continues to read input characters and +expand macros and expects to find a left brace (either an +explicit one (|{|) or an implicit one (|\bgroup|)) which +starts a new level of grouping. +{\TeX} continues to read and expand input until eventually a matching +right brace is found at which point the horizontal list +built so far is put into an |\hbox| of width |\hsize|. +The input commands\lb +|\line{abc}| or |\line\bgroup abc\egroup| or\lb +|\def\xx{{abc}}\line\xx| or even things like\lb +|\line{abc\egroup| or |\def\xxx{\bgroup abc}\line\xxx}|\lb +would all give the same result. +The commands\lb +|\def\zzz{\egroup\line\bgroup}\line{abc\zzz def}|\lb +would even produce two lines. +The input\lb +|\def\yy{abc}\line\yy|\lb +would, however, be wrong and would lead to an error message. + +Things are quite different with PLAIN's macro definition\lb +|\def\leftline#1{\line{#1\hss}}|\lb +because (with this definition) |\leftline| has one argument. +After reading the macro |\leftline| {\TeX} reads its +argument (without any macro expansion) and will subsequently +substitute this argument whenever there is a |#1| in the +replacement text. +Braces around a complex argument must be explicit and do not +provide a new level of grouping. +The input commands\lb +|\leftline{abc}| or |\def\yy{abc}\leftline\yy|\lb +would, therefore, give the same result. +The input\lb +|\leftline\bgroup abc\egroup|\lb +would, however, be wrong (the argument would be `|\bgroup|') +and would produce a quite different result. + +We are here mostly concerned with code names. +The construction\lb +|\line{|\dots|\quref{\Author81}|\dots|}|\lb +works fine because |\Author81| will be read after expanding +the macro |\quref| as usual. +The construction\lb +|\leftline{|\dots|\quref{\Author81}|\dots|}|\lb +(with PLAIN's definition of |\leftline|) would however fail, +because |\Author81| is read ahead of time as part of the +argument for |\leftline|. +It is exactly for this reason that the macros ^|\leftline|, +^|\rightline|, ^|\centerline|, ^|\rlap| and ^|\llap| have been +redefined in PHYS such that the above construction does what +it is assumed to do. +The original definitions, which are slightly faster, are +still available under the names ^|\plainleftline|, +^|\plainrightline|, ^|\plaincenterline|, ^|\plainrlap| and +^|\plainllap|. +%*** end of file PMANMAC *** +% \input pmanold % compatibility with the older version (0.95) ... +%*** this is file PMANOLD as of 06.03.86 *** +\appendix{Compatibility with the older Version (0.95) of PHYS} +The present version 1.0 of the PHYS/PHYSE format is not entirely +compatible with the previous one (0.95). +The main incompatibilities are: +\pointbegin the option ^|\equold| is no longer supported +\point the ^|\table| macro +\par\noindent +You can, however, still use the old (0.8) form of equation numbers +if you use the command |\input|~^|equold| instead of the option +|\equold|. + +The new |\table| macro is based on the example on page 247 +(Chapter~22: Alignment) of the {\TeX}book \quref{\texbook} +whereas the old macro was based on the example on page 392 +(Appendix~D: Dirty Tricks). +The new macro is more flexible but sometimes you may want +to still use the old one. +In order to do so you can use the command |\input|~^|oldtabl| +to read the old macro definition. +Once this is done you can use ^|\oldtable| (default after +|\input|~|oldtabl|) or ^|\newtable| to indicate that |\table| shall +be the old or the new table macro. + +The syntax of the old |\table| macro is\lb +|\table|\<box~specification>|{|\<alignment~material>|}|\lb +with the following restrictions: +\pointbegin The alignment preamble must terminate with |\cr|, +not with |\crcr|, and the table must contain at least one row +of aligned items. +\point The last row of the table must contain the maximal number of +columns (you can add empty entries if necessary) +\point Every row of the table should contain a |\strut| +to ensure the correct vertical spacing. +It is in fact advisable to have a strut in each table entry in order +to avoid `underfull hbox'es. +\point The alignment material should not contain |\noalign|. +All horizontal rules should be produced with |\tabrule| +right after the corresponding |\cr|. +\point The vertical rules are put into the middle of the tabskip glue +and the parts of the tabskip glue to the left of the leftmost rule +and to the right of the rightmost rule are cut off. +If the initial tabskip is zero (default) |\table| inserts its own +value (24.4pt plus 24pt minus 12pt, .4pt are for the width of the +vrule). +You can modify the value of tabskip in the alignment preamble, +but you should know exactly what you are doing. +Irrespective of your modifications |\table| will use the same +tabskip value after the last column as before the first column. +\point If you want to omit a vertical rule use |\omitrule| in the +alignment preamble, either immediately after the `|{|' or +immediately before an `|&|' or the `|\cr|'. +%*** end of file PMANOLD *** + +\nofigpage\figout % print figure captions on same page +\notabpage\tabout % print table captions on same page +\norefpage\refout % print references on same page +\nofootpage\footout % print footnotes on same page (\footbot) + +\startindex %make the index +\triplecolumn\tenpoint +\makeindex +\singlecolumn + +\endpage\startpage-3\singlespace +\tocpage\tocout % print table of contents on new page +\bye % end of the TEX job +%*** end of file PMANUAL *** + diff --git a/macros/physe/physe.tex b/macros/physe/physe.tex new file mode 100644 index 0000000000..d1aa5803d2 --- /dev/null +++ b/macros/physe/physe.tex @@ -0,0 +1,2024 @@ +%FORMAT plaine % use PLAINE format +%*** this is file PHYSE as of 11.02.86 *** +% \input physorg % macros for physics papers +%*** this is file PHYSORG as of 14.03.86 *** +%*** PHYSORG Version 1.00 *** + +\message{Preloading the phys format:} + +% I make @ signs act like letters, temporarily, to avoid conflict +% with user-defined control sequences in certain cases. + +\catcode`\@=11 + +\chardef\f@ur=4 +\chardef\l@tter=11 +\chardef\@ther=12 +\toksdef\toks@i=1 % global only +\toksdef\toks@ii=2 +\newtoks\emptyt@ks % permanently empty token list register + +\def\glet{\global\let} +\def\gz@#1{\global#1\z@} +\def\gm@ne#1{\global#1\m@ne} +\def\g@ne#1{\global\advance#1\@ne} + +\def\@height{height} % save token space +\def\@depth{depth} % (5 or 6 tokens at the cost +\def\@width{width} % of one macro expansion) + +\def\@plus{plus} % save +\def\@minus{minus} % token space + +\message{macros for text,} + +% \input physmain + +%*** this is file PHYSMAIN as of 07.03.86 *** +%*** macros for text *** + +% allow the construction `\loop ... \if... ... \else ... \repeat' +\def\loop#1\repeat{\def\iter@te{#1\expandafter\iter@te \fi}\iter@te + \let\iter@te\undefined} +\let\iterate=\undefined + +\def\par{\ifhmode \unpenalty\unskip \fi \endgraf} +\def\lb{\hfil\break} +\def\endpage{\par \vfil \eject} +\def\superendpage{\par \vfil \supereject} + +%*** allow change of \catcodes's inside \leftline, ... + +\let\plainleftline=\leftline % rename \leftline from PLAIN +\let\plainrightline=\rightline % rename \rightline from PLAIN +\let\plaincenterline=\centerline % rename \centerline from PLAIN + +\def\leftline{\@line\hsize\empty\hss} +\def\rightline{\@line\hsize\hss\empty} +\def\centerline{\@line\hsize\hss\hss} + +\let\plainrlap=\rlap % rename \rlap from PLAIN +\let\plainllap=\llap % rename \llap from PLAIN + +\def\rlap{\@line\z@\empty\hss} +\def\llap{\@line\z@\hss\empty} + +\def\lftline{\@line\hsize\empty\hfil} +\def\rtline{\@line\hsize\hfil\empty} +\def\ctrline{\@line\hsize\hfil\hfil} + +\def\@line#1#2#3{\hbox to#1\bgroup#2\let\n@xt#3% + \afterassignment\@@line \setbox\z@\hbox} +\def\@@line{\aftergroup\@@@line} +\def\@@@line{\unhbox\z@ \n@xt\egroup} + +\def\after@arg#1{\bgroup\aftergroup#1\afterassignment\after@@arg\@eat} +\def\after@@arg{\ifcat\bgroup\noexpand\n@xt\else \n@xt\egroup \fi} +\def\@eat{\let\n@xt= } % eat one token +\def\eat#1{} % eat one argument +\def\@eat@#1{\@eat} % eat one argument and one token + +%*** phantom and smash *** + +\def\begin@{\ifmmode \expandafter\mathpalette\expandafter\math@ \else + \expandafter\make@ \fi} +\def\make@#1{\setbox\z@\hbox{#1}\fin@} +\def\math@#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\fin@} + +\def\ph@nt{\let\fin@\finph@nt \begin@} +\let\makeph@nt=\undefined +\let\mathph@nt=\undefined + +\newif\ift@ \newif\ifb@ +\def\topsmash{\t@true\b@false\sm@sh} +\def\botsmash{\t@false\b@true\sm@sh} +\def\smash{\t@true\b@true\sm@sh} +\def\sm@sh{\let\fin@\finsm@sh \begin@} +\let\makesm@sh=\undefined +\let\mathsm@sh=\undefined +\def\finsm@sh{\ift@\ht\z@\z@\fi \ifb@\dp\z@\z@\fi \box\z@} + +%*** boxit *** + +\newdimen\boxitsep \boxitsep=5pt + +\def\boxit{\fboxit{.4}} +\def\fboxit#1#2{\hbox{\vrule \@width#1\p@ + \vtop{\vbox{\hrule \@height#1\p@ \vskip\boxitsep + \hbox{\hskip\boxitsep #2\hskip\boxitsep}}% + \vskip\boxitsep \hrule \@height#1\p@}\vrule \@width#1\p@}} + +%*** active characters `:,`; and `^^M *** + +\begingroup + \catcode`\:=\active + \lccode`\*=`\\ \lowercase{\gdef:{*}} % `: -> `\ + \catcode`\;=\active + \lccode`\* `\% \lowercase{\gdef;{*}} % `; -> `% + \catcode`\^^M=\active \glet^^M=\space % `^^M -> \space +\endgroup + +%*** comment *** + +\begingroup + \catcode`\:=\active + \outer\gdef\comment{\begingroup + \catcode`\\\@ther \catcode`\%\@ther \catcode`\^^M\@ther + \catcode`\{\@ther \catcode`\}\@ther \catcode`\#\@ther + \wlog{* input between `:comment' and `:endcomment' ignored *} + \c@mment} +\endgroup +{\lccode`\:=`\\ \lccode`\;=`\^^M + \lowercase{\gdef\c@mment#1;{\c@@mment:endcomment*}}} +\def\c@@mment#1#2*#3{\if #1#3\ifx @#2@ \let\n@xt\endgroup \else + \def\n@xt{\c@@mment#2*}\fi \else \def\n@xt{\c@mment#3}\fi \n@xt} +\let\endcomment=\relax % avoid errmessage for unmatched \endcomment + +\message{date and time,} + +%*** language *** + +\newcount\langu@ge + +\outer\def\english{\gm@ne\langu@ge} +\outer\def\german{\gz@\langu@ge} + +\def\case@language#1{\ifcase\expandafter\langu@ge #1\fi} +\def\case@abbr#1{{\let\nodot\n@dot\case@language{#1}.~}} +\def\n@dot{\expandafter\eat} +\let\nodot=\empty + +%*** date and time *** + +\def\themonth{\xdef\themonth{\noexpand\case@language + {\ifcase\month \or Jannuar\or Februar\or M\noexpand\"arz\or April\or + Mai\or Juni\or Juli\or August\or September\or Oktober\or November\or + Dezember\fi + \noexpand\else + \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}}\themonth} + +\def\thedate{\case@language{\else\themonth\ }\number\day + \case@language{.\ \themonth \else ,} \number\year} + +\def\date{\number\day.\,\number\month.\,\number\year} + +%*** \thetime is defined twice, once if this file is read + +\count@\time \divide\count@60 \edef\thetime{\the\count@ :} +\multiply\count@-60\advance\count@\time +\edef\thetime{\thetime \ifnum10>\count@ 0\fi \the\count@} + +% and once if a dump file is loaded *** + +\everyjob={% + \count@\time \divide\count@60 \edef\thetime{\the\count@ :}% + \multiply\count@-60\advance\count@\time + \edef\thetime{\thetime \ifnum10>\count@ 0\fi \the\count@}% + \everyjob{}} +%*** end of file PHYSMAIN *** + +\message{spacing, fonts and sizes,} + +% \input physfont +%*** this is file PHYSFONT as of 14.03.86 *** +%*** spacing parameters *** + +\newskip\refbetweenskip \newskip\chskiptamount +\newskip\chskiplamount \newskip\secskipamount +\newskip\footnotebaselineskip \newskip\interfootnoteskip + +\newdimen\chapstretch \chapstretch=2.5cm +\newcount\chappenalty \chappenalty=-800 +\newdimen\sectstretch \sectstretch=2cm +\newcount\sectpenalty \sectpenalty=-400 + +\def\chskipt{\chapbreak \vskip\chskiptamount} +\def\chskipl{\nobreak \vskip\chskiplamount} +\def\unchskip{\vskip-\chskiplamount} +\def\secskipt{\sectbreak \vskip\secskipamount} +\def\chapbreak{\vskip\z@\@plus\chapstretch \penalty\chappenalty + \vskip\z@\@plus-\chapstretch} +\def\sectbreak{\vskip\z@\@plus\sectstretch \penalty\sectpenalty + \vskip\z@\@plus-\sectstretch} + +%*** fonts *** + +%*** load am... or cm... fonts according to PLAIN's selection *** + +\begingroup \lccode`\*=`\r + \lowercase{\def\n@xt#1*#2@{#1} + \xdef\font@sel{\expandafter\n@xt\fontname\tenrm*@}}\endgroup + +\message{loading \font@sel\space fonts,} + +\font\twelverm=\font@sel r10 scaled \magstep1 % roman text +%\font\tenrm=\font@sel r10 % already defined in PLAIN +\font\ninerm=\font@sel r9 +\font\eightrm=\font@sel r8 +%\font\sevenrm=\font@sel r7 % already defined in PLAIN +\font\sixrm=\font@sel r6 +%\font\fiverm=\font@sel r5 % already defined in PLAIN + +\font\twelvei=\font@sel mi10 scaled\magstep1 + \skewchar\twelvei='177 % math italic +%\font\teni=\font@sel mi10 % already defined in PLAIN +\font\ninei=\font@sel mi9 \skewchar\ninei='177 +\font\eighti=\font@sel mi8 \skewchar\eighti='177 +%\font\seveni=\font@sel mi7 % already defined in PLAIN +\font\sixi=\font@sel mi6 \skewchar\sixi='177 +%\font\fivei=\font@sel mi5 % already defined in PLAIN + +\font\twelvesy=\font@sel sy10 scaled \magstep1 + \skewchar\twelvesy='60 % math symbols +%\font\tensy=\font@sel sy10 % already defined in PLAIN +\font\ninesy=\font@sel sy9 \skewchar\ninesy='60 +\font\eightsy=\font@sel sy8 \skewchar\eightsy='60 +%\font\sevensy=\font@sel sy7 % already defined in PLAIN +\font\sixsy=\font@sel sy6 \skewchar\sixsy='60 +%\font\fivesy=\font@sel sy5 % already defined in PLAIN + +%\font\tenex=\font@sel ex10 % math extension already defined in PLAIN + +%\font\preloaded=\font@sel ss10 % sans serif +%\font\preloaded=\font@sel ssq8 + +%\font\preloaded=\font@sel ssi10 % sans serif italic +%\font\preloaded=\font@sel ssqi8 + +\font\twelvebf=\font@sel bx10 scaled \magstep1 % boldface extended +%\font\tenbf=\font@sel bx10 % already defined in PLAIN +\font\ninebf=\font@sel bx9 +\font\eightbf=\font@sel bx8 +%\font\sevenbf=\font@sel bx7 % already defined in PLAIN +\font\sixbf=\font@sel bx6 +%\font\fivebf=\font@sel bx5 % already defined in PLAIN + +\font\twelvett=\font@sel tt10 scaled \magstep1 % typewriter +%\font\tentt=\font@sel tt10 % typewriter already defined in PLAIN +%\font\preloaded=\font@sel tt9 +\font\eighttt=\font@sel tt8 + +%\font\preloaded=\font@sel sltt10 % slanted typewriter + +\font\twelvesl=\font@sel sl10 scaled \magstep1 % slanted roman +%\font\tensl=\font@sel sl10 % already defined in PLAIN +\font\ninesl=\font@sel sl9 +\font\eightsl=\font@sel sl8 +\let\sixsl=\eightsl % there is no sl6 font +\let\fivesl=\sixsl % there is no sl5 font + +\font\twelveit=\font@sel ti10 scaled \magstep1 % text italic +%\font\tenit=\font@sel ti10 % already defined in PLAIN +\font\nineit=\font@sel ti9 +\font\eightit=\font@sel ti8 +\font\sevenit=\font@sel ti7 +\let\sixit=\sevenit % there is no ti6 font +\let\fiveit=\sixit % there is no ti5 font + +%\font\preloaded=\font@sel u10 % unslanted text italic + +%\font\preloaded=\font@sel bi10 % bold math italic +%\font\preloaded=\font@sel bsy10 % bold math symbols + +\font\twelvecsc=\font@sel csc10 scaled \magstep1 % caps and small caps +\font\tencsc=\font@sel csc10 +\let\eightcsc=\tencsc % there is no csc8 font + +%\font\preloaded=\font@sel ssbx10 % sans serif bold extended + +%\font\preloaded=\font@sel dunh10 % Dunhill style + +%\font\preloaded=\font@sel r7 scaled \magstep4 % for titles +%\font\preloaded=\font@sel tt10 scaled \magstep2 +%\font\preloaded=\font@sel ssbx10 scaled \magstep2 + +%\font\preloaded=manfnt % METAFONT logo and dragon curve + % and special symbols + +%*** sizes *** + +\def\twelvepoint{\twelve@point + \let\normal@spacing\twelve@spacing \set@spacing} +\def\tenpoint{\ten@point + \let\normal@spacing\ten@spacing \set@spacing} +\def\eightpoint{\eight@point + \let\normal@spacing\eight@spacing \set@spacing} + +\def\rm{\fam\z@ \@fam} +\def\mit{\fam\@ne} +\def\oldstyle{\mit \@fam} +\def\cal{\fam\tw@} +\def\it{\fam\itfam \@fam} +\def\sl{\fam\slfam \@fam} +\def\bf{\fam\bffam \@fam} +\def\tt{\fam\ttfam \@fam} +\def\caps{\@caps} +\def\@fam{\the\textfont\fam} + +%*** fonts for sizes *** + +\def\twelve@point{\set@fonts twelve ten eight } +\def\ten@point{\set@fonts ten eight six } +\def\eight@point{\set@fonts eight six five } + +\def\set@fonts#1 #2 #3 {\textfont\ttfam\csname#1tt\endcsname + \edef\n@xt{\csname#1csc\endcsname}% + \expandafter\let\expandafter\@caps\n@xt + \def\n@xt##1##2{\textfont##1\csname#1##2\endcsname + \scriptfont##1\csname#2##2\endcsname + \scriptscriptfont##1\csname#3##2\endcsname}% + \set@@fonts} +\def\set@@fonts{\n@xt0{rm}\n@xt1i\n@xt2{sy}% + \textfont3\tenex \scriptfont3\tenex \scriptscriptfont3\tenex + \n@xt\itfam{it}\n@xt\slfam{sl}\n@xt\bffam{bf}\rm} + +%*** spacing for sizes *** + +\def\singlespace{\chardef\@spacing\z@ \set@spacing} +\def\doublespace{\chardef\@spacing\@ne \set@spacing} +\def\triplespace{\chardef\@spacing\tw@ \set@spacing} +\chardef\@spacing=1 % \doublespace + +\def\set@spacing{\toks@\expandafter{\spacing@names @}% + \expandafter\set@@spacing\normal@spacing \normalbaselines} +\def\set@@spacing{\expandafter\set@@@spacing\the\toks@\@@} +\def\set@@@spacing#1#2\@@{\ifx #1@\else\toks@{#2}% + \expandafter\set@@@@spacing\expandafter#1\fi} +\def\set@@@@spacing#1#2+#3*{#1#3\multiply#1\@spacing + \advance#1#2\set@@spacing} + +\def\normalbaselines{\lineskip\normallineskip + \setbaselineskip\normalbaselineskip + \lineskiplimit\normallineskiplimit} + +\def\setbaselineskip{\afterassignment\set@strut \baselineskip} +\def\set@strut{\setbox\strutbox\spacer\z@\baselineskip} + +\def\spacer{\hbox\bgroup \afterassignment\x@spacer \dimen@} +\def\x@spacer{\ifdim\dimen@=\z@\else \hskip\dimen@ \fi + \afterassignment\y@spacer \dimen@} +\def\y@spacer{\setbox\z@\hbox{$\vcenter{\vskip\dimen@}$}% + \vrule \@height\ht\z@ \@depth\dp\z@ \@width\z@ \egroup} + +\def\spacing@names{% list of all variable spacing parameters + \normalbaselineskip + \normallineskip + \normallineskiplimit + \footnotebaselineskip + \interfootnoteskip + \parskip + \refbetweenskip + \abovedisplayskip + \belowdisplayskip + \abovedisplayshortskip + \belowdisplayshortskip + \chskiptamount + \chskiplamount + \secskipamount + } + +\def\twelve@spacing{% parameters and increments for twelvepoint + 14\p@ +5\p@ *%\normalbaselineskip + \p@ +\z@ *%\normallineskip + \z@ +\z@ *%\normallineskiplimit + 14\p@ +\p@ *%\footnotebaselineskip + 20\p@ +\z@ *%\interfootnoteskip + 5\p@\@plus\p@ +-2\p@ *%\parskip + \z@ +6\p@ *%\refbetweenskip + 8\p@\@plus2\p@\@minus3\p@ +% + 4\p@\@plus3\p@\@minus5\p@ *%\abovedisplayskip + 8\p@\@plus2\p@\@minus3\p@ +% + 4\p@\@plus3\p@\@minus5\p@ *%\belowdisplayskip + \p@\@plus2\p@\@minus\p@ +% + 4\p@\@plus3\p@\@minus2\p@ *%\abovedisplayshortskip + 8\p@\@plus2\p@\@minus3\p@ +% + \p@\@plus2\p@\@minus2\p@ *%\belowdisplayshortskip + 20\p@\@plus5\p@ +\z@ *%\chskiptamount + 5.5\p@ +\z@ *%\chskiplamount + 6\p@\@plus2\p@ +\z@ *%\secskipamount + } + +\def\ten@spacing{% parameters and increments for tenpoint + 11\p@ +4.5\p@ *%\normalbaselineskip + \p@ +\z@ *%\normallineskip + \z@ +\z@ *%\normallineskiplimit + 12\p@ +\p@ *%\footnotebaselineskip + 16\p@ +\z@ *%\interfootnoteskip + 5\p@\@plus\p@ +-2\p@ *%\parskip + \z@ +5\p@ *%\refbetweenskip + 8\p@\@plus2\p@\@minus3\p@ +% + 4\p@\@plus3\p@\@minus5\p@ *%\abovedisplayskip + 8\p@\@plus2\p@\@minus3\p@ +% + 4\p@\@plus3\p@\@minus5\p@ *%\belowdisplayskip + \p@\@plus2\p@\@minus\p@ +% + 4\p@\@plus3\p@\@minus2\p@ *%\abovedisplayshortskip + 8\p@\@plus2\p@\@minus3\p@ +% + \p@\@plus2\p@\@minus2\p@ *%\belowdisplayshortskip + 20\p@\@plus5\p@ +\z@ *%\chskiptamount + 5.5\p@ +\z@ *%\chskiplamount + 6\p@\@plus2\p@ +\z@ *%\secskipamount + } + +\def\eight@spacing{% parameters and increments for eightpoint + 9\p@ +3.5\p@ *%\normalbaselineskip + \p@ +\z@ *%\normallineskip + \z@ +\z@ *%\normallineskiplimit + 10\p@ +\p@ *%\footnotebaselineskip + 14\p@ +\z@ *%\interfootnoteskip + 5\p@\@plus\p@ +-2\p@ *%\parskip + \z@ +5\p@ *%\refbetweenskip + 8\p@\@plus2\p@\@minus3\p@ +% + 4\p@\@plus3\p@\@minus5\p@ *%\abovedisplayskip + 8\p@\@plus2\p@\@minus3\p@ +% + 4\p@\@plus3\p@\@minus5\p@ *%\belowdisplayskip + \p@\@plus2\p@\@minus\p@ +% + 4\p@\@plus3\p@\@minus2\p@ *%\abovedisplayshortskip + 8\p@\@plus2\p@\@minus3\p@ +% + \p@\@plus2\p@\@minus2\p@ *%\belowdisplayshortskip + 20\p@\@plus5\p@ +\z@ *%\chskiptamount + 5.5\p@ +\z@ *%\chskiplamount + 6\p@\@plus2\p@ +\z@ *%\secskipamount + } + +\twelvepoint + +%*** macros for sizes *** + +\def\large{\par \bgroup \twelvepoint \after@arg\@size} +\def\medium{\par \bgroup \tenpoint \after@arg\@size} +\def\small{\par \bgroup \eightpoint \after@arg\@size} +\def\@size{\par \egroup} + +\def\LARGE#1{{\twelve@point #1}} +\def\MEDIUM#1{{\ten@point #1}} +\def\SMALL#1{{\eight@point #1}} +%*** end of file PHYSFONT *** + +\message{texts, headings and styles,} + +% \input phystext +%*** this is file PHYSTEXT as of 06.03.86 *** +%*** texts and headings *** + +\def\submittextone{Zur Ver\"offentlichung in\else Submitted to} +\def\submittexttwo{ eingereicht\else} +\def\abstracthead{Zusammenfassung\else Abstract} +\def\ackhead{Danksagung\else Acknowledgements} +\def\appendixhead{Anhang\else Appendix} +\def\eqabbr{Gl\else eq} +\def\eqsabbr{Gln\else eqs} +\def\figpref{Abb\else Fig} +\def\fighead{Abbildungen\else Figure captions} +\def\figabbr{Bild\nodot\else Fig} +\def\tabpref{Tab\else Tab} +\def\tabhead{Tabellen\else Table captions} +\let\tababbr=\tabpref +\def\refpref{Lit\else Ref} +\def\refhead{Literaturverzeichnis\else References} +\def\refabbr{???\else Ref} +\def\refsabbr{????\else Refs} +\def\tocpref{Inh\else Toc} +\def\tochead{Inhaltsverzeichnis\else Table of contents} +\def\footpref{Anm\else Foot} +\def\foothead{Anmerkungen\else Footnotes} +\def\prfhead{Beweis\else Proof} + +%*** styles *** + +\def\UPPERCASE#1{\edef\n@xt{#1}\uppercase\expandafter{\n@xt}} + +\let\headlinestyle=\twelverm +\let\footlinestyle=\twelverm +\let\pagestyle=\twelverm % page numbers +\let\titlestyle=\bf % title of paper, chapters, appendices +\let\authorstyle=\caps +\let\addressstyle=\sl +\let\sectstyle=\caps % section titles +\def\secsstyle{\sectstyle} +\def\secssstyle{\secsstyle} +\def\secsssstyle{\secssstyle} +\def\subsecstyle#1{\hbox{$\underline{\hbox{#1}}$\enskip}\ignorespaces} +\let\headstyle=\UPPERCASE % headlines for list of figure capts. etc +\let\captionstyle=\it % figure and table captions +\let\journalstyle=\sl +\let\volumestyle=\bf +\let\figstyle=\empty % list of figure captions +\def\figindent{to4em} +\def\figbreak{\goodbreak \vskip\refbetweenskip} +\let\tabstyle=\empty % list of table captions +\let\tabindent=\figindent +\let\tabbreak=\figbreak +\let\refstyle=\empty % list of references +\let\refindent=\figindent +\def\namrefindent{2em} +\def\refbreak{\filbreak \vskip\refbetweenskip} +\let\tocstyle=\empty % table of contents +\let\tocindent=\empty +\let\tocbreak=\refbreak +\let\footstyle=\empty % (list of) footnotes +\let\footindent=\figindent +\let\footbreak=\figbreak +\let\stmttitlestyle=\bf % mathematical statements +\let\stmtstyle=\sl +\let\prftitlestyle=\caps +\let\prfstyle=\sl + +%*** user exits *** % called before + +\def\skipuserexit{\setbox\z@\box\@cclv} % page is not printed +\def\shipuserexit{\unvbox\@cclv} % page is printed + +\def\chapuserexit{\sectuserexit} % chapter title +\def\appuserexit{\chapuserexit} % appendix title +\def\sectuserexit{\secsuserexit} % section title +\def\secsuserexit{\secssuserexit} % subsection title +\def\secssuserexit{\secsssuserexit} % subsubsection title +\let\secsssuserexit=\relax % subsubsubsection title +%*** end of file PHYSTEXT *** + +\message{page numbers and output,} + +% \input physpage +%*** this is file PHYSPAGE as of 13.03.86 *** +%*** page numbers and pagesel *** + +\newcount\firstp@ge \firstp@ge=-10000 +\newcount\lastp@ge \lastp@ge=10000 +\outer\def\pagesel#1#2{\global\firstp@ge#1 \global\lastp@ge#2 + \wlog{(* pages #1-#2 selected for printing, + others will be skipped *)}} + +\newbox\pageb@x + +\outer\def\toppagenum{\glet\page@tbn T% + \glet\headb@x\pageb@x \glet\footb@x\voidb@x} +\outer\def\botpagenum{\glet\page@tbn B% + \glet\headb@x\voidb@x \glet\footb@x\pageb@x} +\outer\def\nopagenum{\glet\page@tbn N% + \glet\headb@x\voidb@x \glet\footb@x\voidb@x} + +\outer\def\lefthead{\glet\head@lrac L} +\outer\def\righthead{\glet\head@lrac R} +\outer\def\althead{\glet\head@lrac A} +\outer\def\centhead{\glet\head@lrac C} +\outer\def\leftfoot{\glet\foot@lrac L} +\outer\def\rightfoot{\glet\foot@lrac R} +\outer\def\altfoot{\glet\foot@lrac A} +\outer\def\centfoot{\glet\foot@lrac C} + +\newtoks\lheadtext \newtoks\cheadtext \newtoks\rheadtext +\newtoks\lfoottext \newtoks\cfoottext \newtoks\rfoottext + +\headline={\headlinestyle \head@foot\skip@head\head@lrac + \lheadtext\cheadtext\rheadtext\headb@x} +\footline={\footlinestyle \head@foot\skip@foot\foot@lrac + \lfoottext\cfoottext\rfoottext\footb@x} +\lheadtext={} \cheadtext={} \rheadtext={} +\lfoottext={} \cfoottext={} \rfoottext={} + +\newbox\page@strut +\setbox\page@strut\hbox{\vrule \@height 15mm\@depth 10mm\@width \z@} + +\def\head@foot#1#2#3#4#5#6{\unhcopy\page@strut + \if#1T\hfil \else + \if#2C\head@@foot{\the#3}{\copy#6}{\the#5}\else + \if#2A\ifodd\pageno \let#2R\else \let#2L\fi \fi + \if#2R\head@@foot{\the#4}{\the#5}{\copy#6}\else + \head@@foot{\copy#6}{\the#3}{\the#4}\fi \fi \fi} +\def\head@@foot#1#2#3{\plainrlap{#1}\hfil#2\hfil\plainllap{#3}} + +\let\startpage=\relax % allow input to be read twice + +\outer\def\pageall{\glet\page@ac A% + \global\countdef\pageno\z@ \global\pageno\@ne + \global\countdef\pageno@pref\@ne \gz@\pageno@pref + \glet\page@pref\empty \glet\page@reset\count@ + \glet\chap@break\chskipt \outer\gdef\startpage{\global\pageno}} +\outer\def\pagechap{\glet\page@ac C% + \global\countdef\pageno\@ne \gz@\pageno + \global\countdef\pageno@pref\z@ \gz@\pageno@pref + \gdef\page@pref{\dash@pref}% + \gdef\page@reset{\global\pageno\@ne \global\pageno@pref}% + \glet\chap@break\superendpage + \outer\gdef\startpage##1.{\global\pageno@pref##1\global\pageno}} + +%*** output *** + +\hsize=15 cm \hoffset=0 mm +\vsize=22 cm \voffset=0 mm + +\newdimen\hoffset@corr@p \newdimen\voffset@corr@p +\newdimen\hoffset@corrm@p \newdimen\voffset@corrm@p +\newdimen\hoffset@corr@l \newdimen\voffset@corr@l +\newdimen\hoffset@corrm@l \newdimen\voffset@corrm@l + +\outer\def\portrait{\switch@pl P% + \glet\hoffset@corr\hoffset@corr@p + \glet\voffset@corr\voffset@corr@p + \glet\hoffset@corrm\hoffset@corrm@p + \glet\voffset@corrm\voffset@corrm@p} +\outer\def\landscape{\switch@pl L% + \glet\hoffset@corr\hoffset@corr@l + \glet\voffset@corr\voffset@corr@l + \glet\hoffset@corrm\hoffset@corrm@l + \glet\voffset@corrm\voffset@corrm@l} +\def\switch@pl#1{\if #1\ori@pl \else \superendpage \glet\ori@pl#1% + \dimen@\ht\page@strut \advance\dimen@\dp\page@strut + \advance\vsize\dimen@ \dimen@ii\hsize \global\hsize\vsize + \advance\dimen@ii-\dimen@ \global\vsize\dimen@ii \fi} +\let\ori@pl=P + +\def\m@g{\dimen@\ht\page@strut \advance\dimen@\dp\page@strut + \advance\vsize\dimen@ \divide\vsize\count@ + \multiply\vsize\mag \advance\vsize-\dimen@ + \divide\hsize\count@ \multiply\hsize\mag + \divide\dimen\footins\count@ \multiply\dimen\footins\mag + \mag\count@} + +\output={\physoutput} + +\def\physoutput{\ifvbox\toc@ins \make@toc \fi + \ifnum \pageno<\firstp@ge \skipp@ge \else + \ifnum \pageno>\lastp@ge \skipp@ge \else \shipp@ge \fi \fi + \advancepageno \skippagenum F\skipheadline F\skipfootline F% + \ifnum\outputpenalty>-\@MM \else \dosupereject \fi} + +\def\skippagenum{\glet\skip@page} +\def\skipheadline{\glet\skip@head} +\def\skipfootline{\glet\skip@foot} + +\def\skipp@ge{{\skipuserexit \setbox\z@\box\topins + \setbox\z@\box\footins}\deadcycles\z@} +\def\shipp@ge{\setbox\pageb@x\hbox{% + \if F\skip@page \pagestyle{\page@pref \folio}\fi}% + \dimen@-.5\hsize \advance\dimen@\hoffset@corrm + \divide\dimen@\@m \multiply\dimen@\mag + \advance\hoffset\dimen@ \advance\hoffset\hoffset@corr + \dimen@\ht\page@strut \advance\dimen@\dp\page@strut + \advance\dimen@\vsize \dimen@-.5\dimen@ + \advance\dimen@\voffset@corrm + \divide\dimen@\@m \multiply\dimen@\mag + \advance\voffset\dimen@ \advance\voffset\voffset@corr + \shipout\vbox{\makeheadline \vbadness\@M \setbox\z@\pagebody + \dimen@\dp\z@ \box\z@ \kern-\dimen@ \makefootline}} + +\def\pagecontents{\ifvbox\topins\unvbox\topins\fi + \dimen@=\dp\@cclv \shipuserexit % open up \box255 + \ifvbox\footins % footnote info is present + \vskip\skip\footins \footnoterule \unvbox\footins\fi + \ifr@ggedbottom \kern-\dimen@ \vfil \fi} + +\def\folio{\ifnum\pageno<\z@ \ifcase\langu@ge \MEDIUM{\uppercase + \expandafter{\romannumeral-\pageno}}\else \romannumeral-\pageno \fi + \else \number\pageno \fi} + +\def\makeheadline{\line{\the\headline}\nointerlineskip} +\def\makefootline{\nointerlineskip \line{\the\footline}} + +\skippagenum=F \skipheadline=F \skipfootline=F +%*** end of file PHYSPAGE *** + +\message{title page macros,} + +% \input physchap +%*** this is file PHYSCHAP as of 07.03.86 *** +%*** title page macros *** + +\outer\def\titlepage{\glet\titl@fill\vfil} +\outer\def\notitlepage{\gdef\titl@fill{\vskip20\p@}} + +\newbox\t@pleft \newbox\t@pright +\def\t@pinit{% + \global\setbox\t@pleft\vbox{\hrule \@height\z@ \@width.26\hsize}% + \global\setbox\t@pright\copy\t@pleft} +\t@pinit + +\def\topleft{\t@p\t@pleft} +\def\topright{\t@p\t@pright} +\def\t@p#1#2{\global\setbox#1\vtop{\unvbox#1\hbox{\strut #2}}} + +\outer\def\submit#1{\topleft{\case@language\submittextone}% + \topleft{{#1}\case@language\submittexttwo}} + +\let\pubdate=\topright + +\outer\def\title{\vbox{\line{\box\t@pleft \hss \box\t@pright}}% + \skippagenum T\skipheadline T\skipfootline T% + \t@pinit \titl@fill \vskip\chskiptamount \titl@} +\outer\def\titcon{\unchskip \titl@} +\def\titl@#1{\ctrline{\titlestyle{#1}}\chskipl} + +\def\author#1{\titl@fill{\let\\\cr \tabskip\centering + \halign to\hsize{&\hfil\authorstyle{##}\hfil\crcr#1\crcr}}} +\def\autcon{\and@con \author} + +\def\address#1{\titl@fill{\let\\\cr \tabskip\centering + \halign to\hsize{&\hfil\addressstyle{##}\hfil\crcr#1\crcr}}} +\def\addcon{\and@con \address} + +\def\and@con{\titl@fill \ctrline{\case@language{und\else and}}} + +\def\abstract{\titl@fill \he@d{\case@language\abstracthead}% + \after@arg\titl@fill} + +\def\ack{\chskipt \he@d{\case@language\ackhead}} + +\def\he@d#1{\ctrline{\headstyle{#1}}\chskipl} + +\message{chapters, sections and appendices,} + +%*** label *** + +\newtoks\l@names \l@names={\\\the@label} +\let\the@label=\empty + +\def\label{\num@lett\@label} +\def\@label#1{\def@name\l@names#1{\the@label}} +\def\pagelabel{\num@lett\@pagelabel} +\def\@pagelabel#1{\def@name\l@names#1{??}\wlog{* \noexpand\pagelabel + is not yet implemented, \noexpand#1will be defined as #1 *}} +\def\quote{\num@lett\empty} + +\outer\def\lblrestore{\all@restore\l@names} + +%*** initialization *** + +\let\sect=\relax \let\s@ct=\relax % allow input to be read twice + +\def\chapinit{\chap@init{\chap@pref}\glet\sect@@eq\@chap@sect@eq + \sectinit} +\def\appinit{\chap@init{\char\the\appn@m}\glet\sect@@eq\@chap@eq + \glet\sect@dot@pref\empty \glet\ddot@pref\dot@pref + \glet\sect\undefined} +\def\sectinit{\xdef\sect@dot@pref{\the\sectn@m.}% + \xdef\ddot@pref{\dot@pref\sect@dot@pref}\glet\sect\s@ct} +\def\chap@init#1{\xdef\the@label{#1}\xdef\dot@pref{\the@label.}% + \xdef\dash@pref{\the@label--}\glet\chap@@eq\@chap@eq} + +%*** chap *** + +\newcount\chapn@m \chapn@m=0 + +\outer\def\chappage{\glet\chap@page T} +\outer\def\nochappage{\glet\chap@page F} + +\outer\def\arabicchapnum{\glet\chap@ar A\gdef\chap@pref{\the\chapn@m}} +\outer\def\romanchapnum{\glet\chap@ar R% + \gdef\chap@pref{\uppercase{\romannumeral\chapn@m}}} + +\let\chap=\relax \let\ch@p=\relax % allow input to be read twice + +\outer\def\chapters{\glet\chap@yn Y\glet\chap\ch@p + \chap@init{0}\glet\sect@@eq\@chap@sect@eq \sectinit} +\outer\def\nochapters{\glet\chap@yn N\glet\chap\undefined + \glet\dot@pref\empty \glet\dash@pref\empty + \glet\chap@@eq\@eq \glet\sect@@eq\@sect@eq \sectinit} + +\outer\def\ch@p#1{\if T\chap@page \superendpage \else \chap@break \fi + \g@ne\chapn@m \sect@reset \chapinit \page@reset\chapn@m + \eq@reset \fig@reset \tab@reset + \toks@{\dot@pref}\toks@ii{#1}\chapuserexit + \titl@{\the\toks@\ \the\toks@ii}% + \ifnum\auto@toc>\m@ne \toks@store{#1}\@toc\dot@pref \fi} + +%*** sect *** + +% use \read@store to read (sub-)section titles in case they are used +% in table of contents + +\def\sec@title#1#2#3#4#5#6#7#{\ifx @#7@\g@ne#1\else\global#1#7\fi + #2\secskipt \xdef\the@label{#4\the#1}\xdef#5{\the@label.}% + \bpargroup #3\read@store{\sec@@title#5#6}} +\def\sec@@title#1#2#3{\toks@{\the@label.}\toks@ii\toks@store + #3\varitem{\the\toks@}\the\toks@store + \ifnum\auto@toc>#2\@toc{#1}\fi \par \nobreak} + +\newcount\sectn@m \sectn@m=0 +\def\sect@reset{\gz@\sectn@m} +\outer\def\s@ct{\sec@title\sectn@m + {\secs@reset \sectinit \eq@@reset \fig@@reset \tab@@reset}% + \sectstyle\dot@pref\ddot@pref{\z@\sectuserexit}} + +\newcount\secsn@m \secsn@m=0 +\def\secs@reset{\gz@\secsn@m} +\outer\def\secs{\sec@title\secsn@m\secss@reset + \secsstyle\ddot@pref\secs@pref{\@ne\secsuserexit}} + +\newcount\secssn@m \secssn@m=0 +\def\secss@reset{\gz@\secssn@m} +\outer\def\secss{\sec@title\secssn@m\secsss@reset + \secssstyle\secs@pref\secss@pref{\tw@\secssuserexit}} + +\newcount\secsssn@m \secsssn@m=0 +\def\secsss@reset{\gz@\secsssn@m} +\outer\def\secsss{\sec@title\secsssn@m\secssss@reset + \secsssstyle\secss@pref\secsss@pref{\thr@@\secsssuserexit}} + +\let\secssss@reset=\empty + +\outer\def\subsec#1{\par \noindent \subsecstyle{#1}} + +%*** appendix *** + +\newcount\appn@m \appn@m=64 + +\outer\def\appendix{\if T\chap@page \superendpage \else\chap@break \fi + \g@ne\appn@m \secs@reset \appinit \page@reset\appn@m + \eq@reset \fig@reset \tab@reset \futurelet\n@xt \app@ndix} + +\def\app@ndix{\ifcat\bgroup\noexpand\n@xt \expandafter\@ppendix \else + \expandafter\@ppendix\expandafter\unskip \fi} + +\def\@ppendix#1{\toks@{\case@language\appendixhead~\dot@pref} + \toks@ii{#1}\appuserexit + \titl@{\the\toks@\ \the\toks@ii}% + \ifnum\auto@toc>\m@ne \toks@store{#1}% + \@toc{\case@language\appendixhead\ \dot@pref}\fi} + +\def\app#1{\chskipt \he@d{\case@language\appendixhead\ #1}} +%*** end of file PHYSCHAP *** + +\message{equations,} + +% \input physequ +%*** this is file PHYSEQU as of 20.02.86 *** +%*** quotation of equations, figures, tables and references *** + +\def\num@lett{\cat@lett \num@@lett} +\def\num@@lett#1#2{\egroup #1{#2}} + +\def\num@l@tt{\cat@lett \num@@l@tt} +\def\num@@l@tt#1#{\egroup #1} + +\def\cat@lett{\bgroup + \catcode`\0\l@tter \catcode`\1\l@tter \catcode`\2\l@tter + \catcode`\3\l@tter \catcode`\4\l@tter \catcode`\5\l@tter + \catcode`\6\l@tter \catcode`\7\l@tter \catcode`\8\l@tter + \catcode`\9\l@tter \catcode`\'\l@tter} + +\def\quote@all#1{\hbox{\mathcode`\-"707B$#1$}} +\def\use{\num@lett\@use} +\def\@use{\setbox\z@\hbox} + +%*** equations *** + +\newtoks\e@names \e@names={} +\newcount\eqn@m \eqn@m=0 + +\outer\def\equall{\glet\eq@acs A\glet\eq@pref\empty + \glet\def@eq\@eq \glet\eq@reset\relax \glet\eq@@reset\relax} +\outer\def\equchap{\glet\eq@acs C\gdef\eq@pref{\dot@pref}% + \gdef\def@eq{\chap@@eq}\glet\eq@reset\eqz@ \glet\eq@@reset\relax} +\outer\def\equsect{\glet\eq@acs S\gdef\eq@pref{\ddot@pref}% + \gdef\def@eq{\sect@@eq}\glet\eq@reset\eqz@ \glet\eq@@reset\eqz@} +\def\eqz@{\gz@\eqn@m} + +\outer\def\equfull{\glet\eq@fs F\gdef\eq@@fs{\let\test@eq\full@eq}} +\outer\def\equshort{\glet\eq@fs S\glet\eq@@fs\relax} + +\def\@eq(#1){#1} +\def\@chap@eq{\noexpand\chap@eq\@eq} +\def\@sect@eq{\noexpand\sect@eq\@eq} +\def\@chap@sect@eq{\noexpand\chap@sect@eq\@eq} + +\def\chap@eq{\test@eq\empty\dot@pref} +\def\sect@eq{\test@eq\empty\sect@dot@pref} +\def\chap@sect@eq{\test@eq\sect@eq\dot@pref} +\def\test@eq#1#2#3.{\def\n@xt{#3.}\ifx#2\n@xt \let\n@xt#1\fi \n@xt} +\def\full@eq#1#2{} +\def\short@eq#1#2#3.{#1} + +\outer\def\equleft{\glet\eq@lrn L\glet\eqtag\leqno + \glet\eq@tag\leq@no} +\outer\def\equright{\glet\eq@lrn R\glet\eqtag\eqno + \glet\eq@tag\eq@no} +\outer\def\equnone{\glet\eq@lrn N\glet\eqtag\n@eqno + \glet\eq@tag\neq@no} + +\begingroup + \catcode`\$=\active \catcode`\*=3 \lccode`\*=`\$ + \lowercase{\gdef\n@eqno{\catcode`\$\active + \def$${\egroup **}\setbox\z@\hbox\bgroup}} +\endgroup +\def\eq@no{\llap{$##$}\tabskip\z@skip} +\def\leq@no{\kern-\displaywidth \rlap{$##$}\tabskip\displaywidth} +\def\neq@no{\@use{$##$}\tabskip\z@skip} + +\def\eqalignno{\let\eq@@tag\eq@no \eqalign@tag} +\def\leqalignno{\let\eq@@tag\leq@no \eqalign@tag} +\def\eqaligntag{\let\eq@@tag\eq@tag \eqalign@tag} +\def\eqalign@tag{\afterassignment\eqalign@@tag \@eat} +\def\eqalign@@tag{\displ@y + \tabskip\centering \halign to\displaywidth\n@xt + \hfil$\displaystyle{##}$\tabskip\z@skip + &$\displaystyle{{}##}$\hfil\tabskip\centering + &\span\eq@@tag\crcr} + +\def\fulltag#1{{\let\test@eq\full@eq#1}} +\def\shorttag#1{{\let\test@eq\short@eq#1}} + +\def\eq{\g@ne\eqn@m \make@eq\empty} +\def\make@eq#1{(\eq@pref\the\eqn@m #1)} +\def\EQ{\eq \num@lett\eq@save} +\def\eq@save#1{\def@name\e@names#1{\expandafter\def@eq\make@eq\empty}} + +\def\eqn{\eqtag\eq} +\def\EQN{\eqtag\EQ} + +\def\eqadv{\g@ne\eqn@m} +\def\EQADV{\eqadv \num@lett\eq@save} + +\newcount\seqn@m \seqn@m=96 + +\def\subeqbegin{\global\seqn@m96 \subeq} +\def\SUBEQBEGIN{\global\seqn@m96 \SUBEQ} +\def\subeq{\g@ne\seqn@m \make@eq{\char\seqn@m}} +\def\SUBEQ{\num@lett\@SUBEQ} +\def\@SUBEQ#1{\subeq \def@name\e@names#1{\char\the\seqn@m}} + +\def\subeqnbegin{\eqtag\subeqbegin} +\def\SUBEQNBEGIN{\eqtag\SUBEQBEGIN} +\def\subeqn{\eqtag\subeq} +\def\SUBEQN{\eqtag\SUBEQ} + +\def\eqapp{\num@lett\@eqapp} +\def\@eqapp#1#2{(\fulltag#1#2)} +\def\eqnapp{\eqtag\eqapp} + +\def\queq{\num@lett\@queq} +\def\@queq#1{\quote@all{\eq@@fs(#1)}} +\def\qeq{\case@abbr\eqabbr\queq} +\def\qeqs{\case@abbr\eqsabbr\queq} + +\outer\def\eqrestore{\all@restore\e@names} +%*** end of file PHYSEQU *** + +\message{storage management,} + +% \input physstor +%*** this is file PHYSSTOR as of 28.02.86 *** +%*** storage management for figures, tables, references, *** +%*** table of contents and (possibly) footnotes *** + +% Note: The text for figure captions, table captions, references, +% table of contents and (if applicable) footnotes must be read +% from the input file, i.e. tokenized, via \read@store + +\newtoks\toks@store +\newtoks\file@list \file@list={1234567} + +\begingroup + \let\storebox=\relax \let\refnam=\relax % allow input to be + \let\RFfile=\relax \let\RFext=\relax % read twice + \newhelp\opt@help{The options \string\refnam, \string\RFfile\space + and \string\RFext\space are incompatible with \string\storebox. + Your request will be ignored.} + \global\opt@help=\opt@help % make this definition global + \gdef\opt@err{{\errhelp\opt@help \errmessage{Incompatible options}}} +\endgroup + +% Freeze option \storebox, \storelist or \storefile and eliminate +% code not needed for that option +\begingroup + \let\storebox=\relax \let\storelist=\relax % allow input to be + \let\storefile=\relax \let\RFfile=\relax % read twice + \gdef\case@store{% + \glet\storebox\undefined + \if B\store@blf \glet\storebox\empty \glet\case@store\case@box + \else \glet\box@store\undefined + \glet\box@out\undefined \glet\box@print\undefined + \glet\box@save\undefined \glet\box@kill\undefined \fi + \glet\storelist\undefined + \if L\store@blf \glet\storelist\empty \glet\case@store\case@list + \else \glet\list@store\undefined + \glet\list@out\undefined \glet\list@print\undefined + \glet\list@save\undefined \glet\list@kill\undefined \fi + \glet\storefile\undefined + \if F\store@blf \glet\storefile\empty \glet\case@store\case@file + \else \store@setup + \glet\file@out\undefined \glet\file@print\undefined + \glet\file@save\undefined \glet\file@kill\undefined \fi + \glet\case@box\undefined \glet\case@list\undefined + \glet\case@file\undefined \glet\store@setup\undefined + \case@store} + \gdef\store@setup{\ifx \RFfile\undefined \glet\file@store\undefined + \glet\file@open\undefined \glet\file@close\undefined + \glet\file@wlog\undefined \glet\file@free\undefined + \glet\file@copy\undefined \glet\file@read\undefined \fi} +\endgroup + +\outer\def\storebox{\if L\RF@lfe \if N\ref@sbn \opt@err + \else \glet\store@blf B\fi \else \opt@err \fi} +\outer\def\storelist{\glet\store@blf L} +\outer\def\storefile{\glet\store@blf F} + +\def\read@store{\bgroup \@read@store} +\def\read@@store{\bgroup \catcode`\@\l@tter \@read@store} +\def\@read@store#1{\def\n@xt{\egroup \toks@store\toks@i + #1\ignorespaces}% + \catcode`\^^M\active \afterassignment\n@xt \global\toks@i} +\begingroup + \catcode`\:=\active + \gdef\write@save#1{\s@ve{:restore\@type{#1}{\the\toks@store}}} +\endgroup +\def\f@rm@t#1#2{\bgroup \leftskip\z@skip \rightskip\z@skip \f@rmat + \ifx @#1@\noindent \strut \indent + \else \varitem\@indent{#1}\strut \fi #2\form@t \egroup} +\let\f@rmat=\nointerlineskip +\def\form@t{\unskip \strut \par \@break} + +\def\@store{\case@store\box@store\list@store\file@store} +\def\@sstore#1#2#3{\par \noindent \bgroup \captionstyle + \case@abbr#2#3:\enskip \the\toks@store \egroup \par \@store#1{#3.}} +\def\@add#1{\read@store{\@store#1\empty}} +\def\@out#1#2#3#4#5{\case@store\box@out\list@out\file@out#1\begingroup + \if T#2\let\chap@break\superendpage \fi \chap@break + \chap@init{\case@language#3}% + \if C\page@ac \skippagenum T\fi + \page@reset6#1% + \@style \he@d{\strut\case@language#4}\@break \@print#1% + \ifx\chap@break\superendpage \superendpage \fi + \def\\##1{\glet##1\undefined}\the#5\global#5\emptyt@ks + \endgroup \fi} +\def\@print{\case@store\box@print\list@print\file@print} +\def\@save{\case@store\box@save\list@save\file@save} +\def\@kill{\case@store\box@kill\list@kill\file@kill} + +\def\case@box#1#2#3{\case@@store#1% + \fig@box\tab@box\ref@box\toc@box\foot@box} +\def\case@list#1#2#3{\case@@store#2% + \fig@list\tab@list\ref@list\toc@list\foot@list} +\def\case@file#1#2#3{\case@@store{\expandafter#3}% + \fig@file\tab@file\ref@file\toc@file\foot@file} + +\def\case@@store#1#2#3#4#5#6#7{\ifcase#7% + \toks@{\fig@type#1#2}\or + \toks@{\tab@type#1#3}\or + \toks@{\ref@type#1#4}\or + \toks@{\toc@type#1#5}\or + \toks@{\foot@type#1#6}\fi + \expandafter\let\expandafter\@type\the\toks@} +\def\@style{\csname\@type style\endcsname} +\def\@indent{\csname\@type indent\endcsname} +\def\@break{\csname\@type break\endcsname} + +\def\box@store#1#2{\global\setbox#1\vbox + {\ifvbox#1\unvbox#1\fi \@style \f@rm@t{#2}{\the\toks@store}}} +\def\box@out{\ifvbox} +\def\box@print{\vskip\baselineskip \unvbox} +\begingroup + \catcode`\:=\active \catcode`\;=\active + \gdef\box@save#1{\wlog{; Unable to save text for + \@type's with option :storebox}} +\endgroup +\def\box@kill#1{{\setbox\z@\box#1}} + +\def\list@store#1#2{\toks@\expandafter{#1\\}% + \xdef#1{\the\toks@ {#2}{\the\toks@store}}} +\def\list@out#1{\ifx #1\empty \else} +\def\list@print#1{\let \\\f@rm@t #1\glet#1\empty} +\def\list@save{\def\\##1##2{\toks@store{##2}\write@save{##1}}% + \newlinechar`\^^M} +\def\list@kill#1{\glet#1\empty} + +\begingroup + \catcode`\:=\active + \gdef\file@store#1#2#3#4{\if0#3\expandafter\file@open\the\file@list + \@@#1#2\fi + {\newlinechar`\^^M\immediate\write#2{::{#4}{\the\toks@store}}}} +\endgroup +\def\file@open#1#2\@@#3#4{\immediate\openout#4\jobname.sysut#1% + \gdef#3{#3#4#1}\global\file@list{#2}\file@wlog{open}#1} +\def\file@wlog#1#2{\wlog{#1 \jobname.sysut#2 for \@type's}} +\def\file@out#1#2#3{\if0#3\else} +\def\file@print#1#2#3{\file@close#2#3\let\\\f@rm@t \file@copy#1#2#3} +\def\file@save#1#2#3{\if0#3\else \file@close#2#3% + \def\\##1{\read@store{\expandafter\file@store#1{##1}% + \write@save{##1}}}% + \newlinechar`\^^M\file@copy#1#2#3\fi} +\def\file@kill#1#2#3{\if0#3\else \file@close#2#3\file@free#1#2#3\fi} +\def\file@close#1#2{\immediate\closeout#1\file@wlog{close}#2} +\def\file@copy#1#2#3{\file@free#1#2#3\file@read#3} +\def\file@read#1{\input \jobname.sysut#1 } +\def\file@free#1#2#3{\gdef#1{#1#20}% + \global\file@list\expandafter{\the\file@list#3}} +%*** end of file PHYSSTOR *** + +\message{figures,} + +% \input physfig +%*** this is file PHYSFIG as of 28.02.86 *** +%*** figures and tables *** + +\def\bf@t#1{\bgroup \let\f@t#1\num@l@tt} +\def\ef@t#1#2#3#4#{\ifx @#4@\g@ne#1\xdef\thef@tn@m{#2\the#1}\else + \gdef\thef@tn@m{#4}\fi #3\read@store{\f@t\egroup}} + +%*** figures *** + +\newtoks\f@names \f@names={} +\newcount\fign@m \fign@m=0 +\def\fig@type{fig} +\newbox\fig@box +\let\fig@list=\empty +\newwrite\fig@write \def\fig@file{\fig@file\fig@write0} + +\outer\def\figall{\glet\fig@acs A\glet\fig@pref\empty + \glet\fig@reset\relax \glet\fig@@reset\relax} +\outer\def\figchap{\glet\fig@acs C\gdef\fig@pref{\dot@pref}% + \glet\fig@reset\figz@ \glet\fig@@reset\relax} +\outer\def\figsect{\glet\fig@acs S\gdef\fig@pref{\ddot@pref}% + \glet\fig@reset\figz@ \glet\fig@@reset\figz@} +\def\figz@{\gz@\fign@m} + +\outer\def\figpage{\glet\fig@page T} +\outer\def\nofigpage{\glet\fig@page F} + +\def\fig{\bf@t\fig@\@fig} +\def\FIG{\bf@t\fig@\@FIG} +\def\ffig{\bf@t\ffig@\@fig} +\def\FFIG{\bf@t\ffig@\@FIG} + +\def\@fig{\ef@t\fign@m\fig@pref\relax} +\def\@FIG#1{\ef@t\fign@m\fig@pref{\def@name\f@names#1{\thef@tn@m}}} + +\def\fig@{\@store0{\thef@tn@m .}} +\def\ffig@{\@sstore0\figpref{\thef@tn@m}} +\def\figadd{\@add0} + +\def\qufig{\case@abbr\figabbr\num@lett\quote@all} + +\outer\def\figout{\@out0\fig@page\figpref\fighead\f@names} +\outer\def\figkill{\@kill0} +\outer\def\restorefig#1{\read@store{\@store0{#1}}} +\outer\def\figrestore{\all@restore\f@names} +%*** end of file PHYSFIG *** + +% \input physpict +%*** this is file PHYSPICT as of 19.03.86 *** +%*** picture macros *** + +\newdimen\spictskip \spictskip=2.5pt + +\def\pict{\bf@t\pict@\@fig} +\def\PICT{\bf@t\pict@\@FIG} + +\def\pict@#1{\vskip\the\toks@store \egroup \bpargroup + \raggedright \captionstyle \varitem{\qufig{\thef@tn@m\,}:}% + \let\@spict\spict@ \spacefactor998\ignorespaces} + +\def\spict#1{\ifnum\spacefactor=998\else \parvskip\spictskip \fi + \@spict{#1\enskip}\ignorespaces} +\def\spict@#1{\setbox\z@\hbox{#1}\advance\hangindent\wd\z@ + \box\z@ \let\@spict\llap} + +%*** graphic macros *** + +\outer\def\graphics{\glet\graphic\gr@phic} +\outer\def\nographics{\glet\graphic\nogr@phic} + +\def\gr@phic#1#2#3#4{\hbox\bgroup \setbox\z@\hbox{\special{^X#1^A}}% + \lower#4\copy\z@ \hskip#2\raise#3\box\z@ \egroup} +\def\nogr@phic#1#2#3#4{\hbox\bgroup \write\m@ne{Insert graphic #1}% + \frame{#2}{#3}{#4}\egroup} + +\def\frame#1#2#3{\hbox to#1\bgroup \dimen@#2\dimen@ii#3\vrule\fr@@me + \bgroup \dimen@ii-\dimen@ \fr@me\dimen@ii \hfilneg + \bgroup \dimen@-\dimen@ii \fr@me\dimen@ \vrule\fr@@me \egroup} +\def\fr@me#1{\advance#1.4\p@ \leaders \hrule\fr@@me \hfil \egroup} +\def\fr@@me{\@height\dimen@ \@depth\dimen@ii} +%*** end of file PHYSPICT *** + +\message{tables,} + +% \input phystab +%*** this is file PHYSTAB as of 28.02.86 *** +%*** tables *** + +\newtoks\t@names \t@names={} +\newcount\tabn@m \tabn@m=0 +\def\tab@type{tab} +\newbox\tab@box +\let\tab@list=\empty +\newwrite\tab@write \def\tab@file{\tab@file\tab@write0} + + +\outer\def\taball{\glet\tab@acs A\glet\tab@pref\empty + \glet\tab@reset\relax \glet\tab@@reset\relax} +\outer\def\tabchap{\glet\tab@acs C\gdef\tab@pref{\dot@pref}% + \glet\tab@reset\tabz@ \glet\tab@@reset\relax} +\outer\def\tabsect{\glet\tab@acs S\gdef\tab@pref{\ddot@pref}% + \glet\tab@reset\tabz@ \glet\tab@@reset\tabz@} +\def\tabz@{\gz@\tabn@m} + +\outer\def\tabpage{\glet\tab@page T} +\outer\def\notabpage{\glet\tab@page F} + +\def\tab{\bf@t\tab@\@tab} +\def\TAB{\bf@t\tab@\@TAB} +\def\ttab{\bf@t\ttab@\@tab} +\def\TTAB{\bf@t\ttab@\@TAB} + +\def\@tab{\ef@t\tabn@m\tab@pref\relax} +\def\@TAB#1{\ef@t\tabn@m\tab@pref{\def@name\t@names#1{\thef@tn@m}}} + +\def\tab@{\@store1{\thef@tn@m .}} +\def\ttab@{\@sstore1\tabpref{\thef@tn@m}} +\def\tabadd{\@add1} + +\def\qutab{\case@abbr\tababbr\num@lett\quote@all} + +\outer\def\tabout{\@out1\tab@page\tabpref\tabhead\t@names} +\outer\def\tabkill{\@kill1} +\outer\def\restoretab#1{\read@store{\@store1{#1}}} +\outer\def\tabrestore{\all@restore\t@names} +%*** end of file PHYSTAB *** + +% \input phystabl +%*** this is file PHYSTABL as of 07.03.86 *** +%*** table macro *** + +\newskip\htabskip \htabskip=1em plus 2em minus .5em +\newdimen\vtabskip \vtabskip=2.5pt +\newbox\tab@top \newbox\tab@bot + +\let\@hrule=\hrule +\let\@halign=\halign +\let\@valign=\valign +\let\@span=\span +\let\@omit=\omit + +\def\@@span{\@span\@omit\@span} +\def\@@@span{\@span\@omit\@@span} + +\def\sp@n{\span\@omit\advance\mscount\m@ne} % for multispan + +\def\table#1#{\vbox\bgroup\offinterlineskip + \toks@ii{#1\bgroup \unhcopy\tab@top \unhcopy\tab@bot + ##}\afterassignment\tab@preamble \@eat} + +%*** scan preamble of table + +\def\tab@preamble#1\cr{\let\tab@@vrule\tab@repeat + \let\tab@amp@\empty \let\tab@amp\empty \let\span@\@@span + \toks@{\tab@space#1&\cr}\the\toks@} +\def\tab@space{\tab@test{ }{}\tab@vrule} % blank +\def\tab@vrule{\tab@test\vrule{\tab@add\vrule}% % \vrule + \tab@@vrule} +\def\tab@repeat{\tab@test&{\tab@add&% % & (repeat) + \let\tab@@vrule\tab@template \let\tab@amp@\tab@@amp + \let\tab@amp&\let\span@\@@@span}\tab@template} +\def\tab@template#1&{\tab@add{\@span\tab@amp@ + \tabskip\htabskip&\tab@setup#1&\tabskip\z@skip##}% % <template> + \tab@test\cr{\let\tab@@vrule\tab@exec}\tab@space} % \cr +\def\tab@@amp{&##} + +\def\tab@test#1#2#3{\let\tab@comp= #1\toks@{#2}\let\tab@go#3% + \futurelet\n@xt \tab@@test} +\def\tab@@test{\ifx \tab@comp\n@xt \the\toks@ + \afterassignment\tab@go \expandafter\@eat \else + \expandafter\tab@go \fi} + +\def\tab@add#1{\toks@ii\expandafter{\the\toks@ii#1}} + +%*** execute preamble of table + +\def\tab@exec{\tab@reset\everycr{\tab@body}% + \def\halign{\tab@reset \halign}\def\valign{\tab@reset \valign}% + \def\omit{\@omit \tab@setup}% + \def\n@xt##1{\hbox{\dimen@\ht\strutbox\dimen@ii\dp\strutbox + \advance##1\vtabskip \vrule \@height\dimen@ \@depth\dimen@ii + \@width\z@}}% + \setbox\tab@top\n@xt\dimen@ \setbox\tab@bot\n@xt\dimen@ii + \def\ml##1{\relax % multi + \ifmmode \let\@ml\empty \else \let\@ml$\fi % line + \@ml\vcenter{\hbox\bgroup\unhcopy\tab@top % mode + ##1\unhcopy\tab@bot\egroup}\@ml}% + \def\nl{\egroup\hbox\bgroup\strut}% % new line + \tabskip\z@skip\@halign\the\toks@ii\cr} + +\def\tab@reset{\let\cr\endline \everycr\emptyt@ks + \let\halign\@halign \let\valign\@valign + \let\span\@span \let\omit\@omit} +\def\tab@setup{\relax \iffalse {\fi \let\span\span@ \iffalse }\fi} + +%*** scan and execute body of table + +\def\tab@body{\noalign\bgroup \tab@@body} % scan inside +\def\tab@@body{\futurelet\n@xt \tab@end} % noalign +\def\tab@end{\ifcat\egroup\noexpand\n@xt + \expandafter\egroup \expandafter\egroup \else % } + \expandafter\tab@blank \fi} +\def\tab@blank{\ifcat\space\noexpand\n@xt + \afterassignment\tab@@body \expandafter\@eat \else % blank + \expandafter\tab@hrule \fi} +\def\tab@hrule{\ifx\hrule\n@xt + \def\hrule{\@hrule\egroup \tab@body}\else % \hrule + \expandafter\tab@noalign \fi} +\def\tab@noalign{\ifx\noalign\n@xt + \aftergroup\tab@body \expandafter\@eat@ \else % \noalign + \expandafter\tab@row \fi} +\def\tab@row#1\cr{\toks@ii{\toks@ii{\egroup}% % one row + \tab@item#1&\cr}\the\toks@ii} +\def\tab@item#1&{\tab@add{\tab@amp&}% % one item + \futurelet\n@xt \tab@cr} +\def\tab@cr{\ifx\cr\n@xt + \expandafter\the\expandafter\toks@ii \else % cr + \expandafter\tab@item \fi} +%*** end of file PHYSTABL *** + +\message{references,} + +% \input physref +%*** this is file PHYSREF as of 18.02.86 *** +%*** references *** + +\newtoks\r@names \r@names={} +\newcount\refn@m \refn@m=0 +\newcount\ref@temp +\def\ref@type{ref} +\newbox\ref@box +\let\ref@list=\empty +\newwrite\ref@write \def\ref@file{\ref@file\ref@write0} + +\begingroup \let\refnam=\relax % allow input to be read twice + \newhelp\ref@help{The option \string\refnam\space allows predefined + references only and is incompatible with \string\qref(s). + Your request will be ignored.} + \global\ref@help=\ref@help % make this definition global + \gdef\ref@err{{\errhelp\ref@help \errmessage{Invalid request}}} +\endgroup + +% Freeze option \refsup, \refsqb or \refnam and eliminate +% code not needed for that option +\begingroup + \let\refsup=\relax \let\refsqb=\relax % allow input to be + \let\refnam=\relax % read twice + \gdef\ref@setup{% + \glet\refsup\undefined + \if S\ref@sbn \glet\refsup\empty \glet\therefn@m\suprefn@m \fi + \glet\refsqb\undefined + \if B\ref@sbn \glet\refsqb\empty \glet\therefn@m\sqbrefn@m \fi + \glet\refnam\undefined + \if N\ref@sbn \glet\refnam\empty \glet\the@quref\nam@quref + \glet\@@ref\ref@err \gdef\qref{\ref@err \quref}\glet\qrefs\qref + \glet\RF@def@\RF@def@nam + \glet\RF@find\undefined \glet\RF@search\undefined + \glet\RF@locate\undefined \glet\@RFread\undefined + \glet\qurefsup\ref@err \glet\sup@quref\undefined + \glet\qurefsqb\ref@err \glet\sqb@quref\undefined + \glet\qurefnum\ref@err \glet\num@quref\undefined + \glet\ref@restore\ref@err + \else \gdef\@@ref{\@store2\therefn@m}% + \gdef\qref{\case@abbr\refabbr\num@lett\quote@all}% + \gdef\qrefs{\case@abbr\refsabbr\num@lett\quote@all}% + \glet\RF@def@\RF@def@num \glet\RF@print\undefined + \gdef\ref@restore{\all@restore\r@names}\fi + \glet\nam@quref\undefined + \gdef\quref{\ref@unskip \num@lett\the@quref}% + \glet\RF@def@num\undefined \glet\RF@def@nam\undefined + \gdef\RF@restore{\all@restore\R@names}% + \glet\ref@setup\undefined} +\endgroup + +\outer\def\refsup{\glet\ref@sbn S\global\qurefsup} +\outer\def\refsqb{\glet\ref@sbn B\global\qurefsqb} +\outer\def\refnam{\if B\store@blf \opt@err \else \glet\ref@sbn N\fi} + +\def\qurefsup{\let\the@quref\sup@quref} +\def\qurefsqb{\let\the@quref\sqb@quref} +\def\qurefnum{\let\the@quref\num@quref} + +\outer\def\refpage{\glet\ref@page T} +\outer\def\norefpage{\glet\ref@page F} + +\def\ref{\ref@advance \refend \@ref} +\def\REF{\num@lett\@REF} +\def\@REF#1{\ref@name#1\@ref} +\def\refend{\quref{\the\refn@m}} + +\def\refs{\ref@advance \ref@temp\refn@m \@ref} +\def\REFS{\num@lett\@REFS} +\def\@REFS#1{\ref@name#1\ref@temp\refn@m \@ref} +\def\refscon{\ref@advance \@ref} +\let\REFSCON=\REF +\def\refsend{\quref{\the\ref@temp -\the\refn@m}} + +\def\ref@advance{\ref@unskip \g@ne\refn@m} +\def\ref@name{\ref@@name\r@names} +\def\ref@@name#1#2{\ref@advance \def@name#1#2{\the\refn@m}} +\def\ref@unskip{\ifhmode \unskip \fi} + +\def\suprefn@m{\the\refn@m .} +\def\sqbrefn@m{$\lbrack \the\refn@m \rbrack$} +\def\@ref{\read@store\@@ref} +\def\@@ref{\ref@setup \@@ref} +\def\refadd{\@add2} + +\def\sup@quref#1{\leavevmode \nobreak \quote@all{^{#1}}} +\def\sqb@quref#1{\ \quote@all{\lbrack #1\rbrack}} +\def\num@quref{\ \quote@all} +\def\nam@quref{\@use} +\def\quref{\ref@setup \quref} +\def\qref{\ref@setup \qref} +\def\qrefs{\ref@setup \qrefs} + +\outer\def\refout{{\@out2\ref@page\refpref\refhead\r@names + \let\\\@RFdef \the\R@names \global\R@names\emptyt@ks + \if L\RF@lfe \else \glet\RF@list\empty \gz@\RF@high \fi + \gz@\refn@m}} +\outer\def\refkill{\@kill2} +\outer\def\restoreref#1{\read@@store{\@store2{#1}}} +\outer\def\refrestore{\ref@restore} +\outer\def\RFrestore{\RF@restore} +\def\ref@restore{\ref@setup \ref@restore} +\def\RF@restore{\ref@setup \RF@restore} + +%*** predefined references *** + +\newtoks\R@names \R@names={} +\newcount\RFn@m \newcount\RF@high +\newcount\RFmax \RFmax=50 % maximum number of RF's held in storage +\def\RF@type{RF} +\let\RF@list=\empty +\newwrite\RF@write \def\RF@file{\RF@file\RF@write0} +\let\RF@noc=N + +% Freeze option \RFlist, \RFfile or \RFext and eliminate +% code not needed for that option +\begingroup \let\storefile=\relax % allow input + \let\RFlist=\relax \let\RFfile=\relax % to be read + \let\RFext=\relax \let\RF=\relax % twice + \gdef\@RF{% + \glet\RFlist\undefined + \if L\RF@lfe \glet\RFlist\empty \glet\@RF\@RFlist + \gdef\RF@input{\RF@list}% + \else \glet\@RFlist\undefined \fi + \glet\RFfile\undefined + \if F\RF@lfe \glet\RFfile\empty \glet\@RF\@RFfile + \else \RF@setup + \glet\@RFfile\undefined \glet\@RFcopy\undefined + \glet\RF@store\undefined \glet\RF@copy\undefined + \glet\RF@@input\undefined \fi + \glet\RFext\undefined + \if E\RF@lfe \gdef\RFext##1 {}\glet\@RF\@RFext + \else \glet\@RFext\undefined \fi + \glet\RF@setup\undefined \@RF} + \gdef\RF@setup{\ifx \storefile\undefined \glet\file@store\undefined + \glet\file@open\undefined \glet\file@close\undefined + \glet\file@wlog\undefined \glet\file@free\undefined + \glet\file@copy\undefined \glet\file@read\undefined \fi} +\endgroup + +\outer\def\RFlist{\glet\RF@lfe L} +\outer\def\RFfile{\if B\store@blf \opt@err \else \glet\RF@lfe F\fi} +\outer\def\RFext#1 {\if B\store@blf \opt@err \else + \glet\RF@lfe E\gdef\RF@input{\input#1 }\RF@input \fi} + +\def\@RFdef#1{\gdef#1{\RF@def#1}} +\def\@RF@list#1{\toks@\expandafter{\RF@list\RF@#1}% + \xdef\RF@list{\the\toks@ {\the\toks@store}}} +\def\@RFcopy#1{\RF@store{\noexpand#1}} +\def\RF@store{\let\@type\RF@type \if C\RF@noc \glet\RF@noc N% + \RF@copy \fi \glet\RF@noc O\expandafter\file@store\RF@file} +\def\RF@input{\expandafter\RF@@input\RF@file} +\begingroup \let\RF=\relax % allow input to be read twice + \gdef\RF@copy{{\let\\\RF \let\@RF\@RFcopy + \expandafter\file@copy\RF@file}} + \gdef\RF@@input#1#2#3{\if O\RF@noc \let\@type\RF@type + \file@close#2#3\glet\RF@noc C\fi \let\\\RF \file@read#3} +\endgroup + +\def\RF@def#1{\ref@@name\R@names#1\RF@def@ #1} +\def\RF@def@{\ref@setup \RF@def@} +\def\RF@def@num{\toks@store\expandafter{\expandafter\RF@find + \expandafter{\the\refn@m}}\@@ref} +\def\RF@def@nam{\ifnum\refn@m=\@ne \refadd{\RF@print}\fi} +\def\RF@test#1{\z@} + +\def\RF@print{\let\@RF\@RF@print \let\RF@def\RF@test + \let\RF@first T\RF@input} +\def\@RF@print#1{\ifnum#1>\z@ + \if\RF@first T\let\RF@first F\setbox\z@\lastbox + \else \form@t\f@rmat \noindent \strut \fi + \hangindent\namrefindent \the\toks@store \fi} + +\def\RF@find#1{\RFn@m#1\bgroup \let\RF@def\RF@test + \if L\RF@lfe \else \ifnum\RFn@m<\RF@high \else \RF@search \fi \fi + \let\RF@\RF@locate \RF@list \egroup} + +\def\RF@search{\global\RF@high\RFn@m \global\advance\RF@high\RFmax + \glet\RF@list\empty \let\@RF\@RFread \RF@input} +\def\@RFread#1{\ifnum#1<\RFn@m \else \ifnum#1<\RF@high + \@RF@list#1\fi \fi} +\def\RF@locate#1#2{\ifnum#1=\RFn@m #2\fi} + +\def\@RFlist#1{\@RFdef#1\@RF@list#1} +\def\@RFfile#1{\@RFdef#1\@RFcopy#1} +\let\@RFext=\@RFdef + +\outer\def\RF{\num@lett\RF@} +\def\RF@#1{\ref@unskip \read@store{\@RF#1}} +%*** end of file PHYSREF *** + +% \input physjrnl +%*** this is file PHYSJRNL as of 11.02.86 *** +%*** physics journals *** + +\outer\def\yearpage{\glet\yearpage@yp Y} +\outer\def\pageyear{\glet\yearpage@yp P} + +\def\journal#1{{\journalstyle{#1}}\j@urnal{}} +\def\journalp#1{{\journalstyle{#1}}\j@urnal} +\def\journalf#1#2#3({{\journalstyle{#1}}\j@urnal{#3}#2(} + +\def\j@urnal#1#2(#3)#4*{\unskip + \ {\volumestyle{#1\ifx @#1@\else\ifx @#2@\else + \kern.2em\fi \fi#2}}\unskip + \ifx @#3@\else\ifx @#4@ (#3)\else\if Y\yearpage@yp\ (#3) #4\else + , #4 (#3)\fi \fi \fi} + +\def\Lett{Lett.\ } +\def\Math{Math.\ } +\def\Nucl{Nucl.\ } +\def\Phys{Phys.\ } +\def\Rev{Rev.\ } + +\def\NPA{\journalp{\Nucl\Phys}A} +\def\NPB{\journalp{\Nucl\Phys}B} +\def\PLA{\journalf{\Phys\Lett}A} +\def\PLB{\journalf{\Phys\Lett}B} +\def\PR{\journal{\Phys\Rev}} +\def\PRA{\journalp{\Phys\Rev}A} +\def\PRB{\journalp{\Phys\Rev}B} +\def\PRC{\journalp{\Phys\Rev}C} +\def\PRD{\journalp{\Phys\Rev}D} +\def\PRL{\journal{\Phys\Rev\Lett}} +%*** end of file PHYSJRNL *** + +\message{table of contents,} + +% \input phystoc +%*** this is file PHYSTOC as of 03.03.86 *** +%*** table of contents *** + +\newinsert\toc@ins +\count\toc@ins=0 \dimen\toc@ins=\maxdimen \skip\toc@ins=0pt +\newcount\auto@toc \auto@toc=-1 +\let\toc@saved\empty + +\def\toc@type{toc} +\newbox\toc@box +\let\toc@list=\empty +\newwrite\toc@write \def\toc@file{\toc@file\toc@write0} + +\outer\def\tocpage{\glet\toc@page T} +\outer\def\notocpage{\glet\toc@page F} + +\outer\def\tocnone{\gm@ne\auto@toc} +\outer\def\tocchap{\gz@\auto@toc} +\outer\def\tocsect{\global\auto@toc\@ne} +\outer\def\tocsecs{\global\auto@toc\tw@} +\outer\def\tocsecss{\global\auto@toc\thr@@} +\outer\def\tocsecsss{\global\auto@toc\f@ur} + +\def\toc#1{\read@store{\@toc{#1}}} +\def\tocadd{\toc\empty} +\def\@toc#1{\insert\toc@ins{\vbox{}}% + \toks@\expandafter{\toc@saved}% + \xdef\toc@saved{\the\toks@{#1}{\the\toks@store}}} + +\def\make@toc{\setbox\z@\vbox{\unvbox\toc@ins + \loop \setbox\z@\lastbox \ifvbox\z@ + \expandafter\make@@toc\toc@saved\@@ \repeat}} +\def\make@@toc#1#2{\toks@store{#2}\def\n@xt{#1}\ifx\n@xt\empty \else + \edef\n@xt{\the\toks@store\noexpand\toc@fill\page@pref\folio}% + \toks@store\expandafter{\n@xt}\fi \@store3{#1}\make@@@toc} +\def\make@@@toc#1\@@{\gdef\toc@saved{#1}} +\def\toc@fill{\rightskip4em\parfillskip-\rightskip + \leaders\hbox to1em{\hss.\hss}\hfil} + +\outer\def\tocout{\@out3\toc@page\tocpref\tochead\emptyt@ks} +\outer\def\tockill{\@kill3} +\outer\def\restoretoc#1{\read@@store{\@store3{#1}}} +%*** end of file PHYSTOC *** + +\message{footnotes,} + +% \input physfoot +%*** this is file PHYSFOOT as of 17.03.86 *** +%*** footnotes *** + +\newcount\footn@m \footn@m=0 +\def\foot@type{foot} +\newbox\foot@box +\let\foot@list=\empty +\newwrite\foot@write \def\foot@file{\foot@file\foot@write0} + +\outer\def\footsqb{\glet\foot@bp B\glet\thefootn@m\sqbfootn@m} +\outer\def\footpar{\glet\foot@bp P\glet\thefootn@m\parfootn@m} + +\outer\def\footbot{\glet\foot@be B\glet\vfootnote\vfootn@te} +\outer\def\footend{\glet\foot@be E\glet\vfootnote\foot@store} + +\outer\def\footpage{\glet\foot@page T} +\outer\def\nofootpage{\glet\foot@page F} + +\def\sqbfootn@m{\lbrack \the\footn@m \rbrack} +\def\parfootn@m{\the\footn@m )} + +\def\foot{\hfoot \vfootnote\footid} +\def\hfoot{\g@ne\footn@m \edef\n@xt{{$^{\thefootn@m}$}}% + \expandafter\hfootnote\n@xt} +\def\footnote#1{\hfootnote{#1}\vfootnote\footid} +\def\hfootnote#1{\let\@sf\empty + \ifhmode\unskip\edef\@sf{\spacefactor\the\spacefactor}\/\fi + #1\@sf \gdef\footid{#1}} +\def\vfootn@te#1{\insert\footins\bgroup \footstyle + \interlinepenalty\interfootnotelinepenalty + \baselineskip\footnotebaselineskip + \splittopskip\interfootnoteskip % top baseline for broken footnotes + \splitmaxdepth\dp\strutbox \floatingpenalty\@MM + \leftskip.05\hsize \rightskip\z@skip + \spaceskip\z@skip \xspaceskip\z@skip + \noindent \llap{#1}\footstrut \after@arg\@foot} +\let\fo@t=\undefined +\let\f@@t=\undefined +\let\f@t=\undefined + +\def\foot@store#1{\read@store{\@store4{#1}}} +\def\footadd{\@add4} + +\outer\def\footout{\@out4\foot@page\footpref\foothead\emptyt@ks} +\outer\def\footkill{\@kill4} +\outer\def\restorefoot#1{\read@store{\@store4{#1}}} +%*** end of file PHYSFOOT *** + +\message{items and points,} + +% \input physitem +%*** this is file PHYSITEM as of 21.02.86 *** +%*** item *** + +\let\plainitem=\item % rename \item from PLAIN + +\def\varitem{\afterassignment\v@ritem \setbox\z@\hbox} +\def\v@ritem{\hss \bgroup \aftergroup\v@@ritem} +\def\v@@ritem{\enskip \egroup \endgraf \noindent + \hangindent\wd\z@ \box\z@ \ignorespaces} + +\def\bpargroup{\bgroup \def\par{\endgraf + \edef\n@xt{\egroup \prevdepth\the\prevdepth}\n@xt}} + +\def\hvskip{\afterassignment\h@vskip \skip@} +\def\h@vskip{\unskip\nobreak \vadjust{\vskip\skip@}\lb \ignorespaces} + +\def\parvskip{\bgroup \afterassignment\par@vskip \parskip} +\def\par@vskip{\parindent\hangindent \endgraf \indent \egroup + \ignorespaces} + +\def\item{\varitem to2.5em} +\def\sitem{\varitem to4.5em} +\def\ssitem{\varitem to6.5em} + +\def\itemcon{\item{}} +\def\sitemcon{\sitem{}} +\def\ssitemcon{\ssitem{}} + +%*** point *** + +\newcount\pointn@m \pointn@m=0 +\def\pointbegin{\gz@\pointn@m \point} +\def\point{\g@ne\pointn@m + \xdef\the@label{\the\pointn@m}\item{\the@label.}} + +\newcount\spointn@m \spointn@m=96 +\def\spointbegin{\global\spointn@m96 \spoint} +\def\spoint{\g@ne\spointn@m + \xdef\the@label{\char\the\spointn@m}\sitem{(\the@label)}} + +\newcount\sspointn@m \sspointn@m=0 +\def\sspointbegin{\gz@\sspointn@m \sspoint} +\def\sspoint{\g@ne\sspointn@m + \xdef\the@label{\romannumeral\sspointn@m}\ssitem{\the@label)}} + +\let\pointcon=\itemcon +\let\spointcon=\sitemcon +\let\sspointcon=\ssitemcon + +%*** bull-, star- and dashitem *** + +\def\bullitem{\item{$\bullet $}} +\def\staritem{\item{$\ast $}} +\def\dashitem{\item{---}} +\def\sbullitem{\sitem{$\bullet $}} +\def\sstaritem{\sitem{$\ast $ }} +\def\sdashitem{\sitem{---}} +\def\ssbullitem{\ssitem{$\bullet $}} +\def\ssstaritem{\ssitem{$\ast $ }} +\def\ssdashitem{\ssitem{---}} +%*** end of file PHYSITEM *** + +\message{matrices and additional math symbols,} + +% \input physmath +%*** this is file PHYSMATH as of 21.02.86 *** +%*** matrices *** + +\def\matc{\let\mat@lfil\hfil \let\mat@rfil\hfil} +\def\matl{\let\mat@lfil\relax \let\mat@rfil\hfil} +\def\matr{\let\mat@lfil\hfil \let\mat@rfil\relax} + +\def\matrix#1{\,\vcenter{\normalbaselines\m@th + \ialign{$\mat@lfil##\mat@rfil$&&\quad$\mat@lfil##\mat@rfil$\crcr + \mathstrut\crcr\noalign{\kern-\baselineskip}% + #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,} + +\def\bordermatrix#1{\begingroup \m@th + \setbox\z@\vbox{% + \def\cr{\crcr\noalign{\kern2\p@\glet\cr\endline}}% + \ialign{$##\hfil$\kern2\p@\kern\p@renwd&\thinspace$\mat@lfil##% + \mat@rfil$&&\quad$\mat@lfil##\mat@rfil$\crcr + \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}% + #1\crcr\omit\strut\cr}}% + \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}% + \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}% + \setbox\tw@\hbox{$\kern\wd\@ne\kern-\p@renwd\left(\kern-\wd\@ne + \global\setbox\@ne\vbox{\box\@ne\kern2\p@}% + \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}% + \;\vbox{\kern\ht\@ne\box\tw@}\endgroup} + +\let\mat=\pmatrix + +%*** additional math symbols *** + +\mathchardef\smallsum="1006 +\mathchardef\smallprod="1005 + +\def\b@mmode{\relax\ifmmode\else + \hbox\bgroup$\def\e@mmode{$\egroup}\fi} +\let\e@mmode=\empty + +\def\{{\b@mmode \lbrace \e@mmode} +\def\}{\b@mmode \rbrace \e@mmode} + +\def\,{\b@mmode \mskip\thinmuskip \e@mmode} +\def\>{\b@mmode \mskip\medmuskip \e@mmode} +\def\;{\b@mmode \mskip\thickmuskip \e@mmode} + +\def\Mit#1{\b@mmode \mit#1\e@mmode} +\def\Cal#1{\b@mmode \cal\uppercase\expandafter{#1}\e@mmode} + +\def\dotii#1{{\mathop{#1}\limits^{\vbox to -1.4\p@{\kern-2\p@ + \hbox{\tenrm..}\vss}}}} +\def\dotiii#1{{\mathop{#1}\limits^{\vbox to -1.4\p@{\kern-2\p@ + \hbox{\tenrm...}\vss}}}} +\def\dotiv#1{{\mathop{#1}\limits^{\vbox to -1.4\p@{\kern-2\p@ + \hbox{\tenrm....}\vss}}}} + +\let\vecsymbol\rightarrow +\let\barsymbol - +\mathchardef\tildesymbol="0218 +\def\hatsymbol{{\mathchoice{\null}{\null}{\,\,\hbox{\lower 10\p@\hbox + {$\widehat{\null}$}}}{\,\hbox{\lower 20\p@\hbox + {$\hat{\null}$}}}}} +\def\dotiisymbol{{\nonscript\,\hbox{\tenrm..}}} +\def\dotiiisymbol{{\nonscript\,\hbox{\tenrm...}}} +\def\dotivsymbol{{\nonscript\,\hbox{\tenrm....}}} +\def\dotsymbol{{\nonscript\,\hbox{\tenrm.}}} + +%*** mathematical statements *** + +\def\adv@stmt#1#2#3#4{\par\noindent\bpargroup\stmttitlestyle + \count@\ifx#2#3#1 \else\z@ \glet#2#3\fi \advance\count@\@ne + \xdef#1{\the\count@}\edef\the@label{#4#1}} + +\def\make@stmt{\ \the@label \make@@stmt} +{\catcode`\:\active + \gdef\make@@stmt{\ \catcode`\:\active \let:\end@stmt} +} +\def\end@stmt{\catcode`\:\@ther \unskip :\stmtstyle + \enskip \ignorespaces} + +\def\defstmt#1#2#3{\toks@{#2}{\edef\n@xt{\csname#1@stmt@adv\endcsname + \the\toks@ \noexpand\make@stmt}% + \expandafter\glet\csname#1\endcsname\n@xt \def@stmt{#1@stmt@}#3@}} +\def\def@stmt#1#2#3@{\if#2=\edef\n@xt{\expandafter\noexpand + \csname#3@stmt@adv\endcsname}\else + \toks@{\empty}\toks@ii\toks@ \if#2c\toks@{\dot@pref}\fi + \if#2s\toks@{\ddot@pref}\if#3c\toks@ii{\sect@dot@pref}\fi \fi + \if#3a\toks@ii\toks@ \fi + \edef\n@xt{\noexpand\adv@stmt \csname#1num\endcsname + \csname#1save\endcsname \the\toks@ \the\toks@ii}\fi + \expandafter\glet\csname#1adv\endcsname\n@xt} + +\def\Prf{\par\noindent\bpargroup\prftitlestyle \case@language\prfhead + \let\stmtstyle\prfstyle \make@@stmt} +%*** end of file PHYSMATH *** + +\message{save, restore and start macros,} + +% \input physsave +%*** this is file PHYSSAVE as of 05.03.86 *** +%*** save and restore *** + +\def\save@type{.texsave } % file type for save and restore +\newread\test@read +\newwrite\save@write + +\def\s@ve{\immediate\write\save@write} +\begingroup \catcode`\:=\active \catcode`\;=\active + \outer\gdef\save#1 {{\let\,\space + \immediate\openout\save@write#1\save@type + \s@ve{;* definitions for :restore #1 \date\space- \thetime\space*}% + \s@ve{:comment}% + \s@ve{:\case@language{german\else english}}\save@page \save@chap + \save@equ \save@fig \save@tab \save@ref \save@toc \save@foot + \bgroup \def\n@xt##1.##2{\advance##2\@ne \s@ve{:start##1\the##2}}% + \n@xt chap.\chapn@m \n@xt sect.\sectn@m + \n@xt appendix.\appn@m \n@xt equ.\eqn@m + \n@xt fig.\fign@m \n@xt tab.\tabn@m + \n@xt ref.\refn@m \n@xt foot.\footn@m \egroup + \s@ve{:\ifx\chap@@eq\sect@@eq app\else + \ifnum\chapn@m=\z@ sect\else chap\fi \fi init}% + \@save0\@save1\@save2\@save3\@save4% + \save@restore ref \r@names \save@restore RF \R@names + \s@ve{:endcomment}% + \save@restore lbl \l@names \save@restore eq \e@names + \save@restore fig \f@names \save@restore tab \t@names + \s@ve{;* end of definitions *}\immediate\closeout\save@write + }\wlog{* file #1\save@type saved *}} + \gdef\save@restore#1 {\def\\{\s@ve{:#1restore}% + \let\\\save@@restore \\}\the} + \gdef\save@@restore#1{\toks@\expandafter{#1}% + \s@ve{:dorestore\string#1{\the\toks@}}} + \gdef\save@page{\s@ve{:\@opt\page@tbn Ttop Bbot Nno *pagenum% + :\@opt\head@lrac Llef Rrigh Aal Ccen *thead% + :\@opt\foot@lrac Llef Rrigh Aal Ccen *tfoot% + :page\@opt\page@ac Aall Cchap *% + :\@opt\ori@pl Pportrait Llandscape *}% + \s@ve{:startpage\@opt\page@ac C\the\pageno@pref. *\the\pageno}} + \gdef\save@chap{\s@ve{:\@opt\chap@page Fno *chappage% + :\@opt\chap@yn Nno *chapters% + :\@opt\chap@ar Aarabic Rroman *chapnum}} + \gdef\save@equ{\s@ve{:equ\@opt\eq@acs Aall Cchap Ssect *% + :equ\@opt\eq@lrn Lleft Rright Nnone *% + :equ\@opt\eq@fs Ffull Sshort *}} + \gdef\save@fig{\s@ve{:\@opt\fig@page Fno *figpage% + :fig\@opt\fig@acs Aall Cchap Ssect *}} + \gdef\save@tab{\s@ve{:\@opt\tab@page Fno *tabpage% + :tab\@opt\tab@acs Aall Cchap Ssect *}} + \gdef\save@ref{\s@ve{:\@opt\ref@page Fno *refpage% + :ref\@opt\ref@sbn Ssup Bsqb Nnam *% + :\@opt\yearpage@yp Yyearpage Ppageyear *}} + \gdef\save@toc{\s@ve{:\@opt\toc@page Fno *tocpage% + :toc\ifcase\auto@toc chap\or + sect\or secs\or secss\or secsss\else none\fi}} + \gdef\save@foot{\s@ve{:\@opt\foot@page Fno *footpage% + :foot\@opt\foot@be Bbot Eend *% + :foot\@opt\foot@bp Bsqb Ppar *}} +\endgroup +\def\@opt#1#2#3 #4{\if #1#2#3\fi \if #4*\else + \expandafter\@opt\expandafter#1\expandafter#4\fi} + +\begingroup \let\comment=\relax + \outer\gdef\restore{\@kill0\@kill1\@kill2\@kill3\@kill4% + {\def\\##1{\glet##1\undefined}% + \def\n@xt##1{\the##1\global##1\emptyt@ks}% + \n@xt\l@names \n@xt\e@names \n@xt\f@names \n@xt\t@names + \n@xt\r@names \let\\\@RFdef \n@xt\R@names} + \bgroup \let\comment\relax \@restore} +\endgroup +\def\crossrestore#1 {\bgroup \openin\test@read#1\save@type + \ifeof\test@read \let\n@xt\egroup + \message{* file #1\save@type missing *}\else + \def\n@xt{\@restore#1 }\closein\test@read \fi \n@xt} +\def\@restore#1 {\input #1\save@type \egroup} +\def\all@restore{\glet\name@list} +\outer\def\dorestore{\bgroup \catcode`\@\l@tter \num@lett\d@restore} +\def\d@restore#1#2{\egroup \toks@{#2}\def@name\name@list#1{\the\toks@}} + +\def\def@name#1#2{\let\name@list#1\add@name#2\xdef#2} +\def\del@name#1{\bgroup + \def\n@xt##1\\#1##2\\#1##3\@@##4{\global##4{##1##2}}% + \def\del@@name##1{\expandafter\n@xt\the##1\\#1\\#1\@@##1}% + \del@@name\l@names \del@@name\e@names \del@@name\f@names + \del@@name\t@names \del@@name\r@names \del@@name\R@names \egroup} +\def\add@name#1{\del@name#1% + {\global\name@list\expandafter{\the\name@list\\#1}}} + +\def\kill{\num@lett\@k@ll} +\def\@k@ll#1{\def\k@ll##1{\ifx##1\k@ll \let\k@ll\relax \else + \del@name##1\glet##1\undefined \fi \k@ll}\k@ll#1\k@ll} + +%*** start macros *** + +\outer\def\startchap{\st@rt\chapn@m} +\outer\def\startsect{\st@rt\sectn@m} +\outer\def\startappendix{\st@rt\appn@m} +\outer\def\startequ{\st@rt\eqn@m} +\outer\def\startfig{\st@rt\fign@m} +\outer\def\starttab{\st@rt\tabn@m} +\outer\def\startref{\st@rt\refn@m} +\outer\def\startfoot{\st@rt\footn@m} + +\def\st@rt#1{\gm@ne#1 \global\advance#1} +%*** end of file PHYSSAVE *** + +\message{installation dependent parameters,} + +% \input physinst +%*** this is file PHYSINST as of 13.03.86 *** +%*** installation dependent parameters *** + +%*** \hoffset@corr, \hoffset@corrm, \voffset@corr and \voffset@corrm +% are corrections to \hoffset and \voffset chosen such that +% the output pages are centered correctly on the paper. + +%*** the values used are: +% \hoffset@corr@p etc. for the portrait format are +% \hoffset@corr@l etc. for the landscape format are + +\hoffset@corr@p=86mm \voffset@corr@p=98mm % absolute +\hoffset@corrm@p=-5mm \voffset@corrm@p=4mm % magnified +\hoffset@corr@l=134mm \voffset@corr@l=70mm % absolute +\hoffset@corrm@l=-5mm \voffset@corrm@l=-4mm % magnified +%*** end of file PHYSINST *** + +\catcode`\@=12 % @ signs are no longer letters + +\message{and default options.} + +%*** default options *** + +%\twelvepoint % 12pt, 10pt and 8pt fonts +%\doublespace % medium spacing between lines + +\hbadness=2000 % to avoid too many underfull hbox messages + +\english % headings in english language (default for PHYSE) + +\botpagenum % page numbers at bottom of page +\centhead % headlines not alternating, + % page numbers (if any) centered +\centfoot % footlines not alternating, + % page numbers (if any) centered +\pageall % pages numbered thoughout the paper +\portrait % portrait orientation ( vsize > hsize ) +\titlepage % title etc. on a separate page (e.g. preprint) +\nochappage % chapters and appendices not on separate pages +\arabicchapnum % arabic chapter numbers +\chapters % paper has chapters +\equchap % equations numbered per chapter and appendix +\equshort % equation numbers quoted in abbreviated form +\equright % equation numbers on right side +\storelist % figure captions etc. stored in lists (macros) +\figall % figures numbered throughout the paper +\figpage % figure captions on a separate page +\nographics % graphic yields an empty frame +\taball % tables numbered throughout the paper +\tabpage % table captions on a separate page +\refsup % quotations of references as superscripts +\refpage % references on a separate page +\RFlist % predefined ref's stored in list (macros) +\yearpage % journals quoted in the form `vol (year) page' +\tocpage % table of contents on a separate page +\tocnone % no automatic entries in toc +\footsqb % footnote numbers in square brackets +\footbot % footnotes at bottom of page (as footnotes) +\footpage % footnotes on a separate page (for \footend only) +\matc % matrix elements are centered + +\wlog{summary of allocations:} +\wlog{last count=\number\count10 } +\wlog{last dimen=\number\count11 } +\wlog{last skip=\number\count12 } +\wlog{last muskip=\number\count13 } +\wlog{last box=\number\count14 } +\wlog{last toks=\number\count15 } +\wlog{last read=\number\count16 } +\wlog{last write=\number\count17 } +\wlog{last fam=\number\count18 } +\wlog{last insert=\number\count19 } + +%*** make sure the file physupdt with corrections and updates +% is read by the user + +\let\physpar=\par +\def\resetpar{\glet\par\physpar \glet\physpar\undefined + \glet\resetpar\undefined} +\def\par{\begingroup + \errhelp{You should have used the command `\input physupdt' to read + the corrections and updates to the current version of PHYS(E)}% + \errmessage{file physupdt missing}\endgroup \resetpar \par}% +% +%*** no more blank lines until physupdt is read !! +% +\def\fmtname{phys} +\def\fmtversion{1.0} % identifies the current format +%*** end of file PHYSORG *** +\english % default language for headings etc. is english +%\dump +%*** end of file PHYSE *** diff --git a/macros/physe/physupdt.tex b/macros/physe/physupdt.tex new file mode 100644 index 0000000000..3f69f53326 --- /dev/null +++ b/macros/physe/physupdt.tex @@ -0,0 +1,109 @@ +%*** this is file PHYSUPDT as of 1988.04.06 *** +%*** modifications and updates to PHYS-TeX version 1.0 *** +% +%*** make sure this file is read once and only once !! +% +\ifx\resetpar\undefined + \wlog{* don't read the file physupdt twice !! *}% + \expandafter\endinput\fi +\resetpar % restore definition of \par + +\def\fmtupdt{1.3.0} % identifies the current update version + +\wlog{* modifications and updates as of 1988.04.11 *} + +\ifx\userid\undefined \def\userid{YOUR~USERID}\fi + +\def\wlog#1{} % suppress allocation messages +\catcode`\@=11 + +%*** physorg *** + +%*** physmain *** + +%*** physfont *** + +%*** load am... or cm... fonts according to PLAIN's selection *** + +%\font\sevensl=\font@sel sl7 %not included in physe (check for TFM first) + +%*** sizes *** + +\def\modtwelvepoint{\modtwelve@point + \let\normal@spacing\twelve@spacing \set@spacing + \let\big=\modtwelvebig \let\Big=\modtwelveBig + \let\bigg=\modtwelvebigg \let\Bigg=\modtwelveBigg} +\def\modtwelvebig#1{{\hbox{$\left#1\vbox to9.5\p@{}\right.\n@space$}}} +\def\modtwelveBig#1{{\hbox{$\left#1\vbox to12.5\p@{}\right.\n@space$}}} +\def\modtwelvebigg#1{{\hbox{$\left#1\vbox to15.5\p@{}\right.\n@space$}}} +\def\modtwelveBigg#1{{\hbox{$\left#1\vbox to18.5\p@{}\right.\n@space$}}} + +%*** fonts for sizes *** + +\def\modtwelve@point{\set@fonts twelve nine eight } %let 8 ->7 if tfm's avail. + +%*** macros for sizes *** + +\def\modlarge{\par \bgroup \modtwelvepoint \after@arg\@size} +\def\MODLARGE#1{{\modtwelve@point #1}} + +%*** phystext *** + +%*** physpage *** + +%*** physchap *** + +%*** physequ *** + +%*** physstor *** + +%*** physfig *** + +%*** physpict *** + +%*** ProPLOT macros *** + +\outer\def\ProPLOTfigs{\glet\ProPLOTpfig\pr@pfig \glet\ProPLOTlfig\pr@lfig} +\outer\def\noProPLOTfigs{\glet\ProPLOTpfig\nopr@fig \glet\ProPLOTlfig\nopr@fig} + +\def\pr@pfig#1#2#3#4{\hbox\bgroup \setbox\z@\hbox{\special{ps: plotfile #1}} + \dimen\z@=#3 \advance\dimen\z@ by #4 \wd\z@=#2 \ht\z@=\dimen\z@ \dp\z@=\z@ + \lower#4\box\z@ \egroup} +\def\pr@lfig#1#2#3#4{\hbox\bgroup \setbox\z@\null + \dimen\z@=#3 \advance\dimen\z@ by #4 \wd\z@=#2 \ht\z@=#3 \dp\z@=#4 \box\z@ + \wd\z@=\z@ \setbox\z@\hbox{\special{ps: plotfile #1}} \lower#4\box\z@ \egroup} +%\def\pr@fig#1#2#3#4{\hbox\bgroup \setbox\z@\hbox{\special{ps: plotfile #1}}% +% \lower#4\copy\z@ \hskip#2\raise#3\box\z@ \egroup} +\def\nopr@fig#1#2#3#4{\hbox\bgroup \write\m@ne{Insert ProPLOT Output File: #1}% + \frame{#2}{#3}{#4}\egroup} + +\ProPLOTfigs %set the default + +%*** phystab *** + +%*** phystabl *** + +%*** physref *** + +%*** physjrnl *** + +%*** phystoc *** + +%*** physfoot *** + +%*** physitem *** + +%*** physmath *** + +%*** physsave *** + +\def\save@type{.sav } % file type for save and restore + % modified from .texsave to .sav for PC use +%*** physinst *** + +%*** physorg (options which must be set after defining macros) *** + + +\def\wlog{\immediate\write\m@ne} % restore PLAIN's definition +\catcode`\@=12 % @ signs are no longer letters +%*** end of file PHYSUPDT *** -- cgit v1.2.3