Рендерер LaTeX для .NET? - PullRequest
       34

Рендерер LaTeX для .NET?

14 голосов
/ 01 октября 2009

Мне любопытно, существует ли собственный рендерер .NET для TeX / LaTeX. Самое близкое совпадение, которое мне удалось найти, - это реализация Java, JMathTeX . Я испытываю желание перенести это на C #, но прежде чем я сделаю это, я просто хотел бы проверить, знает ли кто-нибудь о реализации .NET там.

В настоящее время я думаю о том, чтобы использовать MiKTeX вместе с dvipng для компиляции источника TeX и рендеринга сгенерированного DVI в виде PNG, но я все еще волнуюсь, что это может привести к неприемлемому количеству накладных расходов, не говоря уже о необходимости связать MiKTeX с данной программой.

Ответы [ 3 ]

2 голосов
/ 05 февраля 2018

Чистая C # реализация Latex от Verybadcat.

Это порт C # замечательного движка iosMath LaTeX.

Сейчас работает в большинстве случаев. Некоторые примеры приведены ниже. Как ни странно достаточно, первый интерфейс - iOS. Однако, если вы хотите добавить интерфейс, такой как Xamarin.Forms или среда Windows, он должен быть возможным Вы должны будете определить свой собственный TypesettingContext и написать реализацию IGraphicsContext. TypesettingContext в Поворот имеет несколько компонентов, в том числе выбор шрифта. Надеюсь, ты не нужно было бы трогать основной набор текста двигателя. (Если вы делаете, я посчитал бы это ошибкой.)

CSharpMath example

2 голосов
/ 06 февраля 2018

Это очень давно, но я решил опубликовать ссылку на обновленный и расширенный порт проекта WPF-Math , который я начал не так уж долго после этого Оригинальный вопрос, и все же поможет сохранить в незначительном качестве. Изначально это был порт JMathTex , но с тех пор он расширился и стал включать гораздо больше. В данный момент он получает другие рендеры, кроме WPF.

2 голосов
/ 04 октября 2009

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

Конечно, это довольно большой проект, и он, вероятно, излишний для вашей проблемы.

...