summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/factura/factura.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/factura/factura.def')
-rw-r--r--Master/texmf-dist/tex/latex/factura/factura.def203
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{}%