Commits

Charpentier Jean-Côme committed d829905

* Plus de coupure de page après un titre d'exercice.
* Plus de coupure de page après un titre de section juste avant un
exercice ou un corrigé d'exercice.

  • Participants
  • Parent commits 25db9b2

Comments (0)

Files changed (1)

 % Les hrulefill par défaut sont un peu trop minces
 \def\bighrulefill{\leavevmode\leaders\hrule height 1.5pt\hfill\kern\z@}
 
+% Il faut prévoir une interdiction de coupure de page si une place
+% donnée n'est plus disponible.
+\newcommand\nonbreak[1]{%
+  \par\vspace*{#1\baselineskip}
+  \penalty0
+  \vspace{-#1\baselineskip}
+}
+
 % Exercice Vrai-Faux
 \newcounter{itemvraifaux}
 \newenvironment{ExosVF}{%
     \protect\begin{CorrVF}%
   }%
   \section*{Vrai ou faux ? \bighrulefill{}}%
+  \nonbreak{3}%
 }
 {%
   \verbatimout@write{%
     \protect\begin{CorrQCM}%
   }%
   \section*{QCM \bighrulefill{}}%
+  \nonbreak{3}%
 }
 {%
   \verbatimout@write{%
   \verbatimout@write{%
     \protect\begin{CorrExosSynthese}%
   }%
-  \section*{Exercices de synth\`ese  \bighrulefill{}}}
+  \section*{Exercices de synth\`ese  \bighrulefill{}}
+  \nonbreak{3}%
+}
 {%
   \verbatimout@write{%
     \protect\end{CorrExosSynthese}%
     \protect\begin{CorrExosApp}%
   }%
   \section*{Exercices \bighrulefill{}}%
+  \nonbreak{3}%
 }
 {%
   \verbatimout@write{%
   \else
     {\TitleTimeFont (#2 min.)}
   \fi
-  \par\ignorespaces
+  \par\nobreak\ignorespaces
 }%
 {\par\addvspace{\baselineskip}}
 
     \protect\begin{CorrExosGuides}%
   }%
   \section*{Exercices guid\'es  \bighrulefill{}}%
+  \nonbreak{3}%
 }
 {%
   \verbatimout@write{%
   \else
     {\TitleTimeFont (#2 min.)}
   \fi
-  \par\ignorespaces
+  \par\nobreak\ignorespaces
 }%
 {\par\addvspace{\baselineskip}}
 
     \protect\begin{CorrExosTP}%
   }%
   \section*{Travaux pratiques  \bighrulefill{}}
+  \nonbreak{3}%
 }
 {%
   \verbatimout@write{%
   \else
     {\TitleTimeFont (#1 min.)}
   \fi
-  \par\ignorespaces
+  \par\nobreak\ignorespaces
 }%
 {\par\addvspace{\baselineskip}}
 
     {\TitleTimeFont (#1 min.)}
   \fi
   \@difficulte{#2}%
-  \par\ignorespaces
+  \par\nobreak\ignorespaces
 }%
 {\par\addvspace{\baselineskip}}
 
 % la méthode automatique les utilise.
 \newenvironment{CorrVF}{%
   \section*{Corrig\'es des Vrai/Faux \bighrulefill}%(
+  \nonbreak{3}%
   \setlist[enumerate]{label={\ItemVraiOuFauxFont\alph{enumi})},
     noitemsep, topsep=0pt, parsep=0pt, partopsep=0pt}%
 }
 {}
 \newenvironment{CorrQCM}{%
   \section*{Corrig\'es des QCM \bighrulefill}
+  \nonbreak{3}%
 }
 {}
 \newenvironment{CorrExosGuides}{%
   \ExoGuidetrue
   \setcounter{corrigeexo}{0}%
   \section*{Corrig\'es des exercices guid\'es \bighrulefill}
+  \nonbreak{3}%
 }
 {\ExoGuidefalse}
 \newenvironment{CorrExosApp}{%
   \setcounter{corrigeexo}{0}%
   \section*{Corrig\'es des exercices \bighrulefill}
+  \nonbreak{3}%
 }
 {}
 \newenvironment{CorrExosTP}{%
   \setcounter{corrigeexo}{0}%
   \section*{Corrig\'es des exercices de travaux pratiques
     \bighrulefill}
+  \nonbreak{3}%
 }
 {}
 \newenvironment{CorrExosSynthese}{%
   \setcounter{corrigeexo}{0}%
   \section*{Corrig\'es des exercices de synth\`ese \bighrulefill}%
+  \nonbreak{3}%
 }
 {}