据我所知,LilyPond 是迄今为止最好的 tex 类音乐排版软件。其他基于 tex 的替代品,如 musixtex 或 abc,看起来并不专业。我想要一个工作流程,让我可以编写一个 TeX(可能是 LaTeX)文档,其中包含 lilypond 记谱的音乐示例,就像数学家包括数学方程一样。将音乐摘录视为与文档分离的图形,就像告诉数学家将方程式视为图形一样,让人回想起黑暗时代。
我原来的问题:我知道 tex-first 方法中的 lyluatex 和 lilypond-book。截至 2023 年,我发现 LyLuaTeX 与 MiKTeX 不兼容。在尝试使用 texlive 后,我让它工作了**,但它有两个发行版,很烦人。此外,由于我在尝试让它工作时遇到了许多错误,我对它的稳健性有点怀疑(但也许它会证明我错了)。因此我的问题是:
- 除了 LyLuaTeX 之外,还有其他选择可以提供这种集成吗?
(之前已经问过这个问题,但现在已经是 2022 年了,所以情况可能已经发生了变化)
更新:在对 TeX 更加熟练之后,我完全同意 David Carslisle 的评论,即 TeX live 完全没有问题。我太草率地驳回了它。其次,请参阅下面的 LyLuaTeX 作者的回答,其中声称 MiKTeX 兼容性已得到修复。因此 LyLuaTeX 可能是最好的 TeX-first 方法。我还发现 lilypond-book 工作得相对不错。但是,如果有任何新的解决方案,请在此处发布!
** 我收到一个 rawget 错误 - 某个函数需要一个表作为参数。通过完全删除 lyluatex.lua 上的第 814 行,可以绕过此错误,然后 lyluatex 似乎可以正常工作。这似乎是 MiKTeX 和 LyLuaTeX 之间的某种冲突,这两者都目前安装在我的系统上。
答案1
对于少量的音乐符号,您可以使用我的musicography
LaTeX 包;对于更广泛的范围,如果您不需要pdflatex
,那么也有lilyglyphs
。
如果您有完整的音乐示例,我会将 Lilypond 视为任何其他可生成图像以包含在 LaTeX 中的图形程序。在 Lilypond(或 Dorico 或 Finale)中制作所有示例,然后将它们导出到 PDF 或图像文件目录中,然后只需\includegraphics
带上图像即可。您可以使用该pdfcrop
工具修剪要包含的图像周围的边距。
特别是如果你是 Lilypond 的新手,其“集成解决方案”(lyluatex
、lilypond-book
)可能会给你带来比需要的更多的麻烦。
例如,您有一个需要包含在文档中的音乐示例。
音乐示例源文件:music-examples/example1.ly
\version "2.22"
\header { tagline = ##f }
{ c'4 d'4 e'2 }
文档:document.tex
\documentclass{article}
\usepackage{graphicx}
\NewDocumentCommand{\includeMusic}{ m }{\includegraphics{build/img/#1}}
\begin{document}
Here is some music:
\includeMusic{example1}
\end{document}
现在您需要一个 Makefile 来首先创建和裁剪图形,然后运行包含图形的 LaTeX。
Makefile
dirs = aux build build/img
tex_in = $(wildcard *.tex)
pdf_out = $(addprefix build/,$(tex_in:%.tex=%.pdf))
ly_in = $(wildcard music-examples/*.ly)
ly_img = $(addprefix aux/,$(notdir $(ly_in:%.ly=%.pdf)))
img_out = $(addprefix build/img/,$(notdir $(ly_img)))
.PHONY : all clean
all : $(pdf_out) $(img_out)
build/%.pdf : aux/%.pdf
cp $< $@
aux/%.pdf : %.tex $(img_out) | $(dirs)
latexmk -outdir=aux -pdf $<
build/img/%.pdf : aux/%.pdf
pdfcrop $< $@
aux/%.pdf : music-examples/%.ly | $(dirs)
lilypond --output=aux/ $<
$(dirs) :
mkdir -p $(dirs)
clean :
rm -rf $(dirs)
如果您需要配置 Lilypond 输出以更好地适合您的 LaTeX 文档(例如,设置最佳文本宽度、缩进和边距,使用相同的字体),您可以将其放在 Lilypond 文件中(例如example.ly
)并添加\include "example.ly"
到您的所有 Lilypond 示例文件中。
要编译你的文档,只需输入make
。输出将在build
目录中。
答案2
答案3
看看这里有没有关于“如何在科学文献中将音乐示例与开源工具相结合”的类似英文文档?。
所引用的文档是用德语写的,这可能不太好。但是,作者扫描、尝试并评估了 2020 年可用的所有与音乐相关的 LaTeX 软件包。例如,请参见第 91 页的“流程图”,它很好地展示了可行性。
就作者的目的而言,为了协助音乐学,他显然倾向于Lilipond
流动。
如果你只是排版,我发现musixtex
它并不难理解和应用。我一直通过 pdflatex (MikTeX) 运行它。
欲了解更多示例,你可能需要查看https://tex.stackexchange.com/search?q=musixtex或最近对 musixtex 的强力使用https://tex.stackexchange.com/search?q=user%3A285170