我正在使用cleveref
该capitalise
选项,我想使用该\lcnamecref
命令在文本中给出我的一个定理的名称。但如果这不是预定义的定理类型之一cleveref
(引理、定理等),那么我会收到一条错误消息。这是一个 MWE:
\documentclass{article}
\usepackage{amsthm}
\usepackage[capitalise]{cleveref}
\crefname{mythm}{Mytheorem}{Mytheorems}
\newtheorem{mythm}{Mytheorem}
\begin{document}
\begin{mythm}\label{m}
foo
\end{mythm}
That was a \lcnamecref{m}.
\end{document}
当我编译时,我收到错误消息
! Argument of \MakeUppercase has an extra }.
我究竟做错了什么?
答案1
\lcnamecref
将强制将定义的名称变为小写\Crefname
(大写变体),因此您必须在序言中使用此宏。
\documentclass{article}
\usepackage{amsthm}
\usepackage[capitalise]{cleveref}
% \crefname{mythm}{Mytheorem}{Mytheorems}
\Crefname{mythm}{Mytheorem}{Mytheorems}
\newtheorem{mythm}{Mytheorem}
\begin{document}
\begin{mythm}\label{m}
foo
\end{mythm}
That was a \lcnamecref{m}.
\end{document}