► |  | Scribble: The Racket Documentation Tool

1 | Getting Started
2 | @ Syntax
3 | High-Level Scribble API
4 | Scribbling Documentation
5 | Literate Programming
6 | Low-Level Scribble API
7 | Running scribble
| Index

▼ | 3 | High-Level Scribble API

3.1 | Base Document Format
3.2 | Racket Manual Format
3.3 | Book Format
3.4 | Report Format
3.5 | SIGPLAN Paper Format
3.6 | ACM Paper Format
3.7 | JFP Paper Format
3.8 | LNCS Paper Format

On this page:

manuscript
acmsmall
acmlarge
acmtog
sigconf
siggraph
sigplan
sigchi
sigchi-a
review
screen
natbib
anonymous
authorversion
9pt
10pt
11pt
12pt
abstract
include-abstract
title
subtitle
author
acm Journal
acm Conference
acm Volume
acm Number
acm Article
acm Year
acm Month
acm Article Seq
acm Price
acm ISBN
acm DOI
acm Badge L
acm Badge R
email
email?
affiliation
affiliation?
institution
institution?
terms
keywords
start Page
ccsdesc
received
teaserfigure
sidebar
marginfigure
margintable
printonly
screenonly
anonsuppress
acks
grantsponsor
grantnum

6.11
top ← prev up next →

#### 3.6`` ACM Paper Format

#lang scribble/acmart | package: scribble-lib

The scribble/acmart language is like scribble/base, but configured with LaTeX style defaults to use the acmart class for typesetting publications for the Association of Computing Machinery.

Note: a scribble/acmart document must include a title and author.

Example:

#lang scribble/acmart
@title{Surreal Numbers}
@author{Ursula N. Owens}

> syntax manuscript
> syntax acmsmall
> syntax acmlarge
> syntax acmtog
> syntax sigconf
> syntax siggraph
> syntax sigplan
> syntax sigchi
> syntax sigchi-a

Enables the given document format. Use the format only on the same line as #lang, with only whitespace (or other options) between scribble/acmart and the format name:

#lang scribble/acmart @acmsmall

The manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, sigplan, sigchi, and sigchi-a formats are all mutually exclusive.

> syntax review
> syntax screen
> syntax natbib
> syntax anonymous
> syntax authorversion
> syntax 9pt
> syntax 10pt
> syntax 11pt
> syntax 12pt

Enables the given document format option. Use the option only on the same line as #lang, with only whitespace (or other options) between scribble/acmart and the format option. Any number of options may be used:

#lang scribble/acmart @acmsmall @review @anonymous @natbib

If multiple font size options are used, all but the last are ignored.

> procedure (abstract pre-content ...) → block?
> pre-content : pre-content?

Generates a nested flow for a paper abstract.

> syntax (include-abstract module-path)

Similar to include-section, but incorporates the document in the specified module as an abstract. The document must have no title or sub-parts.

> > procedure
> > (title | [ | #:short short-title |  |  |  |
> > |  | #:tag tag |  |  |  |
> > |  | #:tag-prefix prefix |  |  |  |
> > |  | #:style style |  |  |  |
> > |  | #:version version |  |  |  |
> > |  | #:date date] |  |  |  |
> > |  | title ...) |  | → |  | title-decl?
> short-title : pre-content? = #f
> tag : (or/c string? (listof string?) #f) = #f
> prefix : (or/c string? module-path? #f) = #f
> style : (or/c style? string? symbol? #f) = #f
> version : (or/c string? #f) = #f
> date : (or/c string? #f) = #f
> title : pre-content?

Specifies the title of the document, optionally with a short version of the title for running heads.

> procedure (subtitle pre-content ...) → content?
> pre-content : pre-content?

Specifies a subtitle.

> > procedure
> > (author | [ | #:orcid orcid |  |  |  |
> > |  | #:affiliation affiliation |  |  |  |
> > |  | #:email email] |  |  |  |
> > |  | name ...) |  | → |  | block?
> orcid : (or/c pre-content? #f) = #f
> | affiliation |  | : |  |
> (or/c pre-content?
> affiliation?
> (listof pre-content?)
> (listof affiliation?)
> #f)
> |  | = |  | #f
> email : (or/c pre-content? (listof pre-content?) #f) = #f
> name : pre-content?

Specifies an author with an optional email address, affiliation, and/or orcid.

> procedure (acmJournal journal ...) → block?
> journal : pre-content?
> procedure (acmConference name date venue) → block?
> name : pre-content?
> date : pre-content?
> venue : pre-content?
> procedure (acmVolume content ...) → block?
> content : pre-content?
> procedure (acmNumber content ...) → block?
> content : pre-content?
> procedure (acmArticle content ...) → block?
> content : pre-content?
> procedure (acmYear content ...) → block?
> content : pre-content?
> procedure (acmMonth content ...) → block?
> content : pre-content?
> procedure (acmArticleSeq content ...) → block?
> content : pre-content?
> procedure (acmPrice content ...) → block?
> content : pre-content?
> procedure (acmISBN content ...) → block?
> content : pre-content?
> procedure (acmDOI content ...) → block?
> content : pre-content?

Declares information that is collected into the front-matter region of the paper.

> procedure (acmBadgeL [#:url url] graphics) → block?
> url : string? = #f
> graphics : string?
> procedure (acmBadgeR [#:url url] graphics) → block?
> url : string? = #f
> graphics : string?

Display a special badge, such as an artifact evaluation badge, on the left or right of the first page. If url is provided, the screen version of the image links to the badge authority.

> procedure (email text ...) → email?
> text : pre-content?

Creates an email? object for use with author.

> procedure (email? email) → boolean?
> email : any/c

Returns #t if email is an email, #f otherwise.

> > procedure
> > (affiliation | [ | #:position position |  |  |  |
> > |  | #:institution institution |  |  |  |
> > |  | #:street-address street-address |  |  |  |
> > |  | #:city city |  |  |  |
> > |  | #:state state |  |  |  |
> > |  | #:postcode postcode |  |  |  |
> > |  | #:country country]) |  | → |  | affiliation?
> position : (or/c pre-content? #f) = #f
> institution : (listof (or/c pre-content? institution?)) = '()
> street-address : (or/c pre-content? #f) = #f
> city : (or/c pre-content? #f) = #f
> state : (or/c pre-content? #f) = #f
> postcode : (or/c pre-content? #f) = #f
> country : (or/c pre-content? #f) = #f

Creates an affiliation? object for use with author.

> procedure (affiliation? aff) → boolean?
> aff : any/c

Returns #t if aff is an affiliation, #f otherwise.

> > procedure
> > (institution | [ | #:departments departments] |  |  |  |
> > |  | inst ...) |  | → |  | institution?
> | departments |  | : |  | (or/c pre-content? institution? (listof institution))
> |  |  | = |  | '()
> inst : institution?

Creates an institution? object for use in author.

> procedure (institution? inst) → boolean
> inst : any/c

Returns #t if inst is an institution, #f otherwise.

> #lang scribble/acmart
> @title{Some Title}
> @author["David Van Horn"
> #:affiliation @affiliation[
> #:institution
> @institution[
> #:departments (list @institution{Department of Computer Science}
> @institution{UMIACS})]{
> University of Maryland}
> #:city "College Park"
> #:state "Maryland"]
> #:email "dvanhorn@cs.umd.edu"]}
> @abstract{This is an abstract.}

> procedure (terms content ...) → content?
> content : pre-content?
> procedure (keywords content ...) → content?
> content : pre-content?

Typesets term and keyword information for the paper, which is normally placed immediately after an abstract form. See also http://www.acm.org/about/class/how-to-use.

For terms, each general term should be in titlecase. Terms are usually drawn from a fixed list, and they are usually optional.

For keywords, capitalize only the first letter of the first word, separate phrases by commas, and do not include “and” before the last one. Keywords should be noun phrases, not adjectives.

> procedure (startPage content ...) → content?
> content : pre-content?

Sets the start page for the paper.

> procedure (ccsdesc #:number number? content ...) → content?
> number? : #f
> content : pre-content?

Declares CCS description with optional numeric code.

> procedure (received [#:stage stage] date) → content?
> stage : string? = #f
> date : string?

Sets the history of the publication. If stage is omitted, it defaults to "Received" for the first occurrence and "revised" in subsequent uses.

> @received{February 2007}
> @received[#:stage "revised"]{March 2009}
> @received[#:stage "accepted"]{June 2009}

> procedure (teaserfigure content ...) → block?
> content : pre-flow?

Creates a teaser figure to appear before main text.

> procedure (sidebar content ...) → block?
> content : pre-flow?
> procedure (marginfigure content ...) → block?
> content : pre-flow?
> procedure (margintable content ...) → block?
> content : pre-flow?

In the sigchi-a format, special sidebars, tables and figures on the margin.

> procedure (printonly content ...) → block?
> content : pre-flow?
> procedure (screenonly content ...) → block?
> content : pre-flow?
> procedure (anonsuppress content ...) → block?
> content : pre-flow?

Marks content to be included only for print or screen editions, or excluded from anonymous editions.

> procedure (acks content ...) → block?
> content : pre-flow?

Creates an unnumbered section “Acknowledgments” section, unless the anonymous mode is selected.

> procedure (grantsponsor sponsorID name url) → content?
> sponsorID : string?
> name : string?
> url : string?
> procedure (grantnum [#:url url] sponsorID num) → content?
> url : string? = #f
> sponsorID : string?
> num : string?

All financial support must be listed using the grantsponsor and grantnum commands inside of acks.

Here sponsorID is the unique ID used to match grants to sponsors, name is the name of the sponsor. The sponsorID of a grantnum must match some sponsorID of a grantsponsor command.

> @acks{
> The author thanks Benjamin Greenman for helpful comments on this
> code. Financial support provided by the @grantsponsor["NSF7000"
> "National Scribble Foundation"]{http://racket-lang.org} under
> grant No.: @grantnum["NSF7000"]{867-5309}.}

Added in version 1.20 of package scribble-lib.

top ← prev up next →