% !TeX encoding = UTF-8
% Ce fichier contient le code de l'extension "Modèles de factures belges pour les associations"
%

% Ex- facture-about.tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\rsfbvarname}      {Modèles de factures belges pour les associations}  %
\newcommand{\rsfbvarversion}   {1.0.1}                                               %
\newcommand{\rsfbvardate}      {2019/02/12}                                        %
\newcommand{\rsfbvarauthor}    {Robert Sebille, Rudy Cassart}                      %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Prefix = \rsfb                                                                   %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Author     : Robert Sebille, Rudy Cassart
% Status     : Maintained
% Email      : robert@sebille.name
% Package URL: https://www.ctan.org/pkg/modeles-factures-belges-associations
% Bug tracker: https://gitlab.adullact.net/zenjo/modeles-factures-belges-associations/issues
% Repository : https://gitlab.adullact.net/zenjo/modeles-factures-belges-associations/tree/master
% Copyright  : (c) Robert Sebille, Rudy Cassart 2018 - 
% Licence    : Released under the LaTeX Project Public License v1.3c
%              or later, see http://www.latex-project.org/lppl.txt
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Depend de calctab, fancyhdr, ifthen, eurosym, hyperref, multirow, color,  colortbl

\ProvidesPackage{modeles-factures-belges-associations}[\rsfbvardate\ \rsfbvarversion\ \rsfbvarauthor]
\NeedsTeXFormat{LaTeX2e}[1999/01/01]

% Chargement des extensions, déclaration des options, début chargement des commandes:
% informations meta (titres de tableau, par exemple)
% ex- facture-meta

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% PLACE OBLIGATOIRE DEBUT %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Chargement des extensions %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\RequirePackage{fontspec} 

%\RequirePackage{fontenc}

\RequirePackage[top=2 cm, bottom=2 cm, left=2.5 cm, right=2.5 cm]{geometry}
\RequirePackage{soul}
\RequirePackage{ulem}
\RequirePackage{eurosym}
\RequirePackage{lmodern}
\RequirePackage{color}
\RequirePackage{colortbl}
\RequirePackage[colorlinks=true, urlcolor=magenta]{hyperref}
\RequirePackage{mathtools}
\RequirePackage{amssymb}
\RequirePackage{mathrsfs}
\RequirePackage{multirow}
\RequirePackage{fancyhdr}
\RequirePackage{array}
\RequirePackage{ifthen}

\RequirePackage{calctab}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Déclaration des options %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newif\if@latinUn \@latinUnfalse
\DeclareOption{latin1}{\@latinUntrue}

%% \DeclareOption{option}{...}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{babel}}
\ProcessOptions

\RequirePackage{babel} 

\if@latinUn
    \RequirePackage{inputenc}
    \newcommand{\rsfbEncodage}{latin1}
\else
%    \RequirePackage[utf8]{inputenc}
    \newcommand{\rsfbEncodage}{UTF8}
\fi

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Définition des commandes  %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Toutes les commandes sont obligatoirement sous la forme \rsfbQuelqueChose %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Couleurs de mise en évidence
\definecolor{grisfonce}{gray}{0.3}
\definecolor{grisclair}{gray}{0.7}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \rsfbCredit permet d'ajouter les crédits dans le footer.
\pagestyle{fancy} 
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\newcommand{\rsfbCredit}{
\fancyfoot[EOC]{\footnotesize Extension \og \rsfbvarname \fg, V \rsfbvarversion, \rsfbvardate, \copyright\ \rsfbvarauthor.}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Titres du tableau d'adresses
\newcommand{\rsfbExpedition}[1]{\newcommand{\rsfbexpedition}{#1}}
\newcommand{\rsfbFacturation}[1]{\newcommand{\rsfbfacturation}{#1}}
\newcommand{\rsfbLivraison}[1]{\newcommand{\rsfblivraison}{#1}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Titres du tableau des produits
\newcommand{\rsfbNatureTableauProduits}[1]{\ctdescription{#1}}
\newcommand{\rsfbQuantiteTableauProduits}[1]{\ctheaderone{#1}}
\newcommand{\rsfbPuTableauProduits}[1]{\ctheadertwo{#1}}


%% + quelques autres paramètres utiles du tableau des produits:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Par défaut 2 décimales, c'est plutôt correct, non?
\newcommand{\rsfbNbDecimalesTableauProduits}[1]{\nprounddigits{#1}}
% Unité monétaire dans le header du tableau
\newcommand{\rsfbMonnaieTableauProduits}[1]{\ctcurrency{#1}}
% Et le mot "sur" ("on" en anglais)
\newcommand{\rsfbSurTableauProduits}[1]{\ctontraslation{#1}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% PLACE OBLIGATOIRE FIN %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%

% information atomiques (Monnaie, par exemple)
% ex- facture-atomes

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Facture & note de frais communs %%
%% permet de choisir l'unité monétaire ailleurs que dans le tableau 
%% des produits pour la facture  (package cactab).
%% \euro (defaut), \pounds (livre anglaise) \$ (dollar américain) \textyen (yen japonais)
%% Decomenter ci-dessous pour voir les unités
%%\$ \pounds \euro \textyen
\newcommand{\rsfbChoisirUniteMonetaire}[1]{\newcommand{\rsfbchoisirUniteMonetaire}{#1}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Facture & note de frais communs %%
%% \rsfbAerationVerticale fixe la longueur de l'espacement vertical, par defaut 1.5 cm
%% et permet d'aérer la page verticalement; le paramètre est une mesure LaTeX
%% TeX comprend six unités de mesure :
%% + pt point = 0,35 mm
%% + mm millimètre
%% + ex correspond à la hauteur d'un x dans la fonte courante
%% + em correspond à la largeur d'un m dans la fonte courante
%% + cm centimètre
%% + in pouce = 2,54 cm
\newlength{\rsfbespaceVertical}
\newcommand{\rsfbAerationVerticale}[1]{\setlength{\rsfbespaceVertical}{#1}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Entrée du compte bancaire créancier %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\newcommand{\rsfbCompteBancaireCrediteur}[1]{\newcommand{\rsfbcompteBancaireCrediteur}{#1}}
\newcommand{\rsfbCompteBancaireCreancier}[1]{\newcommand{\rsfbcompteBancaireCreancier}{#1}}


% tableaux et autres entités
% ex- facture-entites

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \rsfbNoDate Numéro et date de la facture %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\rsfbNoDate}[2]{
\newcommand{\rsfbmentionObligatoire}{#1}
\newcommand{\rsfbdateFacture}{#2}
\begin{center} 
\textcolor{grisfonce}{{\Huge Facture #1}\\ {\large  du #2}}
\end{center}
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Tableau des adresses, 3 adresses, DEBUT %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% les adresses expédition, facturation et livraison
%% \rsfbEnteteTableauAdresses ouvre l'entête du tableau des adresses; 
%% a n'utiliser qu'une seule fois dans le document principal.
\newcommand{\rsfbEnteteTableauAdresses}{
\noindent
\begin{tabular}{p{0.3\textwidth}p{0.3\textwidth}p{0.3\textwidth}}
\hline\\
\textcolor{grisfonce} {\emph{\rsfbexpedition{}}} & \textcolor{grisfonce}{\emph{\rsfbfacturation{}}} & \textcolor{grisfonce}{\emph{\rsfblivraison{}}} \\
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \rsfbLigneTableauAdresses{}{}{} entrée d'une ligne d'adresse, 
%% dans l'ordre expédition, facturation, livraison
\newcommand{\rsfbLigneTableauAdresses}[3]{#1 & #2 & #3 \\}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \rsfbPiedTableauAdresses ferme le pied du tableau des adresses; 
%% à n'utiliser qu'une seule fois dans le document principal.
\newcommand{\rsfbPiedTableauAdresses}{
\hline\\
\end{tabular}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Tableau d'adresses, 3 adresses, FIN %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \compteBancaireEtDateLimiteDePaiement: le n° de compte en banque et la date de paiement %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\rsfbCompteBancaireEtDateLimiteDePaiement}[2]{
\begin{flushright}
A payer au compte bancaire \emph{#1} avant le #2.\\
\end{flushright}
}



%%%%%%%%%%%%%%%%%%%%
%% Fin du package %%
%%%%%%%%%%%%%%%%%%%%
\endinput%
