我正在尝试向 moderncv 类中的 address 命令添加第四个参数。我在网上寻找解决方案,并尝试了一些方法,包括尝试编辑 moderncv 类文件,但没有任何方法可以正常工作。我最接近的方法是使用这种方法;如何在 moderncv 样式中添加新的地址行,它确实得到了我想要的最终结果,只是地址(国家)的最后一行和电话在同一行。它生成的代码和结果如下:
\documentclass[12pt,a4paper,sans]{moderncv}
\moderncvtheme[blue]{classic}
\usepackage[scale=0.75]{geometry}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\makecvtitle}{\ifthenelse{\equal{\@addresscountry}{}}}%
{\ifstrempty{\@addresscountry}}{}{}
\makeatother
\firstname{John}
\familyname{Smith}
\title{Curriculum Vitae}
\address{42 Apartment complex}{Street}{City\\Country}
\mobile{0000000000}
\email{[email protected]}
有人能提供解决方案吗,最好是给命令添加第四个参数,但我想对上面的代码进行修改,将国家/地区移到自己的行上?任何帮助都非常感谢。
答案1
如果我理解正确的话,也许是这样的:
\documentclass[12pt,a4paper,sans]{moderncv}
\moderncvtheme[blue]{classic}
\usepackage[scale=0.75]{geometry}
\usepackage{etoolbox}
\makeatletter
\RenewDocumentCommand{\address}{mG{}G{}G{}}{%
\def\@addressapartment{#1}\def\@addressstreetonly{#2}\def\@addresscity{#3}\def\@addresscountry{#4}%
\def\@addressstreet{%
\ifthenelse{\isundefined{\@addressapartment}}{}{\@addressapartment}%
\ifthenelse{\isundefined{\@addressstreetonly}}{}{\makenewline\@addressstreetonly}%
}}
\makeatother
\firstname{John}
\familyname{Smith}
\title{Curriculum Vitae}
\address{42 Apartment complex}{Street}{City}{Country}
\mobile{0000000000}
\email{[email protected]}
\begin{document}
\makecvtitle
\end{document}