Salve a tutti. Di recente mi è stato commissionato un regolamento calcistico da trascrivere con LaTeX. La mia scelta (anche perchè non conoscevo altri mezzi) è stata di scrivere ogni articolo nell’ambiente theorem (o meglio in un ambiente theorem risistemato) in modo che, capitolo per capitolo, mi mantenesse la numerazione automatica degli articoli. Ora mi trovo davanti a due problemi:
1- l’ambiente da me definito (grazie all’aiuto di un testo di un amico) è questo:
`\newtheoremstyle{nome}% name
{3pt}% Space above
{8pt}% Space below
{}% Body font
{}% Indent amount (empty = no indent, \parindent = para indent)
{\bf}% Thm head font
{.}% Punctuation after thm head
{.5em}% Space after thm head: ” ” = normal interword space;
% \newline = linebreak
{}% Thm head spec (can be left empty meaning `normal')
\theoremstyle{nome}
\newtheorem{nome}{Articolo}[chapter]`
Il mio problema è con questa linea ` % \newline = linebreak` in quanto, guarda caso, a me servirebbe proprio che, dopo “Articolo X.YY” il testo vada a capo. Il problema è che inserendo il comando `\newline` non mi appare proprio l’intestazione “Articolo X.YY” ma solo degli spazi.
2- questo è un po’ + strano e difficile: mi è stato esplicitamente chiesto che il testo degli articoli non venga a trovarsi a cavallo tra due pagine: mi chiedevo se ci fosse un modo, un comando, un qualcosa di automatico (o semi-automatico) per fare ciò: altrimenti capirete la frustrazione nel dover spulciare pagina per pagina gli articoli e inserire, solo dove serve, l’interruzione di pagina.
Devi mettere \newline al posto di quel .5em:
`\newtheoremstyle{nome}% name
{3pt}% Space above
{8pt}% Space below
{}% Body font
{}% Indent amount (empty = no indent, \parindent = para indent)
{\bfseries}% Thm head font
{.}% Punctuation after thm head
{\newline}% Space after thm head: ” ” = normal interword space;
{}% Thm head spec (can be left empty meaning `normal')
\theoremstyle{nome}
\newtheorem{nome}{Articolo}[chapter]`
Ho corretto anche \bf in \bfseries; il comando \bf è obsoleto e mantenuto solo per compatibilità. Toglierei il punto dopo il numero, lasciando vuoto il campo indicato con “punctuation after thm head”.
Quanto al secondo problema, dovresti intanto dare \raggedbottom, in modo da evitare l’ampliamento dello spazio fra un articolo e l’altro per riempire la pagina. Un modo potrebbe essere:
`\newenvironment{articolo}
{\interlinepenalty=10000 \begin{nome}}
{\end{nome}}`
e scrivere \begin{articolo}…\end{articolo} per i tuoi articoli. Prova, vediamo se funziona.
Ciao
Enrico