diff options
author | Karl Berry <karl@freefriends.org> | 2018-11-17 22:24:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-11-17 22:24:58 +0000 |
commit | 8495bb56a351fcaad55f87fc47d026e1009cd065 (patch) | |
tree | 0a17b96ae587b2d677915f45535ba11ce150212a /Master/texmf-dist/doc/latex/modeles-factures-belges-assocs/documentation/modeles-factures-belges-associations-doc.tex | |
parent | ee49a12585f0a4521d33b2f5e49ea25763aee514 (diff) |
modeles-factures-belges-assocs (17nov18)
git-svn-id: svn://tug.org/texlive/trunk@49181 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/modeles-factures-belges-assocs/documentation/modeles-factures-belges-associations-doc.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/modeles-factures-belges-assocs/documentation/modeles-factures-belges-associations-doc.tex | 495 |
1 files changed, 495 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/modeles-factures-belges-assocs/documentation/modeles-factures-belges-associations-doc.tex b/Master/texmf-dist/doc/latex/modeles-factures-belges-assocs/documentation/modeles-factures-belges-associations-doc.tex new file mode 100644 index 00000000000..759520d0b0f --- /dev/null +++ b/Master/texmf-dist/doc/latex/modeles-factures-belges-assocs/documentation/modeles-factures-belges-associations-doc.tex @@ -0,0 +1,495 @@ +\documentclass[a4paper,10pt]{article} +%\usepackage[utf8x]{inputenc} +\usepackage{fontspec} +%\usepackage[T1]{fontenc} +\usepackage[french]{babel} + +%\usepackage{layout} +%\usepackage{geometry} +%\usepackage{setspace} +\usepackage{soul} +\usepackage{ulem} +\usepackage{eurosym} +%\usepackage{bookman} +%\usepackage{charter} +%\usepackage{newcent} +\usepackage{lmodern} +%\usepackage{mathpazo} +%\usepackage{mathptmx} +\usepackage[colorlinks=true, urlcolor=magenta]{hyperref} +%\usepackage{verbatim} +%\usepackage{moreverb} +\usepackage{listings} +%\usepackage{fancyhdr} +%\usepackage{wrapfig} +\usepackage{color} +\usepackage{colortbl} +%\usepackage{amsmath} +%\usepackage{amssymb} +%\usepackage{mathrsfs} +%\usepackage{amsthm} +%\usepackage{makeidx} +%\usepackage{multirow} +%\usepackage{graphicx} +\usepackage{calctab} +\usepackage{dtk-logos} + + +\author{\textsc{Sebille} Robert} +\date{\today} +\title{Modèles de factures belges pour les associations} + +\definecolor{grisfonce}{gray}{0.3} +\definecolor{grisclair}{gray}{0.7} + +\definecolor{gristresclair}{gray}{0.97} + +\lstset{ +basicstyle=\footnotesize, +numbers=none, +%numberstyle=\normalsize, +%numbersep=7pt, +breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace +breaklines=true, +backgroundcolor=\color{gristresclair}, +frame=single, +} + + +\begin{document} + +\maketitle + +\begin{abstract} +Documentation de l'extension \og Modèles de factures belges pour les associations \fg. L'extension comprend plusieurs modèles, disponibles dans les répertoires modeles/<nom-modele>/ et en général nommés article-<nom-modele>.tex. +\end{abstract} + + +\tableofcontents +\newpage + +\section{Généralités} + +\subsection{De quoi ai-je besoin pour créer une facture?} +\begin{itemize} + \item D'une distribution Texlive (ou équivalent) avec le paquet \og modeles-factures-belges-associations\ \fg installé; + \item du modele de facture que j'ai choisi, en général nommé \og article-<nom-modele>.tex\ \fg; + \item de manière préférable, d'un éditeur \LaTeX{} (mais ça peut fonctionner avec un éditeur texte normal) et de quelques connaissance de bases en \LaTeX{} + \item du compilateur \XeLaTeX{} +\end{itemize} + +\paragraph*{NB:} vous pouvez renommer le modèle de départ comme vous voulez, autant de fois que vous avez besoin de factures différentes; exemple: +\begin{enumerate} + \item article-<nom-modele>.tex $ \rightarrow $ facture-jean.tex; + \item article-<nom-modele>.tex $ \rightarrow $ facture-jeanne.tex; + \item article-<nom-modele>.tex $ \rightarrow $ facture-jules.tex; + \item etc. +\end{enumerate} + +\subsection{La déclaration \textbackslash usepackage[Arg]\{modeles-factures-belges-associations\}} + +\begin{lstlisting} +La déclaration \usepackage[Arg]{modeles-factures-belges-associations}, dans le préambule de <article-<nom-modele>.tex, doit comporter au moins 1 argument [Arg] de langue pour babel: french, english, etc. + +L'encodage par defaut pour \usepackage{inputenc} est UTF8, mais vous pouvez utiliser l'option [latin1] pour forcer l'encodage latin1. +\end{lstlisting} + + +\noindent +Exemples d'options pour \textbackslash usepackage[Arg]\{modeles-factures-belges-associations\}: + +\begin{lstlisting} +% retourne un encodage latin1 en français: +\usepackage[latin1, french]{modeles-factures-belges-associations} + +% retourne un encodage utf8 en français et anglais: +\usepackage[french, english]{modeles-factures-belges-associations} + +% retourne un encodage utf8 en français: +\usepackage[french]{modeles-factures-belges-associations} +\end{lstlisting} + +\subsection{Quelques unités monétaires courantes}% +\label{sub:unites_monetaire_courantes} + +Attention, le symbole \euro{} exige le package \textbackslash usepackage\{eurosym\}.% + +\begin{center}% +\begin{tabular}{|l|l|c|}% +\hline% +\rowcolor{grisclair} \textbf{Unité} & \textbf{Code} & \textbf{Résultat} \\% +\hline% +Euro & \textbackslash euro\{\} & \euro{} \\% +\hline% +Livre anglaise & \textbackslash pounds\{\} & \pounds{} \\% +\hline% +Dollar américain & \textbackslash \$\{\} & \${} \\% +\hline% +Yen japonais & \textbackslash textyen\{\} & \textyen{} \\% +\hline% +\end{tabular}% +\end{center}% + +\subsection{Les unités de longueurs}% +\label{sub:unites_longueurs} + +\begin{center}% +\begin{tabular}{|l|l|l|}% +\hline% +\rowcolor{grisclair} \textbf{Nom} & \textbf{Symbole} & \textbf{Valeur} \\% +\hline% +point & pt & 35 mm \\% +\hline% +millimètre & mm & millimètre \\% +\hline% +ex & ex & hauteur d'un \emph{x} dans la fonte courante \\% +\hline% +em & em & largeur d'un \emph{m} dans la fonte courante \\% +\hline% +centimètre & cm & centimètre \\% +\hline% +pouce & in & 2,54 cm \\% +\hline% +\end{tabular}% +\end{center}% + + +\subsection{Les abréviations de civilités}% +\label{sub:abreviations_civilites} + +\begin{center}% +\begin{tabular}{|l|l|l|}% +\hline% +\rowcolor{grisclair} \textbf{Unité} & \textbf{Code} & \textbf{Résultat} \\% +\hline% +madame & M\textbackslash up\{me\} & M\up{me}\\% +\hline% +mesdames & M\textbackslash up\{mes\} & M\up{mes}\\% +\hline% +mademoiselle & M\textbackslash up\{lle\} & M\up{lle}\\% +\hline% +mesdemoiselles & M\textbackslash up\{lles\} & M\up{lles}\\% +\hline% +maître & M\textbackslash up\{e\} & M\up{e}\\% +\hline% +maîtres & M\textbackslash up\{es\} & M\up{es}\\% +\hline% +monsieur & M. & M.\\% +\hline% +messieurs & MM. & MM.\\% +\hline% +\end{tabular}% +\end{center}% + + +\subsection{\'{E}crire les nombres en lettres en typographie française}% +\label{sub:ecrire_nombres_en_lettres} +Ce résumé est entièrement tiré de l'article \og \href{https://www.francaisfacile.com/exercices/exercice-francais-2/exercice-francais-53446.php}{ÉCRIRE LES NOMBRES EN LETTRES} \fg\ du site \href{https://www.francaisfacile.com/}{Francaisfacile.com}. Veuillez consulter ce site pour toute information complémentaire. + +\begin{itemize} + \item Les noms des nombres sont (presque tous) invariables en genre et en nombre. + \item Les nombres de 0 à 19 sont invariables; dix-sept, dix-huit, dix-neuf prennent un trait d’union; + \begin{itemize} + \item sauf zéro qui, si il est un nom, prend alors un \og s \fg\ au pluriel (exemple, s'écrire avec deux zéros). + \item Un s'accorde en genre (mais pas en nombre), y compris dans les nombres plus grands que 20. + \end{itemize} + \item Les nombres de 20 à 99; + \begin{itemize} + \item Les nombres composés jusqu'à cent prennent un trait d'union sauf lorsqu'il y a \og et \fg. + \item Cela vaut pour les particularismes: septante, septante et un, septante-deux. + \end{itemize} + \item Les nombres de 100 à 999; + \begin{itemize} + \item comme quatre-vingts, les multiples de cent prennent un \og s \fg; + \item pas de « s » à cent devant mille. + \end{itemize} + \item 1000 et après; + \begin{itemize} + \item mille est invariable. + \item million et milliard s'accordent au pluriel. + \end{itemize} + \item 1000 et après; + \begin{itemize} + \item Depuis la réforme de 1990, on peut mettre des traits d'union partout (cent soixante et onze $ \rightarrow $ cent-soixante-et-onze), excepté pour million et milliard. + \item On écrit deux cents millions, deux cents milliards mais deux cent mille (pas de \og s \fg\ à \og cent devant mille \fg). + \end{itemize} +\end{itemize} + +\section{Différences entre les modèles:} +Cette documentation correspond essentiellement au modèle basique. Les différences et spécificités propres aux différents modèles seront reprises dans leurs fichiers README-<nom-modele>.md, contenu dans leurs divers répertoires \og /modeles/<nom-modele>/\fg. +\paragraph*{Résultat des commandes (c.--à--d., les factures elle~même):} Vous pourrez les visualiser dans les fichiers articles-<nom-modele>.pdf, résultat des compilations de leurs équivalents .tex. Exemple: +\begin{enumerate} + \item article-basique.tex $ \rightarrow $ article-basique.pdf. + \item article-<autre-modele>.tex $ \rightarrow $ article-<autre-modele>.pdf. + \item etc. +\end{enumerate} + + + + +\section{Commandes} + +Comme vous le savez déjà, grâce à vos connaissance de base en \LaTeX{}, une commande dans ce langage ressemblera à \textbackslash NomCommande\{\} et une variable à \textbackslash nomVariable. Les variables contiennent des valeurs qui nous seront utiles, et les commandes serviront le plus souvent à simplifier les \og choses\ \fg pour construire la facture. + +Vous aurez peut~être remarqué aussi que toutes les commandes et variables de nos modèles débutent par \textbackslash rsfb\dots + +\begin{lstlisting} +\rsfbNomDeLaCommande{} +\rsfbnomDeLaVariable +\end{lstlisting} + +Il y a en effet vraiment peu de chance qu'une commande \LaTeX{} commence un jour par +un \textbackslash rsfb\dots, comme dans \og \emph{r}obert \emph{s}ebille \emph{f}actures \emph{b}elges \fg. \ +Les spécialistes pourront appeller cela une \og protection contre le manque d'espace de nommage en \LaTeX{}\ \fg; mais on n'est pas des spécialistes ;), continuons \ldots. + + +\subsection{Commandes en général} + +Dans le modèle basique, la commande suivante sert à donner au compilateur de facture le n\textsuperscript{o} de compte en banque où payer, ainsi qu'une date limite de paiement, et produira (alignée à droite dans ce modèle) le résultat suivant: \\ + +\og A payer au compte bancaire BEXX XXXX XXXX XXXX avant le JJ mois AAAA. \fg. \\ + +Elle sera présentée et documentée à l'intérieur du modèle, en générale de cette manière, prête à l'emploi: + +\begin{lstlisting} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Entrée du compte bancaire créditeur %% +%% et de la date limite de paiement. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% \compteBancaireEtDateLimiteDePaiement{n° compte}{JJ mois AAAA} +\rsfbCompteBancaireEtDateLimiteDePaiement{BE95 0011 8359 9858}{JJ mois AAAA} +\end{lstlisting} + +La plupart des entrées ressembleront à celle ci-dessus, ou seront expliquées de manière utilisables directement. \\ + +Certaines entrées demanderont une explication plus élaborée, c'est le cas du tableau des adresses (qui facture?, à qui?, lieu de livraison?) et de celui des produits (ce qu'on facture et combien); voici: + + +\subsection{Tableau des adresses: expédition, facturation, livraison} + +\emph{On ouvre l'entête du tableau des adresses:} +\begin{lstlisting} +% À n'utiliser qu'une seule fois; +% on sera bien avisé de ne pas toucher à cette commande. +\rsfbEnteteTableauAdresses{} +\end{lstlisting} + +Les titres du tableau (expédition, facturation, livraison) peuvent être modifiés via les commandes: +\begin{lstlisting} +%%%%%%%%%%%%%%%%%%%%% +%% Titres tableaux %% +%%%%%%%%%%%%%%%%%%%%% +%% Titres du tableau d'adresses; utile si utilisé, le plus fréquent +\rsfbExpedition{Expedition} +\rsfbFacturation{Facturation} +\rsfbLivraison{Livraison} +\end{lstlisting} + + +La monnaie du tableau (\euro{} \${} \pounds{} \textyen{}) peut être modifiée via la commande: +\begin{lstlisting} +% Unité monétaire dans les titres du tableau +\rsfbMonnaieTableauProduits{\euro} +\end{lstlisting} + +\paragraph{Entrée d'une ligne d'adresses:} \emph{C'est la commande la plus complexe du modèle, c'est pourquoi elle est illustrée par plusieurs exemples, aussi bien dans ce document que dans le modèle.} + +\begin{lstlisting} +% Syntaxe +\rsfbLigneTableauAdresses{itemAdresseExpedition}{itemAdresseFacturation}{itemAdresseLivraison} +\end{lstlisting} + +\begin{itemize} + \item Il y a 3 types d'adresses: adresse d'expédition; adresse de facturation; adresse de livraison. + \item Elles sont présentées en tableau, dans l'ordre décrit ci-dessous. + \item Chaque argument de la commande reprend un élément d'une adresse. +\end{itemize} + +\emph{Voici un 1\up{er} exemple simple:} +\begin{lstlisting} +\rsfbLigneTableauAdresses{Prénom \textsc{Nom}}{\textsc{Org 1}}{\textsc{Org 2}} +\rsfbLigneTableauAdresses{}{Nom organisation 1}{Nom organisation 2} +\rsfbLigneTableauAdresses{N\up{o} 1, rue Delarue1}{N\up{o} 2, rue Delarue2}{N\up{o} 3, rue Delarue3} +\rsfbLigneTableauAdresses{\textsc{CCC1 Ville1}}{\textsc{CCC2 Ville2}}{\textsc{CCCC Ville3}} +\end{lstlisting} + +qui donnera un résultat semblable au tableau ci-dessous: +\begin{flushleft} +\begin{tabular}{p{0.3\textwidth}p{0.3\textwidth}p{0.3\textwidth}} +\hline + Prénom \textsc{Nom} & \textsc{Org 1} & \textsc{Org 2}\\ + Nom organisation 1 & Nom organisation 2 & \\ + N\up{o} 1, rue Delarue1 & N\up{o} 2, rue Delarue2 & N\up{o} 3, rue Delarue3\\ + \textsc{CCC1 Ville1} & \textsc{CCC2 Ville2} & \textsc{CCC3 Ville3}\\ +\hline +\end{tabular} +\end{flushleft} + + +\emph{Voici un 2\up{e} exemple complexe (avec des lignes vides);} c'est celui qui est compilé par défaut dans \og article-facture.pdf \fg. +\begin{lstlisting} +\rsfbLigneTableauAdresses{Prénom \textsc{Nom}}{ \textsc{Fbg}~\textsc{Bgf}}{Voir facturation} +\rsfbLigneTableauAdresses{}{Fédération belge de gong}{} +\rsfbLigneTableauAdresses{}{Belgische gong federatie}{} +\rsfbLigneTableauAdresses{N\up{o}, rue Delarue1}{DelarueStraat, no}{} +\rsfbLigneTableauAdresses{\textsc{CCC1 Ville1}}{\textsc{CCC2 Ville2}}{} +\rsfbLigneTableauAdresses{\href{mailto:user@domain.tld}{user@domain.tld}}{\textsc{(Entité)}}{} +\rsfbLigneTableauAdresses{+32 684 037 078}{}{} +\end{lstlisting} + +qui donnera un résultat semblable au tableau ci-dessous: +\begin{flushleft} +\begin{tabular}{p{0.3\textwidth}p{0.3\textwidth}p{0.3\textwidth}} +\hline + \emph{Expédition} & \emph{Facturation} & \emph{Livraison} \\ + Prénom \textsc{Nom} & \textsc{Fbg Bgf} & Voir facturation \\ + & Fédération belge de gong & \\ + & Belgische gong federatie & \\ + N o , rue Delarue1 & DelarueStraat, no & \\ + CCC1 Ville1 & CCC1 Ville1 & \\ + \href{mailto:user@domain.tld}{user@domain.tld} & (Entité) & \\ + +32 684 037 078 & & \\ +\hline +\end{tabular} +\end{flushleft} + + +\emph{Et un 3\up{e}, si ça vous intéresse, un exemple avec des lignes vides:} +\begin{lstlisting} +\rsfbLigneTableauAdresses{}{}{} +\rsfbLigneTableauAdresses{}{}{} +\rsfbLigneTableauAdresses{}{}{} +\rsfbLigneTableauAdresses{}{}{} +\end{lstlisting} +qui ne donne évidemment, tel quel, aucun résultat. + + +\emph{Enfin, on ferme le pied du tableau des adresses:} +\begin{lstlisting} +% À n'utiliser qu'une seule fois; +% on sera bien avisé de ne pas toucher à cette commande. +\rsfbPiedTableauAdresses{} +\end{lstlisting} + +\subsection{Tableau des produits, avec le package calctab} + +On ne va pas réinventer le monde, mais simplement réutiliser les commandes +simples et efficaces du package calctab, dans son environnement xcalctab. Voici tel quel un extrait de article-basique.tex + + +\begin{lstlisting} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Tableau des produits, avec le package calctab, %% +%% on choisit xcalctab, DEBUT %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% On ne va pas réinventer le monde, mais simplement +%% réutiliser les commandes simples et efficaces du +%% package calctab, dans son environnement xcalctab + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Ensuite le tableau des produits avec nature, +%% quantité, coût et TVA + +% On ouvre l'environnement xcalctab +\begin{xcalctab} +%% calctab est en police police sans empattements +%% (sf, pour sans serif), +%% on remet en normalfont de ce document +\normalfont +%% On ajoute des produits +% \amount{nature}{quantité}{prix unitaire} +%% si amount comporte un id comme ci-dessous, +%% on pourra lui appliquer une remise (-) (ou une taxe (+)) +%% avec la commande \perc[identificateur]{Intitulé}{+/-pourcentage} +%% une id s'écrit ainsi: [id=identificateur] identificateur = 1 seul mot entier! +% \amount[id=identificateur]{nature}{quantité}{prix unitaire} +%% Simple, non? + +% produits (avec ou sans id) +\amount[id=un]{Produit Un}{5}{100,20} +\amount[id=deux]{Produit Deux}{2}{1000,40} +\amount[id=trois]{Produit Trois}{1}{500,0} +% Le champ addition des prix hors tva, peut avoir sa propre id +\add[id=phtva,un,deux,trois]{Prix HTVA} + +% TVA, idem: +\perc[id=tva6,un]{TVA}{6} +\perc[id=tva21,deux,trois]{TVA}{21} + +% Grand total: +\add[phtva,tva6,tva21]{Total} + +% On ferme l'environnement xcalctab +\end{xcalctab} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Tableau des produits, avec le package calctab, FIN %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\end{lstlisting} + + +\paragraph{Et ci-dessous, le résultat:} le tableau des produits, avec le package calctab. + +\emph{Les totaux sont calculés automatiquement!} + +\ctcurrency{\euro} +\ctdescription{Nature} +\ctontraslation{sur} +\ctheaderone{Quantité} +\ctheadertwo{Prix unit.} + + +\begin{xcalctab} +\normalfont +\amount[id=un]{Produit Un}{5}{100,20} +\amount[id=deux]{Produit Deux}{2}{1000,40} +\amount[id=trois]{Produit Trois}{1}{500,0} +\add[id=phtva,un,deux,trois]{Prix HTVA} + +\perc[id=tva6,un]{TVA}{6} +\perc[id=tva21,deux,trois]{TVA}{21} + +% Grand total: +\add[phtva,tva6,tva21]{Total} + +% On ferme l'environnement xcalctab +\end{xcalctab} + + +\subsection{Un texte libre sous le tableau des produits} + +Enfin, sous le tableau des produits, un espace où vous pouvez exprimer du texte libre, \ldots + +\begin{lstlisting} +%%%%%%%%%%%%%%%%%%%%%%%%% +%% Texte libre, DEBUT. %% +%%%%%%%%%%%%%%%%%%%%%%%%% + +\paragraph*{Description du produit:} + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla rhoncus est ac viverra lacinia. Etiam pulvinar tempus rutrum. Maecenas vel metus metus. + +\paragraph*{\'{E}tendue des fournitures:} +\begin{itemize} + \item La livraison du produit Un s'étend sur 5 semaines, du JJ/MM/AAAA au JJ/MM/AAAA, 1 quantité par semaine; + \item La livraison des produits Deux \& Trois s'étend sur 2 mois, du JJ/MM/AAAA au JJ/MM/AAAA, 1 quantité par semaine. +\end{itemize} + +%%%%%%%%%%%%%%%%%%%%%%% +%% Texte libre, FIN. %% +%%%%%%%%%%%%%%%%%%%%%%% +\end{lstlisting} + +et qui donnerait ceci: \\ + +\paragraph*{Description du produit:} + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla rhoncus est ac viverra lacinia. Etiam pulvinar tempus rutrum. Maecenas vel metus metus. + +\paragraph*{\'{E}tendue des fournitures:} +\begin{itemize} + \item La livraison du produit Un s'étend sur 5 semaines, du JJ/MM/AAAA au JJ/MM/AAAA, 1 quantité par semaine; + \item La livraison des produits Deux \& Trois s'étend sur 2 mois, du JJ/MM/AAAA au JJ/MM/AAAA, 1 quantité par semaine. +\end{itemize} + + +\end{document} |