summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/factura
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-04-19 03:02:39 +0000
committerNorbert Preining <norbert@preining.info>2020-04-19 03:02:39 +0000
commit0e85a1501dd8b23f1debab0ed20d89b11146ad34 (patch)
treebefb60d0cd0ba576dabe5d042857558605b21c27 /macros/latex/contrib/factura
parent1f544532dd3dd7f9b52644c6ca83b4db44d34051 (diff)
CTAN sync 202004190302
Diffstat (limited to 'macros/latex/contrib/factura')
-rw-r--r--macros/latex/contrib/factura/factura-ejemplo-prefactura.pdfbin93244 -> 91569 bytes
-rw-r--r--macros/latex/contrib/factura/factura.dtx144
-rw-r--r--macros/latex/contrib/factura/factura.pdfbin922456 -> 915701 bytes
3 files changed, 100 insertions, 44 deletions
diff --git a/macros/latex/contrib/factura/factura-ejemplo-prefactura.pdf b/macros/latex/contrib/factura/factura-ejemplo-prefactura.pdf
index 557ded831c..2486e58a52 100644
--- a/macros/latex/contrib/factura/factura-ejemplo-prefactura.pdf
+++ b/macros/latex/contrib/factura/factura-ejemplo-prefactura.pdf
Binary files differ
diff --git a/macros/latex/contrib/factura/factura.dtx b/macros/latex/contrib/factura/factura.dtx
index 64b75962b5..58776779e2 100644
--- a/macros/latex/contrib/factura/factura.dtx
+++ b/macros/latex/contrib/factura/factura.dtx
@@ -1,7 +1,7 @@
%\iffalse meta-comment
%
% factura.dtx
-% Copyright 2019 Emilio Augusto Lazo Zaia <emiliolazozaia@gmail.com>
+% Copyright 2020 Emilio Augusto Lazo Zaia <emiliolazozaia@gmail.com>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -40,7 +40,7 @@
\input docstrip.tex
\preamble
-Copyright 2019 Emilio Augusto Lazo Zaia <emiliolazozaia@gmail.com>
+Copyright 2020 Emilio Augusto Lazo Zaia <emiliolazozaia@gmail.com>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -173,7 +173,7 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%<class>\ProvidesClass{factura}
%<def>\ProvidesFile{factura.def}
%<*class|def>
-[2019/08/16 v3.70
+[2020/04/18 v3.73
%<class>Clase para elaborar facturas legales
%<class>en la Repu'blica Bolivariana de Venezuela.
%<def>Archivo de valores iniciales y condiciones de borde para factura.cls
@@ -390,6 +390,7 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
\author{Emilio Augusto Lazo Zaia\\ \texttt{<emiliolazozaia at gmail.com>}}
\GetFileInfo{\jobname.dtx}
+\DoNotIndex{}
\begin{document}
\maketitle
@@ -441,20 +442,25 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
% v3.57 -> Esta será la última versión que sacamos solamente para corregir fechas de la Reconversión Monetaria; si el Gobierno Nacional cambia las fechas nuevamente, el usuario tendrá que hacer uso de la interfaz del paquete |datetime2| para ajustar el funcionamiento de esta clase a los nuevos plazos; para esto aclaramos que el identificador para la entrada de la Reconversión Monetaria se llama {\slshape FechaBsS}\footnote{recordemos que antes de esta fecha, los montos se expresan en Bolívares Fuertes y la nota automática aclara cuánto es en Bolívares Soberanos, y después de esta fecha es al contrario.} y el identificador para el momento (que aún no se ha dicho) desde el cual la moneda vuelve a llamarse Bolívar es {\slshape FechaBs}. Para ajustarlos se usa el comando \cs{DTMsavedate} y las fechas se dan en formato {\slshape yyyy-mm-dd}. Damos como ejemplo lo que actualmente está programado en esta clase:
- Desde el 15/02/2019 la moneda nacional se vuelve a llamar “Bolívar” abreviado “Bs” sin “soberano”; esto según Gaceta Oficial 41.587. Quitamos toda referencia a la Reconversión Monetaria.
+ % v3.70 -> Desde el 15/02/2019 la moneda nacional se vuelve a llamar “Bolívar” abreviado “Bs” sin “soberano”; esto según Gaceta Oficial 41.587. Quitamos toda referencia a la Reconversión Monetaria.
- También en esta versión establecemos la tasa de IVA general como 16\% tal como ya está vigente desde agosto del año 2018.
+ % v3.70 -> También en esta versión establecemos la tasa de IVA general como 16\% tal como ya está vigente desde agosto del año 2018.
- Ya no está activa la opción |electro| para descuentos en pagos por medios electrónicos porque ya no está vigente el decreto.
+ % v3.70 -> Ya no está activa la opción |electro| para descuentos en pagos por medios electrónicos porque ya no está vigente el decreto.
- Ahora en los totales aparece el signo monetario siempre a menos de que se pida en la clase la opción |sinmonedatotales|.
+ % v3.70 -> Ahora en los totales aparece el signo monetario siempre a menos de que se pida en la clase la opción |sinmonedatotales|.
- En esta misma versión se agregó un “gancho” llamado \cs{BeforeEndPreamble} para usos muy específicos.
+ % v3.70 -> En esta misma versión se agregó un “gancho” llamado \cs{BeforeEndPreamble} para usos muy específicos.
- Las “condiciones del documento” ya no son “condiciones” sino que ahora lo llamamos “nota final” porque es otra nota más aparte de las demás, y va al final del documento; no tiene sentido hablar de condiciones del documento para referirse a ese espacio. Con eso se renombran los 5 comandos, pero dejando por compatibilidad unos alias a los viejos; los nuevos son: \cs{NotaFinal}, \cs{PosNotaFinal}, \cs{SepNotaFinal}, \cs{LineaNotaFinal}, \cs{LetraNotaFinal}.
+ % v3.70 -> Las “condiciones del documento” ya no son “condiciones” sino que ahora lo llamamos “nota final” porque es otra nota más aparte de las demás, y va al final del documento; no tiene sentido hablar de condiciones del documento para referirse a ese espacio. Con eso se renombran los 5 comandos, pero dejando por compatibilidad unos alias a los viejos; los nuevos son: \cs{NotaFinal}, \cs{PosNotaFinal}, \cs{SepNotaFinal}, \cs{LineaNotaFinal}, \cs{LetraNotaFinal}.
- La macro \cs{PosNotaFinal} se comporta ahora como \cs{PosFirmas}, es decir, acepta un valor inicial en “x” y uno final.
+ % v3.70 -> La macro \cs{PosNotaFinal} se comporta ahora como \cs{PosFirmas}, es decir, acepta un valor inicial en “x” y uno final.
+ \begin{itemize}
+ \item La tasa de IVA adicional se ajustó a su valor actualizado (31\%).
+ \item Los comandos \cs{NotaPrevia}. \cs{NotaInterna}. \cs{NotaExterna} y \cs{NotaFinal} aceptan uno o dos asteriscos. Sin asteriscos, una segunda invocación del comando para la nota hace que se sustituya la primera nota especificada; con un asterisco, agrega al final de la nota ya existente, y con dos asteriscos, agrega lo nuevo al principio de la nota ya existente.
+ \end{itemize}
+
\section*{Agradecimientos}
Por pruebas y sugerencias que dieron lugar a mejoras agradezco a Ritguey%
@@ -599,7 +605,6 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
% \changes{v3.40}{2017/12/11}{Nueva opción \texttt{iva} para agregar una columna adicional que muestra el IVA de cada item.}
% \changes{v3.40}{2017/12/11}{Modificada la macro interna \cs{@DescripcionAuxCmd} por problemas que daba en algunos casos.}
% \changes{v3.40}{2017/12/11}{Se renombró la opción \texttt{exparriba} por \texttt{expandecuadro}.}
-% \DoNotIndex{}
% \changes{v3.40}{2017/12/11}{Modificada la definición de \cs{ItemX} para que maneje la descripción especial para el archivo \texttt{csv}.}
% \changes{v3.40}{2017/12/11}{Nuevo comando \cs{ivaref} para referenciar el IVA del ítem etiquetado.}
% \changes{v3.40}{2017/12/11}{Se cambiaron unos \cs{AtEndDocument} por \cs{AtBeginShipoutNext}. Se hizo necesario siempre el paquete \texttt{eso-pic}.}
@@ -637,6 +642,11 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
% \changes{v3.70}{2019/08/17}{Corregido el posicionamiento en “x” de la nota final.}
% \changes{v3.70}{2019/08/17}{Ahora la macro \cs{PosNotaFinal} acepta un intervalo en “x” para posicionar la nota final, es decir que funciona como \cs{PosFirmas}.}
% \changes{v3.70}{2019/08/17}{Mejorada la macro interna que escribe la fecha en la metadata; ya no usa \texttt{xstring} sino \LaTeX3. Quitado código espúreo de \texttt{xstring} en las macros que permiten fijar las posiciones de los elementos fijos.}
+% \changes{v3.73}{2020/04/18}{Cuando se definen dos entornos de factura ya no advierte sino que ignora el segundo.}
+% \changes{v3.73}{2020/04/18}{Asteriscos para las notas previa, interna, externa y final. Sin asteriscos, sustituye la nota, con un asterisco agrega la nueva nota al final de la nota previamente definida y con dos asteriscos agrega la nueva nota al principio de la nota previamente definida.}
+% \changes{v3.73}{2020/04/18}{Corrección en la metadata luego de que el paquete \texttt{oberdiek} fuera actualizado.}
+% \changes{v3.73}{2020/04/18}{Corregido error en referencia a macro interna \cs{@TamFinalEncabezadoado} introducido en versión v3.11.}
+% \changes{v3.73}{2020/04/18}{Actualizada la tasa de IVA adicional correcta en 31\%.}
%
%
% \tableofcontents
@@ -652,7 +662,7 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%
% \section{Introducción}
%
-% La clase de \LaTeX{} |factura| está diseñada para su uso en la República Bolivariana de Venezuela, conforme a los requerimientos fijados por las providencias del {\slshape SENIAT} 0591, 0257, 0071 y 0048, válidas éstas para agosto del año 2019.
+% La clase de \LaTeX{} |factura| está diseñada para su uso en la República Bolivariana de Venezuela, conforme a los requerimientos fijados por las providencias del {\slshape SENIAT} 0591, 0257, 0071 y 0048, válidas éstas para abril del año 2020.
%
% Con |factura| se pueden elaborar facturas en formas libres fiscales\footnote{En cuanto a las formas libres, cada hoja del talonario de facturas legales tiene un encabezado con los datos del emisor de la factura y un pie de página con la información de identificación de la imprenta, en tamaño de hoja carta entera; esto es lo que se llama “forma libre”.}, cotizaciones y reportes de servicios, dejando todos los cálculos a \TeX{}.
%
@@ -1239,7 +1249,7 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%
% Con |\FormatoFecha|, al tener todos sus argumentos opcionales, el usuario podrá especificar solamente el primero (que va entre corchetes), solamente el segundo (entre llaves), pero para especificar el tercero que también está entre llaves debe especificar el segundo, ya que ambos son opcionales pero se dan igualmente entre llaves. Naturalmente podrá especificar dos de estos argumentos o los tres.
%
-% Por ejemplo: |\FormatoFecha[mm-dd-aaaa]{mmddyyyy}{.}| serviría para que el usuario pueda dar la fecha así: |\Fecha{12-31-2019}| y que salga igualmente según el formato |mm-dd-aaaa| pero separado por puntos. También puede usarse |\FormatoFecha[aaaa-mm-dd]| para dar luego la fecha de esta forma: |\Fecha{2019-12-31}| pero esta saldrá igual impresa en la factura así: “|31-12-2019|”, ya que no cambiamos el formato de salida. También puede hacer |\FormatoFecha{mmddyyyy}{/}| y dar la fecha por ejemplo así: |\Fecha*{2019}{12}{31}| y saldrá impresa así: “|12/31/2019|”.
+% Por ejemplo: |\FormatoFecha[mm-dd-aaaa]{mmddyyyy}{.}| serviría para que el usuario pueda dar la fecha así: |\Fecha{12-31-2020}| y que salga igualmente según el formato |mm-dd-aaaa| pero separado por puntos. También puede usarse |\FormatoFecha[aaaa-mm-dd]| para dar luego la fecha de esta forma: |\Fecha{2020-12-31}| pero esta saldrá igual impresa en la factura así: “|31-12-2020|”, ya que no cambiamos el formato de salida. También puede hacer |\FormatoFecha{mmddyyyy}{/}| y dar la fecha por ejemplo así: |\Fecha*{2020}{12}{31}| y saldrá impresa así: “|12/31/2020|”.
%
% Los valores predeterminados cambiables con |\FormatoFecha| están definidos, como siempre, en el archivo |factura.def|.
%
@@ -1290,22 +1300,46 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%
% Pone un resumen que va en una caja a la derecha de los datos del cliente, separado de esta en una distancia ajustable con el comando |\SepEncabezado|, que se describirá más adelante. Este resumen es opcional.
%
-% \DescribeMacro{\NotaPrevia}{\macrooptcolor|\NotaPrevia|\marg{texto}}
+% \DescribeMacro{\NotaPrevia}
+% \DescribeMacro{\NotaPrevia*}
+% \DescribeMacro{\NotaPrevia**}
+% {\macrooptcolor|\NotaPrevia|\marg{texto}}\\
+% {\macrooptcolor|\NotaPrevia*|\marg{texto}}\\
+% {\macrooptcolor|\NotaPrevia**|\marg{texto}}
%
% La nota previa es una nota que puede ponerse antes del cuadro de la factura. Sin especificarla no sale nota alguna. Dicha nota va en un recuadro \tikz cuyo aspecto puede cambiarse, como ya se mencionó en la sección \ref{subsec:espacioslineas} donde se explican las líneas o contornos.
%
-% \DescribeMacro{\NotaInterna}{\macrooptcolor|\NotaInterna|\marg{texto}}
+% \DescribeMacro{\NotaInterna}
+% \DescribeMacro{\NotaInterna*}
+% \DescribeMacro{\NotaInterna**}
+% {\macrooptcolor|\NotaInterna|\marg{texto}}\\
+% {\macrooptcolor|\NotaInterna*|\marg{texto}}\\
+% {\macrooptcolor|\NotaInterna**|\marg{texto}}
%
% La nota interna es una coletilla que aparece dentro del cuadro de la factura, por eso la llamamos interna (es interna al cuadro), por ejemplo si aplicamos un descuento podemos decir allí cerca de los totales a qué corresponde tal descuento, o para hacer alguna aclaratoria sobre lo que precede inmediatamente como algún ítem de la factura.
%
-% \DescribeMacro{\NotaExterna}{\macrooptcolor|\NotaExterna|\marg{texto}}
+% \DescribeMacro{\NotaExterna}
+% \DescribeMacro{\NotaExterna*}
+% \DescribeMacro{\NotaExterna**}
+% {\macrooptcolor|\NotaExterna|\marg{texto}}\\
+% {\macrooptcolor|\NotaExterna*|\marg{texto}}\\
+% {\macrooptcolor|\NotaExterna**|\marg{texto}}
%
% La nota externa es otro texto opcional que el usuario puede introducir y saldrá al terminar el cuadro de la factura, antes de la opcional descripción larga (comando |\Descripcion|). {\itshape La nota externa no tiene formato \tikz.}
%
-% \DescribeMacro{\NotaFinal}{\macrooptcolor|\NotaFinal|\marg{texto}}
+% \DescribeMacro{\NotaFinal}
+% \DescribeMacro{\NotaFinal*}
+% \DescribeMacro{\NotaFinal**}
+% {\macrooptcolor|\NotaFinal|\marg{texto}}\\
+% {\macrooptcolor|\NotaFinal*|\marg{texto}}\\
+% {\macrooptcolor|\NotaFinal**|\marg{texto}}
%
% Con este comando se establece el texto para la nota final\footnote{Antiguas condiciones de la factura, por ejemplo, para las condiciones de pago si se trata de una factura, o para las condiciones de una cotización.}. Es opcional; si no se define no sale texto alguno. También se puede destinar este espacio para un diseño (que haría el usuario) en el que se agreguen también algunas casillas para especificar la forma de pago.
%
+% Las cuatro notas diferentes (previa, interna, externa y final) aceptan dos asteriscos opcionales. Sin asteriscos, cualquier invocación al comando elimina la invocación previa de ese mismo comando, es decir, sustituye la nota, sólo tiene efecto la última vez que se ejecutó ese comando. Si se especifica un asterisco, el texto para esa nota queda al final del texto para esa misma nota en la invocación anterior. Si se especifican dos asteriscos, agrega el texto al principio del texto previamente especificado para esa nota.
+%
+% Por ejemplo, escribir \cs{NotaPrevia\{1234\}}\cs{NotaPrevia\{5678\}} hace que el resultante sea como escribir solamente \cs{NotaPrevia\{5678\}}. Por otra parte, hacer \cs{NotaPrevia\{1234\}}\cs{NotaPrevia*\{5678\}} resulta en que la nota previa quede como si se utilizara \cs{NotaPrevia\{12345678\}}. Finalmente, hacer \cs{NotaPrevia\{1234\}}\cs{NotaPrevia**\{5678\}} es lo mismo que hacer \cs{NotaPrevia\{56781234\}}.
+%
%
% \subsection{Estableciendo los parámetros relativos al reporte}
%
@@ -1890,7 +1924,6 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
% |\cantref| & Muestra la cantidad del ítem referenciado. \\
% |\CI| & Cédula de identidad del cliente. \\
% |\Cliente| & Carga un archivo |.def| o |.tex| con personalizaciones. \\
-% |\NotaFinal| & Establece la nota final. \\
% |\Conforme| & Nombre de quien recibe la factura, para el espacio de la firma. \\
% |\Contacto| & Persona de contacto. \\
% |\Credito| & Establece la cantidad de días para el crédito de la factura. \\
@@ -1966,9 +1999,14 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
% \rmfamily \bfseries Comando & \bfseries Significado \\ \hline
% |\Moneda| & Cambia el signo monetario a mostrar. \\
% |\Nombre| & Establece el nombre del cliente. \\
-% |\NotaInterna| & Escribe una nota interna al cuadro de la factura. \\
% |\NotaExterna| & Escribe una nota extra externa al cuadro de la factura. \\
+% |\NotaExterna* **| & Con |*| agrega la nota externa después de la anterior; con |**|, al principio. \\
+% |\NotaFinal| & Establece la nota final. \\
+% |\NotaFinal* **| & Con |*| agrega la nota final después de la anterior; con |**|, al principio. \\
+% |\NotaInterna| & Escribe una nota interna al cuadro de la factura. \\
+% |\NotaInterna* **| & Con |*| agrega la nota interna después de la anterior; con |**|, al principio. \\
% |\NotaPrevia| & Escribe una nota antes del cuadro de la factura. \\
+% |\NotaPrevia* **| & Con |*| agrega la nota previa después de la anterior; con |**|, al principio. \\
% |\Num| & Número de la factura. \\
% |\NumControl| & Número de control de la factura. \\
% |\NumSerieControl| & Número de serie de control de la factura. \\
@@ -2385,11 +2423,12 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
\ifxetex
\special{pdf: docinfo << /Subject (\@factura@ver) >>}
\else
- \ifluatex
- \pdfextension info{/Subject (\@factura@ver)}
- \else
- \pdfinfo{/Subject (\@factura@ver)}
- \fi
+ \AtEndDocument{
+ \ifluatex
+ \pdfextension info{/Subject (\@factura@ver)}
+ \else
+ \pdfinfo{/Subject (\@factura@ver)}
+ \fi}
\fi
\def\@EstableceOpciones{%
@@ -2687,7 +2726,7 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%<def> % \def\@AlicuotaGDescAlto{0.05}
%<def> % \def\@AlicuotaGDescLimite{2000000}
%<def>\def\@AlicuotaR{0.08}
-%<def>\def\@AlicuotaA{0.27}
+%<def>\def\@AlicuotaA{0.31}
%<def>
%</class|def>
%<*def>
@@ -2879,23 +2918,33 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%% Información de página: cabeceras de páginas o pies de página.
\def\InfoPagina#1{\gdef\@InfoPagina{#1}}
-%% Texto para la nota final.
-\NewDocumentCommand{\NotaFinal}{+m}{\gdef\@NotaFinal{#1}}
-\NewDocumentCommand{\Condiciones}{+m}{\gdef\@NotaFinal{#1}\@ClassWarningCondiciones}
-
-%% Advertencia para la migración de cualquier comando para condiciones a nota final.
+%% Advertencia para la migración de cualquier comando de condiciones a nota final.
\def\@ClassWarningCondiciones{\CLASSWARNING{Ya no son condiciones sino nota final, debe hacerse la migración a los nuevos comandos}}
%% Resumen opcional que va a la derecha de los datos del cliente.
\NewDocumentCommand{\Resumen}{+m}{\gdef\@Resumen{#1}}
-\NewDocumentCommand{\NotaPrevia}{+m}{\gdef\@NotaPrevia{#1}}
+%% Nota previa (al cuadro), nota interna (del cuadro), nota externa (luego del cuadro) y nota final (luego de la descripción).
+\NewDocumentCommand{\NotaPrevia}{s s +m}{%
+ \IfBooleanTF{#2}
+ {\gpreto{\@NotaPrevia}{#3}}
+ {\IfBooleanTF{#1}{\gappto{\@NotaPrevia}{#3}}{\gdef\@NotaPrevia{#3}}}}
-%% Nota interna al cuadro de la factura y nota externa a él (que sale antes de \Descripcion).
-\NewDocumentCommand{\NotaInterna}{+m}{%
- \ifdefvoid{\@NotaInterna}{}{\CLASSWARNING{Se sobreescribio' la nota interna previamente definida}}%
- \gdef\@NotaInterna{#1}}
-\NewDocumentCommand{\NotaExterna}{+m}{\gdef\@NotaExterna{#1}}
+\NewDocumentCommand{\NotaInterna}{s s +m}{%
+ \IfBooleanTF{#2}
+ {\gpreto{\@NotaInterna}{#3}}
+ {\IfBooleanTF{#1}{\gappto{\@NotaInterna}{#3}}{\gdef\@NotaInterna{#3}}}}
+
+\NewDocumentCommand{\NotaExterna}{s s +m}{%
+ \IfBooleanTF{#2}
+ {\gpreto{\@NotaExterna}{#3}}
+ {\IfBooleanTF{#1}{\gappto{\@NotaExterna}{#3}}{\gdef\@NotaExterna{#3}}}}
+
+\NewDocumentCommand{\NotaFinal}{s s +m}{%
+ \IfBooleanTF{#2}
+ {\gpreto{\@NotaFinal}{#3}}
+ {\IfBooleanTF{#1}{\gappto{\@NotaFinal}{#3}}{\gdef\@NotaFinal{#3}}}}
+\NewDocumentCommand{\Condiciones}{+m}{\gdef\@NotaFinal{#1}\@ClassWarningCondiciones}
\AtBeginDocument{%
% Si no se especificó fecha, tomamos la de hoy. Además, advertimos cuando el documento se está compilando en una fecha distinta de la fecha establecida en el encabezado.
@@ -3371,8 +3420,11 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%% Gracias a Heiko Oberdiek y a David Carlisle (Thanks to Heiko Oberdiek and David Carlisle).
%% http://tex.stackexchange.com/questions/108565/know-the-cell-width-with-tabular-or-include-a-paragraph-box-without-specifying
\NewEnviron{factura}{%
- \expandafter\@FacturaAuxCmd\expandafter{\BODY}%
- \ifnum\value{page}=1\else\CLASSERROR{La factura ocupa mas que una pagina}\fi}
+ \ifx\undefined\Total
+ \expandafter\@FacturaAuxCmd\expandafter{\BODY}%
+ \ifnum\value{page}=1\else\CLASSERROR{La factura ocupa mas que una pagina}\fi
+ \else
+ \CLASSERROR{Ya se uso' un entorno de factura, ignorando}\fi}
\NewEnviron{reverso}{%
\if@factura
@@ -3880,7 +3932,6 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
\ifdim \ht\@CajaEspacioVacio=0pt \global\lineafalse \else \@ExpandeCuadrotrue \fi
\fi
- \ifx\undefined\Total\relax\else\CLASSERROR{Parece ya haberse usado un entorno de factura}\fi
%
% Comandos \David@SavePos, \David@XStart, \David@XEnd, \David@XPad, \David@XLeft y \David@XRight para poder manejar el salto de línea en las columnas adyacentes a la columna 'X' del tabularx (la descripción), cuando esta ocupa más que una línea.
% Gracias a David Carlisle (Thanks to David Carlisle).
@@ -4479,7 +4530,7 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
\ifdim\@TamDatos>\@TamResumen
\setlength{\@TamFinalEncabezado}{\@TamDatos}%
\else
- \setlength{\@TamFinalEncabezadoado}{\@TamResumen}%
+ \setlength{\@TamFinalEncabezado}{\@TamResumen}%
\fi
\begin{tikzpicture}%
\expandafter\node\expandafter[\@DatosTIKZ]{%
@@ -4867,8 +4918,10 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%<factuno|factdos|factcinco|factocho>%% (\Resumen) Con resumen
%<facttres|factcuatro|factseis|factsiete|prefac|cotiza|repuno|repdos>%% Sin resumen
%<factcuatro|factnueve|factdiez>%% (\NotaPrevia) Con nota previa
+%<factnueve>%% (\NotaPrevia*) Con nota previa agregada al final de la nota previa anterior
%<factocho|factnueve>%% (\NotaInterna) Con nota interna
%<factnueve>%% (\NotaExterna) Con nota externa
+%<factnueve>%% (\NotaExterna**) Con nota externa agregada al principio de la nota externa anterior
%
%<factdos|facttres>%% Con artículos gravados con todos los IVA
%<factseis|factsiete|factocho>%% Escribimos un ítem cuya descripción ocupa más que una línea
@@ -5003,9 +5056,9 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%<factcinco>\FormatoFecha[yyyymmdd]{ddmmyyyy}{.}
%<facttres>\FormatoFecha{ddmmyyyy}{/}
%<factseis>\FormatoFecha{default}{/}
-%<!facttres&!factcuatro&!factcinco>\Fecha{06-11-2019}
-%<factcuatro>\Fecha*{2019}{06}{11}
-%<factcinco>\Fecha{20191106}
+%<!facttres&!factcuatro&!factcinco>\Fecha{02-07-2020}
+%<factcuatro>\Fecha*{2020}{07}{02}
+%<factcinco>\Fecha{20200702}
%<factsiete|factocho>
%<factsiete|factocho>\makeatletter
%<factocho> \renewcommand{\@@Fecha}{\slshape FECHA:}
@@ -5081,9 +5134,12 @@ factura-ejemplo-reporte3.tex and factura-beispiel-rechnung.tex.
%<beispiel>\NotaFinal{Die Zahlungsbedingungen}
%<factuno|factdos|factcinco|factocho>\Resumen{El resumen opcional}
%<beispiel>\Resumen{Zusammenfassung}
-%<factcuatro|factnueve|factdiez>\NotaPrevia{\hfill LA NOTA PREVIA}
+%<factcuatro|factdiez>\NotaPrevia{\hfill LA NOTA PREVIA}
+%<factnueve>\NotaPrevia{\hfill LA NOTA PREVIA}
+%<factnueve>\NotaPrevia*{- SEGUNDA PARTE DE LA NOTA PREVIA}
%<factocho|factnueve>\NotaInterna{LA NOTA INTERNA}
%<factnueve>\NotaExterna{LA NOTA EXTERNA}
+%<factnueve>\NotaExterna**{PRIMERA PARTE DE LA NOTA EXTERNA - }
\begin{document}
%<!reptres>
diff --git a/macros/latex/contrib/factura/factura.pdf b/macros/latex/contrib/factura/factura.pdf
index edffeb7031..fbaea53f48 100644
--- a/macros/latex/contrib/factura/factura.pdf
+++ b/macros/latex/contrib/factura/factura.pdf
Binary files differ