我怎样才能让 MusixTeX/BagpipeTeX 下的小节排列整齐?

我怎样才能让 MusixTeX/BagpipeTeX 下的小节排列整齐?

我有一份五线谱,横跨四行,也就是说,只有一种乐器。每行有四个小节。我希望每个小节都与它上面的小节对齐。MusixTeX 文档在第 12 章中提到了小节对齐,但它似乎是在多种乐器的背景下,我似乎找不到针对我的情况这样做的参考资料。我正在使用 BagpipeTeX,它扩展了 MusixTeX 以简化风笛音乐的排版。

下面是一个示例,它创建了我想要避免的情况:

%&bagpipe
\input bagpipe
%
% HighLad.tex
%
\newpitch\newgrace\noautoglue
%
\ifx\medleyflag\relax\else\nopagenumbers\tall\fi
%
% for line 1
\def\barone{\notes\thrwd\pcps de\etn\grg\pcc fh\enotes\xbarre}
\def\bartwo{\notes\psk\bstst gd4\bgp{\bf\grg}\bep\bd\etn\grg\qlf\enotes\xbarre}
\def\barthree{\notes\dblf\pcc fe\etn\dble\bcss ee3\be\bd\be\enotes\xbarre}
\def\barfour{\notes\dblf\pcc fe\etn\gra\bcss db3{\be\grg}\bd\bb\enotes\alaligne}
%
% for line 2
\def\barfive{\barone}
\def\barsix{\bartwo}
\def\barseven{\notes\thrwd\pcgc d\gre b\etn\dblb\bcss bb3 {\bb\gre}{\ba\grd}\bb\enotes\xbarre}
\def\bareight{\notes\thrwd\pcgc d\gre b\etn\shkb\cb\enotes}
%
% for line 3
\def\barnine{\notes\dblh\bcss hf3\bh\bg\bf\etn\dblg\bcss ge3\bg\bf\be\enotes\xbarre}
\def\barten{\notes\dblf\bcss fd3\bf\be\bd\etn\grg\qlf\enotes\xbarre}
\def\bareleven{\barthree}
\def\bartwelve{\notes\dblf\pcc fe\etn\gra\pcgc e\dblg g\enotes\alaligne}
%
% for line 4
\def\barthirteen{\barnine}
\def\barfourteen{\notes\dblf\bcss fd3\bf\be\bd\etn\grg\bcss ff3{\bf\grg}\be\bf\enotes\xbarre}
\def\barfifteen{\barseven}
\def\barsixteen{\bareight}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\line{\moyen Highland Laddie\hss
\rm March\hss printed \today\hss BagpipeTEX}
\bigskip
%
\generalmeter{\meterfrac 24}%
%
\debutmorceau
%
\autolines{12}{4}{13}%
% line 1
\leftrepeatsymbol\pickup{\pss ab}%
\barone\bartwo\barthree\barfour
% line 2
\autolines{11}{4}{13}%
\barfive\barsix\barseven\bareight\setrightrepeat\suspmorceau
% line 3
\line{\twelvebf Part 2\hss}
\repreppickup{\dblg\cg}%
\barnine\barten\bareleven\bartwelve
% line 4
\barthirteen\barfourteen\barfifteen\barsixteen\setrightrepeat\suspmorceau
%
\byemedley
\bye

高地小伙子

这是一首没有不完整小节的曲子:

%&bagpipe
\input bagpipe
%
%%  GrnHills.tex
%
\newpitch\newgrace\noautoglue
%
\ifx\medleyflag\relax\else\nopagenumbers\fi
%
% for line one
\def\barone{\notes\grg\pcps ab\etn\grip\qlc\etn\dblc\pcgc c\gre a\enotes\xbarre}
\def\bartwo{\notes\grg\pcgc c\thrwd d\etn\dble\qle\etn\gra\pcc ef\enotes\xbarre}
\def\barthree{\notes\dblc\pcc cf\etn\dble\pcps ec\etn\grg\qlb\enotes\xbarre}
\def\barfour{\notes\grip\pcc bf\etn\dble\pcps ec\etn\grN\qla\enotes\alaligne}
% for line two
\def\barfive{\barone}
\def\barsix{\bartwo}
\def\barseven{\barthree}
\def\bareight{\notes\dblb\pcgc b\grN a\etn\dblc\pcps cb\etn\grN\qla\enotes}
% for line three
\def\barnine{\notes\dblc\pcc ce\etn\dblh\qlh\etn\grg\qlh\enotes\xbarre}
\def\barten{\notes\grf\pcc gf\etn\dblf\pcc fe\etn\gra\qle\enotes\xbarre}
\def\bareleven{\notes\grg\pcps ef\etn\dble\pcc ed\etn\shkd\qld\enotes\xbarre}
\def\bartwelve{\notes\grg\pcps de\etn\dbld\pcc dc\etn\grip\qlc\enotes\alaligne}
% for line four
\def\barthirteen{\barnine}
\def\barfourteen{\barten}
\def\barfifteen{\notes\grg\pcps ef\etn\dble\qle\etn\gra\pcps ed\enotes\xbarre}
\def\barsixteen{\notes\grg\pcgc c\thrwd d\etn\dble\he\enotes}
%
\line{\moyen The Green Hills of Tyrol\hss
\rm Retreat March\hss revised \today\hss BagpipeTEX}
\bigskip
%
\generalmeter{\meterfrac 34}%
%
\debutmorceau
%
\autolines{12}{4}{13}%
%line 1
\leftrepeatsymbol
\barone\bartwo\barthree\barfour
% line 2
\barfive\barsix\barseven\bareight\setrightrepeat\suspmorceau
% line 3
\reprmorceau
\autolines{12}{4}{13}%
\leftrepeatsymbol
\barnine\barten\bareleven\bartwelve
% line 4
\autolines{12}{4}{13}%
\barthirteen\barfourteen\barfifteen\barsixteen\setrightrepeat\suspmorceau
%
\byemedley
\bye

蒂罗尔的绿色山丘

以下是我几乎想要的东西的一个例子。我在http://maucamedus.net/musixtex.html作为多部分乐谱的一个例子。 几乎

这将对我有用,如果我可以:

  1. 删除除第一行开头的拍号之外的所有拍号。如果我能够更改乐曲中的拍号,那就太好了。
  2. 删除连接五线谱左端的垂直线。
  3. 确保调号只出现在我想要的位置,即第一行谱号之后。如果我想要一个调号出现,那么调号通常不写。
  4. 想办法让一行的开头或结尾出现部分小节。

当运行“蒂罗尔的绿色山丘”时autosp,结果没有改变序列\anotes,也没有在任何地方插入空格。以下是生成的日志文件的内容:

Processing command:\input bagpipe
Processing command:\newpitch\newgrace\noautoglue
Processing command:\ifx\medleyflag\relax\else\nopagenumbers\fi
Processing command:\def\barone{\anotes\grg\pcps ab\etn\grip\qlc\etn\dblc\pcgc c\gre a\en\xbarre}
Processing command:\def\bartwo{\anotes\grg\pcgc c\thrwd d\etn\dble\qle\etn\gra\pcc ef\en\xbarre}
Processing command:\def\barthree{\anotes\dblc\pcc cf\etn\dble\pcps ec\etn\grg\qlb\en\xbarre}
Processing command:\def\barfour{\anotes\grip\pcc bf\etn\dble\pcps ec\etn\grN\qla\en\alaligne}
Processing command:\def\barfive{\barone}
Processing command:\def\barsix{\bartwo}
Processing command:\def\barseven{\barthree}
Processing command:\def\bareight{\anotes\dblb\pcgc b\grN a\etn\dblc\pcps cb\etn\grN\qla\en}
Processing command:\def\barnine{\anotes\dblc\pcc ce\etn\dblh\qlh\etn\grg\qlh\en\xbarre}
Processing command:\def\barten{\anotes\grf\pcc gf\etn\dblf\pcc fe\etn\gra\qle\en\xbarre}
Processing command:\def\bareleven{\anotes\grg\pcps ef\etn\dble\pcc ed\etn\shkd\qld\en\xbarre}
Processing command:\def\bartwelve{\anotes\grg\pcps de\etn\dbld\pcc dc\etn\grip\qlc\en\alaligne}
Processing command:\def\barthirteen{\barnine}
Processing command:\def\barfourteen{\barten}
Processing command:\def\barfifteen{\anotes\grg\pcps ef\etn\dble\qle\etn\gra\pcps ed\en\xbarre}
Processing command:\def\barsixteen{\anotes\grg\pcgc c\thrwd d\etn\dble\he\en}
Processing command:\line{\moyen The Green Hills of Tyrol\hss
Processing command:\rm Retreat March\hss revised \today\hss BagpipeTEX}
Processing command:\bigskip
Processing command:\generalmeter{\meterfrac 34}%
Processing command:\debutmorceau
Processing command:\autolines{12}{4}{13}%
Processing command:\leftrepeatsymbol%
After \bar processing, *ln=%
Processing command:\barone\bartwo\barthree\barfour%
After \bar processing, *ln=\bartwo\barthree\barfour%
Processing command:\bartwo\barthree\barfour%
After \bar processing, *ln=\barthree\barfour%
Processing command:\barthree\barfour%
After \bar processing, *ln=\barfour%
Processing command:\barfour%
After \bar processing, *ln=%
Processing command:\barfive\barsix\barseven\bareight\setrightrepeat\suspmorceau
After \bar processing, *ln=\barsix\barseven\bareight\setrightrepeat\suspmorceau
Processing command:\barsix\barseven\bareight\setrightrepeat\suspmorceau
After \bar processing, *ln=\barseven\bareight\setrightrepeat\suspmorceau
Processing command:\barseven\bareight\setrightrepeat\suspmorceau
After \bar processing, *ln=\bareight\setrightrepeat\suspmorceau
Processing command:\bareight\setrightrepeat\suspmorceau
After \bar processing, *ln=\setrightrepeat\suspmorceau
Processing command:\setrightrepeat\suspmorceau
Processing command:\reprmorceau
Processing command:\autolines{12}{4}{13}%
Processing command:\leftrepeatsymbol%
After \bar processing, *ln=%
Processing command:\barnine\barten\bareleven\bartwelve%
After \bar processing, *ln=\barten\bareleven\bartwelve%
Processing command:\barten\bareleven\bartwelve%
After \bar processing, *ln=\bareleven\bartwelve%
Processing command:\bareleven\bartwelve%
After \bar processing, *ln=\bartwelve%
Processing command:\bartwelve%
After \bar processing, *ln=%
Processing command:\autolines{12}{4}{13}%
Processing command:\barthirteen\barfourteen\barfifteen\barsixteen\setrightrepeat\suspmorceau
After \bar processing, *ln=\barfourteen\barfifteen\barsixteen\setrightrepeat\suspmorceau
Processing command:\barfourteen\barfifteen\barsixteen\setrightrepeat\suspmorceau
After \bar processing, *ln=\barfifteen\barsixteen\setrightrepeat\suspmorceau
Processing command:\barfifteen\barsixteen\setrightrepeat\suspmorceau
After \bar processing, *ln=\barsixteen\setrightrepeat\suspmorceau
Processing command:\barsixteen\setrightrepeat\suspmorceau
After \bar processing, *ln=\setrightrepeat\suspmorceau
Processing command:\setrightrepeat\suspmorceau
Processing command:\byemedley
Processing command:\bye

答案1

实际上,我认为除非非常手动,否则您无法实现自己的意图,因为您从第一行的不完整小节开始,而从第二行的完整小节开始。作为一名音乐家,我认为如果不是为了同时发出声音,对齐行中的小节没有任何用处。Musixtex 具有这种可能性\parindent。您可以缩进第一行,以便第一小节接近第二行中第一个完整小节的末尾位置,但您仍然必须处理小节中不同数量的音符,因此对齐所有小节仍然需要手动进行,\scale或者\qqsk或类似操作(即使\kern您想要……)。

相关内容