(La)TeX Web ブラウザ

(La)TeX Web ブラウザ

今朝、あるアイデアが浮かんだので共有そして、誰かがすでにどこかでそれを開発しているかどうかを知ることです!

Mozilla グループは現在、あらゆる PDF コードを HTML5 に変換できる JavaScript アプリケーションを構築しています。そのため、外部の PDF リーダー (Adobe、Evince、Xpdf など) へのプラグインは必要ありません。現在は拡張機能ですが、将来的にはブラウザー カーネルに組み込まれる可能性があります。https://github.com/mozilla/pdf.js

それとオンラインテキストエディタ(codeMirror)を使用して、私のいくつかのアプリケーションが動作していますPDFラテックスサーバー側では、いくつかの (La)TeX オンライン機能を提供します。これは一般的です。

同じ種類の JavaScript で (La)TeX コードを直接解析し、もちろん印刷可能な PDF をレンダリングして画面にページを向けるというのはどうでしょうか。エンド ユーザーには PDF Web ブラウザーがありますが、ソース コードの表示を要求すると (LaTeX) コードが表示されます。最終的な HTML5 コードはデバッグ時以外は実際には表示されず、従来の C 開発のアセンブリ コードのようになります。

これにより、あらゆる科学論文の(LaTeX)ソースコードへのアクセスが可能になります...数学の式を再発明するのではなく、私が間違っていなければ、これがクヌースの考えです数十年前にTeXを構築していたときのように。人々はDVI、PS、PDFコードではなく、(La)TeXコードを共有すべきです。クライアントブラウザ(Firefox、Chrome、Opera、Safariなど)は、PDFラテックスローカルで処理します。


私の要件を別の方法で説明しましょう。

私は業界で 20 年間働いており、皆さんと同じように大学では TeX と LaTeX を使用していました。ドキュメント システムにおける実際の主な要件を見ると、業界、少なくとも私が働いている重要な組み込みシステムでは次のものが必要であると思います。

  • プログラム可能なドキュメント システム。非公式の英語のステートメント内で顧客の要件を処理し、要件のトレーサビリティ、設計ドキュメント、テスト シーケンスなど、さまざまなものを導き出して自動化できます。

  • 非常に素晴らしくプロフェッショナルなレンダリング、完璧なグラフ、表、図...

  • そのような文書がそのバージョンであり、内容が変更されないことを保証します。Web では、印刷時に見える「デジタル署名/ダイジェスト」は提供されません。最適な「パーマリンク」、「パーマコンテンツ」システムは PDF 形式であり、これが公式文書が PDF である理由です (残念ながら、これは最適化されていない形式ですが、静的な文書が必要なすべての場所で使用されています)。

業界で使用されている MS Word や他の LibreOffice に比べ、LaTeX から作成された PDF 文書の方がこれらの要件をはるかによく満たしていることはよく知られています。

このアプローチを変える可能性があるのは、「クラウドコンピューティング」の登場です。それ自体は革命的なアイデアではありませんが、ダウンロード中ファイル。

Mozilla の jsPDF 拡張機能と Chrome 組み込み PDF リーダーは、PDF が他の HTML ページとまったく同じであることを示す第一歩を踏み出しました (Google もそれを検出しています)。これは、静的 (パーマリンク/パーマコンテンツ) ドキュメントを必要とする業界にとって非常に重要です。

最高品質の PDF は LaTeX/TikZ ソースから生成されるため、業界にクラウド上で真に効率的なドキュメント システムを提供できるチャンスが生まれます。

しかし、あなた方 (TeX の専門家) が TeX の変種のためのあれこれの小さな高度な機能について争っていると、Web LaTeX が登場するチャンスはなくなり、さらに重要なことに、LateX が業界で使用される日が来る可能性もなくなるでしょう。

複雑さのせいでこれは不可能だと言うのは正しいかもしれません。2 年前にも JavaScript PDF リーダーについてまったく同じ考えを持っていましたが、今では Adob​​e ネイティブ リーダーに比べて結果はかなり良いようです。

JavaScript については、私はこの言語が嫌いですが、クライアント側でサポートされているのはこれだけです。

答え1

楽しみを台無しにしたくはありませんが、考慮すべき問題がいくつかあります。

  • LaTeX は、マクロ言語 TeX のマクロ形式/パッケージにすぎません。しかし、TeX コンパイラは数多く存在します。

    • テックス
    • e-TeX を使用した TeX
    • pdfTeX
    • ゼテックス
    • ルアテックス
    • VTeX
    • 他の多くの …

    LaTeX ファイルは、他のコンパイラでは提供されていないコンパイラの機能を使用するため、特定のコンパイラに依存する場合があります。

  • TeX の JavaScript バージョンは知りません。Java を試したプロジェクトでさえ、多かれ少なかれ失敗しています (NTS、ExTeX)。

  • ファイルをコンパイルするために必要な他のプログラムがあります:

    • インデックス生成: Makeindex、Xindy
    • 参考文献: bibtex、bibtex8、biber、…
    • 外部プログラムを呼び出すことができるシェル エスケープ機能があります。
  • LaTeX ファイルには、どのようにコンパイルするか、どのプログラムをどの順序で必要とするか、どの引数をどのくらいの頻度で必要とするか、… は記述されていません。

  • 「LaTeX ファイル」は、他のファイル、外部画像などを含むマスター ファイルに整理できます。

  • LaTeX ファイルをコンパイルするには、通常、補助ファイルの書き込みと読み取りが可能である必要があります。

  • 通常、LaTeX ファイルには他のパッケージ、ファイル、フォントが必要です。したがって、多かれ少なかれ、(毎日の) 更新を含む TeX ディストリビューション全体が必要になります。

関連情報