大谱表(音符内有字母)

大谱表(音符内有字母)

需要在 Musixtex 中显示大谱表,字母在音符头内,启动代码如下:

\documentclass[tikz,border=3mm]{standalone}
\usepackage[T1]{fontenc}
\usepackage{polyglossia}
\setmainlanguage{spanish}

\usepackage{tikz}
\usetikzlibrary{arrows.meta, calc}
\tikzstyle{every picture}+=[remember picture]

\usepackage{pifont} % Para usar simbolos ding
\usepackage{musicography}
\usepackage{musixtex} 
\input{musixlyr}
\input {musixcho}
\input {musixdat}%fecha
\input {musixfll}
\input {musixgre}%gregoriano
\input {musixper}%percusión
\input {musixppff}
\input {musixstr}
\input {musixvbm}  % experimental vectorized beams
\input {musixdbr} % lineas de barras punteadas, discontinuas y arbitrariamente discontinuas
\input {musixbm} % compatibilidad garrapateas con ganchos o con barras
\input {musixbbm} % compatibilidad semi garrapateas con ganchos o con barras



\begin{document}
The grand staff with letters inside head notes:

\begin{music}
    \parindent10mm
    \sepbarrules
    %\curlybrackets{12}
    \instrumentnumber{2}
    \setstaffs1{1}
    \setstaffs2{1}
    \setclef20
    \setclef16
    \smallmusicsize
    \songtop{2}
    \songbottom{1}
    \nobarnumbers
    \startpiece%
    \notes\wh{GHIJKLMNa}& \wh{*********efghijklm}\en
    \Endpiece
 \end{music}

\end{document}

当前输出如下: 当前的

预期输出如下(注意需要启用花括号和注释里的字母名称): 预期的

答案1

您可以将其作为覆盖来完成:

  • 四分音符
  • 用白色填充的圆圈
  • 圆圈内的字母文字。

要叠加,请使用宽度为 0pt 的 box-trick。例如,使用 tikz 进行叠加。也许使用\savebox会很有用。

但是,我怀疑您的要求是否真的能带来良好的可读性,因为所有内容都会趋于相对较小。视觉效果会重叠,即填充和线宽的某些组合看起来可读性较差。

如果您只想介绍一些音阶,使用 tikz 绘制五线谱和音符可能是更好、更灵活的方法。


只是为了给你提供更多的想法,向你展示可能性和副作用。

  1. \nl (1 par)在 上打印一个“x” \wh,而\nla (2 par)在 上打印一些字母\wh。作为\nl的一个特例\nla,它只是重复使用代码。

% ~~~ a labeled note ~~~~~~~~~~~~~~~~
    \newcommand\nla[2]{\raisebox{-2pt}{\zcharnote{#1}{#2}}\wh{#1}}
    \newcommand\nl[1]{\nla{#1}{x}}% reusing aboves macro to just place an "x"
     ...
    
    %    \notes\wh{GHIJKLMNa}& \wh{*********efghijklm}\en
        \notes\nla{G}{G}\nla{H}{A}\nla{I}{B}\nl{J}\nl{K}\nl{L}\nl{M}\nl{N}\nl{a}& \wh{*********}\nl{e}\nl{f}\nl{g}\nl{h}\nl{i}\nl{j}\nl{k}\nl{l}\nl{m}\en
     ...

标记的笔记

  1. 然而,如果你按照从 musixtex 替换音符的路线,它们无论如何都是合适的字形/字符,你可以从中选择有趣的组合综合 LATEX 符号列表。 // 例如,您可以选择各种可用的椭圆或椭圆形之一来替换“注释”。您可以尝试使用\textcircled{A}semitrans 包中的椭圆。或者重用一些 lilypond 字形。等等。 // 但是,字体大小将是一个关键点。同样,它可能不会像您想要的那样可读。

  2. 您还可以将标记的注释视为粗左括号、字符和粗右括号的组合。放入宏中可能可以调整字体大小。但是您可能更喜欢 tikz 路线,这会为您提供更好的机会。

答案2

现在字体缩小了,但是居中消失了。。。需要修正,代码如下:

\documentclass[tikz,border=3mm]{standalone}
\usepackage[T1]{fontenc}
\usepackage{polyglossia}
\setmainlanguage{spanish}
    
\usepackage{musixtex} 

% ~~~ a labeled note ~~~~~~~~~~~~~~~~
\newcommand\nla[2]{\raisebox{-1.0pt}{\roffset{.35}{\zcharnote{#1}{\tiny{#2}}}}\wh{#1}}
\newcommand\nl[1]{\nla{#1}{x}}% reusing aboves macro to just place an "x"
  
\begin{document}
The grand staff with letters inside head notes:

\begin{music}
    \parindent10mm
    \sepbarrules
    %\curlybrackets{12}
    \instrumentnumber{2}
    \setstaffs1{1}
    \setstaffs2{1}
    \setclef20
    \setclef16
    \smallmusicsize
    \songtop{2}
    \songbottom{1}
    \nobarnumbers
    \font\A=phvb8t at 3pt% second fontsize, 4pt possible, too
    \startpiece%
    %\notes\wh{GHIJKLMNa}& \wh{*********efghijklm}\en
    \notes\nla{G}{\A G}\nla{H}{\A A}\nla{I}{\A B}\nla{J}{\A C}\nla{K}{\A D}\nla{L}{\A E}\nla{M}{\A F}\nla{N}{\A G}\nla{a}{\A A}& 
    \wh{*********}\nla{e}{\A E}\nla{f}{\A F}\nla{g}{\A G}\nla{h}{\A A}\nla{i}{\A B}\nla{j}{\A C}\nla{k}{\A D}\nla{l}{\A E}\nla{m}{\A F}\en
    \Endpiece
 \end{music}

\end{document}

输出如下(请注意,字母注释现在居中):

解决了

相关内容