info###latexinfo.ru

Как сделать дополнительный отступ слева в ячейке таблицы

Иногда нужно визуально выделить содержимое конкретной ячейки, например, создать эффект «вложенности» или красной строки для всего блока текста. Речь идет о ячейке типа «параграф» p{...}, которая поддерживает перенос строк.

Простое добавление \hspace в начале строки недостаточно, при переносе вторая и последующие строки будут прибиты к левому краю. Цель: сделать так, чтобы все строки были немного сдвинуты.

Для этого воспользуемся комбинацией \hspace* и \parbox:

\newcommand{\colwidth}{\dimexpr\linewidth-2\tabcolsep-\arrayrulewidth}
\newcommand{\cellspace}[1]{\hspace*{0.4cm}\parbox[t]{\colwidth}{#1}}

\begin{tabular}{|p{5cm}|c|c|} \hline
\textbf{Название списка} & \textbf{Ячейка 1} & \textbf{Ячейка 2} \\ \hline
\cellspace{Содержимое первого элемента списка на несколько строк}\par & Ячейка 3 & Ячейка 4 \\ \hline
\cellspace{Содержимое второго элемента списка на несколько строк} & Ячейка 5 & Ячейка 6 \\ \hline
\cellspace{Третий элемент} & Ячейка 7 & Ячейка 8 \\ \hline
\end{tabular}

В результате получим следующую таблицу:

Ячейки в таблице с отступом текста
Рисунок 1: Ячейки в таблице с отступом текста

Для упрощения записи повторяющиеся команды переопределили как отдельные новые команды. Команда \cellspace — новая команда, которая задает комбинацию сдвига. Команда \colwidth использует расчетную ширину столбца, ее в данном примере можно просто заменить на 4.6cm (5 см минус сдвиг 0.4 см). Определение \colwidth через расчетное значение удобно использовать для ячеек разной ширины, не задумываясь над расчетами ширины.

Команду \hspace*{} используем именно со звездочкой, это гарантирует, что отступ не будет удален в начале ячейки, так как иногда Latex игнорирует такие пробелы.

Есть нюанс с использованием \par в конце ячейки. Если текст многострочный, добавление \par добавляет стандартный отступ снизу (первая строка). Без него текст может выглядеть прижатым к нижней линии (вторая строка). Если текст выводится в одну строку, \par использовать не нужно, иначе появится лишняя строка.

LaTeX для всех
  • таблица в latex
  • отступы в таблице
  • нестандартные отступы в некоторых ячейках
Находясь на нашем сайте, вы принимаете условия использования файлов cookies. Более подробная информация здесь.