6

这是我第一次使用 Latex 写信。我正在使用字母类。当我使用:

\address{100 From Address \\ City, State \\ Pin}

发件人地址右对齐。有什么办法可以让这个左对齐。我要找的信的格式是:发件人地址左对齐,然后是日期左对齐,然后是收件人地址左对齐,然后是开头和正文,最后是签名左对齐。

我设法通过使用使签名左对齐:\longindentation=0pt,其余项目正确对齐-它只是右对齐的发件人地址。

4

3 回答 3

8

答案是使用完整的正楷风格——所有内容都左对齐。在 LaTeX 中,这就是 block.sty,您可能必须安装它。你可以在这里找到它http://www.ctan.org/tex-archive/macros/latex/contrib/block。用法很简单:

\使用包{块}

于 2013-07-16T12:38:31.880 回答
6
\makeatletter
\def\opening#1{\ifx\@empty\fromaddress
  \thispagestyle{firstpage}%
    {\raggedleft\@date\par}%
  \else  % home address
    \thispagestyle{empty}%
    {\noindent\let\\\cr\halign{##\hfil\cr\ignorespaces
      \fromaddress \cr\noalign{\kern 2\parskip}%
      \@date\cr}\par}%
  \fi
  \vspace{2\parskip}%
  {\raggedright \toname \\ \toaddress \par}%
  \vspace{2\parskip}%
  #1\par\nobreak}
\makeatother
于 2009-11-27T17:59:53.707 回答
4

我假设“左对齐”是指您希望地址块位于页面的左边距,因为该块的各个行是左对齐的,但该块位于右边距。

我发现调整 LaTeX 样式的最佳方法是在定义原始样式的 LaTeX 源中找到,将其复制到样式文件中,然后拨弄。在这种情况下,原始来源是 letter.cls 文件,我通过查找 \address 宏来追踪地址格式,这导致了 \fromaddress 宏,然后是 \opening 宏。在原文中,它是:


\newcommand*{\opening}[1]{\ifx\@empty\fromaddress
  \thispagestyle{firstpage}%
    {\raggedleft\@date\par}%
  \else  % home address
    \thispagestyle{empty}%
    {\raggedleft\begin{tabular}{l@{}}\ignorespaces
      \fromaddress \\*[2\parskip]%
      \@date \end{tabular}\par}%
  \fi
  \vspace{2\parskip}%
  {\raggedright \toname \\ \toaddress \par}%
  \vspace{2\parskip}%
  #1\par\nobreak}

删除 \raggedleft 宏会将地址块移动到右侧,但会留下一些额外的间距,因此我也删除了表格环境。


\renewcommand*{\opening}[1]{\ifx\@empty\fromaddress
  \thispagestyle{firstpage}%
    {\@date\par}%
  \else  % home address
    \thispagestyle{empty}%
    \ignorespaces%
      \fromaddress \\*[2\parskip]%
      \@date \par%
  \fi
  \vspace{2\parskip}%
  {\raggedright \toname \\ \toaddress \par}%
  \vspace{2\parskip}%
  #1\par\nobreak}

此 \renewcommand 调用需要放在 .sty 样式文件中,因为它使用包含 @ 字符的宏。(我刚刚看到 Alexey Malistov 的回答;另一种选择是 \makeatletter 和 \makeatother 宏。)使用


\usepackage{myletter}

带来新的风格。

于 2009-11-27T18:48:22.763 回答