diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/musixtex/addons/underbracket.sty')
-rw-r--r-- | Master/texmf-dist/doc/generic/musixtex/addons/underbracket.sty | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/musixtex/addons/underbracket.sty b/Master/texmf-dist/doc/generic/musixtex/addons/underbracket.sty new file mode 100644 index 00000000000..994aee60ba1 --- /dev/null +++ b/Master/texmf-dist/doc/generic/musixtex/addons/underbracket.sty @@ -0,0 +1,190 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% LaTeX package underbracket +% +% draws brackets to underline text +% (especially, but not exclusively, syllables of song text) +% +% v1.2 by Bernd Jantzen +% For e-mail contact please use "ctan" before the "@"-sign +% and "bernd-jantzen.de" after it to form my address +% (not given in full clear text here to prevent spam). +% +% This package draws brackets to underline text (especially, +% but not exclusively, syllables of song text). +% It may be combined with musixtex/musixlyr, within the argument of +% the \setlyrics command or outside the music score. +% It provides several macros to define brackets which may e.g. start +% and end centered below syllables. +% Three length variables are provided to allow a fine adjustment +% of the bracket parameters. +% +% This material is subject to the LaTeX Project Public License. +% See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html +% for the details of that license. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Commands: +% +% \underbracket{TEXT} +% draws a bracket underlining TEXT +% the bracket starts below the left end of TEXT +% and stops below the right end of TEXT +% +% \Underbracket{TEXT} +% like \underbracket, but reserves no vertical space below the text +% +% \cunderbracket{LEFT}{TEXT}{RIGHT} +% draws a bracket underlining LEFTTEXTRIGHT +% the bracket starts centered below LEFT and stops centered below RIGHT +% +% \cUnderbracket{LEFT}{TEXT}{RIGHT} +% like cunderbracket, but reserves no vertical space below the text +% +% +% The commands \[c]underbracket do well in normal text which is aligned +% according to the baseline. The vertical space reserved below the text +% guarantees the distance to the next line. +% The commands \[c]Underbracket do well within the \setlyrics command of +% musixlyr where the text is vertically centered between the staves. Vertical +% space reserved below the text would shift the whole text upwards here. +% +% +% Adjustable length parameters: +% (change e.g. with \setlength{\underbracketheight}{4pt}) +% +% \underbracketwidth (default 0.3pt): +% linewidth of the bracket +% +% \underbracketheight (default 3pt): +% height of the bracket (length of the vertical lines) +% +% \underbracketsep (default 2pt): +% vertical distance between the lowest part of the text +% and the upper end of the bracket; +% also minimal vertical distance below the bracket +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ProvidesPackage{underbracket}[2004/03/24 v1.2 LaTeX package underbracket] +\NeedsTeXFormat{LaTeX2e} + +% declare length variables +\newlength{\underbracketwidth} +\newlength{\underbracketheight} +\newlength{\underbracketsep} +\newlength{\underbracketlength} +\newlength{\underbracketdist} + +% need calc pages for adding lengts +\RequirePackage{calc} + +% \underbracket{TEXT} +% draws a bracket underlining TEXT +% the bracket starts below the left end of TEXT +% and stops below the right end of TEXT +% +\newcommand{\underbracket}[1]{% + \settodepth{\underbracketdist}{#1}% + \addtolength{\underbracketdist}{\underbracketsep+\underbracketheight}% + \mbox{% + \rule[-\underbracketdist-\underbracketsep]{0pt}{\underbracketsep}% + \makebox[0pt][l]{% + \rule[-\underbracketdist]{\underbracketwidth}{\underbracketheight}}% + \settowidth{\underbracketlength}{#1}% + \makebox[0pt][l]{% + \rule[-\underbracketdist]{\underbracketlength}{\underbracketwidth}}% + \mbox{#1}% + \makebox[0pt][r]{% + \rule[-\underbracketdist]{\underbracketwidth}{\underbracketheight}}% + }% +} + +% \Underbracket{TEXT} +% like \underbracket, but reserves no vertical space below the text +% +\newcommand{\Underbracket}[1]{% + \settodepth{\underbracketdist}{#1}% + \addtolength{\underbracketdist}{\underbracketsep+\underbracketheight}% + \mbox{% + \raisebox{0pt}[0pt][0pt]{\makebox[0pt][l]{% + \rule[-\underbracketdist]{\underbracketwidth}{\underbracketheight}}}% + \settowidth{\underbracketlength}{#1}% + \raisebox{0pt}[0pt][0pt]{\makebox[0pt][l]{% + \rule[-\underbracketdist]{\underbracketlength}{\underbracketwidth}}}% + \mbox{#1}% + \raisebox{0pt}[0pt][0pt]{\makebox[0pt][r]{% + \rule[-\underbracketdist]{\underbracketwidth}{\underbracketheight}}}% + }% +} + +% \cunderbracket{LEFT}{TEXT}{RIGHT} +% draws a bracket underlining LEFTTEXTRIGHT +% the bracket starts centered below LEFT and stops centered below RIGHT +% +\newcommand{\cunderbracket}[3]{% + \settodepth{\underbracketdist}{#1#2#3}% + \addtolength{\underbracketdist}{\underbracketsep+\underbracketheight}% + \mbox{% + \rule[-\underbracketdist-\underbracketsep]{0pt}{\underbracketsep}% + \settowidth{\underbracketlength}{#1}% + \makebox[0pt][l]{% + \hspace*{0.5\underbracketlength}% + \makebox[0pt]{% + \rule[-\underbracketdist]{\underbracketwidth}{\underbracketheight}}% + \rule[-\underbracketdist]{0.5\underbracketlength}{\underbracketwidth}}% + \mbox{#1}% + \settowidth{\underbracketlength}{#2}% + \makebox[0pt][l]{% + \rule[-\underbracketdist]{\underbracketlength}{\underbracketwidth}}% + \mbox{#2}% + \settowidth{\underbracketlength}{#3}% + \makebox[0pt][l]{% + \rule[-\underbracketdist]{0.5\underbracketlength}{\underbracketwidth}% + \makebox[0pt]{% + \rule[-\underbracketdist]{\underbracketwidth}{\underbracketheight}}}% + \mbox{#3}% + }% +} + +% \cUnderbracket{LEFT}{TEXT}{RIGHT} +% like cunderbracket, but reserves no vertical space below the text +% +\newcommand{\cUnderbracket}[3]{% + \settodepth{\underbracketdist}{#1#2#3}% + \addtolength{\underbracketdist}{\underbracketsep+\underbracketheight}% + \mbox{% + \settowidth{\underbracketlength}{#1}% + \raisebox{0pt}[0pt][0pt]{\makebox[0pt][l]{% + \hspace*{0.5\underbracketlength}% + \makebox[0pt]{% + \rule[-\underbracketdist]{\underbracketwidth}{\underbracketheight}}% + \rule[-\underbracketdist]{0.5\underbracketlength}{\underbracketwidth}}}% + \mbox{#1}% + \settowidth{\underbracketlength}{#2}% + \raisebox{0pt}[0pt][0pt]{\makebox[0pt][l]{% + \rule[-\underbracketdist]{\underbracketlength}{\underbracketwidth}}}% + \mbox{#2}% + \settowidth{\underbracketlength}{#3}% + \raisebox{0pt}[0pt][0pt]{\makebox[0pt][l]{% + \rule[-\underbracketdist]{0.5\underbracketlength}{\underbracketwidth}% + \makebox[0pt]{% + \rule[-\underbracketdist]{\underbracketwidth}{\underbracketheight}}}}% + \mbox{#3}% + }% +} + +% adjustable length parameters +% +% linewidth of the bracket +\setlength{\underbracketwidth}{0.3pt} +% +% height of the bracket (length of the vertical lines) +\setlength{\underbracketheight}{3pt} +% +% vertical distance between the lowest part of the text +% and the upper end of the bracket; +% also minimal vertical distance below the bracket +\setlength{\underbracketsep}{2pt} + |