使用 Musixtex 的 musixper 包製作鼓樂譜

使用 Musixtex 的 musixper 包製作鼓樂譜

需實作Bass Drum、Ride、Hi-Hat、Snare、Clave、Cow Bell的鼓譜,基本程式碼如下:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{polyglossia}
\setmainlanguage{spanish}
\usepackage{etoolbox}
\usepackage{float} %Paquete para posicionar Tablas
\usepackage{tikz}
\usetikzlibrary{arrows.meta, math}
\usepackage{amsmath}%Para signo igual
\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


\begin{document}

\begin{music}
    \font\A=phvb8t at 10pt% added for letter type.
      \largemusicsize
      \setlines{1}{5}
      %\setclefsymbol{1}{\empty}%
      \setclefsymbol{1}{\drumclef}%
      \nobarnumbers
      \nostartrule
      \startextract
      \NOtes\zql f\doqu m\en
      \NOtes\doql d\ibu0m0\doqb0{m}\en
      \NOtes\tbu0\doqb0m\en
      \NOtes\qu j\en
      \NOtes\dcqu j\en
      \NOtes\roql j\en
      \NOtes\tgql l\en
      \endextract
\end{music} 

\end{document}

當前輸出如下: 目前的

期望的輸出如下: 想要的

答案1

這將是我在 MusiXTeX 中的解決方案:

 \documentclass[12pt]{article}
    \usepackage[T1]{fontenc}
    \usepackage{polyglossia}
    \setmainlanguage{spanish}
    \usepackage{etoolbox}
    \usepackage{float} %Paquete para posicionar Tablas
    \usepackage{tikz}
    \usetikzlibrary{arrows.meta, math}
    \usepackage{amsmath}%Para signo igual
    \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
    
    
    \begin{document}
    \begin{music}
    \hsize=140mm%
        \font\A=phvb8t at 10pt% added for letter type.
          \largemusicsize
          \setlines{1}{5}
          %\setclefsymbol{1}{\empty}%
          \setclefsymbol{1}{\drumclef}%
          \nobarnumbers
          \nostartrule
      %    \startextract
      \startpiece%
      \addspace{0.5\afterruleskip}%
          \notes\ccharnote  J{\A ~Bass Drum}\ccharnote t{\A ~Ride}\zql f\doqu m\hsk\ccharnote J{\A ~Hi-Hat \it (foot)}\ccharnote t{~$\circ$}\ccharnote w{\it ~open}\ccharnote z{\hsk\qsk\A ~Hi-Hat}\doql d\bsk\ibu0m0\doqb0{m}\ccharnote u{~+}\ccharnote w{\it ~closed}\tbu0\doqb0m\ccharnote t{\A ~Snare}\qu j\ccharnote w{\A ~Snare}\ccharnote t{\A ~rimshot}\dcqu j\ccharnote t{\A ~Clave}\roql j\ccharnote t{\A Cow Bell}\tgql l\en\setdoublebar%
          \endpiece%
    \end{music}%
    
    \end{document}%

我定義了 hsize 以避免移動音符或透過過度頻繁地使用大寫字母來定義距離。 在此輸入影像描述

答案2

解決後的程式碼如下:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{polyglossia}
\setmainlanguage{spanish}
\usepackage{etoolbox}
\usepackage{float} %Paquete para posicionar Tablas
\usepackage{tikz}
\usetikzlibrary{arrows.meta, math}
\usepackage{amsmath}%Para signo igual
\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


\begin{document}

\begin{music}
    \font\A=phvb8t at 10pt% added for letter type.
      \largemusicsize
      \setlines{1}{5}
      %\setclefsymbol{1}{\empty}%
      \setclefsymbol{1}{\drumclef}%
      \nobarnumbers
      \nostartrule
      \startextract
      \NOTes\zcharnote{-12}{\textbf\small \hspace*{-1.1cm} Bass Drum}\zql f\doqu m\zcharnote{17}{\textbf\small \hspace*{-1.6cm} Ride}\en
      \znotes\hsk\doql d\en
      \NOTes\zcharnote{16}{\textbf\small \hspace*{-0.08cm} $\circ$}\ibu0m0\doqb0{m}\zcharnote{16}{\textbf\small \hspace*{-0.08cm} $+$}\en
      \NOTes\tbu0\doqb0m\en
      \NOTes\qu j\en
      \NOTes\dcqu j\en
      \NOTes\roql j\en
      \NOTes\tgql l\en
      \endextract
\end{music} 

\end{document}

我認為有一種簡單的方法可以使用帶有註釋庫的 Tikz 添加標籤。三角形也需要填充。

輸出如下:

解決了

答案3

這是使用 tikzmark 添加文字的另一種方法。解決的程式碼需要在 pic cs 內進行額外的水平和垂直移位:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{polyglossia}
\setmainlanguage{spanish}
\usepackage{etoolbox}
\usepackage{float} %Paquete para posicionar Tablas
\usepackage{tikz}
\usetikzlibrary{arrows.meta, math}
\usetikzlibrary{tikzmark}
\usetikzlibrary{positioning}
\NewDocumentCommand{\addU}{mm}{\tikz[remember picture]{\node[overlay,above=of pic cs:#1]{#2};}}
\NewDocumentCommand{\addB}{mm}{\tikz[remember picture]{\node[overlay,below=of pic cs:#1]{#2};}}
\usepackage{amsmath}%Para signo igual
\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


\begin{document}

\begin{music}
    \font\A=phvb8t at 10pt% added for letter type.
      \largemusicsize
      \setlines{1}{5}
      \setclefsymbol{1}{\drumclef}%
      \nobarnumbers
      \nostartrule
      \startextract
      \NOTes\tikzmark{BD}\zql f\tikzmark{R}\doqu m\en
      \znotes\hsk\tikzmark{HH}\doql d\en
      \NOTes\tikzmark{HHH}\zcharnote{16}{\textbf\small \hspace*{-0.08cm} $\circ$}\ibu0m0\doqb0{m}\zcharnote{16}{\textbf\small \hspace*{-0.08cm} $+$}\en
      \NOTes\tbu0\doqb0m\en
      \NOTes\tikzmark{S}\qu j\en
      \NOTes\tikzmark{SR}\dcqu j\en
      \NOTes\tikzmark{C}\roql j\en
      \NOTes\tikzmark{CB}\tgql l\en
      \endextract
\end{music} 
\addU{R}{Ride}
\addU{S}{Snare}
\addU{HHH}{Hi-Hat}
\addB{BD}{Bass Drum}
\addB{HH}{Hi-Hat (foot)}
%\addU{SR}{Snare\\rimshot}
\addU{C}{Clave}
\addU{CB}{Cow Bell}

\end{document}

部分解決

關於如何添加額外班次的一些幫助:上面=of pic cs:#1,歡迎!

答案4

解決後的程式碼如下:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{polyglossia}
\setmainlanguage{spanish}
\usepackage{etoolbox}
\usepackage{float} %Paquete para posicionar Tablas
\usepackage{tikz}
\usetikzlibrary{arrows.meta, math}
\usetikzlibrary{calc}
\usetikzlibrary{tikzmark}
\usetikzlibrary{positioning}
\NewDocumentCommand{\addU}{mm}{\tikz[remember picture]{\node[overlay,above=10mm of pic cs:#1]{#2};}}
\NewDocumentCommand{\addUH}{mm}{\tikz[remember picture]{\node[overlay,above=14mm of pic cs:#1]{#2};}}
\NewDocumentCommand{\addUHH}{mm}{\tikz[remember picture]{\node[overlay,above=18mm of pic cs:#1]{#2};}}
\NewDocumentCommand{\addUHHH}{mm}{\tikz[remember picture]{\node[overlay] at ($(pic cs:#1)+(0.85cm,2.2cm)$) {#2};}}
\NewDocumentCommand{\addB}{mm}{\tikz[remember picture]{\node[overlay,below=of pic cs:#1]{#2};}}
\NewDocumentCommand{\addBB}{mm}{\tikz[remember picture]{\node[overlay,below=14mm of pic cs:#1]{#2};}}
\usepackage{amsmath}%Para signo igual
\usepackage{musixtex} 
\input {musixfll}
\input {musixper}%percusión

\begin{document}

\begin{music}
    \font\A=phvb8t at 10pt% added for letter type.
      \largemusicsize
      \setlines{1}{5}
      \setclefsymbol{1}{\drumclef}%
      \nobarnumbers
      \nostartrule
      \startextract
      \NOTes\tikzmark{BD}\zql f\tikzmark{R}\doqu m\en
      \znotes\hsk\tikzmark{HH}\doql d\en
      \NOTes\tikzmark{HHH}\zcharnote{16}{\textbf\small \hspace*{-0.08cm} $\circ$}\ibu0m0\doqb0{m}\zcharnote{16}{\textbf\small \hspace*{-0.08cm} $+$}\en
      \NOTes\tbu0\doqb0m\en
      \NOTes\tikzmark{S}\qu j\hsk\en
      \NOTes\tikzmark{SR}\dcqu j\hsk\en
      \NOTEs\tikzmark{C}\roql j\hsk\en
      \NOTEs\tikzmark{CB}\tgql l\en
      \endextract
\end{music} 
\addUH{R}{Ride}
\addUH{S}{Snare}
\addUHHH{HHH}{Hi-Hat}
\addB{BD}{Bass Drum}
\addBB{HH}{Hi-Hat (foot)}
\addUH{SR}{Snare\newline rimshot}
\addU{C}{Clave}
\addU{CB}{Cow Bell}

\end{document}

已解決_附近

它仍然是命令的換行符: \addUH{SR}{Snare\newline rimshot} 歡迎一些幫助!

相關內容