% mupad.sty 1-June-92
% Some special definitions for MuPAD-Manual
% Last change: 24-June-92
% Changed for second printing: 12-October-92

% Changed for compatibility with `Mhelp.sty': 
%       1-Mar-96 (roehrig)

\def\fileversion{v1.0}
\def\filedate{93/11/03}

\typeout{Style-Option: `mupad' \fileversion \space <\filedate>  (kamo)}

%%\input mssymb

% New macros (kg, 13/08/93)
% 
% \mupgt, \mupless, \muppipe, \mupmaxint, \muparrow, \mupdots, \mupbacksl,
% \muptimes, \mupsetleft, \mupsetright
%

\ifmacintosh
\def\mupgt{{\tt\mupttgt}}
\def\mupless{{\tt\mupttlt}}
\def\mupneq{=\hspace*{-1.5ex}/\ }
\def\muppipe{{\tt\char"7C}}
\def\mupmaxint{2\raisebox{1ex}{\footnotesize 31}-1}
\def\mupmaxlong{2\raisebox{1ex}{\footnotesize 32}-1}
\def\muparrow{{\tt -\hspace*{-0.2ex}-\hspace*{-0.2ex}-\hspace*{-1ex}\mupttgt}}
\def\mupdots{...}
\def\mupbacksl{{\tt\char"5C}}
\def\muptimes{\/\/}
\def\mupsetleft{{\tt\mupsetl}}
\def\mupsetright{{\tt\mupsetr}}
\newcommand{\mupmath}[2]{{\tt #1}}
\newcommand{\mupdmath}[2]{\begin{quote} {\tt #1} \end{quote}}
\else
\def\mupgt{$>$}
\def\mupless{$<$}
\def\mupneq{$\neq$}
\def\muppipe{$|$}
\def\mupmaxint{$2^{31}-1$}
\def\mupmaxlong{$2^{32}-1$}
\def\muparrow{$\longrightarrow$}
\def\mupdots{$\ldots$}
\def\mupbacksl{$\backslash$}
\def\muptimes{$\times$}
\def\mupsetleft{\{}
\def\mupsetright{\}}
\newcommand{\mupmath}[2]{$#2$}
\newcommand{\mupdmath}[2]{\[#2\]}
\fi
 
\newlength{\muptopsep}
\muptopsep\topsep
\advance\muptopsep by \partopsep

%
% New command for loading of files
% It defines a global macro \Mfilename
% Parameters: 
%       #1 - Directory
%       #2 - Filename (without suffix .tex)
%
\def\owninput#1#2{%
\gdef\Mfilename{#2}%
\input{#1/#2}
}

\def\owninclude#1#2{%
\gdef\Mfilename{#2}%
\newpage
\input{#1/#2}
}


\def\printbreak{\ifhypermode \else \pagebreak \fi}
\def\printnobreak{\ifhypermode \else \nopagebreak \fi}



%
% Warnungen
%
\newsavebox{\Mupwarningcontents}
\sbox{\Mupwarningcontents}{%
%\marginparsep0.0pt 
\ifmacintosh
{\makebox(10,10){\LARGE \ \/!\ \/!\ \/}}
\else
\unitlength1.0mm
\begin{picture}(10,10)
\thicklines
\put(0,0){\line(1,0){10}}
\put(0,0){\line(1,2){5}}
\put(10,0){\line(-1,2){5}}
\put(0,-1){\makebox(10,10){\LARGE !}}
\end{picture}
\fi
}
\newcommand{\Mupwarning}{%
\marginpar[\hfill\raisebox{-13.5mm}{\usebox{\Mupwarningcontents}}]{\raisebox{-13.5mm}{\usebox{\Mupwarningcontents}}}%
}

\newdimen\mydimen
\mydimen=\textwidth
\advance\mydimen by -5pt
\newcommand{\syntax}[1]{%
{\bf Syntax:}\nopagebreak\\
\nopagebreak
\\
\nopagebreak
\shframe{3}{0}{\mydimen}{\parbox{\mydimen}{#1}}}


%********** FRAMING ************************************************************
\def\Mframe #1#2#3#4{\vbox{\hrule height #1pt%    TOP RULE
 \hbox{\vrule width #1pt\kern #2pt%              RULE AND SPACE ON LEFT
 \vbox{\kern #2pt%                               SPACE AT TOP
 \vbox{\hsize #3\noindent #4}%                   MATERIAL THAT WILL BE BOXED
 \kern #2pt}%                                    SPACE AT BOTTOM
 \kern #2pt\vrule width #1pt}%                   SPACE AND RULE ON RIGHT
 \hrule height0pt depth #1pt}}%,                 BOTTOM RULE
 
\def\fitframe #1#2#3{\vbox{\hrule height#1pt%    TOP RULE
 \hbox{\vrule width#1pt\kern #2pt%               RULE AND SPACE ON LEFT
 \vbox{\kern #2pt\hbox{#3}\kern #2pt}%           TOP, MATERIAL, BOTTOM
 \kern #2pt\vrule width#1pt}%                    SPACE AND RULE ON RIGHT
 \hrule height0pt depth#1pt}}%                   BOTTOM RULE
 
\def\shframe #1#2#3#4{\vbox{\hrule height 0pt%   NO TOP SHADOW
 \hbox{\vrule width #1pt\kern 0pt%               LEFT SHADOW
 \vbox{\kern-#1pt\Mframe{.3}{#2}{#3}{#4}%         SHADOW STARTS #1 PT FROM TOP
 \kern-.3pt}%                                    MOVE UP RULE THICKNESS AT BOT.
 \kern-#1pt\vrule width 0pt}%                    STOPS #1 PT FROM RT; NO RT SHAD
 \hrule height #1pt}}%                           BOTTOM SHADOW
 
\def\s #1{\Mframe{.3}{2}{8pt}{\centerline{#1\vphantom{(}}}\ }

\newcommand{\Mout}{\ifvmode\else\/\fi\tt}
\newcommand{\Mbut}[1]{{\sf #1}}
\newcommand{\Mbuti}[1]{{\sf #1}\idx{Buttons,{\bf #1}}}
%\newcommand{\Mupcat}[1]{{\small\sl #1}\/}
\ifmacintosh
    \newcommand{\Mupcat}[1]{{\rm #1}\/}
\else
    \newcommand{\Mupcat}[1]{{\sl #1}\/}
\fi

% Einf"uhrung eines neuen Wortes
% #1: Zur Verwendung als Label
% #2: Wird in den Text eingetragen
\newcommand{\Mupnew}[2]{%
\Idx{#2}%
\ifmacintosh
{\bf #2}\/%
\else
{\sl #2}\/%
\fi
}

% Einf"uhrung eines neuen Wortes
% #1: Wird in den Text eingetragen
\newcommand{\Mupnnew}[1]{%
\ifmacintosh
{\bf #1}%
\else
{\sl #1}%
\fi
}

% Z"ahler f"ur Index
%\ifhypermode
\newcount\Midxcnt
\Midxcnt=0
%\fi

% Tastatureingaben
\ifmacintosh
    \newcommand{\Mupkey}[1]{\mbox{\mupless \rm \/#1\mupgt}}
\else
    \newcommand{\Mupkey}[1]{\mbox{$<$#1$>$}}
\fi

\iflanguage{german}{%
\def\Mupsystemfunc{Systemfunktion}
\def\Mupdatatype{Datentyp}
\def\Mupstatement{Anweisung}
\def\Mupoperator{Operator}
\def\Mupexprtype{Ausdruckstyp}
\def\Mupenvvar{Environment-Variable}
}{%
\def\Mupsystemfunc{system function}
\def\Mupdatatype{data type}
\def\Mupstatement{statement}
\def\Mupoperator{operator}
\def\Mupexprtype{expression type}
\def\Mupenvvar{environment variable}}

% Befehle f"ur Indexeintr"age
% Definierender Eintrag mit fettgedruckter Seitenzahl
\newcommand{\BF}[1]{{\bf #1}}
\newcommand{\Idx}[1]{%
\ifhypermode
\subnode{nnew-\the\Midxcnt}%
\index{#1|noderef{nnew-\the\Midxcnt}}%
\global\advance\Midxcnt+1
\else
\index{#1|BF}%
\fi
}

% Normaler Eintrag
\newcommand{\idxo}[1]{\index{#1}}
\newcommand{\idx}[1]{%
\ifhypermode
\subnode{nnew-\the\Midxcnt}%
\index{#1|noderef{nnew-\the\Midxcnt}}%
\global\advance\Midxcnt+1
\else
\index{#1}%
\fi
}

% MuPAD-Kommando, Befehle etc.
\newcommand{\Mupold}[1]{{\tt #1}}

% MuPAD-Kommando, Befehle etc. mit Eintrag im Index
\newcommand{\Mupi}[1]{%
\idx{#1@{\tt #1}}%
{\tt #1}%
}

% MuPAD-Kommando, Befehle etc. mit Eintrag im Index, aber ohne Eintrag im Text
\newcommand{\Mupio}[1]{%
\idx{#1@{\tt #1}}%
}

% MuPAD-Kommando, Befehle etc. mit definierendem Eintrag im Index
\newcommand{\MupI}[1]{%
\Idx{#1@{\tt #1}}%
{\tt #1}%
}

% MuPAD-Funktion mit zwei Eintr"agen im Index, aber ohne Eintrag im Text
\newcommand{\Mupfio}[1]{%
\idx{#1@{\tt #1}}%
\idx{\Mupsystemfunc,#1@{\tt #1}}%
}

% MuPAD-Funktion mit zwei Eintr"agen im Index
\newcommand{\Mupfi}[1]{%
\idx{#1@{\tt #1}}%
\idx{\Mupsystemfunc,#1@{\tt #1}}%
{\tt #1}%
}

% MuPAD-Funktion mit zwei definierenden Eintr"agen im Index
\newcommand{\MupfI}[1]{%
\Idx{#1@{\tt #1}}%
\Idx{\Mupsystemfunc,#1@{\tt #1}}%
{\tt #1}%
}

% MuPAD-Funktion mit zwei definierenden Eintr"agen im Index, aber ohne Eintrag im Text
\newcommand{\MupfIo}[1]{%
\Idx{#1@{\tt #1}}%
\Idx{\Mupsystemfunc,#1@{\tt #1}}%
}

% MuPAD-Kategorie mit zwei Eintr"agen im Index, jedoch ohne Eintrag im Text
\newcommand{\Mupkio}[1]{%
\idx{#1}%
\idx{\Mupdatatype,#1}%
}
 
% MuPAD-Kategorie mit zwei Eintr"agen im Index
\newcommand{\Mupki}[1]{%
\idx{#1}%
\idx{\Mupdatatype,#1}%
\Mupcat{#1}%
}
 
% MuPAD-Kategorie mit zwei definierenden Eintr"agen im Index
\newcommand{\MupkI}[1]{%
\Idx{#1}%
\Idx{\Mupdatatype,#1}%
\Mupcat{#1}%
} 

% MuPAD-Kategorie mit zwei definierenden Eintr"agen im Index, jedoch ohne Eintrag im Text
\newcommand{\MupkIo}[1]{%
\Idx{#1}%
\Idx{\Mupdatatype,#1}%
}
 
% MuPAD-Anweisung mit zwei Eintr"agen im Index, jedoch ohne Eintrag im Text
\newcommand{\Mupaio}[1]{%
\idx{#1@{\tt #1}}%
\idx{\Mupstatement,#1@{\tt #1}}%
}
 
% MuPAD-Anweisung mit zwei Eintr"agen im Index
\newcommand{\Mupai}[1]{%
\idx{#1@{\tt #1}}%
\idx{\Mupstatement,#1@{\tt #1}}%
{\tt #1}%
}
 
% MuPAD-Anweisung mit zwei definierenden Eintr"agen im Index
\newcommand{\MupaI}[1]{%
\Idx{#1@{\tt #1}}%
\Idx{\Mupstatement,#1@{\tt #1}}%
{\tt #1}%
}

% MuPAD-Anweisung mit zwei definierenden Eintr"agen im Index, jedoch ohne Eintrag im Text
\newcommand{\MupaIo}[1]{%
\Idx{#1@{\tt #1}}%
\Idx{\Mupstatement,#1@{\tt #1}}%
}
 
% MuPAD-Operator mit zwei Eintr"agen im Index, jedoch ohne Eintrag im Text
\newcommand{\Mupoio}[1]{%
\idx{#1@{\tt #1}}%
\idx{\Mupoperator,#1@{\tt #1}}%
}
 
% MuPAD-Operator mit zwei Eintr"agen im Index
\newcommand{\Mupoi}[1]{%
\idx{#1@{\tt #1}}%
\idx{\Mupoperator,#1@{\tt #1}}%
{\tt #1}%
}
 
% MuPAD-Operator mit zwei definierenden Eintr"agen im Index
\newcommand{\MupoI}[1]{%
\Idx{#1@{\tt #1}}%
\Idx{\Mupoperator,#1@{\tt #1}}%
{\tt #1}%
}
 
% MuPAD-Ausdruckstyp mit zwei Eintr"agen im Index, jedoch ohne Eintrag im Text
\newcommand{\Mupeio}[1]{%
\idx{#1@{\tt #1}}%
\idx{\Mupexprtype,#1@{\tt #1}}%
}
 
% MuPAD-Ausdruckstyp mit zwei Eintr"agen im Index
\newcommand{\Mupei}[1]{%
\idx{#1@{\tt #1}}%
\idx{\Mupexprtype,#1@{\tt #1}}%
{\tt #1}%
}
 
% MuPAD-Ausdruckstyp mit zwei definierenden Eintr"agen im Index
\newcommand{\MupeI}[1]{%
\Idx{#1@{\tt #1}}%
\Idx{\Mupexprtype,#1@{\tt #1}}%
{\tt #1}%
}
 
% MuPAD-Systemvariable mit zwei Eintr"agen im Index aber ohne Eintrag im Text
\newcommand{\Mupvio}[1]{%
\idx{#1@{\tt #1}}%
\idx{\Mupenvvar,#1@{\tt #1}}%
}
 
% MuPAD-Systemvariable mit zwei Eintr"agen im Index
\newcommand{\Mupvi}[1]{%
\idx{#1@{\tt #1}}%
\idx{\Mupenvvar,#1@{\tt #1}}%
{\tt #1}%
}
 
% MuPAD-Systemvariable mit zwei definierenden Eintr"agen im Index aber ohne Eintrag im Text
\newcommand{\MupvIo}[1]{%
\Idx{#1@{\tt #1}}%
\Idx{\Mupenvvar,#1@{\tt #1}}%
}
 
% MuPAD-Systemvariable mit zwei definierenden Eintr"agen im Index
\newcommand{\MupvI}[1]{%
\Idx{#1@{\tt #1}}%
\Idx{\Mupenvvar,#1@{\tt #1}}%
{\tt #1}%
}
 






 

\newcommand{\mupfunchelp}[1]{%
\ifhypermode
%\noderef{help-#1}{\Mupold{#1}}%
\noderef{#1}{\Mupold{#1}}%
\else
\Mupold{#1}%
\fi
}

\newcommand{\mupfunchelpspec}[2]{% 
\ifhypermode   
%\noderef{help-#2}{\Mupold{#1}}% 
\noderef{#2}{\Mupold{#1}}% 
\else 
\Mupold{#1}% 
\fi 
}

%\newcommand{\Mref}{$\Longrightarrow$}
\newcommand{\Mref}{%
\ifhypermode
\ifmacintosh
\ \ \ \mupgt{}\/\/\mupgt{}\ \ \ %
\else
$\Longrightarrow$%
\fi
\else
\fi
}

%\newcommand{\mupchap}[2]{%
%\ifhypermode
%%siehe \noderef{#2}{Seite~\pageref{#1}}%
%siehe Abschnitt~\ref{#1}%
%\else
%siehe Abschnitt~\ref{#1}%
%\fi
%}

\newcommand{\mupchap}[2]{%
\ifhypermode
%siehe \noderef{#2}{Seite~\pageref{#1}}%
see section~\ref{#1}%
\else
see section~\ref{#1}%
\fi
}
%%
%% Special symbols
%%
%\newcommand{\Z}{{\mbox{Z\hskip-0.9em{}Z \ }}} % integers
%\newcommand{\N}{{\mbox{N\hskip-0.9em{}I \ }}} % nonnegative integers
\newcommand{\Z}{%
\ifmacintosh
%   \ifmmode{\mbox{Z\hskip-0.9em{}Z \ }}\else${\mbox{Z\hskip-0.9em{}Z \ }}$\fi
   {\mbox{\bf Z}}
\else
   \ifmmode\mathbbm{Z}\else$\mathbbm{Z}$\fi
\fi}

\newcommand{\R}{
\ifmacintosh
%  \ifmmode{\mbox{R\hskip-0.9em{}I \ }}\else${\mbox{R\hskip-0.9em{}I \ }}$\fi
   {\mbox{\bf R}}
\else
   \ifmmode\mathbbm{R}\else$\mathbbm{R}$\fi
\fi}

\newcommand{\N}{
\ifmacintosh
%  \ifmmode{\mbox{N\hskip-0.9em{}I \ }}\else${\mbox{N\hskip-0.9em{}I \ }}$\fi
   {\mbox{\bf N}}
\else
 \ifmmode\mathbbm{N}\else$\mathbbm{}$\fi
\fi}

% Werden in Mhelp.sty definiert. Es gibt sonst Konflikte, wenn beide
% Styles, also mupad.sty und Mhelp.sty, geladen werden.
%\newcommand{\mupad}{MuPAD}     
%\newcommand{\xmupad}{XMuPAD}

\newcommand{\XMUP}{XMuPAD}
\newcommand{\MUP}{MuPAD}
\newcommand{\MuP}{MuPAD}
\newcommand{\HYP}{Hy\TeX}
\newcommand{\macMUP}{MacMuPAD} 
\newcommand{\vcam}{VCam}
\newcommand{\mdx}{mdx}
\newcommand{\maple}{MAPLE}

%
% Name der HyTeX-Buttons in der Kopfzeile
%
\ifmacintosh
\newcommand{\Mnchap}{Next Chapter}
\newcommand{\Mpchap}{Prev Chapter}
\newcommand{\Mnsec}{Next Section}
\newcommand{\Mpsec}{Prev Section}
\newcommand{\Mnapp}{Next Appendix}
\newcommand{\Mpapp}{Prev Appendix}
\newcommand{\Mtoc}{Contents}
\newcommand{\Mhind}{Help Index}
\newcommand{\Mind}{Index}
\newcommand{\Mlist}{List}
\newcommand{\Mnews}{New Features}
\else
\iflanguage{german}{%
\newcommand{\Mnchap}{Kapitel ->}
\newcommand{\Mpchap}{<- Kapitel}
\newcommand{\Mnsec}{Abschnitt ->}
\newcommand{\Mpsec}{<- Abschnitt}
\newcommand{\Mnapp}{Anhang ->}
\newcommand{\Mpapp}{<- Anhang}
\newcommand{\Mtoc}{Inhalt}
\newcommand{\Mhind}{Helpindex}
\newcommand{\Mind}{Index}
\newcommand{\Mlist}{Liste}
\newcommand{\Mnews}{Neue Features}
}{
\newcommand{\Mnchap}{Chapter ->}
\newcommand{\Mpchap}{<- Chapter}
\newcommand{\Mnsec}{Section ->}
\newcommand{\Mpsec}{<- Section}
\newcommand{\Mnapp}{Appendix ->}
\newcommand{\Mpapp}{<- Appendix}
\newcommand{\Mtoc}{Contents}
\newcommand{\Mhind}{Helpindex}
\newcommand{\Mind}{Index}
\newcommand{\Mlist}{List}
\newcommand{\Mnews}{New Features}
}
\fi

%
% F"ur die BNF-Form
%
\ifmacintosh
\newcommand{\Mbnf}[1]{{\tt\mupttlt \rm \/#1\tt\mupttgt}}
\newcommand{\Mscan}[1]{{\rm #1}}
\else
\newcommand{\Mbnf}[1]{$<${\sl #1}$>$}
\newcommand{\Mscan}[1]{{\sl #1}}
\fi


%
% Helpindex, Neue Features
%
\newcommand{\muphelptopic}[2]{\item \hpol{#2}{#1}}
\newcommand{\muphelpinfopage}[2]{\newpage\subsection*{#1}\subnode{#2}}

\newcommand{\muphelpinfobegin}{\begin{longtable}{lcl}}
%\newcommand{\muphelpinfo}[2]{\hpol{help-#1}{\Mupold{#1}} & -- & \parbox[t]{9cm}{#2}\\[4pt]}
\newcommand{\muphelpinfo}[2]{\hpol{#1}{\Mupold{#1}} & -- & \parbox[t]{9cm}{#2}\\[4pt]}
%\newcommand{\muphelpinfospec}[3]{\hpol{help-#1}{\Mupold{#2}} & -- & \parbox[t]{9cm}{#3}\\[4pt]}
\newcommand{\muphelpinfospec}[3]{\hpol{#1}{\Mupold{#2}} & -- & \parbox[t]{9cm}{#3}\\[4pt]}
\newcommand{\muphelpinfoend}{\end{longtable}}


%
% Statische HyTeX-Buttons
%
\newcommand{\Mrefstandard}{%
\nodepageref{tableofcontents}{\Mtoc}%
\nodepageref{help-index}{\Mhind}%
\nodepageref{index}{\Mind}%
\nodepageref{news}{\Mnews}%
}

%
% Sonstige Definitionen, Abk"urzungen
%
\newcommand{\Seq}{\mupdots}
\ifmacintosh
\newcommand{\Opt}[1]{{\it \char"5B}\ #1\ {\it \char"5D\/}}
\else
\newcommand{\Opt}[1]{$\langle$\ #1\ $\rangle$}
\fi

\newcommand{\option}[1]{\multicolumn{2}{p{30mm}}{#1}}
\newcommand{\sepoptions}{& & & \\}
\ifmacintosh
\newcommand{\meta}[1]{{\rm #1}}
\else
\newcommand{\meta}[1]{{\sl #1}}
\fi

\iflanguage{german}{%
\newtheorem{theorem}{Satz}[section]
\newtheorem{lemma}[theorem]{Hilfssatz}
\newtheorem{bild}{Bild}
\newtheorem{remark}{Bemerkung}[section]
\newtheorem{corollary}{Folgerung}[section]
\newtheorem{example}{Beispiel}
%\newtheorem{warning}{Warnung}[section]
}{
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{bild}{Picture}
\newtheorem{remark}{Remark}[section]
\newtheorem{corollary}{Corollary}[section]
\newtheorem{example}{Example}
%\newtheorem{warning}{Warning}[section]
}

%
% Folgende Def. macht Probleme im Zshg. mit vin-Umgebung
%
%\newcounter{Mcount}
%\newenvironment{example}{\begin{list}{}
%{\topsep 0pt \parskip 0pt \partopsep 0pt 
%\labelsep 0pt \leftmargin 0pt \rightmargin 0pt \labelwidth 0pt
%\refstepcounter{Mcount}\item[{\bf Beispiel \arabic{Mcount}\hspace*{1ex}}]\ifmacintosh\rm\else\sl\fi}}{\end{list}}



%
% "Anderungen von Aufz"ahlungsmarkierungen
%
\ifmacintosh
\renewcommand{\labelitemi}{{\tt o}}
\renewcommand{\labelitemii}{{\tt -}}
\renewcommand{\labelitemiii}{{\tt -}}
\renewcommand{\labelitemiv}{{\tt -}}
\fi


%
% Einige Abk"urzungen aus dem alten sprach.sty
% 10.5.93
% ACHTUNG: In diesen Abk"urzungen d"urfen nur die original LaTeX-Befehle
% zur Erzeugung von Umlauten verwendet werden.
%
%\def\vorruecken{\hspace*{-0.7 em}}
\def\vorruecken{\hspace*{-0.55 em}}
\def\hochruecken{\vspace*{-1.65 em}}
\def\ownend{\HyTeXSetDown\end}
\def\mupad{MuPAD}
\ifmacintosh
\def\bsl{{\tt \char"5C}}
\def\mzei{{\rm \char"2A}}
\else
\def\bsl{$\backslash$}
\def\mzei{$*$}
\fi
\def\hoch{\^}


\iflanguage{german}{
\def\builtin{\gegenstand\ ist eine Funktion des Systemkerns.}
%\def\algexpr{algebraischer Ausdruck}
\def\algexpr{Ausdruck}
\def\expression{Ausdruck}
%\def\ausdruck{{\Mout expr} &---& algebraischer Ausdruck}
\def\ausdruck{{\Mout expr} &---& Ausdruck}
\def\bezeichner{{\Mout name} &---& Bezeichner}
\def\liste{{\Mout list} &---& Liste}
\def\flatten{Im Gegensatz zu den meisten anderen Funktionen
werden Argumente, die Ausdruckssequenzen sind, in dieser Funktion
nicht \hpol{Flatten-}{ausgeglichen}.}
\newcommand{\uneva}[3]{%
\def\myea{#2}%
{#1} gibt den unevaluierten Funktionsaufruf zur\"{u}ck,
wenn das \ifx\myea\empty\else #2 \fi Argument nicht zu {#3} evaluiert werden kann.}
\newcommand{\unevasecond}[3]{%
\def\myea{#2}%
{#1} gibt den Funktionsaufruf mit
evaluierten Argumenten zur"uck, wenn das
\ifx\myea\empty\else #2 \fi Argument nicht zu {#3} evaluiert werden kann.}
\def\convert{\gegenstand\ ist eine Datenkonvertierungsfunktion des
Systemkerns.}
\def\environ{\gegenstand\ ist eine \hpol{subsec-environment variables}{Environment-Variable}.}
\def\polyarg{Das erste Argument von \gegenstand\ kann entweder ein Polynom
oder ein \hpol{subsec-expressions}{Ausdruck} und optional eine 
\hpol{subsec-lists}{Liste} von Unbestimmten sein. Ein
Ausdruck wird in ein Polynom in den angegebenen Unbestimmten umgewandelt
(vergleiche die Funktion \mupfunchelp{poly}).
\gegenstand\ liefert \Mupold{FAIL} zur"uck, falls der Ausdruck nicht in
ein Polynom umgewandelt werden kann.}
\def\polyfail{\gegenstand\ liefert \Mupold{FAIL} zur"uck, falls das
erste Argument nicht in ein Polynom umgewandelt werden kann.}
\def\polyres{Das Ergebnis hat den gleichen Typ wie das erste Argument.
Bei einem Polynom als Argument wird also auch ein Polynom als Ergebnis
zur\"{u}ckgeliefert.}
}{
\def\builtin{\gegenstand\ is a kernel function.}
%\def\algexpr{algebraischer Ausdruck}
\def\algexpr{expression}
\def\expression{expression}
%\def\ausdruck{{\Mout expr} &---& algebraischer Ausdruck}
\def\ausdruck{{\Mout expr} &---& expression}
\def\bezeichner{{\Mout name} &---& identifier}
\def\liste{{\Mout list} &---& list}
\def\flatten{In contrast to most other functions, arguments which
 are expression sequences, are not \hpol{Flatten-}{flattened}.}
\newcommand{\uneva}[3]{%
\def\myea{#2}%
if the \ifx\myea\empty\else #2 \fi argument cannot be evaluated to
{#3}, {#1} returns the unevaluated function call.}
\newcommand{\unevasecond}[3]{%
\def\myea{#2}%
{#1} returns the function call with evaluated arguments, if the  
\ifx\myea\empty\else #2 \fi argument cannot be evaluated to {#3}.}
\def\convert{\gegenstand\ is a converting function of the kernel.}
\def\environ{\gegenstand\ is an 
\hpol{subsec-environment variables}{environment variable}.}
\def\polyarg{The first argument of \gegenstand\ is allowed to be a polynomial or an 
\hpol{subsec-expressions}{expression} and optionally a
\hpol{subsec-lists}{list} of indeterminates.
An expression is converted into a polynomial in the specified
indeterminates (see function \mupfunchelp{poly}).
\gegenstand\ returns \Mupold{FAIL} if the expression cannot be converted
into a polynomial.}
\def\polyfail{\gegenstand\ returns \Mupold{FAIL} if the first argument cannot be
converted into a polynomial.}
\def\polyres{The result is of the same type as the first argument, e.g.\ if the argument
is a polynomial then the result is a polynomial too.}
\def\polyorder{With the option \meta{order} the desired
\ifhypermode
\hpol{poly-order-descr}{term ordering} can be given.
\else
term ordering can be given, see section~\ref{poly+order+descr}.
\fi
If no order is given then the lexicographical one is used.}
}% end of iflanguage


%
% F"ur den Mathe-Modus auf Sun und Mac
%
\newcommand{\Math}[1]{%
\ifmacintosh
{\rm #1}%
\else
$#1$%
\fi
}

\newcommand{\Mmac}[1]{\ifmacintosh #1\fi}
\newcommand{\Msun}[1]{\ifmacintosh\else #1\fi}

%
% Umbruch
%
\newcommand{\nhysameb}{\ifhypermode\else\begin{samepage}\fi}
\newcommand{\hysameb}{\ifhypermode\begin{samepage}\else\fi}
\newcommand{\nhysamee}{\ifhypermode\else\end{samepage}\fi}
\newcommand{\hysamee}{\ifhypermode\end{samepage}\else\fi}
 

%
% Bilder
%


\def\scaledbild #1 #2{\centerline{\epsfxsize=#2\epsffile{#1}}}

\def\showbild #1{%
%\vskip 0.5cm%
\centerline{\hpol{!$MuPAD_ROOT_PATH/share/bin/showpicture #1}{Click here!}}%
\vskip 0.5cm%
}
