moderncv クラスの address コマンドに 4 番目の引数を追加します。

moderncv クラスの address コマンドに 4 番目の引数を追加します。

moderncv クラスの address コマンドに 4 番目の引数を追加しようとしています。インターネットで解決策を探し、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]}

国と電話番号が同じ回線

どなたか解決策をお持ちの方はいらっしゃいませんか。できればコマンドに 4 番目の引数を追加したいのですが、上記のコードに修正を加えて国名を独自の行に移動させたいと思います。どんなご助力でも大歓迎です。

答え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 出力

関連情報