PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : if-then-else



michaelr
24-10-2006, 18:45
Hallo,

ich suche nach einer Möglichkeit eine if-then-else Struktur innerhalb von Latex zu realisieren, so dass

[code]
if BEDINGUNG_1 then
\textbf{dann soll dieser Text verwendet werden}
else
\textbf{und dann halt dieser}
[\code]

Kann mir jemand einen Tipp geben?

Grüße,
Michael

rais
24-10-2006, 22:36
Moin moin,
Du könntest es natürlich direkt in TeX ausdrücken \ifx <bedingung> <dann> \else <sonst> \fi
oder \ifnum ..
oder all die anderen \ifs, die ich noch gar nicht kenne...

otoh hilft Dir ja ein Blick in das ifthen-Paket, da gibt's dann auch \ifthenelse{bedingung}{wenn-wahr}{wenn-nich'}
MfG,

jonas88
25-10-2006, 10:08
wenn ich ein Bild einfügen will, und das Bil soll wenn ich ein DVI erstelle bild.eps und wenn ich ein PDF erstelle Bild.png heißen

Wie muss dann die Bedingung heißen?

ciao
Jonas

sofa-surfer
25-10-2006, 10:54
Hallo,

da brauchst du gar keine eigene Abfrage.
Du hast einfach zwei Dateien, bild.eps und bild.png.

Zum Einfügen nutzt du
\includegraphics{bild}

Kompilierst du mit latex, wird automatisch die eps-Version genommen, entsprechend bei pdflatex die png-Version.

(siehe auch l2picfaq)

Matthias

jonas88
25-10-2006, 16:58
aso, super

danke

jonas88
18-01-2007, 17:48
Hallo,

wenn ich einen neuen Befehl mit 3 Variablen über \newcommand{}[3] definiere, und unterschiedliche Ausgabe will, jenachdem was in den Variablen steht, kann ich dann machen


\ifthenelse{#3=""}{Ausgabe1}{Ausgabe2}


um Ausgabe 1 zu erzielen, wenn für #3 nichts eingegeben wurde?

danke
Jonas

rais
18-01-2007, 18:38
Moin moin,


wenn ich einen neuen Befehl mit 3 Variablen über \newcommand{}[3] definiere, und unterschiedliche Ausgabe will, jenachdem was in den Variablen steht, kann ich dann machen


\ifthenelse{#3=""}{Ausgabe1}{Ausgabe2}


um Ausgabe 1 zu erzielen, wenn für #3 nichts eingegeben wurde?



\ifthenelse{\equal{#3x}{x}}{Ausgabe1}{Ausgabe2}%
sollte so tun. OTOH solltest Du Dir vllt ueberlegen, die Reihenfolge Deiner Parameter zu aendern, dann koenntest Du mit


\newcommand{\bla}[3][]{%
\ifthenelse{\equal{#1x}{x}}{Ausgabe2}{Ausgabe3}%
}
arbeiten und haettest dann einen "richtigen" optionalen Parameter: bei dem darfst Du sogar die Klammer weglassen;-)
Im Text dann

\bla{zwei}{drei} bzw. \bla[irgendwas]{zwei}{drei}

MfG,