Archivio | latex RSS for this section

LaTeX e LilyPond: incorpora spartiti nei tuoi documenti LaTeX

Chiunque abbia usato LaTeX per i propri documenti, conosce bene le potenzialità di questa suite. Template, equazioni, pubblicazioni, etc. etc…

Ma sei io volessi inseriere degli spartiti musicali (o anche solo 2 battute) nel mio documento? Per esempio se voglio scrivere un sunto di teoria musicale è sicuramente molto comodo poter scrivere al volo la scala di Do maggiore sul rigo, senza dovermela scrivere con altri programmi ed esportare immagini, che in seguito devo incorporare nel mio documento!

Bene, il pacchetto LilyPond (sito ufficiale) serve proprio a questo. In realtà questo software è nato principalmente solo come editor di score completo e professionale, ma ora possiamo usarlo come environment per i nostri documenti LaTeX.

La procedura prevede 2 passi di compilazione. Il primo passo avviene tramite il comando lilypond-book documeto.tex, e successivamente avviene la vera e propria compilazione tramite latex. Questo procedimento potrebbe risultare noioso, così ho deciso di crearmi un makefile. Lanciano un semplice make mi ritrovo con il mio dvi o pdf bello e pronto.

Questo makefile ha 3 opzioni: lanciando solo il make, compiliamo soltanto il dvi. Lanciando make pdf, otteniamo un pdf (ma va?? 🙂 ). Come ultima opzione abbiamo il solito make clean, che ripulisce la cartella dai file e cartelle temporanei usati per la compilazione.

Vediamo come è fatto il makefile

# Makefile for LilyPond LaTeX
# Alessio Degani <alessio.degani@gmail.com>
LATEX = latexLP = lilypond-bookDVIPDF = dvipdf

SRC := $(shell egrep -l ‘^[^%]*\\begin\{document\}’ *.tex)
DVI = $(SRC:%.tex=%.dvi)
PDF = $(SRC:%.tex=%.pdf)
LPDIR = $(SRC:%.tex=%.lp)

all : dvi
clean :
-rm -rf *.log *.aux *.dvi *.bbl *.blg *.ilg *.toc *.lof *.lot *.idx *.ind *.ps *.pdf *~ $(LPDIR)
pdf:
if test -d $(LPDIR); then rm -rf $(LPDIR); fi
$(LP) –output $(LPDIR) $(SRC)
cd $(LPDIR); $(LATEX) $(SRC); $(DVIPDF) $(DVI)
cp $(LPDIR)/$(PDF) ./
dvi:
if test -d $(LPDIR); then rm -rf $(LPDIR); fi
$(LP) –output $(LPDIR) $(SRC)
cd $(LPDIR); $(LATEX) $(SRC)
cp $(LPDIR)/$(DVI) ./

Ora vediamo un file LaTeX di esempio pronto per essere compilato (preso dagli esempi di LilyPond)

\documentclass[a4paper]{article}
\begin{document}
Documents may freely mix music and text.
For example,
\begin{lilypond}
\relative c’ {
c2 g’2 \times 2/3 { f8 e d } c’2 g4
}
\end{lilypond}
Options are put in brackets.
\begin[fragment,staffsize=26]{lilypond}
c’4 f16
\end{lilypond}
\end{document}

Annunci