Gibt es ein System zum Generieren von ODT-Dokumenten aus einer Markup-ähnlichen Sprache?

Ich möchte (na ja, bin durch meine Arbeitsumgebung gezwungen) ODT-Dokumente erstellen (eigentlich MS Word-Dokumente, aber wir können von ODT dorthin gelangen). Allerdings mag ich das WYSIWYG-Dokumenterstellungsparadigma nicht. Ich mag die richtige Kontrolle über meine Stile und die Dokumentstruktur. Ich bin ein LaTeX-Benutzer, aber obwohl LaTeX→ODT möglich ist, ist es schwierig und zerbrechlich, und ich erwarte nicht, dass die Tools, die dies tun, in absehbarer Zeit ausgereift sein werden.

Daher würde mich interessieren, ob es eine skriptähnliche Umgebung zum Generieren von ODT-Dokumenten gibt, die im Prinzip dem LaTeX-Workflow ähnelt und mit der Sie den Stil und die Formatierung von Dokumenten (z. B. passend zu einem Firmendokument) einfach steuern können Schablone)?

Idealerweise unterstützt das System Folgendes:

  • Schön formatierte Gleichungen schreiben
  • Dokumentstruktur fest im Griff
  • Steuerung des Stils des Dokuments, wie Schriftarten, Formatierung von Überschriften auf verschiedenen Ebenen, Kopf- und Fußzeilenabschnitte von Seiten usw., also alles, was ein normales Textverarbeitungsdokument ausmacht
  • Einfügen von Abbildungen und Bildern
Sie können Pandoc versuchen ( johnmacfarlane.net/pandoc/index.html )
Mir ist Pandoc bekannt, aber tut es das, was ich verlange?
Sie fragen nach DOCX, würden aber eine Problemumgehung über ODT akzeptieren. So kann Pandoc ODT erstellen – aber Pandoc kann auch direkt DOCX aus Markdown-Quelltext erstellen, und die Ausgabe kann direkt mit denselben Stilen wie eine --reference-docx=mydocxDatei formatiert werden, auf die Sie in der Befehlszeile verweisen. Das ist ungefähr das Beste, was Sie jemals bekommen können - bevor Sie auf "DOCX-vom-Diktat" umschalten!

Antworten (2)

pandocwurde bereits erwähnt ... es ist auch mein Lieblingswerkzeug für diese Art von Aufgabe.

Aber in der vorherigen Antwort fehlte die folgende wichtige Tatsache über Pandoc:

  • Befehlszeilenparameter: zum Beispiel:--reference-odt=...
    --reference-odt=myref.odt

Pandoc liest die in definierten Stile myref.odtund wendet sie auf das generierte ODT-Ausgabedokument an.

Es funktioniert möglicherweise nicht perfekt oder nicht gut für sehr, sehr, sehr seltsame benutzerdefinierte Unternehmensstile. Hilft jedoch sehr, wenn es darum geht, auf einfache Weise Stile zu erhalten, die sich von den Standardeinstellungen in Ihre ODT-Ausgabedokumente unterscheiden.

Das OP schrieb in einem Kommentar: „Ich kenne Pandoc, aber tut es, was ich verlange?“

Ja tut es:

  • "Schön formatierte Gleichungen schreiben?"
    Ja, fügen Sie einfach die LaTeX-Gleichung in die Markdown-Quellen zwischen $den Zeichen ohne Leerzeichen ein, wie folgt:
    $\cos (2\theta) = \cos^2 \theta - \sin^2 \theta$.

  • "Dokumentenstruktur fest im Griff?"
    Ja, das tut es. (Nun, ich habe nicht ganz verstanden, was genau du damit meinst, aber ich werde es trotzdem bestätigen! :)

  • "Kontrolle des Stils des Dokuments...?"
    Ja, siehe obiger --reference-odt=myref.odtParameter oben erklärt.

  • "Zahlen und Bilder einfügen?"
    Ja! -- Fügen Sie ein Bild wie dieses ein (in einer eigenen Zeile, getrennt durch Leerzeilen):

    ![image description](./path/to/image.png)
    
Okay, ja, aber erfordert das effektive Erstellen eines Stils nicht, dass Sie das ODT-Dateiformat bereits verstehen? Ich habe keine Zeit, das zu lernen, ich möchte, dass solche Dinge einfach in meiner Eingabedatei angegeben werden. Mit fester Kontrolle der Dokumentstruktur meine ich, dass die Abschnittsebenen des Dokuments fest durch Befehle oder ähnliches gesteuert werden, und nicht durch „Stil“, wie sie es beispielsweise in LibreOffice sind. Markdown und LaTeX ermöglichen eine feste Kontrolle über die Dokumentstruktur, also ja, Pandoc tut dies bis zu einem gewissen Grad.
Nein, das Erstellen eines Stildokuments zur Verwendung mit dem --reference-odtParameter unterscheidet sich vom Erstellen einer neuen Vorlage für die ODT-Ausgabe. Ein Stildokument erfordert lediglich, dass Sie die Benutzeroberfläche von LibreOffice oder OpenOffice verstehen, wissen, wie Dokument-, Absatz- und Zeichenstile im LO/OO-Dialog "Stile und Formatierung" erstellt, bearbeitet und geändert werden, und das Dokument speichern ...
Abschnittsebenen in Markdown werden durch # am Zeilenanfang für Überschrift erster Ordnung , ## für Überschrift zweiter Ordnung usw. gesteuert. Pandoc übersetzt das in den Stil Heading 1, Heading 2, usw. Dies ist nicht nur ein Stil in LibreOffice, sondern auch eine Struktur Element!
„Das ist nicht nur ein Stil in LibreOffice, das ist auch ein Strukturelement!“, ja, und das mag ich an LibreOffice/Word etc. nicht, ich möchte, dass der Stil so weit wie möglich von Inhalt und Struktur getrennt wird! Wenn ich also richtig verstehe (siehe das docx-Beispiel auf der Pandoc-Website), --reference-odtwäre das nur ein minimales Beispieldokument mit definierten Stilen Heading 1usw. Heading 2Gibt es irgendwo eine Referenz dafür, welche Stile genau definiert werden können?
@crobar: Auf jeden Fall ist dies nicht der Ort, um ein umfassendes Tutorial zur Verwendung von Pandoc, Markdown und / --reference-odt=...oder --reference-docx=...für die ODT- und DOCX-Ausgabe zu veröffentlichen. Es ist jedoch erstaunlich, wie viel individuelles und präzises Styling mit der ODT-Ausgabe von Pandoc (und jetzt noch besser mit DOCX) von Simple Markdown möglich ist. Stellen Sie es sich ähnlich wie HTML/CSS vor. Dort gibt es auch eine „Trennung von Inhalt, Struktur und Stil“. Aber ist es eine saubere Trennung? Welches System/Format hat eine wirklich saubere Trennung? Kannst du mir eins sagen?
@crobar: Ich war ziemlich erfolgreich darin, meine eigenen Stile zu definieren und anzuwenden, sogar mit eigenen, neu erfundenen Stilnamen, indem ich verschiedene Tricks anwandte. Eine davon ist, die Einstellung "nächster Stil" für jeden Standardstil auszunutzen ...
Sie haben Recht, dass es kein System gibt, das Stil und Inhalt vollständig voneinander trennt. Mein Ziel ist es, dass zumindest die Abschnitte, Querverweise, Zitate und Nummerierungen automatisch und auf eine von mir klar vorgegebene Weise gehandhabt werden. Ich nehme an, was ich wirklich möchte, ist, dass Stil und Struktur hauptsächlich durch Klartextbefehle angegeben werden, die ich sehen und verstehen kann, anstatt durch Klicken auf Schaltflächen, visuelle Unsicherheit.

Ich denke, es wäre eine gute Idee, einen Blick auf die Verwendung von Markdown oder ReStructuredText + Pandoc zu werfen. Sie können markdown/rst genau wie bei SO verwenden und es dann in eine Reihe von Dokumentformaten konvertieren, einschließlich ODT und MS .docx, während der erweiterte Markdown sehr flexibel und leistungsfähig ist.

Pandoc Eingabe- und Ausgabeformate:

Input formats:  docbook, haddock, html, json, latex, markdown, markdown_github,
                markdown_mmd, markdown_phpextra, markdown_strict, mediawiki,
                native, opml, org, rst, textile
Output formats: asciidoc, beamer, context, docbook, docx, dzslides, epub,
                epub3, fb2, html, html5, icml, json, latex, man, markdown,
                markdown_github, markdown_mmd, markdown_phpextra,
                markdown_strict, mediawiki, native, odt, opendocument, 
                opml,org, pdf*, plain, revealjs, rst, rtf, s5, slideous, 
                slidy, texinfo, textile
Wenn Sie sich Pandoc angesehen haben, scheint es nicht sehr einfach zu sein, Ihren Dokumentstil zu ändern, um ihn an eine Unternehmensvorlage anzupassen. Es scheint, dass Sie das ODT-Dateiformat gut verstehen und eine Vorlage in diesem Format erstellen müssen. Dies ist eine ernsthafte Einschränkung, da ich das ODT-Dateiformat nicht kenne und keine Zeit habe, es zu lernen.
@crobar: Hast du den Befehlszeilenparameter gesehen --reference-odt=myref.odt? Pandoc liest die in definierten Stile myref.odtund wendet sie auf das generierte ODT-Ausgabedokument an. Funktioniert möglicherweise nicht perfekt oder für sehr, sehr, sehr seltsame benutzerdefinierte Firmenstile, hilft aber sehr!
@crobar: Geben Sie mir Ihre Unternehmensvorlage mit den Stilen, die Sie benötigen, zahlen Sie mir meinen Standardpreis (ich bin Freiberufler), und ich gebe Ihnen eine Pandoc-Befehlszeile, eine Pandoc-ODT-Vorlage und eine Pandoc-Referenz-ODT zurück, die Sie haben Kann benutzen! Handeln? :-)
@crobar: Da Sie (endlich) in Word-Dokumente konvertieren möchten, kann ich es auch für Word tun - direkt verwendbar, um Markdown in DOCX zu konvertieren.