jfp.scrbl (2466B)
1 #lang scribble/manual 2 @(require (except-in "utils.rkt" author) (for-label scribble/jfp)) 3 4 @(define-syntax-rule (def base-author) 5 (begin 6 (require (for-label scribble/base)) 7 (define base-author @racket[author]))) 8 @(def base-author) 9 10 @title{JFP Paper Format} 11 12 @defmodulelang[scribble/jfp]{The @racketmodname[scribble/jfp] 13 language is like @racketmodname[scribble/base], but configured with 14 Latex style defaults to use the @filepath{jfp1.cls} class 15 file. The class file is not included with Scribble due to license 16 issues, but if the file is not manually installed into the 17 @racket[scribble/jfp] collections, then it is downloaded on demand to 18 @racket[(find-system-path 'addon-dir)].} 19 20 Latex output with @racketmodname[scribble/jfp] uses a main-document 21 version supplied to @racket[title] as the short-form document name (to 22 be used in page headers). 23 24 @defproc[(abstract [pre-content pre-content?] ...) block?]{ 25 26 Generates a @tech{nested flow} for a paper abstract.} 27 28 @defform[(include-abstract module-path)]{ 29 30 Similar to @racket[include-section], but incorporates the document in the 31 specified module as an abstract. The document must have no title or 32 sub-parts.} 33 34 @defproc[(author [name pre-content?] ...) 35 block?]{ 36 37 A replacement for @base-author from @racketmodname[scribble/base].} 38 39 @defproc[((author/short [short-name pre-content?] ...) [long-name pre-content?] ...) 40 block?]{ 41 42 Like @racket[author], but allows the short-form names (to be used in 43 page headers) to be specified separately from the long-form name.} 44 45 @deftogether[( 46 @defproc[(affiliation [place pre-content?] ...) element?] 47 @defproc[(affiliation-mark [mark pre-content?] ...) element?] 48 @defproc[(affiliation-sep) element?] 49 )]{ 50 51 Use @racket[affiliation] within @racket[author] or the long-name part 52 of @racket[author/short] to specify affiliations after all authors. 53 If different authors have different affiliations, use 54 @racket[affiliation-mark] with a number after each author, and then 55 use @racket[affiliation-mark] before each different affiliation within 56 a single @racket[affiliation], using @racket[(affiliation-sep)] to 57 separate affiliations.} 58 59 Example: 60 @codeblock|{ 61 #lang scribble/jfp 62 63 @title{My First Love Story} 64 65 @((author/short "Romeo M. and Juliet C.") 66 "ROMEO" (affiliation-mark "1") 67 " and " 68 "JULIET" (affiliation-mark "2") 69 @affiliation[ 70 "House Montague" (affiliation-mark "1") 71 (affiliation-sep) 72 "House Capulet" (affiliation-mark "2")]) 73 }|