lout-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Jeff's own letter definition


From: Jeff Kingston
Subject: Jeff's own letter definition
Date: Tue, 02 Dec 1997 16:47:36 +1000

OK, here's my own letter definition.  No masquerading as me!
This won't quite work as is because it includes my university's
crest, su_crest.eps, which I am definitely not distributing.
This code is a hack, OK?  Use at own risk.  Jeff
-----------------------------------------------------
usage:
 
@Include { letterdef }  # the file below
@Letter
   @To {
The President
United States of America
The White House
Washington, D.C.
}
{
Dear Mr. President
@DP
I'm selling chocolates to raise money for my school.  Would
you like some?  Only $2.00 a box.
@DP
Sincerely
}
------------------------------------------------------
###############################################################################
#                                                                             #
#  Lout setup file                                                            #
#                                                                             #
#  This Lout setup file contains everything needed to format documents        #
#  using the following setup file configuration choice(s):                    #
#                                                                             #
#      doc            Ordinary document                                       #
#                                                                             #
#  It will work correctly on plain text documents as well as ordinary ones.   #
#  It was probably generated automatically from file include/master by a sed  #
#  script that selected this combination of the available choices.            #
#                                                                             #
#  Jeffrey H. Kingston                                                        #
#  24 June 1996                                                               #
#                                                                             #
###############################################################################


###############################################################################
#                                                                             #
#  @SysInclude commands for standard packages.                                #
#                                                                             #
###############################################################################

  @SysInclude { fontdefs        } # font definitions
  @SysInclude { langdefs        } # language definitions
  @SysInclude { dl              } # DocumentLayout package
  @SysInclude { docf            } # OrdinaryLayout extension
  @SysInclude { tab             } # @Tab table formatter
# @SysInclude { eq              } # @Eq equation formatter
# @SysInclude { fig             } # @Fig advanced graphics (NOW OBSOLETE)
# @SysInclude { graph           } # @Graph graph drawing
# @SysInclude { pas             } # @Pas Pascal programs


###############################################################################
#                                                                             #
#  @Include command for reading personal definitions from current directory.  #
#                                                                             #
###############################################################################

  @Include { mydefs }

def @SixThings
    named upperleft {}
    named upperright {}
    named middleleft {}
    named middleright {}
    named lowerleft {}
    named lowerright {}
{
    "0 ymark moveto xsize ymark lineto stroke" @Graphic lines @Break {
                upperleft      |1rt @HContract upperright    |
         /2v    middleleft     |    @HContract middleright   |
        ^/0.5v                 |                  |
         /0.5v  lowerleft      |    @HContract lowerright    |
    }
}

def @UniCrest
{
    def @ZeroWidth right x
    {
        @HContract { |0io x |0io }
    }

    @ZeroWidth 0.5w @VShift {
        @IncludeGraphic "/u2/staff/jeff/bin/su_crest.eps" &0.4c ^&0i
    }
}

import @DocumentLayout @OrdinaryLayout
def @Letter
    named @To {}
    named @Date { @Date }
    named @InitialFont { Times Base 12p }
    named @InitialBreak { hyphen adjust 1.2fx }
    named @PageHeaders { Simple }
    right @Body
{
@Document
    @InitialFont { @InitialFont }
    @InitialBreak { @InitialBreak }
    @PageHeaders { @PageHeaders }
//
@Text @Begin
@SixThings
    upperleft {
0.7 @Scale @UniCrest &  {20p Times Bold} @Font {The University of Sydney}
}
    upperright { { 11p Bold } @Font 12px @Break {
Basser Department of
Computer Science } }
    middleleft { 7p @Font { NSW 2006 AUSTRALIA } }
    middleright {
8p @Font 9px @Break {
Faculty of Science
^//1vx College of Science and Technology } }
    lowerleft {
7p @Font 8px @Break {
@B 10p @Font +0.8p @VShift { Jeffrey H. Kingston } @I { BA PhD Syd. }
Senior Lecturer
} }
    lowerright {
8p @Font 9px @Break @HContract {
Madsen Building F09
"Telephone  " &1rt "+ 61 2 9351 3423"
"Facsimile  " &1rt "+ 61 2 9351 3838"
Email address@hidden
} }
//1v
@Date
//2v
lines @Break @To
//2v
@Body
//4v
(Dr.) Jeffrey H. Kingston
@End @Text
}

###############################################################################
#                                                                             #
#  The @DocumentLayout @Use clause - overall document format options.         #
#                                                                             #
###############################################################################

@Use { @DocumentLayout
  # @InitialFont        { Times Base 12p        } # initial font
  # @InitialBreak       {{adjust 1.2fx hyphen} @OrIfPlain {ragged 1fx nohyphen}}
  # @InitialSpace       { lout                  } # initial space style
  # @InitialLanguage    { English               } # initial language
  # @InitialColour      { black                 } # initial colour
  # @OptimizePages      { No                    } # optimize page breaks?
  # @HeadingFont        { Bold                  } # font for @Heading
    @ParaGap            { 2.0vx @OrIfPlain 1f   } # gap between paragraphs
  # @ParaIndent         { 2.00f @OrIfPlain 5s   } # first-line indent for @PP
  # @DisplayGap         { 1.00v @OrIfPlain 1f   } # gap above, below displays
  # @DisplayIndent      { 2.00f @OrIfPlain 5s   } # @IndentedDisplay indent
  # @DefaultIndent      { 0.5rt                 } # @Display indent
  # @DisplayNumStyle    { (num)                 } # style of display numbers
  # @WideIndent         { 4.00f @OrIfPlain 10s  } # @WideTaggedList indent
  # @VeryWideIndent     { 8.00f @OrIfPlain 20s  } # @VeryWideTaggedList indent
  # @ListGap            { 1.00v @OrIfPlain 1f   } # gap between list items
  # @ListIndent         { 0s                    } # indent of list items
  # @ListRightIndent    { 0s                    } # right indent of list items
  # @ListLabelWidth     { 2.00f @OrIfPlain 5s   } # width allowed for list tags
  # @NumberSeparator    { .                     } # separates nums like 2.3.7
  # @PageType           { A4    @OrIfPlain Other} # page type (width, height)
  # @PageWidth          { 80s                   } # page width if type Other
  # @PageHeight         { 66f                   } # page height if type Other
  # @PageOrientation    { Portrait              } # Portrait, Landscape, etc.
  # @PageBackground     {                       } # background of each page
  # @TopMargin          { 2.5c  @OrIfPlain 6f   } # top margin of all pages
  # @FootMargin         { 2.5c  @OrIfPlain 6f   } # bottom margin of all pages
  # @OddLeftMargin      { 2.5c  @OrIfPlain 10s  } # left margin of odd pages
  # @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
  # @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
  # @ColumnNumber       { 1                     } # number of columns (1 to 10)
  # @ColumnGap          { 1.00c @OrIfPlain 6s   } # column gap
  # @FigureLocation     { PageTop               } # default figure location
  # @TableLocation      { PageTop               } # default table location
  # @FigureFormat       { @CC @Body             } # default figure format
  # @TableFormat        { @CC @Body             } # default table format
  # @FigureWord         { figure                } # "Figure" word else anything
  # @TableWord          { table                 } # "Table" word else anything
  # @FigureNumbers      { Arabic                } # method of numbering figures
  # @TableNumbers       { Arabic                } # method of numbering tables
  # @FigureCaptionPos   { Below                 } # Above or Below
  # @TableCaptionPos    { Below                 } # Above or Below
  # @CaptionFont        {                       } # figure, table caption font
  # @CaptionBreak       {                       } # figure, table caption break
  # @CaptionFormat      { @B { number @DotSep @OneCol } } # figure, table 
caption format
  # @MakeFigureContents { No                    } # list of figures at start
  # @MakeTableContents  { No                    } # list of tables at start
  # @MakeContents       { No                    } # make contents? Yes or No
  # @ContentsGap        { 0.20v @OrIfPlain 0f   } # extra gap above minor entry
  # @ContentsGapAbove   { 0.80v @OrIfPlain 1f   } # extra gap above major entry
  # @ContentsGapBelow   { 0.00v @OrIfPlain 0f   } # extra gap below major entry
  # @ContentsFormat     { number @DotSep title  } # contents entry format
  # @ContentsLeader     { ..                    } # leader symbol in contents
  # @ContentsLeaderGap  { 4s    @OrIfPlain 2s   } # gap between leaders
  # @ContentsRightWidth { 3f    @OrIfPlain 6s   } # page numbers column width
  # @MakeReferences     { Yes                   } # make references? Yes or No
  # @RefCiteStyle       { [cite]                } # citation style
  # @RefCiteLabels      { @RefNum               } # citation items
  # @RefNumbers         { Arabic                } # reference numbers
  # @RefListFormat      { Labels                } # NoLabels, Labels, etc.
  # @RefListLabels      { address@hidden                } # ref list label 
format
  # @RefListTitle       { references            } # title of reference list
  # @ChapRefListTitle   { references            } # title of chapter ref list
  # @RefListIndent      { 0s                    } # indent to left of labels
  # @RefListRightIndent { 0s                    } # indent to right of items
  # @RefListGap         { 1.00v @OrIfPlain 1f   } # gap between ref list items
  # @RefListFont        {                       } # font used in reference list
  # @RefListBreak       {                       } # break style of ref list
  # @RefListLabelWidth  { 2.00f @OrIfPlain 5s   } # Labels column width
  # @RefListSortKey     { @Tag                  } # sorting key
  # @MakeIndex          { No                    } # make index? Yes or No
  # @IndexFont          {                       } # index entries font
  # @IndexBreak         { {oragged 1.2fx} @OrIfPlain {oragged 1fx} } # and break
  # @IndexColumnNumber  { 2                     } # index columns (1 to 10)
  # @IndexColumnGap     { 1.00c @OrIfPlain 6s   } # index column gap
  # @MakeIndexA         { No                    } # make index A? Yes or No
  # @IndexAFont         {                       } # index A entries font
  # @IndexABreak        { {oragged 1.2fx} @OrIfPlain {oragged 1fx} } # and break
  # @IndexAColumnNumber { 2                     } # index A columns (1 to 10)
  # @IndexAColumnGap    { 1.00c @OrIfPlain 6s   } # index A column gap
  # @MakeIndexB         { No                    } # make index B? Yes or No
  # @IndexBFont         {                       } # index B entries font
  # @IndexBBreak        { {oragged 1.2fx} @OrIfPlain {oragged 1fx} } # and break
  # @IndexBColumnNumber { 2                     } # index B columns (1 to 10)
  # @IndexBColumnGap    { 1.00c @OrIfPlain 6s   } # index B column gap
  # @TopGap             { 0.75c @OrIfPlain 2f   } # gap between figures
  # @MidGap             { 0.75c @OrIfPlain 2f   } # gap above/below body text
  # @FootNoteNumbers    { Arabic                } # footnote numbers
  # @FootNoteThrough    { No                    } # numbered through chapter?
  # @FootNoteLocation   { ColFoot               } # where the footnote appears
  # @FootNoteFont       { 0.80f                 } # font for footnotes
  # @FootNoteBreak      { 1.2fx @OrIfPlain 1fx  } # break for footnotes
  # @FootLen            { 2.00c @OrIfPlain 10s  } # length of footnote line
  # @FootAboveGap       { 1.00v                 } # gap above footnote line
  # @FootGap            { 0.20c @OrIfPlain 1fx  } # gap between footnotes
  # @MarginNoteFont     { 0.80f                 } # font of margin notes
  # @MarginNoteBreak    { ragged 1.10fx         } # break style of margin notes
  # @MarginNoteHGap     { 0.5c                  } # horizontal gap to notes
  # @MarginNoteVGap     { 1.00v                 } # min vertical gap between
  # @MarginNoteWidth    { 1.50c                 } # width of margin notes
  # @EndNoteNumbers     { Arabic                } # endnote numbers
  # @EndNoteFont        { 0.80f                 } # font of endnotes
  # @EndNoteBreak       { 1.2fx @OrIfPlain 1fx  } # break for endnotes
  # @EndNoteGap         { 0.20c @OrIfPlain 1f   } # gap between endnotes
  # @TheoremWord        { theorem               } # "Theorem" word, etc.
  # @DefinitionWord     { definition            } # "Definition" word, etc.
  # @ClaimWord          { claim                 } # "Claim" word, etc.
  # @PropositionWord    { proposition           } # "Proposition" word, etc.
  # @LemmaWord          { lemma                 } # "Lemma" word, etc.
  # @CorollaryWord      { corollary             } # "Corollary" word, etc.
  # @ExampleWord        { example               } # "Example" word, etc.
  # @ProofWord          { proof                 } # "Proof" word, etc.
  # @PageHeaders        { Simple                } # None Simple Titles NoTitles
  # @PageNumbers        { Arabic                } # page numbers
  # @FirstPageNumber    { 1                     } # number of first page 
  # @IntroPageNumbers   { Roman                 } # intro page numbers
  # @IntroFirstPageNumber{ 1                    } # number of first intro page 
  # @StructPageNums     { No                    } # make structured page numbers

  # @OddTop             { @Centre{- @PageNum -} } # Simple page headers
  # @OddFoot            { @Null                 }
  # @EvenTop            { @Centre{- @PageNum -} }
  # @EvenFoot           { @Null                 }
  # @StartOddTop        { @Null                 }
  # @StartOddFoot       { @Null                 }
  # @StartEvenTop       { @Null                 }
  # @StartEvenFoot      { @Null                 }
  # @IntroOddTop        { @Null                 }
  # @IntroOddFoot       { @Null                 }
  # @IntroEvenTop       { @Null                 }
  # @IntroEvenFoot      { @Null                 }
  # @IntroStartOddTop   { @Null                 }
  # @IntroStartOddFoot  { @Null                 }
  # @IntroStartEvenTop  { @Null                 }
  # @IntroStartEvenFoot { @Null                 }

                                                  # Titles, NoTitles headers
  # @RunningOddTop  { @I address@hidden @DotSep @MinorTitle} @Right @B @PageNum 
}
  # @RunningOddFoot             { @Null                                 }
  # @RunningEvenTop { @B @PageNum @Right @I address@hidden @DotSep @MajorTitle} 
}
  # @RunningEvenFoot            { @Null                                 }
  # @RunningStartOddTop         { @Null                                 }
  # @RunningStartOddFoot        { @Centre { Bold 0.8f } @Font @PageNum  }
  # @RunningStartEvenTop        { @Null                                 }
  # @RunningStartEvenFoot       { @Centre { Bold 0.8f } @Font @PageNum  }
  # @RunningIntroOddTop         { @Null                                 }
  # @RunningIntroOddFoot        { @Right @PageNum                       }
  # @RunningIntroEvenTop        { @Null                                 }
  # @RunningIntroEvenFoot       { @PageNum                              }
  # @RunningIntroStartOddTop    { @Null                                 }
  # @RunningIntroStartOddFoot   { @Null                                 }
  # @RunningIntroStartEvenTop   { @Null                                 }
  # @RunningIntroStartEvenFoot  { @Null                                 }
}


###############################################################################
#                                                                             #
#  The @OrdinaryLayout @Use clause - options specific to ordinary documents.  #
#                                                                             #
###############################################################################

@Use { @OrdinaryLayout
  # @IndexWord                  { index         } # word for "Index" word etc.
  # @IndexAWord                 { index         } # word for "Index" (A)
  # @IndexBWord                 { index         } # word for "Index" (B)
  # @AppendixWord               { appendix      } # word for "Appendix"
  # @SectionNumbers             { Arabic        } # kind of section numbers
  # @FirstSectionNumber         { 1             } # first section num (Arabic)
  # @SubSectionNumbers          { Arabic        } # kind of subsection numbers
  # @FirstSubSectionNumber      { 1             } # first subsect num (Arabic)
  # @SubSubSectionNumbers       { Arabic        } # kind of sub-subsect numbers
  # @FirstSubSubSectionNumber   { 1             } # first subsub. num (Arabic)
  # @AppendixNumbers            { UCAlpha       } # kind of appendix numbers
  # @FirstAppendixNumber        { 1             } # first appendix num (Arabic)
  # @SubAppendixNumbers         { Arabic        } # kind of subappendix numbers
  # @FirstSubAppendixNumber     { 1             } # first sub-app. num (Arabic)
  # @SubSubAppendixNumbers      { Arabic        } # kind of sub-subapp. numbers
  # @FirstSubSubAppendixNumber  { 1             } # first sub-sub. num (Arabic)
  # @SectionHeadingFont         { Bold                  } # section head font
  # @SectionHeadingBreak        { ragged 1.2fx nohyphen } # section head break
  # @SectionHeadingFormat       { number @DotSep title  } # section head fmt
  # @SubSectionHeadingFont      { Bold                  } # subsect head font
  # @SubSectionHeadingBreak     { ragged 1.2fx nohyphen } # subsect head break
  # @SubSectionHeadingFormat    { number @DotSep title  } # subsect head fmt
  # @SubSubSectionHeadingFont   { Slope                 } # sub-ss. head font
  # @SubSubSectionHeadingBreak  { ragged 1.2fx nohyphen } # sub-ss. head break
  # @SubSubSectionHeadingFormat { number @DotSep title  } # sub-ss. head fmt
  # @AppendixHeadingFont        { Bold                  } # appendix head font
  # @AppendixHeadingBreak       { ragged 1.2fx nohyphen } # appendix head break
  # @AppendixHeadingFormat      { number @DotSep title  } # appendix head fmt
  # @SubAppendixHeadingFont     { Bold                  } # subapp. head font
  # @SubAppendixHeadingBreak    { ragged 1.2fx nohyphen } # subapp. head break
  # @SubAppendixHeadingFormat   { number @DotSep title  } # subapp. head format
  # @SubSubAppendixHeadingFont  { Slope                 } # sub-sa. head font
  # @SubSubAppendixHeadingBreak { ragged 1.2fx nohyphen } # sub-sa. head break
  # @SubSubAppendixHeadingFormat{ number @DotSep title  } # sub-sa. head fmt
  # @ReferencesHeadingFont      { Bold                  } # refs head font
  # @ReferencesHeadingBreak     { ragged 1.2fx nohyphen } # refs head break
  # @ReferencesHeadingFormat    { title                 } # refs head format
  # @IndexHeadingFont           { Bold                  } # index head font
  # @IndexHeadingBreak          { ragged 1.2fx nohyphen } # index head break
  # @IndexHeadingFormat         { title                 } # index head format
  # @IndexAHeadingFont          { Bold                  } # index A head font
  # @IndexAHeadingBreak         { ragged 1.2fx nohyphen } # index A head break
  # @IndexAHeadingFormat        { title                 } # index A head fmt
  # @IndexBHeadingFont          { Bold                  } # index B head font
  # @IndexBHeadingBreak         { ragged 1.2fx nohyphen } # index B head break
  # @IndexBHeadingFormat        { title                 } # index B head fmt
  # @SectionGap                 { 2.0v  @OrIfPlain 3f   } # between sections
  # @SubSectionGap              { 1.5v  @OrIfPlain 2f   } # between subsects
  # @SubSubSectionGap           { 1.5v  @OrIfPlain 2f   } # between sub-subs.
  # @AppendixGap                { 2.0v  @OrIfPlain 3f   } # between appendices
  # @SubAppendixGap             { 1.5v  @OrIfPlain 2f   } # between 
subappendices
  # @SubSubAppendixGap          { 1.5v  @OrIfPlain 2f   } # between sub-subapps
  # @SectionInContents          { Yes           } # add sections to contents
  # @SubSectionInContents       { Yes           } # add subsections to contents
  # @SubSubSectionInContents    { No            } # add sub-subsects to contents
  # @AppendixInContents         { Yes           } # add appendices to contents
  # @SubAppendixInContents      { Yes           } # add subappendices to 
contents
  # @SubSubAppendixInContents   { No            } # add sub-subapps to contents
  # @ReferencesInContents       { Yes           } # add ref. section to contents
  # @IndexInContents            { Yes           } # add index to contents
  # @IndexAInContents           { Yes           } # add index A to contents
  # @IndexBInContents           { Yes           } # add index B to contents
  # @SectionNumInTheorems       { No            } # theorem num has section num
  # @SubSectionNumInTheorems    { No            } # theorem num has subsect num
  # @SubSubSectionNumInTheorems { No            } # theorem num has sub-ss. num
  # @AppendixNumInTheorems      { No            } # theorem num has appendix num
  # @SubAppendixNumInTheorems   { No            } # theorem num has sub-app num
  # @SubSubAppendixNumInTheorems{ No            } # theorem num has sub-sa. num
  # @SectionNumInDisplays       { Yes           } # display num has section num
  # @SubSectionNumInDisplays    { No            } # display num has subsect num
  # @SubSubSectionNumInDisplays { No            } # display num has sub-ss. num
  # @AppendixNumInDisplays      { Yes           } # display num has appendix num
  # @SubAppendixNumInDisplays   { Yes           } # display num has sub-app num
  # @SubSubAppendixNumInDisplays{ No            } # display num has sub-sa. num
  # @SectionNumInFigures        { No            } # figure num has section num
  # @SubSectionNumInFigures     { No            } # figure num has subsect num
  # @SubSubSectionNumInFigures  { No            } # figure num has sub-ss. num
  # @AppendixNumInFigures       { No            } # figure num has appendix num
  # @SubAppendixNumInFigures    { No            } # figure num has sub-app num
  # @SubSubAppendixNumInFigures { No            } # figure num has sub-sa. num
  # @SectionNumInTables         { No            } # table num has section num
  # @SubSectionNumInTables      { No            } # table num has subsect num
  # @SubSubSectionNumInTables   { No            } # table num has sub-ss. num
  # @AppendixNumInTables        { No            } # table num has appendix num
  # @SubAppendixNumInTables     { No            } # table num has sub-app num
  # @SubSubAppendixNumInTables  { No            } # table num has sub-sa. num
  # @SectionNumInRunners        { Yes           } # runners have section num
  # @SubSectionNumInRunners     { No            } # runners have subsect num
  # @SubSubSectionNumInRunners  { No            } # runners have sub-ss. num
  # @AppendixNumInRunners       { Yes           } # runners have appendix num
  # @SubAppendixNumInRunners    { No            } # runners have sub-app num
  # @SubSubAppendixNumInRunners { No            } # runners have sub-sa. num
  # @SectionPrefix              {               } # for structured page nums
  # @AppendixPrefix             {               } # for structured page nums
  # @ReferencesPrefix           {               } # for structured page nums
  # @IndexPrefix                {               } # for structured page nums
  # @IndexAPrefix               {               } # for structured page nums
  # @IndexBPrefix               {               } # for structured page nums
}


###############################################################################
#                                                                             #
#  @Database (and @SysDatabase) clauses go here.                              #
#                                                                             #
###############################################################################

@SysDatabase @RefStyle { refstyle }               # reference printing styles


reply via email to

[Prev in Thread] Current Thread [Next in Thread]