<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>lettre.cls</title>
<meta name="Generator" content="Vim/8.1">
<meta name="plugin-version" content="vim8.1_v1">
<meta name="syntax" content="tex">
<meta name="settings" content="use_css,pre_wrap,no_foldcolumn,expand_tabs,prevent_copy=">
<meta name="colorscheme" content="default">
<style type="text/css">
<!--
pre { white-space: pre-wrap; font-family: monospace; color: #ffffff; background-color: #000000; }
body { font-family: monospace; color: #ffffff; background-color: #000000; }
* { font-size: 1em; }
.Constant { color: #ff6060; }
.Special { color: #ff40ff; }
.Statement { color: #ffff00; }
.Comment { color: #8080ff; }
.PreProc { color: #ff40ff; }
-->
</style>
</head>
<body>
<pre id='vimCodeElement'>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">%% \file lettre.cls</span>
<span class="Comment">%% \author Sebastien Beaugrand</span>
<span class="Comment">%% \sa <a href="http://beaugrand.chez.com/">http://beaugrand.chez.com/</a></span>
<span class="Comment">%% \copyright CeCILL 2.1 Free Software license</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% zypper install --no-recommends\</span>
<span class="Comment">%  texlive-latex\</span>
<span class="Comment">%  texlive-vmargin\</span>
<span class="Comment">%  texlive-babel-french\</span>
<span class="Comment">%  texlive-psnfss\</span>
<span class="Comment">%  texlive-metafont-bin\</span>
<span class="Comment">%  texlive-times\</span>
<span class="Comment">%  texlive-dvips</span>
<span class="Comment">%  texlive-lastpage</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\NeedsTeXFormat</span><span class="Special">{</span>LaTeX2e<span class="Special">}</span>
<span class="Statement">\ProvidesClass</span><span class="Special">{</span>lettre<span class="Special">}</span>
<span class="Statement">\DeclareOption</span><span class="Special">{</span>avecpliage<span class="Special">}{</span><span class="Statement">\def</span><span class="Statement">\pliage@longueur</span><span class="Special">{</span>1<span class="Special">}}</span>
<span class="Statement">\DeclareOption</span><span class="Special">{</span>sanspliage<span class="Special">}{</span><span class="Statement">\def</span><span class="Statement">\pliage@longueur</span><span class="Special">{</span>0<span class="Special">}}</span>
<span class="Statement">\DeclareOption</span><span class="Special">{</span>avecpages<span class="Special">}{</span><span class="Statement">\def</span><span class="Statement">\pages</span><span class="Special">{</span><span class="Statement">\hfill\thepage</span>/<span class="Statement">\pageref{</span><span class="Special">LastPage</span><span class="Statement">}</span><span class="Special">}}</span>
<span class="Statement">\DeclareOption</span><span class="Special">{</span>sanspages<span class="Special">}{</span><span class="Statement">\def</span><span class="Statement">\pages</span><span class="Special">{}}</span>
<span class="Statement">\DeclareOption</span><span class="Special">{</span>dateavantdest<span class="Special">}{</span><span class="Statement">\def</span><span class="Statement">\date@avant</span><span class="Special">{</span>1<span class="Special">}}</span>
<span class="Statement">\DeclareOption</span><span class="Special">{</span>dateapresdest<span class="Special">}{</span><span class="Statement">\def</span><span class="Statement">\date@avant</span><span class="Special">{</span>0<span class="Special">}}</span>
<span class="Statement">\ExecuteOptions</span><span class="Special">{</span>avecpliage<span class="Special">}</span>
<span class="Statement">\ExecuteOptions</span><span class="Special">{</span>avecpages<span class="Special">}</span>
<span class="Statement">\ExecuteOptions</span><span class="Special">{</span>dateavantdest<span class="Special">}</span>
<span class="Statement">\ProcessOptions</span>
<span class="Statement">\LoadClass</span><span class="Special">[</span>a4paper,<span class="Constant">11pt</span><span class="Special">]{</span>article<span class="Special">}</span>
<span class="Statement">\RequirePackage</span><span class="Special">{</span>times<span class="Special">}</span>

<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% Langue</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\RequirePackage</span><span class="Special">[</span>french<span class="Special">]{</span>babel<span class="Special">}</span>
<span class="Statement">\RequirePackage</span><span class="Special">[</span>utf8<span class="Special">]{</span>inputenc<span class="Special">}</span>
<span class="Statement">\RequirePackage</span><span class="Special">[</span>T1<span class="Special">]{</span>fontenc<span class="Special">}</span>

<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% Mise en page</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\RequirePackage</span><span class="Special">{</span>vmargin<span class="Special">}</span>
<span class="Statement">\setmarginsrb</span><span class="Special">{</span><span class="Constant">25mm</span><span class="Special">}{</span><span class="Constant">21mm</span><span class="Special">}{</span><span class="Constant">25mm</span><span class="Special">}{</span><span class="Constant">11mm</span><span class="Special">}{</span><span class="Constant">0mm</span><span class="Special">}{</span><span class="Constant">0mm</span><span class="Special">}{</span><span class="Constant">0mm</span><span class="Special">}{</span><span class="Constant">10mm</span><span class="Special">}</span>
<span class="Statement">\RequirePackage</span><span class="Special">{</span>lastpage<span class="Special">}</span>
<span class="Statement">\renewcommand</span><span class="Special">{</span><span class="Statement">\@evenfoot</span><span class="Special">}{</span><span class="Statement">\pages</span><span class="Special">}</span>
<span class="Statement">\renewcommand</span><span class="Special">{</span><span class="Statement">\@oddfoot</span><span class="Special">}</span> <span class="Special">{</span><span class="Statement">\pages</span><span class="Special">}</span>
<span class="Statement">\RequirePackage</span><span class="Special">{</span>zref-savepos<span class="Special">}</span>
<span class="Statement">\parindent</span>0cm

<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% Lieu, date, et formule de politesse</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\def</span><span class="Statement">\@lieu</span><span class="Special">{</span>Paris<span class="Special">}</span>
<span class="Statement">\def</span><span class="Statement">\@date</span><span class="Special">{</span><span class="Statement">\today</span><span class="Special">}</span>
<span class="Statement">\def</span><span class="Statement">\@formule</span><span class="Special">{</span>Veuillez agréer, <span class="Statement">\titre</span>, mes salutations distinguées.<span class="Special">}</span>
<span class="Statement">\def</span><span class="Statement">\lieu</span><span class="Special">#1</span><span class="Special">{</span><span class="Statement">\def\@lieu</span><span class="Special">{</span><span class="Special">#1</span><span class="Special">}}</span>
<span class="Statement">\def</span><span class="Statement">\date</span><span class="Special">#1</span><span class="Special">{</span><span class="Statement">\def\@date</span><span class="Special">{</span><span class="Special">#1</span><span class="Special">}}</span>
<span class="Statement">\def</span><span class="Statement">\formule</span><span class="Special">#1</span><span class="Special">{</span><span class="Statement">\def\@formule</span><span class="Special">{</span><span class="Special">#1</span><span class="Special">}}</span>

<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% Pliage</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\newcommand</span><span class="Special">{</span><span class="Statement">\pliage</span><span class="Special">}{</span><span class="Comment">%</span>
 <span class="Statement">\setlength\unitlength</span><span class="Special">{</span><span class="Constant">1mm</span><span class="Special">}</span>
 <span class="Statement">\vbox</span> to <span class="Constant">0pt</span><span class="Special">{</span><span class="Statement">\kern</span>-<span class="Statement">\headsep</span> <span class="Statement">\kern</span>-<span class="Statement">\topmargin</span> <span class="Statement">\kern</span>-<span class="Statement">\headheight</span>
  <span class="Statement">\kern</span>-<span class="Constant">1in</span> <span class="Statement">\kern</span>-<span class="Statement">\voffset</span> <span class="Statement">\kern</span>-<span class="Statement">\abovedisplayskip</span> <span class="Statement">\kern</span> <span class="Constant">99mm</span>
  <span class="Statement">\hbox</span> to <span class="Constant">0pt</span><span class="Special">{</span><span class="Statement">\kern</span>-<span class="Statement">\@themargin</span> <span class="Statement">\kern</span>-<span class="Constant">1in</span> <span class="Statement">\kern</span>-<span class="Statement">\hoffset</span> <span class="Statement">\kern</span> <span class="Constant">10mm</span>
   <span class="Statement">\line</span>(1,0)<span class="Special">{</span><span class="Statement">\pliage@longueur</span><span class="Special">}}}</span>
<span class="Special">}</span>

<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% Expéditeur</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\newcommand</span><span class="Special">{</span><span class="Statement">\expediteur</span><span class="Special">}[</span><span class="Constant">2</span><span class="Special">]{</span><span class="Comment">%</span>
 <span class="Statement">\pliage</span>
 <span class="Statement">\def\nom</span><span class="Special">{</span><span class="Special">#1</span><span class="Special">}</span>
 <span class="Statement">\begin</span><span class="Special">{</span><span class="PreProc">minipage</span><span class="Special">}[</span>t<span class="Special">]{</span><span class="Constant">7cm</span><span class="Special">}</span>
 <span class="Statement">\nom</span><span class="Special">\\</span>
 <span class="Special">#2</span>
 <span class="Statement">\end</span><span class="Special">{</span><span class="PreProc">minipage</span><span class="Special">}</span>
 <span class="Statement">\ifnum\date@avant</span><span class="Statement">=</span>1
  <span class="Statement">\hfill</span>
  <span class="Statement">\begin</span><span class="Special">{</span><span class="PreProc">minipage</span><span class="Special">}[</span>t<span class="Special">]{</span><span class="Constant">7cm</span><span class="Special">}</span>
   <span class="Statement">\mbox</span><span class="Special">{</span><span class="Statement">\@lieu</span><span class="Special">}</span>, <span class="Statement">\mbox</span><span class="Special">{</span>le <span class="Statement">\@date</span><span class="Special">}</span>
  <span class="Statement">\end</span><span class="Special">{</span><span class="PreProc">minipage</span><span class="Special">}</span>
 <span class="Statement">\fi</span>
 <span class="Statement">\vskip</span> <span class="Constant">1cm</span><span class="Special">}</span>

<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% Destinataire</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\newcommand</span><span class="Special">{</span><span class="Statement">\destinataire</span><span class="Special">}[</span><span class="Constant">2</span><span class="Special">]{</span><span class="Comment">%</span>
 <span class="Statement">\phantom</span><span class="Special">{</span>coucou<span class="Special">}</span>
 <span class="Statement">\hfill</span>
 <span class="Statement">\begin</span><span class="Special">{</span><span class="PreProc">minipage</span><span class="Special">}[</span>t<span class="Special">]{</span><span class="Constant">7cm</span><span class="Special">}</span>
 <span class="Special">#1</span><span class="Special">\\</span>
 <span class="Special">#2</span><span class="Special">\\</span>
 <span class="Statement">\ifnum\date@avant</span><span class="Statement">=</span>0
  <span class="Special">\\</span>
  <span class="Special">\\</span>
  <span class="Statement">\hfill</span> <span class="Statement">\@lieu</span>, le <span class="Statement">\@date</span>
 <span class="Statement">\fi</span>
 <span class="Statement">\end</span><span class="Special">{</span><span class="PreProc">minipage</span><span class="Special">}</span>
 <span class="Statement">\vskip</span> <span class="Constant">2cm</span><span class="Special">}</span>

<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% Avis de réception</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\newcommand</span><span class="Special">{</span><span class="Statement">\avis</span><span class="Special">}[</span><span class="Constant">1</span><span class="Special">]{</span><span class="Comment">%</span>
 <span class="Statement">\textbf</span><span class="Special">{</span><span class="Statement">\underline</span><span class="Special">{</span>Lettre recommandée AR <span class="Statement">\No</span> <span class="Special">#1</span><span class="Special">}}</span>
 <span class="Statement">\vskip</span> <span class="Constant">1cm</span><span class="Special">}</span>

<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% Référence</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\newcommand</span><span class="Special">{</span><span class="Statement">\reference</span><span class="Special">}[</span><span class="Constant">1</span><span class="Special">]{</span><span class="Comment">%</span>
 Réf: <span class="Special">#1</span>
 <span class="Statement">\vskip</span> <span class="Constant">1cm</span><span class="Special">}</span>

<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% Objet</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\newcommand</span><span class="Special">{</span><span class="Statement">\objet</span><span class="Special">}[</span><span class="Constant">1</span><span class="Special">]{</span><span class="Comment">%</span>
 Objet: <span class="Special">#1</span>
 <span class="Statement">\vskip</span> <span class="Constant">1cm</span><span class="Special">}</span>

<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Comment">% Corps de la lettre</span>
<span class="Comment">% ---------------------------------------------------------------------------- %</span>
<span class="Statement">\newenvironment</span><span class="Special">{</span>corps<span class="Special">}[</span>1<span class="Special">]{</span><span class="Comment">%</span>
 <span class="Statement">\zsavepos</span><span class="Special">{</span>corps<span class="Special">}</span>
 <span class="Statement">\newlength\yref</span>
 <span class="Statement">\setlength\yref</span><span class="Special">{</span><span class="Constant">197mm</span><span class="Special">}</span>
 <span class="Statement">\newlength\ypos</span>
 <span class="Statement">\setlength\ypos</span><span class="Special">{</span><span class="Statement">\zposy</span><span class="Special">{</span>corps<span class="Special">}</span>sp<span class="Special">}</span>
 <span class="Statement">\ifdim</span> <span class="Statement">\ypos</span>&gt;<span class="Statement">\yref</span> <span class="Statement">\addtolength\ypos</span><span class="Special">{</span>-<span class="Statement">\yref</span><span class="Special">}</span> <span class="Statement">\kern\ypos</span> <span class="Statement">\fi</span>
 <span class="Statement">\def</span><span class="Statement">\titre</span><span class="Special">{</span><span class="Special">#1</span><span class="Special">}</span>
 <span class="Statement">\titre</span>,
 <span class="Statement">\vskip</span> <span class="Constant">1cm</span><span class="Special">}</span>
<span class="Special">{</span>~<span class="Special">\\</span>
 ~<span class="Special">\\</span>
 <span class="Statement">\@formule</span><span class="Special">\\</span>
 ~<span class="Special">\\</span>
 <span class="Statement">\hfill\nom</span>
 <span class="Statement">\ifnum\arabic</span><span class="Special">{</span>page<span class="Special">}</span>=1 <span class="Statement">\thispagestyle</span><span class="Special">{</span>empty<span class="Special">}</span> <span class="Statement">\fi</span>
<span class="Special">}</span>

<span class="Statement">\endinput</span>
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->