aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès2007-12-01 16:01:58 +0100
committerLudovic Courtès2007-12-01 16:01:58 +0100
commit54ae61cd32d6580791aff55bfce96386fdff9550 (patch)
tree628ad90a727839e76f0c2f20dcf058e6f895b4a7
parentdc4a68366c60ae8c0e9f2f4632d28bd8cae52cd0 (diff)
downloadskribilo-54ae61cd32d6580791aff55bfce96386fdff9550.tar.gz
skribilo-54ae61cd32d6580791aff55bfce96386fdff9550.tar.lz
skribilo-54ae61cd32d6580791aff55bfce96386fdff9550.zip
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.
-rw-r--r--doc/modules/skribilo/documentation/api.scm11
-rw-r--r--doc/modules/skribilo/documentation/manual.scm46
-rw-r--r--doc/user/Makefile.am5
-rw-r--r--doc/user/char.skb31
-rw-r--r--doc/user/lout/book-style.lout543
-rw-r--r--doc/user/markup.skb9
-rw-r--r--doc/user/package.skb12
-rw-r--r--doc/user/src/html-navtabs.skb2
-rw-r--r--doc/user/user.skb25
9 files changed, 639 insertions, 45 deletions
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 <ludo@gnu.org>
;;; Copyright 2003, 2004 Manuel Serrano
-;;; Copyright 2005, 2006, 2007 Ludovic Courtès <ludovic.courtes@laas.fr>
;;;
;;;
;;; 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 <ludo@gnu.org>
+;;; 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)))
@@ -118,6 +118,35 @@
(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 ... */
;*---------------------------------------------------------------------*/
(define-markup (prgm :rest opts :key (language skribe) (line #f) (file #f) (definition #f))
@@ -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))
- string<?))))))
+(apply ctrtable
+ :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))
+ string<?)))))
diff --git a/doc/user/lout/book-style.lout b/doc/user/lout/book-style.lout
new file mode 100644
index 0000000..da54d3f
--- /dev/null
+++ b/doc/user/lout/book-style.lout
@@ -0,0 +1,543 @@
+###############################################################################
+# #
+# Lout setup file for the `book' style of the manual. #
+# #
+# Ludovic Courtès <ludo@gnu.org> #
+# #
+###############################################################################
+
+
+###############################################################################
+# #
+# @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 <ludo@gnu.org>
;;; 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 <ludo@gnu.org>
+;;; 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 <ludo@gnu.org>
;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano
-;;; Copyright 2005, 2006 Ludovic Courtès <ludovic.courtes@laas.fr>
;;;
;;;
;;; 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: