\newcommand in lilypond-book

Begonnen von jonas, Samstag, 2. Februar 2019, 14:45

« vorheriges - nächstes »

jonas

Hallo zusammen,
ich möchte meine Sammlung an geschriebenen Stücken zu einem Lilypond book vereinen. Ordnerstruktur:


├── maersche/
...
│   └── zeppelin
│       ├── zeppelin.ly
│       ├── zeppelin.midi
│       └── zeppelin.pdf
├── schwarzes-marschbuch.lytex
└── schwarzes-marschbuch.pdf


Gedacht hatte ich mir das so, dass ich einen neuen Command \marsch erstelle, den ich dann anpasse, um z.B. Formatänderungen durchzuführen.

\documentclass[a4paper]{article}

\begin{document}

\newcommand{\marsch}[1] {
    \lilypondfile{ #1 }
    \newpage
}

\marsch[maersche/zeppelin/zeppelin.ly]
% \marsch  2
% \marsch  3
% ...
\end{document}


Das schlägt allerdings bei pdflatex fehl:
! Undefined control sequence.
\marsch #1-> \lilypondfile
                           { #1 } \newpage
l.11 \marsch[
             maersche/zeppelin/zeppelin.ly]


Ist diese Vorgehensweise vernünftig? Wenn ja, wie definiere ich den Command korrekt?

Malte

Hm ... Soweit ich weiß, erkennt LilyPond-Book relativ ,,dumm" nur das, was es kennt, also \begin{lilypond} und ein paar Befehle. \marsch gehört nicht dazu, weil es sich nicht um \newcommand kümmert. Ich fürchte, daß es keinen einfachen Weg gibt, lilypond-book sowas beizubringen.

Es gibt aber möglicherweise einen einfacheren Weg: Du könntest statt lilypond-book als Präprozessor mit anschließendem LaTeX-Aufruf das neue Paket lyluatex verwenden. Damit ruft (Lua)LaTeX LilyPond selbst auf und kann auch solche selbst definierten Befehle anständig behandeln. Hab gerade keine Zeit, das zu testen, aber vielleicht hilfts dir ja schon ;)

jonas