…per adesso credo di avere risolto così.
Ho definito:
`
\newcommand{\mytitleX}[1]{\par\bigskip\myemphX{#1}%
\par\mdskip\nobreak}
`dove X viene progressivamente sostituita da uno script nel preambolo
(un template a partire dal quale, in base al contesto
elaborato, lo script aggiunge le definizioni necessarie)Per adesso funziona allo scopo… in seguito mi documenterò sull’argomento.
ps. Leggiucchiando qua e là (soprattutto The TeXBook) ho capito che::
\nobreak imposta un valore di \penalty
sufficientemente alto così da permettere riempimenti
di pagina/colonna non perfetti.
Non proprio: il \nobreak deve andare prima della “colla” che TeX vede come un buon posto dove spezzare la pagina.
Ma c’è il problema che \medskip in LaTeX fa qualcosa di troppo; meglio
`\par\nobreak\vskip\medskipamount`
Esempio:
`\documentclass[a4paper,twocolumn]{article}
\usepackage{lipsum}
\newcommand{\mytitleX}[1]{\par\bigskip\emph{#1}%
%\par\medskip\nobreak}
\par\nobreak\vskip\medskipamount}
\begin{document}
\vspace*{17\baselineskip} % per andare giù sulla pagina
\lipsum[1-2]
\mytitleX{Sezione}
\lipsum[1]
\end{document}`
Se provi a scambiare il commento sulle due righe, avrai esattamente un caso in cui il titoletto se ne sta dalla parte sbagliata.
Ciao
Enrico