From 4efb345fea5a89cba5c023d090b1eec849cec37c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 17 Jul 2017 21:28:03 +0000 Subject: factura (17jul17) git-svn-id: svn://tug.org/texlive/trunk@44831 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/factura/README | 9 +- .../doc/latex/factura/factura-ejemplo-factura4.tex | 2 +- .../doc/latex/factura/factura-ejemplo-factura6.tex | 4 +- .../doc/latex/factura/factura-ejemplo-factura7.tex | 13 +- .../doc/latex/factura/factura-ejemplo-factura8.tex | 4 +- .../latex/factura/factura-ejemplo-prefactura.pdf | Bin 0 -> 191769 bytes Master/texmf-dist/doc/latex/factura/factura.hd | 0 Master/texmf-dist/doc/latex/factura/factura.pdf | Bin 1441411 -> 2244545 bytes Master/texmf-dist/source/latex/factura/factura.dtx | 171 ++++++++++++++------- Master/texmf-dist/source/latex/factura/factura.ins | 2 +- Master/texmf-dist/tex/latex/factura/factura.cls | 6 +- Master/texmf-dist/tex/latex/factura/factura.def | 13 +- Master/tlpkg/libexec/ctan2tds | 1 + 13 files changed, 150 insertions(+), 75 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/factura/factura-ejemplo-prefactura.pdf delete mode 100644 Master/texmf-dist/doc/latex/factura/factura.hd (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/factura/README b/Master/texmf-dist/doc/latex/factura/README index 24df99743cd..0e558091ef6 100644 --- a/Master/texmf-dist/doc/latex/factura/README +++ b/Master/texmf-dist/doc/latex/factura/README @@ -26,7 +26,7 @@ $ pdftex factura.dtx Para generar los archivos y compilar la documentación: -$ pdflatex factura.dtx +$ xelatex factura.dtx $ pdflatex factura-ejemplo-fondo.tex $ pdflatex factura-ejemplo-membrete.tex $ xelatex factura-ejemplo-firma.tex @@ -37,7 +37,7 @@ $ pdflatex factura-ejemplo-factura1.tex $ pdflatex factura-ejemplo-reporte1.tex ... hasta el último $ pdflatex factura-beispiel-rechnung.tex -$ pdflatex factura.dtx +$ xelatex factura.dtx Los índices y la lista de cambios se generan automáticamente al compilar la documentación, pero los comandos para generarlos son: @@ -45,5 +45,6 @@ la documentación, pero los comandos para generarlos son: $ makeindex -s gind.ist -o factura.ind factura.idx $ makeindex -s gglo.ist -o factura.gls factura.glo -El ejemplo de firma debe compilarse con XeLaTeX; lo demás puede compilarse con -pdfLaTeX, LuaLaTeX o XeLaTeX. +El ejemplo de firma debe compilarse con XeLaTeX; el archivo principal .dtx +es preferible que se compile con XeLaTeX o LuaLaTex, y lo demás puede +compilarse con pdfLaTeX, LuaLaTeX o XeLaTeX. diff --git a/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura4.tex b/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura4.tex index 02c13d3b2ca..9e92e78c3c7 100644 --- a/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura4.tex +++ b/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura4.tex @@ -45,7 +45,7 @@ %% Expande el cuadro de la factura con espacio en blanco (exparriba), %% Sin condiciones del documento (sincondiciones), %% Agregando una separación extra entre los ítems en la factura (\SepItemsExtra), -%% Cambiando varias de las tipografías (\Letra...), +%% Cambiando varias de las tipografías (\Letra***), %% Usando “\Nombre” y “\CI” en lugar de “\RazonSocial” y “\RIF”, %% Sin especificar la persona de contacto, %% Sin especificar el e-mail del cliente, diff --git a/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura6.tex b/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura6.tex index dd89f19ae85..47e8bed1e90 100644 --- a/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura6.tex +++ b/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura6.tex @@ -45,7 +45,7 @@ %% Obligando a especificar todos los IVA así no existan productos gravados con ellos (todosiva), %% Especificando 'G' en los ítems gravados con IVA general (G), %% Escribe un archivo CSV con la información numérica de la factura (csv), -%% Redefiniendo el formato de la fecha (redefiniendo \@@Fecha y \@EstiloFecha), +%% Redefiniendo el formato de la fecha (redefiniendo macros \@@Fecha y \@EstiloFecha), %% Especificando el nombre de quien firma la copia de la factura como recibida (\Conforme), %% Con etiquetas y referencias, %% Con descripción larga (\Descripcion). @@ -85,7 +85,7 @@ csv, \begin{factura} \Item{2}{ítem con IVA general}{1000}\label{primeritem} - \Item{10}{otro ítem con IVA general -descripción larga para mostrar el cambio de línea-}{1000} + \Item{10}{otro ítem con IVA general (descripción larga para mostrar el cambio de línea)}{1000} \end{factura} \Descripcion{Descripción larga del servicio. diff --git a/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura7.tex b/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura7.tex index bfdaa6b3cf5..7a1a1534cae 100644 --- a/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura7.tex +++ b/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura7.tex @@ -37,6 +37,8 @@ %% Descripción de este ejemplo: %% %% Escribimos una factura, +%% Con descuentos individuales (descuentos), +%% Con columna extra para subtotal (subtotal), %% Totalización en modo de filas (filas), %% Escribimos un ítem cuya descripción ocupa más que una línea, %% Cuando la descripción de un ítem ocupa más que una línea, no pone el carácter que indica continuación en la siguiente línea ni los caracteres en las columnas vacías (sinmarcas), @@ -50,10 +52,13 @@ %% Alterando la línea de la descripción, la curvatura en la esquina y la sombra (\LineaDescrip), %% Alterando la longitud de las líneas para firmar y su grosor (\LineaFirmas), %% Alterando la posición de la fecha, las firmas y de la denominación del documento (\PosFecha, \PosFirmas y \PosDenom), +%% Redefiniendo el texto para la cantidad (redefiniendo macro \@@Cantidad), %% Con descripción larga (\Descripcion). %% %% \documentclass[ +descuentos, +subtotal, filas, sinmarcas, todosiva, @@ -73,6 +78,10 @@ todosiva, \PosFirmas{1cm}{1cm}{-3cm} \PosDenom{-0cm}{4.3cm} +\makeatletter + \renewcommand{\@@Cantidad}{Cant.} +\makeatother + \Fecha{06-11-2017} \RazonSocial{Ayala San Vicente Usureros} \RIF{Y-12.345.678-9} @@ -85,8 +94,8 @@ todosiva, \begin{document} \begin{factura} - \Item{1}{ítem con IVA general}{1000} - \Item{10}{otro ítem con IVA general -descripción larga para mostrar el cambio de línea-}{1000} + \Item{1}{ítem con IVA general, con descuento}{1000}{8} + \Item{10}{otro ítem con IVA general (descripción larga para mostrar el cambio de línea)}{1000}{20} \end{factura} \Descripcion{Descripción larga del servicio} diff --git a/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura8.tex b/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura8.tex index 7292c2de5c0..6c253fead5e 100644 --- a/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura8.tex +++ b/Master/texmf-dist/doc/latex/factura/factura-ejemplo-factura8.tex @@ -40,8 +40,8 @@ %% Escribimos factura y reporte, pero sólo producimos la factura, %% Sin expandir el cuadro de la factura ni la descripción (sinexpandir), %% Sin IVA (siniva), -%% Cambiando varias de las tipografías (\Letra...), -%% Con descuentos totales en moneda aplicables por igual a todos los tipos de elementos existentes (\Descuento*), +%% Cambiando varias de las tipografías (\Letra***), +%% Con descuentos totales en moneda aplicables por igual a todos los tipos de elementos existentes (\Descuento***), %% Con resumen (\Resumen), %% Con descripción larga (\Descripcion). %% diff --git a/Master/texmf-dist/doc/latex/factura/factura-ejemplo-prefactura.pdf b/Master/texmf-dist/doc/latex/factura/factura-ejemplo-prefactura.pdf new file mode 100644 index 00000000000..1c0c581b5ba Binary files /dev/null and b/Master/texmf-dist/doc/latex/factura/factura-ejemplo-prefactura.pdf differ diff --git a/Master/texmf-dist/doc/latex/factura/factura.hd b/Master/texmf-dist/doc/latex/factura/factura.hd deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/Master/texmf-dist/doc/latex/factura/factura.pdf b/Master/texmf-dist/doc/latex/factura/factura.pdf index 31abab875db..07fc27c4bff 100644 Binary files a/Master/texmf-dist/doc/latex/factura/factura.pdf and b/Master/texmf-dist/doc/latex/factura/factura.pdf differ diff --git a/Master/texmf-dist/source/latex/factura/factura.dtx b/Master/texmf-dist/source/latex/factura/factura.dtx index 96f5ecc12bc..2cc57afe2bc 100644 --- a/Master/texmf-dist/source/latex/factura/factura.dtx +++ b/Master/texmf-dist/source/latex/factura/factura.dtx @@ -131,7 +131,7 @@ and factura-beispiel-rechnung.tex. \Msg{To produce only package files, type} \Msg{ pdftex \jobname.dtx} \Msg{To produce package files and pdf documentation, type} -\Msg{ pdflatex \jobname.dtx} +\Msg{ xelatex \jobname.dtx} \Msg{ pdflatex factura-ejemplo-fondo.tex} \Msg{ pdflatex factura-ejemplo-membrete.tex} \Msg{ xelatex factura-ejemplo-firma.tex} @@ -164,7 +164,7 @@ and factura-beispiel-rechnung.tex. %\ProvidesClass{factura} %\ProvidesFile{factura.def} %<*class|def> -[2017/03/11 v3.00 +[2017/07/16 v3.02 %Clase para elaborar facturas legales %en la República Bolivariana de Venezuela. %Archivo valores iniciales y condiciones de borde para factura.cls @@ -173,7 +173,7 @@ and factura-beispiel-rechnung.tex. % %<*driver> \documentclass{ltxdoc} -\usepackage[a4paper,headheight=0.6cm,headsep=0.77cm,footskip=1.2cm,footnotesep=0.54cm,marginparsep=10pt,vmargin={3.2cm,2cm},hmargin={4cm,2cm}]{geometry} +\usepackage[a4paper,headheight=0.6cm,headsep=0.77cm,footskip=1.2cm,footnotesep=0.54cm,marginparsep=10pt,vmargin={3cm,2cm},hmargin={4cm,2cm}]{geometry} \usepackage[usenames,dvipsnames]{xcolor} \usepackage[spanish]{babel} \usepackage{ @@ -194,19 +194,31 @@ and factura-beispiel-rechnung.tex. todo, verbatim, xparse, + xspace, xstring, hypdoc} -\ifxetex +% Necesario ejecutar \newif de esta forma: +\csname newif\expandafter\endcsname\csname ifmotorunicode\endcsname + +\ifxetex \motorunicodetrue +\else + \ifluatex \motorunicodetrue + \fi +\fi + +\ifmotorunicode \usepackage{fontspec} + \setmainfont[Ligatures=TeX,Mapping=TeX]{Linux Libertine O} \else \usepackage[T1]{fontenc} - \ifluatex - \else - \usepackage[utf8]{inputenc} - \fi + \usepackage[utf8]{inputenc} \fi +\overfullrule15pt + +\xspaceaddexceptions{*} + \hypersetup{ plainpages=false, colorlinks=true, @@ -268,6 +280,10 @@ and factura-beispiel-rechnung.tex. | Gracias a Werner y egreg por el uso de \begingroup\ttfamily\string ... \endgroup | Thanks to Werner and egreg for the use of \begingroup\ttfamily\string ... \endgroup | (http://tex.stackexchange.com/questions/342572/error-using-verb-as-the-replace-string-on-xpatchcmd) + +| Gracias a cfr y egreg por el esclarecimiento en cuanto a la necesidad de \makeatletter en \CatchFileBetweenDelims y antes de \regexpatchcmd* +| Thanks to cfr and egreg for the clarification on the use of \makeatletter on \CatchFileBetweenDelims and before \regexpatchcmd* +| (https://tex.stackexchange.com/questions/380796/how-to-patch-a-macro-with-control-sequences-using-regexpatch) \NewDocumentCommand{\Ejemplo}{s s O{0.5} m O{} G{1}}{| \IfFileExists{factura-#4.pdf}{| \catcode`\<=12 @@ -284,12 +300,14 @@ and factura-beispiel-rechnung.tex. \ifbool{ejemploizq}{\hfill}{}| \ifbool{ejemplocondesc} {\hfill - \CatchFileBetweenDelims{\DescEjemplo}{factura-#4.tex}{}{}[\catcode37=11\catcode13=14]| + \CatchFileBetweenDelims{\DescEjemplo}{factura-#4.tex}{}{}[\catcode37=11\catcode13=14\makeatletter]| \catcode`\%=11 - \regexpatchcmd*{\DescEjemplo}{\c{[A-Za-z]*}}{\c{begingroup}\c{ttfamily}\c{string}\0\c{endgroup}}{}{}| + \makeatletter + \regexpatchcmd*{\DescEjemplo}{\cC.}{\c{begingroup}\c{ttfamily}\c{string}\0\c{endgroup}\c{xspace}}{}{}| \regexpatchcmd*{\DescEjemplo}{(\()(\cL[a-z]*)(\))}{(\c{begingroup}\c{ttfamily}\2\c{endgroup})}{}{}| \xpatchcmd*{\DescEjemplo}{%% }{\item}{}{}| \xpatchcmd*{\DescEjemplo}{%%}{}{}{}| + \makeatother \begin{minipage}{\linewidth-\ancho\linewidth} \begin{itemize} \setlength{\itemsep}{0pt} @@ -316,20 +334,13 @@ and factura-beispiel-rechnung.tex. \newcommand{\glosname}{Índice de comandos, entornos y opciones} \makeatletter -\def\SpecialEnvIndex#1{\@bsphack - \index{#1\actualchar{\protect\ttfamily#1} - (entorno)\encapchar usage}% - \index{entornos:\levelchar#1\actualchar - {\protect\ttfamily#1}\encapchar usage}\@esphack} -\def\es@yearl{l año} - % Redefinimos el comando del encabezado del índice: - \def\index@prologue{% - \section*{\glosname}% - \markboth{\glosname}{\glosname}}% - % Cambiamos el nombre de la lista de cambios y quitamos "General:": - \patchcmd{\glossary@prologue}{Change History}{\changesname}{}{} - \def\generalname{} - \patchcmd{\changes@}{:}{}{}{} + \def\SpecialEnvIndex#1{\@bsphack + \index{#1\actualchar{\protect\ttfamily#1} + (entorno)\encapchar usage}% + \index{entornos:\levelchar#1\actualchar + {\protect\ttfamily#1}\encapchar usage}\@esphack} + \def\es@yearl{l año} + % Definimos el comando para describir opciones, que inexplicablemente falta en doc.sty: \def\DescribeOption{\leavevmode\@bsphack\begingroup\MakePrivateLetters \Describe@Option} @@ -342,6 +353,36 @@ and factura-beispiel-rechnung.tex. \index{opciones:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar usage}\@esphack} \def\PrintDescribeOption#1{\strut \MacroFont #1\ } + + % Redefinimos el comando del encabezado del índice: + \def\index@prologue{% + \section*{\glosname}% + \markboth{\glosname}{\glosname}}% + + % Adaptamos un poco la lista de cambios a lo que yo quiero: + \def\changes@#1#2#3{% + \protected@edef\@tempa{% + \noexpand\glossary{% + {\bfseries #1 --- #2}% + \ifx\saved@macroname\@empty + \relax\actualchar + \else + \saved@indexname + \actualchar + \string\verb\quotechar*% + \verbatimchar\saved@macroname + \verbatimchar + \fi + \levelchar #3}}% + \@tempa\endgroup\@esphack} + + \def\@wrglossary#1{% + \protected@write\@glossaryfile{}% + {\string\glossaryentry{#1}{1}}% + \endgroup\@esphack}% + + \patchcmd{\glossary@prologue}{Change History}{\changesname}{}{} + \makeatother \title{The \textsf{\jobname} class\thanks{Esta documentación corresponde a la clase \textsf{\jobname}~\fileversion, de fecha \filedate.}} @@ -357,12 +398,24 @@ and factura-beispiel-rechnung.tex. \addcontentsline{toc}{section}{\todoname} \todos \section*{Información específica de esta versión} - Para poder compilar con \LuaLaTeX{} es necesaria la versión v2.26 del paquete |zref|, de fecha 2016/05/21, y la versión v1.18 de |atbegshi| de fecha 2016/06/09. + Desde la versión v2.82 de esta clase, para poder compilar con \LuaLaTeX{} es necesaria la versión v2.26 del paquete |zref|, de fecha 2016/05/21, y la versión v1.18 de |atbegshi| de fecha 2016/06/09.%v2.82 - En esta versión se agregan unas opciones de la clase y se incorporan todos los ejemplo en la documentación. - \phantomsection + % v2.82 -> Esta versión de |factura| se sacó principalmente para corregir un error introducido en la versión anterior v2.72 en cuanto a las referencias, para agregar la opción |numitem| que enumera los ítems en la factura y para que la línea diagonal (opción |linea|) funcione correctamente siempre. + + Desde la versión v3.00, todos los ejemplos están incorporados a la documentación, con la descripción de cada uno, de manera automatizada. + + Esta versión v3.02 se saca porque la versión 3.9 de |fancyhdr| hizo necesaria esta actualización por un error que daba con los reportes por el uso en esta clase de la macro |\fancy@setoffs|. Lo que hacíamos con esa macro de |fancyhdr| lo hicimos ahora de otra forma mejor, dada la incompatibilidad con la nueva versión de ese paquete.%v3.02 + + \section*{Agradecimientos} + + Por pruebas y sugerencias que dieron lugar a mejoras agradezco a Ritguey% + \ifmotorunicode\footnote{\setmainfont{Symbola}🐧}\fi{} + Flores Esteves y a Alberto Mijares. Por contribuciones a través de \texttt{StackExchange} agradezco a cfr, David Carlisle, egreg, Gustavo Mezzetti, Heiko Oberdiek, jfbu, Joseph Wright y Werner. + \addcontentsline{toc}{section}{\changesname} - \PrintChanges + {\makeatletter\def\pfill{\unskip\hfill\@gobble}\makeatother + \setlength{\columnsep}{0pt} + \PrintChanges} \phantomsection \addcontentsline{toc}{section}{\glosname} \PrintIndex @@ -464,7 +517,9 @@ and factura-beispiel-rechnung.tex. % \changes{v3.00}{2017/03/11}{Cambiado el interlineado en la documentación, el tamaño del papel y agregados a la documentación todos los ejemplos que están embebidos en el \texttt{.dtx}, de forma automática.} % \changes{v3.00}{2017/03/11}{El descuento individual ahora es opcional al pedir la opción, es decir, no hace falta establecer en '0' los elementos donde no haya descuento cuando se usa la opción \texttt{descuentos}.} % \changes{v3.00}{2017/03/11}{Opción \texttt{subtotal} para agregar una columna extra después del precio unitario y antes del descuento, para reflejar el precio antes de aplicar el descuento individual.} -% +% \changes{v3.02}{2017/07/16}{Ya no usamos la macro \cs{fancy@setoffs} de \texttt{fancyhdr} en el reporte para establecer valores iniciales por ejemplo de la longitud de la línea en los encabezados; ahora lo hacemos de una forma diferente, incluyendo en el \texttt{.def} una macro llamada \cs{@GrosorLineaInfoPag} que alberga el valor que \texttt{fancyhdr} asigna preterminadamente al grosor de dicha línea. No agregamos un comando para cambiar ese valor por no ser algo de relevancia.} +% \changes{v3.02}{2017/07/16}{Ajustada ligeramente esta lista de cambios y la inclusión de los ejemplos en la documentación.} +% % \DoNotIndex{} % % \tableofcontents @@ -478,7 +533,7 @@ 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 y 0071, válidas éstas para marzo del año 2017. +% 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 y 0071, válidas éstas para julio del año 2017. % % 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{}. % @@ -506,7 +561,7 @@ and factura-beispiel-rechnung.tex. % % \begin{enumerate}[\bfseries 1. ] % -% \item {\color{RoyalBlue}|pdflatex factura.dtx|} +% \item {\color{RoyalBlue}|xelatex factura.dtx|}\footnote{Es preferible compilar el |.dtx| con \XeLaTeX{} o con \LuaLaTeX pero también puede hacerse con pdf\LaTeX.} % % Luego de compilar |factura.dtx| hay que compilar el fondo de ejemplo, el membrete de ejemplo y la firma de ejemplo; estos tres archivos emulan haber digitalizado una hoja de una factura del talonario fiscal, un membrete para los reportes y también una firma que puede agregarse a los documentos a producir. Estos ejemplos se usarán en algunos de los ejemplos de formatos que incluímos y por eso es necesario tenerlos compilados en |.pdf| previamente, ya que su inclusión en los ejemplos es en formato compilado |.pdf|. % @@ -527,7 +582,7 @@ and factura-beispiel-rechnung.tex. % % Al tener todo esto hecho volvemos a compilar |factura.dtx| para producir esta documentación, puesto que el |.dtx| necesita ser compilado más de una vez para que la documentación quede correctamente elaborada: % -% \item {\color{RoyalBlue}|pdflatex factura.dtx|} +% \item {\color{RoyalBlue}|xelatex factura.dtx|} % % Los comandos para generar el índice y la lista de cambios, que automáticamente se ejecutan al compilar |factura.dtx| son: % @@ -674,7 +729,7 @@ and factura-beispiel-rechnung.tex. % Permite agregar un descuento en porcentaje en cada elemento de la factura, siendo dicho porcentaje el último argumento de los comandos |\Item|. Si no aplica descuento para un ítem, puede este dejarse sin ese argumento, dando el mismo resultado que indicar ``0'' como argumento para ese descuento. (Explicado también en la sección \ref{sec:factura}). % % \DescribeOption{subtotal} -% Agrega una columna extra en la factura; sólo aplica cuando también se usa la opción 'descuentos'. La nueva columna escribe el subtotal que cada ítem produce, es decir, el precio unitario multiplicado por la cantidad sin aplicar el descuento. Esta opción sobrerecarga la factura (precio unitario, descuento, subtotal y precio total), y su uso es recomendable cuando también se usa 'sincantidad', porque de esta forma se tiene el subtotal, descuento y el total. +% Agrega una columna extra en la factura; sólo aplica cuando también se usa la opción 'descuentos'. La nueva columna escribe el subtotal que cada ítem produce, es decir, el precio unitario multiplicado por la cantidad sin aplicar el descuento. Esta opción sobrerecarga la factura (precio unitario, descuento, subtotal y precio total), y su uso es recomendable cuando también se usa 'sincantidad', porque de esta forma se tiene el \, descuento y el total. % % \DescribeOption{duc} % Cambia el orden de los campos en el documento impreso a: descripción, precio unitario, cantidad y precio total. {\itshape Esto no cambia la forma como deben especificarse los argumentos de |\Item| sino solamente cambiará cómo serán mostrados}. @@ -788,7 +843,7 @@ and factura-beispiel-rechnung.tex. % % La información que aparece como cabecera o como pié de página es la que damos con el comando |\InfoPagina|, explicado más adelante. % -% La clase provee varios estilos de página, que también se explicarán en la subsección destinada para ello. En los ejemplos de reportes se puede ver el comportamiento del comando |\EstiloPagReporte|. +% La clase provee varios estilos de página, que también se explicarán en la subsección \ref{subsec:pagestyle}. En los ejemplos de reportes se puede ver el comportamiento del comando |\EstiloPagReporte|. % % \DescribeMacro{\InicioReporte}{\color{RoyalBlue}|\InicioReporte|\marg{longitud}} % @@ -1054,13 +1109,15 @@ and factura-beispiel-rechnung.tex. % % El usuario podrá definir más estilos de página adicionales para colocar el texto que se quiera en el lugar que se quiera, y usar esos estilos de página con |\EstiloPagReporte|. Para eso puede leer la documentación del paquete |fancyhdr|, que es lo que esta clase usa para los estilos de página. También puede consultar |factura.def|. % +% El grosor de la línea decorativa que coloca el paquete |fancyhdr| está definido en el archivo |.def|, y es cambiable en la macro |\@GrosorLineaInfoPag| como podrá verse en dicho archivo; no definimos un comando para ello por no ser algo relevante pero igual podrá cambiarse con |\renewcommand| por ejemplo, como se hace en dicho |.def|. +% % \section{Elementos fijos y sus ubicaciones} % % Los elementos cuyas posiciones van fijas en la hoja disponen de macros para establecer sus ubicaciones. Todas estas macros empiezan por |\Pos|, y son las siguientes: |\PosFecha|, |\PosDenom|, |\PosControl|, |\PosCond| y |\PosFirmas|. % % Todos estos comandos aceptan como argumentos dimensiones de \LaTeX{}, y son las posiciones |(x,y)| en la página de los elementos a imprimir, siendo ``|x|'' la coordenada a lo ancho del papel y ``|y|'' la coordenada a lo largo del papel, es decir, horizontal y vertical respectivamente. El origen está fijado arriba a la izquierda. Se pueden especificar también valores negativos para denotar que estamos contando desde el extremo derecho o inferior, para el caso de ``|x|'' y ``|y|'', respectivamente\footnote{Varias de estas variables están definidas de esta forma negativa en el archivo de definiciones.}. % -% Por ejemplo, si queremos que la fecha aparezca |5cm| desde arriba hacia abajo, haríamos: |\PosFecha{0cm}{5cm},| y si queremos que salga |1cm| desde la derecha y |4cm| contados desde abajo haríamos |\PosFecha{-1cm}{-4cm}|. A continuación todas las macros para fijar las posiciones en el papel: +% Por ejemplo, si queremos que la fecha aparezca |5cm| contados desde arriba hacia abajo, haríamos: |\PosFecha{0cm}{5cm},| y si queremos que salga |1cm| desde la derecha y |4cm| contados desde abajo haríamos |\PosFecha{-1cm}{-4cm}|. A continuación todas las macros para fijar las posiciones en el papel: % % {\setlength{\parindent}{0pt} % \DescribeMacro{\PosFecha}{\color{RoyalBlue}|\PosFecha|\marg{pos. x}\marg{pos. y}} @@ -1466,11 +1523,10 @@ and factura-beispiel-rechnung.tex. % \section{Ejemplos incluídos\label{sec:ejemplos}} % \todo*{Hay que hacer que en la documentación, toda opción y macro referencie al ejemplo donde se usa.} % -% % Desde la página siguiente se muestran todos los ejemplos incluídos en la clase: % % \newpage -% \newgeometry{marginparsep=0pt,vmargin={1cm,1cm},hmargin={1cm,1cm},footskip=0pt,footnotesep=0pt} +% \newgeometry{marginparsep=0pt,vmargin={1cm,1cm},hmargin={1cm,1cm}} % \setlength{\parindent}{0pt} % \hbadness=10000 % @@ -1871,6 +1927,9 @@ and factura-beispiel-rechnung.tex. %% 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} % % %<*class> @@ -3216,7 +3275,7 @@ and factura-beispiel-rechnung.tex. \if@factura \expandafter\newgeometry\expandafter{\@GeometriaReporte}\cleardoublepage% La geometría debe aplicarse aquí cuando también hay factura, pero no se puede cambiar el tamaño del papel. \fi - \fancy@setoffs + \let\headwidth\textwidth \@CargaFondoReporte \@EncabezadoReporte \ifdefvoid{\@EstiloPagReporteResto}{% @@ -3479,8 +3538,6 @@ and factura-beispiel-rechnung.tex. \fi \fi} -\let\headrulebak\headrule% Para poder volver a poner la línea de fancyhdr si algún estilo de página la quitó. - % %<*def> %% El diseño de las distintas partes de la hoja. @@ -3522,14 +3579,14 @@ and factura-beispiel-rechnung.tex. \fancypagestyle{plain}{% \expandafter\ps@fancy \fancyhf{}% - \renewcommand{\headrule}{\headrulebak}% + \renewcommand{\headrulewidth}{\@GrosorLineaInfoPag}% \fancyhead[LEO]{\@InfoPagina}% \fancyfoot[C]{\thepage}} \fancypagestyle{soloarriba}{% \expandafter\ps@fancy \fancyhf{}% - \renewcommand{\headrule}{\headrulebak}% + \renewcommand{\headrulewidth}{\@GrosorLineaInfoPag}% \fancyhead[LO]{\@InfoPagina}% \fancyhead[RO]{\thepage}% \if@twoside @@ -3540,7 +3597,7 @@ and factura-beispiel-rechnung.tex. \fancypagestyle{soloabajo}{% \expandafter\ps@fancy \fancyhf{}% - \renewcommand{\headrule}{}% + \renewcommand{\headrulewidth}{0pt}% \fancyfoot[LO]{\@InfoPagina}% \fancyfoot[RO]{\thepage}% \if@twoside @@ -3551,7 +3608,7 @@ and factura-beispiel-rechnung.tex. \fancypagestyle{solonumpag}{% \expandafter\ps@fancy \fancyhf{}% - \renewcommand{\headrule}{}% + \renewcommand{\headrulewidth}{0pt}% \fancyfoot[C]{\thepage}} % @@ -3574,7 +3631,8 @@ and factura-beispiel-rechnung.tex. % %%% Cuadro de la factura sin la columna de cantidades (sincantidad), %%% Con la columna para enumerar los ítems (numitem), -%%% Con descuentos individuales (descuentos), +%%% Con descuentos individuales (descuentos), +%%% Con columna extra para subtotal (subtotal), % %%% Agrupados los totales por gravámenes (agrupado), %%% Totalización en modo de filas (filas), @@ -3632,8 +3690,9 @@ and factura-beispiel-rechnung.tex. %%% Alterando la línea de la descripción, la curvatura en la esquina y la sombra (\LineaDescrip), %%% Alterando la longitud de las líneas para firmar y su grosor (\LineaFirmas), %%% Alterando la posición de la fecha, las firmas y de la denominación del documento (\PosFecha, \PosFirmas y \PosDenom), -%%% Cambiando varias de las tipografías (\Letra...), -%%% Redefiniendo el formato de la fecha (redefiniendo \@@Fecha y \@EstiloFecha), +%%% Cambiando varias de las tipografías (\Letra***), +%%% Redefiniendo el formato de la fecha (redefiniendo macros \@@Fecha y \@EstiloFecha), +%%% Redefiniendo el texto para la cantidad (redefiniendo macro \@@Cantidad), % %%% Usando “\Nombre” y “\CI” en lugar de “\RazonSocial” y “\RIF”, %%% Sin especificar la persona de contacto, @@ -3643,7 +3702,7 @@ and factura-beispiel-rechnung.tex. %%% Sin especificar el proveedor, así toma el emisor de la factura como el nombre del proveedor, % %%% Con descuentos totales en porcentajes para exentos y gravables con IVA general (\DescuentoE y \DescuentoG), -%%% Con descuentos totales en moneda aplicables por igual a todos los tipos de elementos existentes (\Descuento*), +%%% Con descuentos totales en moneda aplicables por igual a todos los tipos de elementos existentes (\Descuento***), %%% Con descuentos totales en porcentaje aplicables por igual a todos los tipos de elementos existentes (\Descuento), %%% Con resumen (\Resumen), %%% Sin resumen, @@ -3668,7 +3727,8 @@ and factura-beispiel-rechnung.tex. %twoside, %sincantidad, %numitem, -%descuentos, +%descuentos, +%subtotal, %filas, %centrado, %agrupado, @@ -3791,10 +3851,12 @@ and factura-beispiel-rechnung.tex. %\LetraTitTotal{\fontsize{20}{30}\bfseries\slshape} %\LetraNumTotal{\fontsize{20}{30}\bfseries} %\tabcolsep7pt -%\makeatletter +% +%\makeatletter % \renewcommand{\@@Fecha}{\slshape FECHA:} % \renewcommand{\@EstiloFecha}{\@LetraFecha\bfseries\@@Fecha\space{\color{blue}\@Fecha}} -%\makeatother +% \renewcommand{\@@Cantidad}{Cant.} +%\makeatother % %% \Denom{PRESUPUESTO} % También podemos cambiar el nombre del documento \Fecha{06-11-2017} @@ -3823,16 +3885,17 @@ and factura-beispiel-rechnung.tex. \begin{document} % %\begin{factura} -% \Item{1}{ítem con IVA general}{1000} +% \Item{1}{ítem con IVA general}{1000} % \Item{2}{ítem con IVA general}{1000}\label{primeritem} % \Item{4}{otro ítem con IVA general}{100} -% \Item{10}{otro ítem con IVA general -descripción larga para mostrar el cambio de línea-}{1000} +% \Item{10}{otro ítem con IVA general (descripción larga para mostrar el cambio de línea)}{1000} % \Item{1}{otro ítem con IVA general}{1100} % \Item{1}{otro ítem más con IVA general}{1200} % \ItemR{1}{ítem con IVA reducido}{1000} % \ItemA{1}{ítem con IVA adicional}{1000} % \ItemE{1}{ítem exento de impuesto}{1000} -% \Item{1}{ítem con IVA general, con descuento}{1000}{8} +% \Item{1}{ítem con IVA general, con descuento}{1000}{8} +% \Item{10}{otro ítem con IVA general (descripción larga para mostrar el cambio de línea)}{1000}{20} % \ItemR{1}{ítem con IVA reducido, con descuento}{1000}{5} % \ItemA{1}{ítem con IVA adicional, con descuento}{1000}{10} % \ItemE{1}{ítem exento de impuesto, con descuento}{1000} diff --git a/Master/texmf-dist/source/latex/factura/factura.ins b/Master/texmf-dist/source/latex/factura/factura.ins index d053dc47073..23ddf965e9c 100644 --- a/Master/texmf-dist/source/latex/factura/factura.ins +++ b/Master/texmf-dist/source/latex/factura/factura.ins @@ -123,7 +123,7 @@ and factura-beispiel-rechnung.tex. \Msg{To produce only package files, type} \Msg{ pdftex \jobname.dtx} \Msg{To produce package files and pdf documentation, type} -\Msg{ pdflatex \jobname.dtx} +\Msg{ xelatex \jobname.dtx} \Msg{ pdflatex factura-ejemplo-fondo.tex} \Msg{ pdflatex factura-ejemplo-membrete.tex} \Msg{ xelatex factura-ejemplo-firma.tex} diff --git a/Master/texmf-dist/tex/latex/factura/factura.cls b/Master/texmf-dist/tex/latex/factura/factura.cls index 29bf5f523f3..950c5ec1a5d 100644 --- a/Master/texmf-dist/tex/latex/factura/factura.cls +++ b/Master/texmf-dist/tex/latex/factura/factura.cls @@ -36,7 +36,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{factura} -[2017/03/11 v3.00 +[2017/07/16 v3.02 Clase para elaborar facturas legales en la República Bolivariana de Venezuela. ] @@ -1597,7 +1597,7 @@ en la República Bolivariana de Venezuela. \if@factura \expandafter\newgeometry\expandafter{\@GeometriaReporte}\cleardoublepage% La geometría debe aplicarse aquí cuando también hay factura, pero no se puede cambiar el tamaño del papel. \fi - \fancy@setoffs + \let\headwidth\textwidth \@CargaFondoReporte \@EncabezadoReporte \ifdefvoid{\@EstiloPagReporteResto}{% @@ -1860,8 +1860,6 @@ en la República Bolivariana de Venezuela. \fi \fi} -\let\headrulebak\headrule% Para poder volver a poner la línea de fancyhdr si algún estilo de página la quitó. - \endinput %% %% End of file `factura.cls'. diff --git a/Master/texmf-dist/tex/latex/factura/factura.def b/Master/texmf-dist/tex/latex/factura/factura.def index c5bce1afa81..6950af34021 100644 --- a/Master/texmf-dist/tex/latex/factura/factura.def +++ b/Master/texmf-dist/tex/latex/factura/factura.def @@ -35,7 +35,7 @@ %% and factura-beispiel-rechnung.tex. %% \ProvidesFile{factura.def} -[2017/03/11 v3.00 +[2017/07/16 v3.02 Archivo valores iniciales y condiciones de borde para factura.cls ] @@ -131,6 +131,9 @@ Archivo valores iniciales y condiciones de borde para factura.cls %% 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} @@ -267,14 +270,14 @@ Archivo valores iniciales y condiciones de borde para factura.cls \fancypagestyle{plain}{% \expandafter\ps@fancy \fancyhf{}% - \renewcommand{\headrule}{\headrulebak}% + \renewcommand{\headrulewidth}{\@GrosorLineaInfoPag}% \fancyhead[LEO]{\@InfoPagina}% \fancyfoot[C]{\thepage}} \fancypagestyle{soloarriba}{% \expandafter\ps@fancy \fancyhf{}% - \renewcommand{\headrule}{\headrulebak}% + \renewcommand{\headrulewidth}{\@GrosorLineaInfoPag}% \fancyhead[LO]{\@InfoPagina}% \fancyhead[RO]{\thepage}% \if@twoside @@ -285,7 +288,7 @@ Archivo valores iniciales y condiciones de borde para factura.cls \fancypagestyle{soloabajo}{% \expandafter\ps@fancy \fancyhf{}% - \renewcommand{\headrule}{}% + \renewcommand{\headrulewidth}{0pt}% \fancyfoot[LO]{\@InfoPagina}% \fancyfoot[RO]{\thepage}% \if@twoside @@ -296,7 +299,7 @@ Archivo valores iniciales y condiciones de borde para factura.cls \fancypagestyle{solonumpag}{% \expandafter\ps@fancy \fancyhf{}% - \renewcommand{\headrule}{}% + \renewcommand{\headrulewidth}{0pt}% \fancyfoot[C]{\thepage}} \endinput diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index f6eaad42693..6f2ab4fe7b7 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -2436,6 +2436,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex"; 'ecclesiastic' => 'latex', # requires interaction 'etextools' => 'etex -translate-file=empty.tcx', # no 8-bit 'extpfeil' => 'latex -translate-file=empty.tcx', # no 8-bit + 'factura' => 'pdftex', 'facture' => 'latex', # requires interaction 'fancytooltips'=> 'latex', # requires interaction 'fancyvrb' => 'latex -translate-file=empty.tcx', # no 8-bit -- cgit v1.2.3