为了使我的问题显而易见,我创建了以下简单文件:
\documentclass[a4paper,12pt]{article}
\usepackage{musixtex}
\setlength{\parindent}{0em}
\begin{document}
\begin{music}
\startpiece
\notes\nq{hgf}\enotes\alaligne
\notes\nq{hgf}\enotes
\endpiece
\end{music}
\end{document}
用 处理此问题latex file
musixflx file
latex file
会产生相当糟糕的输出,因为在第一行中,谱号和第一个音符之间几乎没有空间。此问题不会出现在后续行中,使用 而\startextract ... \endextract
不是 时也不会出现此\startpiece ... \endpiece
问题,但这是不允许\startextract
只允许一行音乐的选项。有人知道为什么会发生这种情况,以及如何解决它吗?
谨致问候,沃尔克
答案1
请尝试先添加类似这样的内容\startpiece
\hsize150mm
以下是我的答案的更新版本:
如果您将乐谱延伸到实际音乐线的长度,它将正确显示。但是,如果您只想展示示例文件中的内容,您可以使用\sk
或\noteskip
前进一个音符的距离。\hsk
用于跳过半音符。
\qsk
为一个音符头宽度,,\tqsk
为三分之二、三分之二或四分之一。,,为向后跳过。\hqsk
\qqsk
\bqsk
\btsk
\bhsk
重要的是,您还需要包装xspace
,否则线末端的条形图将会散开。
\documentclass[a4paper,12pt]{article}
\usepackage{musixtex}
\usepackage{xspace}
\setlength{\parindent}{0em}
\begin{document}
\begin{music}
%\hsize150mm % \hsize moves all the lines horizontally to the right
\startpiece
\notes\hsk\nq{hgf}\enotes\alaligne
\notes\bhsk\nq{hgf}\enotes
\endpiece
\end{music}
\end{document}
我尽力了,建议你还是等着更好的答案吧,我也很想看看专业的答案!耶稣保佑!
答案2
我认为差异来自于\afterruleskip
每个小节后添加的额外空格。第一行没有这个空格,因此您可以手动添加它:
\documentclass[a4paper,12pt]{article}
\usepackage{musixtex}
\setlength{\parindent}{0em}
\begin{document}
\begin{music}
\startpiece \addspace\afterruleskip
\notes\nq{hgf}\enotes\alaligne
\notes\nq{hgf}\enotes
\endpiece
\end{music}
\end{document}
这样,两行上的音符就对齐了。