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

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

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

|| Параметры таблицы (атрибуты тега <TABLE>): border, width и т.п.
|| Первая ячейка первой строки || Вторая ячейка первой строки || ... || Последняя ячейка первой строки ||
|| Первая ячейка второй строки || Вторая ячейка второй строки || ... || Последняя ячейка второй строки ||
...

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

Код таблицы:

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

Результат:

Выравнивание по левому краю Выравнивание по центру Выравнивание по правому краю

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

Синтаксис

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

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

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

В программе OutWiker команда (:table параметры:)...(:tableend:) преобразуется в HTML-код вида: <table параметры>...</table>

Команда (:row:) указывает на начало новой строки таблицы, она является аналогом HTML-тега <tr> и, соответственно, может содержать в себе те же самые параметры.

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

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

Комментарий Викинотация Результат
Таблица с рамкой (:table border="1":)
(:row:)
(:hcell:)ячейка 1
(:hcell:)ячейка 2
(:hcell:)ячейка 3
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:cell:)ячейка 6
(:tableend:)
ячейка 1ячейка 2ячейка 3
ячейка 4 ячейка 5 ячейка 6
Таблица без рамки (:table:)
(:row:)
(:cell:)ячейка 1
(:cell:)ячейка 2
(:cell:)ячейка 3
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:cell:)ячейка 6
(:tableend:)
ячейка 1 ячейка 2 ячейка 3
ячейка 4 ячейка 5 ячейка 6
Использование параметров colspan и rowspan
для объединения ячеек по горизонтали и вертикали
(:table border="1" align="center":)
(:row:)
(:cell colspan=2 align=center:)ячейка 1
(:cell rowspan=2:)ячейка 2
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:tableend:)
ячейка 1 ячейка 2
ячейка 4 ячейка 5

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

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

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

Например:

ВикинотацияРезультат
(: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:)

Таблица 2. Ячейка 1 Таблица 2. Ячейка 2 Таблица 2. Ячейка 3
Таблица 2. Ячейка 4 Таблица 2. Ячейка 5 Таблица 2. Ячейка 6
ячейка 2 ячейка 3
ячейка 4 ячейка 5 ячейка 6

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