不久前我选了一个模板来写考试。每个问题都写在\begin{problem}
和之间\end{problem}
。在序言中我有
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{marvosym}
\usepackage{enumerate}
\usepackage{subfigure}
\usepackage{placeins}
%\pagestyle{empty} %<== DELETE IF YOUR TEST HAS MORE THAN ONE PAGE
% (this page style suppresses page numbers.)
%Adjust the margins:
\addtolength{\textwidth}{1.75in}
\addtolength{\textheight}{1.75in}
\addtolength{\topmargin}{-0.95in}
\addtolength{\hoffset}{-.95in}
%puts in a horizontal rule the width of the text with space
%before and after.
\newcommand{\sep}{\ifhmode\par\fi\vskip6pt\hrule\vskip6pt}
%A new environment for a test problem.
\newcounter{problem}
\newenvironment{problem}
{
%\stepcounter{problem}%
\refstepcounter{problem}
\filbreak%
\sep
\noindent\arabic{problem}.
}
{
\filbreak
}
\begin{document}
我将其替换\stepcounter{problem}
为\refstepcounter{problem}
。当我尝试交叉引用时,我执行以下操作:
\begin{document}
\begin{problem}
\label{labelname}
Answer this question
\end{problem}
\begin{problem}
Refer to problem~\ref{labelname}. Now answer this question.
\end{problem}
\end{document}
但是,当我编译该.tex
文件时,PDF 文件显示“参考问题??。现在回答这个问题。”
我该如何解决这个问题?非常感谢您的帮助。
答案1
第一次运行后,我得到了您描述的行为:
但是当再次运行时(不删除.aux
第一次运行中生成的文件),您会获得所需的结果:
由于可以在放置图形之前对其进行引用,因此需要运行两次。第一次确定图形编号,放置临时文件??
作为引用的占位符,第二次解析引用。