LaTeX - 页面边缘有很多部分(没有内容)?

发布于 2024-09-11 18:25:22 字数 728 浏览 7 评论 0原文

我有一个像这样的 LaTeX 文档:

\documentclass{article}
\begin{document}

\section{1}
\section{2}
\section{3}
\section{4}
\section{5}
\section{6}
\section{7}
\section{8}
\section{9}
\section{10}
\section{11}
\section{12}
\section{13}
\section{14}
\section{15}
\section{16}
\section{17}
\section{18}
\section{19}
\section{20}
\section{21}
\section{22}
\section{23}
\section{24}
\section{25}
\section{26}
\section{27}
\section{28}
\section{29}
\section{30}

\end{document}

很多章节标题,但其中没有文本

会产生如下内容:

如您所见,它将所有章节标题保留在一页上,并且不会将其分成两页。 26 以上的所有内容都已从页面末尾消失。

有没有办法让 LaTeX 将这些部分拆分到多个页面上?我无法轻易更改正文的实际内容,因为它是自动生成的。不过我可以更改序言。无论如何,是否可以通过更改序言来做到这一点?

I have a LaTeX document like this:

\documentclass{article}
\begin{document}

\section{1}
\section{2}
\section{3}
\section{4}
\section{5}
\section{6}
\section{7}
\section{8}
\section{9}
\section{10}
\section{11}
\section{12}
\section{13}
\section{14}
\section{15}
\section{16}
\section{17}
\section{18}
\section{19}
\section{20}
\section{21}
\section{22}
\section{23}
\section{24}
\section{25}
\section{26}
\section{27}
\section{28}
\section{29}
\section{30}

\end{document}

Lots of section headings, but no text in

It produces something like this:

As you can see it keeps all the section headings on one page, and won't break it into 2 pages. Everything above 26 has disappeared off the end of the page.

Is there anyway to get LaTeX to split these sections across multiple pages? I can't easily change the actual content of body, since it's autogenerated. I can change the preamble though. Is there anyway to do this by changing the preamble?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

箜明 2024-09-18 18:25:22

在节标题后添加 \mbox{} 将允许分页。您可以在序言中通过以下方式在全球范围内引入它:

\makeatletter
\g@addto@macro\@afterheading{\mbox{}}
\makeatother

或者

\makeatletter
\expandafter\def\expandafter\@afterheading\expandafter{\@afterheading\mbox{}}
\makeatother

像这样展开示例

Adding \mbox{} after a section heading would allow the page break. You could introduce it globally in the preamble by:

\makeatletter
\g@addto@macro\@afterheading{\mbox{}}
\makeatother

or

\makeatletter
\expandafter\def\expandafter\@afterheading\expandafter{\@afterheading\mbox{}}
\makeatother

like in this expandafter example.

诺曦 2024-09-18 18:25:22

斯特凡的解决方案对我不起作用,导致目录出现问题。

我也不知道如何使用 deinst 的答案(sectsty 包)。

对我有用的是这个

\usepackage{etoolbox}
\pretocmd{\part}{\mbox{}}{}{}
\pretocmd{\chapter}{\mbox{}}{}{}
\pretocmd{\section}{\mbox{}}{}{}
\pretocmd{\subsection}{\mbox{}}{}{}
\pretocmd{\subsubsection}{\mbox{}}{}{}

Stefan's solution didn't work for me, causing problems with the table of contents.

I couldn't work out how to use deinst's answer (sectsty package) either.

What did work for me was this

\usepackage{etoolbox}
\pretocmd{\part}{\mbox{}}{}{}
\pretocmd{\chapter}{\mbox{}}{}{}
\pretocmd{\section}{\mbox{}}{}{}
\pretocmd{\subsection}{\mbox{}}{}{}
\pretocmd{\subsubsection}{\mbox{}}{}{}
送君千里 2024-09-18 18:25:22

您应该能够使用 sectsty 包执行类似的操作

You should be able to do something like this with the sectsty package

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文