Я создаю математическое программное обеспечение с помощью PyQt и хотел бы предоставить пользователям результат в файле, написанном на LaTex, а также его скомпилированную версию в формате PDF. Однако я не могу найти способ сделать это. Все решения, которые я видел, требуют установки компилятора локально.
Я не могу ожидать, что пользователи установят компилятор на свои компьютеры, как только у них появится исполняемая версия программного обеспечения. Вот почему я ищу решение, которое не требует его наличия в моей системе.
Этот вопрос касается не отображения математического набора в Qt, а создания отчета о документе в LaTex, а также простого способа его визуализации в PDF.
Нет, нет никакого способа. Вам нужно будет установить библиотеку Python, что нарушает правило ничего не устанавливать.
Ваш вопрос касается только набора уравнений или набора полных документов в LaTeX? Если только уравнения, то, возможно, вы могли бы использовать подход, аналогичный описанному здесь . Короче говоря, он использует MathJax для рендеринга уравнений в QWebEngineView. Я думаю, это также возможно с KaTeX. Нет необходимости в локальной установке LaTeX, но необходимые библиотеки JavaScript необходимо будет загрузить с соответствующих URL-адресов. QWebEngineView обеспечивает printToPdf()
вывод PDF.
Вопрос в полных документах! Мы обрабатываем некоторые уравнения и после этого предоставляем отчет. Поскольку наши пользователи используют наше программное обеспечение в своих исследованиях, мы считаем, что было бы неплохо создать документ таким образом, чтобы они могли просто копировать и вставлять его в свои статьи, а также легко (и удобно) визуализировать его в формате .PDF.
Благодарю за разъяснение. В этом случае, боюсь, я согласен с другими комментаторами: если вы хотите печатать в LaTeX, вам нужно самостоятельно установить среду LaTeX (если вы не хотите, чтобы ваши пользователи устанавливали ее отдельно).
LaTeX использует сложный механизм набора текста. Вот почему он используется — наборный механизм профессионального уровня. Что-то должно сделать эту верстку. Один из способов — «просто» переопределить этот движок на Python самостоятельно. Возможно, вам нужна только часть LaTeX. Возможно, вы сможете преобразовать синтаксис LaTeX во что-то более простое, например, в уценку, и преобразовать его в PDF.
Для набора математических данных вам может подойти катекс, как упомянуто в комментарии.
Возможно, ваш вариант использования позволяет вам создать архитектуру программного обеспечения клиент-сервер и выполнить компиляцию на сервере. LaTeX.Online имеет докер-контейнер для создания API.
Другие упоминали традиционный способ: просто упаковать зависимость.
Я не могу ожидать, что пользователи установят компилятор
Вот почему вам следует установить его вместе с остальной частью вашей программы.
MiKTeX обеспечивает бесшумную установку.
В TeX live есть аналогичные опции
Вам нужно будет включить в программу латексный компилятор.