
Я использую команду \lstlistoflistings из пакета listings для генерации списка примеров кода. К сожалению, между номером и заголовком листинга кода недостаточно места. Посмотрите на изображение примера, в последней строке должно быть 13.10.1. Как мне настроить ширину столбца?
решение1
Добавьте это в преамбулу:
\makeatletter
\def\l@lstlisting#1#2{\@dottedtocline{1}{1.5em}{3em}{#1}{#2}}
\makeatother
Вместо 3em
третьего аргумента используйте длину, которая лучше всего соответствует вашим потребностям (в исходном определении значение равно 2.3em
).
Полный пример:
Макет по умолчанию:
\documentclass{book}
\usepackage{listings}
\begin{document}
\lstlistoflistings
\setcounter{chapter}{13}
\chapter{Test}
\setcounter{lstlisting}{13}
\begin{lstlisting}[caption=A]
A
\end{lstlisting}
\end{document}
А теперь с увеличением расстояния:
\documentclass{book}
\usepackage{listings}
\makeatletter
\def\l@lstlisting#1#2{\@dottedtocline{1}{1.5em}{3em}{#1}{#2}}
\makeatother
\begin{document}
\lstlistoflistings
\setcounter{chapter}{13}
\chapter{Test}
\setcounter{lstlisting}{13}
\begin{lstlisting}[caption=A]
A
\end{lstlisting}
\end{document}
Возможно, для поддержания согласованности в других списках вы также могли бы подумать о переопределении \l@figure
, \l@table
,... при необходимости (или об использовании специального пакета для изменения расстояния между меткой и заголовками).