私は moderncv
を使ってカバーレターと履歴書を書いています。今のところすべてうまくいっていますが、カバーレターのテキストは両端揃えではありません。ハイフンがないのは良いことだと思いますが、テキストがジャスティファイされていれば、もっときれいに見えると思います。
以下は最小限の例です。
\documentclass{moderncv}
\moderncvstyle{classic}
\usepackage{lipsum} % just for dummy text
\firstname{John}
\familyname{Doe}
\begin{document}
\recipient{Prof.\ Dr.\ Foo Bar}{}
\opening{Dear Professor Dr.\ Bar,}
\closing{Yours sincerely,}
\enclosure[Attached]{curriculum vit\ae}
\makelettertitle
\lipsum[1]
\makeletterclosing
\clearpage
\makecvtitle
\section{Education}
\cventry{2009--present}{PhD Student}{here}{and}{there}{}
\end{document}
moderncv](http://ctan.org/pkg/moderncv) スタイル (
classic`) を読み込んだ後、ドキュメントのプリアンブルに以下を追加してください。
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
\patchcmd{\makeletterhead}% <cmd>
{\raggedright \@opening}% <search>
{\@opening}% <replace>
{}{}% <success><failure>
\makeatother
上記のパッチは、必要な raggedright
をテンプレートから正しい位置(@opening
を呼び出す直前)に削除するだけです。
moderncv のテンプレートの "bug" を修正するだけです。
銀行スタイルを使用している場合は、moderncvstylebanking.sty
に移動して、次のように変更してください。
% opening
\raggedright%
\@opening\\[1.5em]%
を
% opening
{\raggedright%
\@opening\\[1.5em]}%
これは単に raggedright
コマンドを囲むだけなので、これ以降のドキュメント全体には影響しないことに注意してください。
他の各スタイルについても同じことができます。
私は minipage
を使って、あまりエレガントでない解決策を持っています。これはカジュアルなスタイルではうまくいくのですが、他のスタイルでも同様にうまくいくはずです。
begin{document}` の前に、以下を追加します。
\newlength{\currentparskip}
そして、手紙を書くときに、 makelettertitle
コマンドの後に、次のように書きます。
\setlength{\currentparskip}{\parskip}% save the value of paragraph spacing
\begin{minipage}{\textwidth} %create minipage
\setlength{\parskip}{\currentparskip}% restore the value
TEXT OF THE LETTER
\end{minipage}
\makeletterclosing
\clearpage
minipage` のパラグラフスペーシングはゼロなので、テキストスペーシングが正しくなるように値を復元する必要があります。