在 Moderncv 類別中向位址命令新增第四個參數

在 Moderncv 類別中向位址命令新增第四個參數

我正在嘗試向 Moderncv 類中的地址命令添加第四個參數。我在互聯網上尋找解決方案,並嘗試了一些方法,包括嘗試編輯 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}

被黑的 Moderncv 輸出

相關內容