如何在LaTeX中的\ include之后没有分页

Léo*_* 준영 105 latex page-break

我的LaTeX让我在每个小节后都有分页,因为我的小节是在单独的文件中.我使用在\include{file}使用它之后添加分页符的命令.

我想没有因使用而导致的分页\include{file}.

使用include-command 后怎么没有分页?

Wil*_*son 148

\include总是使用\clearpage,一个不完全合理的默认值.它适用于整个章节,而不适用于小节(无论如何,您为什么要在单独的文件中使用子节?).

您可以通过使用\input{filename}或加载newclude包并写入\include*{filename}来修复它.

  • 我写这个答案已经有一段时间了,但我相信括号内容是讽刺性的`:)` (8认同)
  • 我可以想到为什么将小节放在不同的文件中的一堆原因.首先想到的是,具有不同详细程度的CV,具体取决于目标和/或工作申请.一旦用一个'%'符号就可以轻松地将比特输出或输入比特. (6认同)

Joh*_*ohn 29

您可以停止在其之前\include放置引起的分页\let\clearpage\relax.所以,

\let\clearpage\relax
\include{file1}
\include{file2}
\include{file3}
Run Code Online (Sandbox Code Playgroud)

会将三个文件(以及任何后续包含的文件)的内容放在一起,而不会在它们之间进行分页.如果你想停止放松\clearpage命令,那么将文件包装成包含在没有分页符的文件中,如下所示:

\begingroup
\let\clearpage\relax
\include{file1}
\include{file2}
\endgroup
\include{file3}
Run Code Online (Sandbox Code Playgroud)

这将停止file1和file2之间的分页,但在file2之后插入正常的分页.(注意:我不知道这是否会干扰引用和页码编号,但我认为它应该没问题.)

  • 谢谢!当您有多个包含和参考并且您不想要它们的新页面时,此答案很有效。只需将最后一组包括一个和参考书目部分,而不再是一个clearpage。 (2认同)
  • Manuel 是对的:你可以在任何你喜欢的地方使用``\begingroup\let\clearpage\relax ...\endgroup`` 技巧——停止特定部分或部分之间的分页符,如果你希望参考书目在与您的文本相同的页面等。 (2认同)

gsc*_*enk 4

Will Robertson 建议的 newinclude 包对于避免清除页面非常有用。看来,为了\includeonly工作,必须在 后立即调用该包\documentclass{...}。在我的论文的复杂环境中,我也遇到了参考文献损坏的问题。

当最终版本不需要 includeonly 时,一个好的解决方法是仅在草稿中使用 include:

\newif\ifdraft\drafttrue
Run Code Online (Sandbox Code Playgroud)

或者

\newif\ifdraft\draftfalse

\ifdraft
  \include{...}
\fi

\ifdraft
  \include{file}
\else
  \input{file}
\fi
Run Code Online (Sandbox Code Playgroud)

第一行可以很容易地附加一个 makefile,以制作草稿或生产版本的生产 make 目标。

\includeonly{file1,file2,...}\include{file1}允许指定使用(其中file1是示例)调用的源文件列表,这些文件将显示在结果文档中。其他的不会显示,但当包含相应的辅助文件时,会考虑将其用于计数器、标签、目录。

换句话说,通过使用includeandincludeonly可以在草稿中缩短编译时间,同时拥有正确的引用。进一步阅读维基教科书

@威尔·罗伯逊

\include非常有用,因为它允许\includeonly{...}只构建需要的部分。在处理较长的文本时,仅包含冗长章节的一部分可能会在编译时间上产生很大的差异。它也非常有用,因为人们在工作时不必翻阅长草稿。最后,较小的源代码文件更容易在版本管理中处理,例如 git。