aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJeffrey H. Kingston <jeff@it.usyd.edu.au>2010-09-14 20:36:35 +0000
committerJeffrey H. Kingston <jeff@it.usyd.edu.au>2010-09-14 20:36:35 +0000
commitb10d39aec443165093f8f28bc6f940530b89cdaf (patch)
tree63a1ef3b3f1d2562c498291cda341a2171a1fe1c /include
parent2f4268e5e02216be53cd85816362191373512463 (diff)
downloadlout-b10d39aec443165093f8f28bc6f940530b89cdaf.tar.gz
Lout 3.21.
git-svn-id: http://svn.savannah.nongnu.org/svn/lout/trunk@11 9365b830-b601-4143-9ba8-b4a8e2c3339c
Diffstat (limited to 'include')
-rw-r--r--include/README1
-rw-r--r--include/blue9
-rw-r--r--include/bluef50
-rw-r--r--include/book7
-rw-r--r--include/cprint11
-rw-r--r--include/cprintf50
-rw-r--r--include/doc7
-rw-r--r--include/dsf178
-rw-r--r--include/eiffel7
-rw-r--r--include/eiffelf46
-rw-r--r--include/init3
-rw-r--r--include/latin22
-rw-r--r--include/old.fd (renamed from include/fontdefs)0
-rw-r--r--include/perl29
-rw-r--r--include/perlf50
-rw-r--r--include/picture7
-rw-r--r--include/pod16
-rw-r--r--include/podf51
-rw-r--r--include/report9
-rw-r--r--include/reportf2
-rw-r--r--include/slides7
-rw-r--r--include/tblf20
-rw-r--r--include/ts3
23 files changed, 450 insertions, 115 deletions
diff --git a/include/README b/include/README
index 1a2389a..63ad651 100644
--- a/include/README
+++ b/include/README
@@ -74,7 +74,6 @@ Source files (containing Lout and PostScript source code for the packages)
Miscellaneous
-------------
- fontdefs Standard font definitions file
langdefs Standard language definitions file
mydefs Empty file for if the user doesn't have a mydefs
ts The ToySetup package (an expert users' intro. example)
diff --git a/include/blue b/include/blue
index 94ae775..cfe1c3c 100644
--- a/include/blue
+++ b/include/blue
@@ -4,7 +4,7 @@
# #
# Version 3.0 #
# Jeffrey H. Kingston #
-# 5 April 2000 #
+# 10 April 2000 #
# #
###############################################################################
@@ -32,6 +32,7 @@
@Use { @BlueSetup
# pipe { } # pipe source through this
+ # numbered { No } # No, Yes, or a line number
# style { varying @OrIfPlain fixed } # fixed, varying, or symbol
# the following options apply when style is "fixed"
@@ -48,6 +49,7 @@
# fixednumbers { Base } # number face
# fixedstrings { Base } # string face
# fixedcomments { Base } # comment face
+ # fixedlinenumbers { Base } # line numbers face
# fixedidentifiersformat { @Body } # identifiers format
# fixedkeywordsformat { @Body } # keywords format
@@ -55,6 +57,7 @@
# fixednumbersformat { @Body } # numbers format
# fixedstringsformat { @Body } # strings format
# fixedcommentsformat { @Body } # comments format
+ # fixedlinenumbersformat { @Body } # line numbers format
# the following options apply when style is "varying"
@@ -70,6 +73,7 @@
# varyingnumbers { Base } # number face
# varyingstrings { Slope } # string face
# varyingcomments { Base } # comment face
+ # varyinglinenumbers { Base } # line numbers face
# varyingidentifiersformat { @Body } # identifiers format
# varyingkeywordsformat { @Body } # keywords format
@@ -77,6 +81,7 @@
# varyingnumbersformat { @Body } # numbers format
# varyingstringsformat { @Body } # strings format
# varyingcommentsformat { @Body } # comments format
+ # varyinglinenumbersformat { @Body } # line numbers format
# the following options apply when style is "symbol"
@@ -92,6 +97,7 @@
# symbolnumbers { Base } # number face
# symbolstrings { Slope } # string face
# symbolcomments { Base } # comment face
+ # symbollinenumbers { Base } # line numbers face
# symbolidentifiersformat { @Body } # identifiers format
# symbolkeywordsformat { @Body } # keywords format
@@ -99,4 +105,5 @@
# symbolnumbersformat { @Body } # numbers format
# symbolstringsformat { @Body } # strings format
# symbolcommentsformat { @Body } # comments format
+ # symbollinenumbersformat { @Body } # line numbers format
}
diff --git a/include/bluef b/include/bluef
index 3574516..8a8ff13 100644
--- a/include/bluef
+++ b/include/bluef
@@ -5,7 +5,7 @@
# #
# Version 3.0 #
# Jeffrey H. Kingston #
-# 5 April 2000 #
+# 10 April 2000 #
# #
# This package uses a filtered body parameter to convert program source #
# code into Lout source. The filter program is prg2lout, which is #
@@ -16,7 +16,8 @@
export @Blue
def @BlueSetup
- named pipe { } # pipe through this first
+ named pipe { } # pipe through this
+ named numbered { No } # numbered lines?
named style
named @OrIfPlain left x right y
{ @BackEnd @Case { PlainText @Yield y else @Yield x } }
@@ -35,6 +36,7 @@ def @BlueSetup
named fixednumbers { Base } # number face
named fixedstrings { Base } # string face
named fixedcomments { Base } # comment face
+ named fixedlinenumbers { Base } # line numbers face
named fixedidentifiersformat right @Body { @Body } # identifier format
named fixedkeywordsformat right @Body { @Body } # keyword format
@@ -42,6 +44,7 @@ def @BlueSetup
named fixednumbersformat right @Body { @Body } # number format
named fixedstringsformat right @Body { @Body } # string format
named fixedcommentsformat right @Body { @Body } # comment format
+ named fixedlinenumbersformat right @Body { @Body } # line nums format
# the following options apply when style is "varying"
named varyingfont { } # font family
@@ -56,6 +59,7 @@ def @BlueSetup
named varyingnumbers { Base } # number face
named varyingstrings { Slope } # string face
named varyingcomments { Base } # comment face
+ named varyinglinenumbers { Base } # line numbers face
named varyingidentifiersformat right @Body { @Body } # identifier format
named varyingkeywordsformat right @Body { @Body } # keyword format
@@ -63,6 +67,7 @@ def @BlueSetup
named varyingnumbersformat right @Body { @Body } # number format
named varyingstringsformat right @Body { @Body } # string format
named varyingcommentsformat right @Body { @Body } # comment format
+ named varyinglinenumbersformat right @Body { @Body } # line nums format
# the following options apply when style is "symbol"
named symbolfont { } # font family
@@ -77,6 +82,7 @@ def @BlueSetup
named symbolnumbers { Base } # number face
named symbolstrings { Slope } # string face
named symbolcomments { Base } # comment face
+ named symbollinenumbers { Base } # line numbers face
named symbolidentifiersformat right @Body { @Body } # identifier format
named symbolkeywordsformat right @Body { @Body } # keyword format
@@ -84,16 +90,18 @@ def @BlueSetup
named symbolnumbersformat right @Body { @Body } # number format
named symbolstringsformat right @Body { @Body } # string format
named symbolcommentsformat right @Body { @Body } # comment format
+ named symbollinenumbersformat right @Body { @Body } # line nums format
@Begin
export
- @PI @PK @PO @PN @PS @PC @PA @PM @PD
+ @PI @PK @PO @PN @PS @PC @PL @PA @PM @PD
@A "$>"
def @Blue
named style { style } # style
+ named numbered { numbered } # want numbered lines?
named pipe { pipe } # pipe through this first
named font { dft } # font family
named size { dft } # font size
@@ -106,6 +114,7 @@ def @BlueSetup
named numbers { dft } # number font
named strings { dft } # string font
named comments { dft } # comment font
+ named linenumbers { dft } # line numbers font
body @Body # filtered, see below
@Begin
@@ -159,14 +168,24 @@ def @BlueSetup
def @Filter
{
+ def wantnumbered
+ {
+ numbered @Case {
+ { No no } @Yield ""
+ { Yes yes } @Yield "-L"
+ else @Yield { "-L"numbered }
+ }
+ }
+
pipe @Case {
"" @Yield {
- "prg2lout -r -lBlue" -i{@FilterIn} -o{@FilterOut} -e{@FilterErr}
- -t{@InitTab} -T{@InitTabWidth}
+ "prg2lout -r -lBlue" wantnumbered -i{@FilterIn}
+ -o{@FilterOut} -e{@FilterErr}
+ -t{@InitTab} -T{@InitTabWidth}
}
else @Yield {
"cat" @FilterIn "|" pipe "|"
- "prg2lout -r -lBlue" -o{@FilterOut}
+ "prg2lout -r -lBlue" wantnumbered -o{@FilterOut}
-e{@FilterErr} -t{@InitTab} -T{@InitTabWidth}
}
}
@@ -302,6 +321,23 @@ def @BlueSetup
}
+ def @PL # for formatting line numbers
+ right x
+ {
+ style @Case {
+ fixed @Yield fixedlinenumbersformat {
+ { linenumbers @Else fixedlinenumbers } @Font x
+ }
+ varying @Yield varyinglinenumbersformat {
+ { linenumbers @Else varyinglinenumbers } @Font x
+ }
+ symbol @Yield symbollinenumbersformat {
+ { linenumbers @Else symbollinenumbers } @Font x
+ }
+ }
+ }
+
+
def @PA # for formatting asterisks
{
@PO @BackEnd @Case {
@@ -347,7 +383,7 @@ def @BlueSetup
{ @InitFontFamily Base @InitSize } @Font
- { @InitLine lines } @Break @Body
+ { @InitLine lines nohyphen } @Break @Body
@End @Blue
diff --git a/include/book b/include/book
index 22a3ab9..0ced4dd 100644
--- a/include/book
+++ b/include/book
@@ -14,7 +14,6 @@
# #
###############################################################################
- @SysInclude { fontdefs } # font definitions
@SysInclude { langdefs } # language definitions
@SysInclude { bsf } # BasicSetup package
@SysInclude { dsf } # DocumentSetup package
@@ -84,11 +83,16 @@
# @OddRightMargin { 2.5c @OrIfPlain 10s } # right margin of odd pages
# @EvenLeftMargin { 2.5c @OrIfPlain 10s } # left margin of even pages
# @EvenRightMargin { 2.5c @OrIfPlain 10s } # right margin of even pages
+ # @OddLeftBodyMargin { 0c } # extra margin for page body
+ # @OddRightBodyMargin { 0c } # extra margin for page body
+ # @EvenLeftBodyMargin { 0c } # extra margin for page body
+ # @EvenRightBodyMargin{ 0c } # extra margin for page body
# @PageBoxType { None } # None Box CurveBox ShadowBox
# @PageBoxMargin { 1.00c } # page box margin
# @PageBoxLineWidth { } # page box line thickness
# @PageBoxPaint { none } # page box paint
# @PageBoxShadow { 0.60c } # shadow margin if ShadowBox
+ # @PageEnclose { @Body } # enclose every page in this
# @ColumnNumber { 1 } # number of columns (1 to 10)
# @ColumnGap { 1.00c @OrIfPlain 6s } # column gap
# @FigureLocation { PageTop } # default figure location
@@ -387,4 +391,5 @@
# #
###############################################################################
+@SysDatabase @FontDef { fontdefs } # font definitions
@SysDatabase @RefStyle { refstyle } # reference printing styles
diff --git a/include/cprint b/include/cprint
index b3d69c5..4c15d72 100644
--- a/include/cprint
+++ b/include/cprint
@@ -4,7 +4,7 @@
# #
# Version 3.0 #
# Jeffrey H. Kingston #
-# 5 April 2000 #
+# 10 April 2000 #
# #
###############################################################################
@@ -32,7 +32,8 @@
@Use { @CPSetup
# pipe { } # pipe source through this
- # style { fixed } # fixed, varying, or symbol
+ # numbered { No } # No, Yes, or a line number
+ # style { fixed } # fixed, varying, or symbol
# the following options apply when style is "fixed"
@@ -48,6 +49,7 @@
# fixednumbers { Base } # number face
# fixedstrings { Base } # string face
# fixedcomments { Base } # comment face
+ # fixedlinenumbers { Base } # line numbers face
# fixedidentifiersformat { @Body } # identifiers format
# fixedkeywordsformat { @Body } # keywords format
@@ -55,6 +57,7 @@
# fixednumbersformat { @Body } # numbers format
# fixedstringsformat { @Body } # strings format
# fixedcommentsformat { @Body } # comments format
+ # fixedlinenumbersformat { @Body } # line numbers format
# the following options apply when style is "varying"
@@ -70,6 +73,7 @@
# varyingnumbers { Base } # number face
# varyingstrings { Slope } # string face
# varyingcomments { Base } # comment face
+ # varyinglinenumbers { Base } # line numbers face
# varyingidentifiersformat { @Body } # identifiers format
# varyingkeywordsformat { @Body } # keywords format
@@ -77,6 +81,7 @@
# varyingnumbersformat { @Body } # numbers format
# varyingstringsformat { @Body } # strings format
# varyingcommentsformat { @Body } # comments format
+ # varyinglinenumbersformat { @Body } # line numbers format
# the following options apply when style is "symbol"
@@ -92,6 +97,7 @@
# symbolnumbers { Base } # number face
# symbolstrings { Slope } # string face
# symbolcomments { Base } # comment face
+ # symbollinenumbers { Base } # line numbers face
# symbolidentifiersformat { @Body } # identifiers format
# symbolkeywordsformat { @Body } # keywords format
@@ -99,4 +105,5 @@
# symbolnumbersformat { @Body } # numbers format
# symbolstringsformat { @Body } # strings format
# symbolcommentsformat { @Body } # comments format
+ # symbollinenumbersformat { @Body } # line numbers format
}
diff --git a/include/cprintf b/include/cprintf
index 5a2ce50..0307c29 100644
--- a/include/cprintf
+++ b/include/cprintf
@@ -5,7 +5,7 @@
# #
# Version 3.0 #
# Jeffrey H. Kingston #
-# 5 April 2000 #
+# 10 April 2000 #
# #
# This package uses a filtered body parameter to convert program source #
# code into Lout source. The filter program is prg2lout, which is #
@@ -16,7 +16,8 @@
export @CP
def @CPSetup
- named pipe { } # pipe through this first
+ named pipe { } # pipe through this
+ named numbered { No } # numbered lines?
named style
named @OrIfPlain left x right y
{ @BackEnd @Case { PlainText @Yield y else @Yield x } }
@@ -35,6 +36,7 @@ def @CPSetup
named fixednumbers { Base } # number face
named fixedstrings { Base } # string face
named fixedcomments { Base } # comment face
+ named fixedlinenumbers { Base } # line numbers face
named fixedidentifiersformat right @Body { @Body } # identifier format
named fixedkeywordsformat right @Body { @Body } # keyword format
@@ -42,6 +44,7 @@ def @CPSetup
named fixednumbersformat right @Body { @Body } # number format
named fixedstringsformat right @Body { @Body } # string format
named fixedcommentsformat right @Body { @Body } # comment format
+ named fixedlinenumbersformat right @Body { @Body } # line nums format
# the following options apply when style is "varying"
named varyingfont { } # font family
@@ -56,6 +59,7 @@ def @CPSetup
named varyingnumbers { Base } # number face
named varyingstrings { Slope } # string face
named varyingcomments { Base } # comment face
+ named varyinglinenumbers { Base } # line numbers face
named varyingidentifiersformat right @Body { @Body } # identifier format
named varyingkeywordsformat right @Body { @Body } # keyword format
@@ -63,6 +67,7 @@ def @CPSetup
named varyingnumbersformat right @Body { @Body } # number format
named varyingstringsformat right @Body { @Body } # string format
named varyingcommentsformat right @Body { @Body } # comment format
+ named varyinglinenumbersformat right @Body { @Body } # line nums format
# the following options apply when style is "symbol"
named symbolfont { } # font family
@@ -77,6 +82,7 @@ def @CPSetup
named symbolnumbers { Base } # number face
named symbolstrings { Slope } # string face
named symbolcomments { Base } # comment face
+ named symbollinenumbers { Base } # line numbers face
named symbolidentifiersformat right @Body { @Body } # identifier format
named symbolkeywordsformat right @Body { @Body } # keyword format
@@ -84,16 +90,18 @@ def @CPSetup
named symbolnumbersformat right @Body { @Body } # number format
named symbolstringsformat right @Body { @Body } # string format
named symbolcommentsformat right @Body { @Body } # comment format
+ named symbollinenumbersformat right @Body { @Body } # line nums format
@Begin
export
- @PI @PK @PO @PN @PS @PC @PA @PM @PD
+ @PI @PK @PO @PN @PS @PC @PL @PA @PM @PD
@A "$>"
def @CP
named style { style } # style
+ named numbered { numbered } # want numbered lines?
named pipe { pipe } # pipe through this first
named font { dft } # font family
named size { dft } # font size
@@ -106,6 +114,7 @@ def @CPSetup
named numbers { dft } # number font
named strings { dft } # string font
named comments { dft } # comment font
+ named linenumbers { dft } # line numbers font
body @Body # filtered, see below
@Begin
@@ -159,14 +168,24 @@ def @CPSetup
def @Filter
{
+ def wantnumbered
+ {
+ numbered @Case {
+ { No no } @Yield ""
+ { Yes yes } @Yield "-L"
+ else @Yield { "-L"numbered }
+ }
+ }
+
pipe @Case {
"" @Yield {
- "prg2lout -r -lC" -i{@FilterIn} -o{@FilterOut} -e{@FilterErr}
- -t{@InitTab} -T{@InitTabWidth}
+ "prg2lout -r -lC" wantnumbered -i{@FilterIn}
+ -o{@FilterOut} -e{@FilterErr}
+ -t{@InitTab} -T{@InitTabWidth}
}
else @Yield {
"cat" @FilterIn "|" pipe "|"
- "prg2lout -r -lC" -o{@FilterOut}
+ "prg2lout -r -lC" wantnumbered -o{@FilterOut}
-e{@FilterErr} -t{@InitTab} -T{@InitTabWidth}
}
}
@@ -302,6 +321,23 @@ def @CPSetup
}
+ def @PL # for formatting line numbers
+ right x
+ {
+ style @Case {
+ fixed @Yield fixedlinenumbersformat {
+ { linenumbers @Else fixedlinenumbers } @Font x
+ }
+ varying @Yield varyinglinenumbersformat {
+ { linenumbers @Else varyinglinenumbers } @Font x
+ }
+ symbol @Yield symbollinenumbersformat {
+ { linenumbers @Else symbollinenumbers } @Font x
+ }
+ }
+ }
+
+
def @PA # for formatting asterisks
{
@PO @BackEnd @Case {
@@ -347,7 +383,7 @@ def @CPSetup
{ @InitFontFamily Base @InitSize } @Font
- { @InitLine lines } @Break @Body
+ { @InitLine lines nohyphen } @Break @Body
@End @CP
diff --git a/include/doc b/include/doc
index 85fd92c..126b8b9 100644
--- a/include/doc
+++ b/include/doc
@@ -14,7 +14,6 @@
# #
###############################################################################
- @SysInclude { fontdefs } # font definitions
@SysInclude { langdefs } # language definitions
@SysInclude { bsf } # BasicSetup package
@SysInclude { dsf } # DocumentSetup package
@@ -85,11 +84,16 @@
# @OddRightMargin { 2.5c @OrIfPlain 10s } # right margin of odd pages
# @EvenLeftMargin { 2.5c @OrIfPlain 10s } # left margin of even pages
# @EvenRightMargin { 2.5c @OrIfPlain 10s } # right margin of even pages
+ # @OddLeftBodyMargin { 0c } # extra margin for page body
+ # @OddRightBodyMargin { 0c } # extra margin for page body
+ # @EvenLeftBodyMargin { 0c } # extra margin for page body
+ # @EvenRightBodyMargin{ 0c } # extra margin for page body
# @PageBoxType { None } # None Box CurveBox ShadowBox
# @PageBoxMargin { 1.00c } # page box margin
# @PageBoxLineWidth { } # page box line thickness
# @PageBoxPaint { none } # page box paint
# @PageBoxShadow { 0.60c } # shadow margin if ShadowBox
+ # @PageEnclose { @Body } # enclose every page in this
# @ColumnNumber { 1 } # number of columns (1 to 10)
# @ColumnGap { 1.00c @OrIfPlain 6s } # column gap
@@ -362,4 +366,5 @@
# #
###############################################################################
+@SysDatabase @FontDef { fontdefs } # font definitions
@SysDatabase @RefStyle { refstyle } # reference printing styles
diff --git a/include/dsf b/include/dsf
index 56b2a51..b96c427 100644
--- a/include/dsf
+++ b/include/dsf
@@ -1,6 +1,6 @@
###############################################################################
# #
-# Lout @DocumentSetup package (Version 3.16) #
+# Lout @DocumentSetup package #
# #
# Version 1.0 by Jeffrey H. Kingston, 17 July 1991. #
# Version 2.0 by Jeffrey H. Kingston, 22 December 1992. #
@@ -14,6 +14,7 @@
# Version 3.13 by Jeffrey H. Kingston, October 1998. #
# Version 3.16 by Jeffrey H. Kingston, May 1999. #
# Version 3.17 by Jeffrey H. Kingston, September 1999. #
+# Version 3.21 by Jeffrey H. Kingston, May 2000. #
# #
# This Lout package contains the general definitions used by all types of #
# documents. It needs to be extended (see docf, reportf, bookf, slidesf, #
@@ -66,12 +67,17 @@ def @DocumentSetup
named @OddRightMargin { 2.50c @OrIfPlain 10s } # right margin of odd pages
named @EvenLeftMargin { 2.50c @OrIfPlain 10s } # left margin of even pages
named @EvenRightMargin { 2.50c @OrIfPlain 10s } # right margin of even pages
+ named @OddLeftBodyMargin { 0c } # extra margin for page body
+ named @OddRightBodyMargin { 0c } # extra margin for page body
+ named @EvenLeftBodyMargin { 0c } # extra margin for page body
+ named @EvenRightBodyMargin { 0c } # extra margin for page body
named @PageBoxType { None } # None Box CurveBox ShadowBox
named @PageBoxMargin { 1.00c } # page box margin
import @LengthUnits named @PageBoxLineWidth
{ } # page box line thickness
named @PageBoxPaint { none } # page box paint
named @PageBoxShadow { 0.60c } # shadow margin if ShadowBox
+ named @PageEnclose right @Body { @Body } # page enclose
named @ColumnNumber { 1 } # number of columns (1 to 10)
named @ColumnGap { 1.00c @OrIfPlain 6s } # column gap
named @FigureLocation { PageTop } # default figure location
@@ -768,8 +774,8 @@ def @DocumentSetup
{ @OrientedWidth @Orient } @Wide { @OrientedHeight @Orient } @High
{ //@TopMargin ||@OddLeftMargin
@PageBackground @Background
- 1 @MargSet
- @PageBox @HExpand { extra // @VExpand x }
+ # 1 @MargSet
+ @PageEnclose @PageBox @HExpand { extra // @VExpand x }
||@OddRightMargin //@FootMargin
}
}
@@ -785,8 +791,8 @@ def @DocumentSetup
{ @OrientedWidth @Orient } @Wide { @OrientedHeight @Orient } @High
{ //@TopMargin ||@EvenLeftMargin
@PageBackground @Background
- 0 @MargSet
- @PageBox @HExpand { extra // @VExpand x }
+ # 0 @MargSet
+ @PageEnclose @PageBox @HExpand { extra // @VExpand x }
||@EvenRightMargin //@FootMargin
}
}
@@ -1529,6 +1535,16 @@ def @DocumentSetup
}
}
+ def @OddBodyMargins right x
+ {
+ @OddLeftBodyMargin @Wide {} || 1 @MargSet x || @OddRightBodyMargin @Wide {}
+ }
+
+ def @EvenBodyMargins right x
+ {
+ @EvenLeftBodyMargin @Wide {} || 0 @MargSet x || @EvenRightBodyMargin @Wide {}
+ }
+
def @SimplePageList
named @ColumnNumber {}
named @PageHeaders {}
@@ -1542,11 +1558,14 @@ def @DocumentSetup
{
{@PageHeaders.{@SStart @PageNum}} @OddTopHeader
{ @PageNumbers @Num @PageNum }
- //@MidGap @AtTop
- //@MidGap @PageOddTopSection @Orient
- //@MidGap @ChooseColList @ColumnNumber
- // //1rt @OneRow
- { // @PageFootSection
+ //@MidGap
+ @OddBodyMargins {
+ @AtTop
+ //@MidGap @PageOddTopSection @Orient
+ //@MidGap @ChooseColList @ColumnNumber
+ }
+ //1rt @OneRow
+ { // @OddBodyMargins @PageFootSection
//@MidGap {@PageHeaders.{@SStart @PageNum}} @OddFootHeader
{ @PageNumbers @Num @PageNum }
}
@@ -1556,8 +1575,8 @@ def @DocumentSetup
{
{@PageHeaders.{@SStart @PageNum}} @OddTopHeader
{ @PageNumbers @Num @PageNum }
- //@MidGap @OddFullPageSection
- // //1rt @OneRow
+ //@MidGap @OddBodyMargins @OddFullPageSection
+ //1rt @OneRow
{ //@MidGap {@PageHeaders.{@SStart @PageNum}} @OddFootHeader
{ @PageNumbers @Num @PageNum }
}
@@ -1574,10 +1593,13 @@ def @DocumentSetup
{
@PageHeaders.NonStart @EvenTopHeader
{ @PageNumbers @Num @PageNum }
- //@MidGap @PageEvenTopSection @Orient
- //@MidGap @ChooseColList @ColumnNumber
- // //1rt @OneRow
- { // @PageFootSection
+ //@MidGap
+ @EvenBodyMargins {
+ @PageEvenTopSection @Orient
+ //@MidGap @ChooseColList @ColumnNumber
+ }
+ //1rt @OneRow
+ { // @EvenBodyMargins @PageFootSection
//@MidGap @PageHeaders.NonStart @EvenFootHeader
{ @PageNumbers @Num @PageNum }
}
@@ -1587,8 +1609,8 @@ def @DocumentSetup
{
@PageHeaders.NonStart @EvenTopHeader
{ @PageNumbers @Num @PageNum }
- //@MidGap @EvenFullPageSection
- // //1rt @OneRow
+ //@MidGap @EvenBodyMargins @EvenFullPageSection
+ //1rt @OneRow
{ //@MidGap @PageHeaders.NonStart @EvenFootHeader
{ @PageNumbers @Num @PageNum }
}
@@ -1613,7 +1635,7 @@ def @DocumentSetup
rawnum { @PageNum }
num { @PageNumbers @Num @PageNum }
// @FootNoteThrough @NoDo @BeginFootNoteCounter
- // { extra @Then @ZeroColList @ColumnNumber } @OddPage @Orient { @Orient }
+ // { extra @Then @OddBodyMargins @ZeroColList @ColumnNumber } @OddPage @Orient { @Orient }
{
@OrdinaryOddPage ||{@OrientedWidth @Orient} @FullPageOddPage
}
@@ -1635,15 +1657,18 @@ def @DocumentSetup
num { @IntroPageNumbers @Num @PageNum }
rawnum { @PageNum }
// @FootNoteThrough @NoDo @BeginFootNoteCounter
- // { extra @Then @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient }
+ // { extra @Then @OddBodyMargins @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient }
{
{@PageHeaders.{@SStart @PageNum}} @IntroOddTopHeader
{ @IntroPageNumbers @Num @PageNum }
- //@MidGap @AtTop
- //@MidGap @PageIntroOddTopSection @Orient
- //@MidGap @ChooseIntroColList @ColumnNumber
- // //1rt @OneRow
- { // @PageFootSection
+ //@MidGap
+ @OddBodyMargins {
+ @AtTop
+ //@MidGap @PageIntroOddTopSection @Orient
+ //@MidGap @ChooseIntroColList @ColumnNumber
+ }
+ //1rt @OneRow
+ { // @OddBodyMargins @PageFootSection
//@MidGap
{@PageHeaders.{@SStart @PageNum}} @IntroOddFootHeader
{ @IntroPageNumbers @Num @PageNum }
@@ -1657,10 +1682,13 @@ def @DocumentSetup
@Runner&&following @Open
{
@PageHeaders.NonStart @IntroEvenTopHeader { @IntroPageNumbers @Num @Next @PageNum }
- //@MidGap @PageIntroEvenTopSection @Orient
- //@MidGap @ChooseIntroColList @ColumnNumber
- // //1rt @OneRow
- { // @PageFootSection
+ //@MidGap
+ @EvenBodyMargins {
+ @PageIntroEvenTopSection @Orient
+ //@MidGap @ChooseIntroColList @ColumnNumber
+ }
+ //1rt @OneRow
+ { // @EvenBodyMargins @PageFootSection
//@MidGap @PageHeaders.NonStart @IntroEvenFootHeader
{ @IntroPageNumbers @Num @Next @PageNum }
}
@@ -1698,10 +1726,13 @@ def @DocumentSetup
@Runner&&following @Open
{
@PageHeaders.NonStart @IntroEvenTopHeader { @IntroPageNumbers @Num @PageNum }
- //@MidGap @PageIntroEvenTopSection @Orient
- //@MidGap @ChooseIntroColList @ColumnNumber
- // //1rt @OneRow
- { // @PageFootSection
+ //@MidGap
+ @EvenBodyMargins {
+ @PageIntroEvenTopSection @Orient
+ //@MidGap @ChooseIntroColList @ColumnNumber
+ }
+ //1rt @OneRow
+ { // @EvenBodyMargins @PageFootSection
//@MidGap @PageHeaders.NonStart @IntroEvenFootHeader
{ @IntroPageNumbers @Num @PageNum }
}
@@ -1716,15 +1747,18 @@ def @DocumentSetup
num { @IntroPageNumbers @Num @PageNum }
rawnum { @PageNum }
// @FootNoteThrough @NoDo @BeginFootNoteCounter
- // { extra @Then @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient }
+ // { extra @Then @OddBodyMargins @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient }
{
{@PageHeaders.{@SStart @PageNum}} @IntroOddTopHeader
{ @IntroPageNumbers @Num @PageNum }
- //@MidGap @AtTop
- //@MidGap @PageIntroOddTopSection @Orient
- //@MidGap @ChooseIntroColList @ColumnNumber
- // //1rt @OneRow
- { // @PageFootSection
+ //@MidGap
+ @OddBodyMargins {
+ @AtTop
+ //@MidGap @PageIntroOddTopSection @Orient
+ //@MidGap @ChooseIntroColList @ColumnNumber
+ }
+ //1rt @OneRow
+ { // @OddBodyMargins @PageFootSection
//@MidGap
{@PageHeaders.{@SStart @PageNum}} @IntroOddFootHeader
{ @IntroPageNumbers @Num @PageNum }
@@ -1767,11 +1801,14 @@ def @DocumentSetup
prefix { @Prefix }
owner { @Owner }
}
- //@MidGap @AtTop
- //@MidGap @PageOddTopSection @Orient
- //@MidGap @ChooseColList @ColumnNumber
- // //1rt @OneRow
- { // @PageFootSection
+ //@MidGap
+ @OddBodyMargins {
+ @AtTop
+ //@MidGap @PageOddTopSection @Orient
+ //@MidGap @ChooseColList @ColumnNumber
+ }
+ //1rt @OneRow
+ { // @OddBodyMargins @PageFootSection
//@MidGap @PageHeaders.@Start @RunningOddFootHeader
@MajorNum { @MajorNum } @MajorTitle { @MajorTitle }
@MinorNum { @MinorNum } @MinorTitle { @MinorTitle }
@@ -1807,9 +1844,12 @@ def @DocumentSetup
prefix { @Prefix }
owner { @Owner }
}
- //@MidGap @AtTop
- //@MidGap @OddFullPageSection
- // //1rt @OneRow
+ //@MidGap
+ @OddBodyMargins {
+ @AtTop
+ //@MidGap @OddFullPageSection
+ }
+ //1rt @OneRow
{
//@MidGap @PageHeaders.@Start @RunningOddFootHeader
@MajorNum { @MajorNum } @MajorTitle { @MajorTitle }
@@ -1852,10 +1892,13 @@ def @DocumentSetup
prefix { @Prefix }
owner { @Owner }
}
- //@MidGap @PageEvenTopSection @Orient
- //@MidGap @ChooseColList @ColumnNumber
- // //1rt @OneRow
- { // @PageFootSection
+ //@MidGap
+ @EvenBodyMargins {
+ @PageEvenTopSection @Orient
+ //@MidGap @ChooseColList @ColumnNumber
+ }
+ //1rt @OneRow
+ { // @EvenBodyMargins @PageFootSection
//@MidGap @PageHeaders.@Start @RunningEvenFootHeader
@MajorNum { @MajorNum } @MajorTitle { @MajorTitle }
@MinorNum { @MinorNum } @MinorTitle { @MinorTitle }
@@ -1891,8 +1934,9 @@ def @DocumentSetup
prefix { @Prefix }
owner { @Owner }
}
- //@MidGap @EvenFullPageSection
- // //1rt @OneRow
+ //@MidGap
+ @EvenBodyMargins @EvenFullPageSection
+ //1rt @OneRow
{
//@MidGap @PageHeaders.@Start @RunningEvenFootHeader
@MajorNum { @MajorNum } @MajorTitle { @MajorTitle }
@@ -1921,7 +1965,7 @@ def @DocumentSetup
}
@FootNoteThrough @NoDo @BeginFootNoteCounter
- // { extra @Then @ZeroColList @ColumnNumber } @OddPage @Orient { @Orient }
+ // { extra @Then @OddBodyMargins @ZeroColList @ColumnNumber } @OddPage @Orient { @Orient }
{
@OrdinaryOddPage ||{@OrientedWidth @Orient} @FullPageOddPage
}
@@ -1940,7 +1984,7 @@ def @DocumentSetup
right @PageNum
{
@FootNoteThrough @NoDo @BeginFootNoteCounter
- // { extra @Then @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient }
+ // { extra @Then @OddBodyMargins @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient }
@Runner&&following @Open
{
@PageMarker
@@ -1960,11 +2004,14 @@ def @DocumentSetup
prefix { @Prefix }
owner { @Owner }
}
- //@MidGap @AtTop
- //@MidGap @PageIntroOddTopSection @Orient
- //@MidGap @IntroColList @ColumnNumber
- // //1rt @OneRow
- { // @PageFootSection
+ //@MidGap
+ @OddBodyMargins {
+ @AtTop
+ //@MidGap @PageIntroOddTopSection @Orient
+ //@MidGap @IntroColList @ColumnNumber
+ }
+ //1rt @OneRow
+ { // @OddBodyMargins @PageFootSection
//@MidGap @PageHeaders.@Start @RunningIntroOddFootHeader
@MajorNum { @MajorNum } @MajorTitle { @MajorTitle }
@MinorNum { @MinorNum } @MinorTitle { @MinorTitle }
@@ -1998,10 +2045,13 @@ def @DocumentSetup
prefix { @Prefix }
owner { @Owner }
}
- //@MidGap @PageIntroEvenTopSection @Orient
- //@MidGap @ChooseIntroColList @ColumnNumber
- // //1rt @OneRow
- { // @PageFootSection
+ //@MidGap
+ @EvenBodyMargins {
+ @PageIntroEvenTopSection @Orient
+ //@MidGap @ChooseIntroColList @ColumnNumber
+ }
+ //1rt @OneRow
+ { // @EvenBodyMargins @PageFootSection
//@MidGap @PageHeaders.@Start @RunningIntroEvenFootHeader
@MajorNum { @MajorNum } @MajorTitle { @MajorTitle }
@MinorNum { @MinorNum } @MinorTitle { @MinorTitle }
diff --git a/include/eiffel b/include/eiffel
index e31a170..3708d86 100644
--- a/include/eiffel
+++ b/include/eiffel
@@ -32,6 +32,7 @@
@Use { @EiffelSetup
# pipe { } # pipe source through this
+ # numbered { No } # No, Yes, or a line number
# style { varying @OrIfPlain fixed } # fixed, varying, or symbol
# the following options apply when style is "fixed"
@@ -48,6 +49,7 @@
# fixednumbers { Base } # number face
# fixedstrings { Base } # string face
# fixedcomments { Base } # comment face
+ # fixedlinenumbers { Base } # line numbers face
# fixedidentifiersformat { @Body } # identifiers format
# fixedkeywordsformat { @Body } # keywords format
@@ -55,6 +57,7 @@
# fixednumbersformat { @Body } # numbers format
# fixedstringsformat { @Body } # strings format
# fixedcommentsformat { @Body } # comments format
+ # fixedlinenumbersformat { @Body } # line numbers format
# the following options apply when style is "varying"
@@ -70,6 +73,7 @@
# varyingnumbers { Base } # number face
# varyingstrings { Slope } # string face
# varyingcomments { Base } # comment face
+ # varyinglinenumbers { Base } # line numbers face
# varyingidentifiersformat { @Body } # identifiers format
# varyingkeywordsformat { @Body } # keywords format
@@ -77,6 +81,7 @@
# varyingnumbersformat { @Body } # numbers format
# varyingstringsformat { @Body } # strings format
# varyingcommentsformat { @Body } # comments format
+ # varyinglinenumbersformat { @Body } # line numbers format
# the following options apply when style is "symbol"
@@ -92,6 +97,7 @@
# symbolnumbers { Base } # number face
# symbolstrings { Slope } # string face
# symbolcomments { Base } # comment face
+ # symbollinenumbers { Base } # line numbers face
# symbolidentifiersformat { @Body } # identifiers format
# symbolkeywordsformat { @Body } # keywords format
@@ -99,4 +105,5 @@
# symbolnumbersformat { @Body } # numbers format
# symbolstringsformat { @Body } # strings format
# symbolcommentsformat { @Body } # comments format
+ # symbollinenumbersformat { @Body } # line numbers format
}
diff --git a/include/eiffelf b/include/eiffelf
index 2beaa6e..573e8a9 100644
--- a/include/eiffelf
+++ b/include/eiffelf
@@ -17,6 +17,7 @@
export @Eiffel
def @EiffelSetup
named pipe { } # pipe through this first
+ named numbered { No } # want lines numbered?
named style
named @OrIfPlain left x right y
{ @BackEnd @Case { PlainText @Yield y else @Yield x } }
@@ -35,6 +36,7 @@ def @EiffelSetup
named fixednumbers { Base } # number face
named fixedstrings { Base } # string face
named fixedcomments { Base } # comment face
+ named fixedlinenumbers { Base } # line numbers face
named fixedidentifiersformat right @Body { @Body } # identifier format
named fixedkeywordsformat right @Body { @Body } # keyword format
@@ -42,6 +44,7 @@ def @EiffelSetup
named fixednumbersformat right @Body { @Body } # number format
named fixedstringsformat right @Body { @Body } # string format
named fixedcommentsformat right @Body { @Body } # comment format
+ named fixedlinenumbersformat right @Body { @Body } # line nums format
# the following options apply when style is "varying"
named varyingfont { } # font family
@@ -56,6 +59,7 @@ def @EiffelSetup
named varyingnumbers { Base } # number face
named varyingstrings { Slope } # string face
named varyingcomments { Base } # comment face
+ named varyinglinenumbers { Base } # line numbers face
named varyingidentifiersformat right @Body { @Body } # identifier format
named varyingkeywordsformat right @Body { @Body } # keyword format
@@ -63,6 +67,7 @@ def @EiffelSetup
named varyingnumbersformat right @Body { @Body } # number format
named varyingstringsformat right @Body { @Body } # string format
named varyingcommentsformat right @Body { @Body } # comment format
+ named varyinglinenumbersformat right @Body { @Body } # line nums format
# the following options apply when style is "symbol"
named symbolfont { } # font family
@@ -77,6 +82,7 @@ def @EiffelSetup
named symbolnumbers { Base } # number face
named symbolstrings { Slope } # string face
named symbolcomments { Base } # comment face
+ named symbollinenumbers { Base } # line numbers face
named symbolidentifiersformat right @Body { @Body } # identifier format
named symbolkeywordsformat right @Body { @Body } # keyword format
@@ -84,16 +90,18 @@ def @EiffelSetup
named symbolnumbersformat right @Body { @Body } # number format
named symbolstringsformat right @Body { @Body } # string format
named symbolcommentsformat right @Body { @Body } # comment format
+ named symbollinenumbersformat right @Body { @Body } # line nums format
@Begin
export
- @PI @PK @PO @PN @PS @PC @PA @PM @PD
+ @PI @PK @PO @PN @PS @PC @PL @PA @PM @PD
@A "$>"
def @Eiffel
named style { style } # style
+ named numbered { numbered } # want numbered lines?
named pipe { pipe } # pipe through this first
named font { dft } # font family
named size { dft } # font size
@@ -106,6 +114,7 @@ def @EiffelSetup
named numbers { dft } # number font
named strings { dft } # string font
named comments { dft } # comment font
+ named linenumbers { dft } # line numbers font
body @Body # filtered, see below
@Begin
@@ -159,14 +168,24 @@ def @EiffelSetup
def @Filter
{
+ def wantnumbered
+ {
+ numbered @Case {
+ { No no } @Yield ""
+ { Yes yes } @Yield "-L"
+ else @Yield { "-L"numbered }
+ }
+ }
+
pipe @Case {
"" @Yield {
- "prg2lout -r -lEiffel" -i{@FilterIn} -o{@FilterOut} -e{@FilterErr}
- -t{@InitTab} -T{@InitTabWidth}
+ "prg2lout -r -lEiffel" wantnumbered -i{@FilterIn}
+ -o{@FilterOut} -e{@FilterErr}
+ -t{@InitTab} -T{@InitTabWidth}
}
else @Yield {
"cat" @FilterIn "|" pipe "|"
- "prg2lout -r -lEiffel" -o{@FilterOut}
+ "prg2lout -r -lEiffel" wantnumbered -o{@FilterOut}
-e{@FilterErr} -t{@InitTab} -T{@InitTabWidth}
}
}
@@ -302,6 +321,23 @@ def @EiffelSetup
}
+ def @PL # for formatting line numbers
+ right x
+ {
+ style @Case {
+ fixed @Yield fixedlinenumbersformat {
+ { linenumbers @Else fixedlinenumbers } @Font x
+ }
+ varying @Yield varyinglinenumbersformat {
+ { linenumbers @Else varyinglinenumbers } @Font x
+ }
+ symbol @Yield symbollinenumbersformat {
+ { linenumbers @Else symbollinenumbers } @Font x
+ }
+ }
+ }
+
+
def @PA # for formatting asterisks
{
@PO @BackEnd @Case {
@@ -347,7 +383,7 @@ def @EiffelSetup
{ @InitFontFamily Base @InitSize } @Font
- { @InitLine lines } @Break @Body
+ { @InitLine lines nohyphen } @Break @Body
@End @Eiffel
diff --git a/include/init b/include/init
index 2718c22..eace623 100644
--- a/include/init
+++ b/include/init
@@ -11,7 +11,6 @@
###############################################################################
-@SysInclude { fontdefs } # font definitions
@SysInclude { langdefs } # language definitions
@SysInclude { bsf } # BasicSetup package
@SysInclude { dsf } # DocumentSetup package
@@ -32,3 +31,5 @@ def @LaTeX
@SysDatabase @Reference { loutrefs } # references about Lout
@SysDatabase @Reference { oldrefs } # old references about Lout
@SysDatabase @RefStyle { refstyle } # reference printing styles
+@SysDatabase @FontDef { fontdefs } # font definitions
+@SysDatabase @FontDef { latin2 } # more font definitions
diff --git a/include/latin2 b/include/latin2
index 35ddf2c..29883f2 100644
--- a/include/latin2
+++ b/include/latin2
@@ -6,4 +6,4 @@
# #
#################################################################
-@SysInclude { latin2.fd }
+@SysDatabase @FontDef { latin2 }
diff --git a/include/fontdefs b/include/old.fd
index 0001b97..0001b97 100644
--- a/include/fontdefs
+++ b/include/old.fd
diff --git a/include/perl b/include/perl
index 86561a9..7b723b9 100644
--- a/include/perl
+++ b/include/perl
@@ -4,13 +4,31 @@
# #
# Version 3.0 #
# Jeffrey H. Kingston #
-# 5 April 2000 #
+# 10 April 2000 #
# #
###############################################################################
###############################################################################
# #
+# @SysInclude { pod } #
+# #
+# This line causes Lout to read the default setup file for the Pod #
+# documentation language that goes with Perl. If you want your own #
+# Pod setup file, it is probably best to delete this line and place #
+# #
+# @Include { mypod } #
+# @Include { myperl } #
+# #
+# at the start of your document in the usual way. #
+# #
+###############################################################################
+
+@SysInclude { pod }
+
+
+###############################################################################
+# #
# @SysInclude line #
# #
# This line causes Lout to read the definitions for this programming #
@@ -32,7 +50,8 @@
@Use { @PerlSetup
# pipe { } # pipe source through this
- # style { fixed } # fixed, varying, or symbol
+ # numbered { No } # No, Yes, or a line number
+ # style { fixed } # fixed, varying, or symbol
# the following options apply when style is "fixed"
@@ -48,6 +67,7 @@
# fixednumbers { Base } # number face
# fixedstrings { Base } # string face
# fixedcomments { Base } # comment face
+ # fixedlinenumbers { Base } # line numbers face
# fixedidentifiersformat { @Body } # identifiers format
# fixedkeywordsformat { @Body } # keywords format
@@ -55,6 +75,7 @@
# fixednumbersformat { @Body } # numbers format
# fixedstringsformat { @Body } # strings format
# fixedcommentsformat { @Body } # comments format
+ # fixedlinenumbersformat { @Body } # line numbers format
# the following options apply when style is "varying"
@@ -70,6 +91,7 @@
# varyingnumbers { Base } # number face
# varyingstrings { Slope } # string face
# varyingcomments { Base } # comment face
+ # varyinglinenumbers { Base } # line numbers face
# varyingidentifiersformat { @Body } # identifiers format
# varyingkeywordsformat { @Body } # keywords format
@@ -77,6 +99,7 @@
# varyingnumbersformat { @Body } # numbers format
# varyingstringsformat { @Body } # strings format
# varyingcommentsformat { @Body } # comments format
+ # varyinglinenumbersformat { @Body } # line numbers format
# the following options apply when style is "symbol"
@@ -92,6 +115,7 @@
# symbolnumbers { Base } # number face
# symbolstrings { Slope } # string face
# symbolcomments { Base } # comment face
+ # symbollinenumbers { Base } # line numbers face
# symbolidentifiersformat { @Body } # identifiers format
# symbolkeywordsformat { @Body } # keywords format
@@ -99,4 +123,5 @@
# symbolnumbersformat { @Body } # numbers format
# symbolstringsformat { @Body } # strings format
# symbolcommentsformat { @Body } # comments format
+ # symbollinenumbersformat { @Body } # line numbers format
}
diff --git a/include/perlf b/include/perlf
index 20604d3..b82f3a8 100644
--- a/include/perlf
+++ b/include/perlf
@@ -5,7 +5,7 @@
# #
# Version 3.0 #
# Jeffrey H. Kingston #
-# 5 April 2000 #
+# 10 April 2000 #
# #
# This package uses a filtered body parameter to convert program source #
# code into Lout source. The filter program is prg2lout, which is #
@@ -16,7 +16,8 @@
export @Perl
def @PerlSetup
- named pipe { } # pipe through this first
+ named pipe { } # pipe through this
+ named numbered { No } # numbered lines?
named style
named @OrIfPlain left x right y
{ @BackEnd @Case { PlainText @Yield y else @Yield x } }
@@ -35,6 +36,7 @@ def @PerlSetup
named fixednumbers { Base } # number face
named fixedstrings { Base } # string face
named fixedcomments { Base } # comment face
+ named fixedlinenumbers { Base } # line numbers face
named fixedidentifiersformat right @Body { @Body } # identifier format
named fixedkeywordsformat right @Body { @Body } # keyword format
@@ -42,6 +44,7 @@ def @PerlSetup
named fixednumbersformat right @Body { @Body } # number format
named fixedstringsformat right @Body { @Body } # string format
named fixedcommentsformat right @Body { @Body } # comment format
+ named fixedlinenumbersformat right @Body { @Body } # line nums format
# the following options apply when style is "varying"
named varyingfont { } # font family
@@ -56,6 +59,7 @@ def @PerlSetup
named varyingnumbers { Base } # number face
named varyingstrings { Slope } # string face
named varyingcomments { Base } # comment face
+ named varyinglinenumbers { Base } # line numbers face
named varyingidentifiersformat right @Body { @Body } # identifier format
named varyingkeywordsformat right @Body { @Body } # keyword format
@@ -63,6 +67,7 @@ def @PerlSetup
named varyingnumbersformat right @Body { @Body } # number format
named varyingstringsformat right @Body { @Body } # string format
named varyingcommentsformat right @Body { @Body } # comment format
+ named varyinglinenumbersformat right @Body { @Body } # line nums format
# the following options apply when style is "symbol"
named symbolfont { } # font family
@@ -77,6 +82,7 @@ def @PerlSetup
named symbolnumbers { Base } # number face
named symbolstrings { Slope } # string face
named symbolcomments { Base } # comment face
+ named symbollinenumbers { Base } # line numbers face
named symbolidentifiersformat right @Body { @Body } # identifier format
named symbolkeywordsformat right @Body { @Body } # keyword format
@@ -84,16 +90,18 @@ def @PerlSetup
named symbolnumbersformat right @Body { @Body } # number format
named symbolstringsformat right @Body { @Body } # string format
named symbolcommentsformat right @Body { @Body } # comment format
+ named symbollinenumbersformat right @Body { @Body } # line nums format
@Begin
export
- @PI @PK @PO @PN @PS @PC @PA @PM @PD
+ @PI @PK @PO @PN @PS @PC @PL @PA @PM @PD
@A "$>"
def @Perl
named style { style } # style
+ named numbered { numbered } # want numbered lines?
named pipe { pipe } # pipe through this first
named font { dft } # font family
named size { dft } # font size
@@ -106,6 +114,7 @@ def @PerlSetup
named numbers { dft } # number font
named strings { dft } # string font
named comments { dft } # comment font
+ named linenumbers { dft } # line numbers font
body @Body # filtered, see below
@Begin
@@ -159,14 +168,24 @@ def @PerlSetup
def @Filter
{
+ def wantnumbered
+ {
+ numbered @Case {
+ { No no } @Yield ""
+ { Yes yes } @Yield "-L"
+ else @Yield { "-L"numbered }
+ }
+ }
+
pipe @Case {
"" @Yield {
- "prg2lout -r -lPerl" -i{@FilterIn} -o{@FilterOut} -e{@FilterErr}
- -t{@InitTab} -T{@InitTabWidth}
+ "prg2lout -r -lPerl" wantnumbered -i{@FilterIn}
+ -o{@FilterOut} -e{@FilterErr}
+ -t{@InitTab} -T{@InitTabWidth}
}
else @Yield {
"cat" @FilterIn "|" pipe "|"
- "prg2lout -r -lPerl" -o{@FilterOut}
+ "prg2lout -r -lPerl" wantnumbered -o{@FilterOut}
-e{@FilterErr} -t{@InitTab} -T{@InitTabWidth}
}
}
@@ -302,6 +321,23 @@ def @PerlSetup
}
+ def @PL # for formatting line numbers
+ right x
+ {
+ style @Case {
+ fixed @Yield fixedlinenumbersformat {
+ { linenumbers @Else fixedlinenumbers } @Font x
+ }
+ varying @Yield varyinglinenumbersformat {
+ { linenumbers @Else varyinglinenumbers } @Font x
+ }
+ symbol @Yield symbollinenumbersformat {
+ { linenumbers @Else symbollinenumbers } @Font x
+ }
+ }
+ }
+
+
def @PA # for formatting asterisks
{
@PO @BackEnd @Case {
@@ -347,7 +383,7 @@ def @PerlSetup
{ @InitFontFamily Base @InitSize } @Font
- { @InitLine lines } @Break @Body
+ { @InitLine lines nohyphen } @Break @Body
@End @Perl
diff --git a/include/picture b/include/picture
index abe6d43..f797c49 100644
--- a/include/picture
+++ b/include/picture
@@ -14,7 +14,6 @@
# #
###############################################################################
- @SysInclude { fontdefs } # font definitions
@SysInclude { langdefs } # language definitions
@SysInclude { bsf } # BasicSetup package
@SysInclude { dsf } # DocumentSetup package
@@ -85,11 +84,16 @@
# @OddRightMargin { 2.5c @OrIfPlain 10s } # right margin of odd pages
# @EvenLeftMargin { 2.5c @OrIfPlain 10s } # left margin of even pages
# @EvenRightMargin { 2.5c @OrIfPlain 10s } # right margin of even pages
+ # @OddLeftBodyMargin { 0c } # extra margin for page body
+ # @OddRightBodyMargin { 0c } # extra margin for page body
+ # @EvenLeftBodyMargin { 0c } # extra margin for page body
+ # @EvenRightBodyMargin{ 0c } # extra margin for page body
# @PageBoxType { None } # None Box CurveBox ShadowBox
# @PageBoxMargin { 1.00c } # page box margin
# @PageBoxLineWidth { } # page box line thickness
# @PageBoxPaint { none } # page box paint
# @PageBoxShadow { 0.60c } # shadow margin if ShadowBox
+ # @PageEnclose { @Body } # enclose every page in this
# @ColumnNumber { 1 } # number of columns (1 to 10)
# @ColumnGap { 1.00c @OrIfPlain 6s } # column gap
# @FigureLocation { PageTop } # default figure location
@@ -263,4 +267,5 @@
# #
###############################################################################
+@SysDatabase @FontDef { fontdefs } # font definitions
@SysDatabase @RefStyle { refstyle } # reference printing styles
diff --git a/include/pod b/include/pod
index e827a24..42165f0 100644
--- a/include/pod
+++ b/include/pod
@@ -37,6 +37,12 @@
# There is no paragraph breaking option for verbatim since line breaks #
# are honoured. #
# #
+# As you can see below, we have been obliged to give "Times Base" as #
+# the default text font for varying style, rather than the usual empty, #
+# to get a varying-width font when Pod is embedded in fixed-width Perl. If #
+# you are using a different text font family in your document you will have #
+# to change this option if you want your varying-width Pod in that family. #
+# #
###############################################################################
@Use { @PodSetup
@@ -50,6 +56,8 @@
# fixedverbatimfont { Courier Base } # verbatim font
# fixedtabin { 8 } # tab interval
# fixedtabout { 8s } # tab width
+ # fixedlinenumbersfont { } # line numbers font
+ # fixedlinenumbersformat { @Body } # line numbers format
# fixedparagap { 1.0v } # gap between paras
# fixedlistgap { 1.0v } # gap within lists
@@ -85,11 +93,13 @@
# the following options apply when style is "varying"
- # varyingtextfont { } # text font
+ # varyingtextfont { Times Base } # text font
# varyingtextbreak { adjust 1.0vx hyphen } # text para breaking
# varyingverbatimfont { Courier Base -1p } # verbatim font
# varyingtabin { 8 } # tab interval
# varyingtabout { 8s } # tab width
+ # varyinglinenumbersfont { } # line numbers font
+ # varyinglinenumbersformat { @Body } # line numbers format
# varyingparagap { 1.0v } # gap between paras
# varyinglistgap { 1.0v } # gap within lists
@@ -124,11 +134,13 @@
# the following options apply when style is "symbol"
- # symboltextfont { } # text font
+ # symboltextfont { Times Base } # text font
# symboltextbreak { adjust 1.0vx hyphen } # text para breaking
# symbolverbatimfont { Courier Base -1p } # verbatim font
# symboltabin { 8 } # tab interval
# symboltabout { 8s } # tab width
+ # symbollinenumbersfont { } # line numbers font
+ # symbollinenumbersformat { @Body } # line numbers format
# symbolparagap { 1.0v } # gap between paras
# symbollistgap { 1.0v } # gap within lists
diff --git a/include/podf b/include/podf
index 108f455..1a64654 100644
--- a/include/podf
+++ b/include/podf
@@ -29,6 +29,8 @@ def @PodSetup
named fixedverbatimfont { Courier Base } # verbatim font
named fixedtabin { 8 } # tab interval
named fixedtabout { 8s } # tab width
+ named fixedlinenumbersfont { } # line numbers font
+ named fixedlinenumbersformat right @Body{ @Body } # line numbers format
named fixedparagap { 1.0v } # gap between paras
named fixedlistgap { 1.0v } # gap within lists
@@ -40,7 +42,7 @@ def @PodSetup
named fixedaheadfont { Bold +4p } # =head1 font
named fixedaheadbreak { lines 1.1vx } # =head1 para break
- named fixedaheadformat right @Body { @DP @Body } # =head1 format
+ named fixedaheadformat right @Body { //1v @Body } # =head1 format
named fixedbheadfont { Bold +2p } # =head2 font
named fixedbheadbreak { lines 1.1vx } # =head2 para break
named fixedbheadformat right @Body { @Body } # =head2 format
@@ -64,11 +66,13 @@ def @PodSetup
# the following options apply when style is "varying"
- named varyingtextfont { } # text font
+ named varyingtextfont { Times Base } # text font
named varyingtextbreak { adjust 1.0vx hyphen } # text para breaking
named varyingverbatimfont { Courier Base -1p } # verbatim font
named varyingtabin { 8 } # tab interval
named varyingtabout { 8s } # tab width
+ named varyinglinenumbersfont { } # line numbers font
+ named varyinglinenumbersformat right @Body{ @Body } # line numbers format
named varyingparagap { 1.0v } # gap between paras
named varyinglistgap { 1.0v } # gap within lists
@@ -80,7 +84,7 @@ def @PodSetup
named varyingaheadfont { Bold +4p } # =head1 font
named varyingaheadbreak { lines 1.1vx } # =head1 para break
- named varyingaheadformat right @Body{ @DP @Body } # =head1 format
+ named varyingaheadformat right @Body{ //1v @Body } # =head1 format
named varyingbheadfont { Bold +2p } # =head2 font
named varyingbheadbreak { lines 1.1vx } # =head2 para break
named varyingbheadformat right @Body{ @Body } # =head2 format
@@ -103,11 +107,13 @@ def @PodSetup
# the following options apply when style is "symbol"
- named symboltextfont { } # text font
+ named symboltextfont { Times Base } # text font
named symboltextbreak { adjust 1.0vx hyphen } # text para breaking
named symbolverbatimfont { Courier Base -1p } # verbatim font
named symboltabin { 8 } # tab interval
named symboltabout { 8s } # tab width
+ named symbollinenumbersfont { } # line numbers font
+ named symbollinenumbersformat right @Body { @Body } # line numbers format
named symbolparagap { 1.0v } # gap between paras
named symbollistgap { 1.0v } # gap within lists
@@ -119,7 +125,7 @@ def @PodSetup
named symbolaheadfont { Bold +4p } # =head1 font
named symbolaheadbreak { lines 1.1vx } # =head1 para break
- named symbolaheadformat right @Body { @DP @Body } # =head1 format
+ named symbolaheadformat right @Body { //1v @Body } # =head1 format
named symbolbheadfont { Bold +2p } # =head2 font
named symbolbheadbreak { lines 1.1vx } # =head2 para break
named symbolbheadformat right @Body { @Body } # =head2 format
@@ -146,7 +152,7 @@ def @PodSetup
export
@PV @PPG @PLG @PLI @PLRI @PLLW @PLL @PHA @PHB @PHC
- @PFI @PFB @PFC @PFF @PFL @PFX @A "$>"
+ @PFI @PFB @PFC @PFF @PFL @PFX @A "$>" @PL
def @Pod
named style { style } # style
@@ -156,6 +162,7 @@ def @PodSetup
named verbatimfont { dft } # verbatim font
named tabin { dft } # tab interval
named tabout { dft } # tab width
+ named linenumbersfont { dft } # line numbers font
named paragap { dft } # gap between paras
named listgap { dft } # gap within lists
named listindent { dft } # list label indent
@@ -347,10 +354,18 @@ def @PodSetup
def @PLL right x
{
+ def bullet
+ {
+ @BackEnd @Case {
+ PlainText @Yield "*"
+ else @Yield @Char "bullet"
+ }
+ }
+
def value
{
x @Case {
- "*" @Yield @Bullet
+ "*" @Yield bullet
else @Yield x
}
}
@@ -506,6 +521,28 @@ def @PodSetup
macro "$>" { {} & }
+ def pl # for formatting line numbers
+ right x
+ {
+ def strut { @VContract { 0.5v @High ^/ / 0.5v @High } }
+
+ strut & style @Case {
+ fixed @Yield fixedlinenumbersformat {
+ { linenumbersfont @Else fixedlinenumbersfont } @Font x
+ }
+ varying @Yield varyinglinenumbersformat {
+ { linenumbersfont @Else varyinglinenumbersfont } @Font x
+ }
+ symbol @Yield symbollinenumbersformat {
+ { linenumbersfont @Else symbollinenumbersfont } @Font x
+ }
+ }
+ }
+
+
+ macro @PL { // pl }
+
+
@InitFont @Font @InitBreak @Break @Body
@End @Pod
diff --git a/include/report b/include/report
index 8c80944..50f73c5 100644
--- a/include/report
+++ b/include/report
@@ -19,7 +19,6 @@
# #
###############################################################################
- @SysInclude { fontdefs } # font definitions
@SysInclude { langdefs } # language definitions
@SysInclude { bsf } # BasicSetup package
@SysInclude { dsf } # DocumentSetup package
@@ -90,11 +89,16 @@
# @OddRightMargin { 2.5c @OrIfPlain 10s } # right margin of odd pages
# @EvenLeftMargin { 2.5c @OrIfPlain 10s } # left margin of even pages
# @EvenRightMargin { 2.5c @OrIfPlain 10s } # right margin of even pages
+ # @OddLeftBodyMargin { 0c } # extra margin for page body
+ # @OddRightBodyMargin { 0c } # extra margin for page body
+ # @EvenLeftBodyMargin { 0c } # extra margin for page body
+ # @EvenRightBodyMargin{ 0c } # extra margin for page body
# @PageBoxType { None } # None Box CurveBox ShadowBox
# @PageBoxMargin { 1.00c } # page box margin
# @PageBoxLineWidth { } # page box line thickness
# @PageBoxPaint { none } # page box paint
# @PageBoxShadow { 0.60c } # shadow margin if ShadowBox
+ # @PageEnclose { @Body } # enclose every page in this
# @ColumnNumber { 1 } # number of columns (1 to 10)
# @ColumnGap { 1.00c @OrIfPlain 6s } # column gap
# @FigureLocation { PageTop } # default figure location
@@ -285,7 +289,7 @@
# @FirstSubSubAppendixNumber { 1 } # first sub-sub. num (Arabic)
# @AbstractHeadingFont { Bold } # abstract head font
# @AbstractHeadingBreak { ragged 1.2fx nohyphen } # abstract head break
- # @AbstractHeadingFormat { title } # abstract head fmt
+ # @AbstractHeadingFormat { @Centre title } # abstract head fmt
# @ContentsHeadingFont { Bold } # contents head font
# @ContentsHeadingBreak { ragged 1.2fx nohyphen } # contents head break
# @ContentsHeadingFormat { title } # contents head fmt
@@ -382,4 +386,5 @@
# #
###############################################################################
+@SysDatabase @FontDef { fontdefs } # font definitions
@SysDatabase @RefStyle { refstyle } # reference printing styles
diff --git a/include/reportf b/include/reportf
index 06d45af..379b997 100644
--- a/include/reportf
+++ b/include/reportf
@@ -43,7 +43,7 @@ def @ReportSetup
named @AbstractHeadingFont { Bold }
named @AbstractHeadingBreak { ragged 1.2fx nohyphen }
named @AbstractHeadingFormat
- right title { title }
+ right title { @Centre title }
named @ContentsHeadingFont { Bold }
named @ContentsHeadingBreak { ragged 1.2fx nohyphen }
diff --git a/include/slides b/include/slides
index 60088dd..60d5a63 100644
--- a/include/slides
+++ b/include/slides
@@ -14,7 +14,6 @@
# #
###############################################################################
- @SysInclude { fontdefs } # font definitions
@SysInclude { langdefs } # language definitions
@SysInclude { bsf } # BasicSetup package
@SysInclude { dsf } # DocumentSetup package
@@ -88,11 +87,16 @@
# @OddRightMargin { 2.5c @OrIfPlain 10s } # right margin of odd pages
# @EvenLeftMargin { 2.5c @OrIfPlain 10s } # left margin of even pages
# @EvenRightMargin { 2.5c @OrIfPlain 10s } # right margin of even pages
+ # @OddLeftBodyMargin { 0c } # extra margin for page body
+ # @OddRightBodyMargin { 0c } # extra margin for page body
+ # @EvenLeftBodyMargin { 0c } # extra margin for page body
+ # @EvenRightBodyMargin{ 0c } # extra margin for page body
# @PageBoxType { None } # None Box CurveBox ShadowBox
# @PageBoxMargin { 1.00c } # page box margin
# @PageBoxLineWidth { } # page box line thickness
# @PageBoxPaint { none } # page box paint
# @PageBoxShadow { 0.60c } # shadow margin if ShadowBox
+ # @PageEnclose { @Body } # enclose every page in this
# @ColumnNumber { 1 } # number of columns (1 to 10)
# @ColumnGap { 1.00c @OrIfPlain 6s } # column gap
# @FigureLocation { PageTop } # default figure location
@@ -308,4 +312,5 @@
# #
###############################################################################
+@SysDatabase @FontDef { fontdefs } # font definitions
@SysDatabase @RefStyle { refstyle } # reference printing styles
diff --git a/include/tblf b/include/tblf
index d3929cf..9770d63 100644
--- a/include/tblf
+++ b/include/tblf
@@ -187,6 +187,16 @@ def @TblSetup
@HeaderRowg
@HeaderRowh
+ @HeaderFirstRow
+ @HeaderFirstRowa
+ @HeaderFirstRowb
+ @HeaderFirstRowc
+ @HeaderFirstRowd
+ @HeaderFirstRowe
+ @HeaderFirstRowf
+ @HeaderFirstRowg
+ @HeaderFirstRowh
+
@EndHeaderRow
@NP
@@ -3145,6 +3155,16 @@ def @TblSetup
macro @HeaderRowg { / @BeginHeaderComponent @DoRowg }
macro @HeaderRowh { / @BeginHeaderComponent @DoRowh }
+ macro @HeaderFirstRow { @BeginHeaderComponent @DoRow }
+ macro @HeaderFirstRowa { @BeginHeaderComponent @DoRowa }
+ macro @HeaderFirstRowb { @BeginHeaderComponent @DoRowb }
+ macro @HeaderFirstRowc { @BeginHeaderComponent @DoRowc }
+ macro @HeaderFirstRowd { @BeginHeaderComponent @DoRowd }
+ macro @HeaderFirstRowe { @BeginHeaderComponent @DoRowe }
+ macro @HeaderFirstRowf { @BeginHeaderComponent @DoRowf }
+ macro @HeaderFirstRowg { @BeginHeaderComponent @DoRowg }
+ macro @HeaderFirstRowh { @BeginHeaderComponent @DoRowh }
+
macro @EndHeaderRow { / @EndHeaderComponent }
macro @NP { /"1.1b" }
diff --git a/include/ts b/include/ts
index d78ed14..5ac1bd7 100644
--- a/include/ts
+++ b/include/ts
@@ -20,7 +20,6 @@
# #
###############################################################################
-@SysInclude { fontdefs }
@SysInclude { langdefs }
export @I @B @Heading @PP @LP @DP @NP
@@ -103,3 +102,5 @@ def @ToySetup
def @Document { @PageList 1 }
@End @ToySetup
+
+@SysDatabase @FontDef { fontdefs } # font definitions