TEX(1)

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

SYNOPSIS 總覽
tex [options] [commands]

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

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

這個版本的 TeX 透過檢視它的命令列，查詢自身是以什麼名稱被呼叫的。 initex 和 virtex 都是到可執行檔案 tex 的符號連結。當作為 initex 呼叫時 (或者使用了 --ini 選項時)，它可以用於將宏預編譯，輸出到一個 .fmt 檔案中。當作為 virtex 呼叫時，它將使用 plain 格式。當以任何其他名稱呼叫時，TeX 將使用那個名稱作為要使用的格式名稱。例如，當作為 tex 呼叫時，將使用 tex 格式，這與 plain 格式是相同的。 plain 格式中定義的命令記載在 The TeXbook 中。其他常用的格式包括 latex 和 amstex 。

呼叫 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)。

OPTIONS 選項
這個版本的 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
    顯示版本資訊，然後退出。

ENVIRONMENT 環境
參見 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 編譯時進行設定。

FILES 檔案
下面提到的檔案的位置在各個系統中是不相同的。使用 kpsewhich 實用工具來找到它們的位置。

texmf.cnf
    配置檔案。它包含著搜尋路徑的定義，還有其他配置引數，例如 parse_first_line.

tex.pool
    編碼的文字，是 TeX 的提示訊息。

texfonts.map
    檔名對映定義。

*.tfm
    TeX 字型的度量的檔案。

*.fmt
    簡寫的 TeX 格式 (.fmt) 檔案。

$TEXMFMAIN/tex/plain/base/plain.tex
    基本的宏包，在 TeXbook 中有詳細描述。

BUGS
這個版本的 TeX 實現了大量的可選的擴充套件。實際上，其中大部分與 TeX 的定義有或多或少的衝突。當啟用這樣的擴充套件時，TeX 啟動時列印的提示資訊將是 TeXk 而不是 TeX 。

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

SEE ALSO 參見
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).

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

AUTHORS 作者
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