Motivation
DANTE, the German Teχ user group, held its autumn conference. I joined on Saturday and took notes. Some of the slides/recordings are also available now.
Ulrike Fischer: „PDF standards, XMP-Metadaten und ZUG(p)ferde“
Some of examples in an older version can be found in the latex3 pdfresources repo.
PDF standard
PDF resources:
-
PDF = ISO 32000, PDF/A = ISO 19005
-
PDF/A: use at least PDF/A-2
-
plans to replace ECMA Script/Javascript as embedded language
PDF/A generation
Implementations/LaTeχ packages:
-
l3pdfmeta
module in package pdfmanagement-testphase -
pdfx
(Ross Moore) -
hyperxmp
(Scott Pakin), only XMP meta data
PDF/A validators:
-
Adobe Pro
-
RDF validator by W3C (XMP metadata)
Calling \DocumentMetadata
suffices already to embed XMP metadata.
\DocumentMetadata{pdfstandard=a-2b}
\documentclass{article}
%\usepackage[dvipsnames]{xcolor} % veraPDF validator would not validate
\usepackage[rgb,dvipsnames]{xcolor}
\begin{document}
\textcolor{Mahogany}{hello!}
\end{document}
\DocumentMetadata{
pdfstandard=a-2b,
colorprofiles={A=FOGRA39L_coated.icc}
} % use a CMYK color profile
\documentclass{article}
\usepackage[rgb,dvipsnames]{xcolor}
\begin{document}
\textcolor{Mahogany}{hello!}
\end{document}
In conclusion: Often reverse engineering required. LaTeχ cannot guarantee a standard.
XMP metadata
With pdfx
you need to write a .xmpdata
file:
\begin{filecontents}[force]{\jobname.xmpdata}
\Title{Backing through the ages}
\Author{A. Baker\sep C. Kneader}
\Language{en-GB}
\Keywords{cookies\sep muffins\sep cakes}
\Publisher{Baking International}
\end{filecontents}
\documentclass{article}
\usepackage[a-2b]{pdfx}
\begin{document}
Hello World!
\end{document}
On the other hand, you can use the hyperxmp
package which fetches its metadata from hyperref:
\documentclass{article}
\usepackage{hyperxmp} % use hyperxmp here instead
\usepackage{hyperref}
% hyperxmp patches additional keys to hyperref
\hypersetup{
pdftitle = Backing through the ages,
pdfauthor = {A. Baker\sep C. Kneader},
pdflang = {en-GB},
pdfa
}
\begin{document}
Hello World!
\end{document}
Unhappily the LaTeχ format has overslept the PDF development quite entirely. Managing global resources is the prime task for an OS, format in Teχ speek. Because of the missing resource manager, both packages do what most packages do, they think they are alone and add their stuff to the resource.
\DocumentMetadata
{
lang=en-GB,
pdfstandard=a-2b,
}
\documentclass{article}
\usepackage{hyperref}
\hypersetup
{
pdftitle=Baking through the ages,
pdfauthor = {A. Baker, C. Kneader},
pdfkeywords={cookies, muffins, cakes},
pdflang = {en-GB},
pdfa
…
If you add debug={xmp}
in DocumentMetadata, a file *.xmpi
is written and you can put it in a RDF validator.
ZUGFeRD/Factur-X
-
Standard for electronic invoices in Germany, merged with (French standard) Factur-X and is preferably called that way now
-
PDF outside, XML invoice data inside
-
https://www.pdflib.com/de/pdf-know-how/zugferd-und-factur-x/
\DocumentMetadata{uncompress,pdfstandard=a-3b}
\documentclass{article}
\ExplSyntaxOn
\__pdfmeta_xmp_schema_new:nne
{Factur-X~PDFA~Extension~Schema}
{fx}
{urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0\c_hash_str}
% …
\pdfmanagement_add:nnx
{Catalog/Names}
{EmbeddedFiles}
{\pdf_object_ref:n{zugferd/rechnung}}
\pdfmanagement_add:nnx{Catalog}{AF}{\pdf_object_ref:n{zugferd/rechnung}}
\ExplSyntaxOff
\begin{document}
an invoice
\end{document}
Thomas Flinkow: „Personalisierte Aufgaben mit Musterlösungen in LuaLATEX“
-
Automated generation of exercises for educational resources
-
pool of parameters → generate exercises in uniform layout
-
$\scprint{sympcomp.diff{"3*sin(x^2)", "x"}}$
-
various projects already established.
-
MATEX project, MATLAB, python (sympytex, sagetex)
-
https://github.com/tflinkow/individualised-assignments-latex
-
final version uses SymEngine (C++) and symmath-lua
-
https://ctan.org/pkg/luacas should simplify the workflow but was published later
This package provides a portable computer algebra system capable of symbolic computation, written entirely in Lua, designed for use in LuaLaTeX.
Peter Enders: Meine Erfahrungen mit RevTeX 4
-
discussion: package version numbers in CTAN and their semantics (in conclusion: none at all, but encoding version numbers in package names is discouraged)
\documentclass[prb,preprint,nofootinbib][revtex4-2}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{graphicx}
samcarter’s brief presentations (Jigsaw, Tcolorbox Inner Beamer Theme, TikZBricks)
Several people of us had issues watching the videos when they were played in the stream. It did not work for me at all and I missed all of it.
Doris Behrendt: Beispiele zur Verwendung von LATEX zusammen mit Sagemath
-
introduced sagemath with math calculus examples, mentioned cocalc
-
arara commands
-
latex(…)
andview(…)
-
the sagetex output does not reflect the output at the interactive shell. I created an issue for it.
Conclusion
Interesting morning and afternoon with LaTeχ discussion. I enjoyed also the lunch break discussion about file attachments and their usability problems. Sadly there were troubles with the videos. And indeed, math topics were strong this time.