!! Таблицы

!!! Содержание

** [[Упрощенное создание таблиц -> #simple]]
** [[Использование команды [=(:table:)=] -> #wikicommand]]
*** [[Синтаксис -> #syntax]]
*** [[Примеры использования -> #examples]]
*** [[Вложенные таблицы -> #nested]]

!!! Подходы для создания таблиц

Для создания таблиц на вики-страницах существует подхода: 
* использование упрощенной викинотации для создания небольших таблиц;
* использование вики-команды %code%[=(:table:)...(:tableend:)=]%% с возможностью более тонкой настройки внешнего вида таблиц.

Далее будут рассмотрены оба подхода.


!!! [[#simple]]Упрощенное создание таблиц

Для создания таблиц с помощью упрощенной викинотации используется следующий формат записи:

%code%[=|| параметры
|| Первая ячейка первой строки || Вторая ячейка первой строки || ... || Последняя ячейка первой строки ||
|| Первая ячейка второй строки || Вторая ячейка второй строки || ... || Последняя ячейка второй строки ||
...
=]%%

При использовании такой нотации обязательно нужно объявить начало таблицы с помощью символов %code%[=||=]%%, после которых могут быть добавлены параметры таблицы, которые представляют собой атрибуты HTML-тега &lt;table&gt;). Например, %code%border%%, %code%width%% и т.п. Затем каждая новая строка, начинающаяся с символов %code%[=||=]%%, описывает каждую строку таблицы. Ячейки таблицы также разделяются с помощью символов %code%[=||=]%%. Эти же символы ставятся в конце каждой строки таблицы.

Горизонтальное выравнивание текста в ячейках таблицы задается пробелами перед и после текста внутри ячейки. Это показано на следующем примере:

Код таблицы:

%code%[=|| border=1 width=100%
||Выравнивание по левому краю || Выравнивание по центру || Выравнивание по правому краю||
=]%%

Результат:

|| border=1 width=100%
||Выравнивание по левому краю || Выравнивание по центру || Выравнивание по правому краю||


!!! [[#wikicommand]] Использование команды [=(:table:)=]

!!!! [[#syntax]] Синтаксис

С помощью [[вики-команды -> page://wikicommand]] %code%[=(:table:)=]%% удобнее создавать большие таблицы в форматированием текста внутри ячеек. Синтаксис этой команды следующий:

%code%[=(:table параметры:)
(:row параметры:)
(:hcell параметры:) Текст заголовочной ячейки
(:hcell параметры:) Текст заголовочной ячейки
...
(:row параметры:)
(:cell параметры:) Текст ячейки
(:cell параметры:) Текст ячейки
...
(:tableend:)=]%%

В команде %code%[=(:table:)=]%% могут использоваться те же параметры, что и в теге &lt;table&gt; языка HTML. Наиболее часто используемые параметры - это :
* %code%border%% для задания толщины рамки таблицы. Усли %code%border=0%%, что является значением по умолчанию для команды, то таблица отображается без рамки. 
* %code%width%% для задания ширины таблицы. 
* %code%align%% для задания выравнивания таблицы.

Команда %code%[=(:table параметры:)...(:tableend:)=]%% преобразуется в HTML-код вида: %code%&lt;table параметры&gt;...&lt;/table&gt;%%.

Команда %code%[=(:row:)=]%% указывает на начало новой строки таблицы, она является аналогом HTML-тега %code%&lt;tr&gt;%% и, соответственно, может содержать в себе те же самые параметры.

Начало новой ячейки задается с помощью команд %code%[=(:cell:)=]%% для обычных ячеек или %code%[=(:hcell:)=]%% для заголовочных ячеек. Команда %code%[=(:cell:)=]%% является аналогом HTML-тега %code%&lt;td&gt;%%, а команда %code%[=(:hcell:)=]%% - аналогом HTML-тега %code%&lt;th&gt;%%.

!!!! [[#examples]] Примеры использования

(:table2 width=100% border=1 style="border-collapse: collapse; border: 1px solid black;":)
(:row2:)
(:hcell2:) Комментарий
(:hcell2:) Викинотация
(:hcell2:) Результат

(:row2:)
(:cell2:) Таблица с рамкой и строкой с заголовками
(:cell2:)%code%[=(:table border="1":)
(:row:)
(:hcell:)ячейка 1
(:hcell:)ячейка 2
(:hcell:)ячейка 3
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:cell:)ячейка 6
(:tableend:)=]%%
(:cell2:)(:table border="1":)
(:row:)
(:hcell:)ячейка 1
(:hcell:)ячейка 2
(:hcell:)ячейка 3
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:cell:)ячейка 6
(:tableend:)

(:row2:)
(:cell2:)Таблица без рамки
(:cell2:)%code%[=(:table:)
(:row:)
(:cell:)ячейка 1
(:cell:)ячейка 2
(:cell:)ячейка 3
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:cell:)ячейка 6
(:tableend:)=]%%
(:cell2:)(:table:)
(:row:)
(:cell:)ячейка 1
(:cell:)ячейка 2
(:cell:)ячейка 3
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:cell:)ячейка 6
(:tableend:)

(:row2:)
(:cell2:) Использование параметров %code%colspan%% и %code%rowspan%%
для объединения ячеек по горизонтали и вертикали
(:cell2:)%code%[=(:table border="1" align="center":)
(:row:)
(:cell colspan=2 align=center:)ячейка 1
(:cell rowspan=2:)ячейка 2
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:tableend:)=]%%
(:cell2:)(:table border="1" align="center":)
(:row:)
(:cell colspan=2 align=center:)ячейка 1
(:cell rowspan=2:)ячейка 2
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:tableend:)
(:table2end:)


!!!! [[#nested]] Вложенные таблицы

Чтобы одна таблица располагалась в ячейке другой таблицы, недостаточно одной команды %code%[=(:table:)=]%%, в этом случае википарсер не будет знать, где заканчивается таблица верхнего уровня, а где вложенная таблица, поэтому для явного указания начала и конца команды создания таблицы были добавлены команды %code%[=(:table:)=]%% с номерами: %code%[=(:table1:)=]%%, %code%[=(:table2:)=]%%, %code%[=(:table3:)=]%%, %code%[=(:table4:)=]%% и %code%[=(:table5:)=]%%. Они могут использоваться точно также, как и команда %code%[=(:table:)=]%%, но создавались они именно для создания вложенных таблиц. В соответствии с правилами форматирования [[вики-команд -> page://wikicommand]], перечисленные нумерованные команды закрываются с помощью выражений %code%[=(:table1end:)=]%%, %code%[=(:table2end:)=]%%, %code%[=(:table3end:)=]%%, %code%[=(:table4end:)=]%% и %code%[=(:table5end:)=]%% соответственно. 

Внутри команды вида %code%[=(:tableN:)=]%% (где N = 1, 2, ..., 5) для создания строк и ячеек должны использоваться также нумерованные команды %code%[=(:rowN:)=]%%, %code%[=(:cellN:)=]%% и %code%[=(:hcellN:)=]%%. Эта особенность добавляет наглядности, какой именно таблице какая строка или ячейка принадлежит.

Например:

(:table3 border="1" width=100% style="border-collapse: collapse; border: 1px solid black;":)
(:row3:)
(:hcell3:)Викинотация
(:hcell3:)Результат

(:row3:)
(:cell3:)
%code%[=(:table border=1 align=center:)
(:row:)
(:cell:)(:table2 border=1:)
(:row2:)
(:cell2:)Таблица 2. Ячейка 1
(:cell2:)Таблица 2. Ячейка 2
(:cell2:)Таблица 2. Ячейка 3
(:row2:)
(:cell2:)Таблица 2. Ячейка 4
(:cell2:)Таблица 2. Ячейка 5
(:cell2:)Таблица 2. Ячейка 6
(:table2end:)

(:cell:)ячейка 2
(:cell:)ячейка 3

(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:cell:)ячейка 6
(:tableend:)=]%%

(:cell3:)(:table border=1 align=center:)
(:row:)
(:cell:)(:table2 border=1:)
(:row2:)
(:cell2:)Таблица 2. Ячейка 1
(:cell2:)Таблица 2. Ячейка 2
(:cell2:)Таблица 2. Ячейка 3
(:row2:)
(:cell2:)Таблица 2. Ячейка 4
(:cell2:)Таблица 2. Ячейка 5
(:cell2:)Таблица 2. Ячейка 6
(:table2end:)

(:cell:)ячейка 2
(:cell:)ячейка 3

(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:cell:)ячейка 6
(:tableend:)
(:table3end:)

Нумерация таблиц не обязательно должна показывать уровень вложенности. Например, на данной странице справки для оформления последнего примера наружная таблица создается с помощью команды %code%[=(:table3:)=]%%, а вложенные - с помощью команд %code%[=(:table:)=]%% и %code%[=(:table2:)=]%%.

----
'''См. также:'''
* page://wiki-format-text
* page://wiki-links
* page://wikicommand