From 54ae61cd32d6580791aff55bfce96386fdff9550 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 1 Dec 2007 16:01:58 +0100 Subject: doc: Improve building using the Lout engine, with a `book' style. * doc/modules/skribilo/documentation/api.scm (doc-engine): Use `ctrtable' instead of `table'. * doc/modules/skribilo/documentation/manual.scm: Add customs for the `lout' engine. (ctrtable): New. (prgm): Don't center frames in Lout. * doc/user/Makefile.am (EXTRA_DIST): Add `lout/book-style.lout'. (%.ps): Add "-r4 -I$(srcdir)/lout". * doc/user/char.skb: Use `ctrtable' instead of `(center (table...' for the list of chars. * doc/user/markup.skb: Add emacsology. * doc/user/package.skb: Don't show the sample code with non-HTML engines. * doc/user/src/html-navtabs.skb: Fix typo. * doc/user/user.skb: Don't produce out-of-chapter text in Lout. --- doc/modules/skribilo/documentation/api.scm | 11 +- doc/modules/skribilo/documentation/manual.scm | 46 ++- doc/user/Makefile.am | 5 +- doc/user/char.skb | 31 +- doc/user/lout/book-style.lout | 543 ++++++++++++++++++++++++++ doc/user/markup.skb | 9 +- doc/user/package.skb | 12 +- doc/user/src/html-navtabs.skb | 2 +- doc/user/user.skb | 25 +- 9 files changed, 639 insertions(+), 45 deletions(-) create mode 100644 doc/user/lout/book-style.lout diff --git a/doc/modules/skribilo/documentation/api.scm b/doc/modules/skribilo/documentation/api.scm index 429dcf6..1426521 100644 --- a/doc/modules/skribilo/documentation/api.scm +++ b/doc/modules/skribilo/documentation/api.scm @@ -1,7 +1,7 @@ ;;; api.scm -- The style for documenting Scheme APIs. ;;; +;;; Copyright 2005, 2006, 2007 Ludovic Courtès ;;; Copyright 2003, 2004 Manuel Serrano -;;; Copyright 2005, 2006, 2007 Ludovic Courtès ;;; ;;; ;;; This program is free software; you can redistribute it and/or modify @@ -30,7 +30,7 @@ :use-module (skribilo utils syntax) ;; `%skribilo-module-reader' :use-module (skribilo package base) - :use-module (skribilo documentation manual) ;; `*markup-index*' + :use-module (skribilo documentation manual) :use-module (skribilo documentation env) ;; `*api-engines*' :use-module (srfi srfi-1) @@ -609,8 +609,7 @@ ((engine-format? "latex") #f) (else - (center - (apply table + (apply ctrtable :&location &invocation-location :width *prgm-width* (tr :class 'api-table-header @@ -629,5 +628,5 @@ (td :valign 'top (code (exp->skribe (cadr def))))) (td :align 'left :valign 'top (cadr r)))) - (filter cadr args)))))))))) - + (filter cadr args))))))))) + diff --git a/doc/modules/skribilo/documentation/manual.scm b/doc/modules/skribilo/documentation/manual.scm index 6978afd..2c08aa1 100644 --- a/doc/modules/skribilo/documentation/manual.scm +++ b/doc/modules/skribilo/documentation/manual.scm @@ -1,7 +1,7 @@ ;;; manual.scm -- Skribilo manuals and documentation style. ;;; -;;; Copyright 2003, 2004 Manuel Serrano ;;; Copyright 2007 Ludovic Courtès +;;; Copyright 2003, 2004 Manuel Serrano ;;; ;;; ;;; This program is free software; you can redistribute it and/or modify @@ -92,7 +92,7 @@ :text "Directory")))))))) ;*---------------------------------------------------------------------*/ -;* Html configuration */ +;* HTML configuration */ ;*---------------------------------------------------------------------*/ (let* ((he (find-engine 'html)) (bd (markup-writer-get 'bold he))) @@ -117,6 +117,35 @@ (engine-custom-set! le 'class-has-chapters? #t) (engine-custom-set! le 'usepackage npckg)) +;*---------------------------------------------------------------------*/ +;* Lout */ +;*---------------------------------------------------------------------*/ +(let* ((le (find-engine 'lout))) + (engine-custom-set! le 'document-type 'book) + (engine-custom-set! le 'document-include + "@Include { \"book-style.lout\" }") + (engine-custom-set! le 'initial-language "English") + (engine-custom-set! le 'initial-font "Palatino Base 10p")) + + + +;*---------------------------------------------------------------------*/ +;* ctrtable ... */ +;*---------------------------------------------------------------------*/ +(define-markup (ctrtable :rest args) + (resolve (lambda (n e env) + ;; With Lout, centering whole tables precludes breaking over + ;; several pages (because `@Center' has an `@OneRow' effect), + ;; which is a problem with large tables. + (if (engine-format? "lout" e) + (list (linebreak) + (apply table + :&location &invocation-location + args)) + (center (apply table + :&location &invocation-location + args)))))) + ;*---------------------------------------------------------------------*/ ;* prgm ... */ ;*---------------------------------------------------------------------*/ @@ -136,10 +165,15 @@ (line (prog :line line sc)) (else - (pre sc))))) - (center - (frame :margin 5 :border 0 :width *prgm-width* - (color :margin 5 :width 100. :bg c pr))))) + (pre sc)))) + (f (frame :margin 5 :border 0 :width *prgm-width* + (color :margin 5 :width 100. :bg c pr)))) + (resolve (lambda (n e env) + ;; Same trick as for `ctrtable': don't center frames (which + ;; are actually `@Tbl') in Lout. + (if (engine-format? "lout" e) + (list (! "\n@LP\n@DP\n") f) + f))))) ;*---------------------------------------------------------------------*/ ;* disp ... */ diff --git a/doc/user/Makefile.am b/doc/user/Makefile.am index 11dad13..9a514f9 100644 --- a/doc/user/Makefile.am +++ b/doc/user/Makefile.am @@ -6,7 +6,8 @@ EXTRA_DIST = bib.skb char.skb colframe.skb document.skb emacs.skb \ justify.skb latexe.skb lib.skb line.skb links.skb \ markup.skb ornament.skb package.skb pie.skb prgm.skb sectioning.skb \ skribe-config.skb skribec.skb skribeinfo.skb slide.skb start.skb \ - syntax.skb table.skb toc.skb user.skb xmle.skb + syntax.skb table.skb toc.skb user.skb xmle.skb \ + lout/book-style.lout BUILT_SOURCES = doc-config.scm html_DATA = user.html @@ -29,7 +30,7 @@ ps_DATA = user.ps $(skribilo) $(skrflags) --target lout -o $@ $< %.ps: %.lout - $(LOUT) -c $(<:%.lout=%) -o $@ $< + $(LOUT) -r4 -I$(srcdir)/lout -c $(<:%.lout=%) -o $@ $< endif diff --git a/doc/user/char.skb b/doc/user/char.skb index b2f94e2..c56c455 100644 --- a/doc/user/char.skb +++ b/doc/user/char.skb @@ -79,21 +79,20 @@ of the capacity of the targeted format.]) (p [Here is the list of recognized symbols:]) -(center - (apply table - :width *prgm-width* - (tr :class 'api-symbol-prototype (th "Symbol name") (th "Rendering")) - (map (lambda (s) - (tr :bg *prgm-skribe-color* - (td :align 'left s) - (td :align 'left (symbol s)))) - (sort (let ((t (make-hashtable))) - (for-each (lambda (e) - (for-each (lambda (s) - (hashtable-put! t (car s) (car s))) - (engine-symbol-table e))) - *api-engines*) - (hashtable->list t)) - stringlist t)) + string # +# # +############################################################################### + + +############################################################################### +# # +# @SysInclude commands for standard packages. # +# # +############################################################################### + + @SysInclude { langdefs } # language definitions + @SysInclude { bsf } # BasicSetup package + @SysInclude { dsf } # DocumentSetup package + @SysInclude { bookf } # BookSetup extension + + +############################################################################### +# # +# @Include command for reading personal definitions from current directory. # +# # +############################################################################### + + @Include { mydefs } + +############################################################################### +# # +# The @BasicSetup @Use clause - basics, lists, paragraphs, displays. # +# # +# To change the default value of any option, delete the # at the start of # +# its line and change the value between braces. # +# # +############################################################################### + +@Use { @BasicSetup + # @InitialFont { Times Base 12p } # initial font + # @InitialBreak {{adjust 1.2fx hyphen} @OrIfPlain {ragged 1fx nohyphen}} + # @InitialOutdent { 2f @OrIfPlain 4s } # initial outdent + # @InitialSpace { lout } # initial space style + # @InitialLanguage { English } # initial language + # @InitialColour { black } # initial colour + # @OptimizePages { No } # optimize page breaks? + # @HeadingFont { Bold } # font for @Heading + # @FixedWidthFont { Courier Base -1p } # font for @F + # @ParaGap { 1.3vx @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 + # @ListOuterGap { 1.00v @OrIfPlain 1f } # gap before, after lists + # @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 + # @ListLabelRight { No } # right-adjust list labels + # @ListLabelRightGap { 2s } # gap when right-adjusting + # @ListFont { } # font of list items + # @ListBreak { } # break style of list items + # @NumberSeparator { . } # separates nums like 2.3.7 + # @CrossLinkFormat { @Body } # format of cross links + # @ExternalLinkFormat { @Body } # format of external links +} + + +############################################################################### +# # +# The @DocumentSetup @Use clause - page layout plus figures, tables, etc. # +# # +# To change the default value of any option, delete the # at the start of # +# its line and change the value between braces. # +# # +############################################################################### + +@Use { @DocumentSetup + # @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 { 3.0c @OrIfPlain 6f } # top margin of all pages + @FootMargin { 3.0c @OrIfPlain 6f } # bottom margin of all pages + @OddLeftMargin { 3.0c @OrIfPlain 10s } # left margin of odd pages + @OddRightMargin { 3.0c @OrIfPlain 10s } # right margin of odd pages + @EvenLeftMargin { 3.0c @OrIfPlain 10s } # left margin of even pages + @EvenRightMargin { 3.0c @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 + # @FigureFormat { @CC @Body } # default figure format + # @FigureWord { figure } # "Figure" word else anything + # @FigureNumbers { Arabic } # method of numbering figures + # @FigureCaptionPos { Below } # Above or Below + # @FigureCaptionFont { -2p } # figure caption font + # @FigureCaptionBreak { adjust hyphen 1.2fx } # figure caption break + # @FigureCaptionFormat{ {@B { word @NumSep number. &2s }} @Insert caption } + # @MakeFigureContents { No } # list of figures at start + + # @TableLocation { PageTop } # default table location + # @TableFormat { @CC @Body } # default table format + # @TableWord { table } # "Table" word else anything + # @TableNumbers { Arabic } # method of numbering tables + # @TableCaptionPos { Below } # Above or Below + # @TableCaptionFont { -2p } # table caption font + # @TableCaptionBreak { adjust hyphen 1.2fx } # table caption break + # @TableCaptionFormat { {@B { word @NumSep number. &2s }} @Insert caption } + # @MakeTableContents { No } # list of tables at start + + # @FloaterLocation { PageTop } # default floater location + # @FloaterFormat { @CC @Body } # default floater format + # @FloaterWord { floater } # "Floater" word else anything + # @FloaterNumbers { Arabic } # method of numbering floaters + # @FloaterCaptionPos { Below } # Above or Below + # @FloaterCaptionFont { -2p } # floater caption font + # @FloaterCaptionBreak{ adjust hyphen 1.2fx } # floater caption break + # @FloaterCaptionFormat{ {@B { word @NumSep number. &2s }} @Insert caption } + # @MakeFloaterContents{ No } # list of floaters at start + + # @MakeContents { No } # make contents? Yes or No + @MakeContents { Yes } # 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 + # @ContentsFont { Bold } # font for major entry + # @ContentsPartGapAbove { 1.00v @OrIfPlain 1f } # extra gap above `part' entry + # @ContentsPartGapBelow { 0.00v @OrIfPlain 0f } # extra gap below `part' 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 { [@RefNum] } # 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 { @ListGap } # gap between ref list items + # @RefListFont { } # font used in reference list + # @RefListBreak { } # break style of ref list + # @RefListLabelWidth { @ListLabelWidth } # Labels column width + # @RefListSortKey { @Tag } # sorting key + + # @MakeGlossary { No } # make glossary? Yes or No + # @GlossaryText { @Null } # glossary initial text + # @GlossaryFont { } # glossary entries font + # @GlossaryBreak { } # glossary entries break + # @GlossaryFormat { +3p @Font @S @Name # glossary entries format + # @Right @I { @Word&&page @PageNum } + # @DP @RawIndentedDisplay @Body } + # @GlossaryGap { @DisplayGap } # gap between glossary entries + # @GlossaryColumnNumber{ 2 } # glossary columns (1 to 10) + # @GlossaryColumnGap { 1.00c @OrIfPlain 6s } # glossary column gap + # @InGlossaryFont { smallcaps } # font for @InGlossary + # @InGlossaryFormat { @Body } # format for @InGlossary + + # @MakeIndex { No } # make index? Yes or No + # @MakeIndex { No } # make index? Yes or No + @MakeIndex { Yes } # make index? Yes or No + # @IndexText { @Null } # index initial text + # @IndexFont { } # index entries font + # @IndexBreak { {oragged 1.2fx} @OrIfPlain {oragged 1fx} } # and break + # @IndexFormat { @Body } # @Index format + # @SubIndexFormat { {1f @Wide}@Body } # @SubIndex format + # @SubSubIndexFormat { {2f @Wide}@Body } # @SubSubIndex format + # @IndexTypeOrdinary { @PageNum } # Ordinary pagenum format + # @IndexTypeMain { @B @PageNum } # Main pagenum format + # @IndexTypeSpecial { @I @PageNum } # Special pagenum format + # @IndexRangeFormat { @From--@To } # index page range format + # @IndexColumnNumber { 2 } # index columns (1 to 10) + # @IndexColumnGap { 1.00c @OrIfPlain 6s } # index column gap + # @IndexCtd { Yes } # include (ctd.) lines + # @IndexCtdWord { continued } # "ctd." in current lang. + # @IndexCtdFormat { @Body @I (@CtdWord) } # format of ctd. + # @IndexSpacerAbove { 2v } # space above index spacer + # @IndexSpacerBelow { 1v } # space below index spacer + # @IndexSpacerFont { +3p } # font of index spacer + # @IndexSpacerFormat { @Body } # format of index spacer + + # @MakeIndexA { No } # make index A? Yes or No + # @IndexAText { @Null } # index A initial text + # @IndexAFont { } # index A entries font + # @IndexABreak { {oragged 1.2fx} @OrIfPlain {oragged 1fx} } # and break + # @IndexAFormat { @Body } # @IndexA format + # @SubIndexAFormat { {1f @Wide}@Body } # @SubIndexA format + # @SubSubIndexAFormat { {2f @Wide}@Body } # @SubSubIndexA format + # @IndexATypeOrdinary { @PageNum } # Ordinary pagenum format + # @IndexATypeMain { @B @PageNum } # Main pagenum format + # @IndexATypeSpecial { @I @PageNum } # Special pagenum format + # @IndexARangeFormat { @From--@To } # index page range format + # @IndexAColumnNumber { 2 } # index A columns (1 to 10) + # @IndexAColumnGap { 1.00c @OrIfPlain 6s } # index A column gap + # @IndexACtd { Yes } # include (ctd.) lines + # @IndexACtdWord { continued } # "ctd." in current lang. + # @IndexACtdFormat { @Body @I (@CtdWord) } # format of ctd. + # @IndexASpacerAbove { 2v } # space above index A spacer + # @IndexASpacerBelow { 1v } # space below index A spacer + # @IndexASpacerFont { +3p } # font of index A spacer + # @IndexASpacerFormat { @Body } # format of index A spacer + + # @MakeIndexB { No } # make index B? Yes or No + # @IndexBText { @Null } # index B initial text + # @IndexBFont { } # index B entries font + # @IndexBBreak { {oragged 1.2fx} @OrIfPlain {oragged 1fx} } # and break + # @IndexBFormat { @Body } # @IndexB format + # @SubIndexBFormat { {1f @Wide}@Body } # @SubIndexB format + # @SubSubIndexBFormat { {2f @Wide}@Body } # @SubSubIndexB format + # @IndexBTypeOrdinary { @PageNum } # Ordinary pagenum format + # @IndexBTypeMain { @B @PageNum } # Main pagenum format + # @IndexBTypeSpecial { @I @PageNum } # Special pagenum format + # @IndexBRangeFormat { @From--@To } # index page range format + # @IndexBColumnNumber { 2 } # index B columns (1 to 10) + # @IndexBColumnGap { 1.00c @OrIfPlain 6s } # index B column gap + # @IndexBCtd { Yes } # include (ctd.) lines + # @IndexBCtdWord { continued } # "ctd." in current lang. + # @IndexBCtdFormat { @Body @I (@CtdWord) } # format of ctd. + # @IndexBSpacerAbove { 2v } # space above index B spacer + # @IndexBSpacerBelow { 1v } # space below index B spacer + # @IndexBSpacerFont { +3p } # font of index B spacer + # @IndexBSpacerFormat { @Body } # format of index B spacer + + # @MakeColophon { No } # make colophon? Yes or No + # @ColophonFont { } # font for colophon + # @ColophonBreak { } # break style for colophon + # @ColophonColumnNumber { 1 } # colophon columns (1 to 10) + # @ColophonColumnGap { 1.00c @OrIfPlain 6s } # colophon 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 + # @FootNoteFormat { { number &0.05f } @Insert body } # footnote format + # @FootLen { 2.00c @OrIfPlain 10s } # length of footnote line + # @FootAboveGap { @DisplayGap } # 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 { @DisplayGap } # 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 + # @EndNoteFormat { { number &0.05f } @Insert body } # endnote format + # @EndNoteGap { 0.20c @OrIfPlain 1f } # gap between endnotes + + # @TheoremWord { theorem } # "Theorem" word, etc. + # @TheoremTitleFormat { (title) } # only if title present + # @TheoremFormat { {@B { word @NumSep number title: } &2s} @Insert body } + # @DefinitionWord { definition } # "Definition" word, etc. + # @DefinitionTitleFormat { (title) } # only if title present + # @DefinitionFormat { {@B { word @NumSep number title: } &2s} @Insert body } + # @ClaimWord { claim } # "Claim" word, etc. + # @ClaimTitleFormat { (title) } # only if title present + # @ClaimFormat { {@B { word @NumSep number title: } &2s} @Insert body } + # @PropositionWord { proposition } # "Proposition" word, etc. + # @PropositionTitleFormat { (title) } # only if title present + # @PropositionFormat { {@B { word @NumSep number title: } &2s} @Insert body } + # @LemmaWord { lemma } # "Lemma" word, etc. + # @LemmaTitleFormat { (title) } # only if title present + # @LemmaFormat { {@B { word @NumSep number title: } &2s} @Insert body } + # @CorollaryWord { corollary } # "Corollary" word, etc. + # @CorollaryTitleFormat { (title) } # only if title present + # @CorollaryFormat { {@B { word @NumSep number title: } &2s} @Insert body } + # @ExampleWord { example } # "Example" word, etc. + # @ExampleTitleFormat { (title) } # only if title present + # @ExampleFormat { {@B { word @NumSep number title: } &2s} @Insert body } + # @ProofWord { proof } # "Proof" word, etc. + + # @PageHeaders { Simple } # None Simple Titles NoTitles + @PageHeaders { Titles } # 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 { @Centre @PageNum } + # @IntroEvenTop { @Null } + # @IntroEvenFoot { @Centre @PageNum } + # @IntroStartOddTop { @Null } + # @IntroStartOddFoot { @Null } + # @IntroStartEvenTop { @Null } + # @IntroStartEvenFoot { @Null } + + # Titles, NoTitles headers + # @RunningOddTop { @I {@MinorNum @DotSep @MinorTitle} @Right @B @PageNum } + # @RunningOddFoot { @Null } + # @RunningEvenTop { @B @PageNum @Right @I {@MajorNum @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 @BookSetup @Use clause - options specific to books. # +# # +############################################################################### + +@Use { @BookSetup + @TitlePageFont { Schoolbook Bold} # title page font (not size) + # @SeparateIntroNumbering { Yes } # separate intro page numbers + # @PrefaceAfterContents { No } # Yes or No + # @ChapterStartPages { Any } # Any, Odd, Even, SamePage + # @ReferencesBeforeAppendices { No } # references before appendices + # @PrefaceWord { preface } # word for "Preface" + # @ContentsWord { contents } # word for "Contents" + # @FigureListWord { figurelist } # word for "List of Figures" + # @TableListWord { tablelist } # word for "List of Tables" + # @FloaterListWord { floaterlist } # word for "List of Floaters" + # @IntroductionWord { introduction } # word for "Introduction" + # @AbbreviationsWord { abbreviations } # word for "Abbreviations" + # @ChapterWord { chapter } # word for "Chapter" + # @AppendixWord { appendix } # word for "Appendix" + # @GlossaryWord { glossary } # word for "Glossary" + # @IndexWord { index } # word for "Index" + # @IndexAWord { index } # word for "Index" (A) + # @IndexBWord { index } # word for "Index" (B) + # @ColophonWord { colophon } # word for "Colophon" + # @SubPrefaceNumbers { None } # kind of sub-preface numbers + # @FirstSubPrefaceNumber { 1 } # first sub-preface number (Arabic) + # @SubIntroductionNumbers { None } # kind of sub-introduction numbers + # @FirstSubIntroductionNumber { 1 } # first sub-introduction number + # @ChapterNumbers { Arabic } # kind of chapter numbers + # @FirstChapterNumber { 1 } # first chapter number (Arabic) + # @SectionNumbers { Arabic } # kind of section numbers + # @FirstSectionNumber { 1 } # first section number (Arabic) + # @SubSectionNumbers { Arabic } # kind of subsection numbers + # @FirstSubSectionNumber { 1 } # first subsect number (Arabic) + # @SubSubSectionNumbers { Arabic } # kind of sub-subs. numbers + # @FirstSubSubSectionNumber { 1 } # first sub-sub number (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) + # @PartHeadingFont { Helvetica Base 2.50f } # part head font + # @PartHeadingBreak { clines 1.2fx nohyphen } # part head break + # @PartHeadingFormat { @CD number @DP @CD title } # part head format + @ChapterHeadingFont { Schoolbook Bold 2.00f } # chapter head font + # @ChapterHeadingBreak { ragged 1.2fx nohyphen } # chapter head break + # @ChapterHeadingFormat { number @DotSep title } # format of chap. head + # @SubPrefaceHeadingFont { Bold } # sub-preface head font + # @SubPrefaceHeadingBreak { ragged 1.2fx nohyphen } # sub-preface head break + # @SubPrefaceHeadingFormat { number @DotSep title } # format of s.-p. head + # @SubIntroductionHeadingFont { Bold } # sub-intro head font + # @SubIntroductionHeadingBreak { ragged 1.2fx nohyphen} # sub-intro head break + # @SubIntroductionHeadingFormat { number @DotSep title} # format of sub-intro. hd + @SectionHeadingFont { Schoolbook Bold 1.2f } # section head font + # @SectionHeadingBreak { ragged 1.2fx nohyphen } # section head break + # @SectionHeadingFormat { number @DotSep title } # section head fmt + # @SubSectionHeadingFont { Bold } # subs. head font + # @SubSectionHeadingBreak { ragged 1.2fx nohyphen } # subs. head break + # @SubSectionHeadingFormat { number @DotSep title } # subs. head fmt + # @SubSubSectionHeadingFont { Slope } # sub-subs. head font + # @SubSubSectionHeadingBreak { ragged 1.2fx nohyphen } # sub-subs. head break + # @SubSubSectionHeadingFormat { number @DotSep title } # sub-subs. head fmt + @AppendixHeadingFont { Schoolbook Bold 2.00f } # appendix head font + # @AppendixHeadingBreak { ragged 1.2fx nohyphen } # appendix head break + # @AppendixHeadingFormat { number @DotSep title } # appendix head fmt + @SubAppendixHeadingFont { Schoolbook Bold } # subapp. head font + # @SubAppendixHeadingBreak { ragged 1.2fx nohyphen } # subapp. head break + # @SubAppendixHeadingFormat { number @DotSep title } # subapp. head fmt + # @SubSubAppendixHeadingFont { Slope } # sub-suba. head font + # @SubSubAppendixHeadingBreak { ragged 1.2fx nohyphen } # sub-suba. head break + # @SubSubAppendixHeadingFormat{ number @DotSep title } # sub-suba. head fmt + # @AbovePartGap { 4.00f } # gap above part title + # @AboveChapterGap { 3.00f } # above major titles + # @SubPrefaceGap { 2.0v @OrIfPlain 3f } # between sub-prefaces + # @SubIntroductionGap { 2.0v @OrIfPlain 3f } # between sub-intros + # @SectionGap { 2.0v @OrIfPlain 3f } # between sections + # @SubSectionGap { 1.5v @OrIfPlain 2f } # between subsects + # @SubSubSectionGap { 1.5v @OrIfPlain 2f } # between sub-subs. + # @SubAppendixGap { 2.0v @OrIfPlain 3f } # between subappendices + # @SubSubAppendixGap { 1.5v @OrIfPlain 2f } # between sub-subapps + # @PrefaceInContents { Yes } # add preface to contents + # @SubPrefaceInContents { No } # add sub-preface to contents + # @AbbreviationsInContents { Yes } # add abbreviations to contents + # @IntroductionInContents { Yes } # add introduction to contents + # @SubIntroductionInContents { No } # add sub-intro to contents + # @PartInContents { Yes } # add parts to contents + # @ChapterInContents { Yes } # add chapters to contents + # @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 + # @GlossaryInContents { Yes } # add glossary to contents + # @IndexInContents { Yes } # add index to contents + # @IndexAInContents { Yes } # add index A to contents + # @IndexBInContents { Yes } # add index B to contents + # @ColophonInContents { Yes } # add colophon to contents + # @PrefaceContentsIndent { 0f } # indent in contents of preface + # @SubPrefaceContentsIndent { 3f } # indent in contents of sub-preface + # @AbbreviationsContentsIndent{ 0f } # indent in contents of abbreviations + # @IntroductionContentsIndent { 0f } # indent in contents of introduction + # @SubIntroductionContentsIndent { 3f } # indent in contents of sub-intro + # @PartContentsIndent { 0.5rt } # indent in contents of part (dft is ctr) + # @ChapterContentsIndent { 0f } # indent in contents of chapter + # @SectionContentsIndent { 3f } # indent in contents of section + # @SubSectionContentsIndent { 6f } # indent in contents of subsection + # @SubSubSectionContentsIndent{ 9f } # indent in contents of sub-subsection + # @AppendixContentsIndent { 0f } # indent in contents of appendix + # @SubAppendixContentsIndent { 3f } # indent in contents of sub-appendix + # @SubSubAppendixContentsIndent { 6f } # indent in contents of sub-subappendix + # @ReferencesContentsIndent { 0f } # indent in contents of references + # @GlossaryContentsIndent { 0f } # indent in contents of gloassary + # @IndexContentsIndent { 0f } # indent in contents of index + # @IndexAContentsIndent { 0f } # indent in contents of index A + # @IndexBContentsIndent { 0f } # indent in contents of index B + # @ColophonContentsIndent { 0f } # indent in contents of colophon + # @SubPrefaceNumInTheorems { No } # theorem num has sub-preface num + # @SubIntroductionNumInTheorems { No } # theorem num has sub-intro num + # @ChapterNumInTheorems { Yes } # theorem num has chapter num + # @SectionNumInTheorems { No } # theorem num has section num + # @SubSectionNumInTheorems { No } # theorem num has subsect num + # @SubSubSectionNumInTheorems { No } # theorem num has sub-ss. num + # @AppendixNumInTheorems { Yes } # theorem num has appendix num + # @SubAppendixNumInTheorems { No } # theorem num has sub-app num + # @SubSubAppendixNumInTheorems{ No } # theorem num has sub-sa. num + # @SubPrefaceNumInDisplays { No } # display num has sub-preface num + # @SubIntroductionNumInDisplays { No } # display num has sub-intro num + # @ChapterNumInDisplays { Yes } # display num has chapter 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 + # @SubPrefaceNumInFigures { No } # figure num has sub-preface num + # @SubIntroductionumInFigures { No } # figure num has sub-intro num + # @ChapterNumInFigures { Yes } # figure num has chapter num + # @SectionNumInFigures { No } # figure num has section num + # @SubSectionNumInFigures { No } # figure num has subsect num + # @SubSubSectionNumInFigures { No } # figure num has sub-ss. num + # @AppendixNumInFigures { Yes } # figure num has appendix num + # @SubAppendixNumInFigures { No } # figure num has sub-app num + # @SubSubAppendixNumInFigures { No } # figure num has sub-sa. num + # @SubPrefaceNumInTables { No } # table num has sub-preface num + # @SubIntroductionumInTables { No } # table num has sub-intro num + # @ChapterNumInTables { Yes } # table num has chapter num + # @SectionNumInTables { No } # table num has section num + # @SubSectionNumInTables { No } # table num has subsect num + # @SubSubSectionNumInTables { No } # table num has sub-ss. num + # @AppendixNumInTables { Yes } # table num has appendix num + # @SubAppendixNumInTables { No } # table num has sub-app num + # @SubSubAppendixNumInTables { No } # table num has sub-sa. num + # @SubPrefaceNumInFloaters { No } # floater num has sub-preface num + # @SubIntroductionumInFloaters{ No } # floater num has sub-intro num + # @ChapterNumInFloaters { Yes } # floater num has chapter num + # @SectionNumInFloaters { No } # floater num has section num + # @SubSectionNumInFloaters { No } # floater num has subsect num + # @SubSubSectionNumInFloaters { No } # floater num has sub-ss. num + # @AppendixNumInFloaters { Yes } # floater num has appendix num + # @SubAppendixNumInFloaters { No } # floater num has sub-app num + # @SubSubAppendixNumInFloaters{ No } # floater num has sub-sa. num + # @SubPrefaceNumInRunners { No } # runners have sub-preface num + # @SubIntroductionNumInRunners { No } # runners have sub-intro num + # @SectionNumInRunners { Yes } # runners have section num + # @SubSectionNumInRunners { No } # runners have subsect num + # @SubSubSectionNumInRunners { No } # runners have sub-ss. num + # @SubAppendixNumInRunners { Yes } # runners have sub-app num + # @SubSubAppendixNumInRunners { No } # runners have sub-sa. num + # @PrefacePrefix { } # for structured page nums + # @ContentsPrefix { } # for structured page nums + # @FigureContentsPrefix { } # for structured page nums + # @TableContentsPrefix { } # for structured page nums + # @FloaterContentsPrefix { } # for structured page nums + # @AbbreviationsPrefix { } # for structured page nums + # @IntroductionPrefix { } # for structured page nums + # @ChapterPrefix { } # for structured page nums + # @AppendixPrefix { } # for structured page nums + # @ReferencesPrefix { } # for structured page nums + # @GlossaryPrefix { } # for structured page nums + # @IndexPrefix { } # for structured page nums + # @IndexAPrefix { } # for structured page nums + # @IndexBPrefix { } # for structured page nums + # @ColophonPrefix { } # for structured page nums +} + + +############################################################################### +# # +# @Database (and @SysDatabase) clauses go here. # +# # +############################################################################### + +@SysDatabase @FontDef { fontdefs } # font definitions +@SysDatabase @RefStyle { refstyle } # reference printing styles + +# Local Variables: +# coding: latin-1 +# mode: lout +# End: diff --git a/doc/user/markup.skb b/doc/user/markup.skb index b904e65..7469703 100644 --- a/doc/user/markup.skb +++ b/doc/user/markup.skb @@ -1,5 +1,6 @@ -;;; markup.skb -- The Skribe standard markups +;;; markup.skb -- The Skribilo standard markups ;;; +;;; Copyright 2007 Ludovic Courtès ;;; Copyright 2003, 2004 Manuel Serrano ;;; ;;; @@ -91,3 +92,9 @@ calls are legal ,(tt "section") calls:]) (include "table.skb") (include "footnote.skb") (include "char.skb")) + +;; Local Variables: +;; coding: latin-1 +;; comment-start: ";" +;; comment-end: "" +;; End: diff --git a/doc/user/package.skb b/doc/user/package.skb index dba26b3..f51dacf 100644 --- a/doc/user/package.skb +++ b/doc/user/package.skb @@ -1,7 +1,7 @@ ;;; package.skb -- Packages ;;; -;;; Copyright 2001, 2004, 2005 Manuel Serrano ;;; Copyright 2007 Ludovic Courtès +;;; Copyright 2001, 2004, 2005 Manuel Serrano ;;; ;;; ;;; This program is free software; you can redistribute it and/or modify @@ -198,9 +198,15 @@ container.])) (subsubsection :title [Example] + (resolve (lambda (n e env) + ;; XXX: In Lout, the sample code is unbreakable for + ;; some reason, which breaks the whole document. + (if (engine-format? "html" e) + (list (p [Below is a full example using ,(tt [html-navtabs]).]) - - (prgm :file "src/html-navtabs.skb"))))) + (prgm :file "src/html-navtabs.skb")) + [Please see the HTML version of the manual + for an example.]))))))) ;*---------------------------------------------------------------------*/ ;* Emacs indentation */ diff --git a/doc/user/src/html-navtabs.skb b/doc/user/src/html-navtabs.skb index 27701d4..35dba0d 100644 --- a/doc/user/src/html-navtabs.skb +++ b/doc/user/src/html-navtabs.skb @@ -104,7 +104,7 @@ ;*---------------------------------------------------------------------*/ (document :title title :html-title "html-navtabs" :html-tabs-bar - (table (tr (td :align 'right "a two-lines table")) + (table (tr (td :align 'right "a two-line table")) (tr (td :align 'right "yep"))) (section :title "Foo" :number #f (p [The in-line foo section])) diff --git a/doc/user/user.skb b/doc/user/user.skb index 5cfe209..588b6f6 100644 --- a/doc/user/user.skb +++ b/doc/user/user.skb @@ -1,7 +1,7 @@ ;;; user.skb -- The Skribilo user manual. ;;; +;;; Copyright 2005, 2006, 2007 Ludovic Courtès ;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano -;;; Copyright 2005, 2006 Ludovic Courtès ;;; ;;; ;;; This program is free software; you can redistribute it and/or modify @@ -32,7 +32,8 @@ ;* Packages */ ;*---------------------------------------------------------------------*/ (use-modules (skribilo package eq) - (skribilo package pie)) + (skribilo package pie) + (skribilo package slide)) ;; Load the compile-time configuration file. (load "doc-config.scm") @@ -47,12 +48,6 @@ (let ((he (find-engine 'html))) (engine-custom-set! he 'body-width 100.)) -;*---------------------------------------------------------------------*/ -;* Lout custom */ -;*---------------------------------------------------------------------*/ -(let ((le (find-engine 'lout))) - (engine-custom-set! le 'document-type 'doc)) - ;*---------------------------------------------------------------------*/ ;* The document */ @@ -70,10 +65,14 @@ (author :name "Ludovic Courtès" :email (mailto *courtes-mail*))) -(p :class "welcome" +(resolve (lambda (n e env) + ;; The Lout engine uses the `book' style, where we can't have + ;; text outside of chapters. + (and (not (engine-format? "lout" e)) + (p :class "welcome" [Welcome to the User Manual for Skribilo version ,(skribe-release). If you are new to Skribilo, please read the ,(ref :ident "intro" -:text [introduction]) first.]) +:text [introduction]) first.])))) ;;; Introduction @@ -187,3 +186,9 @@ as HTML, Info pages, man pages, Postscript, etc.])))) (the-index :column (if (engine-format? "latex") 2 3) *markup-index* *custom-index* *function-index* *package-index* (default-index))))) + +;; Local Variables: +;; coding: latin-1 +;; comment-start: ";" +;; comment-end: "" +;; End: -- cgit v1.2.3