cleveref 遇到特殊字符时崩溃

cleveref 遇到特殊字符时崩溃

我读了cleveref手册的第 10 章,以为下面的代码可以运行,但它崩溃了。cleveref 无法处理特殊字符。

我犯了错误吗?或者有解决方案吗?

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsthm}
\usepackage[ngerman]{cleveref}

\newtheorem{thm}{ü}

\begin{document}

\begin{thm} \label{dummy}
test
\end{thm}

See \Cref{dummy}.

\end{document}

答案1

ü不是单个字符,实际上是一个脆弱的命令,但使用\newtheorem{thm}{{ü}}会起作用,即将命令分组。

从截图中你会看到cleveref确实是聪明的Ü:如果\Cref应用,它会使用正确的大写字符,尽管它直接指定!

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsthm}
\usepackage[ngerman]{cleveref}

\newtheorem{thm}{{ü}}

\begin{document}

\begin{thm} \label{dummy}
test
\end{thm}

See \Cref{dummy} or \cref{dummy}.

\end{document}

相关内容