个人使用的lilypond第一个模板
手残非要用lilypond打谱真是……
可是lilypond又能满足各种细节标记和谱文混排,这是musescore达不到的
所以还是开这个坑,希望能逐渐自己有能力编写自己的音乐教材
个人用Frescobaldi作为lilypond的编辑器,本来想在VS code上直接编辑的,但是前后设置下来还是有好多小毛病没弄好,只好继续用这个了
这个blog并不是lilypond教程的翻译,而是从我个人的使用出发,记录一些心得或者是一些模板。
因为实在手残,十分希望大佬指点。望不吝赐教
这是最简单的一个模板,包括了文章和乐谱的混排,还有单行乐谱与钢琴谱的例子,段落和字体设置都是默认。
效果如图,用的是a6的大小,因为这样手机上看会更方便些,打印出来也更方便教学……

代码和说明如下:
\version "2.18.2"
\paper {
#(set-paper-size "a6") %设置纸张大小,这里为a6
}
%这里是设置标题等信息
\header {
title = "我是标题" %标题
composer = "我是作者" %作者
tagline = ##f %去掉默认的页脚
} \markup {
我是文字 %段落
} \markuplist {
\wordwrap-lines{
我是长文字,我是长文字,我是长文字, 我是长文字,我是长文字,我是长文字,我是长文字,我是长文字,
} %汉字似乎无法分段
\wordwrap-lines{
The art of music typography is called \italic {(plate) engraving.}The term derives from the traditional process of music printing.
Just a few decades ago,
} %英语分段没问题
} %下面是乐谱写作
%单行乐谱
\score {
\relative c'{ %设定参考音高为小字一组c
\clef "treble" %谱号为高音谱号
\time 2/4 %拍号
\key c \major %调号
c4 c|
g' g |
a a |g2 |
\bar "|." %结束
}
\layout {
indent = 0 %取消首行缩进
}
}
%没有小节线、没有拍号、带音名的乐谱
\score {
<<
\new Staff {
\relative c'{
c1 d e f g a b c
}
}
\new Lyrics {
\lyricmode {
C D E F G A B C
}
}
>>
\layout {
indent = 0cm
\context {
\Staff
\remove "Time_signature_engraver"%取消拍号
\remove "Bar_engraver" %取消小节线
}
}
}
\markup {下面是钢琴谱}
%钢琴谱
%右手分谱
pianoRH = \relative c'{
\clef "treble"
\time 2/4
\key c \major
c4 c |
g' g |
\break %换行
a a |
g2 |
\bar "|."
} %左手分谱
pianoLH = \relative c { %设定参考音高为小字组c
\clef "bass" %谱号为低音谱号
\time 2/4
\key c \major
c4 c |
g' g |
a a |
g2 |
\bar "|."
} %完成左手分谱 %组装成钢琴谱
\score {
\new PianoStaff <<
\new Staff {
\pianoRH %右手分谱
}
\new Staff {
\pianoLH %左手分谱
}
>>
\layout{
indent=0cm
}
}
现在有几个问题:
1. 汉字无法自动换行,试了包括wordwrap、justified-lines、line等等命令都没有办法,不知道如何操作;
2. 文字排版无力,行距、页边距调整无力
只能是最初步的使用,做一做基础的谱例和说明还可以,还要进一步学习
个人使用的lilypond第一个模板的更多相关文章
- django之创建第3个项目:编写第一个模板文件
1.django结构 2.在站点blog下创建templates文件夹,专门用于存放模板文件 3.在templates文件夹下创建index.html文件 #index.html <!DOCTY ...
- djando模板----第一django模板应用
Django模板 我们已经知道,模板函数的函数的返回值就是返回给客户端的数据,但如果返回数据很复杂,如果一个非常大的html页面,直接将页面代码固化在python脚本文件中是不合适的,当然 也可以将h ...
- Django 1.10中文文档-第一个应用Part3-视图和模板
本教程上接Django 1.10中文文档-第一个应用Part2-模型和管理站点.我们将继续开发网页投票这个应用,主要讲如何创建一个对用户开放的界面. 概览 视图是Django应用中的一“类”网页,它通 ...
- Javascript最简单的模板引擎
非常简单,性能估计一般,方法最原始. //第一代模板引擎 //只支持{{key}}的替换,不支持语句 //支持Object和Array对象 function template_setdata(temp ...
- wpf 获取datagrid中模板中控件
//获取name为datagrid中第三列第一行模板的控件 FrameworkElement item = dataGrid.Columns[].GetCellContent(dataGrid.Ite ...
- C++模板元编程(C++ template metaprogramming)
实验平台:Win7,VS2013 Community,GCC 4.8.3(在线版) 所谓元编程就是编写直接生成或操纵程序的程序,C++ 模板给 C++ 语言提供了元编程的能力,模板使 C++ 编程变得 ...
- 模板(Template)
最近阅读google chromium base container stack_container代码,深刻感觉到基础知识不扎实. // Casts the buffer in its right ...
- C++ 模板与泛型编程
<C++ Primer 4th>读书笔记 所谓泛型编程就是以独立于任何特定类型的方式编写代码.泛型编程与面向对象编程一样,都依赖于某种形式的多态性. 面向对象编程中的多态性在运行时应用于存 ...
- python django 模板
1 用两个大括号括起来的文字{{person_name}} 称为变量 2 被 大括号和面分号包围的文件({% if ordered_warranty %})是模板标签 3 过滤器是用管道符(|) 和U ...
随机推荐
- Docker镜像和容器管理(二)
Docker安装 Docker镜像管理 https://hub.docker.com/ 是公共的一个Docker镜像仓库,类似GitHub一样,上面有非常多的开源项目镜像. 可以直接在命令行搜索镜像 ...
- header 无法实现跳转
错误:Warning: Cannot modify header information - headers already sent by (output started at 方法:“php.in ...
- jmeter分析性能报告时的误区
概述 我们用jmeter做性能测试,必然需要学会分析测试报告.但是初学者常常因为对概念的不清晰,最后被测试报告带到沟里去. 常见的误区 分析响应时间全用平均值 响应时间不和吞吐量挂钩 响应时间和吞吐量 ...
- Java学习笔记之---入门
Java学习笔记之---入门 一. 为什么要在众多的编程语言中选择Java? java是一种纯面向对象的编程语言 java学习起来比较简单,适合初学者使用 java可以跨平台,即在Windows操作系 ...
- 使用Mysql执行SQL语句基础操作
SQL: 又叫结构化语言,是一种用来操作RDBMS的数据库语言,在关系型数据库中都支持使用SQL语句,如oracle.mysql等等. 注意: 在关系型数据库中sql语句是通用的,而在非关系型数据库 ...
- Spring Cloud Alibaba | Nacos配置管理
目录 Spring Cloud Alibaba | Nacos配置管理 1. pom.xml 项目依赖 2. 在 bootstrap.properties 中配置 Nacos server 的地址和应 ...
- JAVA包装类解析和面试陷阱分析
包装类 什么是包装类 虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性.没有方法可调用. 沿用它们只是为了迎 ...
- 完全平方数(C语言实现)
一.题目 一个整数,它加上100后是一个完全平方数请问该数是多少? 二.程序分析 1.题目中没有限定这个整数的范围,因此,可以在代码中#define scope 10000,即使用scope变量定义一 ...
- 【AI】Android Pie中引入的AI功能
前言 “无AI,不未来”,绝对不是一句豪情壮语,AI早已进入到了我们生活当中.去年Google发布的Android Pie系统在AI功能方面就做了重大革新,本文就对Google在新系统中引入的AI功能 ...
- 【bfs】密码锁-C++
Description 现在一个紧急的任务是打开一个密码锁.密码由四位数字组成,每个数字从 1 到 9 进行编号.每次可以对任何数字加 1 或减 1.当将9加 1 时,数字将变为1,当1减 1 的时, ...