класс moderncv: предотвратить отступ в разделе адреса после выравнивания по левому краю

класс moderncv: предотвратить отступ в разделе адреса после выравнивания по левому краю

Я использую класс moderncv (http://www.ctan.org/pkg/moderncv) для написания моего резюме. Чтобы изменить раздел адреса, я изменил moderncvstyleclassic.sty.

Я хочу выровнять текст раздела адреса по левому краю (что сработало), но теперь у меня возникла проблема: первая строка адреса (addressstreet) имеет отступ.

Мой вопрос: как мне предотвратить отступ первой строки в этом информационном поле?

Пока я не нашел решения этой проблемы.

Код всовременныйcvstyleclassic.styс моим комментарием по изменению:

%% code above omitted
      % optional detailed information box
      \newbox{\makecvtitledetailsbox}%
      \savebox{\makecvtitledetailsbox}{%
        \addressfont\color{color2}%
        \begin{tabular}[b]{@{}l@{}}%% MY MODIFICATION <<-- l for left-justified (instead of "r")
          \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\@addressstreet%\addresssymbol##
            \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}% if \addresstreet is defined, \addresscity will always be defined but could be empty
            \ifthenelse{\isundefined{\@countryinfo}}{}{\makenewline\@countryinfo}%%##moved up to use as country
          \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}}{}{%
        \ifthenelse{\equal{\@homepagetitle}{}}% \homepagetitle could be empty
        {\makenewline\homepagesymbol\httplink{\@homepage}}%
        {\makenewline\homepagesymbol\httplink[\@homepagetitle]{\@homepage}}}% 
          \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%##moved up to use as country
        \end{tabular}
      }% 
      %% code below omitted

решение1

Использование \patchcmdмакроса:

\makeatletter
\patchcmd{\makecvtitle}{@{}r@{}}{@{}l@{}}{}{}
\patchcmd{\makecvtitle}{\makenewline\addresssymbol\@addressstreet}{\addresssymbol\@addressstreet\makenewline}{}{}
\makeatother

после объявления стиля.

До:

введите описание изображения здесь

После:

введите описание изображения здесь

Или, если вы хотите вручную отредактировать файл .sty (что не рекомендуется), просто измените его с:

\makenewline\addresssymbol\@addressstreet

к:

\addresssymbol\@addressstreet\makenewline

Чтобы также разместить дополнительную информацию под городом, используйте следующий набор команд вместо предыдущего:

\makeatletter
\patchcmd{\makecvtitle}{@{}r@{}}{@{}l@{}}{}{}
\patchcmd{\makecvtitle}{\makenewline\addresssymbol\@addressstreet}{\addresssymbol\@addressstreet\makenewline}{}{}
\patchcmd{\makecvtitle}{\makenewline\@extrainfo}{}{}{}
\patchcmd{\makecvtitle}{\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}{\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}\makenewline\@extrainfo}{}{}
\makeatother

результат:

введите описание изображения здесь

поле countryнеобязательно, если вы зададите его addressследующим образом:

\address{street and number}{postcode city}{country}

У вас будет страна. Иначе, вот так:

\address{street and number}{postcode city}

у вас не будет страны (как на моей последней картинке).

Полная МВЭ

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

\makeatletter
\patchcmd{\makecvtitle}{@{}r@{}}{@{}l@{}}{}{}
\patchcmd{\makecvtitle}{\makenewline\addresssymbol\@addressstreet}{\addresssymbol\@addressstreet\makenewline}{}{}
\patchcmd{\makecvtitle}{\makenewline\@extrainfo}{}{}{}
\patchcmd{\makecvtitle}{\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}{\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}\makenewline\@extrainfo}{}{}
\makeatother

\moderncvcolor{blue}
\usepackage[scale=0.75]{geometry}

% personal data
\name{John}{Doe}
\title{Resumé title}
\address{street and number}{postcode city}{country}
\phone[mobile]{+1~(234)~567~890}                   
\phone[fixed]{+2~(345)~678~901}
\phone[fax]{+3~(456)~789~012}
\email{[email protected]}                               
\homepage{www.johndoe.com}                         
\social[linkedin]{john.doe}                        
\social[twitter]{jdoe}                             
\social[github]{jdoe}                              
\extrainfo{additional information}                 
\photo[64pt][0.4pt]{picture}                       
\quote{Some quote}                                 

\begin{document}
\makecvtitle

\section{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
\end{document}

Связанный контент