%% harmony.sty 2007/05/04 %% Copyright 2005 - 2007 %% Dagny Wegner %% Arnim Wegner % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3 of this license or (at your option) any % later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions % of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainers of this work are % Dagny Wegner and Arnim Wegner. % % This work consists of the files harmony.sty, % harmony.tex, harmony.pdf, and Readme. % ================================================================================== \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{harmony}[2007/05/04] \RequirePackage{ifthen} \RequirePackage{amssymb} \DeclareOption{sf}{\def\FAM{\sffamily}} \DeclareOption{rm}{\def\FAM{\rmfamily}} \ExecuteOptions{sf} \ProcessOptions\relax % \newdimen\tmpdima \newdimen\tmpdimb \newdimen\tmpdimc \newdimen\tmpdimd \newdimen\tmpdime \newbox\nbxa \newbox\nbxb \newbox\nbxc \newbox\nbxd \newbox\nbxe \newbox\nbxf \newbox\nbxg \newbox\nbxh \newbox\nbxi \newfont{\KREIS}{lcirclew10} \newfont{\NOTEN}{musix13} \newfont{\noten}{musix11}% 2007/05/03 % \newcommand{\Ohne}[2][0em]{% \setbox\nbxi=\hbox{% \FAM% \setbox\nbxa=\hbox{\sl\large /}% #2% \kern-0.8em% \kern#1% \copy\nbxa% \kern-\wd\nbxa% \kern0.8em% }% \unhbox\nbxi% } % \newcommand{\Dohne}{\Ohne{D}} % \newcommand{\DD}{% \setbox\nbxi=\hbox{% \FAM% \raise0.2ex\hbox{D}% \kern-0.5em% \lower0.2ex\hbox{D}% }% \unhbox\nbxi% } % \newcommand{\DS}{% \setbox\nbxi=\hbox{% \FAM% \raise0.27ex\hbox{S}% \kern-0.35em% \lower0.27ex\hbox{S}% }% \unhbox\nbxi% } % \newcommand{\Ds}{% \setbox\nbxi=\hbox{% \FAM% \raise0.32ex\hbox{s}% \kern-0.24em% \lower0.02ex\hbox{s}% }% \unhbox\nbxi% } % \newcommand{\DDohne}{% \setbox\nbxi=\hbox{% \FAM% \setbox\nbxa=\hbox{\sl\large /}% \raise0.2ex\hbox{D}% \kern-0.5em% \lower0.2ex\hbox{D}% \kern-0.9em% \copy\nbxa% \kern-\wd\nbxa% \kern0.9em% }% \box\nbxi% } % \newcommand{\VM}{% \setbox\nbxg=\hbox{>}% \setbox\nbxh=\hbox to \wd\nbxg{% \raise0.24ex\hbox{{\boldmath$\scriptscriptstyle{>}$\unboldmath}\hss}}% 2005/05/10 \box\nbxh} % \newcommand{\UB}{% \setbox\nbxg=\hbox{<}% \setbox\nbxh=\hbox to \wd\nbxg{% \raise0.24ex\hbox{\boldmath$\scriptscriptstyle{<}$\unboldmath\hss}}% 2005/05/10 \box\nbxh} % \newcommand{\HAa}[3]{% \setbox\nbxi=\hbox{% \FAM% \setbox\nbxa=\hbox{#1}% \setbox\nbxf=\hbox{\tiny #2}% \ifdim\wd\nbxa>\wd\nbxf% \setbox\nbxb=\hbox to \wd\nbxa{\hss\tiny #2\hss}% \else% \setbox\nbxb=\hbox to \wd\nbxa{\tiny #2\hss}% \fi% \setbox\nbxc=\hbox{\scriptsize #3}% \tmpdima=\ht\nbxb\advance\tmpdima by \dp\nbxa\relax% \advance\tmpdima by 0.1ex\relax% \copy\nbxa% \kern-\wd\nbxa% \lower\tmpdima\copy\nbxb% \raise1ex\copy\nbxc% \tmpdima=\wd\nbxf% \advance\tmpdima by -\wd\nbxa\relax% \advance\tmpdima by -\wd\nbxc\relax% \ifdim\tmpdima>\z@% \kern\tmpdima% \fi% }% \unhbox\nbxi% } % \newcommand{\HAb}[4]{% \setbox\nbxi=\hbox{% \FAM% \setbox\nbxa=\hbox{#1}% \setbox\nbxf=\hbox{\tiny #2}% \ifdim\wd\nbxa>\wd\nbxf% \setbox\nbxb=\hbox to \wd\nbxa{\hss\tiny #2\hss}% \else% \setbox\nbxb=\hbox to \wd\nbxa{\tiny #2\hss}% \fi% \setbox\nbxc=\hbox{\tiny #3\hss}% \setbox\nbxd=\hbox{\tiny #4\hss}% \ifdim\wd\nbxc>\wd\nbxd% \setbox\nbxd=\hbox to \wd\nbxc{\tiny #4\hss}% \fi% \tmpdima=\ht\nbxb% \advance\tmpdima by \dp\nbxb\relax% \advance\tmpdima by \dp\nbxa\relax% \advance\tmpdima by 0.1ex\relax% \copy\nbxa% \kern-\wd\nbxa% \lower\tmpdima\copy\nbxb% \tmpdima=1.4ex% \raise\tmpdima\copy\nbxc% \kern-\wd\nbxc% \advance\tmpdima by -\dp\nbxc\relax% \advance\tmpdima by -\ht\nbxd\relax% \advance\tmpdima by -0.1ex\relax% \raise\tmpdima\copy\nbxd% \tmpdima=\wd\nbxf% \advance\tmpdima by -\wd\nbxa\relax% \advance\tmpdima by -\wd\nbxd\relax\relax% \ifdim\tmpdima>\z@% \kern\tmpdima% \fi% }% \unhbox\nbxi% } % \newcommand{\HAc}[5]{% \setbox\nbxi=\hbox{% \FAM% \setbox\nbxa=\hbox{#1}% \setbox\nbxf=\hbox{\tiny #2}% \ifdim\wd\nbxa>\wd\nbxf% \setbox\nbxb=\hbox to \wd\nbxa{\hss\tiny #2\hss}% \else% \setbox\nbxb=\hbox to \wd\nbxa{\tiny #2\hss}% \fi% \setbox\nbxc=\hbox{\tiny #3\hss}% \setbox\nbxd=\hbox{\tiny #4\hss}% \setbox\nbxe=\hbox{\tiny #5\hss}% \ifdim\wd\nbxc>\wd\nbxd% \setbox\nbxd=\hbox to \wd\nbxc{\tiny #4\hss}% \fi% \ifdim\wd\nbxd>\wd\nbxf% \setbox\nbxf=\hbox to \wd\nbxd{\tiny #5\hss}% \fi% \tmpdima=\ht\nbxb% \advance\tmpdima by \dp\nbxb\relax% \advance\tmpdima by \dp\nbxa\relax% \advance\tmpdima by 0.1ex\relax% \copy\nbxa% \kern-\wd\nbxa% \lower\tmpdima\copy\nbxb% \tmpdima=1.8ex% \raise\tmpdima\copy\nbxc% \kern-\wd\nbxc% \advance\tmpdima by -\dp\nbxc\relax% \advance\tmpdima by -\ht\nbxd\relax% \advance\tmpdima by -0.1ex\relax% \raise\tmpdima\copy\nbxd% \kern-\wd\nbxd% \advance\tmpdima by -\dp\nbxd\relax% \advance\tmpdima by -\ht\nbxe\relax% \advance\tmpdima by -0.1ex\relax% \raise\tmpdima\copy\nbxe% \tmpdima=\wd\nbxf% \advance\tmpdima by -\wd\nbxa\relax% \advance\tmpdima by -\wd\nbxe\relax% \ifdim\tmpdima>\z@% \kern\tmpdima% \fi% }% \unhbox\nbxi% } % \def\HH.#1.#2.#3.#4.#5.{% \ifthenelse{\equal{#1}{}}{}{}% \ifthenelse{\equal{#5}{}}% {\ifthenelse{\equal{#4}{}}% {\HAa{#1}{#2}{#3}}% {\HAb{#1}{#2}{#3}{#4}}}% {\HAc{#1}{#2}{#3}{#4}{#5}}% } % \newcommand{\FERM}[2][0.1pt]{% \setbox\nbxi=\hbox{% \FAM% \setbox\nbxa=\hbox{#2}% \setbox\nbxb=\hbox to \wd\nbxa{\hss$\smallfrown$\hss}% \setbox\nbxc=\hbox to \wd\nbxa{\hss{\rmfamily .}\hss}% \setbox\nbxd=\hbox{% \copy\nbxb% \kern-\wd\nbxa% \raise0.23ex\copy\nbxc% }% \copy\nbxa% \tmpdima=\ht\nbxa% \advance\tmpdima by 0.1ex\relax% \ifdim\tmpdima<1.452ex \tmpdima=1.452ex\fi\relax% \setbox\nbxe=\hbox{$\smallfrown$}% \ifdim #1=\z@% \tmpdimb=\wd\nbxa\relax% \else% \tmpdimb=1.5\wd\nbxa% \advance\tmpdimb by -0.5\wd\nbxe\relax% \advance\tmpdimb by -#1\relax% \fi% \kern-\tmpdimb% \raise\tmpdima\copy\nbxd% \advance\tmpdimb by -\wd\nbxa\relax% \kern\tmpdimb }% \unhbox\nbxi% } % \newcommand{\Fermi}[1]{\FERM[\z@]{#1}} \newcommand{\Ferli}[2][0.1pt]{\FERM[#1]{#2}} % \newcommand{\Umd}[2][0pt]{% \setbox\nbxa=\hbox{$\widetilde{\phantom{OO}}$}% \setbox\nbxb=\hbox{#2}% \tmpdima=0.5\wd\nbxa% \advance\tmpdima by 0.5\wd\nbxb\relax% \hbox{% \raise#1\copy\nbxa% \kern-\tmpdima\box\nbxb% }} % \newcommand{\Kr}[1]{% \ifthenelse{\equal{\@ptsize}{2}}{\@tempcnta=110}% {\ifthenelse{\equal{\@ptsize}{1}}{\@tempcnta=109}% {\@tempcnta=108}}% \setbox\nbxi=\hbox{% \FAM\small% \setbox\nbxa=\hbox{#1}% \setbox\nbxb=\hbox{\KREIS\char\@tempcnta}% \setbox\nbxc=\hbox to \wd\nbxb{\hss #1\hss}% \tmpdima=0.5\ht\nbxa% \advance\tmpdima by -0.4\dp\nbxa\relax% \copy\nbxc% \kern-0.5\wd\nbxb% \raise\tmpdima\copy\nbxb% \kern-0.5\wd\nbxb% }% \unhbox\nbxi% } % \newcommand{\ueber}[2]{% \setbox\nbxi=\hbox{% \FAM% \setbox\nbxa=\hbox{\scriptsize #1}% \setbox\nbxb=\hbox{\scriptsize #2}% \ifdim\wd\nbxa>\wd\nbxb% \tmpdima=\wd\nbxa% \else% \tmpdima=\wd\nbxb% \fi% \setbox\nbxa=\hbox to \tmpdima{\scriptsize\hss#1\hss}% \setbox\nbxb=\hbox to \tmpdima{\scriptsize\hss#2\hss}% \lower0.3ex\copy\nbxb% \kern-\wd\nbxb% \raise0.8\ht\nbxb% \box\nbxa% }% \unhbox\nbxi% }% \newcommand{\Takt}[2]{{% \ifthenelse{\equal{#1}{c}}% {\ifthenelse{\equal{#2}{0}}{% \raisebox{0.58ex}[8pt][2pt]{{\kern-1pt\NOTEN\symbol{83}\kern0.3em}}}% {\raisebox{0.58ex}[8pt][2pt]{\kern-1pt\NOTEN\symbol{82}\kern0.3em}}}% {\kern0.05em\ueber{#1}{#2}\kern0.05em% }}} % \newcommand{\Ganz}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{9}}\kern1.35em}} \newcommand{\Halb}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{8}\kern0.936em% \raisebox{0.55ex}{\symbol{16}}}\kern0.2em}} \newcommand{\Vier}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{7}\kern0.955em% \raisebox{0.55ex}{\symbol{16}}}\kern0.2em}} \newcommand{\Acht}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{7}\kern0.955em% \raisebox{0.55ex}{\symbol{16}}}\symbol{40}\kern0.9em}} \newcommand{\Sech}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{7}\kern0.955em% \raisebox{0.55ex}{\symbol{16}}}\symbol{41}\kern0.9em}} \newcommand{\Zwdr}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{7}\kern0.955em% \raisebox{0.55ex}{\symbol{16}}}\symbol{42}\kern0.9em}} \newcommand{\GaPa}{{\NOTEN\kern0.055em\raisebox{0.25ex}{\symbol{60}}\kern0.05em}} \newcommand{\HaPa}{{\NOTEN\kern0.055em\raisebox{0.25ex}{\symbol{60}}\kern0.05em}} \newcommand{\ViPa}{{\NOTEN\kern0.05em\raisebox{-0.8ex}{\symbol{62}}\kern0.955em}} \newcommand{\AcPa}{{\NOTEN\kern0.05em\raisebox{-0.8ex}{\symbol{63}}\kern1.2em}} \newcommand{\SePa}{{\NOTEN\kern0.15em\raisebox{-0.4ex}{\symbol{64}}\kern1.3em}} \newcommand{\ZwPa}{{\NOTEN\kern0.25em\raisebox{-0.8ex}{\symbol{65}}\kern1.4em}} \newcommand{\Pu}{{\NOTEN\kern-0.2em\raisebox{-0.5ex}{\symbol{24}}\kern1em}} \newcommand{\AAcht}{\Vier\kern0.1em\Vier{\NOTEN\kern-1.72em\raisebox{3.1ex}% {\symbol{61}\kern-0.87em\symbol{61}}}} \newcommand{\AchtBL}% 2007/05/03 {\kern0.135em\Vier% {\NOTEN\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern0.09em}} \newcommand{\SechBL}% 2007/05/03 {\kern0.135em\Vier% {\NOTEN\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}% \kern-1.63em\raisebox{2.3ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern0.09em}} \newcommand{\SechBl}% 2007/05/03 {\kern0.135em\Vier% {\NOTEN\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}% \kern-1.63em\raisebox{2.3ex}{{\noten\kern0.9em\symbol{61}}}\kern0.09em}} \newcommand{\AchtBR}% 2007/05/03 {\kern0.135em\Vier% {\NOTEN\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern-1em}} \newcommand{\SechBR}% 2007/05/03 {\kern0.135em\Vier% {\NOTEN\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}% \kern-1.63em\raisebox{2.3ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern-1.01em}} \newcommand{\SechBr}% 2007/05/03 {\kern0.135em\Vier% {\NOTEN\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}% \kern-1.63em\raisebox{2.3ex}{{\noten\kern-0.12em\symbol{61}}}\kern-0.3em}} % etc. ... ! Define your own commands!