As I am reading through the LaTeX literature available on the net I am comming across all this different terminal names, such as: latex
, tikz
, eepic
, gnuplot
, epslatex
, cairolatex
, emtex
, pslatex
, pstricks
, etc.
I have also read the term terminal type
on the documentation, which makes it even more entagled to me.
I sense that there might be a big relationship between the terminals
and the packages
you include on your document. However I am not sure.
There is probably a good reason for having all this different elements, though it may be not intuitive to me.
Can anybody shed some light on this?
Best Answer
There is no one terminal or editor for LaTeX*
LaTeX, the document-preparation system, is both a language and a set of programs that process (technically, "interpret") that language and produce digitally typeset files in DVI or PDF format. One of the strengths of the system is that you can create the input files using many different programs, and you can process them in a variety of ways, depending on your operating system and preferences.
You can invoke the LaTeX interpreter through a program or directly, at the terminal
A LaTeX input file is just a plain text file written in the LaTeX language, and therefore you can create it using any text editor. To process this file you have to invoke a TeX program, which for LaTeX is usually
pdflatex
. Many editors like TeXShop do this for you behind the scenes---you just click "Typeset" and you're done. But if you use the terminal, you can do the same thing manually.Modern terminals emulate old teletype-and-paper-roll terminals
Imagine connecting to a mainframe computer using a teletype machine that produces a paper printout of all the commands you entered and the computer's responses. By the late 1970s and 80s when Donald Knuth designed TeX, terminals had already become keyboards and screens in many places. The terminal (or console, or command line) application on modern systems is an emulation of this. Instead of a typewriter you have your keyboard; instead of a paper tape you have the terminal emulator application on your screen.
Using LaTeX at the terminal
Through a terminal emulator you can interact with the TeX program directly. First you type and save your input file (say,
file.tex
). If you want to do this at the terminal you could usenano
,vim
, oremacs
. Then you enter a command likepdflatex file
, and then the computer prints out a long report of what it is doing, and produces a PDF file from your.tex
file.Creating a LaTeX file without an editor
You can even create a file at the command line without using an editor, as in the transcript below of a session on the terminal (on a Debian GNU/Linux system). This isn't a very practical way to use the program, but it makes a good demonstration of what is happening at the terminal, which is you interacting with the computer running the TeX program.
In this example I move to the
/tmp
directory and invokepdflatex
without an argument, which puts it in interactive mode. The command\relax
signals that I will enter the text of the file at the command line. The text I type is preceded with an asterisk. I enter the minimal commands for a LaTeX document, and the program responds after each of these. After the last command,pdflatex
generates a PDF file, which I can view by calling a PDF viewer.(*) Everything here applies equally to any variant of TeX language and TeX program (e.g., using Plain TeX format with
tex
,pdftex
orxetex
programs).