Nie jestem pewien, czy kwalifikuje się to jako programowanie jako takie , ale ostatnio zacząłem robić coś w rodzaju rzeczy zorientowanych obiektowo w LaTeX. (Nie musisz znać matematyki, aby postępować zgodnie z poniższym.) W ostatnich artykułach pisałem o kategoriach , które mają obiekty i morfizmy . Ponieważ było ich sporo, chciałem mieć spójny styl, aby, powiedzmy, 𝒞 była kategorią z typowym przedmiotem C i typowym morfizmem c . Wtedy ja też mam 𝒟 z D i D. Więc definiuję „klasę”, mówię „kategorię” (musisz być matematykiem, aby zrozumieć żart) i deklaruję, że C jest instancją tej klasy, a następnie mam dostęp do \ ccat, \ cobj, \ cmor i tak dalej. Powodem, dla którego nie wykonujesz \ cat {c}, \ obj {c}, \ mor {c} i tak dalej, jest to, że czasami te kategorie mają specjalne nazwy, więc po zadeklarowaniu instancji mogę bardzo łatwo zmodyfikować jej nazwę (po prostu przedefiniuj \ ccat - cóż, właściwie \ mathccat, ponieważ \ ccat jest opakowaniem, które wybiera \ mathccat w trybie matematycznym i \ textccat w trybie tekstowym). (Oczywiście jest to trochę bardziej skomplikowane niż sugeruje to powyżej, a rzeczy OO naprawdę przydają się, gdy chcę zdefiniować nową kategorię jako wariant starej (może nawet poradzić sobie z przypadkiem, w którym stara nie działa) jeszcze nie istnieje.).)
Chociaż może nie kwalifikować się jako faktyczne programowanie, używam go w artykułach i uważam go za przydatny - inne odpowiedzi (jak dotąd) mają bardziej wrażenie pokazania możliwości LaTeX niż rozsądnego rozwiązania praktycznego problemu.