[Tex/LaTex] Bulleted lists in moderncv cventry

listsmoderncv

I'm working on my CV in moderncv, and am trying to have a bulleted list that is correctly aligned when the text wraps around the page.

I've been using $\bullet$s and newlines, but the text wraps incorrectly. Over here, a user suggests using

\newcommand\mybitem[1]{%
   \parbox[t]{3mm}{\textbullet}\parbox[t]{10cm}{#1}\\[1.6mm]}

but trying that gives me an error on compilation:

! Use of \LT@array doesn't match its definition.
\@ifnextchar ... \reserved@d =#1\def \reserved@a {
                                                  #2}\def \reserved@b {#3}\f...
l.37   \mybitem{Second item}}

? 

Here is what I have now:

\documentclass[11pt,a4paper]{moderncv}

% moderncv themes
\moderncvtheme[blue]{casual}                 % optional argument are 'blue' (default), 'orange', 'red', 'green', 'grey' and 'roman' (for roman fonts, instead of sans serif fonts)

\usepackage[utf8]{inputenc}                   % replace by the encoding you are using

\usepackage[scale=0.8]{geometry}
\recomputelengths                             % required when changes are made to page layout lengths

% personal data
\firstname{first}
\familyname{last}
%\quote{}               % optional, remove the line if not wanted
\address{123 First St}{Somewhere, CA 90210}    % optional, remove the line if not wanted
\mobile{555.555.5555}                    % optional, remove the line if not wanted
\email{me@me.com}                      % optional, remove the line if not wanted
\extrainfo{info} % optional, remove the line if not wanted

\newcommand\mybitem[1]{%
   \parbox[t]{3mm}{\textbullet}\parbox[t]{10cm}{#1}\\[1.6mm]}

\begin{document}
\maketitle

\section{Experience}

\cventry{years}{degree/job title}{institution/employer}{localization}{grade}
{$\bullet$ Hacky, non-indented method.\newline
$\bullet$ line two lorem ipsum}



\closesection{}                   % needed to renewcommands
\renewcommand{\listitemsymbol}{-} % change the symbol for lists

\end{document}

Best Answer

You can try the \mybitem command defined like in the answer you linked to, but with the lengths now properly calculated:

\documentclass[11pt,a4paper]{moderncv}
\moderncvtheme[blue]{casual} 
\usepackage[utf8]{inputenc}

\usepackage[scale=0.8]{geometry}
\recomputelengths

\firstname{first}
\familyname{last}
\address{123 First St}{Somewhere, CA 90210}
\mobile{555.555.5555}
\email{me@me.com}
\extrainfo{info}

\newlength\mylen
\addtolength\mylen{\linewidth}
\addtolength\mylen{-\hintscolumnwidth}
\addtolength\mylen{-\separatorcolumnwidth}
\addtolength\mylen{-3mm}

\newcommand\mybitem[1]{%
   \parbox[t]{3mm}{\textbullet}\parbox[t]{\mylen}{#1}}

\begin{document}
\maketitle

\section{Experience}

\cventry{years}{degree/job title}{institution/employer}{localization}{grade}
{\mybitem{some bulleted entry}
\mybitem{some bulleted entry which is so long that it will span more than a single line, or at least, that's what I hope}
}

\closesection{} 

\end{document}

However, why don't you use a modified itemize environment?

\documentclass[11pt,a4paper]{moderncv}
\moderncvtheme[blue]{casual} 
\usepackage[utf8]{inputenc}
\usepackage{enumitem}
\usepackage[scale=0.8]{geometry}
\recomputelengths

\firstname{first}
\familyname{last}
\address{123 First St}{Somewhere, CA 90210}
\mobile{555.555.5555}
\email{me@me.com}
\extrainfo{info}

\begin{document}
\maketitle

\section{Experience}

\cventry{years}{degree/job title}{institution/employer}{localization}{grade}
{\begin{itemize}[label=\textbullet]
  \item some bulleted item
  \item another bulleted item, this time so long that it will span more than one line, let's add some more text .
\end{itemize}
}

\closesection{} 

\end{document}