Четыре частые проблемы таблиц LaTeX от ИИ и их исправление

БлогEasyLaTeX OfficialОпубликовано

1. Согласуйте разделители со спецификацией столбцов

\begin{tabularx}{\linewidth}{lXX} объявляет три столбца, поэтому в обычной строке два разделителя &. Лишние могут вызвать Extra alignment tab has been changed to \cr. Считайте столбцы и разделители построчно, учитывая намеренно объединённые ячейки.

Полный пример сочетает переносящие текст столбцы X, линии booktabs и экранированные специальные символы. Компилируйте XeLaTeX:

LaTeX
\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 вместе.

Четыре частые проблемы таблиц LaTeX от ИИ и их исправление | EasyLaTeX