# Таблицы

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

- Упрощенное создание таблиц
- Использование команды (:table:)

- Синтаксис
- Примеры использования
- Вложенные таблицы

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

Для создания таблиц на вики-страницах существует подхода:

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

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

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

Для создания таблиц с помощью упрощенной викинотации используется следующий формат записи:
|| параметры
|| Первая ячейка первой строки || Вторая ячейка первой строки || ... || Последняя ячейка первой строки ||
|| Первая ячейка второй строки || Вторая ячейка второй строки || ... || Последняя ячейка второй строки ||
...
При использовании такой нотации обязательно нужно объявить начало таблицы с помощью символов ||, после которых могут быть добавлены параметры таблицы, которые представляют собой атрибуты HTML-тега <table>). Например, border, width и т.п. Затем каждая новая строка, начинающаяся с символов ||, описывает каждую строку таблицы. Ячейки таблицы также разделяются с помощью символов ||. Эти же символы ставятся в конце каждой строки таблицы.
Горизонтальное выравнивание текста в ячейках таблицы задается пробелами перед и после текста внутри ячейки. Это показано на следующем примере:
Код таблицы:
|| border=1 width=100%
||Выравнивание по левому краю || Выравнивание по центру || Выравнивание по правому краю||
Результат:

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

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

### Синтаксис

С помощью вики-команды (:table:) удобнее создавать большие таблицы в форматированием текста внутри ячеек. Синтаксис этой команды следующий:
(:table параметры:)
(:row параметры:)
(:hcell параметры:) Текст заголовочной ячейки
(:hcell параметры:) Текст заголовочной ячейки
...
(:row параметры:)
(:cell параметры:) Текст ячейки
(:cell параметры:) Текст ячейки
...
(:tableend:)
В команде (:table:) могут использоваться те же параметры, что и в теге <table> языка HTML. Наиболее часто используемые параметры - это :

- border для задания толщины рамки таблицы. Усли border=0, что является значением по умолчанию для команды, то таблица отображается без рамки.
- width для задания ширины таблицы.
- align для задания выравнивания таблицы.

Команда (:table параметры:)...(:tableend:) преобразуется в HTML-код вида: <table параметры>...</table>.
Команда (:row:) указывает на начало новой строки таблицы, она является аналогом HTML-тега <tr> и, соответственно, может содержать в себе те же самые параметры.
Начало новой ячейки задается с помощью команд (:cell:) для обычных ячеек или (:hcell:) для заголовочных ячеек. Команда (:cell:) является аналогом HTML-тега <td>, а команда (:hcell:) - аналогом HTML-тега <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

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

Чтобы одна таблица располагалась в ячейке другой таблицы, недостаточно одной команды (:table:), в этом случае википарсер не будет знать, где заканчивается таблица верхнего уровня, а где вложенная таблица, поэтому для явного указания начала и конца команды создания таблицы были добавлены команды (:table:) с номерами: (:table1:), (:table2:), (:table3:), (:table4:) и (:table5:). Они могут использоваться точно также, как и команда (:table:), но создавались они именно для создания вложенных таблиц. В соответствии с правилами форматирования вики-команд, перечисленные нумерованные команды закрываются с помощью выражений (:table1end:), (:table2end:), (:table3end:), (:table4end:) и (:table5end:) соответственно.
Внутри команды вида (:tableN:) (где N = 1, 2, ..., 5) для создания строк и ячеек должны использоваться также нумерованные команды (: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:).

См. также:

- Форматирование текста
- Ссылки
- Вики-команды