1

Тема: Отказаться от встроенных стилей

У меня вопрос к aap77 и всем, кто захочет ответить.

В теме http://wordexpert.ru/forum/viewtopic.php?id=759 вы советовали НЕ использовать встроенные стили. После этого произошла дискуссия, в которой я ничего не понял. А я хотел бы улучшить свой шаблон в плане стилей.

Отказаться от встроенных заголовков я могу. Сделаю нумерацию LISTNUM (да она уже сделана, как опция).

Но как отказаться от встроенных стилей для автособираемого оглавления? Что вы делаете со стилями "Оглавление 1", "Оглавление 2" и т.д.? Единственное, что приходит в голову, так это заменить их на другие стили в самом конце работы. Сначала преобразовать оглавление в обычный текст, потом очистить стиль знака, затем заменить одни стили на другие? Я правильно понимаю?

Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir

2

Re: Отказаться от встроенных стилей

Александр Б. пишет:

Но как отказаться от встроенных стилей для автособираемого оглавления? Что вы делаете со стилями "Оглавление 1", "Оглавление 2" и т.д.?

Я согласен с вами, встроенные стили никуда не денешь. Поэтому я в своих стилевых шаблонах их применяю. И тут есть один нюанс. Поскольку я стилевые атрибуты часто обрабатываю через VBA-макросы, я должен учитывать, что идентифицировать встроенный стиль нужно не по его названию, а по номеру стиля, с использованием "МИФ-константы" для этого стиля, напр., указывать не
    If style_name = ActiveDocument.Styles(“Normal”) Then …
а
    If style_name = ActiveDocument.Styles(wdStyleNormal) Then …

Такой подход помогает строить макросы, не зависящие от локализованных имен встроенных стилей. Для невстроенных стилей я в стилевых шаблонах использую английские названия.

Вообще я в каждом стилевом шаблоне использую один и тот же состав стилей, но имеющих различное стилевое определение. Такой подход удобен тем, что позволяет мне, независимо от типа документа, сосредоточиться на самом документе (а не разбираться в стилях). К тому же стабильный состав стилей и продуманная система их наименований способствует автоматизации работы путем применения макросов.

Так, применение цифр в конце названия имени стиля (напр., “ListOutNum 3”) позволяет создавать семейства стилей. Для семейства стилей напрашивается функция быстрого перехода от текущего стиля к другому (соседнему) стилю этого же семейства через макросы выборки предыдущего, либо последующего стиля в семействе. Все это экономит время при разработке текста (я об этом уже писал: http://wordexpert.ru/forum/viewtopic.php?id=2279).

3

Re: Отказаться от встроенных стилей

yshindin, подскажите, пожалуйста, где посмотреть список констант для стилей

4

Re: Отказаться от встроенных стилей

Aleks пишет:

yshindin, подскажите, пожалуйста, где посмотреть список констант для стилей

На странице внешняя ссылка раскройте узел WdBuiltinStyle

5

Re: Отказаться от встроенных стилей

Встроенные стили часто сбиваются при открытии документов на разных компах.
Подход к стилям у yshindin в принципе правильный, но помимо цифровых суффиксов надо использовать еще и какой-нибудь индикатор (я использую © - для стилей абзаца и ® - стилей текста).
Например:
1. Zag_1© - Заголовок 1-го уровня, Zag_2© - Заголовок 2-го уровня и т.д.  Здесь Zag - префикс обозначающий заголовки, _1, _2 и т.д. - уровни заголовков, © - стиль абзаца, который может использоваться в документе.
2. MarkList_1© - маркированный список 1-го уровня, MarkList_2© - маркированный список 2-го уровня и т.д.  Здесь MarkList - префикс обозначающий маркированные списки, _1, _2 и т.д. - уровни заголовков, © - стиль абзаца, который может использоваться в документе.
3. NumList_1© - нумерованный 1-го уровня, NumList_2© - нумерованный 2-го уровня и т.д.  Здесь NumList - префикс обозначающий нумерованные списки, _1, _2 и т.д. - уровни заголовков, © - стиль абзаца, который может использоваться в документе.
4. Для таблиц используется основной префикс Tab:
TabNum© и TabNaz© - соответственно абзацы номера и названия таблицы (заменяют встроенный стиль Название объекта)
TabShapka© - стиль оформления шапки таблицы, TabText© - основной стиль текста таблицы.
5. Для рисунков стили Pic_1© и Pic_2©. Pic_1© - стиль названия рисунков, Pic_2© - текст расшифровки рисунка. (Опять же заменяет стиль Название объекта на более расширенные и информативные)
6. Для формул: MatFormula© - математическая формула, HimFormula© - математическая формула. Эти стили позволяют правильно использовать соответствующие поля нумераций Word.
7. Index® - стиль знака, идентифицирующий термины для списка указателя. Позволяет собирать указатель без использования поля XE, которое создает большие неудобства при работе с документом.
Помимо этого я каждое семейство стилей обозначаю определенным цветом, чтобы при быстром визуальном просмотре документа было легче ориентироваться.

6

Re: Отказаться от встроенных стилей

aap77, можно же сделать макрос, который будет приводить в "порядок" встроенные стили на новых машинах. Такой подход, в целом аналогичен вашему, только результат достигается в меньшее количество действий. Как дополнение, имеем название стилей, понятные обычным пользователям.

7

Re: Отказаться от встроенных стилей

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

8

Re: Отказаться от встроенных стилей

aap77 пишет:

Например:
1. Zag_1© - Заголовок 1-го уровня, Zag_2© - Заголовок 2-го уровня и т.д.

А в качестве префикса можно использовать точку, как вы считаете? (не отказываясь от суффикса)

Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir

9

Re: Отказаться от встроенных стилей

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


Стиль списка для заголовков (уровни 1–4), рисунков (ур. 7), таблиц (ур. 8) и формул (ур.9) в разделах:
.ListForSectionHeadings (имя LISTNUM: BWT_SectionHeadings)

Стили абзаца -//-:

.SectionEquationCaption©
.SectionEquationCaption2© (дополнительный стиль 2)

.SectionFigureCaption©
.SectionFigureCaption2© (дополнительный стиль 2)

.SectionHeading_L1©
.SectionHeading_L2©
.SectionHeading_L3©
.SectionHeading_L4©

.SectionHeading2_L1© (дополнительный стиль 2)
.SectionHeading2_L2© (дополнительный стиль 2)
.SectionHeading2_L3© (дополнительный стиль 2)
.SectionHeading2_L4© (дополнительный стиль 2)

.SectionTableCaption©
.SectionTableCaption2© (дополнительный стиль 2)

====

Стиль списка для заголовков (уровни 1–4), рисунков (ур. 7), таблиц (ур. 8) и формул (ур. 9) в приложениях:
.ListForAppendixHeadings (имя LISTNUM: BWT_AppendixHeadings)

Стили абзаца -//-:

.AppendixEquationCaption©
.AppendixEquationCaption2© (дополнительный стиль 2)

.AppendixFigureCaption©
.AppendixFigureCaption2© (дополнительный стиль 2)

.AppendixHeading_L1©
.AppendixHeading_L2©
.AppendixHeading_L3©
.AppendixHeading_L4©

.AppendixHeading2_L1© (дополнительный стиль 2)
.AppendixHeading2_L2© (дополнительный стиль 2)
.AppendixHeading2_L3© (дополнительный стиль 2)
.AppendixHeading2_L4© (дополнительный стиль 2)

.AppendixTableCaption©
.AppendixTableCaption2© (дополнительный стиль 2)

====

Дополнительные стили списка для сквозной нумерации рисунков таблиц и формул:

.ListForSectionEquations (имя LISTNUM: BWT_SectionEquations)
.ListForSectionFigures (имя LISTNUM: BWT_SectionFigures)
.ListForSectionTables (имя LISTNUM: BWT_SectionTables)

.ListForAppendixEquations (имя LISTNUM: BWT_AppendixEquations)
.ListForAppendixFigures (имя LISTNUM: BWT_AppendixFigures)
.ListForAppendixTables (имя LISTNUM: BWT_AppendixTables)

Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir