ltpara 的新钩子管理和 scrlayer-scrpage(用于自动段落计数等)

ltpara 的新钩子管理和 scrlayer-scrpage(用于自动段落计数等)

我读到过,不应该使用,\everypar而应该\AddToHook{para/begin}使用自动段落枚举和相关操作。原则上,这很好用(mwe 不计数,只打印一个简单的符号):

\documentclass{scrartcl}
\usepackage{lipsum}
\begin{document}
\AddToHook{para/begin}{*}
\lipsum
\end{document}

一旦scrlayer-scrpage加载,事情就会变得糟糕(见下文)。文档的页眉和页脚中似乎有更多段落现在应用了新para/begin设置。 不会出现此问题\everypar

我的问题是:如何scrlayer-scrpage管理\everypar,为什么这对不起作用\AddToHook?是否有可以使用的排除模式来\RemoveFromHook避免此问题?

上述 MWE 与 scrlayer-scrpage

答案1

scrlayer并且scrlayer-scrpage不使用\everypar也不使用据我所知的通用钩子。但是,例如,对页眉和页脚scrlayer-scrpage使用几个命令。因此,页眉和页脚内也有几个逻辑段落。\parbox

如果您不想计算页眉和页脚中的段落,则可以使用例如开关:

\documentclass{scrartcl}
\newif\ifatpageheadfoot
\usepackage[onpsinit=\protect\atpageheadfoottrue]{scrlayer-scrpage}
\usepackage{lipsum}
\begin{document}
\AddToHook{para/begin}{\ifatpageheadfoot \else *\fi}
\lipsum
\end{document}

在此处输入图片描述

相关内容