9

I found how to customize my CV created with the moderncv and the classic style, but I can't found how to put my name a little bit higher and put my personal informations on the left, just below my name, because beside the photo, I don't like it. If the title could be on the middle of the header it would be great.

The header to modify...

Thanks for your help, don't want to go back to Word it's very interesting to do it in LaTeX.

@Gonzalo Medina : Ok, that's what i wannted :) you're the best thank you, and now if i want to reduce the space between the name and informations, how can i do ? :

enter image description here

@Gonzalo Medina : Ok, so this is the begining of my .tex file :

\documentclass[10pt,a4paper]{moderncv}
\moderncvtheme[blue]{classic}                
\usepackage[applemac] {inputenc}
\usepackage[french] {babel} 
\usepackage[scale=0.9]{geometry}

\photo[100pt]{Photo_cv.jpg}
\firstname{NAME}
\familyname{NAME}
\title{}
\address{ADRESS}{ZIP CODE CITY}    
\mobile{NUMBER}                    
\email{Email}            
\extrainfo{birthdate\\ Nationality- driving license}

\begin{document}
\maketitle

Thanks a lot, really.

Edit 18/12 : @Gonzalo Medina: Hi, Thanks for your answer, it's better now, there still a small space but it's smaller. Just a problem with the title, in my file, if i put a title in \title{}, it's gave me an error (see the photo of the error below) but if i let it empty, it works... don't understand why, maybe a problem of fonts like the error says.

problem

i think this is this line in the .sty file which gave this error : "\renewcommand*{\titlestyle}1{{\titlefont\text{color2}{#1}}}"

5
  • Welcome to TeX.SE!
    – Vivi
    Dec 16, 2012 at 23:58
  • I think I found the problem. I updated my answer with an improved version.Please let me know if thinks are working as expected now. Dec 17, 2012 at 2:15
  • Regarding your new question (anout the extra spacing), once again, I need to see the code you are using (a simple document like the one in my answer). I ask you for this simple document because I did some tests and couldn't reproduce the problem with the spacing. Please add this simple document as an edit to your question. Dec 17, 2012 at 15:36
  • I've updated my answer with a new variant; please let me know if this new code does what you need. Dec 18, 2012 at 3:02
  • @Gonzalo Medina : So, Do you have any solutions please ?
    – Toto345678
    Dec 20, 2012 at 20:37

1 Answer 1

3

Here's one possibility, redefining \makecvtitle as defined in moderncvstyleclassic.sty:

\documentclass{moderncv}
\moderncvstyle{classic}
\moderncvcolor{blue}

\makeatletter
\renewcommand*{\makecvtitle}{%
  % recompute lengths (in case we are switching from letter to resume, or vice versa)
  \recomputecvlengths%
  % optional detailed information box
  \newbox{\makecvtitledetailsbox}%
  \savebox{\makecvtitledetailsbox}{%
    \addressfont\color{color2}%
    \begin{tabular}[b]{@{}p{10cm}@{}}%
      \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet %
        \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}} % if \addresstreet is defined, \addresscity will always be defined but could be empty
      \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile} %
      \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
      \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
      \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
      \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
      \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
    \end{tabular}
  }%
  % optional photo (pre-rendering)
  \newbox{\makecvtitlepicturebox}%
  \savebox{\makecvtitlepicturebox}{%
    \ifthenelse{\isundefined{\@photo}}%
    {}%
    {%
     % \hspace*{\separatorcolumnwidth}%
      \color{color1}%
      \setlength{\fboxrule}{\@photoframewidth}%
      \ifdim\@photoframewidth=0pt%
        \setlength{\fboxsep}{0pt}\fi%
      \framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
  % name and title
  \newlength{\makecvtitledetailswidth}\settowidth{\makecvtitledetailswidth}{\usebox{\makecvtitledetailsbox}}%
  \newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
  \ifthenelse{\lengthtest{\makecvtitlenamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvtitlenamewidth=0pt)
    {\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitlepicturewidth
}}%
    {}%
 % \begin{minipage}[b]{\makecvtitlenamewidth}%
    \raggedright\namestyle{\@firstname\ \@familyname}\par\medskip%
    \ifthenelse{\equal{\@title}{}}{}{{\centering\titlestyle{\@title}\par}\medskip}%
  %\hfill%
  % detailed information
%  \llap{
%
\usebox{\makecvtitledetailsbox}%
%\end{minipage}\ignorespaces%
%}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvtitlenamewidth is forced
  % optional photo (rendering)
  \usebox{\makecvtitlepicturebox}\\[2.5em]%
  % optional quote
  \ifthenelse{\isundefined{\@quote}}%
    {}%
    {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
  \par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvtitle
\makeatother

\firstname{John}
\familyname{Doe}
\firstname{John}
\familyname{Doe}
\title{Title}
\address{street and number}{postcode city}
\mobile{+1~(234)~567~890}
\phone{+2~(345)~678~901}
\fax{+3~(456)~789~012}
\email{[email protected]}
\homepage{www.johndoe.com}
\extrainfo{additional information}
\photo[64pt][0.4pt]{ctanlion}    
\quote{some optional quote}

\begin{document}

\makecvtitle
\section{Education}

\end{document}

enter image description here

After an edit to the original question, here's a new variant:

\documentclass[10pt,a4paper]{moderncv}
\moderncvtheme[blue]{classic}                
\usepackage[applemac] {inputenc}
\usepackage[french] {babel} 
\usepackage[scale=0.9]{geometry}

\makeatletter
\renewcommand*{\makecvtitle}{%
  % recompute lengths (in case we are switching from letter to resume, or vice versa)
  \recomputecvlengths%
  % optional detailed information box
  \newbox{\makecvtitledetailsbox}%
  \savebox{\makecvtitledetailsbox}{%
    \addressfont\color{color2}%
    \begin{tabular}[b]{@{}p{10cm}@{}}%
      \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet %
        \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}} % if \addresstreet is defined, \addresscity will always be defined but could be empty
      \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile} %
      \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
      \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
      \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
      \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
      \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
    \end{tabular}
  }%
  % optional photo (pre-rendering)
  \newbox{\makecvtitlepicturebox}%
  \savebox{\makecvtitlepicturebox}{%
    \ifthenelse{\isundefined{\@photo}}%
    {}%
    {%
     % \hspace*{\separatorcolumnwidth}%
      \color{color1}%
      \setlength{\fboxrule}{\@photoframewidth}%
      \ifdim\@photoframewidth=0pt%
        \setlength{\fboxsep}{0pt}\fi%
      \framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
  % name and title
  \newlength{\makecvtitledetailswidth}\settowidth{\makecvtitledetailswidth}{\usebox{\makecvtitledetailsbox}}%
  \newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
  \ifthenelse{\lengthtest{\makecvtitlenamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvtitlenamewidth=0pt)
    {\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitlepicturewidth
}}%
    {}%
 % \begin{minipage}[b]{\makecvtitlenamewidth}%
    \raggedright\namestyle{\@firstname\ \@familyname}\par\medskip%
    \ifthenelse{\equal{\@title}{}}{\vskip-25pt}{{\centering\titlestyle{\@title}\par}\medskip}%
  %\hfill%
  % detailed information
%  \llap{
%
\usebox{\makecvtitledetailsbox}%
%\end{minipage}\ignorespaces%
%}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvtitlenamewidth is forced
  % optional photo (rendering)
  \usebox{\makecvtitlepicturebox}\\[2.5em]%
  % optional quote
  \ifthenelse{\isundefined{\@quote}}%
    {}%
    {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
  \par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvtitle
\makeatother

\photo[100pt]{ctanlion}
\firstname{NAME}
\familyname{NAME}
\address{ADRESS}{ZIP CODE CITY}    
\mobile{NUMBER}                    
\email{Email}            
\extrainfo{birthdate\\ Nationality- driving license}

\begin{document}
\maketitle
\end{document}

I changed the name of the image used for one of my image files (CTAN lion drawing by Duane Bibby.)

3
  • Sorry i don't understand because my .sty is not like yours :
    – Toto345678
    Dec 17, 2012 at 0:30
  • @Sangoke you don't really need the .sty file. The modifications shouldn't be made in the .sty file; they can can be made inside your .tex file as in my example; anyways, if your .sty file is different, you must be using an outdated version of the package, Update your LaTeX system, or at least the relevant packages. Dec 17, 2012 at 0:32
  • ok, then i will try directly in my .tex file
    – Toto345678
    Dec 17, 2012 at 0:34

You must log in to answer this question.

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