web-dev-qa-db-fra.com

LaTeX supprime le saut de page

J'essaie de créer un document LaTex qui a un "testday" et un verset plein de "testItemToDo" et je veux qu'un saut de page se produise avant le "testday" mais jamais entre un "testday" et le verset de "testItemToDo" . Comment puis-je modifier mon fichier LaTex

\documentclass{article}
\begin{document}
\LARGE
{*}{*}to do\\
\begin{verse}
{*}today\nopagebreak
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
{*}testDay\nopagebreak
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
{*}testDay\nopagebreak
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
{*}testDay\nopagebreak
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
{*}testDay\nopagebreak
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
\end{verse}
\end{document}
37
D W

Entourez votre journée de test et votre vers avec un \begin{samepage} et \end{samepage}, c'est à dire.:

\begin{samepage}
{*}testDay
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
\end{samepage}

Cela permet toujours au verset de casser une page correctement, à condition que vous vous débarrassiez de certains \\*.

44
Ramashalanka

\nopagebreak[number]

La commande \nopagebreak Empêche le formulaire LaTeX de casser la page en cours au point de la commande. Avec l'argument facultatif, nombre, vous pouvez convertir la commande \nopagebreak D'une demande en demande. Le nombre doit être un nombre compris entre 0 et 4. Plus le nombre est élevé, plus la demande est insistante.

Ou vous pouvez changer votre verse en minipage... bien que si la liste est plus longue qu'une page, le latex vomira probablement.

31
Mica

Une solution très simple que j'ai trouvée est avec \filbreak avant chaque ( voir la FAQ ).

enter image description here

\documentclass{article}
\begin{document}
\LARGE
{*}{*}to do\\
\begin{verse}
{*}today
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
\filbreak
{*}testDay
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
\filbreak
{*}testDay
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
\filbreak
{*}testDay
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
\filbreak
{*}testDay
\begin{verse}
testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo\\*testItemToDo
\end{verse}
\end{verse}
\end{document}
3
Fuhrmanator