我遇到了以下问题:
页面内容溢出脚注区域。到目前为止,只有当页面上的最后一项是区块引用时才会发生这种情况。以下是我遇到的情况的屏幕截图:
您可以看到引用块上方的一个段落。
在我的模板中我有以下代码,我怀疑这会导致此问题:
\definecolor{quotecolor}{HTML}{686868}
\newfontfamily\quotefont[Color=quotecolor]{Ubuntu}
\AtBeginEnvironment{quote}{\quotefont\small\it\color{quotecolor}}
\AtBeginEnvironment{quote}{\vspace{-0.7\baselineskip}}% Stuff before {quote}
\AtEndEnvironment{quote}{\vspace{-0.7\baselineskip}}% Stuff after {quote}
但是,如果没有此代码,块引用似乎会占用太多垂直空间。
我该如何修复此问题?
目前我只有以下两个想法:
- 以某种方式增加对溢出到脚注区域的内容的惩罚
- 使用不同的方法减少引用块周围的垂直空白
我会尝试想出一个 MWE,尽管找到一种方法来诱使 Latex 犯同样的错误可能非常困难。我无法分享完整的文档。
我的构建过程有点复杂,但最终一切都是 Latex 代码,然后才被编译为 PDF,所以我认为这对于这个平台来说是一个有效的问题:
- reStructuredText 被解析并部分替换为乳胶代码,以启用文档内部链接和引用
- 然后,部分转换的代码将通过 Pandoc 完全转换为 latex(使用模板)
- 然后使用 latexmk 将生成的 latex 代码编译为 pdf
我能够获得最后阶段的乳胶代码文件,但正如我所说,无法共享完整的文件,也无法共享其中的重要部分,如果需要这样的东西,就需要提出 MWE。
答案1
没有一个例子可以说明这一点,这只是一个解决方案的描述(op 在评论中承认了这一点)。
\vspace
在列表的顶部和底部应用明确的否定(这是quote
环境所基于的)可以保证使乳胶认为块在垂直方向上比实际要小,从而导致诸如重叠打印上下内容的结果,正如所报告的。
环境顶部的空间由 控制\topsep
,默认值为8.0pt plus 2.0pt minus 4.0pt
(如\showthe\topsep
该类所 报告的article
)。如果在环境开始时将其重置为较小的值,那么应该可以解决问题。
由于quote
是一个“受限”环境,退出该环境时会恢复原始值\topsep
和类似设置,因此无需手动重置,如下面简单的测试所示:
\documentclass{article}
\begin{document}
\begin{quote}
\showthe\topsep
\topsep=0pt
xxx
\end{quote}
\showthe\topsep
\end{document}