The cstechrep Class for L^{A}TEX 2ε

Martin Reddy

May 27, 1996

1 Introduction

This document describes the cstechrep class which has been specifically written for L^{A}TEX 2ε. This class provides a general style for writing LFCS and CSG technical reports in the department of Computer Science. The default behaviour of this formatting class is to produce documents which are typeset as 12 point text on single-sided A4 pages with single line spacing. To use this class, all you need do is begin your L^{A}TEX document with a declaration in the form:

     \documentclass[csg|lfcs,<other-options>]{cstechrep}

This document will begin by introducing the various options which the cstechrep class currently supports, followed by the various macros which it exports. An appendix is provided which describes the current procedures for submitting and publishing technical reports in the department. Finally, a simple example of using the cstechrep class is proffered.

2 Class Options

The cstechrep class is built on top of the standard L^{A}TEX 2ε article class. As such, it will accept and support most of the options which can be passed to article, e.g. twoside, leqno, fleqn etc. In addition to these inherited features, cstechrep provides the following options (which can be specified in the square-bracketed section of the \documentclass command.

csg / lfcs : These two options specify whether the report is to be published as a CSG or LFCS report. This is option is used to implement any typesetting conventions that are particular to either the LFCS or CSG groups (e.g. report cover pages). There is no default setting so you should always specify one of these, i.e.

         \documentclass[csg]{cstechrep} or \documentclass[lfcs]{cstechrep}.

titlepage / notitlepage : Specifying titlepage will cause the \maketitle command to produce a separate title page containing the title, author and abstract of the report. Specifying notitlepage will generate this information at the top of the first page, with the main body text following immediately. The default setting is notitlepage.

coverpage / nocoverpage : You can generate a standard cover page for your LFCS or CSG reports. See Section 4 for further information on this facility. The default setting

is nocoverpage.

cm / times : Criticism has been levelled at the Computer Modern font family, suggesting that they produce thin text which does not reduce well. Therefore an option has been provided to switch to a heavier font family, whilst still attempting to preserve some degree of DVI file portability and compatibility with other sites. Currently we use the Times font family for this purpose. Note however, that the times option does not change math fonts and so these may appear notably thin in comparison to the main body text. This is an experimental option. The default setting is cm.

12pt / 11pt / 10pt : Specifies the point size for the main body text that you wish to use. The default option is 12pt.

parskip : This option overrides the default paragraph formatting so that each paragraph is separated by a vertical space and there is no indentation at the start of each paragraph. (The list environments are also updated to reflect this change.)

3 Title Section Generation

The cstechrep class modifies the operation and formatting of \maketitle. In particular, you should note that the manner in which you normally specify an abstract may change. The cstechrep version of \maketitle can accept the following fields, which should be defined before calling the command:

• \title[...]{...} : the title of the report. The optional parameter in square brackets can be used to specify the title to appear on the cover page (see next section). You may use the \thanks{...} command in the title text to add a footnote comment.

• \author[...]{...} : the author(s) of the report. The optional parameter in square brackets can be used to specify the author(s) to appear on the cover page (see next section). You may use the \thanks{...} command in the title text to add a footnote comment, e.g. to provide grant information, e-mail address(es) etc.

• \reportnumber{...} : (optional) the number of your report (see Appendix A for information on how to obtain a number for your report). This report number will be in the format ECS–LFCS–yy-nn for LFCS reports, or ECS–CSG–nn–yy for CSG reports. You should specify the full report number (i.e. not just the series number, nn). You should also use en-dashes to separate components of the report number,

e.g. ECS--LFCS--yy--nn.

• \abstract{...} : the abstract for the report.

• \keywords{...} : (optional) any list of keywords that describe the content of your report.

For example, the following extract illustrates how to create a title section for you report.

   \title{The CS Technical Report Class}
   \author{Martin Reddy}
   \reportnumber{ECS--CSG--xx--yy}
   \abstract{Brief ramblings here}
   \keywords{technical report, \LaTeXe}
   \maketitle

4 Cover Page Generation

In order to promote a single corporate identity, a cover page can be generated for LFCS and CSG technical reports (assuming that you specify either the lfcs or csg class option)^{1}.

This is performed by specifying the coverpage class option. It will use the text that you specified in the \title, \author and \reportnumber^{2} fields in order to generate the cover page when you call \maketitle.

If you have used the \thanks{...} command in either your title or author fields, then this would normally cause these footnotes to appear twice (once for the cover page and once again for the title section). In order to circumvent this behaviour, you can specify an alternative author or title field to be used for the cover page, e.g.

   \author[Martin Reddy]{Martin Reddy\thanks{e-mail: mxr@dcs.ed.ac.uk}}
   \title{...}
   \reportnumber{...}
   \maketitle

N.B. this facility is provided only for the generation of cover pages for on-line versions of technical reports. For publishing printed copies of technical reports, the department will generate the cover page for you, and you will normally submit a hardcopy to the relevant secretary with no cover page. I.e. the provision of this facility does not alter the normal process for publishing technical reports.

1With thanks to David Aspinall <da@dcs> who wrote the base L^{A}TEX code for the LFCS cover page option.

2You will receive a report number once you have submitted a final hardcopy of the report to the department.

A Procedures for Publishing Technical Reports

This appendix provides some information on the procedures for publishing a technical report here in the Computer Science department. Members of the CSG may wish to consult the web

page http://www.dcs.ed.ac.uk/csg/tr-guide.html for specific information on publishing

CSG technical reports.

1. If a technical report has been produced by a non-staff member, then it should be approved by a member of staff.

2. Give a hardcopy of your report to the relevant secretary. Currently this is Maira McLennan <mlm@dcs> (room 3421, ext. 505116). You will then be assigned a number for the report. N.B. when you print the report, please use the

     -Zbook

option with the lpr command. This will print the pages of your report in the proper order for being copied and bound as a booklet.

3. Send an ASCII text copy of the abstract via e-mail to:

• The secretary in charge of reports, i.e. <mlm@dcs>.

• The group member in charge of maintaining the on-line reports. For the CSG this is currently Murray Cole <mic@dcs> or Thomas Zurek <tz@dcs>. For the LFCS this is Stephen Gilmore <stg@dcs>.

4. Make a PostScript version of your report available to the group member in charge of maintain the on-line reports so that it can be included into the relevant web pages. You may wish to consider using the coverpage class option to generate a standard cover page for your on-line copy.

Hardcopy versions of technical reports are stored in room 1417 of the JCMB. On-line versions of LFCS technical reports can be browsed at:

http://www.dcs.ed.ac.uk/lfcsreps/newindex.html

On-line versions of CSG technical reports can be browsed at:

http://www.dcs.ed.ac.uk/csg/reports.html

B Example L^{A}TEX 2ε Code

Above L^{A}TEX source available on-line in /usr/local/share/TeX/tex/latex/examples