easyLetter/easyLetter.cls

73 lines
1.6 KiB
OpenEdge ABL
Raw Normal View History

2023-04-04 16:00:42 +02:00
\NeedsTeXFormat{LaTeX2e}
2023-04-04 16:05:45 +02:00
\ProvidesClass{easyLetter}[2023/04/04 Small class based on 'lettre' to quickly write a letter]
2023-04-04 16:00:42 +02:00
\LoadClass[12pt]{lettre}
\AtEndPreamble{
2023-04-04 16:38:21 +02:00
% Encoding
2023-04-04 16:00:42 +02:00
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{lmodern}
2023-04-04 16:38:21 +02:00
% Language
2023-04-04 16:00:42 +02:00
\RequirePackage[french]{babel}
2023-04-04 16:38:21 +02:00
% Font
2023-04-04 16:00:42 +02:00
\RequirePackage{fontspec}
\setmainfont[Numbers={Monospaced}]{Fira Sans}
\setmonofont{Fira Code}
2023-04-04 16:38:21 +02:00
% Remove the extra line
2023-04-04 16:00:42 +02:00
\makeatletter
\newcommand*{\NoRule}{\renewcommand*{\rule@length}{0}}
\makeatother
\NoRule
2023-04-04 16:38:21 +02:00
% Clickable links + metadata
2023-04-04 16:00:42 +02:00
\RequirePackage[pdfauthor={\@author},
pdftitle={\@title},
pdfsubject={\@subject},
pdfkeywords={\@author, lettre\@keywords},
pdfcreator={LaTeX with 'easyLetter' preset},
2023-04-04 16:38:21 +02:00
% Hide links
2023-04-04 16:00:42 +02:00
hidelinks
]{hyperref}
}
2023-04-04 16:38:21 +02:00
% Title
2023-04-04 16:00:42 +02:00
\newcommand*{\titre}[1]{\def\@title{#1}}
2023-04-04 16:38:21 +02:00
% Author
2023-04-04 16:00:42 +02:00
\newcommand*{\auteur}[1]{\def\@author{#1}}
% Opening
\newcommand{\ouverture}[1]{\def\@opening{#1}}
% Closing
\newcommand{\cloture}[1]{\def\@closing{#1}}
% Subject
\def\@subject{\,}
\newcommand*{\sujet}[1]{\def\@subject{#1}}
% Keywords
\def\@keywords{\,}
\newcommand*{\motscles}[1]{\def\@keywords{\if#1\empty\else, #1\fi}}
% Receiver
\newcommand{\destinataire}[3]{\def\@receivername{#1}\def\@receiverAddress{#2}\def\@receiverCity{#3}}
% Letter content
\newenvironment{easyLetter}{
\begin{letter}{
% Destinataire
\@receivername \\
\@receiverAddress \\
\textsc{\@receiverCity}
}
\conc{\@title}
\opening{\@opening}}{
\closing{\@closing}
\end{letter}
}