DANTE Sommertagung 2022 Friday notes

✍️ Written on 2022-06-24 in 1180 words. Part of project typho digital-typesetting Teχ

Motivation

Even though the pandemic is continuing, DANTE was able to hold an on-site event. Additionally they provided a livestream via BigBlueButton. I was able to join online on Friday.

These are some notes on the topics.

Lightning talks

  • „Vom Netz ins PDF – myTinyTodo-Listen mit LATEX verarbeiten“ by Uwe Ziegenhagen

    • Web-based TODO list implementation in PHP5.4+

    • retrieve data from sqlite data and generate PDF

    • content is not escaped when handed over to LaTeχ (Marei in the chat: use \detokenize or \tl_to_str:n)

  • „Erstellung von QR-Codes mit oder ohne Logo“ by Adelheid Bonnetsmüller

    • club requires new club journal

    • limited page number; thus generate QR codes for extended content

    • qrcode package generates QR code written with PDF drawing primitives

    • {version, level} attributes for qrcode

  • „Wie finde ich OpenType und TrueType Schriften auf meinem Rechner?“ by Herbert Voß

    • luaotfload-tool --help

      • luaotfload-tool --find times

      • luaotfload-tool --fuzzy --find times

    • Herbert’s script: luafindfont

      • luafindfont time

      • luafindfont -n time

      • luafindfont -n -o 10 time

      • luafindfont -n -i 10 time

    • otfinfo shows which writing systems are supported

    • Marei in the chat: albatross

  • „Externe Programme schreiben, ausführen und Ergebnis einfügen“ by Herbert Voß

    • hvextern

    • uses shellescape in the background

  • „Der neue Key/Value-Handler“ by Ulrike Fischer

    • packages to handle key-value pairs: \DeclareOption by LaTeχ, {kvoptions, xkeyval, pgfopts, scrbase, l3keys2e} packages

    • New in LaTeχ: \DeclareKeys

  • CTAN team report

    • send an email to ctan@ctan.org (long-term supporters required)

    • upload management team

      • situation not anymore as critical as years before

    • webmaster teams

      • Java implementation

      • only Gert handles

  • „Das Ministerium für alberne Gangarten“ remote video by samcarter

    • sillypage with its numeral system is introduced

Full talks

„Boxes and glue: TEXs Algorithmen neu implementiert“ by Patrick Gundlach

  • https://github.com/speedata/boxesandglue

  • https://boxesandglue.dev/

  • current usecase: LuaTeχ generated 500 pages/sec, latency below 10ms

  • limitations of LuaTeχ: manual memory management, no special characters in filesystem on Windows, no type system in Lua

  • „Wenn ich wüsste wie schwer es ist, würde ich es gar nicht versuchen“

  • {syllable separation, line breaking, math typesetting, computation of lengths like \hfill & badness, input language} as algorithms

  • design goals:

    • typography like Teχ

    • speed

    • datamodel of Teχ

    • Arabic and others (RTL, Unicode)

    • accessibility

  • excluded design goals:

    • compatibility to Teχ

    • 8-bit encodings, tfm

    • input language with macro expansion

  • regarding PDF/UA: insert space and then go back to actual spacing position you desire (to make sure words do not collapse)

„Patchen ist easy” by Ulrike Fischer

  • take care not to break other packages: consider {scope, global/protected/robust, catcode changes, …}

  • \showcommand

  • \protected

  • \show ä

  • patching approaches:

    • \renewcommand (last renewcommand will win), consider \CheckCommand

    • \let with old definition and \def which calls old version, pay attention to infinite recursion

    • LaTeχ: \g@addto@macro

    • etoolbox: \appto \preto \gappto \gpreto

    • babel: \addto

    • expl3: \tl_put_left:Nn \tl_put_right:Nn

    • xpatch package

  • prepending is more secure than appending

  • example:

    \AddToHook{cmd/fbox/before}{\tikz[scale=.3]{\duck}}
    \AddToHook{cmd/fbox/after}{\tikz[scale=.3]{\bear\bearwear}}
    \fbox{XXX}
  • \patchcmd

  • Is storing the catcode state possible? Only with expl3 or LuaTeX … hyperref has some internal hacks.

„Ahnentafeln mit LATEX erstellen“ by Ralf Mispelhorn

„Das CrypTool-Buch – TEX nische Details“ by Doris Behrendt and Bernhard Esslinger

  • Bernhard describes Cryptool and vision behind Cryptool

  • Doris describes issues

    • how people write LaTeX

    • UTF-8 issues

„Numerisches Rechnen mit LuaLATEX II – Anwendungen mit Python und PyLuaTEX” by Jürgen Vorloeper

  • generation of table with values of standard uniform distribution

  • Python useful for scientific computing

  • compile only once

  • PyLuaTeX package

  • arbitrary precision consideration due to computational mathematics as context

  • preprint server arxiv supports only

  • question: comparison to sagetex

„Wie soll dat nur wigger jon… mit LATEX” by Heiner Richter

  • rant on Köln

  • usecase teaching material for subject international tax law

  • can Heiner hand over his setup to his successors when retiring?

  • corporate design

  • pdfpages to map four slides to one page as printout

  • \providecommand

  • \includepdf

  • Lupino in chat: largest project in typeset automaton = 950MB

Conclusion

It was really supercool to spend one entire day just focusing on the talks. I allowed myself to ask plenty of questions and got some helpful advices back. Marei mentioned \detokenize and \tl_to_str:n which can be helpful, Lupino had a discussion with me on XML/xmltex, and Hraban Ramm referred me to his article „Ein neuer Motor für ConTEXt“. It is pretty sad to see so much content to be only available for the German community, but I have seen indeed that I have several different approaches with my typho project.