Running Header с номерами разделов

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

Dresden

Топикстартер
20 лет на форуме
Сообщения
3 161
Реакции
665
Честно посмотрел хелп - не нашел. Поиск тоже не помог.
Задача следующая (CS4): в книге есть нумерованные (автоматом) заголовки: 1. заголовок1, 1.1. заголовок2 и т. п. Нужно, чтобы они воспроизводились в колонтитулах: на левой странице - заголовок первого уровня, на правой - второго уровня (если на странице несколько заголовков, то последний).

Пока не получается. Текст заголовков через running header/text variables размещается, нумерация - нет. Чешу репу. Просьба помочь.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ответ: Running Header с номерами разделов

самое простое навскидку - конвертнуть нумерацию в текст )
 

Dresden

Топикстартер
20 лет на форуме
Сообщения
3 161
Реакции
665
Ответ: Running Header с номерами разделов

Обыдно терять автоматизацию. Вдруг придется двигать туда-сюда разделы 2-3 уровня.
 

NNN5

Модератор
15 лет на форуме
Сообщения
1 261
Реакции
1 015
Ответ: Running Header с номерами разделов

Напрашивается идея: превратить автонумерацию заголовков в текст, тогда она отразится внутри переменных. Грустно, конечно, но это вариант.
Еще такая идея для CS4, с частичным сохранением нумерации (чуть посложнее):
1. Превращаете нумерацию в текст (идя с конца)
2. Прогоняете GREP замены такого вида:
find what: \d+\.\t(.+)
change to: $1$0
Таким образом, впереди нумерации встает этот же номер. Это будет наша невидимая метка.
3. Присваиваете (можно в один проход с тем же поисковым запросом) вашему заголовку абзацный стиль с "невидимым" символьным GREP-стилем.
а) прописываете символьный стиль Invisible (horizontal scale: 1%, character color: none)
б) настраиваете GREP-стиль на этот Invisible: ^.+(?<=\d\.)
в) и тут выставляете параметры нумерации, но уже без Tab. У вас снова нумерованный абзац со скрытым текстом метки. Эту нумерацию можно использовать в дальнейшем для многоступенчатых списков.
4. Настраиваете переменную, работающую в колонтитуле, на стиль Invisible.
Ура.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ответ: Running Header с номерами разделов

Dresden сказал(а):
Обыдно терять автоматизацию. Вдруг придется двигать туда-сюда разделы 2-3 уровня.

оригинал оставить, и все изменения и правку делать в нем, а конвертировать в копии перед выводом. чтобы не делать сто раз, договориться с заказчиком что колонтитулы с нумерацией будут только перед последней корректурой.
 

Dresden

Топикстартер
20 лет на форуме
Сообщения
3 161
Реакции
665
Ответ: Running Header с номерами разделов

NNN5 сказал(а):
Спасибо за подробно расписанный вариант, однако один вопрос (насколько я понял) остается нерешенным: как надежно обновить нумерацию (и в колонтитулах тоже), если разделы поменяли местами.

С заголовком первого уровня проблема решается без затей на автомате - в стиль колонтитула, как и в стиль этого заголовка можно запихнуть переменную ^H. Но с ними и так просто. А вот со вторым уровнем... Нда.
 

Dresden

Топикстартер
20 лет на форуме
Сообщения
3 161
Реакции
665
Ответ: Running Header с номерами разделов

Порылся еще в сети. Народ этим вопросом озабочен, решений, кроме конвертации в текст нет, если не считать плагина Power Headers от In-Tools. Жаль, конечно.
 

Dresden

Топикстартер
20 лет на форуме
Сообщения
3 161
Реакции
665
Ответ: Running Header с номерами разделов

Что-то меня заклинило. Пока остановился на варианте преобразования в нумерации в текст на последнем этапе. Однако у меня нумерация отделена от текста заголовков табуляцией (^t в параметрах нумерации). В колонтитуле мне эта табуляция не нужна, нужен пробел (m- или n-). До меня уже дошло, что нужно использовать два символьных стиля (один для цифр вида 1.1., другой для текста заголовка), делая на их основе две Text Variables для колонтитула. Через Nested Style ничего не получилось.
Очевидно, это задача для GREP-style, но в GREP я не силен.

Наверно, криво сформулировал задачу. В общем нужно так:
1. Найти все до табуляции (не включаяя ее);
2. Найти все после табуляции до конца абзаца.

Помогите, плиз.
 

sakhar

Professional
15 лет на форуме
Сообщения
1 550
Реакции
134
Ответ: Running Header с номерами разделов

1. До табуляции: ^.+(?=\t)
2. После: (?<=\t).+$
 

Dresden

Топикстартер
20 лет на форуме
Сообщения
3 161
Реакции
665
Ответ: Running Header с номерами разделов

Дмитрий, спасибо. Работает.

Но я наступил еще на одни грабли (забыл о них совсем): этот редиска ИД не берет в скользящие колонтитулы символьные GREP-стили, встроенные в стиль абзаца. Они должны быть назначены тексту напрямую. Вот холера:)
 
Статус
Закрыто для дальнейших ответов.