Am 08.12.19 um 08:44 schrieb Jacques Menu:
Urs, who is the creator/maintainer of LuaLaTeX? There seems to be a mist cloud
around it...
I'm not completely sure about the relation between LuaTeX and LuaLaTeX.
The LuaTeX homepage is http://www.luatex.org/, and the LuaTeX manual is
basically what one refers to when learning about the Lua capabilities of
working with LuaLaTeX.
With regard to the one project I've right now set the repository
visibility to public, and it can be accessed at
https://git.ursliska.de/bfsc/kayser. The idea has always been to make it
public, but the repository is not in a state where we liked anyone to
look at it ;-)
On the plus side I can say that the project is extensively documented -
because that was part of my paid commission. You can find the docs in
the (surprise) documentation directory but I have uploaded the compiled
PDFs to https://cloud.ursliska.de/s/A9gbm8gKqrdKefI and
https://cloud.ursliska.de/s/oYXktF3wEXDiA9i (where I'll eventually
remove them again, this is not a permanent link).
This project has a very complex infrastructure on the LilyPond side as
well, and there's a conference paper giving a high-level introduction to
it: https://cloud.ursliska.de/s/mErzJdRut7VAcY6
The LaTeX part is of course very different from the use case asked for
here, but it is surely an example showing what it means to use the Lua
based LaTeX flavor as a document generation system. I'll try to outline
as concisely as possible what the project does.
Our edition (complete works of Isfrid Kayser) is organized as a
directory hierarchy <workgroup>/<work>/<movement>/<part>.ily. On the
LilyPond side I can basically say
\engrave \with {
workgroup = masses
work = one
movement = all
part = violin-one
}
with "part" shorthands "score" and "choir" (printing the four voices
plus basso continuo). Several options can be given to make some
decisions about using modern or original clefs, using original line
breaks or highlighting annotations.
The LaTeX infrastructure does a similar thing. You can tell it --
through command line options -- *what* volume you want to have created,
and it collects the necessary information from the directory tree.
First it checks which score(s) are needed, then uses lyluatex to
conditionally compile them (if they are not already cached). Then it
uses Pandoc to convert additional texts (preface, editorial comments)
from Markdown files - if they are present in the relevant directory
(i.e. if an editor has provided a preface to a specific volume it will
be included, otherwise it is simply skipped). Finally the critical
report is typeset from the data exported from LilyPond using scholarLY.
Note that much of the code is somewhat outdated because in essence this
project was the trigger to make me think further. What I realized is
that essentially in *every* Lua project I did since I ended up
implementing a kind of template system (starting with a copy from a
previous project). So I started off generalizing this, and I hope my
`luaformatters` package
(https://github.com/lualatex-tools/luaformatters) will become a really
useful tool, with the potential of extremely simplifying the use of Lua
in LaTeX document(s/ packages).
(https://cloud.ursliska.de/s/psHzJCMQMtW4aVs)
Urs
JM
Le 8 déc. 2019 à 07:43, Urs Liska <[email protected]> a écrit :
Am 8. Dezember 2019 06:22:22 MEZ schrieb Jacques Menu <[email protected]>:
Hello folks,
I’ll look into those alternative build systems.
Urs, where can I find a MWE of LuaLaTeX use for LilyPond? Didn't find
any when I seached the web recently.
I have MacTeX 2019 installed.
I only have one real example so far, and this is *far* from minimal - but
includes an extensive documentation.
I'll discuss whether it is time to make this freely available now or if I can
give you access to the repository.