Вращение текста и широких таблиц на 90 градусов (пакет rotating)
Проблема широких таблиц в книжной ориентации А4
В дипломных проектах, диссертациях и экономических отчетах часто встречаются таблицы из 8–15 колонок с подробными числовыми данными. В стандартный книжный лист формата А4 (ширина 210 мм за вычетом полей 30 мм и 15 мм оставляет всего 165 мм полезного пространства) такая таблица физически не помещается: текст начинает безобразно сжиматься, слова переносятся по буквам, либо таблица вылезает за пределы правого поля.
Единственное правильное типографическое решение по ГОСТ 7.32 и ГОСТ 2.105 — повернуть таблицу на 90 градусов против часовой стрелки, расположив ее на альбомном развороте, но сохранив при этом стандартное положение колонтитулов и номера страницы. Дополнительно улучшить читаемость повернотой таблицы можно с помощью настройки межстрочного интервала в ячейках через arraystretch.
Пакет rotating sidewaystable: подключение и синтаксис
Для реализации альбомного поворота используется специализированный пакет rotating sidewaystable. Подключите его в преамбуле документа:
\usepackage{rotating}
Пакет предоставляет два мощных окружения:
sidewaystable— для размещения широких таблиц на отдельной повернутой странице;sidewaysfigure— для размещения широких чертежей, графов и схем.
Повернуть таблицу на 90 градусов LaTeX: полный пример кода
Чтобы повернуть таблицу на 90 градусов latex, замените стандартное окружение \begin{table} на \begin{sidewaystable}:
\begin{sidewaystable}[htbp]
\centering
\caption{Сравнительный анализ производительности распределенных баз данных}
\label{tab:db-comparison}
\begin{tabular}{|l|c|c|c|c|c|c|}
\hline
СУБД & Модель данных & Макс. RPS & Задержка p99, мс & Масштабируемость & Лицензия & Поддержка SQL \\
\hline
PostgreSQL & Реляционная & 12 000 & 8.5 & Вертикальная / шардинг & Open Source & Полная \\
ClickHouse & Колоночная & 150 000 & 1.2 & Горизонтальная кластерная & Apache 2.0 & Диалект SQL \\
MongoDB & Документная & 45 000 & 4.1 & Шардинг из коробки & SSPL & Нет (MQL) \\
Redis & Key-Value & 850 000 & 0.3 & Redis Cluster & Redis Source & Нет \\
\hline
\end{tabular}
\end{sidewaystable}
LaTeX автоматически выделит под таблицу отдельный лист, повернет саму таблицу и ее заголовок на 90 градусов, а колонтитул с номером листа оставит на стандартном месте. Если в таблице много численных данных из расчетов, вы можете комбинировать ее с автоматизацией при чтении CSV-таблиц пакетом pgfplotstable.
Требования ГОСТ к расположению альбомных таблиц
Согласно ГОСТ 7.32-2017:
- Таблицу поворачивают так, чтобы ее чтение осуществлялось поворотом документа по часовой стрелке (то есть верх таблицы оказывается у левого поля страницы);
- Пакет
rotatingпо умолчанию соблюдает это правило для нечетных страниц; - Если документ с двухсторонней печатью, используйте опцию
\usepackage[figuresright]{rotating}, чтобы все таблицы были повернуты в одну сторону.
Вращение отдельных заголовков колонок через turn и rotatebox
Если повернуть нужно не всю таблицу целиком, а только длинные подписи узких столбцов в шапке, используйте команду \rotatebox{90}{...} из пакета graphicx:
\usepackage{graphicx}
\begin{tabular}{|l|c|c|}
\hline
Студент & \rotatebox{90}{Теория вероятностей} & \rotatebox{90}{Дискретная математика} \\
\hline
Иванов & 5 & 4 \\
Петров & 4 & 5 \\
\hline
\end{tabular}
Практические советы
Размещение на отдельной странице
Окружение sidewaystable всегда занимает всю страницу целиком. Не пытайтесь разместить обычный текст до или после нее на том же листе.
Экспорт в PDF в Labkeeper
В Labkeeper поворот таблиц компилируется корректно без искажения размеров шрифта и смещения рамок.