Создание настраиваемого ввода TeX

Решение на базе C++ API для настройки входных данных TeX

 

TeX известен как система компьютерной верстки, способная обрабатывать программы, написанные на языке TeX. Вместо того чтобы форматировать текст непосредственно в документе, пользователи пишут программы, включающие фрагменты текста документа вместе с командами, управляющими выводом. Как описано в статье документации Ввод-вывод TeX , задание TeX обычно выполняется для явно указанного файла TeX. Таким образом, этот файл должен быть включен во входные данные для конкретного задания TeX.

В рамках Aspose.TeX API существуют встроенные реализации ввода TeX для загрузки данных из файлов локальной файловой системы и из файлов, упакованных в ZIP-архив.

На этой странице представлены рекомендации по реализации настраиваемого ввода TeX с учетом того, что файлы TeX должны соответствовать синтаксису TeX и, в идеале, содержать только команды, «известные» движку. Кроме того, могут быть включены другие файлы, такие как файлы данных или графики.

Для настройки ввода TeX нам понадобятся:

  • Aspose.TeX для C++ API — функциональное, мощное и простое в использовании API для обработки и преобразования документов для платформы C++.
  • Откройте менеджер пакетов NuGet, найдите Aspose.TeX.Cpp и установите его. Вы также можете использовать следующую команду в консоли диспетчера пакетов:

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

Советы по настройке ввода TeX на C++:

  1. Движок TeX обращается к объемам данных как к файлам, то есть «по имени». Как следствие, часть подсистемы ввода TeX, отвечающая за подачу автоматически обрабатываемых данных, предоставляет объемы данных в ответ на запросы по имени.
  2. Aspose.TeX API для C++ вводит интерфейс IInputWorkingDirectory , обявляющий единственный метод GetFile(), который извлекает «файлы» по имени. Другими словами, Входной рабочий каталог функционирует как словарь, сопоставляющий имена файлов с объемами данных.
  3. Вместе с «файлом» метод GetFile() возвращает «полное имя» внутри экземпляра составного объекта NamedStream . Например, в реализации InputFileSystemDirectory «полным именем» будет полный путь к запрошенному файлу на диске — путь, который будет записан в файл стенограммы (.log).



Часто задаваемые вопросы

1. Как мне прочитать входные данные из TeX и LaTeX?

В примитивном TeX есть четыре команды, отвечающие за ввод из файлов, отличных от основного входного файла, например \\input <имя файла>, \\openin<номер>=<имя файла>, \\closein<номер> и \\read<номер> до <управляющей последовательности>. Первая команда заставляет движок обрабатывать файл, имя которого указано в качестве параметра. Следующие два открывают и закрывают вспомогательные файлы данных. И последний читает строку из вспомогательного файла как список токенов и присваивает этот список управляющей последовательности (или команде). В LaTeX ввод проще. Дополнительные файлы для немедленной обработки чаще всего представляют собой так называемые пакеты, которые при необходимости необходимо включать в преамбулу файла LaTeX с помощью команды \\usepackage{<имя пакета>}. Ввод вспомогательных данных также чаще всего заключен в макросы, предоставляемые конкретными пакетами.

2. Как работать с вводом TeX?

Чтобы обеспечить ввод TeX наиболее распространенными способами (из файлов на диске или файлов, упакованных в ZIP-архив) с помощью решения API Aspose.TeX, используйте классы, реализующие IInputWorkingDirectory интерфейс.

3. Как настроить ввод TeX?

Чтобы настроить ввод TeX с помощью этого решения API, вам необходимо разработать собственную реализацию интерфейса IInputWorkingDirectory, а затем использовать его в качестве значения свойства InputWorkingDirectory в параметрах задания TeX.

TeX What is TeX File Format

TeX — это система наборки и язык программирования, позволяющая создавать документы высокого качества, особенно с математическими формулами. Файлы *.tex* — обычный текст, который обрабатывается движками TeX (pdfTeX, XeTeX, LuaTeX) и преобразуется в PDF, DVI и другие форматы.