按章节编号时编号不连续:2.1 后跟 2.3?

按章节编号时编号不连续:2.1 后跟 2.3?

我想知道当按章节编号时,LaTeX 如何决定如何对图进行编号。我的问题是同一章中的图的编号是不连续的,例如,在图 2.1 之后,它跳转到图 2.3,而没有图 2.2(我的所有图都已编号)。我并不是想将编号改为连续的,如图 1、图 2 等所示,我希望它们按章节编号,但我希望 2.1 后面跟着 2.2。这里有什么问题?我的序言如下所示:

        \documentclass[12pt,twoside]{report}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\graphicspath{ {Images/} }
\usepackage{caption}
\usepackage{subcaption}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{titlesec}

\usepackage[a4paper,width=150mm,top=25mm,bottom=25mm,bindingoffset=6mm]{geometry}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancypagestyle{MyStyle}{
    \fancyhead{} %Clean headers
    \fancyhead[LE,RO]{\leftmark}
    \fancyfoot[C]{\thepage}
    \renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{\thechapter. {\slshape{##1}}}}{}}
    \renewcommand{\headrulewidth}{0.4pt}
    \renewcommand{\footrulewidth}{0.4pt}
}

\usepackage[sorting=none]{biblatex}
\addbibresource{references.bib}

\usepackage{listings}
\usepackage{color}

\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}

\lstdefinestyle{mystyle}{
    backgroundcolor=\color{backcolour},   
    commentstyle=\color{codegreen},
    keywordstyle=\color{magenta},
    numberstyle=\tiny\color{codegray},
    stringstyle=\color{codepurple},
    basicstyle=\scriptsize,
    breakatwhitespace=false,         
    breaklines=true,                 
    captionpos=b,                    
    keepspaces=true,                 
    numbers=left,                    
    numbersep=5pt,                  
    showspaces=false,                
    showstringspaces=false,
    showtabs=false,                  
    tabsize=2
}

\lstset{style=mystyle}

\title{Master report}
\author{J}
\date{7 June 2016}

\titleformat{\chapter}[block]
  {\normalfont\huge\bfseries}{\thechapter.}{1em}{\huge}
\titlespacing*{\chapter}{0pt}{0pt}{20pt}

\begin{document}
\renewcommand{\bibname}{References}

\pagestyle{MyStyle}

\addcontentsline{toc}{chapter}{Abstract}
\addcontentsline{toc}{chapter}{Acknowledgements}
\pagestyle{plain}

\tableofcontents


%\listoftables
\pagestyle{MyStyle}

\chapter{Introduction}
\begin{figure}[h]
\centering
%\includegraphics[scale=0.58]{original_model_picture}
\caption{A schematic of the model}
\subcaption*{\footnotesize{}}
\label{fig:originalmodel}
\end{figure}

\chapter{Methods} \label{Methods}
\section{Changes to the model}

\begin{equation}
    V \propto M=n_r(r+\rho m_r)+n_r(1+\rho)(c_r+zm_r)+\sum_{y \in \{t,m,q\}}(n_r+\rho n_y)(c_y+zm_y)+n_y(y+\rho m_y)
\end{equation}

\begin{equation}
    [a]=\frac{a}{M}, \qquad [s_i]=\frac{s_i}{M}, \qquad [m_y]=\frac{m_y}{M} \qquad \text{etc.}
\end{equation}

\vspace{5mm}

\begin{table}[h]
\centering
\begin{tabular}{l | l}
Variable & Description\\
\hline \hline
\end{tabular}
\caption{List of variables}
\label{tab:variables}
\end{table}

\begin{table}
\centering
\begin{tabular}{l | l | l}
Reaction & Rate & Description\\
\hline \hline

\end{tabular}
\caption{List of reactions and rates}
\subcaption*{\footnotesize{}}
\label{tab:reactions}
\end{table}

\begin{table}
\centering
\begin{tabular}{l | l | l | l }
Parameter & Description & Unit & Value in  \\
\hline \hline
\end{tabular}
\caption{List of parameters}
\label{tab:parameters}
\end{table}

\section{Reactions and their rates}

\begin{equation} \label{eq:vimp}
v_{\text{imp}}=e_t\frac{v_ts}{K_t+s}
\end{equation}

\begin{equation} \label{eq:metabolism}
    v_{\text{cat}}=e_m\frac{v_m[s_i]}{\frac{K_m}{\sigma}+[s_i]}
\end{equation}

\vspace{5mm}

\begin{equation} \label{eq:roleofsigma}
    \sigma k_br[m_y]=k_brm_y\frac{\sigma}{M} \qquad y \in \{t,m,r,q\}
\end{equation}

\begin{equation} \label{eq:translation}
    v_y(c_y,[a])=\frac{c_y}{n_y}\gamma([a]) \qquad y \in \{t,m,r,q\}
\end{equation}

\begin{equation}
    \gamma([a])=\gamma_{max}\frac{[a]}{\frac{K_{\gamma}}{\sigma}+[a]}
\end{equation}

\begin{equation} \label{eq:thresholds}
    w_y([a])=w_y\frac{[a]}{\frac{\theta_y}{\sigma} + [a]} \qquad y \in \{t,m,r\}
\end{equation}

\begin{equation}
    w_q([a])=w_q\frac{[a]}{\frac{\theta_q}{\sigma} + [a]}I([q]) \qquad I([q])=\frac{(\frac{K_q}{\sigma})^{h_q}}{(\frac{K_q}{\sigma})^{h_q}+[q]^{h_q}}
\end{equation}

\section{The role of the transcriptional thresholds $\theta_y$} \label{roleofthresholds}

\begin{figure}
\centering
%\includegraphics[scale=0.8]{relative_transcription_rates}
\caption{Relative transcription rates depend on energy concentration}
\subcaption*{\footnotesize{}}
\label{fig:thresholds}
\end{figure}

\begin{figure}
\centering
%\includegraphics[scale=0.6]{energy_concentration}
\caption{Energy concentration increases exponentially with growth rate}
\subcaption*{\footnotesize{}} 
\label{fig:energyconcentration}
\end{figure}

\appendix
\chapter{Appendices}
\addcontentsline{toc}{section}{Appendix 1 - Full system of ODEs}
\addcontentsline{toc}{section}{Appendix 2 - Cost function for MCMC fitting}

\listoffigures
\vspace{2cm}
\begingroup
\let\clearpage\relax
\listoftables
\endgroup
\addcontentsline{toc}{chapter}{List of Figures and Tables}
\clearpage


\end{document}

由于我没有指定编号,我假设它使用默认的章节...图表列表显示: 在此处输入图片描述

在此先谢谢大家,如果之前有人问过这个问题,我很抱歉,因为我在这里找不到。

答案1

\subcaption*错误在于其自身盒子或环境之外的使用。

子标题手册明确指出\subcaption需要一个框或一个环境,即

\begin{table}
  \begin{minipage}{0.4\textwidth}
   % some content
  \subcaption{Foo}
  \end{minipage}
\end{table}

原则上,最好将subfiguresubtable环境与\caption, 一起使用以推翻此限制。

不过,\subcaption*{\footnotesize{}}在这里无论如何也是没用的。

OP 代码中还存在一些其他“风格”问题,但我只关注这些numbering问题。

答案2

正如 Christian 之前提到的,\subcaption必须将其放置在组(或框)内,因为它非常多\caption,因此会干扰特定的标题类型计数器。要了解这是一个怎样的问题,请使用\subcaption \caption在你的一个图形里面。

根据您当前非分组使用的分布情况\subcaption,可以使用以下方法解决此问题xparse。即重新定义\subcaption为始终放置在组内:

在此处输入图片描述

\documentclass{article}

\usepackage{subcaption,xparse}

\let\oldsubcaption\subcaption
\RenewDocumentCommand{\subcaption}{s o m}{%
  \begingroup
  \IfBooleanTF{#1}
    {\oldsubcaption*{#3}}
    {\IfValueTF{#2}
       {\oldsubcaption[#2]{#3}}
       {\oldsubcaption{#3}}}%
  \endgroup
}

\begin{document}

\listoffigures

\begin{figure}
  \caption{First figure}
\end{figure}

\begin{figure}
  \caption{Second figure}
  \subcaption*{Second subcaption}
\end{figure}

\begin{figure}
  \caption{Third figure}
\end{figure}

\end{document}

答案3

我现在明白了。每次计数器都会增加是子标题,感谢 Christian 指出了这一点。将命令嵌入\subcaption到组或小页面中或按照 Werner 的建议进行更改确实解决了“子标题超出框”的警告,但编号问题仍然存在。对我来说,解决方案是\subcaption根本不使用该命令(我想我一开始只是因为缺乏知识而误用了它),而是添加如下子标题:

\begin{minipage}{\textwidth}
\footnotesize{<description>} 
\end{minipage}

谢谢!

相关内容