С июня по август прошлого, 2015 года, на Хабре мною были опубликованы 18 статей, озаглавленные "Магия тензорной алгебры". Проект начинался как амбициозная попытка в относительно простой и доступной форме изложить теорию тензорного исчисления с её приложениями к практике.
В силу объективных причин, основной из которых является банальная нехватка времени на поддержку проекта он был приостановлен на неопределенный срок. Радовало лишь то, что какая-то часть работы была проделана, статьи остались в сообществе и могли приносить пользу своим существованием.
Но беда пришла оттуда, откуда её не ждали.
Из-за непонятного поведения ресурса, на котором рендерились формулы из первых статей, огромное количество формул превратилась в "тыкву'' и перестала отображаться. Было обидно, но руки не доходили исправить положение, да и понятно — занятие это не из приятных. Периодически получал сообщения с ВК о том, что люди находят мои статьи и не могут их прочесть из-за поломанных формул. Такое внимание к моим работам меня очень обрадовало и настроило на решимость рано или поздно разобраться со сложившейся ситуацией хотя бы по программе "минимум".
Спустя полгода после приостановки цикла немного времени таки нашлось. Спасло и то, что на месте покалеченых формул и в коде статей остались title-ы, призванные отображать поясняющий текст при выключенном отображении картинок в браузере. А в этих тайтлах был… LaTeX-код формул! Это позволило воспользоваться Math Text Editor, поддерживаемый Романом Парпалаком (@parpalak) для проведения востановительных работ. В итоге все статьи снова доступны в нормальном виде.
Дабы застраховаться от случайностей, мною был создан сборник статей. Он содержит все статьи цикла в оригинальном виде. Заранее прошу прощения за качество рендеринга pdf — перевести тексты в нормальный LaTeX всё так же нет времени. В качестве задела на будущую книжку, этот сборник все же LaTeX проект, просто вместо кода пока что исползуются команды
\includepdf{file.pdf}
, включающие в сборку отренедереные с помощью linux-утилиты wkhtmltopdf html-исходники. Очень надеюсь, что постепенно удасться заменить эти ссылки на полноценные качественные главы книги.Скачать сборник в формате pdf можно тут. Очень надеюсь, что проект не остановится.
P.S.: В очередной раз хочу поблагодарить Романа Парпалака за создание и поддержку ресурса Math Text Editor, без которого создание, а тем более восстановление статей проекта было бы невозможным.
Upd: На первую и вторую статьи у меня были latex-исходники. Третью статью, в качестве пробы сил перевел в TeX. Для этого потребовалось
- конвертировать имеющийся markdown в latex используя pandoc
- вручную внести некоторые правки касающиеся именования разделов
- заменить \[ и \] на $ $ в инлайн-формулах и на \begin{equation} \end{equation} в отдельных формулах.
- сделать символические ссылки на формулы
Надо сказать операция нудная, но, уверен, всё это "гавками" да "седами" можно автоматизировать
Комментарии (25)
BelBES
03.03.2016 17:15+8Давно пора на хабре запилить нативную поддержку TeX формул… странно, что это до сих пор не сделано.
maisvendoo
03.03.2016 17:20+2Странно, при том, что многие тематические форумы таковую имеют. Даже движок WordPress, который в кругах профессионалов считается плохим решением для создания хорошего ресурса — и тот недавно обзавелся поддержкой LaTeX. Правда через плагин, но все же
Keyten
03.03.2016 20:06+1Вообще говоря, подключить поддержку TeX на сайте — дело одной строчки кода. Вот примерно такой:
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML" async></script>
Этого достаточно, чтобы MathJax, который уже стандарт де-факто в отображении теха в браузере, подключился, начал радостно искать на странице формулы, заключённые в $$… $$ и превращать их в красивые картинки. А заодно и ASCII-Math в "обратных кавычках" (тех, что на ё, хабр их превращает в тег code), что немного другое.
Вот если говорить о LaTeX, то это сильно сложнее, но вряд ли LaTeX вообще имеет смысл в браузере.pehat
04.03.2016 00:31Я, конечно, ненастоящий джаваскриптер, но кажется, что в современных браузерах этого недостаточно – нужно еще на стороне сервера добавить cdn.mathjax.org в список доверенных origin. Поправьте, если ошибаюсь.
Keyten
04.03.2016 02:55Ошибаетесь.
Нельзя совершать кроссдоменные AJAX-запросы — да, тут именно вопрос доверенных origin.
А вот скрипты вставлять можно, на этом работают все CDN, а в прошлом основывалась поддержка кроссдоменного AJAX, называемая JSONP (вставляется скрипт, в адресе — параметры, внутри — переменная с ответом).
Maccimo
04.03.2016 17:36Рендеринг через JavaScript это не решение, а костыль. Решение это обработать текст статьи один раз на сервере и раздавать в готовом к употреблению виде.
Keyten
04.03.2016 23:20Узнав, насколько этот костыль мощный (вплоть до рисования коммутативных диаграмм), сложно продолжить называть его костылём.
И да, неравенство JavaScript != сервер неверное, вон KaTeX умеет рендерить внутри Node.
А так да, в чём-то вы правы.parpalak
05.03.2016 00:10Тем не менее, MathJax == клиент.
Посмотрите пост про мой редактор LaTeX + markdown. Я бы вообще не начал делать свой сервис по генерации качественных svg-картинок с формулами, если бы у MathJax не было недостатков.quverty
05.03.2016 00:35Наверное поэтому в том-же arXiv.org на странице с аннотацией предусмотрена возможность отключить MathJax и мне действительно пришлось отключить его на нетбуке. Хотя там обычно всего несколько формул и один экран текста всё отображалось с явной задержкой.
mtivkov
09.03.2016 23:38Недавно попробовал svg на мегамозге использовать как картинку — так оказалось, что habrastorage этот формат картинкой не считает, у себя не сохраняет.
Так что отдельный сервис без изменений на хабре все равно не решит проблему.
quverty
03.03.2016 22:00WordPress этим уже достаточно давно обзавёлся, по крайней мере я в основном именно поэтому завёл блог на wordpress.com лет пять назад. Правда чудеса там иногда случаются. Например вдруг все формулы после какой-то начинают выдавать ошибку, что бы ты ни делал.Так что писать много формул в одном посте немного рискованно.
iroln
03.03.2016 18:32+2Покажите эту статью рулевым хабра. Им нужно было сделать поддержку LaTeX на сайте ещё тогда, когда они habrastorage выкатили. Раньше картинки исчезали, теперь вот формулы исчезают. Что они тянут с этим делом столько лет — не понятно.
varagian
03.03.2016 18:48+1Идея неплохая и к ней очень стоит добавить полноценный ТеХ в уравнениях (я видел комментарий, про то, что это непросто). Попробовал оценить и прочитать первые несколько страниц — очень тяжело воспринимаются рисованные формулы. Также что-то со шрифтом начиная с первой части — он отличается от введения и читается как-то тяжелее. Даже, если исправить только вводные части, качество значительно возрастёт.
Тут вот какой момент, читаю статьи с высоким содержанием матана каждый день и нереально воспринимать материал в больших количествах, если в нем есть проблемы с оформлением. Более того в сообществе преобладает мнение, что если материал оформлен небрежно, то и к содержанию было такое "неаккуратное" отношение.maisvendoo
03.03.2016 19:53+1если материал оформлен небрежно, то и к содержанию было такое «неаккуратное» отношение.
Сам терпеть не могу неаккуратно оформленное. Со временем переделаю, однако пока так. Сейчас всё время уходит на работу, на которой тоже пишу аж целый учебник
maisvendoo
03.03.2016 20:57(я видел комментарий, про то, что это непросто)
Технически это несложно. Формулы в LaTeX-е я рублю как Чапай белогвардейцев. Собственно после этого необходимость делать то же самое в ворде вызывает зубную боль.
И дело даже не в наборе — ведь они уже набраны. Но написать толковую книжку, путем даже копипасты всё равно требует времени.
Но постепенно переделаю. Выложенный документ для страховки — чтобы совсем не кануло в небытие
xenohunter
03.03.2016 19:48По ссылке на ваш сайт — сообщение от регистратора: "Истёк срок регистрации домена".
maisvendoo
03.03.2016 19:51Да, истек сегодня, но я только что продлил этот домен, так что всё должно быть в порядке
P.S.: Цены выросли в 2 раза по сравнению с предыдущим годом. Зона орг теперь стоит 917 руб
6opoDuJIo
04.03.2016 01:02О, круто, спасибо.
А я от отчаяния уж начал перерендеривать формулы скриптами.
Finom
05.03.2016 15:35Спасибо. К сожалению, шрифт в PDF разный: то в читабельном размере, то очень мелкий.
maisvendoo
05.03.2016 16:11+2Первые три статьи я уже переделал в нормальный LaTeX. На очереди очередные )
Ramires
Идея с pdf очень хорошая. Еще бы рядом положить epub. Ну да ладно, это и сами можем сконвертировать.