LaTeX-Klasse für DSA-Abenteuer, Charakterbögen, etc

  • Die Zwölfe zum Gruße,

    ich habe eine LaTeX-Klasse gebastelt, die verschiedene Makros und Umgebungen für die Erstellung von hübschen DSA-Dokumenten zur Verfügung stellt. Sie verwendet die Grafiken des offiziellen Fanpakets für Seitenränder, grau hinterlegte Kästen im Dokumente usw.

    Sie eignet sich auch dazu, Charakterbögen und ähnliches zu erstellen. Besonders praktisch ist, dass das resultierende PDF Eingabefelder für Eigenschaftenwerte etc. haben kann. Das seitenfüllende Hintergrundbild der Original-Charakterbögen ist leider nicht Bestandteil des Fanpakets, wer jedoch die Mühe auf sich nimmt, das Bild aus dem Kampfbogen-PDF, das bei Ulisses heruntergeladen werden kann, zu extrahieren, kann mit diesem sehr originalgetreue Charakterbögen erstellen - die LaTeX-Klasse benutzt automatisch das Hintergrundbild, wenn es verfügbar ist.

    Um keine rechtlichen Probleme zu bekommen, stelle ich nur die Version ohne Original-Hintergrundbild - nur mit den Grafiken aus dem Fanpaket - zur Verfügung. Einen Eindruck, was mit der Klasse möglich ist, bietet die Dokumentation. Ich habe damit auch bereits einen Charakterbogen für das Vertrautentier von Hexen und Geoden erstellt (sieht ohne ordentlichen Hintergrund leider nicht so schön aus; ich empfehle jedem, der es verwenden will, die Anleitung in der Dokumentation zu befolgen, und den Charakterbogen mit dem Original-Hintergrund zu erstellen).

    Das Projekt liegt auf Github. Ich habe vor, nach Bedarf weitere Dokumente damit zu erstellen. Bin für Vorschläge offen.

    It's hard to light a candle, easy to curse the dark instead.
    •••
    The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it. -- Terry Pratchett

  • @flyx

    Danke für die Projektvorstellung. Du kannst gerne (auch in gewissen Abständen) einen Github-Abzug hier ins Download-Archiv packen - mit einem kurzen Titel, Kurzbeschreibung, Langbeschreibung etc.. Das System ermöglicht es auch, Versionierung durchzuführen, so dass Du auch Zwischenstände einstellen kannst. Vorteil: du kannst auch direktes Community-Feedback am Download bekommen, wenn jemand z.B. nicht gerade über den Thread stolpert.

  • @orkenspalter

    Danke für den Hinweis, ich werd das tun, sobald ich eine betriebssystemübergreifende Installationsmethode gebaut hab. Momentan ist das Setup vor allem auf Windows noch ein wenig holprig.

    It's hard to light a candle, easy to curse the dark instead.
    •••
    The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it. -- Terry Pratchett

  • Mach auf jeden Fall damit weiter, bisher ist das echt großartig!
    Willkommen im Forum btw, toller Einstand! =)

    *IIRC oder IMO je nach Kontext; ich beziehe mich da auf pers./subj. Erfahrung
    "The fatal flaw in every plan is the assumption that you know more than your enemy."

  • Danke für den Hinweis, ich werd das tun, sobald ich eine betriebssystemübergreifende Installationsmethode gebaut hab. Momentan ist das Setup vor allem auf Windows noch ein wenig holprig.


    Ist es das? Wenn ich dein GitHub richtig überblicke, gibt es nur eine relevante Datei: Die dsa.cls.

    Da es nur eine einzige Datei ist, muss man sich überlegen, ob es sich überhaupt lohnt, sie zu installieren. Man kann sie auch einfach in das selbe Verzeichnis legen, in der die *.tex-file liegt und mit

    Code
    \usepackage{dsa}


    einbinden. Ansonsten wirst du wohl deine Probleme dabei haben, eine systemübergreifende Installationsroutine zu basteln. Allein schon, weil es für Tex mehrere mögliche Programme pro Betriebssystem gibt (z. B. Miktex und Texlive für Windows).

    Unter Miktex muss man es in die Roots einbinden und dann funktioniert es. Ein Konsolenbefehl ist mir dafür nicht bekannt. Alle Anleitungen, die ich dafür bisher gefunden und genutzt habe, nutzen die GUI.


  • Ist es das? Wenn ich dein GitHub richtig überblicke, gibt es nur eine relevante Datei: Die dsa.cls.

    Da es nur eine einzige Datei ist, muss man sich überlegen, ob es sich überhaupt lohnt, sie zu installieren. Man kann sie auch einfach in das selbe Verzeichnis legen, in der die *.tex-file liegt und mit

    Code
    \usepackage{dsa}


    einbinden. Ansonsten wirst du wohl deine Probleme dabei haben, eine systemübergreifende Installationsroutine zu basteln. Allein schon, weil es für Tex mehrere mögliche Programme pro Betriebssystem gibt (z. B. Miktex und Texlive für Windows).

    Jein. Idealerweise macht die Installationsroutine das, was im Moment die Makefile macht: Die Grafiken des Fanpakets herunterladen und umbenennen. Das funktioniert auf Windows nicht, weil make dort nicht verfügbar ist. Was Miktex und Texlive angeht: Soweit ich weiß, enthalten beide im Wesentlichen dieselben Programme, mit anderer Auswahl im Detail (habs mir aber nicht wirklich angeschaut, lasse mich gern korrigieren). Mein aktueller Plan ist, LuaTeX zu verwenden, um den Download per Lua-Scripting durchzuführen. Bin mir nicht sicher, ob das geht, aber wenn, dann funktioniert es überall, da LuaTeX (hoffentlich) bei allen Distributionen dabei ist.

    It's hard to light a candle, easy to curse the dark instead.
    •••
    The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it. -- Terry Pratchett

  • Darf man das Fanpaket selbst (in veränderter Form) zum Download anbieten? Das wäre dann nämlich die einfachste Variante, alles als ein Paket herunterladen zu können, in einen Ordner zu verschieben und dort in tex einzubinden. Als Übergangslösung, bis es via Lua-Scripting funktioniert.

    Was den Unterschied zwischen Miktex und Texlive angeht: Ich weiß, dass sie unterschiedliche Befehle verwenden, um neue Pakete einzubinden. Ansonsten nutzen sie schon die gleichen Pakete als Basis. Wäre ja schlimm, wenn man für jede Tex-Distribution eine eigene Klasse schreiben müsste.

    LuaTeX klingt nach einer guten Idee, allerdings befindet sich das ja aktuell noch in der Entwicklung. Auch sei angemerkt, dass Ubuntu 12.04 LTS lediglich Texlive 2009 eingebunden hat (LuaTeX ist seit 2008 eingebunden - aber halt in einer entsprechend frühen Version). Allerdings weiß ich nicht, wie sehr sich da inzwischen etwas geändert hat. Das solltest du im Hinterkopf haben, wenn du auf LuaTeX setzt. Bei Miktex ist LuaTeX jedenfalls dabei, auch wenn ich es bisher noch nicht genutzt habe.

  • Ich hab mal ne Mail an Ulisses geschrieben und nachgefragt, ob ich das Fanpaket zum Download anbieten darf. Mal sehen, was die sagen.

    Danke für den Hinweis bzgl. Ubuntu, das war mir so nicht klar, dass die da noch Versionen mit zwei Kilometern Bart in den Repos haben…

    It's hard to light a candle, easy to curse the dark instead.
    •••
    The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it. -- Terry Pratchett

  • Ulissses hat noch nicht geantwortet, ist aber auch nicht so wichtig. Ich habe jetzt Version 0.2 fertiggestellt, die ein paar kleine Fehler behebt, aber die wesentliche Neuerung ist, dass sowohl für Windows wie auch für OSX/Linux ein Script beiliegt, das automatisch das Fanpaket von Ulisses herunterlädt und die Dateien entsprechend umbenennt, damit sie aus LaTeX heraus nutzbar sind. Die Idee mit LuaTeX hab ich verworfen, das war mir zu hässliches Hacking.

    Die Dokumentation empfiehlt jetzt auch, die LaTeX-Klasse direkt zum Dokument zu legen - zusammen mit dem heruntergeladenen Fanpaket. Außerdem habe ich eine README.html hinzugefügt, die beschreibt, wie man auf den verschiedenen Betriebssystemen den Original-Hintergrund für Charakterbögen aus den PDFs von Ulisses extrahiert und für seine eigenen Charakterbögen verwendet. Den Download gibts drüben im Downloadbereich, sobald das jemand freigeschaltet hat ;). Das Ding hat jetzt auch tatsächlich einen Build-Prozess, das heißt, das Release ist auch wirklich ein Release und nicht nur ein Klon des GitHub-Repos.

    Also ums kurz zu machen: Nehmt das Release und gebt Feedback, was euch daran gefällt / nicht gefällt. Wer keine Angst vor make und Python hat, kann auch ins Repo schauen, genauere Infos stehen in der README.html und in der beiliegenden Dokumentation der Klasse.

    It's hard to light a candle, easy to curse the dark instead.
    •••
    The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it. -- Terry Pratchett

  • Sehr schön! Auf mich kannst du auch zählen, flyx - ich werd, sobald es zeitlich bei mir geht, auf deiner Basis mit einer Vorlage für ein Heldentagebuch anfangen - ggf. mit Importfunktion aus dem Export des gleichnamigen Heldensoftwareplugins - und mal gucken ob ich nen Dokument für einen Heldenhintergrundgeschichte zusammenbastle, auf Basis der "20 Fragen an den Helden" und diverser anderen Stichpunkte. Das sind nämlich zwei Sachen, die ich so auch noch nirgends sinnvoll gesehen habe.

    Bis Samstag,
    Dorian ;)

    „Wer Monster bekämpft, sollte bei seinem Handeln aufpassen, dass er nicht selbst zum Monster wird.
    Wenn Du lange genug in den Abgrund blickst, so blickt der Abgrund auch in Dich!“
    (Friedrich Nietzsche)

  • Hm, hast du mal was mit dem Heldensoftwareexport gemacht? Ich hab gesehen, dass verschiedene PDFs im Downloadbereich „kompatibel“ mit der Heldensoftware sind - lassen die sich automatisch aus der Software heraus befüllen? Ich glaub, ich muss mich da mal schlau machen.

    <- hat bisher immer alles von Hand gemacht

    It's hard to light a candle, easy to curse the dark instead.
    •••
    The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it. -- Terry Pratchett

  • Ja, es gibt ein Exportmodul, mit dem man pdf-Dateien (z. B. die Originalheldendokumente) automatisch mit den Werten befüllen kann. Funktioniert eigentlich ganz gut. Es ist auch möglich, eigene Vorlagen zu entwickeln und im Export zu nutzen - habe ich mich aber noch nicht mit beschäftigt, da es bisher nicht nötig gewesen ist.

  • Ja, es gibt ein Exportmodul, mit dem man pdf-Dateien (z. B. die Originalheldendokumente) automatisch mit den Werten befüllen kann. Funktioniert eigentlich ganz gut. Es ist auch möglich, eigene Vorlagen zu entwickeln und im Export zu nutzen - habe ich mich aber noch nicht mit beschäftigt, da es bisher nicht nötig gewesen ist.

    Ich meinte in dem Fall eigentlich die Exportfunktion des Heldentagebuchplugins, die relativ simples XML erzeugt:

    ..und das dann per Skript in eine gefällige LaTeX-Datei umgewandelt werden könnte.

    Aber so ne richtige Integration in die Heldensoftware hätte natürlich auch was, gerade auch für z.B. das Vertrautentier.

    Aber mit Java kannst mich jagen, das weißt ja bereits :D


    Grüße
    "Dorian"

    „Wer Monster bekämpft, sollte bei seinem Handeln aufpassen, dass er nicht selbst zum Monster wird.
    Wenn Du lange genug in den Abgrund blickst, so blickt der Abgrund auch in Dich!“
    (Friedrich Nietzsche)

  • Was das Tagebuch angeht: Ja, geht relativ problemlos. Man braucht nur ein LaTeX-Environment für Tagebucheinträge und ein XSLT-Skript zum Einlesen und Umwandeln der XML-Daten. Ich kann das mal die nächsten Tage prototypen.

    Für das Vertrautendokument muss ich mir die Schnittstelle anschauen, mal sehen, wann ich dazu komm.

    It's hard to light a candle, easy to curse the dark instead.
    •••
    The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it. -- Terry Pratchett

  • So, bin nun auch mal dazu gekommen, das ganze zu installieren. Kannst du einen anderen Weg finden, die Dateien herunterzuladen etc. statt mit PowerShell?

    Grund ist folgender: Ein "Mit PowerShell ausführen" (deutsche Version beim Rechtsklick) führt bei mir zu einem schwarzen Fenster, in dem nichts weiter passiert und das sich wieder schließt (Windows 7). Ich musste die PowerShell manuell mit Administratorrechten starten und vorerst die Execution-Policy ändern, bevor ich das Script dann von der Powershell aus erfolgreich aufrufen durfte.

    EDIT:
    Der Befehl für pdfimages ist nicht vollständig in der Readme angegeben (Zumal pdfimages mir unter Windows immer abstürzt und ich zu Linux wechseln musste). Korrekt wäre

    Code
    pdfimages -f 2 -l 2 Wege-des-Schwerts_Handout_fee3.pdf wallpaper


    Wobei die Optionen -f 2 und -l 2 optional sind und nur dazu dienen, exakt das benötigte Bild zu erzeugen.

    Einmal editiert, zuletzt von Sorcerer (29. April 2014 um 20:59)

  • @flyx Wenn ich mit der dsa-Klasse erzeugte pdf-Dateien öffne und anschließend wieder schließen will, werde ich gefragt, ob ich die Änderungen an dem Dokument vor dem Schließen speichern möchte. Allerdings habe ich keine Änderungen gemacht, außer die Datei zu lesen. Meine Dokumente haben nicht einmal Formularfelder. Die Meldung erscheint auch, wenn ich sie direkt nach dem Öffnen schließe.
    => Irgendetwas an der dsa-Klasse / dem Kompilieren mit XeLaTeX sorgt dafür, dass diese Meldung kommt, denn zuvor war das nicht der Fall. Eine Idee, woran es liegen könnte? Tritt mit dem aktuellen Adobe Reader unter Windows 7 auf, mit dem Foxitreader passiert das nicht.

  • Danke für die Hinweise, Sorcerer. Was den Adobe Reader angeht, naja, der ist ja in der kostenlosen Version eh beschränkt, was Formulare in PDFs angeht. Soweit ich weiß, kann man damit geänderte Formulare nicht speichern, insofern versteh ich eh nicht ,warum Leute das Ding benutzen. Foxit und PDF-XChange sind auf Windows besser, solange die kein Problem mit der Datei haben, seh ich das Problem beim Adobe Reader.

    Mit der Powershell kenn ich mich ehrlich gesagt so gut wie nicht aus. Hier bräuchte ich einen Windows-Poweruser, der sich des Problems annimmt, ich weiß nicht wirklich, wie ich das besser hinkriege. Die offensichtliche Alternative wäre, Cygwin zu benutzen, aber das ist für den Standard-User ja auch schon erheblich Aufwand. Ein einfaches batch-Script kann keine Dateien herunterladen, weil es wget und Konsorten auf Windows nicht gibt. Ich könnte das Fanpaket mit fertig umbenannten Dateien bundlen, aber genau das wollte ich eigentlich vermeiden. Werd ich wohl nochmal darüber nachdenken.

    Die Sache mit pdfimages schau ich mal an, wenn ich dazukomme.

    It's hard to light a candle, easy to curse the dark instead.
    •••
    The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it. -- Terry Pratchett