'memoir' v3.8 和 'csquotes' 的问题

'memoir' v3.8 和 'csquotes' 的问题

使用最新更新(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 代码就会不喜欢。

该问题已记录在此处:https://github.com/latex3/latex2e/issues/1099

相关内容