如何让 MusixTex 和 MTX 自动断行?

如何让 MusixTex 和 MTX 自动断行?

我是一个刚开始使用 MusixTex 的用户。我尝试测试一些代码,如下所示:

\documentclass[a3paper]{article}
\usepackage{musixdoc}
\begin{document}
\begin{music}\nostartrule
\parindent10mm
\instrumentnumber{1} % a single instrument
\setname1{Piano} % whose name is Piano
\setstaffs1{2} % with two staffs
\generalmeter{\meterfrac44}% 4/4 meter chosen
\startextract % starting real score
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\ql l\sk\ql n\en
\bar
\Notes\ibu0f0\qb0{dgf}|\qlp i\en
\notes\tbu0\qb0g|\ibbl1j3\qb1j\tbl1\qb1k\en
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
\bar
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\ql l\sk\ql n\en
\bar
\Notes\ibu0f0\qb0{dgf}|\qlp i\en
\notes\tbu0\qb0g|\ibbl1j3\qb1j\tbl1\qb1k\en
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
\bar
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\ql l\sk\ql n\en
\bar
\Notes\ibu0f0\qb0{dgf}|\qlp i\en
\notes\tbu0\qb0g|\ibbl1j3\qb1j\tbl1\qb1k\en
\Notes\ibu0f0\qb0{cge}\tbu0\qb0g|\hl j\en
\zendextract % terminate excerpt
\end{music}
\end{document}

结果是: 在此处输入图片描述 只有一行,没有自动换行。这只是一个例子。无论我在原文中输入多少注释,结果都只有一行。

并且我尝试了MTX输入如下: Title: Edelweiss Composer: Richard Rodgers Style: piano Sharps: 1 Meter:3/4 %% Ac4 e2 g4 | d2d+ | c2 g4 | f2d | e2 e4 | e4 f4 g4 | a2d | g2d | c4 g2+ | b4- g4+ g4 | a4- e2+ | a4- c4 f4 | g4- e2+ | g4- a4 b4 | a4 f2+ | g4 f2+ | 结果是: 在此处输入图片描述 再次,只有 1 行,没有自动断线。

那么如何让行自动换行并适合 A4 纸?谢谢您的帮助。

答案1

\startextract...\zendextract用于少于一行的片段,因此不支持换行。请使用\startpieceand\endpiece代替,这样就好了。

此外:第一次编译后,您可能会注意到每行右侧有一些额外的空白。现在,如果您查看文件夹,您应该会看到一个新生成的.mx1文件。运行musixfls foo.mx1(如果foo.mx1是看到的文件名),然后.tex再次编译文件,以完全解析行宽,从而消除末尾的多余空间。

相关内容