我刚刚开始尝试使用 musixtex 创作音乐。我目前正在编写一个示例,该示例展示了完成我最终可能需要的所有操作的基本方法。
但现在我遇到了一个问题。以下代码是一个简化的示例:
\documentclass[15pt, oneside, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{musixtex}
\begin{document}
\begin{music}
\instrumentnumber{2}
\setstaffs1{2}
\startpiece
\notes \qa{a} | \wh{j} | \csong{asd} \wh{c} \enotes
\endpiece
\end{music}
\end{document}
当我编译此程序时,我在第 18 行收到错误:“员工编号(3)超出指定范围(2)!”
无论如何,pdf 都会被编译,并且一切都正确,除了缺少\ws{c}
。如果我将其更改为\qa{c}
、或任何其他长度,它就会编译成功并正确显示。如果我将其更改\ha{c}
为,它也会按预期进行编译(位于从顶部开始的第二行)。另一方面,如果我将其更改为,它不起作用。\ca{c}
\setstaffs1{2}
\setstaffs1{3}
\wh{c}
\setstaffs1{2}
\setstaffs2{3}
我认为这是 musixtex 的一个错误;\wh
似乎只检查第一个乐器的谱表编号,而不是所有乐器的谱表编号。
这是我的错误吗?如果没有,我该如何解决这个问题?
答案1
您需要告诉它您正在为第二个乐器提供音符。在您这样做之前,它会假设您仍在为第一个乐器提供音符。有关执行此操作的不同方法的信息,请参阅手册第 18 页。以下是其中一种方法:
\documentclass[oneside, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{musixtex}
\begin{document}
\begin{music}
\instrumentnumber{2}
\setstaffs2{3}
\startpiece
\notes & \qa{a} | \wh{j} | \csong{asd} \wh{c} \enotes
\endpiece
\end{music}
\end{document}
顺便说一句,传递article
该15pt
选项是没有意义的,因为它不存在。可用的点大小为10pt
、11pt
和12pt
。[除非这是将使用的全局选项musixtex
?]