TeX & Friends (Planet by DANTE e.V.)

2023-09-14

TUG

TUGboat 44:2 published

TUGboat volume 44, number 2, has been mailed to TUG members. It is also available online and from the TUG store. In addition, prior TUGboat issue 44:1 is now publicly available. Submissions for the next regular issue are also welcome and encouraged; that deadline is October 15, 2023. Finally, please consider joining or renewing your TUG membership if you haven't already (we'll send this issue immediately), and thanks.

Thursday, 2023-09-14 17:29

2023-08-28

TypoBlog Gorbach

Seminar Typografie und Gestaltung: Die Fakten

Wenn Sie sich für dieses Seminar interessieren:
Seminar / Kurs 
zur Aus- und Fortbildung für Typografie und Gestaltung
Inhalte:
16 thematische Module
Dauer:
4 Semester = 2 Jahre
Beginn:
13. Oktober 2023
Zeit:
Jeweils 2 Tage je Monat (Freitag, Samstag)
Voraussetzungen / Level:
Verwandte Tätigkeiten. Die Eignung wird im Gespräch mit dem Kursleiter ermittelt. InDesign-Kenntnisse sind sinnvoll.
Gebühr: 
Gesamtes Seminar je Semester 1.110 Euro zzgl. MwSt. Einzelbuchungen der Module sind möglich
Zielgruppe:
Grafikdesigner, Kommunikationsdesigner, Hersteller, Produktioner, Web-Designer, Redakteure, Lektoren, Quereinsteiger
 

 

by Rudolf Paulus Gorbach (rudolf.gorbach@gorbach-gestaltung.de) at Monday, 2023-08-28 17:44

2023-08-24

TeX & Friends (by Jürgen Fenn)

Emacs 29.1 und LuaTeX II

Beim Umstieg von macOS Monterey auf Ventura war auffällig, dass die neu hinzugekommenen Programme, wie beispielsweise die Uhr, nicht mehr konfigurierbar sind. Es gibt kein Preference Pane, man kann sie nur noch so benutzen, wie sie angeboten werden. Ich kann mir also beispielsweise beim Timer nicht einstellen, ob er digital (mit rückwärts laufenden Zahlen) oder analog (mit rückwärts laufenden Uhrzeigern auf einem Ziffernblatt) dargestellt werden soll.

Das ist beim Emacs ganz anders. Konfigurationsfragen stellen sich ständig. Mit dem Emacs zu arbeiten, heißt, ihn zu konfigurieren, und dazu gibt es eine eigene Sprache, Emacs Lisp.

Fangen wir also beim Anfang an. Dieser Teil meiner Reise durch Emacs und Umgebung begann beim Einrichten von Flyspell. Das ist die Rechtschreibprüfung, die Emacs von Hause aus mitbringt. Ich hatte zwar meine Dissertation seinerzeit vollständig ohne Rechtschreibkorrektur (und übrigens auch ohne die Literaturverwaltung BibTeX – Biblatex und Biber gabs damals noch nicht) geschrieben. Aber besser wäre gewesen mit, wie ich mittlerweile weiß. Aquamacs greift sogar auf die Rechtschreibprüfung von macOS zurück, was auf der Plattform freilich optimal ist. Aber wir wollen ja jetzt erstmal lieber nur mit freien und quelloffenen Lösungen arbeiten, und das heißt in diesem Fall: mit aspell.

Der Anlass zum näheren Hinschauen waren letztlich zwei Probleme, die beim Konfigurieren meines Emacs auftraten: Flyspell tat nicht einfach mal so eben, was es soll. Und nachdem ich das gelöst hatte, kam noch ein weiteres Problem hinzu: Beim Schreiben der nächsten Folge meiner
Neuen Pakete auf CTAN für die TeXnische Komödie stieß ich auf die Neuerung, dass dtk.cls nun das Kompilieren mit LuaLaTeX nicht nur nahelegt, sondern verlangt. LuaTeX brach seinen Lauf aber beim Aufruf aus dem Emacs schnell wieder ab und verabschiedete sich mit einem Output von null Seiten. Die vorläufige Lösung für beide Probleme hatte ich schon vor ein paar Tagen vorgestellt.

Die Merkwürdigkeiten, auf die ich damals gestoßen war, ließen mich freilich nicht ruhen, ich las weiter und weiter und stieß dabei im Emacs-Manual im Kapitel zu Emacs unter macOS auf einen Abschnitt, der das grundlegende Problem ansprach, den Leser dann am Ende aber auch ziemlich allein zurücklässt:

Many programs which may run under Emacs, like latex or man, depend on the settings of environment variables. If Emacs is launched from the shell, it will automatically inherit these environment variables and its subprocesses will inherit them from it. But if Emacs is launched from the Finder it is not a descendant of any shell, so its environment variables haven’t been set, which often causes the subprocesses it launches to behave differently than they would when launched from the shell.

For the PATH and MANPATH variables, a system-wide method of setting PATH is recommended on macOS, using the ‘/etc/paths’ files and the ‘/etc/paths.d’ directory.

Wer das Vorgehen beim Konfigurieren von Emacs mag, das sich zwischen beinahe detektivischer Recherchearbeit, Programmieren, Technik, Informationswissenschaft und Praxis bewegt, für den könnte der Emacs ebenfalls der Editor der Wahl sein. Für alle anderen möglicherweise nicht. Typisch ist nicht nur, dass man immer wieder mit solchen halben Sachen wie dem vorstehenden Absatz ziemlich dumm dasteht, sondern auch, dass sehr viele veraltete Empfehlungen und Code-Schnipsel im Netz um Umlauf sind, die sich auf ältere Versionen von Emacs oder von Ergänzungspaketen beziehen. Da werden Variablen konfiguriert, die es mittlerweile gar nicht mehr gibt, was im einfachsten Falle schlicht folgenlos bleibt, im schlechteren Fall aber zu Fehlermeldungen, die ein blutiger Laie kaum beheben könnte. Es werden Befehle bereitgestellt, die ehemals Probleme umgehen sollten, die aber in neueren Versionen von Emacs gar nicht mehr bestehen. Manchmal ist nicht sicher, ob eine Empfehlung, die vermeintlich funktioniert, auch heute immer noch die bestmögliche Lösung für ein bestimmtes Problem ist. Man sollte deshalb tunlichst darauf achten, aus welcher Zeit eine Empfehlung stammt und ob sich seitdem in der Emacs- und in der Paket-Entwicklung etwas getan hat – und falls ja, was?

Immerhin gibt es für das Problem, auf das das Emacs-Manual hinweist, wiederum ein Paket. Ich fand es, als ich später, nach meinem letzten Blogpost zum Thema, eigentlich nach etwas ganz anderem suchte. Nachdem die Rechtschreibprüfung einigermaßen lief, hätte ich sowas gerne auch für Quelltexte gehabt und stieß auf Flymake (schon eingebaut) und Flycheck (nachzuinstallieren). Und auf der Website von Flycheck finden wir folgenden Hinweis:

Flycheck can’t find any programs in GUI Emacs on MacOS

Try to install and configure exec-path-from-shell to make a GUI Emacs inherit the $PATH environment variable from your shell configuration.

The issue is that due to the special way MacOS starts GUI programs a GUI Emacs does not inherit the environment variables from the shell configuration so Emacs will lack some important entries in $PATH, most notably /usr/local/bin/ where Homebrew, NPM and many other package managers put binaries in.

The exec-path-from-shell works around this issue by extracting environment variables from a shell session and inject them into the environment of the running Emacs instance.

Und damit bekommt das Problem eine neue Wendung. Das Paket, das dort erwähnt wird, ist schnell installiert und tut tatsächlich, was es soll (und sogar ein bisschen mehr). Und dadurch werden einige Anweisungen, die ich ursprünglich brauchte, überflüssig. Während sich eine andere als äußerst hinderlich erwiesen hatte. Man kann nämlich das Language Environment in Emacs nicht nur auf Sprachen, sondern auch auf Kodierungen einstellen, also auch auf UTF-8 direkt, wie man hier sieht. Erst damit werden alle neuen Dateien unmittelbar in UTF-8 angelegt. Für die Festlegung auf Unicode braucht es freilich noch mehr Zeilen Code, aber seitdem funktioniert alles wunderbar.

Die derzeit richtige Lösung, mit der alle Mac-spezifischen Ärgernissen, die mir bisher untergekommen sind, abgeholfen wird, wäre demnach wohl die folgende, wobei ich mir nicht sicher bin, ob dabei immer noch Teile mittlerweile obsolet und daher unnötig sind, ich belasse diese Zeilen aber vorsorglich mal in meiner .emacs, denn sie schaden jedenfalls nicht:

(require 'exec-path-from-shell)
(exec-path-from-shell-initialize)
(set-default-coding-systems 'utf-8)
;;
;; Ist folgendes veraltet? Jedenfalls schadet es nicht.
;;
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(if (boundp 'buffer-file-coding-system)
    (setq-default buffer-file-coding-system 'utf-8)
  (setq default-buffer-file-coding-system 'utf-8))
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))
;;
;; Beim Öffnen von Dateien aus dem Finder per Doppelklick werden neue
;; Buffer im bestehenden Frame geöffnet: 
;;
(setq ns-pop-up-frames nil)
;;
;; Tastaturbelegung
;;
(setq mac-command-modifier 'meta) ;; Cmd/Apfel wird zum Meta Key
(setq mac-option-modifier nil) ;; Option hat keine Funktion in Emacs
(setq ns-alternate-modifier 'none)
;;
;; für Flyspell/aspell:
;;
(setenv "LANG" "de_DE.UTF-8")
(set-locale-environment "de_DE")
(set-language-environment "UTF-8")
(add-hook 'text-mode-hook 'flyspell-mode)

Ob ich nun noch Flymake oder Flycheck verwenden werde, mag die Zukunft weisen.

by schneeschmelze at Thursday, 2023-08-24 18:58

2023-08-20

TeX & Friends (by Jürgen Fenn)

Emacs 29.1 und LuaTeX

Hinweis: Siehe auch den späteren Beitrag, in dem eine weitere Lösung für das nachstehend beschriebene Problem beschrieben wird.

Zu den Features, die in Emacs 29.1, an dessen Konfiguration ich derzeit arbeite, nicht out of the box funktionieren, zählt die Rechtschreibprüfung Flyspell. Je nach Emacs-Version und Betriebssystem sind verschiedene Anleitungen und Diskussionen zu finden. Unter macOS Ventura funktionierte bei mir folgendes:

  • Aspell über Homebrew nachinstallieren.
  • Load Path und Exec Path setzen (zu Wörterbuch und zu aspell).
  • $LANG in Emacs setzen. Die Locale wurde zwar schon von macOS richtig gesetzt, Emacs bekommt davon aber nichts mit.
  • $LANG und auch die restliche Locale müssen auf de_DE zeigen, und
    auch das Language Environment muss German sein, sagt das Emacs Manual. Sonst funktioniert LuaTeX nicht.
  • Und nun Flyspell als Minor Mode für die Text Modes aktivieren.
(add-to-list 'load-path "/opt/homebrew/bin/")
(setq exec-path (append "/opt/homebrew/bin/" exec-path))
(add-to-list 'load-path "/opt/homebrew/Cellar/aspell/0.60.8/lib/aspell-0.60")
(setenv "LANG" "de_DE.UTF-8")
(set-locale-environment "de_DE")
(set-language-environment "German")
(add-hook 'text-mode-hook 'flyspell-mode)

M-x flyspell-mode

Welcome to Flyspell.

Es gibt widersprüchliche Ratschläge darüber, wie man Flyspell mit mehreren Sprachen zum Laufen bringt – vorstehend sehen wir nur eine Locale. Da es nicht die Locale des Systems ist, können wir sie ändern, ohne dass es weitere Auswirkungen hat. Man kann also beispielsweise das Wörterbuch für Englisch oder für Esperanto statt für Deutsch einbinden, in dem man de durch en oder eo ersetzt. Dann muss Emacs neu gestartet werden, ein erneutes Laden des Init Files reicht nicht aus. Das funktioniert aber nur für eine Sprache, nicht für mehrere. Still digging!

Da dtk.cls seit neuestem LuaLaTeX erzwingt, stieß ich auf ein Problem, das, wie eine Suche auf StackExchange ergab, zwar schon seit längerem bekannt ist, mich aber noch nicht erreicht hatte. Wahrscheinlich hatte mich der alte Aquamacs bisher davor bewahrt.

LuaTeX ist etwas zickig und möchte die Locale beim Aufruf mitnehmen. Fehlt sie oder ist sie unvollständig, bricht der Lauf mit der Fehlermeldung ab:

Unable to read locale data: please check the ‚locale‘ settings of your environment for consistency. Exiting now.

Beim Aufruf aus dem Terminal, trat der Fehler nicht auf, nur beim Aufruf aus Emacs. Die Locale im Terminal wich von der Locale bei M-x shell ab. Es reicht also nicht, $LANG in der .emacs zu setzen, es braucht auch eine Locale und, so das Manual, ein passendes Language Environment in Emacs.

by schneeschmelze at Sunday, 2023-08-20 18:56

2023-08-02

TeX & Friends (by Jürgen Fenn)

Emacs 29.1

Nachdem Jörg Kantel nebenan mit Visual Studio Code so ausgesprochen zufrieden ist, habe ich mir den Nachfolger des eigentlich unsäglichen Atom natürlich auch mal angesehen – und war überrascht. Schöne Integration in macOS und viele nützliche Erweiterungen, auch für Wikitext, was ich häufig brauche. Und Markdown, natürlich.

Aber der Release von GNU Emacs 29.1 hatte mich doch auch neugierig gemacht. Nachdem ich mit Emacs über 20 Jahren lang schon fast alles gemacht habe, was man mit einem Rechner so anstellen kann, war ich ihm natürlich auch damals nach dem Wechsel von Windows zu Linux zu Mac OS X treu geblieben. Erst mit dem Carbon Emacs, dann mit Aquamacs. Und als ich vor einem Jahr vom MacBook Pro auf ein MacBook Air umstieg, war mein System eigentlich erst komplett, nachdem ich MacTeX und Aquamacs aufgespielt und konfiguriert hatte. Letzterer war zwar im Sommer 2019 vorläufig gerettet worden, als David Reitter sein Projekt an Win Treese übergab. Seitdem ist es aber doch ziemlich ruhig geworden um die weitere Entwicklung. Aquamacs beruht immer noch auf GNU Emacs 25.3, der im Sommer 2017 freigegeben worden war. Er läuft mit Rosetta auch auf M1-Macs, aber man fragt sich mittlerweile doch, wie zukunftssicher das alles wohl noch sein wird?

Daher also einen Blick auf den neuen Emacs geworfen. Selbst kompilieren? Oder über Homebrew installieren? Am Ende siegte emacsformacosx.com mit dem Versprechen: Pure Emacs! No Extras! No Nonsense! Was auch stimmt. Was aber auch bedeutet, dass man hier nun wirklich sämtliche Pakete, die mir lieb und wichtig geworden sind, selbst nachrüsten muss. Und meine .emacs für den Aquamacs funktioniert natürlich mit dem Pure Emacs nicht so ohne weiteres.

Das Gerüst für meine Konfiguration stammt noch aus den 2000er Jahren, als ich mit dem NTEmacs begonnen hatte. Und wenn man schon die Tastaturbelegung hier als erstes angehen muss, noch bevor man zu weiterem übergehen kann, merkt man schnell, was in den Distributionen alles schon vorbereitet wurde. Der Aquamacs ist ein Rundum-Sorglos-Paket, in dem alles auf Anhieb funktioniert. Aber ich traue der Ruhe um mein wichtigstes Arbeitspferd nicht mehr. Und die anderen TeX-Editoren sind keine wirklichen Alternativen. Been there, seen that.

Deshalb werde ich nun erst einmal ausprobieren, ob mir ausreicht, was der Kollege Hendrik Sünkler in seiner Konfiguration vorschlägt. Ich habe zwar nicht vor, meine stundenweise Abrechnung in Org-mode zu loggen. Aber meine gewohnte LaTeX-Umgebung hätte ich schon gerne und die paar Programmier- und Auszeichnungssprachen, mit denen man es immer wieder zu tun hat, sollten auch so funktionieren wie gewohnt. Still digging!

by schneeschmelze at Wednesday, 2023-08-02 14:16

Some TeX Developments (by Joseph Wright)

Uncertainties in siunitx

Right from the first version, siunitx has supported uncertainty values in numbers. Uncertainties are a key piece of information about a lot of scientific values, and so it’s important to have a convenient way to present them.

The most common uncertainty we see is one that is symmetrical, a value plus-or-minus some number, for example 1.23 ± 0.04. This could be a standard deviation from repeated measurement, or a tolerance, or derived some other way. Luckily for me, the source of such a value doesn’t matter: siunitx just needs to be able to read the input, store it and print the output. For both reading and printing, siunitx has two ways of handling these symmetrical uncertainties

  • A ‘long’ form, in which the uncertainty is given as a complete number, for example 1.23 ± 0.04
  • A ‘compact’ form, in which the uncertainly is shown relative to the digits in the main value, for example 1.23(4)

In version 3 of siunitx, I took that existing support and added a long-requested new feature: rounding to an uncertainty. That means that if you have something like 1.2345 ± 0.0367 and ask to round to one place, the uncertainty is first rounded (to 0.04), then the main value is rounded to the same precision (to 1.23).

Building on that, v3.1 added the idea of multiple uncertainties. These come up in some areas (astronomy is one, particle physics another) where there are clear sources of distinct uncertainty elements. Supporting multiple uncertainties also means supporting descriptions for them: if you are dividing up uncertainty, you likely want to say why. So in v3.1, you can say 1.23(4)(5) or 1.23 ± 0.04 ± 0.05, and set up the descriptors, and have something like 1.23 ± 0.04 (sys) ± 0.05 (stat) get printed. I’ve not had any feedback yet on this new feature: fingers-crossed that means it all works 100%!

Now, for v3.3, I’ve looked at another long-standing request: asymmetric uncertainties. For this release, I’ve kept this area simple, as it’s one I know less about. There’s just a ‘compact’ input form, and one (compact) output form. So we can input 1.23(4:5) and get in TeX terms $1.23^{+0.04}_{-0.05}$ typeset. Asymmetric and symmetric uncertainties can be intermixed, and you can have multiple asymmetric ones. I’m hoping this feature gets picked up by users, and that I get some idea of what to do next. I suspect there might be alternative output formats requested, and I wonder whether a ‘long’ input form 1.23 + 0.04 - 0.05 will be asked for: I’ve not done that yet as it’s more tricky if the user misses one part out!

Hopefully, with the introduction of asymmetric uncertainty support, siunitx covers just about all types of uncertainty in scientific data: aiming to be a comprehensive (SI) units package, after all!

by Joseph Wright at Wednesday, 2023-08-02 00:00

2023-06-10

LaTeX Project

LaTeX 2023-06-01 released and distributed

LaTeX 2023-06-01 release distributed

With a few days delay (because of a performance issue we had to resolve first) we have submitted 2023-06-01 release of the LaTeX kernel to CTAN. It should have made its way into TeX Live for everyone by now (or pretty soon).

We did not manage to get everything in that we originally planned for the June release, but given that the newsletter has seven pages is some indication that we have been busy.

Automated tagging of PDF documents

We have now enabled new automatic tagging functionality for additional LaTeX elements, among them most display environments, standard sectioning commands and content, figure and table listings. Also supported are standard floats, citations, bibliographies and a few more elements, but we aren’t yet at the point that we can state that all elements described in Leslie Lamport’s manual on LaTeX are supported — but we are getting close.

This can be activated through

\DocumentMetadata{testphase=phase-III}
\documentclass{...}                     % article, book or report

In addition there is also an early prototype for tagging formulas, which can be activated through

\DocumentMetadata{testphase={phase-III,math}}
\documentclass{...}

It offers support for LaTeX’s standard math environments and also for all environments provided through the amsmath package.

All of this automation is currently in a prototype state and restricted to the use of standard classes (article, report, and book) and it supports only a limited number of add-on package. See the LaTeX2e News Issue 37 newsletter for further details. It provides information how to submit feedback on the new functionality.

The newsletter also covers various other small enhancements or corrections that we provide with the June release.

The LaTeX Companion, third edition is now in print

A while back we announced that the third edition of The LaTeX Companion can be preordered. This status has changed and since middle of May the book is available from the publisher’s website as well as from book shops or online shops such as Amazon. The digital version is still in the works (the ePub version to be precise), but if you order from Pearson they already ship the PDF version with the ePub following automatically, once ready. To give you an idea of what is covered in the third edition, here are some excerpts:

Check out this earlier news post for additional details.

Enjoy — Frank

Saturday, 2023-06-10 00:00

2023-05-27

LaTeX Project

Final pre-release of LaTeX 2023-06-01 is available for testing

Final pre-release of LaTeX 2023-06-01 is available for testing

We submitted the final pre-release version for the 2023-06-01 LaTeX kernel to CTAN recently. It should have made its way into TeX Live for everyone by now (or pretty soon), so it’s ready for users and developers to try.

We did not manage to get everything in that we originally planned for the June release, but given that the newsletter has seven pages is some indication that we have been busy. Please test it out so that we all can be sure that the main release has no issues. Given that we are somewhat late in the schedule we will delay the June release by a week or two so that developers can verify that their packages will work smoothly with the new release.

Automated tagging of PDF documents

We have now enabled new automatic tagging functionality for additional LaTeX elements, among them most display environments, standard sectioning commands and content, figure and table listings. Also supported are standard floats, citations, bibliographies and a few more elements, but we aren’t yet at the point that we can state that all elements described in Leslie Lamport’s manual on LaTeX are supported — but we are getting close.

This can be activated through

\DocumentMetadata{testphase=phase-III}
\documentclass{...}                     % article, book or report

In addition there is also an early prototype for tagging formulas, which can be activated through

\DocumentMetadata{testphase={phase-III,math}}
\documentclass{...}

It offers support for LaTeX’s standard math environments and also for all environments provided through the amsmath package.

All of this automation is currently in a prototype state and restricted to the use of standard classes (article, report, and book) and it supports only a limited number of add-on package. See the LaTeX2e News Issue 37 newsletter for further details. It provides information how to submit feedback on the new functionality.

The newsletter also covers various other small enhancements or corrections that we provide with the June release.

Testing

Processing your documents with the pre-release is straightforward. All you have to do is to replace the invocation command by appending -dev to the executable, e.g., on the command line you would run

  • pdflatex-dev myfile or
  • lualatex-dev myfile or
  • xelatex-dev myfile

instead of using pdflatex, lualatex or xelatex. If you use an integrated editing environment, then it depends on the system how to configure it to use an alternative format; but in any case the necessary modification should be straightforward.

Enjoy — Frank

Saturday, 2023-05-27 00:00

2023-05-18

TUG

TUGboat 44:1 published

TUGboat volume 44, number 1, has been mailed to TUG members. It is also available online and from the TUG store. In addition, prior TUGboat issue 43:3 is now publicly available. The next issue will be the TUG'23 proceedings; the deadline for papers to be included there is July 23, 2023. Early submissions for the next regular issue are also welcome and encouraged; that deadline is October 15, 2023. Finally, please consider joining or renewing your TUG membership if you haven't already (we'll send this issue immediately), and thanks.

Thursday, 2023-05-18 17:09

2023-03-27

Weblog von Markus Kohm

Ein möglicher Abschied auf Raten

Als ich vor mehreren Jahrzehnten – damals war noch LaTeX 2.09 das Non-plus-ultra – in der LaTeX-Szene aktiv wurde, lag mein Fokus von Anfang an darauf, erkannte Probleme zu lösen. Als LaTeX2e erschien – bzw. schon ein paar Monate zuvor –, war eines dieser Probleme, dass das famose Script-Paket zwar im Kompatibilitätsmodus lief, ich selbst aber für meine Diplomarbeit die neuen Möglichkeiten mit LaTeX2e auch vollständig nutzen wollte. Deshalb habe ich recht früh begonnen, Script zuerst mehr schlecht als recht an LaTeX2e anzupassen und schließlich – als in MausNet und UseNet die Fragen nach Script für LaTeX2e lauter wurden – auf Basis der Standardklassen und Script ein Script2e zu entwickeln. Mitte 1994 erschien dann KOMA-Script zuerst im MausNet und wenig später auch auf CTAN. So bin ich in die Sache hineingerutscht.

Über die Jahre gab es bei der Entwicklung und in der Kommunikation mit den Anwender viele Veränderungen und auch diverse Auf-und-Abs. Ich habe viele tolle Leute kennen gelernt und auch sehr wenige, mit denen ich überhaupt nicht klar kommen konnte. Mit Freude habe ich beim Aufbau und der Etablierung eines der wichtigsten deutschsprachigen LaTeX-Foren geholfen, als so manch anderer Aktive, den ich angesprochen hatte, noch abwinkte und keinen Sinn in einem rein deutschsprachigen Forum sah.

Dass KOMA-Script heute diese Masse an Features enthält, ist genau der Ursprungsprämisse und der Kommunikation mit Anwendern geschuldet. Die Mehrzahl der Features habe ich für mich noch nie genutzt. Sie stellen stattdessen Lösungen für Probleme dar, die an mich herangetragen wurden. In den ersten 20 Jahren gab es außerdem noch einige Dinge, die ich aus reinem Spaß an der Freude entwickelt habe. Das war nämlich der andere Sinn der Geschichte: Es sollte ein Hobby sein und mir Spaß machen.

In den letzten Jahren ist der Spaß aber zunehmend in den Hintergrund getreten und immer öfter fühle ich mich als Getriebener. Nach und Nach habe ich einige Ursachen dafür ausmachen können.

Da war zunächst, dass ich als Forenadmin und als Forenmoderator eine Menge Arbeit und Ärger abseits dessen hatte, was ich eigentlich tun wollte. Schon früh, habe ich deshalb meine Moderator-Rolle in fremden Foren aufgegeben. Schon vor Corona habe ich außerdem das KOMA-Script-Forum quasi dicht gemacht.

Zum Ausgleich habe ich mich dann wieder etwas mehr in besagtem anderem Forum engagiert und mich dort bemüht, auch aus noch so unklar formulierten Fragen irgend etwas Verwertbares heraus zu holen, um eine hoffentlich brauchbare Antwort zu geben. Wobei ich nicht verhehlen kann, dass ich auch immer versucht habe, den Leuten halbwegs vernünftige Typografie und einen möglichst sauberen LaTeX-Stil beizubringen. Typografie ist nun einmal eines meiner Steckenpferde, seit ich mein erstes Buch von Jan Tschichold gelesen habe. Sauberes Arbeiten mit LaTeX ist meiner Meinung nach, ein wichtiger Baustein für den Erfolg. Durchmogeln führt mittelfristig eher zu Frust als Erfolg und schon gar nicht zu Spaß an LaTeX. Ich wollte aber, dass die Leute mittelfristig Spaß an LaTeX bekommen, auch wenn es bedeutete, dass ich oft geschriebene Dinge, ständig wiederholen musste.

Bei KOMA-Script selbst bin ich schon vor längerem zum Schluss gekommen, dass es für einen alleine zu groß geworden ist. Immer mehr Zeit wurde benötigt, um neue Wünsche irgendwie mit dem Vorhandenen in Einklang zu bringen. Immer mehr Zeit wurde benötigt, um Kompatibilität mit Paketen zu erreichen, deren Autoren KOMA-Script nicht kennen, nicht verwenden, nicht wollen. Immer mehr Zeit wurde benötigt, um Kompatibilität mit richtigen Entwicklungen bei LaTeX selbst aufrecht zu erhalten. Das führt auch zu der paradoxen Situation, dass Dinge, die ich mir von LaTeX immer gewünscht habe und jetzt verfügbar sind oder werden, bei mir zu einem Problem werden. Immer weniger Zeit bliebt für das, was ich eigentlich tun wollte. Leider habe ich auch in den Versuchen, andere zu rekrutieren, um die Zeit zurück zu bekommen, versagt. So gesehen ist möglicherweise viel Zeit, die ich in den Umbau des Codes und den Aufbau von Issue-Tracker und Wiki investiert habe, sogar verschwendet. Das wird erst die Zukunft zeigen.

Gestern habe ich scheinbar spontan eine weitere Reißleine gezogen und das letzte deutschsprachige Forum, in dem ich noch aktiv war, zusammen mit einem hauptsächlich durch Spam gekennzeichneten internationalen Forum, in dem ich auch noch aktiv war, aus meinen Favoriten gelöscht. Es gibt jetzt noch genau ein internationales Forum, in dem ich hin und wieder vorbei schaue, nachdem ich es zuvor Jahre lang ignoriert hatte. Ansonsten bin ich nur noch auf einer Mailing-Liste so aktiv, wie man eben auf einer mehr oder weniger toten Mailing-Liste sein kann.

Der Abschied war in Wirklichkeit weit weniger spontan, als es scheinen mag. Denn wie oben erwähnt, drehte ich mich dort eher im Kreis. Meine oben erwähnten zusätzlichen Hinweise wurden eher missbilligend aufgenommen. Häufig habe ich Antworten auch dann aufgeschoben, wenn ich zwischendurch vorbei geschaut habe. Dadurch kamen die Antworten dann teilweise so spät, dass sie wohl auch gar nicht mehr von Interesse waren. Foren sind heutzutage ein schnelles Medium. Was nicht innerhalb von Minuten mit Code beantwortet wird, der in noch so abstruse und unbekannte Vorlagen erfolgreich kopiert werden kann, wird bestenfalls ignoriert, im schlimmsten Fall abgelehnt. Dazu kam bei dem Forum auch noch, dass die Forensoftware leider seit Jahren immer wieder Code verfälscht. Ich musste also nach dem Absenden jedes Mal zusätzlich prüfen, ob die Lösungen in der angezeigten Form auch wirklich noch funktionieren. Auch wenn das nur ein kleines Mosaiksteinchen auf dem Weg zum Ausstieg war. Es gab derlei leider zuviele und am Ende fehlte nur noch ein weiteres solch – für sich gesehen – unwesentliches Steinchen, um das Bild zu vollenden.

Vor einiger Zeit habe ich eine lukrative, temporäre Nebentätigkeit abgelehnt, u. a. weil ich – ich sage das erstmals hier ganz offen – schlicht keine Lust mehr hatte, noch mehr LaTeX zu machen. Da das eigentlich genau die Art Job war, von der ich jahrelang geträumt hatte, war ich ziemlich entsetzt, als ich diese Entscheidung getroffen hatte. Die Erkenntnis, dass ich von Forenarbeit, E-Mail-Support und KOMA-Script-Verwaltung so ausgebrannt bin, dass ich meinen Traumjob, der mich zudem in eine der schönsten Gegenden Europas hätte führen können, ablehne, trifft mich auch heute noch ziemlich. Es war klar, dass sich sehr viel, möglicherweise sehr viel schneller ändern muss, als vorgesehen war und als viele denken mögen. Mein Rückzug aus der Forenarbeit ist eine solche logische Konsequenz. Dass er mich unversehens leicht gemacht wurde, sehe ich am heutigen Tag als Chance. Ob er mir tatsächlich hilft, den Spaß wieder zu finden oder als nächstes die oft verschobene Einstellung von KOMA-Script akut wird, weiß ich nicht. Möglich ist sogar, dass ich all meine LaTeX-Aktivitäten aufgebe.

Auf der anderen Seite hoffe ich eigentlich, dass ich mittelfristig genau daran wieder Spaß finden werde. Seit Jahren schwebt mir eigentlich vor, etwas komplett neues von Grund auf zu entwickeln. Etwas ganz anderes als KOMA-Script und doch insofern sehr ähnlich als es anders sein soll – genau wie damals KOMA-Script anders war als die Standardklassen. Und ob das dann außer in irgend einer Nische öffentlich werden würde, wäre ebenfalls nicht sicher. Die Nutzergruppe wäre ohnehin eher klein. Wie sich in den Foren zeigt, verwenden Anwender nämlich vorzugsweise total veralteten, schrecklichen Code, den sie irgendwo im WWW aufgetrieben oder von einem freundlichen Menschen an der Uni/Hochschule bekommen haben. Aber vielleicht irre ich hier, wie ich schon damals bei KOMA-Script irrte.

Ein paar Schritte stehen bezüglich KOMA-Script noch auf meinem Pflichtenheft. Dazu gehört, diese Seite vollends aus dem Verkehr zu ziehen. Dazu gehört eigentlich auch, noch das eine oder andere Paket aus der KOMA-Script-Sammlung herauszulösen. Ersteres wird mit Sicherheit eher früher als später entweder geregelt oder ungeregelt geschehen. Letzteres hängt von Lust und Laune des einzigen aktiven Entwicklers ab.

Eigentlich ist es Tradition, dass ich meine Blog-Beiträge hier mit »Bis demnächst« beende. Ich denke, dass wäre dieses Mal unangemessen.

Möge die Zukunft hell und friedlich sein!
Markus

by Markus Kohm at Monday, 2023-03-27 08:52

2023-03-19

TypoBlog Gorbach

Typografie für Leichte Sprache

Die Leichte Sprache unterscheidet sich sehr von der Alltagssprache. Inzwischen stellen immer mehr Insitutionen, Behörden und Unternehmen eine Fassung in Leichter Sprache bereit. Leichte Sprache wird von speziellen »Übersetzern« geschrieben. Ihre visuelle Form war aber bisher noch nicht optimal. Das ändert sich jetzt. 

 

Ein Team von Gestalterinnen und Gestaltern hat sich auf Initiative des Deutschen Designtags mit den Möglichkeiten für eine sinnvolle Typografie für Leichte Sprache in vielen Online-Sitzungen beschäftigt. 

Aus der Presseerklärung des Deutschen Designtags: »Vom Formular bis zur Webseite – die Anzahl der Medien in sogenannter Leichter Sprache wächst. Als Werkzeug barrierefreier Kommunikation sorgt sie für gesellschaftliche Teilhabe von Menschen mit eingeschränkten Lese- und Verstehensfähigkeiten. Die neue DIN SPEC (PAS) schafft mit ihren »Empfehlungen für Deutsche Leichte Sprache« eine wesentliche Grundlage für eine einheitliche und erfolgreiche Umsetzung.
Die neue DIN SPEC richtet sich an Texterinnen und Texter, Übersetzerinnen und Übersetzer, Designerinnen und Designer, Prüferinnen und Prüfer sowie Auftraggeberinnen und Auftraggeber. Die Empfehlungen dieses Dokuments dienen der Qualitätssicherung und sind gleichermaßen als Kriterien für Ausschreibungen nutzbar.  Um gesellschaftliche Teilhabe zu gewährleisten, werden Texte aus der Alltagssprache in Leichte Sprache sowie in eine klare, gut erfassbare Typografie übersetzt. Das Ergebnis muss so verständlich wie lesbar sein. Dazu trägt in beträchtlichem Maße auch die visuelle Gestaltung eines Textes bei.

Erarbeitet wurde die neue DIN SPEC 33429 im Auftrag des Bundesministeriums für Arbeit und Soziales (BMAS) unter Beteiligung von Vertreterinnen und Vertretern aus den Bereichen Öffentliche Hand, Wissenschaft, Design, Übersetzung und Prüfung sowie Verlagen. Für den visuellen Teil waren über den »Rat für Inklusion« des Deutschen Designtags Expertinnen und Experten aus Typografie, Illustration, Schriftenentwicklung und Gestaltung beteiligt. Menschen mit Lernschwierigkeiten waren in allen Phasen der Erarbeitung eingebunden und wurden dabei von ihren jeweiligen Organisationen unterstützt.

Das Kapitel »Empfehlungen zur visuellen Gestaltung« zeigt die Bedeutung von Gestaltung für die Textverständlichkeit auf. Darin werden Gestaltungsgenres ebenso erklärt wie visuelle Strukturierung, Format und Seitengestaltung, Auszeichnungen, Tabellen, grafische Elemente, Texturen, Tonwerte und Farben und nicht zuletzt auch Auswahlkriterien bzgl. Schriften für unterschiedliche Textsorten vorgelegt. Auch das Thema Bild kommt nicht zu kurz und befasst sich u. a. mit Bildarten und ihrer Verwendung, Erkennbarkeit und Verständlichkeit, Hilfsmitteln für die bildliche Darstellung sowie dem Verhältnis von Bild und Sprache (...)«.

Am Kapitel 6 »Empfehlungen zur visuellen Gestaltung« der DIN Spec 33249 haben mitgearbeitet (fast alle sind auch Mitglieder der tgm):
Rudolf Paulus Gorbach als Beirat im Konsortium (Typographische Gesellschaft München e.V.), Ulrike Borinski (Forum Typografie), Albert Jan Pool (Obmann für die DIN 1450 Leserlichkeit), Sabina Sieghart (AGD), Birgit Walter (Forum Typografie) und Dr. Juliane Wenzl (Illustratoren Organisation). Außerdem temporär Tom Bieling (Zentrum für Designforschung), Ina Beyer (3 in 1; Grafik I Redaktion I leichte Sprache) und Marion Klanke (Lebenshilfe Bremen).

Die DIN SPEC ist seit 3. März für alle öffentlich auf der Webseite
https://www.din.de/de/wdc-beuth:din21:364785446
bereitgestellt. Bis zum 3. Mai können ihre Inhalte von der Fachöffentlichkeit, d. h. auch von Designerinnen und Designern, kommentiert werden.

In Planung ist ein Buch zur visuellen Gestaltung für Leichte Sprache. Um die Praxis der Gestaltung zu betonen suchen wir hierzu auch gleichzeitig gelungene Gestaltungsbeispiele  für Leichte Sprache (rpg@gorbach-gestaltung.de).

 

 

 

 

by Rudolf Paulus Gorbach (rudolf.gorbach@gorbach-gestaltung.de) at Sunday, 2023-03-19 18:43

2023-03-17

LaTeX Project

"The LaTeX Companion", third edition, is available for pre-order

The third edition of The LaTeX Companion is available for pre-order

I’m happy to announce that the third edition of The LaTeX Companion has been sent to the printer and is now available for pre-order. It will be published by end of April or beginning of May. This is the end of five years of careful work and we hope that it will provide our readers with all the information they need to successfully navigate the LaTeX ecosystem and efficiently produce beautiful documents.

TLC3 Part I cover TLC3 Part II cover

Since the publication of the last edition (2004) a lot has happened in the LaTeX world and thus a complete rewrite was necessary.
All chapters have been thoroughly revised and in many cases largely extended to describe new important functionality and features. More than 5,000 add-on packages have been analyzed in detail, out of which roughly 10% have been chosen for inclusion in The LaTeX Companion. All important aspects of these packages are described to provide the user once again with a satisfying one-stop–shop experience for the decade to come.

To cover what we thought worth describing today, the book nearly doubled in size. The print edition is therefore produced as a two-volume set and sold as a bundle. Both volumes come as hardcover with ribbons to easily mark pages in the book.

To give you an idea of what is covered in the third edition, here are some excerpts:

The edition is also available as an eBook (Part I and II combined) consisting of PDF and ePub format without DRM. Finally, the publisher offers the combination of the printed books + the digital versions at a very attractive price not available anywhere else.
Note that some distributors offer the two parts of the edition (also) individually, but usually for a much higher price compared to the bundle. Also important is that the digital version offered by some resellers only contains either the ePub or the PDF but not both! We therefore recommend that you watch out for this.

In Europe it might be easier to buy the print edition from bookshops or from resellers such as Amazon to avoid having to deal with import/customs fees, e.g. by using Amazon.de in Germany. However, the combination of print and digital formats is only available from the publisher’s InformIT site through the link above.

Happy LaTeXing — Frank

Friday, 2023-03-17 00:00

2023-03-13

LaTeX Project

Towards automated PDF tagging: Pre-release of LaTeX 2023-06-01 is available for testing

Towards automated PDF tagging: Pre-release of LaTeX 2023-06-01 is available for testing

We submitted the second pre-release version for the 2023-06-01 LaTeX kernel to CTAN recently. It should have made its way into TeX Live (both 2022 and the 2023 pre-test) for everyone by now, so it’s ready for users to try.

It does not yet contain all updates to the LaTeX format that will become part of the standard in June, but the new code already provided is worth checking out.

Automated tagging of PDF documents

We have now enabled new automatic tagging functionality for additional LaTeX elements, among them most display environments, standard sectioning commands and content, figure and table listings.

This can be activated through

\DocumentMetadata{testphase=phase-III}
\documentclass{...}                     % article, book or report

In addition there is also a (very early) prototype for tagging formulas, which can be activated through

\DocumentMetadata{testphase={phase-III,math}}
\documentclass{...}

It offers support for LaTeX’s standard math environments but also for all environments provided through the amsmath package.

All of this automation is currently in a prototype state and restricted to the use of standard classes (article, report, and book) and it supports only a limited number of add-on package. See the draft version of the LaTeX2e News Issue 37 newsletter for further details. It provides information how to submit feedback on the new functionality.

The newsletter also covers various other small enhancements or corrections that we intend to provide with the June release.

Outlook

We expect to produce another pre-release around the end of April, which will give us time to finish the release by June. Please help with the testing.

Processing your documents with the pre-release is straightforward. All you have to do is to replace the invocation command by appending -dev to the executable, e.g., on the command line you would run

  • pdflatex-dev myfile or
  • lualatex-dev myfile or
  • xelatex-dev myfile

instead of using pdflatex, lualatex or xelatex. If you use an integrated editing environment, then it depends on the system how to configure it to use an alternative format; but in any case the necessary modification should be straightforward.

Enjoy — Frank

Monday, 2023-03-13 00:00

2023-02-24

TUG

TeX Live 2023 pretest

The pretest for TeX Live 2023 is in process, for anyone who'd like to help with the upcoming release. The new binaries are presumed stable at this point, barring bug reports, so please try it out with your own documents if you have a chance.

Friday, 2023-02-24 17:29

2023-01-03

LaTeX Project

PDF days Europe 2022 - Tagged and Accessible LaTeX

PDF days Europe 2022 - Tagged and Accessible LaTeX

Frank at PDFdays Europe 2022
Photo by Catrin Wolf

At the PDF days Europe 2022 conference, hosted by the PDF Association (PDFA) we gave a presentation on the current state of the “LaTeX Tagged PDF” project, explaining the challenges, achievements, and our plans for the future.

The talk was recorded and is now available on the PDFA website through this link.
The slides of the presentation are available here.

Tuesday, 2023-01-03 00:00

2022-12-09

TUG

TUGboat 43:3 published

TUGboat volume 43, number 3, has been mailed to TUG members. It is also available online and from the TUG store. In addition, prior TUGboat issue 43:2 is now publicly available. Submissions for the next issue are welcome; the deadline is March 26, 2023 (early submissions are especially appreciated). Finally, please consider joining or renewing your TUG membership if you haven't already (we'll send all issues for the year immediately), and thanks.

Friday, 2022-12-09 18:25

2022-11-30

medievalbooks

Medieval Manuscript Fragments in the Classroom

When readers in Western Europe turned their eyes to printed books, around the middle of the 15th century, handwritten books became old-fashioned, unwanted, and ultimately obsolete. Bookbinders began to disassemble medieval manuscripts and recycle their strong parchment leaves as binding materials. Thousands were systematically destroyed over the next two centuries, which is why one often … Continue reading Medieval Manuscript Fragments in the Classroom

by Erik Kwakkel at Wednesday, 2022-11-30 20:04

2022-11-03

LaTeX Project

The November 2022 release of LaTeX is available

The November 2022 release of LaTeX is available

More or less on time we released the 2022-11-01 version of LaTeX and by now it should be available in all major distributions. This release is largely a consolidation release. However it also contains one very important enhancement that is initially important for package developers, but over time — when the kernel and packages starting using it — will become relevant for user documents.

I’m talking about the fact that we prepared the grounds to use optional key/value arguments with basically any command including those that current have optional arguments expecting a simple value. For example, \chapter or \caption allow an optional argument to hold the data for the TOC or LOF file. With the new functionality they can be changed (not done yet) to alternatively support a key/value list in this argument and LaTeX will automatically determine which version applies. This is very important for providing a standard and consistent method for accessible LaTeX documents, because there has to be a possibility to specify “alternative text” in various places. There are other reasons related to the Tagged PDF project why such an interface is useful and the beauty of it is that it is both consistent and upward compatible.

To get a good overview about the new features and most of the important bug fixes made in this release take a look at “LaTeX2e News Issue 36”. This document should be accessible through texdoc ltnews36 on your computer and can also be found on the LaTeX2e news page where you will also find release information for earlier LaTeX releases.

Happy LaTeXing — Frank

Thursday, 2022-11-03 00:00

2022-10-04

Some TeX Developments (by Joseph Wright)

Mapping to characters

It is quite natural to think that separating a word up into individual characters is quite easy. It turns out that for the computer this isn’t really the case. If we look at a system that understands Unicode (like XeTeX or LuaTeX), most of the time one ‘character’ is stored as one codepoint. A codepoint is a single character entity for a Unicode programme. For example, if we take the input café, it is made up of four codepoints:

  1. U+0063 (LATIN SMALL LETTER C)
  2. U+0061 (LATIN SMALL LETTER A)
  3. U+0066 (LATIN SMALL LETTER F)
  4. U+00E9 (LATIN SMALL LETTER E WITH ACUTE)

So we could in XeTeX/LuaTeX use a simple mapping to grab one character at a time and do stuff with it. However, that’s not always the case. Take for example Spın̈al Tap. The dotless-i is a single codepoint, but there is not a codepoint for an umlauted-n. Instead, that is represented by two codepoints: a normal n and a combining umlaut. As a user, it’s clear that we’d want to get a single ‘character’ here. So there’s clearly more work to do.

Luckily, this is not just a TeX problem and the Unicode Consortium have thought about it for us. They provide a data file and rules that describe how to divide input into graphemes: ‘user perceived characters’. So ‘all’ that is needed is to examine the input using these rules, and to divide it up so that ‘characters’ stay together.

For pdfTeX, there’s an additional wrinkle: it uses bytes, not codepoints, and so if we use a naïve TeX mapping, we would divide up any codepoint outside the ASCII range into separate bytes: not good. Luckily, the nature of codepoints is predictable: all that is needed is to examine the first byte and collect the right number of further bytes to re-combine into a valid codepoint.

This work isn’t something the average end user wants to do. Luckily, they don’t have to as the LaTeX team have looked at this and created a suitable set of expl3 functions to do it: \text_map_function:nN and \text_map_inline:nn. So for example we can do

\ExplSyntaxOn
\text_map_inline:nn { Spın̈al ~ Tap } { (#1) }
\ExplSyntaxOff

and get

(S)(p)(ı)(n̈)(a)(l)( )(T)(a)(p)

in any TeX engine (assuming we are set up to print the characters, of course).

Taking a more ‘serious’ example (And one that is going to use LuaTeX for font reasons), we might want to map over Bangla text. It’s easy to do that with the expl3 function \tl_map_inline:nn, but it gives very odd results. In contrast, \text_map_inline:nn divides up the characters correctly.

\documentclass{article}
\usepackage{fontspec}
\newfontface\harfbengali
  {NotoSansBengali-VariableFont_wdth,wght.ttf}[Renderer=HarfBuzz,Script=Bengali]
\begin{document}
\harfbengali
\ExplSyntaxOn
ন্দ্রকিন্দ্র
\par
\text_map_inline:nn{ন্দ্রকিন্দ্র}{(#1)}
\par
\tl_map_inline:nn{ন্দ্রকিন্দ্র}{(#1)}
\ExplSyntaxOff
\end{document}

which gives Example output (You’ll need Noto Sans Bengali available to make this work locally.)

So, as you can see, mapping to ‘real’ text is easy with expl3: you just need to know that the tools are there.

by Joseph Wright at Tuesday, 2022-10-04 00:00

2022-09-20

LaTeX Project

First pre-release of LaTeX 2022-11-01 is available for testing

Pre-release of LaTeX for 2022-11-01 is ready for testing

We submitted the first pre-release version for the 2022-11-01 LaTeX kernel to CTAN recently. It should have made its way into TeX Live or should appear for everyone pretty soon.

It already contains most updates and improvements to the LaTeX format that will become part of the standard in November; thus testing them now will help identifying packages that need upgrading and finding any bugs lurking before that release hits the streets; see below for how to do this in a safe way.

The main highlight is briefly discussed below, further details plus smaller bug fixes and improvements not covered here can be found in the draft version of the LaTeX2e News Issue 36 newsletter.

New feature in the kernel (highlights)

For developers

The most important improvement in the LaTeX kernel is to offer a standard mechanism for receiving and manipulating key/value arguments in commands. This is implemented in the \DeclareDocumentCommand interfaces and offers a reliable method to allow an (optional) argument to contain either a key/value list or to interpret it as an ordinary argument if the content does not contain such a key/value list. In the latter case that content is interpreted as the value of the key whose name is specified in the command declaration. For example, the \caption command could be declared as

\DeclareDocumentCommand \caption {s ={short-text}+O{#3} +m}
       {...}

which means that it expects an optional star (s) and a mandatory argument that can contain \par commands (+m). It also has an optional argument (before the mandatory one) whose default – if not given – is the content of the mandatory one (+O{#3}), which is why it refers to #3. By prefixing this with ={short-text} we state that this optional argument should check for a key/value list and if no such list is found, should assign its argument content to the key short-text for further processing. Then such processing of the argument can always assume that it got a key/value list, either the one specified or the simple one with just the short-text key.

Right now, only the functionality is offered and that is largely targeted towards developers. However, the moment commands make use of that feature (and from the project team perspective we certainly intend to make use of it in upcoming releases) it becomes relevant for users as well, because then they will be able to specify key/value arguments in several places, while support for “free text arguments” is retained.

While technically this functionality can be used with any argument we intend to use it only for the first optional argument of a command and suggest that developers do likewise so that (most) LaTeX commands use a similar interface that makes it easy for users to work with, i.e.,

\cmd * [<arg with key/val or free text>] <other mandatory or optional arguments>

Simpler commands could, of course, offer

  • no * form or
  • an optional argument always expecting a key/value list or
  • one without any key/value support or
  • no optional argument whatsoever.

For developers and users

You may wonder what rules are used to determine that an argument is interpreted as a key/value list. They are fairly simple, but adequate (we hope) for nearly all use cases. Basically, the argument text is searched for one or more = signs that are neither within an explicit brace group {...} nor part of inline math mode, or more precisely not within $...$ or \(...\). Other constructs are not considered at the moment, e.g., if you really use \begin{math}...\end{math} or some display math that contains an equal sign, it will not work inside such an argument without adjustment. If the content is incorrectly interpreted as a key/value list, then the remedy for the user is to hide the content in a brace group, e.g.,

\caption[The form: \begin{math} a=b\end{math}]  {...}  % fails
\caption[{The form: \begin{math} a=b\end{math}}]{...}  % works

There is also a way to force interpretation as a key/value list by prepending =, to the argument which can be useful in some situations with valueless keys. More details can be found in the documentation.

Outlook

We expect to produce another pre-release before the next main release, but this will most likely only contain some further updates to the latex-lab code, and possible some minor updates to fix one or the other minor pending issue. Please help with the testing of this pre-release by using it for your documents or testing it against your own packages.

Processing your documents with the pre-release is straightforward. All you have to do is to replace the invocation command by appending -dev to the executable, e.g., on the command line you would run

  • pdflatex-dev myfile or
  • lualatex-dev myfile or
  • xelatex-dev myfile

instead of using pdflatex, lualatex or xelatex. If you use an integrated editing environment, then it depends on the system how to configure it to use an alternative format; but in any case the necessary modification should be straightforward.

Enjoy — Frank & Joseph

Tuesday, 2022-09-20 00:00

2022-09-13

Some TeX Developments (by Joseph Wright)

Math mode: $…$ vs \(…\)

A topic that comes up for many LaTeX users is how best to mark up math mode in sentences: inline math mode. LaTeX offers three (!) official ways to do that

  • $...$
  • \(...\)
  • \begin{math} ... \end{math}

The last version is clearly far too verbose for routine use, but the first and second approaches have a much less clear-cut division.

Plain TeX uses the $...$ construct exclusively, and that means many experienced (La)TeX users simply use this without any further consideration. There are good arguments in favour of the syntax, most obviously that this switches directly into math mode (it uses the underlying TeX idea of category codes with no macro expansion required). On the other hand, it lacks any possiblity of matching begin and end points.

LaTeX’s \(...\) syntax was introduced by Lamport early in the development of the format. Using separate begin and end marks means that is does allow error detection in the editor, and it also is linked visually to LaTeX’s display math \[...\] approach. (More on that below.)

So which one to use? Experience suggests that whilst Lamport made many good decisions in the design of LaTeX’s input syntax, \(.,..\) wasn’t the best of them. The number of times that pair-matching is helpful simply doesn’t compete with the extra complexity of the input. At the same time, there’s no difference in the results between the two syntax, so there isn’t a downside to using $..$. So I (and the majority of the current LaTeX team) favour using $..$.

I think it’s important to contrast with (unnumbered) display math mode. There, the LaTeX \[...\] syntax is the officially-supported approach, and the plain TeX $$..$$ is not. For display math, there are significant differences in what can be done using \[...\] compared to directly switching to TeX’s display math mode using $$..$$, and so the situation is clear: use \[...\].

by Joseph Wright at Tuesday, 2022-09-13 00:00

2022-09-12

TUG

TUGboat 43:2 published

TUGboat volume 43, number 2, has been mailed to TUG members. It is also available online and from the TUG store. In addition, prior TUGboat issue 43:1 is now publicly available. Submissions for the next issue are welcome; the deadline is October 15, 2022 (early submissions are especially appreciated). Finally, please consider joining or renewing your TUG membership if you haven't already (we'll send this issue immediately), and thanks.

Monday, 2022-09-12 22:00

2022-09-06

LaTeX Project

Talks from the online TUG Conferences 2021 and 2022

Talks from the online TUG Conference 2021 and 2022 on YouTube

For some reason it took a long time to get the 2021 talks cut and uploaded to YouTube and when that finally happened, I was in the middle of entering copy-editing corrections for the LaTeX Companion, 3rd edition and simply missed the opportunity to announce the talks and update the website to refer to it. Now with with TUG 2022 also online this is more than overdue.

Both conferences (as usual) had quite a number of interesting talks on many subjects of TeX usage and related topics. If you have missed the conferences (or if you want listen to one of the talks again) you will find them all on the TeX Users Group Channel on YouTube.

There were also several talks by members of the LaTeX Project team. Some are directly relevant to our multi-year project on automatically producing tagged PDF; others discuss other LaTeX topics of interest. As an intro to the tagged-PDF project (for those who haven’t heard about it yet) I also provide one link to a talk from the 2020 conference announcing that project.

Enjoy — Frank

Tuesday, 2022-09-06 00:00

2022-07-09

Uwes kleines Technikblog - Kategorie LaTeX (by Uwe Ziegenhagen)

Artikel bei golem.de

Bei golem.de wurde mein zweiter LaTeX-Artikel veröffentlicht, ihr findet ihn hier: https://www.golem.de/news/layouten-mit-latex-setzt-du-noch-oder-gestaltest-du-schon-2207-165543.html

Der erste Artikel zum Thema befindet sich hier: https://www.golem.de/news/latex-schreibst-du-noch-oder-setzt-du-schon-2201-162303.html

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

üääü­üöü–üöü–üöü–

by Uwe at Saturday, 2022-07-09 16:53

2022-06-27

Uwes kleines Technikblog - Kategorie LaTeX (by Uwe Ziegenhagen)

Folien meines „MyTinyTodo“-Vortrags bei der Dante Sommertagung in Magdeburg

Hier die Folien meines MyTinyTodo2LaTeX Lightning Talks, gehalten auf der Sommertagung 2022 von Dante e.V. in Magdeburg.

Folien

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

üääü­üöü–üöü–üöü–

by Uwe at Monday, 2022-06-27 18:22

Folien meines „Beamer Themes“-Vortrags bei der Dante Sommertagung in Magdeburg

Hier die Folien meines „Beamer Themes“-Vortrags bei der Dante Sommertagung in Magdeburg.

FolienFolien

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

üääü­üöü–üöü–üöü–

by Uwe at Monday, 2022-06-27 18:20

Liste aller Beamer Themes in TeX Live

Unter https://github.com/UweZiegenhagen/LaTeX-Beamer-Theme-Overview habe ich ein Projekt begonnen, das alle in einem TeX Live vorhandenen Beamer-Themes anhand von Beispielbildern vorstellt.

Direkter Link zur Übersicht: https://github.com/UweZiegenhagen/LaTeX-Beamer-Theme-Overview/blob/main/OVERVIEW.md

Technisch funktioniert es so, dass der Name des Themes aus dem Dateinamen extrahiert wird, dazu nutze ich mein Varsfromjobname-Paket. Die einzelnen PDFs werden dann über ein Python-Skript mit LaTeX erzeugt, mittels imagemagick in einzelne PNGs zerlegt und in der Overview.md verlinkt.

Hinweis: Nicht bei allen in TeX Live vorhandenen Themes funktioniert dieser Weg, die Autoren der nicht funktionierenden Themes werde ich anschreiben.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

üääü­üöü–üöü–üöü–

by Uwe at Monday, 2022-06-27 18:12

Silbentrennung und Kerning anzeigen mit showhyphenation und showkerning

Für LuaLaTeX gibt es mit showhyphenation und showkerning zwei interessante Pakete, die die möglichen Trennstellen bzw. das Kerning anzeigen.

%!TEX TS-program = lualatex
\documentclass[12pt,ngerman]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{blindtext}
\usepackage{microtype}

\usepackage{showhyphenation}
\usepackage[ontop]{showkerning}
\begin{document}

\blindtext

\blindtext


\end{document}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

üääü­üöü–üöü–üöü–

by Uwe at Monday, 2022-06-27 18:06

2022-06-14

LaTeX Project

June 2022 LaTeX release available

The June 2022 LaTeX release is available

With a few days delay we released the 2022-06-01 version of LaTeX and by now it should be available in all major distributions. The release contains a number of important improvements and extensions that have be discussed in previous posts.

To get a good overview about the new features and most of the important bug fixes made in this release take a look at “LaTeX2e News Issue 35”. This document should be accessible through texdoc ltnews35 on your computer and can also be found on the LaTeX2e news page where you will also find release information for earlier LaTeX releases.

With the extended testing of pre-releases I would have hoped for once that we can do without having to produce a patch release soon after, but no such luck. While no code issues have been found, we managed to mess up the banner, which comes out as

LaTeX2e <2022-06-01> pre-release-0 (develop 2022-6-12 branch)
L3 programming layer <2022-06-02>

which is, of course, utter nonsense. So expect a patch release during the next days (it will be identical to the current one, except for a corrected banner, a minor fix in for legacy Cyrillic code pages, and a fix for ltxdoc if used with csquotesin the preamble).

Happy LaTeXing — Frank

Tuesday, 2022-06-14 00:00

2022-06-06

TUG

TUG 2022 proposal deadline June 15

The deadline to receive presentation proposals for the TUG'22 conference is June 15, about a week from now. The conference will be held online July 22-24.

It would be great to receive more proposals, so if there's anything TeX- or typography-related you'd like to give a talk on, don't hesitate to send in a title and abstract. Presentations are usually around 30min, but shorter or longer is fine.

We also greatly appreciate accompanying papers for the TUGboat proceedings (deadline: July 31), but this is not a requirement.

Registration for the conference is free.

Thanks for considering, and hope to see you there. --happy TeXing, karl.

P.S. Please feel free to redistribute this note elsewhere. The more widely it goes out, the better.

Monday, 2022-06-06 15:53

2022-05-27

LaTeX Project

Final pre-release of LaTeX 2022-06-01 is available for testing

Final pre-release of LaTeX for 2022-06-01ready for testing

Last week we submitted the final pre-release version for the 2022-06-01 LaTeX kernel so it should be available in all major TeX distributions.

As always new functionality and bug fixes are discussed in the corresponding LaTeX2e News Issue 35 newsletter.

Because we are a few days behind our original schedule, we are going to delay the main release for a few days too, to give people time to do some final testing. Please help with this testing!

Processing your documents with the pre-release is straightforward. All you have to do is to replace the invocation command by appending -dev to the executable, e.g., on the command line you would run

  • pdflatex-dev myfile or
  • lualatex-dev myfile or
  • xelatex-dev myfile

instead of using pdflatex, lualatex or xelatex. If you use an integrated editing environment, then it depends on the system how to configure it to use an alternative format; but in any case the necessary modification should be straightforward.

Enjoy — Frank

Friday, 2022-05-27 00:00

2022-05-11

TUG

TUGboat 43:1 published

TUGboat volume 43, number 1, has been mailed to TUG members. It is also available online and from the TUG store. In addition, prior TUGboat issue 42:3 is now publicly available. The next issue will be the TUG'22 proceedings; presentation proposals are welcome and requested; see the call for papers. Finally, please consider joining or renewing your TUG membership if you haven't already (we'll send this issue immediately), and thanks.

Wednesday, 2022-05-11 00:13

2022-03-21

Some TeX Developments (by Joseph Wright)

siunitx v3.1: complex values

I mentioned recently that I’m working on features for siunitx v3.1. One area that I’ve now been able to commit is improvements to handling complex values.

In v2, you could give complex values in the normal argument to \num or \SI. I removed that for v3, and of course that was not entirely popular. Instead, I introduced dedicated commands, \complexnum and \complexqty. Part of the reason for that was that it makes the implementation of \num and \qty/\SI easier. But the other was that I wanted to address polar form, and that really didn’t look viable if it was mixed in with the normal numerical argument type.

I’ve now committed a change that introduces support for polar form in siunitx. So what happens now is if you give a value such as \num{10:30}, it’s treated as a magnitude and an angle. The latter has a setting to determine if it’s regarded as being in degrees or radians. The package can then typeset the result in a similar form, using the \angle symbol between the two parts. You can also set up to convert between the classical (Cartesian) and polar forms of the value. So hopefully this shows why I wanted to separate out complex numbers: they need special handling, and now they get it.

by Joseph Wright at Monday, 2022-03-21 00:00

LaTeX Project

Pre-release of LaTeX 2022-06-01 is available for testing

Pre-release of LaTeX for 2022-06-01 ready for testing

We submitted the latest pre-release version for the 2022-06-01 LaTeX kernel to CTAN recently. It should have made its way into TeX Live (both 2021 and the 2022 pre-test) for everyone by now, so it’s ready for user to try.

It already contains most updates to the LaTeX format that will become part of the standard in June; thus testing the them now will help identifying packages that need upgrading and finding any bugs lurking before the June release hits the streets; see below for how to do this in a safe way.

The highlights are briefly discussed below, further details plus smaller bug fixes and improvements not covered here can be found in the draft version of the LaTeX2e News Issue 35 newsletter.

New features in the kernel (highlights)

For users

One of the most significant changes in the code is one that users (hopefully) won’t notice: the definition of UTF-8 characters in pdfTeX. We have made these engine-protected, which should make processing them in expl3 a lot easier. The way the change has been set up means we don’t expect users to actually see a difference, but we do want to hear about how it is working. So get your complicated accents out and try them all over the place with pdfTeX. (LuaTeX and XeTeX users won’t even need to worry.) One thing that goes with this change is that we have updated the definition of \MakeUppercase and \MakeLowercase, so they use Unicode-aware expl3 code ‘behind the scenes’. Again, this should be transparent to users, but it would be good to hear how it works in the wild.

More visible are a small set of new commands we are adding in this pre-release. We are moving \fpeval and \inteval from the xfp package directly into the kernel. We are also adding \ExpandArgs and \UseName, ideas again taken from expl3. These commands allow control of expansion, so you can do a range of basic expansion tasks in document commands, without needing TeX programming or using expl3. For example, you can now do

\NewDocumentCommand\newcopyedit{mO{red}}
  {\newcounter{todo#1}%
   \ExpandArgs{c}\NewDocumentCommand{#1}{s m}%
     {\stepcounter{todo#1}%
      \IfBooleanTF {##1}%
         {\todo[color=#2!10]%
            {\UseName{thetodo#1}: ##2}}%
         {\todo[inline,color=#2!10]%
            {\UseName{thetodo#1}: ##2}}%
     }%
  }

which can create a document command by name: something people have been asking for many years.

One more addition from expl3 ideas is \IfBlankTF: this can test if it has been given an entirely blank argument. Here, blank means empty or just spaces: this comes up surprisingly often.

For package authors

Package authors might well choose to use the features described above. There is though one big change aimed squarely at packages: keyval-based option handling. We have introduced a new set of commands, \DeclareKeys, \ProcessKeyOptions and \SetKeys, which can be used to create keyvals and to use them as package options. \DeclareKeys uses the same approach as the expl3 function \keys_define:nn to create keys: each key has one or more ‘properties’ which control how it behaves. We have provided a small number of common properties at this stage, for storing key values in a macro, for setting a switch and for executing some code. We have also provided a method to define the usage of keys: whether they are only available at package loading time, in the preamble or can also be used in the document body.

\DeclareKeys
  {
    draft.if    = @mypkg@draft      ,
    draft.usage = preamble          ,
    name.store  = \@mypkg@name      ,
    name.usage  = load              ,
    command.code = \showtokens{#1}
  }

Package options can then be processed using \ProcessKeyOptions, which will set keys defined by \DeclareKeys. Keys can also be set in the document body using \SetKeys. All of these new commands take an optional argument to define the key family: the namespace for the keys. This is by default the name of the current package file.

More advanced key types can be created directly using expl3 (l3keys): the keys created by \DefineKeys are standard expl3 keys.

Unlike traditional package options, loading a package using \ProcessKeyOptions multiple times with different options will not lead to a clash error. Instead, the options will simply be passed to the same key handler. This means that the package author can control how repeatedly setting the same keys is handled.

\DocumentMetadata

There is one more addition to the kernel for use at the top of the document: \DocumentMetadata. It is the trigger to tell LaTeX that the current document is new/modern document that should use concepts not available in traditional LaTeX2e documents, for example, everything developed for the PDF tagging project.

This new command has to come first in a LaTeX document, before \documentclass. It is used, as the name suggests, to set metadata about the entire document, but while the PDF tagging project is being worked on, it is also used to enable new code from this project (see the discussion of latex-lab below).

Even if used with an empty argument, it will currently already show some effect, by loading the new pdfmanagement that offers a reliable and consistent interfaces for packages (such as hyperref, media9, etc.) that need to set or query PDF resources, so that they can coexist without overwriting their settings in random ways.

The hyperref package, for example, will switch to a new driver with extended possibilities, if the \DocumentMetadata declaration was used, you can see this with the following simple document, that does shows the new default link colors of the new driver.

\DocumentMetadata{}

\documentclass{article}
\usepackage{hyperref}

\begin{document}
\tableofcontents
\section{A link}  \url{https://www.latex-project.org}
\end{document}

The LaTeX-lab bundle

This is a new space to explore ideas that we think may get added to LaTeX. These experimental ideas are only activated if the right key is present in the argument to \DocumentMetadata, i.e., they do not affect users who do not wish to experiment with new features. For example, the key testphase can be used to enable code that has been developed for the PDF tagging project. We currently are in testphase II of the tagging project, and that can be activated using

\DocumentMetadata{testphase = phase-II}

This then loads tagpdf and additional support code from latex-lab and produces documents that have paragraph text and footnotes tagged; further document elements, e.g., headings and lists will follow soon as part of this phase.

The latex-lab space may also hold code that we are in the process of moving to the kernel, but that we first want to tests without the danger of disruption, for example, at the moment it hosts the new management code for independent marks, which will either in June of by the end of the year move to the format.

It is possible that some ideas from the lab will be dropped or modified: anyone using them should be mindful of that. However, we expect that most will eventually move to the kernel. Tagging will always require \DocumentMetadata to be present, but over time the need to activate it with the testphase key will be removed.

Outlook

We expect to produce another pre-release around the end of April, which will give us time to finish the release by June. Please help with the testing

Processing your documents with the pre-release is straightforward. All you have to do is to replace the invocation command by appending -dev to the executable, e.g., on the command line you would run

  • pdflatex-dev myfile or
  • lualatex-dev myfile or
  • xelatex-dev myfile

instead of using pdflatex, lualatex or xelatex. If you use an integrated editing environment, then it depends on the system how to configure it to use an alternative format; but in any case the necessary modification should be straightforward.

Enjoy — Joseph & Frank

Monday, 2022-03-21 00:00

2022-03-19

Uwes kleines Technikblog - Kategorie LaTeX (by Uwe Ziegenhagen)

LaTeX Briefe mit KOMA-Script und dem scrletter Paket

Neben der Nutzung der scrlttr2 Klasse gibt es in aktuelleren KOMA-Script Versionen auch die Möglichkeit, das scrletter-Paket zu nutzen. Hier ein Beispiel:

\documentclass[12pt,ngerman]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{csquotes}
\usepackage{paralist}
\usepackage{xcolor}
\usepackage{palatino}
\usepackage{blindtext}
\usepackage{scrletter}

\setkomavar{fromname}{Max Mustermann}
\setkomavar{fromemail}{Max@Mustermann.de}

\setkomavar{fromaddress}{Musterweg 221, 12345 Musterstadt}

\setkomavar{firstfoot}{\usekomavar{fromemail}}


\begin{document}
\begin{letter}{Maria Mustermann \\ Mustergasse 1 \\ 12346 Musterstadt}

\opening{Hallo Maria,}

\blindtext[2]

\closing{Mit freundlichen Grüßen}

\end{letter}
\end{document}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

üääü­üöü–üöü–üöü–

by Uwe at Saturday, 2022-03-19 18:02

2022-03-16

LaTeX Project

Robin Fairbairns (1947 - 2022)

Robin Fairbairns (1947 - 2022)

We are sad to report that our longtime friend, team member, and LaTeX contributor Robin Fairbairns died 25th February 2022, after a long period of ill health. Much missed husband of Linda, former husband and friend of Josy, father of Chloe and Sam, stepfather of Chloe and Lydia.

The Funeral will be on 30th March 2022.

Robin was instrumental in bringing the UK TeX archive to Cambridge, and setting up the CTAN TeX archive network in 1992, of which Cambridge, DANTE and SHSU were the three original hosts. The UK CTAN host was managed by Robin until his retirement in 2014. Robin wrote or maintained many well-used LaTeX packages that are on CTAN.

He also regularly served on the UKTUG Committee, and for many years developed and maintained the “UKTUG FAQ” archive of Questions and Answers on TeX related subjects. The FAQ is now maintained at https://texfaq.org but the majority of the text still reflects Robin’s original work.

Robin Fairbairns

Robin was a tireless member of the community who helped many people for many years with his kind, friendly, and patient approach. He clearly looked to improve the TeX ecosystem and worked hard to leave it in a better place after his time was up. He certainly succeeded in that.

With sadness

— The LaTeX Team

Wednesday, 2022-03-16 00:00

2022-03-11

Some TeX Developments (by Joseph Wright)

siunitx v3.1 development

I’ve now done 49 (!) minor releases of siunitx on the v3.0.x branch. These have addressed quite a few minor bugs: I expected to have to do a bit of work since the shift from v2 was quite major.

Things are now settling down: the open issues I’ve had recently are mainly on the border of feature requests, and there don’t seem to be additional changes I’ve introduced by accident. With the TeX Live freeze coming up, now looks like an excellent time to turn my thoughts to siunitx v3.1. The plan there is to deal with two areas:

  • Small requests that are clearly additions not bugs, so need API extensions but are easy/low risk
  • Pick off one of the bigger requests, probably either multi-part uncertainties or parsing ‘free form’ units, or both if they are sufficiently straight-forward

Of course, that doesn’t rule out further bugs to be fixes in the v3.0 branch: I will continue to fix things that come up there.

Depending on how the big issues go, I might manage a v3.1 release in the summer (June-August).

by Joseph Wright at Friday, 2022-03-11 00:00

2022-03-08

LaTeX Project

LaTeX Graphics Companion 2ed is back in print! (update)

LaTeX Graphics Companion 2ed is back in print

The LaTeX Graphics Companion 2nd edition, formerly publish by Addision-Wesely in the “Tools and Techniques for Computer Typesetting” series, went out of print a while ago. I’m happy to announce that this has now changed again. Lehmanns Media has picked up the book and produced an affordable reprint, both as printed softcover book and also as a DRM-free PDF ebook version:

Update 2022-03-08 (International ordering)

The book should be available from all major bookstores or online ebook providers. The above links point to the Lehmanns website (which only offers pages in the German language). Internationally, the book can be ordered through Amazon and the like and you find the ebook on Google Play or ciando and perhaps on others.

Happy LaTeXing — Frank

Tuesday, 2022-03-08 00:00

2022-03-02

LaTeX.net

Twitter durchgespielt

Dienstag abend hat die LaTeX Community Twitter erfolgreich durchgespielt: es wurde das Level erreicht, dass LaTeX in Deutschland auf Twitter trendet, den Abend lang. Und zwar in der korrekten Schreibweise, wichtig. Keine andere Sache.

Was ist passiert? Wir haben uns rege über LaTeX unterhalten, dann hat noch Anna eine Umfrage gestartet, was man für eine Doktorarbeit verwenden sollte (Spoiler: LaTeX) und es gab viele Kommentare und am Ende trendete LaTeX auf Twitter und es waren sehr viele Menschen irritiert – besonders die, welche das anklickten, doch nicht in Deutschland verortet wurden und Twitter zeigte ihnen was anderes…

Hier ein paar Screenshots, weil man sieht es ja nicht alle Tage und es scrollt weg…

Ich habe das etwas befeuert, sorry falls zuviele Tweets/Retweets ankamen, Likes sowieso… es war mal ein anderer Abend.

Auf Twitter bin ich als LaTeX.org unterwegs alias @TeXgallery, der Name kommt daher, weil ich dort 2011 angefangen habe mit TikZ-Bildern, Galerie. Wenn man so ein Profil anklickt, sieht man Tabs mit Tweets/Retweets (Blogposts, News, Links), Tweets und Antworten (Kommentare und Dialoge), Medien (Bilder) und Gefällt mir was in meinem Fall oft Zustimmung oder Bookmarken ist, was man vllt. nicht über den Hashtag #TeXLaTeX findet, den eher die Langzeit-User kennen.

Gestern war nur Spielerei, vielleicht. Zeigt aber, dass sich viele Menschen über LaTeX unterhalten. Ich war zu oft täglich auf Twitter, um all den Nachrichten zu folgen, von Corona-Pandemie bis zum Russland-Krieg gegen die Ukraine und die Atomkrieg-Angst. Gestern einige Stunden sicher und gut auf Twitter gefühlt in der LaTeX-Bubble.

Photo by Alexander Shatov on Unsplash

by Stefan Kottwitz at Wednesday, 2022-03-02 20:55

2022-02-26

Uwes kleines Technikblog - Kategorie LaTeX (by Uwe Ziegenhagen)

XCharter – Der passende Mathematik-Font zur Charter

Hier ein Beispiel für das XCharter Paket, das einen passenden Mathe-Font für die Charter bereitstellt.

%!TEX TS-program = LuaLaTeX
\documentclass[12pt,ngerman]{scrartcl}

\usepackage{fontspec}
\usepackage{babel}
\usepackage{unicode-math}
\setmathfont{XCharter-Math.otf} % Call by file name or
\setmathfont{XCharter Math} % Call by font name

\setmainfont{XCharter}
\setsansfont{Cabin}[Scale=MatchLowercase] % sf
\setmonofont{Inconsolatazi4}[Scale=MatchLowercase] % tt

\usepackage{blindtext}

\begin{document}

\blindtext

\begin{equation}
\int_{x=1}^{\infty} -\frac{p}{2} \pm \sqrt{ \left(\frac{p}{2}  \right)^2 -q   } 
\end{equation}

\blindtext

\end{document}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

üääü­üöü–üöü–üöü–

by Uwe at Saturday, 2022-02-26 11:10

2022-02-14

LaTeX Project

LaTeX Graphics Companion 2ed is back in print!

LaTeX Graphics Companion 2ed is back in print

The LaTeX Graphics Companion 2nd edition, formerly publish by Addision-Wesely in the “Tools and Techniques for Computer Typesetting” series, went out of print a while ago. I’m happy to announce that this has now changed again. Lehmanns Media has picked up the book and produced an affordable reprint, both as printed softcover book and also as a PDF ebook version:

The book should be available from all major bookstores, the ebook version probably only from Lehmanns directly.

Happy LaTeXing — Frank

Monday, 2022-02-14 00:00

2022-02-07

LaTeX.net

LaTeX books for new DANTE members

That’s an English translation a German blog post that you can find here: LaTeX.net/verein.

I’d like to support promoting becoming a new member of DANTE e.V. because I wish to see more LaTeX friends here.

February 8, 2022: More than 10 books available.

Why should I become a DANTE member?

You would be part of a big community of LaTeX enthusiasts. We love that typesetting system that we support by our membership. Here, in addition to LaTeX users there are many active supporters. Some write books and articles, some maintain servers, some develop and distribute LaTeX software or give trainings.

For example, I maintain several LaTeX internet forums in German, English and French, LaTeX online compiler, archive server, documentation server, FAQ pages, LaTeX graphic galleries and sites of bloggers; you can find a long list at LaTeX.net/about. DANTE sponsors the hardware.

As a member you get to know many things behind the scenes of the LaTeX world in the member journal, on the mailing list, or at (online) meetings.

Which book would I get?

It’s my personal offer, so I can just offer one of my books.

  • The LaTeX Beginner’s Guide of 2021 (freshly revised second edition) – you can find all details, code examples and reviews on LaTeXguide.org. On amazon it would be 32,08 € for the printed version and 17,97 € for the ebook.
  • The LaTeX Cookbook of 2015, details, code examples and reviews are on LaTeX-Cookbook.net. On amazon it is available for 43,85 € in the printed version and for 24,71 € as an ebook.

Here, we talk about the ebook.

Buchcover

How can I receive the book?

I would like to give you the book as a properly licensed ebook in a way that’s acceptable for the publisher. You will get an account at the Packt Publishing website registered to your name and your email address. That contains the book with download options and the invoice. You can get it as PDF, EPUB, MOBI, or Kindle version on your kindle reader or on your smartphone with kindle app (works fine on a smartphone).

How can I do this?

If you like LaTeX and you would like to join DANTE, great! Write me an email to stefan@latex.org and tell me which one of the books you like, I will reserve it for you. Then register at www.dante.de/dante-e-v/mitglied-werden.

I will ask DANTE e.V. if you are a member, your agreement for this and for allowing me to make you a Packt Publishing website account is required here, and by joining this plan you agree with it.

Membership fees are on the registration page, such as 15 € (pupils), 20 € (students, retirees), otherwise the regular fee is 40 € per person. So, if you are a student, the saved money for the book is close to the membership fee.

There are more than 10 book copies available. I will write here when it gets exhausted. Otherwise it’s ongoing and you could expect a book. Of course it’s a personal offer by me and not binding, I’ll try my best.

If I’m already a member, can I still get a book for free?

I’m pleased that you are interested, just write me to stefan@latex.org. Perhaps I got another copy just for you.

What else?

Then, as you are in email conversation with me, you may ask me what you would like to know – how is book writing, how is publishing, how do web servers work and forum and what makes an online LaTeX compiler work, what do we do at online meetings, and more.

Let me know!

by Stefan Kottwitz at Monday, 2022-02-07 22:49

Aktion: LaTeX-Bücher als Geschenk für DANTE Neumitglieder

An English translation of this post is here: LaTeX.net/members.

Da ich mir mehr LaTeX-Freunde für unseren Verein DANTE e.V. wünsche, möchte ich die Werbung von Neumitgliedern mit einem LaTeX-Buch unterstützen.

8. Februar 2022: Mehr als 10 Bücher verfügbar.

Warum DANTE-Mitglied werden?

Du wärst im Kreis vieler LaTeX-Begeisterter. Uns alle eint die Begeisterung für dieses freie Satzsystem, die wir über die Mitgliedschaft unterstützen. Neben den LaTeX-Anwendern gibt es viele, die LaTeX auch aktiv fördern. Manche schreiben Bücher und Artikel dazu, betreuen die Vereins-Server, entwickeln und verteilen LaTeX-Software oder geben Schulungen.

Ich zum Beispiel betreibe mehrere LaTeX-Internet-Foren in deutsch, englisch und französisch, LaTeX-Online-Compiler, Archiv-Server, Dokumente-Server, FAQ-Seiten, LaTeX-Grafik-Galerien und Seiten von LaTeX-Bloggern; die fast komplette Liste findest Du auf LaTeX.net/about. DANTE finanziert dabei die Hardware.

Als Mitglied erfährt man vieles von hinter dem Vorhang der LaTeX-Welt in der Mitgliederzeitschrift und auf der Vereins-Mailing-Liste oder begegnet sich auf (online) Tagungen.

Welches Buch würde ich bekommen?

Es ist meine eigene persönliche Werbe-Aktion, daher kann ich nur eines meiner eigenen, in englisch publizierten, Bücher anbieten.

  • Der LaTeX Beginner’s Guide, ein Einsteigerbuch von 2021 (frisch überarbeitete 2. Auflage) – alle Details dazu, Codebeispiele sowie Buch-Kritiken findest Du auf LaTeXguide.org. Auf amazon wäre es für 32,08 € in gedruckter Version und als Ebook für 17,97 € zu haben.
  • Das LaTeX Cookbook, eine Vielfalt von Rezepten für LaTeX-Dokumente von 2015, Details, Code-Galerie und Buch-Kritiken sind auf LaTeX-Cookbook.net. Auf amazon findet man es für 43,85 € in gedruckter Version für und 24,71 € als Ebook.

Bei dieser Aktion handelt es sich um das Ebook.

Buchcover

Wie würde ich das Buch bekommen?

Dir als Neumitglied möchte ich eins dieser Bücher schenken, als normal lizensiertes Ebook. Dazu erhältst Du von mir einen Account beim Verlag Packt Publishing, auf Deinen Namen und Deine Email-Adresse registriert, mit dem Buch samt Rechnungsbeleg darin. Dort kannst Du es als PDF oder im EPUB oder MOBI Format herunterladen oder als Kindle-Version auf Deinen Kindle-Reader schicken bzw. Dein Telefon oder Tablet mit Kindle-App (funktioniert prima auf dem Smartphone).

Wie nehme ich an der Aktion teil?

Wenn Du LaTeX magst und dem Verein beitreten möchtest, super! Schreib mir einfach an stefan@latex.org mit Deinem Buchwunsch, ich reserviere es dann für Dich. Dann registriere Dich auf www.dante.de/dante-e-v/mitglied-werden.

Ich frage dann bei DANTE e.V. nach deiner Mitgliedschaft, Dein Einverständnis für diese Abfrage sowie für die Buch Account-Erstellung auf Deinen Namen ist für die Aktion erforderlich, und durch Deine Teilnahme stimmst Du dem zu.

Die Mitgliedsbeträge variieren von 15 € (Schüler), 20 € (Studierende, Rentner), sonst 40 € je Person. Bist Du also beispielsweise ein Student, dann entspricht der Mitgliedsbeitrag fast dem am Buch gesparten Beitrag.

Es sind jeweils mehr als 10 Exemplare der Bücher vorhanden. Wenn sie (fast) alle weg sind, dann informiere ich darüber zuerst hier auf dieser Seite. Ansonsten läuft sie und Du kannst ein Buch erwarten. Natürlich ist es als persönliche Verschenk-Aktion unverbindlich und rein in meinem Ermessen, wie ich es mache und schaffe.

Kann ich als aktuelles Vereinsmitglied auch ein Buch kostenfrei bekommen?

Ich freue mich über Dein Interesse! Schreib mir gern an stefan@latex.org. Eventuell habe ich ja noch ein weiteres übrig.

Was noch?

Da Du dann in email-Kontakt mit mir stehst, kannst Du mich auch gern fragen, was Dich interessiert – wie das ist ist mit Bücherschreiben und Verlag, wie funktionieren Webserver, Foren, und Online-Compiler, was macht man so auf (online) Tagungen, und mehr.

Melde Dich gern!

by Stefan Kottwitz at Monday, 2022-02-07 07:50

2022-01-27

Weblog von Markus Kohm

Was ich so brauchen bzw. mich erfreuen kann

[Zuletzt aktualisiert: 2023-06-01]

Ich kann sehr oft etwas mit Dingen anfangen, die andere aussortieren oder als stille Reserve, die tatsächlich nie zum Einsatz kommt, in irgend einer Kiste oder Schublade liegen haben. Natürlich habe ich auch ein paar Wünsche mit neuen Dingen.

Eigentlich bin ich immer an ausgedienten Notebooks (bitte vorher bei mir anfragen, da ich diesbezüglich dank eines gebrauchten Geschenks recht gut versorgt bin), Tablets oder dem einen oder anderen Desktop-Rechner, Monitor (bitte vorher bei mir anfragen, da ich bezüglich Monitor dank eigener Anschaffung aktuell halbegs gut versorgt bin) oder auch mal Scanner interessiert. Wer glaubt, dass das Teil, das er gerade aussortiert hat, für mich sicher zu alt ist: Als grobe Richtschnur für PCs gilt: Wenn Win11 drauf läuft und der Prozessor min. 4 Kerne hat, kann ich es brauchen (wobei die Wahrscheinlichkeit hoch ist, dass ich Linux installiere). Tablet verwende ich derzeit ein iPad Air (1. Generation von 2013), für das bei iOS 12 Schluss ist, so dass vieles nicht mehr darauf läuft. Eine neue Flipp-Hülle für mein iPad Air könnte ich prinzipiell auch brauchen. Stift (Pencil) wird leider nicht unterstützt.

Ein OS-X-Testsystem habe ich übrigens auch keines. Aber bisher bestehen Mac-Anwender auch nicht darauf, dass etwas bei ihnen grundsätzlich nicht funktioniert, was ich mit TeX-Live unter Linux zum Laufen gebracht habe.

Einen A3-Drucker könnte ich eigentlich auch recht gut gebrauchen, nur leider würde dafür vermutlich ganz erheblich an Platz in meinem kleinen Büro fehlen.

Wer mir einfach nur eine Freude machen will, findet auch Infos auf meinen Wunschlisten:

  • Thomann (für den Musiker in mir; wenn meine Wunschliste dort gerade leer ist, landet man auf einer Fehlerseite)
  • Conrad (mein bisher immer zuverlässiger Elektronik-Versender; wenn meine dortige Wunschliste gerade leer ist, landet man allerdings auf der Startseite)
  • Amazon (das kennt jeder, ist aber nicht immer gut von mir gepflegt, trotzdem am besten nach Priorität sortieren)

DANTE-Tassen sind bei mir auch immer gerne gesehen:

Und weil ich auf tolle T-Shirts stehe, hier noch eine Auswahl:

Und wenn jemand lieber Geld für den Serverbetrieb und ähnliches geben will, dann kann er das mittels DE34 5OO1 O517 O12O 3O92 65 (sorry, aber die O müsst Ihr noch durch 0 ersetzen) und INGDDEFFXXX auf ein Konto, auf das man zwar überweisen, von dem man aber keine Lastschrift tätigen kann. Wichtig: Bitte als Verwendungszweck nicht das Wort »Spende« verwenden, da die Bank dann irrtümlich von einem nicht privaten Zweck ausgeht, die Verwendung des Kontos aber nur für private Zwecke zulässig ist. Gebt bitte als Zweck einfach nur »KOMA-Script« oder »Geschenk, KOMA-Script«, »KOMA-Script-Server«, »komascript.de« o. ä. an. Letztlich sind das im rechtlichen Sinne auch keine Spenden, sondern private Geschenke.

Früher habe ich auch darauf hingewiesen, dass man mir einfach sein Lieblingsbuch oder eine Flasche seines Lieblingsweins schenken kann. Allerdings ist mein Weinregal inzwischen voller billiger Qualitätsweine, die ich nicht trinke und die ich mich nicht traue weiter zu verschenken, so dass ich zumindest letzteres zurück nehme. Schokolade und Pralinen kommen im Sommer meist nicht in gutem Zustand an und sind deshalb auch keine wirklich gute Idee – außerdem sollte ich noch immer das eine oder andere Kilo los werden. Etwas womit ich gar nicht rechne, kann hingegen eine tolle Idee sein. Achso: Schickt mir bitte keine BlueRays, so modern bin ich nicht ausgestattet. DVD-Player habe ich aber.

Wer auch immer mir (nach Rücksprache oder ohne) etwas zuschickt, sollte bitte auch angeben, mit welchem Namen, Spitznamen oder komascript.de-Benutzernamen er ggf. in der Sponsorenliste genannt werden will, oder ob er ungenannt bleiben will. Für das meiste, was über gebrauchte Tennissocken hinaus geht, ist eine solche Aufnahme in die Liste inzwischen möglich (ursprünglich war sie nur für Sponsoren des Servers). Ein Schüler, der mir eine gelesene Ausgabe von "Kabale und Liebe" schickt, hat das in meinen Augen genauso verdient, wie ein Krösus von Lydien, der mir einen Streitwagen mit Rassepferden vor die Tür stellt.¹

Ich denke dass damit die Unklarheiten bezüglich meines Aufrufs während des Vortrags beseitigt sind. Wenn irgendwann meine dann sicher sehr alte Hardware wirklich wieder die Entwicklung von KOMA-Script gefährden sollte, wie das schon einmal passiert ist, werde ich auf jeden Fall einen echten Hilferuf starten und mich ggf. auch wieder an DANTE wenden. Da mir die letzte Tagung sehr viel Spaß gemacht hat, wird die Anforderung eines Vortrags dann auch kein Hinderungsgrund mehr sein.

Bis demnächst
Markus


1   Als ich das geschrieben habe, habe ich halb im Spaß befürchtet, ich könnte jetzt mit Reclam-Heftchen von "Kabale und Liebe" zugeschüttet werden. Offenbar ist das aber keine Lektüre, die man heutzutage noch in der Schule liest, so dass ich davon verschont geblieben bin. Streitwagen oder Rassepferde habe ich zwar auch nicht erhalten, das hatte ich aber auch weniger befürchtet.

by Markus Kohm at Thursday, 2022-01-27 08:25

2022-01-12

LaTeX.net

Berliner LaTeX-Stammtisch

Heute, am Donnerstag, 13. Januar 2022, gibt es den ersten Berliner LaTeX-Stammtisch des Jahres 2022, um 19 Uhr.

Nur für Berliner? Weiß nicht, hab ich gerade auf Twitter gefragt.

Weil es ist ja online mit jitsi-meet auf dieser Adresse:

https://meet.ffmuc.net/LaTeXStammtischBerlin

Keine besondere Tagesordnung. Ob man da mal reinschaut? Könnte interessant sein! War eh zu lange im Homeoffice. Wer meint was auf Twitter?

Photo by Drew Beamer on Unsplash

by Stefan Kottwitz at Wednesday, 2022-01-12 23:23

2022-01-08

LaTeX.net

Book Review “LaTeX Beginners Guide”, 2nd edition

In the TeX world, the name Stefan Kottwitz is best known for the websites and forums he runs, but Stefan is not just a server admin but also a book author. The first edition of his LaTeX beginners book was published in 2011, followed by the “LaTeX Cookbook” in 2015, now the second edition of the beginners book “LaTeX Beginners Guide” is available.

The book is published by Packt, who kindly provided me with a copy of the book. As I had to prepare several LaTeX courses I was eager to have a closer look at it.

On a little more than 300 pages Stefan introduces the different aspects of LaTeX. On 25 pages the history of TeX and LaTeX is briefly outlined as well as the installation of TeX Live and the use of Overleaf. The second chapter is on how to format text. I like that this chapter already shows how to create your own commands as I also do this in my courses to show the participants how easy it is to use more complex markup with self-defined commands.

Chapter 3 shows how to set page formats and type area, followed by an explanation of the various list types in Chapter 4. Chapters 5 and 6 describe the typesetting of figures and tables, respectively, followed by cross-references in Chapter 7.

Chapter 8 shows how to customize tables of contents and create an index. In addition, Stefan discusses typesetting bibliographies with the standard bibliography environment and BibTeX in this chapter. BibLaTeX is unfortunately left out at this point, but Stefan describes it in his LaTeX Cookbook.

Chapter 9 is devoted to mathematics, covering all the constructs a student might encounter even in a STEM subject. Chapter 10 goes into the various fonts that can be used in pdfLaTeX, and also shows how any system fonts can be used with xeLaTeX or luaLaTeX. Chapter 11 shows in detail how to split longer documents into separate parts with \input and \include.

Chapter 13 is highly relevant especially for LaTeX newbies, as it shows how to narrow down and fix problems in case of errors.

The book ends with a detailed description of web forums and sites where one can get support and also introduces user groups like TUG and Dante e.V.. The website for the book can be found at latexguide.org. There you can find the FAQ for the book as well as the source code with online compilation.

In summary I can say that I liked the book of Stefan very much and I will recommend it also in my courses. Together with the LaTeX Cookbook, which describes not only Biblatex but also the creation of graphics using LaTeX, it offers a good introduction to LaTeX.

by Uwe Ziegenhagen at Saturday, 2022-01-08 09:23

2021-12-31

TUG

TUG membership forms for 2022 posted

We have posted our membership and renewal forms for 2022. For those on automatic renewal (thank you), your renewal should happen within a week or two; you'll get a receipt. Otherwise, we appreciate your renewing at your earliest convenience. This year, for the first time, the forms redirect to PayPal to collect contact and payment information (explanation); we hope this will work out better for everyone, but let us know if you have problems. Thanks for supporting TeX and TUG!

Friday, 2021-12-31 22:01

2021-12-27

LaTeX.net

An Overleaf extension for recognizing symbols

Antioch Sanders told us on LaTeX.org about his new project that he called extexify. That’s a browser extension for finding LaTeX symbols by drawing them with mouse or finger on the display. It is inspired by detexify, but works integrated in the Overleaf online LaTeX editor.

It is available as Chrome extension (beta version) and a firefox extension will come soon.

It tested it. The installation from the Chrome web store was straightforward, and when I opened Overleaf I noticed the extexify button in the top menu:

Overleaf editor view

When I clicked it, a window opened where I could click and draw with the mouse. Below my hand-drawing I got LaTeX command suggestions for the symbol. While my drawing was so bad that I hardly new if it was a one of the letters phi, rho, or P, extexify suggested all of then and even a blackboard Q (double-stroke, mathds) – I had to think a second but also that one comes close.

Drawing example

I chose first suggestion and clicked the bottom left button – voila, the code \varphi was inserted into my code:

Result in the LaTeX code

I tried other symbols and it worked fine. The author explained how he created the extension and how worked on the symbol recognizer, based on the detexify training data set. If you are curious how it works, follow the links.

extexify is available on Github. There you can make suggestions for improvements. Just be aware that it’s a public beta version, so not officially completed yet. I don’t even see a licensing information yet.

If you like it, you can show feedback by adding a star on Github and by rating in the Chrome web store.

by Stefan Kottwitz at Monday, 2021-12-27 18:32

2021-12-21

LaTeX Project

log4j vulnerability: LaTeX is not affected!

log4j vulnerability: LaTeX is not affected!

We are seeing more and more requests asking us whether LaTeX needs a patch because of the log4j vulnerability, when the necessary patch is planned and ready, etc. Rather than to explain each time (which I did more than a dozen times by now) why nothing needs to be done at our end, I decided to post it here, so that I can refer to that statement.

Upfront I would like to apologize to any LaTeX user for the noise, because if you know what LaTeX is (a macro package running on top of the TeX program), then you are well aware that such questions are ill formed. But most people being charged to check all software in use in their organization do not know each and every piece of software and for them LaTeX is just a program that may or may not use log4j.

Well, LaTeX is not a program, it is input for a program (namely TeX or one of its variants) so the question has to be: is any of the TeX programs that make use of the LaTeX source as input vulnerable to the log4j issue?

The answer is fortunately a clear NO and the official statement for this from the TeX Users Group organization (for the TeXLive and MikTeX distributions) can be found here:

If you talk to people who are searching for an answer whether or not LaTeX (or rather TeX) is affected by log4j and if so what is being done about it, please refer them to TUG and that statement.

Happy and continuously safe LaTeXing — Frank

Tuesday, 2021-12-21 00:00

2021-12-19

TUG

The log4j vulnerability and TeX

Regarding the recently-discovered log4j vulnerability, the only program to our knowledge in TeX Live which uses the Log4j class is the arara utility; further, arara is not directly impacted by this issue, as explained in this Arch Linux issue. Nevertheless, arara has been updated in TL (and on CTAN, and upstream), and is available through normal update mechanisms. No program in TeX  calls arara internally. The TeX engines (TeX, pdfTeX, XeTeX, LuaTeX, etc.), are completely unaffected. LaTeX and other TeX formats are also completely unaffected.

Sunday, 2021-12-19 22:09

2021-11-23

TypoBlog Gorbach

Auf den Spuren des Bauhaus

Gastbeitrag von Dagmar Reiche
„Wo kommen Sie denn her?“ – „München, Hamburg, Bodensee, Zürich, Innsbruck, Berlin, Ammersee.“ Die Augenbrauen rutschen etwas nach oben. „Und was machen Sie beruflich?“ Die Antworten purzeln durcheinander: „Kursleiter, Schriftsetzerin in Ausbildung, Buchgestalterin, Autorin, Künstlerin, Grafikdesignerin, Webdesigner, ehemaliger Vertriebsleiter im Verlag.“ Freundliches Lächeln, überraschter Blick. „Und was verbindet Sie?“ Nun, darauf gibt es endlich eine eindeutige Antwort: „Die Liebe zur Typografie“.

 

Diese Art des Dialogs begleitet uns durch die 4 Tage Exkursion in Weimar, Leipzig und Dessau. Wir, das sind 10 ehemalige Absolvent:innen des 2-jährigen Seminars „Typografie intensiv“, die Kursleiter:innen Rudolf und Dagmar Gorbach und ein buchbegeisterter Nachbar. Einige von uns kannten sich vorher durch den Kurs, andere lernen sich auf der Zugfahrt von München nach Weimar oder bei den angeregten Diskussionen im Laufe der Tage kennen. Das Programm ist voll gepackt, minutiös organisiert von Rudolf Gorbach. Ich steige Donnerstag gegen neun Uhr morgens in den ICE und bin gespannt.

 

Erster Tag: Auf nach Weimar

Wir kommen mittags an, zumindest diejenigen, die nicht von Hamburg aus anreisen. Diese beiden werden aufgrund von Bombenfunden, Betriebsstörungen und anderen unerquicklichen Gründen erst Stunden später eintreffen und deshalb den ersten Programmpunkt verpassen: Nein, nicht den schnoddrigen Mangel an Freundlichkeit, den wir mehrfach erfahren, sondern den Besuch im 2019 eröffneten Bauhaus Museum. Die Gebäudeästhetik wird von uns unterschiedlich empfunden – ich mag seinen Mut mit dem Statement der Positionierung und der Blickachsen. Spannend auch, dass eine nahezu unbekannte Architektin den Wettbewerb gewonnen hatte, diese Entscheidung imponiert mir. Die uns führende Dame ist kompetent und gut gelaunt. Die Exponate sind zahlreich, ich finde die Sortierung nach Schwerpunktthemen interessant und bedenkenswert. Besonders heiß diskutieren wir den Einsatz der Schrift auf den verschiedenen Etagen. Gelungen oder nicht? Passend, lesbar, manieriert? Zu viel des Guten oder genau richtig? Versteht jemand, was es mit dem Ändern der einzelnen Buchstaben auf sich hat, wird das überhaupt wahrgenommen?

 

Die Ausstellung der vergessenen Bauhausfrauen hat für mich eine persönliche Bedeutung. Ich kenne eine Frau, deren Großmutter eine dieser Frauen war. Sie hatte mir erst vor wenigen Wochen ihre Geschichte erzählt. Und jetzt stehe ich hier. Ich schicke ihr ein Foto, es ist ein besonderer Moment. 

 

Ich würde gerne noch verweilen, doch schon geht es weiter. Draußen beleben Skater und Familien den Vorplatz, ich mag das Gewusel, das das Museum Teil des Stadtlebens werden lässt. 

Pünktlich um 17.00 Uhr treffen wir uns alle in der Herzogin-Amalia-Bibliothek. Auch hier geleitet uns eine kompetente Dame durch die Räume – die alten wie auch die neuen. Von dem verheerenden Brand 2004 sieht man auf den ersten Blick nichts mehr. Unvorstellbar: Mehr als 50.000 Bücher waren den Flammen zum Opfer gefallen, über 100.000 teilweise so schwer geschädigt, dass sie kaum reparabel waren. Die Geschichten, die wir hören, gehen zu Herzen. Stellen Sie sich vor, Sie müssen sich für zwei ihrer Kinder entscheiden und die anderen den Flammen überlassen. Genau das passierte dem damaligen Leiter – er durfte eines, der Feuerwehrmann ein zweites Buch auf dem Armen durch die Flammen nach außen tragen. Ich kann mir nicht vorstellen, wie es ist, als Buchliebhaber sich für die beiden wertvollsten Werke der Sammlung entscheiden zu müssen. Aber auch schöne Geschichten gibt es zu hören. So ist als Folge des Brandes eine riesige Expertise zur Bücherrestauration entstanden – die heute weltweit zum Einsatz kommt. Unterirdisch geht es zu den neuen Leseräumen, mit wunderbarer Atmosphäre.

 

 

 

Ich würde gerne noch verweilen, doch schon geht es weiter. Ein erneuter Fußmarsch quer durch die wunderschöne Altstadt führt uns zur Pavillon Presse, ein Druckgrafisches Museum in einem der ältesten erhaltenen Häuser Weimars. Früher war es Teil eines Verlags- und Druckerei-Standort, heute zeigt ein Verein Druckformen, Schriften und Maschinen aus mehreren Jahrhunderten. Anschließend ist der Kopf gefüllt, der Bauch meldet sich. Beim anschließenden Essen machen wir erneut Bekanntschaft mit der interessanten Servicementalität vor Ort. Doch auch das kann uns nicht aus der Ruhe bringen, gibt es doch wichtigere Dinge zu diskutieren.

 



Zweiter Tag: Leipzig, dann nach Dessau

Nach dem Frühstück bringt uns der Zug nach Leipzig. Das Programm ist wieder sportlich. Erste Station: das Schrift und Buchmuseum. Auch hier werden wir wieder sehr herzlich empfangen und kompetent durch die Räumlichkeiten geführt. Die Ausstellungsräume, der Lesesaal, hinüber vom modernen Trakt in den alten Teil und dann hinab in das Kellergeschoss – wir kommen kaum zum Verschnaufen. Ich weiß gar nicht, wo ich zuerst hingucken soll, alles ist so voller Geschichten und Geschichte. Die Mittagspause wird sehr knapp, weil wir alle noch gern das Angebot annehmen, in der wunderbaren Sammlung von Schriftmusterbüchern zu stöbern. Da lacht das Typograf:innenherz. Ich bin sehr berührt von der Umsichtigkeit, uns diesen Leckerbissen zu servieren.

 

 

 

Nach einer kaum nennenswerten Pause finden wir uns im Leipziger Druckmuseum ein. Ein Ritt durch die verschiedenen Zeiten der Druckhistorie und -techniken, auch hier wie schon gewohnt kompetent und mit viel Herzblut. Wir schauen zwei Künstlerinnen über die Schulter, die ihre aktuellen Editionen drucken und bereitwillig etwas dazu erzählen. Die Hebel und Knöpfe an den verschiedenen Maschinen üben eine riesige Faszination aus – nicht nur wegen der beeindruckenden Technik, bei der so viele Kleinigkeiten durchdacht sind und perfekt zusammenspielen. Sondern sie faszinieren mich auch als Künstlerin wegen ihrer Linien und Formen, die so fein komponiert wirken und grafische Qualität besitzen. 

 

 

 

Gern würde ich auch hier noch verweilen, doch wieder geht es weiter. Zum Bahnhof, mit dem Zug nach Dessau. Nach dem Einchecken im Hotel – auch hier nicht ohne bemerkenswerte Einlagen des Serviceverständnisses – machen wir uns abends auf den Weg zu einem denkwürdigen Dinner. LPs als Tischsets, Schnitzel hängend am Galgen serviert, Salat in Form einzelner Blätter, in Glasphiolen gesteckt, die jede mit einem anderen Essig gefüllt sind – die Kreativität des Kochs ist unbeschreiblich. Das Beste: Das Essen schmeckt sogar. Und wir werden ausnehmend zuvorkommend bedient. Ein wunderbares Ambiente für angeregte Gespräche.

 

 

 

Dritter Tag: Dessau – von früh bis spät

Wir treffen uns vormittags zu einer Bauhaus-Führung. Das, worauf wir uns wohl alle am meisten gefreut haben. Ich auf jeden Fall. Und als ich dann hier stehe, wirklich in den Räumen des Bauhaus, kann ich es kaum glauben. Hier, wo Wegweisendes, weltweit Prägendes entstanden ist, was noch heute, 100 Jahre später, modern und experimentell anmutet. Wo Kunst, Handwerk und Architektur zusammen gedacht wurden. Wo Visionen entstanden, die noch immer nachwirken. Ich bin wirklich tief berührt und muss mich mehrmals kneifen, um mich zu versichern, dass ich nicht träume. So viele Ecken und Winkel, die zum Schauen und Fotografieren einladen.  Es ist seltsam, in solch einer Ikone zu stehen, von der man meint, schon alles vorher in Fotos, Filmen, Büchern gesehen zu haben. Und dann, vor Ort, ist alles doch ganz anders. Auch hier wieder ein Mensch, der uns mit viel Wissen und vor allem Herzblut durch die Örtlichkeiten führt. Fast am meisten beeindruckt mich die Geschichte der weltweit wohl ersten Durchreiche. Sie war zwischen Küche und Mensa eingebaut worden. Der Grund: Warum sollte man die Menschen, die für die anderen arbeiten, verstecken? Man kann doch auf Augenhöhe kommunizieren. Wie wunderbar: Designentscheidungen zu treffen, weil sie gut für das menschliche Miteinander sind. All die Eindrücke zu schildern, wäre einen eigenen Blogartikel wert – mindestens. Aber es gibt glücklicherweise viel gute Literatur zum Thema. 

 

 

Nachmittags dann ein Besuch im Bauhaus-Museum in Dessau. Es ist toll, nach dem morgendlichen Besuch vor Ort, all das noch einmal kompakt an anderer Stelle und historisch aufgearbeitet zu sehen. Produkte aus den verschiedenen Werkstätten, Portraits der verschiedenen Studierenden und Professor:innen. Nachdem ich die Interviews mit Studierenden gehört und den Zusammenschnitt vieler Fotos angeschaut habe, denke ich das erste Mal in meinem Leben, dass ich – zumindest kurz – gern mal in der Vergangenheit gelebt hätte. Ich wäre gern ein Teil dieser Gemeinschaft gewesen.

Abends dann noch einmal ein Platz mit Geschichte – das Kornhaus am Ufer der Elbe. Leider ist es bereits dunkel, sodass wir die Architektur mit ihrer Verortung nicht so richtig bewundern können. Aber das Essen ist lecker und wir können wieder ungehemmt reden und lachen.

 

 


Vierter Tag: Dessau – und zurück nach Hause

Das Herbstwetter zeigt sich weiterhin so klar wie das Bauhaus, sodass ich das Frühstück ausfallen lasse und einen Spaziergang zum Kornhaus mache. Ich möchte es unbedingt nochmal bei Tag sehen – mitsamt seinem traditionsreichen Kiosk, in dem müde Wanderer sich jahrzehntelang mit Bockwurst und Brause stärken konnten. Später entdecke ich auf dem Weg ein unscheinbares Haus, im dem Walter Gropius eine Zeitlang wohnte. Dann zur letzten gemeinsamen Station – den Meisterhäusern. Erneut eine begeisterte Führerin, die nicht nur spannend erzählt, sondern mit ihrer offen geäußerten Meinung Haltung beweist. Auch hier überkommt mich immer wieder ein seltsames Gefühl. Wie nenne ich es? Vielleicht Erhabenheit? In dem Raum zu stehen, in dem Kandinsky gewohnt und den er aus Sicht von Walter Gropius mit seinem plüschigen Sofa so verschandelt hatte, dass seine Innenräume auf keinem der PR-Fotos zu sehen waren. Oder im Atelier zu sitzen, in dem Paul Klee gemalt hat, im Winter (wie alle anderen) auch mit kaltgefrorenen Fingern – die Häuser waren zwar sehr modern und komfortabel, allerdings nicht sonderlich gut isoliert. Auch hier: So viele Blickachsen, die mich immer aufs Neue dazu inspirieren, genau hinzuschauen und zu fotografieren.

Schwups sind die prall gefüllten Tage vorbei. Nach einem letzten Kaffee im Bauhaus-Café eilen wir zum Bahnhof und machen uns wieder auf den Weg in alle Himmelsrichtungen. Ich bin bis zur Nasenspitze gefüllt mit Impressionen, Bildern, Informationen. 

 

 

Die Papiertüte mit all dem Material, das ich von der Exkursion mitgebracht habe, steht noch neben meinem Schreibtisch. Ich mag sie noch gar nicht auspacken – das würde vielleicht einen Schlusspunkt setzen, unter eine Reise, die für mich noch gar nicht zu Ende ist. Dass Rudolf Gorbach sich diese für uns ausgedacht und organisiert hat, ist ein riesiges Geschenk, über das ich mich noch immer jeden Tag freue. Die Liebe zur Typografie ermöglicht auch, dass eine heterogene Gruppe vier intensive, erfüllende Tage miteinander verbringt, ohne dass ihr jemals der Gesprächsstoff ausgeht.

Dagmar Reiche (www.kunstreiche.de)
Fotos: Dagmar Reiche, Dagmar Natalie Gorbach, Astrid Baldauf

 

 

Tuesday, 2021-11-23 13:54

2021-11-19

Some TeX Developments (by Joseph Wright)

siunitx v3 successes

The third major release of siunitx was out in May, after the TeX Live 2021 DVD. That means it’s been picked up primarily by more active users: people who install TeX between the ‘fixed’ DVD releases (or who use MiKTeX). It also didn’t initially appear on Overleaf, as they take a while to test TeX Live images before making them public.

I’ve been making maintenance releases between May and now, and have reached v3.0.36, picking off small (or less small) issues I’d missed initially. At the same time, Overleaf now have a TeX Live 2021 image (currently featuring siunitx v3.0.23). So I now have an increasing number of ‘normal’ users: people who don’t want to deal with testing, and just want their documents to work.

What I notice is that increased usage hasn’t raised any truly major issues. Yes, there have been corrections (see the ChangeLog for the detail), but they were mainly at the level of predictable issues: places that I’d not explored quite enough. I hope Overleaf will consider an in-place update to somewhere around the latest release: whilst the issues have been minor in the grand scheme, it would be good to get a reasonably bug-reduced version out there (I’m not claiming bug-free)!

So I’m seeing the release as in the end quite a big success: I’ve addressed the issues I knew about, got better testing, have cleaner interfaces and am already offering new features. My mind is therefore turning to v3.1: I have a list of issues to consider that I’d like to take for that release, plus I could pick off some others. I might of course not tackle all of these: I’m thinking starting over the Christmas period and looking to release in March/April 2022. By then of course we might be at v3.0.50, so it will also help to ‘reset’ the patch level!

by Joseph Wright at Friday, 2021-11-19 00:00

A new theme

I’ve been meaning for a little while to look properly at my Jeykll theme for the site and tidy it up: it was a bit basic. Prompted in part by Will Robertson, I decided that now is the moment.

I consulted with my favourite duck internet buddy, Paulo Cereda, and he pointed my to the rather flexible Hamilton theme. You’ll see I’m tweaking it a bit, so there will be minor changes over time, but I think it looks good: balances off between not being totally plain with the fact I have zero design ability!

Paulo himself doesn’t have a blog, but he’s part of the excellent Island of TeX, most famous for arara. Paulo tells me they don’t use Jekyll, but rather Zola, but that didn’t stop him helping me :)

by Joseph Wright at Friday, 2021-11-19 00:00

2021-11-15

LaTeX Project

Fall 2021 LaTeX release available

The Fall 2021 LaTeX release is available

As we have announced previously, we have shifted the release dates for LaTeX slightly, to better align with the yearly release of TeX Live: a first release in May/June after TeX Live has updated and a second release around November.

The current release does not contain any major new modules, but is focused around consolidation and improvements of functionality introduced in previous releases. In the meantime we are working further on the future production of reliable tagged PDF output (see the article LaTeX Tagged PDF — A blueprint for a large project that describes the project we are engaged in), which will again take center stage in the Spring release 2022.

Hook management improvements

There have been some improvements of the hook management as a result of feedback from developers and our own experience applying the new functionality. This includes one breaking change in behavior (relevant only to package developers), for which we offer compatibility code for now. Thus nothing will break right now, but going forward the new method needs to be used, because at some point in the future the compatibility code will be taken out.

  • Standardizing generic hook names;
  • Rationalizing the behavior of \RemoveFromHook;
  • Providing \ActivateGenericHook;
  • Providing a command to clear “next” hook code before invocation;
  • Properly clean up after a one-time hook.

New or improved commands

There are many enhancements and corrections that we documented in the ltnews article for this release (and a few very minor ones that only made it into the changes.txt file). The most important aspects from a user perspective are:

  • Extending \ShowCommand to show commands defined with \NewDocumentCommand and friends;
  • Extending \NewCommandCopy as well, to safely copy such commands to new names;
  • Improving the math font family allocation to avoid running out of available math groups in complex documents. A number of math alphabets (controlled through the counter localmathalphabets) are now locally allocated and their math groups can be reused with different alphabets per formula;
  • Adding \PackageNote and \PackageNoteOnLine to show notes that aren’t “warnings” on the terminal;
  • Supporting an alt key with \includegraphics (anticipating future development);
  • Providing a new \newcolumn command and an optional argument to \columnbreak for multicol;
  • Altering the default for \tracinglostchars.

But read the whole ltnews article because there may be other gems that are useful for you.

Where to learn more …

The new features and most of the important bug fixes made in this release are documented in “LaTeX2e News Issue 34”. This document can be found on the LaTeX2e news page where you will also find release information for earlier LaTeX releases.

Happy LaTeXing — Frank

Monday, 2021-11-15 00:00

2021-11-14

TUG

TUGboat 42:3 published

TUGboat volume 42, number 3, has been mailed to TUG members. It is also available online and from the TUG store. In addition, prior TUGboat issue 42:2 is now publicly available. Submissions for the next issue are welcome; the deadline is March 31, 2022 (early submissions are especially appreciated). Please consider joining or renewing your TUG membership if you haven't already (we'll send this year's issues immediately), and thanks.

Sunday, 2021-11-14 18:21

2021-10-25

LaTeX Project

Final pre-release of LaTeX 2021-11-15 is available for testing

The final LaTeX pre-release for 2021-11-15 is available for testing

A few days ago we submitted the final pre-release of the LaTeX format to CTAN and by now it should be available to all users using MiKTeX or TeX Live (on any operating system).

Main features included in the final pre-release for 2021-11-15

The upcoming release does not contain any major new modules, but is focused around consolidation and improvements of functionality introduced in previous releases. There have been some improvements of the hook management as a result of feedback from developers and our own experience applying the new functionality. This includes one breaking change in behavior (relevant only to package developers), for which we offer compatibility code for now. Thus nothing will break right now, but going forward the new method needs to be used, because at some point in the future the compatibility code will be taken out.

The hook management improvements are

  • Standardizing generic hook names;
  • Rationalizing the behavior of \RemoveFromHook;
  • Providing \ActivateGenericHook;
  • Providing a command to clear “next” hook code before invocation;
  • Properly clean up after a one-time hook.

Other notable improvements include

  • Extending \ShowCommand to show commands defined with \NewDocumentCommand and friends;
  • Extending \NewCommandCopy as well, to safely copy such commands to new names;
  • Improving the math font family allocation to avoid running out of available math groups in complex documents. A number of math alphabets (controlled through the counter localmathalphabets) are now locally allocated and their math groups can be reused with different alphabets per formula;
  • Adding \PackageNote and \PackageNoteOnLine to show notes that aren’t “warnings” on the terminal;
  • Supporting an alt key with \includegraphics (anticipating future development);
  • Providing a new \newcolumn command and an optional argument to \columnbreak for multicol;
  • Altering the default for \tracinglostchars.

There are also a number of smaller enhancements and some bug fixes as usual. The details are discussed in the draft publication of “LaTeX2e News Issue 34”. A full list is given in the changes.txt files that are part of the distribution.

Outlook

We expect to ship the final release (with the same code base as this pre-release) as planned around mid November.

Please help with the testing

We are issuing this final pre-release now in the hope that you will help us by making sure that all the enhancements and fixes we have provided are safe and that they do not have any undesired side effects, so please help with the testing if you can.

This development format allows you to test the upcoming LaTeX release scheduled for 2021-11-15 with your documents or packages. Such testing is particularly important for package maintainers to verify that changes to the core LaTeX haven’t introduced incompatibilities with existing code. We try to identify any such problems beforehand but such an undertaking is necessarily incomplete, which is why we are asking for user testing.

Besides developers, we also ask ordinary users to try out the new release, because the more people that test the new format, the higher the chances that any hidden problems are identified before the final release hits the streets.

Processing your documents with the pre-release is straightforward. All you have to do is to replace the invocation command by appending -dev to the executable, e.g., on the command line you would run

pdflatex-dev myfile    or    lualatex-dev myfile    or    xelatex-dev myfile

instead of using pdflatex, lualatex or xelatex. If you use an integrated editing environment, then it depends on the system how to configure it to use an alternative format; but in any case the necessary modification should be straightforward.

Enjoy — Frank

Monday, 2021-10-25 00:00

2021-09-29

TUG

TUGboat 42:2 published

TUGboat volume 42, number 2, the TUG 2021 conference proceedings, has been mailed to TUG members. It is also available online and from the TUG store. In addition, prior TUGboat issue 42:1 is now publicly available. Submissions for the next issue are welcome; the deadline for proposals is October 15 (early submissions are especially appreciated). Please consider joining or renewing your TUG membership if you haven't already (we'll send this year's issues immediately), and thanks.

Wednesday, 2021-09-29 21:36

2021-09-23

LaTeX Project

Second pre-release of LaTeX 2021-11-15 is available for testing

The second LaTeX pre-release for 2021-11-15 is available for testing

A few days ago we submitted a new LaTeX development format to CTAN and by now it should be available to all users using MiKTeX or TeX Live (on any operating system).

Main features of the second pre-release for 2021-11-15

The first pre-release was just a copy of the main release for 2021-06-01 in order to avoid that people using the development release regularly get an old format.

The second pre-release now provides some improvements of the hook management as a result of feedback from developers and our own experience applying the new functionality. This includes one breaking change in behavior (relevant only to package developers), for which we offer compatibility code for now. Thus nothing will break right now, but going forward the new method needs to be used, because at some point in the future the compatibility code will be taken out.

Notable improvements already contained in the pre-release are

  • Resolving some issues around the new hook functionality:
    • Providing \ActivateGenericHook;
    • Command to clear “next” hook code before invocation;
    • Cleanup after a one-time hook;
    • Changed the behavior of \RemoveFromHook;
    • Standardizing generic hook names;
  • Other improvements:
    • \tracinglostchars got a new default
    • \PackageNote was added to show notes that aren’t “warnings” on the terminal
    • \ShowCommand got extended to show commands defined with ltcmd (former xparse)
    • \NewCommandCopy got extended as well to safely these commands to new names
    • alt key for \includegraphics (anticipating future development)

There are also a number of smaller enhancements and some bug fixes as usual. The more important ones are listed in the draft publication of “LaTeX2e News Issue 34”. A full list is given in the changes.txt files that are part of the distribution.

Improving the hook management further

The breaking change mentioned above involves the name of generic file hooks. They used a special naming convention in the past and we now changed them to use the same structure as all other generic hooks, that is, their “variable” part (i.e., the file or package name) is always in the second position. For example, to execute some code after the array package was loaded you now say

\AddToHook{package/array/after}{...code...}

just like you would set up code to be executed after each tabular environment with

\AddToHook{env/tabular/after}{...code...}

For now the old syntax package/after/array is still supported, thus packages making use of this functionality have time to adapt to the new convention once the main release is out and distributed.

Other improvements to the hook management (e.g., the functionality to have packages implement generic hooks) are discussed in LaTeX2e News Issue 34 and in the relevant kernel documentation.

Outlook

We expect to produce a third and final pre-release adding some more features and enhancements in late October.

Please help with the testing

We are issuing this second pre-release now in the hope that you will help us by making sure that all the enhancements and fixes we have provided are safe and that they do not have any undesired side effects, so please help with the testing if you can.

This development format allows you to test the upcoming LaTeX release scheduled for 2021-11-15 with your documents or packages. Such testing is particularly important for package maintainers to verify that changes to the core LaTeX haven’t introduced incompatibilities with existing code. We try to identify any such problems beforehand but such an undertaking is necessarily incomplete, which is why we are asking for user testing.

Besides developers, we also ask ordinary users to try out the new release, because the more people that test the new format, the higher the chances that any hidden problems are identified before the final release hits the streets.

Processing your documents with the pre-release is straightforward. All you have to do is to replace the invocation command by appending -dev to the executable, e.g., on the command line you would run

pdflatex-dev myfile    or    lualatex-dev myfile    or    xelatex-dev myfile

instead of using pdflatex, lualatex or xelatex. If you use an integrated editing environment, then it depends on the system how to configure it to use an alternative format; but in any case the necessary modification should be straightforward.

Enjoy — Frank

Thursday, 2021-09-23 00:00

2021-09-06

TUG

Computers&Typesetting: Jubilee printings

Pearson has published the 35th anniversary (Jubilee) printings of the complete C&T series, including all updates from the 2021 tune-up. They are available as both hardcover and pdf, with a 40% discount for TUG members. Details on the TUG books page. Happy reading!

Monday, 2021-09-06 20:52

2021-09-04

LaTeX.net

DANTE Herbsttagung 2021

The following text is in German because it’s about the German language user group meeting 2021.

Im vergangenen Jahr sind leider beide DANTE-Tagungen wegen der Pandemie ausgefallen. Die Frühjahrstagung fand wegen der Kontaktbeschränkungen komplett online statt.

Auch die Herbsttagung wird virtuell stattfinden, über die Plattform „Online Schule Saarland“.

Das Programm, vom 17. bis 19. September 2021:

  • Freitag, 17.9.: ab 19:30 Uhr Vorabendtreff
  • Samstag,18.9.: ab 9 Uhr Begrüßung und Mitgliederversammlung , danach zwei Vorträge
    • Color, xcolor und l3color: Farben in LaTeX (Ulrike Fischer)
    • Futura PM – Eine geometrisch konstruierte Schriftart für (La)TeX (Philipp Müller)
  • Sonntag, 19.9.: Stadtrundgang und Besuch historisches Museum

Siehe auch Programm und Tagungs-Seite.

An dieser Stelle auch ein Danke von mir an DANTE für die Unterstützung bei den Serverkosten dieser Webseite TeX-talk.net sowie der LaTeX-Foren TeXwelt.de, goLaTeX.de, LaTeX.org, TeXnique.fr, und weiteren Webseiten wie TeXfragen.de, LaTeX.net.br, TeXdoc.org, CTAN.net, TeXlive.net, TeX.my, TeXample.net, TikZ.net, pgfplots.net, TeXblog.net, mychemistry.eu, TeX.co, LaTeX.net und weiteren.

Photo by Amador Loureiro on Unsplash

by Stefan Kottwitz at Saturday, 2021-09-04 11:45

2021-08-29

LaTeX.net

The Island of TeX in 2020 and 2021

In 2020, the Island of TeX introduced Docker images for easily reproducible builds as well as a semi-official response to the need for continuous integration. These images were among the first using vanilla TeX Live, providing the required tools for running software included in TeX Live – for example, Java Virtual Machine, Python, and so forth. Additionally, the island provides TeX Live releases from 2014 on and let the user decide whether they want to pull all the documentation and source files into their CI configuration.

With attention came the idea to more officially publish our images as texlive/texlive, which the island gladly did. Now IoT manages the releases at Docker Hub as well: https://hub.docker.com/r/texlive/texlive.

Docker Hub is the world’s largest repository of container images with an array of content sources including container community developers, open source projects and independent software vendors building and distributing their code in containers.

Apart from applications in continuous integration, the Docker images have lured the island into creating another tool based on them. TeXdoc online is the successor to TeXdoc.net (which now redirects).

This tool provides a RESTful API for texdoc. A REST ful API is a stateless interface to web applications responding to typical HTTP requests with uniform responses. Usually, JSON is used for the response format. Following this principle, this software responds to HTTP GET requests with JSON representing documentation-related objects. There are several endpoints you can access.

The front end of TeXdoc online is structured in a similar way to TeXdoc.net. The main feature is still searching for packages. Topics are handled differently, though. We use CTAN’s JSON API to fetch their topics and packages belonging to these topics. Any user visiting the landing page will be shown six random categories with a few packages each. If a category holds several packages, four of them are selected at random. Users have the option to show all topics and list the packages for any topic they are interested in. Also, each package entry can be automatically queried for documentation.

Deploying the software is straightforward. You can get an executable JAR file with all dependencies included that you can simply run using your local Java installation. Running the JAR bundle will open a local web server that can be accessed from your browser. As an alternative to running the JAR file, the island also provides a dockerized image. This image is based on IoT’s TeX Live images, which makes it quite large in terms of file size but also eliminates the need for a local TeX installation. Using Docker is the preferred solution for hosting your own instance of TeXdoc online.

The Docker image also provides daily updates. The container will update daily at midnight (container time) and thus stays up to date as long as
the current version of TeX Live is supported. The island’s continuous integration ensures that you can always pull the latest tag and receive the latest and greatest TeX documentation, which when pulled and run will update itself.

To ease deployment, IoT provides a ready-made configuration for Docker Compose, an orchestration tool for Docker containers. It uses the Caddy web server to provide automatic HTTPS with local certificates or, on public domains, Let’s Encrypt certificates.

After finishing TeXdoc online to a production-ready degree, the island turned to the development of another handy tool, Albatross. This command line tool, with a silly yet adorable name, solves a very common problem: finding system fonts that provide a certain glyph. Users may provide the glyphs themselves or their corresponding Unicode code points in hexadecimal notation.

Albatross screenshot

IoT also migrated checkcites, a tool for checking missing or unused references, from Paulo’s personal repository to the island. The team also decided to rewrite it from Lua to Kotlin — this is still a work in progress. And the island is going from a monolithic implementation to a modular one, which is also a work in progress.

In 2020, IoT finished version 5 of arara, a major rewrite from Java to Kotlin, mainly working on features from user feedback, especially directory support and the processing of multiple files. The team got hooked by the idea of aligning release schedules of arara with TeX Live releases enabling IoT to make (small) breaking changes more often. So the island had big plans and started to work on version 6 right after releasing version 5. As with checkcites, the team walked the extra mile and arara went from a monolithic implementation to a modular one, plus an enhanced feature set and optimized workflow.

Arara screenshot

In version 5, the implementation had everything contained in one big block. In version 6, IoT made a split between an API, a core implementation, the engine and the CLI application to separate concerns. This was the first step in the direction of splitting out components that are bound to one platform. Aditionally, the team hopes to enable other people to develop their own tools based on the arara libraries if they wish to. With multiple library components this should be easy. The developers of the TeXify IDEA plugin expressed their interest in this to integrate proper arara support in TeXify.

For version 7, the team wants to take larger steps towards platform-independence. Hence, IoT will make use of Kotlin/Multiplatform (MPP) to use a single codebase for all target platforms. Some components will have to be rewritten, some need different interfaces for different platforms but in the end, the team hopes to provide an even more multitalented tool.

Up to now, arara has been developed as a file-based build tool. The tool does not track dependencies nor does it manage projects. You throw a file at it and it makes the best out of it. The team is evaluating support for projects and dependencies. Other feature candidates include cleaner logs and granularity switchs, new DSL-based rules and configurations, and better integration with existing workflows.

The team has many plans and hopes to realize as much as possible. The island is a vibrant environment for the development of TeX-related tools; IoT wants to enhance the user experience, from newbie to expert, and promote use and diffusion of modern methodologies and technologies. If you are interested in helping the island develop ideas or even implementing some code, visas for the island are free and easy to get, so feel free to reach out.

by Paulo Cereda at Sunday, 2021-08-29 20:21

Uwes kleines Technikblog - Kategorie LaTeX (by Uwe Ziegenhagen)

Pocketmod – TODO Listen in A3

Zum Thema Pocketmod hatte ich schon früher etwas geschrieben (https://www.uweziegenhagen.de/?p=1294), hier nun ein Template für ein TODO-Listen Pocket in DIN A3.

Das fertige PDF sieht dann so aus: PocketMod_for_A3

\documentclass[21pt]{scrartcl}
\usepackage[left=2cm,right=2cm, top=2cm,bottom=2cm,a3paper]{geometry}

\usepackage{forloop}
\setlength{\parindent}{0pt}
\usepackage{tikz}

\newcounter{ct} 
\usepackage{pgfpages}
 
\def\pgfpageoptionheight{\the\paperwidth} % landscaped by default
\def\pgfpageoptionwidth{\the\paperheight}
\def\pgfpageoptionborder{0pt}
\def\pgfpageoptionfirstshipout{1}
 
\pgfpagesphysicalpageoptions{%
    logical pages=8,%
    physical height=\pgfpageoptionheight,%
    physical width=\pgfpageoptionwidth,%
    current logical shipout=\pgfpageoptionfirstshipout%
}
 
    \pgfpageslogicalpageoptions{1}{%
      border shrink=\pgfpageoptionborder,%
      resized width=.25\pgfphysicalwidth,%
      border code=\pgfusepath{stroke},%
      resized height=0.5\pgfphysicalheight,%
      center=\pgfpoint{.875\pgfphysicalwidth}{.75\pgfphysicalheight}%
    }%
    \pgfpageslogicalpageoptions{2}
    {%
      border shrink=\pgfpageoptionborder,%
      resized width=.25\pgfphysicalwidth,%
      border code=\pgfusepath{stroke},%
      rotation=180,%      
      resized height=0.5\pgfphysicalheight,%
      center=\pgfpoint{.875\pgfphysicalwidth}{.25\pgfphysicalheight}%
    }%
 
    \pgfpageslogicalpageoptions{3}
    {%
      border shrink=\pgfpageoptionborder,%
      resized width=.25\pgfphysicalwidth,%
      border code=\pgfusepath{stroke},%
      rotation=180,%      
      resized height=0.5\pgfphysicalheight,%
      center=\pgfpoint{.625\pgfphysicalwidth}{.25\pgfphysicalheight}%
    }%
    \pgfpageslogicalpageoptions{4}
    {%
      border shrink=\pgfpageoptionborder,%
      resized width=.25\pgfphysicalwidth,%
      border code=\pgfusepath{stroke},%
      rotation=180,%      
      resized height=0.5\pgfphysicalheight,%
      center=\pgfpoint{.375\pgfphysicalwidth}{.25\pgfphysicalheight}%
    }%
 
    \pgfpageslogicalpageoptions{5}
    {%
      border shrink=\pgfpageoptionborder,%
      resized width=.25\pgfphysicalwidth,%
      border code=\pgfusepath{stroke},%
      rotation=180,%
      resized height=0.5\pgfphysicalheight,%
      center=\pgfpoint{.125\pgfphysicalwidth}{.25\pgfphysicalheight}%
    }%
    \pgfpageslogicalpageoptions{6}
    {%
      border shrink=\pgfpageoptionborder,%
      resized width=.25\pgfphysicalwidth,%
      border code=\pgfusepath{stroke},%
      resized height=0.5\pgfphysicalheight,%
      center=\pgfpoint{.125\pgfphysicalwidth}{.75\pgfphysicalheight}%
    }%
 
    \pgfpageslogicalpageoptions{7}
    {%
      border shrink=\pgfpageoptionborder,%
      resized width=.25\pgfphysicalwidth,%
      border code=\pgfusepath{stroke},%
      resized height=0.5\pgfphysicalheight,%
      center=\pgfpoint{.375\pgfphysicalwidth}{.75\pgfphysicalheight}%
    }%
    \pgfpageslogicalpageoptions{8}
    {%
      border shrink=\pgfpageoptionborder,%
      resized width=.25\pgfphysicalwidth,%
      border code=\pgfusepath{stroke},%
      resized height=0.5\pgfphysicalheight,%
      center=\pgfpoint{.625\pgfphysicalwidth}{.75\pgfphysicalheight}%
    }%
 

\begin{document}%

\forloop{ct}{1}{\value{ct} < 9}{%
\begin{tikzpicture}
\foreach \i in {0,...,-17}{%
\draw[very thick] (0,\i*2) -- ++(0,1.5) -- ++(1.5,0) -- ++(0,-1.5)--cycle; 
\draw[very thick] (2.5,\i*2) -- (22,\i*2);
\draw[very thick] (23,\i*2) -- ++(0,1.5) -- ++(1.5,0) -- ++(0,-1.5)--cycle; 
}
\end{tikzpicture}
\clearpage
}

\end{document}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

üääü­üöü–üöü–üöü–

by Uwe at Sunday, 2021-08-29 07:54

2021-08-24

Some TeX Developments (by Joseph Wright)

Talking about units

Usually, I keep my day job (as a university lecturer in chemistry) and my LaTeX work separate. Of course, I use LaTeX at work for things like lecture handouts, but most of the time the two areas don’t directly intersect.

So it was quite interesting to be talking yesterday at a chemistry conference (the ACS Fall 2021 Meeting) about siunitx. I’d been invited by Stuart Chalk to a session on units and data reuse: much more like metrology/computer science than my usual day-to-day wet chemistry!

It was good to see that many of the things I do in siunitx fit into wider efforts by people who do day-to-day work on units. The idea of logical mark-up for unit input, the ability to decompose units into parts and the realities of less-than-ideal input from users were all there. Hopefully, siunitx will help with the work being done by groups such as DRUM (Digital Representation of Units of Measure) to make information more computer-readable. I’ll also be looking at QUDT for inspiration about the real technical detail of the myriad of units in real use.

I also managed to get in a few comments about some LaTeX work that’s important for data reuse more widely: tagged PDFs and tex4ht. So it was a pretty productive use of an evening!

by Joseph Wright at Tuesday, 2021-08-24 00:00

2021-07-06

TUG

TUG 2021 presentation proposal deadline is July 9

The deadline for presentation proposals for TUG'21 is July 9. Please send in submissions as soon as possible. The conference will be held online, August 5-8. More info: call for papers, register (no charge), conference home page.

Tuesday, 2021-07-06 17:22

2021-07-04

LaTeX.net

Scientific WorkPlace/Word/Notebook discontinued

MacKichan Software, Inc. stopped it’s business on June 30, 2021. Their products Scientific WorkPlace (SWP), Scientific Word, and Scientific Notebook, that are based on LaTeX, will not be sold or supported anymore.

The future plan for Scientific Word is to become Open Source after removing non-free/non-open components.

Image by Theodore Norvell

by Stefan Kottwitz at Sunday, 2021-07-04 11:34

2021-06-03

TikZ

StackExchange ist verkauft

StackExchange, bekannt als StackOverflow, ist an Prosus verkauft worden f체r 1,8 Milliarden Dollar. Das beinhaltet die TeX StackExchange Q&A Seite (TeX.SE). Prosus ist ein Technology-Investor und eine Holding Company die bereits Unternehmen wie Udemy, Codecadamy und Brainly (“Your 24/7 homework helper”) besitzt. Nach $153 Millionen Investor-Kapital, Einstellen eines fr체heren Investment-Bankers als Kopf, mehreren Entlassungs-Runden, Ausscheiden von Moderatoren, Effizienter-Werden duch Standardisieren der Sites, Aussteige-Spekulationen, war es nicht wirklich 체berraschend. Die offizielle Kommunikation und Joel Spolskys Bekanntmachung sagen “business as usual” und dass alles genauso weiterl채uft. Also, nix zu sehen hier.

Es gibt auch nichtkommerzielle (La)TeX Q&A Seiten und Foren, unterst체tzt durch TeX user groups und vor allem DANTE, wie: LaTeX.org, TeXwelt.de, TeXnique.fr, and goLaTeX.de.

by stefan at Thursday, 2021-06-03 18:06

LaTeX.net

StackExchange has been sold

The StackExchange network by Stack Overflow Inc., has been sold to Prosus for 1.8 billion dollars. That includes the TeX Stack Exchange Q&A site aka TeX.SE. Prosus is a technology investor and holding company that already owns some learning sites such as Udemy, Codecadamy, and Brainly (“Your 24/7 homework helper”). After $153 Million funding, hiring a former investment banker to lead the company, several round of layoffs, community moderators leaving, becoming more efficient by standardizing site designs, exiting rumours, it was not surprising. Official communication and Joel Spolskys announcement say “business as usual” and that it would operate in the same way. Like, nothing to see here.

There are also not-for-profit (La)TeX Q&A sites and forums, supported by TeX user groups and especially DANTE, such as: LaTeX.org, TeXwelt.de, TeXnique.fr, and goLaTeX.de.

by Stefan Kottwitz at Thursday, 2021-06-03 16:40

2021-06-01

LaTeX Project

Spring 2021 LaTeX release available

The Spring 2021 LaTeX release is available

This year Spring in LaTeX’s counting is somewhat delayed, but this fits the weather—at least here in Germany were we had April weather throughout most of May. We plan to keep it this way in future releases: a first release in May/June and a second release around November as this better fits with the release cycle of the TeXLive distribution.

The focus of this release is to provide further important building blocks for the future production of reliable tagged PDF output (see the article LaTeX Tagged PDF — A blueprint for a large project that describes the project we are engaged in); these enhancements are discussed below.

Extending the hook concept to paragraphs

Largely triggered by the need for better control of paragraph text processing, in particular when producing tagged PDF output, we have changed LaTeX so that the kernel gains control both at the start and at the end of each paragraph. This is done in a manner that is (or should be) transparent to both packages and documents. We have also included four public hooks to enable adding code to paragraphs in a controlled manner. The documentation on this is available as ltpara-doc.pdf.

These hooks will enable us to automatically tag paragraphs and enables us to identify when paragraphs are broken across columns or pages, because those need special handling in tagged PDF.

Extending the hook concept to commands

With this release we extended the set of “generic” hooks to commands: in theory each document-level command has now two hooks cmd/<command>/before and cmd/<command>/after in which packages (or the user in the preamble) can add code using the hook management machinery.

If you know the etoolbox package, then you can think of them as being similar to the use of \preto and \appto from that package, but with the difference that if different packages try to do that, the added code chunks can be controlled and ordered as needed using the hook mechanism. The documentation for this functionality can be found in ltcmdhook-doc.pdf.

In practice, not all commands can accept such generic hooks: some (especially those that take optional arguments) will break if you try using an /after hook with them. However, many will and that allows us in the future to easily patch the many commands to enable tagged PDF without touching or updating package code.

A large number of other enhancements and corrections

There are many other enhancements and corrections that we documented in the ltnews article for this release (and a few very minor ones that only made it into the changes.txt file). The most important ones from a user perspective are:

  • Further improvements of file name parsing; in particular we made the parsing much faster again (it got a little slow with the functional enhancements we introduced in the last releases)
  • Better handling of font series and font shape changes
  • Improved copy & paste from documents produced with pdfTeX

But read the whole ltnews article because there may be other gems that are useful for you.

Where to learn more …

The new features and most of the important bug fixes made in this release are documented in “LaTeX2e News Issue 33”. This document can be found on the LaTeX2e news page where you will also find release information for earlier LaTeX releases.

Happy LaTeXing — Frank

Tuesday, 2021-06-01 00:00

2021-05-24

TikZ

Das coffeestains-Paket

Nach einem kurzen Gespr채ch auf TeXnique.fr hat Patrick Bideault das coffeestains-Paket auf TikZ portiert. Das urspr체nglich von Hanno Rein in 2009 entworfene Paket erfuhr damit eine Modernisierung und l채uft einwandfrei mit pdfLaTeX, XeLaTeX, und LuaLaTeX auf TeX Live 2021. Damit steht einer weiteren breiten Anwendung in den Homeoffices dieser Welt nichts im Wege.

Ein Anwendungsbeispiel mit viel Kaffee:

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{coffeestains}
\begin{document}
\coffeestainA{1}{1}{0}{6cm}{4cm}
\coffeestainB{0.8}{1}{-60}{-4cm}{4cm}
\coffeestainC{0.3}{1}{180}{0cm}{0cm}
\coffeestainD{0.5}{0.5}{100}{-1cm}{2cm}
\blinddocument
\end{document}
Beispieldokument

Die Syntax ist, verk체rzt: \coffeestain(A|B|C|D){Transparenz}{Skalierung}{Drehwinkel}{X-Offset}{Y-Offset}. Mehr steht in der Dokumentation, die auch mit viel Kaffee entstanden ist.

by stefan at Monday, 2021-05-24 17:37

2021-05-22

TikZ

Flaggen der Welt

Wilhelm Haager hat im April 2021 das Paket worldflags veröffentlicht. Damit kann man Flaggen aller Nationen und einiger weiterer Gebiete und Organisationen in TikZ zeichnen, sowohl als TikZ-Bild als auch als pic-Baustein. Durch eine Vielzahl Optionen kann man Breite, Höhe, “Hängen”, Spiegel, Drehen und mehr einstellen. Die einfachste Nutzung ist geht schon z.B. mit

\worldflag{BR}

was eine brasilianische Flagge zeichnet:

Brasilianische Flagge

Mit etwas mehr Arbeit anhand des Beispiels im Handbuch mit Fahnenstangen:

\documentclass[border=10pt]{standalone}
\usepackage{worldflags}
\begin{document}
\begin{tikzpicture}[x=1mm,y=1mm]
\def\w{30}\def\d{20}
\pgfdeclarehorizontalshading{flagpole}{30mm}{color(0mm)=(white);
  color(1mm)=(brown); color(2mm)=(black)}
\flagsdefault[width=15mm,hang=20]
\pic (fr) [country=FR,width=16mm,rotate=-\w] at (\d,0) {worldflag};
\pic (de) [country=DE,width=15mm,rotate=\w,turn=180] at (-\d,0) {worldflag};
\fill [shading=flagpole,shading angle=-\w,
       rotate around={-\w:(fr-nw)}](fr-nw)-|++(-2,-60)-|cycle;
\fill [shading=flagpole,shading angle=\w,
       rotate around={\w:(de-nw)}](de-nw)-|++(2,-60)-|cycle;
\node [rotate={50},below left  = 1.5cm and -0.6cm of de-nw] {\TeX welt.de};
\node [rotate={-50},below left  = 1.2cm and 0.9cm of fr-ne] {\TeX nique.fr};
\end{tikzpicture}
\end{document}
Deutsche und französische Flaggen

Die Flaggen wurden mithilfe der Konstruktions-Angaben von vexilla-mundi.com gezeichnet, einige komplexere Embleme wurden aus SVG-Daten von Wikipedia mittels Inkscape in TikZ-Code übersetzt.

by stefan at Saturday, 2021-05-22 16:59

2021-05-20

LaTeX.net

Wenn mal was in den Planeten rutscht

Wie hier notiert, ist es ja total einfach, LaTeX als kompletten und aktuellen Compiler in Blogs online zu verwenden.

Während ich gerade ein 10 Jahre altes Buch überarbeite damit es aktualisiert wird, verwende ich pro Kapitel eine Blog-Seite, um die sich im Kapitel entwickelnden Codes auf einer einzigen Seite zu haben und mit einem Klick zu übersetzen und zusammen zu überarbeiten bis es final ist. Ich hab halt sonst keinen Editor, der 12 Code-Beispiele auf einer Seite hat und jeden Teil mit einem Klick übersetzt, und das eben auch mit dem Smartphone unterwegs.

Lustigerweise rutscht es in Feed-Aggregatoren wie planet.dante.de obwohl es als Draft gespeichert ist und eigentlich nicht öffentlich sichtbar sein sollte.

Daher, sorry für den noise auf dem DANTE Planeten für zumindest einen reingerutschten Beitrag, wo auch noch User-Testcode von einem Forum-Beitrag drin war. Eigentlich mache ich das sonst auf einer separaten Buch-Webseite, die allen Code direkt on-page compilierbar enthält, analog LaTeX-Cookbook.net.

Sehen wir uns demnächst mit der Buch-Webseite und mehr Inhalten.

by Stefan Kottwitz at Thursday, 2021-05-20 20:46

TUG

TUGboat 42:1 published

TUGboat volume 42, number 1, a regular issue, has been mailed to TUG members. It is also available online and from the TUG store. In addition, prior TUGboat issue 41:3 is now publicly available. Submissions for the next issue, the TUG 2021 conference proceedings, are welcome; the deadline for proposals is June 24 (early submissions are especially appreciated). Please consider joining or renewing your TUG membership if you haven't already (you'll get this issue immediately), and thanks.

Thursday, 2021-05-20 16:31

2021-05-17

Some TeX Developments (by Joseph Wright)

Moving from siunitx v2 to v3

With v3 of siunitx out, I am as expected getting quite a few questions about moving from v2. In the main, this is quite easy as there is a decent amount of compatibility code. Here, I’ll pick out a few cases where you might want some adjustments.

Working with Overleaf

One thing that people sometimes need is to work with the latest version but allow their input to work with the older version: that’s particularly true if you work with people using Overleaf, as it will be some time before they update to v3. You can of course just stick to the v2 interfaces, but if you’d prefer to have v3 if possible, then you will need to define \qty and \unit (and maybe others) conditionally. I’d recommend doing that using

\usepackage{siunitx}
\ifdefined\qty\else
  \ifdefined\NewCommandCopy
    \NewCommandCopy\qty\SI
  \else
    \NewDocumentCommand\qty{O{}mm}{\SI[#1]{#2}{#3}}
  \fi
\fi
\ifdefined\unit\else
  \ifdefined\NewCommandCopy
    \NewCommandCopy\unit\si
  \else
    \NewDocumentCommand\unit{O{}m}{\si[#1]{#2}}
  \fi
\fi

That then leaves options, but almost always these should be set in the preamble, so are a ‘one shot’. You can of course add to my tests above to know which version is in use, and set selectively.

Working with products or complex values

For people who’ve been using products or complex numbers in \SI in v2, one could use a similar approach to the above to ‘keep’ the functionality by setting it equivalent to the new \qtyproduct or \complexqty commands: of course, if you want both then you’ve got to make bigger changes. For example, to retain the ability to use products in \SI, you’d use

\usepackage{siunitx}
\ifdefined\qtyproduct\else
  \ifdefined\DeclareCommandCopy
    \DeclareCommandCopy\SI\qtyproduct
  \else
    \DeclareDocumentCommand\SI{O{}mm}{\qtyproduct[#1]{#2}{#3}}
  \fi
\fi

at the cost that the code is a bit slower than \qty for input without products. Complex values would be handed the same way, just changing the command you use as a ‘replacement’.

Using litres (liters)

In v2, \litre and \liter produced different output: that was not the best interface decision. So in v3 they are the same, but that means of course that you might see a change. Luckily, you can set the output you want and get the same in both v2 and v3.

\DeclareSIUnit\litre{l}

by Joseph Wright at Monday, 2021-05-17 00:00

siunitx v3

I’ve just released version 3 of siunitx: its a major update, in which the internals have largely been re-written. The following is a short(ish) summary of the major benefits and changes.

The benefits

The major changes under the hood mean I can get better performance out of version 3 than there was in version 2. For most users, you’ll see something like a two-times speed-up of any use of siunitx. That shows up most if you have complex tables.

The new font control system means that I have to do a lot less to match the running font. So it is a lot easier to ‘do nothing’ than it was with version 2 (where basically you have to undo all of the font changes made by siunitx to get back to where you started!).

There’s new functionality across the board for number processing, and that means I can do more. Most obviously, there is now the ability to round numbers based on their uncertainties. I’ve also removed the oddities and limitations for interaction between parts of the code. Uncertainties can now be formatted using the NIST approach: a long-standing request.

For programmers, there is now a formal documented code-level API and a full set of tests (running using l3build), so it’s a lot easier to be sure what is supposed to happen. You can also re-use bits of siunitx to support other code much more easily than in the past.

Finally, I’ve now got more ability to add new features: I now know how I’m going to deal with multi-part uncertainties, for example. That includes having proper internal structures to make future development easier.

The changes

Now to the things to watch out for: taken from the new manual, and perhaps a bit more formal than the usual blog post!

A significant number of key-value settings have new, more descriptive, names. Where possible, older names are mapped to newer ones internally: you will be warned in the log if this is the case.

It is possible to use the LaTeX kernel mechanism to load the last version 2 release for documents that cannot be successfully processed using version 3. This can be achieved using

\usepackage{siunitx}[=2021-04-09]

or

\usepackage{siunitx}[=v2]

In version 3, the document commands have been revised to be more descriptive. As such, the commands \SI,\SIlist, \SIrange and \si remain available but are not recommended for use in new use.

Some changes have been made to the semantics of commands or options. Most notably

  • prefixes cannot now be given without units;
  • prefixes can only be interconverted with numbers as part of a quantity, not as stand-alone units.

The font control system has been completely re-written for version 3. The method used is entirely different from version 2. Emulation is therefore not provided for some aspects: if you need non-standard font settings, you will need to adjust your source.

The input approach for version 3 is slightly more structured and restricted than for version 2. As well as the updated names for document commands, this means that

  • Products of numbers must now be given using the dedicated \numproduct and \qtyproduct commands;
  • Quotients of numbers are only supported as literals;
  • Complex values need to be given using the dedicated command \complexnum.

The letter used for a numerical tabular column can now be selected by the user: the letter S has been retained as the standard interface. The unit column (s) has been removed from this release. It can be emulated using the collcell package, for example

\usepackage{collcell}
\newcolumntype{s}{>{\collectcell\unit}c<{\endcollectcell}}

or

\usepackage{collcell}
\newcolumntype{s}{>{\collectcell\si}c<{\endcollectcell}}

A new approach has been taken to providing non-Latin symbols for use in units: these are now handled directly where needed, for example in the definition of the \micro prefix.

If you are using table-column-width to have fixed-width columns, you also now need table-fixed-width to set this option active.

Monday, 2021-05-17 00:00

2021-05-16

LaTeX.net

Der Online-Compiler TeXlive.net

Ursprünglich auf TeX.co veröffentlicht.

Es gibt ja viele Internet-Foren, Blogs, Wikis und andere Webseiten mit Codebeispielen für TeX und LaTeX. Gerade in Foren ist es üblich, Problem-Beispiele zu posten, und Antworten enthalten oft vollständige Lösungs-Codes. Optimalerweise mit Screenshots zum Komfort aller Leser. Man kann sich den Code herauskopieren und in seinem eigenen LaTeX-Editor ausprobieren.

Was, wenn man den Code mit einem einzigen Klick direkt auf der Webseite übersetzen könnte? Am besten auch auf dem Tablet oder Mobiltelefon, wo auch immer man gerade liest?

Das geht nun mit TeXlive.net.

Am besten sieht man es am Beispiel:

\documentclass[border=10pt]{standalone}
\usepackage{smartdiagram}
\usepackage{metalogo}
\begin{document}
\smartdiagram[bubble diagram]{\TeX\ engines,
  \TeX\ (dvi), pdf\TeX, \XeTeX, \LuaTeX, Con\TeX t}
\end{document}

Einfach “Run LaTeX here” klicken. Dann übersetzt LaTeX den Code und er wird hier direkt dargestellt. Durch Klicken auf >> rechts oben kann man die PDF-Datei speichern.

Auch gut zum Testen und ausprobieren: den Code kann man hier direkt auf der Webseite editieren und wieder auf den Ausgabe-erzeugen-Schalter klicken. Das finde ich extrem praktisch in Foren, wo man ein angegebenes Problembeispiel direkt bearbeiten und testen kann, um eine Lösung zu finden und mitzuteilen. Probier einfach aus, indem Du die Diagramm-Texte oben oder das unten folgende Mathematik-Beispiel etwas editierst und erneut übersetzt.

Wie hier zu sehen, erfolgt Angabe der Engine, des Formats, oder des Ausgabeformats durch einen Kommentar

% !TEX name

wobei name z.B. sein kann: latex, pdflatex, xelatex, lualatex, pdftex, luatex, xetex, context, oder für die Ausgabe pdfjs, pdf, log (Logfile), make4ht, LaTeXML or lwarp, und Tools wie makeindex mit Parametern. Siehe auch Beispiele und Dokumentation.

Die Auslastungs-Statistik von TeXlive.net zeigt, dass täglich ungefähr 2000 verschiedene Nutzer ca. 4000 Dokumente übersetzen, an Wochenenden weniger. Das kommt daher, weil TeXlive.net schon in vielen Webseiten genutzt wird und die Nutzer aktiv die Codebeispiele ausprobieren. Hier einige willkürliche Beispiele, die zeigen, dass es auf verschiedensten Web-Plattformen läuft:

TeXlive.net unterstützt ca. 20 Compiler Engines/Formate einschließlich (pdf)LaTeX, XeLaTeX, LuaLaTeX, plain (pdf)TeX, LuaTeX, XeTeX und ConTeXt sowie Ausgabe via pdfjs, Browser PDF plugin, HTML-Ausgaben mit make4ht, lwarp, oder LaTeXML und Tools wie makeindex, BiBTeX, und biber, kombinierbar.

Warum nicht auch direkt übersetzbaren Code in Twitter-Beiträge einbetten? Das geht mit LaTeX-Dokumenten direkt in einer URL, z.B.: texlive.net/run?\[T_{f(x;a)}=\sum_{n=0}^\infty\frac{f^{(n)}(a)}{n!}\].

Zum Datenschutz: TeXlive.net als Compiler erhält den übergebenen Code, übersetzt ihn und liefert die Ausgabe zurück. Die bei der Übersetzung anfallenden Dateien (PDFs, Logfiles) werden in einer stündlichen Routine gelöscht wenn sie ab 1 Stunde alt sind, d.h. sie liegen 1-2 Stunden vor bis zur automatischen Löschung. Wie bei Webseiten üblich, sieht auch TeXlive.net die IP-Adresse des Aufrufenden (bzw. seines Providers). Webserver-Logdaten (für technische Zwecke (Troublehooting, Performance-Statistik, Schutz gegen Angriffsversuche) werden nach ab 14 Tagen Alter automatisch gelöscht.

Die Software für TeXlive.net wurde von David Carlisle geschrieben, ursprünglich für LearnLaTeX.org, eine multilinguale Tutorial-Seite für LaTeX-Einsteiger, die auch den Online-Compiler in den Lektionen verwendet. Der Server arbeitet mit einem aktuellen TeX Live 2021. Wie die obengenannten Foren und weiteren Webseiten läuft TeXlive.net auf von DANTE e.V. projektfinanzierter Hardware, das sind zwei bei Hetzner laufende Root-Server. Danke an DANTE dafür.

by Stefan Kottwitz at Sunday, 2021-05-16 20:27

2021-05-10

Some TeX Developments (by Joseph Wright)

siunitx v3 beta 2

Following up on the recent first beta for siunitx, I’ve now made a second beta available. There was only one issue picked up so far by testers, plus of course those I’ve spotted myself. In particular, I’ve allowed a way to set the text font manually if simply resetting back to the standard one doesn’t work. I’ve also sneaked in a late addition: the ability to parse and print uncertainties the way NIST seem to suggest they should appear.

Assuming that I get no major issues coming up, I plan to put this out as the first v3 release in a couple of weeks time: before the next LaTeX kernel update!

by Joseph Wright at Monday, 2021-05-10 00:00

2021-05-09

2021-05-05

LaTeX Project

Final pre-release of LaTeX 2021-06-01 is available for testing

The third and final LaTeX pre-release for 2021-06-01 is available for testing

A few days ago we submitted a new LaTeX development format to CTAN and by now this should be available to all users using MiKTeX or TeX Live (on any operating system).

Because of the freeze for TeXLive 2021 we have decided to move the release date for LaTeX from May to June, to give everybody enough time for testing the new release features.

Main features of the second pre-release for 2021-06-01

The final pre-release contains all the features, corrections and enhancements that we intend to release in June. The more important ones are listed in the draft publication of LaTeX2e News Issue 33. A full list is given in the changes.txt files that are part of the distribution. Notable improvements are

  • better support for copy-and-paste from LaTeX-generated PDF documents by including glyphtounicode mappings;
  • support for producing several footnote marks to one footnote with the help of the \footref command;
  • additional support for package and class option lists that use key/value syntax;
  • extending the general hook management system to paragraphs and commands as discussed below.

Extending the general hook management system to paragraphs and commands

In addition to the bug fixes and enhancements, the next release also extends LaTeX’s general hook management system by supporting paragraph hooks executed at the beginning and end of every paragraph, documented in ltpara-doc.pdf.

This functionality is essential for the production of automatically tagged PDF documents and resolves one of the major obstacles in this area. It is thus an important step in our multi-year journey towards accessible and well-tagged PDF documents. See articles in PDF, Tagging, Accessibility.

Even though this new functionality may not be of direct interest to most users (as long as it is not yet used for processing accessible PDF) it is nevertheless important that it gets tested to ensure that there aren’t any conflicts with existing packages that also try to manipulate the paragraph processing in one way or the other. So please make use of the development format whenever you have a chance, see below for how to do this with ease.

The release will also support generic hooks on all user-level commands; in theory that is, in practice there are some restrictions as explained in the documentation in ltcmdhooks-doc.pdf.

Again this is an important step towards tagged PDF as it will help integrating the necessary code in various user-level commands without extensive code alterations that would otherwise be required. In addition this functionality is also of interest to packages that for one or the other reason currently patch code of other packages or from the kernel as the hook management helps to do this in controlled ways avoiding typical incompatibilities between packages.

Kernel support for the new LaTeX PDF management

We also added the necessary support in the LaTeX kernel and uploaded the new LaTeX PDF management — so far as a separate package for testing. This code is another important step towards well-tagged PDF documents as it provides backend-independent interfaces to central PDF dictionaries, tools to create annotations, form Xobjects, to embed files, and to handle PDF standards. During a test phase this code is provided through an external package named pdfmanagement-testphase. Please help with the testing here too. You can access the documentation through texdoc pdfmanagement-testphase.

Outlook

This is the final prerelease, the same code (modulo any corrections found during testing) is planned as the official June 2021 release.

Please help with the testing

We are issuing this final pre-release now in the hope that you will help us by making sure that all the enhancements and fixes we have provided are safe and that they do not have any undesired side effects, so please help with the testing if you can.

This development format allows you to test the upcoming LaTeX release scheduled for 2021-06-01 with your documents or packages. Such testing is particularly important for package maintainers to verify that changes to the core LaTeX haven’t introduced incompatibilities with existing code. We try to identify any such problems beforehand but such an undertaking is necessarily incomplete, which is why we are asking for user testing.

Besides developers, we also ask ordinary users to try out the new release, because the more people that test the new format, the higher the chances that any hidden problems are identified before the final release in June hits the streets.

Processing your documents with the pre-release is straightforward. All you have to do is to replace the invocation command by appending -dev to the executable, e.g., on the command line you would run

pdflatex-dev myfile    or    lualatex-dev myfile    or    xelatex-dev myfile

instead of using pdflatex, lualatex or xelatex. If you use an integrated editing environment, then it depends on the system how to configure it to use an alternative format; but in any case the necessary modification should be straightforward.

If you encounter any issue with this prerelease, please open a bug report at https://github.com/latex3/latex2e/issues following the guidelines given there (especially providing a processable test document).

In case of incompatibility problems with the prerelease it is, of course, acceptable to report them to us, even if \RequirePackage{latexbug} tells you to report them elsewhere (it would help if you do that too).

Enjoy — Frank

Wednesday, 2021-05-05 00:00

2021-04-16

Some TeX Developments (by Joseph Wright)

siunitx v3 beta

I’ve been talking about a new version of siunitx for ages. Progress has been slow but I’ve now put my back into it and got to a feature-complete version: I’m calling this v3.0.0-beta. As this is a beta release, it’s not ready for production just yet, but it is ready for proper testing. I’ve made the TDS-style zip file available here; if you know how to use this kind of file, please download and test!

As I’ve said before, there are a lot of internal improvements in the code. There are also some big changes which do show to users. The major changes are

  • The name for commands for units and quantities have changed: \unit and \qty. The old names (\si and \SI) are still about, but I’d encourage people to move to the new ones.
  • Font set up is entirely revised, which means that there are new settings to use if you want to adjust the output. The new approach should be faster and cleaner than the old one, but you might have to pick new options.
  • Products of numbers now have a dedicated interface: \numproduct, with a matching \qtyproduct for quantities
  • Complex numbers also have decided interfaces: \complexnum and \complexqty: this makes parsing a lot easier
  • A small number of ideas have been removed: most notably parsing quotients
  • I’ve updated the units provided to match the 9th SI Brochure: that means a few units are removed (for example ängström and bar)

To support users and to avoid breaking any documents, the new code is accompanied by a (likely) final version 2 file. That can be loaded using

\usepackage{siunitx}[=v2]

where needed.

What I’m looking for now is feedback on what works, what I’ve missed, etc. Feedback is best in issues on GitHub. You might notice I’m already planning v3.1 and v3.2: the new structures should make more development possible. But at the moment I’m mainly trying to finalise v3.0.

by Joseph Wright at Friday, 2021-04-16 00:00

2021-04-08

Uwes kleines Technikblog - Kategorie LaTeX (by Uwe Ziegenhagen)

Gittermuster erstellen mit gridpapers

Hier ein Beispiel dafür, wie man mit dem gridpapers Paket Muster auf Papier bringen kann, hier ein Punktmuster.

%!TEX TS-program = Arara
% arara: pdflatex: {shell: yes}
\documentclass[12pt,ngerman]{scrartcl}
\areaset{8cm}{16cm}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\pagestyle{empty}
\usepackage[pattern=dot,% 
colorset=std,
geometry={left=2.25cm,right=1.25cm,top=1cm,bottom=1.25cm},%
textarea,%
patternsize={5mm},%
dotsize={1pt}
]{gridpapers}

\begin{document}
~

\end{document}

Auszug aus der A4-Seite:

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

üääü­üöü–üöü–üöü–

by Uwe at Thursday, 2021-04-08 20:11