Латексная буква: от адреса выровнена - PullRequest
4 голосов
/ 27 ноября 2009

Я впервые использую латекс, чтобы написать письмо. Я использую букву класса. Когда я использую:

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

Адрес отправителя выравнивается по правому краю. Могу ли я как-нибудь выровнять это? Формат буквы, которую я ищу: выровненный по левому адресу, затем выровненная по левому краю, затем выровненный по левому адресу, затем открывающий и основной текст и, наконец, выровненная по левому краю подпись.

Мне удалось выровнять подпись по левому краю, используя: \longindentation=0pt, остальные элементы правильно выровнены - это просто адрес отправителя, который выровнен по правому краю.

Ответы [ 3 ]

7 голосов
/ 16 июля 2013

Ответ заключается в использовании стиля полной печатной буквы - все выровнено по левому краю. В LaTeX это block.sty, который вам, вероятно, придется установить. Вы можете найти его здесь http://www.ctan.org/tex-archive/macros/latex/contrib/block. Использование довольно просто:

\ usepackage {блок}

5 голосов
/ 27 ноября 2009
\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
3 голосов
/ 27 ноября 2009

Я предполагаю, что под «выровненным по левому краю» вы подразумеваете, что вы хотите, чтобы адресный блок находился на левом поле страницы, поскольку отдельные строки блока выровнены по левому краю, а блок - на правом.

Лучший способ настроить стили LaTeX, который я нашел, состоит в том, чтобы найти источник LaTeX, в котором определен исходный стиль, скопировать его в файл стиля и выполнить скрипту. В этом случае исходным источником является файл letter.cls, и я отследил форматирование адреса путем поиска макроса \ address, который привел к макросу \ fromaddress, а затем к макросу \ открытию. В оригинале это:


\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, поскольку он использует макросы, содержащие символ @. (Я только что видел ответ Алексея Малистова; другая альтернатива - макросы \ makeatletter и \ makeatother.) Используйте


\usepackage{myletter}

чтобы привнести новый стиль.

...