Hacker News new | comments | show | ask | jobs | submit login
Writing a CV in LaTeX (texblog.org)
128 points by gnosis 1551 days ago | hide | past | web | 92 comments | favorite



What's the advantage of using something like LaTeX for a CV? The point of a a resumé is purely to make you look good, and as such you'd be much better off making a PDF using a real layout tool (like InDesign). You want your resumé to be friendly and attractive, you want to stand out from the pack, and to use typographical design principles to make any viewer like your CV more without even realizing why.

Btw, here's my resumé, for reference: http://kenneth.ballenegger.com/dl/resume2012.pdf


The advantage of LaTeX is that is will yield CVs which look better than those from a word processor or HTML. The same is probably true of InDesign; both tools presumably focus on typographical principles (I've never used InDesign). The programming community generally likes LaTeX because of its technical workings, the fact that it's open source, and its associations with computer science (TeX was created by Donald Knuth).

For comparison, my résumé (made with LaTeX, content very out of date): http://dl.dropbox.com/u/712576/thomas_shaddox_resume_old.pdf


To be blunt, I really find the layout of your CV distracting. The big headings and bolded text tell me to awkwardly start reading in the middle of the page, but as soon as I try to do that my brain wants to read the stuff on the left (since that where the most important stuff should be), but the stuff there is extremely small and uninviting to read compared to the prose in the middle so I leave knowing not much more than that you're some kind of Engineer. Don't take this the wrong way, I think it's good you're putting this much thought and effort into your CV but your phone number is hardly the most important thing on that page and certainly not the first thing you'd want a potential employer to see.


What's the advantage of using something like LaTeX for a CV? The point of a a resumé is purely to make you look good, and as such you'd be much better off making a PDF using a real layout tool (like InDesign).

I think it really depends on a number of factors. Firstly, what job are you looking for? If it's design, then yes, maybe InDesign is a wise choice (I don't know, I'm not a designer and I'd never heard of InDesign before). If you are looking for a research position or more technical work, especially in sectors which value open source software experience, LaTeX might be a much better choice. Besides the fact that InDesign only runs on Windows and OSX (no FreeBSD or Linux), it's also not open source, and some places might prefer applicants that can get the job done with software that doesn't cost a bundle or come with onerous licenses.

I know that when I translated my resume from HTML to LaTeX, then posted it in PDF on my website, I started getting more requests for interviews (no, I'm not going to post a link; I'm not really looking for work and you probably wouldn't find it aesthetically pleasing anyway). I'm not sure whether it was the PDF or the LaTeX aspect (or something else) that made it more visible to recruiters, but LaTeX and/or a plain looking CV are obviously not interview killers. I wasn't even looking for interviews, didn't even post my resume to any job sites! I mostly try to keep my resume up to date for practice and keeping my options open.


A CV in LaTeX does not have to be typesetted in Computer Modern nor have a dry "LaTeX feel". Using XeTeX, TikZ, fontspec and Open Type fonts you can do fun stuff that look gorgeous.

The great thing for me is that I can directly import my .bib and all my publications are automagically included in my CV. My attempt: http://dl.dropbox.com/u/3809633/cv_adrien_friggeri.pdf (slightly out of date, should recompile and update)


It's a bit too 'colory' for my taste but I like the design. Is it open source?


I'll have to clean it up but I'll definitely open source it.


Just fyi, I too would also be very interested in the source for this. It really looks nice!


I'd be interested in this too!


Good suggestion.

I don't know what it is about Computer Modern but when I see a document formatted in that font, my subconscious automatically says "still in academia".


I think that's because it's hideous, so you can only get away with hideous in academia.

I am in academia but under no circumstances do I use CM.


Modded up for the courage of posting your own resume.

Off top of my head - look at the right edge of your text. It doesn't look good. They have some work to do on their line break algorithm. TeX, and LaTeX, take care of it so automatically and so well that you could put a ruler to it. It can even divide words into syllabes. Example here:

http://www.tug.org/texshowcase/pp.pdf

And it's just the tip of the iceberg. There's a lot of typographic conventions developed by trial and error over centuries. They just look good or easier to read.

More examples here, TeX Showcase: http://www.tug.org/texshowcase/


Off top of my head - look at the right edge of your text. It doesn't look good. They have some work to do on their line break algorithm.

InDesign can use the Knuth-Plass line-breaking algorithm for its H&J. In this case, it looks like hyphenation has been disabled, so obviously that doesn't apply, though.

TeX, and LaTeX, take care of it so automatically and so well that you could put a ruler to it.

Until you get an overfull box that just ignores the right margin, anyway. :-)

There's a lot of typographic conventions developed by trial and error over centuries. They just look good or easier to read.

Or, in many cases, they are just folklore with no substantial evidence whatsoever to support them, propagated within a discipline notorious for confusing subjective/aesthetic preferences with facts, and placing undue weight on doing things the "correct" way without being able to demonstrate that any particular advantage results.


With InDesign though he can easily fix that with manual line-breaking. I think that if you understand the typographical principles you're trying to deploy, you'll end up making it work, and if you don't you're likely to end up with glaring errors no matter what setup you use.

(My resume is in latex, I'm just saying I think there's more than one way to skin the cat)


(weasel word) people think manual line-breaking is the thing that needs fixing :-).


A CV written in LaTeX has an advantage : it has a nice geeky touch, and to people like me immediately makes a good first impression -- as opposed to a CV sent in docx that I will immediately throw away -- because generally Real Hackers (or aspiring Hackers) use LaTeX for their CVs, while quiche eaters definitely use MS Word.

Note: I receive and dig through many CVs, while I didn't send mine to anyone for more than 12 years. My view of LaTeX maybe slightly skewed by my old age, but I'm probably quite representative of the sort of people developers would want their resumes to be read by, rather than some HR drone.


There is no advantage. If you are a LaTeX-Guru use LaTex, in other cases use a tool you allready know. And concentrate on the content of the CV.


If you would allow me to give you advise on your CV, I would change the 'wall of text' you have as a description of your past experience and replace it with concrete bullet points.

For example:

"Working at The Walt Disney Company’s Tapulous subsidiary provided me with experience in working in both small and big teams. I worked mostly on the backend side of our Tap Tap Revenge 4 release."

In this paragraph you have the word "work" 3 times, and is very vague. I would replaced with something like * Day to day interaction in small and big sized teams. * Implemented XYZ engine as part of the backend of the Tap Tap Revenge 4 release. * Performed code development using version control (SVN), unit testing (CppUnit)


While we're giving CV advice: "worked on X" is weak. Implemented feature X, is better. Implemented feature X, resulting in positive outcome Y, is best of all.


Actually, the design of your CV is somewhat irrelevant. Unless you're actually a designer ;)

It seems that everyone in my office used a pretty plain CV typeset with moderncv LaTeX class.


Not really, design is an important factor, someone reviewing your cv isn't going to be looking at it very long so it's important that they be able to extract the information they need from it very rapidly.

The design of a cv is as important as the design of a sales page on a website.


I am a fan of XeTeX for this sort of thing. It lets you use modern otf fonts, rather than just the fonts that have been turned into LaTeX packages.

I feel kinda silly posting my own as an example, but here goes: http://www.endofunctor.org/~rpearl/resume.pdf


I too took the XeTeX path (see links below), mostly because of the way it can take advantage of the font variants provided by professional typefaces, and because using Modern, as beautiful as it is, feels a bit tacky on a résumé.

My approach was to eschew flexibility (even though LaTeX is amazing at it) in favour of aesthetics. Since I don't plan on updating it for the next few years, I decided to go crazy with tweaking the positioning of things until they fit just right. It would've probably been a bit easier in a DTP app like InDesign, but I try not to use proprietary software if I can help it, and I didn't want to waste time finding out whether Scribus was up to the task.

I'm a bit embarrassed about the source, because I didn't bother with defining styles properly and used quite a few hackish /vspace{}s instead, but it's good enough for a document only I'm going edit.

PDF: https://github.com/downloads/Aramgutang/resume/resume.pdf

Source: https://github.com/Aramgutang/resume/blob/master/resume.tex


I rather like that design. Do you have a source I could look at? I've used LaTeX, but I've been meaning to try XeTeX for a while.

Are there any particular difficulties with switching from LaTeX to XeTeX?

I actually did my resume with LaTeX, but then became too lazy to update it. Now it's somehow a year out of date :P. (A year is a lot of time for a college student...) Seems like the perfect excuse to redo it and a great time to try XeTeX.


I use a similar style and my source is posted online: https://github.com/mdwrigh2/resume


XeTeX is almost completely compatible with PDFLaTeX, which is compatible with LaTeX except when using Postscript tricks (in particular, pstricks).


Actually, xetex-pstricks has been in TeX Live for a long time now. It will not give you all of pstricks in XeLaTeX, but for the simplest needs it's more than sufficient. Microtype is a bigger problem.


Sorry, I'm not really good at responding to comments fast on HN. The source is currently embarrassingly bad as I iterated through different ideas. I'm ...eventually... going to clean it up and put it on github though.

It is based on moderncv, hacked up a bit, but I think that template still looks quite similar to what I have.


Please post the source in rough form anyway...? Your design resonates with me, and I would like to "borrow" it. I can handle cleaning it up on my own, especially in the off-chance that you never get around to it. ;-)


XeTeX is a TeX engine. You'd still be using LaTeX (or more precisely, XeLaTeX) on top of it.


I agree with both the XeTeX and feeling-silly sentiments. Oh well, here's mine: https://github.com/mjball/resume (source and PDF)


Unless it's meant to be printed... I find that font hard to read and pixelated on my 24 inch monitor. The page is magnified 125%.


Really excellent. Just the blue lines seem a tad heavy, but great effect overall..


What are the fonts you are using there, if I might ask?


Serif: Adobe Caslon Pro Sans: Optima LT std


Although I use LaTeX for my resume, it's also worth checking out PGF/TikZ: http://ctan.math.utah.edu/ctan/tex-archive/graphics/pgf/base...

The learning curve is very steep, but if you're doing anything creative with the organization or representation of content, you'll fare far better with PGF and TikZ than you will with LaTeX.


Isn't TikZ (and PGF, I assume) a library for LaTeX? It seems odd to have one without the other.


PGF/TikZ are low- and high-level packages that can be used from LaTeX as well as from the original TeX. The packages allow you to program graphics just as you'd program a document, but it gives you finer control over graphical relations between entities. It's better to check out http://www.texample.net/tikz/examples/ to get an idea of what's possible.


Does 'steep learning curve' not mean the rate of learning (X: time and Y:knowledge) is high, thus a little effort outputs lots of knowledge?


Heh, I never actually took the time to think of the literal meaning of the phrase. Nevertheless, the quantity modified by 'steep' is in fact scalar and thus 'steep' affects only the magnitude. It reveals nothing about the underlying nature of the quantity, which could indeed be the inverse rate of learning or something like that.


That's what it's supposed to mean, but everyday usage is the opposite.


No. It's not about plotting curves and axes.

It means you have a steep curve to climb to learn it --ie an allusion to climbing a mountain.


Managing lists of publications is time consuming, especially when different publications should be selected in different contexts (e.g. choose 10 relevant publications for each grant proposal, or sort them according to different criteria). My solution is to use multibib with this in the preamble

  \usepackage[resetlabels]{multibib}
  \newcites{journal,submitted,conference,report}{
    Journal Papers Published,
    Journal Papers Submitted,
    Refereed Proceedings Papers,
    Technical Reports}
and this in the document wherever I want a bib listing.

  \nocitejournal{list,of,bibtex,keys,...}
  \bibliographystylejournal{unsrt}
  \bibliographyjournal{bibtex,files}
and so on for each other category.


I quote. Moreover, I use booleans to deal with different versions of the same entry, for instance for multi-language CV, or work vs academic, or again short vs full.

In the preamble:

    \newboolean{cvit}
    \setboolean{cvit}{true}   % just change this and recompile
    \newcommand{\italian}[2]{\ifthenelse{\boolean{cvit}}{#1}{#2}}
And in the document:

    \italian{Ciao mondo!}{Hello world!}


This post would have been so handy for me about a year ago when I was applying for new jobs. Unfortunately, I was not able to switch over to using LaTeX to format my resume: many websites will only accept a formatted Word-compatible document.


Word-only is HR lingo for "You're over-skilled for this job. Move along."


or recruitment firms that want to remove your contact info from the resume before submitting it to their clients.


If you're using a recruitment firm, that's fair game although I'm glad the one I've used from time to time asked me to do it myself and not try to be sneaky about what they are doing on the backend. It makes the whole dealings with them way more comfortable that they are upfront about everything they are doing on my and their behalf. From what I understand this is not exactly standard practice with a lot of these firms.


I've had the same thing asked of me when I submit a resume in PDF format. I always happily reply that I can generate a new PDF with the requested contact information removed. If they're not amicable to that, then we have no chance of working together.


Or worse.


Not a fair generalization. I've seen very big consultancy firms only accept Word (or raw text) as input so their systems can filter you out before a human eye sees your application.

Also, I think head hunters want text so their software can categorize you and match you with jobs. While LaTeX makes it look pretty, it might not always be feasible to use it.


When most of us say something like that, what we really mean is "There are many reasons you might not be able to cope with a CV in a format other than Word, but all of them imply a high probability that I do not want to work with you."

It doesn't matter all that much whether the employer is looking for somone who uses underpowered tools to produce their documents, or wants you to spend a lot of time preparing a CV but can't be bothered to have a real person spend half a minute looking over it before binning you, or has inflexible work practices that favour absolute conformity over using tools and processes that make each member of staff more effective. They all reflect badly on the employer's hiring process, and by implication on the people you are likely to be working with if you get the job.

Perhaps rollypolly did want to single out one case, or maybe (s)he was just being diplomatic.


"There are many reasons you might not be able to cope with a CV in a format other than Word, but all of them imply a high probability that I do not want to work with you."

This. When I have recruiters calling me based on my very plain CV done in LaTeX, especially when I'm not even looking for work, I don't really feel any urge to respond to an interview request that starts with "please send us your resume in Microsoft Word." Some firms use strict criteria to whittle down their list of applicants; I feel justified in doing the same.


Tell me about it. I saw several job hunting sites that required using their own system to generate a very crappy-looking web resume in order to apply at places. Even applying at Microsoft Japan, they only accepted either their awful online resume maker or copy-pasting a text-only resume (!).


I always take a second look at a LaTeX resume, if only because learning enough LaTeX to make a decent resume is a positive indicator - albeit merely a cosmetic one.


Here is another example of a LaTeX CV: http://www.styluslabs.com/mwhite/


And here is my preferred one: http://www.ctan.org/tex-archive/macros/latex/contrib/modernc...


I decided to build a portfolio site in jekyll and add a print stylesheet, with which I could generate a PDF to send around.


actually, it's kind of ridiculous the amounts of HTML/CSS I am willing to write to avoid having to use a word processor.

I don't know latex, but if I did, it would probably be what I reached for.


I've passed through many different steps. I've tried Inkscape, LaTeX, XeLaTeX, HTML.

Now, I've developed my own system. I write the source in markdown and I can export in HTML, PDF and online SVG exported from the PDF.

It has been some time I didn't updated it but you might find this useful:

http://resume.espozito.com/index.html

Some source code can be found here

https://github.com/yogsototh/krambook


That should all be on one page. I don't think anyone wants to open up all of these various pages just to read your resume. If you want to keep everything split up, http://elliottcable.name/resume.xhtml is a good example of an online resume done well.


There's so much space wasted in the PDF version. It can probably all be written concisely in 2 pages.


I think that for anyone that isn't very familiar with latex, doing any adjustment at all will be a painful experience. You might be lucky if you get a hold of a style that suits you perfectly (or find a setup ready to use like the one in the article), but I honestly can't think of a worse language/tool to write a CV in, than LaTeX.

I've used LaTeX on several projects, and I found it to be wonderful for larger documents, and especially those that 'just work' with the defaults, especially those that are heavy in math, and especially those that are heavy in citations. A CV? Mine would have any if those properties, so no way in hell that I'd would go through that pain. Why? Because I'll be trying to adjust the position of elements for one, or two pages tops. If it were for a book or thesis, sure, writing a style to suit it might be worth it.

In summary, it really depends on what you know, and what you want to achieve. If you're not an expert in LaTeX, and you want more than the bare minimum of control over where things end up and how it looks, then LaTeX is the worst possible choice.

InDesign, Fireworks (even Photoshop) all cost a lot but I'd choose them any day over it. InkScape, count me in. I'll even use libreOffice over LaTeX.


A problem I found with CVs is that recruiters often ask you to resend it in word doc form (I guess so they can edit it and remove your contact info).

Also if your keeping your linkedin profile up to date then your effectively doubling your effort. What I found really handy recently was linkedin's resume builder ( http://resume.linkedinlabs.com/ ) which takes your linkedin profile and creates a resume from it. There are many styles to choose from and you can pick which info goes into it.

As for recruiters that ask for doc format I could say no but what I do is take the pdf and convert it to doc (it loses some of the formatting) but also explain that to the recruiter.


"A problem I found with CVs is that recruiters often ask you to resend it in word doc form"

Whenever recruiters have asked me this, I've just taken a screenshots of each of the pages of my LaTeX-generated PDF, pasted them in to LibreOffice, and saved them in DOC format.


Why do I find that solution but brillant and cunning?


I prefer Markdown. It allows you to separate content and form, and you can easily output to basically any format using pandoc.

https://github.com/mwhite/resume


> It allows you to separate content and form

Could you explain further what you mean by "form"?


Visual presentation and styling. Of course, if you write in Markdown then there is some limit to the degree to which you can change the way things look simply with a LaTeX header or CSS.


I once got a job because I could demonstrate my proficiency in TeX by pointing to the C.V. I'd just handed them - although that was a job as a book designer.


I have a new job. It's rearranging the alphabet, so U and I can be together forever.


They already did that in the qwerty keyboard layout.


I used to do my resumes in LaTeX but kept fighting with the styles. I really just wished i could use html/css, and finally created my own template.

https://github.com/chucklarge/html-resume-template


Here's my (admittedly not CV though) resume that I built in LaTeX: https://github.com/dcousineau/resume

It's not the world's best but naturally feel free to steal my source and run wild with it.


You might want to add an example PDF for those too lazy to compile the resume to check out the format. Also a license file couldn't hurt.

I like the separate cls file for handling most of the layout. I do pretty much the same in mine: https://github.com/treyhunner/resume


Is it worth learning LaTeX as a premed?


i also keep my resume in latex:

http://github.com/cies/resume


WTF is a "CV"?


Curriculum Vitae. You can think of it as a long form resume if I understand the US notion of a resume correctly. They are commonly used in place of resumes here (Netherlands, and presumably larger parts of the EU).


OK, thanks.

But the culture of obscurity reeks of insecurity.


I think calling something so common as "obscure" is in danger of seeming ignorant. Each and every search result on the first page for the acronym was regarding the term in question.


What culture of obscurity, exactly?


This is just a normal American reaction when we find out that other parts of the world do things differently than we do. In a purely defensive measure, we say that it is "obscure." For example, A4 paper is ubiquitous in the world. Except North America. Try to buy A4 paper, ask for A4 compatible accessories, etc. will draw only blank stares. There is no difference between a "cv" and a "resume." The terms are synonyms.

Now back to the post....

Two issues: lots of places ask for Word-format. This is because (at least some of them) are machine-reading the documents. This leads to the second point: if your cv does not contain the keywords in the job description, it will not be kicked out of the slush pile. So you have to write each cv/resume particularly for each job. If they take pdf's; fine, otherwise, it's a little bit easier to make a quick change in Word than to make a change in your favorite editor and then compile.

Oh and should you compile for A4 or letter? Article or scarticle? Isn't there a Dutch artikel class?


Using a deprecated technology to create a list of achievements seems odd to me. Isn't html the lingua franca nowadays? A html file with @media print seems much more logical to me.


I use LaTeX because:

+ I care about design, typesetting and typography

+ it's FOSS

+ it's cross-platform

+ it doesn't cost me an arm compared to the alternative

+ it's unbelievably lightweight (e.g MacTeX basic) compared to the alternative

+ it allows for code factorization

+ it's text-based which means:

- drivable form the shell

- automatable from makefiles

- editable in vim

- can be generated with e.g erb or jinja2

- naturally handled by git/hg

i.e it's composable in a unix workflow

TeX has its warts and a steep learning curve, but there's a slight difference between obsolete technology and mature technology. Especially when there's no replacement.


> I care about design, typesetting and typography

Sorry, but design, typesetting and typography done in html is far superior. Why limit to paper only? Last time I checked, most typography features are implemented in firefox/chrome. Html is the replacement. You limit yourself with static information on paper using Tex. Tex falls into the category of pdf, doc, docx, odt to me. Deprecated, because we do not put things on paper today, but we put things on the internet.


> typesetting and typography done in html is far superior

Did I miss the irony somewhere? Last time I checked (justified) line breaking was a mess, protrusion is not supported and generally it's quite hard to handle font metrics without using a canvas. I guess you're right that this is changing, but it's nowhere near the quality and the ease (yes even that) of TeX or InDesign. And if you use some content preprocessor like pandoc or xslt the limitation of static information on paper isn't a problem anyway.

Btw, if you like to have more control over the layout have a look at ConTeXt, it's quite nice especially its modular approach.


"Why limit to paper only? ... You limit yourself with static information on paper using Tex."

You've never viewed a PDF on a monitor?

Personally, for archival and offline viewing purposes I much prefer a PDF made with LaTeX than a copy of or export of a web page.

The only time I'd ever prefer a web page is if it's really a large set of pages with a complicated hypertext structure. That's the only place where HTML shines. Needless to say, a resume usually doesn't fall in to this category.


Deprecated technology? It would seem you don't know what you're talking about.


It is a technology with the primary result being a printed product. The primary result should be a dynamic document, with optional export to @media print.


One could use the same logic to say the web is becoming deprecated, make an iPhone app or a Facebook page for your info. Basically, BS.


Using a deprecated technology to create a list of achievements seems odd to me.

Any firm that would want me to convert my resume to, say, Microsoft Word, just to apply to them, I don't want to work for. Double for any firm that ignores a technology because they think it's deprecated. Just for point of reference, I started getting more interview requests when I converted my resume from HTML to LaTeX and put the PDF output online in place of the HTML.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: