11

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{[email protected]}                      % 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}

3 Answers 3

8

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{[email protected]}
\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{[email protected]}
\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}
6
  • 1
    I tried the second option in your list, but it fails to compile: ! LaTeX Error: Environment description undefined. See the LaTeX manual or LaTeX Companion for explanation. Type H <return> for immediate help. ... l.775 \renewenvironment{description} [1][] ? I've tried it with both miktex on windows and pdflatex on osx (just adding the package enumitem causes the error)
    – Cev
    Mar 9, 2011 at 1:03
  • @Cev: Both my example codes work OK in my system (TeX Live2010); perhaps your LaTeX installations are outdated? Which version of MiKTeX and of MacTeX (I assume) are you using? The latest versions are MiKTeX2.9 and MacTeX-2010. Mar 9, 2011 at 1:14
  • Figured it out: the version of moderncv I used from this site had an older version incompatible with enumitem. Thanks!
    – Cev
    Mar 9, 2011 at 1:31
  • 1
    I realize this is hopelessly unspecific, but my pdflatex gives me the error ! LaTeX Error: Something's wrong--perhaps a missing \item. when using the modified itemize environment suggested in the answer. What could be the reason? What could I do to further debug this? May 10, 2012 at 16:49
  • 1
    @Legate: yes, opening a new question is the way to go here. You can indicate that it's a follow-up question and put a link to this one. Don't forget to include a minimal, yet complete example document in your new question. May 10, 2012 at 17:03
2
\cventry{2020}{job title}{\textsc{Company name}}{City}{Country} 
{\begin{itemize}
  \item[\textbullet] Point 1
  \item[\textbullet] Point 2
 \end{itemize}
}

This worked for me after hit and trial!

1

gmedina's answer in this thread works better for me. Copied here for easy reference:

\documentclass{moderncv} 

\firstname{John}
\familyname{Doe}

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

\begin{document}  

\cventry{years}{degree/job title}{institution/employer}{localization}{grade}{%
   \mybitem{First item text text text text text text text text text text text text text text
     text text text text text text text text text text text text text text text text text text text
     text text text.}
   \mybitem{Second item}}

\end{document}
1
  • Thanks, I used this without the \\[1.6mm] since the \\ caused problems and the line spacing was too large Nov 9, 2023 at 9:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .