當我閱讀網路上的 LaTeX 文獻時,我遇到了所有這些不同的終端名稱,例如:latex
、tikz
、eepic
、gnuplot
、epslatex
、cairolatex
、emtex
、pslatex
、pstricks
等。
我也讀過terminal type
文檔上的這個術語,這讓我更加糾結了。
我感覺文檔中包含的terminals
和 the之間可能存在很大的關係。packages
不過我不確定。
擁有所有這些不同的元素可能是有充分理由的,儘管這對我來說可能並不直觀。
有人能解釋一下嗎?
答案1
LaTeX* 沒有一個終端機或編輯器
LaTeX 是一種文件準備系統,它既是一種語言,也是一組處理(從技術上講,「解釋」)該語言並產生 DVI 或 PDF 格式的數位排版文件的程式。該系統的優點之一是您可以使用許多不同的程式建立輸入文件,並且可以根據您的作業系統和偏好以多種方式處理它們。
您可以透過程式或直接在終端機呼叫 LaTeX 解譯器
LaTeX 輸入檔只是用 LaTeX 語言編寫的純文字文件,因此您可以使用任何文字編輯器來建立它。要處理此文件,您必須調用 TeX 程序,對於 LaTeX,該程序通常為pdflatex
.許多編輯器(例如 TeXShop)會在幕後為您執行此操作 — 您只需單擊“排版”即可完成。但如果您使用終端,則可以手動執行相同的操作。
現代終端模仿舊的電傳打字機和紙捲終端
想像一下,使用電傳打字機連接到大型計算機,該電傳打字機會產生您輸入的所有命令和計算機響應的紙質打印輸出。到 20 世紀 70 年代末和 80 年代 Donald Knuth 設計 TeX 時,終端在許多地方已經變成了鍵盤和螢幕。現代系統上的終端(或控制台或命令列)應用程式是對此的模擬。你沒有打字機,而是有鍵盤;螢幕上顯示的是終端模擬器應用程序,而不是紙帶。
在終端機使用 LaTeX
透過終端仿真器,您可以直接與 TeX 程式互動。首先,鍵入並儲存輸入檔案(例如,file.tex
)。如果您想在終端上執行此操作,您可以使用nano
、vim
或emacs
。然後您輸入類似的命令pdflatex file
,然後電腦會列印一份有關其正在執行的操作的長報告,並從您的.tex
文件產生一個 PDF 文件。
無需編輯器建立 LaTeX 文件
您甚至可以在不使用編輯器的情況下在命令列建立文件,如下面終端上的會話記錄(在 Debian GNU/Linux 系統上)所示。這不是使用該程式的一種非常實用的方法,但它很好地演示了終端機上發生的情況,即您與運行 TeX 程式的電腦進行互動。
在此範例中,我移動到該/tmp
目錄並pdflatex
在不帶參數的情況下調用,這將其置於交互模式。該命令\relax
表明我將在命令列輸入文件的文字。我輸入的文字前面有一個星號。我為 LaTeX 文件輸入最少的命令,程式在每個命令後都會做出回應。在最後一個命令之後,pdflatex
產生一個 PDF 文件,我可以透過呼叫 PDF 檢視器來查看該文件。
andrew@pax:~$ cd /tmp
andrew@pax:/tmp$ pdflatex
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) (preloaded format=pdflatex)
restricted \write18 enabled.
**\relax
entering extended mode
LaTeX2e <2016/02/01>
Babel <3.9n> and hyphenation patterns for 79 languages loaded.
*\documentclass{article}
*\begin{document}
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/size10.clo))
No file texput.aux.
*This is a test of using \TeX\ at the terminal.
*\end{document}
[1{/usr/local/texlive/2015/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./texput.aux)</usr/local/texlive/2015/texmf-dist/fonts/type1/public/amsfonts/c
m/cmr10.pfb></usr/local/texlive/2015/texmf-dist/fonts/type1/public/amsfonts/cm/
cmr7.pfb>
Output written on texput.pdf (1 page, 21581 bytes).
Transcript written on texput.log.
andrew@pax:/tmp$ mupdf texput.pdf
andrew@pax:/tmp$
(*) 這裡的所有內容同樣適用於 TeX 語言和 TeX 程式的任何變體(例如,使用帶有tex
,pdftex
或xetex
程式的 Plain TeX 格式)。