diff options
-rw-r--r-- | Master/texmf-dist/doc/xelatex/facture/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/facture/exemple.pdf | bin | 22310 -> 23421 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/facture/exemplesansTVA.pdf | bin | 18762 -> 19457 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/facture/exemplesansremise.pdf | bin | 0 -> 22988 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/facture/exemplesansremise.tex | 35 | ||||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/facture/facture.pdf | bin | 93186 -> 95365 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/facture/makefile | 9 | ||||
-rw-r--r-- | Master/texmf-dist/source/xelatex/facture/facture.dtx | 184 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/facture/facture.cls | 107 |
9 files changed, 289 insertions, 48 deletions
diff --git a/Master/texmf-dist/doc/xelatex/facture/README b/Master/texmf-dist/doc/xelatex/facture/README index ad40f89a105..439a0f102f7 100644 --- a/Master/texmf-dist/doc/xelatex/facture/README +++ b/Master/texmf-dist/doc/xelatex/facture/README @@ -2,6 +2,6 @@ Classe XeLaTeX de facture, sous licence Créative Commons - partage des conditio http://creativecommons.org/licenses/by-sa/2.0/fr/ -La documentation se situe dans le fichier PDF généré lors de la compilation XELATEX du fichier .dtx +La documentation se situe dans le fichier PDF généré lors de la compilation XeLaTeX du fichier .dtx Pour tout demande de corrections ou d'améliorations, merci d'ouvrir un ticket sur Github : https://github.com/maieul/facture/issues.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/xelatex/facture/exemple.pdf b/Master/texmf-dist/doc/xelatex/facture/exemple.pdf Binary files differindex c5900a1193a..8f7738641ff 100644 --- a/Master/texmf-dist/doc/xelatex/facture/exemple.pdf +++ b/Master/texmf-dist/doc/xelatex/facture/exemple.pdf diff --git a/Master/texmf-dist/doc/xelatex/facture/exemplesansTVA.pdf b/Master/texmf-dist/doc/xelatex/facture/exemplesansTVA.pdf Binary files differindex a092e0d7ab2..4f5cfac4a36 100644 --- a/Master/texmf-dist/doc/xelatex/facture/exemplesansTVA.pdf +++ b/Master/texmf-dist/doc/xelatex/facture/exemplesansTVA.pdf diff --git a/Master/texmf-dist/doc/xelatex/facture/exemplesansremise.pdf b/Master/texmf-dist/doc/xelatex/facture/exemplesansremise.pdf Binary files differnew file mode 100644 index 00000000000..376ec4bf9f5 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/facture/exemplesansremise.pdf diff --git a/Master/texmf-dist/doc/xelatex/facture/exemplesansremise.tex b/Master/texmf-dist/doc/xelatex/facture/exemplesansremise.tex new file mode 100644 index 00000000000..93778fa08af --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/facture/exemplesansremise.tex @@ -0,0 +1,35 @@ +\documentclass[sansremise]{facture} +\usepackage{lipsum} +\usepackage[top=2 cm, bottom=2 cm, left=1.5 cm, right=2.5 cm]{geometry} +\setmainfont[Mapping=tex-text]{Linux Libertine O} +\datelimite{30} +\dest{Client\\ +Dans telle rue\\ +CP VILLE +} +\fact{Client facturé +Dans telle rue\\ +CP VILLE\\ +} +\nomemet{Entreprise} +\adresseemet{Adresse\\ +CP Ville\\ +courriel@domaine.tld \\ +Tel : 01 23 45 67 89 \\ +} +\codedest{Ent} +\numero{24} +\type{Devis} +\pied{Payable à l’ordre de XXXX --- +SIRET : XXXX +} +\begin{document} +\entete + +\begin{facture} +\ligne{Produit 1}[2]{25}[5,5] +\ligne{Produit 2}{10} +\end{facture} + +\lipsum[1-6] +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/xelatex/facture/facture.pdf b/Master/texmf-dist/doc/xelatex/facture/facture.pdf Binary files differindex 13dfbcd76f4..91fab605c11 100644 --- a/Master/texmf-dist/doc/xelatex/facture/facture.pdf +++ b/Master/texmf-dist/doc/xelatex/facture/facture.pdf diff --git a/Master/texmf-dist/doc/xelatex/facture/makefile b/Master/texmf-dist/doc/xelatex/facture/makefile index 5132211b304..d34366b6cfd 100644 --- a/Master/texmf-dist/doc/xelatex/facture/makefile +++ b/Master/texmf-dist/doc/xelatex/facture/makefile @@ -1,7 +1,11 @@ .PHONY:all clean -all:facture.pdf exemple.pdf exemplesansTVA.pdf - zip facture.zip facture.ins facture.dtx *pdf README makefile *.tex +all:facture.pdf exemple.pdf exemplesansTVA.pdf exemplesansremise.pdf + rm -f ../facture.zip + rm -rf facture + mkdir facture + ln *pdf *ins *dtx *cls *tex README makefile facture + zip -r ../facture.zip facture @@ -19,4 +23,5 @@ facture.pdf:facture.cls facture.dtx clean: rm -f *out *aux *log *pdf *glo *zip *cls *ilg *idx *gls *toc + rm -rf facture diff --git a/Master/texmf-dist/source/xelatex/facture/facture.dtx b/Master/texmf-dist/source/xelatex/facture/facture.dtx index a4f6c637ef9..094413bb823 100644 --- a/Master/texmf-dist/source/xelatex/facture/facture.dtx +++ b/Master/texmf-dist/source/xelatex/facture/facture.dtx @@ -1,5 +1,7 @@ % \iffalse meta-comment -% Droits d'auteur : Maïeul Rouquette 2011-2014 +% Droits d'auteur : +% - Maïeul Rouquette 2011-2014 +% - Joël Gombin 2014 % Licence Creative Commons - Paternité -Partage des Conditions Initiales à l'identique % http://creativecommons.org/licenses/by-sa/2.0/fr/ % \fi @@ -13,21 +15,32 @@ \usepackage{hyperref} \usepackage{csquotes} \usepackage{bidi} +% Pour l'impression du changement +\makeatletter + \def\glossary@prologue{% + \section{Historique des changements}% + } +\makeatother \EnableCrossrefs \RecordChanges +% Pour les renvois internes +\newcommand{\renvoi}[1]{voir section~\ref{#1} p.~\pageref{#1}} \begin{document} \raggedbottom \DocInput{facture.dtx} \end{document} %</driver> %\fi -% \CheckSum{453} -% \changes{v1.0}{2011/09/10}{Première version} -% \changes{v.1.1}{2011/09/13}{Laisser le choix de la marge à l'utilisateur} -% \GetFileInfo{facture.dtx} -%\changes{v1.1.2}{2014/09/16}{Possibilité de modifier la taille du tableau.} -% \title{La class \textsf{facture}\thanks{Ce document correspond à la version~1.2 de \textsf{facture}, datée du~16/09/2014.}} -%\author{Maïeul Rouquette} +% \CheckSum{527} +% \changes{v1.0}{2011/09/10}{Première version} +% \changes{v1.1}{2014/09/16}{Laisser le choix de la marge à l'utilisateur} +% \changes{v1.1}{2014/09/16}{Possibilité de modifier la taille du tableau.} +% \changes{v1.2}{2015/01/16}{Possibilité de produire des factures sans la colonne remise.} +% \def\filedate{16/01/2015} +% \def\fileversion{1.2} +% \date{\filedate} +% \title{La class \textsf{facture}\thanks{Ce document correspond à la version~\fileversion de \textsf{facture} datée du \filedate.}} +%\author{Maïeul Rouquette et Joël Gombin} %\maketitle %\begin{abstract} %Cette classe permet de rédiger factures et devis, avec ou sans TVA, en calculant automatiquement les sommes. @@ -52,10 +65,12 @@ %\documentclass{facture} %\end{verbatim} % -%Permet de générer une facture avec TVA. Celle-ci est définie par défaut à 19,6~\%, mais il est possible de modifier le taux, grâce à la commande \DescribeMacro{\TVAdefaut}\cmd{\TVAdefaut}\marg{taux}. Par exemple pour avoir un taux de 5,5~\% : +% Permet de générer une facture avec TVA. Celle-ci est définie par défaut à 19,6~\%, mais il est possible de modifier le taux, grâce à la commande \DescribeMacro{\TVAdefaut}\cmd{\TVAdefaut}\marg{taux}. Par exemple pour avoir un taux de 5,5~\% : %\begin{verbatim} %\TVAdefaut{5,5} %\end{verbatim} +% \subsection{Avec ou sans remise ?}\label{remise} +% Une option \verb|sansremise| permet de produire des factures sans gestion des remises. %\subsection{Information sur document} %Cette classe permet de fabriquer des factures et des devis. Par défaut, elle fabrique des factures. La commande \DescribeMacro{\type}\cmd{\type}\marg{type} permet d'indiquer si on souhaite fabriquer une facture ou autre chose : %\begin{verbatim} @@ -88,8 +103,8 @@ %\meta{produit} est le nom du produit. %\meta{quantité} est la quantité souhaitée. Le nombre peut être entier ou décimal. En l'absence de cet argument, on suppose que le produit n'est présent qu'une fois. %\meta{prix unitaire HT} n'est pas à décrire. -%\meta{remise}s'applique sur le prix total HT. -%\meta{taux de TVA}: si un produit n'a pas le même taux que celui par défaut (\emph{cf}.~section~\ref{TVA}), cet argument permet d'indiquer le taux. Il est exprimé en pourcentage, mais sans le signe \%. +%\meta{remise} s'applique sur le prix total HT. +%\meta{taux de TVA}: si un produit n'a pas le même taux que celui par défaut (\renvoi{TVA}), cet argument permet d'indiquer le taux. Il est exprimé en pourcentage, mais sans le signe \%. % % %Tout les nombres décimaux s'expriment en utilisant la virgule, même si l'usage du point fonctionne également. @@ -103,13 +118,15 @@ %\end{facture} %\end{verbatim} % -% Dans le cas où l'option \verb|sansTVA| (\emph{cf}. section~\ref{TVA}) a été passée lors de l'appel à la classe, les colonnes ne sont pas les mêmes. Exemple (voir le fichier \href{exemplesansTVA.pdf}{exemplesansTVA.pdf} pour le résultat): +% Dans le cas où l'option \verb|sansTVA| (\renvoi{TVA}) a été passée lors de l'appel à la classe, les colonnes ne sont pas les mêmes. Exemple (voir le fichier \href{exemplesansTVA.pdf}{exemplesansTVA.pdf} pour le résultat): %\begin{verbatim} %\begin{facture} %\ligne{Produit 1}[2]{25} %\ligne{Produit 2}{10}[][2] %\end{facture} %\end{verbatim} +% +% Si l'option \verb|sansremise| a été passée lors de l'appel à la classe, le quatrième argument de la colonne correspond au taux de TVA. %\subsection{Texte en dessous des totaux} % Dans le cas d'une facture sans TVA, l'environnement \emph{facture} indique le texte \enquote{TVA non applicable, art. 293 B}. Il est possible de modifier ce texte, ou d'en ajouter un pour les documents avec TVA, en redéclarant la commande \DescribeMacro{\postTotaux}\cmd{\postTotaux}\marg{texte}. %\begin{verbatim} @@ -118,22 +135,23 @@ %\section{Personnalisation} % Plusieurs possibilités de personnalisation existent, en redéfinissant des commandes et/ou des couleurs. J'invite à lire le code pour savoir lesquels. %\begin{itemize} -%\item Pour les couleurs, les traits et les mise en valeurs des textes, voir section~\ref{apparence}. -%\item Pour les réglages concernant les mathématiques (arrondis par exemple), voir section~\ref{math}. -%\item Pour les textes, voir section~\ref{texte}. -%\item Pour le pieds de page, voir section~\ref{pied}. -%\item Pour l'affichage de la TVA, voir section~\ref{afficheTVA} p.~\pageref{afficheTVA} -%\item Pour la largeur des colonnes du tableau, voir section~\ref{largeurCols}. +%\item Pour les couleurs, les traits et les mise en valeurs des textes, \renvoi{apparence}. +%\item Pour les réglages concernant les mathématiques (arrondis par exemple), \renvoi{math}. +%\item Pour les textes, \renvoi{texte}. +%\item Pour le pieds de page, \renvoi{pied}. +%\item Pour l'affichage de la TVA, \renvoi{afficheTVA}. +%\item Pour la largeur des colonnes du tableau, \renvoi{largeurCols}. %\end{itemize} % %Pour personnaliser la taille du papier et celle des marges, on peut utiliser le package \emph{geometry}. %\StopEventually{} +%\appendix% %\section{Documentation du code} %\subsection{Chargement des packages} %<*facture> % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{facture}[2011/09/10 v1.0] +\ProvidesClass{facture}[16/01/2015 v1.2] \LoadClass[a4paper]{article}%On se base sur la classe article \RequirePackage{fontspec} \RequirePackage{xunicode} @@ -150,11 +168,23 @@ \RequirePackage{advdate}%Pour manipuler les dates \RequirePackage{xargs}%Pour des arguments conditionnels % \end{macrocode} +%\subsection{Option sansreduction} +% \begin{macrocode} +\newif\ifsansreduction +\DeclareOption{sansreduction}{\sansreductiontrue} +% \end{macrocode} %\subsection{Option sansTVA} % \begin{macrocode} \newif\ifsansTVA -\sansTVAfalse \DeclareOption{sansTVA}{\sansTVAtrue} +% \end{macrocode} +%\subsection{Option sansremise} +% \begin{macrocode} +\newif\ifsansremise +\DeclareOption{sansremise}{\sansremisetrue} +% \end{macrocode} +%\subsection{Exécution des options} +% \begin{macrocode} \ProcessOptions % \end{macrocode} %\subsection{Apparence}\label{apparence} @@ -183,7 +213,7 @@ \newcommand{\remise}{Remise} \newcommand{\unite}{€} % \end{macrocode} -%\subsubsection{Dépend du réglage sur la TVA (\emph{cf}.~section~\ref{TVA})} +%\subsubsection{Dépend du réglage sur la TVA (\renvoi{TVA})} % \begin{macrocode} \ifsansTVA% \newcommand{\tottxt}{Total} @@ -224,7 +254,7 @@ \def\@type{\facturetxt} % \end{macrocode} %\subsection{Méta-données} -%Toutes ces commandes sont appelées par l'utilisateurs au tout début (\emph{cf}.~section~\ref{meta}). La plupart stockent dans une commande commençant par @ le code qui est passé. +%Toutes ces commandes sont appelées par l'utilisateurs au tout début (\renvoi{meta}). La plupart stockent dans une commande commençant par @ le code qui est passé. % \begin{macrocode} \renewcommand{\date}[1]{\SetDate[#1]} \newcommand{\TVAdefaut}[1]{\def\@TVAdefaut{#1}} @@ -284,7 +314,7 @@ \begin{tikzpicture} % \end{macrocode} % -%Ensuite afficher les informations sur le destinataire. Des tests permettent d'afficher ou non la livraison séparement de la facture, en fonction de ce qu'a défini l'utilisateur (\emph{cf}.~section~\ref{dest}). +%Ensuite afficher les informations sur le destinataire. Des tests permettent d'afficher ou non la livraison séparement de la facture, en fonction de ce qu'a défini l'utilisateur (\renvoi{dest}). % \begin{macrocode} @@ -348,13 +378,76 @@ \setlength{\tabcolsep}{0.5em} \arrayrulecolor{encadre} \ifsansTVA% - \begin{longtable}{|p{\largeurDescriptif}|P{\largeurChiffres}|P{\largeurChiffres}|P{\largeurChiffres}|P{\largeurChiffres}|}% - \hline% - \rowcolor{entetes}\centering\textbf\produit & \centering\textbf\quantite & \centering\textbf\prixtxt & \centering\textbf\remise & \centering\textbf\tottxt \tabularnewline[1ex]% + \ifsansremise% + \begin{longtable}{% + |p{\largeurDescriptif}%Descriptif + |P{\largeurChiffres}%Qt + |P{\largeurChiffres}%Prix + |P{\largeurChiffres}|%Total + }% + \hline% + \rowcolor{entetes}% + \centering\textbf\produit &% + \centering\textbf\quantite &% + \centering\textbf\prixtxt &% + \centering\textbf\tottxt% + \tabularnewline[1ex]% + \else% + \begin{longtable}{% + |p{\largeurDescriptif}%Descriptif + |P{\largeurChiffres}%Qt + |P{\largeurChiffres}%Prix + |P{\largeurChiffres}%Remise + |P{\largeurChiffres}|%Total + }% + \hline% + \rowcolor{entetes}% + \centering\textbf\produit &% + \centering\textbf\quantite &% + \centering\textbf\prixtxt &% + \centering\textbf\remise &% + \centering\textbf\tottxt% + \tabularnewline[1ex]% + \fi% \else% - \begin{longtable}{|p{\largeurDescriptif}|P{\largeurChiffresAvecTVA}|P{\largeurChiffresAvecTVA}|P{\largeurChiffresAvecTVA}|P{\largeurChiffresAvecTVA}|P{\largeurChiffres}|P{\largeurChiffresAvecTVA}|}% - \hline% - \rowcolor{entetes}\centering\textbf\produit & \centering\textbf\quantite & \centering\textbf\prixHT & \centering\textbf\remise & \centering\textbf\totHTtxt & \centering\textbf\TVAtxt & \textbf\prixTTC \tabularnewline[1ex]% + \ifsansremise% + \begin{longtable}{% + |p{\largeurDescriptif}|%Descriptif + P{\largeurChiffresAvecTVA}|%Qt + P{\largeurChiffresAvecTVA}|%HT unitaire + P{\largeurChiffresAvecTVA}|%Totalht + P{\largeurChiffresAvecTVA}|%TVA + P{\largeurChiffresAvecTVA}|%Total TTC + }% + \hline% + \rowcolor{entetes} + \centering\textbf\produit &% + \centering\textbf\quantite &% + \centering\textbf\prixHT &% + \centering\textbf\totHTtxt &% + \centering\textbf\TVAtxt &% + \textbf\prixTTC \tabularnewline[1ex]% + + \else% + \begin{longtable}{% + |p{\largeurDescriptif}|%Descriptif + P{\largeurChiffresAvecTVA}|%Qt + P{\largeurChiffresAvecTVA}|%HT unitaire + P{\largeurChiffresAvecTVA}|%Remise + P{\largeurChiffresAvecTVA}|%Totalht + P{\largeurChiffresAvecTVA}|%TVA + P{\largeurChiffresAvecTVA}|%Total TTC + }% + \hline% + \rowcolor{entetes} + \centering\textbf\produit &% + \centering\textbf\quantite &% + \centering\textbf\prixHT &% + \centering\textbf\remise &% + \centering\textbf\totHTtxt &% + \centering\textbf\TVAtxt &% + \textbf\prixTTC \tabularnewline[1ex]% + \fi% \fi% \endhead% \endfoot% @@ -384,11 +477,18 @@ } % \end{macrocode} %\end{environment} -% On a besoin de définir une commande \cmd{\lignesansTVA} pour afficher le contenu d'une ligne lorsqu'on n'a pas de TVA. En effet, dès qu'on change de cellule, les tests conditionnels sont perdus. +% On a besoin de définir une commande \cmd{\lignesansTVA} pour afficher le contenu d'une ligne lorsqu'on n'a pas de TVA. % \begin{macrocode} -\newcommand{\lignesansTVA}[5]{#1 & #2 & #3 & #4 & #5 \tabularnewline[1ex]} +\newcommand{\lignesansTVA}[5]{ + #1 & + #2 & + #3 & + \unless\ifsansremise + #4 & + \fi + #5 \tabularnewline[1ex]} % \end{macrocode} -%La commande \cmd{\afficheTVA} sert à afficher la TVA dans le tableau. En ne l'indiquant pas directement dans le code de \cmd{\ligne}, on permet de personnaliser plus facilement l'affichage de la TVA. \label{afficheTVA} +% La commande \cmd{\afficheTVA} sert à afficher la TVA dans le tableau. En ne l'indiquant pas directement dans le code de \cmd{\ligne}, on permet de personnaliser plus facilement l'affichage de la TVA. \label{afficheTVA} % \begin{macrocode} \newcommand{\afficheTVA}[1]{\raggedleft{\numprint[\%]{#1}} \hfill $\triangleright$ \numprint[\unite]{\TVA}} @@ -411,12 +511,18 @@ \else % Prix hors taxe \fpMul{\HT}{#3}{#2}% - \fpSub{\HT}{\HT}{#4}% + \unless\ifsansremise% + \fpSub{\HT}{\HT}{#4}% + \fi% \xdef\HT{\HT}%retenons \fpAdd{\totHT}{\totHT}{\HT}% \xdef\totHT{\totHT}% % Calcul de la TVA - \fpDiv{\centieme}{#5}{100}% + \ifsansremise% + \fpDiv{\centieme}{#4}{100}% + \else% + \fpDiv{\centieme}{#5}{100}% + \fi \fpMul{\TVA}{\centieme}{\HT}% \xdef\TVA{\TVA}%retenons \fpAdd{\totTVA}{\totTVA}{\TVA}% @@ -427,7 +533,15 @@ \fpAdd{\totTTC}{\totTTC}{\TTC}% \xdef\totTTC{\totTTC}% % Affichage - #1 & #2 & \numprint[\unite]{#3} & \numprint[\unite]{#4} & \numprint[\unite]{\HT} & \afficheTVA{#5} & \numprint[\unite]{\TTC} \tabularnewline[1ex]% + #1 & + #2 & + \numprint[\unite]{#3} & + \unless\ifsansremise + \numprint[\unite]{#4} & + \fi + \numprint[\unite]{\HT} & + \afficheTVA{#5} & + \numprint[\unite]{\TTC} \tabularnewline[1ex]% \fi \hline } diff --git a/Master/texmf-dist/tex/xelatex/facture/facture.cls b/Master/texmf-dist/tex/xelatex/facture/facture.cls index 5d4a9da116e..3616a6be70f 100644 --- a/Master/texmf-dist/tex/xelatex/facture/facture.cls +++ b/Master/texmf-dist/tex/xelatex/facture/facture.cls @@ -11,7 +11,7 @@ %% http://creativecommons.org/licenses/by-sa/2.0/fr/ %% \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{facture}[2011/09/10 v1.0] +\ProvidesClass{facture}[16/01/2015 v1.2] \LoadClass[a4paper]{article}%On se base sur la classe article \RequirePackage{fontspec} \RequirePackage{xunicode} @@ -27,9 +27,12 @@ \RequirePackage{colortbl} \RequirePackage{advdate}%Pour manipuler les dates \RequirePackage{xargs}%Pour des arguments conditionnels +\newif\ifsansreduction +\DeclareOption{sansreduction}{\sansreductiontrue} \newif\ifsansTVA -\sansTVAfalse \DeclareOption{sansTVA}{\sansTVAtrue} +\newif\ifsansremise +\DeclareOption{sansremise}{\sansremisetrue} \ProcessOptions \definecolor{entetes}{HTML}{888888} \definecolor{encadre}{RGB}{111,111,111} @@ -150,13 +153,76 @@ \setlength{\tabcolsep}{0.5em} \arrayrulecolor{encadre} \ifsansTVA% - \begin{longtable}{|p{\largeurDescriptif}|P{\largeurChiffres}|P{\largeurChiffres}|P{\largeurChiffres}|P{\largeurChiffres}|}% + \ifsansremise% + \begin{longtable}{% + |p{\largeurDescriptif}%Descriptif + |P{\largeurChiffres}%Qt + |P{\largeurChiffres}%Prix + |P{\largeurChiffres}|%Total + }% \hline% - \rowcolor{entetes}\centering\textbf\produit & \centering\textbf\quantite & \centering\textbf\prixtxt & \centering\textbf\remise & \centering\textbf\tottxt \tabularnewline[1ex]% + \rowcolor{entetes}% + \centering\textbf\produit &% + \centering\textbf\quantite &% + \centering\textbf\prixtxt &% + \centering\textbf\tottxt% + \tabularnewline[1ex]% \else% - \begin{longtable}{|p{\largeurDescriptif}|P{\largeurChiffresAvecTVA}|P{\largeurChiffresAvecTVA}|P{\largeurChiffresAvecTVA}|P{\largeurChiffresAvecTVA}|P{\largeurChiffres}|P{\largeurChiffresAvecTVA}|}% + \begin{longtable}{% + |p{\largeurDescriptif}%Descriptif + |P{\largeurChiffres}%Qt + |P{\largeurChiffres}%Prix + |P{\largeurChiffres}%Remise + |P{\largeurChiffres}|%Total + }% \hline% - \rowcolor{entetes}\centering\textbf\produit & \centering\textbf\quantite & \centering\textbf\prixHT & \centering\textbf\remise & \centering\textbf\totHTtxt & \centering\textbf\TVAtxt & \textbf\prixTTC \tabularnewline[1ex]% + \rowcolor{entetes}% + \centering\textbf\produit &% + \centering\textbf\quantite &% + \centering\textbf\prixtxt &% + \centering\textbf\remise &% + \centering\textbf\tottxt% + \tabularnewline[1ex]% + \fi% + \else% + \ifsansremise% + \begin{longtable}{% + |p{\largeurDescriptif}|%Descriptif + P{\largeurChiffresAvecTVA}|%Qt + P{\largeurChiffresAvecTVA}|%HT unitaire + P{\largeurChiffresAvecTVA}|%Totalht + P{\largeurChiffresAvecTVA}|%TVA + P{\largeurChiffresAvecTVA}|%Total TTC + }% + \hline% + \rowcolor{entetes} + \centering\textbf\produit &% + \centering\textbf\quantite &% + \centering\textbf\prixHT &% + \centering\textbf\totHTtxt &% + \centering\textbf\TVAtxt &% + \textbf\prixTTC \tabularnewline[1ex]% + + \else% + \begin{longtable}{% + |p{\largeurDescriptif}|%Descriptif + P{\largeurChiffresAvecTVA}|%Qt + P{\largeurChiffresAvecTVA}|%HT unitaire + P{\largeurChiffresAvecTVA}|%Remise + P{\largeurChiffresAvecTVA}|%Totalht + P{\largeurChiffresAvecTVA}|%TVA + P{\largeurChiffresAvecTVA}|%Total TTC + }% + \hline% + \rowcolor{entetes} + \centering\textbf\produit &% + \centering\textbf\quantite &% + \centering\textbf\prixHT &% + \centering\textbf\remise &% + \centering\textbf\totHTtxt &% + \centering\textbf\TVAtxt &% + \textbf\prixTTC \tabularnewline[1ex]% + \fi% \fi% \endhead% \endfoot% @@ -178,7 +244,14 @@ \end{tikzpicture} } -\newcommand{\lignesansTVA}[5]{#1 & #2 & #3 & #4 & #5 \tabularnewline[1ex]} +\newcommand{\lignesansTVA}[5]{ + #1 & + #2 & + #3 & + \unless\ifsansremise + #4 & + \fi + #5 \tabularnewline[1ex]} \newcommand{\afficheTVA}[1]{\raggedleft{\numprint[\%]{#1}} \hfill $\triangleright$ \numprint[\unite]{\TVA}} \newcommandx{\ligne}[5][2=1,5=\@TVAdefaut,4=0,usedefault]{% @@ -193,12 +266,18 @@ \else % Prix hors taxe \fpMul{\HT}{#3}{#2}% - \fpSub{\HT}{\HT}{#4}% + \unless\ifsansremise% + \fpSub{\HT}{\HT}{#4}% + \fi% \xdef\HT{\HT}%retenons \fpAdd{\totHT}{\totHT}{\HT}% \xdef\totHT{\totHT}% % Calcul de la TVA - \fpDiv{\centieme}{#5}{100}% + \ifsansremise% + \fpDiv{\centieme}{#4}{100}% + \else% + \fpDiv{\centieme}{#5}{100}% + \fi \fpMul{\TVA}{\centieme}{\HT}% \xdef\TVA{\TVA}%retenons \fpAdd{\totTVA}{\totTVA}{\TVA}% @@ -209,7 +288,15 @@ \fpAdd{\totTTC}{\totTTC}{\TTC}% \xdef\totTTC{\totTTC}% % Affichage - #1 & #2 & \numprint[\unite]{#3} & \numprint[\unite]{#4} & \numprint[\unite]{\HT} & \afficheTVA{#5} & \numprint[\unite]{\TTC} \tabularnewline[1ex]% + #1 & + #2 & + \numprint[\unite]{#3} & + \unless\ifsansremise + \numprint[\unite]{#4} & + \fi + \numprint[\unite]{\HT} & + \afficheTVA{#5} & + \numprint[\unite]{\TTC} \tabularnewline[1ex]% \fi \hline } |