Я пишу музыкальную тетрадь с помощью musixtex. Я пытаюсь набрать один нотный стан с текстом, расположенным под ним. Нот нет, меняются только ключевые знаки, и я хотел бы аннотировать каждый такт названием ключа.
Эти два примера демонстрируют, чего я пытаюсь добиться:
\documentclass[11pt,a4paper,BCOR=12mm,DIV=24,headsepline=true,parskip=half]{scrbook}
\usepackage{musixtex}
\begin{document}
% First example, right layout but text missing
\begin{music}
\generalsignature{0}
\nostartrule
\nobarnumbers
\startpiece\addspace\afterruleskip
\generalsignature{+1}\ignorenats\Changecontext
\generalsignature{+2}\ignorenats\Changecontext
\generalsignature{+3}\ignorenats\Changecontext
\generalsignature{+4}\ignorenats\Changecontext
\generalsignature{+5}\ignorenats\Changecontext
\generalsignature{-1}\ignorenats\Changecontext
\generalsignature{-2}\ignorenats\Changecontext
\generalsignature{-3}\ignorenats\Changecontext
\generalsignature{-4}\ignorenats\Changecontext
\generalsignature{-5}\ignorenats\Changecontext
\setdoublebar
\endpiece
\end{music}
% Second example, adding text messes up layout
\begin{music}
\generalsignature{0}
\nostartrule
\nobarnumbers
\startpiece\addspace\afterruleskip
\lcharnote{P}{\smalltype{C-Dur}}
\generalsignature{+1}\ignorenats\Changecontext
\lcharnote{P}{\smalltype{G-Dur}}
\generalsignature{+2}\ignorenats\Changecontext
\lcharnote{P}{\smalltype{D-Dur}}
\generalsignature{+3}\ignorenats\Changecontext
\lcharnote{P}{\smalltype{A-Dur}}
\generalsignature{+4}\ignorenats\Changecontext
\lcharnote{P}{\smalltype{E-Dur}}
\generalsignature{+5}\ignorenats\Changecontext
\lcharnote{P}{\smalltype{H-Dur}}
\generalsignature{-1}\ignorenats\Changecontext
\lcharnote{P}{\smalltype{F-Dur}}
\generalsignature{-2}\ignorenats\Changecontext
\lcharnote{P}{\smalltype{B-Dur}}
\generalsignature{-3}\ignorenats\Changecontext
\lcharnote{P}{\smalltype{Es-Dur}}
\generalsignature{-4}\ignorenats\Changecontext
\lcharnote{P}{\smalltype{As-Dur}}
\generalsignature{-5}\ignorenats\Changecontext
\lcharnote{P}{\smalltype{Des-Dur}}
\setdoublebar
\endpiece
\end{music}
\end{document}
Обратите внимание, что этот пример необходимо скомпилировать в три этапа:
$ pdflatex example.tex
$ musixflx example.tex
$ pdflatex example.tex
В первом примере макет правильный, но текст еще не включен. Во втором примере я попытался включить текст, но это добавляет нежелательное горизонтальное пространство и макет портится, хотядокументацияв разделе 2.6.13 обещает, что горизонтальное пространство не будет добавлено.
Также было бы неплохо, если бы текст был расположен по центру каждого столбца.
Есть ли у кого-нибудь идеи, как исправить пример, или другое решение, позволяющее добиться того же результата?
Спасибо!
решение1
Кажется, пробел возник из-за конца строки после
\lcharnote{P}{\smalltype{C-Dur}}
Если вы замените эти строки на
\lcharnote{P}{\smalltype{C-Dur}}%
интервал в обоих примерах одинаковый. Вывод IMHO выглядит даже лучше, если поместить тексты в рамку, перекрывающуюся справа:
\zcharnote{P}{\makebox[0pt][r]{\smalltype{C-Dur}}}%