LaTeX-Tutorial.com

How to write a minimalistic cv in latex: step-by-step guide, learn how to write and customize a minimalistic curriculum vitae in latex. understand the logic behind every macro, and also how you can make modifications to customize it..

how to make resume with latex

If your goal is not to become a TeXnician, but instead to have an easy way to write a CV in LaTeX, I am sure this tutorial will also be useful to you. You will find a fully working LaTeX template to write a CV and a detailed explanation that can serve as a reference when you want to change any aspect of the template. If you don’t care about the Technical details, you can jump straight to the last section , in which you will find a high-level and user-friendly use of the macros, to quickly produce a professional CV.

Without further introduction, let’s start writing our professional and minimalistic CV in LaTeX.

Required packages for typsetting a CV in LaTeX

1. document class.

Opens in a new tab.

As an optional argument, we will choose the font size of the document to be 12pt. Thus the first line of our document is:

2. Language and encoding

Next, we have to load the packages we will use. To begin with, let us load some basic packages:

3. Set the document font

In our example, the main font of the document is not LaTeX’s default font Computer Modern ; instead, we load the package:

which sets as default font the TeX Gyre Pagella.

CV LaTeX Font

4. Specify the CV margins

As you can see, the configuration command \geometry is very straightforward and lets us easily modify the size of the left, right, top, and bottom margins, setting them to the TeX dimension we want. Note that in our example we leave the default right and bottom margins, that’s why those lines are commented out (any margin that is not specified as the default length).

5. Remove headers, footers and page numbers

The page layout configuration is finished with the following command:

which empties the page from other elements like headers, footers, page numbers, margin notes, or anything like that.

6. Modify sections style to meet CV style

We change the font of the sectioning commands in the following ways:

  • We make the font smaller: instead of using the \Large default font size it uses \large.
  • We change the font family: instead of the font set for the entire document, for the sections we use the font \TeX Gyre Adventor, which can be loaded with the font code qag.
  • Finally, we print a horizontal rule 5pt below the title, with a thickness of 1pt.

Once we have loaded the packages we will need, we have to define the macros used to write each of the entries in the document.

2. The macros

It is important to define macros for this purpose, instead of writing the text directly in the main document, for at least two reasons.

  • First, the code becomes much shorter and cleaner, since we don’t have to specify the font size, type, etc. each time we want to write a new entry.
  • Second, the code becomes much more reusable, because this way the user doesn’t need to understand what’s working behind, he can simply use the macros to write his CV without knowing any LaTeX at all.

Before writing our first macros, we need to define a new length, which will be used to align text on the same line (for example, in the entries for personal information, or to write the duration of each work entry):

1. Predefined lengths for space boxes

As you can see, we set this new length to be equal to the width of the box formed by 123456789. It is also convenient to define a macro to easily insert the same vertical separation between entries each time:

2. Name macro

Now it is time to write the macro that prints our name at the top of the CV:

This macro does the following:

  • First, it sets the \Huge font size , so that our name outstands in the document.
  • Next, it changes the font family. In this case, we chose the Helvetica font family, with font code phv .
  • Following that it prints the name (which is passed as the first and unique argument to the macro) centered and using the boldface .
  • After all of this, it ends the paragraph with \par and sets back the default size and font .

3. Slogan macro

A similar macro is used to define the motto, or slogan, of the candidate:

The only thing that changes with respect to the \name macro is that the font size is now \large, and the text is printed with a slanted font.

4. Personal details macro

Once we have the heading of our CV, we want to print the personal details of the candidate (contact information, address, and the like). Thus we define a macro to write each of these personal entries:

Let’s break down what this macro does since it is pretty different from the ones defined before:

  • Before the contents of the macro, note that it will be passed to parameters: the first one will specify the name of the (personal information) entry, while the second will specify the contents of that entry. We separate these two so that we can give different format to each of them, and also set some separation.
  • For this entries we set a specific indentation from the right margin. We first delete the default indentation with \noindent , then set our custom indentation with \hangindent , and finally indicate for how many lines we want this indentation with \hangafter (zero means that all the lines will have this same indentation).
  • Now we create a paragraph mode box with \parbox of size \spacebox as was defined previously. Inside this box we want to have the entry name slanted.
  • Finally, we print the entry contents using the default font and end the paragraph with \par .

If you get what this macro does, and understand what each command means, the remaining macros will be a piece of cake, since the structure is very similar.

5. Skills macro

To introduce skills and language levels we have the macros

As you can see, these are essentially the same as the \info macro , but let me make you aware of some differences.

  • First the entry name space for the \verb|\skill| command is \verb|3\spacebox| instead of \verb|\spacebox|, since we want one of the skills to be “Programming languages” which doesn’t fit in a single line of width \verb|\spacebox|. I suggest you too adjust these lengths to fit the needs of your entries.
  • What also changes is the font type of the entry names: for the skill it is smallcaps, and for the languages is boldface. These are, of course, arbitrary choices, and you can set them as you like the most.

6. Education macro

Finally let’s have a look at the two most complex macros, designed for education and work entries. First the macro for education entries is

This may seem a lot to get your head around to, but let me break it down for you into small steps:

  • This macro has four arguments: the first specifies the name of the studies, the second the duration, the third the institution, and the fourth a more or less brief description.
  • We write the name of the studies with no indentation in bold text.
  • Then we use the \hfill command to write at the right the duration of the studies. This duration is written inside a \parbox of width 6em , is centered inside the paragraph box with \centering , and written in bold. Finally, the box is wrapped with a frame, using the \framebox command.
  • Then we start a new paragraph with \par , and with no indentation we write the institution using italics. Again, we end the paragraph and start a new one.
  • Finally, we leave 0.5em of vertical space, and with the same custom indentation as the one used for the personal, technical and language entries, we write in small text the description of the studies. Finally, we go back to the normal text size and end the paragraph.

7. Work macro

The work entry for our curriculum is essentially the same as the education entry:

But we wrote a separate macro in case you wanted to customize its appearance.

The main document

Now all of the hard work is done. It is time to see a small implementation of the previous macros, that is to say, a small example of how to use these macros, so that we can produce the example below.

Of course, every snippet that will appear in this section is no longer part of the preamble of our document; instead, it is all written inside the document environment .

First let’s write our name, motivation, and personal information:

  • Note the need for the adequate vertical spacing each time: to get the motto closer to the name, we deleted 10pt of vertical space, which in our opinion made the title look better.
  • We also added a \sepspace between the title and the personal info, and wrote the email with the typewriter font type, to make it look more professional.

Following this we have the work experience:

As you can see, between each entry we use a \sepspace . Similarly, we have the education section:

In this case, the education entries need no description. For this reason, we don’t use the \sepspace between entries, since they seem to look fine this way. However, this is just a matter of taste, so it is your final decision how it should look like.

And to finish the curriculum we have the sections with skills and languages:

In this tutorial we have seen a comprehensive explanation of the source code needed to compile the example of CV shown above.

  • Along the way, we have explained several LaTeX commands to modify spacing , indenting , font size , font types , etc. that I hope will be useful to you in your LaTeX life beyond this project.
  • We have seen some external packages, such as geometry or sectsty , used to customize the appearance of our document, that may also be useful in other kinds of documents.

Therefore I hope this tutorial has not only helped you typeset a professional CV, but that you have also gained some more insight into how LaTeX works with a practical example.

Recent Posts

Typesetting Multiple Choice Questions in LaTeX

n this tutorial, we will see how to write a multiple-choice exam in LaTeX, using the exam document class. This document class provides multiple tools to easily typeset exams in LaTeX, and we have...

How to denote the dot product in LaTeX?

In this post, we will learn how to denote the dot product in LaTeX and which commands can be used!

Creating a Resume in LaTeX

December 1, 2018 - 3 minutes, if you’ve ever been frustrated by formatting or design issues in microsoft word/google docs, welcome to the beauty that is latex ..

I used LaTeX back in my college days for writing computer science papers, and after getting over the inital learning curve fell in love with it. Being able to programatically and logically lay out content just makes so much sense. But post-academia, I hadn’t found much use for LaTeX.

Over the years, my process for updating my resume had gotten annoying; I had to make sure I was on a device that had Microsoft Word installed, then do tedious work to make updates to my custom table layout, then upload the resume to my Google Drive so I could access it from any device. Google Docs was available cross-device, but even worse in terms of design.

So when I recently went to update my resume, I thought back to how much I used to love LaTeX and figured I’d give it a shot again, this time for my resume. Here’s how I did it.

Using LaTeX to Write Your Resume

The first step is to brush up on some of the basic concepts of LaTeX. If you’re new to it, I recommend checking out Overleaf’s Learn LaTeX in 30 Minutes guide. I’ll talk about Overleaf more in a minute, but I actually found them through their excellent LaTeX documentation, so this is a great resource to start with.

Next, you’ll probably want to find a resume template to build off of, rather than start from scratch. I just googled “latex resume” and found my starting template that way. You can also try out my template .

Once you have a .tex file, you’ll want to edit it with your own content and make design tweaks as you see fit. You can either: 1. install LaTeX on your machine, or 2. use an online service to edit/preview your changes.

  • Depending on how you choose to install LaTeX (see the options here ), if you want to convert to PDF you will either need to do it via command line ( pdflatex yourresume.tex ) or use a built-in GUI. I chose not to go down this route, because I want the ability to edit and preview my resume on any device without needing LaTeX installed.
  • My recommendation for an online service is the site I mentioned before, Overleaf. Overleaf is an online service that lets you write your LaTeX document with syntax checking and auto-compilation, and provides a preview of the generated PDF. It also has other fancy premium features like collaboration and syncing with Github, but the free version is sufficient for testing out resume changes. (Note: If you click the referral link above and sign up for Overleaf, you will help me unlock some premium features for my account. If you want to be stingy, you can also go straight to https://www.overleaf.com. )

Admire your shiny new resume!

If you run into any issues converting your resume to LaTeX, or have any general LaTeX questions, feel free to reach out to me over email or Twitter.

  • Live preview: https://www.amyschlesener.com/docs/AmySchlesenerResume.pdf
  • Repo including LaTeX source file: https://github.com/aschlesener/resume

DEV Community

DEV Community

protium

Posted on Dec 28, 2021

Your new pretty and minimalist resume with LaTex

Hi everyone, today we are going to take a look at how we can create a pretty resume using LaTex .

Minimalist and concise

When writing a résumé we always want to achieve a minimalist and concise document to easily catch the eyes of any recruiter/company. To do so, we want to organize its content into 2 columns, having a good spacing for all the content to fit without losing readability. And here is where LaTex comes to the rescue.

I split my resume into: Skills (33%) and Work Experience (66%) columns.

preview

# Name Section

This is a command that takes 2 parameters: first name and last name. The last name has a thicker font and uses the accent color.

Here you want to list all your skills and additional information. As you can see in the preview, this column has several sections : Info, Education, Course Work, Skills, and Languages.

Here we place general information: location, date of birth, contact information, links . I think having plain urls looks pretty ugly so I decided to follow the following format: {domain}//{user_name} . This way it's easier to have an idea of what the link is about. E.g.

\ Education

For this section I opted for the following format, where each entry is a subsection

\ Course work

A list of all the courses you have finished or certifications you have obtained so far. Here you want to add a link to your certificate if possible (Coursera, Udemy, EdX, etc). If there is no certificate you could add a link to the course syllabus.

For this section, I wanted to list all the tools/languages I know and have experience with, for which I added different \subsections :

  • Programming: all the languages I have experience with
  • Infrastructure: all the infra tools I have experience with
  • Storage: all the storage solutions I have experience with
  • Familiar With: all the technologies I have used for personal projects or PoC at different companies.

\ Languages

The last section is dedicated to the languages you speak, with information about your level. In my case I have used the Common European Framework of Reference . E.g.

# Work Experience

This is, of course, the main section of our resume. Over the years I learned that a good work experience description should provide the following information:

  • Company Name and Website
  • Your Position
  • Month and year
  • Very small description of the company/product
  • What where your main tasks/accomplishments in the company. (Here is the real deal so let's get into more details in the next section).
  • Tech Stack : the company's tech stack. Be careful about not revealing sensitive information.

# Describing your position at company X

I have seen a lot of resumes during my career and I think most of the people fail at describing what they've done while working at company X. So to make it easier, let's list what a good description should have:

  • Achievements : what you have achieved while working in company X? Did you create something amazing? As example, you could write: "I refactored the search algorithm which led to an improvement of 70% in performance". It must be something you feel proud about.
  • What tasks did you enjoy at this position? "I created a PoC to add rust to our event processor"; "I created new tools for automatize deployments"
  • Some trivial tasks : "Prepared migration from Vue to React". Maybe you didn't enjoy these tasks but they were part of your tasks at company X.

Ideally, you want to choose fonts that are easy to read and do not look too fancy . For this project I have used 2 google fonts in order to:

  • have a geek font for the Skills, locations, positions.
  • have a "normal" font for the jobs descriptions.

You can easily change these fonts in the resume.cls file.

Colors are defined as follow

Note that links is our accent color.

That's it! This post ended up being longer than I expected. I hope you found something useful here and I'm looking forward to see your customizations!

protiumx / dev.resume

Your new pretty and minimalist resume.

Your new pretty and minimalist resume. Based on: https://github.com/deedydas/Deedy-Resume

preview

  • Main font: MavenPro
  • Skills font: SourceCodePro

You can change the fonts as you want. I recommend taking a look at google fonts

You can change any color in the class definition .

  • primary: #2b2b2b
  • headings: #6A6A6A
  • subheadings: #333333
  • links: #33AFFF
  • \namesection : The resume header for your name. It expect to arguments: first name and last name
  • \runsubsection : For company name
  • \location : Location of the company

You need a xelatex compiler. I used overleaf to edit and compile my resume.

Sponsorship

If you find this project useful you can support my work with:

Buy Me A Coffee

Top comments (0)

pic

Templates let you quickly answer FAQs or store snippets for re-use.

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink .

Hide child comments as well

For further actions, you may consider blocking this person and/or reporting abuse

devxbr profile image

Hello World

Bruno Souza - Apr 16

nurycaroline profile image

Otimizando Custos: Desligamento do RDS na AWS

NuryCaroline - Apr 16

gpiechnik profile image

Dont waste money on monitoring YOUR startup

Grzegorz Piechnik - Apr 16

sotergreco profile image

The Best Tech Stack for Your Next Side Project

Sotiris Kourouklis - Apr 16

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

  • Enterprise Java
  • Web-based Java
  • Data & Java
  • Project Management
  • Visual Basic
  • Ruby / Rails
  • Java Mobile
  • Architecture & Design
  • Open Source
  • Web Services

Developer.com

Developer.com content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More .

Your resume is quite possibly the most important tool you will use to gain employment as a developer. Without an eye-catching resume , it can be hard to stand out from the rest of the programmers and software engineers applying for the same position you are. Fundamentally, your resume should consist of information about your qualifications and technical skills, as they relate to a developer job.

Read: Top Tech Companies Hiring Right Now.

A programmer’s resume has one simple goal: to land them an interview. For the purposes of this article, though, we will focus on the actual creation of the resume document, which is often overlooked. We will be using a document preparation technology called LaTeX .

Latex Programming Example

LaTeX is typically used for high-quality typesetting. It can be used for a variety of different documents, from long scientific reports to the common resume. LaTeX is all about document design – it separates the design and the text that occupies the document. LaTeX is an extension of the TeX typesetting system, which is a programming language. Don’t worry, we’re not expecting you to know how to code in TeX – that’s what templates are for!

You can develop a document using LaTex through Overleaf , an online LaTeX editor that is free and easy to use right through your Internet browser. One of the most frustrating aspects of creating a resume is making sure the format and spacing are consistent and even. LaTex takes care of that for you, ensuring your document is uniform and visibly pleasing. You can select from hundreds of beautiful resume templates within Overleaf’s gallery . There are also numerous categories for document templates on Overleaf, including cover letters and thesis papers.

Overleaf LaTeX Editor

Overleaf LaTeX Editor Example

Once you have a resume template selected, click “ Open as template ”. If you have not already, you will need to create an account in order to save your work. When your template opens, you will notice that the interface is split in two – the source code on the left and the view of your document on the right.

Read: Top Java Job Interview Questions.

The text in the source code directly affects what appears on your document, so all of your editing will be done there. This makes it so you do not need to know how to code in order to create your document; you just need to know what to change and where it is located in the source code. Most templates even have notes laid out within the source code to help guide you.

That is all there is to it. Simply replace the information in the template’s source code with the information you want to include on your resume. The more you do this, the more you will get familiar with the code and learn how to manipulate it. You may also pick up a few tricks along the way, such as how to include hyperlinks or change the color of your text.

LaTeX Document Creation Tips

Here are a few tips to get you started using LaTeX for your document creation:

  • If you change the source code and do not see the document view being changed, click “ recompile ” in the upper toolbar of the Document View . You can also click the arrow next to the recompile button to do this automatically.
  • To include an “ & ” symbol in your resume, you will need to put a forward slash (/) in front of it (this may or may not work depending on what packages are installed in the template).
  • Do not be afraid to copy and paste sections of the document that you want to duplicate; just be sure to notice where the section begins and ends when selecting which text to copy.
  • If you make a mistake, don’t worry – you can Undo with CTRL+Z on Windows ( Command+Z on Mac).

When you are comfortable with the look of your resume, click “ Save as PDF ” in the upper toolbar of the Document View . Now you have a resume that is beautiful, consistent, and pleasing to read!

Looking for a developer or programmer job? Check out Technology Advice’s Hiring page to see open jobs in the technology field. Be sure to tell them Developer.com sent you!

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Latest Posts

What is the role of a project manager in software development, how to use optional in java, overview of the jad methodology, microsoft project tips and tricks, how to become a project manager in 2023, related stories, 3 best bug tracking tools for java in 2023, 14 tips for working with visual studio, visual studio code review 2023 | a comprehensive look.

Developer.com

Have you checked our knowledge base ?

Message sent! Our team will review it and reply by email.

IMAGES

  1. 12 of the Best LaTeX CV Templates to Download in 2023

    how to make resume with latex

  2. 15+ Latex Resume Templates

    how to make resume with latex

  3. 16 Free LaTeX Resume Templates [+LaTeX CV Templates]

    how to make resume with latex

  4. GitHub

    how to make resume with latex

  5. 15+ LaTeX Resume Templates and CV Templates for 2023

    how to make resume with latex

  6. how to build resume in latex

    how to make resume with latex

VIDEO

  1. Resume in LaTex

  2. Ultimate Resume guide using Latex

  3. Latex Playlist

  4. Latex Playlist

  5. CV/Resume writing in Free Latex Template in 4 Minutes #latex #cv

  6. Latex Playlist

COMMENTS

  1. Creating a Professional Resume with LaTeX: A Step-by-Step Guide

    With LaTeX, you have complete control over the formatting of the document, allowing you to create a clean and elegant resume that is easy to read. So, next time you need to create a resume ...

  2. Create your Professional/Educational resume using LaTeX

    Preparing a resume in LaTeX can decrease the overall complexity required for formatting the document; hence, it is utmost necessary for every professional to know the basic LaTeX syntax for resume building. In this tutorial, I would cover several aspects for creating a powerful and effective resume which would cover mostly each element of an ...

  3. Templates

    A well-written resume and real sample template of Digital Marketing resume. Restructured ATS Friendly template that include up to 3 bullet points, shorter paragraphs and really simple to scan and skim. Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.

  4. Resume Template

    A resume template which is forked from and modifies Awesome CV, a LaTeX resume template. It is easy to customize your own template, especially since it is re... An online LaTeX editor that's easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.

  5. 16 Free LaTeX Resume Templates [+LaTeX CV Templates]

    5. Computer Science LaTeX Resume Template. This two-column LaTeX resume template gives you the space to flesh out your accomplishments. You can also create multiple skills sections for both soft and technical skills — there's even extra space to add additional details, such as programming languages.

  6. How to Write a Minimalistic CV in LaTeX: Step-by-step Guide

    1. Document class. The first thing to do when writing a LaTeX document is to choose the document class. For our CV we will choose the article document class since it is the most versatile class to work with short documents. As an optional argument, we will choose the font size of the document to be 12pt.

  7. Creating a Curriculum Vitae with LaTeX

    In this tutorial, we'll study step-by-step how to create a CV with LaTeX using ModernCV - one of the most common and powerful package for creating CVs. 2. Install the ModernCV Package. Before installing ModernCV, let's ensure we have LaTeX on our computer.

  8. 14 Top LaTeX resume Templates · Resume.io

    This LaTeX template emphasizes your IT projects by creating a section just under your summary for all your major work. It also bumps your skills to the top so you can list the languages and technologies you have expertise in. To create that space, your employment history section moves to the bottom of the page.

  9. Creating a Resume in LaTeX

    Using LaTeX to Write Your Resume. The first step is to brush up on some of the basic concepts of LaTeX. If you're new to it, I recommend checking out Overleaf's Learn LaTeX in 30 Minutes guide. I'll talk about Overleaf more in a minute, but I actually found them through their excellent LaTeX documentation, so this is a great resource to ...

  10. Make a Resume in LaTeX!

    Make a Resume in LaTeX! Apr 15th, 2022. Prerequisites. This tutorial assumes you either have (1) a text editor where you can edit LaTeX and the corresponding TeX distribution for your OS to compile it into a PDF or (2) access to a site where you can edit and compile LaTeX. Additionally, you should have some basic knowledge of LaTeX syntax.

  11. Overleaf resume tutorial

    How to write a professional CV or resume using LaTeX in Overleaf. I will show you how to set up the template and edit the content. You will be able to write ...

  12. Your new CV

    Abstract. Creating a professional CV or resume is quick and easy with Overleaf and writeLaTeX. With this free template you can start editing online instantly, and download a PDF version to send to employers and recruiters when you've finished. Here we use a great template produced by howtotex.com, and if you're looking for a different style why ...

  13. Your new pretty and minimalist resume with LaTex

    Minimalist and concise. When writing a résumé we always want to achieve a minimalist and concise document to easily catch the eyes of any recruiter/company. To do so, we want to organize its content into 2 columns, having a good spacing for all the content to fit without losing readability. And here is where LaTex comes to the rescue.

  14. How to Create a Sleek Looking Resume Using LaTeX

    Overleaf LaTeX Editor Example. Once you have a resume template selected, click " Open as template ". If you have not already, you will need to create an account in order to save your work. When your template opens, you will notice that the interface is split in two - the source code on the left and the view of your document on the right.

  15. LaTeX template for resume/curriculum vitae

    The class offers entries for assets and social networks; customizable styles are provided. The class comes with no documentation, but a worked example offers some guidance. This package is still under development but it shows great progress. Here is a sample screen shot of an example made using the class file.

  16. How to create an impressive Resume using Overleaf

    In this live session, I will demonstrate to you step-by-step how to create a stunning resume using the popular online LaTeX editor, Overleaf. Whether you're ...

  17. Writing a Fancy Resume with LaTeX and ModernCV for Total ...

    Get the ModernCV Package: https://www.ctan.org/pkg/moderncvResume and Cover letter Template:https://www.latextemplates.com/template/moderncv-cv-and-cover-letter

  18. Rezume

    An awesome LaTeX resume template to jumpstart your job search! There are many great LaTeX resume templates available on GitHub and Overleaf; however, I didn't find one that really suited my needs so I created this enhanced one. I want to create a resume template so amazing that it'll be the last one you ever need. Here's what's in here: Super ...

  19. How to Make a Clean Resume with LaTex

    In this video I show you a resume template that can help you make a nice solid resume using LaTex.Template I used: https://www.overleaf.com/latex/templates/d...

  20. Make a great looking CV (or resume) using Latex

    Make a great looking CV (or resume) using LatexNote - There is now an updated version of this video, you can check it out here:https://youtu.be/WSOy0_YRlvwWi...

  21. Making a Resume with some LaTeX Magic (Part 1)

    I'm going to make a couple of vids illustrating the too oft forgotten principles of LaTeX formatting.In this first one, we'll make a structure for our docume...