2009-11-27 6 views
4

C'est la première fois que j'utilise Latex pour écrire une lettre. J'utilise la classe de lettre. Quand j'utilise:Latex Lettre: de l'adresse aligné à gauche

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

L'adresse de départ est alignée à droite. Y a-t-il quelque chose que je peux faire aligner à gauche. Le format de la lettre que je cherche est: l'adresse de départ alignée, suivie de la date alignée à gauche, suivie de l'adresse à gauche alignée, puis de l'ouverture et du corps, et enfin de la signature alignée à gauche.

J'ai réussi à aligner la signature à gauche en utilisant: \longindentation=0pt, le reste des éléments sont correctement alignés - c'est juste l'adresse de départ qui est alignée à droite.

Répondre

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 
+0

Cela ne fonctionne pas si vous utilisez certaines macros dans l'adresse. Les exemples de macros qui échouent sont 'texttt',' url', 'href',' nolinkurl'. La solution de Tom McGuire accepte ces macros. –

3

Je suppose que par « aligné à gauche » vous voulez dire que vous voulez que le bloc d'adresse à être sur la marge gauche de la page, puisque les lignes individuelles du bloc sont alignés à gauche, mais le bloc est à droite marge. Le meilleur moyen que j'ai trouvé pour ajuster les styles LaTeX est de localiser dans la source LaTeX où le style original est défini, de le copier dans un fichier de style et de jouer du violon. Dans ce cas, la source d'origine est le fichier letter.cls et j'ai recherché la mise en forme de l'adresse en recherchant la macro \ address, qui a conduit à la macro \ fromaddress, puis à la macro \ opening. Dans l'original, il est:


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

Retrait des \ raggedleft se déplace macro le bloc d'adresse sur le côté droit, mais laisse une certaine distance supplémentaire, donc je retire l'environnement sous forme de tableau aussi bien.


\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} 

Cet appel \ de renewcommand doit être mis dans un fichier de style .sty, car il utilise des macros contenant le caractère @. (Je viens de voir la réponse de Alexey Malistov, l'autre alternative est le \ \ makeatletter et macros makeatother.) Utiliser pour apporter dans le nouveau style


\usepackage{myletter} 

.

+0

Je sais que cette réponse date d'il y a longtemps, mais à suivre: est le texte que vous avez collé dessus (commençant par \ renewcommand *) inclus dans ce nouveau fichier "myletter.sty", ou dois-je copier/coller l'ENTIER "letter.cls", et modifiez simplement la partie contenant le texte que vous avez collé, et gardez toutes les autres parties de letter.cls au-dessus et en dessous de cette édition? – doorguote

7

La réponse est d'utiliser le style de lettre de bloc complet - tout aligné à gauche. Dans LaTeX, c'est le block.sty, que vous devrez probablement installer. Vous pouvez le trouver ici http://www.ctan.org/tex-archive/macros/latex/contrib/block. L'utilisation est assez simple:

\ usepackage {block}

+0

Parfait. dans Tex Live est déjà installé. Merci! –

Questions connexes