Skip to end of metadata
Go to start of metadata

Создание статей и научных документов - это довольно большой труд. Инструментов, полностью удовлетворяющим требованиям современной публикации просто нет. Требования следующие:

  • Консистентное представление в виде разметки. Консистентность означает одинаковую отрисовку на разных платформах и формальную воспроизводимость в новых реализациях. Это должно быть текстовое представление, которое можно подружить с vcs. Есть в latex, markdown, html но нет в Word.
  • Математические выражения как минимум в latex формате (лучше в нескольких форматах).
  • Компиляция в html (pdf уже не является основным форматом). Нет в latex.
  • Консистентная нумерация формул и картинок. Есть только в latex.
  • Простое редактирование.
  • Расширяемость
  • Поддержка современных графических форматов и web-based визуализации.

Конкретные задачи:

  • Сделать специализированный markdown отрисовщик с использованием front matter метаданных и https://github.com/valich/intellij-markdown.
  • Сделать сборщик документа из фрагментов (предлагается использовать dataforge-data).
  • Разработать синтаксис для модульной вставки фрагментов на разных языках разметки


Спецификация

Генератор модно устроить следующим образом: сначала он переводит исходники во внутреннее представление из которого затем осуществляется экспорт в конечное представление.


Форматы конечного представления: 

  • HTML - понятно зачем.
  • LaTeX - для дальнейшей доработки под стиль журнала, плюс латех рендерит более читаемые pdf.

Исходники:

  • Kotlin DSL для автоматической генерации отчетов
  • Markdown — написан hello world для перевода md-текста во внутреннее представление с помощью парсера из intellij-markdown.
  • RST, частично TeX

Вопросы

Индексация и нумерация

Насколько обширной должна быть индексация? Мы моем отслеживать вхождение каждого элемента в область видимости и потом получать номер относительно достаточно произвольного набора областей, поэтом вопрос в том что именно нам нужно, а что можно не реализовывать.

Название?


Внутреннее представление


  • No labels