![新页面上的 sectsty + eso-pic/background + \section 存在问题](https://linux22.com/image/432876/%E6%96%B0%E9%A1%B5%E9%9D%A2%E4%B8%8A%E7%9A%84%20sectsty%20%2B%20eso-pic%2Fbackground%20%2B%20%5Csection%20%E5%AD%98%E5%9C%A8%E9%97%AE%E9%A2%98.png)
.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
、很多\section
s 和很多页的长书中,所以如果可能的话,我希望有一个更强大的解决方案。