Латекс: make listOffigures выглядеть как listoftables или lstlistolvlistings

StackOverflow https://stackoverflow.com/questions/3029271

  •  26-09-2019
  •  | 
  •  

Вопрос

У меня есть список списков в конце моего документа после моего списка таблиц и моим списком фигур. То, что действительно раздражает меня, это то, что они выглядят одинаково, за исключением списка списков не оставляет линейную разрыв между главами.

У меня был хороший 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 файлы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top