User Guide#
This guide explains how to write CV content using Vectra.
Vectra is intentionally opinionated. The visual style is fixed so that users can focus on content rather than formatting.
Files Users Should Edit#
Most users should edit only:
cv/profile.tex
cv/settings.tex
cv/sections/*.tex
Files Users Should Not Edit#
Most users should not edit:
src/
cv/main.tex
Makefile
latexmkrc
The src/ directory contains the template source code, layout definitions,
typography, spacing, header, footer, and section formatting.
Profile Fields#
Use cv/profile.tex to set identity and contact information.
Example:
\VectraSetName{Your Name}
\VectraSetEmail{your.email@example.edu}
\VectraSetWebsite{https://your-website.example.com}
\VectraSetGitHub{https://github.com/your-username}
Optional fields:
\VectraSetTitle{}
\VectraSetLinkedIn{}
\VectraSetORCID{}
\VectraSetPhone{}
\VectraSetLocation{}
If a field is empty, it will not be printed in the header.
PDF Metadata#
Set PDF metadata in cv/profile.tex:
\VectraSetPDFTitle{Your Name's CV}
\VectraSetPDFAuthor{Your Name}
\VectraSetPDFSubject{Curriculum Vitae}
\VectraSetPDFKeywords{Your Name, CV, academic CV}
Good metadata helps PDF readers, indexing tools, and document management systems.
Settings#
Use cv/settings.tex for simple document-level settings.
Date Mode#
\VectraSetDateMode{today}
Available modes:
today
fixed
none
For a fixed date:
\VectraSetDateMode{fixed}
\VectraSetFixedDate{January 2026}
Footer Mode#
\VectraSetFooterMode{full}
Available modes:
full
simple
none
Recommended for academic CVs:
\VectraSetFooterMode{full}
Empty Optional Fields#
Many Vectra entry commands allow optional fields to be left empty.
If an optional field is empty, Vectra will not print that field and will not create an extra blank line.
For example, if a research experience entry does not have an advisor, leave the advisor field empty:
\VectraResearchExperienceEntry
{Example Robotics Lab}
{Research Assistant}
{Ann Arbor, MI}
{2025 -- Present}
{}
{Robotic Manipulation, Planning}
{
\item Developed planning algorithms for tabletop manipulation tasks.
}
This will omit the advisor line entirely.
Similarly, project dates, technologies, certification dates, award descriptions, and other non-essential fields may be left empty when they are not applicable.
Header Customization#
Vectra provides a fixed academic header style, but users may add controlled custom contact links when needed.
Header Width#
The header content can be constrained to a narrower width:
\VectraSetHeaderWidth{0.86\textwidth}
Recommended values:
0.90\textwidth - wider header
0.86\textwidth - default recommended width
0.80\textwidth - more compact centered header
Custom Header Links#
Use:
\VectraAddContactLink{Display Text}{URL}
Example:
\VectraAddContactLink{Google Scholar}{https://scholar.google.com/}
\VectraAddContactLink{Lab}{https://example-lab.org}
Custom links are appended after the built-in contact fields.
Custom Header Text#
Use:
\VectraAddContactText{Text}
Example:
\VectraAddContactText{Ann Arbor, MI}
Most users should keep custom header items short. Long contact items may cause line overflow because contact items are kept together when wrapping.
Sections#
Use:
\VectraSection{Section Name}
Examples:
\VectraSection{Education}
\VectraSection{Research Experience}
\VectraSection{Selected Projects}
\VectraSection{Awards \& Honors}
Education#
Use:
\VectraEducationEntry
{Institution}
{Degree or Program}
{Location}
{Date}
Example:
\VectraEducationEntry
{Example University}
{M.S. in Robotics}
{Ann Arbor, MI}
{Expected May 2027}
Recommended order:
- Most recent degree first
- Institution name
- Degree or program
- Location
- Graduation or expected graduation date
Research Interests#
Use:
\VectraResearchInterests{
Robotics; manipulation; perception; planning under uncertainty.
}
Recommended style:
- Keep it short
- Use keywords or one compact sentence
- Avoid long statement-of-purpose paragraphs
Research Experience#
Use:
\VectraResearchExperienceEntry
{Institution}
{Role}
{Location}
{Date}
{Advisor}
{Topics}
{
\item Contribution or responsibility.
}
Advisor, topics, location, date, and bullet items may be left empty if they are not applicable. Empty optional fields are omitted automatically.
Example:
\VectraResearchExperienceEntry
{Example Robotics Laboratory}
{Research Assistant}
{Ann Arbor, MI}
{Sep. 2025 -- Present}
{Prof. Example Advisor}
{Robotic Manipulation, Planning, Perception}
{
\item Developed planning pipelines for evaluating tabletop manipulation tasks.
\item Analyzed task completion time and resource usage across planning methods.
}
Guidelines:
- Use action verbs
- Focus on contribution, method, and outcome
- Keep each bullet concise
- Prefer one to three bullets per entry
- Use reverse chronological order
General Experience#
Use:
\VectraExperienceEntry
{Organization}
{Role}
{Location}
{Date}
{Topic or Area}
{Additional Note}
{
\item Contribution or responsibility.
\item Result or impact.
}
This is useful for internships, professional roles, or non-research experience.
Project#
Use:
\VectraProjectEntry
{Project Title}
{Date}
{Technologies or Role}
{
\item Contribution or technical detail.
\item Result, evaluation, or outcome.
}
The date, technologies/role field, and bullet list may be left empty if they are not applicable.
Guidelines:
- Select only the most relevant projects
- Mention tools or methods
- Include measurable results when available
- Avoid listing too many small class projects
Publications#
Vectra formats publications as indexed compact academic records.
Recommended format:
[C1] Authors. Title. Venue, Year. Location. [Links]
Use:
\VectraPublicationEntry
{Prefix}
{Authors}
{Title}
{Venue}
{Year}
{Location}
{Links}
Example:
\VectraPublicationEntry
{C1}
{\textbf{Jordan Scholar}, Alex Researcher, and Taylor Advisor}
{Planning for Multi-Arm Tabletop Rearrangement with Time and Buffer Optimization}
{Robotics: Science and Systems (RSS)}
{2026}
{Los Angeles, CA}
{
\VectraPublicationLink{Preprint}{https://example.com/preprint}
\VectraPublicationLink{Code}{https://github.com/example/project}
\VectraPublicationLink{BibTeX}{https://example.com/bibtex}
}
Recommended prefixes:
P Preprint
C Conference paper
J Journal article
W Workshop paper
PT Patent
Examples:
[P1]
[C1]
[J1]
[W1]
[PT1]
The title is automatically bolded. Users may bold their own name in the authors field:
{\textbf{Jordan Scholar}, Alex Researcher, and Taylor Advisor}
Publication Links#
Publication links are written inline in bracket style:
\VectraPublicationLink{Preprint}{https://example.com/preprint}
\VectraPublicationLink{Code}{https://github.com/example/project}
\VectraPublicationLink{BibTeX}{https://example.com/bibtex}
This renders conceptually as:
[Preprint] [Code] [BibTeX]
If a publication has no links, leave the links field empty:
{}
Publication Notes#
Use publication notes for equal contribution or similar explanations:
\VectraPublicationNote{(The superscript \textsuperscript{*} indicates equal contribution.)}
Example author field:
{\textbf{Jordan Scholar}\textsuperscript{*}, Alex Researcher\textsuperscript{*}, and Taylor Advisor}
Publication Groups#
Use publication groups to organize entries:
\VectraPublicationGroup{Preprints}
\VectraPublicationGroup{Conference Papers}
\VectraPublicationGroup{Journal Articles}
Talks#
Vectra formats talks as indexed two-column academic records.
Recommended format:
[T1] Title. Event, Location. [Links] Date
Use:
\VectraTalkEntry
{Prefix}
{Title}
{Event}
{Location}
{Links}
{Date}
Example:
\VectraTalkEntry
{T1}
{Planning for Multi-Arm Rearrangement under Resource Constraints}
{Example Robotics Seminar, Example University}
{Ann Arbor, MI}
{
\VectraTalkLink{Slides}{https://example.com/slides}
\VectraTalkLink{Video}{https://example.com/video}
}
{Mar. 2026}
Talks may be grouped by type:
\VectraTalkGroup{Invited Talks}
\VectraTalkGroup{Conference Presentations}
\VectraTalkGroup{Posters}
Talk links are inline bracket-style links:
\VectraTalkLink{Slides}{https://example.com/slides}
\VectraTalkLink{Video}{https://example.com/video}
If there are no links, leave the links field empty:
{}
Media#
Media entries are used for interviews, press coverage, podcasts, articles, and similar public-facing coverage. Media is separate from academic talks.
Recommended format:
[M1] Title. Outlet. [Links] Date
Use:
\VectraMediaEntry
{Prefix}
{Title}
{Outlet}
{Links}
{Date}
Example:
\VectraMediaEntry
{M1}
{Interview on Multi-Robot Planning}
{Example Robotics Podcast}
{
\VectraMediaLink{Interview}{https://example.com/interview}
}
{May 2026}
Media entries may be grouped:
\VectraMediaGroup{Interviews}
\VectraMediaGroup{Press Coverage}
\VectraMediaGroup{Podcasts}
If there are no links, leave the links field empty:
{}
Teaching Experience#
Teaching entries are grouped by role and use compact two-column records.
Recommended format:
Role
Institution, Course Title. [Links] Term
Use:
\VectraTeachingGroup{Role}
\VectraTeachingEntry
{Institution}
{Course Title}
{Links}
{Term}
Example:
\VectraTeachingGroup{Instructor}
\VectraTeachingEntry
{Example University}
{Introduction to Robotics}
{
\VectraTeachingLink{Course Website}{https://example.com/course}
\VectraTeachingLink{Syllabus}{https://example.com/syllabus}
}
{Fall 2026}
Common teaching groups include:
Instructor
Co-Instructor
Teaching Assistant
Guest Lecturer
Mentor
If there are no links, leave the links field empty:
{}
Teaching entries are not indexed by default because teaching is treated as an experience record rather than a publication-like scholarly output.
Award#
Use:
\VectraAwardEntry
{Award Name}
{Organization or Description}
{Year}
Example:
\VectraAwardEntry
{Outstanding Graduating Undergraduate}
{Example University}
{2026}
Guidelines:
- Use official award names when available
- Use clear descriptions when award names are unfamiliar
- Put the most recent or most important awards first
Leadership and Service#
Use:
\VectraServiceEntry
{Role}
{Organization}
{Date}
Example:
\VectraServiceEntry
{Student Mentor}
{Example Robotics Laboratory}
{2025 -- Present}
Skill Groups#
Use:
\VectraSkillGroup
{Category}
{Items}
Example:
\VectraSkillGroup
{Programming}
{Python, C++, MATLAB, Java}
Recommended categories:
- Programming
- Machine Learning
- Robotics
- Hardware and Embedded Systems
- Tools
- Languages
Certification#
Use:
\VectraCertificationEntry
{Certification Name}
{Issuer}
{Date or Note}
Issuer and date/note fields may be left empty when not applicable. Empty fields are omitted automatically:
\VectraCertificationEntry
{Machine Learning Specialization}
{DeepLearning.AI and Stanford University, Coursera}
{}
Content Writing Guidelines#
Good CV entries are:
- Specific
- Concise
- Consistent
- Reverse chronological
- Focused on contribution and evidence
Avoid:
- Long paragraphs in experience entries
- Excessive bolding or manual formatting
- Manual
\vspace - Custom layout commands
- Decorative symbols
- Overly broad claims without evidence
Right Metadata Columns#
Vectra automatically measures the width of right-side metadata such as dates, terms, and short locations.
This allows entries such as:
Project Title 2026
Talk Title Mar. 2026
Course Title Fall 2026
to use only the space needed by the right-side metadata while allowing the left content to use the remaining width.
Users should keep right-side metadata short. Long descriptions should be placed in the main left-side content instead.
Date Format#
Recommended date formats:
Sep. 2025 -- Present
Jun. 2024 -- Aug. 2024
Expected May 2027
2023
2023, 2024, 2025
Be consistent across the document.
Special Characters#
In LaTeX, some characters need escaping:
& -> \&
% -> \%
_ -> \_
Example:
Awards \& Honors
Generated Documents#
You may publish, submit, upload, print, or email your generated CV or resume PDF.
Generated CVs and resumes do not require visible attribution to Vectra.
Template source files may not be redistributed or republished.
To share Vectra, link to the official repository:
https://github.com/yixnhuang/vectra