texlive[72877] Master/texmf-dist: zugferd (17nov24)

commits+karl at tug.org commits+karl at tug.org
Sun Nov 17 22:18:26 CET 2024


Revision: 72877
          https://tug.org/svn/texlive?view=revision&revision=72877
Author:   karl
Date:     2024-11-17 22:18:26 +0100 (Sun, 17 Nov 2024)
Log Message:
-----------
zugferd (17nov24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/zugferd/DEMO-rechnung-zugferd.tex
    trunk/Master/texmf-dist/doc/latex/zugferd/INSTALL.md
    trunk/Master/texmf-dist/doc/latex/zugferd/README.md
    trunk/Master/texmf-dist/doc/latex/zugferd/zugferd.pdf
    trunk/Master/texmf-dist/source/latex/zugferd/zugferd.dtx
    trunk/Master/texmf-dist/tex/latex/zugferd/zugferd-invoice.sty
    trunk/Master/texmf-dist/tex/latex/zugferd/zugferd.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/zugferd/DEMO-rechnung-zugferd.pdf

Added: trunk/Master/texmf-dist/doc/latex/zugferd/DEMO-rechnung-zugferd.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/zugferd/DEMO-rechnung-zugferd.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zugferd/DEMO-rechnung-zugferd.pdf	2024-11-17 21:18:07 UTC (rev 72876)
+++ trunk/Master/texmf-dist/doc/latex/zugferd/DEMO-rechnung-zugferd.pdf	2024-11-17 21:18:26 UTC (rev 72877)

Property changes on: trunk/Master/texmf-dist/doc/latex/zugferd/DEMO-rechnung-zugferd.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/zugferd/DEMO-rechnung-zugferd.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zugferd/DEMO-rechnung-zugferd.tex	2024-11-17 21:18:07 UTC (rev 72876)
+++ trunk/Master/texmf-dist/doc/latex/zugferd/DEMO-rechnung-zugferd.tex	2024-11-17 21:18:26 UTC (rev 72877)
@@ -1,7 +1,7 @@
 % !TeX Program=lualatex
 %
 % Demo file for the LaTeX-ZUGFeRD project
-% This file corresponds to version 0.9a (2024-11-07)
+% This file corresponds to version 0.9b (2024-11-17)
 %
 % Copyright (C) 2024 Marei Peischl <marei at peitex.de>
 % ---------------------------------------------------------

Modified: trunk/Master/texmf-dist/doc/latex/zugferd/INSTALL.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zugferd/INSTALL.md	2024-11-17 21:18:07 UTC (rev 72876)
+++ trunk/Master/texmf-dist/doc/latex/zugferd/INSTALL.md	2024-11-17 21:18:26 UTC (rev 72877)
@@ -1,22 +1,25 @@
 # Installation
 
 ## Recommended setup
-As this package is now released via CTAN, it's hightly recommended to use the TeX Live Manager for installation.
 
+As this package is now released via CTAN, it's hightly recommended to use the TeX Live Manager (or the MikTeX console) for installation.
+
 ## Minimal portable TeX Live via DEPP
 
-Additionally for it's possible to use the Island of TeX's DEPP project to create a minimal portable TeX Live installation only including the dependencies for this kind of documents. 
-This repository includes a DEPENDS.txt for this purpose. 
+Additionally, for it's possible to use the Island of TeX's DEPP project to create a minimal portable TeX Live installation only including the dependencies for this kind of documents.
+This repository includes a `DEPENDS.txt` for this purpose.
 
-Please be aware that the soft dependencies are those required to typeset the demo file. 
+Please be aware that the soft dependencies are those required to typeset the demo file.
+In case you want to use a minimal setup for this the file `.tl_packages` contains all soft dependencies with a comment informing about the reason.
 
 ## Local user level installation using l3build
 
-This package is not yet released to CTAN, but it provides an \pkg{l3build} installation script and demo files.
+Additionally to the CTAN release this package includes an `l3build` installation script inside the package repository.
 Details on usage can be found in the [l3build documentation](http://texdoc.net/serve/l3build)/0).
 
 To get started one can run
-```
+
+```shell
 l3build doc
 ```
 
@@ -24,7 +27,8 @@
 This will build the Demo project as well as the current status of the documentation within the subdirectory `build/doc`.
 
 To Install the package within you `$TEXMFHOME` there is also the `install` action
-```
+
+```shell
 l3build install
 ```
 

Modified: trunk/Master/texmf-dist/doc/latex/zugferd/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zugferd/README.md	2024-11-17 21:18:07 UTC (rev 72876)
+++ trunk/Master/texmf-dist/doc/latex/zugferd/README.md	2024-11-17 21:18:26 UTC (rev 72877)
@@ -2,12 +2,12 @@
 
 Copyright (C) 2023–2024 by Marei Peischl (peiTeX) <marei at peitex.de>
 
-zugferd version 0.9a (2024-11-07)
+zugferd version 0.9b (2024-11-17)
 
 ***************************************************************************
 
  This material is subject to the LaTeX Project Public License version 1.3c
- or later. See http://www.latex-project.org/lppl.txt for details.
+ or later. See <http://www.latex-project.org/lppl.txt> for details.
 
 ***************************************************************************
 
@@ -23,12 +23,16 @@
 
 ## Version History
 
- * 0.9a (2024-11-07)
-    - Add support for MINIMUM profile
-    - Bugfix in demo package concerning rounding of non integer units.
- * 0.9  (2024-10-23)
-    - Improve validation in testing of the development status.
-    - Add support for BillingSpecifiedPeriod
-    - Add additional user interfaces to simplify development for templates
- * 0.8a (2024-09-17) Patch to switch to the newly public interface of l3pdfmeta
- * 0.8  (2024-09-11) First version on CTAN
+* 0.9b (2024-11-17)
+   - Rename embedded xml-file if xrechnung is used
+   - Fix bug leaving an unescaped `\n` in the output
+   - Added additional testfiles
+* 0.9a (2024-11-07)
+   - Add support for MINIMUM profile
+   - Bugfix in demo package concerning rounding of non integer units.
+* 0.9  (2024-10-23)
+   - Improve validation in testing of the development status.
+   - Add support for BillingSpecifiedPeriod
+   - Add additional user interfaces to simplify development for templates
+* 0.8a (2024-09-17) Patch to switch to the newly public interface of l3pdfmeta
+* 0.8  (2024-09-11) First version on CTAN

Modified: trunk/Master/texmf-dist/doc/latex/zugferd/zugferd.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/zugferd/zugferd.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/zugferd/zugferd.dtx	2024-11-17 21:18:07 UTC (rev 72876)
+++ trunk/Master/texmf-dist/source/latex/zugferd/zugferd.dtx	2024-11-17 21:18:26 UTC (rev 72877)
@@ -16,14 +16,14 @@
 % \fi
 % \iffalse
 %<*driver>
-\ProvidesFile{zugferd.dtx}[2024-11-07 v0.9a ZUGFerd Invoice and Faktur-X]
+\ProvidesFile{zugferd.dtx}[2024-11-17 v0.9b ZUGFerd Invoice and Faktur-X]
 %</driver>
 %<package>\NeedsTeXFormat{LaTeX2e}[2023-11-01]
-%<package>\ProvidesExplPackage{zugferd}{2024-11-07}{0.9a}{Create ZUGFerd invoices using LaTeX}
+%<package>\ProvidesExplPackage{zugferd}{2024-11-17}{0.9b}{Create ZUGFerd invoices using LaTeX}
 %<*driver>
 \DocumentMetadata{pdfstandard=a-3b,lang=en}
 \documentclass[lm-default=false,cs-break-nohyphen]{l3doc}
-\usepackage{zugferd}[2024-11-07]
+\usepackage{zugferd}[2024-11-17]
 \EnableCrossrefs
 %\CodelineIndex
 \RecordChanges
@@ -164,7 +164,7 @@
 	langid={german}
 }
 @online{mustang-project,
-	title={Mustangproject},
+	title={Mustang Project},
 	url={https://github.com/ZUGFeRD/mustangproject},
 	urldate={2024-08-20}
 }
@@ -280,6 +280,7 @@
 % \item Pengutronix e.K., \url{https://pengutronix.de}\newline
 % Special thanks to them, as they also sponsored the minimal portable \TeX{} Live setup.
 % \item Frederik Schwan (\href{https://schwan.it}{\nolinkurl{Schwan.IT}})
+% \item byte physics e.K., \url{https://www.byte-physics.de}
 % \end{itemize}
 %
 % \IfOnlyDocumentation{\clearpage}
@@ -291,10 +292,10 @@
 % \section{Quick start}
 % This package is still in development and does not provide any validation.
 % To ensure your invoice is created correctly you should also validate the output files.
-% There are tools like the \citeauthor{mustang-project} \cite{mustang-project} providing an easy-to-use interface for the validation.
+% There are tools like the \citetitle{mustang-project} \cite{mustang-project} providing an easy-to-use interface for the validation.
 % In the appendix I will add some notes on my setup and how I use it within pipelines.
 %
-% The Bundle provides an example file called \file{DEMO-rechnung-zugferd.tex}.
+% The bundle provides an example file called \file{DEMO-rechnung-zugferd.tex}.
 % This includes a basic setup for a valid X-Rechnung currently matching Version 3.0.2 of the standard.
 % Details on the requirements can be found in the documentation at \cite{x-rechnung}.
 %
@@ -337,7 +338,7 @@
 % \fi
 % \begin{implementation}
 % \section{Implementation}
-% \begin{variable}{\l_@@_tmp_tl,\g_@@_format_str,\g_@@_businessProcessId_str,\g_@@_writeTradeContact_bool,\g_@@_writePaymentMeans_bool,\g_@@_minimum_bool,\g_@@_conformance_level_str}
+% \begin{variable}{\l_@@_tmp_tl,\g_@@_format_str,\g_@@_businessProcessId_str,\g_@@_writeTradeContact_bool,\g_@@_writePaymentMeans_bool,\g_@@_minimum_bool,\g_@@_conformance_level_str,\g_@@_xml_embedded_file_tl}
 %    \begin{macrocode}
 \tl_new:N \l_@@_tmp_tl
 \str_new:N \g_@@_format_str
@@ -346,6 +347,7 @@
 \bool_new:N \g_@@_writePaymentMeans_bool
 \bool_new:N \g_@@_minimum_bool
 \str_new:N \g_@@_conformance_level_str
+\tl_new:N \g_@@_xml_embedded_file_tl
 %    \end{macrocode}
 % \end{variable}
 % \end{implementation}
@@ -360,6 +362,10 @@
 %
 % The value \option{xrechnung} is set as an alias to |xrechnung3.0| and will always use the latest version supported by \pkg{zugferd}.
 %
+% This option also adjusts the file name which is used for embedding the \XML.
+% It will be called |factur-x.xml| for all formats but the |xrechnung| ones. 
+% In that case it will be |xrechnung.xml|.
+%
 % \DescribeKeyOption{zugferd=\meta{boolean}}{true}*
 % This option can be used to deactivate the \XML embedding.
 % It would also disable the the \option{write-xml} option.
@@ -395,6 +401,7 @@
 		\bool_gset_true:N \g_@@_writeTradeContact_bool
 		\bool_gset_true:N \g_@@_writePaymentMeans_bool
 		\str_gset:Nn \g_@@_conformance_level_str {XRECHNUNG}
+		\tl_gset:Nn \g_@@_xml_embedded_file_tl {xrechnung.xml}
 	},
 	format .choice:,
 	format / xrechnung3.0 .code:n = {
@@ -419,6 +426,7 @@
 		\bool_gset_false:N \g_@@_writeTradeContact_bool
 		\bool_gset_false:N \g_@@_writePaymentMeans_bool
 		\str_gset:Nn \g_@@_conformance_level_str {BASIC}
+		\tl_gset:Nn \g_@@_xml_embedded_file_tl {factur-x.xml}
 	},
 	format  / minimum .code:n = {
 		\str_gset:Nx \g_@@_format_str {
@@ -428,6 +436,7 @@
 		\bool_gset_false:N \g_@@_writeTradeContact_bool
 		\bool_gset_false:N \g_@@_writePaymentMeans_bool
 		\str_gset:Nn \g_@@_conformance_level_str {MINIMUM}
+		\tl_gset:Nn \g_@@_xml_embedded_file_tl {factur-x.xml}
 	},
 	format / xrechnung .meta:n = { format = xrechnung3.0 },
 	format .initial:n = xrechnung,
@@ -528,7 +537,7 @@
 		% fix INVOICE
 		<fx:DocumentType>INVOICE</fx:DocumentType>\iow_newline:
 		% fix factur-x.xml
-		<fx:DocumentFileName>factur-x.xml</fx:DocumentFileName>\iow_newline:
+		<fx:DocumentFileName>\g_@@_xml_embedded_file_tl</fx:DocumentFileName>\iow_newline:
 		% fix schema version
 		<fx:Version>1.0</fx:Version>\iow_newline:
 		% zulässige Werte MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED, XRECHNUNG
@@ -742,8 +751,16 @@
 			\pdfdict_put:nnn {l_pdffile/Filespec} {AFRelationship}{/Alternative}
 			%or /Source in some cases
 			\pdfdict_put:nnn {l_pdffile/Filespec} {Desc}{(Factur-X/ZUGFeRD-Rechnung)}
-			\pdffile_embed_file:nnn {\g_@@_xml_file_tl}{factur-x.xml}
+			\exp_args:NnV \pdffile_embed_file:nnn {\g_@@_xml_file_tl} \g_@@_xml_embedded_file_tl
 				{zugferd/rechnung}
+%    \end{macrocode}
+% Since some tools require the Catalog entry to match the file name of the embedded file this this has to be set separately (\issue{26}).
+% \changes{v0.9b}{2024-11-17}{Fix file name of embedded file for the zugferd profile.}
+%    \begin{macrocode}
+			\pdfmanagement_add:nee
+				  {Catalog/Names/EmbeddedFiles}
+				  {\g_@@_xml_embedded_file_tl}
+				  {\pdf_object_ref:n{zugferd/rechnung}}
 		\group_end:
 		\pdfmanagement_add:nnx
 			{Catalog/Names}
@@ -766,7 +783,7 @@
 %
 % \begin{examplecode}
 % \begin{ZUGFeRD}
-%	\zugferd_write_Item:nnnnnn {1} {} {Plushie~\TeX\ lion} {31.98} {2} {63.78}
+%	\zugferd_write_Item:nnnnnn {1} {} {Plushie~\TeX\ lion} {31.89} {2} {63.78}
 %	\zugferd_startInvoiceSums:
 %	\zugferd_write_TaxEntry:nnnn {S} {19} {63.78} {12.12}
 %	\zugferd_write_Summation:nnnnnnnn {63.78} {0} {0} {63.78} {12.12} {75.90} {0} {75.90}
@@ -791,7 +808,7 @@
 % \begin{examplecode}
 % \group_begin:
 %	\keys_set:nn {zugferd/item}{tax/rate=19, tax/category=S}
-%	\zugferd_write_Item:nnnnnn {1} {} {Plushie \TeX\ lion} {31.98} {2} {63.78}
+%	\zugferd_write_Item:nnnnnn {1} {} {Plushie \TeX\ lion} {31.89} {2} {63.78}
 %	% Code using the data for visual representation
 % \group_end:
 % \end{examplecode}
@@ -814,7 +831,7 @@
 % \end{syntax}
 % The example above could then be replaced by
 % \begin{examplecode}
-% \zugferd_write_Item:nnnnnnn {tax/rate=19,tax/category=S} {1} {Plushie-01} {Plushie \TeX\ lion} {31.98} {2} {63.78}
+% \zugferd_write_Item:nnnnnnn {tax/rate=19,tax/category=S} {1} {Plushie-01} {Plushie \TeX\ lion} {31.89} {2} {63.78}
 %  % visual representation now may not refer to the data
 % \end{examplecode}
 %
@@ -959,7 +976,7 @@
 		round-mode=places,
 		round-precision=#1,
 		round-pad = false,
-		group-digits=false,
+		group-digits=none,
 		minimum-decimal-digits=#1,
 		output-decimal-marker=.
 	}
@@ -1646,7 +1663,7 @@
 	{%
 		\_@@_write_xml:e {%
 			<ram:BuyerReference>\g_@@_buyer_reference_tl</ram:BuyerReference>
-		}
+		}%
 	}%
 	\_@@_write_xml:n {<ram:SellerTradeParty>}%
 	\int_gincr:N \g_@@_indent_int%

Modified: trunk/Master/texmf-dist/tex/latex/zugferd/zugferd-invoice.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/zugferd/zugferd-invoice.sty	2024-11-17 21:18:07 UTC (rev 72876)
+++ trunk/Master/texmf-dist/tex/latex/zugferd/zugferd-invoice.sty	2024-11-17 21:18:26 UTC (rev 72877)
@@ -12,7 +12,7 @@
 % and version 1.3c or later is part of all distributions of LaTeX
 % version 2008-05-04 or later.
 %
-\ProvidesExplPackage{zugferd-invoice}{2024-11-07}{0.9a}{Invoice wrapper example package for the factur-x to create ZUGFerD invoices}
+\ProvidesExplPackage{zugferd-invoice}{2024-11-17}{0.9b}{Invoice wrapper example package for the factur-x to create ZUGFerD invoices}
 
 \keys_define:nn {zugferd/invoice}{
 	default-vat .tl_set:N =  \defaultVAT,

Modified: trunk/Master/texmf-dist/tex/latex/zugferd/zugferd.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/zugferd/zugferd.sty	2024-11-17 21:18:07 UTC (rev 72876)
+++ trunk/Master/texmf-dist/tex/latex/zugferd/zugferd.sty	2024-11-17 21:18:26 UTC (rev 72877)
@@ -9,7 +9,7 @@
 %% Copyright (C) 2023--2024 by Marei Peischl (peiTeX) <marei at peitex.de>
 %% 
 \NeedsTeXFormat{LaTeX2e}[2023-11-01]
-\ProvidesExplPackage{zugferd}{2024-11-07}{0.9a}{Create ZUGFerd invoices using LaTeX}
+\ProvidesExplPackage{zugferd}{2024-11-17}{0.9b}{Create ZUGFerd invoices using LaTeX}
 \tl_new:N \l__zugferd_tmp_tl
 \str_new:N \g__zugferd_format_str
 \str_new:N \g__zugferd_businessProcessId_str
@@ -17,6 +17,7 @@
 \bool_new:N \g__zugferd_writePaymentMeans_bool
 \bool_new:N \g__zugferd_minimum_bool
 \str_new:N \g__zugferd_conformance_level_str
+\tl_new:N \g__zugferd_xml_embedded_file_tl
 \char_set_catcode_other:N \#%
 \keys_define:nn {zugferd} {
 xrechnung .code:n = {
@@ -23,6 +24,7 @@
 \bool_gset_true:N \g__zugferd_writeTradeContact_bool
 \bool_gset_true:N \g__zugferd_writePaymentMeans_bool
 \str_gset:Nn \g__zugferd_conformance_level_str {XRECHNUNG}
+\tl_gset:Nn \g__zugferd_xml_embedded_file_tl {xrechnung.xml}
 },
 format .choice:,
 format / xrechnung3.0 .code:n = {
@@ -47,6 +49,7 @@
 \bool_gset_false:N \g__zugferd_writeTradeContact_bool
 \bool_gset_false:N \g__zugferd_writePaymentMeans_bool
 \str_gset:Nn \g__zugferd_conformance_level_str {BASIC}
+\tl_gset:Nn \g__zugferd_xml_embedded_file_tl {factur-x.xml}
 },
 format  / minimum .code:n = {
 \str_gset:Nx \g__zugferd_format_str {
@@ -56,6 +59,7 @@
 \bool_gset_false:N \g__zugferd_writeTradeContact_bool
 \bool_gset_false:N \g__zugferd_writePaymentMeans_bool
 \str_gset:Nn \g__zugferd_conformance_level_str {MINIMUM}
+\tl_gset:Nn \g__zugferd_xml_embedded_file_tl {factur-x.xml}
 },
 format / xrechnung .meta:n = { format = xrechnung3.0 },
 format .initial:n = xrechnung,
@@ -137,7 +141,7 @@
 
 \exp_args:Ne \pdfmeta_xmp_add:n {
 <fx:DocumentType>INVOICE</fx:DocumentType>\iow_newline:
-<fx:DocumentFileName>factur-x.xml</fx:DocumentFileName>\iow_newline:
+<fx:DocumentFileName>\g__zugferd_xml_embedded_file_tl</fx:DocumentFileName>\iow_newline:
 <fx:Version>1.0</fx:Version>\iow_newline:
 <fx:ConformanceLevel>\g__zugferd_conformance_level_str</fx:ConformanceLevel>%
 \iow_newline:
@@ -231,8 +235,12 @@
 \group_begin:
 \pdfdict_put:nnn {l_pdffile/Filespec} {AFRelationship}{/Alternative}
 \pdfdict_put:nnn {l_pdffile/Filespec} {Desc}{(Factur-X/ZUGFeRD-Rechnung)}
-\pdffile_embed_file:nnn {\g__zugferd_xml_file_tl}{factur-x.xml}
+\exp_args:NnV \pdffile_embed_file:nnn {\g__zugferd_xml_file_tl} \g__zugferd_xml_embedded_file_tl
 {zugferd/rechnung}
+\pdfmanagement_add:nee
+  {Catalog/Names/EmbeddedFiles}
+  {\g__zugferd_xml_embedded_file_tl}
+  {\pdf_object_ref:n{zugferd/rechnung}}
 \group_end:
 \pdfmanagement_add:nnx
 {Catalog/Names}
@@ -318,7 +326,7 @@
 round-mode=places,
 round-precision=#1,
 round-pad = false,
-group-digits=false,
+group-digits=none,
 minimum-decimal-digits=#1,
 output-decimal-marker=.
 }
@@ -669,8 +677,8 @@
 {%
 \__zugferd_write_xml:e {%
 <ram:BuyerReference>\g__zugferd_buyer_reference_tl</ram:BuyerReference>
-}
 }%
+}%
 \__zugferd_write_xml:n {<ram:SellerTradeParty>}%
 \int_gincr:N \g__zugferd_indent_int%
 \__zugferd_write_xml:e {%



More information about the tex-live-commits mailing list.