Латех ввода/вывода | Aspose.TeX для .NET

файл LaTeX

Если у нас есть файл TeX, имеющий следующую структуру, мы назовем этот файл файлом LaTeX:

1\documentclass{<a document class>}
2% Preamble
3...
4\begin{document}
5% Document body
6...
7\end{document}

где <класс документа> — это имя класса документа, который представляет собой входной файл TeX, определяющий внешний вид страниц и макросов выходного документа, которые наиболее подходят для определенного типа документа.

Честно говоря, вы можете вставлять примитивные управляющие последовательности перед \documentclass{}, например \nonstopmode и т. д. Но каждый макрос LaTeX проверяет, находится ли он в нужной части файла.

Стоит отметить несколько особенностей TeX input и output в контексте работы с файлами LaTeX.

Выходной файл LaTeX

Типичное задание LaTeX создает вспомогательный выходной файл с именем имя задания и расширением .aux. Этот файл обычно содержит справочные данные, которые движок собирает во время выполнения задания, если вы, скажем, задаете метки для математических формул (уравнений), а затем ссылаетесь на них где-то в тексте. Если вы не используете ничего подобного, этот файл содержит только управляющую последовательность \relax (которая является одним из примитивов TeX). Так что не удивляйтесь.

Хотя примитивы \openout, \write и \closeout не запрещены, пакеты являются наиболее подходящим местом для них. Поэтому вам лучше использовать их в своих собственных пакетах, если вы их разрабатываете.

Другие части вывода произвольны, также следуют общей концепции вывод TeX и зависят от того, что именно должен делать ваш файл (программа) TeX, какие пакеты (см. ниже) вы используете и т. д.

Входной файл LaTeX

Вышеупомянутый файл .aux одновременно является обязательной частью ввода в LaTeX. Алгоритмически LaTeX не может выполнить эти задачи, связанные со ссылками, за один запуск, поэтому одно и то же задание необходимо запустить дважды: первый раз для сбора данных, второй раз для использования этих данных. Многие программные системы на основе LaTeX автоматически запускают задания LaTeX дважды. Спойлер: в API Aspose.TeX есть опция, которая позволяет нам контролировать такое поведение.

Другая обязательная часть — класс документа. Файл класса документа, в свою очередь, может неявно зависеть от других файлов, которые, таким образом, также включаются во входные данные LaTeX.

Если вы хотите использовать функции, выходящие за рамки базового LaTeX и его классов документов, но поддерживаемые определенной реализацией механизма TeX, то вы обычно используете пакет, о котором вы должны уведомить механизм в преамбуле. Пакет LaTeX — это файл или группа файлов, объединенных под одним именем, которые предоставляют такие функции. Чтобы уведомить движок, вам нужно использовать команду \usepackage с именем пакета и опускаемыми параметрами, если пакет их определяет.

Например,

1\usepackage[a6paper,landscape]{geometry}

Хотя примитивы \input, \openin, \read и \closein не запрещены, пакеты являются наиболее подходящим местом для них. Поэтому вам лучше использовать их в своих собственных пакетах, если вы их разрабатываете.

Другие части ввода произвольны, также следуют общей концепции TeX input и зависят от того, что именно должен делать ваш TeX-файл (программа), какие пакеты вы используете и т. д.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.