我正在使用 编写 tex 文档\documentclass{book}
。它由几个章节组成,我使用以下代码使新章节从同一页开始:
\makeatletter
\patchcmd\chapter
{\if@openright\cleardoublepage\else\clearpage\fi}
{\par}% Inserting a \par here!
{}{}
\makeatother
现在我面临另一个问题(如下面的屏幕截图所示)。我们可以看到,尽管有足够的空间,但章节的最后一行(第 2 页)会延伸到新页面。有没有办法避免这种情况,以便第 1 章的单词“reverence”(最后一个词)在同一页结束?
答案1
如果你在替换中添加一个小的,你应该会得到你想要的\penalty
:\par
\documentclass[12pt]{book}
\usepackage{titlesec}
\usepackage{etoolbox}
\makeatletter
\patchcmd\chapter
{\if@openright\cleardoublepage\else\clearpage\fi}
{\par\penalty100}% Inserting a \par here and allowing page breaks!
{}{}
\makeatother
\usepackage{duckuments} % only needed for the dummy text of `\blindduck`
\begin{document}
\chapter{Some Chapter}
\blindduck[1-3]
\chapter{Some Chapter}
\blindduck
\end{document}
第 2 页(无惩罚):
第 2 页,含惩罚:
答案2
以下是该包的代码演示nowidow
:
\documentclass[12pt, openany]{report}%openany makes chap start on each new page
\usepackage{graphicx}
% \usepackage[contents={}]{background} %{} removes draft from all pages
\usepackage{fancyhdr}
\usepackage{fontspec}
\usepackage{titlesec} %to use titleformat for editing chapter title
\titleformat{\chapter}[block]{\filcenter\LARGE\bfseries}{\MakeUppercase{\chaptername}\,\Roman{chapter}}{0.5em}{}
\setmainfont{EB Garamond}%Constantia
\usepackage{etoolbox} %to start a new chapter on the same page
\makeatletter
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{}
\makeatother
\usepackage[defaultlines=2]{nowidow}
\begin{document}
\setcounter{chapter}{3}
She stood silent for a minute, thinking: then she suddenly began again.
‘Then it really HAS happened, after all! And now, who am I? I WILL
remember, if I can! I’m determined to do it!’ But being determined
didn’t help much, and all she could say, after a great deal of puzzling,
was, ‘L, I KNOW it begins with L!’
Just then a Fawn came wandering by: it looked at Alice with its large
gentle eyes, but didn’t seem at all frightened. ‘Here then! Here then!’
Alice said, as she held out her hand and tried to stroke it; but it only
started back a little, and then stood looking at her again.
‘What do you call yourself?’ the Fawn said at last. Such a soft sweet
voice it had!
‘I wish I knew!’ thought poor Alice. She answered, rather sadly,
‘Nothing, just now.’
‘Think again,’ it said: ‘that won’t do.’
Alice thought, but nothing came of it. ‘Please, would you tell me
what YOU call yourself?’ she said timidly. ‘I think that might help a
little.’
‘I’ll tell you, if you’ll move a little further on,’ the Fawn said. ‘I
can’t remember here.’
So they walked on together though the wood, Alice with her arms clasped
lovingly round the soft neck of the Fawn, till they came out into
another open field, and here the Fawn gave a sudden bound into the air,
and shook itself free from Alice’s arms. ‘I’m a Fawn!’ it cried out in a
voice of delight, ‘and, dear me! you’re a human child!’ A sudden look of
alarm came into its beautiful brown eyes, and in another moment it had
darted away at full speed.
Alice stood looking after it, almost ready to cry with vexation at
having lost her dear little fellow-traveller so suddenly. ‘However, I
know my name now.’ she said, ‘that’s SOME comfort. Alice--Alice--I won’t
forget it again. And now, which of these finger-posts ought I to follow,
I wonder?’
It was not a very difficult question to answer, as there was only one
road through the wood, and the two finger-posts both pointed along it.
‘I’ll settle it,’ Alice said to herself, ‘when the road divides and they
point different ways.’
But this did not seem likely to happen. She went on and on, a long way,
but wherever the road divided there were sure to be two finger-posts
pointing the same way, one marked ‘TO TWEEDLEDUM’S HOUSE’ and the other
‘TO THE HOUSE OF TWEEDLEDEE.’
‘I do believe,’ said Alice at last, ‘that they live in the same house! I
wonder I never thought of that before--But I can’t stay there long. I’ll
just call and say “how d’you do?” and ask them the way out of the wood.
If I could only get to the Eighth Square before it gets dark!’ So she
wandered on, talking to herself as she went, till, on turning a sharp
corner, she came upon two fat little men, so suddenly that she could not
help starting back, but in another moment she recovered herself, feeling
sure that they must be.
%
\nowidow
\chapter{ Tweedledum And Tweedledee}
They were standing under a tree, each with an arm round the other’s
neck, and Alice knew which was which in a moment, because one of them
had ‘DUM’ embroidered on his collar, and the other ‘DEE.’ ‘I suppose
they’ve each got “TWEEDLE” round at the back of the collar,’ she said to
herself.
They stood so still that she quite forgot they were alive, and she was
just looking round to see if the word “TWEEDLE” was written at the back
of each collar, when she was startled by a voice coming from the one
marked ‘DUM.’
‘If you think we’re wax-works,’ he said, ‘you ought to pay, you know.
Wax-works weren’t made to be looked at for nothing, nohow!’
‘Contrariwise,’ added the one marked ‘DEE,’ ‘if you think we’re alive,
you ought to speak.’
‘I’m sure I’m very sorry,’ was all Alice could say; for the words of the
old song kept ringing through her head like the ticking of a clock, and
she could hardly help saying them out loud:--
They were standing under a tree, each with an arm round the other’s
neck, and Alice knew which was which in a moment, because one of them
had ‘DUM’ embroidered on his collar, and the other ‘DEE.’ ‘I suppose
they’ve each got “TWEEDLE” round at the back of the collar,’ she said to
herself.
They stood so still that she quite forgot they were alive, and she was
just looking round to see if the word “TWEEDLE” was written at the back
of each collar, when she was startled by a voice coming from the one
marked ‘DUM.’
‘If you think we’re wax-works,’ he said, ‘you ought to pay, you know.
Wax-works weren’t made to be looked at for nothing, nohow!’
‘Contrariwise,’ added the one marked ‘DEE,’ ‘if you think we’re alive,
you ought to speak.’
‘I’m sure I’m very sorry,’ was all Alice could say; for the words of the
old song kept ringing through her head like the ticking of a clock, and
she could hardly help saying them out loud:--
\end{document}
答案3
使用\enlargethispage
% ...
some text.
\enlargethispage{2\baselineskip}
more text
% ...
将使得当前页面上可以打印另外两行。