Skip to content

Instantly share code, notes, and snippets.

@vtta
Last active June 17, 2024 17:51
Show Gist options
  • Save vtta/1891bf6c64f3efd1eb8a0dad45648ffb to your computer and use it in GitHub Desktop.
Save vtta/1891bf6c64f3efd1eb8a0dad45648ffb to your computer and use it in GitHub Desktop.
https://typst.app/ template for USENIX paper submission
// - No longer than 12 single-spaced 8.5" x 11" pages, including figures and tables, plus as many pages as needed for references.
// - Submissions may include as many additional pages as needed for references but not for supplementary material in appendices.
// - Use 10-point type on 12-point (single-spaced) leading and Times Roman or a similar font for the body of the paper.
// - All text and figures fit inside a 7" x 9" (178 mm x 229 mm) block centered on the page, using two columns separated by 0.33" (8 mm) of whitespace. All graphs and figures should be readable when printed in black and white.
// - Papers not meeting these criteria will be rejected without review, and no deadline extensions will be granted for reformatting.
// - Pages should be numbered, and figures and tables should be legible in black and white, without requiring magnification.
// - The paper review process is double-blind. Authors must make a good faith effort to anonymize their submissions, and they should not identify themselves either explicitly or by implication (e.g., through the references or acknowledgments). Submissions violating the detailed formatting and anonymization rules will not be considered for review. If you are uncertain about how to anonymize your submission, please contact the program co-chairs, [email protected], well in advance of the submission deadline.
#let usenix(title: "", authors: (), references: "", abstract, body) = {
// Set the document's basic properties.
set document(author: authors.map(a => a.name), title: title)
set page(paper: "us-letter", margin: (x: 0.75in, y: 1in), numbering: "1")
set text(font: "Times", lang: "en", size: 10pt)
// Title row.
align(center)[#block(text(weight: "bold", 14pt, title))]
// Author information.
pad(
y: 12pt,
grid(
columns: (1fr,) * calc.min(3, authors.len()),
gutter: 12pt,
..authors.map(author =>
align(center, text(size: 10pt)[
#author.name \
_ #author.affiliation _]))))
// Set heading format
show heading.where(level: 1): set text(size: 12pt)
show heading: set text(size: 10pt)
set heading(numbering: "1.")
// Set paragraph spacing.
show par: set block(above: 6pt, below: 8pt)
// Abstract and main body.
set par(leading: 6pt, justify: true)
show: columns.with(2, gutter: 0.33in)
align(center)[
#set heading(numbering: none)
= Abstract
]
abstract
body
// Bibliography
colbreak(weak: true)
bibliography(references, title: "References", style: "ieee")
}
@vtta
Copy link
Author

vtta commented Apr 18, 2023

Example usage, create a main.typ with the following content and do a typst compile main.typ:

#import "usenix.typ": usenix

#let abstract = [
    Mats incinerated two elephants, then one lampstand pe-rused two dogs. One aardvark annoyingly sacrificed the irascible Jabberwocky, although two chrysanthemums tastes umpteen purple Klingons, because the irascible Jab-berwockies ran away. Two mats perused the schizophrenic pawnbrokers. One subway kisses the partly purple tickets, yet Quark auctioned off Tokyo. Almost quixotic chrysan-themums ran away. Five Macintoshes kisses the speedy trailers, because umpteen Klingons towed two fountains. Umpteen quite silly chrysanthemums untangles five sheep. Two aardvarks auctioned off Quark.
]

#show: full_text => usenix(
  title: "Title for USENIX Conference Paper: Sample First Page",
  authors: (
    (
      name: "Author’s Name",
      affiliation: "Affiliation"
    ),
    (
      name: "Author’s Name",
      affiliation: "Affiliation"
    ),
  ),
  references: "references.bib",
  abstract,
  full_text
)

= Header
Umpteen obese lampstands bought botulisms. Two bour-geois bureaux gossips, then Minnesota comfortably fights the irascible lampstands. One partly obese dog drunkenly kisses five schizophrenic pawnbrokers, although quixotic botulisms tastes five quite schizophrenic tickets, and ump-teen orifices grew up. Five extremely progressive televi-sions kisses one chrysanthemum. Tokyo ran away. Sub-ways incinerated the obese wart hogs, because two quixotic trailers easily tastes the speedy tickets, and one elephant auctioned off sheep, although five obese elephants kisses the slightly schizophrenic trailers, then one orifice partly cleverly auctioned off the bourgeois trailer. Wart hogs tele-phoned the very schizophrenic subways, although Minneso-ta marries one bureau, however five progressive poisons bought one orifice, although two tickets easily towed five Klingons, and partly obese Macintoshes perused one putrid television, however two Macintoshes tickled Batman.
Bourgeois bureaux tastes one speedy pawnbroker. Five irascible bureaux incinerated umpteen slightly bourgeois dwarves, yet fountains bought Minnesota, then five putrid televisions mostly annoyingly perused one bureau, because aardvarks untangles one progressive subway, although two schizophrenic televisions ran away. Five quixotic orifices lamely incinerated bourgeois cats, then the angst-ridden sheep grew up. Umpteen bourgeois cats incinerated two chrysanthemums, yet the partly angst-ridden elephant tastes umpteen orifices.

== Header
Two lampstands mostly annoyingly towed almost purple pawnbrokers, although Quark sacrificed five progressive aardvarks. Bureaux extremely cleverly auctioned off five orifices, and one schizophrenic botulism towed quixotic fountains, then five dwarves tickled umpteen televisions, even though Santa Claus annoyingly bought two partly angst-ridden dwarves, then the quixotic botulisms mostly cleverly perused one speedy lampstand. Two subways sacri-ficed Afghanistan, because one silly pawnbroker ran away, but umpteen schizophrenic trailers almost comfortably fights one putrid dwarf. 

== Header
The botulism grew up. Five televisions fights pawnbro-kers. The bureaux abused one slightly speedy fountain, yet two Macintoshes easily untangles one obese elephant, but umpteen irascible cats almost lamely.
Mats incinerated two elephants, then one lampstand pe-rused two dogs. One aardvark annoyingly sacrificed the irascible Jabberwocky, although two chrysanthemums tastes umpteen purple Klingons, because the irascible Jab-berwockies ran away. Two mats perused the schizophrenic pawnbrokers. One subway kisses the partly purple tickets, yet Quark auctioned off Tokyo. Almost quixotic chrysan-themums ran away. Five Macintoshes kisses the speedy trailers, because umpteen Klingons towed two fountains. 
Bourgeois bureaux tastes one speedy pawnbroker. Five irascible bureaux incinerated umpteen slightly bourgeois dwarves, yet fountains bought Minnesota, then five.

= Header
Umpteen obese lampstands bought botulisms. Two bour-geois bureaux gossips, then Minnesota comfortably fights the irascible lampstands. One partly obese dog drunkenly kisses five schizophrenic pawnbrokers, although quixotic botulisms tastes five quite schizophrenic tickets, and ump-teen orifices grew up. Five extremely progressive televi-sions kisses one chrysanthemum. Tokyo ran away. Sub-ways incinerated the obese wart hogs, because two quixotic trailers easily tastes the speedy tickets, and one elephant auctioned off sheep, although five obese elephants kisses the slightly

@SimonNie98
Copy link

Create 3 files, 1, main.typ, 2. usenix.typ, 3. references.bib

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment