Getting Started with apatypstcv

Overview

The apatypstcv package provides helper functions for creating academic CVs with APA-style formatting using Typst and Quarto. It includes specialized entry functions for common CV sections like education, teaching, workshops, awards, and service.

Installation

# Install from GitHub
devtools::install_github("yourusername/apatypstcv")

Quick Start

1. Set up your Quarto document

Create a new .qmd file with this YAML header:

---
title: "CV"
author:
  firstname: Paris
  lastname: Geller
  address: "123 Chilton Lane, Hartford, CT"
  position: "JD, MA, DDS"
  contacts:
    - icon: fa envelope
      text: paris@example.com
      url: "mailto:paris@example.com"
    - icon: fa globe
      text: parisgeller.com
      url: "https://parisgeller.com"
brand:
  typography:
    fonts:
      - family: IBM Plex Sans
        source: google
        weight: [400, 500, 600, 700]
        style: [normal, italic]
    base: IBM Plex Sans
  color:
    primary: "#d00000"
    link: "#202b47"
format:
  awesomecv-typst: default
execute:
  echo: false
---

2. Load the package and data

3. Use the entry functions

Entry Functions

Education

The education_entry() function formats educational history with optional thesis/concentration information:

educ
                    degree                       institution
1 Doctor of Dental Surgery Harvard School of Dental Medicine
2          Juris Doctorate                   Yale Law School
3       M.A. in Journalism                 Oxford University
           institution_url      location date   thesis_type
1 https://hsdm.harvard.edu    Boston, MA 2016              
2     https://law.yale.edu New Haven, CT 2014 Concentration
3     https://www.ox.ac.uk    Oxford, UK 2011        Thesis
                           thesis_title
1                                      
2                    Constitutional Law
3 Ethics in Modern Broadcast Journalism
education_entry(educ)

Teaching

The teaching_entry() function formats teaching experience with course details and optional icon links:

teaching
            title            course_name course_num        institution
1 Teaching Fellow     Constitutional Law    LAW 501    Yale Law School
2  Guest Lecturer Advanced Legal Writing    LAW 620 Harvard Law School
          institution_url      location        date           size modality
1    https://law.yale.edu New Haven, CT   Fall 2013 25-30 students  Seminar
2 https://hls.harvard.edu Cambridge, MA Spring 2014 40-50 students  Lecture
                                      website
1 https://www.youtube.com/watch?v=IhUZcm408XU
2 https://www.youtube.com/watch?v=dQw4w9WgXcQ
                                                                                                                                                                       syllabus
1 https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExdGJ0dzE0OWtxcDNjeTJkamt1MXlsOTZzZXhybmE0bmtrNjR2c3ppOCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/3ofT5y7FXaMmGa7eh2/giphy.gif
2 https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExcWEwaGRrMWwwNGF0c3ZzZmwyY2J2OHhid3A3eTNnb3h1Z3BhN3R3NCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/3ofT5OGmdbeaMtUSYg/giphy.gif
teaching_entry(
  teaching,
  institution_url = "institution_url",
  links = list(c("website", "globe"), c("syllabus", "file-pdf"))
)

Workshops and Guest Lectures

The workshop_entry() function formats presentations with type prefix and icon links:

workshop
                        title          type                     venue
1 Effective Debate Strategies      Workshop           Chilton Academy
2   Student Journalism Ethics Guest Lecture Yale School of Journalism
                                                                                        venue_url
1 https://www.reddit.com/r/GilmoreGirls/comments/1anl6ga/drop_ur_fav_paris_geller_quote/#lightbox
2                                                                                                
       location date                             website
1  Hartford, CT 2010 https://www.rorygilmoresexboat.com/
2 New Haven, CT 2013                 https://example.com
                                       slides
1                                            
2 https://www.youtube.com/watch?v=dQw4w9WgXcQ
workshop_entry(
  workshop,
  venue_url = "venue_url",
  links = list(c("website", "globe"), c("slides", "file-powerpoint"))
)

Awards

The award_entry() function formats awards with optional monetary amounts:

award
                title    organization     organization_url date    amount
1  Editor of the Year Yale Daily News                      2006          
2 Research Fellowship Yale Law School https://law.yale.edu 2010 \\$15,000
award_entry(award, organization_url = "organization_url")

Service and Memberships (Date-First Format)

The date_first_entry() function places the date on the left side:

service
                   title           organization organization_url     location
1        Editor-in-Chief   The Chilton Franklin                  Hartford, CT
2 Student Representative        Student Council                  Hartford, CT
3    Debate Team Captain Chilton Debate Society                  Hartford, CT
         date
1 2006 - 2007
2 2005 - 2007
3 2004 - 2007
date_first_entry(
  service,
  date = "date",
  title = "title",
  description = "organization",
  description_url = "organization_url"
)

Generic Resume Entry

For custom sections, use the flexible resume_entry() function:

work
             title         organization
1  Editor-in-Chief      Yale Daily News
2 Associate Editor The Hartford Courant
3     Staff Writer The Chilton Franklin
                                                                                 organization_url
1                                                                       https://yaledailynews.com
2 https://www.reddit.com/r/GilmoreGirls/comments/1anl6ga/drop_ur_fav_paris_geller_quote/#lightbox
3                                                                                                
          location      start        end
1    New Haven, CT 2012-09-01 2014-05-01
2     Hartford, CT 2011-09-01 2012-05-01
3 Stars Hollow, CT 2003-09-01 2007-06-01
                                                                                             description
1 Led editorial team of 50+ staff writers and editors; oversaw daily publication and editorial standards
2                Managed regional news coverage and editorial standards; supervised team of 10 reporters
3                                     Covered school news and events for award-winning student newspaper
work |>
  format_date(start = "start", end = "end", sort_by = "start") |>
  resume_entry(
    title = "title",
    location = "location",
    date = "date",
    description = "organization",
    description_url = "organization_url"
  )

APA Bibliography Sections

For publications and presentations using a .bib file, use the custom div class:

# Publications

::: {.apa-bib}
[@citation_key1]

[@citation_key2]
:::

# Presentations

::: {.apa-bib mentee-note="true"}
[@presentation1]

[@presentation2]
:::