From ca335820d525cec5e0c68237c97333b952e61778 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 16 Apr 2017 22:21:38 +0000 Subject: facture (14apr17) git-svn-id: svn://tug.org/texlive/trunk@43865 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xelatex/facture/exemple.pdf | Bin 23421 -> 23292 bytes .../doc/xelatex/facture/exemplesansTVA.pdf | Bin 19457 -> 19387 bytes .../doc/xelatex/facture/exemplesansremise.pdf | Bin 22988 -> 22875 bytes Master/texmf-dist/doc/xelatex/facture/facture.pdf | Bin 95365 -> 97571 bytes Master/texmf-dist/doc/xelatex/facture/makefile | 2 +- .../texmf-dist/source/xelatex/facture/facture.dtx | 103 +++++++++++---------- Master/texmf-dist/tex/xelatex/facture/facture.cls | 82 ++++++++-------- Master/tlpkg/libexec/ctan2tds | 1 + 8 files changed, 99 insertions(+), 89 deletions(-) diff --git a/Master/texmf-dist/doc/xelatex/facture/exemple.pdf b/Master/texmf-dist/doc/xelatex/facture/exemple.pdf index 8f7738641ff..97cc517f2a9 100644 Binary files a/Master/texmf-dist/doc/xelatex/facture/exemple.pdf and b/Master/texmf-dist/doc/xelatex/facture/exemple.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/facture/exemplesansTVA.pdf b/Master/texmf-dist/doc/xelatex/facture/exemplesansTVA.pdf index 4f5cfac4a36..c01b81aabfb 100644 Binary files a/Master/texmf-dist/doc/xelatex/facture/exemplesansTVA.pdf and b/Master/texmf-dist/doc/xelatex/facture/exemplesansTVA.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/facture/exemplesansremise.pdf b/Master/texmf-dist/doc/xelatex/facture/exemplesansremise.pdf index 376ec4bf9f5..ed8f12a3997 100644 Binary files a/Master/texmf-dist/doc/xelatex/facture/exemplesansremise.pdf and b/Master/texmf-dist/doc/xelatex/facture/exemplesansremise.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/facture/facture.pdf b/Master/texmf-dist/doc/xelatex/facture/facture.pdf index 91fab605c11..414e9ea08c3 100644 Binary files a/Master/texmf-dist/doc/xelatex/facture/facture.pdf and b/Master/texmf-dist/doc/xelatex/facture/facture.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/facture/makefile b/Master/texmf-dist/doc/xelatex/facture/makefile index d34366b6cfd..a56a60ca62b 100644 --- a/Master/texmf-dist/doc/xelatex/facture/makefile +++ b/Master/texmf-dist/doc/xelatex/facture/makefile @@ -4,7 +4,7 @@ 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 + ln *pdf *ins *dtx *tex README makefile facture zip -r ../facture.zip facture diff --git a/Master/texmf-dist/source/xelatex/facture/facture.dtx b/Master/texmf-dist/source/xelatex/facture/facture.dtx index 094413bb823..b1878b4eba7 100644 --- a/Master/texmf-dist/source/xelatex/facture/facture.dtx +++ b/Master/texmf-dist/source/xelatex/facture/facture.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % Droits d'auteur : -% - Maïeul Rouquette 2011-2014 +% - Maïeul Rouquette 2011-… % - Joël Gombin 2014 % Licence Creative Commons - Paternité -Partage des Conditions Initiales à l'identique % http://creativecommons.org/licenses/by-sa/2.0/fr/ @@ -31,13 +31,15 @@ \end{document} % %\fi -% \CheckSum{527} +% \CheckSum{584} % \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} +% \changes{v1.2.2}{2015/01/16}{Corrections de quelques problèmes d'alignement.} +% \changes{v1.2.2}{2017/04/12}{Corrections d'un bug si le numéro de facture n'est pas défini.} +% \def\filedate{2017/04/12} +% \def\fileversion{1.2.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} @@ -65,7 +67,7 @@ %\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~\%\footnote{Valeur lors de la sortie de la première version de la classe. Pour éviter que des factures créées avant la variation du taux mais recompilées après la variation ne voit leur TVA changer, ce taux restera fixe d'une version à l'autre de la classe.}, 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} @@ -151,7 +153,7 @@ %<*facture> % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{facture}[16/01/2015 v1.2] +\ProvidesClass{facture}[2017/04/12/04 v1.2.2] \LoadClass[a4paper]{article}%On se base sur la classe article \RequirePackage{fontspec} \RequirePackage{xunicode} @@ -168,11 +170,6 @@ \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 @@ -231,10 +228,18 @@ % \end{macrocode} %\subsection{Largeur des colonnes}\label{largeurCols} % On peut redéfinir les commandes ci-dessous pour modifier la largeur des commandes. Attention à ne pas dépasser un total de 1\cmd{\textwidth} ! +% Le package se charge d'ajuster automatiquement pour supprimer la marge intérieure. +% La largeur des chiffres est calculée automatiquement en fonction de la largeur du descriptif et de la largeur de la TVA. Il est donc fortement recommandé de ne modifiée que \cs{largeurDescriptif} et \cs{largeurTVA}. % \begin{macrocode} \newcommand{\largeurDescriptif}{0.2\textwidth} -\newcommand{\largeurChiffres}{0.2\textwidth} -\newcommand{\largeurChiffresAvecTVA}{0.1\textwidth} +\newcommand{\largeurTVA}{0.2\textwidth} +\ifsansremise + \newcommand{\largeurChiffresAvecTVA}{\dimexpr (\textwidth-\largeurDescriptif-\largeurTVA)/4\relax} + \newcommand{\largeurChiffres}{\dimexpr (\textwidth-\largeurDescriptif)/3 \relax} +\else + \newcommand{\largeurChiffresAvecTVA}{\dimexpr (\textwidth-\largeurDescriptif-\largeurTVA)/5\relax} + \newcommand{\largeurChiffres}{\dimexpr (\textwidth-\largeurDescriptif)/4 \relax} +\fi % \end{macrocode} % %\subsection{Réglages mathématiques}\label{math} @@ -289,8 +294,8 @@ % %Ensuite déterminer la place que cela prend, puis tracer l'encadré. % \begin{macrocode} - \coordinate[xshift=-1\textwidth,yshift=1ex] (a) at (b.north); - \coordinate[xshift=1em,yshift=-1ex] (c) at (b.south); + \coordinate[xshift=-\textwidth-\epaisseurcadre,yshift=1ex] (a) at (b.north); + \coordinate[xshift=-\epaisseurcadre,yshift=-1ex] (c) at (b.south); \draw[color=encadre,line width=\epaisseurcadre] (a) rectangle (c); \end{tikzpicture} % \end{macrocode} @@ -340,8 +345,8 @@ \libelle{{\datetxt}} \today \\ \ifdef{\@numero}{% \libelle{{\@type\ntxt}} \@numero + \\ }{} - \\ \ifdef{\@codedest}{% \libelle{{\codeclient}} \@codedest }{} @@ -376,14 +381,18 @@ \newenvironment{facture}{% \setlength{\extrarowheight}{0.5ex} \setlength{\tabcolsep}{0.5em} + \edef\@largeurDescriptif{\dimexpr\largeurDescriptif -2\tabcolsep\relax} + \edef\@largeurChiffres{\dimexpr\largeurChiffres -2\tabcolsep\relax} + \edef\@largeurTVA{\dimexpr\largeurTVA -2\tabcolsep\relax} + \edef\@largeurChiffresAvecTVA{\dimexpr\largeurChiffresAvecTVA -2\tabcolsep\relax} \arrayrulecolor{encadre} \ifsansTVA% \ifsansremise% \begin{longtable}{% - |p{\largeurDescriptif}%Descriptif - |P{\largeurChiffres}%Qt - |P{\largeurChiffres}%Prix - |P{\largeurChiffres}|%Total + |p{\@largeurDescriptif}%Descriptif + |P{\@largeurChiffres}%Qt + |P{\@largeurChiffres}%Prix + |P{\@largeurChiffres}|%Total }% \hline% \rowcolor{entetes}% @@ -394,11 +403,11 @@ \tabularnewline[1ex]% \else% \begin{longtable}{% - |p{\largeurDescriptif}%Descriptif - |P{\largeurChiffres}%Qt - |P{\largeurChiffres}%Prix - |P{\largeurChiffres}%Remise - |P{\largeurChiffres}|%Total + |p{\@largeurDescriptif}%Descriptif + |P{\@largeurChiffres}%Qt + |P{\@largeurChiffres}%Prix + |P{\@largeurChiffres}%Remise + |P{\@largeurChiffres}|%Total }% \hline% \rowcolor{entetes}% @@ -412,12 +421,12 @@ \else% \ifsansremise% \begin{longtable}{% - |p{\largeurDescriptif}|%Descriptif - P{\largeurChiffresAvecTVA}|%Qt - P{\largeurChiffresAvecTVA}|%HT unitaire - P{\largeurChiffresAvecTVA}|%Totalht - P{\largeurChiffresAvecTVA}|%TVA - P{\largeurChiffresAvecTVA}|%Total TTC + |p{\@largeurDescriptif}|%Descriptif + P{\@largeurChiffresAvecTVA}|%Qt + P{\@largeurChiffresAvecTVA}|%HT unitaire + P{\@largeurChiffresAvecTVA}|%Totalht + P{\@largeurTVA}|%TVA + P{\@largeurChiffresAvecTVA}|%Total TTC }% \hline% \rowcolor{entetes} @@ -430,13 +439,13 @@ \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 + |p{\@largeurDescriptif}|%Descriptif + P{\@largeurChiffresAvecTVA}|%Qt + P{\@largeurChiffresAvecTVA}|%HT unitaire + P{\@largeurChiffresAvecTVA}|%Remise + P{\@largeurChiffresAvecTVA}|%Totalht + P{\@largeurTVA}|%TVA + P{\@largeurChiffresAvecTVA}|%Total TTC }% \hline% \rowcolor{entetes} @@ -459,20 +468,16 @@ {% \end{longtable} % \end{macrocode} -%On affiche ensuite les totaux, qu'on place grâce à \emph{TikZ}. Le cercle de 0,001 de diamètre sert à faire prendre à la figure beamer le plus de place possible, pour que les textes soient alignés à droite. +%On affiche ensuite les totaux. % \begin{macrocode} - \begin{tikzpicture} - \draw[color=white] (0,0) circle (0.001); - \node[right,xshift=0.66\textwidth,text width=0.33\textwidth]{% \ifsansTVA% - \hfill \libelle{\tottxt:} \numprint[\unite]{\tot}\\% - \else% - \libelle{\totHTtxt:}\hfill \numprint[\unite]{\totHT} \\% - \libelle{\totTVAtxt:}\hfill \numprint[\unite]{\totTVA} \\% - \libelle{\totTTCtxt:}\hfill \numprint[\unite]{\totTTC} \\ + \noindent\hspace{0.66\textwidth}\hfill \libelle{\tottxt:} \numprint[\unite]{\tot}\\% + \else% + \noindent\hspace{0.66\textwidth}\libelle{\totHTtxt:}\hfill \numprint[\unite]{\totHT}\\% + \hbox{}\hspace{0.66\textwidth}\libelle{\totTVAtxt:}\hfill \numprint[\unite]{\totTVA}\\% + \hbox{}\noindent\hspace{0.66\textwidth}\libelle{\totTTCtxt:}\hfill \numprint[\unite]{\totTTC}\\ \fi - \postTotaux}; - \end{tikzpicture} + \hspace{0.66\textwidth}\postTotaux } % \end{macrocode} diff --git a/Master/texmf-dist/tex/xelatex/facture/facture.cls b/Master/texmf-dist/tex/xelatex/facture/facture.cls index 3616a6be70f..83530cfc872 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}[16/01/2015 v1.2] +\ProvidesClass{facture}[2017/04/12/04 v1.2.2] \LoadClass[a4paper]{article}%On se base sur la classe article \RequirePackage{fontspec} \RequirePackage{xunicode} @@ -27,8 +27,6 @@ \RequirePackage{colortbl} \RequirePackage{advdate}%Pour manipuler les dates \RequirePackage{xargs}%Pour des arguments conditionnels -\newif\ifsansreduction -\DeclareOption{sansreduction}{\sansreductiontrue} \newif\ifsansTVA \DeclareOption{sansTVA}{\sansTVAtrue} \newif\ifsansremise @@ -66,8 +64,14 @@ \newcommand{\postTotaux}{} \fi \newcommand{\largeurDescriptif}{0.2\textwidth} -\newcommand{\largeurChiffres}{0.2\textwidth} -\newcommand{\largeurChiffresAvecTVA}{0.1\textwidth} +\newcommand{\largeurTVA}{0.2\textwidth} +\ifsansremise + \newcommand{\largeurChiffresAvecTVA}{\dimexpr (\textwidth-\largeurDescriptif-\largeurTVA)/4\relax} + \newcommand{\largeurChiffres}{\dimexpr (\textwidth-\largeurDescriptif)/3 \relax} +\else + \newcommand{\largeurChiffresAvecTVA}{\dimexpr (\textwidth-\largeurDescriptif-\largeurTVA)/5\relax} + \newcommand{\largeurChiffres}{\dimexpr (\textwidth-\largeurDescriptif)/4 \relax} +\fi \npaddmissingzero \nprounddigits{2} \def\@TVAdefaut{19,6} @@ -94,8 +98,8 @@ \noindent\node (b)[xshift=0.5\textwidth,text width=0.5\textwidth, right]{% \@adresseemet% }; - \coordinate[xshift=-1\textwidth,yshift=1ex] (a) at (b.north); - \coordinate[xshift=1em,yshift=-1ex] (c) at (b.south); + \coordinate[xshift=-\textwidth-\epaisseurcadre,yshift=1ex] (a) at (b.north); + \coordinate[xshift=-\epaisseurcadre,yshift=-1ex] (c) at (b.south); \draw[color=encadre,line width=\epaisseurcadre] (a) rectangle (c); \end{tikzpicture} @@ -129,8 +133,8 @@ \libelle{{\datetxt}} \today \\ \ifdef{\@numero}{% \libelle{{\@type\ntxt}} \@numero + \\ }{} - \\ \ifdef{\@codedest}{% \libelle{{\codeclient}} \@codedest }{} @@ -151,14 +155,18 @@ \newenvironment{facture}{% \setlength{\extrarowheight}{0.5ex} \setlength{\tabcolsep}{0.5em} + \edef\@largeurDescriptif{\dimexpr\largeurDescriptif -2\tabcolsep\relax} + \edef\@largeurChiffres{\dimexpr\largeurChiffres -2\tabcolsep\relax} + \edef\@largeurTVA{\dimexpr\largeurTVA -2\tabcolsep\relax} + \edef\@largeurChiffresAvecTVA{\dimexpr\largeurChiffresAvecTVA -2\tabcolsep\relax} \arrayrulecolor{encadre} \ifsansTVA% \ifsansremise% \begin{longtable}{% - |p{\largeurDescriptif}%Descriptif - |P{\largeurChiffres}%Qt - |P{\largeurChiffres}%Prix - |P{\largeurChiffres}|%Total + |p{\@largeurDescriptif}%Descriptif + |P{\@largeurChiffres}%Qt + |P{\@largeurChiffres}%Prix + |P{\@largeurChiffres}|%Total }% \hline% \rowcolor{entetes}% @@ -169,11 +177,11 @@ \tabularnewline[1ex]% \else% \begin{longtable}{% - |p{\largeurDescriptif}%Descriptif - |P{\largeurChiffres}%Qt - |P{\largeurChiffres}%Prix - |P{\largeurChiffres}%Remise - |P{\largeurChiffres}|%Total + |p{\@largeurDescriptif}%Descriptif + |P{\@largeurChiffres}%Qt + |P{\@largeurChiffres}%Prix + |P{\@largeurChiffres}%Remise + |P{\@largeurChiffres}|%Total }% \hline% \rowcolor{entetes}% @@ -187,12 +195,12 @@ \else% \ifsansremise% \begin{longtable}{% - |p{\largeurDescriptif}|%Descriptif - P{\largeurChiffresAvecTVA}|%Qt - P{\largeurChiffresAvecTVA}|%HT unitaire - P{\largeurChiffresAvecTVA}|%Totalht - P{\largeurChiffresAvecTVA}|%TVA - P{\largeurChiffresAvecTVA}|%Total TTC + |p{\@largeurDescriptif}|%Descriptif + P{\@largeurChiffresAvecTVA}|%Qt + P{\@largeurChiffresAvecTVA}|%HT unitaire + P{\@largeurChiffresAvecTVA}|%Totalht + P{\@largeurTVA}|%TVA + P{\@largeurChiffresAvecTVA}|%Total TTC }% \hline% \rowcolor{entetes} @@ -205,13 +213,13 @@ \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 + |p{\@largeurDescriptif}|%Descriptif + P{\@largeurChiffresAvecTVA}|%Qt + P{\@largeurChiffresAvecTVA}|%HT unitaire + P{\@largeurChiffresAvecTVA}|%Remise + P{\@largeurChiffresAvecTVA}|%Totalht + P{\@largeurTVA}|%TVA + P{\@largeurChiffresAvecTVA}|%Total TTC }% \hline% \rowcolor{entetes} @@ -230,18 +238,14 @@ }% {% \end{longtable} - \begin{tikzpicture} - \draw[color=white] (0,0) circle (0.001); - \node[right,xshift=0.66\textwidth,text width=0.33\textwidth]{% \ifsansTVA% - \hfill \libelle{\tottxt:} \numprint[\unite]{\tot}\\% + \noindent\hspace{0.66\textwidth}\hfill \libelle{\tottxt:} \numprint[\unite]{\tot}\\% \else% - \libelle{\totHTtxt:}\hfill \numprint[\unite]{\totHT} \\% - \libelle{\totTVAtxt:}\hfill \numprint[\unite]{\totTVA} \\% - \libelle{\totTTCtxt:}\hfill \numprint[\unite]{\totTTC} \\ + \noindent\hspace{0.66\textwidth}\libelle{\totHTtxt:}\hfill \numprint[\unite]{\totHT}\\% + \hbox{}\hspace{0.66\textwidth}\libelle{\totTVAtxt:}\hfill \numprint[\unite]{\totTVA}\\% + \hbox{}\noindent\hspace{0.66\textwidth}\libelle{\totTTCtxt:}\hfill \numprint[\unite]{\totTTC}\\ \fi - \postTotaux}; - \end{tikzpicture} + \hspace{0.66\textwidth}\postTotaux } \newcommand{\lignesansTVA}[5]{ diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 5e62c0c5aa3..65b16af933b 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -2976,6 +2976,7 @@ $standardclean = '\.head|\.tmp|\.dvi|\.log|\.out|\.aux|\.toc|\.lof|\.lot' 'emisa' => 'emisa-instructions.pdf', # symlink 'epslatex-fr' => 'R?Danger.eps', # unneeded, name clash 'exceltex' => 'manpage.pdf', # no source + 'facture' => 'issue7.pdf', # no source 'flacards' => 'flacards.pdf', # no source 'gfsartemisia' => 'A*Specimen.pdf', # no source 'gfsbaskerville'=> 'B*Specimen.pdf', # no source -- cgit v1.2.3