Mike Renfro (GitHub/Twitter: @mikerenfro)
This needs better documentation, but for now, this documentclass lets you make relatively compact NSF proposals with a minimum of fiddly ad hoc formatting inside the main document. We've used this documentclass for both an MRI and a CC* proposal in 2021, and it's just been recently been verified for the 2024 PAPPG standards (as far as I know).
\documentclass[fontsize,basefont]
where fontsize
is 10pt
, 11pt
, or
12pt
, and basefont
is any of:
arial
cm
(the default)courier-new
helvetica
palatino
palatino-linotype
(may only work by default on Windows)times-new-roman
Optionally, add the tg
class option to use the TeX Gyre equivalents to Courier
New, Helvetica, Palatino, or Times New Roman.
Now write the rest of your proposal, using \chapter
on down to \paragraph
to break things up. You'll want to use the starred versions of these on the
one-page project summary. See nsf-demo.tex
for an example.
This documentclass uses the memoir class as its base, and supports proposals
with a base font size of 10 points and higher (for the arial
, courier-new
,
helvetica
, palatino
, and palatino-linotype
options), or 11 points and higher (for the cm
and times-new-roman
options).
It adds a small amount of whitespace around lines at 10pt, since NSF's PDF
readers will often flag a 10pt document as having more than 6 lines per inch.
We also noticed that LuaLaTeX creates a slightly different line height than
pdfLaTeX, so if you're using Overleaf, you may want to set the default engine
to pdfLaTeX, or if you find a better solution that works with both engines,
send me a pull request.
It disables most, if not all, of the hyperlinks in the main body of the proposal, leaving hyperlinks active in the references.
The documentclass code is around 300 lines, including whitespace and comments, so it should be relatively readable (over half of that is for handling different base fonts and sizes). The documentclass depends on the following packages:
- fontspec (if using LuaLaTeX or XeLaTeX)
- helvet (for option
helvetica
) - hyperref
- iftex
- mathpazo (for option
palatino
andpalatino-linotype
) - sansmath (for option
arial
andhelvetica
) - xstring
Sample source files for a proposal can be found in:
- nsf-demo.tex
- nsf-demo.bib
The following tables are grouped by base font, latex engine, and font size. The "summary", "description", and "references" PDFs represent the one-page summary, the <=15-page project description, and the bibliography for a sample NSF proposal. These PDFs can be uploaded to research.gov on a test project, and they shouldn't throw any warnings as provided. Any N/A entries represent either an impossible combination of font and engine (e.g., Arial and pdflatex), or an invalid combination of font and size per the NSF PAPPG (e.g., Computer Modern at 10 pt).
10 pt | 11 pt | 12 pt | |
---|---|---|---|
N/A | N/A | N/A | |
pdfxe | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
pdflua | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
10 pt | 11 pt | 12 pt | |
---|---|---|---|
N/A | summary, description, references, combined | summary, description, references, combined | |
pdfxe | N/A | summary, description, references, combined | summary, description, references, combined |
pdflua | N/A | summary, description, references, combined | summary, description, references, combined |
10 pt | 11 pt | 12 pt | |
---|---|---|---|
N/A | N/A | N/A | |
pdfxe | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
pdflua | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
10 pt | 11 pt | 12 pt | |
---|---|---|---|
N/A | N/A | N/A | |
pdfxe | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
pdflua | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
10 pt | 11 pt | 12 pt | |
---|---|---|---|
summary, description, references, combined | summary, description, references, combined | summary, description, references, combined | |
pdfxe | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
pdflua | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
10 pt | 11 pt | 12 pt | |
---|---|---|---|
N/A | N/A | N/A | |
pdfxe | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
pdflua | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
10 pt | 11 pt | 12 pt | |
---|---|---|---|
summary, description, references, combined | summary, description, references, combined | summary, description, references, combined | |
pdfxe | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
pdflua | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
10 pt | 11 pt | 12 pt | |
---|---|---|---|
N/A | N/A | N/A | |
pdfxe | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
pdflua | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
10 pt | 11 pt | 12 pt | |
---|---|---|---|
N/A | N/A | N/A | |
pdfxe | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
pdflua | summary, description, references, combined | summary, description, references, combined | summary, description, references, combined |
10 pt | 11 pt | 12 pt | |
---|---|---|---|
N/A | N/A | N/A | |
pdfxe | N/A | summary, description, references, combined | summary, description, references, combined |
pdflua | N/A | summary, description, references, combined | summary, description, references, combined |
10 pt | 11 pt | 12 pt | |
---|---|---|---|
N/A | N/A | N/A | |
pdfxe | N/A | summary, description, references, combined | summary, description, references, combined |
pdflua | N/A | summary, description, references, combined | summary, description, references, combined |
The sample document nsf-demo.tex
adds the following packages not
specifically required by NSF, but really handy for these sorts of proposals:
- array (including a ragged right paragraph column type
P
) - biblatex
- booktabs (with a reduced value for
\tabcolsep
) - calc
- cleveref
- enumitem (including inline lists)
- graphicx
- multicol
- pifont
- siunitx (including binary units)
- xcolor
- xurl
As shown in the sample document, you can use a \chapter*
and \section*
for the 1-page Project Summary, \chapter
, \section
, \subsection
,
\subsubsection
, and \paragraph
commands as needed in the Project
Description, where the subsubsection and paragraph levels are unnumbered
by default.
Larger font sizes may trigger hyphenation problems for some words and drive
some lines into the right margin, so be sure to add hyphenation as necessary
(already done for the hurt2021
reference in nsf-demo.bib).
We also made a basic Gantt chart for one of the proposals. It uses
pgfgantt
, with just a bit of abuse to let
us have additional columns for which team member bears primary responsibility
or secondary responsibility. You'll find its source and output in the
images/
folder.