1

У меня есть документ Word с тремя уровнями заголовков. Они правильно отформатированы с использованием стиля заголовка 1-3, а также автоматически нумеруются, например, как 1. first level , 2.3 second level или 4.5.6 third level .

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

Однако я также хотел бы сделать то же самое для заголовков второго уровня, но только если есть заголовок второго уровня. Другими словами, он не должен появляться на страницах, которые содержат только контент, относящийся непосредственно к заголовку первого уровня. В этом случае он в настоящее время продолжает поиск на следующих страницах, пока, наконец, не найдет заголовок следующего второго уровня и покажет его, игнорируя, что эта часть еще не началась на текущей странице.

Как я могу отображать текст заголовка второго уровня в заголовке, но только если страница содержит контент второго уровня?

1 ответ1

1

Еще через час мучительной головной боли из-за этой проблемы я нашел решение для себя:

Нажмите Ctrl+F9, чтобы создать поле в режиме редактирования в текущей позиции курсора. Вы можете переключать все поля между редактированием и активным режимом, используя Alt+F9. Теперь вставьте этот код между фигурными скобками поля (все в одной строке):

IF "{ STYLEREF "Headline 2" \r }" = "{ STYLEREF  "Headline 1" \w }.*" 
"{ STYLEREF  "Headline 2" \r } { STYLEREF  "Headline 2" }"

Обратите внимание, что вы не можете просто ввести эти {} однако, вы должны вставить каждую их пару снова с помощью Ctrl+F9 , чтобы они распознавались как вложенное поле, а не как строковая константа!

Что оно делает? IF проверяет, равен ли номер главы элемента "Заголовок 2", принадлежащего этой странице, номеру главы принадлежащего ему элемента "Заголовок 1" (с добавленной точкой и любым количеством символов). Он эффективно сравнивает номер главы первого уровня.

Фактическое содержание (здесь номер главы и текст соответствующего элемента "Заголовок 2") отображается только в том случае, если номера глав первого уровня совпадают. Таким образом вы предотвратите появление заголовков второго уровня в следующих главах первого уровня внутри текущей главы первого уровня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .