我有以下代码:
\documentclass[a4paper]{paper}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{theorem}{Theorem}
\newtheorem{defn}{Definition}[subsection]
\begin{document}
\begin{defn}[\cite[III.1]{sil}]
Let $E$
\end{defn}
\end{document}
问题是这会引发错误,但如果我删除括号,\cite
它就会正常工作。有什么想法吗?
答案1
您需要将\cite[..]{..}
命令括在额外的括号中{...}
,否则]
cite 命令中的 将被解释为 的可选参数的结束方括号defn
。
\documentclass[a4paper]{paper}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{theorem}{Theorem}
\newtheorem{defn}{Definition}[subsection]
\begin{document}
\begin{defn}[{\cite[III.1]{book-minimal}}]
Let $E$
\end{defn}
\bibliographystyle{amsplain}
\bibliography{xampl}
\end{document}
\protect
做不是在这里提供帮助,这不是一个移动论点的问题。