Wie baue ich einen optional leeren Key ein?
Im Anschluß an [Wie wende ich keys (xkeyval) richtig an?][1]
habe ich noch folgendes Problem:
Evtl. soll kein "`shorttitle`" gesetzt werden. Läßt man diesen aber aus, steht auch nichts im Abbildungsverzeichnis - wie könnte ich das lösen?
Zwingend muß dort bereits `\lofimage{\IMG@file}` stehen, für die Miniabbildung der Abbildung im Abbildungsverzeichnis.
Gibt es eine simple "key-Methode" oder nur eine komplizierte if-Methode oder sowas?
![alt text][2]
\documentclass[a5paper, onside, automark, open=any, headsepline]{scrartcl}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[top=10mm]{geometry}
\usepackage{xcolor}
\usepackage{mwe}
\pagecolor{red!42!yellow!20}
% ===============================
% Mini-Bilder im Abbildungsverzeichnis =========
\usepackage{graphicx}
\newlength{\lofthumbsize}
\setlength{\lofthumbsize}{2em}
\newif\iflofimage
\DeclareRobustCommand*{\lofimage}[2][]{%
\iflofimage
$\vcenter to \lofthumbsize{\vss%
\hbox to \lofthumbsize{\hss\includegraphics[{width=\lofthumbsize,height=\lofthumbsize,keepaspectratio=true,#1}]{#2}\hss}%
\vss}$%
\quad
\fi
\ignorespaces
}
\usepackage{xkeyval}
%%% Definition mit Keys %%%%%%%%%%%%%%%%%%%
\makeatletter
\newcommand*\IMG@figureoptions{htb}
\newcommand*\IMG@options{}
\newcommand*\IMG@file{}
\newcommand*\IMG@shorttitle{}
\newcommand*\IMG@title{}
\define@key{IMG}{figureoptions} {\renewcommand*\IMG@figureoptions{#1}}
\define@key{IMG}{options} {\renewcommand*\IMG@options{#1}}
\define@key{IMG}{file} {\renewcommand*\IMG@file{#1}}
\define@key{IMG}{shorttitle}{\renewcommand*\IMG@shorttitle{#1}}
\define@key{IMG}{title}{\renewcommand*\IMG@title{#1}}
\newcommand*\IMG[1][]{%
\begingroup
\setkeys{IMG}{#1}%
%\begin{figure}[\IMG@figureoptions] % GEHT NICHT gut - Besser htb ???
\begin{figure}[htb]
\begin{center}
\expandafter\includegraphics\expandafter[\IMG@options]{\IMG@file}
\caption[\lofimage{\IMG@file} \IMG@shorttitle]{\lofimage{\IMG@file} \IMG@title}
\end{center}
\end{figure}
\endgroup
}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ===============================
% ===============================
%========
\begin{document}
%========
\lofimagetrue
\listoffigures \par
\lofimagefalse
%\vspace{0.5cm}
\section{Abschnittsname}
\IMG[file=example-image, title=fooTitel, options={width=\textwidth}, shorttitle={fooKurztitel}, figureoptions={h}]
\IMG[file=example-grid-100x100pt, title=barTitel, options={scale=0.5}, shorttitle={barKurztitel}, figureoptions={h}]
%========
\end{document}
%========
[1]: http://texwelt.de/wissen/fragen/8537/wie-wende-ich-keys-xkeyval-richtig-an
[2]: http://texwelt.de/wissen/upfiles/test1a_2.png