1

This has been asked before, for example, here and here. However, they seem to alter the original settings, which is not needed for me. I am trying to use similar command to just allow the text to be split into multiple pages, nothing more. But, I don't know how to write the newcommand to fit my requirement.

Here is my MWE:

\documentclass[11pt,a4paper,sans]{moderncv}        

\moderncvstyle{classic}                             
\moderncvcolor{blue}                               
\bibliographystyle{alpha}

% personal data
\name{John}{Doe}
\title{Curriculum Vitae}                               
\phone[mobile]{+123~(45)~678~9101}                   
\email{first.last@example.com}                       

\makeatletter\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}\makeatother

\newcommand\Colorhref[3][cyan]{\href{#2}{\small\color{#1}#3}}

%\newcommand*{\cventrylong}{<Something here>}

\usepackage[scale=0.75]{geometry}
\usepackage{multibib}
\usepackage{lipsum}

%--------------------------------------------
%            content
%--------------------------------------------

\begin{document}

\makecvtitle
\vspace*{-\baselineskip}
\vspace*{-\baselineskip}


\section{Some Title}
\cvline{Primary}{\lipsum[1]}
\cvline{Secondary}{\lipsum[2]}

\section{Work Experience}
\subsection{Professional}
\cventry{09/16--08/17}{Title}{Worksplace}{City, Country}{}
{\lipsum[3-6]}

\end{document}

Like I mentioned before, if I use the solution presented here, the final pdf looks as follows:

finalpdf

Any help would be much appreciated.

migrated from tex.meta.stackexchange.com Nov 28 '17 at 16:02

This question came from our discussion, support, and feature requests site for users of TeX, LaTeX, ConTeXt, and related typesetting systems.

  • 1
    This should have been asked on the main site. – TeXnician Nov 28 '17 at 15:25
  • True. I realized that I asked it in the wrong place. How to move to the main site? – kingmakerking Nov 28 '17 at 16:01
  • How to check that? The tex file says Copyright 2006-2015, I believe it is version 2.0.0. It is taken from here – kingmakerking Nov 28 '17 at 17:22
  • 1
    Check the log file. There you will find the version number, seems to be \ProvidesClass{moderncv}[2012/10/31 v1.2.0 modern curriculum vitae and letter document class]. That means this version is outdated and some advices here will not work ... Better use the current version ... – Mensch Nov 28 '17 at 17:42
2

Your used command \cventry is defined in version 2.0.0 of moderncv to use a minipage to be able to layout the last argument ...--7. The minipage can not span two pages!

But there is a workaround: You have to play with the length of the text as argument --7. For your given code you can find for example:

\cventry{09/16--08/17--2}%
  {Title--3}%
  {Worksplace--4}%
  {City, Country--5}%
  {--6}
  {\lipsum[3-4]--7}

Now you can use

\cvitem{}{\lipsum[5-6]}

to add the missing text ...

Because minipage can not go over more than one page you have to do this manually ...

With the following MWE

\documentclass[11pt,a4paper,sans]{moderncv}        

\moderncvstyle{classic}
\moderncvcolor{blue}
\bibliographystyle{alpha}

% personal data
\name{John}{Doe}
\title{Curriculum Vitae}                               
\phone[mobile]{+123~(45)~678~9101}                   
\email{first.last@example.com}                       

\makeatletter
\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
\makeatother

\newcommand\Colorhref[3][cyan]{\href{#2}{\small\color{#1}#3}}

%\newcommand*{\cventrylong}{<Something here>}

\usepackage[scale=0.75]{geometry}
\usepackage{multibib}
\usepackage{lipsum}

%--------------------------------------------
%            content
%--------------------------------------------

\begin{document}

\makecvtitle
\vspace*{-\baselineskip}
\vspace*{-\baselineskip}


\section{Some Title}
\cvline{Primary}{\lipsum[1]}
\cvline{Secondary}{\lipsum[2]}

\section{Work Experience}
\subsection{Professional}
\cventry{09/16--08/17--2}%
  {Title--3}%
  {Worksplace--4}%
  {City, Country--5}%
  {--6}
  {\lipsum[3-4]--7}
\cvitem{}{\lipsum[5-6]}

\end{document}

you get the result:

enter image description here

UPDATE:

To get an automatic break you have to change the construct of command \cventry. Do not use \cvitem and use an own environment myitemize:

\newenvironment{myitemize}%
  {\begin{list}{}{%
    \setlength{\labelwidth}{0pt}
    \setlength{\leftmargin}{\hintscolumnwidth+\separatorcolumnwidth}
    }}%
  {\end{list}}

\newcommand*{\cventrylong}[7][.25em]{%
  \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
    \raggedleft\hintstyle{#2} &{%
        {\bfseries#3}%
        \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
        \ifthenelse{\equal{#5}{}}{}{, #5}%
        \ifthenelse{\equal{#6}{}}{}{, #6}%
    }%
  \end{tabular}%
  \vspace*{-\baselineskip}
  {\vspace{-.25em}
   \small\begin{myitemize}\item #7\end{myitemize}}%
  \par\addvspace{#1}%
}

Now you can get an automatic page break in the new environment myitemize.

Please see the following MWE

\documentclass[11pt,a4paper,sans]{moderncv}

\moderncvstyle{classic} % head 1, body 1
\moderncvcolor{blue}

% personal data
\name{John}{Doe}
\title{Curriculum Vitae}
\phone[mobile]{+123~(45)~678~9101}
\email{first.last@example.com}

\setlength{\hintscolumnwidth}{3cm}

\usepackage[scale=0.75]{geometry}
\usepackage{lipsum}

\newenvironment{myitemize}%
  {\begin{list}{}{%
    \setlength{\labelwidth}{0pt}
    \setlength{\leftmargin}{\hintscolumnwidth+\separatorcolumnwidth}
    }}%
  {\end{list}}

\newcommand*{\cventrylong}[7][.25em]{%
  \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
    \raggedleft\hintstyle{#2} &{%
        {\bfseries#3}%
        \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
        \ifthenelse{\equal{#5}{}}{}{, #5}%
        \ifthenelse{\equal{#6}{}}{}{, #6}%
    }%
  \end{tabular}%
  \vspace*{-\baselineskip}
  {\vspace{-.25em}
   \small\begin{myitemize}\item #7\end{myitemize}}%
  \par\addvspace{#1}%
}


\begin{document}

\makecvtitle
\vspace*{-\baselineskip}
\vspace*{-\baselineskip}

\section{Some Title}
\cvline{Primary}{\lipsum[1]}
\cvline{Secondary}{\lipsum[2]}

\section{Work Experience}
\subsection{Professional}

\cventrylong{09/16--08/17--2}%
  {Title--3}%
  {Worksplace--4}%
  {City, Country--5}%
  {--6}
  {\lipsum[3-6]--7}

\end{document}

with the result:

resulting page break

  • Ok! I get it. Can't we edit the 7th parameter only (keeping 1-6 as it is) with \newcommand to split into multiple pages. – kingmakerking Nov 28 '17 at 17:11
  • 1
    You nailed it! Wow! – kingmakerking Nov 28 '17 at 21:53
  • There is a newline before the 7th parameter. So, edited the answer to include \vspace*{-\baselineskip} – kingmakerking Nov 29 '17 at 7:55

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.