我的图表计数器有些问题。我添加了几个图表,其中一些带有标题,一些没有标题。我希望那些带有标题的图表被计数,其他的图表不应增加计数器。不知何故,它有时有效,有时无效。
例如,显然下面的图形正在被计数(因为当我擦除它时,下面的图形的计数器减少了一):
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{amsthm}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{chngcntr}
\usepackage{framed}
\usepackage{tikz}
\usepackage{geometry}
\usetikzlibrary{fit,matrix}
\counterwithin{figure}{section}
\begin{document}
\begin{figure}[h]
\begin{subfigure}[h]{0.3\textwidth}
\centering
\(u=\)
\tikz[baseline=(M.west)]{%
\node[matrix of math nodes,matrix anchor=west, ampersand replacement=\&] (M) {%
~3 \& 0 \&~ 0 \&~ 0\\
~-3 \& 0 \&~ 0 \&~ 0\\
~0 \& 0 \&~ 0 \&~ 0\\
};
\node[draw,fit=(M-1-1)(M-3-4),inner sep=-1pt] {};
},
\end{subfigure}%
~
\begin{subfigure}[h]{0.215\textwidth}
\centering
\(v=\)
\tikz[baseline=(M.west)]{%
\node[matrix of math nodes,matrix anchor=west, ampersand replacement=\&] (M) {%
~3 \& 0 \&~ 0 \&~ 0\\
~0 \& 0 \&~ 0 \&~ 0\\
~-3 \& 0 \&~ 0 \&~ 0\\
};
\node[draw,fit=(M-1-1)(M-3-4),inner sep=-1pt] {};
}
\end{subfigure}
\end{figure}
\end{document}
我猜有些人可能觉得这个数字看起来很奇怪,因为我不太擅长写 Latex 文档。但目前的主要问题是编号。
计数器是否取决于图形的大小?
我可以手动告诉程序跳过计算特定数字吗?
答案1
这是包的一个功能subcaption
。当subfigure
使用时,figure
计数器会独立于是否\caption
使用而进行步进。更准确地说,如果预计标题位于底部,则这样做,这对于图形来说很常见。原因很简单:子图的标题需要知道主图标题的编号,但主图标题只会在稍后生成。
在这种情况下,\caption
命令将会进行调整,使计数器不再步进。
我觉得figure
没有主标题的环境很不合逻辑,主标题对读者很有用。子图没有子标题也很奇怪。
subfigure
但是,除非您想指定子标题,否则您不需要。subfigure
环境只是一个minipage
掩护,加上我之前提到的调整。
顺便说一句,该[h]
说明符对于 来说并不好subfigure
:它接受[t]
或[b]
,类似minipage
,含义相同。
\documentclass{article}
\usepackage{subcaption}
\newcommand{\mockpicture}{\fbox{\rule{0pt}{1cm}\rule{2cm}{0pt}}}
\begin{document}
\begin{figure}[!htp]
\centering
NO CAPTION HERE
\medskip
\begin{minipage}{0.3\textwidth}
\centering
\mockpicture
\end{minipage}
\begin{minipage}{0.3\textwidth}
\centering
\mockpicture
\end{minipage}
\end{figure}
\begin{figure}[!htp]
\centering
NO CAPTION HERE
\medskip
\mockpicture
\end{figure}
\begin{figure}[!htp]
\centering
CAPTION HERE
\medskip
\mockpicture
\caption{A caption text}
\end{figure}
\end{document}
答案2
当我仍然想要一个标题但不想给它编号时,我成功了以下操作:
\begin{figure}
\caption{A figure}
. . .
\end{figure}
. . .
\begin{figure}\ContinuedFloat
\caption{A non-numbered figure}
. . .
\end{figure}
答案3
以下是另一个问题图表无标题编号。希望您能将标题和标签一起删除。
\documentclass{article}
\usepackage{caption}
\usepackage{graphicx}
\begin{document}
\begin{figure}[h!]
\centering
\includegraphics[height=2cm]{figure}
\caption{Une figure.}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[height=2cm]{figure1}
\captionsetup{labelformat=empty}
\caption{Une figure.}
\end{figure}
\end{document}