info###latexinfo.ru

В чем отличие между \textwidth и \linewidth?

Основное различие

Разница между командами заключается в области их действия и изменяемости:

  • \textwidth — это глобальная константа. Она определяет полную ширину текстового блока страницы (расстояние между левым и правым полями). Это значение задается классом документа или пакетом геометрии и не меняется в зависимости от того, где находится курсор.
  • \linewidth — это локальная переменная. Она определяет ширину текущей строки набора в конкретном контексте. Это значение меняется динамически при входе в списки, цитаты, мини-страницы или многоколоночную верстку.

Поведение в различных окружениях

  • Обычный текст: \linewidth равен \textwidth.
  • Списки (itemize, enumerate):
    • \textwidth остается равным ширине страницы.
    • \linewidth уменьшается на величину отступа списка.
  • Цитаты (quote, quotation):
    • \linewidth сужается согласно отступам цитаты.
  • Мини-страницы (minipage, parbox):
    • \linewidth автоматически принимает ширину созданного блока.
  • Две колонки (twocolumn):
    • \textwidth равен суммарной ширине обеих колонок плюс промежуток.
    • \linewidth равен ширине только одной текущей колонки.

Что использовать

  1. Используйте \textwidth, когда необходимо растянуть объект (рисунок, таблицу) на всю ширину текстового поля страницы или колонки, независимо от текущего уровня вложенности.
  2. Используйте \linewidth, когда объект должен занимать всю доступную ширину текущего контейнера. Это вариант для:
    • вставки изображений внутри списков и цитат;
    • создания универсальных макросов и окружений;
    • верстки внутри ячеек таблиц или блоков minipage.

Пример

Приведем пример, демонстрирующий разницу внутри нумерованного списка:

Длинный текст для демонстрации ширины страницы, сколько занимает текст в обычном абзаце, чтобы были видны обе границы.
\begin{enumerate}
\item Пункт списка.

% linewidth: изображение впишется в отступ пункта
\includegraphics[width=\linewidth]{image.png}

% textwidth: изображение может вылезти за границы пункта,
% так как оно попытается занять всю ширину страницы
\includegraphics[width=\textwidth]{image.png}
\end{enumerate}
Пример
Рисунок 1: Пример

Вывод: Если есть сомнения, какую команду использовать, безопаснее выбрать \linewidth, так как она гарантирует, что контент не выйдет за границы текущего блока.

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