92 Comments

  1. henningninneh

    excellent. this looks exactly like my word-typeset cv. now i must give it a try in LaTex. thanks for this post.

  2. akmkat

    Very nice, but the address/personal information does not come as two separate columns. How to fix? Please help.

    • Hi!

      Thanks for your comment. Did you use the minipage environment as in the example above? Please provide a minimal example and I’ll try to help.

      Best, Tom.

  3. eiselekd

    The layout is nice however there a problems I think:
    When using tabular and you have a long list, i.e.
    in the “Practical Experience” section, tabular will
    not break across multiple pages. Also when you add
    footnotes inside tables you need to be an expert. A simpler
    2 column layout would be, it misses the vertical ruler however:

    \documentclass{scrartcl}
    \usepackage{lipsum}
    \begin{document}
    \begin{labeling}{XXXXXXX}%template for longest item.
    \item[2000] \lipsum[1-2]
    \item[2001] \lipsum[1-2]
    \end{labeling}
    \end{document}
    • Thanks for the sample code. I agree, one may run into problems, but LaTeX almost always provides a reasonable solution. I wrote about footnotes in tables in one of my previous posts. Concerning the multipage issue, often one can arrange things with margins, font size, line spacing, etc. Another possibility would be to use the longtable package instead, which allows tables to span across multiple pages.

      Best, Tom.

  4. Daniel

    Thanks for a great post and blog!
    I’m wondering about how to change the indentation of the dates in the first column. Suppose you want to specify the month e.g. 201203 – 201206. This causes a line-break but it seems there is more space to use to the left. What would you do?

    • Hi Daniel,

      Thanks for your comment. What you would do is to change the width of the manually defined columns. Try for example 0.25\textwidth for L and 0.6\textwidth for R as in the code below.

      \usepackage{array, xcolor}
      \definecolor{lightgray}{gray}{0.8}
      \newcolumntype{L}{>{\raggedleft}p{0.25\textwidth}}
      \newcolumntype{R}{p{0.6\textwidth}}
      \newcommand\VRule{\color{lightgray}\vrule width 0.5pt}

      Best, Tom.

    • Hi Daniel,

      Do you mean a vertical red line? You could color a vrule with the xcolor package:

      \documentclass[10pt]{article}
      \usepackage[table]{xcolor}
      \usepackage{array, lipsum, bibentry}
      \usepackage{tabu}
      \usepackage[margin=3cm]{geometry}
      \taburulecolor{red}
      \title{\bfseries\Huge Tom T. Texblog}
      \author{texblog+cv@gmail.com}
      \date{}
      \definecolor{lightgray}{gray}{0.8}
      \newcolumntype{L}{|>{\raggedleft}p{0.14\textwidth}}
      \newcolumntype{R}{p{0.8\textwidth}}
      \newcommand\VRule{\color{lightgray}\vrule width 0.5pt}
      ...

      Changes are highlighted.

      Best, Tom.

  5. Daniel

    Nice! Yes, that’s what I meant:), (of course I mean the lightgray line which I changed to red, thus the confusion). I changed \tabular to \tabu and then everything worked perfectly.
    Cheers, Daniel

  6. crlsmrgf

    Thank u very much!
    It was also something in my TO-DO list for too long, and it was much ore easy than I thought!

  7. Alex

    I’m having trouble getting the publications section to work… Even if I copy your source code exactly, I get and error: “Citation ‘knuth2006art’ undefined”. Any idea how to fix this?

    • Hi Alex,

      Two things:

      • Did you run latex, bibtex, latex, latex?
      • Do you have a publication.bib file containing the bib-entries?

      In case you use the complete example provided in the post, the file will be created when you typeset the document (latex) the first time.

      Hope this helps.
      Best, Tom

      • Luís Martins

        Hi, I was testing your example and the same error appeared. In line 69 – \nobibliography{publication.bib}, I just removed the extension and the error disappeared.

  8. With the publications list, I get a vertical space in front of each of my \bibentry bits, so that the year is a line above the text. If I add some text or “\hspace{0pt}” ahead of it, it jumps back on the right line. This is an ugly hack, though. Any suggestions?

    • Hi Matt,

      Unfortunately, I wasn’t able to reproduce what you describe above. Could you provide a minimal working example? Something similar to the code below would do.

      Thanks, Tom.

      \documentclass{article}
      \usepackage{bibentry}
      \usepackage{array, xcolor}
      \definecolor{lightgray}{gray}{0.8}
      \newcolumntype{L}{>{\raggedleft}p{0.14\textwidth}}
      \newcolumntype{R}{p{0.8\textwidth}}
      \newcommand\VRule{\color{lightgray}\vrule width 0.5pt}
      \begin{filecontents}{publication.bib}
      @book{knuth2006art,
        title={The art of computer programming: Generating all trees: history of combinatorial generation},
        author={Knuth, D.E.},
        volume={4},
        year={2006},
        publisher={addison-Wesley}}
      \end{filecontents}
      \begin{document}
      \bibliographystyle{plain}
      \nobibliography{publication.bib}
      \section*{Publications}
      \begin{tabular}{L!{\VRule}R}
      2006&\bibentry{knuth2006art}\vspace{5pt}\\
      \end{tabular}
      \end{document}
      • Hi Tom,

        In the process of eliminating things to give a minimal example, I discovered the culprit: the hyperref package. (This is crucial for me if we’re going to be posting the CV online or sending it electronically.) I also managed to find a solution: use the longtable package instead of the ordinary tabular environment.

        Best,
        Matt

      • Pablo

        Hi Matthew, the hyperref package was causing trouble to me too. Would you mention what you did to have publications AND the hyperref package both work? Thanks!

      • Pablo

        I don’t understand how longtable can help me to enable href. Do you mean to use it instead of the array package, and that will allow using the href package?

  9. Martin Vogel

    Hi,
    Thanks for your nice CV template.
    I just wonder how to modify the code to include properly a photo in the beginning. I am not very familiar with the minipage environment.
    Thanks in advance
    Martin

    • Thanks for your question, Martin. That’s fairly simple. Copy-paste the code above in the post which has the photo black box and replace:

      \rule{width}{height}

      with

      \includegraphics[width=3.5cm]{path/photo.png}

      You’ll have to load the graphicx package to make use of the width option.

      Let me know if you have any problems with that and if you provide the code, I’ll most certainly be able to help.

      Cheers, Tom.

  10. Jolyon Bloomfield

    Heya,

    Just wanted to point out that the use of “\vspace{5pt}\\” to get nice spacing in the tables can backfire if the \vspace will cause a new line to be added to that row (if your text is _just_ the wrong length). Better is to use “\\[5pt]” which doesn’t have this problem.

    Best,
    Jolyon

  11. Phil

    Hi there.
    I’m very new to latex so forgive me naive question.

    I noticed that when a section was a bit long it started on a new page leaving sometime a lot of extra white page after the previous section.

    Is it something that can be changed easily?

    Otherwise, thank for the excellent post.

    • Hi Phil,

      Thanks for your question. You probably have to play around to find the optimal arrangement. However, in general, I would not expect a section to be automatically moved to the next page if there is blank space left on the current page. Unless you add \clearpage or \newpage of course.

      Could you provide a minimal example for illustration?

      Thanks, Tom.

    • jolyonbloomfield

      Hi there,

      This happens because LaTeX tries to fit a tabular environment on a single page; it won’t break it across pages. I ran into this same issue recently. The fix is to use the longtable package:

      \usepackage{longtable}
      

      You probably also want to use these commands in the preamble (otherwise the spacing gets a little big):

      \setlength{\LTpre}{0pt}
      \setlength{\LTpost}{0pt}
      

      Then, wherever \begin{tabular} … \end{\tabular} appears, change it to the following.

      \begin{longtable}
      ...
      \end{longtable}
      

      I hope this helps!
      Jolyon

  12. Ben

    Dear All,

    Thank you for this template. It works really great.

    But I want to add a foot note stating the date and company for wich this Resume is made.

    I’ve been searching the net for how to do this, but I can’t figure out how to get a footer on the first page …

    Is there any good trick to do this?

    Thank you!

    • Hi Ben,

      Assuming you are using the fancyhdr package and redefined the header/footer according to your needs. Now to get a header/footer on the first page, just add the following line after \maketitle:

      \thispagestyle{fancy}

      You can find more information on redefining header/footer here.

      Best, Tom.

  13. dottag

    Thank you for the awesome CV! This was exactly my Word-style but my limited knowledge of LaTeX did not allow me to do the same.

    One question: how do I make the second column left-justified? I’d loke to do it because I don’t like that LaTeX stretches out the between-words spaces (it’s not an article, so the right margin looks “ragged” anyway).

    • Hello!
      Left-align the right side is done similarly to right-align the left side using \raggedright in the column definition. I attached a minimal working example below.

      \documentclass{article}
      \usepackage{xcolor, blindtext, array}
      \definecolor{lightgray}{gray}{0.8}
      \newcolumntype{L}{>{\raggedleft}p{0.14\textwidth}}
      \newcolumntype{R}{>{\raggedright}p{0.8\textwidth}}
      \newcommand\VRule{\color{lightgray}\vrule width 0.5pt}
      \begin{document}
      \section*{Title}
      \begin{tabular}{L!{\VRule}R}
      2013&\blindtext\\
      \end{tabular}
      \end{document}
  14. Chaanakya

    This post was really nice. Thank you :) One suggestion/improvement: for the address/other info, you could use this code instead, which would put the address and other info flush against the left/right side respectively:

    \begin{minipage}[ht]{0.48\textwidth}
      \begin{flushleft}
        666 Devil St. \\
        Hell
      \end{flushleft}
    \end{minipage}
    \begin{minipage}[ht]{0.48\textwidth}
      \begin{flushright}
        666-666-6666 \\
        satan@gmail.com
      \end{flushright}
    \end{minipage}
    • Hi Katia,

      Thanks for getting in touch. It seems that similar ideas were used in the CV in question than what I published here. Still, I wouldn’t want to re-engineer the CV in question. Why don’t you ask the person directly for a LaTeX template? That would make it much easier for you. Also, I’d be more than happy to help, should you get stuck preparing your CV with the template.

      Tom

      • Katia Consani

        Hi Tom, thanks for the quick reply, I asked the author of that CV for a latex template but I got not reply. I’d appreciate if you can suggest me a basic skeleton to obtain a similar output

    • Hi Katia,

      Please find below code for some elements of the CV you liked. You picked the font using the LaTeX font catalogue. LaTeX lets you mix different fonts as it was done in the example CV. I wouldn’t recommend it, there are other ways to highlight certain words or sentences.
      I hope with that you’ll be able to prepare your CV.
      Cheers, Tom

      \documentclass[11pt]{article}
      
      % Font
      \usepackage[light,math]{kurier}
      \usepackage[T1]{fontenc}
      
      % Color for headings
      \usepackage{xcolor}
      \definecolor{darkred}{rgb}{0.8,0,0}
      
      % Heading with lines
      \usepackage{titlesec}
      \newcommand{\lineafter}[1]{#1{} \hrulefill}
      \titleformat{\section}{\scshape\huge\centering\color{darkred}}{}{0pt}{\hrulefill{} \lineafter}[]
      \titleformat{\subsection}{\scshape\large\color{darkred}}{}{0pt}{\lineafter}[]
      
      % Tabular style for content
      \usepackage{array, xcolor}
      \newcolumntype{L}{>{\raggedleft}p{0.14\textwidth}}
      \newcolumntype{R}{p{0.8\textwidth}}
      \newcommand\VRule{\vrule width 0.5pt}
      
      \begin{document}
      \section{Main-heading}
      \subsection{Sub-heading}
      \begin{minipage}{0.48\textwidth}
      Personal information
      \end{minipage}
      \begin{minipage}{0.48\textwidth}
      My address
      \end{minipage}
      \subsection{Sub-heading}
      
      \begin{tabular}{L!{\VRule}R}
      2012--13&Some text\\
      {\it Something}&Some other text\\
      \multicolumn{2}{c}{}\\
      2011&Some text\\
      {\it Something}&Some other text\\
      \end{tabular}
      
      \end{document}
  15. Allen

    Very good codes. Helps me alot. My question is, can I move the title(my name) a bit upper? Since I wanna keep my CV in one page, the extra blank above title is not that good.

  16. lchriste

    Hi Tom,

    first of all, thanks for a really nice CV template. I’ve tried to tweak it somewhat for my own purposes, but I can’t seem to get footnotes to work properly in the document. Specifically, the the footnote text does not show at the bottom of the page, when I compile the document. I wonder whether this has something to do with that it is overwritten by the tabular environment or something.

    Any ideas of how to solve this?

    Best,

    • Hi there,

      From your description, I assume you are trying to place footnote marks within a tabular. You might find this post helpful. If that doesn’t solve your problem, please post a minimal example and I’ll be better able to help.

      Cheers, Tom

  17. Algore

    Best CV made in Latex. I swear, I looked up all other template (moderncv etc.). They are way too overloaded for a proper academic CV. Thanks a lot!

  18. Daniel

    Hey Tom,

    first of all, thanks for that great code! But I have one question…do you have any idea how to insert a picture that is exactly right of e.g. the “education” section, so that it doesn’t shift the text down?
    Thank you very much in advance,

    Daniel

    • tom

      Hi Daniel,

      I’d use minipage to split the page into two columns locally. Give the code below a try and change it according to what you had in mind.

      Cheers, Tom.

      \section*{Education}
      \newcolumntype{M}{>{\raggedleft}p{0.28\textwidth}}
      \newcolumntype{N}{p{0.66\textwidth}}
      \begin{minipage}{0.5\textwidth} 
      \begin{tabular}{M!{\VRule}N}
      2005--2007&{\bf MSc in Computer Science, Great University, Country.}\\[5pt]
      2001--2005&BSc in Life Science, Great University, Country.\\[5pt]
      1997--2001&Fancy Highschool, Contry.\\
      \end{tabular}
      \end{minipage}
      \begin{minipage}{0.5\textwidth}
      \centering\rule{0.35\linewidth}{0.35\linewidth}
      \end{minipage}
    • tom

      It seems you are sorting citations (nty: name, title, year). So you might want to look for the line where you do that. I can’t recall having that in my original code.

      Cheers, Tom

Leave a Reply