7 ноября 2014 г.

Иерархия и взаимодействие стилей LibreOffice

Третья глава руководства. Ознакомление  с предыдущим материалом обязательно:
Наверное самая сложная глава. В чате я назвал ее чистой метафизикой. Очень тяжело было объяснить все эти тонкости и не знаю удалось ли мне это сделать. Надеюсь, теперь работа пойдет быстрее.

В разделе рассматриваются основные свойства стилей, общие для всех типов стилей LibreOffice и некоторые особенности стандартных стилей.

 

Типы стилей

Набор типов стилей различен для каждого из модулей LibreOffice. В следующей таблице приведен список стилей, доступных в модулях.
Таблица 1: Типы стилей, доступные в модулях LibreOffice
Writer:
Стили страницы - задают оформление полей, колонтитулов, обрамление, разбиение на колонки и фон.

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

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

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

Стили списка определяют выравнивание, тип нумерации или маркеров, и шрифты для нумерованных и ненумерованных списков. Сами по себе они не используются. Стили списка применяются к стилям абзаца в диалоге создания и редактирования стиля абзаца на вкладке «Структура и нумерация». 

Calc:
Стили ячейки в электронных таблицах Calc относятся к шрифтам, выравниванию, границам, фону, форматам чисел (например, валюта, дата, номер) и защите ячеек.

Cтили страницы содержат параметры вывода листов на печать или экспорта в PDF.

Impress и Draw:
Стили рисунков относятся к линиям, областям, теням, прозрачности, шрифту, соединителям, размерам и другим атрибутам.

Стили презентации определяют атрибуты шрифта, отступов, расстояний, выравнивания и табуляции.

Base и Math не содержат собственные стили, однако к объектам из Base и Math могут применяться стили тех модулей, в которые они вставлены. Например, к формулам могут быть применены стили врезок Writer.

 

Взаимодействие стилей

В LibreOffice стили взаимодействуют друг с другом, некоторые стили не применяются сами по себе. К последнему типу можно отнести стили списка, которые задают оформление маркеров и нумерацию, но применяются они только во взаимодействии со стилем абзаца. В диалоге создания и редактирования стиля абзаца на вкладке «Структура и нумерация» в разделе «Нумерации» стилю абзаца присваивается стиль списка.
Рисунок 17: Стиль нумерации
Стили символа могут использоваться по отдельности, но часто они привязываются к стилям списков для придания оформления маркерам(нумерации) и к стилям абзаца для создания буквиц. Пример привязки стилей символа к другим стилям приведен в разделе Сложная автонумерация заголовков.

Стили страниц также могут быть привязаны к стилю абзаца. Дело в том, что абзац в LibreOffice Writer первичен. Без абзаца невозможно создать новую, даже и пустую, страницу. В программах класса LibreOffice Writer просто не существует полностью пустых страниц без абзацев. Отсюда и ошибочная привычка большинства пользователей делать новую страницу многократным нажатием клавиши «Enter» .

В диалоге создания и редактирования стиля абзаца на вкладке «Положение на странице» в разделе «Разрыв», можно задать разрыв с использованием конкретного стиля страницы.
Рисунок 18: Разрыв со стилем страницы
Например, во многих книгах главы начинаются с новой страницы. Чтобы вручную не ставить разрывы можно задать разрыв в стиле заголовка и разрывы будут делаться автоматически.

 

Приоритет стилей и форматирования

В LibreOffice Writer для оформления текста используется несколько типов стилей. Так один абзац может иметь стиль абзаца, а некоторым элементам внутри этого абзаца может быть присвоен стиль символа. Поэтому настройки оформления в стиле символа имеют больший приоритет.

Действует это следующим образом, допустим, всему абзацу задан стиль абзаца с шрифтом 12 кегля в обычном начертании, а отдельному слову в абзаце присвоен стиль символа с 14 кеглем и жирным начертанием. Теперь, если задать новый стиль абзаца с шрифтом 10 кегля, то оформление отдельных слов(к которым был применен стиль символа) не изменится и будет так же иметь 14 кегль.

Аналогичным образом дело обстоит и с ручным форматированием. Если вручную сделать некоторые слова и символы в абзаце в жирном начертании, то при изменении стиля абзаца эти символы сохранят свое начертание. На рисунке 19 букве «n» в слове nervously и слову darkness было сделано ручное форматирование. Затем был изменен стиль абзаца, но стиль символов не изменился.
Рисунок 19: Ручное форматирование текста
Именно в этом и заключается зло ручного форматирования. О том как сбросить ручное форматирование написано в разделе Отмена форматирования.

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

 

Иерархия и наследование

Если взглянуть на стандартные стили в LibreOffice Writer в режиме сортировки «По иерархии», то можно заметить, что стиль абзаца «Базовый» включает в себя все остальные стили абзацев, т.е. явяется родительским стилем по отношению ко всем остальным.
Рисунок 20: Иерархия стандартных стилей
Эта функция называется наследованием свойств стилей и работает следующим образом. Допустим, базовому стилю задан шрифт 12 кегля в обычном начертании и гарнитурой Sans. Теперь необходимо создать стиль заголовка, который будем иметь абсолютно те же свойства, но только с жирным начертанием. Чтобы не задавать в новом стиле заголовка все параметры заново, он просто наследует их из родительского стиля, но с одним отличием в начертании.

Такое поведение позволяет не только экономить время, но и имеет дополнительный смысл. А что если всему тексту в документе требуется заменить гарнитуру с Sans на Serif? Нет ничего сложного, просто меняем гарнитуру в родительском стиле. Потомки автоматически унаследуют это изменение. Но если в каком то из потомков гарнитура указывалась явно, то изменение гарнитуры не унаследуется.

В диалоге создания и редактирования стилей на вкладке «Управление» в разделе «Параметры», перечислены все параметры стиля.
Рисунок 21: Параметры родительского стиля
Как видно, стиль «АМ_Базовый_Заголовок» не наследует ничьи свойства. Стиль «АМ_Заголовок (14)» наследует параметры «АМ_Базовый_Заголовок», но при этом имеет часть собственных параметров, которые и перечислены в разделе «Параметры».
Рисунок 22: Индивидуальные параметры дочернего стиля

Для дочерних стилей в разделе «Параметры» на вкладке «Управление» перечисляются только переназначенные свойства. Эти свойства остаются неизменными при изменении свойств родителя.

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

 

Уровни структуры

Уровни структуры - одна из важнейших характеристик стилей абзаца. Именно она является отличительной особенностью стилей абзаца и стилей заголовков. Уровни структуры важны при создании автоматического оглавления и автонумерации заголовков.

В диалоге создания и редактирования стиля абзаца на вкладке «Структура и нумерация» заголовкам присваивается уровень структуры от 1-го до 10-и.
Рисунок 23: Уровни структуры
Уровни структуры позволяют настраивать сложную автонумерацию заголовоков и создавать сложные оглавления. Подробнее смотрите в разделах Сложная автонумерация заголовков и Автоматическое оглавление

 

Условные стили

Условные стили существуют только во Writer и их часто путают с функцией условного форматирования в Calc. Условный стиль во Writer позволяет задать различные варианты оформления текста в зависимости от условия. Условием выступает контекст (тип) текста (таблица, верхний колонтитул, нижний колонтитул, сноска и т.д.). Другими словами, один и тот же условный стиль может иметь одно форматирование если он находится в верхнем колонтитуле, другое форматирование если он находится в нижнем колонтитуле и т.д.

Условный стиль является стилем абзаца, поэтому в стилисте для них нет отдельной вкладки. Но есть режим сортировки «Условные стили». В LibreOffice по-умолчанию существует только один условный стиль, которому не заданы никакие условия.

Другим нюансом является то, что стиль можно сделать условным только при создании. Делается это в диалоге создания стиля абзаца на вкладке «Условие» путем установки соответствующей галочки.
Рисунок 24: Настройка условий
Если стиль был создан не как условный, то при его редактировании вкладка «Условие» будет отсутствовать, поэтому ранее созданный стиль невозможно сделать условным. Условный же стиль содержит данную вкладку. На ней можно редактировать условия применения стиля, но невозможно отключить параметр «Условный стиль». Это не критично и по большому счету не мешает, если стилю не заданы условия.

Условие (контекст) применения стиля задается путем выбора в списке «Контекст» условия применения стиля, в списке «Стиль абзаца» применяемого стиля и нажатием кнопки «Применить»(не путать с кнопкой «Применить», которая находится ниже) под списком «Стиль абзаца». Удаляется условие аналогичным образом с помощью кнопки «Удалить».

Как видно, по сути, при применении условия происходит просто замена стиля. Поэтому я не нашел практического применения данной функции. Но она есть и, возможно, кто-то найдет ей достойное применение.

 

Стандартные стили

 Хочет того пользователь или нет, но он всегда пользуется стилями. Это касается и пользователей Microsoft Office. Стандартные стили вшиты в LibreOffice. Их нельзя удалить. Некоторые стили даже нельзя перенастроить. Например, стиль «Базовый». Если отсортировать стили в стилисте в режиме «По иерархии» (надеюсь вы выучили как это делать), то можно увидеть, что стиль «Базовый» является родительским для всех остальных стилей.

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

В LibreOffiice отсутствует понятие без стиля. При создании нового документа, вводимому тексту присваивается стиль «Базовый». К сожалению, программы не способны читать мысли людей и присваивать стили нужно вручную. О том как эффективно это делать написано в разделе Применение стилей.

Таким образом, стандартные стили подразделяются на две логических группы. Первая группа — стили, который требуются для обеспечения функционала офисного пакета. Они автоматически применяются для форматирования создаваемых пользователем объектов, таких как указатели, таблицы, врезки, подписи и т. д.

Вторая группа — стили, применяемые самим пользователем. Они используются для создания логической структуры документа и оформления его основных разделов.

К первой группе как раз и относится стиль «Базовый». О применении остальных стилей речь пойдет в следующем разделе.

 

Об использовании стандартных стилей

На самом деле, я не рекомендую применять стандартные стили. Первая причина в том, что зачастую они просто не удовлетворяют требованиям большинства пользователей. Элементарно, в большинстве документов в РФ используется шрифт Times New Roman. И я не говорю о других псевдо-стандартах.

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

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

Гораздо лучше создать собственный набор стилей. Это спасет вас и ваших коллег от путаницы. Также при необходимости, можно сохранить стили в шаблоне, а сохраненный шаблон  назначить шаблоном по умолчанию. Как это сделать написано в разделе «Изменение стандартного шаблона».

При создании собственных стилей, рекомендую в названиях давать им оригинальные префиксы, чтобы они не пересекались со стандартными стилями и не заменяли их. Например, для оформления своего диплома я присваивал стилям префикс «АД», руководствам присваиваю префикс «АМ» (от английского manual - руководство). Букву А использую для удобства сортировки стилей.

 

Копирование и вставка текста из других источников

И ещё несколько слов об использовании стилей вообще. При копировании текста из других источников, будь то другой документ или веб-страница, вместе с текстом обычно копируется и его форматирование (в том числе и стили). Чтобы скопированные стили не перебивали уже имеющиеся в документе, необходимо использовать специальную вставку «Правка → Вставить как» (Ctrl + Shift + V) в режиме «Текст без форматирования».