对于具有 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}