使用 TRIP.TEX 測試 TeXLive 2019 (MacTeX)

使用 TRIP.TEX 測試 TeXLive 2019 (MacTeX)

tripman.pdf在瀏覽 Don Knuth 在 TeX 上的出版品時,我參考了我的 MacTeX 發行版上的文件。技術人員可能知道,該文件解釋了測試的目的TRIP以及如何使用測試,以及提供輸入文件的源代碼和正確的輸出。我決定(愚蠢地?)親自嘗試測試,這就是問題開始的地方。

我有兩個問題:

  1. 在附錄A的步驟2中,我該如何修改INITEX以便依照其中指定的參數設定?我聽說過“更改文件”,它可以修改weavetanglecweave、 的輸出,並且ctangle不更改原始文件WEBCWEB文件,但據我了解,此類文件無法修改UNIX可執行文件的行為。不修改TeX源碼, 如何才能做到這一點?
  2. 步驟4運行的版本應該INITEX是步驟2未修改的版本還是修改後的版本?我認為,出於調試目的,應該使用修改後的版本,但我想確認一下。

非常感謝有關進行此測試的潛在挑戰的任何進一步資訊。我是 LaTeX 的頻繁用戶(儘管誠然不熟練),最近開始閱讀 Don Knuth 關於排版和排版的著作,並且在理解這些材料時可能需要一些幫助。

我的機器是Mac,運行MacTeX形式的TeXLive 2019。如果缺少任何其他所需信息,請在評論中索取。

謝謝。


這是我第一次涉足 TeX.SX,因此我的問題品質可能較差。對於在寫這個問題的過程中可能犯下的任何失禮,我深表歉意,並且我歡迎所有關於如何改進上述問題的建議。任何有關適當標記的建議將不勝感激。請溫柔一點。

答案1

的實施\TeX是在 中完成的tex.web。該檔案是一個通用實現,必須針對作業系統或一般情況下針對特定電腦和 Pascal 編譯器進行自訂。例如,必須更改檔案名稱約定以及輸入和輸出過程以滿足特定係統的規範,並且如果 Pascal 編譯器不允許語句else中存在路徑case ,則必須更改原始程式碼中的多個位置。

因此,程式不僅讀取單個 文件,TANGLE而且還可以處理此類文件的更改文件。因此,要編譯您需要的內容,其中包含針對您的機器的變更。WEAVEWEB\TeXtex.webtex.ch

要檢查更改檔案的變更是否不會\TeX導致實作不相容,即相同的 .tex 檔案產生與其他\TeX實作不同的輸出,一個條件是trip必須通過測試。它需要一個特殊版本,INITEX其中某些編譯時參數具有預定義值,以使測試的輸出具有可比性。因此,要執行trip測試,您必須建立一個特殊版本\TeX,這意味著您必須處理tex.web更改檔案並使用 Pascal 編譯器編譯產生的 Pascal 輸出。

測試過程中詳細描述了本地更改檔案的其他更改,並解釋了測試步驟。結果必須與預設系統產生的輸出進行比較\TeX。這些結果也列在測試程序中,並且它們可能會隨著每個新的 tex.web.

您可以CTAN找到相關文件和來源:

(1)https://ctan.org/tex-archive/systems/knuth/dist/tex包含tex.webtripman.tex以及測試所需的所有文件trip

(2)https://ctan.org/tex-archive/systems/knuth/dist/web包含原始碼和TANGLE 手冊;WEAVEWEB

(3)https://ctan.org/tex-archive/systems/knuth/local/tex/initex.ch 是一個未經測試且不完整的trip測試更改文件範例。

(看https://ctan.org/tex-archive/systems/unix適用於不同 Pascal 編譯器的完整系統;但請注意,我不建議使用這些系統。

如果你下載 https://ctan.org/tex-archive/systems/knuth/dist/lib/webmac.tex您可以 (i) 在沒有更改文件的情況下運行weave tex.webweave tangle.web,以獲得可以處理的 *.tex 文件,plain tex以及 (ii) 閱讀通用程式。當然,您可以添加一個更改文件,然後看看會發生什麼。

如果你下載 https://ctan.org/tex-archive/systems/texlive/Source/texlive-20190408-​​source.tar.xztexk\web2c\triptrap您可以找到包含該 texlive 系統的行程測試結果的 目錄。 (當然,您必須能夠處理xz和 歸檔。)tar

相關內容