CTAN Comprehensive TeX Archive Network

Directory support/lyluatex


Main author: Fr. Jacques Peron This material is subject to the MIT license.



In the preable of your document, include the package lyluatex:


The program option permits the definition of an alternative path to lilypond, for example:


Thereafter, you can include a lilypond file with the command:


The argument staffsize, which is optional, changes the size of the score. You can change the size for all the subsequent scores in a document by placing the following command before your first include statement to be so affected:


Next, you simply need to compile the document normally with the command lualatex -shell-escape :

lualatex -shell-escape DOCUMENT.TEX

Another "more secure" option is to add lilypond and gs to default allowed commands :

shell_escape_commands=$(kpsewhich -expand-var '$shell_escape_commands'),lilypond,gs lualatex DOCUMENT.TEX

On systems with low RAM, when working on big documents, you could encounter buffer overflows in lilypond calls. In that case, first compile with option -draftmode, then compile again without this option.

You can also input music directly into your docoment with the lilypond environment. This is only recommended for relatively short snippets. For example:

\relative c' { c d e f g a b c }

Finally, for truly short snippets, there is also the \lily command. Example:

\lilypond[staffsize=12]{c' d' g'}

Nota bene: The \lilypond command does not support blocks of LilyPond code with explicit \score blocks. Such code must be included with the lilypond environment or as a separate file.

Migration from lilypond-book

In order to facilitate the migration from lilypond-book, \lilypondfile, the environment lilypond and the command \lilypond should work nearly as with lilypond-book ; for even more identical behaviour, call lyluatex like follows:


That way, documents typeset with lilypond-book can be adapted to use lyluatex without much difficulty.


Cf. Contributors.md


If you want improvements or encounter an error, do not hesitate to to report the issue. If you have programming skills, you may also propose your changes via a pull request.

This extension is and will remain free; if you find it useful and wish to encourage its development by a donation, many thanks!

Download the contents of this package in one zip archive (1.3M).

lyluatex – Commands to include lilypond scores within a (Lua) document

This package provides macros for the inclusion of LilyPond scores within Lua. It calls LilyPond to compile scores, then includes the produced files.

Dependencies: currfile, environ, graphicx, luaotfload, luatexbase, metalogo, minibox, pdfpages, xkeyval.

Bug trackerhttps://github.com/jperon/lyluatex/issues
Version1.0f 2019-05-27
LicensesMIT License
Copyright2015–2019 Jacques Peron et al.
MaintainerThe Gregorio Project
Jacques Peron
Contained inTeX Live as lyluatex
MiKTeX as lyluatex
Music extra input
Guest Book Sitemap Contact Contact Author