Что такое формат файла TEX?
.tex - это формат исходного файла для систем верстки LaTeX и TeX. Файлы с расширением .tex - это документы в формате обычного текста, обрабатываемые движком TeX; они содержат смесь обычного текста и команд с обратным слэшем, управляющих расположением, форматированием и структурой. Файлы .tex обычно включают математические выражения, символы и научную запись, написанные с использованием мощного синтаксиса математической верстки TeX.
Основное назначение файлов .tex - подготовка академических статей, научных и инженерных книг, диссертаций и журнальных статей - любого документа, где важна точная верстка сложного математического или технического контента. TeX был создан Дональдом Кнутом в 1978 году, а LaTeX (макроуровень, построенный поверх TeX, представленный Лесли Лампортом в 1984 году) сегодня является наиболее широко используемым вариантом. Основное преимущество формата заключается в том, что один и тот же исходный файл .tex компилируется в идентичный результат на любой операционной системе с использованием движков pdflatex, xelatex или lualatex для создания PDF (или исторически файла DVI). Структура документа следует стандартному шаблону: преамбула, начинающаяся с \documentclass{...}, объявляет класс документа и загружает пакеты через \usepackage{...}, за которой следует тело, заключенное в \begin{document} и \end{document}.
Безопасность и защита
РИСК: MEDIUMФайл .tex - это обычный текст и безвреден для чтения, но это также РАЗМЕЩАЕМАЯ (executable) разметка: TeX выполняется как программа во время компиляции, и если включен shell-escape (\write18), он может выполнять внешние системные команды. В принципе, вредоносный .tex из ненадежного источника при компиляции может записывать или выполнять файлы. Современные дистрибутивы по умолчанию ограничивают shell-escape, что сужает эту возможность. Относитесь к файлам .tex из неизвестных источников как к коду, который вы скачали - сначала проверьте их и не включайте неограниченный shell-escape. Просмотр исходного кода в текстовом редакторе не несет риска.
Детали формата
в двух словахПрограммы, открывающие файлы TEX
Технические подробности
глубокая спецификация| Природа файла | Исходный документ в формате обычного текста - читается и редактируется в любом текстовом редакторе; без двоичного кодирования |
| Кодировка символов | ASCII или UTF-8; с выхода ядра в октябре 2018 года LaTeX по умолчанию использует ввод в кодировке UTF-8 |
| MIME-тип | text/x-tex (основной); также распознается как application/x-tex, application/x-latex и text/plain |
| Сигнатура файла | Отсутствует - нет магических байтов или двоичного заголовка; файлы LaTeX традиционно открываются с \documentclass{...}, и все команды начинаются с обратного слэша |
| Структура документа | Преамбула (\documentclass, \usepackage, пользовательские настройки), за которой следует тело между \begin{document} и \end{document} |
| Синтаксис команд | Каждая инструкция форматирования - это команда с обратным слэшем (например, \textbf{}, \section{}, \frac{}{}); аргументы в фигурных скобках, необязательные аргументы в квадратных скобках |
| Математическая верстка | Первоклассный математический режим: встроенный ($...$) и отображаемый (\[...\] или окружение equation) для уравнений, дробей, интегралов, матриц и греческих букв |
| Движки компиляции | pdfTeX/pdfLaTeX (наиболее распространенный), XeTeX/XeLaTeX (Unicode + шрифты OpenType), LuaTeX/LuaLaTeX (скриптинг на Lua), оригинальный движок TeX (вывод DVI) |
| Формат вывода | Компилируется в PDF (через pdflatex, xelatex или lualatex) или DVI (через движок latex); сам файл .tex никогда не является готовым документом |
| Сгенерированные побочные файлы | Каждый запуск компиляции создает .aux (перекрестные ссылки), .log (журнал движка), .toc (оглавление), .bbl (библиография) и .out (закладки hyperref) |
| Экосистема пакетов | Расширяется через файлы пакетов .sty; CTAN хранит более 6 000 пакетов, охватывающих шрифты, графику, таблицы, химию, нотацию музыки и многое другое |
| Классы документов | Тип документа задается \documentclass{...}: встроенные классы включают article, book, report, letter и beamer (слайды); пользовательские классы используют файлы .cls |
| Поддержка нескольких файлов | Большие документы разбиты на несколько файлов .tex, связанных через \input{filename} (прямое включение) или \include{filename} (главы с отдельной обработкой .aux) |
| Интеграция библиографии | Внешние базы данных .bib обрабатываются BibTeX или Biber; ссылки вставляются с помощью \cite{key} и разрешаются автоматически во время компиляции |
| Типичный размер файла | От 1 КБ до нескольких сотен КБ на исходный файл; крупные проекты разбиты на множество файлов .tex, а не хранятся как один большой документ |
| Кроссплатформенная согласованность | Производит идентичный результат верстки побайтно на Windows, macOS и Linux из одного исходного файла .tex - основная цель дизайна TeX с 1978 года |
| Выпущен | TeX 1978 (Knuth); LaTeX 1984 (Lamport) |
| Последняя версия | LaTeX2e (1994, ongoing biannual releases); LaTeX3/expl3 in active use. TeX engine frozen at 3.141592653 |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.latex-project.org |
Конвертации TEX
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах TEX.