我一直在用 LaTeX 为学校写实验报告,其中附录包含一些代码。但是,只要代码块占用不到一页,它就会被推到底部。我正在使用 IEEEtran 类。
\onecolumn
\appendices
\setminted{linenos}
\section{TITLE 1} \label{code1}
\inputminted{js}{../path/to/code1.js}
\pagebreak
\section{TITLE 2} \label{code2}
\inputminted{cpp}{../path/to/code2.cc}
\pagebreak
\section{TITLE 3} \label{code3}
\inputminted{cpp}{../path/to/code3.cc}
我希望代码直接放在标题下方。是\pagebreak
s 导致的吗?我该如何修复它?
答案1
使用\clearpage
而不是\pagebreak
;后者在有效时尝试填充页面,就像在带有twocolumn
选项的文章类中一样。\flushbottom
这种情况不会发生\clearpage
。
对于标准类article
和,只要指定或,report
LaTeX 就会设置。对于,默认情况下有效。对于其他类,您需要检查。\flushbottom
twocolumn
twoside
book
\flushbottom
答案2
您可以尝试插入一个\raggedbottom
。
解释(可能不准确):
默认情况下,LaTeX 会尝试以相同的高度结束每页,因此,如果您查看不同的页面,它们在填充文本的空间中看起来都相同。当分页符的选择不多时,这种方法效果不佳。在这种情况下,不可拉伸和不可拆分内容之间的空间被拉伸,从而在标题和 -block 之间留下大量空白minted
。
\raggedbottom
改变此行为,使 LaTeX 不会拉伸这些空格,而是将空白留在页面底部。要恢复正常行为,您可以使用\flushbottom
。