
Ao escrever uma carta usando newlfm
, tentei usar o \greettoskipbefore
comando da página 8 domanuale recebi um erro de "sequência de controle indefinida". Olhando para ofonte, parece que este comando específico não foi definido, enquanto todos os outros comandos de salto, como \greettoskipafter
foram:
\def\greettoskipafter#1{\setlength{\@greet@to@sk@a}{#1}}%
\define@key{ov}{greettoskipafter}{\setlength{\@greet@to@sk@a}{#1}}%
Como um iniciante em LaTeX que não entende nada do TeX primitivo, estou perdido aqui. Adicionar \greettoskipbefore
e recompilar manualmente newlfm
parece ser uma opção, mas isso significa que meu documento só seria compilado em meu sistema até que o autor deste pacote corrigisse o problema. Considerando que o pacote não é atualizado há 5 anos, isso pode não acontecer tão cedo; o que nos leva à minha pergunta: é possível definir \greettoskipbefore
no meu documento LaTeX como um hack temporário?
Editar: Aqui está um MWE
\documentclass[11pt,busletternofrom]{newlfm}
\newlfmP{noLines}
\PhrRegard{RE}
\dateset{\today}
\namefrom{John Smith}
\newcommand{\companyname}{Netgear}
\newcommand{\shortcompanyname}{Netgear}
\nameto{Darryl Simpson}
\addrto{
\companyname \\
13911 Wireless Way, Suite 200 \\
Richmond, BC V6V 3B9 \\
}
\regarding{Hardware Design Engineer}
\greetto{Dear Mr. Simpson,}
\closeline{Sincerely,}
\begin{document}
\begin{newlfm}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{newlfm}
\end{document}
Responder1
Eu realmente nunca vi a necessidade de usar uma classe de documento específica para cartas, já que é muito fácil escrever uma carta dentro do padrãoarticle
classe de documento (vejaEscrevendo uma carta oficialeA carta de apresentação do TeX não exibe “Atenciosamente, meu nome”, por exemplo). Esse não é o ponto aqui...
O skip \@greet@to@sk@a
destina-se a colocar um sk
ip a
após a greet
to
cláusula " " e sim, há um acompanhamento \@greet@to@sk@b
, presumivelmente para fornecer um skip
b
antes da greet
to
cláusula " ". No entanto, não há meios formais fornecidos para definir esse comprimento. A localização deste salto "ausente" está no mesmo local (verticalmente) que o sk
ip a
após a cláusula " to
addr
ess" (fornecida pelo length \@addr@to@sk@a
), que possui uma macro de configuração disponível:
\def\addrtoskipafter#1{\setlength{\@addr@to@sk@a}{#1}}%
Como tal, pode ser suficiente definir este salto em vez do que falta. Aqui está um exemplo mínimo (retirado deA carta de apresentação do TeX não exibe “Atenciosamente, meu nome”) destacando esse efeito:
\documentclass[10pt,stdletter]{newlfm}
\usepackage{charter}
\widowpenalty=1000
\clubpenalty=1000
\newsavebox{\Luiuc}
\sbox{\Luiuc}{%
\parbox[b]{1.75in}{%
\vspace{0.5in}%
\includegraphics[height=2\baselineskip]{example-image}%
}%
}%
\makeletterhead{Uiuc}{\Lheader{\usebox{\Luiuc}}}
\newlfmP{headermarginskip=20pt}
\newlfmP{sigsize=50pt}
\newlfmP{dateskipafter=20pt}
\newlfmP{addrfromphone}
\newlfmP{addrfromemail}
\PhrPhone{Phone}
\PhrEmail{Email}
\lthUiuc
\namefrom{Matthew J.\ Miller}
\addrfrom{%
439 Coordinated Science Laboratory\\
1308 West Main Street\\
Urbana, IL 61801
}
\phonefrom{217-244-6024}
\emailfrom{[email protected]}
\addrto{%
Faculty Search Committee\\
Department of Computer Science\\
Clemson University\\
Clemson, SC 29634-0974}
\addrfromskipbefore{-4\baselineskip}% Skip before "From Address" clause
\addrtoskipafter{4\baselineskip}% Skip after "To Address" clause
\greetto{To Whom It May Concern,}
\closeline{Sincerely,}
\begin{document}
\begin{newlfm}
I am writing to apply for the position of assistant
professor in Clemson University's Computer Science Department. I plan to receive my
Ph.D.\ degree from the University of Illinois at
Urbana-Champaign in Summer of 2006. My adviser is
Prof.\ Nitin H.\ Vaidya, and my general areas of interest
include wireless and sensor network performance and security.
Having many friends and family in the area, I would be
most enthused to return to the South permanently by accepting
a position at your institution.
In my graduate work, I focus on the design of
energy-efficient protocols and secure key distribution.
More specifically, I have explored various techniques at
multiple layers of the network stack to effectively reduce
the energy consumption of wireless communication. In security,
my work was the first to propose leveraging channel diversity
for sensor network key distribution. My research appears in
the \textit{IEEE Transactions on Mobile Computing} journal as
well as \textit{Infocom 2006} and \textit{ICDCS 2005},
prestigious conferences in the areas of networking and distributed
systems, respectively.
Enclosed is my curriculum vitae (including a list of
publications), contact information for my references, a research
statement, and a teaching statement. All of my publications and
presentations are available at:
http://www.crhc.uiuc.edu/$\sim$mjmille2/publications/
Please let me know if there are any other materials
or information that will assist you in processing my application.
Thank you for your consideration. I look forward to
hearing from you.
\end{newlfm}
\end{document}
Como uma alternativa bastante ousada, você pode criar o seu próprio newlfm-fix.sty
(na sua local/texmf
pasta que contém todas as correções necessárias). As atualizações deverão ser carregadas sempre que você precisar utilizá-las ( \usepackage{newlfm-fix}
), mas deverão ser carregadas com você para outras distribuições. Assim que uma atualização paranewlfm
é emitido (... entre em contato com o autor do pacote, a propósito), você pode parar de incluir seu arquivo newlfm-fix.sty
.
Você também pode adicionar espaço usando \\[<len>]
, já que certos componentes newlfm
são definidos com um tabular
. Por exemplo, usando
\regarding{Hardware Design Engineer\\[4\baselineskip]}
insere 4\normalbaselineskip
depois de "cumprimentos":