68 lines
1.5 KiB
TeX
68 lines
1.5 KiB
TeX
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesClass{../easyLetter}[
|
|
2023/04/04 Small class based on 'lettre' to quickly write a letter (FR)]
|
|
|
|
\LoadClass[12pt,a4paper]{lettre}
|
|
|
|
% Langue
|
|
\RequirePackage[french]{babel}
|
|
\RequirePackage{csquotes}
|
|
\MakeOuterQuote{"}
|
|
|
|
% Police
|
|
\RequirePackage{fontspec}
|
|
\setmainfont[Numbers={Monospaced}]{Fira Sans}
|
|
\setmonofont{Fira Code}
|
|
|
|
% Retire la ligne ajoutée pour la séparation entête/corps de la lettre
|
|
\renewcommand*{\rule@length}{0}
|
|
|
|
% Titre
|
|
\newcommand*{\titre}[1]{\def\@title{#1}}
|
|
|
|
% Auteur
|
|
\newcommand*{\auteur}[1]{\def\@author{#1}}
|
|
|
|
% Sujet
|
|
\def\@subject{\,}
|
|
\newcommand*{\sujet}[1]{\def\@subject{#1}}
|
|
|
|
% Mot-clés
|
|
\def\@keywords{\,}
|
|
\newcommand*{\motscles}[1]{\def\@keywords{\if#1\empty\else, #1\fi}}
|
|
|
|
% Clickable links + metadata
|
|
\AtEndPreamble{
|
|
\RequirePackage[
|
|
pdfauthor={\@author},
|
|
pdftitle={\@title},
|
|
pdfsubject={\@subject},
|
|
pdfkeywords={\@author, lettre\@keywords},
|
|
pdfcreator={LaTeX with 'easyLetter' preset},
|
|
% Hide links
|
|
hidelinks
|
|
]{hyperref}
|
|
}
|
|
|
|
% Introduction
|
|
\newcommand{\ouverture}[1]{\def\@opening{#1}}
|
|
|
|
% Conclusion
|
|
\newcommand{\cloture}[1]{\def\@closing{#1}}
|
|
|
|
% Destinataire
|
|
\newcommand{\destinataire}[3]{\def\@receivername{#1}\def\@receiverAddress{#2}\def\@receiverCity{#3}}
|
|
|
|
% Contenu de la lettre
|
|
\newenvironment{easyLetter}{
|
|
\begin{letter}{
|
|
% Destinataire
|
|
\@receivername \\
|
|
\@receiverAddress \\
|
|
\textsc{\@receiverCity}
|
|
}
|
|
\conc{\@title}
|
|
\opening{\@opening}}{
|
|
\closing{\@closing}
|
|
\end{letter}
|
|
}
|