如何在信件中覆盖 \today?

如何在信件中覆盖 \today?

我正在尝试用下一个代码写一封信

\documentclass{letter}
\signature{Your name}
\address{Street \\ City \\ Country}
\begin{document}
\begin{letter}{Company name \\ Street\\ City\\ Country}
\opening{Dear Sir or Madam:}
\dots
\closing{Yours Faithfully,}
\ps{P.S. Here goes your ps.}
\encl{Enclosures.}
\end{letter}
\end{document}    

在此处输入图片描述

但我想将 \today 移到公司名称的左上方。或者如果无法移动,只是为了避免它出现,但我不想弄乱字母。sty 或多或少像这样
在此处输入图片描述

谢谢。

答案1

\date{}只需在序言中和\today\\\medskip“公司名称”之前使用即可。

平均能量损失

\documentclass{letter}
\signature{Your name}
\address{Street \\ City \\ Country}
\date{}
\begin{document}
 \begin{letter}{\today\\\medskip Company name \\ Street\\ City\\ Country}
  \opening{Dear Sir or Madam:}
  \dots
  \closing{Yours Faithfully,}
  \ps{P.S. Here goes your ps.}
  \encl{Enclosures.}
 \end{letter}
\end{document} 

这使:

在此处输入图片描述

答案2

\opening在类中对 进行了硬编码,以将日期添加到“发件人”地址下方。虽然您可以通过 更改它,但\date{<new date>}它将保留在类设置的位置。您可以通过在序言中添加以下内容,将位置修补为\raggedright(或左对齐),而不是成为tabular“发件人”构造的一部分:

\usepackage{etoolbox}

\makeatletter
\patchcmd{\opening}% <cmd>
  {\@date\end{tabular}}% <search>
  {\end{tabular}\par\raggedright\@date\par}% <replace>
  {}{}% <success><failure>
\makeatother

不过,我建议使用标准类来设置整个文档article。这样您就可以更自由地将内容放置在您想要的位置。

这是您可以使用的模板。

在此处输入图片描述

\documentclass{article}

\usepackage[margin=1in]{geometry}

\pagestyle{empty}
\setlength{\parindent}{0pt}% Remove paragraph indent

\begin{document}

\hfill
\begin{tabular}{ @{} l }
  Street \\
  City \\
  Country
\end{tabular}

\bigskip

\today % Or whatever date you choose...

\bigskip

\begin{tabular}{@{} l }
  Company name \\
  Street \\
  City \\
  Country
\end{tabular}

\bigskip

Dear Sir or Madam:

\medskip

\dots

\medskip

\hspace*{.5\linewidth}%
\begin{tabular}{@{} l }
  Yours faithfully, \\[50pt]
  Your name
\end{tabular}

\bigskip

P.S.\ Here goes your ps.

\medskip

encl. Enclosures.

\end{document}

相关内容