Информационные технологии

7. Активные элементы текста

Краткие теоретические сведения

Лекция

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

HTML (в меньшей степени) и Word (в большей степени) поддерживают автоматизацию заполнения документов. Markdown сам по себе нумерует пункты списков, однако, большие возможности по автоматизированному созданию сложных документов предоставляют генераторы статичных сайтов (например, Hugo) или системы управления контентом (CMS).

В HTML для отображения каких-либо рассчитанных или полученных из внешних источников данных используется свойство CSS content. В частности, с помощью этого свойства можно выводить значение различных счетчиков (пример).

В Microsoft Word для получения автоматически сформированного текста применяются поля. Вставить поле в документ можно с помощью меню «Вставка–Экспресс-блоки–Поле…».

Наиболее интересным представляется поле «ListNum». Оно позволяет пронумеровать любые элементы в документе (рисунки, таблицы, формулы, листинги, литературные источники и т.д.). Это поле вставляется в формате

{ LISTNUM ["Имя"] [Ключи] }.

Имя для перечисления может выбирать пользователь, например, figure для рисунков, table для таблиц и т.д. Значение ключей можно посмотреть непосредственно в Word, нажав в окне выбора поля «Коды поля», а затем «Параметры».

После вставки поля в документ можно управлять видом этого поля переключая с помощью контекстного меню переключатель «Коды/Значения полей». В режиме «коды» в документе выводить исходный код поля, в режиме «значения полей» выводиться рассчитанный номер.

Вторым полезный полем является «Ref». Для вставки и задания ключей этого поля удобно использовать диалоговое окно, вызываемое в меню «Вставка–Перекрестная ссылка». Оно позволяет переписать значение из другого фрагмент документа. Например, во фразе «на рисунке 1 приведены …» цифра может быть записана с помощью поля «Ref». В случае если нумерация рисунков изменится, цифра во фразе автоматически обновится.

С помощью поля «Ref» можно вставить в документ номер абзаца в перечислении, номер раздела документы и другие данные, в том числе и произвольный фрагмент текста, помеченный с помощью закладки. Для этого нужно выделить нужный фрагмент текста, выполнить команду из меню «Вставка–Закладка» и набрать имя закладки. Использование закладок является наиболее универсальным способом вставки перекрестных ссылок.

Многие возможности автоматизации задействуются в Word с помощью команд меню. При этом пользователю даже не сообщается, какие поля лежат в основе. Например, все нумерованные списки построены на основе полей «ListNum».

Более мощные возможности по автоматизации работы с документами предоставляют языки программирования. Так, для создания динамических HTML страницы в браузере используется язык программирования JavaScript, результата работы которого можно наблюдать на многих сайтах. С элементами документов Microsoft Word можно работать с помощью языка Visual Basic.

Задание к работе

  1. В справочнике по CSS прочитайте про вложенные селекторы, свойства content, counter-reset и padding. В стилевом файле из 6 лабораторной работы настройте стили перечислений так, чтобы вложенные нумерованные перечисления выглядели как на рисунке:

    .

  2. В Microsoft Word откройте диалоговое окно вставки и поля и просмотри возможные варианты полей. Выпишите пять полей наиболее полезных с Вашей точки зрения.

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

    .

    При любом изменении порядка элементов в документе все номера и ссылки на элементы должны корректно обновляться.

  4. В Microsoft Word настройте стили для заголовков первого, второго и третьего уровней и многоуровневый список так, чтобы заголовки выглядели следующим образом (на картинке документ показан в режиме структуры, в левой колонке указаны стили текста):

    .