我通常使用 LyX,当我想标记某个部分(以便以后引用)时,我会将标签放在部分标题内。这通常有效,但最近我尝试使用“Econometrica 文章”布局创建一篇文章,并出现编译错误:
! Missing control sequence inserted.
<inserted text>
\inaccessible
l.4 \section{\label{sec:The-Model}The Model}
以下是 MWE:
\documentclass[english]{ectaart}
\usepackage{babel}
\begin{document}
\section{\label{sec:The-Model}The Model}
\end{document}
(注意:Econometrica 布局随 LyX 安装一起处于不可用状态,直到安装 ectaart.cls 文件)。
答案1
它实际上在\MakeUppercase
页面头部失败了。如果你添加
\usepackage[overload]{textcase}
那么\label
在这种情况下是安全的。
答案2
您不应在命令\label
内使用该命令\section
。相反,您应该将\label
命令放在部分本身内。
将其放置在部分的什么位置并不重要,但是为了避免混淆,最好将其放置在命令之后\section{<title>}
。
这里有一个 MWE,您可以试一下(取消注释其中一个,\label{foo}
并注释另一个),您会发现,无论在哪里\label
,输出总是相同的。
\documentclass{article}
\usepackage{float}
\usepackage{lipsum}
\begin{document}
\section{First section}
\label{foo}
\lipsum[1]
\begin{figure}[H]
\caption{\label{bar}This is a figure}
\end{figure}
%\label{foo}
\lipsum[2]
{\Huge\bfseries This is section~\ref{bar}.}
%\label{foo}
\section{Second section}
\end{document}
输出如下:
笔记我知道我没有使用该类etcaart
作为示例,但上面提出的考虑因素有点与类无关,并且也应该适用于该类etcaart
(即使我没有尝试过)。