
Me gustaría que una macro de sección en particular implemente automáticamente un salto de página directamente encima de ella, siempre y cuando se coloque demasiado cerca de la parte inferior de una página. "Demasiado cerca", aquí, significa sin suficiente espacio para componer la primera entrada de la sección en la misma página.
Utilizo uno de los dos entornos siguientes para manejar mi seccionamiento, desde elCV "Profesional de longitud media"resume.cls
:
% Defines the rSection environment for the large sections within the CV
\newenvironment{rSection}[1]{ % 1 input argument - section name
\sectionskip
\MakeUppercase{\bf #1} % Section title
\sectionlineskip
\hrule % Horizontal line
\begin{list}{}{ % List for each individual item in the section
\setlength{\leftmargin}{1.5em} % Margin within the section
}
\item[]
}{
\end{list}
}
\newenvironment{rSection*}[2]{ % 2 input arguments - section name and parenthetical
\sectionskip
\MakeUppercase{\bf #1} % Section title
{\bf (#2)} % parenthetical
\sectionlineskip
\hrule % Horizontal line
\begin{list}{}{ % List for each individual item in the section
\setlength{\leftmargin}{1.5em} % Margin within the section
}
\item[]
}{
\end{list}
}
Me gustaría modificarlos para evitar que ocurra el problema que se describe a continuación.sincualquier uso de comandos triviales \pagebreak[N]
ni \enlargethispage{k}
, que no son suficientes para la mayoría de mis casos de uso. Tampoco deseo tener que refactorizar mi código a uno más reciente.CV moderno–clase tipo.
Tenga en cuenta que en la imagen de arriba la pequeña línea gris indica el salto de página actual. En ese ejemplo, la sección titulada "Actividades de colaboración internacional" debería moverse automáticamente a la página siguiente, que contiene su primera entrada ( $C_{1}$
).
(NB: Espero evitar tener que proporcionar un MWE. Proporcionaré uno si nadie decide hacer ninguna sugerencia después de unos días).
Respuesta1
Gracias aDavid Carlisleexcelente sugerencia para usarneedspace
(que antes desconocía), he resuelto esto (para rSection
).
El siguiente parche es suficiente:
\patchcmd{\rSection}{\sectionskip}{\sectionskip \needspace{6em}}{}{}