Как объединять ячейки в таблицах Markdown (Colspan / Rowspan)

Ограничения стандартных Markdown-таблиц (GFM)

Стандартный синтаксис таблиц на вертикальных палочках | колонка 1 | колонка 2 | строг: каждая строка обязана содержать равное число ячеек. Из-за этого прямое объединение ячеек в таблице markdown без использования дополнительных инструментов невозможно (здесь на помощь приходит интеграция чистого HTML в Markdown).

Объединение по горизонтали (Colspan)

Некоторые диалекты позволяют объединять ячейки по горизонтали, оставляя соседнюю ячейку пустой или заполняя ее дефисами, но самым надежным и переносимым способом остается использование атрибута colspan в теге <td> или <th>:

HTML
<th colspan="2">Параметры эксперимента</th>

Markdown таблица с Rowspan: объединение строк через HTML

Когда требуется markdown таблица rowspan (например, для группировки нескольких строк измерений под одной категорией), таблица целиком оформляется через стандартный тег <table>:

HTML
<table>
  <tr>
    <th>Группа</th>
    <th>Параметр</th>
    <th>Значение</th>
  </tr>
  <tr>
    <td rowspan="2">Серия А</td>
    <td>Температура</td>
    <td>293 K</td>
  </tr>
  <tr>
    <td>Давление</td>
    <td>101,3 кПа</td>
  </tr>
</table>

Превью Labkeeper рисует такую таблицу с границами ячеек, но без чередования фона строк. При печати в PDF длинная таблица переносится на следующий лист, а шапка повторяется на каждой странице, только если она стоит внутри тега <thead>.

Готовый шаблон сложной таблицы измерений

Шаблон таблицы измерений с составной шапкой: номер опыта объединяет две строки, а под каждой величиной стоят значение и погрешность. Шапка вынесена в <thead>, чтобы повторяться на каждой странице при печати.

HTML
<table>
  <thead>
    <tr>
      <th rowspan="2">№ опыта</th>
      <th colspan="2">Напряжение U, В</th>
      <th colspan="2">Ток I, мА</th>
    </tr>
    <tr>
      <th>значение</th><th>погрешность</th>
      <th>значение</th><th>погрешность</th>
    </tr>
  </thead>
  <tbody>
    <tr><td>1</td><td>1,20</td><td>0,05</td><td>10,0</td><td>0,5</td></tr>
    <tr><td>2</td><td>2,35</td><td>0,05</td><td>20,0</td><td>0,5</td></tr>
  </tbody>
</table>

Такой гибридный подход позволяет студентам сохранять скорость написания основного текста в Markdown, подключая HTML-таблицы только для комплексных сводных ведомостей. Учтите, что в LaTeX-проекте HTML-таблица из Markdown-сегмента выбрасывается целиком: там ячейки объединяют командами \multicolumn и \multirow (для второй нужен пакет multirow) в LaTeX-сегменте. Требования к таблицам в дипломе разобраны в руководстве по переносу таблиц по ГОСТ.

Практические советы

1

Инструменты-генераторы таблиц

Для быстрого построения сложных HTML-таблиц с объединением ячеек удобно использовать визуальные редакторы таблиц, вставляя готовый код напрямую в документ.

Попробуйте прямо сейчас

Создавайте сложные научные таблицы в Labkeeper

Онлайн-редактор Markdown и LaTeX: HTML-таблицы с объединенными ячейками в превью, формулы MathJax и сохранение в PDF через печать браузера.

Другие статьи