Aneamal-Version 2017-T28

Die Aneamal-Version 2017-T28 steht zum Herunterladen bereit. Die Verbesserungen gegenüber der Vorgängerversion liegen hauptsächlich in zwei Bereichen.

Einerseits kommt die Verarbeitung von „Gruppen“ der menschlichen Intuition jetzt näher. Das heißt, dass der Konverter nun selbst besser erkennt, welche Textbestandteile zusammengehören und wo Wortgrenzen liegen. So ist es beispielsweise seltener nötig Anfang und Ende einer Internetadresse in einem Link mit Gravis `` zu markieren.

Zum Anderen ist das System, mit dem man Aneamal um Programmbausteine für neue Funktionen erweitern kann, verbessert. Der Konverter stellt Programmierern von Programmbausteinen mehr Informationen zu Verfügung und arbeitet effizienter, wenn eine solche Erweiterung mehrfach ausgeführt wird. Als solch einen Programmbaustein kann man nun auch Software zur Darstellung von Formeln einfach durch Hochladen integrieren, ohne eine Konfigurationsdatei bearbeiten zu müssen.

Auf dieser Seite stelle ich ausgewählte Veränderungen mit praktischen Beispielen vor. Eine Liste aller Änderungen findet sich in der Versionsgeschichte.

Satzzeichen + Leerzeichen

Die Satzzeichen Komma, Semikolon, Punkt, Doppelpunkt, Frage- und Ausrufzeichen (,.;:?!) werden nicht mehr zur vorhergehenden „Gruppe“ gezählt, wenn nach ihnen ein Leerzeichen, Tabulator oder Zeilenende folgt. So wird aus:

Siehe, ein Hund->/galerie/14/mustergatte/mg.jpg!

in HTML:

Siehe, ein <a href='/galerie/14/mustergatte/mg.jpg'>Hund</a>!

Siehe, ein Hund!

Aneamal erkennt also, dass zwar der Punkt im Dateinamen des Bildes zur Adresse des Links gehört, das Ausrufezeichen am Ende aber nicht mehr, ohne dass man dafür die Adresse noch mit Gravis `` einschließen müsste.

Klammern

Runde und eckige Klammern im Text wurden bislang wie Buchstaben als Zeichen ohne besondere Bedeutung behandelt. Jetzt bilden sie gleichzeitig Wortgruppen. So kann man beispielsweise einen Klammerausdruck, der mehrere Worte enthält, ohne zusätzliche Gravis als Sprungziel für Links markieren.

Ein Wolf #(Canis lupus) gab Rotkäppchen floristischen Rat.

Dies wird nach HTML umgewandelt zu:

Ein Wolf <span id='canis-lupus'>(Canis lupus)</span> gab Rotkäppchen floristische Rat.

Ein Wolf (Canis lupus) gab Rotkäppchen floristischen Rat.

Einen Link auf diese Sprungmarke kann man dann ebenfalls ohne Gravis schreiben, denn die Klammern allein machen eine Gruppe aus den Worten:

Später brachte Rotkäppchen ihm->#(Canis lupus) einen Blumenstrauß.

Später brachte Rotkäppchen ihm einen Blumenstrauß.


Der Konverter erkennt bei einem eingeklammerten Link, dass die Klammern nicht zur Adresse gehören. So wird

Die Vereinten Nationen (UN->https://www.un.org/) in New York …

nach HTML umgewandelt zu:

Die Vereinten Nationen (<a href='https://www.un.org/'>UN</a>) in New York …

Die Vereinten Nationen (UN) in New York …

Paarweise Klammern in Linkadressen werden dennoch als Teil der Adresse identifiziert. So wird aus:

Ur->https://de.wikipedia.org/wiki/Ur_(Stadt) liegt am Euphrat.

in HTML:

<a href='https://de.wikipedia.org/wiki/Ur_(Stadt)'>Ur</a> liegt am Euphrat.

Ur liegt am Euphrat.


Klammersymbole werden in Texten manchmal auch einzeln verwendet. Als Beispiele seien a) Smileys wie :-) und b) Aufzählungen wie in diesem Satz genannt. Aneamal behandelt solche einzeln vorkommenden Klammersymbole nicht als gruppierend, sondern weiterhin wie Buchstaben nur als einfache Zeichen.

In der Praxis kaum auftretende Kombinationen von traurigen plus fröhlichen Smileys oder Ähnlichem im selben Absatz können aber als gruppierende Klammern missverstanden werden. Zum Beispiel wird aus

Mal bin ich :( und mal :)->https://de.wikipedia.org/wiki/Smiley.

in HTML

Mal bin ich :<a href='https://de.wikipedia.org/wiki/Smiley'>( und mal :)</a>.

Ein Programm kann leider nicht in jedem Fall erkennen, wie ein menschlicher Autor etwas meinte, was nicht explizit geschrieben wurde. So bietet sich in diesem Fall an, entweder einer Klammer mit einem unmittelbar vorangestellten \ die gruppierende Funktion zu nehmen oder das mit Gravis zu umschließen, was eigentlich verlinkt werden soll. So wird aus

Mal bin ich :( und mal `:)`->https://de.wikipedia.org/wiki/Smiley.

in HTML dies:

Mal bin ich :( und mal <a href='https://de.wikipedia.org/wiki/Smiley'>:)</a>.

Mal bin ich :( und mal :).

Formeln per Erweiterung verarbeiten

Mathematische Formeln, die in Aneamal mit $$ beziehungsweise $$$$ markiert werden, übersetzt der Aneamal-Konverter nicht selbst in eine ansehnliche Darstellung, sondern überlässt das externer Software, die darauf spezialisiert ist und das toll macht.

Seit Herbst 2015 war der Aneamal-Konverter zu diesem Zweck für die Nutzung des CDNs von mathjax.org vorkonfiguriert. Ein Nachteil dieser Lösung zeigte sich im Frühjahr 2017, als MathJax das Abschalten dieses Service in Monatsfrist ankündigte und der Aneamal-Konverter gezwungenermaßen aktualisiert werden musste.

Aufgrund dieser Erfahrung ist der Aneamal-Konverter nun nicht mehr für die Verwendung einer externen Lösung vorkonfiguriert. Stattdessen lässt sich eine solche Software zur Verarbeitung von Formeln aber superleicht von jedem integrieren – einfach durch Hochladen, ohne noch Dateien bearbeiten zu müssen – und ich stelle gleich zwei entsprechende Formel-Erweiterungen zur Verfügung:

Mehr Wahlmöglichkeiten könnten in Zukunft kommen. Eine Dokumentation, wie man eine solche Erweiterung erstellt, wird ebenfalls folgen, sodass Programmierer mit Lust und Laune ihre eigenen Formel-Interpreter integrieren können.

In dieser Aneamal-Version funktioniert auch die alte Konfiguration der Formelverarbeitung per aneamal-config.php noch, um einen unproblematischen Übergang zu gewährleisten. Zukünftige Versionen werden ganz auf das neue, einfachere System setzen. Ein Umstieg ist daher auf jeden Fall empfehlenswert.