这里没有行来结束 moderncv 中的 \makelettertitle 错误

这里没有行来结束 moderncv 中的 \makelettertitle 错误

我正在使用moderncv模板,在求职信页面上,我想编辑原始代码,以便姓名/手机/电子邮件出现在右上角,
在此处输入图片描述
但是构建过程返回错误: There's no line here to end. \makelettertitle 这是发生错误的位置,如果我将任何字符放在\recipient{}{}一行中,\recipient{'}{}错误就会解决,但字符会显示在结果中,这是我不想要的,我搜索了类似的情况,但给出的解决方案都没有帮助,如果我不想使用,有没有解决方案\recipient?(我试过从代码中删除它,但没有用)代码:

\documentclass{moderncv}
\moderncvstyle{classic}
\moderncvcolor{blue}
\usepackage[scale=0.75]{geometry}
\firstname{John} % Your first name
\familyname{Smith} % Your last name
\title{Curriculum Vitae}
\mobile{(+1) 123 456 7890}
\email{[email protected]}
\begin{document}
\clearpage
\recipient{}{} % Letter recipient
\date{\today} % Letter date
\opening{Dear Sir, Madam,} % Opening greeting
\closing{Sincerely yours,} % Closing phrase
\enclosure[Attached]{curriculum vit\ae{}} % List of enclosed documents
\makelettertitle % Print letter title
I am an engineer

\makeletterclosing

\end{document}

类文件的内容为:

\newcommand{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
\renewcommand*{\date}[1]{\def\@date{#1}}\date{\today}
\newcommand{\opening}[1]{\def\@opening{#1}}
\newcommand*{\closing}[1]{\def\@closing{#1}}
\newcommand*{\enclosure}[2][]{%
  % if an optional argument is provided, use it to redefine \enclname
  \ifthenelse{\equal{#1}{}}{}{\renewcommand*{\enclname}{#1}}%
  \def\@enclosure{#2}}

答案1

该类加载辅助包moderncvheadi.sty,其中有

  \begin{minipage}[t]{.5\textwidth}
    \raggedright%
    \addressfont%
    {\bfseries\upshape\@recipientname}\\%
    \@recipientaddress%
  \end{minipage}

这意味着如果\@recipientname为空,则会得到一个单独的 的常见错误\\,即There's no line to end

解决方案:

\recipient{\mbox{}}{}

就此而言,这将使该行不为空\\

答案2

通常,如果你写一封信,你需要一个收件人。如果你想留空,你必须将收件人标记为空。该字符~标记一个不可破坏的空间,你可以用它来达到你的目的。

这样\recipient{~}{~}您就可以摆脱错误信息no line to end

相关内容