我正在运行一个 main.tex 文件,其中我使用 \input{} 命令输入我的子文件:subfile1.tex,... 现在,我的子文件中有一些图形,比如 subfile1.tex,我想使用 \ref{fig:my_figure} 命令插入对该图形的引用(在 subfile1.tex 本身和 main.tex 中)。不幸的是,这不起作用,有什么线索吗?
为了完整性,我在这里放了我的代码,这是 main.tex:
\documentclass[12pt]{article}
\usepackage{graphicx}
\begin{document}
\input{subfile1.tex}
Look at figure \ref{fig:my_figure}
\end{document}
而这是 subfile.tex:
\begin{figure}
\includegraphics[width=4cm]{logo.png}
\label{fig:my_figure}
\end{figure}
Look at figure \ref{fig:my_figure}
用任何图像代替我的 logo.png 并亲自尝试。就我而言,当我运行 main.tex(在 TeXmaker 中)时,它不会显示这两个引用。
答案1
问题在于figure
环境本身不提供标签可以引用的任何内容。命令提供了标签可以引用的\caption
图号。\label
以下是一个例子:
\begin{filecontents}[overwrite]{sub-\jobname.tex}
\begin{figure}
\rule{4cm}{4cm}
\caption{test}
\label{fig:my_figure}
\end{figure}
Look at figure \ref{fig:my_figure}
\end{filecontents}
\documentclass[12pt]{article}
\usepackage{graphicx}
\begin{document}
\input{sub-\jobname.tex}
Look at figure \ref{fig:my_figure}
\end{document}