summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/xelatex/facture
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-09-18 22:57:06 +0000
committerKarl Berry <karl@freefriends.org>2014-09-18 22:57:06 +0000
commite2d71ec3007e1d1f338ddf91b5a9ed0c3e080172 (patch)
treefc08f2e3a9c313e25343fb3425084fe6ebff8278 /Master/texmf-dist/source/xelatex/facture
parente3f11b759307a317e9fcb5b45a8510354424a48e (diff)
facture (18sep14)
git-svn-id: svn://tug.org/texlive/trunk@35196 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/xelatex/facture')
-rw-r--r--Master/texmf-dist/source/xelatex/facture/facture.dtx79
1 files changed, 48 insertions, 31 deletions
diff --git a/Master/texmf-dist/source/xelatex/facture/facture.dtx b/Master/texmf-dist/source/xelatex/facture/facture.dtx
index 079e0e8a4d1..a4f6c637ef9 100644
--- a/Master/texmf-dist/source/xelatex/facture/facture.dtx
+++ b/Master/texmf-dist/source/xelatex/facture/facture.dtx
@@ -1,5 +1,5 @@
% \iffalse meta-comment
-% Droits d'auteur : Maïeul Rouquette 2011
+% Droits d'auteur : Maïeul Rouquette 2011-2014
% Licence Creative Commons - Paternité -Partage des Conditions Initiales à l'identique
% http://creativecommons.org/licenses/by-sa/2.0/fr/
% \fi
@@ -21,10 +21,12 @@
\end{document}
%</driver>
%\fi
-% \CheckSum{436}
-% \changes{v1.0}{2011/09/10}{Première version}
+% \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}
-% \title{La class \textsf{facture}\thanks{Ce document correspond à la version~1.0 de \textsf{facture}, datée du~10/09/2011.}}
+%\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}
%\maketitle
%\begin{abstract}
@@ -80,7 +82,7 @@
%Toutes ces méta-données, à l'exception du taux de TVA et du pied de page sont affichées dans une zolie présentation avec la commande. \DescribeMacro{\entete}\cmd{\entete}.
%\section{Insertion de texte}
% La classe étant dérivée de la classe \emph{article}, il est possible d'insérer du texte sectionnable avec les commandes de \emph{article}. Il n'y a pas d'endroit obligatoire pour l'afficher.
-%\section{Insertion de la facture}.
+%\section{Insertion de la facture}
% Une facture est constituée de lignes indiquant les prix et quantités des différents produits. Chaque ligne s'appelle au sein de l'environnement \DescribeEnv{facture}\emph{facture}, via la commande \DescribeMacro{\ligne}\cmd{\ligne}\marg{produit}\oarg{quantité}\marg{prix unitaire HT}\oarg{remise}\oarg{taux de TVA}.
%
%\meta{produit} est le nom du produit.
@@ -116,12 +118,15 @@
%\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 et les mise en valeurs des textes, voir section~\ref{apparence}.
+%\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 p.~\pageref{afficheTVA}
+%\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}.
%\end{itemize}
+%
+%Pour personnaliser la taille du papier et celle des marges, on peut utiliser le package \emph{geometry}.
%\StopEventually{}
%\section{Documentation du code}
%\subsection{Chargement des packages}
@@ -129,7 +134,7 @@
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{facture}[2011/09/10 v1.0]
-\LoadClass{article}%On se base sur la classe article
+\LoadClass[a4paper]{article}%On se base sur la classe article
\RequirePackage{fontspec}
\RequirePackage{xunicode}
\RequirePackage{polyglossia}
@@ -139,8 +144,6 @@
\RequirePackage{tikz} % tikz est utilisé pour tracer des boites, par exemple
\RequirePackage{graphicx} % Pour insérer des images. Utiliser le format jpg pour plus de simplicité.
\RequirePackage{fancyhdr} % Pour entête et pied de page
-\RequirePackage[paper=a4paper,top=2 cm, bottom=2 cm, left=1.5 cm, right=2.5 cm]{geometry} % On peut modifier ces valeurs pour augmenter ou réduire les marges.
-\RequirePackage{ifthen}
\RequirePackage{array}
\RequirePackage{longtable}
\RequirePackage{colortbl}
@@ -161,6 +164,8 @@
\definecolor{encadre}{RGB}{111,111,111}
\newcommand{\libelle}[1]{\textcolor{entetes}{\textbf#1}}
\setlength{\tabcolsep}{1pt}
+\newlength{\epaisseurcadre}
+\setlength{\epaisseurcadre}{1.5mm}
% \end{macrocode}
%\subsection{Textes}\label{texte}
%\subsubsection{Invariants}
@@ -194,35 +199,43 @@
\newcommand{\postTotaux}{}
\fi
% \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} !
+% \begin{macrocode}
+\newcommand{\largeurDescriptif}{0.2\textwidth}
+\newcommand{\largeurChiffres}{0.2\textwidth}
+\newcommand{\largeurChiffresAvecTVA}{0.1\textwidth}
+% \end{macrocode}
+%
%\subsection{Réglages mathématiques}\label{math}
%On régle ici les paramètres mathématiques, définissables avec le package \emph{numprint}.
% Tout d'abord on dit qu'on veut avoir les zéros finaux.
% \begin{macrocode}
\npaddmissingzero
% \end{macrocode}
-% Puis on dit qu'on arrondis à deux chiffres après la virgule.
+% Puis on dit qu'on arrondit à deux chiffres après la virgule.
% \begin{macrocode}
\nprounddigits{2}
% \end{macrocode}
%\subsection{Quelques réglages standards}
% Ici on régle la TVA par défaut et le type de document
% \begin{macrocode}
-\gdef\@TVAdefaut{19,6}
-\gdef\@type{\facturetxt}
+\def\@TVAdefaut{19,6}
+\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é.
% \begin{macrocode}
\renewcommand{\date}[1]{\SetDate[#1]}
-\newcommand{\TVAdefaut}[1]{\gdef\@TVAdefaut{#1}}
-\newcommand{\datelimite}[1]{\newcommand{\@datelimite}{#1}}
-\newcommand{\dest}[1]{\newcommand{\@dest}{#1}}
-\newcommand{\fact}[1]{\newcommand{\@fact}{#1}}
-\newcommand{\adresseemet}[1]{\gdef\@adresseemet{#1}}
-\newcommand{\nomemet}[1]{\gdef\@nomemet{#1}}
-\newcommand{\type}[1]{\gdef\@type{#1}}
-\newcommand{\numero}[1]{\gdef\@numero{#1}}
-\newcommand{\codedest}[1]{\gdef\@codedest{#1}}
+\newcommand{\TVAdefaut}[1]{\def\@TVAdefaut{#1}}
+\newcommand{\datelimite}[1]{\def\@datelimite{#1}}
+\newcommand{\dest}[1]{\def\@dest{#1}}
+\newcommand{\fact}[1]{\def\@fact{#1}}
+\newcommand{\adresseemet}[1]{\def\@adresseemet{#1}}
+\newcommand{\nomemet}[1]{\def\@nomemet{#1}}
+\newcommand{\type}[1]{\def\@type{#1}}
+\newcommand{\numero}[1]{\def\@numero{#1}}
+\newcommand{\codedest}[1]{\def\@codedest{#1}}
% \end{macrocode}
%\subsection{Génération de l'entête}
@@ -248,7 +261,7 @@
% \begin{macrocode}
\coordinate[xshift=-1\textwidth,yshift=1ex] (a) at (b.north);
\coordinate[xshift=1em,yshift=-1ex] (c) at (b.south);
- \draw[color=encadre,line width=1.5mm] (a) rectangle (c);
+ \draw[color=encadre,line width=\epaisseurcadre] (a) rectangle (c);
\end{tikzpicture}
% \end{macrocode}
%
@@ -335,11 +348,11 @@
\setlength{\tabcolsep}{0.5em}
\arrayrulecolor{encadre}
\ifsansTVA%
- \begin{longtable}{|p{0.2\textwidth}|P{0.2\textwidth}|P{0.2\textwidth}|P{0.2\textwidth}|P{0.2\textwidth}|}%
+ \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]%
\else%
- \begin{longtable}{|p{0.2\textwidth}|P{0.1\textwidth}|P{0.1\textwidth}|P{0.1\textwidth}|P{0.1\textwidth}|P{0.2\textwidth}|P{0.1\textwidth}|}%
+ \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]%
\fi%
@@ -376,6 +389,7 @@
\newcommand{\lignesansTVA}[5]{#1 & #2 & #3 & #4 & #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}
+
% \begin{macrocode}
\newcommand{\afficheTVA}[1]{\raggedleft{\numprint[\%]{#1}} \hfill $\triangleright$ \numprint[\unite]{\TVA}}
% \end{macrocode}
@@ -421,11 +435,14 @@
%\subsection{Apparence du pied}\label{pied}
%On se base sur le package \emph{fancyhdr} pour personnaliser le pied.
% \begin{macrocode}
-\pagestyle{fancy}
-\fancyhf{}
-\renewcommand{\headrule}{}%Pas de règle après l'entête
-\lfoot{\ifnumgreater{\thepage}{1}{\thepage}{}}%Indiquer le numéro de page, sauf sur la première
-\newcommand{\pied}[1]{\rfoot{#1}}%Le pied définissable par l'utilisateur
+\AtBeginDocument{
+ \pagestyle{fancy}
+ \fancyhf{}
+ \renewcommand{\headrule}{}%Pas de règle après l'entête
+ \lfoot{\ifnum \value{page}>1 \thepage\fi}%Indiquer le numéro de page, sauf sur la première
+ \rfoot{\@pied}
+}
+\newcommand{\pied}[1]{\def\@pied{#1}}%Le pied définissable par l'utilisateur
% \end{macrocode}
%</facture>
% \PrintChanges