Re: Versi spezzati (allineare inizio linea con fine linea sopra)

#27081
mlgdominici
Amministratore del forum
    Up
    0
    Down
    ::

    Do un’occhiata al codice di esempio che hai postato e ti faccio sapere.

    Non avevo notato che in questo esempio non usi le macro \Pers e \PersB.

    La lunghezza \versewidth non indica il rientro totale del verso spezzato, ma viene aggiunta, al rientro di default, che è appunto \vindent. Per avere un rientro totale uguale a \versewidth, devi quindi sottrarre \vindent. Nel primo esempio questo veniva fatto dalle macro \Pers e \PersB. In questo secondo caso devi farlo tu, a mano:

    `
    \settowidth{\versewidth}{Io scacciato!\ldots{} Io bandito!\ldots{} E il fiero insulto}
    \begin{verse}[\versewidth]
    Io scacciato!\ldots{} Io bandito!\ldots{} E il fiero insulto\\
    Io Don Sallustio di Bazan dovrei\\
    Soffrir tacendo e inulto?\ldots{}\\
    Ah! no, per dio!\ldots{} Madrid e questa Corte\\
    \settowidth{\versewidth}{Esule io lascio\ldots{} ma per poco:}
    \addtolength{\versewidth}{-\vindent}
    Esule io lascio\ldots{} ma per poco:\\>[\versewidth]
    un giorno\\
    Mi rivedrà costei,\\
    \settowidth{\versewidth}{Come un genio fatal di morte!\ldots{}}
    \addtolength{\versewidth}{-\vindent}
    Come un genio fatal di morte!\ldots{}\\>[\versewidth]
    Un giorno!\ldots{}\\
    Sì, ma palese intanto\\
    A tutti fia lo scorno\\
    Di questo colpo, che m'umilia, ahi! quanto!\ldots{}
    \end{verse}
    `

    Oppure, definendo un’apposita macro:

    `\newcommand{\setbvindent}[1]{%
    \settowidth{\versewidth}{#1}
    \addtolength{\versewidth}{-\vindent}
    }
    \settowidth{\versewidth}{Io scacciato!\ldots{} Io bandito!\ldots{} E il fiero insulto}
    \begin{verse}[\versewidth]
    Io scacciato!\ldots{} Io bandito!\ldots{} E il fiero insulto\\
    Io Don Sallustio di Bazan dovrei\\
    Soffrir tacendo e inulto?\ldots{}\\
    Ah! no, per dio!\ldots{} Madrid e questa Corte\\
    \setbvindent{Esule io lascio\ldots{} ma per poco:}
    Esule io lascio\ldots{} ma per poco:\\>[\versewidth]
    un giorno\\
    Mi rivedrà costei,\\
    \setbvindent{Come un genio fatal di morte!\ldots{}}
    Come un genio fatal di morte!\ldots{}\\>[\versewidth]
    Un giorno!\ldots{}\\
    Sì, ma palese intanto\\
    A tutti fia lo scorno\\
    Di questo colpo, che m'umilia, ahi! quanto!\ldots{}
    \end{verse}
    `

    Ho tolto le due righe contenenti la macro \Dida, per due motivi: 1) mi manca la sua definizione; 2) in quel caso l’ambiente verse avrebbe dovuto essere centrato sulla riga “volgendosi al ritratto della Regina con un gesto di minaccia” che risulta essere la più lunga.

    3. Tutto funziona + o – bene in un documento-prova. Ma nella mia tesi, che ha TUTTI i parametri IDENTICI al documento prova, non funziona il comando \\>[versewidth], che devo sostituire con la versione estesa \verselinebreak[\versewidth]. ???

    A me l’esempio funziona anche con \\>, che, come vedi ho reinserito nel codice di sopra. La versione del pacchetto verse è la stessa che ho io.

    Ciao,
    Max.

    Go to top