需要实现两个上低音谱号,基本代码如下:
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{tikz}
\usepackage{musixtex}
\usepackage{lipsum}
\usepackage{float}
\usepackage{xcolor}
\begin{document}
\begin{music}
\font\A=phvb8t at 8pt% added for letter type.
\setclef1\treble % Clave de Sol para el Instrumento 1
\nobarnumbers % Omite la numeración en los compases
\nostartrule % Inicia sin barra vertical
\startextract %inicia el fragmento musical
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Treble}\wh{c}\en%\bar
\setclef11\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Soprano}\qsk\wh{c}\en%\bar
\setclef12\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Mezzo}\zchar{9}{\hspace*{-0.5cm}\A Soprano}\qsk\wh{c}\en%\bar
\setclef13\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Alto}\qsk\wh{c}\en%\bar
\setclef14\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Tenor}\qsk\wh{c}\en%\bar
\setclef15\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Baritone}\qsk\wh{c}\en%\bar
\setclef1\bass\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Bass}\qsk\wh{c}\en%\bar
\setdoublebar
\endextract % Se finaliza el fragmento musical
\end{music}
\end{document}
答案1
一个解决方案是使用谱号替换
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{tikz}
\usepackage{musixtex}
\usepackage{lipsum}
\usepackage{float}
\usepackage{xcolor}
\begin{document}
\begin{music}
\font\A=phvb8t at 8pt% added for letter type.
\setclef1\treble % Clave de Sol para el Instrumento 1
\nobarnumbers % Omite la numeración en los compases
\nostartrule % Inicia sin barra vertical
\startextract %inicia el fragmento musical
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Treble}\wh{c}\en%\bar
\setclef11\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Soprano}\qsk\wh{c}\en%\bar
\setclef12\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Mezzo}\zchar{9}{\hspace*{-0.5cm}\A Soprano}\qsk\wh{c}\en%\bar
\setclef13\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Alto}\qsk\wh{c}\en%\bar
\setclef14\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Tenor}\qsk\wh{c}\en%\bar
%%%%
%%%% CHANGES BELOW
\setclef15\Changeclefs%
\setclef17\setclefsymbol1\smallaltoclef\Changeclefs% NOTE1
\setclef15\setclefsymbol1\empty\Changeclefs% NOTE2
\resetclefsymbols% NOTE3
%%%% END CHANGES
%%%%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Baritone}\qsk\wh{c}\en%\bar
\setclef1\bass\Changeclefs%
\NOTEs\zchar{13}{\hspace*{-0.5cm}\A Bass}\qsk\wh{c}\en%\bar
\setdoublebar
\endextract % Se finaliza el fragmento musical
\end{music}
\end{document}
编译后为
说明/注释:
- 在 musixtex 中,谱号 0 是以第二线为中心的 G 谱号;谱号 1、2、3、4 是以分别以第一、第二、第三和第四线为中心的 C 谱号;谱号 5、6 和 7 是以第三、第四和第五线为中心的 F 谱号。谱号 9 是第一线的 G 谱号。您要打印的是第五线的 C 谱号。因此您可以进行谱号替换:
- 首先
\setclef17
指定“第五线 F 谱号” - 将谱号符号替换
\setclefsymbol1\smallaltoclef
为,以打印 C 谱号 - 使用以下方式激活
\Changeclefs
- 首先
- 然而,这会导致一个问题,因为 musictex 会将所有后续音符解释为相对于“第五线的 F 谱号”指定的;为了解决这个问题,我们使用 将谱号重置为低音谱号
\setclef15
。为了避免打印另一个谱号符号,我们\setclefsymbol1\empty
在之前\Changeclefs
。 - 最后,在所有这些恶作剧之后,所有内部谱号符号都乱了,所以我们重置谱号符号,
\resetclefsymbols
以便您下次发出时\setclef<n><m>
获得预期的输出。
答案2
这是我的解决方案,包括正确的调号、“替代”以及将名称放在调的上方,而不是音符的上方,因为它是调的名称,而音符的名称始终是“c”或“do”。此外,我推测西班牙语中的调的名称(略有)不同。
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{tikz}
\usepackage{musixtex}
\usepackage{lipsum}
\usepackage{float}
\usepackage{xcolor}
\begin{document}
\begin{music}
\font\A=phvb8t at 8pt% added for letter type.
\setclef1\treble % Clave de Sol para el Instrumento 1
\nobarnumbers % Omite la numeración en los compases
\nostartrule % Inicia sin barra vertical
\startextract %inicia el fragmento musical
\NOTEs\cchar{13}{\bsk\A Treble}\wh{c}\en%
\NOTEs\altoclef\cchar{13}{\hbsk\A Soprano}\qsk\wh{e}\en%
\NOTEs{\zcharnote g{\altoclef}}\qsk\cchar{14}{\A Mezzo}\cchar{10}{\A Soprano}\hsk\wh{g}\en%
\NOTEs\zcharnote i{\altoclef}\qsk\cchar{14}{\A Alto}\hsk\wh{i}\en%
\NOTEs\zcharnote k{\altoclef}\qsk\cchar{14}{\A Tenor}\hsk\wh{k}\en%
\NOTEs\zcharnote M{\A alternate}\unbkt P{0.8}0\zcharnote m{\altoclef}\hsk\cchar{14}{\A Baritone}\zcharnote i{\bassclef}\qsk\hsk\wh{m}\en%
\NOTEs\zcharnote k{\bassclef}\cchar{14}{\qsk\qsk\A Bass}\qsk\hsk\wh{o}\en%
\setdoublebar
\endextract % Se finaliza el fragmento musical
\end{music}
\end{document}