Plattformübergreifender Paketmanager für Pakete, die *nicht* auf CTAN sind

Plattformübergreifender Paketmanager für Pakete, die *nicht* auf CTAN sind

Ich möchte das Rad nicht neu erfinden. Vielleicht können Sie mir also helfen, ein Tool zu finden, das meinen Anforderungen entspricht.

Hintergrund

Soweit ich weiß, dauert es eine Weile, bis ein LaTeX-Paket auf CTAN verfügbar ist. Und manche Leute (mich eingeschlossen) entwickeln Pakete auf Github usw. Daher wäre es schön, ein Tool (wie apt-getoder tmgr) zu haben, mit dem man LaTeX-Pakete außerhalb von CTAN verwalten kann.

Anforderungen

  • PlattformübergreifendDas Tool sollte auf allen gängigen Betriebssystemen laufen und mit TeXLive und MiKTeX kompatibel sein.
  • Github-UnterstützungLaden Sie LaTeX-Pakete von Diensten wie Github / Sourceforge / Google Code herunter und aktualisieren Sie sie.
  • BefehlszeilenschnittstelleEs sollte Möglichkeiten geben,aktualisierenalle installierten Pakete oderInstallierenein Paket von einer bestimmten URL

Antwort1

Das größte Problem bei der Erstellung eines solchen Managers besteht in Folgendem:So konvertieren Sie beliebige Layouts (wie von den Autoren erstellt) automatisch in das TDS-Layout (TeX Directory Standard).

Es gibt eine Teillösung, die wir beim Ziehen von CTAN in TeX Live verwenden. Dabei handelt es sich um ein Skript namens, ctan2tdsdas viel über viele verschiedene Pakete weiß und weiß, wie man sie in das TDS-Layout konvertiert. Es hat sogar einen automatischen Modus, wenn nichts Besonderes angegeben wird. Dieser automatische Modus funktioniert recht gut für einfache Pakete, aber nicht für leicht komplizierte Pakete.

Nun zum Super-Tlmgr: Es müssen mehrere Probleme überwunden werden:

  • Einbindung/Erweiterung von ctan2tds: das ist wahrscheinlich der einfachste Teil
  • Bringen Sie dem Super-Tlmgr bei, wie auf verschiedene Quellen zugegriffen wird (Git, SVN, Zip, Tar.gz, Flatfiles, …)
  • Machen Sie es plattformunabhängig (viel Glück! Ich weiß, wie schwierig das unter Windows ist).

Allerdings ist es nicht unmöglich. Ich stelle mir eine tlmgr-Erweiterung vor, die die ctan2tds-Codebasis und zusätzlich die Benutzermodus-Patches enthält, sodass man in beliebige Bäume installieren kann. Der Super-tlmgr würde das Paket von einer beliebigen Quelle herunterladen, versuchen, den ctan2tds-Code darin auszuführen, es in einen temporären TDS-Ordner legen und dem Benutzer das Ergebnis präsentieren und ihm anbieten, es zu installieren oder zu löschen.

Natürlich könnten Versionsprüfungen, Upgrades usw. in diesem Fall problematisch sein.

Letzte Sache: Ich glaube nicht, dassICHwerde jemals Zeit haben, daran zu arbeiten. Und da ist noch etwas, nämlich dass der ctan2tds-Code überarbeitet und rationalisiert werden muss ...

verwandte Informationen