crop-package 使用 everypar 干扰段落计数器

crop-package 使用 everypar 干扰段落计数器

史蒂文·B·塞格莱特斯已经设计出一种有效的方法来计算段落这似乎不会干扰我在书中使用的所有(许多)软件包。除了一个例外:-packagecrop会将其标记和 header-info 计为段落。

\documentclass[a5paper]{article}

\usepackage{lipsum}

\usepackage[cam,a4,center]{crop}

\newcounter{parcount}
\let\oldep\everypar%
\newenvironment{enumpars}
{\newtoks\everypar%
\setcounter{parcount}{0}%
\oldep{\the\everypar\stepcounter{parcount}%
    \textbf{(\theparcount)}\qquad}%
\par}{\global\let\everypar\oldep\par}

\begin{document}

\begin{enumpars}
\lipsum[1-5]
\end{enumpars}

\lipsum[6-8]

\begin{enumpars}
\lipsum[9-14]
\end{enumpars}

\end{document}

是否有办法通过在其开始工作\everypar之前保存其内容来“屏蔽”?crop

答案1

你可以用当前的 LaTeX 尝试一下。但在实际文档中,可能会有更多段落出现在错误的位置

\documentclass[a5paper]{article}

\usepackage{lipsum,etoolbox}
\newbool{parabool}

\usepackage[cam,a4,center]{crop}

\newcounter{parcount}

\AddToHook{para/begin}[enumpars]{\ifbool{parabool}{\stepcounter{parcount}\textbf{(\theparcount)}\qquad}{}}

\newenvironment{enumpars}
 {\setcounter{parcount}{0}%
  \booltrue{parabool}\par}
{}

\makeatletter
\preto\CROP@@@marks{\boolfalse{parabool}}
\makeatother
\begin{document}

\begin{enumpars}
\lipsum[1-5]
\end{enumpars}

\lipsum[6-8]

\begin{enumpars}
\lipsum[9-14]
\end{enumpars}

\end{document}

在此处输入图片描述

相关内容