albatros | texte

Der Wanderer XCII

Der Nobelpreis für Wirtschaftswissenschaft (jaja, etwas locker formuliert, schon klar) geht dieses Jahr an: Claudia Goldin. Einen Artikel in der deutschsprachigen Wikipedia zu ihr gibts seit 2007, angelegt und überwiegend geschrieben von einem Ökonomen und einem Autor, der sich mit Wissenschaftlern beschäftigt, die Mitglied bei der American Academy of Arts and Sciences sind. Gestützt auf das Who is Who in Economics, aber eben aus einer Zeit, als wir noch keine Fußnoten setzten. Der nächste Blick fällt in die GND: Keine Veröffentlichung im Sammelgebiet der Deutschen Nationalbibliothek. Ihr Personen-Datensatz ist bis heute mit keinem Titel verknüpft. Es hat bisher keinen Verlag hierzulande gegeben, der ihre Werke einer Übersetzung für würdig hielt. Kein ganz neues Phänomen: Sie hat über Jahrzehnte publiziert, und zwar über Themen wie: Understanding the Gender Gap: An Economic History of American Women oder Corruption and Reform: Lessons from America’s History, wohl zuletzt: Career and Family: Women’s Century-Long Journey toward Equity.

Der Wanderer XCI

Auf der Mailingliste aquamacs-devel bei Google Groups griff gestern ein Benutzer die Ankündigung von Maintainer Win Treese von vor einem Jahr wieder auf, er arbeite an Aquamacs 4.

Win antwortete letzte Nacht, es sei ihm gelungen, einen Aquamacs auf der Basis von GNU Emacs 28.3 unter Apple Silicon zu kompilieren, es gebe aber noch viele Probleme, die er erst ausräumen wolle, bevor er eine Testversion pushen werde. Die Arbeiten seien sehr aufwändig gewesen. Der Code müsse dann im weiteren Verlauf auf die Grundlage von Emacs 29.1 gebracht werden. Während schon an Emacs 30 gearbeitet wird.

Aquamacs ist die einzige Emacs-Distribution, die mit einem vorinstallierten und vorkonfigurierten AUCTeX ausgeliefert wird und die auch auf die systemweite Rechtschreibkorrektur von macOS zurückgreifen kann. Das funktionierte zuletzt auch noch unter Rosetta. Man darf also gespannt sein und Win Treese die Daumen drücken.

Der Wanderer XC

Der Herbst tut nochmal so, als wäre er Spätsommer. Das schafft er jetzt nur noch am späten Nachmittag, und wir tun gut daran, die Sonne und ihre immer noch enorme Wärme in die Wohnung und ins Herz herein zu lassen. Morgens sieht man noch die größeren Insekten, die am Balkon an der Wand sitzen, wo sie übernachtet haben. Und auch die Eichhörnchen sieht man jetzt wieder öfter. Ich freue mich auf die Sonne. Wenn der Nebel weggeht, und die leichtwarmen Oktoberstrahlen durch dringen, und sei es auch nur für ein paar Stunden.

Emacs 29.1 XII

Zu den wertvollsten Verbesserungen für Emacs, auf die ich in den letzten Wochen gestoßen war, gehört die Möglichkeit, einen harten Zeilenumbruch leicht wieder rückgängig machen zu können. Das kann Emacs nämlich nicht von Haus aus, Emacs kann nur neu umbrechen und umbrechen und umbrechen. Um einen Umbruch zurückzunehmen, hatte ich früher die wikipedia-unfill-*-Befehle aus dem Wikipedia Mode von Chong Yidong und Uwe Brauer benutzt. Das setzt aber voraus, dass man den Wikipedia Mode zuvor geladen hat. Einfacher zu handhaben ist dagegen der Vorschlag von Stefan Monnier, der im EmacsWiki überliefert ist:

(defun unfill-paragraph (&optional region)
  "Takes a multi-line paragraph and makes it into a single line of text."
  (interactive (progn (barf-if-buffer-read-only) '(t)))
  (let ((fill-column (point-max))
        ;; This would override `fill-column' if it's an integer.
        (emacs-lisp-docstring-fill-column t))
    (fill-paragraph nil region)))
(define-key global-map "\M-1" 'unfill-paragraph)

Man muss den Absatz nicht markieren, die Funktion greift dort, wo der Cursor gerade steht. Als eine schöne motorische Eselsbrücke hat sich bewährt, die neue Funktion global an M-1 zu binden, was direkt neben dem händischen Umbruch per M-q liegt.

Der Wanderer LXXXVIV

Die Umstellung meiner LaTeX-Einführung von HTML auf Org-Mode ist abgeschlossen. Das Projekt steht jetzt als l2intro auf GitHub und kann direkt für meine Website exportiert und installiert werden, ohne weitere Nachbearbeitung.

Bin noch unsicher, ob ich es damit bewenden lasse oder ob ich auch die restliche Website in Org überführe und dann in Zukunft komplett als Publishing-Projekt exportiere.

Thunderbird 115, Firefox 120

Alle sieben Bug Reports, die ich in den letzten beiden Monaten für Thunderbird 115 eingericht hatte, sind mittlerweile gefixt worden, und es wurde sogar ein ganz alter Bug, den ich 2018 für den Firefox gemeldet hatte und der bis heute noch offen war, aufgegriffen. Er ist für die übernächste Version Firefox 120 behoben worden. Ob die Korrektur auch in Version 119 noch einfließen wird, ist derzeit noch nicht sicher, es gehe nur um eine Zeile Code. Könnte also klappen. Sie tun was.

Der Wanderer LXXXVIII

Es ist jetzt nicht mehr Spätsommer, sondern schon eher Frühherbst. Am Morgen sehr kühl. Wenn die Sonne aufgeht, wird es dann schnell ziemlich warm. Die Sonne steht auch am Mittag so schräg, dass man die Spinnennetze deutlich sehen kann, an der Ampel sind es gleich zwei, und sie werden offenbar gepflegt, sind also einträglich für die Spinne, die sich durch sie ernährt. Ich stelle mich hinter die Ampel in den Schatten und warte, bis sie auf grün schaltet. Und so schnell, wie die Sonne morgens aufgeht, verschwindet sie am späten Nachmittag auch schon wieder und entzieht der Welt die Wärme, die sie ihr für wenige Stunden nur gab. Wo sind die beiden Schmetterlinge, die heute an meinem Fenster vorbei flogen, jetzt, wo es dunkel wird? Mögen sie beschützt sein!

Emacs 29.1 XI

Es gibt mehrere Completion Frameworks für den GNU Emacs. Sie sollen die Auswahl von Dateien, Buffern, von Variablen und Funktionen erleichtern. Und weil sie immer wieder empfohlen, teilweise geradezu gehypt werden, habe ich die wichtigsten ausprobiert.

  • Ido ist Teil von Emacs. Man muss es also nicht mehr hinzu installieren, sondern nur noch aktivieren. Es verändert den Mini-Buffer, indem eine Auswahl in horizontaler Anordnung gezeigt wird, und man kann diese dann weiter einschränken, indem man weiter tippt, je nach Konfiguration genau oder fuzzy, oder indem man mit dem Cursor nach rechts oder links und RET auswählt. Viel mehr macht Ido nicht. Man kann damit leben.
  • Helm von Thierry Volpiatto wird vielerorts wärmstens empfohlen. Helm hieß früher Anything und wurde dann umbenannt. Es schaltet sich in sämtliche M-x-Dialoge ein und sorgt für eine Autovervollständigung in eigenen Buffern. Helm blendet alle verfügbaren Datei- und Befehlsnamen ein, die irgendwie zum Suchstring passen. Die Auswahl erfolgt über eine Auswahlliste in einem eigenen Buffer, nicht über den Mini-Buffer, in den man den Suchstring eintippt – das ist zu Anfang etwas verwirrend. Ein Nachteil liegt in der Unruhe, die in die Bedienung kommt. Ich meine, vor allem durch Helm wird die Bedienung sogar eher erschwert als erleichtert.
  • Die dritte Lösung, die ich getestet hatte, ist Ivy von Oleh Krehel, das zusammen mit den weiteren Paketen Counsel und Swiper eingesetzt wird. Ivy wurde offenbar von Helm inspiriert, denn der Mini-Buffer wird auch hier zu einer Liste, die man direkt durchsuchen kann; dabei wird sie live gelichtet, und am Ende bleiben nur noch die Datei- und Buffer-Namen übrig, die irgendwie zur Eingabe passen. Beim Durchsuchen eines Buffers mit Swiper werden stattdessen die passenden Zeilen angezeigt, die zu einem Suchmuster passen. Das ist tatsächlich eine Verbesserung der inkrementellen Suche, die ich zu schätzen gelernt habe.
  • Das vierte Completion Framework ist Vertico von Daniel Mendler in Verbindung mit den Paketen Marginalia, Consult, Embark und Orderless. Vertico baut soweit wie möglich auf den bestehenden Funktionen in Emacs auf, bietet sie aber anders dar und erlaubt eine sehr dynamische und interaktive Auswahl. Praktisch ist, dass Marginalia die Kurzbeschreibungen von Paketen, Variablen und Funktionen einblendet, das erleichtert den Überblick erheblich. Insgesamt erinnert es mich aber zu sehr an Helm, das ich nicht mag.

Und so blieb ich am Ende erst einmal bei Ivy, das sich einerseits noch nach Emacs anfühlt, das andererseits aber auch per Swiper eine sehr schöne und nützliche Verbesserung der Isearch mitbringt. Die drei anderen Lösungen habe ich aber noch nicht deinstalliert, sondern erstmal beibehalten, um immer mal wieder testen zu können. Es mag sein, dass sich meine Bedarfe im Laufe der Zeit verändern. Außerdem ist es leichtes Gepäck, denn die nicht genutzten Pakete werden nicht geladen, wenn man sie im Init-File auskommentiert hat.

Der Verzicht auf Completion Frameworks hat aber auch vieles für sich, denn die Bedienung, bei der man Vervollständigungen per TAB und die History der Auswahl per Cursor hoch/runter bedient, ist man schon so lange vom Terminal gewöhnt, dass sie sehr eingängig ist und einfach. Außerdem wird der Zugriff auf das Dateisystem durch die Completion umständlicher. Mein Dateisystem ist Teil meines Wissensmanagements und erschließt das Material, mit dem ich arbeite, auch inhaltlich. Alle Frameworks verändern die Bearbeitung des Speicherpfads im Mini-Buffer, so dass es etwas schwieriger wird, im Pfad zu navigieren, um eine Datei in einem anderen Verzeichnis neu zu speichern. Vieles muss sich also bei der Bedienung neu einspielen, wenn man als erfahrener Emacs-Benutzer solche Lösungen zum ersten Mal einsetzt.

Weniger ist mehr.

Der Wanderer LXXXVII

Kurz vor dem Wochenende traf die dritte Auflage des LaTeX Companion, des TLC3, ein. Zwei Bände mit zusammengenommen gut 1900 Seiten. 18 Jahre nach dem Erscheinen der deutschen Übersetzung der zweiten Auflage. Ein enormer Gewinn für alle Benutzer und eine große Freude, ein so sorgfältig hergestelltes Buch zu bekommen.

Wobei es nicht ganz einfach war, den Titel zu bestellen, denn Addison-Wesley oder besser gesagt: Pearson ist auch nicht mehr ganz, was es mal war. Das Buch ist zwar in Deutschland über den Buchhandel bestellbar, es wird hierzulande aber nicht gelagert, sondern jeweils direkt beim Verlag aus den USA beschafft. Das sorgt für eine lange Lieferzeit und für vergleichsweise hohe Kosten. Und auch für ungewöhnlich schwankende Kosten. Wenn man die deutsche Buchpreisbindung gewöhnt ist, mag es merkwürdig anmuten, aber die Preisunterschiede zwischen den Buchhändlern sind doch beträchtlich.

Am ärgerlichsten ist aber wohl, dass der Transfer der Metadaten vom amerikanischen zum deutschen Buchhandel nicht so richtig klappen will. Wer das Werk bestellt, möge sich deshalb, bitte, nicht kirre machen lassen, es gibt mehrere Angebote vom Verlag: Man kann beide Bände separat bestellen, beide haben eine eigene ISBN, und es gibt ein Bundle mit beiden, und dann gibt es nochmal ein Bundle zusammen mit der E-Book-Ausgabe, das wäre dann also sozusagen die vollständigste aller Ausgaben. Wer die Auskunft erhält, der zweite Band sei nicht lieferbar, möge ihn reklamieren. Es gibt ihn wirklich, er liegt gerade neben mir auf dem Schreibtisch. Also nicht nur als E-Book, sondern als Book-Book.

Wer sich für LaTeX interessiert, möchte doch wahrscheinlich gerne ein gedrucktes Buch in Händen halten, zumal bei dem besagten Umfang. Fest gebunden auf gutem Papier mit einem schönen dunkelroten Lesebändchen. Und dann hat es also doch noch deutlich vor Weihnachten geklappt. Ich freue mich wirklich darauf! Und alle Beispiele aus dem TLC3 gibt es auf CTAN.

Übrigens habe ich die knappe Einführung in LaTeX, die ich seit ein paar Jahren auf meiner Homepage anbiete, endlich einmal wieder aktualisiert. Viele Weblinks gingen nicht mehr. Einige Angaben waren ebenfalls überholt. Bei der Gelegenheit habe ich den Text von HTML auf Org-Mode umgestellt. Sowohl die Quelle als auch der leicht nachbearbeitete HTML-Export aus Org stehen auf GitHub bereit. Und bei der nächsten Version werde ich auch die Teile, die ich heute noch händisch angegangen hatte, soweit wie möglich in Org umsetzen. Vielleicht kann ich meine gesamte Website als Publishing-Projekt auf Org umstellen. Wahrscheinlich erhalte ich auch beim Lesen des TLC3 eine paar Anregungen, die in den Text einfließen können, ohne ihn zu sehr auszudehnen.

Bei der Gelegenheit habe ich meine Homepage noch mit einem Dark Mode versehen. Das war per @media (prefers-color-scheme: dark) {...} tatsächlich viel einfacher, als ich gedacht hätte.

Ich stelle mir gerade parallel eine ebenso kurze Einführung in die Installation von Emacs unter macOS vor, in der ich meine Erfahrungen aus den letzten Wochen zusammenfassen könnte, die ich ja teilweise hier auch verbloggt hatte. Ich mag die alte Tradition der gentle introductions sehr, von denen es früher ganz viele im Netz gab, zu allen möglichen Themen. Blogs, Wikis und Webforen sind hilfreich, aber letztlich sind es nur gesammelte Bruchstücke, es fehlt meistens der größere Überblick über ein Thema. Still digging!

Emacs 29.1 X

Zu den praktischsten neuen Paketen, die mir in den letzten Wochen untergekommen sind, gehört mit deutlichem Abstand der Company Mode. Er kam auf mein System, als ich die Python-Umgebung elpy nachinstallierte, die es einsetzt. Beim Tippen werden Vorschläge aus dem restlichen Text in diesem oder auf Wunsch auch aus weiteren Buffern desselben Modes angeboten, die man auswählen und annehmen oder verwerfen kann. Die Vorschläge können also auch ein Projekt mit einbeziehen, das aus mehreren Dateien besteht. Das funktioniert sowohl bei Code als auch bei Fließtext, auch in längeren Kommentaren, und für mich als Vielschreiber ist das Paket natürlich ein Muss. Damit kann ich das Paket dabbrev-expand deutlich erweitern, das kein Frontend hatte, bei dem der Text automatisch so schön eingeblendet wurde – man musste einen Keystroke ausführen, um Autocomplete auszulösen. Company kann so konfiguriert werden, das auch Groß- und Kleinschreibung beachtet werden. Mit anderen Worten: Ich bin glücklich.

Sie sind nicht angemeldet