top of page
  • Фото автораАнтон Гришин

Деваться некуда: генерируем сноски в Sigil

Французская «Ассоциация общественного и нравственного содействия» пыталась засудить Бориса Виана за вызывающие романы Вернона Салливана. Поначалу Виан утверждал, что выступил только как переводчик, и даже попытался создать англоязычный вариант романа «I shall spit on your graves», с которого якобы переводил всё это непотребство. Суд закончился ничем, а самому Виану довольно быстро осточертело смотреть на вялый интерес к своим гениальным модернистским романам и на шумиху вокруг пародийных романчиков Вернона Салливана (120 000 проданных экземпляров первого романа Салливана за 2 года — этот прикол слишком далеко зашёл). Вскоре он вообще завязал с писательством, ему было чуть-чуть за 30.


Неоконченным и даже почти не начатым остался пятый роман Салливана, для которого Виан в 1950 году набросал сипопсис и первые 4 главы. Но — забросил и этот роман, и прозу вообще, переключился на сочинение песен и стихов. Умер Виан в 1959 году тоже, можно сказать, от рук Вернона Салливана, а именно на премьере французской экранизации «Я приду плюнуть на ваши могилы», которой он был крайне недоволен и требовал снять своё имя с титров. А последний роман Салливана ждал своего часа 60 лет, пока наследники Виана не отнесли наброски в УЛИПО — интереснейшее творческое объединение писателей и математиков (!), в первом составе которого были сплошь друзья и литературные соратники Виана, образованное через год после его смерти.


Конечно, такой роман, дописанный за автором целым творческим объединением, не мог остаться без обширного комментария. И даже двух видов примечаний: постраничных и затекстовых. Одна беда — создатели EPUB-версии русскоязычного издания не справились с затекстовыми примечаниями и не связали их гиперссылками с основным текстом. Задачка улучшить этот EPUB не была сложной (мы видали епабы и похуже), но, может быть, кому-то пригодится такой пример использования регулярных выражений в Sigil.


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


Для удобства временно объединяем весь основной текст в один xhtml-файл. Потом ищем все символы в тексте с определённым стилем:

<span class="nadindex(.*?)">(.*?)</span>

и генерим нормальные ссылки на xhtml-файл с примечаниями (не забывая «Правила хорошего EPUB» и тег <sup> для верхнего индекса вместо маловразумительного <span>):

<sup><a id="footnote-100\2-backlink" class="_idFootnoteLink _idGenColorInherit" href="comments.xhtml#footnote-100\2">\2</a></sup>

После этого нам необходимо создать обратные ссылки из примечаний в основной текст с помощью чуть более заковыристого регулярного выражения (потому что тут нужно ещё обернуть примечания в <div> и сохранить не только номер сноски, но и текст примечания). Меняем

<p class="komment _idGenParaOverride-1" lang="ru-RU" xml:lang="ru-RU"><span class="nadindex(.*?)">(.*?)</span>(.*?)</p>

на:

<div id="footnote-100\2" class="_idFootnote"><p class="snoska" lang="ru-RU"><sup><a class="_idFootnoteAnchor _idGenColorInherit" href="text.xhtml#footnote-100\2-backlink">\2</a></sup>\3</p></div>

И остаётся проверить, не попались ли нам примечания, состоящие из нескольких абзацев, поправить это и обратно разрезать главы на xhtml-файлы с помощью подстановки маркера разделения Sigil перед открывающими тегами заголовков. В общем, 10 минут дополнительной работы — и читатель электронной версии книги сможет с помощью работающих сносок полностью погрузиться в контекст создания этого произведения.


Наверное, вы уже поняли, что деваться некуда — нужно читать свежего Виана/Салливана/УЛИПО. Эксклюзивно в Строках.




Comments


Commenting has been turned off.
bottom of page