当我阅读网络上的 LaTeX 文献时,我遇到了所有这些不同的终端名称,例如:latex
,,,,,,,,,,等等。tikz
eepic
gnuplot
epslatex
cairolatex
emtex
pslatex
pstricks
terminal type
我也在文档中读过这个术语,这让我更加困惑。
terminals
我感觉和您在文档中包含的之间可能存在很大关系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
,例如 ,然后计算机会打印出一份详细的报告,说明它正在做什么,并从您的文件中生成 PDF 文件.tex
。
不使用编辑器创建 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 程序的变体(例如,使用 Plain TeX 格式和tex
、pdftex
或xetex
程序)。