Предложение по оформлению пьес средствами FB2 и CSS

(зеркала: http://www.flibusta.net/node/93482 и http://www.the-ebook.org/forum/viewtopic.php?t=17420)
(Извиняюсь, если обсуждаемая тема где-то уже существует, сам не нашёл, если кто знает, где обсуждалось, прошу кинуть в меня ссылкой.)

Делаю пьесу. Большую, навороченную - с ремарками в разрывах реплик, с одновременными репликами, а также со сносками, комментариями, со здоровенным авторским предисловием и переводчицким послесловием. Для пущего "пьесоподобия" использую CSS (правда, пока я знаю только один CSS-capable вьюер - CoolReader 3), но даже его возможностей не хватает. Приходится придумывать на ходу. Ну и вот... родился CSS-стиль оформления, хочу им поделиться.

Чуть-чуть предисловия об использовании CSS в FB2:
Хорошо, если требующих CSS-вмешательства мест мало; но с пьесой не так - она вся требует вмешательства:

  • список действующих лиц - не помешает каждую строку отделить от соседних интервалом хотя бы в полстроки;
  • реплики хорошо бы сделать "висячим" абзацным отступом - первая строка абзаца-реплики вплотную к левому краю, последующие - чуть отступя;
  • ремарки 2-го рода (http://www31.ru/book/special-registration/303-remarki.html) не помешает целиком отодвинуть от левого края и дать шрифтом чуть поменьше;
  • ремарка 2-го рода может разорвать реплику - тогда "хвост" реплики надо дать тем же шрифтом и с тем же сдвигом, что и обычную реплику, но без висячего отступа;
  • ремарка 1-го рода (как, впрочем, и 2-го) может выделяться уменьшенным кеглем;
  • ремарку 2-го рода неплохо бы отделить от реплик (но не от других абзацев той же ремарки!) пустым пространством высотой где-то в 60-80% пустой строки;
  • и т.д. - я тут не специалист, просто пару часов порылся в инете. :-(
FB2 позволяет задавать CSS-стиль для абзаца либо индивидуально (атрибут "style" тэга "p"), либо (не очень большими) группами - нужные абзацы помечаем уникальными идентификаторами (атрибут "id") и перечисляем их в stylesheet'е - например, для ремарок 2-го рода это может выглядеть так:
p[id="rem_001"], p[id="rem_002"], p[id="rem_003"],
p[id="rem_004"], p[id="rem_005"], p[id="rem_006"],
p[id="rem_007"] {
  text-indent: 0px; margin-left: 2.3em; font-size: 87%;
  margin-top: 0.4em; margin-bottom: 0.4em;
}
Недостаток первого способа - громоздкость (в каждом абзаце надо полностью расписать его особенности внешнего вида) и трахоёмкость согласованного изменения; второго - тоже громоздкость (в stylesheet'е надо полностью перечислить id'ы всех оформляемых одним стилем абзацев - а если это, как в уважающей себя пьесе, несколько тысяч реплик?), обоих - нельзя перегнать настройки в конфигурацию вьюера, а нужно тащить непосредственно в документе.
Кроме того, для присобачивания стиля к взаимодействию подряд идущих тэгов - что обычно выражается как
тэг1 + тэг2 {
  отдельные-настройки-для-второго-тэга-если-он-идёт-за-первым;
}
- придётся уже перечислять все возможные пары меток первого и второго абзацев, т.е. объём перечисления пар абзацев с метками растёт, ясен перец, в геометрической прогрессии. :-(
(Правда, CSS позволяет ещё пару трюков: "тэг[атрибут] { ... }" позволяет задать настройки для тэга с любым непустым значением атрибута; "тэг[атрибут=""] { ... }" - для тэга с пустым значением атрибута.
Но в нашем случае это мало что даёт; вот если бы можно было задать для атрибута маску или регулярное выражение...)

В спецификации формата FictionBook версии 2.0 у абзаца был ещё один атрибут - "class"; его использовать было бы удобнее всего, но увы - начиная с FB 2.1 он уже не поддерживается, а fb2-файлы с class'ом считаются невалидными. :-(
Так вот, я придумал забавный выход из положения - честно говоря, это хак и я не уверен, что эта фишка будет срабатывать везде и всегда. Идея (впервые её высказал viktorz) простая как дрова: в атрибуте "style" прописывать не CSS-значение стиля, а просто имя, которое не совпадает ни с одним ключевым словом языка CSS (а заодно - и ни с одним именем тэга FB2 и HTML). Соответственно, использование атрибута "style" начинает ничем не отличаться от атрибута "class": можно писать почти что угодно и не заботиться об уникальности. Кстати, известные мне валидаторы ни слова поперёк не говорят. :-)
Собственно предложение по оформлению:
Во-первых, оформление элементов силами FB2 - чтобы пьеса хоть как-то выглядела на ридерах, не поддерживающих CSS:
  1. Действующие лица: каждое отдельной строкой, имя strong'ом, комментарий к нему - обычным шрифтом:
    Цитата:
    <p><strong>Брамик</strong> - начальник тюрьмы, лейтенант.</p>
  2. Реплика: персонаж выделяется тэгом "strong" (точка после имени в strong не входит):
    Цитата:
    <p><strong>Незнакомец</strong>. Он согласен встретиться с вами.</p>
  3. Ремарка первого рода: выделяется тэгом "emphasis" вместе с окружающими её круглыми скобками (точка после круглой скобки в случае, если ремарка следует сразу за персонажем, в emphasis не входит):
    Цитата:
    <p><strong>Стелла</strong> <emphasis>(слышен только голос)</emphasis>. Майкл, здесь какой-то тип, говорит, будто он... Филипп Стоун. <emphasis>(Хихикает.)</emphasis></p>
  4. Ремарка второго рода: весь текст внутри ремарки берётся в emphasis, персонажи дополнительно выделяются strong'ом:
    Цитата:
    <p><emphasis>Луч прожектора высвечивает <strong>Филиппа Стоуна</strong>. Ему за шестьдесят. Он грузный, седой, элегантный, властный.</emphasis></p>
Во-вторых - имена стилей. Предлагаю метить абзацы в тексте пьесы - реплики и ремарки - следующими стилями:
  1. Действующее лицо: character.
  2. Продолжение списка "родственных" действующих лиц: character2.
  3. Реплика: cue.
  4. Ремарка первого рода: поскольку отдельным абзацем не является - никак не метить, хватит с неё того, что она в empasis'е.
  5. Ремарка второго рода: remark.
  6. Продолжение реплики после ремарки 2-го рода: cue2.
Пример 1:
Цитата:
<p style="character"><strong>Андрей Кудрявцев</strong> - командир красноармейского отряда.</p> <p style="character"><strong>Запалка</strong> - его помощник.</p>
<p style="character"><strong>Микола</strong>,</p>
<p style="character2"><strong>Казимир</strong>,</p>
<p style="character2"><strong>Федор</strong> - красноармейцы.</p>
<p style="character"><strong>Лейбка</strong>,</p>
<p style="character2"><strong>3ямка</strong> - подростки - воспитанники Красной армии.</p>
<p style="character"><strong>Марианна</strong> - мать Андрея Кудрявцева.</p>
<p style="character"><strong>Самуил</strong> - старый рабочий, сапожник.</p>
Пример 2:
Цитата:
<p style="cue"><strong>Ева</strong> <emphasis>(вбегая)</emphasis>. Что? Где?</p>
<p style="remark"><emphasis>Адам указывает на лань.</emphasis></p>
<p style="cue2">Ой! <emphasis>(Приближается к трупу.)</emphasis></p>
<p style="remark"><emphasis>Адам, осмелев, следует за ней.</emphasis></p>
<p style="cue2">Что у нее с глазами?</p>
<p style="cue"><strong>Адам</strong>. Не с одними глазами. Вот, посмотри. <emphasis>(Толкает труп ногой.)</emphasis></p>

И в-третьих - собственно CSS-описание стилей. Его можно включать в stylesheet, но ИМХО более удобное место для него - в настройках вьюера. Простейший пример - персонажи в репликах и ремарках выделены разрядкой, ремарки первого и второго рода - прямым шрифтом и уменьшенным кеглем, реплики снабжены висячими отступами, ремарки второго рода сдвинуты вправо:
 <stylesheet type="text/css">
  p[style="character"], p[style="character2"] {
   text-indent: 4em hanging; margin-top: 0em; margin-bottom: 0em;
   text-align: left; hyphenate: none;
  }
  p[style="character"] + p[style="character"],
  p[style="character2"] + p[style="character"] {
   margin-top: 0.6em;
  }
  p[style="cue"] {
   text-indent: 2em hanging;
  }
  p[style="cue2"] {
   text-indent: 0px; margin-left: 2em;
  }
  p[style="remark"] {
   text-indent: 0px; margin-left: 2.3em; font-size: 87%;
  }
  p[style="character"] strong, p[style="cue"] strong, p[style="cue2"] strong, p[style="remark"] strong {
   font-weight: inherit; letter-spacing: 0.2em;
  }
  p[style="cue"] emphasis, p[style="cue2"] emphasis {
   font-style: inherit; font-size: 87%;
  }
  p[style="remark"] emphasis {
   font-style: inherit;
  }
  p[style="remark"] + p[style="cue"], p[style="remark"] + p[style="cue2"] {
   margin-top: 0.8em
  }
  p[style="cue"] + p[style="remark"], p[style="cue2"] + p[style="remark"] {
   margin-top: 0.92em
  }
 </stylesheet>

Ну вот... Где-то так.

Прошу обсуждать, хаять и предлагать. :-)

11/01/2011 Список style'ей дополнен style'ом character2; поправлены примеры.

Комментарии

Диалог с rr3 подсказал ещё одну идею. Излагаю.
Пьесовая style'изация не обязательно требует от FB2-вьюера, чтобы он поддерживал CSS! Вполне хватит при анализе FB2-дерева, кроме тэгов, учитывать атрибут "style" тэга "p", добавить в набор обрабатываемых сущностей, к заголовкам/цитатам/эпиграфам и т.д., реплики, ремарки и персонажей, а в настройки отображения - установку для них шрифта, выделения, выравнивания, отступа и прочего необходимого.
Т.е. поддержку драматургии можно добавить в любой FB2-вьюер ценой сравнительно небольших трудозатрат на доработку. Кто возьмётся доработать любимый вьюер самостоятельно или предложить идею доработки его автору?

Оказывается, идея высказывалась ещё раньше - в феврале 2007: http://www.fictionbook.org/forum/viewtopic.php?p=25544#p25544
Я не первый, кто задумался, - это радует. :)

Пара совсем ламерских вопросов:
1. При чтении книги онлайн на либрусеке/флибусте CSS стили учитываются?
2. Об оформлении пьес в стихах вы что думаете?

Просто раньше, когда сталкивался с пьесой в стихах делал так:

Цитата:
<subtitle>ТРЕМЕНС:</subtitle>
<poem>
<stanza>
<v>Любовь?</v>
</stanza>
</poem>
<subtitle>ЭЛЛА:</subtitle>
<p><emphasis>(садится на ручку кресла)</emphasis></p>
<poem>
<stanza>
<v>            Не знаю… Странно это все…</v>
<v>Совсем не так, как в песнях… Этой ночью</v>
<v>мне чудилось: я — новый, белый мостик,</v>
<v>сосновый, кажется, в слезах смолы, —</v>
<v>легко так перекинутый над бездной…</v>
<v>И вот я жду. Но — не шагов пугливых,</v>
<v>нет, — жаждал мостик сладко поддаваться,</v>
<v>мучительно хрустеть — под грубым громом</v>
<v>слепых копыт… Ждала — и вот, внезапно,</v>
<v>увидела: ко мне, ко мне, — пылая,</v>
<v>рыдая, — мчится облик Минотавра,</v>
<v>с широкой грудью и с лицом Клияна!</v>
<v>Блаженно поддалась я, — и проснулась…</v>
</stanza>
</poem>

Но это, видимо, не совсем правильно. Тэг poem, по-моему, должен охватывать всю пьесу. Тогда непонятно что делать с ремарками. Действующих лиц (актеров) под соусом subtitle в poem еще можно всунуть. А вот конструкцию типа <p><emphasis> - явно не удастся.

ЗЫ Кстати, спасибо за ссылку на www31.ru Надо обязательно ознакомиться.

bokonon83 написал:
1. При чтении книги онлайн на либрусеке/флибусте CSS стили учитываются?

Ни разу не видел. Вернее, не раз видел, что напрочь игнорируются. :-(
bokonon83 написал:
2. Об оформлении пьес в стихах вы что думаете?
Пока никак не думал. В упор не помню, как это оформлялось в книгах - на бумаге встречал после школы крайне редко, в домашней библиотеке ничего нет. :-(
bokonon83 написал:
Цитата:
<subtitle>ЭЛЛА:</subtitle>
<p><emphasis>(садится на ручку кресла)</emphasis></p>
<poem>
<stanza>
<v> Не знаю… Странно это все…</v>
[...]
</stanza>
</poem>
Персонажей давать subtitle'ами ИМХО никаким боком не комильфо; я б сделал бы по той же идее из стартового поста - персонажей strong'ом в стиле "cue" и ремарки как там же.
bokonon83 написал:
Тэг poem, по-моему, должен охватывать всю пьесу.
Всю не получится - есть ещё section'ы и - таки да - ремарки. :-( Придётся poem'ами обвязывать только отдельные реплики. :-(
Неудачно, что ни poem, ни stanza не имеют атрибутов, которые можно было бы назначить на роль стиля. :-) :-(
PS. http://www31.ru/book/special-registration/301-oformlenie-pes.html
PPS. FB2 - для структурирования, CSS - для придания внешнего вида! :-)

Ясненько. Почему субтайтлы? Пьесы в стихах я оформлял в соответвии с шаблоном 4а: http://www31.ru/book/special-registration/302-osnovnojj-tekst-i-naimenovanija-dejjstvujushhikh.html, который подразумевает выравнивание актера по центру (от себя добавил только прописные, наверное зря). Кстати, этот же стиль иногда применяется и для оформление пьес в прозе (там же). В fb2 по центру выравниваются только субтитлы. К сожалению, пока в большинстве вьюверов не предусмотрена поддержка стилей, думаю придется оставить в таком виде. Но вашим предложением воспользуюсь - т.е., если позволит лень, пропишу стили для ремарок и актеров (надо еще будет про стили почитать). Т.к. это как раз и приведет к дальнейшей структуализации текста (ведь если принять соглашение что актер всегда имеет стиль "act" когда пишется посредине и с новой строки, а ремарка - remark, то для програмиста не составит труда написать читалку, реагирующую на ремарки и актеров).

Еще несколько ламерских вопросов:
1. Свойство style можно засунуть в субтайтл? Если нет - плохо. Тогда думать буду. Возможно и откажусь от subtitla.
2. Вы можете предложить номенклатуру названий стилей для актеров/ремарок/текста в пьесах в стихах. (Актер нужен, т.к. он тут всегда с новой строчки).

bokonon83 написал:
(от себя добавил только прописные, наверное зря)
ИМХО таки зря - превратить нормальный текст в прописные можно и CSS-стилем, а обратно - уже нечем. :-(
bokonon83 написал:
В fb2 по центру выравниваются только субтитлы.
Всё равно: субтитры - не элемент форматирования "по центру жирным увеличенным курсивом", а элемент структурирования подглав. И переструктурировать потом на какой-то другой язык "на автомате" будет затруднительно. :-(
bokonon83 написал:
пока в большинстве вьюверов не предусмотрена поддержка стилей, думаю придется оставить в таком виде. [...] для програмиста не составит труда написать читалку, реагирующую на ремарки и актеров
http://lib.rus.ec/node/267875#comment-156962 - вроде бы вполне реализуемо без массированной переделки вьюера...
bokonon83 написал:
приведет к дальнейшей структуализации текста (ведь если принять соглашение что актер всегда имеет стиль "act" когда пишется посредине и с новой строки, а ремарка - remark
Можно. Но если структурировать аж до такой степени - то придётся персонажа и его текст писать разными абзацами, а сливать абзацы в один CSS'ом - то ещё геморроищё. :-( Опять же, до хренищща ручной работы при разделке сырых сканов. Я это тоже обдумывал, отказался.
С другой стороны, если считать, что p[style="cue"] > strong - персонаж, p[style="cue"] > emphasis - ремарка первого рода, а всё остальное - собственно текст реплики, то разделить (и переформатировать по-другому - не во вьюере, понятно, а в конвертере в другой формат) получается проще, чем чесать в затылке над каждым subtitle'ом - то ли это персонаж в пьесе, то ли подзаголовок в предисловии/комментарии к ней. :-(
Для пьесы со стихами, понятно, добавятся poem'ы, которые можно трактовать как p[style="cue2"].
bokonon83 написал:
Свойство style можно засунуть в субтайтл?
Кондратович http://lib.rus.ec/b/189154 пишет, что таки да, а fb2validator подтверждает отсутствием претензий к <subtitle style="test">. :-)
bokonon83 написал:
предложить номенклатуру названий стилей для актеров/ремарок/текста в пьесах в стихах. (Актер нужен, т.к. он тут всегда с новой строчки).
То же самое: cue - начало реплики (для "в стихах" вполне может состоять из одного только имени персонажа в strong'е плюс (необязательной) ремарки 1-го рода в empasis'е), cue2 - её продолжение (опять же - может содержать только ремарку) и т.д.
И я б таки отказался бы от subtitle'а - для пущего неумножения сущностей :-) и уменьшения геморроев при выводе в CoolReader'е: это ж придётся отменять размер шрифта, жирность/курсивность, интервалы сверху-снизу и т.д. - а отменить свойство в CSS геморройнее, чем назначить. :-(

Вообще-то внутри тэга poem может присутствовать как subtitle, так и title.
Валидности это не мешает. Удивительно, но факт.

Zadd написал:
внутри тэга poem может присутствовать как subtitle, так и title.
(грустно) Намекаешь, что можно делать poem на всю пьесу, а персонажей text-author'ами и ремарки subtitle'ами (или наоборот)? Ща проверю...
Ага, таки да, title входить может. В количестве от силы одной штуки, и то только в начале. Ну а толку? А реплики прозой - чем, epigraph'ами делать? :-(

Есть первая пьеса, оформленная по предложенной методике, - Бернард Шоу "Назад к Мафусаилу". На CR2.0.66 и CR3.0.40 пошла на ура. (Ну, почти: почему-то не видна разрядка на фоне курсива - буду спрашивать Buggins'а.)

Я вот всё думаю, а зачем всё это? Пьесы можно прекрасно оформлять и без CSS-стилей. Зачем усложнять процесс?

Алексей_Н написал:
Зачем усложнять процесс?
Для потом поюзать в случае смены FB2.1 на более другой формат. А ещё для настроек вывод на вьюерах, которые CSS не понимают, но используют XML-парсеры, позволяющие брать атрибуты элементов (см., например, http://lib.rus.ec/node/267875#comment-156962).
Алексей_Н написал:
Пьесы можно прекрасно оформлять и без CSS-стилей.
Можно. Но коряво - в стиле http://www31.ru/book/special-registration/302-osnovnojj-tekst-i-naimenovanija-dejjstvujushhikh.html примеры 1а и 5. Мне не нравится - я хочу, чтобы было максимально похоже на "как было в книге".

Вы приводите не самые удачные примеры. Или, может быть, умышленно приводите примеры коряво выполненные.
Во всяком случае, я в Вашей последней книге не увидел никакой разницы между книгой со стилями и без стилей. Они читаются одинаково! Зачем, спрашивается, городить лишнее?

Алексей_Н написал:
я в Вашей последней книге не увидел никакой разницы между книгой со стилями и без стилей. Они читаются одинаково!
ОК. Вот два скриншота - без стилей и со стилями:


Точно не отличаются? :-?

ОК!
Если мое мнение интересно, то первый вариант выглядит лучше. Разрядка в электронной книге не очень-то смотрится...

Если дело только в разрядке - то это самая "не-проблема": убрать letter-spacing из stylesheet'а.
Но на мелких шрифтах (Verdana 22 pt. на 166-dpi'йном экранчике) разрядка как раз меньше напрягает, чем жирность.
А, кстати, чем в fb2 можно сделать висячие отступы и уменьшенный шрифт для ремарок? (epigraph и стихи не предлагать!)
PS. Кстати, картинка с жирностью вместо разрядки почти в точности (с точностью до жирности) соответствует как раз "корявому" примеру 1а из http://www31.ru/book/special-registration/302-osnovnojj-tekst-i-naimenovanija-dejjstvujushhikh.html... :-(

В "корявом примере" 1а из http://www31.ru/book/special-registration/302-osnovnojj-tekst-i-naimenovanija-dejjstvujushhikh.html реплики героев выделены жирностью, а имена персонажей нет. Надо бы наоборот.

Цитата:
А, кстати, чем в fb2 можно сделать висячие отступы и уменьшенный шрифт для ремарок?

А надо ли?..
А уменьшенный шрифт можно делать тегами [sup] и [sub].

:-)))))))))))))))))
FB2 - не язык форматирования, а язык структурной разметки! Для форматирования есть m$ word document'ы.

Аватар пользователя s_Sergius

Не знаю как кого, но лично меня вполне устраивают пьесы, хорошо сделанные стандартными средствами fb2.
Например, текст пьесы «Две кометы в беззвездном небе» в романе Весь мир театр Акунина.

Согласен. Зачем усложнять?

Дык я ж уже писал. Чтобы потом более автоматически конвертировать в более другие форматы. И чтобы на ридерах более естественно смотрелось. В том числе и на не-CSS'ных.
Впрочем, я не настаиваю, "чтобы все". Но кто хочет - дарю.

по теме 1. CSS – это уже алгебра. Для человека, начинающего верстать свои первые fb2, больше подходит арифметика. 2. Сейчас пустые строки вокруг ремарок желательны. Для работы пьесу придется распечатать, в полученном с помощью FB2Any файле между репликой и ремаркой нет зазора, и это создает, хоть и небольшие, помехи в восприятии. Надо ждать конвертера считывающего стили. Про точку. Ваше решение с точкой (не strong) правильное, и даже не из эстетических соображений, а из удобства – стиль реплики должен быть один. Кстати, просматривая издания пьес, обнаружил три варианта связки: персонаж – реплика. Двоеточие, точка и вообще ничего (ПЕРСОНАЖ Реплика). По основной теме. Хорошо, ч то вы делаете файлы используя стили. Если подтянутся еще другие верстальщики, будет повод создателям ридеров стили поддерживать. А если удастся договориться и создать шаблоны стилей, то можно будет свести алгебру к арифметике. Например, создать скрипт в FBE «Пьеса» с установленными стилями (например: ремарка, ремарка 2-го уровня, ремарка времени и места – открывающая сцену) PS Не удалось сдержать старую договоренность, но мне на вы привычней

sd написал:
1. CSS – это уже алгебра. Для человека, начинающего верстать свои первые fb2, больше подходит арифметика.
Если CSS - алгебра, а надо арифметику, то как раз сгодится style - как типовая формула. Как кнопка на калькуляторе. :-) В CoolReader3 можно вообще включить в поставляемый с вьюером .css-файл, могу попросить автора, чтобы добавил. Вопрос только - какой именно стиль взять? Те примеры, что я вывел в скриншотах, мне самому не очень нравятся, а с другой стороны - затачиваться надо, видимо, под минимум отличий от голого .fb2'шного представления, потому что мало ли кто как у себя настраивает форматирование обычного текста - кто с большими абзацными отступами, кто вообще без, кто с дополнительными интервалами между абзацами...
Есть вариации и между пьесами: персонажа выделяют кто strong'ом, кто прописными буквами... чем ещё? Т.е. если, например, может выделяться emphasis'ом, то делать уменьшенный прямой шрифт для emphasis'а (для ремарок первого рода) уже не комильфо - надо оставлять полноразмерный курсив
В общем, можешь сдизайнировать или показать скан готового наиболее универсального оформления?
sd написал:
2. Сейчас пустые строки вокруг ремарок желательны. [...] FB2Any [...] Надо ждать конвертера считывающего стили.
Ага. Автор - Грибов, как раз на днях появлялся на "заебуке" (мы с ним там давние знакомцы :-) ), я ему послал в личку.
sd написал:
Про точку. [...] просматривая издания пьес, обнаружил три варианта связки: персонаж – реплика. Двоеточие, точка и вообще ничего (ПЕРСОНАЖ Реплика).
Для style'изации это не критично. Для автоперевода в более следующие версии формата (когда/если будет поддержка драматургии) уже style'изованных - тоже пофигу. А вот для автоматической style'изации уже имеющихся - там да, придётся что-то сочинять и как-то выкручиваться. Я про это пока не думал.
sd написал:
Если подтянутся еще другие верстальщики, будет повод создателям ридеров стили поддерживать.

Ага. Даже в упрощённом виде - http://lib.rus.ec/node/267875#comment-156962
sd написал:
А если удастся договориться и создать шаблоны стилей, то можно будет свести алгебру к арифметике. Например, создать скрипт в FBE «Пьеса» с установленными стилями
Тут увы - выходов на команду FBE не имею. Возьмёшься кого-ньдь из них навести сюда?
sd написал:
ремарка 2-го уровня, ремарка времени и места – открывающая сцену
А это разные? Я её считал тоже ремаркой 2-го рода...
Upd. Грибов отозвался. Я его спрашиваю: "Можно ли прикрутить поддержку стилей (ссылка на зеркало темы на "заебуке") к вашему fb2any?" Отвечает: "Можно, прикручивайте". Хъюморист... :-( Но, может, хоть исходниками поделится...
Upd-2. Есть исходники: http://ifolder.ru/21698830. Но они на Delphi, а я его давно и напрочь забыл. :-(

Рыжий Тигра написал:
Upd-2. Есть исходники: http://ifolder.ru/21698830. Но они на Delphi, а я его давно и напрочь забыл. :-(

(очень тихим шепотом) А я на любительском уровне знаком с html и мала-мала css. Delphi для меня как тензорное исчисление. С пред-ык-атрами
Я вот вторые сутки бьюсь над:
Цитата:
В общем, можешь сдизайнировать или показать скан готового наиболее универсального оформления?

sd написал:
Delphi для меня как тензорное исчисление. С пред-ык-атрами
О! Сочувствую. Ваять на Делфе что-то новое куда легче, чем разбирать чужое. :-(
sd написал:
Я вот вторые сутки бьюсь над:
Цитата:
сдизайнировать или показать скан готового наиболее универсального оформления?
Тюю. Да для меня вполне хватит от руки намалевать! Набросать на бумаге, отсканить и выложить. Ну, или в первой попавшейся вордяке. Его ж не в министерстве утверждать - оно мне нужно на час, ну на два от силы.

Ещё пьеса по описанной технологии: http://lib.rus.ec/b/263964 / http://www.flibusta.net/b/221588 Алла Соколова "Фантазии Фарятьева".

По-моему, было бы лучше всего, если бы эти средства были бы в самом формате FictionBook. Но за неимением таковых подойдёт и метод рыжего тигра.

М-да... Два года назад идею Тигры абсолютно не понимал. Трудно мне казалось ковыряться в CSS-стилях.
А тут вдруг что-то нашло и решил поддержать его начинания.
Захотелось мне сделать пьеску так, чтобы ну совсем как в книге. Я, правда, половину из того, о чем Тигра написал, не понял, а потому многое отбросил. И использовал только два стиля: стиль для ремарок и стиль на отсутствие отступа, если реплика героя прерывается ремаркой.
По-моему, получилось очень даже ничего.
Правда, все мои "украшательства" корректно прочитает только CoolReader 3. Но и другие читалки вполне с чтением справятся, только "украшательства" по-другому будут выглядеть, т. е. абсолютно традиционно.
Вот книга - http://lib.rus.ec/b/410672

Цитата:
сделать пьеску

Это не только в пьесах можно применять, и в остальных книгах (при необходимости) с успехом. Например, сдвинуть некий фрагмент текста вправо (в центр) или часть текста оформить р а з р я д к о й (не применяя т.н. неразрывные пробелы). Да, коректно покажет только CoolReader. Остальные проигнорируют. Тем не менее pourquoi-бы и не pas?!
Действительно, получается очень даже ничего.

Ага! Два года активного книгоделания понадобилось, чтобы докумекать некоторые вкусности FB2. Интересно, чего я еще не знаю?..

Цитата:
или часть текста оформить р а з р я д к о й

А вот разрядка не впечатлила. Она почему-то лезет на соседние слова, закрывая их и текст в этих местах становится нечитабельным. Вот, например, книжка, в которой я попытался применить стиль разрядки. Может я что-то не так сделал? (http://lib.rus.ec/b/364262)

Да... Пожалуй не впечатляет. Очень не впечатляет...
Делаете правильно. Похоже, собака порылась в том, что если (в данном случае) strong размещать в НАЧАЛЕ строки (нужные нам слова с начала строки) - то тогда всё пучком (я-то собс-но так и баловался и не замечал подвоха), а в середине (под конец) предложения - тогда да, наезжает. Ай-яй-яй... :(
Потому и в пьесах ВСЁ лихо выглядит. С другой стороны, может мы чего-то не замечаем? Надо будет побаловаться надосуге.

Алексей_Н написал:
разрядка не впечатлила. Она почему-то лезет на соседние слова, закрывая их и текст в этих местах становится нечитабельным.
(мрачно) Знаю я эту хохму. Ошибка появилась в CoolReader 3.0, кажется, .53: длина слова в абзаце считается не по его стилю, а по стилю первого слова абзаца. То бишь, если абзац начинается с разрядки, дальше нормальные слова будут кошмарно растянутыми, а если нет - разряженные будут наползать друг на друга. Хорошо видно, например, в "Назад к Мафусаилу": я выделил персонажей как раз разрядкой. :-(
Я Buggins'у про это писал, но он то ли не заметил, то ли проигнорировал. А я си-плюс-плюсом владею не настолько, чтобы взять и исправить. :-(

А если к разрядке добавить жирность или курсив, она вполне нормально начинает смотреться. Другое дело, что мне жирность-то не нужна.

Алексей_Н написал:
если к разрядке добавить жирность или курсив
Хм. Не пробовал. Обкатаю при случае...

Привет всем! А почему не ePub? Сейчас масса дешёвых читалок (с LCD экраном например Ritmix RBK-429), которые полноценно (из за встроенного Adobe Digital Editions) с поддержкой стилей показывают ePub!!!
Собственно Epub тем и хорошо, что в нём есть как стандарт и стили и шрифты и таблицы и т.д.

Belomor.canal написал:
Привет всем! А почему не ePub? Сейчас масса дешёвых читалок (с LCD экраном например Ritmix RBK-429), которые полноценно (из за встроенного Adobe Digital Editions) с поддержкой стилей показывают ePub!!!
Собственно Epub тем и хорошо, что в нём есть как стандарт и стили и шрифты и таблицы и т.д.

Почему-почему... по кочану! Дайте мне достаточно понятный, функциональный и не сильно глючный редактор для epub, ну и разумеется со свободной лицензией (нет, не текстовый редактор;)) -- вот тогда и можно говорить...
Аватар пользователя V_E

kozlenok написал:
Почему-почему... по кочану! Дайте мне достаточно понятный, функциональный и не сильно глючный редактор для epub, ну и разумеется со свободной лицензией (нет, не текстовый редактор;)) -- вот тогда и можно говорить...

Согласен даже на не сильно понятный...
А fb2 допилить никак нельзя? Что для этого нужно?

Вот как примерно попросить FBE отображать стили http://maxima-library.org/forum/library/33-format-fb2-i-vsjo-o-njom?start=100#27912
Если кому-то не понятно, как прописать свои стили в main.css - спрашивайте.

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

Аватар пользователя V_E

А эти стили будут распознаваться читалками?

V_E написал:
А эти стили будут распознаваться читалками?
Только CoolReader3.

А Вы бы прошли по ссылке и посмотрели, там есть скриншот из CoolReader'а. Но вообще, на читалки не надо ориентироваться, надо - на формат, а он позволяет

Vadi написал:
А Вы бы прошли по ссылке и посмотрели, там есть скриншот из CoolReader'а. Но вообще, на читалки не надо ориентироваться, надо - на формат, а он позволяет

А я вот считаю, что ориентироваться надо на читателя.
Но это старый спор.
X