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.