\if exist

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


sLy
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: Mi 30. Sep 2009, 17:41

\if exist

Beitrag 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]

FiboFreak
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Mi 30. Sep 2009, 00:42
Wohnort: Bielefeld

Beitrag von FiboFreak »

Was meinst Du damit, daß ein Parameter eines Makros "nicht existiert"?

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

flying sheep
Forum-Anfänger
Forum-Anfänger
Beiträge: 40
Registriert: So 27. Jul 2008, 14:34
Wohnort: München, By
Kontaktdaten:

Beitrag von flying sheep »

\newcommand{\foo}[1][]{
    \ifthenelse{
        \equal{#1}{}
    }{
        parameter leer/ungesetzt
    }{
        parameter gesetzt
    }
}

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Beitrag 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.

Antworten