Nuovo comando aggiuntivo a VERSE con problemi

  • Creatore
    Topic
  • #122159
    benedetto batta
    Partecipante
      Up
      0
      Down
      ::


      Buongiorno.
      Vi scrivo per un problema che mi accade con un comando aggiuntivo a VERSE.
      Il comando l’ho preso dal seguente link: %https://tex.stackexchange.com/questions/281348/indent-block-within-verse-environment.

      Con qualche piccola modifica, funziona comunque, come nell’eseguibile che allego:
      `\documentclass[12pt,a4paper]{book}
      \usepackage{xpatch}
      \def\chorusindent{1em}
      \let\origverse\verse
      \xpatchcmd\verse{\leftmargin 1.5em}{\leftmargin\chorusindent}{}{}
      \xpatchcmd\verse{\itemindent -1.5em}{\itemindent\dimexpr-1.5em-\labelwidth-\labelsep}{}{}
      \xpatchcmd\verse{\relax}{\relax\itshape}{}{}
      \let\chorusverse\verse
      \let\endchorusverse\endverse
      \let\verse\origverse

      \usepackage{verse}%

      \begin{document}

      \texttt{\Large Testo della canzone}
      \settowidth{\versewidth}{Fammi sentire come sempre, il nulla che sono}
      \begin{large}
      \begin{verse}[\versewidth]
      Io sono il portatore\\
      Io porto la passione\\
      Io porto il tuo dolore\\[8pt]
      Io sono il portatore\\
      Mi usi per guarire\\
      Mi usi contro quelli che ti fanno soffrire\\[8pt]
      Sono il portatore\\
      \begin{chorusverse}
      Allora vieni via con me\\
      Non diamo peso al nostro tempo\\
      Ma mi tieni incatenato qui\\
      E mi porti nel tuo mondo\\
      \end{chorusverse}
      Io sono il portatore\\
      Che ascolta le persone\\
      Che si sentono in un mondo di finzione\\[8pt]
      Io sono il portatore\\
      A seconda del tempo\\
      Porto qualsiasi sentimento\\[8pt]
      Fammi sentire come sempre, il nulla che sono\\
      Io porto rabbia, io porto il vuoto\\
      Ascoltate tutti quello che ti dico\\
      Sono il portatore del tuo dolore il nemico\\ i brividi\\
      Del vento.\\
      \end{verse}
      \end{large}

      \end{document}`

      Purtroppo non sono partilarmente addentro alla gestione, quindi ho difficoltà a capire i problemi.
      Che sono 2:

      • Dopo \end{chorusverse} il verso successivo è identato, e non capisco perchè. La modifica mi è necessaria!
      • in questo esempio il testo contenuto in begin{chorusverse}\end{chorusverse} è in italic, mentre nel mio documento no. Non attuo altre modifiche a VERSE, quindi non mi capacito del fatto che non segua la corretta formattazione. Potrebbe essere qualche comando che va in conflitto, ma proprio non capisco quale. So che così è difficile, ma il mio documento è troppo lungo per poterlo inserire. Proverò il debuggin aggiungendo parti passo passo. Se qualcuno ha in merito qualche idea, però, potrei risparmare parecchio tempo.

      Se qualcuno può aiutarmi, gliene sarò grato.

      Grazie in anticipo.

    Visualizzazione 4 filoni di risposte
    • Autore
      Risposte
      • #122160
        strolego
        Partecipante
          Up
          0
          Down
          ::


          Premesso che non conosco il pacchetto verse

          Per l’indentazione: se dopo \end{chorusverse} chiudi il paragrafo con \\ non l’hai più

          Per l’italico: se scrivi \xpatchcmd\verse{\relax}{\relax\itshape}{}{} ottieni l’italico, togli il comando e sei a posto

        • #122161
          benedetto batta
          Partecipante
            Up
            0
            Down
            ::


            Intanto, grazie.
            Sì, in effetti introducendo un \par al di sotto dell’ambiente chorusverse, si toglie l’indentazione. Grazie del suggerimento.

            Invece, quello che accade riguardo l’italico, è proprio l’opposto: cioè, lasciando il comando dovrebbe impostarmelo (e lo imposta nell’esempio che ho postato), mentre nel mio documento no. Ci sarà qualcosa che interferisce, ma non riesco a trovarlo. Postare l’intro progetto è impossibile, ma non riesco a replicare il difetto. Boh! Farò le modifiche passo passo.

          • #122162
            strolego
            Partecipante
              Up
              0
              Down
              ::


              Infatti io vedevo che veniva in italico e quindi ho capito che tu non lo volessi …

            • #122163
              Up
              0
              Down
              ::


              Non capisco la strategia adoperata.

              1. Caricare [tt]verse[/tt] dopo le modifiche mi sembra assurdo.

              2. Non esiste l’ambiente [tt]large[/tt]

              3. Evita TAB

              `
              \documentclass[12pt,a4paper]{book}

              \usepackage{verse}

              \makeatletter

              \newcommand{\chorusindent}{1em}
              \newenvironment{chorusverse}{% copiamo da latex.ltx e modifichiamo
              \let\\\@centercr
              \list{}{%
              \topsep\z@
              \parsep\z@
              \itemsep\z@
              \itemindent\z@
              \listparindent\z@
              \leftmargin=\dimeval{-\leftmargin+\chorusindent}%
              \labelwidth\z@
              \labelsep\z@
              \rightmargin\leftmargin
              }\item\relax\itshape
              }{\endlist}
              \makeatother
              \AddToHook{env/chorusverse/after}{\par}

              \begin{document}

              \texttt{\Large Testo della canzone}

              \settowidth{\versewidth}{Fammi sentire come sempre, il nulla che sono}

              \begin{verse}[\versewidth]
              Io sono il portatore\\
              Io porto la passione\\
              Io porto il tuo dolore\\[8pt]
              Io sono il portatore\\
              Mi usi per guarire\\
              Mi usi contro quelli che ti fanno soffrire\\[8pt]
              Sono il portatore
              \begin{chorusverse}
              Allora vieni via con me\\
              Non diamo peso al nostro tempo\\
              Ma mi tieni incatenato qui\\
              E mi porti nel tuo mondo
              \end{chorusverse}
              Io sono il portatore\\
              Che ascolta le persone\\
              Che si sentono in un mondo di finzione\\[8pt]
              Io sono il portatore\\
              A seconda del tempo\\
              Porto qualsiasi sentimento\\[8pt]
              Fammi sentire come sempre, il nulla che sono\\
              Io porto rabbia, io porto il vuoto\\
              Ascoltate tutti quello che ti dico\\
              Sono il portatore del tuo dolore il nemico\\ i brividi\\
              Del vento.\\
              \end{verse}

              \end{document}
              `

              [attachment=2817]Screenshot2024-11-10at23.20.19.png[/attachment]

              Ciao
              Enrico

              Attachments:
              You must be logged in to view attached files.
            • #122164
              benedetto batta
              Partecipante
                Up
                0
                Down
                ::


                Ottima soluzione.
                Devo studiarmi decentemente le macro!

                Grazie.

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

            Go to top