From 9d9c5562f45225d9a5f2a126febaee2ec955e0e0 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:46:35 +0000 Subject: trunk/Master/texmf-dist/tex/physe git-svn-id: svn://tug.org/texlive/trunk@619 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/physe/base/physe.tex | 2024 +++++++++++++++++++++++++ Master/texmf-dist/tex/physe/base/physupdt.tex | 109 ++ 2 files changed, 2133 insertions(+) create mode 100644 Master/texmf-dist/tex/physe/base/physe.tex create mode 100644 Master/texmf-dist/tex/physe/base/physupdt.tex (limited to 'Master/texmf-dist/tex/physe/base') diff --git a/Master/texmf-dist/tex/physe/base/physe.tex b/Master/texmf-dist/tex/physe/base/physe.tex new file mode 100644 index 00000000000..d1aa5803d26 --- /dev/null +++ b/Master/texmf-dist/tex/physe/base/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##}% %