%% %% This is file `factura.def', %% generated with the docstrip utility. %% %% The original source files were: %% %% factura.dtx (with options: `def') %% %% Copyright 2017 Emilio Lazo Zaia %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later %% version. This version of this license is in %% http://www.latex-project.org/lppl/lppl-1-3c.{html|txt|tex|pdf} %% and the latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of %% LaTeX version 2008/05/04 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainer of this work is Emilio Lazo Zaia. %% %% This work consists of the files README and factura.dtx %% with its derived files factura.ins, factura.cls, factura.def, %% factura-ejemplo-firma.tex, factura-ejemplo-fondo.tex, %% factura-ejemplo-membrete.tex, factura-ejemplo-cotizacion.tex, %% factura-ejemplo-prefactura.tex, factura-ejemplo-factura1.tex %% factura-ejemplo-factura2.tex, factura-ejemplo-factura3.tex, %% factura-ejemplo-factura4.tex, factura-ejemplo-factura5.tex, %% factura-ejemplo-factura6.tex, factura-ejemplo-factura7.tex, %% factura-ejemplo-factura8.tex, factura-ejemplo-reporte1.tex, %% factura-ejemplo-reporte2.tex, factura-ejemplo-reporte3.tex, %% and factura-beispiel-rechnung.tex. %% \ProvidesFile{factura.def} [2017/07/16 v3.02 Archivo valores iniciales y condiciones de borde para factura.cls ] %% La geometría en formato de factura y de reporte. %% El margen superior está definido desde el encabezado con los datos del cliente. %% El margen inferior está definido hasta el final de la descripción (o del cuadro de la factura si no hay descripción). %% Hay elementos que salen fuera de estos márgenes, como las firmas, las condiciones del documento, la numeración y la fecha. \GeometriaFactura{letterpaper,vmargin={5cm,5.5cm}, hmargin={1cm,1cm},footskip=0pt, headsep=0pt, headheight=0pt} \GeometriaReporte{letterpaper,vmargin={2.8cm,2.5cm},hmargin={3cm,2cm},footskip=1.2cm,headsep=0.777cm,headheight=1.5cm} %% Porcentajes de los distintos IVA (general, reducido y adicional): \def\@AlicuotaG{0.12} \def\@AlicuotaR{0.08} \def\@AlicuotaA{0.22} %% i) separador de miles, ii) separador decimal, iii) número de decimales para la moneda iv) y para los porcentajes, v) número de dígitos de la numeración de la factura: \npthousandsep{.} \npdecimalsign{,} \def\@DigitosMoneda{2} \def\@DigitosPorc{2} \def\@DigitosNumeracion{5} %% La moneda: \def\Moneda{Bs.} %% Al lado de cada ítem va la letra que designa el gravamen que aplica sobre él: \def\@DenomAlicuotaG{G} \def\@DenomAlicuotaR{R} \def\@DenomAlicuotaA{A} \def\@DenomAlicuotaE{(E)} %% Macros que guardan textos que corresponden a nombres de campos: \def\@@Fecha{Fecha de emisi\'on:} \def\@@RazonSocial{Raz\'on social:} \def\@@NumItem{\#} \def\@@Cantidad{Cantidad} \def\@@Descripcion{Descripci\'on} \def\@@PrecioU{Precio U.} \def\@@PrecioS{Subtotal} \def\@@PrecioT{Precio T.} \def\@@Precio{Precio} \def\@@AlicuotaG{IVA G} \def\@@AlicuotaR{IVA R} \def\@@AlicuotaA{IVA A} \def\@@BIG{BI G} \def\@@BIR{BI R} \def\@@BIA{BI A} \def\@@BIE{Exento}% La base imponible exenta. ;) \def\@@Total{TOTAL} \def\@@Descuento{Dcto.} \def\@@DescuentoG{Descuento G} \def\@@DescuentoR{Descuento R} \def\@@DescuentoA{Descuento A} \def\@@DescuentoE{Descuento E} \def\@@SubtotalG{Subtotal G} \def\@@SubtotalR{Subtotal R} \def\@@SubtotalA{Subtotal A} \def\@@SubtotalE{Subtotal E} \def\@@RIF{R.I.F.:} \def\@@CI{C.I.:} \def\@@Contacto{Persona de contacto:} \def\@@Direccion{Direcci\'on fiscal:} \def\@@Telefono{Tel\'efono:} \def\@@Email{E-mail:} \def\@@Datos{Datos del cliente} \def\@@Resumen{Resumen del servicio} \def\@@Conforme{Recib\'i conforme} \def\@@Emisor{Por el emisor} \def\@@Pagado{PAGADO} \def\@@DenomFactura{FACTURA} \def\@@DenomCotiza{COTIZACI\'ON} \def\@@Control{N\textordmasculine\space CONTROL} \def\@@Proveedor{Proveedor:} \def\@@Cliente{Cliente:} %% i) carácter para separar el teléfono del e-mail del cliente, %% ii) carácter para los campos vacíos cuando se usa \ItemX, %% iii) carácter para las celdas vacías cuando la descripción del ítem ocupa más que una línea. %% iv) carácter de retorno de carro en el cuadro de la factura, \def\@CaracterSeparaTelefonoEmail{$\diamond$} \def\@CaracterItemXVacio{...} \def\@CaracterCeldasVacias{\mbox{}\hfill$\cdot$\hfill\mbox{}} \def\@CaracterCR{\flechaCR} \def\flechaCR{% \raisebox{-0.4ex}{% \begin{tikzpicture} \draw[line width=0.075ex] (0,0) arc (20:70:0.75ex) + (0,0) arc (-70:-20:0.75ex) ++ (0.8ex,0.55ex) arc (0:-100:1ex); \end{tikzpicture}}} %% Separación entre la última letra y el carácter que indica que se continúa en la línea siguiente en la descripción cuando ocupa más de una línea. No vale la pena hacer una macro para cambiar esto. \setlength{\@SeparaFinLineaDesc}{0.05cm} %% Separación entre el inicio de una columna en la tabla y el inicio del texto. \tabcolsep=0.15cm %% Grosor de la línea de 'fancyhdr' para las cabeceras, en aquellas donde haya línea. \def\@GrosorLineaInfoPag{0.4pt} %% Posiciones (X,Y) de los objetos: i) fecha, ii) denominación, iii) condiciones, iv) número de control, v) firmas. \PosFecha{-0cm}{4.3cm} \PosDenom{0cm}{4.3cm} \PosControl{0cm}{-2.5cm} \PosCond{0cm}{-5.3cm} %% 'X' no acepta valores negativos en \PosCond. \PosFirmas{5cm}{1cm}{-2.4cm} %% La firma se define con un X_inicial, un X_final y un Y_inicial (Xo,Xf,Y) %% Tamaño y grosor de la línea de las firmas. \LineaFirmas{5.5cm}{0.7pt} %% Separación mínima horizontal entre los totales en modo de filas y distancia vertical entre esas líneas, fija. \SepFilas{0.8cm}{2.5pt} %% Separación vertical entre los elementos de la factura (entre el encabezado y el cuadro de la 'factura', luego desde dicho cuadro hasta la descripción, o hasta los totales en modo de filas). \SepElementos{0.2cm} %% Separación horizontal entre las cajas del encabezado y separación interna entre la línea y el texto. \SepEncabez{0.2cm}{6pt} %% Separación extra entre los elementos en la factura. \SepItemsExtra{0pt} %% Separación interna entre la línea y el texto de la descripción. \SepDescrip{6pt} %% Grosor de la línea de las cajas del encabezado, curvatura de la esquina y sombra. \LineaEncabez{0.4pt}{10pt}{0pt} %% Grosor de la línea de la descripción, curvatura de la esquina y sombra. \LineaDescrip{0.4pt}{0pt}{4pt} %% El espacio vertical que hay que avanzar sólo en la primera página del reporte antes de empezar a escribir sobre él. Usable cuando la primera página tiene un membrete y las demás no, es decir, cuando se usa \FondoReporte y no \FondoReporte*. \InicioReporte{1.6cm} %% Tipos de letra para cada elemento posible: %% Esta es la letra de la descripción de los items; y el espacio \baselineskip de *toda* la tabla de la factura se fija en este comando únicamente (se predeterminó 18pt). \LetraItems{\fontsize{14}{18}} %% Con este comando se cambia la etra del título de la tabla, es decir, los textos 'Cantidad, 'Descripción', etc... \LetraTitCuadro{\fontsize{10}{10}\bfseries} %% Tipo de letra de los títulos de los totales, por ejemplo los textos: 'B.I. G', 'IVA G'. \LetraTitTotales{\fontsize{12}{12}\bfseries} %% Letra con la que salen los totales parciales, es decir, los números, exceptuando el total general. \LetraNumTotales{\fontsize{14}{12}} %% Letra con la que sale la palabra 'TOTAL'. \LetraTitTotal{\fontsize{12}{12}\bfseries} %% Letra para el total general, el monto. \LetraNumTotal{\fontsize{14}{14}\bfseries} %% Tipo de letra para los títulos de las cajas del encabezado, por ejemplo: 'Datos del cliente'. \LetraTitEnc{\fontsize{11}{12.5}\slshape} %% Tipo de letra para el texto en el encabezado de la factura. \LetraEncFactura{\fontsize{11}{12.5}} %% Tipo de letra para el texto en el encabezado del reporte. \LetraEncReporte{\fontsize{13}{16}} %% Letra para los montos individuales de la factura y las cantidades. \LetraNumeros{\fontsize{14}{14}} %% El tipo de IVA ('G', 'R', 'A' o '(E)') también tiene su tipo de letra. \LetraTipoIVA{\fontsize{12}{12}} %% Letra para la descripción larga (comando \Descripcion). \LetraDescripcion{\fontsize{14}{16.8}} %% Tipo de letra para el texto bajo las líneas para firmar. \LetraFirmas{\fontsize{12}{12}} %% Tipo de letra para las condiciones del documento. \LetraCondiciones{\fontsize{12}{12}} %% Letra para la denominación del documento ('FACTURA', 'COTIZACIÓN',...). \LetraDenom{\fontsize{14}{14}\bfseries} %% Letra para la numeración de la factura. \LetraNumeracion{\fontsize{14}{14}\bfseries\color{red}} %% Letra para la fecha de emisión. \LetraFecha{\fontsize{14}{14}} %% Letra para el título del reporte. \LetraTitReporte{\fontsize{16}{22}\bfseries} %% Letra para las cabeceras de las páginas en el modo reporte. \LetraInfoPagina{\fontsize{12}{12}\slshape} %% Letra para el reporte. \LetraReporte{\fontsize{12}{20}} %% El diseño de las distintas partes de la hoja. \newcommand{\@EstiloFirmas}{% \@LetraFirmas \if@unafirma \else \parbox{\@TamLineaFirmas}{% \rule{\@TamLineaFirmas}{\@GrosorLineaFirmas} \centering \ifdefvoid{\@Conforme}{\@@Conforme}{\@Conforme}}% \fi \hfill \parbox{\@TamLineaFirmas}{% \rule{\@TamLineaFirmas}{\@GrosorLineaFirmas} \centering \ifdefvoid{\@Emisor}{\if@cotizacion \@@Emisor \else \@@Pagado \fi}{\@Emisor}}} \newcommand{\@EstiloCondiciones}{\@LetraCondiciones \@Condiciones} \newcommand{\@EstiloNumControl}{% \begin{tabular}{@{\extracolsep{0pt}}l} \@LetraDenom \@@Control \\ {\@LetraDenom\@NumSerieControl-}\space\@LetraNumeracion\@NumControl \end{tabular}} \newcommand{\@EstiloDenom}{% \@LetraDenom\@Denominacion \if@sinnumero \else \space\space{\@LetraNumeracion N\textordmasculine\space\@Num}% \fi} \newcommand{\@EstiloFecha}{\@LetraFecha\@@Fecha{\ttfamily\ \@Fecha}} \newcommand{\@InfoPaginaNoTitulo}{\@LetraInfoPagina Reporte correspondiente a la factura n\'umero \@Num \space de fecha \@Fecha} \newcommand{\@InfoPaginaTitulo}{\@LetraInfoPagina \@TituloReporte \space - \@Proveedor \space - \@Fecha} %% Estilos de página: normal, sólo cabeceras, sólo piés de página y sólo número de página al pié. \fancypagestyle{plain}{% \expandafter\ps@fancy \fancyhf{}% \renewcommand{\headrulewidth}{\@GrosorLineaInfoPag}% \fancyhead[LEO]{\@InfoPagina}% \fancyfoot[C]{\thepage}} \fancypagestyle{soloarriba}{% \expandafter\ps@fancy \fancyhf{}% \renewcommand{\headrulewidth}{\@GrosorLineaInfoPag}% \fancyhead[LO]{\@InfoPagina}% \fancyhead[RO]{\thepage}% \if@twoside \fancyhead[LE]{\thepage}% \fancyhead[RE]{\@InfoPagina}% \fi} \fancypagestyle{soloabajo}{% \expandafter\ps@fancy \fancyhf{}% \renewcommand{\headrulewidth}{0pt}% \fancyfoot[LO]{\@InfoPagina}% \fancyfoot[RO]{\thepage}% \if@twoside \fancyfoot[RE]{\@InfoPagina}% \fancyfoot[LE]{\thepage}% \fi} \fancypagestyle{solonumpag}{% \expandafter\ps@fancy \fancyhf{}% \renewcommand{\headrulewidth}{0pt}% \fancyfoot[C]{\thepage}} \endinput %% %% End of file `factura.def'.