Advertisement
Guest User

TeX capacity exceeded, sorry [input stack size=30000]

a guest
Nov 27th, 2015
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 7.44 KB | None | 0 0
  1. % Letter template for TeXLive 2014 (Linux Mint 17 Cinnamon)
  2. % 2015-11-19 (last edited: 2015-11-19)
  3. % Compile: pdflatex datei.tex
  4. % Optimize PDF: ps2pdf -dOptimize=true -dEmbedAllFonts=true -dUseFlateCompression=true datei.pdf datei2.pdf
  5.  
  6. \def\bfLANG{english}    % Language of letter
  7. \def\bfDEST{intl}   % natl (national) or intl (international)
  8.  
  9. \documentclass[%
  10.     \bfLANG,
  11.     paper=a4,
  12.     DIN,    % or DINmtext
  13.     enlargefirstpage=false,
  14.     fontsize=11pt,
  15.     pagenumber=headright,
  16.     parskip=full,   % or half
  17.     pdftex  % or dvips or...
  18.     ]{scrlttr2}
  19.  
  20. % Packages needed
  21. \usepackage[autogenerated]{ucs}
  22. \usepackage[utf8x]{inputenc}
  23. \usepackage[T1]{fontenc}
  24. %\usepackage[noamsmath, notextcomp]{kpfonts}
  25. %\usepackage{Baskervaldx}
  26. \usepackage[nf]{libertine}
  27. \renewcommand*\oldstylenums[1]{{\fontfamily{fxlj}\selectfont#1}}
  28. \usepackage{textcomp}
  29. \usepackage{relsize}
  30. \usepackage{setspace}
  31. \usepackage{textcase}
  32. \usepackage{marvosym}
  33. \usepackage{lastpage}
  34. \usepackage{babel}
  35. \usepackage[margin=3cm]{geometry}
  36.  
  37. % Microtype stuff
  38. \usepackage[%
  39.     expansion=false,
  40.     protrusion=true,
  41.     %factor=500,    % to reduce protrusion to half
  42.     babel=true,
  43.     kerning=true,
  44.     spacing=true,
  45.     tracking=true%
  46.     ]{microtype}
  47.  
  48. % Quoting format
  49. \def\bfQQ#1{``#1''}
  50. \def\bfQ#1{`#1'}
  51.  
  52. % Smaller size for text in all caps
  53. \def\bfAC#1{\textsc{\larger\MakeTextLowercase{#1}}}
  54. \def\bfACb#1{\textsc{\smaller\MakeTextUppercase{#1}}}
  55.  
  56. % Sender's name, address, etc.
  57. \def\bfFN{Test Testman}
  58. \def\bfFNlc{\MakeTextLowercase{\bfFN}}
  59. \def\bfFA{%
  60.     Teststraat 100\\
  61.     1000\,AA Amsterdam%
  62. }
  63. \def\bfFAde{%
  64.     \bfFA%
  65.     \\\bfAC{NIEDERLANDE}%
  66. }
  67. \def\bfFAnl{%
  68.     \bfFA%
  69.     \\\bfAC{NEDERLAND}%
  70. }
  71. \def\bfFAes{%
  72.     \bfFA%
  73.     \\\bfAC{PA\'ISES BAJOS}%
  74. }
  75. \def\bfFAen{%
  76.     \bfFA%
  77.     \\\bfAC{NETHERLANDS}%
  78. }
  79. \def\bfFAeo{%
  80.     \bfFA%
  81.     \\\bfAC{NEDERLANDO}%
  82. }
  83. \let\bfBA=\bfFA
  84. \def\bfBAxx{%
  85.     \bfBA%
  86.     \\\bfACb{NL}%
  87. }
  88. \def\bfFP{06~00000000}
  89. \def\bfFPxx{+31~6~00000000}
  90. \def\bfFE{testman@example.com}
  91.  
  92. % Set some language-specific parameters
  93. \def\bfPANenglish{Postal address}
  94. \def\bfPHNenglish{Phone}
  95. \def\bfEMNenglish{E-mail}
  96. \let\bfFAenglishnatl=\bfFA
  97. \let\bfFAenglishintl=\bfFAen
  98. \let\bfBAenglishnatl=\bfBA
  99. \let\bfBAenglishintl=\bfBAxx
  100. \let\bfFPenglishnatl=\bfFP
  101. \let\bfFPenglishintl=\bfFPxx
  102.  
  103. \let\bfPANUSenglish=\bfPANenglish
  104. \let\bfPHNUSenglish=\bfPHNenglish
  105. \let\bfEMNUSenglish=\bfEMNenglish
  106. \let\bfFAUSenglishnatl=\bfFAenglishnatl
  107. \let\bfFAUSenglishintl=\bfFAenglishintl
  108. \let\bfBAUSenglishnatl=\bfBAenglishnatl
  109. \let\bfBAUSenglishintl=\bfBAenglishintl
  110. \let\bfFPUSenglishnatl=\bfFPenglishnatl
  111. \let\bfFPUSenglishintl=\bfFPenglishintl
  112.  
  113. \def\bfPANgerman{Postanschrift}
  114. \def\bfPHNgerman{Telefon}
  115. \def\bfEMNgerman{E-Mail}
  116. \let\bfFAgermannatl=\bfFAde
  117. \let\bfFAgermanintl=\bfFAde
  118. \let\bfBAgermannatl=\bfBAxx
  119. \let\bfBAgermanintl=\bfBAxx
  120. \let\bfFPgermannatl=\bfFPxx
  121. \let\bfFPgermanintl=\bfFPxx
  122.  
  123. \let\bfPANngerman=\bfPANgerman
  124. \let\bfPHNngerman=\bfPHNgerman
  125. \let\bfEMNngerman=\bfEMNgerman
  126. \let\bfFAngermannatl=\bfFAgermannatl
  127. \let\bfFAngermanintl=\bfFAgermanintl
  128. \let\bfBAngermannatl=\bfBAgermannatl
  129. \let\bfBAngermanintl=\bfBAgermanintl
  130. \let\bfFPngermannatl=\bfFPgermannatl
  131. \let\bfFPngermanintl=\bfFPgermanintl
  132.  
  133. \def\bfPANdutch{Postadres}
  134. \def\bfPHNdutch{Telefoon}
  135. \def\bfEMNdutch{E-Mail}
  136. \let\bfFAdutchnatl=\bfFAnl
  137. \let\bfFAdutchintl=\bfFAnl
  138. \let\bfBAdutchnatl=\bfBAxx
  139. \let\bfBAdutchintl=\bfBAxx
  140. \let\bfFPdutchnatl=\bfFPxx
  141. \let\bfFPdutchintl=\bfFPxx
  142.  
  143. \def\bfPANspanish{Dirección de correo}
  144. \def\bfPHNspanish{Teléfono}
  145. \def\bfEMNspanish{E-mail}
  146. \let\bfFAspanishnatl=\bfFAes
  147. \let\bfFAspanishintl=\bfFAes
  148. \let\bfBAspanishnatl=\bfBAxx
  149. \let\bfBAspanishintl=\bfBAxx
  150. \let\bfFPspanishnatl=\bfFPxx
  151. \let\bfFPspanishintl=\bfFPxx
  152.  
  153. \def\bfPANesperanto{Poŝtadreso}
  154. \def\bfPHNesperanto{Telefono}
  155. \def\bfEMNesperanto{Retpoŝtadreso}
  156. \let\bfFAesperantonatl=\bfFAeo
  157. \let\bfFAesperantointl=\bfFAeo
  158. \let\bfBAesperantonatl=\bfBAxx
  159. \let\bfBAesperantointl=\bfBAxx
  160. \let\bfFPesperantonatl=\bfFPxx
  161. \let\bfFPesperantointl=\bfFPxx
  162.  
  163. % Here comes the magic
  164. \def\bfPostaddressname{\csname bfPAN\bfLANG\endcsname}
  165. \providecaptionname{\bfLANG}\phonename{\csname bfPHN\bfLANG\endcsname}
  166. \providecaptionname{\bfLANG}\emailname{\csname bfEMN\bfLANG\endcsname}
  167. \def\bfFA{\csname bfFA\bfLANG\bfDEST\endcsname}
  168. \def\bfBA{\csname bfBA\bfLANG\bfDEST\endcsname}
  169. \def\bfFP{\csname bfFP\bfLANG\bfDEST\endcsname}
  170.  
  171. % More settings
  172. \setkomavar{backaddressseparator}{\,·\,}
  173. \setkomavar{emailseparator}{}
  174. \setkomavar{phoneseparator}{}
  175. \setkomavar{fromname}{\expandafter\bfFN}
  176. \setkomavar{fromaddress}{\expandafter\bfFA}
  177. \setkomavar{fromphone}{\expandafter\bfFP}
  178. %\setkomavar{fromemail}{\texttt{\expandafter\bfFE}}
  179. \setkomavar{fromemail}{{\expandafter\bfFE}}
  180.  
  181. % Date in short ISO format w/ middots (YYYY·MM·DD)
  182. \def\bfDATE#1#2#3{{%
  183.     \number#1·%
  184.     \ifnum\number#2<10 0\fi%
  185.     \number#2·%
  186.     \ifnum\number#3<10 0\fi%
  187.     \number#3%
  188. }}
  189.  
  190. \def\bfTODAY{\bfDATE{\number\year}{\number\month}{\number\day}}
  191.  
  192. \date{\bfTODAY}
  193.  
  194. % Define letterhead v3.0
  195. \setkomavar{firsthead}{{%
  196.   \parbox[t][0cm][t]{\textwidth}{%
  197.     \noindent\sffamily\scshape%
  198.     {%
  199.       \Huge\strut\hfill%
  200.       \usekomavar[\MakeTextLowercase]{fromname}%
  201.     }%
  202.     \strut\\\mbox{}\hrulefill\mbox{}%
  203.   }%
  204. }}
  205. \setkomavar{firstfoot}{{%
  206.   \parbox[b][0cm][b]{\textwidth}{%
  207.     \noindent\strut\\\mbox{}\hrulefill\mbox{}\\%
  208.     {%
  209.       \def\\{~·~\ignorespaces}%
  210.       \sffamily\footnotesize\strut%
  211.       \Letter~%
  212.       \usekomavar{fromaddress}%
  213.       \hfill%
  214.       \thepage\,/\,\pageref{LastPage}%
  215.       \newline%
  216.       \Mobilefone~%
  217.       \usekomavar{fromphone}\\%
  218.       \Email~%
  219.       \usekomavar{fromemail}%
  220.       \hfill\strut%
  221.     }%
  222.   }%
  223. }}
  224. \setkomavar{nexthead}{{%
  225.   \noindent\sffamily%
  226.   \parbox[t]{\textwidth}{%
  227.     \footnotesize%
  228.     \bfAC{\bfFNlc}\,·~%
  229.     \usekomavar{subject}\hfill%
  230.     \bfTODAY~·~%
  231.     \thepage\,/\,\pageref{LastPage}%
  232.     \linebreak\mbox{}\hrulefill\mbox{}%
  233.     \linebreak\strut%
  234.   }%
  235. }}
  236. \setkomavar{nextfoot}{{%
  237. }}
  238.  
  239. % Set letterhead on subsequent pages
  240. \setkomafont{pagehead}{\scriptsize\sffamily}
  241. \setkomafont{pagenumber}{\scriptsize\sffamily}
  242.  
  243. % Adjust address window
  244. \makeatletter
  245. \@addtoplength{toaddrwidth}{-0.5cm}
  246. \makeatother
  247.  
  248. % Make sender line in window wider
  249. \setkomavar{backaddress}{%
  250.   \makebox[\useplength{toaddrwidth}]{%
  251.     \smaller%
  252.     \ifkomavarempty{fromname}{}{%
  253.       \strut\ignorespaces\usekomavar{fromname}%
  254.       \ifkomavarempty{fromaddress}{}{\\}}%
  255.     \ifkomavarempty{fromaddress}{}{%
  256.       \strut\ignorespaces\bfBA}}}
  257.  
  258. % More space for letter text
  259. %\makeatletter
  260. %\@addtoplength{firstfootvpos}{4cm}
  261. %\makeatother
  262.  
  263. % More space before signature
  264. \makeatletter
  265. \@setplength{sigbeforevskip}{3\baselineskip}
  266. \makeatother
  267.  
  268. % Signature flushleft
  269. \let\raggedsignature=\raggedright
  270.  
  271. % Recipient address indented
  272. \makeatletter
  273. \@setplength{toaddrindent}{0.5cm}
  274. \makeatother
  275.  
  276. % Subject in boldface
  277. \addtokomafont{subject}{\bfseries}
  278.  
  279. % Headings on subsequent pages
  280. \pagestyle{headings}
  281.  
  282. % Less line spread (because of 11pt)
  283. \setstretch{0.9}%
  284.  
  285. \begin{document}
  286.  
  287. % this is where the letter starts
  288. \begin{letter}{%
  289.     % Recipient address
  290.     Testie Testwoman\\
  291.     1 Test Street
  292.     Dublin 1\\
  293.     \bfAC{IRELAND}%
  294. }
  295.  
  296. \setkomavar{subject}{This is a test letter}
  297. %\setkomavar{yourref}{}
  298. %\setkomavar{yourmail}{}
  299. %\setkomavar{myref}{}
  300.  
  301. \opening{Dear Testie,}
  302.  
  303. % Letter text
  304. this is a test. Please test accordingly.
  305.  
  306. Thank you!
  307.  
  308. \closing{Best regards,}
  309.  
  310. %\encl{}
  311.  
  312. \end{letter}
  313.  
  314. \end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement