diff --git a/CHANGELOG b/CHANGELOG index 4d3be99..b149e82 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +version 1.3.0 (xx xxx 201x) + - added a 3rd, fully optional (can be omitted or left blank) argument to + \address to specify a country, as requested on launchpad (launchpad bug + #1063995). + version 1.2.1 (04 Dec 2012) - fixed a regression bug introduced in version 1.2.0 in the header of the "banking" style when no title is used, as reported on tex.stackexchange diff --git a/examples/template-es.pdf b/examples/template-es.pdf index 6ae1109..7cb9c8a 100644 Binary files a/examples/template-es.pdf and b/examples/template-es.pdf differ diff --git a/examples/template-zh.pdf b/examples/template-zh.pdf index db9fd4a..7b37d92 100644 Binary files a/examples/template-zh.pdf and b/examples/template-zh.pdf differ diff --git a/examples/template.pdf b/examples/template.pdf index e50a677..0af0ce9 100644 Binary files a/examples/template.pdf and b/examples/template.pdf differ diff --git a/examples/template.tex b/examples/template.tex index 7a009a6..0ab2de4 100644 --- a/examples/template.tex +++ b/examples/template.tex @@ -6,36 +6,36 @@ % available at http://www.latex-project.org/lppl/. -\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman') +\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman') % moderncv themes -\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'oldstyle' and 'banking' -\moderncvcolor{blue} % color options 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black' -%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name -%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page +\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'oldstyle' and 'banking' +\moderncvcolor{blue} % color options 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black' +%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name +%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page % character encoding -%\usepackage[utf8]{inputenc} % if you are not using xelatex ou lualatex, replace by the encoding you are using -%\usepackage{CJKutf8} % if you need to use CJK to typeset your resume in Chinese, Japanese or Korean +%\usepackage[utf8]{inputenc} % if you are not using xelatex ou lualatex, replace by the encoding you are using +%\usepackage{CJKutf8} % if you need to use CJK to typeset your resume in Chinese, Japanese or Korean % adjust the page margins \usepackage[scale=0.75]{geometry} -%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates -%\setlength{\makecvtitlenamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks... +%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates +%\setlength{\makecvtitlenamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks... % personal data \firstname{John} \familyname{Doe} -\title{Resumé title} % optional, remove / comment the line if not wanted -\address{street and number}{postcode city} % optional, remove / comment the line if not wanted -\mobile{+1~(234)~567~890} % optional, remove / comment the line if not wanted -\phone{+2~(345)~678~901} % optional, remove / comment the line if not wanted -\fax{+3~(456)~789~012} % optional, remove / comment the line if not wanted -\email{john@doe.org} % optional, remove / comment the line if not wanted -\homepage{www.johndoe.com} % optional, remove / comment the line if not wanted -\extrainfo{additional information} % optional, remove / comment the line if not wanted -\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file -\quote{Some quote} % optional, remove / comment the line if not wanted +\title{Resumé title} % optional, remove / comment the line if not wanted +\address{street and number}{postcode city}{country}% optional, remove / comment the line if not wanted; the "postcode city" and and "country" arguments can be omitted or provided empty +\mobile{+1~(234)~567~890} % optional, remove / comment the line if not wanted +\phone{+2~(345)~678~901} % optional, remove / comment the line if not wanted +\fax{+3~(456)~789~012} % optional, remove / comment the line if not wanted +\email{john@doe.org} % optional, remove / comment the line if not wanted +\homepage{www.johndoe.com} % optional, remove / comment the line if not wanted +\extrainfo{additional information} % optional, remove / comment the line if not wanted +\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file +\quote{Some quote} % optional, remove / comment the line if not wanted % to show numerical labels in the bibliography (default is to show no labels); only useful if you make citations in your resume %\makeatletter @@ -49,7 +49,7 @@ % content %---------------------------------------------------------------------------------- \begin{document} -%\begin{CJK*}{UTF8}{gbsn} % to typeset your resume in Chinese using CJK +%\begin{CJK*}{UTF8}{gbsn} % to typeset your resume in Chinese using CJK %----- resume --------------------------------------------------------- \makecvtitle @@ -103,30 +103,30 @@ Detailed achievements:% \section{Extra 1} \cvlistitem{Item 1} \cvlistitem{Item 2} -\cvlistitem{Item 3} +\cvlistitem{Item 3. This item is particularly long and therefore normally spans over several lines. Did you notice the indentation when the line wraps?} -\renewcommand{\listitemsymbol}{-~} % change the symbol for lists +\renewcommand{\listitemsymbol}{-~} % change the symbol for lists \section{Extra 2} \cvlistdoubleitem{Item 1}{Item 4} \cvlistdoubleitem{Item 2}{Item 5\cite{book1}} -\cvlistdoubleitem{Item 3}{} +\cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.} % Publications from a BibTeX file without multibib % for numerical labels: \renewcommand{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}} % to redefine the heading string ("Publications"): \renewcommand{\refname}{Articles} \nocite{*} \bibliographystyle{plain} -\bibliography{publications} % 'publications' is the name of a BibTeX file +\bibliography{publications} % 'publications' is the name of a BibTeX file % Publications from a BibTeX file using the multibib package %\section{Publications} %\nocitebook{book1,book2} %\bibliographystylebook{plain} -%\bibliographybook{publications} % 'publications' is the name of a BibTeX file +%\bibliographybook{publications} % 'publications' is the name of a BibTeX file %\nocitemisc{misc1,misc2,misc3} %\bibliographystylemisc{plain} -%\bibliographymisc{publications} % 'publications' is the name of a BibTeX file +%\bibliographymisc{publications} % 'publications' is the name of a BibTeX file \clearpage %----- letter --------------------------------------------------------- @@ -135,7 +135,7 @@ Detailed achievements:% \date{January 01, 1984} \opening{Dear Sir or Madam,} \closing{Yours faithfully,} -\enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname +\enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname \makelettertitle Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ullamcorper neque sit amet lectus facilisis sed luctus nisl iaculis. Vivamus at neque arcu, sed tempor quam. Curabitur pharetra tincidunt tincidunt. Morbi volutpat feugiat mauris, quis tempor neque vehicula volutpat. Duis tristique justo vel massa fermentum accumsan. Mauris ante elit, feugiat vestibulum tempor eget, eleifend ac ipsum. Donec scelerisque lobortis ipsum eu vestibulum. Pellentesque vel massa at felis accumsan rhoncus. @@ -150,7 +150,7 @@ Albert Einstein discovered that $e=mc^2$ in 1905. \makeletterclosing -%\clearpage\end{CJK*} % if you are typesetting your resume in Chinese using CJK; the \clearpage is required for fancyhdr to work correctly with CJK, though it kills the page numbering by making \lastpage undefined +%\clearpage\end{CJK*} % if you are typesetting your resume in Chinese using CJK; the \clearpage is required for fancyhdr to work correctly with CJK, though it kills the page numbering by making \lastpage undefined \end{document} diff --git a/examples/template_banking_red.pdf b/examples/template_banking_red.pdf index 1a1e458..3a36321 100644 Binary files a/examples/template_banking_red.pdf and b/examples/template_banking_red.pdf differ diff --git a/examples/template_casual_orange.pdf b/examples/template_casual_orange.pdf index 5ef4213..4fe00a8 100644 Binary files a/examples/template_casual_orange.pdf and b/examples/template_casual_orange.pdf differ diff --git a/examples/template_classic_green.pdf b/examples/template_classic_green.pdf index 0849d10..8ed4af3 100644 Binary files a/examples/template_classic_green.pdf and b/examples/template_classic_green.pdf differ diff --git a/examples/template_multibib.pdf b/examples/template_multibib.pdf index 422a6ea..ae52d9b 100644 Binary files a/examples/template_multibib.pdf and b/examples/template_multibib.pdf differ diff --git a/examples/template_oldstyle_grey.pdf b/examples/template_oldstyle_grey.pdf index 998f4be..a341efe 100644 Binary files a/examples/template_oldstyle_grey.pdf and b/examples/template_oldstyle_grey.pdf differ diff --git a/moderncv.cls b/moderncv.cls index 027b58a..f7c3844 100644 --- a/moderncv.cls +++ b/moderncv.cls @@ -129,7 +129,7 @@ breaklinks, baseurl = http://, pdfborder = 0 0 0, - pdfpagemode = UseNone,% do not show thumbnails or bookmarks on opening + pdfpagemode = UseNone, pdfstartpage = 1, pdfcreator = {\LaTeX{} with 'moderncv' package}, % pdfproducer = {\LaTeX{}},% will/should be set automatically to the correct TeX engine used @@ -169,7 +169,7 @@ \RequirePackage{calc} % advanced command arguments (LaTeX 3) -\RequirePackage{xargs} +\RequirePackage{xargs,xparse} % TODO (?): replace all \newcommand by \NewDocumentCommand % micro-typography (e.g., character protrusion, font expansion, hyphenatable letterspacing) @@ -208,15 +208,37 @@ % overall design commands definitions %------------------------------------------------------------------------------- % elements +% defines one's first name +% usage: \firstname{} \newcommand*{\firstname}[1]{\def\@firstname{#1}} +% defines one's family name +% usage: \familyname{} \newcommand*{\familyname}[1]{\def\@familyname{#1}} +% defines one's title (optional) +% usage: \title{} \renewcommand*{\title}[1]{\def\@title{#1}} -\newcommand*{\address}[2]{\def\@addressstreet{#1}\def\@addresscity{#2}} +% defines one's address (optional) +% usage: \address{<street>}{<city>}{<country>} +% where the <city> and <country> arguments can be omitted or provided empty +\NewDocumentCommand{\address}{mG{}G{}}{\def\@addressstreet{#1}\def\@addresscity{#2}\def\@addresscountry{#3}} +% defines one's mobile phone number (optional) +% usage: \mobile{<number>} \newcommand*{\mobile}[1]{\def\@mobile{#1}} +% defines one's fixed phone number (optional) +% usage: \phone{<number>} \newcommand*{\phone}[1]{\def\@phone{#1}} +% defines one's fax number (optional) +% usage: \fax{<number>} \newcommand*{\fax}[1]{\def\@fax{#1}} +% defines one's email address (optional) +% usage: \email{<email>} \newcommand*{\email}[1]{\def\@email{#1}} +% defines one's home page (optional) +% usage: \homepage{<url>} \newcommand*{\homepage}[1]{\def\@homepage{#1}} +% defines additional personal information (optional) +% usage: \extrainfo{<text>} +\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}} % colors \definecolor{color0}{rgb}{0,0,0}% main default color, normally left to black @@ -276,7 +298,6 @@ % resume design commands definitions %------------------------------------------------------------------------------- % elements -\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}} \newcommandx*{\photo}[3][1=64pt,2=0.4pt,usedefault]{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}% the 1st (optional) argument is the width of the photo, the 2nd (optional) argument is the thickness of the frame around it. \newcommand*{\quote}[1]{\def\@quote{#1}} @@ -467,4 +488,4 @@ \endinput -%% end of file `moderncv.cls'. \ No newline at end of file +%% end of file `moderncv.cls'. diff --git a/moderncvstylebanking.sty b/moderncvstylebanking.sty index ab82f57..f4a9833 100644 --- a/moderncvstylebanking.sty +++ b/moderncvstylebanking.sty @@ -93,7 +93,9 @@ % detailed information \addressfont\color{color2}% \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomaketitle{\addresssymbol\@addressstreet}% - \ifthenelse{\equal{\@addresscity}{}}{}{\addtomaketitle[~--~]{\@addresscity}}\flushmaketitle\@firstmaketitleelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty + \ifthenelse{\equal{\@addresscity}{}}{}{\addtomaketitle[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomaketitle[~--~]{\@addresscountry}}% + \flushmaketitle\@firstmaketitleelementtrue\\}% \ifthenelse{\isundefined{\@mobile}}{}{\addtomaketitle{\mobilesymbol\@mobile}}% \ifthenelse{\isundefined{\@phone}}{}{\addtomaketitle{\phonesymbol\@phone}}% \ifthenelse{\isundefined{\@fax}}{}{\addtomaketitle{\faxsymbol\@fax}}% diff --git a/moderncvstylecasual.sty b/moderncvstylecasual.sty index 5d48e03..2796b07 100644 --- a/moderncvstylecasual.sty +++ b/moderncvstylecasual.sty @@ -109,7 +109,9 @@ \centering% \color{color2}\addressfont% \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}% - \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}\flushfooter\@firstfooterelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty + \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\addtofooter[~--~]{\@addresscountry}}% + \flushfooter\@firstfooterelementtrue\\}% \ifthenelse{\isundefined{\@mobile}}{}{\addtofooter{\mobilesymbol\@mobile}}% \ifthenelse{\isundefined{\@phone}}{}{\addtofooter{\phonesymbol\@phone}}% \ifthenelse{\isundefined{\@fax}}{}{\addtofooter{\faxsymbol\@fax}}% @@ -157,7 +159,9 @@ \vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers \strut{\bfseries\upshape\@firstname~\@familyname}\\% the \strut is required to ensure the line is exactly \baselineskip tall \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}% - \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}\flushfooter\@firstfooterelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty + \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\addtofooter[~--~]{\@addresscountry}}% + \flushfooter\@firstfooterelementtrue\\}% \ifthenelse{\isundefined{\@mobile}}{}{\addtofooter{\mobilesymbol\@mobile}}% \ifthenelse{\isundefined{\@phone}}{}{\addtofooter{\phonesymbol\@phone}}% \ifthenelse{\isundefined{\@fax}}{}{\addtofooter{\faxsymbol\@fax}}% diff --git a/moderncvstyleclassic.sty b/moderncvstyleclassic.sty index ed7b2be..7564f7b 100644 --- a/moderncvstyleclassic.sty +++ b/moderncvstyleclassic.sty @@ -109,7 +109,8 @@ \addressfont\color{color2}% \begin{tabular}[b]{@{}r@{}}% \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{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}% \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}% \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}% @@ -261,7 +262,8 @@ \addressfont\textcolor{color2}{% {\bfseries\upshape\@firstname~\@familyname}\@firstdetailselementfalse% \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% - \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}% + \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}% \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}% \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}% diff --git a/moderncvstyleoldstyle.sty b/moderncvstyleoldstyle.sty index 30427b2..cabfa94 100644 --- a/moderncvstyleoldstyle.sty +++ b/moderncvstyleoldstyle.sty @@ -151,7 +151,8 @@ \makecvinfo{% \addressfont\color{color2}% \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{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}% \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}% \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}% @@ -291,7 +292,8 @@ \addressfont\textcolor{color2}{% {\bfseries\@firstname~\@familyname}\@firstdetailselementfalse% \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% - \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}% + \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty + \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}% \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}% \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%