Воссоздание эмуляции KaTeX в La / TeX? - PullRequest
0 голосов
/ 26 октября 2018

Я работаю над сайтом, который использует KaTeX для рендеринга математики. Тем не менее, интерфейс для ввода математического контента (на самом деле) не идеален, так что на самом деле мне быстрее работать в редакторе, таком как Sublime Text 3, и импортировать работу; однако проблема, с которой я сталкиваюсь, заключается в том, что при импорте я обнаруживаю, что различные функции / среды не поддерживаются (то есть эмулируются) KaTeX.

Если бы только я работал над материалом, я бы просто учился на ходу и просматривал страницу документации KaTeX; однако у меня есть несколько подрядчиков, работающих над оцифровкой контента, которые не имеют доступ к сайту (и я не могу предоставить им доступ) и поэтому не могут учиться методом проб и ошибок. Вместо этого я получаю стопки документов, которые необходимо отрегулировать вручную для рендеринга с KaTeX.

Таким образом, Я хотел собрать преамбулу для документа LaTeX, которая воссоздала бы способности (т.е. функции и среды), которые KaTeX может эмулировать, и задавался вопросом, существует ли уже такая преамбула / пакет? I Я пробовал несколько быстрых поисков, но, поскольку я ищу что-то, имитирующее эмулятор, мне сложно найти правильный выбор слов для получения релевантных результатов.

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

1 Ответ

0 голосов
/ 27 октября 2018

Поддерживаемые функции - это одно.Чтобы справиться с этим, у вас может возникнуть реальная возможность просто разбить на токены входные данные, найти последовательности имен с обратной косой чертой и сравнить их со списком, извлеченным из источников KaTeX, чтобы увидеть, какие из них поддерживаются.

Я думаю, можно даже попытатьсяудалите все остальные функции из LaTeX.Или, скорее, скрыть их, так что пользовательский ввод не может получить к ним доступ, но сторонние библиотеки могут.Избавиться от языковых функций (в отличие от макросов), таких как \def, возможно, будет еще сложнее.Лучше спросить на бирже TeX о том, что вы действительно хотите следовать по этому маршруту.

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

Если вы собираетесь использовать отдельный инструмент, вы можете написать его на JavaScript для Node и запустить KaTeX на входе.Таким образом, вы можете, по крайней мере, сказать, будет ли для него набрано значение что-то или возникнет ошибка.

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

Что касается существующих инструментов или пакетов макросов, я не знаю ни одного, кроме вопросов об инструментах или библиотекахвсе равно не по теме обмена стека.

...