Таблицы

Для создания таблиц на викистраницах существует два набора викикоманд: упрощенный, предназначенный в первую очередь для создания небольших таблиц, и команда (: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:).