ifthenelse und includegraphics zur fallbasierten Picauswahl

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: ifthenelse und includegraphics zur fallbasierten Picauswahl

von tumsi » Sa 28. Apr 2012, 08:07

Danke für Deine Antwort. Ja, so funktioniert es - so eine Variante hatte ich, glaube ich, beim Ausprobieren auch irgendwann schon mal. Allerdings wollte ich habe ich versucht, das optionale Argument leer zu lassen. \empty als Default-Wert anzugeben, funktioniert leider auch nicht. Aber kurzum, ich kann mich jetzt mit dieser Lösung gut anfreunden!

Dank Dir habe ich jetzt auch die Fehlermeldung verstanden!

Re: ifthenelse und includegraphics zur fallbasierten Picausw

von rais » Sa 28. Apr 2012, 02:03

Hallo,
tumsi hat geschrieben:Wenn kein Bildpfad angegeben ist, soll stattdessen ein Default-Bild ausgegeben werden. Dazu möchte ich mir einen eigenen Befehl basierend auf includegraphics definieren, allerdings kommt es dabei zu Fehlermeldungen in Verbindung mit ifthenelse.
das liegt nicht am \ifthenelse, sondern daran, daß Du hier
tumsi hat geschrieben:
\newcommand{\myincludegraphics}[2]{
...
}
Deinen \myincludegraphics so definierst, daß dieser zwei Parameter erwartet und später
tumsi hat geschrieben:
    \myincludegraphics[width=0.8\linewidth]{images/Bild1} % Bild existiert
so aufrufst, als kenne \myincludegraphics ein optionales Argument.
tumsi hat geschrieben: Die erste Fehlermeldung, die ich erhalte ist "Package keyval Error: [ undefined".
Also dürfte \myincludegraphics das `[' als erstes Argument einsammeln -- damit kann aber der \includegraphics-Befehl nix anfangen.
Ändere die Definition mal zu
\newcommand{\myincludegraphics}[2][width=0.8\linewidth]{%
    \ifthenelse{\equal{#2}{\empty}}{\includegraphics[#1]{images/draft}}{\includegraphics[#1]{#2}}%
}
dann kannst Du bei den Aufrufen hier im Beispiel zumindest die nun optionalen Argumente sogar weglassen.;)

MfG
Rainer

ifthenelse und includegraphics zur fallbasierten Picauswahl

von tumsi » Fr 27. Apr 2012, 10:59

Hallo zusammen,

Ich schreibe gerade an einer umfangreichen Arbeit und möchte folgendes realisieren: Wenn kein Bildpfad angegeben ist, soll stattdessen ein Default-Bild ausgegeben werden. Dazu möchte ich mir einen eigenen Befehl basierend auf includegraphics definieren, allerdings kommt es dabei zu Fehlermeldungen in Verbindung mit ifthenelse.
\documentclass[twoside=semi,pagesize=auto,german]{scrbook}
\usepackage{graphicx}
\usepackage{ifthen}

\newcommand{\myincludegraphics}[2]{
    \ifthenelse{\equal{#2}{\empty}}{\includegraphics[#1]{images/draft}}{\includegraphics[#1]{#2}}
}

\begin{document}

\begin{figure}
    \centering
    \myincludegraphics[width=0.8\linewidth]{images/Bild1} % Bild existiert
\end{figure}

\begin{figure}
    \centering
    \myincludegraphics[width=0.8\linewidth]{} % Bild existiert nicht
\end{figure}

\end{document}
Die erste Fehlermeldung, die ich erhalte ist "Package keyval Error: [ undefined".
Ich nutze MikTex in der neusten Version in Verbindung mit dem Tecniccenter.

Kann mir jemand hierbei weiterhelfen?

Nach oben