Cambiare interlinea solo in una parte di documento

  • Creatore
    Topic
  • #106344
    Up
    0
    Down
    ::


    Ciao a tutti,
    probabilmente è stato già chiesto, ma non sono in questo forum da molto. Come faccio per modificare l’interlinea solo in una parte di testo?
    Avevo visto una cosa tipo: \linespread{}\selectfont, ma non ho capito come si usa.
    Qualcuno potrebbe aiutarmi?
    Grazie!!

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #106345
      Up
      0
      Down
      ::


      La prassi consigliata è caricare il pacchetto [tt]setspace[/tt], e poi usare i comandi che esso definisce:

      • [tt]\doublespacing[/tt] per avere l’interlinea doppia;
      • [tt]\onehalfspacing[/tt] per avere l’interlinea moltiplicata (circa) per tre mezzi;
      • [tt]\singlespacing[/tt] per tornare all’interlinea normale.

      Tuttavia, mi è capitato di recente di occuparmi di tale pacchetto, e devo dire che, secondo me, presenta alcuni difetti che dovrebbero essere corretti.

      Ciao.


      Gustavo

    • #106346
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::

        Ludi_1994″ post=106449Ciao a tutti,
        probabilmente è stato già chiesto, ma non sono in questo forum da molto. Come faccio per modificare l’interlinea solo in una parte di testo?
        Avevo visto una cosa tipo: \linespread{}\selectfont, ma non ho capito come si usa.
        Qualcuno potrebbe aiutarmi?
        Grazie!!

        @letteracdp, dice bene, ma il pacchetto setspace serve anche per impostare lo scartamento (la distanza fra due linee di base di due righe di testo adiacenti si chiama scartamento, non interlinea, anche se tutti lo chiamo così; in TeX ese viene chiamato base line skip (scostamento della linea di base] che con una locuzione di tre parole dice quello che esprime la parola scartamento) diretttamente con un comando che equivale al comando che non ti è chiaro [tt]\linespread{[/tt]fattore[tt]}\selectfont[/tt].
        La spiegazione è semplice: [tt]\linespread[/tt] usa il suo argomento per impostare un fattore moltiplicativo con cui moltiplicare lo scartamento preimpostato dai comandi [\normalsize, \large, \small[/tt] eccetera. Non viene usato subito ma quando viene direttamente o indirettamente il cmando [tt]\selectfont[/].

        Dunque se hai impostato il tuo documento per avere un font normale di 12pt, lo scartamato predefinito per questo corpo potrebbe essere di 15pt (dipende dalla classe, dai font usati, da pacchetti eventualmente installati, ma di solito è il 20% – 25% maggiore del cor[o del font); nel mio esempio il rapporto fra lo scartamento di 15pt e il corpo di 12pt vale 1,25, quindi lo scartamento è del 25% maggiore del corpo.

        Se dunque vuoi uno scartamento minore in un solo capoverso, ti basta racchiuderlo in un gruppo e dentro il gruppo, prima della prima parola per ridurre lo scartamento da 1.25 del corpo a 1.20 del corpo imposti il fattore di scala al valore 0.96 = 1.20/1.25; scrive perciò:`
        …fine del capoverso precedente.

        {\linespread{0.96}\selectfont

        Capoverso più compatto….
        … fine del capoverso compatto.

        }

        Capoverso successivo…`Se dimentichi di scrivere [tt]\selectfont[/tt] non succede niente, nel senso che il fattore 0.96 non viene usato dentro il gruppo, e dopo la chiusura del gruppo quell’impostazione è scomparsa, dimenticata, tolta dalla memoria del programma di composizione.

        Però se al posto di [tt]\selectfont[/tt] usi un qualunque comando che cambi il copro del font, o il so disegno, o la sua nerezza, quel fattore 0.96 viene usato perché quei comandi usano essi stessi [tt]\selectfont[/tt].

        Quindi che tu usi il pacchetto setspace e i suoi comandi generici o quelli specializzati per un dato valore del fattore di scala, oppure se usi direttamente [tt]\linespread[/tt] con un argomento adeguato, fa lo stesso, ma, attenzione, è pessima abitudine alterare il fattore di allargamento dello scartamento se non di pochi punti percentuali; nell’esempio che ti ho fatto si diminuisce lo scartamento del 4%; in un caso opposto lo si potrebbe aumentare di un 5%, ma non è mai consigliabile uscire da questi limiti ristretti.

        L’errore più grave del pacchetto setspace è quello di fornire all’utente solo i comandi predefinti di [tt]\onehalfspacing[/tt] e [tt]\doublespacing[/tt] che corrispondono ad scartamenti maggiori di di un 35% il primo, e del 100% il secondo.

        No buono, no buono 🙁

      • #106347
        Up
        0
        Down
        ::

        OldClaudio” post=106451[…]

        L’errore più grave del pacchetto setspace è quello di fornire all’utente solo i comandi predefinti di [tt]\onehalfspacing[/tt] e [tt]\doublespacing[/tt] che corrispondono ad scartamenti maggiori di di un 35% il primo, e del 100% il secondo.

        No buono, no buono 🙁

        Be’, per la verità il pacchetto [tt]setspace[/tt] definisce anche il comando [tt]\setstretch[/tt]; ecco come:
        `
        \newcommand{\setstretch}[1]{%
        \def\baselinestretch{#1}%
        \@currsize
        }
        `
        SI può quindi vedere che tale comando fa esattamente quello che suggerisce @OldClaudio. Ripeto: a me il pacchetto [tt]setspace[/tt] non sembra granché, e sinceramente non capisco tutta la pressione che si fa per raccomandare di usare tale pacchetto anziché provvedere da soli ad aggiustare lo scartamento (giusto, perbacco!) con [tt]\baselinestretch[/tt] [tt]\linespread[/tt].

        Ciao.


        Gustavo

      • #106348
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Be’, in effetti in LaTeX2e è stato aggiunto il comando [tt]\linespread[/tt] proprio per non toccare \baselinestretch come fissato dei comandi di corpo. Quel comando che citi, [tt]\setstretch[/tt], non l’ho citato apposta, perché quello mi pare un errore del pacchetto che fa una cosa difficile da recuperare se non si conosce a fondo il meccanismo di impostazione dei font di LaTeX.

          La situazione migliore è quella di NON usare il pacchetto setspace.

        • #106349
          Up
          0
          Down
          ::

          OldClaudio” post=106455Be’, in effetti in LaTeX2e è stato aggiunto il comando [tt]\linespread[/tt] proprio per non toccare \baselinestretch come fissato dei comandi di corpo. Quel comando che citi, [tt]\setstretch[/tt], non l’ho citato apposta, perché quello mi pare un errore del pacchetto che fa una cosa difficile da recuperare se non si conosce a fondo il meccanismo di impostazione dei font di LaTeX.

          La situazione migliore è quella di NON usare il pacchetto setspace.

          Devo scusarmi: il mio precedente messaggio conteneva un infelicissimo errore, dovuto alla fretta, che ora ho provveduto a correggere. Intendevo appunto dire che non capisco tutta la pressione che a volte si sente fare per raccomandare di usare il pacchetto [tt]setspace[/tt] (concepito ancora per il LaTeX 2.09, figuratevi un po’!) invece di usare, appunto, [tt]\linespread[/tt]. Quindi, miei errori a parte, @oldClaudio ed io stiamo dicendo esattamente la stessa cosa.

          Ciao.


          Gustavo

        • #106350
          Up
          0
          Down
          ::

          letteracdp” post=106456

          Be’, in effetti in LaTeX2e è stato aggiunto il comando [tt]\linespread[/tt] proprio per non toccare \baselinestretch come fissato dei comandi di corpo. Quel comando che citi, [tt]\setstretch[/tt], non l’ho citato apposta, perché quello mi pare un errore del pacchetto che fa una cosa difficile da recuperare se non si conosce a fondo il meccanismo di impostazione dei font di LaTeX.

          La situazione migliore è quella di NON usare il pacchetto setspace.

          Devo scusarmi: il mio precedente messaggio conteneva un infelicissimo errore, dovuto alla fretta, che ora ho provveduto a correggere. Intendevo appunto dire che non capisco tutta la pressione che a volte si sente fare per raccomandare di usare il pacchetto [tt]setspace[/tt] (concepito ancora per il LaTeX 2.09, figuratevi un po’!) invece di usare, appunto, [tt]\linespread[/tt]. Quindi, miei errori a parte, @oldClaudio ed io stiamo dicendo esattamente la stessa cosa.

          Discordo. 🙂

          Se proprio si è costretti a modificare l’interlinea in modo esagerato, per ubbidire a sciocche imposizioni di gente che pensa ancora alle macchine per scrivere, si deve usare [tt]setspace[/tt], che almeno evita di avere interlinea gigantesca nelle note e in altre parti del documento dove sarebbero terrificanti. Fra l’altro, fornisce il comando [tt]\setstretch[/tt] che permette di fissare ad arbitrio il fattore di aumento dell’interlinea.

          Ciao
          Enrico

        • #106351
          Up
          0
          Down
          ::


          Grazie mille a tutti!! Problema risolto e siete stati di grandissimi aiuto!! 🙂

      Visualizzazione 6 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top