Здравствуй Лор, есть одна книга, набрана в LaTeX. Но я осознал, что PDF не особо удобен для распространения в электронном виде. А конвертеры LaTeX → HTML (из которых у меня завелась только Hevea) — это тихий ужас. Решил всё перетащить на DocBook, чтобы потом наваять пачку XSLTшек и быстро клёво конвертировать текст в различные форматы.
Но есть проблема: LaTeX это язык программирования для людей, а XML — язык разметки для машин. Первое удобно читать, но невозможно парсить. Второе — наборот. Поэтому там, где в изначальном тексте определена пара удобных ad hoc макросов, в XML приходится или писать абсолютно несемантические простыни, или в очередной раз расширять схему докбука специальным тегом.
Особенно это чувствуется на математике, которой не особо много, но она записана в относительно извращённой специфичной нотации, которая даже в LaTeX выглядит жутко и сделана пачкой костылей. От MathML меня воротит и в простых случаях; во что превратятся мои исходники с раскрытыми макросами — это вообще страшно представить.
Хотя конечно можно сказать, что это абстракция, найти какую-то клёвую гуйню для набора формул, делать всё в ней и не присматриваться к итоговым выкидышам. Но вот тут и проявляется главная причина моей нелюбви к XML:
- с ним невозможно нормально удобно работать без спецсофта, заточенного под конкретную схему,
- конкретная схема плохо расширяется.
В итоге от этих редакторов как с козла молока, всё равно приходится сначала лезть и руками вкорячивать в схему теги, а потом руками продираться через простыни MathMLя и дописывать их там, где надо. Если с обычным текстом ещё как-то можно жить, расширяя язык подобным образом, то вот с математическими закарлючками специфического вида начинается форменная беда.
Есть кто-то, кто набирал математику сложнее «а³ + b³ ≠ c³» (с хитрым выравниваем по горизонтали/вертикали, пачкой символов, собранных на коленке, и прочим) в XML-форматах? Ну, или кто-то, у кого есть позитивный опыт использования LaTeX → HTML конвертеров в том же случае?
А может, стоит просто забить <фраза><слово>на</слово><словосочетание><слово>весь</слово><слово>этот</слово></словосочетание><словосочетание><слово>тихий</слово><слово>ужас</слово></словосочетание></фраза>
, простые макросы перегнать регэкспами, а формулы — в PNG, потому что потом те же проблемы возникнут с MathJax?
Или вообще забить на этот HTML, опубликовать PDF, к которому страничная разбивка прибита гвоздями (ну, и сверстать там варианты под три с половиной популярных читалки + по вкусу для мониторов), а кому так будет надо, то пусть сам <эвфемизм>занимается утехами</эвфемизм> со своим хатээмелем? Всё равно книга переводная под CC-BY-ND.
Энивей, мне действительно интересно, как эту проблему можно удобно решить именно для XML-based вёрстки. В данный момент я вижу только написание очередного специфичного софта.