src/rendercv/renderer/rendercv_typst/README.md
A CV/resume typesetting package for academics and engineers. Part of RenderCV.
All six looks below are produced by the same package with different parameter values.
<table> <tr> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> </tr> </table>See the examples directory for the full source of each.
typst init @preview/rendercv
Or import into an existing file:
#import "@preview/rendercv:0.3.0": *
#import "@preview/rendercv:0.3.0": *
#show: rendercv.with(
name: "John Doe",
)
= John Doe
#headline([Software Engineer])
#connections(
[San Francisco, CA],
[#link("mailto:[email protected]")[john\@example.com]],
[#link("https://github.com/johndoe")[github.com/johndoe]],
)
== Education
#education-entry(
[*Princeton University*, PhD in Computer Science -- Princeton, NJ],
[Sept 2018 -- May 2023],
main-column-second-row: [
- Thesis: Efficient Neural Architecture Search
- GPA: 3.97/4.00
],
)
== Experience
#regular-entry(
[*Software Engineer*, Company Name -- City, State],
[June 2023 -- present],
main-column-second-row: [
- Developed and deployed scalable web applications
- Improved system performance by 40%
],
)
== Skills
*Languages:* Python, JavaScript, TypeScript, Rust
headline(content) -- Headline below the nameconnections(...items) -- Contact info with automatic line wrappingconnection-with-icon(icon-name, content) -- Connection item with a Font Awesome iconregular-entry(main-column, date-and-location-column, main-column-second-row: none) -- Standard entry for experience, projects, publicationseducation-entry(main-column, date-and-location-column, degree-column: none, main-column-second-row: none) -- Entry with an optional degree columnsummary(content) -- Summary line within an entrycontent-area(content) -- Text content wrapper (applied automatically to sections without entry components)reversed-numbered-entries(content) -- Reverse-numbered listlink(dest, body, icon: none, if-underline: none, if-color: none) -- Enhanced link with customizable stylingEverything is customizable through rendercv.with(). A few examples:
#show: rendercv.with(
// Page
page-size: "a4",
page-top-margin: 0.7in,
text-direction: rtl, // right-to-left support
// Colors
colors-name: rgb(0, 79, 144),
colors-section-titles: rgb(0, 79, 144),
// Typography
typography-font-family-body: "Source Sans 3",
typography-font-size-body: 10pt,
typography-alignment: "justified", // "left", "justified-with-no-hyphenation"
typography-bold-name: true,
// Header
header-alignment: center,
header-connections-separator: "|",
header-connections-show-icons: true,
// Section titles
section-titles-type: "with_partial_line", // "with_full_line", "without_line", "moderncv", "centered_without_line", "centered_with_partial_line", "centered_with_centered_partial_line", "centered_with_full_line"
// Entries
entries-date-and-location-width: 4.15cm,
entries-highlights-bullet: "■",
// Links
links-underline: true,
links-show-external-link-icon: true,
)
For the full list of parameters with defaults, see lib.typ.
This package is part of RenderCV, which also offers a CLI tool and a web app at rendercv.com -- write your CV in YAML and get a PDF using this same package under the hood.