I am trying to embed a music engraving in a LaTeX document and am following the example given at https://lilypond.org/doc/v2.19/Documentation/usage/an-example-of-a-musicological-document. My example is a bit simpler than what is given in the documentation. I have named this file lilylatexly.lytex -----------------------
\documentclass[a4paper]{article} \begin{document} Documents for \verb+lilypond-book+ may freely mix music and text. For example, \begin{lilypond} \relative c' { c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } \end{lilypond} Options are put in brackets. \begin{lilypond}[fragment,quote,staffsize=26,verbatim] c'4 f16 \end{lilypond} \end{document} ----------------------------- When I run the lilypond-book python script to process the .lytex file, the process starts, then hands and I get this python error traceback when I kill the process with Ctrl-C: c:\Labs>lilypond-book --output=out --pdf lilylatexly.lytex lilypond-book.py (GNU LilyPond) 2.22.0 Reading `c:\Labs\lilylatexly.lytex' Running `pdflatex' on file `C:\Users\XXXXX~1\AppData\Local\Temp\tmphrkt8nkt.tex' to detect default page settings. Traceback (most recent call last): File "C:\Program Files (x86)\LilyPond\usr\bin\lilypond-book.py", line 820, in <module> main() File "C:\Program Files (x86)\LilyPond\usr\bin\lilypond-book.py", line 798, in main chunks = do_file(files[0]) File "C:\Program Files (x86)\LilyPond\usr\bin\lilypond-book.py", line 600, in do_file global_options.formatter.init_default_snippet_options(source) File "C:\Program Files (x86)\LilyPond\usr\share\lilypond\current\python\book_base.py", line 173, in init_default_snippet_options line_width = self.get_line_width(source) File "C:\Program Files (x86)\LilyPond\usr\share\lilypond\current\python\book_latex.py", line 314, in get_line_width textwidth = get_latex_textwidth(source, self.global_options) File "C:\Program Files (x86)\LilyPond\usr\share\lilypond\current\python\book_latex.py", line 247, in get_latex_textwidth (parameter_string, error_string) = proc.communicate() File "C:\Users\XXXXX\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 920, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "C:\Users\XXXXX\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1244, in _communicate self.stdout_thread.join(self._remaining_time(endtime)) File "C:\Users\XXXX\AppData\Local\Programs\Python\Python37\lib\threading.py", line 1032, in join self._wait_for_tstate_lock() File "C:\Users\XXXXX\AppData\Local\Programs\Python\Python37\lib\threading.py", line 1048, in _wait_for_tstate_lock elif lock.acquire(block, timeout): KeyboardInterrupt ----------------------------------- NOTES: (1) I am running python 3.7; I don't have any versions of python 2.X on my PC. I had seen in discussion threads that I needed to have a newer version of lilypond so that python 3 would work with the lilypond-book python scripts. I removed my older version of lilypond and now have V2.22.0 installed. (2) I had to rename lilypond-book to lilypond-book.py so that Windows 10 recognized it as a python script. (3) This example works fine with my linux installation of lilypond 2.22.0. (4) From the python traceback there is some locking going on. I don't know if this is some problem with write access to files? Do I need to invoke the script with ADMIN privileges? Thank you for your help in resolving this problem.