Latex Letter:从地址左对齐

时间:2009-11-27 17:30:21

标签: latex alignment letter

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

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

来自地址变得正确对齐。有没有我可以让这个左对齐。我正在寻找的字母的格式是:从左边对齐的地址,然后是左对齐的日期,接着是左对齐的地址,然后打开和正文,最后签名左对齐。

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

3 个答案:

答案 0 :(得分:7)

答案是使用完整的大写字母样式 - 一切都是左对齐的。在LaTeX中,你可能需要安装block.sty。你可以在http://www.ctan.org/tex-archive/macros/latex/contrib/block找到它。用法非常简单:

  

\ usepackage {}块

答案 1 :(得分:5)

\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

答案 2 :(得分:3)

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

我发现调整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}

引入新风格。