%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % STRUCTURAL DEFINITIONS FOR THE CHICAGO JOURNAL STYLE % % (CJstruct) % % File name: cjstruct.sty, cjstruct.cls % % Version: 1.1, released 4 April 1995 % % Author: Michael J. O'Donnell % % The University of Chicago % Department of Computer Science % Ryerson Hall, 1100 E. 57th St. % Chicago, IL 60637 USA % % (312) 702-1269 % % odonnell@cs.uchicago.edu % % ******************************************************************* % * * % * PLEASE REPORT PROBLEMS TO cjbugs@cs.uchicago.edu * % * * % ******************************************************************* % % With testing and improvements by Mitchell Marks, % helpful critique by Donald A. Ziff, % suggestions by Joseph Y. Halpern, Mark Hoover, Stuart A. Kurtz, % V. T. Raman, Manuel Chakravarty. % % COPYRIGHT held by Michael J. O'Donnell, who grants permission to use, % copy, redistribute, and modify CJstruct freely under the terms of % the GNU Emacs General Public License (see e.g. the GNU Emacs Manual, % Richard Stallman, 1985). Essentially, you may use CJstruct however you % wish, as long as you acknowledge the authorship and copyright, and % pass on with every copy of CJstruct or derivative work the full % license granted to you. % % The author requests that you avoid using the file names cjstruct.sty, % cjlook.sty, cjlook.cls, cjstruct.cls, cjropts.tex, cjrdefs.tex, and the % various names defined in CJstruct in other software related to TeX, % and in any other context where such reuse of names might lead to % confusion. Redefinition of macros and other names in order to produce % customized displays of articles written in the CJstruct style is % specifically allowed and encouraged---only reuse that might confuse % other users is to be avoided. % % Initial version: 6 May 1992 % Last revised: 4 April 1995 % % Description: The LaTeX commands in this file are intended to be used % by latex under the name cjstruct.sty, and by latex2e under the name % cjstruct.cls. They allow articles published online in the Chicago % Journal of Theoretical Computer Science, and similar journals such as % the Journal of Functional and Logic Programming, to represent the logical % structure of the article text, while leaving to the reader the power % to determine stylistic issues in the layout. cjstruct.sty by itself % does not define a layout: a normal *.sty or *.cls file, selectable % by the reader, is loaded by cjstruct.sty. A default *.sty/*.cls file % is specified in the article source, article.sty (article.cls) is used % as a secondary default. Or, you may specify any other *.sty or *.cls file % that you like, as long as it produces a faithful representation of the % essential meaning and literary and mathematical (as opposed to % typographical) expression in the article. % % cjstruct.sty/cls relies only on macros defined in latex.tex, or used % there and required of all style files. So, it should be compatible % with any LaTeX style. It has been tested with cjlook.sty, % article.sty, and report.sty, and many widely used variants such as % 2up. % % The Chicago Journal of Theoretical Computer Science is a journal of % peer-reviewed research published by MIT Press in LaTeX source form % on the InterNet. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\cjversion{1.1} \def\cjreldate{1995/04/04} \typeout{CJstruct version \cjversion, \cjreldate} % % \@emptycomstring and \@emptydefstring serve as constants for % comparison purposes. % \newcommand{\@emptycomstring}{} % \def\@emptydefstring{} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % DECLARATIONS OF CUSTOMIZATION PARAMETER REGISTERS % % \rstyle is a token string describing a LaTeX style % set by the reader in cjropts.tex. % % \rstyle is declared, and its default is set, in each % article. % \newtoks\roptions % \roptions is a token string describing LaTeX % options set by the reader in cjropts.tex. % \roptions={} % The default for \roptions is empty. % \newtoks\rbibstyle % \rbibstyle is a token string describing a BibTeX % style set by the reader in cjropts.tex % \rbibstyle={alpha} % The default for \rbibstyle is alpha. % \newif\ifinfo % \ifinfo controls printing of a preface with % information about the article and its authors. % \infofalse % The default for \ifinfo is false. % \newif\ifabstractonly % \ifabstractonly, when true, stops formatting after % the abstract. % \abstractonlyfalse % The default for \ifabstractonly is false. % \newif\ifcontents % \ifcontents controls printing of the table of contents. % \contentstrue % The default for \ifcontents is true. % \newif\iflistfigs % \iflistfigs controls printing of the list of figures. % \listfigstrue % The default for \iflistfigs is true. % \newif\iflisttabs % \iflisttabs controls printing of the list of tables. % \listtabstrue % The default for \iflisttabs is true. % \newif\iflistthms % \iflistthms controls printing of the list of % labelled subtexts, such as definitions, theorems, etc. % \listthmstrue % The default for \iflistthms is true. % \newif\iflisteqns % \iflisteqns controls printing of the list of % equations. % \listeqnsfalse % The default for \iflisteqns is false. % \newif\ifparnums % \ifparnums controls printing of paragraph numbers % in the margin. % \parnumsfalse % The default for \ifparnums is false. % \newcommand{\parnumstyle}{\tiny\it} % \parnumstyle controls the size and type style of % paragraph numbers: the default is \tiny\it. % \newcommand{\parnumsep}{\hspace{3em}} % \parnumsep separates a marginal paragraph number % from the main text: default \hspace{3em}. % \newif\ifincludeeps % \ifincludeeps controls inclusion of encapsulated % PostScript pictures. % \includeepstrue % The default for \ifincludeeps is true. % \newtoks\epssupport % \epssupport is a token string giving the name of the % file to be read in for encapsulated PostScript % support. If a nonstandard support is chosen, you % will probably need to redefine the command \placeeps % as well. % \epssupport={epsf.sty} % The default encapsulated PostScript support is % epsf.sty. % \newcommand{\secnumsep}{\hspace{1em} } % \secnumsep separates the identifying number of a % section from its title in the header: the default is % 1 em of space. % \newcommand{\tocnumsep}{\hspace{0.5em}} % \tocnumsep separates the identifying number of a % section from its title in the table of contents: % the default is 0.5em of space. % \newcommand{\tocskip}{\newpage} % \tocskip separates the beginning of the table of % contents from the abstract. % \newcommand{\fltnumsep}{\hspace{1em} } % \fltnumsep separates the identifying number of a % table or figure from its title in the caption: the % default is 1 em of space. % \newcommand{\lstmarksep}{\hspace{1em}} % \lstmarksep separates the name of a labelled % subtext from the end mark. % \newcommand{\epsmagnification}{1.0} % \epsmagnification is multiplied by the natural % size of each encapsulated PostScript picture that % is included in the article: the default is 1.0, % which has no effect. % \newcommand{\footerskip}{1em} % \footerskip is the vertical space between the page % number and the descriptive footer: the default is % 1em. % % Input reader-defined customization parameters for the article from % the file cjropts.tex, if it exists. Besides the customization % options provided by LaTeX, cjstruct.sty/cls provides the following: % % \rstyle={} default set in the article, or article.sty/cls % if that one is not available % \roptions={} default empty % % The article is formatted as though it began with the command % % \documentstyle[]{} % % or, in the case of LaTeX2e, with % % \documentclass[]{} % % except, of course, for the special modifications of the % chicago-journal style. The options are given separated by commas, % just as in the optional argument to \documentstyle or \documentclass. % % \infotrue % or % \infofalse <- default % % These allow or suppress printing of data about the article and its % authors. % % \contentstrue <- default (unless \abstractonlytrue) % or % \contentsfalse % % These allow or suppress printing of a table of contents. % % \listfigstrue <- default (unless \abstractonlytrue) % or % \listfigsfalse % % These allow or suppress printing of a list of figures. % % \listtabstrue <- default (unless \abstractonlytrue) % or % \listtabsfalse % % These allow or suppress printing of a list of tables. % % \listthmstrue <- default (unless \abstractonlytrue) % or % \listthmsfalse % % These allow or suppress printing of a list of labelled subtexts, % such as definitions, theorems, lemmas, proofs, etc. % % \listeqnstrue % or % \listeqnsfalse <- default % % These allow or suppress printing of a list of numbered equations. % % \abstractonlytrue % or % \abstractonlyfalse <- default % % These allow the formatting to terminate after the abstract. % \abstractonlytrue sets \contentsfalse, \listfigsfalse, % \listtabsfalse. % % \parnumstrue % or % \parnumsfalse <- default % % \renewcommand{\parnumstyle}{