Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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}}}"

share|improve this question
    
Welcome to TeX.SE! –  Vivi Dec 16 '12 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. –  Gonzalo Medina Dec 17 '12 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. –  Gonzalo Medina Dec 17 '12 at 15:36
    
I've updated my answer with a new variant; please let me know if this new code does what you need. –  Gonzalo Medina Dec 18 '12 at 3:02
    
Thanks, i updated mine too –  Sangoke Dec 18 '12 at 11:43
show 1 more comment

1 Answer

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{john@doe.org}
\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.)

share|improve this answer
    
Sorry i don't understand because my .sty is not like yours : –  Sangoke Dec 17 '12 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. –  Gonzalo Medina Dec 17 '12 at 0:32
    
ok, then i will try directly in my .tex file –  Sangoke Dec 17 '12 at 0:34
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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