将 LaTeX 与 Lilypond 集成

将 LaTeX 与 Lilypond 集成

我正在努力让工作流程概述整合 LaTeX 与 Lilypond 在文本文档中嵌入音乐工作,特别是自定义 TexStudio(我正在使用 v. 2.12.16)构建命令

"C:/Program Files (x86)/LilyPond/usr/bin/lilypond-book.py" -- pdf %.lytex | txs:///pdflatex | txs:///view-pdf-internal

虽然使用命令行也可以实现同样的效果,但在 TexStudio 上会出现错误

Error: Could not start the command: "C:/Program Files (x86)/LilyPond/usr/bin/lilypond-book.py" -- pdf "example".lytex

并输出通用(lorem ipsum)PDF。我的 Windows(10;1809)PATH 设置为C:/Program Files (x86)/LilyPond/usr/bin。有什么建议吗?

答案1

这里涉及多个问题。我注意到其中一些问题你似乎已经考虑到了。我将*那些与你不同的问题

*) 避免将测试文件命名为 example.lytex 在我的系统上,而是调用其他 TeX 系统文件!(请注意,“example”.lytex 理想情况下应为“example.lytex”)

TeXstudio 在显示外部命令无法正常工作的原因方面帮助不大。请确保尽可能包含更详细的 .log 文件输出。

我遇到的问题可能反映了您的步骤。

链接的指南并未反映当前 Windows 下载 (lilypond-2.18.2-1.mingw.exe) 的真实安装,该下载应安装到旧文件夹“C:\Program Files (x86)”。您似乎已允许这样做。

请注意,指南会说“C:\Program Files\Lilypond\usr\bin”,在我们的两种情况下都是“C:\Program Files (x86)\Lilypond\usr\bin”。

*)基本测试现在,在命令提示符下>where $path:lilypond应确认 lilypond.exe 位于正确的 bin 目录中。还需要确认 python 是默认的 py 处理程序。在命令行提示符下,两个where /r c:\ python&where $path:python都应以相同的位置回复。如果每个请求都得到多于或少于一个,则可能存在冲突,从而混淆 lilypond/TeXstudio(如果一切正常,则重新启动并重新测试,它们必须从启动到启动都保持一致。)

Windows(尤其是较新的版本)首次通过扩展名运行文件可能会比较棘手,因此调用文件 run-me.py 需要默认设置 py 文件处理程序,并且扩展名通常必须是命令的一部分。因此在这个阶段我需要...

“C:\Program Files (x86)\Lilypond\usr\bin\lilypond-book.py”,配置指南称需要立即使用 pdfLaTeX 选项--pdf %.lytex。(这似乎是您当前的设置)。

我再次发现我的使用不是自动的,在运行 pdfLaTeX 之前需要两次完整的外部运行。因此,我会先运行 lilypond-book.py 两次,然后再运行 pdfLaTeX。

*) 综上所述,我发现最好有一个简单的用户输入来手动运行两次(稍后可以将其融合成更复杂的组合),最后我决定

cmd /c "C:/Program Files (x86)/Lilypond/usr/bin/lilypond-book.py" --pdf  "?am.lytex"

*) 结合该命令,TXS 将需要查找其他 lilypond 支持文件,您已经将 bin 文件夹(在我们的例子中为“C:/Program Files (x86)/Lilypond/usr/bin/”)添加到系统路径设置中。但为了双重保证,您可以将其添加到 TeXstudio 命令 ($PATH) 中

在此处输入图片描述

答案2

以供参考,这是另一种方法lyluatex

相关内容