DANTE Herbsttagung 2022 notes

✍️ Written on 2022-11-19 in 1441 words. Part of project typho digital-typesetting Teχ

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/A generation

Implementations/LaTeχ packages:

PDF/A validators:

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}

But you must not mix hyperxmp and pdfx!

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.

— Heiko Oberdiek (2015)
\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

\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

\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(…) and view(…)

  • 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.