summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/menu/menu.sty
blob: d6f3dd109c671241d148dd8a2b86043f7acffad4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
%%
%% 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 <knut@lickert.net>
%% Location on CTAN:     tex-archive/macros/latex/contrib/lickert
%% 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.98}
\def\filedate{2003/12/20}
%%
%% \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         \~}
%%
%% ^^A Example for a new style
%% \newlength{\menusep}
%% \menusymbols[\setlength{\menusep}{0em}~\\]{
%%    \\
%%    \addtolength{\menusep}{1em}
%%    \hspace*{\menusep}
%%  }{
%%    $\wr$\\
%%    \addtolength{\menusep}{2em}
%%    \hspace*{\menusep}
%%  }[
%%  \ensuremath{\Leftarrow}
%%  ]
\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}\expandafter\@menuto\@menuParTwo <\@menu#2!<%
\fi%
}
\def\@menuto#1#2<{\ifx!#1\else\@menusymbolOne\xspace\fi}
\def\@menuTo#1#2<{\ifx!#1\else\@menusymbolTwo\xspace\fi}
\newcommand*\@menusymbolStart{}
\newcommand*\@menusymbolEnd{}
\newcommand*\@menusymbolOne{\xspace\ensuremath{\rightarrow}}
\newcommand*\@menusymbolTwo{\xspace\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{\xspace\ensuremath{#2}}
\renewcommand*\@menusymbolTwo{\xspace\ensuremath{#3}}
}
\DeclareOption{big}{
\newlength{\menusep}
\menusymbols[
   \setlength{\menusep}{0em}~\\
 ]{
   \\
   \addtolength{\menusep}{1em}
   \hspace*{\menusep}
 }{
   $\wr$\\
   \addtolength{\menusep}{2em}
   \hspace*{\menusep}
 }[
 \ensuremath{\Leftarrow}
 ]
}
\ProcessOptions
\endinput
%%
%% End of file `menu.sty'.