2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 nopagebreak
Сообщение10.06.2009, 15:36 
Аватара пользователя
Может быть я глупый вопрос задаю, но вот захотелось мне сделать, чтобы некоторые из абзацев не отрывались от следующих переходом на другую страницу. Дело в том, что это - нечто вроде выделенных кратких тезисов, к которым ниже идут пояснения. Очень некрасиво получается, когда тезис повисает в самом низу страницы. Посмотрел, какие есть на этот счёт команды:

\samepage - заявлена как устаревшая и неподдерживаемая, то бишь может глючить. В том, что результат непредсказуем - я убедился, хотя вроде бы эта команда как раз то, что нужно.

\nopagebreak - в мануале сказано, что она препятствует разрыву страницы в той точке, где поставлена. Я ни фига не понял, как это? А если разрыв возникнет в точке на символ дальше, то это можно? Попробовал её ставить так и сяк - нуль эффекта.

Да, пытаюсь писать сейчас в шаблоне book.

 
 
 
 Re: nopagebreak
Сообщение10.06.2009, 17:48 
Вроде бы её нужно ставить в конце абзаца, и тогда разрыва страницы после этого абзаца не наступит.

 
 
 
 Re: nopagebreak
Сообщение11.06.2009, 12:07 
Аватара пользователя
luitzen в сообщении #221189 писал(а):
Вроде бы её нужно ставить в конце абзаца, и тогда разрыва страницы после этого абзаца не наступит.

Пробовал, не получается. :(
Там три возможности: 1) Поставить сразу после точки, которой заканчивается первый абзац. 2) Поставить в строке - разделителе абзацев. 3) Поставить в начале второго абзаца.

Ни один из вариантов не сработал...

 
 
 
 Re: nopagebreak
Сообщение11.06.2009, 14:48 
Смотрите в сторону clubpenalty/widowpenalty.

 
 
 
 Re: nopagebreak
Сообщение15.06.2009, 20:45 
Аватара пользователя
Ed_Em в сообщении #221377 писал(а):
Смотрите в сторону clubpenalty/widowpenalty.

А что это такое?

В результате экспериментов выяснил, что \nopagebreak работает, если его поставить в конце первого абзаца, но но команды форматирования абзаца всё ломают. :(

 
 
 
 Re: nopagebreak
Сообщение16.06.2009, 08:21 
epros писал(а):
А что это такое?

Загляните в Кнута или Львовского, это - штрафы за висячие и "вдовьи" строки. Чем больше штраф, тем меньше будет таких строк. Если сделать \clubpenalty=10000 и \widowpenalty=10000, абзацы вообще не будут разрываться.

 
 
 
 
Сообщение16.06.2009, 12:08 
epros в сообщении #222347 писал(а):
В результате экспериментов выяснил, что \nopagebreak работает, если его поставить в конце первого абзаца, но команды форматирования абзаца всё ломают. :(

Примерчик бы. Какие такие команды форматирования абзаца?

Вы случайно не ставите перед \nopagebreak разные там \vspace{} ?

 
 
 
 Re: nopagebreak
Сообщение16.06.2009, 20:13 
Аватара пользователя
Ed_Em в сообщении #222438 писал(а):
epros писал(а):
А что это такое?

Загляните в Кнута или Львовского, это - штрафы за висячие и "вдовьи" строки. Чем больше штраф, тем меньше будет таких строк. Если сделать \clubpenalty=10000 и \widowpenalty=10000, абзацы вообще не будут разрываться.
Будут очевидно, просто висячих строк не будет.

 
 
 
 Re:
Сообщение16.06.2009, 20:33 
Аватара пользователя
luitzen в сообщении #222510 писал(а):
Примерчик бы. Какие такие команды форматирования абзаца?

Вы случайно не ставите перед \nopagebreak разные там \vspace{} ?

Типа \emph{\textbf{...}}. Причём \nopagebreak я пробовал ставить и после закрывающих фигурных скобок, и до.

А нет. Выяснил, что причина в
\begin{flushleft}
....
\end{flushleft}

 
 
 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group