PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : eigene Befehle mit optionalen Argumenten



W2K2011
10-02-2012, 12:03
hallo,

ich möchte mir gerne einen eigenen Befehl \TPR definieren, welchem ich optionale Argumente mitgeben kann. Dazu habe ich folgendes gemacht:


% ************************************************** **************************
\newcommand{\TPR}[1][\empty]{
\ifthenelse{\equal{#1}{\empty}}
{\Pi_{P_t}}
{\Pi_{P_t,\text{#1}}}
}

Wenn ich \TPR{blabla} nun aufrufe, dann erscheint "blabla" aber nicht als Index. Woran liegt das?

u_fischer
10-02-2012, 12:10
Dein Befehl hat nur ein Argument, das optionale. Du willst aber eigentlich zwei haben. #1= optional, #2 = normal.


\newcommand{\TPR}[2][\empty] ....

W2K2011
10-02-2012, 12:20
Warum "will" ich denn zwei optionale Argumente haben? Ich möchte einfach den Befehl aufrufen und manchmal das Argument "blabla" mitgeben oder auch nicht...

W2K2011
10-02-2012, 12:23
Aber stimmt, dann funktioniert es.
Schon einmal vielen Dank - bin noch auf die Erklärung gespannt.

cgnieder
10-02-2012, 12:34
Wenn ich \TPR{blabla} nun aufrufe, dann erscheint "blabla" aber nicht als Index. Woran liegt das?

Optionale Argumente werden in eckigen Klammern angegeben. Das

\TPR[blabla]
sollte funktionieren.

Gruß

u_fischer
10-02-2012, 12:45
Warum "will" ich denn zwei optionale Argumente haben?

Habe ich nicht gesagt. Ich sagte, du willst zwei Argumente, davon #1 optional.

\newcommand{\TPR}[n]{...}: TPR hat n normale Argumente.

Aufruf:

\TPR{Arg 1}{...}{Arg n}

\newcommand{\TPR}[n][opt]{...}: TPR hat n Argumente, davon ist das erste optional.

Aufruf:

\TPR{Arg 2}{...}{Arg n}

oder

Aufruf:

\TPR[Arg 1]{Arg 2}{...}{Arg n}