![Как добавить название компании в обратный адрес в scrlttr2?](https://rvso.com/image/305917/%D0%9A%D0%B0%D0%BA%20%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D0%B8%20%D0%B2%20%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B9%20%D0%B0%D0%B4%D1%80%D0%B5%D1%81%20%D0%B2%20scrlttr2%3F.png)
Я взял простой пример из руководства по скриптам KOMA со страницы 166-167.(pdf-файл). Теперь я хочу ввести название компании в строке перед (или после) моим именем. Я бы наивно сделал это, изменив
\setkomavar{fromname}{John Public}
к
\setkomavar{fromname}{Company Name\\John Public}
Однако это нарушает компиляцию. Сообщение об ошибке:
! Undefined control sequence.
\@gnewline ...\@nolnerr \else \unskip \reserved@e
{\reserved@f #1}\nobreak \...
l.24 \closing{Expecting an invitation}
Следовательно, удаление \closing{}
команды корректно отображает документ, но, очевидно, без закрытия. Обратите внимание, что меня на самом деле не волнует закрытие, я просто хочу, чтобы оно работало как обычно.
Вопросы:
- Как правильно добавить название компании к
from
переменным, т. е. обратный адрес? - Что является причиной этой странной ошибки?
Полный пример:
\documentclass[foldmarks=true,foldmarks=blmtP,
fromalign=false,fromrule=afteraddress,
fromphone,fromemail,
version=last]{scrlttr2}
\usepackage[english]{babel}
\begin{document}
%\setkomavar{fromname}{John Public}
\setkomavar{fromname}{Company Name\\John Public}
\setkomavar{fromaddress}{Valley 2\\
54321 Public-Village}
\setkomavar{fromphone}{0\,12\,34~56\,78}
\setkomavar{fromemail}{[email protected]}
\begin{letter}{%
Joana Public\\
Hillside 1\\
12345 Public-City%
}
\opening{Dear chairman,}
the last general meeting was about one year ago.
I want to remind you, that the constitution of our
club advises you to make a general meeting every
six month. Because of this I expect the executive
board to detain such a meeting immediately.
\closing{Expecting an invitation}
\ps PS: I hope you accept this as an friendly
demand note.
\setkomavar*{enclseparator}{Enclosure}
\encl{Compendium of the constitution with the
general meeting paragraphs.}
\cc{executive board\\all members}
\end{letter}
\end{document}
решение1
0. Взлом
Хак, который (на данный момент) может решить вашу проблему, — это использование \linebreak
вместо \\
.
\documentclass{scrlttr2}
\begin{document}
\setkomavar{fromname}{Company Name\linebreak\ John Public} % \_ before name typeset
% the `back address`
% correctly.
\begin{letter}{empfaenger}
\opening{Hallo}
text
\closing{schluss}
\end{letter}
\end{document}
(У меня работает; у вас результат может отличаться!)
1. Название компании в подписи
Чтобы добавить название компании в подпись, вы можете попробовать переопределить переменную KOMA signature
. Вот как я настроил свою систему:
В общей компании .LCO
\newkomavar{companyname}
\setkomavar{companyname}{Incognito Ltd}
\setkomavar{fromname}{Nomen Nescio}
\setkomavar{signature}{\usekomavar{fromname}\\%
\footnotesize{\chairPerson}}
\providecaptionname{UKenglish}{\salutation}{Yours sincerely\linebreak\ Company Ltd.}
\providecaptionname{norsk}{\salutation}{Med vennlig hilsen\linebreak\ Company Ltd.}
В моем личном .LCO
\setkomavar{fromname}{My Name}
\providecaptionname{UKenglish}{\chairPerson}{General Counsel/attorney at law \textsc{mna}}
\providecaptionname{norsk}{\chairPerson}{juridisk direkt\o r/advokat \textsc{mna}}
Использование \closing
дает мне желаемый результат. Я загружаю .LCO компании и мой личный .LCO в шаблон .tex-файла. \providecaptionname
дает вам возможность использовать babel
и несколько языков. Я использую \linebreak\
вместо \\
, и
\renewcommand{\raggedsignature}{\raggedright}
2. Название компании в обратном адресе
Чтобы указать название компании в строке адреса (см. руководство на стр. 160 и далее):
\newkomavar{companyname}
\setkomavar{companyname}{Incognito Ltd}
\setkomavar{backaddress}{%
\usekomavar{companyname}\\%
\usekomavar{fromname}\\%
\usekomavar{fromaddress}% % remember to define this
}
\setkomavar{backaddressseparator}{$\cdot$} % or a comma
3. Название компании в заголовке первой страницы
firsthead
Чтобы достичь этого, вам придется переопределить :
\setkomavar{firsthead}{%
\centering\usekomavar{companyname}\\%
\usekomavar{fromname}\\%
\rule{12em}{0.75pt}\\%
\usekomavar{fromaddress}%
}