Es kommt vor, dass mir hier im Forum und auch anderswo eine Frage um die Ohren fliegt, weil eines der benutzten Pakete veraltet sei. Ich als Laie frage mich, woher die Profis das wissen. Gibt es eine hohe LaTeX Instanz, die Pakete als veraltet erklärt? Wie kann ich herausfinden, ob ein Paket X veraltet ist?

gefragt 14 Sep, 21:25

runix's gravatar image

runix
90624155
Akzeptiert: 57%

zum Thema hinzugefügt 10 Okt, 14:16

Skillmon's gravatar image

Skillmon
2814

4

Einige Dinge sind in https://www.ctan.org/pkg/l2tabu beschrieben. Dummerweise weiss man nur nicht, ob dieses Paket veraltet ist. ;-)

(14 Sep, 22:53) Murmeltier
3

Manche Pakete sind auf CTAN als obsolet gekennzeichnet oder geben im Hinweistext oder zumindest in der Dokumentation Hinweise auf neuere Pakete (z.B. https://ctan.org/pkg/subfigure, https://ctan.org/pkg/siunits). Bei einem Großteil an (veralteten) Paketen wird das aber nicht der Fall sein. Bisweilen ist die Entscheidung, ein bestimmtes Paket zu bevorzugen und ein anderes als veraltet zu bezeichnen, auch subjektiv.

(15 Sep, 00:52) moewe
3

Noch ein Kommentar: Es gibt manchmal mehr als eine Meinung bzgl. eines Pakets. Manchmal ist man erst im Nachhinein schlauer. Ich würde mich z.B. schwer tun, pstricks als obsolet zu bezeichnen, nur weil es TikZ gibt. Beide packages haben ihre Stärken und leider auch Schwächen, wobei m.E. keines der Pakete drastische Nachteile hat.

(16 Sep, 02:03) Murmeltier

Es gibt einige Pakete, die auf CTAN als obsolet gekennzeichnet sind: https://ctan.org/topic/obsolete. Ferner gibt es Pakete, die im Hinweistext auf CTAN oder in der Dokumentation auf neuere, bessere Alternativen hinweisen (z.B. siunits, anysize), auch diese Pakete kann man wohl guten Gewissens in die Kategorie veraltet fallen lassen (selbst wenn sie wie im Fall von siunits noch für Fehlerbehebungen gepflegt werden). Das sind die einfachen Fälle.

Daneben gibt es noch eine ganze Reihe von Paketen, die nicht offiziell als veraltet deklariert wurden, aber dennoch inzwischen als veraltet und obsolet bezeichnet werden. Die Entscheidung ist dort häufig subjektiv oder von bestimmten Erfahrungen beeinflusst (so würde ich \usepackage{ngerman} als veraltet bezeichnen und \usepackage[ngerman]{babel} empfehlen, da babel der De-facto-Standard für Lokalisierung in TeX ist und zum Beispiel csquotes und biblatex nur mit babel ordentlich zusammenarbeiten; andererseits ziehe ich etoolbox zwar ifthen vor, würde mich im Gegensatz zu anderen aber schwer tun, ifthen wirklich als obsolet zu bezeichnen).

Vielleicht muss man auch ein bisschen auf den Kontext und individuellen Sprachgebrauch achten. Je nach Situation schreibt man vielleicht "X ist veraltet und sollte durch Y ersetzt werden", obwohl man eigentlich sagen sollte "Y bietet mehr Möglichkeiten als X, ist leichter zu bedienen und wird noch weiterentwickelt, X würde ich nur noch verwenden, wenn es dafür gute Gründe (externe Zwänge, Abwärtskompatibilität, ...) gibt" oder weniger hilfreich "ich nutze immer Y statt X", manchmal ist aber vielleicht doch "X hat viele bekannte Mangel und Y nicht" gemeint.

In diversen Foren gibt es ein paar Listen mit veralteten Paketen und Alternativen. Dabei ist zu beachten, dass dort teilweise unterschiedliche Standards angelegt werden und einige Sammlungen auch schon etwas in die Jahre gekommen sind.

Ferner gibt es noch das bereits von Murmeltier in den Kommentaren erwähnte l2tabu (inzwischen auch wieder zweieinhalb Jahre alt).

Erschwerend kommt hinzu, dass es einige Pakete gibt, die zur Zeit nicht mehr gepflegt werden. Selbst wenn es bei diesen Paketen zu Zeit keine (großen) bekannten Probleme gibt, sollte man bei neuen Projekten etwas auf der Hut sein und sich nach Alternativen umsehen. Insbesondere bei komplexen Paketen kann das relevant sein, bei häufig genutzten oder sehr simplen Paketen ist die Gefahr nicht ganz so groß (im schlimmsten Fall muss das LaTeX3-Team wieder systemrelevante Pakete übernehmen).

Eine höhere offizielle Instanz als die Verlautbarungen bei CTAN oder in der Dokumentation gibt es in den meisten Fällen wohl nicht, gleichwohl haben viele Helfer in Foren einige Dinge gesehen und einen eigenen Schatz an Erfahrungen aufgebaut, der es ihnen erlaubt, bestimmte Pakete zu beurteilen. Welche Maßstäbe sie dabei anlegen, ist allerdings potentiell unterschiedlich und vielleicht nicht immer ganz klar.

Je nach Definition von "veraltet", in der wir uns bewegen, ist es also sehr einfach, herauszufinden, ob ein Paket veraltet ist (bei CTAN oder in der Dokumentation nachsehen, wenn man das Ganze sehr wörtlich nimmt) oder recht komplex (wenn man "veraltet" etwas weiter fasst). Es ist zu beachten, dass man nicht jedem x-beliebigem Typen im Internet sofort sein gesamtes Vertrauen schenken sollte und dass selbst vermeintlich recht aktuelle Beiträge auf veralteten Informationen beruhen können.

Ich würde versuchen, dass Pferd von der anderen Seite aufzuzäumen und anstatt post-hoc zu entscheiden, ob ein Paket veraltet ist, im Vorhinein Nachforschungen anzustellen, ehe ich es in meine Präambel hereinlasse. Bei jedem Paket sollte man ungefähr wissen, was es tut, wofür man es laden möchte und ob es nicht vielleicht Alternativen gibt. Dann kann man das Paket und seine Alternativen bei CTAN nachschlagen und herausfinden, ob sie als veraltet gekennzeichnet sind, wann sie zuletzt aktualisiert wurden (einen genauen Schluss lässt eine länger zurückliegende Aktualisierung aber nicht zu, wenn ein Paket schon länger nicht mehr aktualisiert wurde, hat es entweder keine Fehler, keine Nutzer oder keinen aktiven Entwickler mehr).

Wenn man Dir sagt, dass ein Paket veraltet sei und Du das auf die Schnelle mit den genannten Mitteln nicht verifizieren kannst, dann kannst Du nach den Gründen fragen. Man wird Dir sicher gerne Gründe für die Ablehnung des einen oder anderen Pakets nennen.

Permanenter link

beantwortet 17 Sep, 09:52

moewe's gravatar image

moewe
2764

bearbeitet 19 Sep, 11:19

Hier ist eine Liste von eher veralteten Paketen und Klassen sowie den empfohlenen Nachfolgern, die es ersetzen können. Das ist keine Beurteilung, es soll nur in der Paket-Auswahl helfen und im Prüfen von Dokumentpräambeln eigener Dokumente oder Fremd-Vorlagen. Leser können gern selbst anhand der Paket-Dokumentationen eine Entscheidung Kandidat versus Ersatz treffen. Immerhin hat man hier eine Liste zu den Kandidaten.

Form:

  • Veraltetes Paket: Empfohlener Nachfolger

Los gehts. Es kann gern bearbeitet und ergänzt werden (die Liste ist Community Wiki und für alle editierbar).

Ursprünglich habe ich die Liste auf meinem TeXblog zusammengestellt, später auf TeX.SX gepostet. Bitte gern weiter bearbeiten.

Permanenter link
Dieser Antwort ist "Community-Wiki" markiert.

beantwortet 17 Sep, 08:45

stefan's gravatar image

stefan ♦♦
16.4k22438

bearbeitet 21 Sep, 07:20

@Murmeltier Ich verstehe die Liste und Frage mal so: dass ein Paket "veraltet" oder "obsolet" ist, bedeutet, dass es aktuellen Empfehlungen widerspricht und insbesondere, dass es einen empfehlenswerte Alternative gibt. Im Sinne, zu sagen: "X ist veralteter Code, nimm Y oder Z". Pakete, denen aktuell ein Maintainer fehlt (kann sich ändern) oder wo ein Bug drin ist oder eine Schwierigkeit, was sich auch ändern kann, würde ich nicht jeweils als veraltet bezeichnen (ist womöglich vorübergehend). Eine Paket-Liste mit Maintainance-Status, Bugs oder bekannten Problemen könnte ziemlich dynamisch sein.

(19 Sep, 14:00) stefan ♦♦

@Murmeltier Die TeXwelt-Herangehensweise ;-) wäre: eine Frage in den Raum stellen (mit "archiv" markiert), die das Problem aufwirft, und selbst beantworten oder anderen überlassen. So dass Suchende anhand des Titels (googlen) schnell Problem und Lösung finden. Also z.B. tikzposter und ref-Fehler-Meldung (wegen center) und z.B. "Wie kann ich TikZ-Bilder innerhalb von tikzposter verwenden?" Das wären tolle Fragen mit Lösungen wie "Verwende savebox" oder externalize bzw. notfalls \includegraphics. Was wir hier sammeln und anbieten können, sind auffindbare Lösungen in deutscher Sprache.

(19 Sep, 14:04) stefan ♦♦

Ich glaube, meine Rep. ist nicht ausreichend, um die Antwort zu editieren. Würde gerne ocg, ocg-p, ocgx: ocgx2 hinzufügen.

(21 Sep, 03:53) AlexG

@AlexG Vielen Dank! Ich habe es hinzugefügt. Rep sollte auch kein Thema mehr sein, hab Deine excellente Antwort zum Lorenz-Attraktor aufgewertet (ganz normal über "Vergib Punkte" von meiner Rep übertragen). Dafür ist ja auch Rep da, um automatisch Nutzern mit der Zeit Edit-Rechte u.a. zu geben, passt also.

(21 Sep, 07:27) stefan ♦♦

O, vielen Dank, @stefan. Mit deiner Hilfe bin ich außerdem Geisterbeschwörer geworden. Muss ich heute Abend gleich einmal ausprobieren.

(21 Sep, 08:43) AlexG

Gibt es ein Bevorzugung zwischen etoolbox und xparse?

(23 Sep, 16:37) cis

@cis Du könntest auch fragen, ob es eine Bevorzugung zwischen Äpfeln und Birnen gibt. Die Pakete machen verschiedene Dinge.

(24 Sep, 01:52) Johannes

@Johannes Ein paar gleichartige Features haben sie, so zum Definieren neuer Makros. In diesem Sinne ist etwa die Frage sinnvoll, ob beim Definieren neuer Befehle etoolbox oder xparse dem Vorzug gegeben werden sollte. Insbesondere, weil etoolbox etliche Jahre nicht gewartet wurde und jetzt vmtl. nachrangig gegenüber xparse ist.

(24 Sep, 06:58) stefan ♦♦
3

@stefan etoolbox wird gewartet, die aktuelle Version ist von 2018/08/19. Und es wird von wichtigen Paketen wie beamer und biblatex verwendet.

(24 Sep, 07:59) Ulrike Fischer

@cis für die Erstellung neuer Macros ist xparse um einiges mächtiger, allerdings bietet xparse keine Möglichkeit, Befehle zu patchen. Auch toggles und bools sind zwar in etoolbox, aber nicht in xparse umgesetzt (obwohl m.M.n. die expl3 bools wesentlich mächtiger sind, wenn man es braucht). An xparse hängt auch ein riesiger Batzen Abhängigkeit dran (eben expl3), etoolbox ist da schon schlanker. Insgesamt haben die beiden Pakete eine ganz andere Zielsetzung.

(11 Okt, 15:51) Skillmon
Ergebnis 5 von 10 Alle anzeigen
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×46
×32
×4

Frage gestellt: 14 Sep, 21:25

Frage wurde angeschaut: 402 Mal

Zuletzt aktualisiert: 11 Okt, 15:53