我刚刚学会使用musixtex
及其预处理器pmx
,并试图为少数人排版和打印一首小晚歌。
由于它在 A4 纸上可以轻松容纳两首,因此我希望在 A4 纸上也打印两首,以免浪费太多纸张。但是,我不知道如何让它们pmx
或musixtex
它们本身在同一文档中打印两首乐曲。我确信这应该很容易实现,因为 Rainer Dunker 在他的 2.1c 文档中专门讨论了处理歌词第 3.10.1 节时使用此技术出现的问题musixlyr
,并且显然理所当然地认为人们可以自己实现它,因为他没有给出示例。
我更希望pmx
文件中已有的解决方案,因为我计划稍后对文件进行微小修改,并且不想.tex
一遍又一遍地编辑文件(无论如何,我认为每个输出文件只有一个输入过程更加优雅)。
我的工作示例(它不是完全最小的,但相当容易监督 - 因此我认为它没问题)是以下.pmx
文件:
% nstaves
1
% ninstr
1
% mtrnuml
4
% mtrdenl
4
% mtrnump
0
% mtrdenp
6
% npickup
0
% nkeys
-1
% npages
0
% nsystems
3
% musicsize
20
% frackindent
0
% Names of (n) instruments:
%Clefs
t
%where to write Output (SaabundOn.tex)?
./
%%%%% BODY
% Title
Tt
Saabund on j\"{a}lle \"{o}\"{o}
%% Print bar numbers?
\\nobarnumbers\
%% Vertical Spacing between systems and ensuring to use A4 paper
Ac4e
%%%%Beginn of music input
% Text (first line)
"Saa-bund on j\"{a}-lle \"{o}\"{o}, mis mei-le t\"{a}h-te-de vaik-set ra-hu toob."
% Bar 1
f24 f4 f4 /
% Bar 2
g4d4 a8 f4 oc f4 /
% Bar 3
b4d4 c8 a4 f8 a8 /
% Bar 4
a84 g8 f8 e8 f2 oc /
% Text (second line)
"L\~{o}pp-e-nud p\"{a}ev-a-t\"{o}\"{o} ja puh-ke-aeg ta-sa v\"{a}rs-keid j\~{o}u-de koob."
% Bar 5
a24 a4 a4 /
% Bar 6
b4d4 c8 a4 oc a4 /
% Bar 7
g4d4 a8 f4 oc a8 c8 /
% Bar 8
c85 b8 a8 g8 a2 oc /
% Text (third line)
"Kuu, s\"{a}-rav kuu, h\~{o}-be-da-ne kuu uj-ub o-ma val-gus-voos."
% Bar 9
c25 a44 f4 /
% Bar 10
c24 oc f84 c85 a8 f8 /
% Bar 11
c24 oc f8 e8 d8 c8 /
% Bar 12
b43 c4 f2 /
%There has to be a line break after the last bar, otherwise the bar won't appear in the score.
答案1
答案2
Andre van Ryckeghem 给了我一个纯 PMX 解决方案musixtex 及相关软件邮件列表,使用内联 TeX 定义宏以在同一个 PMX 文档中开始另一段音乐。
以下类型 4 内联 TeX 命令到 PMX(参考术语PMX 手册)定义宏:
---
\input musixtex
\makeatletter
\def\Song#1#2#3{%
\zcharnote{10}{%
\getcurpos\kern-\y@v\kern-\sign@skip\kern-\clef@skip\hskip-1\parindent
\raise #1\internote\hbox to \hsize{\hss {\BIgtype #2}\hss #3}}}%
\makeatother
---
因此,\Song{x}{y}{z}
必须在歌曲的第一个输入块中使用,歌曲的标题由它定义。它需要三个参数:x 是一个数字,表示\internote
标题位于第一个谱号上方多少(多少距离)。y 是标题。z 是作曲家的名字。
\BIgtype
,或者小一点的\bigfont
,是标题的字体大小(MusiXTeX 命令)。从这个定义中我不明白更多。
如果我们在页面上打印两篇文章,页面就会满满的,这会稍微改变布局。为了获得与用户 egreg 建议的视觉上非常令人满意的解决方案几乎相同的输出,我们必须稍微调整页面的顶部和底部边距,并缩小标题和第一个五线谱之间的垂直空间。对于所有这三个问题,我在“更改 PMX 中的页面布局”文档位于 Werner Icking 音乐档案的技巧和窍门部分。
我仍然更喜欢另一种解决方案,因为如果您将页面切成两部分(如指定的那样),那么边距将更加相等。我相信这可以通过 PMX 的 AI 选项在此解决方案中实现,但目前我对此解决方案本身很满意。
整个.pmx
文件如下所示:
---
\input musixtex
\makeatletter
\def\Song#1#2#3{%
\zcharnote{10}{%
\getcurpos\kern-\y@v\kern-\sign@skip\kern-\clef@skip\hskip-1\parindent
\raise #1\internote\hbox to \hsize{\hss {\BIgtype #2}\hss #3}}}%
\makeatother
---
% nstaves
1
% ninstr
1
% mtrnuml
4
% mtrdenl
4
% mtrnump
0
% mtrdenp
6
% npickup
0
% nkeys
-1
% npages
1
% nsystems
8
% musicsize
20
% frackindent
0
% names of (n) instruments:
% Clefs
t
% where to write the output?
./
%%%%% BODY
%% Title
%commented out, since it is easier to add a title with in-line TeX, if one wants to shrink the space between the title and the first staff, compare below
%Tt
%Saabund on j\"{a}lle \"{o}\"{o}
%% Global PMX intrinsic options
Ac4e
%% Other global options (provided via in-line TeX)
%Get following "centerline" (title) 2pt up on the page (here using the command surprisingly lowers the title, otherwise it would have been voffset=18pt or something)
\\voffset=-2pt\
%The title nicely centered and with same fontsize and -type as with Tt
\\centerline{\BIgtype{Saabund on j\"{a}lle \"{o}\"{o}}}\
%shrink the vertical space between title and first staff by 3 Interlignes
\\vskip-3\Interligne\
%Don't print bar numbers at beginning of system
\\nobarnumbers\
%Add space on the bottom of all pages
\\let\ejectsav\eject\
\\def\eject{\vskip+7\Interligne\ejectsav}\
%% Song
% Text (first line)
"Saa-bund on j\"{a}-lle \"{o}\"{o}, mis mei-le t\"{a}h-te-de vaik-set ra-hu toob."
\lyrraise{1}{b-20pt}\
% Bar 1
f24 f4 f4 /
% Bar 2
g4d4 a8 f4 oc f4 /
% Bar 3
b4d4 c8 a4 f8 a8 /
% Bar 4
[ a84 g8 ] [ f8 e8 ] f2 oc /
% Text (second line)
"L\~{o}pp-e-nud p\"{a}ev-a-t\"{o}\"{o} ja puh-ke-aeg ta-sa v\"{a}rs-keid j\~{o}u-de koob."
% Bar 5
a24 a4 a4 /
% Bar 6
b4d4 c8 a4 oc a4 /
% Bar 7
g4d4 a8 f4 oc a8 c8 /
% Bar 8
[ c85 b8 ] [ a8 g8 ] a2 oc /
% Text (third line)
"Kuu, s\"{a}-rav kuu, h\~{o}-be-da-ne kuu uj-ub o-ma val-gus-voos."
% Bar 9
c25 a44 f4 /
% Bar 10
c24 oc f84 c85 a8 f8 /
% Bar 11
c24 oc [ f8 e8 ] [ d8 c8 ] /
% Bar 12
b43 c4 f2 /
%% Second song
% Force a line break at line 5, with a movement break of 16 \internote's vertical space
L5M+16
% Giving the meter of the new piece with a "meter change":
m4406
% Naming the title
\\\def\titel{Saabund on j\"{a}lle \"{o}\"{o}}\
% Text (first line)
"Saa-bund on j\"{a}-lle \"{o}\"{o}, mis mei-le t\"{a}h-te-de vaik-set ra-hu toob."
% Bar 1
f24 f4 f4 /
% Applying the above defined macro "Song" at the beginning of the first input block
\Song{12}{\titel}{\lower2\Interligne\llap{}}\
% Bar 2
g4d4 a8 f4 oc f4 /
% Bar 3
b4d4 c8 a4 f8 a8 /
% Bar 4
[ a84 g8 ] [ f8 e8 ] f2 oc /
% Text (second line)
"L\~{o}pp-e-nud p\"{a}ev-a-t\"{o}\"{o} ja puh-ke-aeg ta-sa v\"{a}rs-keid j\~{o}u-de koob."
% Bar 5
a24 a4 a4 /
% Bar 6
b4d4 c8 a4 oc a4 /
% Bar 7
g4d4 a8 f4 oc a8 c8 /
% Bar 8
[ c85 b8 ] [ a8 g8 ] a2 oc /
% Text (third line)
"Kuu, s\"{a}-rav kuu, h\~{o}-be-da-ne kuu uj-ub o-ma val-gus-voos."
% Bar 9
c25 a44 f4 /
% Bar 10
c24 oc f84 c85 a8 f8 /
% Bar 11
c24 oc [ f8 e8 ] [ d8 c8 ] /
% Bar 12
b43 c4 f2 /