[Risolto]Nuovo environment per spaziatura paragrafo

  • Creatore
    Topic
  • #20744
    Up
    0
    Down
    ::


    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?
    Paolo

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #20745
      Up
      0
      Down
      ::

      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

    • #20746
      Up
      0
      Down
      ::

      Il neretto per tratti di testo prolungati è fastidioso.
      Meglio ancora, ma ti prego, rifletti prima di usare il neretto

      Sospettavo che il neretto tramasse loschi piani di conquista del mondo. 😀
      Battuta a parte anch’io non trovo bello l’uso del neretto, nenche per brevi sottolineature nel corpo testo, ma devo procedere in questo modo.
      Sto cercando un modo comodo per evidenziare il ritornello di alcuni canti.

      Il margine fissato arbitrariamente a 2em è certamente sbagliato:

      L’avevo preso dal post citato come esempio di codice, anche se non conoscevo le norme che hai scritto.

      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?

      Questo invece è proprio un mio errore. Pensavo che \leftskip avesse un valore non nullo e utilizzavo \defskip come una variabile.
      Quanto all’ambiente quotation, ho visto che lascia uno spazio verticale maggiore che non un nuovo paragrafo. Gli esempi di codice che hai proposto per il nuovo ambiente sono ciò che cercavo.
      Grazie per la risposta esauriente.

      Paolo

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top