# How do I keep field names and field content separate in a latex CV?

I want to write my CV with LaTeX. I would like to use the europecv template but I have run into all kinds of trouble getting the outcome to look the way I want it to.

Nearly all the CV examples use some kind of table structure. While this may be the intuitive way to go because this is how it is often done in Word, it has some important limitations in LaTeX.

Here is my MWE using europecv:

\makeatletter
\@namedef{ver@inputenc.sty}{}       % pretend that inputenc has been loaded
\@namedef{opt@inputenc.sty}{utf8x}  % with the utf8x option
\makeatother

%!TEX encoding = UTF-8 Unicode
\documentclass[totpages,german,notitle,nologo,openbib]{europecv}
\usepackage[T1]{fontenc}
\usepackage[a4paper,top=1.27cm,left=1cm,right=1cm,bottom=2cm]{geometry}
\usepackage{ifpdf}
\usepackage{bibentry}
\usepackage[ngerman]{babel}
\usepackage{url}
\usepackage{graphicx,fontspec,microtype}

% fontspec doesn't want to see inputenc loaded,
% so now we pretend it hasn't been
\expandafter\let\csname ver@inputenc.sty\endcsname\relax
% europecv uses the \inputencoding command, that we neutralize
\providecommand{\inputencoding}[1]{}

\setmainfont{Linux Libertine O}
\setsansfont{FreeSans}

\ecvname{Johann P. Großknall}

\ecvfootername{Johann Großknall}
\ecvaddress{Am Scherzufer 15 \\& 10407 Berlin \\& Bundesrepublik Deutschland}
\ecvtelephone[+49 176 234 567 89]{+49 30 234 56789}
\ecvemail{jbloggsburg@niemand.org}
\ecvnationality{deutsch}
\ecvdateofbirth{01.01.1970}
\ecvfootnote{Weitere Informationen finden Sie unter \url{http://europass.cedefop.eu.int}\\

\begin{document}
\selectlanguage{german}

\begin{europecv}
\ecvpersonalinfo[20pt]

\ecvitem{\vskip0.2cm\large\textbf{Gewünschte Beschäftigung}}{\vskip0.2cm\large\textbf{Raketentechniker}}

\ecvsection{Berufserfahrung}
\ecvitem{Zeitraum}{01.2009 - 12.2010}
\ecvitem{Beruf oder Funktion}{Praktikant}
\ecvitem{Wichtigste Tätigkeiten und Zuständigkeiten}{Raketen bauen, Raketen starten, Raketen sprengen, \\ & Schutt und Asche aufräumen}

\end{europecv}

\end{document}


The problem: the only way to get multi-line content into the fields on the right is with \\&, which is, even by the class author's admission, a very ugly hack. The minute the field descriptor on the left wraps, you will have unwanted line spaces in the field content on the right (see "Gewünschte Beschäftigung").

Stefan Kottwitz uses tables, specifically tabularx, but I don't see how this would behave any differently.

Dario Taraborelli uses margin notes for dates, which looks nice and mostly works, but then you still have to explicitly typeset your personal information. I would like to have a structure similar to the Europass CV, but have

• Field descriptions on the left,
• Field content on the right,

and be able to enter the field content something like this:

\field{title}{
content content content \\
\begin{itemize}
\item bla bla bla
\item more bla
\end{itemize}
}


... and have everything behave nicely, with no unwanted line spaces or other antics.

This is such a common requirement of CVs that it surprises me that nobody (to my knowledge) has done a template that does this yet.

Maybe it is possible to get what I want using parcolumns, as in this answer?

(I have this fantasy that the right way to do this is to write my own class, but I am still pretty new to LaTeX and don't yet understand how macros work, so that seems like pretty heavy lifting to me.)

-
You can use \newline instead of the \\&. This will break the line inside the table cell. You can also use \par. And before an itemize no line breaking command is needed anyway. Beside this: I do find a cls which load inputenc with a fix encoding (and so force you to this ugly inputenc hack) very dubious. –  Ulrike Fischer Oct 29 '12 at 10:23

If you want to use parcolumns, here's a minimal example which you can customise (just to show that (a) it can be done with parcolumns and (b) with the syntax you described):

\documentclass{article}
\usepackage{parcolumns}
\newcommand\cvfield[2]{\colchunk{\textsc{#1}}\colchunk{#2}%
\colplacechunks}

\begin{document}
\begin{parcolumns}[colwidths={1=4cm},sloppy]{2}
\cvfield{Education}{
\begin{itemize}
\item Aunt's basement: 1992 -- 1997
\item School of magic: 1998 -- 2005
\end{itemize}
}
\cvfield{Research Interest}{
I am mostly interested in methods of flying on a broomstick
and playing a version of polo. I am also a minor entrepreneur with
investments in a small business producing useless magical items.
}
\cvfield{A really absurdly long title just to demonstrate that no line
spaces are produced}{
A equally absurdly long entry just to show that the line
wrappings are done in a proper way so life works as expected.
}
\end{parcolumns}
\end{document}


The output looks like:

You will probably need to play with some spacing/formatting commands to get it to the shape you want.

-
Personally for an academic CV I find using the two-column construction to waste too much space on the paper, and prefer to use instead negatively-indented section headings. –  Willie Wong Oct 31 '12 at 13:20
Doesn't that eat up an entire line? –  Stephen Bosch Oct 31 '12 at 21:06
@Stephen: Doesn't what eat up an entire line? If you refer to my comment: yes, the heading uses up an entire line, but for academic CVs the vertical real estate is cheaper than the horizontal: under each heading (for example, "publications" or "seminars given" or "work experience") maybe 10s of lines. –  Willie Wong Nov 1 '12 at 8:47