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


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

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

[=
|| Параметры таблицы (атрибуты тега &lt;TABLE&gt;): border, width и т.п.
|| Первая ячейка первой строки || Вторая ячейка первой строки || ... || Последняя ячейка первой строки ||
|| Первая ячейка второй строки || Вторая ячейка второй строки || ... || Последняя ячейка второй строки ||
...
=]

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

Код таблицы:

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

Результат:

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


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

!!!! Синтаксис

Использование команды [=(:table:)=] близко к созданию таблиц с использованием языка HTML. Общий синтаксис использования этой команды следующий:

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

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

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

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

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

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

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

(:row2:)
(:cell2:) Таблица с рамкой
(:cell2:)[=(: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:)[=(: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:) Использование параметров colspan и rowspan
для объединения ячеек по горизонтали и вертикали
(:cell2:)[=(: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:)


!!!! Вложенные таблицы

Из-за особенностей работы википарсера (части программы OutWiker, который преобразует викинотацию в код HTML), чтобы одна таблица располагалась в ячейке другой таблицы, недостаточно одной команды [=(:table:)=] (в этом случае википарсер не будет знать, где заканчивается таблица верхнего уровня, а где вложенная таблица), поэтому для явного указания начала и конца команды создания таблицы были добавлены команды [=(:table:)=] с номерами, т.е. команды [=(:table1:)=], [=(:table2:)=], [=(:table3:)=], [=(:table4:)=] и [=(:table5:)=]. Они могут использоваться точно также, как и команда [=(:table:)=], но создавались они именно для создания вложенных таблиц. Обратите внимание, что эти команды закрываются с помощью выражения [=(:table1:)=], [=(:table2end:)=], [=(:table3end:)=], [=(:table4end:)=] и [=(:table5end:)=] соответственно. 

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

Например:

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

(:row3:)
(: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:)=]

(: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:)

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