2009-11-27 5 views
4

이것은 라텍스를 사용하여 편지를 쓰는 데 처음입니다. 나는 편지 수업을 사용하고있다. 내가 사용할 때 :라텍스 문자 : 보낸 사람 주소 왼쪽 정렬

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

보낸 사람 주소가 오른쪽 정렬됩니다. 거기에 어딘가에 내가 왼쪽 정렬 할 수 있습니다. 내가 찾는 편지의 형식은 보낸 사람 주소가 왼쪽으로 정렬 된 다음 왼쪽으로 정렬 된 날짜가 뒤 따르고 왼쪽으로 정렬 된 주소가 다음에 열리고 본문이 표시되고 마지막으로 서명이 왼쪽으로 정렬되는 형식입니다.

\longindentation=0pt을 사용하여 서명을 왼쪽 정렬 할 수 있었지만 나머지 항목은 올바르게 정렬되었습니다. 오른쪽에서 정렬 된 바로 앞의 주소입니다.

답변

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

당신이 주소 내에서 특정 매크로를 사용하는 경우이 작동하지 않습니다. 실패한 매크로의 예는'texttt','url','href','nolinkurl'입니다. @ 토미 맥과이어의 솔루션은 이러한 매크로를 수용합니다. –

3

난으로 가정 "왼쪽 정렬"당신은 블록의 개별 라인을 왼쪽으로 정렬되어 있기 때문에 당신이 주소 블록은 페이지의 왼쪽 여백에되고 싶은 것을 의미하지만, 블록은 오른쪽입니다 여유.

LaTeX 스타일을 조정하는 가장 좋은 방법은 원래 스타일이 정의 된 LaTeX 소스에서 스타일 파일에 복사하고 바이올린을 찾는 것입니다. 이 경우 원본 소스는 letter.cls 파일이며 \ addressadd 매크로로 이어지는 \ address 매크로를 찾은 다음 \ opening 매크로로 이동하여 주소 형식을 추적합니다. 는 \ raggedleft 매크로 이동 우측 어드레스 블록을 제거


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

하지만, 일부 추가 공간을 남긴다 그래서뿐만 아니라 환경을 표 제거 : 일본어에서는있다.


\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 스타일 파일로 저장해야합니다. (난 그냥 알렉세이 Malistov의 답변을보고, 다른 대안의 \ makeatletter 및 \ makeatother 매크로입니다.) 새로운 스타일로 가져


\usepackage{myletter} 

를 사용합니다.

+0

이 답변은 오래 전부터 알고 있지만 후속 조치입니다.이 새 "myletter.sty"파일에 포함 된 텍스트 (\ renewcommand *로 시작) 만 복사하거나 ENTIRE를 복사/붙여 넣기합니까? "letter.cls"텍스트를 입력하고 붙여 넣은 텍스트가 포함 된 파트를 편집하고 letter.cls의 다른 부분을 모두이 편집 위아래로 유지합니다. – doorguote

7

대답은 전체 블록 문자 스타일을 사용하는 것입니다. 왼쪽 모두 정렬됩니다. LaTeX에서는 block.sty 파일을 설치해야합니다. 여기서 찾을 수 있습니다 http://www.ctan.org/tex-archive/macros/latex/contrib/block. 사용법은 매우 간단합니다 :

\ usepackage {블록}

+0

완벽. Tex Live에는 이미 설치되어 있습니다. 감사! –

관련 문제