ニュース!最近、E-Texの長い期限切れの実装を追加しました! e-tex拡張機能はラテックスを実行するために必要であるため、これはTEXプログラムファミリーへの大歓迎の追加です。 LaTexをセットアップする方法については、 Readme.txt参照してください。
これは、Tex.Webバージョン3.141592653の標準C ++への手動翻訳です。主に、これは非常に最小限の変更を伴う元のPascalソースの直接翻訳です。使用されるC ++の量(Cではない)は非常に最小限です。特に、アレイクラスを追加して、オリジナルと同じインデックスを保持し、バウンドシェックを取得します。
このプログラムの目的は何ですか?まあ、私は長い間、ドナルド・クヌースと彼の仕事、特にテックスに魅了されてきました。 Texは、最もよく文書化されたプログラムの1つであり、ソースコードはもちろんすぐに利用できます。しかし、現在の実装の機能の1つは、ソースコードがマシンがCに変換されているため、デバッガーのコードを理解したり、踏み出したりするのは簡単ではないことです。そのため、プログラムをC ++に翻訳することにしました。そうすることで、コードが何をするかをある程度理解することを願っています。
別の側面は、プログラムを書くのにどれくらいの時間がかかるかを知ることに興味があったことです。私は目前に停止時計を保持していませんでしたが、大まかな推定では、プログラム全体を入力するのに約30時間かかり、それを2回以上修正して、最終的に旅行テストに合格する前に導入されたすべてのバグを修正したことです。これは、デバッグ時間が入力するのにかかった時間と同等だと思っていたことを除いて、私が期待したようなものでした。私のアプローチでより体系的で、最初からより多くの主張とチェックを導入していたなら、デバッグ時間はかなり短くなりました。
このプログラムは、2つのファイルrstex.h.preとrstex.cpp.preで構成されています。これらの2つのファイルは、プログラム内のすべての特別な文字列を数字(元のTangleプログラムが行うように)に変換し、文字列プールファイルを作成する別のプログラムCreatePoolFileによって前処理される必要があります。この前処理の後、 rstex.h 、 rstex.cpp 、およびtex.pool 3つのファイルが残ります。 rstex.cpp 、任意の不安定なC ++コンパイラによってコンパイルされ、実行可能ファイルを実行できます。
これはTexの公式バージョンではなく、Texの公式バージョンにのみ基づいています。公式バージョンには存在しないバグが含まれている場合があります。旅行テストに合格しますが、旅行テストではすべてをテストするわけではありません。このプログラムの著者は、その使用から生じる可能性のある直接的または間接的な損害について責任を負うことはありません。これは、この複雑なソフトウェアがどのように機能するかを理解したい人のために、実用的なタイプセットシステムであることを意図したものではなく、教育目的のためのものです。
また、WindowsとUnix用のMF.Webを翻訳しましたが、現在はWindowsバージョンのみがグラフィカルな画面出力をサポートしています。
元のTexフォントビットマップ(PXL、GF、PK、またはMF)を表示する小さなプログラム。このプログラムは、LinuxとWindowsとMacの両方で機能しますが、QTをインストールする必要があります。
DVIファイルを読むための完全なプログラムとはほど遠いが、現時点ではWindowsのみであるが、おそらくいつかQTバージョンが存在するでしょう。
これらのプログラムは、リチャードサンドバーグ(Gmail Dot COMのMylodon)による著作権(c)2023です。元のtex.webは、Donald Knuthによる著作権(c)1982です。
これらのプログラムは教育目的のみであり、すべての商業使用は厳密に禁止されています。