Seite 1 von 1

\if exist

Verfasst: Fr 20. Nov 2009, 19:33
von sLy
Hallo,
ich suche eine if-abfrage, die überprüft ob etwas (konkret: ein parameter eines makros) existiert oder nicht und dem parameter dementsprechend einen wert zuweist.
Vielleicht sowas wie \ifx (also vergleich) nur für paramter
mfg
sLy[/code]

Verfasst: Mi 25. Nov 2009, 12:54
von FiboFreak
Was meinst Du damit, daß ein Parameter eines Makros "nicht existiert"?

Meinst Du, daß ein optionaler Parameter nicht übergeben wurde?

Verfasst: Mo 30. Nov 2009, 10:27
von flying sheep
\newcommand{\foo}[1][]{
    \ifthenelse{
        \equal{#1}{}
    }{
        parameter leer/ungesetzt
    }{
        parameter gesetzt
    }
}

Verfasst: Mo 30. Nov 2009, 19:18
von phi
besser:
\usepackage{etoolbox}
\makeatletter
\newrobustcmd*{\Befehl}{%
  \@ifnextchar[\Befehl@i\Befehl@ii
}
\newcommand*{\Befehl@i}{}
\def\Befehl@i[#1]{%
  % optionaler Parameter vorhanden
}
\newcommand*{\Befehl@ii}{%
  % optionaler Parameter nicht vorhanden
}
\makeatother
oder mit \ifstrempty o.Ä. aus dem etoolbox-Paket.