Automatically built resume with LaTeX. The structure for sections is defined in resume.cls
file. While the content is in resume.tex
.
Based on the CV For Freshers template on Overleaf.
Blog Post: CI/CD for your Resume
- Begin Latex
- Latex Advice
- Useful Packages
- Overleaf: Online Editor
- Original Template
- Automatic builds with Github Actions on every push and automatic releases on publishing tags
Use the green "Use this template" button to create a new repository with this repository's files as a template. There are two files only:
resume.cls
: Defines the structure and all the custom commands. No need to modify this.resume.tex
: This is the file where all your content for the resume goes. Your name, email, links, etc. are defined through commands. Feel free to move things around and change them.
If there is any problem with the format, feel free to open an issue in this repo. It will probably involve a fix in the resume.cls
file. Once that gets pushed, you can just copy the new resume.cls
file over your existing one.
- Download a zip of the project.
- Go to Overleaf and login/signup
- "New Project" -> "Upload Project" : Upload the zip
Install a LaTeX distribution that includes pdflatex
.
Use Scoop
scoop install latex
mkdir dist
pdflatex.exe -output-directory dist resume.tex
Use the tianon/latex
image.
mkdir dist
docker run --rm -v `pwd`:`pwd` -w `pwd` tianon/latex pdflatex -output-directory dist -interaction errorstopmode -halt-on-error resume.tex
Create new date and displays it according to {shortmonthname}. {year}
format
% Default day is 01
\fmtdate{3}{2017}
% Feb. 2017
% Use full date so that format can be changed in future without having to change all dates
\fmtdate[1]{3}{2017}
% Mar. 2017
% Only print year by providing empty month
\fmtdate{}{2017}
% 2017
Instead of commenting out blocks skip content conditionally so that atleast it is checked by latex to be valid.
% Default output is hidden
\draft{Test Content}
%
% Show in output, preferably remove command once you've decided to keep the content
\draft[true]{Test Content}
% Test Content
Also works for blocks of content:
\draft[false]{
\begin{rSection}{Activities} \itemsep -2pt
\item XXXXXXXXXXXXXXX
\item YYYYYYYYYYYYYYY
\item ZZZZZZZZZZZZZZZ
\end{rSection}
}
%
Define a section with a title and many subsections/items.
Define a subsection with a subsection heading (first 4 args, defined below) and a list of items under it.
Command to print subsection heading. Output depends on number of non empty arguments
% 2 Params
\rSubsectionHeading
{Netaji Subhas Institute of Technology}
{ \fmtdate{8}{2013} - \fmtdate{6}{2017} }
{}{}
% 3 Params
\rSubsectionHeading
{Netaji Subhas Institute of Technology}
{ \fmtdate{8}{2013} - \fmtdate{6}{2017} }
{B.E. in Computer Engineering}
{}
% 4 Params
\rSubsectionHeading
{Netaji Subhas Institute of Technology}
{ \fmtdate{8}{2013} - \fmtdate{6}{2017} }
{\normalfont B.E. in Computer Engineering}
{Delhi, IN}
Use icons from fontawesome. List of available icons in docs.
Used to setup custom date format and custom date command.
For \href
links and PDF metadata.
For Palatino
font for the whole document.
For setting Document margins.
For conditional logic in draft
command.