我正在编写报告并使用该tocloft
软件包。我已使用这些命令来获得所需的 4 位数字深度:
\documentclass[12pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{tocloft}
\usepackage[left=1.5in,right=0.5in,top=1in,bottom=1in]{geometry}
\begin{document}
\numberwithin{figure}{subsection}
\setlength{\cftfignumwidth}{4em}
\listoffigures
\newpage
\chapter{Introduction}
\section{Intro}
\begin{figure}
\includegraphics[scale=1]{1.jpg}
\caption{my fig 1}
\end{figure}
\subsection{file}
\begin{figure}
\includegraphics[scale=1]{1.jpg}
\caption{my fig 2}
\end{figure}
\subsubsection{list}
\begin{figure}
\includegraphics[scale=1]{1.jpg}
\caption{my fig 3}
\end{figure}
\end{document}
它给出像这样的输出
我想要像这样的数字
1.1.1
1.1.1.1
1.1.1.2
1.2
1.2.2.1
等等
我应该怎么办?
答案1
您的编号实际上没有任何意义:
1.1.1 <-- 按节
1.1.1.1 <-- 按小节
1.1.1.2 <-- 按小节
1.2 <-- 按章*
1.2.2.1 <-- 按小节
参考资料by chapter
应该从1重新开始。要实现“从每个部分单元重新开始编号”的方法,可以使用以下设置:
\documentclass{report}
\usepackage{amsmath,tocloft}
\setlength{\cftfignumwidth}{4em}% Just for this example
\let\oldchapter\chapter% Store \chapter
\renewcommand{\chapter}{%
\clearpage
\numberwithin{figure}{chapter}% Figures numbered within chapter
\oldchapter
}
\let\oldsection\section% Store \section
\renewcommand{\section}{%
\numberwithin{figure}{section}% Figures numbered within section
\oldsection
}
\let\oldsubsection\subsection% Store \subsection
\renewcommand{\subsection}{%
\numberwithin{figure}{subsection}% Figures numbered within subsection
\oldsubsection
}
\begin{document}
\listoffigures
\chapter{First chapter}
\section{First section}
\begin{figure}
\caption{First figure}
\end{figure}
\subsection{First subsection}
\begin{figure}
\caption{Second figure}
\end{figure}
\subsubsection{Second subsection}
\begin{figure}
\caption{Third figure}
\end{figure}
\chapter{Second chapter}
\begin{figure}
\caption{Fourth figure}
\end{figure}
\section{Second section}
\subsection{Third subsection}
\begin{figure}
\caption{Fifth figure}
\end{figure}
\end{document}
这个想法是重新定义每个部分单元,以便重新建立图形编号的呈现方式:在 中\chapter
,按章节(重新)编号;在 中\section
,按节(重新)编号;在 中\subsection
,按小节(重新)编号,等等。
当然,采用这种方法,编号变化是总是与计数器的重启/重置相关figure
。因此,在每个新的分段单元,图号从1开始。
\chapter
使用 进行不同的处理,因为这允许在开始新的相关编号\clearpage
之前刷新任何待处理的浮点数。\chapter
答案2
还添加subsection
到重置列表中,chapter
然后重新定义\thefigure
以查看最深的非零计数器。
\documentclass[12pt,a4paper]{report}
\usepackage[titles]{tocloft} % one usually wants the `titles` option
\usepackage{graphicx}
\usepackage{chngcntr}
\setlength{\cftfignumwidth}{4em}
\counterwithin*{subsection}{chapter}
\counterwithin*{figure}{subsection}
\renewcommand{\thefigure}{%
\ifnum\value{subsection}=0
\ifnum\value{section}=0
\thechapter.%
\else
\thesection.%
\fi
\else
\thesubsection.%
\fi
\arabic{figure}%
}
\begin{document}
\listoffigures
\chapter{Introduction}
\begin{figure}
\includegraphics[width=2cm]{example-image}
\caption{At chapter level}
\end{figure}
\section{Intro}
\begin{figure}
\includegraphics[width=2cm]{example-image}
\caption{At section level}
\end{figure}
\subsection{file}
\begin{figure}
\includegraphics[width=2cm]{example-image}
\caption{At subsection level}
\end{figure}
\subsubsection{list}
\begin{figure}
\includegraphics[width=2cm]{example-image}
\caption{At subsubsection level}
\end{figure}
\end{document}
这假设您有第一节之前的图表,因此它们被视为属于该章节。
在 a 之后\section
但在 a 之前的图\subsection
将按小节编号。在\subsection
命令与\section
命令之间的图将按小节编号。
请注意,在 LaTeX 中没有“结束部分级别”标记:模型是,当一个子级别开始时,除了开始一个新的级别之外,没有其他方法可以退出到上一个级别。
如果您需要“上升一级”之类的功能,请重新考虑您的规范:这个编号系统已经令人困惑。