Ciao a tutti,
mi riallaccio in parte a un discorso fatto un po’ di tempo fa (Copiare un comando di sezionamento, <http://guit.sssup.it/phpbb/viewtopic.php?t=1584>):[quote]`\newenvironment{esercizio}[1]{% L'ambiente prende un parametro: il titolo
% dell'esercizio.
\noindent% L'ambiente non e` preceduto da alcuna
% indentazione.
\normalfont% I caratteri sono scritti normalmente, in
% romano.
\normalsize% I caratteri hanno un corpo normale.
{\bfseries#1}% *Solo* il primo argomento (il titolo) e` in
% grassetto.
\hspace{.575em}% Vi e` una distanza orizzontale che separa il
% titolo dal resto della consegna.
}
{%
\clearpage% Alla fine dell'esercizio vi e` un salto pagina.
}`[…] Una cosa di sicuro manca nella tua definizione: dopo \hspace{…} devi mettere \ignorespaces, altrimenti LaTeX vede lo spazio che viene dopo \begin{esercizio}{titolo} (è di solito un fine riga, ma non cambia la faccenda).[…]
In questo momento sto realizzando qualcosa di simile:
`\newenvironment{esercizio}%
{%
\par\medskip\noindent\textbf{Esercizio.}\ \ignorespaces%
}%
{%
\par\smallskip%
}`
In merito a quel commento su «\ignorespaces»: tutto fila liscio se richiamo l’ambiente in questo modo
`\begin{esercizio}
Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
\end{esercizio}`
ma se volessi scrivere il sorgente così, invece
`\begin{esercizio}
Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla
\end{esercizio}`
salta fuori un salto di una riga che non mi piace (in poche parole: vorrei dire a LaTeX che la semantica di quella riga bianca non rappresenta l’inizio di un nuovo periodo, come «\par», ma una semplice separazione «visiva» al livello del sorgente, che non si deve ripercuotere sul risultato).
Come potrei fare?[/quote]
La riga vuota ha una funzione sintattica nei file .tex: significa “finisci il paragrafo” (o capoverso). In quasi nessun ambiente puoi fare così senza avere effetti indesiderati. La separazione visiva è già data da \begin{esercizio}, magari preceduto da una riga vuota.
Ciao
Enrico