Концептуальные схемы

ЧЕБЫШЕВСКИЙ СБОРНИК

Том 15 Выпуск 2

КОНЦЕПТУАЛЬНЫЕ СХЕМЫ

А. Р. Есаян, Н. М. Добровольский

Аннотация

В последнее время графическая система TikZ стала неотъемлемой частью научного текстового редактора ТеХ/ЖТеХ и превратила его в графический векторный редактор. В статье обсуждаются средства TikZ, позволяющие создавать компактные, эстетически привлекательные и информативные концептуальные схемы. Речь идет о средствах, расположенных в библиотеке расширений mindmap (\usetikzlibrary{mindmap}) [2, c. 635]. Концептуальные схемы полезны в обучении и называются также картами лекций, схемами действий и т. п. Фактически, они являются представлениями многоуровневых списков в виде специальных графов. Поэтому для управления внешним видом концептуальных схем используются стандартные tikz-средства работы с деревьями, дополненные несколькими специальными опциями. В статье дается краткое описание действий именно этих специальных опций и показывается их использование при формировании конкретной схемы "Устройства компьютера" .

Ключевые слова: TgX, ЖТеХ, TikZ, mindmap Библиография: 2 названия.

CONCEPTUAL SCHEMES

A. R. Esayan, N. M. Dobrovolsky

Abstract

Recently graphics system TikZ has become an integral part of the scientific text editor ТеХ/ЖТеХ and turned it into a vector graphics editor. The article discusses the means TikZ to create compact, attractive and informative conceptual schemes. We are talking about tools, located in the library of extensions of mindmap (\usetikzlibrary{mindmap}) [2, c. 635]. Conceptual schemes are useful in training and are also called maps of lectures, activity, etc. In fact, they are representations of multi-level lists in the form of a special graph. Therefore, to control the appearance of conceptual schemes using standard tikz-tools trees, supplemented with several special options. The article gives a brief description of these special options, and shows their usage when forming the concrete scheme "Computer devices".

Keywords: TX, ЖТеХ, TikZ, mindmap

Bibliography: 2 titles.

1. Введение

Концептуальные схемы полезны в обучении и называются также картами лекций, схемами действий и т. п. Они, фактически, являются представлением многоуровневых списков в виде специальных графов. А именно, схема рисуется в виде дерева возможно с дополнительными узлами и ребрами. Узлы дерева должны обрабатываться специальным стилем concept (понятие) и называются концептами. Корневой узел является основным концептом. Потомки каждого концепта дерева могут быть смещены от родителя в любую сторону и автоматически соединяются с ним стилизованными ребрами. Дополнительные узлы, если они есть, обрабатываются стилем extra concept, аналогичным стилю concept, и также называются концептами, но автоматически с узлами дерева или друг с другом не соединяются. Концепты могут иметь надписи в виде текстов, таблиц, формул, рисунков и т. п, а также размещаемые рядом с ними аннотации. Концептуальные схемы нельзя масштабировать, но можно осуществлять над ними преобразования типа сдвигов, поворотов и т. д. К концептуальным схемам можно добавлять программные гаджеты, например календарь в стиле day list right.

2. Опции концептуальных схем

Для вывода схем используются стандартные средства вывода деревьев, дополненные рядом специальных опций, управляющих внешним видом концептуальных схем. Перечислим эти опции и опишем их действие:

• mindmap — инсталлирует большой набор внутренних установок, необходимых для рисования концептуальных схем. Такие установки удобны при распечатках схем на стандартных листах бумаги размером A4 — 210 x 297mm;

• every mindmap — задает установки аналогичные mindmap, но действующие на все концептуальные схемы;

• small mindmap — выполняется как mindmap, но дополнительно уменьшает размер концептов, шрифтов и ребер. Вывод схем при этих установках возможен на листах бумаги размером A5;

• large mindmap и huge mindmap — выполняются как mindmap, но дополнительно увеличивают размер концептов, шрифтов и ребер и используются соответственно при распечатках схем на листах бумаги размером A3 — 297 x 420mm и A2 — 420 x 594mm;

• concept — задает специальный стиль конкретному узлу, превращая его в концепт. По умолчанию форма узла — круг;

• every concept — выполняется как стиль concept, но действует сразу на все концепты. В этой опции нельзя изменять цвет;

• concept color = col — задает цвет col концептам. Если опция записана в начале окружения tikzpicture, то она действует лишь на корневой узел и на ребрах в направлениях от него к потомкам происходит автоматическое сглаживание цвета. Если опция задается в ветви child, то она действует на соответствующего потомка и на ребре в направлении от него к родителю происходит автоматическое сглаживание цвета. Если опция concept color задается в ветви node как значение в опциях level или every node, то она также действует на потомков, но сглаживание цвета не реализуется;

• extra concept — действует как concept, но используется для превращения в концепты одиночных узлов схемы, не входящих в дерево;

• every extra concept — аналогична опции extra concept, но действует сразу на все узлы, не входящие в дерево, но относящиеся к схеме;

• root concept/.append style{... } — добавляет новые стилевые установки к корневому узлу дерева;

• level k concept/.append style = {... } (k = 1, 2, 3,4,...) — добавляет новые стилевые установки к концептам, находящимся на k уровне дерева. Первый уровень дерева — это потомки корня;

• concept connection. Кроме автоматически выводимых ребер дерева любые два концепта схемы разрешается соединять дополнительными прямыми и кривыми ребрами или дугами. Делать это можно командами \draw обычным образом или с использованием опции concept connection. В последнем случае соединения узлов более точно вписываются в стиль концептуальных схем. Новые соединения концептов можно размещать поверх узлов и соединений дерева, но лучше делать это в фоновом слое, предварительно открыв библиотеку backgrounds. Тогда в местах их пересечений с имеющимися узлами и ребрами они будут невидимы;

• circle connection bar. Для узлов, являющихся именованными кругами, имеется возможность проводить дополнительные соединения в стиле концептуальных схем. Делается это командой \path c помощью опции circle connection bar в синтаксисе: \path (имя1) to [circle connection bar] (имя2). Данный тип соединений обычно используют вместе с опцией outer sep = Opt. Для неименованных узлов такие соединения возможны, но реализуются сложнее;

• circle connection bar switch color = from (coll) to (col2) — работает с именованными концептами, выполняется как circle connection bar, но в отличие от этой опции позволяет управлять цветом соединений с плавным переходом от цвета coll к цвету col2;

• annotation — задает стиль вывода новых узлов типа “аннотация”. Аннотации обычно располагаются рядом с концептами или их соединениями, являясь пояснением чего-либо. Аннотация может быть многострочной с

выравниванием строк по левому краю (по умолчанию), по центру и по правому краю. Часто надписи в аннотации задаются списками;

• every annotation — задает стиль вывода каждой аннотации.

3. Пример концептуальной схемы

В качестве примера создадим многоуровневую концептуальную схему “Устройства компьютера”. Для этого необходимо иметь перечень основных устройств компьютера и лучше всего составить его в виде вложенного нумерованного списка. Тогда сразу будет ясно, на каком уровне дерева следует размещать концепт того или иного устройства. В целях экономии места представим этот список в двух колонках и более мелким шрифтом:

1. Процессор

2. Блок питания

3. Память

3.1. Внешняя

3.1.1. Жесткий магнитный диск

3.1.2. Гибкий магнитный диск

3.1.3. Магнитная лента

3.1.4. Флеш-память

3.1.5. Ресурсы сети

3.1.6. Оптические диски

3.1.6.1. ОБ

3.1.6.2. БУБ

3.1.6.3. ВБ

3.1.6.4. В1ие-гау

3.2. Внутренняя

3.2.1. ПЗУ

3.2.2. ОЗУ

3.2.3. Кэш

4. Устройства ввода

4.1. Клавиатура

4.2. Мышь

4.3. Сенсорный экран

4.4. Сенсорная панель

4.5. Сканер

4.6. Графический планшет

4.7. Микрофон

4.8. Трекбол

4.9. Джойстик

4.10. Цифровые камеры

4.10.1. Фотокамера

4.10.2. Видеокамера

4.10.3. ^"еЬ-камера

5. Устройства вывода

5.1. Монитор

5.1.1. Жидкокристаллический монитор

5.1.2. Электроннолучевая трубка

5.1.3. Плазменный монитор

5.2. Принтер

5.2.1. Матричный

5.2.2. Струйный

5.2.3. Лазерный

5.3. Акустическая система

5.4. Плоттер

6. Устройства ввода/вывода

6.1. Дисковод

6.2. Накопитель на гибком магнитном диске

6.3. Накопитель на магнитной ленте

6.4. Модем

6.5. Сетевая карта

6.6. Порты

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

Часто вид схемы улучшается при ее поворотах. Если в последний код после mindmap вставить опцию rotate = 90, то схема окажется повернутой на угол 90o

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

Рнс. 1. Концептуальная схема “Устрайс-гна компыотера"

%\usepackage{tikz} - в преамбулу

\usetikzlibrary{mindmap, shadows} \leftmargin=1cm %\hoffset=-2cm \graphicspath{{d:/LaTeX_TikZ/TikZ_pictures/}} \begin{tikzpicture}[mindmap, color=white, font=\bfseries, concept color=black!55, every node/.style={concept, circular drop shadow}, level 1 concept/.append style={font=\bfseries\footnotesize}, level 2 concept/.append style={font=\bfseries\scriptsize}, level 3 concept/.append style={font=\bfseries\tiny}, level 4 concept/.append style={font=\bfseries\tiny}]

\node {Устройства\\ компьютера\\ \includegraphics{comp.png}}

child [concept color=black, grow=145] {node {Процессop}} child [concept color=red!80!black, grow=214]

{node {Блок\\питания}} child [concept color=teal, grow=up] {node {Память} child [grow=right] {node {Внешняя}

child [grow=40] {node {Оптич.\\диски} child [grow=165] {node {CD}} child [grow=115] {node {DVD}} child [grow=65] {node {BD}} child [grow=15] {node {Blu-\\ray}}} child [grow=0] {node {Флеш}} child [grow=-40] {node {Жесткий\\МД}} child [grow=-80] {node {Гибкий\\МД}} child [grow=-120] {node {Магн.\\лента}}} child [grow=140] {node {Внут-\\ренняя} child [grow=145] {node {ОЗУ}} child [grow=180] {node {Кэш}} child [grow=215] {node {ПЗУ}}}} child [concept color=blue, grow=left,

sibling distance=1.85cm] {node {Устройства ввода} child {node {Клави-\\атура}} child {node {Мышь}} child {node {Сенс.\\экран}} child {node {Сенс.\\панель}} child {node {Сканер}} child {node {Граф.\\планшет}} child {node {Микро-\\фон}} child {node {Трек-\\бол}} child {node {Джой-\\стик}} child {node {Цифр.\\камеры}

child [grow=35] {node {Фото}} child [grow=0] {node {Видеo}}

}}

child [grow=-35] {node {WEB}}}} child [concept color=green!30!black, grow=-90]

{node {Устройства вывода} child [grow=left] {node {Акуст.\\система}} child [grow=right] {node {Плоттер}}

child [grow=225] {node {Монитор}

child [grow=295] {node {ЭЛТ}} child [grow=260] {node {ЖК}} child [grow=225] {node {Плазм.}}} child [grow=315]{node {Принтер}

child [grow=245] {node {Матри-\\чный}} child [grow=280] {node {Струй-\\ный}} child [grow=315] {node {Лазер-\\ный}}}} child [concept color=red!45!black, grow=0]

{node {Устройства\\ввода-\\вывода} child [grow=-135] {node {НГМД}} child [grow=-95] {node {НЖМД}} child [grow=-55] {node {НМЛ}} child [grow=-15] {node {Модем}} child [grow=25] {node {Сет.\\карта}} child [grow=65] {node {Порты}}};

\end{tikzpicture}

4. Заключение

Из представленного материала вытекает, что при работе в научной издательской системе TEX/LTEX средства библиотеки mindmap пакета TikZ без особых затруднений позволяют писать код для представления многоуровневых списков в виде специальных концептуальных схем.

СПИСОК ЦИТИРОВАННОЙ ЛИТЕРАТУРЫ

1. http://www.ctan.org/pkg/ - перечень пакетов расширений LTEX хранилища

CTAN

2. Tantau T. TikZ and PGF Packages, manual for Version 3.0 / Till Tantau, Dec.

20, 2013. p. 1165, http://www.ctan.org/pkg/pgf

Тульский государственный педагогический университет им. Л. Н. Толстого Получено 15.05.2014