%%
%% 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
% Stuff about note colors:
\newcommand{\beforenote}{\color{notefore}}
\newcommand{\afternote}{\relax}
\newcommand{\notestart}{%
\begin{longtable}[r]{|>{\beforenote\columncolor{noteback}}p{\w@nb}<{\afternote}|}}
\DeclareOption{nocolor}{%
\renewcommand{\beforenote}{\relax}%
\renewcommand{\notestart}{%
\begin{longtable}[r]{|>{\beforenote}p{\w@nb}<{\afternote}|}}
}
% Stuff to make html specials optional
\newif\if@html
\@htmlfalse
\DeclareOption{html}{\@htmltrue}
\DeclareOption{nohtml}{\@htmlfalse}
% Stuff to make PDF specials optional
\newif\if@pdf
\@pdffalse
\DeclareOption{pdf}{\@pdftrue}
\DeclareOption{nopdf}{\@pdffalse}
% Stuff to make paragraph numbers in the left margin optional
\newif\if@parnums
\@parnumsfalse
\DeclareOption{parnums}{\@parnumstrue}
\DeclareOption{noparnums}{\@parnumsfalse}
% 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]{\today} % 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}%
{\setcounter{npar}{0}\secfont\Large}}
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
{-0.25\baselineskip \@plus -1ex%
\@minus -.2ex}%
{1pt \@plus .2ex}%
{\setcounter{npar}{0}\secfont\large}}
\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
{-0.25\baselineskip \@plus -1ex%
\@minus -.2ex}%
{1pt \@plus .2ex}%
{\setcounter{npar}{0}\secfont\normalsize}}
\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{-0.25\baselineskip \@plus -1ex%
\@minus -.2ex}%
{1pt}%
{\setcounter{npar}{0}\secfont\normalsize}}
\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
{-0.25\baselineskip \@plus -1ex%
\@minus -.2ex}%
{1pt}%
{\setcounter{npar}{0}\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
\if@majorchapter
\chapter*{\contentsname
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
\else
\section*{\contentsname
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
\fi
\@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.625in
\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\relax}
% Do the next paragraph with hanging indentation
\newcommand\hin[1]{\hangindent=#1\hangafter=1\relax}
% 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@majorchapter
\if@bnfindx\index[r]{#1}\fi % Index of syntax rules
\fi}
\DeclareRobustCommand\tindex{\@ifstar\@tindexs\@tindex} % Syntax term index
\def\@tindexs#1{\if@majorchapter\index[t]{#1}\fi#1} % Index + text
\def\@tindex#1{\if@majorchapter\index[t]{#1}\fi} % 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]{\@bnfindxtrue\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 it in the index with a 'definition' page #
% but without a syntax term reference number (presumably because it
% doesn't have one)"
\newcommand{\sidn}[1]{\st{#1}\tindex{#1@\st{#1}|textbf}}
% "Produce a syntax term and 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:
\newcommand\dcoms[2][C\thecon]{\stepcounter{con}%
\parbox[t]{0.5in}{#1}\hin{0.5in}{#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!
}
% ======================================================= html,pdf =====
% Macros for "live" references. \html causes \label, \ref and \pageref to
% generate html \specials or \pdf.... \dehtml restores them to their normal
% definitions. In any case, \nhref doesn't generate html, although it
% does generate pdf if pdf is on. The reason for not generating html is
% that html "goto" needs a # in it, and this confuses table-of-contents
% macros.
\bgroup
\catcode`\"12\relax
\catcode`\#12\relax
\gdef\Vquote{"}
\gdef\Vhash{\string#}
\egroup
\def\label#1{\@bsphack
\if@html\special{html:}\special{html:}\fi%
\if@pdf\pdfdest name{#1} fitbh\fi%
\protected@write\@auxout{}%
{\string\newlabel{#1}{{\@currentlabel}{\thepage}}}%
\@esphack%
}
\def\ref#1{%
\if@html\special{html:}\fi%
\if@pdf\mbox{\pdfannotlink goto name{#1}%
\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}%
\pdfendlink}%
\else\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}%
\fi%
\if@html\special{html:}\fi%
}
\def\pageref#1{%
\if@html\special{html:}\fi%
\if@pdf\mbox{\pdfannotlink goto name{#1}%
\expandafter\@setref\csname r@#1\endcsname\@secondoftwo{#1}%
\pdfendlink}%
\else\expandafter\@setref\csname r@#1\endcsname\@secondoftwo{#1}%
\fi%
\if@html\special{html:}\fi%
}
\newcommand\html{\@htmltrue}
\newcommand\dehtml{\@htmlfalse}
\newcommand\pdf{\@pdftrue}
\newcommand\depdf{\@pdffalse}
% \nhref is \ref without any html in it. This is apparently needed if a
% \ref appears in something that generates a TOC. The # in the html
% reference apparently confuses TOC.
\def\nhref#1{%
\if@pdf\mbox{\pdfannotlink goto name{#1}%
\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}%
\pdfendlink}%
\else\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}%
\fi
}
%================================================ 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 for the ``three column'' table of generic and specific names
\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
% Note with automatically generated note number
\newenvironment{note}{%
\setcounter{save@table}{\value{table}}
\setcounter{table}{\value{nc}}
\def\label##1{\@bsphack
\protected@write\@auxout{}%
{\string\newlabel{##1}{{\thenc}{\thepage}}}%
\@esphack}
\notestart
\caption*{}
\endhead
\multicolumn{1}{l}
{\refstepcounter{nc}{\bfseries NOTE \thenc}}
\\ \hline\endfirsthead
\multicolumn{1}{l}
{\bfseries NOTE \thenc\ (cont.)}
\\ \label{Note:\thenc}\endhead%
}
{\\ \hline\end{longtable}%\pagecolor{white}
\setcounter{table}{\value{save@table}}
}
% J3 internal note
\newenvironment{jnote}{%
\setcounter{save@table}{\value{table}}
\vspace*{-\topsep}
\notestart
\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}%
\notestart%
\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}}
% =========================================================== parn =====
% Paragraph numbers in the margin
\newcounter{npar}[\major] % the other cases are cleared explicitly
\renewcommand{\thenpar}{\arabic{npar}}
\newcommand{\parn}{%
\if@parnums%
\reversemarginpar\stepcounter{npar}\mgpar{\hfill \thenpar}\fi%
}
\def\plabel#1{\@bsphack
\if@html\special{html:}\special{html:}\fi%
\if@pdf\pdfdest name{#1} fitbh\fi%
\protected@write\@auxout{}%
{\string\newlabel{#1}{{\@currentlabel(\thenpar)}{\thepage}}}%
\@esphack%
}
\newcommand{\parnums}{\@parnumstrue}
\newcommand{\deparnums}{\@parnumsfalse}
% ====================================================== 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 associated
text, while a page and line number followed by + (-) indicates
that associated text is to be inserted after (before) the
indicated line. Remarks are noted in the margin, or appear between [
and ] in the text.}
% Macros for marginal notes. The *-forms don't put in \mbox{}, which
% may affect vertical spacing and/or line numbers.
\DeclareRobustCommand\mgpar{\@ifstar\@mgpars\@mgpar}
\def\@mgpars#1{\marginpar{\raggedright\hspace{0pt}#1}} % with *
\def\@mgpar#1{\mbox{}\marginpar{\raggedright\hspace{0pt}#1}} % without *
\DeclareRobustCommand\mgpare{\@ifstar\@mgpares\@mgpare}
\def\@mgpares#1{\mgpar*{\begin{em}#1\end{em}}} % with *
\def\@mgpare#1{\mgpar{\begin{em}#1\end{em}}} % without *
% Separator between topics in papers
\newcommand{\sep}{\vskip 5pt\hrule}
\endinput
%%
%% End of file `j3.cls'.