LilyPond教程(13)——页面设置

制作乐谱,很多时候毕竟是为了能印刷出来。学习页面设置是必要的,本篇将解决LilyPond的页面设置问题。

本篇的学习要点有:

  • 如何设置页面大小页边距页码
  • 如何合理安排谱表的音符疏密,如何强制换行

1 页面设置模块 \paper {...}

LilyPond的页面设置都是在\paper {...}中完成的,它是一个与\header {...}\score {...}同级的指令。即是说,它与\score {...}并列,但不能含在\score {...}里面。
一般完整的带页面设置的LilyPond代码模板如下:

\version "2.20.0"
\language english

\header {
	... %标题设置
}
\paper {
	... %页面设置
}
... %自定义乐谱/歌词部分
\score {
	... %乐谱部分
}

事实上,\paper {...}\score {...}\header {...}可以随意调换顺序,所以才说他们是“同级的指令”。不过个人建议\score {...}放在最后,这比较符合从全局到细节的思维方式。

页面设置模块\paper {...}主要负责如下功能:

  • 页面大小设置
  • 页边距设置
  • 页眉、页脚、页码和标题格式设置

2 页面设置

下面的示例提供了本篇中提到的语句或属性

...
\paper {
	paper-height = 297\mm	%页面高度
	paper-width = 210\mm	%页面宽度
	% #(set-paper-size "a4")		%设置纸张大小
	top-margin = 10\mm	%上边距
	bottom-margin = 10\mm	%下边距
	left-margin = 10\mm	%左边距
	right-margin = 10\mm	%右边距
	% two-sided = ##t	%双面打印模式
	% inner-margin = 20\mm	%内边距
	% outer-margin = 10\mm	%外边距
	% print-page-number = ##f %关闭页码
	print-first-page-number = ##t %打开第一页页码
	page-number-type = “arabic” %页码格式
	first-page-number = 11 %设置第一页页码
}
...

2.1 页面大小

LilyPond的默认页面大小是A4,如果需要其他大小,使用指令#(set-paper-size "大小"),它必须放在\paper {...}中。下面是几点要注意的:

  • 页面大小用字符串表示,如"a3""b4" 。LilyPond可以识别的纸张大小有这些
  • LilyPond如果需要改变纸张方向,在字符串后加landscape,如"a3landscape","letterlandscape"等。LilyPond默认的纸张方向是纵向

如需其他自定义页面大小,使用paper-height(页面高度)和paper-width(页面宽度)属性。可用的长度单位有\mm(毫米)、\cm(厘米)、\pt(像素)和\in(英寸)。比如,将页面高度设置为210mm,应写指令paper-height = 210\mm

2.2 页边距

LilyPond可以自由地控制四个方向的边距。所用到的属性分别为:

  • 上边距top-margin(默认5mm)
  • 下边距bottom-margin(默认6mm)
  • 左边距left-margin(默认10mm)
  • 右边距right-margin(默认10mm)

如果准备双面打印,设置统一的左右边距有时不能满足需要(比如设置左边距10mm,右边距20mm,双面打印就会出问题)。LilyPond同样提供了解决方案。
首先,使用下面语句打开双面打印开关:two-sided = ##t
便可使用下列属性设置边距:

  • 内边距inner-margin(默认10mm)
  • 外边距outer-margin(默认20mm)

即是说,如果只设置为双面打印,奇数页的左边距设置为10mm,右边距设置为20mm;偶数页的左边距设置为20mm,左边距设置为10mm。如此一来,装订起来之后,“里面”的空间就统一设置为10mm,"外面"的空间就统一设置为20mm。

2.3 页码

LilyPond支持多种形式的页码设置,下面的属性跟页码设置有关:

  • print-page-number:若设置为##f,则关闭页码显示。这一属性默认为##t,即默认显示页码。
  • print-first-page-number:若设置为##t,则第一页也显示页码。这一属性默认为##f,即默认不显示第一页页码。
  • page-number-type:设置页码格式,支持"roman-lower"(小写罗马数字)、"roman-upper"(大写罗马数字)和"arabic"(阿拉伯数字)。页码默认为阿拉伯数字。
  • first-page-number:设置第一页的页码,有时候我们需要第一页的页码从某一页开始,此时就需要用到这个属性。如first-page-number = 11表示乐谱的页码从第11页开始。

3 音符疏密设置与强制换行

3.1 音符疏密设置

有时候乐谱上的音符疏密安排不尽如人意,我们可以在\layout {...}中设定如下参数:

...
\score {
	\layout {
    	\context {
      	\Score proportionalNotationDuration = #(ly:make-moment 1/8)
    	}
  	}
  	...
}

我们只关注上面的一个分数1/8这个分数的分母越大,LilyPond会把音符安排得疏一些。如果你觉得当前音符安排得过密,可以设置为1/14
它不是一种简单的缩放,而跟比例记谱法有关,在此我暂时不详细介绍其工作原理。

3.2 强制换行

有时候LilyPond安排的换行不太理想,这时使用\break可以强制换行,它在旋律片段中使用。观察下面示例:

\relative c' {
  c4 c c c | c c c c | \break
  c4 c c c | c4 c c c |
}

得到的乐谱如下:
在这里插入图片描述
如果没有\break,上面的示例应当用一行就能显示。

下篇将会关注LilyPond的和弦代号标记。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值