racket/collects/meta/web/www/techreports.rkt
2011-12-31 14:24:41 -05:00

106 lines
4.7 KiB
Racket
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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): 159182, 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-))}})