lilypond LaTeX 集成

lilypond LaTeX 集成

我习惯使用 LaTex 和 lilypond,但我正在做一个需要在 latex 中插入音乐摘录的项目,而我很难将 latex 和 lilypond 整合起来。我可以用其中任何一个来生成 pdf 文件,但 lilypond 的命令提示符不允许我输入任何命令。有什么建议吗?

答案1

您的问题没有太多描述您尝试过的方法或您的系统,所以我只能猜测。但根据我自己参与使用 lilypond 预编译 latex 文档的项目的经验,我可以推荐以下方法:

首先:

MainDev.lytex

\documentclass{article}

\usepackage{import}
\usepackage{graphics}

\begin{document}

\section{LilyPond Code integrated}

Test content

\begin{lilypond}
    \relative c' {
        c2 e2 \tuplet 3/2 { f8 a b } a2 e4 c2 e2 \tuplet 3/2 { f8 a b } a2 e4 c2 e2
        \tuplet 3/2 { f8 a b } a2 e4 c2 e2 \tuplet 3/2 { f8 a b } a2 e4 c2 e2 \tuplet
        3/2 { f8 a b } a2 e4 c2 e2 \tuplet 3/2 { f8 a b } a2 e4 c2 e2 \tuplet 3/2 { f8
        a b } a2 e4 }
\end{lilypond}

End of document

\end{document}

编译:

  1. 我将此文件放在你的项目的根目录中
  2. 根级别还包含一个名为“LilyPondPrecompile”的文件夹
  3. 根级别还包含一个名为“src”的文件夹 - 我建议将除主文件之外的所有文件都放在这里。
  4. 在运行 MiKTeX 的 Windows 7 上,您可以创建一个 bat 文件,使用以下命令预编译您的文档:

    FOR %%A IN (*.lytex) DO ^
    (ECHO %%~nxA & "lilypond-book" --pdf -f LaTeX ^
                                   --include "src" ^
                                   --output "LilyPondPrecompile" "%%~nxA")
    
  5. 然后在新创建的文件夹“LilyPondPrecompile”中编译根 tex 文件(注意 - 可能需要定期清除此文件夹,因为 lilypond 似乎是设计用于更新文件,而不是默认覆盖。)

  6. 使用常规方法来编译您的 tex 文件。

解释性说明:上述结构和命令行示例源自我的实践,即在根目录中为给定文档存储不超过 1 个主可编译文件,以便可以同时编译任何文档集合,而不会因未被识别为独立可编译文件的子文件而产生错误。

答案2

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

相关内容