在 moderncv 求职信中对齐文本

在 moderncv 求职信中对齐文本

我正在使用 撰写求职信和简历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}

输出

答案1

加载后,将以下内容添加到文档前言中moderncv风格 (classic):

\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
\patchcmd{\makeletterhead}% <cmd>
  {\raggedright \@opening}% <search>
  {\@opening}% <replace>
  {}{}% <success><failure>
\makeatother

输出

上述补丁只是\raggedright从模板中的正确位置(就在调用之前\@opening)删除了必要的内容。

答案2

您可以简单地包括:

\usepackage{ragged2e}

然后就\makelettertitle放:

\justify

对我来说,经典款和休闲款都很适合。

答案3

只需修复 moderncv 模板中的“错误”。如果您使用银行风格,请转到moderncvstylebanking.sty并更改

% opening
\raggedright%
\@opening\\[1.5em]%

进入

% opening
{\raggedright%
\@opening\\[1.5em]}%

请注意,这只是将raggedright命令括起来,因此从现在起它不会影响整个文档。您可以对其他每种样式执行相同操作。

答案4

我有一个不太优雅的解决方案,使用\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,因此必须恢复该值以使文本间距正常。

相关内容