
Estou usando newflm
a aula para preparar uma carta. A classe, surpreendentemente, não fornece um Subject
campo. Roubando ideia deeste tópico, de alguma forma consegui inserir um assunto, embora não tenha sido um truque legal. Mas como centralizar o assunto agora? Existe alguma solução sem editar o próprio arquivo de classe? Abaixo está um MWE.
\documentclass[10pt,stdletter,addrfromleft]{newlfm}
\usepackage{charter,epstopdf}
\widowpenalty=1000
\clubpenalty=1000
\newlfmP{headermarginskip=20pt}
\newlfmP{sigsize=10pt}
\newlfmP{dateskipafter=20pt}
\newlfmP{addrfromphone}
\newlfmP{addrfromemail}
\PhrPhone{PHONE}
\PhrEmail{EMAIL}
\PhrRegard{SUBJECT}
\namefrom{FROM\_PERSON}
\addrfrom{FROM\_ADDRESS}
\regarding{CENTER\_ALIGN\_SUBJECT\_HERE}
\addrto{TO\_ADDRESS}
\greetto{GREETINGS,}
\closeline{CLOSING}
\begin{document}
\begin{newlfm}
LETTER\_BODY\_HERE
\end{newlfm}
\end{document}
Produz uma carta como esta.
Responder1
Se preferir não redefinir as macros definidas na classe, você pode simplesmente fazer
\regarding{{\centering CENTER\_ALIGN\_SUBJECT\_HERE \\}}
Caso contrário, você poderia corrigir a \regarding
macro:
\makeatletter
\def\regarding#1{\setboolean{@pt@regard}{true}\protect\def\@regard@line{{\centering #1\\}}}%
\makeatother
em seu preâmbulo.
O grupo extra {}
ao redor do assunto limita o efeito de \centering
àquela parte do texto e \\
termina explicitamente a linha dentro do grupo, o que é necessário porque \centering
modifica o comportamento de \\
para que o espaçamento correto seja gerado no final da linha para centralizá-la.