21

Recently I learned, from an insider, that a CV in PDF format might have a significant disadvantage: automated data mining tools used by HR sometimes fail to extract information from the PDF. Most likely you experienced at least once to that you were asked to send a CV in (god forbid) WORD format. It seems that the reason is that the tools used by the Human Resources people do not cope well with PDFs.

So, the question, how can you improve the visibility/accessibility of your CV? Probably, metadata (using hyperref) can be an answer, but I don't know. What is your experience?

  • 2
    I recommend you use cmap, which improves the search and copy facilities. Also check out the Access PDF Topic on CTAN. – Nicola Talbot Feb 3 '14 at 15:39
  • 1
    There’s a question re structured PDFs that might help you, if it ever gets an answer. – Crissov Feb 3 '14 at 16:19
  • 1
    I made a some research and it seems like CVs in .pdf format are, in general, discouraged... The reason is the so-called Applicant Tracking System (ATS) which, again in general, tend to handle .doc files. I find it a very sad truth, since it implicitly says that one has to have WORD in order to find a job. – Dror Feb 3 '14 at 22:14
8

Using org-mode to generate your CV

The solution I'm about to discuss is inspired by the one of Puneeth Chaganti. The main idea is to have one central org file which will serve as a database for the generation of either PDF or ODT (openoffice) versions of the resume. The key idea is to have a dedicated package which will format the exporting of the data to a PDF. This will yield a nicely formatted PDF that is managed by the org file. At the moment I don't know how to improve the formatting of the ODT output, but this is less important; only automated systems (ATS) are suppose to "open" this version of the CV.

The dedicated package

Its main highlights are:

  • Defines the sectioning to allow a CV-like appearance. In particular: \section serves as sections of the CV, \subsection serves an item's heading (e.g. where you studied). Finally, \subsubsection is used for a marginal title.
  • optional key-value that defines a profile image that will be inserted into the resulting PDF

Following is the code of the dedicated package:

  \NeedsTeXFormat{LaTeX2e}[1994/06/01]
  \ProvidesPackage{orgCV}

  %%%%%%%%%%%%%%%%%%%%%%%%%%%% Options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  \RequirePackage{kvoptions}
  \SetupKeyvalOptions{
    family=CV,
    prefix=CV@
  }
  \DeclareStringOption{profilePic} % holding the filename of profile pic
  \DeclareStringOption[60pt]{profilePicWidth} % holding width of profile pic
  \ProcessKeyvalOptions*
  %%%%%%%%%%%%%%%%%%%%%%%%%%%% END Options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


  % A Few Useful Packages
  \RequirePackage[paper=a4paper,top=0.5in, bottom=0.5in, left=2in, right=1in]%
                 {geometry}
  \RequirePackage{titlesec} % custom section
  \RequirePackage{etoolbox} % Needed for if-else statements
  \RequirePackage{paralist} % Define special lists
  \RequirePackage{tabto} % Allow tabbing for inline tabbed list
  \RequirePackage[symbol]{footmisc} % Have symbols instead of number for footnotes
  \RequirePackage{tikz} % Used for insertion and decoration of the profile picture
  \usetikzlibrary{calc}
  \RequirePackage{color}
  \RequirePackage{hyperref}
  \definecolor{linkcolour}{rgb}{0,0.2,0.6}
  \hypersetup{colorlinks,breaklinks, urlcolor=linkcolour,linkcolor=linkcolour}

  \pagestyle{empty} % plain

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Measure profile picture's dimensions for the insertion in the title.
  \newlength{\ProfilePich} % Will store the height of the profile picture
  \newcommand{\setProfilePich}[1]{
                                  \settoheight{\ProfilePich}{\usebox{#1}}
                                 }
  \newlength{\ProfilePicd} % Will store the depth  of the profile picture
  \newcommand{\setProfilePicd}[1]{
                                  \settowidth{\ProfilePicd}{\usebox{#1}}
                                 }
  \newlength{\ProfilePicw} % Will store the width  of the profile picture
  \newcommand{\setProfilePicw}[1]{
                                  \settowidth{\ProfilePicw}{\usebox{#1}}
                                 }
  \newsavebox{\ProfilePic}
  \newcommand{\profilePicDimensions}[1]{
    % create and save the box
    \savebox{\ProfilePic}{%
      \includegraphics[keepaspectratio=true,width=\@yourpicturewidth]{#1}%
    }
    \setProfilePich{\ProfilePic}
    \setProfilePicw{\ProfilePic}
    \setProfilePicd{\ProfilePic}
  }%

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Title
  %%
  % Check whether profile picture was provided as a package option.
  \ifx \CV@profilePic \@empty
    \relax % profile pic was not provided in package's options
  \else
    \def\@yourpicture{\CV@profilePic}
    \def\@yourpicturewidth{\CV@profilePicWidth}
  \fi
  \renewcommand*{\maketitle}{%
    \begin{minipage}[t]{0.7\linewidth}
      % Insert candidate's name as given in the org-file.
      \raggedright{{\Huge \bfseries \scalebox{1.2}{\@title}}}\\[.5in]
    \end{minipage}
    \hfill
    \ifdef{\@yourpicture}{ % profile pic was provided
      \profilePicDimensions{\@yourpicture}
      \begin{minipage}[t]{0.2\linewidth}
        \raggedleft{
          \begin{tikzpicture}
            \fill[black!20] (0,0) %
            node[anchor=south west] {%
              \includegraphics[keepaspectratio=true,width=\@yourpicturewidth]%
              {\@yourpicture}%
            } %
            rectangle ($(\the\ProfilePicw,\the\ProfilePich)$);
          \end{tikzpicture}
        }
      \end{minipage}
      } % end of profile picture insertion.
      {
        % No profile picture to insert
      }
  }
  %%%%%%%%%%%%%%%%%%%%%%%%End of heading%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Section Headings, etc.
  \titleformat{\section} %command
              % [] % shape
              {\Large\scshape\raggedright} %format
              {} %label
              {0pt} %sep
              {} %before
              [\titlerule\vspace{2ex}]
  \titlespacing{\section}{0pt}{6ex}{0ex}

  \titleformat{\subsection} %command
              {\small\bfseries\raggedright} %format
              {} %label
              {0pt} %sep
              {} %before
              [\vspace{0.5ex}] %after
  \titlespacing{\subsection}{0pt}{4ex}{0ex}

  \titleformat{\subsubsection} %command
              [leftmargin] %shape
              {\small\scshape\raggedleft} %format
              {} %label
              {0pt} %sep
              {} %before
              [] %after
  \titlespacing{\subsubsection}{16em}{0.25ex}{2em}
  %%%%%%%%%%%%%%%%%%%%%%%%End of sectioning%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % Paragraph indent
  \setlength{\parindent}{0cm}
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % Lists
  % This macro alters a list by removing some of the space that follows the list
  % (is used by lists below)
  % Inline tabbed itemize
  \newenvironment{tabbedenum}[1]
  {\NumTabs{#1}\inparaitem\let\latexitem\item
    \def\item{%
      \def\item{\tab\latexitem}\latexitem}}
  {\endinparaenum}

  \renewenvironment{itemize}{
    \begin{list}{\textbullet}{%
        \setlength{\itemsep}{0.25ex}
        \setlength{\parsep}{0em}
        \setlength{\parskip}{0em}
        \setlength{\topsep}{0em}
        \setlength{\partopsep}{0em}
        \setlength{\leftmargin}{1em}}}{\end{list}}
  %%%%%%%%%%%%%%%%%%%%%%%%End of lists definitions%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Sample of a CV in its org file

Consider the following simple example

  #+OPTIONS: tags:nil toc:nil author:nil num:nil H:3
  #+LATEX_HEADER: \usepackage[profilePic=profile-pic,profilePicWidth=60pt]{orgCV}

  #+TITLE: Foo Bar

  * Contact and Personal Information
  *** Address
  Right here street, Somewhere

  *** Email
  [[mailto:foo@bar.com][foo@bar.com]]

  *** Web Pages
  [[http://www.foo.bar.com]]

  * Language Skills
  *** Klingon
  Native language
  *** Elvish
  Fluent (speaking, reading and writing)

  * Fields of Interest
  - Space traveling
  - Hunting goblins

  * Education
  ** University of nowhere (since 1234)
  PhD. Candidate. Title of dissertation:

  # Dissertation's title
  #+BEGIN_CENTER
  */Find and Kill Goblins/*
  #+END_CENTER
  * Technical Skills
  ** Hunting Skills
  #+ATTR_LATEX: :environment tabbedenum :options {3}
  - ~wolves~
  - ~bears~
  - ~elephants~
  ** Social Skills
  None.
  * References
  Do you really need them?

Here is the result:

enter image description here

  • For the n00bs out there, this answer uses [emacs'] (gnu.org/software/emacs) [org-mode] (orgmode.org). To export to LaTex (with or without a PDF) from emacs, first save the "dedicated package" as myCV.sty in the same directory as the .org file. It took me a while to figure all this out :) – Brian Z Feb 14 '15 at 4:10
  • Also, the combined bold & italics "Find & Kill Goblins" is not exporting correctly for me. I see the two "/" instead. Did you have to fix that bit by hand, @Dror? – Brian Z Feb 14 '15 at 4:18
  • 1
    I AM sorry I was not clear enough... For me the bold&italics combination works as is. Note that I don't have any spaces after and before the /. – Dror Feb 15 '15 at 21:19
  • 1
    I fixed the formatting issues by upgrading my org-mode... works great now! – Brian Z Feb 21 '15 at 10:19
  • Good point. I'm glad you found it helpful. – Dror Feb 21 '15 at 19:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.