如何将图形条目列表从 3.1.0.1 更改为 3.1.1?

如何将图形条目列表从 3.1.0.1 更改为 3.1.1?

我正在编写报告并使用该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 中没有“结束部分级别”标记:模型是,当一个子级别开始时,除了开始一个新的级别之外,没有其他方法可以退出到上一个级别。

如果您需要“上升一级”之类的功能,请重新考虑您的规范:这个编号系统已经令人困惑。

相关内容