使用最新更新(v.3.8)时,如果我还按以下方式memoir
加载和定义有效报价,则会检测到错误:csquotes
\documentclass{memoir}
\usepackage{csquotes}
\MakeBlockQuote{<}{|}{>}
\begin{document}
Test
\end{document}
LaTeX 崩溃并出现以下错误:
! LaTeX hooks 错误:无法将通用钩子添加到‘@xfloat’。
有人能帮帮我吗?谢谢
答案1
这其实没什么memoir
关系。内核中的 Hook 代码与活动字符 (\MakeBlockQuote{<}{|}{>}
使>
活动) 存在问题。
以下是 Ulrike 在其他地方提供的一个简单示例
\documentclass{article}
\def\test#1{?}
\AddToHook{cmd/test/after}{xx}
\catcode`\?=13
\begin{document}
Test
\end{document}
正如 Ulrike 在评论中提到的那样,移动
\MakeBlockQuote{<}{|}{>}
\EnableQuotes
之后\begin{document}
。但一般来说,最好避免进行<
和>
活动,因为这可能会导致奇怪的结果。
显然,如果补丁/钩子的 catcode 与原始定义的 catcode 不匹配,Hook 代码就会不喜欢。