如何在LaTeX中的\ include之后没有分页符
-
05-07-2019 - |
题
我的LaTeX让我在每个小节后都有分页,因为我的小节是在单独的文件中。我使用命令 \ include {file}
,它在使用后添加了一个分页符。
我希望不会因使用 \ include {file}
而导致分页。
使用 include
-command?
解决方案
Will Robertson建议的新包装对于避免清除页面非常有用。看来,为了使 \ includeonly
工作,必须在 \ documentclass {...}
之后立即调用包。在我论文的复杂环境中,我也遇到了破坏引用的问题。
一个好的解决方法,当最终版本不需要includeonly时,仅在草稿中使用包含:
\newif\ifdraft\drafttrue
或
\newif\ifdraft\draftfalse
\ifdraft
\include{...}
\fi
\ifdraft
\include{file}
\else
\input{file}
\fi
第一行可以很容易地附加到makefile中,以使草稿或生产版本生成成为目标。
\ includeonly {file1,file2,...}
允许指定使用 \ include {file1}
调用的源文件列表(其中 file1
是一个示例),将在结果文档中显示。其他的不会出现,但在包含相应的辅助文件时会被考虑用于计数器,标签和目录。
换句话说,通过使用 include
和 includeonly
,可以在草稿中保持编译时间短,同时具有正确的引用。
进一步阅读 Wikibooks 。
@Will Robertson
\ include
非常有用,因为它允许通过 \ includeonly {...}
来构建只需要的部分。在处理较长的文本时,它可以在编译时间上产生很大的不同,只包括一个冗长章节的一部分。它也非常有用,因为在一个工作点上不需要翻阅长草案。最后,较小的源代码文件在版本管理中更容易处理,例如GIT中。
其他提示
\ include
总是使用 \ clearpage
,这是一个不完全合理的默认值。它适用于整个章节,而不适用于小节(无论如何,你为什么要在单独的文件中使用小节?)。
您可以使用 \ input {filename}
或加载 newclude
包并编写 \ include * {filename}
来修复它
您可以通过在其前面放置 \ let \ clearpage \ relax
来停止由 \ include
引起的分页。所以,
\let\clearpage\relax
\include{file1}
\include{file2}
\include{file3}
会将三个文件(以及任何后续包含的文件)的内容放在一起,而不会在它们之间进行分页。如果你想停止放松 \ clearpage
命令,那么将文件包装成包含在没有分页符的文件中,如下所示:
\begingroup
\let\clearpage\relax
\include{file1}
\include{file2}
\endgroup
\include{file3}
这将停止file1和file2之间的分页,但在file2之后插入正常的分页。 (注意:我不知道这是否会干扰引用和页码编号,但我认为它应该没问题。)
谢谢你,剑桥!
使用\ include而不是\ input,并使用\ includeonly命令选择要处理的部分