Wie schreibe ich ein LaTeX-Paket, das nicht nur .sty- und .cls-Dateien, sondern auch einige Logos in den Formaten .pdf oder .eps bündelt?

Wie schreibe ich ein LaTeX-Paket, das nicht nur .sty- und .cls-Dateien, sondern auch einige Logos in den Formaten .pdf oder .eps bündelt?

Ich möchte ein LaTeX-Paket mit den folgenden Unterverzeichnissen erstellen:

  • tex/latex/common(eine gemeinsame .texDatei, die von beamerjedem Brief genutzt wird)
  • tex/latex/resources(viele PDF- und EPS-Dateien mit grafischen Ressourcen)
  • tex/latex/mybeamer(ein benutzerdefiniertes Beamer-Design mit 5 .styDateien)
  • tex/latex/myletter(eine .clsDatei für eine Briefvorlage)

Ich möchte diese Dateien in einem einzigen LaTeX-Paket packen, das Benutzer einfach installieren können. Ich habe über die .insund .dtxDateien gelesen und weiß, wie die .sty- und .cls-Dateien gepackt werden, aber was ist mit den zusätzlichen Grafiken – dem Ressourcenordner, der mehrere PDF- und .eps-Dateien enthält?

Antwort1

TDS-Struktur

Angenommen, Ihr LaTeX-Paket heißt foobar. Dann gemäß TDS (Eine Verzeichnisstruktur für TeX-Dateien) würden die Dateien in die folgenden Verzeichnisse verschoben:

  • TDS:tex/latex/foobar/(für TeX-Dateien: .tex, .sty, Bilder)
  • TDS:doc/latex/foobar/ (für Dokumentationsdateien)
  • TDS:source/latex/foobar/(für Quelldateien .dtx, .ins)

Weitere Unterverzeichnisse sind dir überlassen. Ich würde sie vermeiden, wenn nur wenige Dateien vorhanden sind. Wenn es viele Dateien sind, können weitere Verzeichnisebenen helfen, die Dateien zu ordnen.

Beispiel:

  • TDS:doc/latex/foobar/foobar.pdf
  • TDS:source/latex/foobar/foobar.dtx
  • TDS:source/latex/foobar/foobar.ins
  • Andere Quelldateien, die nicht in der .dtxDatei enthalten sind, können angegeben werden in:
    TDS:source/latex/foobar/oder
    TDS:source/latex/foobar/resources/
  • TDS:tex/latex/foobar/foobar.cls
  • TDS:tex/latex/foobar/foobar-common.sty(Die TeX-Datei für die Briefklassen- und Beamer-Vorlagen)
  • TDS:tex/latex/foobar/<foobar beamer file 1>,
    TDS:tex/latex/foobar/<foobar beamer file 2>,
    ...,
    TDS:tex/latex/foobar/<foobar beamer file 5>
  • TDS:tex/latex/foobar/resources/<.eps/.pdf image files>

Wenn du zusätzlich eine READMEDatei mitlieferst, dann würde ich exakt diesen Namen verwenden (AFAIK CTAN Konvention) und diese , je nach Inhalt der Datei, in den docoder Unterbaum setzen.source

Verteilungsform

Für die Distribution würde ich diese Dateien inklusive der Verzeichnisstruktur in eine .zipDatei packen foobar.tds.zip(ohne TDS:/ temxfroot). Dann ist die Installation für den Anwender recht einfach, der die Installation ganz einfach durch Entpacken durchführen kann. Installationsbeispiel für Standard-Home-Tree in Linux/TeX Live:

$ unzip foobar.tds.zip -d ~/texmf/

Falls das Paket in einem systemweiten lokalen texmfBaum installiert ist, muss die Dateinamendatenbank (unter Root) aktualisiert werden:

$ texhash

oder

$ mktexlsr

CTAN

Ein Vorschlag für das CTAN-Formular, falls Sie es dort angeben möchten:

  • CTAN:macros/latex/foobar/foobar.dtx
  • CTAN:macros/latex/foobar/foobar.ins
  • CTAN:macros/latex/foobar/foobar.pdf(Dokumentation)
  • ( CTAN:macros/latex/foobar/README)
  • CTAN:macros/latex/foobar/resources.zip(oder entpackt im Verzeichnis resources/)
  • CTAN:install/macros/latex/foobar.tds.zip

Antwort2

In der TeX-Verzeichnisstruktur (TDS) sind die Verzeichnisnamen tex/latexeine global gemeinsam genutzte Ressource. Sie sollten also nicht zu viele davon verwenden und Namen wählen, die für Ihr Paket eindeutig sind. tex/latex/resourcesUnd tex/latex/commonwären also keine guten Namen (und ich vermute, sie würden nicht akzeptiert werden, wenn Sie versuchen würden, das Paket in eine Distribution wie Texlive aufzunehmen).

beamerund letterbeide teilen sich den gleichen Eingabepfad für Tex-Dateien, sodass es nicht nötig ist, Ihre Beamer- und Letter-Dateien zu trennen.

Antwort3

Hier ist dasTeX-VerzeichnisstrukturWeg. Wählen Sie einen Namen für Ihr Paket.

  • Legen Sie TeX-Dateien, die in jedem Format verwendet werden könnten, intex/generic/bundlename
  • Legen Sie LaTeX-Dateien wie Klassen und Pakete intex/latex/bundlename
  • Fügen Sie Grafikressourcen ein intex/generic/images/bundlename
  • Legen Sie die Dokumentation beidoc/latex/bundlename
  • Fügen Sie Docstrip-Quellen einsource/latex/bundlename

Sie werden viele davon im Einsatz sehen, wenn Sie beispielsweise einen Blick in die pgfDistribution werfen. Der Installationsvorgang besteht dann nur darin, cp -Rdie Verzeichnisse in einem texmfBaum zusammenzufassen.

verwandte Informationen