谱文混排之lilypond-book
Lilypond有自带的谱文混排的工具lilypond-book,但是作为外行,一直很难搞清楚这个操作是怎样做的。很久之前请教过别人,但介于我的个人能力,只有粗浅理解,操作不得要领。在许多信息的拼凑之后,终于掌握了lilypond-book的基本使用方法。虽然这个方法极度不方便,但也算对lilypond的了解多了一分,所以还是做了记录
-----------------------------------------------
lilypond-book的说明文档可以见
LilyPond Application Usage: 3. Running lilypond-book
里面全是英文,看着也晕了好久。工作原理大概是建立 lytex 文件-----> (经过lilypond-book的运行)建立 tex 文件-----> 由tex里的pdflatex指令编译成pdf文件
这个流程真的太劝退了……先不管这个,以下几个部件是必备的:
1 必备部件
1. lilypond本体,来自 LilyPond – 人人的乐谱软件: 下载
2. lilypond-book是python文件,所以最好装一个python;
3. tex的运行组件,我个人下载的是texlive,来自 Index of /CTAN/systems/texlive/Images/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
有了这三项之后,开始部署:
2 部署
2.1 编辑系统环境变量
因为lilypond-book要在命令行模式下执行,而命令行模式默认的指令是不包括它的,所以需要先把lilypond-book设置到环境变量里
我知道对于没用过命令行的人来说这个表述看着就想死……直接讲设置方法吧。在开始菜单的空白处输入“编辑系统环境变量”
进入之后,按下图的顺序,跟着红色箭头走:
1. 进入“环境变量”
2. 点击Path,选择“编辑”
3. 编辑页面里选择“新建”
这时候就是要把lilypond的执行文件的所在文件夹的地址输进去。在lilypond的快捷方式那里点鼠标右键,选择“属性”,按红色箭头点开,这就是文件所在的文件夹。
注意:打开的文件夹先别关掉,一会儿要用
点击红色箭头所在位置,就得到文件夹的地址
把它复制到之前的“编辑环境变量”里,点“确定”就可以了
2.2 修改lilypond-book文件名
是的,lilypond-book 需要修改文件名……回到刚才的文件夹,右键 lilypond-book 这个文件,重命名为 lilypond-book.py
‘
接下来就是输入与编译
3 输入与编译
3.1 创建 lytex 文件
首先打开编辑器,这个就不用介绍了。输入lilypond官方提供的示例文件,来自 LilyPond Application Usage: 3.6 lilypond-book templates
下面是代码
\documentclass[]{article}
\begin{document}
Normal LaTeX text.
\begin{lilypond}
\relative {
a'4 b c d
}
\end{lilypond}
More LaTeX text, and options in square brackets.
\begin{lilypond}[fragment,relative=2,quote,staffsize=26,verbatim]
d4 c b a
\end{lilypond}
\end{document}
然后保存为 lilypond-book.lytex,保存地址最好要是英文地址,记得打开所在文件夹!
3.2 启动 lilypond-book 编译
不要退出这个文件夹,在空白处按住shift键,点右键会看到“在此处打开Powershell窗口”的字样,点开它就到了对应目录下的命令行窗口
接下来的操作就和lilypond官方教程里的一致了,参考下面地址的Processing一节
LilyPond Application Usage: 3.1 An example of a musicological document
进入文抄公时间:
3.2.1 编译tex文件
lilypond-book --output=out --pdf lilybook.lytex
然后就会弹出一坨执行的文字……执行后就发现原来的文件夹里多了一个叫out的文件夹,这是因为刚才输入的指令里,已经把输出的文件夹设置在了out这个文件夹里。
点开out这个文件夹,就能看到lilybook.tex已经生成完毕。这样就完成了从 lytex 到 tex 的转换。
3.2.2 编译pdf文件
现在进入out文件夹,在空白处再次施展shift+右键,启动这个文件夹下的Powershell窗口,输入
pdflatex lilybook
又是一坨文字之后,就可以看到文件夹里多了一堆文字,其中就包括了期待已久的lilybook.pdf!
点开之后就可以看到编译的结果
谱文混排的工序到此告一段落。
4 总结
1. 整个lilypond-book的配置中有若干对新手极不友好的操作,例如设置环境变量、在窗口下开启Powershell,还有命令行的输入。
除了设置环境变量外,每次生成一个lytex都要把步骤3成套重新操作一次,也是醉了,不知道有没有什么办法把这个操作集成起来。
2. 在3.2.2 中,编译pdf文件的代码时pdflatex,这就说明lytex依赖pdflatex这个编码器。而latex的编码器那么多,其他编码器是不是够用就不清楚了,还有待测试
3. 目前知道Latex里面也有集成lilypond代码一起编译pdf文件的宏包,叫 lyluatex,详见 CTAN: Package lyluatex 。但lyluatex的编译到现在我都还没实现……还是希望能直接在latex内部完成编译更好一点
4. 此路目前死路一条,谱文混排摸索未完待续……