(La)TeX Веб-браузер

(La)TeX Веб-браузер

Сегодня утром у меня возникла идея, и я хотел бы ее воплотить в жизнь.делитьсяи узнать, разработал ли кто-то это уже где-то!

Группа Mozilla в настоящее время создает приложение JavaScript, способное преобразовывать любой код PDF в HTML5, поэтому вам не нужен плагин для внешнего чтения PDF (Adobe, Evince, Xpdf,...). В настоящее время это расширение, но в будущем оно может войти в ядро ​​браузера.https://github.com/mozilla/pdf.js.

Используя это и онлайн-текстовый редактор (codeMirror), некоторые мои приложения запускаютсяPDFlatexна стороне сервера...предоставляя некоторые (La)TeX онлайн-возможности. Это обычное дело.

А как насчет того, чтобы иметь тот же самый JavaScript, способный анализировать код (La)TeX напрямую и, конечно, отображать PDF, готовый к печати и ориентации страницы на вашем экране? Для конечного пользователя это веб-браузер PDF, но у него есть код (LaTeX) при запросе на просмотр исходного кода. Окончательный код HTML5 на самом деле не виден, за исключением отладки, и становится похожим на код сборки в классической разработке на C.

Это обеспечило бы доступ к исходному коду (LaTeX) любой научной статьи... вместо того, чтобы заново изобретать математическую формулу, и если я не ошибаюсь,Это И ЕСТЬ идея Кнутанесколько десятилетий назад при создании TeX. Люди должны делиться кодом (La)TeX, а не кодом DVI, PS или PDF. Клиентский браузер (Firefox, Chrome, Opera, Safari и другие) должен обрабатыватьPDFlatexобрабатывать локально!


Позвольте мне объяснить мои требования по-другому;

Я работаю в этой отрасли уже 20 лет и, как и многие из вас, я полагаю, использовал TeX и LaTeX в университете. Рассматривая наши реальные основные требования к системам документации, я думаю, что промышленность, по крайней мере критически важные встроенные системы, над которыми я работаю, нуждаются в:

  • Программируемая система документооборота, в которой вы можете обрабатывать требования клиентов в неформальных английских выражениях, чтобы выводить и автоматизировать множество вещей, таких как отслеживаемость требований, проектная документация, последовательности тестов и т. д.

  • Очень красивая/профессиональная визуализация, идеальные графики, таблицы, диаграммы...

  • Страхование того, что такой документ является такой версией и его содержимое не изменится. Интернет не предоставляет какой-либо "цифровой подписи/дайджеста", видимого на распечатке. Лучшая система "постоянной ссылки", "постоянного содержимого" - это формат PDF, и именно поэтому официальные документы имеют формат PDF (к сожалению, это неоптимизированный формат, но он используется везде, где вам нужны статические документы)

Хорошо известно, что PDF-документ, созданный в LaTeX, действительно лучше удовлетворяет этим требованиям, чем MS Word или другие приложения LibreOffice, когда в отрасли используются только последние.

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

Расширение jsPDF от Mozilla и встроенный в Chrome PDF-ридер делают первый шаг, показывая, что PDF-файлы действительно похожи на другие HTML-страницы (Google также их находит), и это очень важно для отрасли, которой требуются такие статические (постоянные ссылки/постоянное содержимое) документы.

Поскольку PDF-файлы наилучшего качества поступают из источников LaTeX/TikZ, теперь появилась возможность предоставить отрасли действительно эффективную систему документооборота в облаке.

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

Вы, возможно, правы, когда говорите, что это невозможно из-за сложности. У меня была точно такая же мысль два года назад о JavaScript PDF reader, и теперь кажется, что результат довольно хорош по сравнению с Adobe native reader.

Что касается JavaScript, я ненавижу этот язык, но это единственный язык, поддерживаемый на стороне клиента.

решение1

Не хочу портить вам удовольствие, но есть несколько моментов, которые следует учесть.

  • LaTeX — это просто формат/пакет макросов для макроязыка TeX. Но существует множество компиляторов TeX:

    • ТеХ
    • TeX с e-TeX
    • pdfTeX
    • XeTeX
    • LuaTeX
    • VTex
    • многие другие …

    Файл LaTeX может зависеть от конкретного компилятора, поскольку он использует функции компилятора, которые не предоставляются другими компиляторами.

  • Я не знаю JavaScript-версии TeX. Даже проекты, которые пытались использовать Java, в той или иной степени провалились (NTS, ExTeX).

  • Для компиляции файла могут понадобиться и другие программы:

    • Генерация индекса: Makeindex, Xindy
    • Библиография: bibtex, bibtex8, biber, …
    • Имеется функция выхода из оболочки, позволяющая вызывать внешние программы.
  • Файл LaTeX не говорит, как его следует компилировать, какие программы нужны и в каком порядке, какие аргументы, как часто, …

  • «Файл LaTeX» может быть организован в виде главного файла, включающего другие файлы, внешние изображения, …

  • Компиляция файлов LaTeX обычно требует возможности записи и чтения вспомогательных файлов.

  • Обычно файлу LaTeX нужны другие пакеты, файлы и шрифты. Поэтому вам, скорее всего, понадобится целый дистрибутив TeX с его (ежедневными) обновлениями.

Связанный контент