我想知道这个命令为什么有效:
\noindent\adjustimage{width=1.2\textwidth,center,caption={mycaption},label={mylabel},figure}{mylabel}
并且我的引用可以正常工作,但是使用此代码我可以编译文档,但引用不起作用(出现问号):
\begin{figure}
\adjustimage{width=1.2\textwidth,center}{myfigure}
\label{mylabel}
\caption{mycaption}
\end{figure}
有什么方法可以修改上述代码以使引用起作用吗?
我添加了一个允许编译的最小代码:
\documentclass[a4paper,11pt]{article}
\usepackage{adjustbox}
\usepackage{graphicx,float}
\usepackage{epstopdf}
\usepackage{caption}
\usepackage{pdflscape}
\begin{document}
In picture reference \ref{figure1} works, instead in picture \ref{figure2} does not
\noindent\adjustimage{width=1.2\textwidth,center,caption={mycaption1},label={figure1},figure}{myfigure1}
\begin{figure}[H]
\adjustimage{width=1.2\textwidth,center}{myfigure2}
\label{figure2}
\caption{mycaption2}
\end{figure}
\end{document}
答案1
正如解释的那样为什么环境的标签必须出现在标题之后?,\label
必须,嗯,出现后\caption
。在这种情况下,包caption
甚至会发出警告
Package caption Warning: \label without proper reference on input line 11.
See the caption package documentation for explanation.
无关:在并非完全过时的 TeX 发行版中,无需加载该epstopdf
包。