Латекс: make listOffigures выглядеть как listoftables или lstlistolvlistings
Вопрос
У меня есть список списков в конце моего документа после моего списка таблиц и моим списком фигур. То, что действительно раздражает меня, это то, что они выглядят одинаково, за исключением списка списков не оставляет линейную разрыв между главами.
У меня был хороший Google, и люди задали тот же вопрос, но, похоже, не имели никакого ответа.
Их любая причина, почему они не выглядят одинаково, и это будет сделано, чтобы посмотреть лаконично?
Решение
Причина этого состоит в том, что вертикальное расстояние между главами в списке фигур (LOF) и списка таблиц (лота) добавляют \chapter
Команда, и там просто нет такого положения для списка списков (лол).
Как исправить это немного зависит от класса документов, который вы используете. Если вы используете отличный memoir
Класс, крючки для этой цели уже предоставлены:
\renewcommand{\memchapinfo}[4]{%
\addtocontents{lol}{\protect\addvspace{10pt}}}
Если ваши списки появляются в приложениях, вы крючко \memappchapinfo
вместо \memchapinfo
. Отказ (Consult раздел 18.25 Руководства Memoir для списка доступных крючков.)
Если вы не используете memoir
, вам, как правило, нужно подключить ваш класс \@chapter
команда. Это может выглядеть, например:
\makeatletter
\let\my@chapter\@chapter
\renewcommand*{\@chapter}{%
\addtocontents{lol}{\protect\addvspace{10pt}}%
\my@chapter}
\makeatother
Вы можете легко проверить, что используется для генерации LOL, проверив .lol
файл, соответствующий вашему документу. Если ваш документ, например, base.tex
, посмотрите base.lol
. Отказ Вы должны увидеть что-то вроде:
\contentsline {lstlisting}{...}{...}
\contentsline {lstlisting}{...}{...}
\addvspace {10pt}
\contentsline {lstlisting}{...}{...}
Обратите внимание \addvspace
отделение контентных линий из разных глав.
Поскольку фактический код, используемый для вставки расстояния между главами, также зависит от класса документа, адаптировать фактический \addvspace
команда, чтобы быть таким же, как в вашем .lof
или .lot
файлы.