diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:55:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:55:02 +0000 |
commit | 852770c15a43a13ef4dfee0594bf733d944cb459 (patch) | |
tree | e37ab23c930ffc0c72668c920df4d34f4cee46ea | |
parent | b666f84e2a883ef2518e7df007bdab97e4a96c29 (diff) |
trunk/Master/texmf-dist/source/latex/menu
git-svn-id: svn://tug.org/texlive/trunk@381 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/source/latex/menu/menu.dtx | 348 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/menu/menu.ins | 31 |
2 files changed, 379 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/menu/menu.dtx b/Master/texmf-dist/source/latex/menu/menu.dtx new file mode 100644 index 00000000000..6662bd03c0a --- /dev/null +++ b/Master/texmf-dist/source/latex/menu/menu.dtx @@ -0,0 +1,348 @@ +\def\fileversion{v0.98} +\def\filedate{2003/12/20} +% ^^A For index and changes, run: +% ^^A makeindex -s gglo -o Menu.gls Menu.glo +% ^^A makeindex -s gind -o Menu.ind Menu.idx +% +% \CheckSum{95} +%% +%% \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 \~} +%% +% \DoNotIndex{\" , \-, \flqq,\frqq, \ ,\def, \begin, \end} +% \DoNotIndex{\csname,\endcsname, \expandafter, \global, \newcommand} +% \DoNotIndex{\advance, \filedate, \fileversion, \MessageBreak} +% \DoNotIndex{\newcount, \newcounter, \newif, \or} +% \DoNotIndex{\if, \else, \fi, \ifcase, \ifdefined, \ifnum, \ifx, \loop, \repeat} +% \DoNotIndex{\heartsuit} +% \DoNotIndex{\NeedsTeXFormat, \providecommand, \ProvidesPackage, \relax, \RequirePackage} +% \DoNotIndex{\par, \chapter, \section, \subsection, \subsubsection, \paragraph, } +% \DoNotIndex{\selectlanguage, \stepcounter, \ss, \space, \setcounter} +% \DoNotIndex{\value, \typeout, \long, \renewcommand} +% +% \iffalse +%<*driver> +\documentclass{ltxdoc} +\usepackage{menu} +\usepackage{makeidx} +%\IfFileExists{hyperref.sty}{\usepackage{hyperref}}{} +\IfFileExists{keystroke.sty}{ + \usepackage{keystroke} + }{ + \newcommand{\keystroke}[1]{\fbox{##1}} + } +\CodelineIndex +\makeindex +\OnlyDescription +\begin{document} + \DocInput{menu.dtx} +\end{document} +%</driver> +% +%<*package> +% \fi +% \title{Menu.sty: Typesetting menus} +% \author{Knut Lickert} +% \maketitle +% +%\begin{abstract} +% Menu.sty define a command |\menu{Programm!!Menu1!Command}| and +% expand it to something like \menu{Programm!!Menu1!Command}. You +% can use it for documentations of programs. +%\end{abstract} +% +% \section{Where to use the style} +% If you write a documentation of a program you have to define +% things like "Push button \keystroke{F1} or go to the Menu to +% \menu{Help!Help} and you get help". This style help you to write +% the menu entry. +% +% \subsection{Other packages} +% I have not found a package to typeset menus (that's why this style +% was written). If you find one, please contact me +% (knut@lickert.net). +% +% \begin{description} +% \item[keystroke] +% A \LaTeX\ package which provides macros for the graphical +% representation of the keys on a computer keyboard.\par +% Example: \Ctrl, \Shift \AltGr +% \end{description} +% +% +% \section{How to use the style} +% \DescribeMacro{\menu} +% |\menu| has one parameter. The macro is used to typeset a path in a +% menu. Like |\index| different levels are separated with a "!" +% inside the parameter. Instead a "!" you can use two "!!" and so you +% can define bigger steps in the menu. I use programs, where a menu +% is starting another menu (e.g.\ in a popup). So instead of saying +% "Goto \menu{Menu1!Entry1!Menu2} and then from +% \menu{Menu2!Menu3!Entry3}" I write "Goto +% \menu{Menu1!Entry1!Menu2!!Menu3!Entry3}. +% \DescribeMacro{\menutext} +% An step of a menu is written with this macro, default is +% |\texttt|. You can change it with |\renewcommand|, e.g.\ +% |\renewcommand{\menutext}[1]{\emph{#1}| +% +% \subsection{Changing the look} +% \DescribeMacro{\menumathsymbols} +% If you want to replace the symbols, you can use |\menusymbols|. +% Parameter one is the flag for "!", Parameter for "!!". +% +% \DescribeMacro{\menusymbols} +% Like |\menumathsymbols| with two differences: +% \begin{itemize} +% \item There is no math-environment (if you need it, you can +% guarantee it with |\ensuremath|) +% \item There are two optional parameters, defining a start and +% end command of a menu. +% \end{itemize} +% This command gives you a flexible possibility to change the look +% of menus. +% +% \begin{description} +% \item[$\backslash$menusymbols] Define a style with the parameters: +% \item[{[Start]}] How should a menu start.\par +% A |\par| is not allowed, but you can use a |\\|. If a paragraph +% ends before the |\menu|, you must use |~\\| instead. +% \item[\{\}] The look/actions for a "!" in a menu. +% \item[\{\}] The look/actions for a "!!" in a menu. +% \item[{[End]}] How should a menu end. +% \end{description} +% +% +% +% \section{Examples} +% \newcommand{\example}[1]{\texttt{$\backslash$menu\{#1\}} & \menu{#1}\\} +% +% \subsection{Predefined look} +% \begin{tabular}{ll} +% Coding & Result\\\hline +% \example{Menu!Menu} +% \example{Menu!!Menu} +% \example{Menu!!Next Menu!Entry} +% \end{tabular} +% +% \subsection{Changed symbols} +% \menumathsymbols{>}{\gg} +% After |\menumathsymbols{>}{\gg}| you get\par +% \begin{tabular}{ll} +% Coding & Result\\\hline +% \example{Menu!Menu} +% \example{Menu!!Menu} +% \example{Menu!!Next Menu!Entry} +% \end{tabular} +% +% Attention: If you want to change it local, you must define a +% block. +% +% \subsection{Define your own styles} +% You can define your own "styles", |\menu{Menu!!Next Menu!Entry}| +% makes an entry like: +% +% \begin{minipage}[t]{0.5\textwidth} +%\begin{verbatim} +%\newlength{\menusep} +%\menusymbols[ +% \setlength{\menusep}{0em}~\\ +% ]{ +% \\ +% \addtolength{\menusep}{1em} +% \hspace*{\menusep} +% }{ +% $\wr$\\ +% \addtolength{\menusep}{2em} +% \hspace*{\menusep} +% }[ +% \ensuremath{\Leftarrow} +% ] +%\end{verbatim} +% \end{minipage} +% \begin{minipage}[t]{0.4\textwidth} +%% ^^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} +%% ] +% \menu{Menu!!Next Menu!Entry} +% \end{minipage} +% +% +% \section{Ideas for the future} +% \begin{itemize} +% \item Create Index entries for menus (optional)\par +% If I do it, it would be an additional index (style multind). +% I think this would be wrong in the normal index. +% \item An optional parameter: |\menu[Programm]{Menu!...}|\par +% Does anybody need it? At the moment I think there is no need. +% When there is the possibility of index entries, then it could be sensefull +% (Index is sorted by Programm, Menu1, Menu2\ldots). +% \item A command |\popup| or |\rightmouse| to define a click on the +% right mouse button. |\click[Feld]{menu!entry}|. +% This function could be a feature of the package keystroke. +% %^^A use mousesymbols.tex +% \end{itemize} +% +% Any comments? Up to now I don't need this features, so I will not +% implement them. If you need it, or think you have a better idea, +% send me a mail to knut@lickert.net. +% +% If you built your own "fancy" style, or have another idea to use +% "!!" and "!", please send me your idea. +% +% \StopEventually\relax +% \part*{Implementation} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{menu}[ + \filedate\space\fileversion\space menu-Package] +\typeout{Menu.sty: Support of typeout menus} +\RequirePackage{xspace} +%\RequirePackage{keystroke}[2003/08/15 v1.5] +% \end{macrocode} +% +% \section{Commands} +% \begin{macro}{\menu} +% Take the parameter and send it with an endflag ("\(<\)") to |\@menu|. +% \begin{macrocode} +\newcommand{\menu}[1]{\@menusymbolStart\@menu #1!<\@menusymbolEnd} +% \end{macrocode} +% \end{macro}%^^A{\menu} +% +% \begin{macro}{\menutext} +% How to write one step of the menu? +% \begin{macrocode} +\newcommand{\menutext}[1]{\texttt{#1}} +% \end{macrocode} +% \end{macro}%^^A{\menu} +% +% \begin{macro}{\@menu} +% Get two parameters, seperated with "!". +% Parameter one can be: +% \begin{macrocode} +\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% +} +% \end{macrocode} +% \end{macro}%^^A{\@menu} +% \begin{macro}{\@menuto} +% \begin{macrocode} +\def\@menuto#1#2<{\ifx!#1\else\@menusymbolOne\xspace\fi} +% \end{macrocode} +% \end{macro}%^^A{\menuto} +% \begin{macro}{\@menuTo} +% \begin{macrocode} +\def\@menuTo#1#2<{\ifx!#1\else\@menusymbolTwo\xspace\fi} +% \end{macrocode} +% \end{macro}%^^A{\menuTo} +% +% \section{The different symbols} +% \begin{macro}{\@menusymbolStart} +% The symbol, printed on start of |\menu|. +% \begin{macrocode} +\newcommand*\@menusymbolStart{} +\newcommand*\@menusymbolEnd{} +% \end{macrocode} +% \end{macro}%^^A{\@menusymbolOne} +% \begin{macro}{\@menusymbolOne} +% The symbol, printed when a "!" occurs in |\menu|. +% The |\xspace| allows a line break after the symbol. I tried |\-| +% (no effect) and |\linebreak[3]|, but the best result was with space. +% \begin{macrocode} +\newcommand*\@menusymbolOne{\xspace\ensuremath{\rightarrow}} +% \end{macrocode} +% \end{macro}%^^A{\@menusymbolOne} +% \begin{macro}{\@menusymbolTwo} +% The symbol, printed when a "!!" occurs in |\menu|. +% \begin{macrocode} +\newcommand*\@menusymbolTwo{\xspace\ensuremath{\Rightarrow}} +% \end{macrocode} +% \end{macro}%^^A{\@menusymbolTwo} +% +% \begin{macro}{\menusymbol} +% Redefine the symbols for "!" and "!!". +% \begin{macrocode} +\newcommand*\menusymbols[3][]{ +\renewcommand*\@menusymbolStart{#1} +\renewcommand*\@menusymbolOne{#2} +\renewcommand*\@menusymbolTwo{#3} +\@menusymbols +} +% \end{macrocode} +% \end{macro}%^^A{\@menusymbols} +% +% \begin{macro}{\@menusymbol} +% Define the End-Makro for a menu. +% \begin{macrocode} +\newcommand*\@menusymbols[1][]{ +\renewcommand*\@menusymbolEnd{#1} +} +% \end{macrocode} +% \end{macro}%^^A{\@menusymbols} +% \begin{macro}{\menumathsymbols} +% Redefine the symbols for "!" and "!!". +% \begin{macrocode} +\newcommand*\menumathsymbols[3][]{ +\renewcommand*\@menusymbolStart{\ensuremath{#1}} +\renewcommand*\@menusymbolOne{\xspace\ensuremath{#2}} +\renewcommand*\@menusymbolTwo{\xspace\ensuremath{#3}} +} +% \end{macrocode} +% \end{macro}%^^A{\@menumathsymbol} +% +% \begin{macrocode} +\DeclareOption{big}{ +\newlength{\menusep} +\menusymbols[ + \setlength{\menusep}{0em}~\\ + ]{ + \\ + \addtolength{\menusep}{1em} + \hspace*{\menusep} + }{ + $\wr$\\ + \addtolength{\menusep}{2em} + \hspace*{\menusep} + }[ + \ensuremath{\Leftarrow} + ] +} +\ProcessOptions +% \end{macrocode} +% +% +% \Finale +% \PrintIndex +% \end{document} +%</package> diff --git a/Master/texmf-dist/source/latex/menu/menu.ins b/Master/texmf-dist/source/latex/menu/menu.ins new file mode 100644 index 00000000000..b8697e0c238 --- /dev/null +++ b/Master/texmf-dist/source/latex/menu/menu.ins @@ -0,0 +1,31 @@ +\def\batchfile{menu.ins} +\input docstrip.tex +\keepsilent +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\preamble +---------------------------------------------------------------------- +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 + \string\menu{Programm!!Menu1!Command} +and expand it to something like Programm=>Menu1->Command +---------------------------------------------------------------------- +\endpreamble + +\generateFile{menu.sty}{f}{\from{menu.dtx}{package}} + +\Msg{***************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to copy the files } +\Msg{*} +\Msg{*\space\space *.sty, *.cfg into a directory searched by TeX} +\Msg{*} +\Msg{***************************************************************} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput |