tripman.pdf
Don Knuth の TeX に関する出版物を閲覧しているときに、 MacTeX ディストリビューションのファイルについて知りました。TeXnicians ならご存知かもしれませんが、このファイルTRIP
にはテストの目的と使用方法、および入力ファイルのソースと正しい出力の提供が説明されています。私は (愚かにも?) 自分でテストを試してみることにしましたが、これが問題の始まりです。
質問が2つあります。
- 付録 A の手順 2 で、
INITEX
パラメータがそこに指定されているとおりに設定されるように変更するにはどうすればよいでしょうか。元のファイルやファイルは変更せずにweave
、、、、の出力を変更する「変更ファイル」について聞いたことがありますtangle
が、そのようなファイルは実行可能ファイルの動作を変更できないと理解しています。cweave
ctangle
WEB
CWEB
UNIX
TeXのソースを変更せずに、これはどうすればできるのでしょうか? - ステップ 4 で実行するバージョンは、
INITEX
変更されていないバージョンにする必要がありますか、それともステップ 2 で変更されたバージョンにする必要がありますか? デバッグの目的では、変更されたバージョンを使用する必要があると思いますが、確認したいと思います。
このテストを実施する上での潜在的な課題に関するさらなる情報があれば、大変ありがたく思います。私は LaTeX を頻繁に使用しますが (確かに熟練していませんが)、最近 Don Knuth のタイポグラフィとタイポグラフィに関する著作を読み始めたので、そのような資料を理解するのに少し助けが必要かもしれません。
私のマシンは MacTeX 形式の TeXLive 2019 を実行している Mac です。その他の必要な情報が不足している場合は、コメントでリクエストしてください。
ありがとう。
これは私にとって TeX.SX への最初の挑戦であり、質問の質は標準以下かもしれません。この質問を書く過程で私が犯したかもしれない失礼な点についてはお詫び申し上げます。また、上記の点を改善する方法についてのあらゆる提案を歓迎します。適切なタグ付けに関する提案があれば、大変ありがたく思います。どうかお手柔らかにお願いします。
答え1
の実装\TeX
は で行われますtex.web
。このファイルは、オペレーティング システム、または一般的には特定のコンピュータと Pascal コンパイラに合わせて調整する必要がある汎用実装です。たとえば、ファイル名規則や入出力手順は、特定のシステムの仕様に合わせて変更する必要があり、たとえば Pascal コンパイラがステートメントelse
内のパスを許可しない場合はcase
、ソース内のいくつかの場所を変更する必要があります。
したがって、プログラムTANGLE
と はWEAVE
単一の
WEB
ファイルを読み取るだけでなく、そのようなファイルの変更ファイルを処理できます。したがって、コンパイルするには、マシンの変更を含む と が\TeX
必要です。tex.web
tex.ch
変更ファイルが\TeX
実装の互換性を失わせるような変更をしていないことを確認するには、つまり、同じ .tex ファイルが他の\TeX
実装とは異なる出力を生成していないことを確認するには、trip
テストに合格することが条件となります。INITEX
テストの出力を比較可能にするには、コンパイル時の特定のパラメータに定義済みの値を持つ の特別なバージョンが必要です。したがって、trip
テストを実行するには の特別なバージョンをビルドする必要があり、これは変更ファイルを操作して、結果の Pascal 出力を Pascal コンパイラでコンパイルする\TeX
必要があることを意味します。tex.web
ローカル変更ファイルの追加変更はテスト手順に詳細に記述されており、テストの手順も説明されています。結果は、デフォルト\TeX
システムによって生成された出力と比較する必要があります。これらの結果はテスト手順にも記載されており、新しいものごとに変更される可能性があります
tex.web
。
CTAN
関連する文書と情報源は次の場所にあります:
(1)翻訳元: texテストに必要なすべてのファイルが含まれていtex.web
ます。tripman.tex
trip
(2)https://ctan.org/tex-archive/systems/knuth/dist/webソースコードとTANGLE
マニュアルが含まれています。WEAVE
WEB
(3)https://ctan.org/tex-archive/systems/knuth/local/tex/initex.ch
テスト用の変更ファイルの未テストかつ完全ではない例ですtrip
。
(見るhttps://ctan.org/tex-archive/systems/unixさまざまな Pascal コンパイラ用の完全なシステムについては、次の URL を参照してください。ただし、これらのシステムを使用することはお勧めしません。
ダウンロードすると
https://ctan.org/tex-archive/systems/knuth/dist/lib/webmac.tex(i)変更ファイルなしで などを実行して、処理可能な *.tex ファイルを取得しweave tex.web
、(ii) 汎用プログラムについて読むことができます。もちろん、変更ファイルを追加して、何が起こるかを確認することもできます。weave tangle.web
plain tex
ダウンロードすると
https://ctan.org/tex-archive/systems/texlive/Source/texlive-20190408-source.tar.xz
この texlive システムのトリップ テスト結果を含むディレクトリを見つけることができます。(もちろん、および ファイルをtexk\web2c\triptrap
処理できる必要があります。)xz
tar