Arch manual pages

TEX(1) General Commands Manual TEX(1)

tex, virtex, initex - 文本格式化和排版

tex [options] [commands]

這份手冊頁並不全面。此版本的 TeX 完整的文檔可以從 info 文件或者手冊 Web2C: A TeX implementation 中找到。

TeX 格式化指定的文件中包含着命令的文本,輸出一個設備無關的文件 (稱爲 DVI ,即 “設備無關” DeVice Independent 的縮寫)。在 The TeXbook 中講述了 TeX 的功能和語言。 TeX 通常與一個大型的預編譯的宏包同時使用,有一些特定的排版系統,例如 LaTeX, 通常需要很多宏包的支持。

這個版本的 TeX 通過查看它的命令行,查找自身是以什麼名稱被調用的。 initexvirtex 都是到可執行文件 tex 的符號鏈接。當作爲 initex 調用時 (或者使用了 --ini 選項時),它可以用於將宏預編譯,輸出到一個 .fmt 文件中。當作爲 virtex 調用時,它將使用 plain 格式。當以任何其他名稱調用時,TeX 將使用那個名稱作爲要使用的格式名稱。例如,當作爲 tex 調用時,將使用 tex 格式,這與 plain 格式是相同的。 plain 格式中定義的命令記載在 The TeXbook 中。其他常用的格式包括 latexamstex

調用 TeX 時,命令行給出的 commands 被傳遞給它作爲輸入的第一行。(但是通常將擴展的參數作爲輸入的第一行要簡單許 多,因爲 UNIX 命令解釋器總是會 “吃掉” 或者錯誤地解釋 TeX 的符號,例 如反斜槓,除非你引用它們。) 同 The TeXbook 書中描述的一致,第一行應當以一個文件名開始,或者是一個控制序列 \controlsequence, 或者是一個格式名稱 &formatname.

通常的用法是輸入

tex paper
來處理 paper.tex 。名稱 paper 將作爲任務名 (``jobname''),也用來產生輸出文件名。 如果 TeX 沒有在第一行獲得一個文件名,jobname 將是 texput 。當查找一個文件時,TeX 查找帶有和不帶默認擴展名 (.tex) 的文件,除非名稱中已包含了此擴展名。如果 paper 是任務名(``jobname''),錯誤消息的日誌記錄,包含着比通常屏幕上顯示的內容更加詳細的內容,將保存爲 paper.log ,輸出文件將保存爲 paper.dvi

這個版本的 TeX 可以查看文件 paper.tex 的第一行,看它是否以特殊序列 %& 開始。如果第一行以 %&format --translate-file tcxname 開始,那麼 TeX 將使用指定的格式和轉換表 tcxname 來處理源文件。格式名稱和 --translate-file 轉換定義都可以被忽略,但是不能同時忽略。這個設定超越了基於可執行文件名稱的格式選擇。 選項 --parse-first-line 或者配置中的變量 parse_first_line 控制了是否允許這樣的行爲。

在 TeX 的錯誤提示下回應 e 將使得系統默認的編輯器被啓動,修改當前文件的當前行。環境變量 TEXEDIT 可以用來修改所用的編輯器。它可以包含一個字符串 "%s",指定文件名要替換的位置,以及字符串 "%d",指定行號 (如果有的話) 要替換的位置。例如,要使用 emacs ,可以這樣設置 TEXEDIT 字符串,使用 sh 命令

TEXEDIT="emacs +%d %s"; export TEXEDIT

爲了方便,庫中有一個文件 null.tex ,內容爲空。當 TeX 找不到可能的輸入時,它會一直讓用戶輸入另一個文件名;如果不想輸入任何東西,迴應 `null' 可以跳出這個循環。也可以輸入 EOF 字符 (通常是 control-D)。

這個版本的 TeX 可以解釋下列命令行選項。
--file-line-error-style

打印錯誤消息,以 file:line:error 的形式,與大多數編譯器格式化消息的方式相似。
--fmt format

使用 format 作爲要使用的格式名,而不是調用 TeX 的名稱或者 %& 一行指定的內容。
--help

打印幫助信息,然後退出。
--ini

成爲 initex ,用於轉儲格式 (dump formats);如果調用的程序名是 initex ,那麼隱含這個選項。
--interaction mode

設置交互模式。mode 可以是 batchmode, nonstopmode, scrollmode, 和 errorstopmode 其中之一。這些模式的含義與相應的 \commands 相同。
--ipc

將 DVI 輸出發送到一個 socket,同時像通常那樣輸出到文件。這個選項是否可用取決於安裝程序的選擇。
--ipc-start

--ipc 類似,並且同時也在另一段啓動服務器。這個選項是否可用取決於安裝程序的選擇。
--jobname name

使用 name 作爲作業名,而不是從輸入文件名獲得。
--kpathsea-debug bitmask

根據位掩碼,設置路徑搜索調試標誌。細節請參見 Kpathsea 手冊頁。
--maketex fmt

啓用 mktexfmt ,這裏 fmt 必須是 tex 或者 tfm 之一。
--mltex

啓用 MLTeX 擴展。
--no-maketex fmt

禁用 mktexfmt 這裏 fmt 必須是 tex 或者 tfm 之一。
--output-comment string

使用 string 作爲 DVI 文件的註釋,而不是時間。
--parse-first-line

如果主輸入文件的第一行以 %& 開始,就解釋它,從中查找一個轉儲名稱或者一個 --translate-file 選項。
--progname name

僞裝是程序 name 。這對所用格式和搜索路徑都有影響。
--recorder

啓用文件名記錄。這將在一個擴展名爲 .fls 的文件中記錄輸入和輸出中打開的所有文件。
--shell-escape

啓用 \write18{command} 結構。 command 可以是任何 Bourne shell 命令。出於安全原因,這個結構通常被禁止。
--translate-file tcxname

使用 tcxname 轉換表。
--version

顯示版本信息,然後退出。

參見 Kpathsearch 庫的文檔 (手冊頁的 `Path specifications' 節點) 來查看使用環境變量的精確的細節。 kpsewhich 實用工具可以用來查詢變量的值。

警告:在大多數 TeX 格式中,不能直接傳給 TeX 帶有 ~ 的文件名,因爲 ~ 是一個有特殊意義的字符,它將被擴展,不會作爲文件名的一部分。其他程序,例如 Metafont,沒有這個問題。

TEXMFOUTPUT
通常,TeX 將輸出文件放在當前目錄。如果不能在那裏創建任何輸出文件,它試着在環境變量 TEXMFOUTPUT 指定的目錄中創建它。這個參數沒有默認值。例如,假設命令是 tex paper 並且當前目錄不可寫,如果 TEXMFOUTPUT 設置爲 /tmp ,TeX 試圖創建 /tmp/paper.log (還有 /tmp/paper.dvi ,如果產生了任何輸出。)
TEXINPUTS
\input\openin 文件的搜索路徑。它們一般應當以 ``.'' 開始,使得用戶文件可以先於系統文件被找到。空路徑成分將被替換爲 texmf.cnf 文件中定義的路徑。例如,設置 TEXINPUTS 爲 ".:/home/usr/tex:" 來將當前目錄和 ``/home/user/tex'' 添加到標準的搜索路徑之前。
TEXEDIT
切換爲編輯器的命令模板。默認值通常是 vi ,在 TeX 編譯時進行設置。

下面提到的文件的位置在各個系統中是不相同的。使用 kpsewhich 實用工具來找到它們的位置。
texmf.cnf
配置文件。它包含着搜索路徑的定義,還有其他配置參數,例如 parse_first_line.
tex.pool
編碼的文本,是 TeX 的提示消息。
texfonts.map
文件名映射定義。
*.tfm
TeX 字體的度量的文件。
*.fmt
簡寫的 TeX 格式 (.fmt) 文件。
$TEXMFMAIN/tex/plain/base/plain.tex
基本的宏包,在 TeXbook 中有詳細描述。

這個版本的 TeX 實現了大量的可選的擴展。實際上,其中大部分與 TeX 的定義有或多或少的衝突。當啓用這樣的擴展時,TeX 啓動時打印的提示信息將是 TeXk 而不是 TeX

這個版本的 TeX 在面積增加或減少時不能捕獲算術下溢錯誤。這種情況很少見,但是一旦出現,產生的 DVI 文件將是無效的。

mf(1),
Donald E. Knuth, The TeXbook, Addison-Wesley, 1986, ISBN 0-201-13447-0.
Leslie Lamport, LaTeX - A Document Preparation System, Addison-Wesley, 1985, ISBN 0-201-15790-X.
K. Berry, Eplain: Expanded plain TeX, ftp://ftp.cs.umb.edu/pub/tex/eplain/doc.
Michael Spivak, The Joy of TeX, 2nd edition, Addison-Wesley, 1990, ISBN 0-8218-2997-1.
TUGboat (the journal of the TeX Users Group).

TeX,如果發音正確的話,與 ``blecchhh'' 押韻 (rhymes)。使用 typewriter 字體時,正確的拼寫是 ``TeX'' 而不是 ``TEX'' 或者 ``tex''。

TeX 的設計者是 by Donald E. Knuth,他用他的 Web 系統實現了它。後來,它分別被 Stanford 的 Howard Tricky 和 Cornell 的 Pavel Curtis 移植到了 Unix。當前隨 Unix TeX 發行的這個版本使用了 Web 到 C 的翻譯系統 (web2c) 來產生, (web2c) 最初由 Tomas Rokicki 和 Tim Morgan 實現。

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
10 November 2001 Web2C 7.4.5