Ich bin mir nicht sicher, ob dies per se als Programmierung qualifiziert ist , aber ich habe kürzlich damit begonnen, etwas Ähnliches wie objektorientiertes Zeug in LaTeX zu tun. (Sie müssen keine Mathematikkenntnisse haben, um Folgendes zu befolgen.) In den letzten Veröffentlichungen habe ich über Kategorien geschrieben , die Objekte und Morphismen aufweisen . Da es einige davon gab, wollte ich einen einheitlichen Stil, so dass beispielsweise 𝒞 eine Kategorie mit typischem Objekt C und typischem Morphismus c war . Dann hätte ich auch 𝒟 mit D und d. Also definiere ich eine "Klasse", sage "Kategorie" (Sie müssen Mathematiker sein, um den Witz dort zu verstehen) und erkläre, dass C eine Instanz dieser Klasse ist, und habe dann Zugriff auf \ ccat, \ cobj, \ cmor und so weiter. Der Grund dafür, dass \ cat {c}, \ obj {c} und \ mor {c} usw. nicht ausgeführt werden, ist, dass diese Kategorien manchmal spezielle Namen haben. Nachdem ich die Instanz deklariert habe, kann ich ihren Namen sehr einfach ändern (Definieren Sie einfach \ ccat neu - nun ja, eigentlich \ mathccat, da \ ccat ein Wrapper ist, der \ mathccat im Mathematikmodus und \ textccat im Textmodus auswählt). (Natürlich ist es etwas komplizierter als oben vorgeschlagen und das OO-Zeug ist wirklich nützlich, wenn ich eine neue Kategorie als eine Variante einer alten definieren möchte (es kann sogar den Fall behandeln, in dem die alte nicht funktioniert). existiert noch nicht.).)
Obwohl es möglicherweise nicht als eigentliche Programmierung qualifiziert ist, verwende ich es in Papieren und finde es nützlich - die anderen Antworten haben (bisher) eher das Gefühl, die Fähigkeiten von LaTeX zu demonstrieren, als eine vernünftige Lösung für ein praktisches Problem.