假设我想写一个我称之为 \cite{fr82} 的来源的定义 1.1。我可以\cite[Definition 1.1]{fr82}
毫无困难地写,我可以写
\begin{defn}[\cite{fr82}]
blah blah
\end{defn}
没有任何麻烦。然而,当我写
\begin{defn}[\cite[Definition 1.1]{fr82}] blah blah
blah blah
\end{defn}
我收到以下错误:
Runaway argument?
Definition 1.1)
! Paragraph ended before \@citex was complete.
<to be read again>
\par
l.488 \begin{defn}[\cite[Definition 1.1]
{fr82}]\label{defn:geom_fib}
I suspect you've forgotten a `}', causing me to apply this
control sequence to too much text. How can we recover?
My plan is to forget the whole thing and hope for the best
有什么办法可以修复此问题吗?
答案1
您需要将环境可选参数的内容括defn
在花括号中。
\documentclass{article}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{defn}{Definition}
\usepackage[authoryear]{natbib}
\begin{document}
\begin{defn}[{\citealt[Definition 1.1]{sm82}}]
Blah blah blah blah.
\end{defn}
\begin{thebibliography}{9}
\bibitem[Smith(1982)]{sm82} Smith, J., 1982, \dots
\end{thebibliography}
\end{document}