Changes

Jump to navigation Jump to search
2,456 bytes added ,  17:19, 31 December 2004
implemented environment, demo mode, nofold mode; improved shortsender handling; corrected small usage info typos
<texcode>
%
% Style (environment) for writing letters
%
% (c) 2004 Holger Schöner hfsch@cs.tu-berlin.de
% with contributions from Stefan Bunzel
%
% Feel free to use as you like. If modified, please remove the above
% Usage:
%
% \input environment letterstyle
% \starttext
% \letter{<string>}
% \setdate{<(string>)}% \place{<(string>)}% \shortsender{<(one-line address of sender>)}% \disposal{<(orders>)}% \addressee{<(address of receiver; use \\ and \| for new lines>)}
% % Block with information about sender on the right hand side (name, phone,
% % fax, email, etc.). <(key> ) is set flush right in a very small font (by% % default, see \keystyle) and specifies the type of information, and <(value>)
% % is the actual information.
% \senderone{<(key>)}{<(value>)}% \sendertwo{<(key>)}{<(value>)}
% ...
% \sendernine{<(key>)}{<(value>)}
% \addfirstheaderlayer[corner={top,left},location={bottom,right}]{\framed[width=\overlaywidth,height=\logoboxheight,frame=off]{}}
% \headertextheadercontent{(text)} % Text placed in the header of every page except the first
% \addheaderlayer[corner={top,left},location={bottom,right}]{}
% \footertextfootercontent{(text)} % Text placed in the footer of every page
% \addfooterlayer[corner={bottom,right},location={top,left}]{}
% \subject{<(subject>)}% \greeting{<(greetings formulation>)}% \signature{<(name>)}% \attachments{(text)}%% ----------------------------------------------------------------------------% Modes:% demo: Set an example letter specified at the end of this file for% test/demo purposes.% nofold: Determines whether folding marks are set or not. By default,% they are printed; using this mode they are left out.%% Set modes by using% texexec -pdf --mode=(mode1,mode2,...) (file)% or specify \enablemode[(mode)] in your input (before including the style)
%
% ----------------------------------------------------------------------------
% There are some nasty tricks involved here; e.g. I could not find a cleaner
% way to specify a header which is to be used for only one page and has a
% I'd be glad about any hints for improvement of this style!
%
 
\startenvironment letterstyle
%=============================================================================
%% Standard Styles
\def\keystyle{\tfxxxtfxx}
\def\valstyle{}
\startsetups firstpagesetup
\setups{firstpageintrosetup}
\setups{foldingmarkslayersetup}
\framed[width=\makeupwidth,height=\headerheight,
background={firstpagelayer,firstheaderlayer},frame=off]
{}
%% Short sender frame
\doiftextelse{\lettershortsender}{ \setlayerframed[firstpagelayer] [y=3.8cm,location={right,bottom}] [height=0.3cm,width=8cm,frame=off,bottomframe=on,offset=none,align={right,lohi}] {\tfxx \lettershortsender}}{ \setlayerframed[firstpagelayer] [y=3.8cm,location={right,bottom}] [height=0.3cm,width=8cm,frame=off,bottomframe=off,offset=none,align={right,lohi}] {\tfxx \lettershortsender}}
%% Addressee frame
\setlayerframed[firstpagelayer]
\valstyle
\doiftextelse{\letterplace}
{\letterplace, \translate[en=, de=den]\ }{} \doiftextelse{\letterdate}{\letterdate}{\currentdate}% \currentdate[weekday,month,day,{, },year]
\eTD \eTR
\eTABLE
%% Folding marks on left
\startnotmode[nofold] \setupbackgrounds[rightpage][page][state=start,background=foldingmarkslayer]\stopnotmode
\definelayer[foldingmarkslayer][state=repeat]
\startsetups foldingmarkslayersetup \setlayer[foldingmarkslayer][y=10.7cm, x=0.5cm,align={lohi,right}]{---} \setlayer[foldingmarkslayer][y=14.85cm,x=0.5cm,align={lohi,right}]{--} \setlayer[foldingmarkslayer][y=20.2cm, x=0.5cm,align={lohi,right}]{---}\stopsetups
%=============================================================================
%=============================================================================
\stopenvironment
 
%=============================================================================
\startmode[demo]
 
% Necessary, if you want to print folding marks only on odd pages
\setuppagenumbering[alternative={singlesided,doublesided}]
 
% \input letterstyle
 
\starttext
\letter{Example Letter}
%\setdate{(string)}
\place{Berlin}
 
\shortsender{My Name $\cdot$ My Street 123 $\cdot$ 12345 My Town}
\disposal{confidential}
\addressee{Mr. Example\\ Test Drive 99\| 98765 Other Town}
 
\senderone{tel.}{+49 30 12345678}
\sendertwo{email}{xyz@abc.com}
 
%\addfirstheaderlayer[corner={top,left},location={bottom,right}]{\framed[width=\overlaywidth,height=\logoboxheight,frame=off]{}}
\headercontent{\hfill test letter, page \pagenumber}
%\addheaderlayer[corner={top,left},location={bottom,right}]{}
\footercontent{From MyName\hfill To Mr. Example}
%\addfooterlayer[corner={bottom,right},location={top,left}]{}
 
\subject{What do you think about the Letterstyle?}
 
Dear Reader,
 
\dorecurse{11}{\input tufte\par}
 
\greeting{Best regards,}
\signature{My Name}
 
\attachments{The Letterstyle}
 
%-----------------------------------------------------------------------------
% Necessary to suppress emtpy last page in doublesided pagenumbering mode
\installpagebreakhandler{last}{}
 
\stoptext
 
\stopmode
</texcode>
5

edits

Navigation menu