%% %% This is file `j3.cls', %% It was generated by modifying `book.cls', which was %% generated with the docstrip utility. %% %% The original source files were: %% %% classes.dtx (with options: `book') %% %% This is a generated file. %% %% Copyright 1993 1994 1995 1996 1997 1998 1999 %% The LaTeX3 Project and any individual authors listed elsewhere %% in this file. %% %% This file was generated from file(s) of the LaTeX base system. %% -------------------------------------------------------------- %% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.2 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.2 or later is part of all distributions of LaTeX %% version 1999/12/01 or later. %% %% This file may only be distributed together with a copy of the LaTeX %% base system. You may however distribute the LaTeX base system without %% such generated files. %% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{j3} [2001/04/07] \RequirePackage{array} % WVS \RequirePackage{color} % WVS \definecolor{annexfore}{rgb}{0,0,1} % blue \RequirePackage{colortbl} % WVS \newcommand\@ptsize{} \newif\if@restonecol \newif\if@titlepage \@titlepagetrue \newif\if@openright \newif\if@mainmatter \@mainmattertrue % WVS{ % Major number for syntax rules, constraints and notes. \newcommand{\major}{chapter} \newif\if@majorchapter \@majorchaptertrue \DeclareOption{memo}{\renewcommand{\major}{section} \@majorchapterfalse \@twosidefalse % so \mgpar's are on the right \@mparswitchfalse} \newif\if@bnfindx % Indexing bnfs? \@bnfindxfalse % WVS} \if@compatibility\else \DeclareOption{a4paper} {\setlength\paperheight {297mm}% \setlength\paperwidth {210mm}} \DeclareOption{a5paper} {\setlength\paperheight {210mm}% \setlength\paperwidth {148mm}} \DeclareOption{b5paper} {\setlength\paperheight {250mm}% \setlength\paperwidth {176mm}} \DeclareOption{letterpaper} {\setlength\paperheight {11in}% \setlength\paperwidth {8.5in}} \DeclareOption{legalpaper} {\setlength\paperheight {14in}% \setlength\paperwidth {8.5in}} \DeclareOption{executivepaper} {\setlength\paperheight {10.5in}% \setlength\paperwidth {7.25in}} \DeclareOption{landscape} {\setlength\@tempdima {\paperheight}% \setlength\paperheight {\paperwidth}% \setlength\paperwidth {\@tempdima}} \fi \if@compatibility \renewcommand\@ptsize{0} \else \DeclareOption{10pt}{\renewcommand\@ptsize{0}} \fi \DeclareOption{11pt}{\renewcommand\@ptsize{1}} \DeclareOption{12pt}{\renewcommand\@ptsize{2}} \if@compatibility\else \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} \fi \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} \DeclareOption{draft}{\setlength\overfullrule{5pt}} \if@compatibility\else \DeclareOption{final}{\setlength\overfullrule{0pt}} \fi \DeclareOption{titlepage}{\@titlepagetrue} \if@compatibility\else \DeclareOption{notitlepage}{\@titlepagefalse} \fi \if@compatibility \@openrighttrue \else \DeclareOption{openright}{\@openrighttrue} \DeclareOption{openany}{\@openrightfalse} \fi \if@compatibility\else \DeclareOption{onecolumn}{\@twocolumnfalse} \fi \DeclareOption{twocolumn}{\@twocolumntrue} %\DeclareOption{leqno}{\input{leqno.clo}} %\DeclareOption{fleqn}{\input{fleqn.clo}} \DeclareOption{openbib}{% \AtEndOfPackage{% \renewcommand\@openbib@code{% \advance\leftmargin\bibindent \itemindent -\bibindent \listparindent \itemindent \parsep \z@ }% \renewcommand\newblock{\par}}% } \ExecuteOptions{letterpaper,10pt,twoside,onecolumn,final,openright} \ProcessOptions \input{bk1\@ptsize.clo} \setlength\lineskip{1\p@} \setlength\normallineskip{1\p@} \renewcommand\baselinestretch{} \setlength\parskip{0\p@ \@plus \p@} \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \setcounter{topnumber}{2} \renewcommand\topfraction{.7} \setcounter{bottomnumber}{1} \renewcommand\bottomfraction{.3} \setcounter{totalnumber}{3} \renewcommand\textfraction{.2} \renewcommand\floatpagefraction{.5} \setcounter{dbltopnumber}{2} \renewcommand\dbltopfraction{.7} \renewcommand\dblfloatpagefraction{.5} %WVS{ %======================================================== headings ===== \newcommand{\hdate}[1]{No date} % Header/footer date \newcommand{\vers}{J3/xx-007R?} % Header ``version'' \newcommand{\hff}{\sffamily\bfseries\large} % Header/footer font \if@majorchapter \newcommand{\hftitle}{WORKING DRAFT} % Header/footer title \else \newcommand{\hftitle}{} \fi \if@majorchapter \def\ps@headings{% \def\@oddhead% {\hff \hdate \hfill \hftitle \hfill \vers}% \def\@evenhead% {\hff \vers \hfill \hftitle \hfill \hdate}% \def\@oddfoot% {\hff \hdate \hfill \hftitle \hfill \thepage}% \def\@evenfoot% {\hff \thepage \hfill \hftitle \hfill \hdate}% } \else \def\ps@headings{% \def\@oddhead% {\hff \hdate \hfill \hftitle \hfill \vers}% \def\@evenhead% {\hff \vers \hfill \hftitle \hfill \hdate}% \def\@oddfoot% {\hff \hdate \hfill \hftitle \hfill Page \thepage\ of \pageref{lastpage}}% \def\@evenfoot% {\hff Page \thepage\ of \pageref{lastpage} \hfill \hftitle \hfill \hdate}% } \fi %\if@twoside % \def\ps@headings{% % \let\@oddfoot\@empty\let\@evenfoot\@empty % \def\@evenhead{\thepage\hfil\slshape\leftmark}% % \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% % \let\@mkboth\markboth % \def\chaptermark##1{% % \markboth {\MakeUppercase{% % \ifnum \c@secnumdepth >\m@ne % \if@mainmatter % \@chapapp\ \thechapter. \ % % \fi % \fi % ##1}}{}}% % \def\sectionmark##1{% % \markright {\MakeUppercase{% % \ifnum \c@secnumdepth >\z@ % \thesection. \ % % \fi % ##1}}}} %\else % \def\ps@headings{% % \let\@oddfoot\@empty % \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% % \let\@mkboth\markboth % \def\chaptermark##1{% % \markright {\MakeUppercase{% % \ifnum \c@secnumdepth >\m@ne % \if@mainmatter % \@chapapp\ \thechapter. \ % % \fi % \fi % ##1}}}} %\fi %\def\ps@myheadings{% % \let\@oddfoot\@empty\let\@evenfoot\@empty % \def\@evenhead{\thepage\hfil\slshape\leftmark}% % \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% % \let\@mkboth\@gobbletwo % \let\chaptermark\@gobble % \let\sectionmark\@gobble % } %WVS} %================================================== end of headings ===== \if@titlepage \newcommand\maketitle{\begin{titlepage}% \let\footnotesize\small \let\footnoterule\relax \let \footnote \thanks % WVS{ % \null\vfil % \vskip 60\p@ % \begin{center}% % {\LARGE \@title \par}% % \vskip 3em% % {\large % \lineskip .75em% % \begin{tabular}[t]{c}% % \@author % \end{tabular}\par}% % \vskip 1.5em% % {\large \@date \par}% % Set date in \large size. % \end{center}\par % WVS} \begin{center}% {\hff% {\Huge \hftitle \par}% \vspace*{3in}% {\Huge \vers \par}% \vspace*{1.25in}% {\LARGE \today\ \printtime \par}% \vspace*{1.25in}% {\Large\mdseries This is an internal working document of J3.\par}% } \end{center}\par \@thanks \vfil\null \end{titlepage}% \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax \global\let\@thanks\@empty \global\let\@author\@empty \global\let\@date\@empty \global\let\@title\@empty \global\let\title\relax \global\let\author\relax \global\let\date\relax \global\let\and\relax } \else \newcommand\maketitle{\par \begingroup \renewcommand\thefootnote{\@fnsymbol\c@footnote}% \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% \long\def\@makefntext##1{\parindent 1em\noindent \hb@xt@1.8em{% \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% \if@twocolumn \ifnum \col@number=\@ne \@maketitle \else \twocolumn[\@maketitle]% \fi \else \newpage \global\@topnum\z@ % Prevents figures from going at top of page. \@maketitle \fi \thispagestyle{plain}\@thanks \endgroup \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax \global\let\@maketitle\relax \global\let\@thanks\@empty \global\let\@author\@empty \global\let\@date\@empty \global\let\@title\@empty \global\let\title\relax \global\let\author\relax \global\let\date\relax \global\let\and\relax } \def\@maketitle{% \newpage \null \vskip 2em% \begin{center}% \let \footnote \thanks {\LARGE \@title \par}% \vskip 1.5em% {\large \lineskip .5em% \begin{tabular}[t]{c}% \@author \end{tabular}\par}% \vskip 1em% {\large \@date}% \end{center}% \par \vskip 1.5em} \fi \newcommand*\chaptermark[1]{} \setcounter{secnumdepth}{10} % WVS % Number all of the section titles \newcounter {part} \newcounter {chapter} \newcounter {section}[chapter] \newcounter {subsection}[section] \newcounter {subsubsection}[subsection] \newcounter {paragraph}[subsubsection] \newcounter {subparagraph}[paragraph] \newcounter {appendix} \renewcommand \thepart {\@arabic\c@part} \renewcommand \thechapter {\@arabic\c@chapter} % WVS{ \if@majorchapter \renewcommand \thesection {\thechapter.\@arabic\c@section} \else \renewcommand \thesection {\@arabic\c@section} \fi % WVS} \renewcommand\thesubsection {\thesection.\@arabic\c@subsection} \renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection} \renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph} \renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph} \renewcommand\theappendix {\@Alph\c@appendix} \newcommand\@chapapp{\chaptername} \newcommand\frontmatter{% \cleardoublepage \@mainmatterfalse \pagenumbering{roman}} \newcommand\mainmatter{% \cleardoublepage \@mainmattertrue \pagenumbering{arabic}} \newcommand\backmatter{% \if@openright \cleardoublepage \else \clearpage \fi \@mainmatterfalse \@bnfindxfalse % WVS{ \renewcommand \thesection {\theappendix.\@arabic\c@section} % }WVS } \newcommand\part{% \if@openright \cleardoublepage \else \clearpage \fi % \thispagestyle{plain}% \if@twocolumn \onecolumn \@tempswatrue \else \@tempswafalse \fi \null%\vfil \secdef\@part\@spart} \def\@part[#1]#2{% \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% \else \addcontentsline{toc}{part}{#1}% \fi \markboth{}{}% {%\centering \interlinepenalty \@M \normalfont \ifnum \c@secnumdepth >-2\relax {\secfont\chaptersize Information technology~--- Programming languages~---\\ Fortran~--- Part \thepart:\\ \mdseries #2\par} % \huge\bfseries \partname~\thepart % \par % \vskip 20\p@ % \fi % \Huge \bfseries #2 \par}% % \@endpart } \def\@spart#1{% {\centering \interlinepenalty \@M \normalfont \Huge \bfseries #1\par}% \@endpart} \def\@endpart{%\vfil\newpage \if@twoside \null \thispagestyle{empty}% %\newpage \fi \if@tempswa \twocolumn \fi} % WVS{ % Do command #1 with argument #2, and create a label for it that consists % of "D\arabic{chapter}:#2". Usually used as something like % \divn\chapter{foobar} % The label is "D\arabic{chapter}:foobar" \newcommand{\divn}[2]{#1{#2}\label{D\arabic{chapter}:#2}} \newcommand{\secfont}{\sffamily\bfseries} % Font to use for section titles \newcommand\chaptersize\LARGE \newlength\beforechapterspace % Vertical space \setlength\beforechapterspace{12 \p@} \newcommand\beforechapter{Section } \def\afterchapter{: } \newlength\afterchapterspace % Vertical space \setlength\afterchapterspace{0.5\baselineskip} % WVS} \newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi \thispagestyle{headings}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter} \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne% \vspace*{\beforechapterspace}% WVS \if@mainmatter \refstepcounter{chapter}% \typeout% {\@chapapp\thechapter\afterchapter}% Console % \typeout{\@chapapp\space\thechapter.}%% WVS} \addcontentsline{toc}{chapter}% {\protect\numberline{\thechapter}#1}% \else \addcontentsline{toc}{chapter}{#1}% \fi \else \addcontentsline{toc}{chapter}{#1}% \fi \chaptermark{#1}% \addtocontents{lof}{\protect\addvspace{10\p@}}% \addtocontents{lot}{\protect\addvspace{10\p@}}% \if@twocolumn \@topnewpage[\@makechapterhead{#2}]% \else \@makechapterhead{#2}% \@afterheading% \fi} \def\@makechapterhead#1{% % WVS{ % \vspace*{50\p@}% % {\parindent \z@ \raggedright \normalfont % \ifnum \c@secnumdepth >\m@ne % \if@mainmatter % \huge\bfseries \@chapapp\space \thechapter % \par\nobreak % \vskip 20\p@ % \fi % \fi % \interlinepenalty\@M % \Huge \bfseries #1\par\nobreak % \vskip 40\p@ % } {\parindent \z@ \raggedright \interlinepenalty\@M \secfont\chaptersize\beforechapter\thechapter\afterchapter #1\par\nobreak \vskip \afterchapterspace \if@majorchapter \index[r]{% %\ifnum \c@chapter>\z@ \newpage\fi \vskip 5pt \stepcounter{chapter}{\secfont\large Section \thechapter:}} \fi } % WVS} } \def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% \else \@makeschapterhead{#1}% \@afterheading \fi} \def\@makeschapterhead#1{% \vspace*{\beforechapterspace}% % WVS{ % {\parindent \z@ \raggedright % \normalfont % \interlinepenalty\@M % \Huge \bfseries #1\par\nobreak % \vskip 40\p@ % } {\parindent \z@ \raggedright \normalfont \interlinepenalty\@M \secfont\chaptersize #1\par\nobreak \vskip \afterchapterspace } % WVS} } % WVS{ \newcommand\intro{\@startsection {chapter}{0}{\z@}% {-0.5\baselineskip \@plus -1ex \@minus% -.2ex}% {0.25\baselineskip \@plus.2ex}% {\secfont\LARGE}} % WVS} \newcommand\section{\@startsection {section}{1}{\z@}% {-0.5\baselineskip \@plus -1ex \@minus% -.2ex}% {0.25\baselineskip \@plus.2ex}% {\secfont\Large}} \newcommand\subsection{\@startsection{subsection}{2}{\z@}% {-0.25\baselineskip \@plus -1ex% \@minus -.2ex}% {1pt \@plus .2ex}% {\secfont\large}} \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {-0.25\baselineskip \@plus -1ex% \@minus -.2ex}% {1pt \@plus .2ex}% {\secfont\normalsize}} \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% {-0.25\baselineskip \@plus -1ex% \@minus -.2ex}% {1pt}% {\secfont\normalsize}} \newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% {-0.25\baselineskip \@plus -1ex% \@minus -.2ex}% {1pt}% {\secfont\normalsize}} \if@twocolumn \setlength\leftmargini {2em} \else \setlength\leftmargini {2.5em} \fi \leftmargin \leftmargini \setlength\leftmarginii {2.2em} \setlength\leftmarginiii {1.87em} \setlength\leftmarginiv {1.7em} \if@twocolumn \setlength\leftmarginv {.5em} \setlength\leftmarginvi {.5em} \else \setlength\leftmarginv {1em} \setlength\leftmarginvi {1em} \fi \setlength \labelsep {.5em} \setlength \labelwidth{\leftmargini} \addtolength\labelwidth{-\labelsep} \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty \renewcommand\theenumi{\@arabic\c@enumi} \renewcommand\theenumii{\@alph\c@enumii} \renewcommand\theenumiii{\@roman\c@enumiii} \renewcommand\theenumiv{\@Alph\c@enumiv} \newcommand\labelenumi{\theenumi.} \newcommand\labelenumii{(\theenumii)} \newcommand\labelenumiii{\theenumiii.} \newcommand\labelenumiv{\theenumiv.} \renewcommand\p@enumii{\theenumi} \renewcommand\p@enumiii{\theenumi(\theenumii)} \renewcommand\p@enumiv{\p@enumiii\theenumiii} \newcommand\labelitemi{\textbullet} \newcommand\labelitemii{\normalfont\bfseries \textendash} \newcommand\labelitemiii{\textasteriskcentered} \newcommand\labelitemiv{\textperiodcentered} \newenvironment{description} {\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} {\endlist} \newcommand*\descriptionlabel[1]{\hspace\labelsep \normalfont\bfseries #1} \newenvironment{verse} {\let\\\@centercr \list{}{\itemsep \z@ \itemindent -1.5em% \listparindent\itemindent \rightmargin \leftmargin \advance\leftmargin 1.5em}% \item\relax} {\endlist} \newenvironment{quotation} {\list{}{\listparindent 1.5em% \itemindent \listparindent \rightmargin \leftmargin \parsep \z@ \@plus\p@}% \item\relax} {\endlist} \newenvironment{quote} {\list{}{\rightmargin\leftmargin}% \item\relax} {\endlist} \if@compatibility \newenvironment{titlepage} {% \cleardoublepage \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi \thispagestyle{empty}% \setcounter{page}\z@ }% {\if@restonecol\twocolumn \else \newpage \fi } \else \newenvironment{titlepage} {% \cleardoublepage \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi \thispagestyle{empty}% \setcounter{page}\@ne }% {\if@restonecol\twocolumn \else \newpage \fi \if@twoside\else \setcounter{page}\@ne \fi } \fi \newcommand\annex{\setcounter{section}{0} \appendix} \newcommand\appendix{\if@openright\cleardoublepage\else\clearpage\fi \thispagestyle{headings}% \global\@topnum\z@ \@afterindentfalse \@bnfindxfalse \secdef\@appendix\@sappendix} \def\@appendix[#1]#2{\ifnum \c@secnumdepth >\m@ne \vspace*{\beforechapterspace}% WVS \refstepcounter{appendix}% {\hfil{\secfont\chaptersize% % WVS{ Annex \theappendix}\hfil\par}% \addcontentsline{toc}{chapter}% {\protect\numberline{\theappendix}#1}% \else \addcontentsline{toc}{chapter}{#1}% \fi \chaptermark{#1}% \addtocontents{lof}{\protect\addvspace{10\p@}}% \addtocontents{lot}{\protect\addvspace{10\p@}}% \if@twocolumn \@topnewpage[\@makeappendixhead{#2}]% \else \@makeappendixhead{#2}% \@afterheading \fi} \def\@makeappendixhead#1{% {\vspace*{-.7\baselineskip}\hfil{ \normalfont (Informative) }\hfil\par \parindent \z@ \raggedright \vspace*{0.5\baselineskip} \hfill\secfont\chaptersize #1\hfill\relax } % WVS} } \def\@sappendix#1{\if@twocolumn \@topnewpage[\@makesappendixhead{#1}]% \else \@makesappendixhead{#1}% \@afterheading \fi} \def\@makesappendixhead#1{% {\hfil{ \normalfont\symbol{40}Informative\symbol{41} }\hfil\par \parindent \z@ \raggedright \vspace* \baselineskip \hfill\secfont\chaptersize #1\hfill } % WVS} } \setlength\arraycolsep{5\p@} \setlength\tabcolsep{6\p@} \setlength\arrayrulewidth{.4\p@} \setlength\doublerulesep{2\p@} \setlength\tabbingsep{\labelsep} \skip\@mpfootins = \skip\footins \setlength\fboxsep{3\p@} \setlength\fboxrule{.4\p@} \@addtoreset {equation}{chapter} \renewcommand\theequation {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation} \newcounter{figure}[chapter] \renewcommand \thefigure {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{\figurename~\thefigure} \newenvironment{figure} {\@float{figure}} {\end@float} \newenvironment{figure*} {\@dblfloat{figure}} {\end@dblfloat} \newcounter{table}[chapter] \renewcommand \thetable {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table} \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{\tablename~\thetable} \newenvironment{table} {\@float{table}} {\end@float} \newenvironment{table*} {\@dblfloat{table}} {\end@dblfloat} \newlength\abovecaptionskip \newlength\belowcaptionskip \setlength\abovecaptionskip{10\p@} \setlength\belowcaptionskip{0\p@} \long\def\@makecaption#1#2{% \vskip\abovecaptionskip \sbox\@tempboxa{#1: #2}% \ifdim \wd\@tempboxa >\hsize #1: #2\par \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip} \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} \newcommand\@pnumwidth{1.55em} \newcommand\@tocrmarg{2.55em} \newcommand\@dotsep{4.5} \setcounter{tocdepth}{2} \newcommand\tableofcontents{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\contentsname \@mkboth{% \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% \@starttoc{toc}% \if@restonecol\twocolumn\fi } \newcommand*\l@part[2]{% \ifnum \c@tocdepth >-2\relax \addpenalty{-\@highpenalty}% \addvspace{2.25em \@plus\p@}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth {\leavevmode \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par \nobreak \global\@nobreaktrue \everypar{\global\@nobreakfalse\everypar{}}% \endgroup \fi} \newcommand*\l@chapter[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \vskip 1.0em \@plus\p@ \setlength\@tempdima{1.5em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode% \bfseries % WVS \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak % WVS{ % \hfil \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill % WVS} \nobreak\hb@xt@\@pnumwidth{\hss #2}\par % \vskip\parskip % WVS \penalty\@highpenalty \endgroup \fi} % WVS{ %\newcommand*\l@chapter{\parskip 0.125in % \@dottedtocline{0}{0em}{1.5em}} % WVS % WVS} \newcommand*\l@section{\parskip 0pt % WVS \@dottedtocline{1}{1.5em}{2.3em}} \newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} \newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} \newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}} \newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}} \newcommand\listoffigures{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\listfigurename \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}}% \@starttoc{lof}% \if@restonecol\twocolumn\fi } \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} \newcommand\listoftables{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\listtablename \@mkboth{% \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}% \@starttoc{lot}% \if@restonecol\twocolumn\fi } \let\l@table\l@figure \newdimen\bibindent \setlength\bibindent{1.5em} \newenvironment{thebibliography}[1] {\chapter*{\bibname \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} \newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em} \let\@openbib@code\@empty \newenvironment{theindex} {\if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem} {\if@restonecol\onecolumn\else\clearpage\fi} \newcommand\@idxitem{\par\hangindent 40\p@} \newcommand\subitem{\@idxitem \hspace*{20\p@}} \newcommand\subsubitem{\@idxitem \hspace*{30\p@}} \newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} \renewcommand\footnoterule{% \kern-3\p@ \hrule\@width.4\columnwidth \kern2.6\p@} \@addtoreset{footnote}{chapter} \newcommand\@makefntext[1]{% \parindent 1em% \noindent \hb@xt@1.8em{\hss\@makefnmark}#1} \newcommand\contentsname{Contents} \newcommand\listfigurename{List of Figures} \newcommand\listtablename{List of Tables} \newcommand\bibname{Bibliography} \newcommand\indexname{Index} \newcommand\figurename{Figure} \newcommand\tablename{Table} \newcommand\partname{Part} \newcommand\chaptername{Chapter} \newcommand\appendixname{Annex} % WVS \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} \setlength\columnsep{10\p@} \setlength\columnseprule{0\p@} \pagestyle{headings} \pagenumbering{arabic} \if@twoside \else \raggedbottom \fi \if@twocolumn \twocolumn \sloppy \flushbottom \else \onecolumn \fi % ======================================================================== % Definitions for J3 things % ======================================================================== % Define the page size and paragraph style \if@majorchapter \oddsidemargin 0.1in \evensidemargin 0.1in \parskip 0.125in \else \oddsidemargin -0.25in % to make room for \mgpar's % \evensidemargin -0.25in \parskip 3pt \fi \parindent 0pt \textwidth 6.25in \topmargin 0.0in \headheight 0.25in \headsep 0.375in \textheight 9in \footskip 0.5in % Double underline -- for some table headings that LaTeX thinks aren't \newcommand\dul[1]{\underline{\underline{#1}}} % Indented paragraph \newcommand\inp[1]{\hangindent=#1\hangafter=0} % Do the next paragraph with hanging indentation \newcommand\hin[1]{\hangindent=#1\hangafter=1} % Environment to put around a table that saves and restores the table counter \newenvironment{nocount}% {\setcounter{save@table}{\value{table}}}% {\setcounter{table}{\value{save@table}}} %======================================================== indexing ===== % Definitions of indexing commands % \mindex, \mindexd, \tindex, \kw and \kwd have * forms that also insert % the indexed term into the text exactly as it appears in the index. \DeclareRobustCommand\mindex{\@ifstar\@mindexs\@mindex} % Index, plain page # \def\@mindexs#1{\index{#1}#1} % Index + text \def\@mindex#1{\index{#1}} % Index only \DeclareRobustCommand\mindexd{\@ifstar\@mindexds\@mindexd} % Index, \bf page # \def\@mindexds#1{\index{#1|textbf}#1} % Index + text \def\@mindexd#1{\index{#1|textbf}} % Index only \newcommand{\rindex}[1]{\if@bnfindx\index[r]{#1}\fi} % Index of syntax rules \DeclareRobustCommand\tindex{\@ifstar\@tindexs\@tindex} % Syntax term index \def\@tindexs#1{\index[t]{#1}#1} % Index + text \def\@tindex#1{\index[t]{#1}} % Index only \DeclareRobustCommand\kw{\@ifstar\@kws\@kw} % Keyword \def\@kws#1{\mindex{#1@{\ct{\bfseries #1}}}#1} % Index + text \def\@kw#1{\mindex{#1@{\ct{\bfseries #1}}}} % Index only \DeclareRobustCommand\kwd{\@ifstar\@kwds\@kwd} % Keyword, \bf page # \def\@kwds#1{\mindex{#1@{\ct{\bfseries #1}}|textbf}#1} % Index + text \def\@kwd#1{\mindex{#1@{\ct{\bfseries #1}|textbf}}} % Index only %============================================================= bnf ===== % Macros for BNF % Define the syntax rule counter, and how it looks: %\newcounter{sr}[section] % Syntax rule counter. %\renewcommand{\thesr}{\thesection\ifnum\value{sr}<10 0\fi\arabic{sr}} \newcounter{sr}[\major] % Syntax rule counter. \renewcommand{\thesr}{\arabic{\major}\ifnum\value{sr}<10 0\fi\arabic{sr}} % Define widths of parts of the BNF: \newlength{\Br} % the R... part \setlength{\Br}{0.5in} \newlength{\Bn} % name part of bnf \setlength{\Bn}{1.75in} \newlength{\Bl} % LHS (R... and name} \setlength{\Bl}{\Br} \addtolength{\Bl}{\Bn} \newlength{\Bc} % center of BNF -- "is" or "or" \settowidth{\Bc}{\bf or{ } } % "Explicit syntax name" requires a syntax number and doesn't generate a label \newcommand\xsn[2][\hspace*{0pt}]{\parbox[t]{\Br}{R#1\hspace*{0pt}}% \mbox{\st{#2}}} % "Syntax name" generates a syntax number and label automatically \newcommand\sn[1]{\xsn[\if@mainmatter\refstepcounter{sr}\thesr\label{sr:#1} \else\ref{sr:#1}\fi]{#1}} % \bnf DOES NOT start a new paragraph, so end the previous line with \\! \newcommand\bmf[3]{{\parindent 0pt% \parbox[t]{\Bl}{#1\hspace*{0pt}}% \parbox[t]{\Bc}{\bf #2 \hspace*{0pt}}% \mbox{\hspace*{0pt}#3}} } \newcommand\bnf[3]{\bmf{#1}{#2}{#3} \rindex{\bmf{#1}{#2}{#3}}} % BNF "is" command, with automatically generated number \newcommand\bnfi[2]{\@bnfindxtrue \bnf{\sn{#1}\tindex{#1@\sref{#1}|textbf}}{is}{#2} } % BNF "is" command, with number determined by reference to the name \newcommand\bnfn[2]{\@bnfindxfalse \bnf{\xsn[\ref{sr:#1}]{#1}}{is}{#2} } % BNF "is" command, with explicitly specified number \newcommand\bnfx[2]{\@bnfindxfalse\bnf{#1}{is}{#2}} % BNF "is" command, with no number \newcommand\bnfz[2]{\@bnfindxfalse\bnfx{\hspace*{\Br}\st{#1}}{#2}} % BNF "or" command \newcommand\bnfo[1]{\bnf{}{or}{#1}} % BNF right-hand-side only command. It puts a \bnfc before the RHS text \newcommand\bnfr[1]{\bnf{}{}{\bnfc #1}} % BNF right-hand-side only command. Doesn't put a \bnfc before the RHS text % "bnfb" means "bnf block". It's intended to be used for constructs etc. \newcommand\bnfb[1]{\bnf{}{}{\hspace*{0.25in}#1}} % Character for bnf continuation: \newcommand\bnfc{\rule{6pt}{6pt}\mbox{} } % "Produce a syntax term and put in the index" \newcommand{\si}[1]{\st{#1}\tindex{#1@\sref{#1}}} % "Produce a syntax term and put in the index with a 'definition' page #" \newcommand{\sid}[1]{\st{#1}\tindex{#1@\sref{#1}|textbf}} % "Produce a syntax term and put in the index with a 'definition' page # % but without a syntax term reference number (presumable because it % doesn't have one)" \newcommand{\sidn}[1]{\st{#1}\tindex{#1@\st{#1}|textbf}} % "Produce a syntax term andand put in the index without a syntax term % reference number (presumable because it doesn't have one)"" \newcommand{\sinr}[1]{\st{#1}\tindex{#1@\st{#1}}} % "Produce a syntax term and its reference number and put in the index" \newcommand{\sir}[1]{\sref{#1}\tindex{#1@\sref{#1}}} % "Syntax number reference" \newcommand{\snref}[1]{R\ref{sr:#1}} % "Syntax reference" produces the name in \st font, and the syntax number % in parentheses \newcommand{\sref}[1]{\st{#1} (\snref{#1})}% % Highlighting rule for syntax terms: \newcommand{\st}[1]{\emph{#1}} % Define a syntax term in the text. Sets it in \st font and puts it in % the index with a bold page number \newcommand{\stdef}[1]{\st{#1}\tindex{#1@\st{#1}|textbf}} % End of macros for BNF % ========================================================== boxes ===== % Environments to put boxes around text % ---------------------------------------------------------- boxit ----- \newsavebox{\b@xit} \newlength{\boxwid} \setlength{\boxwid}{\textwidth} \addtolength{\boxwid}{-6.8pt} \newenvironment{boxit}{% \begin{lrbox}{\b@xit}% \begin{minipage}[t]{\boxwid}}% {\end{minipage}\end{lrbox}\fbox{\usebox{\b@xit}}} % ----------------------------------------------------------- lbox ----- % A box environment that can extend across pages. The box only breaks % between "table" items, i.e. after \\ \newlength{\ltabwid} \setlength{\ltabwid}{\textwidth} \addtolength{\ltabwid}{-12pt} \newenvironment{lbox}{% \begin{longtable}{|p{\ltabwid}|}% \hline\endhead\hline\endfoot}% {\\ \end{longtable}} % ========================================================= cf, ct ===== % Code font in notes \newcommand{\cf}[1]{{\bfseries\ttfamily #1}} % Code font in text and bnf \newcommand{\ct}[1]{{#1}} % ==================================================== constraints ===== % Environment for constraints % The constraint counter and how it looks %\newcounter{con}[section] % Reset in every section %\renewcommand{\thecon}{\thesection\ifnum\value{con}<10 0\fi\arabic{con}} \newcounter{con}[\major] % Reset in every section \renewcommand{\thecon}{\arabic{\major}\ifnum\value{con}<10 0\fi\arabic{con}} %\newcommand[1]{\conlabel}{\mbox{#1 }\hfil} \newenvironment{cons}% {\begin{list}{\stepcounter{con}C\thecon}% {\renewcommand{\makelabel}[1]{##1\hfil}% % Left justify label \settowidth{\labelwidth}{0.5in}% \addtolength{\labelwidth}{1.5em} \setlength{\labelsep}{0pt} \setlength{\itemsep}{-\parsep} \setlength{\itemindent}{0pt} \setlength{\partopsep}{0pt} \setlength{\parskip}{0pt} % \setlength{\topsep}{0pt} \setlength{\leftmargin}{\labelwidth}% }% }% {\end{list}} % Macro for one constraint: \newlength{\CL} \setlength{\CL}{\textwidth} \addtolength{\CL}{-0.5in} \newcommand\dcoms[2][C\thecon]{\stepcounter{con}% \parbox[t]{0.5in}{#1}\parbox[t]{\CL}{#2}} %\newcommand\dcons[2][C\thecon]{\stepcounter{con}% % \begin{cons}\item[#1] #2\end{cons}} \newcommand\dcons[2][C\thecon]{\dcoms[#1]{#2}% \if@majorchapter\index[r]{\dcoms{#2}}\fi} % =========================================================== enum ===== % Definitions for enumerate \newcommand{\enumlabel}[1]{\mbox{#1}\hfil} \newenvironment{enum} {\renewcommand{\theenumi}{\arabic{enumi}}% \renewcommand{\labelenumi}{(\theenumi)}% \renewcommand{\theenumii}{\alph{enumii}}% \renewcommand{\labelenumii}{(\theenumii)}% \renewcommand{\theenumiii}{\roman{enumiii}}% \renewcommand{\labelenumiii}{(\theenumiii)}% \setlength{\leftmargini}{0.75in}% \setlength{\leftmarginii}{0.375in}% \setlength{\leftmarginiii}{0.375in}% \setlength{\leftmarginiv}{0.375in}% % \setlength{\topsep}{0pt} \setlength{\partopsep}{0pt} \setlength{\parskip}{0pt} \begin{enumerate}% \setlength{\topsep}{0pt} \setlength{\partopsep}{0pt} \setlength{\parskip}{0pt} \setlength{\itemsep}{2pt} \setlength{\itemindent}{0pt} \setlength{\labelsep}{0pt} \setlength{\listparindent}{0pt} % \setlength{\labelwidth}{\leftmargin} \setlength{\labelwidth}{0.375in} % \vspace*{-\topsep}% Kludge! \renewcommand{\makelabel}[1]{\parbox[t]{\labelwidth}{##1}\hfill} }% {\end{enumerate}% \vspace*{-\topsep} }% Kludge! %================================================ Intrinsics Stuff ===== % How much is text of intrinsics subsections indented? \newlength{\II} % Intrinsic Indent \setlength{\II}{0.5in} % subsection for intrinsics, so they don't get into TOC. \newcommand\insubsection[1]{\refstepcounter{subsection}% \vskip 0.25\baselineskip \@plus 1ex% \@minus 0.2ex% {\secfont\large\parbox[b]{0.75in}{\thesubsection}~#1}% \vskip 1pt \@plus .2ex} % Environment for arguments for intrinsics \newenvironment{args}% {\begin{list}{}% {\renewcommand{\makelabel}[1]{\textbf{##1}\hfil}% % Left justify label \setlength{\labelwidth}{1.5in}% \setlength{\leftmargin}{\labelwidth}% \addtolength{\leftmargin}{\labelsep}% \addtolength{\leftmargin}{\II}% }% }% {\end{list}} % Environment to put around a table that saves and restores the table counter \newenvironment{threecol}{% \setcounter{save@table}{\value{table}}% \begin{longtable}{p{6pt}>{\raggedright}p{150pt} >{\raggedright}p{150pt}l}% } {\end{longtable} \setcounter{table}{\value{save@table}} } % Intrinsic function argument description: \newlength{\Ial} % Intrinsic argument left \setlength{\Ial}{1.5in} \newlength{\Iar} % Intrinsic argument right \setlength{\Iar}{\textwidth} %\addtolength{\Iar}{-\leftmargin} %\addtolength{\Iar}{-\rightmargin} \addtolength{\Iar}{-\Ial} \addtolength{\Iar}{-\II} \newcommand\intrinarg[2]{\inp{\II}% \parbox[t]{\Ial}{#1}% \begin{minipage}[t]{\Iar}{#2}% \end{minipage}} % Intrinsic function case: \newlength{\Icl} % Intrinsic summary left \setlength{\Icl}{0.8125in} \newlength{\Icr} % Intrinsic summary right \setlength{\Icr}{\textwidth} \addtolength{\Icr}{-\leftmargin} \addtolength{\Icr}{-\rightmargin} \addtolength{\Icr}{-\Icl} \newcommand\intrincase[2]{\parbox[t]{\Icl}{#1}\parbox[t]{\Icr}{#2}} % Environment for intrinsic function case \newcounter{cases} \newenvironment{incase}% {\begin{list}{\roman{cases}}% % Default label {\usecounter{cases} \setlength{\labelwidth}{0.8125in}% \addtolength{\labelwidth}{\II} \setlength{\partopsep}{0pt} \setlength{\parskip}{0pt} \setlength{\itemsep}{0pt} \setlength{\topsep}{3pt} \setlength{\leftmargin}{\labelwidth}% \addtolength{\leftmargin}{\labelsep}% \renewcommand{\makelabel}[1]{\parbox[t]{\labelwidth}% {\inp{\II}\emph{Case (##1):}}\hfil} }% }% {\end{list}} % Paragraphs of intrinsic procedure description \newcommand\inpara[2]{\inp{\II}{\bf #1.} #2} \newcommand\argument[1]{\inpara{Argument}{#1}} \newcommand\arguments[1]{\inpara{Arguments}{#1}} \newcommand\class[1]{\inpara{Class}{#1}} \newcommand\desc[1]{\inpara{Description}{#1}} \newcommand\example[1]{\inpara{Example}{#1}} \newcommand\exampleB[1]{\inpara{Example}{\renewcommand\baselinestretch{1.2}#1}} \newcommand\examples[1]{\inpara{Examples}{#1}} \newcommand\examplesB[1]{\inpara{Examples}{\renewcommand\baselinestretch{1.2}#1}} \newcommand\reschar[1]{\inpara{Result Characteristics}{#1}} \newcommand\restriction[1]{\inpara{Restriction}{#1}} \newcommand\result[1]{\inpara{Result}{#1}} \newcommand\resvalue[1]{\inpara{Result Value}{#1}} \newcommand\resvalueB[1]{\inpara{Result Value}{\renewcommand\baselinestretch{1.2}#1}} % Intrinsic function summary: % Environment that works like description but doesn't bold case labels \newenvironment{insum}% {\begin{list}{}% {\setlength{\labelwidth}{2.75in}% \setlength{\labelsep}{0.25in}% \setlength{\partopsep}{0pt}% \setlength{\parsep}{0pt}% \setlength{\itemsep}{0pt}% \setlength{\topsep}{0pt}% \setlength{\leftmargin}{3.5in}% \setlength{\itemindent}{-0.25in}% \renewcommand{\makelabel}[1]{\parbox[t]{\labelwidth}% {\hin{0.25in}\raggedright ##1 \hfil}} \raggedright}% }% {\end{list}} % ========================================================= nbdesc ===== % Environment that works like description but doesn't bold case labels \newcommand{\nblabel}[1]{\mbox{#1 }\hfil} \newenvironment{nbdesc}% {\begin{list}{}% {\renewcommand{\makelabel}{\nblabel}% % \settowidth{\labelwidth}{0.8125in}% \setlength{\partopsep}{0pt} % \setlength{\parskip}{0pt} \setlength{\topsep}{0pt} \setlength{\leftmargin}{\labelwidth}% \addtolength{\leftmargin}{\labelsep}% }% }% {\end{list}} % ======================================================= jcaption ===== % A command that generates a title that's the same as the caption % (with T: in front of it), and sets the caption in bold face. \newcommand\jcaption[1]{\caption{\label{T:#1}\textbf{#1}}} % A caption for a continuation of a table -- bold title, no label, (cont.) % at the end. \newcommand\ccaption[1]{\caption*{\textbf{#1}} (cont.)} % ========================================================== notes ===== \newcounter{nc}[\major] % Note counter. \newcounter{save@table} % save \table \renewcommand{\thenc}{\arabic{\major}.\arabic{nc}} \definecolor{notefore}{rgb}{0,0,1} % blue \definecolor{noteback}{rgb}{0.6,0.6,1} % fairly light blue \newlength{\w@nb} % ``Width of a note box'' \setlength{\w@nb}{\ltabwid} \addtolength{\w@nb}{-0.25in} % 0.25in less than a full-width box \newcommand{\beforenote}{\color{notefore}} \newcommand{\afternote}{\relax} % Note with automatically generated note number \newenvironment{note}{% \setcounter{save@table}{\value{table}} \setcounter{table}{\value{nc}} \begin{longtable}[r]{|>{\beforenote\columncolor{noteback}}p{\w@nb}<{\afternote}|}% \caption*{} \endhead \multicolumn{1}{l} {\refstepcounter{nc}{\bfseries NOTE \thenc}} \\ \hline\endfirsthead \multicolumn{1}{l} {\bfseries NOTE \thenc\ (cont.)} \\ \endhead } {\\ \hline\end{longtable}%\pagecolor{white} \setcounter{table}{\value{save@table}} } % J3 internal note \newenvironment{jnote}{% \setcounter{save@table}{\value{table}} \vspace*{-\topsep} \begin{longtable}[r]{|>{\beforenote\columncolor{noteback}}p{\w@nb}<{\afternote}|}% \caption*{} \endhead \multicolumn{1}{l} {{\bfseries J3 internal note}} \\ \hline\endfirsthead \multicolumn{1}{l} {\bfseries J3 internal note (cont.)} \\ \endhead } {\\ \hline\end{longtable}%\pagecolor{white} \vspace*{-\topsep} \setcounter{table}{\value{save@table}} } % Note with explicitly specified note number. For papers. \newenvironment{xnote}[1]{% \setcounter{save@table}{\value{nc}} \vspace*{-\topsep} \begin{longtable}[r]{|>{\beforenote\columncolor{noteback}}p{\w@nb}<{\afternote}|}% \multicolumn{1}{l} {{\bfseries NOTE #1}} \\ \hline\endfirsthead \multicolumn{1}{l} {\bfseries NOTE #1 (cont.)} \\ \endhead } {\\ \hline\end{longtable}%\pagecolor{white} \vspace*{-\topsep} \setcounter{table}{\value{save@table}} } % ============================================================ obs ===== % Obsolete font size \newcommand{\obs}[1]{{\footnotesize #1}} \newcommand{\obscf}[1]{{\bfseries\ttfamily\footnotesize #1}} % ====================================================== printtime ===== % Print the time as hh:mm (but not necessarily with two digits of hh) \RequirePackage{calc} \newcounter{hours}\newcounter{minutes} \renewcommand{\theminutes}{\ifnum\value{minutes}<10 0\fi\arabic{minutes}} \newcommand{\printtime}{% \setcounter{hours}{\time/60}% \setcounter{minutes}{\time-\value{hours}*60}% \thehours :\theminutes} % =========================================================== tdef ===== % Macro to define a term. It also puts a reference in the index with % a bold page number \newcommand{\tdef}[1]{\mindex{#1|textbf}{\bfseries #1}} % And this one just sets the font without generating an index item \newcommand{\tdeff}[1]{{\bfseries #1}} % End of macros for the F95 standard % ======================================================================== % Macros for J3 papers % Macro to put "added stuff" bar in the right margin. Put it % inside of \mgpar or \mgpare \newlength{\vbL} \newlength{\vbP} \newcommand\addbar[1]{ \setlength{\vbP}{12pt}% \multiply\vbP by #1% \multiply\vbP by -1% \addtolength{\vbP}{8pt}% \setlength{\vbL}{12pt}% \multiply\vbL by #1% \hfill\rule[\vbP]{1pt}{\vbL}} % Backslash command \newcommand{\bs}{\symbol{'134}} % Macro to put a "deleted stuff" mark in the margin \newcommand\delbar{\vspace{-1pt}\mgpar{\hfill\rule[-8pt]{10pt}{1pt}}} % Used in papers to generate the heading for an ``Edits'' section. \newcommand\edits[2][]{\section{Edits #1}% % Edits refer to #2. Page and line numbers are displayed in the margin. % Absent other instructions, a page and line number or line number range % implies all of the indicated text is to be replaced by immediately % following text, while a page and line number followed by + (-) indicates % that immediately following text is to be inserted after (before) the % indicated line. Remarks are noted in the margin, or appear between [ % and ] in the text.} % % Macro for marginal notes \newcommand\mgpar[1]{\mbox{}\marginpar{\raggedright\hspace{0pt}% #1}} % Macro for emphasized marginal notes \newcommand\mgpare[1]{\mbox{}% \marginpar{\raggedright\hspace{0pt}% \begin{em}#1\end{em}}} % Separator between topics in papers \newcommand{\sep}{\vskip 5pt\hrule} \endinput %% %% End of file `j3.cls'.