Daniel Rosen <[email protected]> writes: > I'm trying to follow the tutorial at > http://www.lilypond.org/doc/v2.18/Documentation/usage/an-example-of-a-musicological-document; > I run Windows 7 x86. When I run the command it tells me to (lilypond-book > --output=out --pdf lilybook.lytex), here's what I get (I've redacted my > username from the temp file path): > > lilypond-book.py (GNU LilyPond) 2.18.0 > Reading lilybook.lytex... > Running `pdflatex' on file `c:\users\...\appdata\local\temp\tmpfvqw3p.tex' to > detect default page settings. > > 'TEXINPUTS' is not recognized as an internal or external command, > operable program or batch file. > lilypond-book.py: warning: Unable to auto-detect default settings: > > lilypond-book.py: warning: cannot detect textwidth from LaTeX > Dissecting... > lilypond-book.py: error: file not found: screech-and-boink.ly > > Traceback (most recent call last): > File "C:\Program Files\LilyPond\usr\bin\lilypond-book.py", line 776, in ? > main () > File "C:\Program Files\LilyPond\usr\bin\lilypond-book.py", line 759, in main > chunks = do_file (files[0]) > File "C:\Program Files\LilyPond\usr\bin\lilypond-book.py", line 611, in > do_fil > e > chunks = find_toplevel_snippets (source, global_options.formatter) > File "C:\Program Files\LilyPond\usr\bin\lilypond-book.py", line 362, in > find_t > oplevel_snippets > snip = klass (type, m, formatter, line_number, global_options) > File "out/book_snippets.py", line 815, in __init__ > File "out/book_base.py", line 27, in find_file > TypeError: 'str' object is not callable > > How do I get this to work?
That would seem to be commit aefc5a4057a0a61f1d7e4411cc1c5061d9aea6b7 Author: Julien Rioux <[email protected]> Date: Wed Jan 23 18:21:22 2013 -0500 lilypond-book: Textwidth detection with included file (issue 3136). Fix the automatic textwidth detection performed by lilypond-book. This failed for lytex files that include an external file in the preamble, when such file was compiled in an --output directory different from the working directory, because then the included file was missing. We use TEXINPUTS to let the latex process know where to look for input files. later "improved" by commit 39bf694ef4dedbb350960f7c37955c8fe9ce27e3 Author: David Kastrup <[email protected]> Date: Sat Jul 27 16:44:54 2013 +0200 Issue 3467: lilypond-book 2.17.21 and spaces in file path Versions 2.17.17 and 2.17.24, respectively. Instead one probably needs to manipulate the environment directly. No idea how sticky that is. Actually, it would appear that working with subprocess.Popen would be called for here. The respective coode seems to be: progress (_ ("Running `%s' on file `%s' to detect default page settings.\n") % (global_options.latex_program, tmpfile)) cmd = 'TEXINPUTS="%s:$TEXINPUTS" %s %s' \ % (global_options.input_dir, global_options.latex_program, tmpfile) debug ("Executing: %s\n" % cmd) run_env = os.environ.copy() run_env['LC_ALL'] = 'C' ### unknown why this is necessary universal_newlines = True if sys.platform == 'mingw32': universal_newlines = False ### use os.system to avoid weird sleep() problems on ### GUB's python 2.4.2 on mingw # make file to write to output_dir = tempfile.mkdtemp() output_filename = os.path.join(output_dir, 'output.txt') # call command cmd += " > %s" % output_filename returncode = os.system(cmd) parameter_string = open(output_filename).read() if returncode != 0: warning (_ ("Unable to auto-detect default settings:\n")) # clean up os.remove(output_filename) os.rmdir(output_dir) else: proc = subprocess.Popen (cmd, env=run_env, universal_newlines=universal_newlines, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) (parameter_string, error_string) = proc.communicate () if proc.returncode != 0: warning (_ ("Unable to auto-detect default settings:\n%s") % error_string) And normally one should be able to do the TEXINPUTS manipulation just like done with LC_ALL. However, that would require looking at what goes wrong with mingw32 here. I have no idea what the current GUB version of Python is. -- David Kastrup _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
