On Tue 12 Jan 2021 at 11:21:40 (-0500), Daniel Connors wrote: > 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?
You appear to be running on Windows. A common problem is that Windows doesn't let you write to a file that another application has open. So make sure you close out.pdf before you run lilypond-book. (I don't *think* you have to delete it as well.) Cheers, David.