Deutschsprachiges LilyPond-Forum

LilyPond und andere Programme => Textverarbeitung => Thema gestartet von: jonas am Samstag, 2. Februar 2019, 14:45

Titel: \newcommand in lilypond-book
Beitrag von: jonas am Samstag, 2. Februar 2019, 14:45
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?
Titel: Antw:\newcommand in lilypond-book
Beitrag von: Malte am Samstag, 2. Februar 2019, 16:30
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 ;)
Titel: Antw:\newcommand in lilypond-book
Beitrag von: jonas am Montag, 4. Februar 2019, 18:54
Funktioniert prima, danke.  :)