A Newsletter Article Stylesheet for

APL Quote Quad

Michael Kent

24 Kendal Avenue, Maplewood, NJ, USA

mkent@acm.org

Page Setup

Size and margins

Pages are set up for US standard paper, 8.5" by 11". (The printing house we ordinarily use can't easily handle European sizes like A4.) Margins are set at 1" (25 mm) top and bottom and 0.75" (19 mm) for inside and outside margins.

Page numbers

Page numbers are at the bottom of the page, aligned with the outside margins, and set in the same face as the body text, but bold and 18pt.

Footers

We use different odd and even footers. On odd pages, the footer contains the date, the volume and the number. On even pages, the footer contains name "APL Quote Quad". These are justified so as to align with the inside page margins.

Footers are positioned 0.5" (12.7 mm) from the top resp. bottom page margins.

Formatting in the Author/Title Block

The title is set in a bold sans-serif font (this style sheet uses Gill Sans, as do the quarterly issues of Quote Quad ) at 24 points. The author's name is set in 18 pt bold in the same face; and the address and contact information is set in the same face at 14 pt (not bold). This block spans the two body-text columns.

Body Text Formatting

The heading above is a level 1 heading, style arHeading1, set in Gill Sans Bold at 14 pt.

Level 2 Heading

This heading is style arHeading2, set in Gill Sans italic at 12 pt.

Level 3 heading

The heading above is style arHeading3 , set in the same face as body text, but bold and 12 point.

Body text is set in two columns separated by a 0.25" (6.35 mm) gutter. There is 0.25" of whitespace between the bottom of the title block and the beginning of the body text.

Body text (like this paragraph) is set in the arNormal style, which is the main style for the text of an article. The arNormal style is set in here in Garamond, but any reasonably compact serif font can be substituted.. Jon McGrew uses Monotype Bulmer to set article bodies in the regular quarterly issues of Quote Quad, for instance, but the ubiquitous Times Roman is perfectly usable. (Similarly, if you don't have access to Gill Sans, there's no reason not to use Helvetica or Arial for the styles set in a sans-serif face.)

The size used for body text in the arNormal style is 11 points. We have found that anything smaller starts to look small and to be difficult to read, and anything much larger starts to look too "open" (and with larger faces, it takes more pages to accommodate the same text).

Paragraphs in the arNormal style have a 0.25" (6.35 mm) indent, and 3 points of white space precede the first line of each paragraph. Paragraphs are set fully justified (aligned left and right margins).

Sometimes, you will want to set monospaced text:

/* Not everything can be set in the main body style; this style is arCodeCourier, set in Courier at 10 points */

for (int i = 0; i < k; i++ )

tgt[i] = src[i];

J has its own font, and thus its own style:

.nb This is a little snippet of J

.nb code, set in style arCodeISIJ

.nb using 10 pt ISIJ.

var .= +/\vector

.nb There''' is no real reason why this

.nb style cannot be used in place of

.nb the arCodeCourier used above.

The names of the typefaces used for setting code are just the style names with the "arCode" part dropped, which is an ugly convention, but at least you can tell what the font is.

Now it's time for a variety of APL styles:

C½+/Aø.=B ä arCodeAPL2, 9 pt

C½+/Aø.=B ä arCodeAplPlus, 10 pt

C +/Aø.=B © arCodeDyalogStd, 10 pt

C½+/A°.=B © arCodeDyalogRus, 11 pt

Cû+/AÊ.=B ã arCodeSAXtt, 10 pt

It is unfortunate but true that every slightly different APL requires a different style, because of font mappings, atomic vector differences, and font metrics. The alternative is to convert all the APL code snippets into some one atomic vector and use a font that matches.

That's about it for the body-text things. However, we do sometimes want to have APL code in-line with the main text: C½+/Aø.=B (APL2) or (this time it's APL*PLUS) C½+/Aø.=B. Style name for these inline styles are analogous to the code-block style names, except that they begin with "arInline" rather than with "arCode".