Come già richiesto in questo post
vorrei creare un environment per indentare e rendere in grassetto il testo di un paragrafo. Per questo ora ho trovato questa soluzione (che funziona):
`\newlenght{\defskip}
\setlength{\defskip}{\leftskip} `
nel preambolo e nel testo
`\setlength{\leftskip}{2em}\begin{bfseries}
testo del paragrafo
\end{bfseries}\setlength{\leftskip}{\defskip} `
E’ possibile creare un ambiente per ripetere queste due operazioni automaticamente?
Naturalmente è possibile. Ma prometti di leggere la (mica tanto) breve introduzione (trovi il collegamento in cima alla pagina).
Usare \leftskip in LaTeX può essere pericoloso, se vuoi oltre a quello usare ambienti come enumerate o itemize e simili. Nel tuo caso può andare, se è solo per ottenere quell’effetto. Ma, ti avviso, il risultato non è affatto piacevole: infatti esiste l’ambiente quotation che fa meglio ciò che tenti di fare a mano.
Il neretto per tratti di testo prolungati è fastidioso. Inoltre dovresti lasciare un po’ di spazio prima e dopo quel testo, per staccarlo meglio dal contesto. Il margine fissato arbitrariamente a 2em è certamente sbagliato: o è come il rientro normale oppure è il doppio, ma deve corrispondere a un analogo rientro a destra (sempre che tu non stia progettando un ambiente per elenchi).
Ora però ti dico un paio di cose TeXniche su ciò che usi. Immagino che tu abbia trovato da qualche parte \newlength{\defskip}. Bene, sappi che quando poi dici \setlength{\defskip}{\leftskip} stai semplicemente dicendo “la lunghezza \defskip è zero”. Un po’ sprecato un registro per questo, non ti pare?
Ciò che chiedi si ottiene così:
`\newenvironment{brutto}{\setlength{\leftskip}{2em}\bfseries}{\par}`
Ma, a parte le considerazioni di prima, così è troppo poco. Meglio aggiungere un \par, in modo da non essere costretti a lasciare una riga vuota prima dell’ambiente, ai comandi iniziali (il secondo argomento obbligatorio di \newenvironment) e una spaziatura; analoga spaziatura andrà nei comandi finali, dove il \par ci vuole altrimenti l’effetto di \leftskip sparisce.
`\newenvironment{meglio}
{\par\addvspace{\medskipamount}\setlength{\leftskip}{2\parindent}\bfseries}
{\par\addvspace{\medskipamount}}`
Meglio ancora, ma ti prego, rifletti prima di usare il neretto:
`\newenvironment{bfquotation}{\begin{quotation}\bfseries}{\end{quotation}}`
Ciao
Enrico