A Scribble Document Style for NSF Proposals
page-numbers
author
turn-page+  reset
chapter
titled-para
medskip
8.12

A Scribble Document Style for NSF Proposals🔗ℹ

Christos Dimoulas and Robby Findler

The scribble/nsf language is like scribble/base, but configured with LaTeX style defaults to conform to the NSF PAPPG.

Here’s some boilerplate to get you started:

  #lang scribble/nsf
  @(define proposal-title "SHF: Small: Doing More with Less")
  @(define-cite ~cite citet generate-bibliography #:style number-style)
  @(define plt-tr1
    (make-bib #:title    "Reference: Racket"
              #:author   (authors "Matthew Flatt" "PLT")
              #:date     "2010"
              #:location (techrpt-location #:institution "PLT Design Inc."
                                           #:number "PLT-TR-2010-1")
              #:url      "https://racket-lang.org/tr1/"))
  @title{@proposal-title}
  @chapter[@proposal-title]{Project Summary}
  @centered{@bold{Overview}}
  This is going to be great. Research, research, research.
   
  @bold{Keywords:} great work, just great.
   
  @centered{@bold{Intellectual Merit}}
   
  @centered{@bold{Broader Impacts}}
   
  @chapter[@proposal-title]{Project Description}
   
  @section{Introduction}
   
  Stuff goes here; this work builds on Racket@~cite[plt-tr1].
   
  @generate-bibliography[#:sec-title "References Cited"]

Enables page numbers. Must be used on the same line as #lang, with only whitespace between scribble/nsf and the format name, i.e.:

  #lang scribble/nsf @page-numbers

procedure

(author names department university)  block?

  names : (listof string?)
  department : content?
  university : content?
Adds the authors given by names, department, and university to the document.

procedure

(turn-page+reset)  element?

Returns an element that ends the current page.

procedure

(chapter proposal-title chapter-title)  element?

  proposal-title : pre-content?
  chapter-title : pre-content?
Ends the current page and adds a heading based on proposal-title and chapter-title on the page just after.

procedure

(titled-para title)  element?

  title : pre-content?
Adds some vertical space and starts a new paragraph without any indentation, but with title (in bold).

procedure

(medskip)  element?

Returns an element that adds some vertical space using LaTeX’s \medskip.