列表编号方式与图表和表格相同

列表编号方式与图表和表格相同

对于具有 1 个深度级别的数字和表格进行编号,如下所示:

Figure 1.2
Table 3.13

我使用的包:

\usepackage{chngcntr}
\counterwithin{figure}{section}
\counterwithin{table}{section}
\numberwithin{equation}{section}

我想让代码列表 usepackage 获得相同的效果,listings但编译器说不chngcntr支持列表。我该如何实现这种效果?我将不胜感激所有帮助。

答案1

这是一个解决方案。

计数器lstlisting是使用定义的,因此必须在 或使用\AtBeginDocument之后进行更改\begin{document}\AtBeginDocument

\documentclass{book}
\usepackage{lipsum}
\usepackage{listings}
\usepackage{chngcntr}
\AtBeginDocument{\counterwithin{lstlisting}{chapter}}
\begin{document}
\chapter{Foo}
\begin{lstlisting}[caption={bla bla},label=list]
for i:=maxint to 0 do
begin
{ do nothing }
end;

Write(’Case insensitive ’);
WritE(’Pascal keywords.’);
\end{lstlisting}
\section{Foo}
\begin{lstlisting}[caption={bla bla},label=list]
for i:=maxint to 0 do
begin
{ do nothing }
end;

Write(’Case insensitive ’);
WritE(’Pascal keywords.’);
\end{lstlisting}
\end{document} 

相关内容