Наследование стилей
Программы разрешают строить один стиль на базе другого. Когда вы создаете стиль, в первом же диалоговом окне следует указать стиль, на котором он основывается. Обратите внимание, что часто программа не предлагает варианта «без стиля» в качестве основы, и вам нужно осознанно отказываться от того, чтобы использовать какой-либо стиль в качестве базового. Многие программы применяют в качестве стиля по умолчанию так называемый «нормальный» стиль, такой стиль обычно нельзя удалить, а можно только модифицировать.
Использование стиля в качестве основы может сэкономить много времени. Представьте себе, что вы проектируете журнал, в котором текст набирается в трех колонках разной ширины. Текст в каждой колонке может иметь разные параметры переносов и выключки и разные значения абзацных отступов, а остальные параметры одинаковы. В данном случае логично построить один стиль, а два других на его основе.
Когда один стиль основан на другом, то между ними создаются отношения предок-потомок (рис. 17.2). Дети наследуют все параметры от родителей, затем вы изменяете параметры, какие хотите, или присваиваете совершенно новые. Когда изменение происходит в родительском стиле, то это изменение немедленно и автоматически коснется всех потомков: детей, детей их детей и т. д. Эти изменения, в свою очередь, отразятся на любых фрагментах текста, которым были присвоены стили-потомки.
Такой эффект позволяет сохранить огромное количество времени при изменениях, затрагивающих всю систему стилей. Но это может привести и к нежелательным
РИС. 17.2. Диаграмма, показывающая отношения между членами двух простых семейств стилей. Стили Text и Title передают параметры своим детям, каждый из которых снабжается своими собственными параметрами. Дети в свою очередь могут влиять на последующие поколения. Изменение, произведенное в любом из родителей, передается детям, если только данному параметру явно не присвоено другое значение
Text |
1st Paragraph
German text
"Text" + italic
Byline |
Subhead 2 "Subhead 1" + smaller point size + custom space before and after |
+ German hyphenation
Narrow text
'Subhead 1" + italic Caption "Byline" + smaller point size + tighter leading + custom space before and after |
Running head "Subhead 2" + italic |
"1st Paragraph" + custom h&j
Footnote
Title Subhead 1 |
"Title" + smaller point size + custom space before and after |
"Text" + 1 st-line indent |
"Text" + smaller type + tighter leading + no hyphenation + ragged right
Результатам, если модификацию родительских стилей делать без учета возможных изменений в стилях детей. Особенно высок риск в рабочих группах, для которых используется общий список стилей, и бездумное изменение, сделанное тем, кто, может быть, не знал о стилях-наследниках или не имел доступа к ним, повлияет на работу всех.
Исходя из этого, следует предпочесть стратегически более выгодные для коллективной работы стили-одиночки. Это означает создание стилей без родителей. В конце концов, чем больше поколений существует между прародителем и потомками, тем меньше между ними общего. Имеет смысл разорвать цепочку так, чтобы, например, стиль подписей под рисунками не зависел от стиля основного текста. Существуют также изменения, которые не нужно передавать всем поколениям стилей.
Если ваша программа может распечатывать диаграммы отношений наследования в таблицах стилей, то генеалогическое дерево поможет не запутаться.
Однако эта функция наряду с самой возможностью распечатки таблиц стилей чаще всего отсутствует в программах, хотя такие возможности можно найти в разработках сторонних фирм.