答案1
这个问题的答案已经在某种程度上得到了他的回答,clemens
他在另一篇文章中补充了最后的评论吉他谱排版。这只是一种处理问题的方式,以便更详细地解决问题,稍后可能由于缺乏关注或实用性而关闭或删除此帖子是适当的。
加起来,可以做六线谱。
这两个答案同样是clemens
:
\Str{2}{11}
表示第二弦的第十一品\Notes\str{6}{7}\Str{3}{6}\en
是一个双音符和弦
不过,如果能从此代码中获得有关其他附加元素的底层逻辑的提示就更好了。如何控制音符之间的间距?我们需要将\hsk
/\sk
元素与 组合在一起\STr
\Str
\str
。如何组合它们才能使音符看起来最接近?
这mwe
试图显示近似值,但仍然失败了。因为前两个音符组合接近以下组合,但接下来的组合却不接近……
\documentclass{article}
\usepackage{musixtex,graphicx}
% custom clef
\newcommand\TAB[1]{%
\setclefsymbol{#1}{\,\rotatebox{90}{TAB}}%
\setclef{#1}9}
% internal string choosing command
% #1: string (a number from 1--6)
% #2: finger
\makeatletter
\newcommand\@str[2]{%
\ifcase#1\relax\@strerror
\or\def\@strnr{-1}%
\or\def\@strnr{1}%
\or\def\@strnr{3}%
\or\def\@strnr{5}%
\or\def\@strnr{7}%
\or\def\@strnr{9}%
\else\@strerror
\fi
\zchar\@strnr{\footnotesize#2}}
% \@strerror could be defined to issue some warning/error
% User level commands
\newcommand\STr[2]{\@str{#1}{#2}\sk} % with a full note skip
\newcommand\Str[2]{\@str{#1}{#2}\hsk} % with a half note skip
\newcommand\str[2]{\@str{#1}{#2}} % with no skip
\makeatother
\begin{document}
(0:35)
\setlength\parindent{0pt}
\begin{music}
\instrumentnumber{1}
\nobarnumbers
\TAB1
\setlines1{6}
\startpiece
\Notes\hsk\str{1}{7}\Str{5}{9}\en
\Notes\str{1}{9}\Str{5}{10}\en
\Notes\str{1}{7}\Str{5}{9}\en
\Notes\str{1}{9}\Str{5}{9}\en
\endpiece
\end{music}
\end{document}