在 Musixtex 中使用 musixjt 时,会额外增加 musixlyr 符号

在 Musixtex 中使用 musixjt 时,会额外增加 musixlyr 符号

在 Musixtex 中使用 musixjt 时出现多余的 musixlyr 符号,好像是 musixlyr 导致的,如何解决?基本代码如下:

\documentclass{report}
\usepackage[bold=1]{xfakebold}
\newcommand{\barraSlash}{\setBold/\unsetBold}

\usepackage{musixtex}
\input{musixlyr}    


\begin{document}

\begin{music}
    \resetlyrics
    \font\A=phvb8t at 10pt% added for letter type.
    \setlyrics{EscalaDoM}{I II III IV V VI VII I VII VI V IV III II I}% added for hand indication
    \setsongraise1{-3mm}
    \setclef1\treble % Clave de Sol para el Instrumento 1
    \generalmeter{\meterfrac{4}4}
    \nobarnumbers % Omite la numeración en los compases
    \nostartrule % Inicia sin barra vertical
    \parindent0mm
    \startpiece 
    \A\assignlyrics1{EscalaDoM}% added to place handindication
    \NOtes\islurd0c\hu{cd}\en\bar
    \NOtes\hu{e}\tslur0f\hu{f}\en\bar
    \NOtes\isluru0m\hu{gh}\en\bar
    \NOtes\hl{i}\tslur0j\hl{j}\en\bar
    \NOtes\isluru0i\hl{i}\hu{h}\en\bar
    \NOtes\hu{g}\midslur{7}\tslur0l\hu{f}\en\bar
    \NOtes\islurd0e\hu{ed}\en\bar
    \NOTes\tslur0c\wh{c}\en
    \setdoubleBAR
    \nolyr
    \lyricsoff
    \endpiece
\end{music}

\begin{music}
    \input musixjt
    \begin{center}
    \Bigtype Les Sabots\\[1ex]
    \end{center}
    \font\A=phvb8t at 8pt% added for letter type.
    \instrumentnumber{1}
    \nobarnumbers
    \setclef1\treble
    \generalmeter{\meterfrac{3}4}
    \parindent0mm
    \nostartrule
    \def\writebarno{\A\the\barno}
    \scale{1.0}
    \startbarno=1
    \startpiece 
    %\resetlyrics
    %\nolyr
    %\lyricsoff
    %1er compás - 1ra línea
    \znotes\zchar{13}{\metron{\qu}{\;\,80}}\en
    \notes\zcharnote{g}{\hspace*{-2.05cm} \huge{\textcircled{\A\bfseries\large 47}}}\ql {jkl}\en\bar
    %2do compás:
    \notes\ql {jkl}\loffset{3.3}{\zchar{10}{\hspace*{0.14cm} \barraSlash\barraSlash}}\en\bar
    %3er compás
    \notes\ql {m}\hl n\qsk\en\bar
    %4to compás
    \notes\ql {l}\hl n\qsk\loffset{3.3}{\zchar{0}{\hspace*{0.14cm} \cbreath}}\en
    \znotes\lcn{16}{\rm Folclore Franc\^es}\en
    \alaligne
    %1er compás - 2da línea
    \notes\bhsk\isluru0n\ibl1n{-1}\qb1{non}\tslur0m\tqb1m\ql{l}\en\bar
    %2do compás:
    \notes\isluru0n\ibl1n{-1}\qb1{non}\tslur0m\tqb1m\ql{j}\loffset{3.3}{\zchar{0}{\hspace*{0.25cm} \cbreath}}\en\bar
    %3er compás
    \notes\ql {k}\hl j\qsk\en\bar
    %4to compás
    \notes\qu g\hl j\qsk\en
    \setdoubleBAR
    \endpiece
\end{music}


\end{document}

当前输出如下: 当前的

答案1

关键点实际上并不是一个错误,而是的定义\metron

\def\metron#1#2{{\lyricsoff\stemlength\f@ur\noteskip\t@n\p@ #1 1\ = #2\lyricson}}

以 \lyricson 结尾(sinds 版本 1.19,参见 musixtex.tex 第 4853 行)并希望继续播放第一首音乐的歌词。当我删除第一首音乐时不会发生此错误。使用\lyricsoffafter\zcharnote q{\metron{\qu}{80}}问题似乎已解决。

答案2

解决了!!!由于某种原因,metron 命令与 musixlyr 发生冲突(可能是错误),因此我用手动等效命令替换了该命令。代码如下:

\documentclass{report}

\usepackage[bold=1]{xfakebold}
\newcommand{\barraSlash}{\setBold/\unsetBold}

\usepackage{musixtex}
\input{musixlyr}    

\usepackage{lilyglyphs}

\begin{document}

\begin{music}
    \resetlyrics
    \font\A=phvb8t at 10pt% added for letter type.
    \setlyrics{EscalaDoM}{I II III IV V VI VII I VII VI V IV III II I}% added for hand indication
    \setsongraise1{-3mm}
    \setclef1\treble % Clave de Sol para el Instrumento 1
    \generalmeter{\meterfrac{4}4}
    \nobarnumbers % Omite la numeración en los compases
    \nostartrule % Inicia sin barra vertical
    \parindent0mm
    \startpiece 
    \A\assignlyrics1{EscalaDoM}% added to place handindication
    \NOtes\islurd0c\hu{cd}\en\bar
    \NOtes\hu{e}\tslur0f\hu{f}\en\bar
    \NOtes\isluru0m\hu{gh}\en\bar
    \NOtes\hl{i}\tslur0j\hl{j}\en\bar
    \NOtes\isluru0i\hl{i}\hu{h}\en\bar
    \NOtes\hu{g}\midslur{7}\tslur0l\hu{f}\en\bar
    \NOtes\islurd0e\hu{ed}\en\bar
    \NOTes\tslur0c\wh{c}\en
    \setdoubleBAR
    \nolyr
    \lyricsoff
    \endpiece
\end{music}



\begin{music}
    \input musixjt
    \begin{center}
    \Bigtype Les Sabots\\[1ex]
    \end{center}
    \font\A=phvb8t at 8pt% added for letter type.
    \instrumentnumber{1}
    \nobarnumbers
    \setclef1\treble
    \generalmeter{\meterfrac{3}4}
    \parindent0mm
    \nostartrule
    \def\writebarno{\A\the\barno}
    \scale{1.0}
    \startbarno=1
    \startpiece 
    %\resetlyrics
    %\nolyr
    %\lyricsoff
    %1er compás - 1ra línea
    %\znotes\zchar{13}{\metron{\qu}{\;\,80}}\en
    \znotes\zcharnote{r}{\hspace*{-0.9cm} \quarterNote\;=\;80}\en
    \notes\zcharnote{g}{\hspace*{-2.05cm} \huge{\textcircled{\A\bfseries\large 47}}}\ql {jkl}\en\bar
    %2do compás:
    \notes\ql {jkl}\loffset{3.3}{\zchar{10}{\hspace*{0.14cm} \barraSlash\barraSlash}}\en\bar
    %3er compás
    \notes\ql {m}\hl n\qsk\en\bar
    %4to compás
    \notes\ql {l}\hl n\qsk\loffset{3.3}{\zchar{0}{\hspace*{0.14cm} \cbreath}}\en
    \znotes\lcn{16}{\rm Folclore Franc\^es}\en
    \alaligne
    %1er compás - 2da línea
    \notes\bhsk\isluru0n\ibl1n{-1}\qb1{non}\tslur0m\tqb1m\ql{l}\en\bar
    %2do compás:
    \notes\isluru0n\ibl1n{-1}\qb1{non}\tslur0m\tqb1m\ql{j}\loffset{3.3}{\zchar{0}{\hspace*{0.25cm} \cbreath}}\en\bar
    %3er compás
    \notes\ql {k}\hl j\qsk\en\bar
    %4to compás
    \notes\qu g\hl j\qsk\en
    \setdoubleBAR
    \endpiece
\end{music}


\end{document}

输出如下: 解决了

相关内容