Четыре частые проблемы таблиц LaTeX от ИИ и их исправление
1. Согласуйте разделители со спецификацией столбцов
\begin{tabularx}{\linewidth}{lXX} объявляет три столбца, поэтому в обычной строке два разделителя &. Лишние могут вызвать Extra alignment tab has been changed to \cr. Считайте столбцы и разделители построчно, учитывая намеренно объединённые ячейки.
Полный пример сочетает переносящие текст столбцы X, линии booktabs и экранированные специальные символы. Компилируйте XeLaTeX:
\documentclass[11pt]{article}\usepackage{fontspec}\setmainfont{CMU Serif}\setsansfont{CMU Sans Serif}\setmonofont{CMU Typewriter Text}\usepackage[russian]{babel}\usepackage{booktabs,tabularx}\begin{document}\begin{table}[htbp]\centering\caption{Примеры описаний моделей}\label{tab:models}\begin{tabularx}{\linewidth}{lXX}\topruleМодель & Описание & Примечание \\\midrulebaseline\_v1 & Длинное описание переносится внутри этого столбца. & Точность: 81.2\%. \\model\_v2 & Другое описание. & A\&B; запуск\#2. \\\bottomrule\end{tabularx}\end{table}\end{document}2. Следуйте стилю таблиц проекта
Многие шаблоны используют линии в стиле booktabs, но следуйте действительному шаблону подачи. Без образца ИИ может смешать \hline и \toprule. Код скомпилируется без предупреждений, но толщины линий будут несогласованными. Предоставьте готовую таблицу и настройки её пакетов как образец.
3. Экранируйте специальные символы текстовых ячеек
Текст из наборов данных и кода может содержать _, %, & и #. Подчёркивание способно вызвать Missing $ inserted, а неэкранированный % комментирует остаток строки и может вызвать более позднюю ошибку.
В обычном тексте используйте \_, \%, \& и \#. Для математических обозначений используйте математический режим, например \(x_i\), вместо экранирования индекса.
4. Для широкого содержимого используйте столбцы с переносом
Предупреждение Overfull \hbox может сопровождать PDF с таблицей, выходящей за доступную ширину. Масштабирование всей таблицы через \resizebox может вписать её, чрезмерно уменьшив текст.
Вместо этого используйте tabularx со столбцами X и шириной вроде \linewidth. Подключите tabularx и пересмотрите фиксированные p{...}, а не заменяйте их слепо. Если содержимое всё ещё выходит за границы, проверьте неразрывные формулы и URL: столбец с переносом не может автоматически разбить всё.
Скомпилируйте, проверьте пакеты и подписи
Различайте ошибки и предупреждения. \multicolumn встроен, \multirow требует multirow, а \cmidrule предоставляется booktabs. Прикладывайте список пакетов к запросу.
Расположение подписи проверяют визуально: чтобы поместить её над таблицей, поставьте \caption перед табличным содержимым и \label сразу после подписи. Соблюдайте правила шаблона.
| Сообщение | Причина | Действие |
|---|---|---|
Extra alignment tab has been changed to \cr | Лишние разделители в обычной строке | Сравните разделители со спецификацией столбцов |
Missing $ inserted | Текстовое подчёркивание принято за индекс | Используйте \_ в тексте или математический режим для переменной |
Paragraph ended before \\ was complete | Предыдущий символ или комментарий мог нарушить строку | Проверьте неэкранированный % и полную строку; у сообщения не одна возможная причина |
Undefined control sequence. \multirow | Нет пакета | Подключите multirow, если это нужно, или переделайте таблицу доступными командами |
Overfull \hbox | Содержимое превышает ширину | Используйте переносящие столбцы и проверьте неразрывное содержимое |
Главное
- Прочитайте первую ошибку и посчитайте столбцы до изменения несвязанного кода.
- Используйте готовую таблицу как образец стиля.
- Прикладывайте список пакетов и проверяйте расположение подписи и метки.
- Если перенос не помогает, проверяйте содержимое, а не уменьшайте всё.
Скомпилируйте таблицу вместе со статьёй в EasyLaTeX и изучите журнал и PDF вместе.