Closed fomkin closed 8 years ago
Приветствую, Алексей!
Благодарю за отклик. Отвечаю:
На небольшом экране (iPhone 6) при портретной ориентации примеры кода практически всегда переносится. То есть книга становится практически нечитаемой.
Да, это так. Но ведь у многих на руках ещё iPhone 5, однако подстраиваться под его 4-дюймовый экран в портретной ориентации я точно не стану, в противном случае строчки кода должны стать уж слишком короткими. Однако в горизонтальной ориентации даже на iPhone 5 код прекрасно читается, длины экрана вполне хватает.
Если же кто принципиально желает читать книгу на смартфоне и именно в портретной ориентации - я могу дать только один совет: читайте веб-вариант. Он адаптивный под малые экраны, и все примеры кода в нём имеют горизонтальную прокрутку, что исключает перенос и "скомкивание" кода.
В некоторых местах я заметил переносы (со знаком переноса) в коде.
Да?? Странно, не замечал. Нужно будет проверить тщательнее. Спасибо.
При этом текст идет без переносов, выровненный по двум краям.
Это сделано сознательно. В книгах на русском языке в EPUB-формате (я смотрел на примере классики) переносы есть, но текст имеет рваный край справа (по крайней мере, на 4-дюймовом экране в портретной ориентации). Я категорически не приемлю рваные края в тексте любой книги. Так что уж лучше пусть будет строгое выравнивание, но без переносов.
Это сделано сознательно. В книгах на русском языке в EPUB-формате (я смотрел на примере классики) переносы есть, но текст имеет рваный край справа (по крайней мере, на 4-дюймовом экране в портретной ориентации). Я категорически не приемлю рваные края в тексте любой книги. Так что уж лучше пусть будет строгое выравнивание, но без переносов.
А разве нельзя использовать и то и другое одновременно? Я правильно понимаю что в ePub запакована та же веб-версия? Вот пример где одновременно расставлены мягкие переносы и применено выравнивание по краям https://jsfiddle.net/t9c7td04/
И что, ты предлагаешь мне вставлять в каждое слово ­
?? Надеюсь, это шутка... ;-)
Переносы слов в PDF делает LaTeX, с помощью пакета polyglossia
и подгружаемого набора так называемых паттернов переносов для кириллических языков (проверял на украинском, тоже работает). LaTeX делает всё это полностью автоматически (как ты видишь, в словах в .md
-исходниках никаких переносов нет).
Если я найду автоматический способ расстановки переносов для EPUB - буду очень рад. Но пока не нашёл. Поэтому пусть уж остаётся явное выравнивание по обеим сторонам.
И что, ты предлагаешь мне вставлять в каждое слово
­
?? Надеюсь, это шутка... ;-)
Я предполагал, что Ипаб тоже ЛаТеХом генерируется. Вообще что бы расставить эти самые ­
нужно реализовать алгоритм Лянга-Кнута (он не сложный) и взять набор правил для русского языка из того же ЛаТеХовского пакета. Если ты скажешь куда это вставлять, то могу заняться.
Если ты скажешь куда это вставлять, то могу заняться.
Скажу. Перед формированием PDF/EPUB создаётся временный Markdown, состоящий из всех глав, склееных по порядку.
https://github.com/denisshevchenko/ohaskell.guide/blob/master/src/SingleMarkdown.hs#L26
Вот в этот временный Markdown ПЕРЕД тем, как его записывать в файл, и нужно вставлять все эти ­
. Код, реализующий эту вставку, лучше вынести в отдельный модуль, разумеется.
Вот в этот временный Markdown ПЕРЕД тем, как его записывать в файл, и нужно вставлять все эти . Код, реализующий эту вставку, лучше вынести в отдельный модуль, разумеется.
Окей. План такой:
Создам новую задачку под это дело. Заниматься я этим буду недели две как минимум, потому что опыта с хаскелем у меня нет.
Денис, здравствуйте! Я заметил ряд проблем в epub-версии и хочу про них рассказать. Читал в стандпртной айфоновской читалке.