106 lines
4.7 KiB
Racket
106 lines
4.7 KiB
Racket
#lang meta/web
|
||
|
||
;; New style TR entries
|
||
|
||
(require "resources.rkt" "people.rkt" "../download/data.rkt")
|
||
|
||
(define (-all-techreports-)
|
||
(list (TR 1 'reference "Reference: Racket" '(mflatt plt)
|
||
#:description "Racket Programming Language")
|
||
(TR 2 'drracket "DrRacket: Programming Environment" '(robby plt)
|
||
#:description "DrRacket API"
|
||
#:note
|
||
@list{
|
||
Preferred generic citation:
|
||
@blockquote[style: "margin-top: 0.5ex; margin-bottom: 0.5ex;"]{
|
||
R. B. Findler, J. Clements, C. Flanagan, M. Flatt,
|
||
S. Krishnamurthi, P. Steckler and M. Felleisen. @br
|
||
@i{DrScheme: A programming environment for Scheme.} @br
|
||
Journal of Functional Programming, 12(2): 159–182, March 2002.}
|
||
Please cite the DrRacket technical report only if internal
|
||
details of DrRacket are concerned, otherwise use the DrScheme
|
||
reference.})
|
||
(TR 3 'gui "GUI: Racket Graphics Toolkit" '(mflatt robby clements)
|
||
#:description "Racket Graphics Toolkit")))
|
||
|
||
(define (doc-url doc [fmt 'html] [ver 'recent])
|
||
(format "http://download.racket-lang.org/docs/~a/~a/~a~a" ver fmt doc
|
||
(if (eq? 'html fmt) "" (format ".~a" fmt))))
|
||
|
||
(define (TR num docname title authors* #:description [desc title]
|
||
#:note [note #f])
|
||
(define tr-name @list{PLT-TR-2010-@num})
|
||
(define author-strings
|
||
(map (λ (a) (if (eq? 'plt a) "PLT" (person-bibname (find-person a))))
|
||
authors*))
|
||
(define (link fmt [ver 'recent]) @a[href: (doc-url docname fmt ver)]{[@fmt]})
|
||
(define (title-line link?)
|
||
@list{@big{@b{@(if link? cite-page values){@tr-name}}}
|
||
@|nbsp nbsp| @small{@link['html] @link['pdf]}})
|
||
(define (content)
|
||
@list{@(add-between author-strings " and ") @br
|
||
@i{@title} @br
|
||
PLT Technical Report #@num @br
|
||
@(and note @div[style: "margin-top: 1ex; font-size: small;"]{
|
||
@note})})
|
||
(define ((refblock . title) . body)
|
||
@list{@h2{@title}
|
||
@blockquote{@PRE{@body}}})
|
||
(define cite-page
|
||
@page[#:file (format "tr~a/" num) #:title tr-name #:part-of 'learning]{
|
||
@h1{@title-line[#f]}
|
||
@p*{@blockquote{@big{@content}}
|
||
@~ For citations of the @desc, please use @TT{\cite{plt-tr@num}} in
|
||
LaTeX, or @TT|{@cite[plt-tr1]}| in Scribble, using the definitions
|
||
below.
|
||
@~ For references to specific releases and/or chapters, use
|
||
@TT{\cite[Version M.N]{plt-tr@num}} or
|
||
@TT|{@cite[(in-bib plt-tr|@num "Version M.N")]}| instead. The
|
||
year in the bibliographic entry should be 2010 regardless of the
|
||
version's date.}
|
||
@@refblock{BibTeX}|{
|
||
@techreport{plt-tr|@num,
|
||
title = {|@title},
|
||
author = {|@(add-between author-strings " and ")},
|
||
number = {|@tr-name},
|
||
institution = {PLT Inc.},
|
||
year = {2010},
|
||
note = {\url{|@(url-of cite-page #t)}}
|
||
}}|
|
||
@@refblock{Scribble}|{
|
||
(define plt-tr|@num
|
||
(make-bib #:title "|@title"
|
||
#:author |@(format "~s" (cons 'authors author-strings))
|
||
#:date "2010"
|
||
#:location (techrpt-location #:institution "PLT Inc."
|
||
#:number "|@tr-name")
|
||
#:url "|@(url-of cite-page #t)"))}|
|
||
@h2{Specific Versions}
|
||
@blockquote{
|
||
@table[frame: 'box rules: 'rows cellpadding: 10]{
|
||
@(for/list ([r (in-list all-releases)])
|
||
(define v (release-version r))
|
||
@tr{@td{@b{@v} @br @small{(@(release-date-string r))}}
|
||
@td{@TT{\cite[Version @v]{plt-tr@num}} @br
|
||
@TT|{@cite[(in-bib plt-tr|@num "Version |@v")]}|}
|
||
@td{@link['html v], @link['pdf v]}})}
|
||
@p{@small{Reminder: the release dates should not be included in the
|
||
entry or the citation.}}}})
|
||
@list{@dt{@title-line[#t]}
|
||
@dd[style: "margin-bottom: 1.5ex;"]{
|
||
@content}})
|
||
|
||
(provide techreports)
|
||
(define techreports
|
||
@page[#:file "tr/" #:title "PLT Technical Reports" #:part-of 'learning]{
|
||
@p*{
|
||
@~ For citations of generic pieces of the Racket infrastructure, please use
|
||
@TT{\cite{plt-tr1}}, @TT{\cite{plt-tr2}}, etc. in LaTeX, or
|
||
@TT|{@cite[plt-tr1]}|, @TT|{@cite[plt-tr2]}|, etc. in Scribble, with the
|
||
BibTeX and Scribble entries provided in the web pages below.
|
||
@~ For references to specific releases and/or chapters of the language, use
|
||
@TT{\cite[Version M.N]{plt-tr1}} or
|
||
@TT|{@cite[(in-bib plt-tr1 "Version M.N")]}|
|
||
instead.}
|
||
@dl{@(add-newlines (-all-techreports-))}})
|