%% %% This is file `menu.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% menu.dtx (with options: `package') %% ---------------------------------------------------------------------- %% Name of contribution: Menu %% Name and email: Knut Lickert %% Location on CTAN: tex-archive/macros/latex/contrib/menu %% More details: http://www.lickert.net/tex/menu %% Summary description: Package for writing menus %% %% Announcement text: %% Menu.sty provide a command %% \menu{Programm!!Menu1!Command} %% and expand it to something like Programm=>Menu1->Command %% ---------------------------------------------------------------------- \def\fileversion{v0.994} \def\filedate{2007/11/18} %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{menu}[ \filedate\space\fileversion\space menu-Package] \typeout{menu.sty: Support of typeout menus} \RequirePackage{xspace} \newcommand{\menu}[1]{\@menusymbolStart\@menu #1!<\@menusymbolEnd} \newcommand{\menutext}[1]{\texttt{#1}} \def\@menu#1!#2<{% \def\@menuParOne{#1}% \def\@menuParTwo{#2}% \def\gt{!}% \ifx\@empty\@menuParOne% {\ifx\@menuParTwo\gt% \else\expandafter\@menuTo\@menuParTwo <\@menu#2<% \fi}% \else% \menutext{#1}% \ifx\@menuParTwo\@empty% \else% \expandafter\@menuto\@menuParTwo <\@menu#2!<% \fi% \fi% } \def\@menuto#1#2<{\ifx!#1\else\@menusymbolOne\allowbreak\fi} \def\@menuTo#1#2<{\ifx!#1\else\@menusymbolTwo\allowbreak\fi} \newcommand*\@menusymbolStart{} \newcommand*\@menusymbolEnd{} \newcommand*\@menusymbolOne{\ensuremath{\rightarrow}} \newcommand*\@menusymbolTwo{\ensuremath{\Rightarrow}} \newcommand*\menusymbols[3][]{% \renewcommand*\@menusymbolStart{#1}% \renewcommand*\@menusymbolOne{#2}% \renewcommand*\@menusymbolTwo{#3}% \@menusymbols% } \newcommand*\@menusymbols[1][]{% \renewcommand*\@menusymbolEnd{#1}% } \newcommand*\menumathsymbols[3][]{ \renewcommand*\@menusymbolStart{\ensuremath{#1}} \renewcommand*\@menusymbolOne{\ensuremath{#2}} \renewcommand*\@menusymbolTwo{\ensuremath{#3}} } \menumathsymbols{\rightarrow}{\Rightarrow} \newlength{\menuitemlength} \newlength{\menusep} \setlength{\menuitemlength}{6em} \setlength{\menusep}{3em} \newcommand\menuitemactivesymbol{\ensuremath{\Leftarrow}}% \newenvironment{menufolder}[2][\menuitemlength]{% \begin{minipage}{2#1}% \setlength{\parskip}{0pt}% \menufolderentry[#1]{#2}\par% \addtolength{\leftskip}{\menusep}% }{% \end{minipage}% } \newcommand\menufolderentry[2][\menuitemlength]{% \makebox[#1][l]{\menutext{#2}\hfill}% } \newcommand\menuitem[2][\menuitemlength]{% \makebox[#1][l]{\menutext{#2}\hfill}\par% } \newcommand\menuitemactive[2][\menuitemlength]{% \makebox[#1][l]{\menutext{\emph{#2}}\hfill\menuitemactivesymbol}\par% } \newcommand\menuseparator[1][\menuitemlength]{% \makebox[#1][l]{~\hrulefill~}\par% } \newif\ifmenuoptionhand \DeclareOption{hand}{ \menuoptionhandtrue } \newif\ifmenuoptionframed \DeclareOption{framed}{ \menuoptionframedtrue } \newif\ifmenuoptiongrey \DeclareOption{grey}{ \menuoptiongreytrue } \ProcessOptions\relax \ifmenuoptionhand \RequirePackage{bbding}%fuer \HandLeftUp \renewcommand\menuitemactivesymbol{\HandLeftUp}% \fi%ifmenuoptionhand \ifmenuoptionframed \RequirePackage{fancybox}%fuer shadowbox \renewcommand\menufolderentry[2][\menuitemlength]{% \framebox[#1][l]{\menutext{#2}\hfill}% } \renewcommand\menuitem[2][\menuitemlength]{% \framebox[#1][l]{\menutext{#2}\hfill}\par% } \renewcommand\menuitemactive[2][\menuitemlength]{% \shadowbox to #1{\menutext{\emph{#2}}\hfill\menuitemactivesymbol}\par% } \fi%Option framed \ifmenuoptiongrey \RequirePackage{fancybox}%fuer shadowbox \RequirePackage{color}%fuer farbige Boxen \definecolor{menugrey}{rgb}{0.9,0.9,0.9} \renewcommand\menufolderentry[2][\menuitemlength]{% \fcolorbox{white}{black}{\makebox[#1]{\menutext{\textcolor{white}{#2}}}}\par% } \renewcommand\menuitem[2][\menuitemlength]{% \fcolorbox{black}{menugrey}{\makebox[#1]{\menutext{\textcolor{white}{#2\hfill}}}}\par% } \renewcommand\menuitemactive[2][\menuitemlength]{% \textsf{\hspace*{1ex}\shadowbox to #1 {\menutext{#2}\hfill\menuitemactivesymbol}}\par%fixme } \renewcommand\menuseparator[1][\menuitemlength]{% \makebox[#1][l]{~\hrulefill~}\par% } \fi%Option grey \endinput %% %% End of file `menu.sty'.