Владимир Завгородний - Adobe InDesign CS3
Рис. 16.15. Диалоговое окно Find/Change (Найти/Заменить), вкладка Text (Текст)
Раскрывающийся список Query (Запрос) позволяет выбрать одну из сохраненных настроек поиска и замены (создать их можно с помощью кнопки Save Query (Сохранить запрос) со значком дискеты справа от списка). Это полезно, если вы регулярно выполняете одни и те же операции по поиску и замене; среди «заводских» сохраненных запросов есть, к примеру, такие полезные, как замена прямых кавычек на типографские или замена двойных пробелов на одинарные.
Как видно на рис. 16.15, диалоговое окно Find/Change (Найти/Заменить) содержит четыре вкладки:
• Text (Текст) – здесь выполняются несложные операции по поиску и замене фрагментов текста;
• GREP – на этой вкладке можно создавать очень сложные запросы для поиска и замены текста;
• Glyph (Символ) – эта вкладка предназначена для поиска и замены отдельных символов в тексте;
• Object (Объект) – с помощью настроек этой вкладки можно находить объекты в документе и изменять их свойства.
Рассмотрим настройки этих вкладок.
Примечание
Операции по поиску и замене, выполняемые с помощью вкладки GREP, используют язык запросов POSIX, ставший де-факто стандартом в своей области и хорошо знакомый пользователям операционных систем Unix и Linux.
Возможности поиска и замены с использованием языка POSIX чуть ли не безграничны и позволяют выполнять очень сложные действия: запрос может содержать вариативные части и даже несложные логические условия. Однако в связи с этим язык POSIX достаточно не прост и может оказаться трудным для понимания.
В этой книге мы не будем касаться ни языка запросов POSIX, ни операций по поиску и замене текста с помощью вкладки GREP в принципе. Простой поиск и замена не требует использования этой вкладки; если же вы чувствуете необходимость, познакомиться с языком POSIX можно в соответствующей специальной литературе.
На вкладке Text (Текст) (см. рис. 16.15) вводится текст, который нужно найти (в поле Find What), и текст, на который нужно заменить найденное (в поле Change to). Кнопки Find (Найти), Change (Заменить), Change All (Заменить все) и Change/Find (Заменить и найти следующее) в правой части окна предназначены собственно для выполнения поиска и замены.
В правой же части диалогового окна находится кнопка More Options (Больше настроек), нажав которую мы отобразим поля Find Format (Искать форматирование) и Change Format (Заменить форматирование), с помощью которых можно ограничивать поиск с учетом оформления текста или изменять оформление. Сами поля служат только для отображения выбранного форматирования, а настраивается оно с помощью кнопок рядом с полями, которые открывают окно, по своему наполнению очень похожее на окно стиля абзацев и позволяющее указать самые разнообразные параметры оформления.
С помощью дополнительных меню рядом с полями поиска и замены можно задействовать при поиске и замене специальные символы (например, находить знаки табуляции, пробелы разной ширины), переменные (любой символ, любая цифра) и т. д. Такие символы и переменные обозначаются специальными последовательностями знаков, начинающихся со знака ^ (циркумфлекс, или знак возведения в степень). К примеру, знак табуляции обозначается символами ^t, а любая цифра – ^9. Символы можно вводить не только из дополнительного меню, но и вручную – только при этом их придется знать на память.
Раскрывающийся список Search (Искать в) позволяет указать, в какой части документа следует искать и заменять текст. Значения включают в себя All Documents (Все документы), Document (Текущий документ), Story (Текст в текущем фрейме и связанных с ним), To End of Story (С позиции курсора до конца текста) и Selection (Выделенный фрагмент). В зависимости от того создано ли выделение и установлен ли в тексте курсор, в списке могут присутствовать не все варианты: понятно, что бессмысленно предлагать искать в выделенном фрагменте, если выделенного фрагмента нет.
Под раскрывающимся списком Search (Искать в) присутствуют семь кнопок (на остальных вкладках кнопок только пять), позволяющих модифицировать условия поиска.
Кнопка Include Locked Layers (Включая заблокированные слои) позволяет производить поиск (и только поиск, замена невозможна) во фреймах, находящихся на заблокированных слоях в документе.
Кнопка Include Locked Stories (Включая заблокированные фрагменты текста) позволяет производить поиск (опять же, замена недоступна) в текстовых фреймах, защищенных от изменений.
Кнопка Include Hidden Layers (Включая скрытые слои) позволяет искать и заменять текст во фреймах, находящихся на отключенных, неотображающихся слоях документа.
Кнопка Include Master Pages (Включая мастер-страницы) позволяет искать и заменять текст во фреймах, находящихся на мастер-страницах.
Кнопка Include Footnotes (Включая сноски) позволяет искать и заменять текст не только в основной части текстовых фреймов, но и в автоматически созданных блоках со сносками.
Примечание
Все сказанное относительно этих пяти кнопок справедливо и для работы на других вкладках. Разумеется, в этом случае будет искаться не текст, а отдельные символы или объекты.
Кнопка Case Sensitive (С учетом регистра) позволяет искать написание слова, точно совпадающее с запросом по регистру написания букв. При нажатой кноп ке и запросе вася слова «Вася» и «ВАСЯ» найдены не будут.
При нажатой кнопке Whole Word (Целое слово) можно находить только законченные слова, соответствующие критерию поиска. Так, к примеру, программа по запросу «лук» с нажатой кнопкой не найдет слова «лука» и «луковый», поскольку в них с критерием совпадает только часть слова.
Однако «полезность» функции поиска и замены заключается не столько в возможности находить точно заданные фрагменты текста, сколько в возможности использования масок поиска или регулярных выражений (второй термин пришел из программирования). Говоря проще, вы можете задать неточный критерий поиска и найти все попадающие под него фрагменты. Соответственно, найденные фрагменты можно заменить или оформить каким-то образом.
Понять сущность поиска и замены с использованием масок поиска проще на очень легком примере. Предположим, что мы хотим найти в тексте все даты формата «1950 г.», «1951 г.», «1980 г.» и т. д. Нам нужно найти эти даты и выделить их красным цветом. Конечно же, эту задачу можно выполнить вручную – по очереди искать каждое новое число. Однако если диапазон дат в тексте – от 1950 до 1999 года, то нам придется повторить операцию поиска 50 раз, что, конечно же, несколько утомительно.
Внимание!
Здесь и далее будет использоваться написание в квадратных скобках и выделение курсивом для обозначения специальных символов.
Вместо этого можно отдать команду: найти все фрагменты текста, начинающиеся с цифр «1» и «9» и заканчивающиеся символами «[пробел]г.». Правда, такой поиск может найти все что угодно, например число «19» в начале текста и сокращение «г.» в конце. Поэтому нужно еще больше конкретизировать запрос и оформить его так: «19[любой-символ][любой-символ][пробел]г.». Отдав команду найти все фрагменты текста, попадающие под запрос, и выделить их цветом, мы решим поставленную задачу.
Следует заметить, что созданный запрос все же не настолько точен, как хотелось бы. Например, если текст будет содержать последовательность символов «195, г. Москва», то текст «195, г.» будет найден и выделен (ведь и цифра «5», и запятая попадают под определение «любой символ»). Поэтому программы часто содержат несколько разных специальных символов для создания масок – чем их больше и чем они разнообразней, тем более точный запрос вы можете создать.
Например, запрос формата «19[любая-цифра][любая-цифра][пробел]г.» будет более точным. А если бы мы исхитрились использовать определение вида «19[любая-цифра-от-5-до-9][любая-цифра][пробел]г.», то ошибки были бы исключены, и даже «1915 год» не был бы выделен, поскольку третья цифра (единица) не попадет под заданное определение. Такие сложные запросы позволяет ис пользовать архитектура запросов POSIX и раздел поиска GREP, о котором мы в этой книге не говорим; приведем только пример записи подобного запроса, чтобы вы могли убедиться, что это действительно непросто (рис. 16.16); возможности же вкладки Text (Текст) скромнее, и с ее помощью такого запроса составить нельзя. При работе с вкладкой Text (Текст) Adobe InDesign позволяет использовать четыре символа для образования масок поиска, которые находятся в подменю поля поиска Wildcards (Переменные): Any Digit (Любая цифра), Any Letter (Любая буква), Any Character (Любой символ), White Space (Любой пробельный символ, включая табуляции).