Minoru
10.05.2011 16:24 netbook
Псто, выручай. Мне нужно уменьшить расстояние между пунктами в окружениях itemize и enumerate. За это отвечает параметр itemsep — это можно выставить в ноль и всё будет ок:
\begin{itemize}
\setlength{\itemsep}{0pt}
\item Item one
...
\end{itemize}
Но проблема в том, что это неудобно. Собственно, вопрос: как мне глобально, для всего документа задать itemsep=0pt? Прописывание \setlength до или внутри окружения document не помогает.
Recommended by:
@Kona-chan
Первое, что пришло в голову: переопределить itemize.
Не получается. Я так понимаю, нужно сделать что-то вроде:
\renewenvironment{itemize}{%
\begin{\ORIGITEMIZE}{%
\setlength{\itemsep}{0pt}}{%
\end{\ORIGITEMIZE}}
а ORIGITEMIZE определить так:
\let\ORIGITEMIZE=\itemize
(естественно, let должен быть перед renewenvironment).
Проблема в том, что LaTeX ругается на let.
Тогда определи новый тип списка.
Хотеть просто поменять itemize :) Но да, я встречал готовый рецепт для создания нового. Попробовать, что ли…
Если ничего другого не найдешь, создавай свой.
Не нашёл, потому и спрашиваю же :)
Добился некоторого прогресса с вот таким кодом:
\let\origenum=\enumerate
\renewenvironment{enumerate}{
\begin{origenum}
\setlength{\itemsep}{0pt}
}{\end{origenum}}
но теперь последний пункт списка почему-то сдвинут влево:
Что делать, псто?
Это список литературы?
Очевидно же :)
Почему тогда не использовать средства латеха для создания списков литературы?
На самом деле, не совсем так: это список нормативных документов и книг, использовавшихся при создании ПО.
Этот список — пример. У меня ещё пара списков есть, не являющихся списками литературы.
Если после последнего item'а поставить перевод строки (example code given below), всё рендерится нормально.
\begin{enumerate}
\item ...
...
\item ...
\end{enumerate}
В общем, сделал нечто вроде грязного хака:
% squashing spaces between items in enumerate environment
\let\origenum=\enumerate
\renewenvironment{enumerate}{\begin{origenum}\setlength{\itemsep}{0pt}}{
\end{origenum}}
Да-да, всё верно — там посередине пустая строка. Ну, по крайней мере оно работает :)
@Kona-chan, спасибо за поддержку all along the way!
Ох, да не за что, толку с меня было немного.
…впрочем, LaTeX не сдаётся. Попытался определить такую же штуку для itemize — получил ошибку:
! LaTeX Error: Too deeply nested.
>_<
Всё, что-то случилось и теперь оно постоянно с такой ошибкой валится :'(