BeginStyle
(frontMatter) .false StyleParam
(twoColumnStuff) .false StyleParam
(
chapterNumber) "1" StyleParam
(
PageBuilder) "the routine that packs pages with headers" {
IF the frontMatter
THEN {
% front matter with roman numeral page numbers
FrontMatterPageBuilder
} ELSE {
IF the twoColumnStuff
THEN {
% two column pages like the Glossary and the Index
TwoColumnPageBuilder
} ELSE {
% regular chapter opening with page number at bottom of first page, headers after that
ChapterPageBuilder
} FIELSE
} FIELSE
} StyleRule
(
FrontMatterPageBuilder) "the routine that packs pages with headers" {
% front matter with roman numeral page numbers
StartPageCounter
.page % assume there will be one page!
EmptyHeaderBox
.exchbox
DropRomanNumeralFolioBox
3 .vbox .shipout
IncrPageCounter
DO {
.page EXITifFALSE
HeaderOnlyBox
.exchbox
DropRomanNumeralFolioBox
3 .vbox .shipout
IncrPageCounter
} ENDLOOP
} StyleRule
(
ChapterPageBuilder) "the routine that packs pages with headers" {
StartPageCounter
.page % assume there will be one page!
EmptyHeaderBox
.exchbox
DropFolioBox
3 .vbox .shipout
IncrPageCounter
DO {
.page EXITifFALSE
HeaderBox
.exchbox
FooterBox
3 .vbox .shipout
IncrPageCounter
} ENDLOOP
} StyleRule
(
TwoColumnPageBuilder) "the routine that packs pages with headers" {
StartPageCounter
% first two column page has a drop folio
.page % assume there will be one page with chapter title!
.fill
.page IF .not THEN {.fill} FI
3 GalleyWidth .hboxto
EmptyHeaderBox
.exchbox
DropFolioBox
3 .vbox .shipout
IncrPageCounter
DO {
.page EXITifFALSE
.fill
.page IF .not THEN {.fill} FI
3 GalleyWidth .hboxto
HeaderBox
.exchbox
FooterBox
3 .vbox .shipout
IncrPageCounter
} ENDLOOP
} StyleRule
(
EmptyHeaderBox) "return an empty vbox for the header" {
.fill
1 the headerMargin .vboxto
} StyleRule
(
HeaderOnlyBox) "return an empty vbox for the header" {
(insideHeader) .getmark .fill (centerHeader) .getmark .fill (outsideHeader) .getmark
5 GalleyWidth .hboxto
.fill
2 the headerMargin .vboxto
} StyleRule
(
DropFolioBox) "return the page number centered at the bottom of the page" {
.fill
IF the pageNumbering pageCounter the firstHeadersAfterPage .gt .and
THEN {
.fill GetPageCounter .fill 3 GalleyWidth .hboxto
} ELSE {
.fill 1 GalleyWidth .hboxto
} FIELSE
2 the footerMargin .vboxto
} StyleRule
(
DropRomanNumeralFolioBox) "return the roman numeral page number centered at the bottom of the page" {
.fill
IF the pageNumbering pageCounter the firstHeadersAfterPage .gt .and
THEN {
.fill GetRomanNumeralPageCounter .fill 3 GalleyWidth .hboxto
} ELSE {
.fill 1 GalleyWidth .hboxto
} FIELSE
2 the footerMargin .vboxto
} StyleRule
(
GetPageCounter) "return the current value of the page counter" {
(Helvetica) 10 bp .textfont the chapterNumber .cvs .textbox "-" .textbox pageCounter .cvi .cvs .textbox 3 .hbox
} StyleRule
(
GetRomanNumeralPageCounter) "return the current value of the page counter" {
(Helvetica) 10 bp .textfont
IF pageCounter 0 .gt pageCounter 21 .lt .and
THEN {
[ (i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (xi) (xii) (xiii) (xiv) (xv) (xvi) (xvii) (xviii) (xix) (xx) ] pageCounter 1 .sub .aget
} ELSE {
pageCounter .cvi .cvs
} FIELSE
.textbox 1 .hbox
} StyleRule
(
BasicSize) "normal type font size" {
12 bp } StyleRule
(
BasicLeading) "normal type leading" {
16 pt } StyleRule
(Nest) "display nesting level" {
nestingLevel 1 .gt { ParaIndent bigger leftIndent } .cvx .if } PrintRule
(
look.e) "emphasis for glossary words" {
AlternateFontFamily
isComment {-italic face}{+italic face} .ifelse .cvx .exec
} StyleRule
(
look.j) "second level subscript" {
BasicIncrement .neg bigger vShift
BasicIncrement smaller size} StyleRule
(
look.k) "keywords, small caps" {
BasicIncrement smaller size
FontFamily
} StyleRule
(
look.h) "fixed pitch font" {
"Gacha" family 12 bp size bold face } ScreenRule
(
look.h) "fixed pitch font" {
"XeroxBook" family 14 bp size regular face} PrintRule
(
look.r) "reference citations" {
BasicIncrement smaller size } StyleRule
(
look.v) "fixed pitch font" {
"Gacha" family 8 bp size bold face } ScreenRule
(
look.v) "fixed pitch font" {
"XeroxBook" family 10 bp size regular face} PrintRule
(look.w) "things to do" {
bold face } StyleRule
(
look.w) "things to do" {
"CREAM" family 10 bp size bold face } ScreenRule
(
look.w) "things to do" {
"CREAM10" family 10 bp size bold face } PrintRule
(
caption) "for figure captions" {
block
flushLeft lineFormatting
bold face
BasicIncrement smaller size
BasicIncrement smaller leading
the leading topLeading
} StyleRule
(
centeredtable) "for centered tables with ArtworkClass property Rule" {
block
centered lineFormatting
} ScreenRule
(
centeredtable) "for centered tables with ArtworkClass property Rule" {
block
centered lineFormatting
6 pt leading
6 pt topLeading
12 pt bottomLeading
} PrintRule
(
chapter) "for chapter titles that begin a new page" {
head1
XLSize size
XLSize MoreLead .add leading
} ScreenRule
(
chapter) "for chapter titles that begin a new page" {
head1
36 bp size
36 bp leading
1 fill 0 0 topLeadingGlue
180 bp 0 0 bottomLeadingGlue
} PrintRule
(
contents) "for headings in the table of contents" {
head
nestingLevel 1 .eq .not {ParaIndent bigger leftIndent} .cvx .if
3 em restIndent
the restIndent tabStops
BreakSize leading
BreakSize BasicSize MoreLead topLeadingGlue
BreakSize BasicSize MoreLead bottomLeadingGlue
} StyleRule
(
display) "displayed equations, etc. embedded in text" {
docStandard
MoreLead bigger topLeading
0 bottomLeading
centered lineFormatting
} StyleRule
(
equation) "displayed equations, etc. embedded in text" {
display
} StyleRule
(
equationNumber) "equations number craftily overlays previous display" {
display
0 topLeading
MoreLead bigger bottomLeading
flushRight lineFormatting
} StyleRule
(
figureequation) "displayed equations, etc. embedded in text" {
display
BasicIncrement smaller size
BasicIncrement smaller leading
the leading topLeading
0 bottomLeading
} StyleRule
(
figureequationNumber) "equations number craftily overlays previous display" {
display
BasicIncrement smaller size
BasicIncrement smaller leading
0 topLeading
the leading bottomLeading
flushRight lineFormatting
} StyleRule
(
head4) "a list of items heading" {
head3 } StyleRule
(
horizontalrule) "for rules (solid lines) used to separate things" {
docStandard
6 pt leading
6 pt topLeading
6 pt bottomLeading
0 em firstIndent
0 em restIndent
} StyleRule
(
index) "for entry in an index." {
block
10 bp size
12 pt leading
the leading topLeading
the leading bottomLeading
flushLeft lineFormatting
nestingLevel 2 .gt {1 em bigger leftIndent} .cvx .if
the leftIndent 1 em .add restIndent
the restIndent tabStops
} StyleRule
(
glossary) "for a glossary term." {
block
10 bp size
12 pt leading
the leading topLeading
the leading bottomLeading
flushLeft lineFormatting
the leftIndent 1 em .add restIndent
the restIndent tabStops
} StyleRule
(
item) "for lists of items." {
block
flushLeft lineFormatting
ParaIndent bigger leftIndent
ParaIndent 2 .mul bigger restIndent
the restIndent tabStops
} StyleRule
(
paragraph) "ragged-right indented paragraph" {
body
flushLeft lineFormatting
} StyleRule
(
paragraphcontinued) "ragged-right indented paragraph" {
block
flushLeft lineFormatting
} StyleRule
(
picture) "special leading for pictures" {
docStandard
centered lineFormatting
BasicSize leading
BasicSize topLeading
BasicSize bottomLeading
} StyleRule
(
reference) "an item in a reference list" {
block
10 bp size
12 bp leading
the leading topLeading
the leading bottomLeading
flushLeft lineFormatting
the leftIndent 2 em .add restIndent
the restIndent tabStops
} StyleRule
(
root) "document layout" {
docStandard
10 pt rightIndent
} ScreenRule
(
root) "document layout" {
docStandard
.5 in topMargin
.8 in headerMargin
.5 in footerMargin
.5 in bottomMargin
1.25 in leftMargin
1.25 in rightMargin
6 in lineLength
24 pt topIndent
24 pt topLeading
0 leftIndent
0 pt rightIndent
} PrintRule
(
rootForTwoColumns) "document layout" {
docStandard
10 pt rightIndent
} ScreenRule
(
rootForTwoColumns) "document layout" {
docStandard
.5 in topMargin
.8 in headerMargin
.5 in footerMargin
.5 in bottomMargin
1.25 in leftMargin
1.25 in rightMargin
2.825 in lineLength % short line length for two columns
24 pt topIndent
24 pt topLeading
0 leftIndent
0 pt rightIndent
} PrintRule
(
styleFigure) "for TiogaArtwork style samples" {
standard
nestingLevel 1 .eq .not {ParaIndent bigger leftIndent} .cvx .if
0 restIndent
BasicIncrement smaller size
"Gacha" family
BasicIncrement smaller leading
BasicLeading BasicIncrement .sub topLeading
BasicLeading BasicIncrement .sub bottomLeading
the lineLength 2 .div tabStop
} ScreenRule
(
styleFigure) "for TiogaArtwork style samples" {
standard
nestingLevel 1 .eq .not {ParaIndent bigger leftIndent} .cvx .if
0 restIndent
BasicIncrement smaller size
"XeroxBook" family
BasicIncrement smaller leading
BasicLeading BasicIncrement .sub topLeading
BasicLeading BasicIncrement .sub bottomLeading
the lineLength 2 .div tabStop
} PrintRule
(
styleTable) "for TiogaArtwork style comparison" {
block
"Gacha" family
8 bp size
9 pt leading
BasicLeading BasicIncrement .sub topLeading
BasicLeading BasicIncrement .sub bottomLeading
} ScreenRule
(
styleTable) "for TiogaArtwork style comparison" {
block
"XeroxBook" family
8 bp size
9 pt leading
BasicLeading BasicIncrement .sub topLeading
BasicLeading BasicIncrement .sub bottomLeading
} PrintRule