LINUX.ORG.RU
ФорумTalks

Набор (не простой) математики в DocBook

 , , ,


0

2

Здравствуй Лор, есть одна книга, набрана в LaTeX. Но я осознал, что PDF не особо удобен для распространения в электронном виде. А конвертеры LaTeX → HTML (из которых у меня завелась только Hevea) — это тихий ужас. Решил всё перетащить на DocBook, чтобы потом наваять пачку XSLTшек и быстро клёво конвертировать текст в различные форматы.

Но есть проблема: LaTeX это язык программирования для людей, а XML — язык разметки для машин. Первое удобно читать, но невозможно парсить. Второе — наборот. Поэтому там, где в изначальном тексте определена пара удобных ad hoc макросов, в XML приходится или писать абсолютно несемантические простыни, или в очередной раз расширять схему докбука специальным тегом.

Особенно это чувствуется на математике, которой не особо много, но она записана в относительно извращённой специфичной нотации, которая даже в LaTeX выглядит жутко и сделана пачкой костылей. От MathML меня воротит и в простых случаях; во что превратятся мои исходники с раскрытыми макросами — это вообще страшно представить.

Хотя конечно можно сказать, что это абстракция, найти какую-то клёвую гуйню для набора формул, делать всё в ней и не присматриваться к итоговым выкидышам. Но вот тут и проявляется главная причина моей нелюбви к XML:

  1. с ним невозможно нормально удобно работать без спецсофта, заточенного под конкретную схему,
  2. конкретная схема плохо расширяется.

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

Есть кто-то, кто набирал математику сложнее «а³ + b³ ≠ c³» (с хитрым выравниваем по горизонтали/вертикали, пачкой символов, собранных на коленке, и прочим) в XML-форматах? Ну, или кто-то, у кого есть позитивный опыт использования LaTeX → HTML конвертеров в том же случае?

А может, стоит просто забить <фраза><слово>на</слово><словосочетание><слово>весь</слово><слово>этот</слово></словосочетание><словосочетание><слово>тихий</слово><слово>ужас</слово></словосочетание></фраза>, простые макросы перегнать регэкспами, а формулы — в PNG, потому что потом те же проблемы возникнут с MathJax?

Или вообще забить на этот HTML, опубликовать PDF, к которому страничная разбивка прибита гвоздями (ну, и сверстать там варианты под три с половиной популярных читалки + по вкусу для мониторов), а кому так будет надо, то пусть сам <эвфемизм>занимается утехами</эвфемизм> со своим хатээмелем? Всё равно книга переводная под CC-BY-ND.

Энивей, мне действительно интересно, как эту проблему можно удобно решить именно для XML-based вёрстки. В данный момент я вижу только написание очередного специфичного софта.

★★★

Или вообще забить на этот HTML, опубликовать PDF

this. и заодно исходник латеховский в нагрузку прикреплять.

dikiy ★★☆☆☆
()
Последнее исправление: dikiy (всего исправлений: 1)

Если бы я сейчас занимался изданием чего-либо, то сделал бы просто LaTeX → PDF. Будет ли столь большой выигрыш от доступности читаемой HTML-версии, если PDF всё равно читают все?

eveel ★★
()

А зачем для математической книги HTML? Полнотекстовый поиск отлично работает по pdf, ссылки тоже, сайдбар с содержанием в просмотрщике можно включить, а больше в нём ничего полезного и нет. Разве что шапку сайта на каждой странице не разместить, и баннеры не развесить, но может и ну их?

Вообще если формул много и сложных, то проверенный человеком PDF предпочтительнее любой автоматической генерации. Правильное расположение формулы на странице (переносы, отступы) — это вообще неформализуемое искусство, дающее до 100% бонуса к понятности, и для него нужен человеческий присмотр.

Так что голосую за вариант «сверстать вариант под A4 и какую-нибудь популярную читалку». Монитор пусть каждый настраивает сам, а для особо экзотических случаев есть исходники и стили TeX.

alpha ★★★★★
()

PDF для того и существует. Тем более если

сверстать там варианты под три с половиной популярных читалки + по вкусу для мониторов

то вы вообще святой человек. Ну как максимум - fb2 + картинки для любителей fb2-читалок или обладателей ультраредких но извращенных дислпеев, ну типа они ССЗБ

Nicholass ★★★
()
Ответ на: комментарий от alpha

А зачем для математической книги HTML?

Вообще книга о Лиспе (двадцатилетней давности, ага), там все эти сотни букв сконцентрированы по большей в одной главе о λ-исчислении. Они не особо пестрят именно что математическими символами, но немного витиеватые.

Будет ли столь большой выигрыш от доступности читаемой HTML-версии, если PDF всё равно читают все?
Вообще если формул много и сложных, то проверенный человеком PDF предпочтительнее любой автоматической генерации.

Не знаю, что-то меня переклинило на HTML после того, как увидел, во что PDF-рефлоу превращает книжки. Типа, хочу православный EPUB, все дела. Но вот как начал её перетаскивать, всё время гложет эта мысль про тот ужоснах, который выйдет из формул и иллюстраций. Особенно мои любовно расставленные поправочки к кернингу и всё такое :3

Так что голосую за вариант «сверстать вариант под A4 и какую-нибудь популярную читалку». Монитор пусть каждый настраивает сам, а для особо экзотических случаев есть исходники и стили TeX.

Так что, наверное, вот так и будет. *с облегчением (и одновременно печалью от собственной тупости) сбросил оковы XMLя*

и заодно исходник латеховский в нагрузку прикреплять.

Естессно.

ilammy ★★★
() автор топика

А в чем проблемы с MathJax? Довольно общепринятый способ представления формул в вебе.

P.S. Глянул MathML, Chrome - поддержка 2.0 только с версии 24. И вообще, MathML - какая-то гадость. Примитивные формулы без окружений equation и других, выравнивания и прочего.

iVS ★★★★★
()
Ответ на: комментарий от iVS

А в чем проблемы с MathJax? Довольно общепринятый способ представления формул в вебе.

Да пока никаких. Просто из того, что нагуглил, MathJax показался единственным вменяемым вариантом. Но это же не полная реализация TeXа на Джаваскрипте, которой можно просто скормить все мои формулки, по уши утыканные макросами. Определения придётся раскрыть, отфильтровать оттуда всё, что MathJax не умеет, и так далее. И желательно делать это автоматически.

ilammy ★★★
() автор топика

Не страдай фигнёй.

В принципе можно довести напильником latex2html, но напильников придётся брать несколько.

Evgueni ★★★★★
()

Простите за наглость, а можно ссылочку на книгу?

luke ★★★★★
()
Ответ на: комментарий от ilammy

во что PDF-рефлоу превращает книжки

обмани систему, переведи текст в кривые ;)

static_lab ★★★★★
()

dblatex всё равно работает весьма криво, его разве что альтовцы для своей документации сумели обстроить системой костылей и подпорок. По существу можно посмотреть, как в gwyddion документация генерится, там как раз достаточно сложная техническая литература в формате docbook, но русский перевод местами криво в pdf переводится (таких мест не очень много осталось, но всё равно есть).

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

По существу можно посмотреть, как в gwyddion документация генерится

Из рабочих примеров есть Red Hat cо всеми доками в docbook. Они специально для технической документации разработали дополнительный инструмент — publican, который заворачивает docbook в более удобную обертку.

См. http://jfearn.fedorapeople.org/en-US/Publican/3.2/html/Users_Guide/

И сайт http://docs.fedoraproject.org как пример коллекции документации. Тоже всё автоматически через publican выгружается.

alpha ★★★★★
()
Ответ на: комментарий от roof

Простите за наглость, а можно ссылочку на книгу?

Подписался на тему в надежде увидеть ссылку на книгу :)

Выложу, как

сверстать там варианты под три с половиной популярных читалки + по вкусу для мониторов

будет готово. Хотя бы A4-версия. Могу, конечно, залить прям щас текущий снепшот; оно кому-то надо недовёрстанное, слегка недовычитанное и не проверенное на собирабельность на чистой машине? Я даже название ещё не придумал, лол. И отмашку от автора ещё бы получить. Так что stay tuned.

ilammy ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.