Ich habe heute Morgen eine Idee und möchteAktieund zu wissen, ob es jemand schon irgendwo entwickelt hat!
Eine Mozilla-Gruppe entwickelt derzeit eine JavaScript-Anwendung, die jeden PDF-Code in HTML5 umwandeln kann, sodass Sie kein Plug-In für externe PDF-Reader (Adobe, Evince, Xpdf usw.) benötigen. Derzeit handelt es sich um eine Erweiterung, die aber in Zukunft möglicherweise in den Browser-Kernel aufgenommen wird.https://github.com/mozilla/pdf.js.
Damit und mit einem Online-Texteditor (codeMirror) laufen einige meiner AnwendungenPDFlatexauf der Serverseite ... Bereitstellung einiger (La)TeX-Online-Funktionen. Das ist üblich.
Wie wäre es, wenn dieselbe Art von JavaScript (La)TeX-Code direkt analysieren und natürlich ein druckfertiges PDF mit Seitenausrichtung auf Ihrem Bildschirm rendern könnte? Für den Endbenutzer steht ein PDF-Webbrowser zur Verfügung, aber er hat den (LaTeX-)Code, wenn er den Quellcode anzeigen möchte. Der endgültige HTML5-Code ist außer zum Debuggen nicht wirklich sichtbar und ähnelt dem Assemblercode in der klassischen C-Entwicklung.
Dies würde den Zugriff auf den (LaTeX-)Quellcode jeder wissenschaftlichen Arbeit ermöglichen ... anstatt eine mathematische Formel neu zu erfinden, und wenn ich mich nicht irre,Das ist die Idee, Knuthhatte vor einigen Jahrzehnten beim Erstellen von TeX. Die Leute sollten (La)TeX-Code teilen, nicht DVI-, PS- oder PDF-Code. Der Client-Browser (Firefox, Chrome, Opera, Safari und andere) solltePDFlatexvor Ort verarbeiten!
Lassen Sie mich meine Anforderungen anders erklären;
Ich arbeite seit 20 Jahren in der Branche und verwende TeX und LaTeX an der Universität, wie viele von Ihnen, nehme ich an. Wenn wir uns unsere wirklichen Hauptanforderungen an Dokumentationssysteme ansehen, denke ich, dass die Branche, zumindest die kritischen eingebetteten Systeme, für die ich arbeite, folgende Anforderungen hat:
Ein programmierbares Dokumentensystem, mit dem Sie Kundenanforderungen in informellen englischen Aussagen verarbeiten können, um viele Dinge wie die Rückverfolgbarkeit von Anforderungen, Designdokumentation, Testsequenzen usw. abzuleiten und zu automatisieren.
Eine sehr schöne/professionelle Darstellung, perfekte Grafiken, Tabellen, Diagramme ...
Versicherung, dass es sich bei diesem Dokument um eine solche Version handelt und der Inhalt sich nicht ändert. Das Web bietet keine „digitale Signatur/Zusammenfassung“, die auf dem Ausdruck sichtbar ist. Das beste „Permalink“- und „Perma-Content“-System ist das PDF-Format, und deshalb sind offizielle Dokumente PDF (leider ist dies kein optimiertes Format, wird aber überall verwendet, wo Sie statische Dokumente benötigen).
Es ist bekannt, dass aus LaTeX erstellte PDF-Dokumente diese Anforderungen tatsächlich besser erfüllen als MS Word oder andere LibreOffice-Anwendungen, wenn in der Branche nur letztere verwendet werden.
Was diesen Ansatz ändern könnte, ist die Ankunft des „Cloud Computing“, nicht an sich eine revolutionäre Idee, sondern die Tatsache, dass man niewird heruntergeladenDateien.
Die jsPDF-Erweiterung von Mozilla und der in Chrome eingebettete PDF-Reader machen den ersten Schritt und zeigen, dass PDFs wirklich wie andere HTML-Seiten sind (Google findet sie auch), und das ist sehr wichtig für die Industrie, die diese statischen (Permalink/Perma-Content) Dokumente benötigt.
Da PDFs in bester Qualität aus LaTeX/TikZ-Quellen stammen, bietet sich jetzt die Möglichkeit, der Branche ein wirklich effizientes Dokumentensystem in der Cloud bereitzustellen.
Aber wenn Sie (TeX-Experten) an dieser oder jener winzigen erweiterten Funktion für eine Variante von TeX streiten, werden wir keine Chance haben, ein Web-LaTeX zu sehen, und, was noch wichtiger ist, keine Chance, LateX eines Tages in der Industrie eingesetzt zu sehen.
Sie haben vielleicht Recht, wenn Sie sagen, dass dies aufgrund der Komplexität unmöglich ist. Ich hatte vor zwei Jahren genau den gleichen Gedanken bezüglich eines JavaScript-PDF-Readers und es scheint jetzt, dass das Ergebnis im Vergleich zum nativen Adobe Reader ziemlich gut ist.
Zu JavaScript: Ich hasse diese Sprache, aber sie ist die einzige, die clientseitig unterstützt wird.
Antwort1
Ich möchte Ihnen den Spaß nicht verderben, aber es gibt einige Dinge zu bedenken.
LaTeX ist lediglich ein Makroformat/-paket für die Makrosprache TeX. Es gibt jedoch viele TeX-Compiler:
- TeX
- TeX mit e-TeX
- pdfTeX
- XeTeX
- LuaTeX
- VTeX
- viele andere …
Eine LaTeX-Datei kann von einem bestimmten Compiler abhängig sein, da sie Funktionen des Compilers nutzt, die von anderen Compilern nicht bereitgestellt werden.
Ich kenne keine JavaScript-Version von TeX. Sogar die Projekte, die Java ausprobiert haben, sind mehr oder weniger gescheitert (NTS, ExTeX).
Zum Kompilieren der Datei sind möglicherweise noch weitere Programme erforderlich:
- Indexgenerierung: Makeindex, Xindy
- Bibliographie: bibtex, bibtex8, biber, …
- Es gibt eine Shell-Escape-Funktion, die den Aufruf externer Programme ermöglicht.
- …
In einer LaTeX-Datei steht nicht, wie sie kompiliert werden soll, welche Programme in welcher Reihenfolge benötigt werden, welche Argumente, wie oft, …
Eine „LaTeX-Datei“ kann in einer Masterdatei organisiert werden, die andere Dateien, externe Bilder usw. enthält.
Das Kompilieren von LaTeX-Dateien erfordert normalerweise die Möglichkeit, Hilfsdateien zu schreiben und zu lesen.
Normalerweise benötigt eine LaTeX-Datei andere Pakete, Dateien und Schriftarten. Daher benötigen Sie mehr oder weniger eine ganze TeX-Distribution mit ihren (täglichen) Updates.
…