Integrare LilyPond in LaTeX

  • Creatore
    Topic
  • #47994
    Stemby
    Partecipante
      Up
      0
      Down
      ::


      Leggendo i vari topic sull’argomento, vedo di non essere l’unico musicista del forum 🙂

      Oggigiorno un utente LaTeX può sfruttare la potenza di LilyPond solo grazie a lilypond-book, uno script creato dal team di LilyPond. Il funzionamento elementare è spiegato già qui, e la documentazione completa la si trova facilmente sul sito ufficiale di LilyPond, quindi non ripeto le stesse cose inutilmente.

      Le (poche) volte che ho usato lilypond-book sono rimasto molto soddisfatto del risultato, ma ho sempre trovato troppo macchinoso il procedimento.

      Ora, scrivendo una classe in cui vorrei includere dei frammenti musicali, sento la necessità di una integrazione molto maggiore; vorrei poter avere a disposizione un ambiente {lilypond} e/o poter richiamare file .ly semplicemente caricando un pacchetto. Purtroppo al momento questo pacchetto non esiste ancora (mentre gli utenti ConTeXt possono gongolare da non so quanti anni). Personalmente non saprei da che parte incominciare per realizzarlo. Magari si riesce a sfruttare lilypond-book stesso?

      Qualcuno del forum ha voglia di cimentarsi? Sono sicuro che un pacchetto del genere farebbe davvero il botto.

      Ciao!

      Carlo

    Visualizzazione 26 filoni di risposte
    • Autore
      Risposte
      • #47995
        Stemby
        Partecipante
          Up
          0
          Down
          ::


          Sapevo che lilypond-book era scritto in Python; quel che ho appena scoperto è che esiste un piccolo (minuscolo!) pacchetto di nome python.sty che permette di includere codice Python in LaTeX. La cosa potrebbe farsi interessante…

        • #47996
          Up
          0
          Down
          ::


          No, non sei l’unico musicista del forum 😀

          Per scrivere musica pura io uso jEdit e il tool apposito, che mi sembra il migliore tra quelli in giro per la Rete.

          Per LilyPond-Book uso TeXShop e gli script di Nicola Vitacolonna, che trovi sul suo sito. Mi trovo benissimo: basta scrivere

          `\begin[…]{lilypond}

          \end{lilypond}`

          e compilare dal menu a tendina con LilyPond-Book e il gioco e fatto. Gli script permettono anche di scrivere musica pura, e si compila con LilyPond e basta.

          Perché dici che il procedimento è macchinoso? Per includere un file musicale si dà

          `\lilypond`

          come se si desse \input.

          Ciao
          Tommaso

        • #47997
          Stemby
          Partecipante
            Up
            0
            Down
            ::

            Per scrivere musica pura io uso jEdit e il tool apposito, che mi sembra il migliore tra quelli in giro per la Rete.

            Al momento anch’io, ma sto tenendo d’occhio Frescobaldi.

            Per LilyPond-Book uso TeXShop e gli script di Nicola Vitacolonna

            Sono un debianista; non ho ancora provato (per le poche volte che l’ho fatto ho digitato i comandi da terminale, e non è morto nessuno) comunque credo che sia fattibile facilmente anche dagli IDE per Linux come Kile, ecc.

            Perché dici che il procedimento è macchinoso?

            1) bisogna scrivere un file .lytex (non esattamente intuitivo per un utente LaTeX)
            2) bisogna compilare la prima volta con lilypond-book il file .lytex e continuare a lavorare su questo file (usando il .tex generato solo per ottenere il PDF): anche qui non esattamente l’ideale per un utente LaTeX

            Insomma, è fattibile se si sa bene cosa si sta facendo, ma non funziona nel mio caso, dove sto scrivendo una classe per LaTeX (e non per lilypond-book).

            La soluzione che ho in mente sarebbe una cosa tipo BibTeX, che prevede l’uso anche di uno strumento esterno, ma dove di base si usa il normale compilatore pdfLaTeX sul proprio file .tex. Il vantaggio sarebbe anche che quando non si usa l’ambiente lilypond, si lavora esattamente come con una qualsiasi classe standard.

            Ieri sera ho provato a farmi un’idea su come si potrebbe fare, ma non sono arrivato a grandi conclusioni…

            P.S.
            Se la cosa va in porto, un’integrazione nell’Arte diverrebbe essenziale 😀

            P.P.S.
            Per intenderci:
            `
            %test.tex

            \documentclass{article}
            \usepackage{lilypond}

            \begin{document}
            Prova di integrazione tra \LaTeX\ e LilyPond.
            \begin{lilypond}
            \version “2.12.2”

            \relative c'' {
            c d e c
            }
            \end{lilypond}
            \end{document}
            `
            Questo è un “hello world” che mi piacerebbe compilare con
            1) pdflatex
            2) strumento esterno da realizzare
            3) pdflatex

            P.P.P.S.
            Mi è venuta in mente una mezza idea. Dopo pranzo faccio un tentativo e vi faccio sapere.

            Ciao!

          • #47998
            Stemby
            Partecipante
              Up
              0
              Down
              ::


              Ottime notizie: il lavoro sta procedendo benone. Ora devo uscire, ma per stasera conto di farvi avere una prima grezzissima versione del pacchetto; mi manca solo da scrivere un piccolo scriptino in Python per automatizzare il lavoro, ma ho già prodotto un PDF accettabile 😀

              A presto!
              Carlo

              [EDIT]
              Sono a buon punto: scriptino finito (per una primissima grezzissima versione), ma devo rimettere un attimo mano al pacchetto perché non mi funziona una cosa…

              Adesso sono troppo rimbambito dal sonno per continuare.

              Ci sentiamo prestissimo!

            • #47999
              Stemby
              Partecipante
                Up
                0
                Down
                ::


                Eccomi: http://github.com/Stemby/latex-lilypond

                Qualcuno mi sa spiegare perché devo mettere 2 volte \par, qui? Se al posto della riga 14 uso la riga 13 (adesso commentata), mi basta un solo \par.

                A parte questo (che non riesco a capire), il resto sembra fare discretamente il suo lavoro. È da potenziare infinitamente su tutti i fronti, comunque già adesso è meglio di niente.

                Considerazioni, suggerimenti ed insulti sono ben accetti 😀

                Chiunque voglia mettere le mani in pasta non esiti a contattarmi: sarò ben lieto di dargli accesso in scrittura al repo Git.

                Ciao!
                Carlo

              • #48000
                Up
                0
                Down
                ::


                Così a occhio direi che LaTeX di aspetti la condizione di else…`\IfFileExists{file}{then-code}{else-code}` e pertanto il primo \par venga mangiato dal comando if
                Ma è soltanto un’ipotesi!

                😉
                LuCa

              • #48001
                Stemby
                Partecipante
                  Up
                  0
                  Down
                  ::

                  Ma è soltanto un’ipotesi!

                  Ipotesi esatta!

                  E pensare che credevo di aver già fatto quella prova…

                  Grazie! Adesso pusho la correzione.

                • #48002
                  Up
                  0
                  Down
                  ::


                  Ciao Carlo,
                  sono appena tornato dalla Francia.
                  Senti, potresti dare un po’ più di indicazioni su come installare e far funzionare il tuo script?
                  In particolare, LilyPond deve essere installato nella cartella ~Applicazioni/TeX o va bene anche in Applicazioni e basta?
                  Per far funzionare gli script per TeXShop, per esempio, sarebbe meglio di sì.

                  Ciao
                  Tommaso

                • #48003
                  Stemby
                  Partecipante
                    Up
                    0
                    Down
                    ::

                    Senti, potresti dare un po’ più di indicazioni su come installare e far funzionare il tuo script?

                    Vedo cosa posso fare; in realtà al momento non è prevista una vera e propria installazione.

                    Ti dico cosa ho fatto io, e cosa potresti fare tu se hai voglia di seguire lo sviluppo in queste fasi preliminari. Io ho ovviamente un repository Git in locale: per avelo anche tu (read-only) dovrebbe bastarti un
                    `
                    git clone http://github.com/Stemby/latex-lilypond.git
                    `
                    lanciato nel terminale dalla tua home. In questo modo poi, per tenere aggiornato il tutto, ti basta lanciare dalla cartella che ti viene creata (latex-lilypond):
                    `
                    git pull
                    `
                    Chiaramente prima di tutto devi installare Git, se non lo hai già fatto.

                    Io ho poi creato un link simbolico allo script Python in /usr/local/bin:
                    `
                    ln -s /home/nome_utente/latex-lilypond/lilytex /usr/local/bin
                    `
                    In questo modo non devo digitare ogni volta il percorso di dove si trova lo script, per lanciarlo: mi basta digitare
                    `
                    lilytex file.lil
                    `
                    da qualunque cartella, come se fosse un qualsiasi altro comando Unix (con anche il supporto della Bash completion 😉 )

                    Tutto ciò è vero in Debian, perché /usr/local/bin fa parte della variabile d’ambiente PATH. Non ho idea se sia la stessa cosa anche in MacOS. Per controllare:
                    `
                    echo $PATH
                    `
                    Altra cosa: Python credo che sia già installato di default su MacOS. Se così non fosse, ti tocca farlo.

                    In particolare, LilyPond deve essere installato nella cartella ~Applicazioni/TeX o va bene anche in Applicazioni e basta?

                    Mmmm, in pratica posso dire di non aver mai usato MacOS… solo pochi minuti, poche volte, e senza cercare di capirne il funzionamento. Non ho ben chiaro cosa stai chiedendo. 🙂 Essendo MacOS un sistema Unix, comunque, l’importante è che l’eseguibile sia installato in una delle directory comprese nella variabile d’ambiente PATH. Ovvero: se nel terminale digiti
                    `
                    lilypond
                    `
                    LilyPond dovrebbe partire. L’unica cosa che conta è questa.

                    Fammi sapere se non ti è ancora chiaro qualcosa… se invece è tutto ok, mi farebbe molto piacere che qualcuno mi inviasse queste istruzioni in inglese, per integrarle nel README (al momento non ho il tempo per seguire tutti questi dettagli da solo).

                    Ciao!
                    Carlo

                    EDIT:
                    Mi son dimenticato di dirvi che da domani sono via per qualche giorno… ci si sente settimana prossima!

                  • #48004
                    Stemby
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Buongiorno,
                      volevo solo rendervi partecipi della mia grande soddisfazione: adesso il pacchetto lilypond + lo script lilytex sono in grado

                        di gestire le directory (ad esempio per lasciare più ordinato il tutto, mettendo i file di lilypond in una cartella ./lily/) e, soprattutto,

                        di adattare automaticamente la larghezza del frammento musicale alla larghezza della colonna del file LaTeX.

                      Insomma, l’integrazione può ormai già dirsi conclusa. Il tutto ha ovviamente ancora enormi margini di miglioramento: il prossimo passo sarà un’opzione per cambiare la dimensione del rigo musicale; mi piacerebbe però ricevere nel frattempo dei feedback.

                      Altra cosa: sarebbe grandioso buttare il pacchetto in CTAN, ma andrebbe scritta la documentazione ecc. ecc. e da solo non sono in grado di farlo; qualche volontario ha voglia di farsi avanti?

                      Ciao ciao
                      Carlo

                    • #48005
                      Up
                      0
                      Down
                      ::


                      Ciao,
                      ti aiuterei io, se soltanto riuscissi a capire qualcosa di quello che mi hai scritto tempo fa! 😉

                      Mi piacerebbe tanto poter vedere questa classe all’opera, ma non ci sono riuscito…

                      Attendo, se vorrai, altre istruzioni, ma se usi Linux e non hai confidenza con Mac… Siamo in due! 😀

                      Ciao
                      Tommaso

                    • #48006
                      Stemby
                      Partecipante
                        Up
                        0
                        Down
                        ::

                        Mi piacerebbe tanto poter vedere questa classe all’opera, ma non ci sono riuscito…

                        In questi giorni non ho un minuto di tempo (riesco a risponderti solo adesso, anche se avrei voluto farlo ieri mattina), ma appena ho un attimo di respiro se vuoi ci incontriamo su IRC e proviamo a fare qualche tentativo.

                        Ciao!

                      • #48007
                        Up
                        0
                        Down
                        ::


                        rimane il problema relativo alla lentezza di composizione

                        sarebbe l’ideale il poter, tramite una specifica funzione di un editor, introdurre le note e gli accidenti con le indicazioni agogiche e di chaive, da una tastierina midi

                      • #48008
                        Stemby
                        Partecipante
                          Up
                          0
                          Down
                          ::

                          rimane il problema relativo alla lentezza di composizione

                          Questo al limite è un problema di LilyPond, non del pacchetto.

                          sarebbe l’ideale il poter, tramite una specifica funzione di un editor, introdurre le note e gli accidenti con le indicazioni agogiche e di chaive, da una tastierina midi

                          Non ho ben capito cosa tu intenda, comunque so che è possbile usare un programma di nome Rumor (anche attraverso Frescobaldi) per inserire le note con una tastiera MIDI. Non avendone una non ho però mai verificato quanto bene funzioni come sistema.

                          Ciao!

                        • #48009
                          Up
                          0
                          Down
                          ::


                          Ciao Stemby,
                          a che punto è il lavoro? 😀

                          Ciao
                          Tommaso

                        • #48010
                          Stemby
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Per quel che mi serve il pacchetto è già “completo”.

                            Man mano cercherò di portare tutte le funzionalità disponibili con lilypond-book, ma attualmente le priorità sono altre.

                            Purtroppo mi attende un periodo di fuoco, e non ho il tempo materiale per seguirti passo passo nelle prove via chat: se però posti qui i tuoi dubbi, qualche minutino cerco di trovarlo.

                            Ciao!

                          • #48011
                            Up
                            0
                            Down
                            ::


                            Salve a tutti…
                            spero non sia un problema se riprendo una vecchia discussione… ma trattandosi dello stesso argomento… evito di aprirne una nuova che parli delle stesse cose…

                            …detto questo… sto cercando disperatamente di infilare in un file latex degli spartiti lilypond… dopo grandi ricerche ho trovato che dovrebbe essere possibile farlo usando lilypond-book… ma quando provo a scrivere il comando “lilypond-book” mi restituisce “lilypond-book non è riconosciuto come comando interno o esterno…ecc…”

                            Non so assolutamente nulla di come si usi la riga di comando… quindi forse si tratta di un problema stupido… solo che probabilmente è talmente stupido che non si trova da nessuna parte come risolverlo…
                            Se potete aiutarmi mi fate un grande piacere!

                          • #48012
                            Stemby
                            Partecipante
                              Up
                              0
                              Down
                              ::


                              Mmm, qualche dettaglio in più sarebbe utile. Ad esempio, cosa stai cercando si realizzare? Un libro prevalentemente testuale con dei frammenti di musica inseriti al suo interno, o al contrario uno spartito a cui vuoi aggiungere del testo?

                              Ciao!

                            • #48013
                              Up
                              0
                              Down
                              ::

                              Iluvatar” post=92227Salve a tutti…
                              spero non sia un problema se riprendo una vecchia discussione… ma trattandosi dello stesso argomento… evito di aprirne una nuova che parli delle stesse cose…

                              …detto questo… sto cercando disperatamente di infilare in un file latex degli spartiti lilypond… dopo grandi ricerche ho trovato che dovrebbe essere possibile farlo usando lilypond-book… ma quando provo a scrivere il comando “lilypond-book” mi restituisce “lilypond-book non è riconosciuto come comando interno o esterno…ecc…”

                              Non so assolutamente nulla di come si usi la riga di comando… quindi forse si tratta di un problema stupido… solo che probabilmente è talmente stupido che non si trova da nessuna parte come risolverlo…
                              Se potete aiutarmi mi fate un grande piacere!

                              Non è affatto un problema stupido. Anzi.

                              Prima di dirti qualcosa, però, c’è bisogno di sapere quale sistema operativo hai installato sulla tua macchina, quale distribuzione di LaTeX e quale editor stai usando.

                              [OT]
                              Stemby, hai poi terminato il tuo pacchetto? 🙂
                              [/OT]

                              Ciao
                              Tommaso

                            • #48014
                              Up
                              0
                              Down
                              ::


                              Ok cerco di essere più dettagliato…

                              dovrei fare un documento di testo con all’interno dei frammenti musicali… ma prevalentemente testo.

                              uso Windows XP e per scrivere in LaTeX WinEdt, la distribuzione di LaTeX non saprei… però posso dire che ho la cartella MiXTeX 2.9 nei programmi… se può essere utile…

                              Grazie!

                            • #48015
                              Up
                              0
                              Down
                              ::

                              Iluvatar” post=92249Ok cerco di essere più dettagliato…

                              dovrei fare un documento di testo con all’interno dei frammenti musicali… ma prevalentemente testo.

                              uso Windows XP e per scrivere in LaTeX WinEdt, la distribuzione di LaTeX non saprei… però posso dire che ho la cartella MiXTeX 2.9 nei programmi… se può essere utile…

                              Grazie!

                              Ciao,
                              e se inserissi i frammenti direttamente come pdf con \includegraphics ?

                              Ciao
                              Andrea

                            • #48016
                              Stemby
                              Partecipante
                                Up
                                0
                                Down
                                ::

                                illinguista1972″ post=92241
                                Stemby, hai poi terminato il tuo pacchetto? 🙂

                                Bah, non lo considererei terminato, però funziona da anni e l’ho usato con soddisfazione anche di recente.

                                @lluvatar:
                                Per il tuo scopo a mio avviso lilypond-book non è indicato. Ti consiglierei di dare un’occhiata proprio al mio pacchetto (io userei quello). Purtroppo devi in autonomia cercare e far funzionare i vari pezzi di software che ti servono (Python, ecc.), perché Windows non lo uso da quasi dieci anni e non sono in grado di aiutarti.

                                Piuttosto, potrebbe essere una buona idea installare in una partizione separata un sistema GNU/Linux (o anche in macchina virtuale): decisamente più semplice e pratico.

                                Ciao!

                              • #48017
                                Up
                                0
                                Down
                                ::


                                Grazie… il tuo pacchetto sembra parecchio complicato… speravo ci fosse qualcosa di più intuitivo… vedrò quello che riesco a fare…

                                Comunque rispondendo ad And preferisco avere tutto in un unico documento per non dover fare mille passaggi per fare qualsiasi modifica…

                              • #48018
                                Stemby
                                Partecipante
                                  Up
                                  0
                                  Down
                                  ::

                                  Iluvatar” post=92253il tuo pacchetto sembra parecchio complicato…

                                  In realtà non mi sembra. Per lo meno non è più complicato di usare bibtex, se non forse per l’ “installazione” da farsi a mano.

                                  Credo di aver documentato tutto sufficientemente bene; nel caso qualche passaggio non fosse chiaro, o se riscontrassi qualche problema, chiedi pure.

                                  Ciao!

                                • #48019
                                  Up
                                  0
                                  Down
                                  ::


                                  Mi sa che le mie conoscenze di informatica sono un po’ troppo scarse per questo… meglio che lascio perdere… proverò con includegraphic…

                                • #48020
                                  Up
                                  0
                                  Down
                                  ::

                                  Iluvatar” post=92263Mi sa che le mie conoscenze di informatica sono un po’ troppo scarse per questo… meglio che lascio perdere… proverò con includegraphic…

                                  Io con [tt]lilypond-book[/tt] mi trovo bene: riesco a fare cose come quelle che allego. Non mi sembra male.

                                  Ciao
                                  Tommaso

                                  [attachment:1]C:\fakepath\lilypond-book.pdf[/attachment]

                                • #48021
                                  Stemby
                                  Partecipante
                                    Up
                                    0
                                    Down
                                    ::


                                    Ho appena scoperto che il mio codice negli anni aveva smesso di funzionare.

                                    Appena pubblicata la versione aggiornata:

                                    https://github.com/Stemby/latex-lilypond

                                    Nessuna nuova funzionalità, semplicemente di nuovo utilizzabile.

                                    Ciao!

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

                                Go to top