Читая имеющуюся в сети литературу по 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, делают это за вас за кулисами — вы просто нажимаете «Набрать», и все готово. Но если вы используете терминал, вы можете сделать то же самое вручную.
Современные терминалы имитируют старые терминалы с телетайпом и рулоном бумаги
Представьте себе подключение к мэйнфрейму с помощью телетайпа, который выдает на бумаге распечатку всех введенных вами команд и ответов компьютера. К концу 1970-х и 80-м годам, когда Дональд Кнут разработал 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
).