Re: Spazi prima e dopo un ambiente

#37418
Up
0
Down
::

Buongiorno a tutti.
Il mio dovrebbe essere un dubbio classico, ma vorrei porlo ugualmente, anche perché contribuirebbe a scrivere un codice sorgente “ben scritto”, o almento scritto correttamente.
Allora: da quello che ho capito, almeno leggendo l’Arte o dando un’occhiata ai sorgenti di documenti importanti (quando gli autori li mettono a disposizione), ci sono dei casi in cui bisogna lasciare una riga vuota tra il testo e \begin{ambiente} e dei casi in cui questa riga non va lasciata. Parimenti, ci sono casi in cui bisogna lasciare una riga vuota tra \end{ambiente} e il testo successivo, e casi in cui questa riga non va lasciata.

Metterla o no, come si può vedere compilando nei due casi, non è indifferente: per esempio, se scrivo:

`…testo
\begin{verse}
versi
\end{verse}`

ottengo un certo spazio tra l’ultima riga di testo e il primo verso della poesia.
Se invece scrivo:

`…testo

\begin{verse}
versi
\end{verse}`

lo spazio è leggermente maggiore, e sembra che in qualche modo “stia meglio” e la pagina sia più equilibrata. Attenzione: questo non vuol dire che uno spazio che sta meglio è anche corretto tipograficamente.

Naturalmente, la riga vuota dopo la fine dell’ambiente si lascia per cominciare un nuovo capoverso rientrato, mentre non si lascia se il discorso continua da quello precedente.

Sarebbe possibile avere un inventario dei casi in cui bisogna lasciare questa riga bianca tra il testo e il comando d’apertura di un ambiente? O non esistono regole vincolanti?
Mi spiego: nel caso in cui io debba inserire una tabella elementare non galleggiante, ho visto che aprendo l’ambiente table senza la riga bianca, la tabella è visivamente troppo attaccata al testo precedente, mentre con la riga bianca il risultato è migliore. Ancora più gradevole è scrivere \bigskip tra testo e \begin{center} e poi \begin{table}{…}.

Ho anche dubbi sul fatto che si debba lasciare o meno una riga bianca tra i comandi tipo \section{…} o \bigskip e il testo precedente o seguente.

Insomma: mi piacerebbe che questo argomento venisse chiarito, anche sull’Arte, se possibile, o se Lorenzo lo ritiene opportuno.

Tanto per dare un po’ di materiale a Lorenzo provo a spiegare il motivo delle differenze nel caso dell’ambiente verse: le classi standard lo definiscono in termini dell’ambiente generico list. Questo ambiente funziona in modo diverso se aperto in modo orizzontale (senza riga vuota prima) o verticale (con riga vuota prima), perché nel secondo caso aggiunge in testa e in coda uno spazio verticale regolato dal parametro \partopsep.

Motivo? La lista può far parte del capoverso e quindi non va troppo staccata dall’ultima riga “normale”. Se invece non fa parte del capoverso precedente, occorre farlo capire al lettore e il modo tradizionale (non che ce ne siano tanti altri :)) è di lasciare un po’ di spazio in più.

Il criterio se lasciare la riga vuota prima (o dopo) è sempre quello: far parte o no del capoverso. Probabilmente l’ambiente verse dovrebbe essere definito con un bel \par iniziale che equivale alla riga vuota (no, è viceversa: una riga vuota equivale a scrivere \par ;)), ma l’autore delle classi standard ha scelto diversamente.

Nel caso dei comandi di sezione il problema non si pone: cominciano con \par o qualcosa che lo genera automaticamente. Lasciare una riga vuota (magari è meglio due) rende più leggibile il documento TeX. Nessun comando esplicito di spaziatura va dato prima o dopo \section e simili: se non piacciono gli spazi standard li si deve modificare con titlesec o sectsty (o anche a mano, ma…:D).

Ciao
Enrico

Go to top