LaTeX 中的 MusiXTeX 不会在第一个音符前插入空格

LaTeX 中的 MusiXTeX 不会在第一个音符前插入空格

为了使我的问题显而易见,我创建了以下简单文件:

\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}

这样,两行上的音符就对齐了。

相关内容