我想知道当按章节编号时,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}
原则上,最好将subfigure
和subtable
环境与\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}
谢谢!