diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/factura/factura.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/factura/factura.def | 203 |
1 files changed, 140 insertions, 63 deletions
diff --git a/Master/texmf-dist/tex/latex/factura/factura.def b/Master/texmf-dist/tex/latex/factura/factura.def index 6950af34021..87c237dd224 100644 --- a/Master/texmf-dist/tex/latex/factura/factura.def +++ b/Master/texmf-dist/tex/latex/factura/factura.def @@ -24,39 +24,47 @@ %% %% 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. +%% factura-ejemplo-aux.tex, factura-ejemplo-firma.tex, +%% factura-ejemplo-fondo.tex, factura-ejemplo-membrete.tex, +%% factura-ejemplo-cotizacion.tex, factura-ejemplo-prefactura.tex, +%% factura-ejemplo-factura01.tex, factura-ejemplo-factura02.tex, +%% factura-ejemplo-factura03.tex, factura-ejemplo-factura04.tex, +%% factura-ejemplo-factura05.tex, factura-ejemplo-factura06.tex, +%% factura-ejemplo-factura07.tex, factura-ejemplo-factura08.tex, +%% factura-ejemplo-factura09.tex, factura-ejemplo-factura10.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 +[2017/12/11 v3.40 +Archivo de 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} +%% La geometría para la factura, su reverso, y el reporte. +%% Para la factura, 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={5.2cm,5.5cm},hmargin={1cm,1cm},footskip=0pt, headsep=0pt, headheight=0pt} +\GeometriaReverso{letterpaper,vmargin={1cm,1cm}, hmargin={1cm,1cm},footskip=0cm, 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): +%% Factores para los distintos IVA y el límite para el descuento: \def\@AlicuotaG{0.12} +\def\@AlicuotaGDescBajo{0.03} +\def\@AlicuotaGDescAlto{0.05} +\def\@AlicuotaGDescLimite{2000000} \def\@AlicuotaR{0.08} -\def\@AlicuotaA{0.22} +\def\@AlicuotaA{0.27} -%% 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: +%% 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, vi) formato de la fecha, vii) separadores para la fecha. \npthousandsep{.} \npdecimalsign{,} \def\@DigitosMoneda{2} \def\@DigitosPorc{2} \def\@DigitosNumeracion{5} +\def\@FormatoFecha{ddmmyyyy} +\def\@FormatoFechaEntrada{dd-mm-yyyy} +\def\@FechaSeparadores{-} %% La moneda: \def\Moneda{Bs.} @@ -67,17 +75,41 @@ Archivo valores iniciales y condiciones de borde para factura.cls \def\@DenomAlicuotaA{A} \def\@DenomAlicuotaE{(E)} +%% El texto predeterminado para la nota interna por el descuento presidencial. +\def\@TextoDescuentoPresidencial{Se aplica un descuento del \@AlicuotaGDescPorc\% al IVA General seg\'un Decreto Presidencial 3085 en Gaceta Oficial 41239.} + %% Macros que guardan textos que corresponden a nombres de campos: \def\@@Fecha{Fecha de emisi\'on:} +\def\@@FechaVencimiento{Fecha de vencimiento:} +\def\@@Control{N\textordmasculine\space CONTROL} +\def\@@Datos{Datos del cliente} +\def\@@Resumen{Resumen del servicio} +\def\@@DenomFactura{FACTURA} +\def\@@DenomCotiza{COTIZACI\'ON} \def\@@RazonSocial{Raz\'on social:} +\def\@@Nombre{Nombre:} +\def\@@RIF{R.I.F.:} +\def\@@CI{C.I.:} +\def\@@Direccion{Direcci\'on fiscal:} +\def\@@Telefono{Tel\'efono:} +\def\@@Email{E-mail:} +\def\@@Contacto{Persona de contacto:} +\def\@@Proveedor{Proveedor:} +\def\@@Cliente{Cliente:} +\def\@@Emisor{Por el emisor} +\def\@@Conforme{Recib\'i conforme} +\def\@@Pagado{PAGADO} \def\@@NumItem{\#} \def\@@Cantidad{Cantidad} \def\@@Descripcion{Descripci\'on} +\def\@@Precio{Precio} \def\@@PrecioU{Precio U.} \def\@@PrecioS{Subtotal} +\def\@@Descuento{Dcto.} +\def\@@IVA{IVA} \def\@@PrecioT{Precio T.} -\def\@@Precio{Precio} \def\@@AlicuotaG{IVA G} +\def\@@AlicuotaGDesc{Descuento IVA G} \def\@@AlicuotaR{IVA R} \def\@@AlicuotaA{IVA A} \def\@@BIG{BI G} @@ -85,7 +117,6 @@ Archivo valores iniciales y condiciones de borde para factura.cls \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} @@ -94,22 +125,6 @@ Archivo valores iniciales y condiciones de borde para factura.cls \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, @@ -125,21 +140,29 @@ Archivo valores iniciales y condiciones de borde para factura.cls \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 +%% 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. +\setlength{\@SeparaFinLineaDesc}{0.15cm} + +%% Separación entre el teléfono y el carácter \@CaracterSeparaTelefonoEmail, y luego desde ese carácter hasta el email, +%% para cuando no hay resumen. +\setlength{\@SeparaTelefonoEmail}{0.666em} + %% Grosor de la línea de 'fancyhdr' para las cabeceras, en aquellas donde haya línea. -\def\@GrosorLineaInfoPag{0.4pt} +\setlength{\@GrosorLineaInfoPag}{0.4pt} + +%% Posición en X desde la derecha y excedente en la línea de la firma. +\setlength{\@FirmaReportePosX}{2cm} +\setlength{\@FirmaReporteExcesoLinea}{1.5cm} %% 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. +\PosFecha*{-0cm}{5cm} +\PosDenom*{0cm}{5cm} +\PosControl*{0cm}{-2.4cm} +\PosCondiciones{0cm}{-5.3cm} +%% 'X' no acepta valores negativos en \PosCondiciones. \PosFirmas{5cm}{1cm}{-2.4cm} %% La firma se define con un X_inicial, un X_final y un Y_inicial (Xo,Xf,Y) @@ -150,22 +173,40 @@ Archivo valores iniciales y condiciones de borde para factura.cls \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} +\SepVertical{0.2cm} + +%% Separación horizontal entre la caja de los datos del cliente y la caja del resumen. +\SepDatosResumen{0.2cm} + +%% Separación horizontal interna entre la línea y el texto en los datos del cliente y en el resumen. +\SepEncabezado{6pt} -%% 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 interna entre la línea y el texto de la nota previa. +\SepNotaPrevia{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} +\SepDescripcion{6pt} + +\SepCondiciones{5pt} %% Grosor de la línea de las cajas del encabezado, curvatura de la esquina y sombra. -\LineaEncabez{0.4pt}{10pt}{0pt} +%% (si pedimos linea de 0pt, todo queda en cero y no se abre el ambiente TikZ). +\LineaEncabezado{0.4pt}{10pt}{0pt} + +%% Grosor de la línea de la nota previa, curvatura de la esquina y sombra. +%% (si pedimos linea de 0pt, todo queda en cero y no se abre el ambiente TikZ). +\LineaNotaPrevia{0.4pt}{7pt}{0pt} %% Grosor de la línea de la descripción, curvatura de la esquina y sombra. -\LineaDescrip{0.4pt}{0pt}{4pt} +%% (si pedimos linea de 0pt, todo queda en cero y no se abre el ambiente TikZ). +\LineaDescripcion{0.4pt}{0pt}{4pt} + +%% Grosor de la línea de las condiciones, curvatura de la esquina y sombra. +%% (si pedimos linea de 0pt, todo queda en cero y no se abre el ambiente TikZ). +\LineaCondiciones{0pt}{0pt}{0pt} %% 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} @@ -174,8 +215,14 @@ Archivo valores iniciales y condiciones de borde para factura.cls %% 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}} +%% Tipo de letra para la nota interna: +\LetraNotaInterna{\fontsize{11}{13}\itshape} + +%% Tipo de letra para la nota externa: +\LetraNotaExterna{\fontsize{14}{16.8}} + %% 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} +\LetraTitColumnas{\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} @@ -210,6 +257,9 @@ Archivo valores iniciales y condiciones de borde para factura.cls %% Tipo de letra para el texto bajo las líneas para firmar. \LetraFirmas{\fontsize{12}{12}} +%% Tipo de letra para la nota previa. +\LetraNotaPrevia{\fontsize{11}{12.5}} + %% Tipo de letra para las condiciones del documento. \LetraCondiciones{\fontsize{12}{12}} @@ -219,8 +269,8 @@ Archivo valores iniciales y condiciones de borde para factura.cls %% 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 las fechas (emisión y vencimiento). +\LetraFecha{\fontsize{14}{15}} %% Letra para el título del reporte. \LetraTitReporte{\fontsize{16}{22}\bfseries} @@ -228,29 +278,50 @@ Archivo valores iniciales y condiciones de borde para factura.cls %% Letra para las cabeceras de las páginas en el modo reporte. \LetraInfoPagina{\fontsize{12}{12}\slshape} +%% Letra para el reverso de la factura. +\LetraReverso{\fontsize{10}{12}} + %% Letra para el reporte. \LetraReporte{\fontsize{12}{20}} +%% Diseño hecho en TikZ para los datos del cliente, el resumen, la nota previa, la descripción y las condiciones. +\def\@DatosTIKZ{% + draw=black, fill=white, inner sep=\@SeparaInternaEncabezado, line width=\@GrosorLineaEncabezado, rounded corners=\@EsquinaLineaEncabezado, copy shadow={top color=black, bottom color=black, shadow xshift=\@SombraEncabezado, shadow yshift=-\@SombraEncabezado}} + +\let\@ResumenTIKZ\@DatosTIKZ + +\def\@NotaPreviaTIKZ{% + draw=black, fill=white, inner sep=\@SeparaInternaNotaPrevia, line width=\@GrosorLineaNotaPrevia, rounded corners=\@EsquinaLineaNotaPrevia, copy shadow={top color=black, bottom color=black, shadow xshift=\@SombraNotaPrevia, shadow yshift=-\@SombraNotaPrevia}} + +\def\@DescripcionTIKZ{% + draw=black, fill=white, inner sep=\@SeparaInternaDescripcion, line width=\@GrosorLineaDescripcion, rounded corners=\@EsquinaLineaDescripcion, copy shadow={top color=black, bottom color=black, shadow xshift=\@SombraDescripcion, shadow yshift=-\@SombraDescripcion}} + +\def\@CondicionesTIKZ{% + draw=black, fill=white, inner sep=\@SeparaInternaCondiciones, line width=\@GrosorLineaCondiciones, rounded corners=\@EsquinaLineaCondiciones, copy shadow={top color=black, bottom color=black, shadow xshift=\@SombraCondiciones, shadow yshift=-\@SombraCondiciones}} + %% El diseño de las distintas partes de la hoja. -\newcommand{\@EstiloFirmas}{% +\newcommand{\@EstiloFirmas}{ \@LetraFirmas \if@unafirma \else - \parbox{\@TamLineaFirmas}{% + \parbox{\@TamLineaFirmas}{ \rule{\@TamLineaFirmas}{\@GrosorLineaFirmas} - \centering \ifdefvoid{\@Conforme}{\@@Conforme}{\@Conforme}}% + \centering \ifdefvoid{\@Conforme}{\@@Conforme}{\@Conforme}} \fi \hfill - \parbox{\@TamLineaFirmas}{% + \parbox{\@TamLineaFirmas}{ \rule{\@TamLineaFirmas}{\@GrosorLineaFirmas} \centering \ifdefvoid{\@Emisor}{\if@cotizacion \@@Emisor \else \@@Pagado \fi}{\@Emisor}}} +\newcommand{\@EstiloNotaPrevia}{\@LetraNotaPrevia \@NotaPrevia} + \newcommand{\@EstiloCondiciones}{\@LetraCondiciones \@Condiciones} \newcommand{\@EstiloNumControl}{% + \renewcommand{\baselinestretch}{0}\selectfont \begin{tabular}{@{\extracolsep{0pt}}l} - \@LetraDenom \@@Control \\ - {\@LetraDenom\@NumSerieControl-}\space\@LetraNumeracion\@NumControl + \@LetraDenom \@@Control \\[.4em] + {\@LetraDenom\@NumSerieControl-}\space\@LetraNumeracion\@NumControl \\ \end{tabular}} \newcommand{\@EstiloDenom}{% @@ -260,13 +331,19 @@ Archivo valores iniciales y condiciones de borde para factura.cls \space\space{\@LetraNumeracion N\textordmasculine\space\@Num}% \fi} -\newcommand{\@EstiloFecha}{\@LetraFecha\@@Fecha{\ttfamily\ \@Fecha}} +\newcommand*{\@EstiloFechas}{% + \renewcommand{\baselinestretch}{0}% + \setlength{\tabcolsep}{0pt}% + \@LetraFecha\begin{tabular}{r@{\extracolsep{1ex}}l@{\extracolsep{0pt}}} + \@@Fecha & \ttfamily\@Fecha \\[.3em] + \if@vencimiento \@@FechaVencimiento & \ttfamily\@FechaVencimiento \\ \else \vspace*{-.3em}\fi + \end{tabular}} \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é. +%% Estilos de página: normal, sólo cabeceras, sólo pies de página y sólo número de página al pie. \fancypagestyle{plain}{% \expandafter\ps@fancy \fancyhf{}% |