新页面上的 sectsty + eso-pic/background + \section 存在问题

新页面上的 sectsty + eso-pic/background + \section 存在问题

.cls我使用的文件使用该包sectsty来设置节标题的样式。它还使用该eso-pic包来添加背景图片。(它以前使用该background包,但我将其更改为eso-pic遵循建议这里.) 我定义了一个名为 的新环境remark

remark结束一页时命令\section落在下一页的开头,编译崩溃,即,它会永远挂起。

梅威瑟:

\documentclass[11pt]{article}

\usepackage{eso-pic} 
\usepackage{sectsty}
\sectionfont{\color{blue}\sectionrule{0ex}{0pt}{-1ex}{1pt}}

\usepackage{lipsum}

\newenvironment{remark}{\vspace{0.5cm}}{\vspace{0.5cm}}

\begin{document}

\lipsum[1-3]
\lipsum[6][1-3]

\begin{remark}%
\lipsum[1][1-6]
\end{remark}

\section{A New Section}

\end{document}

(我将相关行从.cls文件中直接移到 MWE 中,以便它们都集中在一个地方。但在我的实际文档中,前 3 个命令位于.cls. 中)

当我编译 MWE 时,它挂起了。但是:

  • 如果我注释掉该\section命令,它就会编译。
  • 如果我注释掉\begin{remark}\end{remark},它就会编译。
  • 如果我在之前添加更多或更少的文本remark,或者使remark更长或更短(以便不会remark结束页面),它就会编译。

eso-pic该问题似乎与处理颜色或包含的方式有关xcolor,因为:

  • 如果我\usepackage{eso-pic}\usepackage{xcolor}或替换\usepackage{color},它就会编译。
  • 但是,如果我用 替换\usepackage{eso-pic}\usepackage{background}它就会挂起。

还:

  • 如果我删除\color{blue} 或者\sectionrule命令中的命令(\sectionfont或两者),它会编译。(!?)

显然,如果这是一次性事件,我可以稍微调整分页。但这发生在一本有很多remarks、很多\sections 和很多页的长书中,所以如果可能的话,我希望有一个更强大的解决方案。

相关内容