# Style sheet for Lout # Copyright (c) 2000 Jean-Baptiste Nivoit # Inspired by other a2ps style sheets, most notably the TeX one. # # This style sheet is meant to work with Basser Lout # document formatting system files. # Further information about Lout is available at # # # It should work for Lout version 3.17 and above. # # This steals some stuff from lout-mode.el, an Emacs # major-mode for editing Lout source, which is GPL'ed and # Copyright (C) 1997-1999 Eric Marsden # See # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to # the Free Software Foundation, 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # style Lout is written by "Jean-Baptiste Nivoit " version is 1.0 requires a2ps version 4.12 documentation is "This is the style for Lout files." end documentation alphabets are "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_#%@" case sensitive keywords in Keyword are extend, export, def, named, left, right, force, into, horizontally, macro, body, precedence, import end keywords # this list of keywords comes as is from lout-mode.el keywords in Keyword_strong are @Abstract, @AL, @AlignedDisplay, @AlphaList, @And, @Angle, @Appendix, @Arc, @Arrow, @B, @BaseOf, @Begin, @BeginAlignedDisplays, @BeginAppendices, @BeginSubSections, @BeginSubSubAppendices, @BeginSubSubSections, @BI, @BL, @Book, @BookLayout, @BoundaryMarks, @Box, @Break, @BulletList, @CC, @CD, @CDot, @Center, @CenteredDisplay, @CenteredList, @ChapCite, @ChapRef, @ChapRefListTitle @Chapter, @Char, @Circle, @Cite, @CL, @Claim, @CNP, @Color, @Colour, @ColumnGap, @ColumnNumber, ContentsGoesHere, @ContentsGap, @ContentsGapAbove, @ContentsGapBelow, @ContentsLeader, @ContentsLeaderGap, @ContentsRightWidth, @CoverSheet, @CP, @CPrint @Corollary, @CurveBox, @D, @DashList, @Data, @Database, @Date, @DefaultIndent, @Definition, @Diamond, @Display, @DisplayGap, @DisplayIndent, @Distance, @DL, @DLI, @Doc, @Document, @DocumentLayout, @DotJoin, @DotSep, @DP, @DropListItem @DropTagItem, @DTI, @El, @Ellipse, @End, @EndList, @EndAlignedDisplays, @EndAppendicies, @EndChapters, @EndNote, @EndOverheads, @EndProof, @EndSections, @EndSubAppendices, @EndSubSections, @EndSubSubAppendices, @EndSubSubSections, @Eq, @EvenLeftMargin, @EvenRightMargin, @Example, @Fig, @Figure, @FigureCaptionPos, @FigureLocation, @FigureNumbers, @FigurePageNumber, @FirstPageNumber, @Fmta, @Font, @FootMargin, @FootAboveGap, @FootGap, @FootLen, @FootNote, @FootNoteBreak, @FootNoteFont, @FootNoteLocation, @FootNoteNumbers, @FootNoteThrough, @Frame, @FullWidth @Graph, @GraphCircle, @GraphCross, @GraphDashed, @GraphDiamond, @GraphDotted, @GraphFilledCircle, @GraphFilledDiamond, @GraphFilledSquare, @GraphFilledTriangle, @GraphNoLine, @GraphPlus, @GraphSolid, @GraphSquare, @GraphTriangle, @HArrow, @Heading, @HeadingFont, @HLine, @I, @ID, @If, @IL, @Illustration, @Include, @IncludeGraphic, @IndentedDisplay, @IndentedList, @IndexBlanks, @IndexBreak, @IndexColumnGap, @IndexColumnNumber, @IndexFont, @InitialBreak, @InitialFont, @InitialLanguage, @InitialSpace, @IntroFirstPageNumber, @IntroPageNumbers, @Introduction, @JoinFigures, @L, @Label, @Language, @LD, @Lecture, @LeftDisplay, @LeftList, @LeftNote, @Lemma, @LI, @Line, @List, @ListItem, @LL, @LLP, @Location, @LP, @MajorNum, @MajorTitle, @MakeContents, @MakeIndex, @MakeReferences, @MarkOf, @MarkRow, @MinorNum, @MinorTitle, @Minute, @Multiply, @NL, @NoChapCite, @NoChapRef, @NoCite, @NoRef, @Not, @NP, @Null, @NumberedDisplay, @NumberedList, @NumberedOf, @OddLeftMargin, @OddRightMargin, @Or, @OrdinaryLayout, @OuterNote, @Over, @Overhead, @OverheadLayout, @OverheadTransparencies, @OverStrike, @PageBackground, @PageBoxType, @PageHeaders, @PageHeight, @PageNum, @PageNumbers, @PageOrientation, @PageType, @PageWidth, @PageMark, @PageOf, @PAL, @ParaGap, @ParaIndent, @ParenAlphaList, @ParenNumberedList, @ParenRomanList, @ParenUCAlphaList, @ParenUCRomanList, @ParSym, @ParNumber, @ParText, @ParTitle, @Pas, @Place, @PNL, @Polygon, @PP, @Preface, @Prev, @PRL, @Proof, @Proposition, @PUCAL, @PUCRL, @QD, @QL, @QuotedDisplay, @QuotedList, @R, @RawEndList, @RawList, @Ref, @RefPrint, @RefStyle, @RefCiteLabels, @RefCiteStyle, @Reference, @ReferencesBeforeAppendices, @RefListBreak, @RefListFont, @RefListFormat, @RefListGap, @RefListIndent, @RefListLabels, @RefListLabelWidth, @RefListRightIndent, @RefListSortKey, @RefListTitle, @RefNumbers, @Register, @Report, @ReportLayout, @Right, @RightDisplay, @RightNote, @RL, @RomanList, @Rotate, @Rowa, @RR, @RunningTitle, @S, @Scale, @Second, @Section, @SectSym, @SeparateIntoNumbering, @SetColour, @ShadowBox, @ShowLabels, @SL@Square, @Star, @StarList, @SubAppendix, @SubSection, @SubSubAppendix, @SubSubSection, @Sym, @SysDatabase, @SysInclude, @Tab, @Table, @TableCaptionPos, @TableLocation, @TableNumbers, @Tag, @TaggedList, @TagItem, @Theorem, @TI, @Time, @Title, @TitlePageFont, @TL, @TopMargin, @True, @Type, @UCAL, @UCAlphaList, @UCRL, @UCRomanList, @Underline, @Use, @VArrow, @Verbatim, @VeryWideTaggedList, @VLine, @VShift, @VWTL, @Wide, @WideTaggedList, @WTL, @XDistance, @YDistance, @Bullet, @ParSym, @Dagger, @CDot, @Yen, @Degree, @Second, @Multiply, @CopyRight, @TradeMark, @Start, @SectSym, @DaggerDbl, @Sterling, @Florin, @Minute, @Lozenge, @Divide, @Register, @B, @I, @BI, @R, @F, @S, @Chapter, @Section, @SubSection, @Abstract, @BeginSections, @EndSections, @BeginSubSections, @EndSubSections, @Appendix, @BeginSubAppendices, @EndSubAppendices, @SubAppendix, @Preface end keywords #(defconst lout-font-lock-keywords # (list # # 1 font-lock-function-name-face) # '("@\\(Begin\\)[ ]+\\([a-zA-Z]+\\)" # (1 font-lock-keyword-face) (2 font-lock-function-name-face)) # '("@\\([a-zA-Z]+\\)" 1 font-lock-keyword-face) # '("{||?\\|//?}{[0-9]+[cipmfsvx]}?" . font-lock-type-face) # '("@B[ ]+{\\([^}]*\\)}" 1 'bold keep) # '("@B[ ]+\\(\\w+\\)" 1 'bold keep) # '("@I[ ]+{\\([^}]*\\)" 1 'italic keep) # '("@I[ ]+\\(\\w+\\)" 1 'italic keep) # '("@BI[ ]+{\\([^}]*\\)}" 1 'bold-italic keep) # '("@BI[ ]+\\(\\w+\\)" 1 'bold-italic keep) # '("@Title +{\\([^}]*\\)}" 1 'bold keep) # '("def\||macro" . font-lock-function-name-face)) # "Additional expressions to highlight in Lout mode.") operators are # (/def[\t ]*(\\@[a-zA-Z0-9_]+)/ \1 Keyword_strong) (/(\\@[a-zA-Z0-9_]+)/ \1 Keyword_strong), "//", "/", "^/", "&", "^|", "|" end operators sequences are "#" Comment, C-string end sequences end style