Building My Website - Resume with XeLaTeX (Part 9)
💬 | How I built my personal website - Part 9 - creating a resume in XeLaTeX |
---|---|
📅 | |
⏱️ | 2 min read |
🏷️ | #development #web |
This article is part of a series about building my personal website:
- The idea and choosing the right tool
- SEO essentials: meta tags and base head element
- Content management with Markdown and Frontmatter
- Semantic HTML for accessibility and external readers
- Minimalist CSS: styling and native-like design
- Adding color themes with JavaScript
- Astro plugins: RSS, Sitemap, Word count
- SVG icons and Favicon
- Building resume with XeLaTeX
- Extras
I wanted my resume in PDF format so it would be easy to share and print. Of course, I could have used Word or Google Docs, but I don’t like relying on GUI and proprietary tools. It also makes automation and templating much harder.
Why XeLaTeX?
There are multiple “engines” for LaTeX. The most common one is pdfLaTeX, but I went with XeLaTeX because:
- It supports system fonts through the
fontspec
package (I use Roboto). - It handles UTF-8 characters and Cyrillic out of the box — no extra encoding setup needed.
With pdfLaTeX, this would have been messy,
requiring inputenc
, fontenc
, and font packages.
With XeLaTeX, I just type Russian or English text directly and it works.
My setup
Here’s the LaTeX preamble I used to configure my resume:
% Main parameters
\documentclass[a4paper, 12pt]{article}
\usepackage[left=1.5cm, right=1.5cm, top=1.5cm]{geometry}
% Links
\usepackage[
colorlinks=true,
urlcolor=blue,
pdftitle={Resume},
pdfauthor={Efim Ishenin}
]{hyperref}
% Customizable lists
\usepackage{enumitem}
% Roboto font
\usepackage{fontspec}
\setmainfont{Roboto}
% Remove page numbering
\pagenumbering{gobble}
% Remove paragraph indentation
\setlength{\parindent}{0pt}
% Customize titles
\usepackage{titlesec}
\titleformat{\section}
{\normalfont\large\bfseries}
{}
{0pt}
{}
[\vspace{1pt}\titlerule\vspace{-6.5pt}]
% Russian language support
\usepackage[russian]{babel}
I ended up with both English and Russian versions!
Now I can keep my resume fully version-controlled, easily tweakable, and always looking consistent in print and digital form.