Содержание книги

Статус
Закрыто для дальнейших ответов.

ID_user

Олег
Топикстартер
Сообщения
30
Реакции
1
Впервые верстаю в ID книгу. Возник вопрос по оглавлению. Часто в книгах можно встретить:
I.
Глава 1
Название главы​

Если это набрать стилем "Глава", который потом включить в оглавление - там появятся две строчки, что плохо, а надо, чтобы было "Глава 1. Название главы". Однако, можно только "Название главы" включить в оглавление и оформить этот уровень как нумерованный список, например, "Глава^<^#.^<"

II.
Но есть и варианты, когда названия разделов (глав) длинные, не содержат стандартных "Глава №" и занимают две-три строки, причём, в тексте из эстетических соображений желательно их разбивать на строки вручную, например
Длинный, длинный,
очень длинный
заголовок
А в оглавлении хочется увидеть "Длинный, длинный, очень длинный заголовок".

Подскажите, пожалуйста,
- правильное ли решение я предлагаю для варианта I и какие могут быть альтернативы ?
- как выкрутиться в случае II, включающем в себя и первый вариант ?
 
Последнее редактирование:

Валера1966

15 лет на форуме
Сообщения
1 291
Реакции
1 391
Многострочные заголовки: строки в них разбивайте не знаками "конец параграфа", а объявляйте непереносимыми. А если нужно принудительно убрать текст на другую строку, используйте "мягкий перенос" (Shift+Enter). Но в последнем случае нужно внимательно просматривать оглавление и разделять слипшиеся слова, между которыми в тексте книги стоят такие символы. Можно ставить лишний пробел в конце строки, и только после него — мягкий перенос.
 
  • Спасибо
Реакции: Serbel

Serbel

Участник
Сообщения
376
Реакции
88
Собственно, можно весь заголовок сделать одной строкой, оформив «Глава 1» другим символьным стилем при помощи drop caps and nested styles. Чтобы в оглавлении точка появлялась сама собой, точку в заголовке надо ставить, только при помощи тех же nested styles назначать ей невидимый стиль. В итоге получится что-то вроде такого:
Глава·7.·¬Заметки·о·расстановке·переносов·при·двадцатисемиколоночной·вёрстке·в·справочных·изданиях·карманного·формата·для·младшего·школьного·возраста¶
По совету @Валера1966 перед разрывом строки ставится дополнительный пробел. Деление остальной части длинного заголовка на строки можно сделать при помощи вручную расставленных no break (можно настроить для него клавиатурное сокращение).
 
  • Спасибо
Реакции: Валера1966

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
В дополнение к "no break" ещё пару способов разбить заголовок в тексте, сохранив "однострочность" для содержания:
Screenshot_16.png
 

ID_user

Олег
Топикстартер
Сообщения
30
Реакции
1
Спасибо всем за рекомендации, однако я ещё до того, как спрашивать,
а) попробовал то, что советует @Валера1966, но у меня элемент оглавления не склеился в одну строчку;
б) так же я пробовал, как советует @Eugenyus регулировать строки отступами, но из-за неудачи в а) не стал продолжать и связывать слова неразрывными пробелами. К тому же мне кажется, что это не очень хорошо, так как всё поплывёт при смене шрифта или его размера.
в) а то, что я предлагал в варианте I, похоже на совет @Serbel ("Глава №" другим стилем), только я ещё не разбирался с nested styles.

Поэтому не могли бы вы прокомментировать, почему у меня всё-таки получились многострочные элементы оглавления (см. картинку), и как это побороть?
оглавление-1.JPG
 

Serbel

Участник
Сообщения
376
Реакции
88
попробовал то, что советует @Валера1966, но у меня элемент оглавления не склеился в одну строчку
Когда оглавление будет создано, будет достаточно одной операции поиска/замены, чтобы убрать в нём все разрывы строк.

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

Поэтому не могли бы вы прокомментировать, почему у меня всё-таки получились многострочные элементы оглавления (см. картинку), и как это побороть?
Я повторил опыт, в оглавление также оказались включены разрывы строк. Значит, такова судьба. (При этом Индизайн игнорирует эти разрывы в случае создания running header, коорый строится по последнему элементу на странице).
 
  • Спасибо
Реакции: Валера1966

Serbel

Участник
Сообщения
376
Реакции
88
Есть ещё один способ, но он очень кривой и подходит только в том случае, если заголовок больше не сдвинется ни на строку выше или ниже. При этом решает проблему переноса строк в оглавлении. На уровне первой строки ставятся (как свободные элементы на странице, не как anchored object) два блока с обтеканием текста такой ширины, чтобы умещалось только «Глава XX»:

Не по теме:
С приветом от человека, который однажды локально исправлял в готовом макете optical margin adjustment блоками с обтеканием.
 

Вложения

  • Глава-1.png
    Глава-1.png
    8.4 КБ · Просм.: 1 039

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
  • Спасибо
Реакции: Валера1966

ID_user

Олег
Топикстартер
Сообщения
30
Реакции
1
Ясно.
... нужно сделать образец макета и утвердить его.
Трудно спорить :)
А кривых способов я как раз стараюсь избежать.
Однако текущая реализация обработки разрыва строки по крайней мере утешает тем, что номер-то страницы один выводится, а не для каждой строчки :) И поскольку у меня трех-строчных заголовков пока нет, мне такое оглавление даже стало нравиться :)
 
Статус
Закрыто для дальнейших ответов.