Im Anschluß an Wie wende ich keys (xkeyval) richtig an? habe ich noch folgendes Problem: Evtl. soll kein " Gibt es eine simple "key-Methode" oder nur eine komplizierte if-Methode oder sowas? Open in Online-Editor
\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} %======== |
@cis: Das hatte ich Dir eigentlich in meiner Antwort zur anderen Frage bereits gezeigt …
Stimmt, aber ich weiß grad nicht, wie ich das hier anwenden kann.
Genauso wie bei mir. Du musst
\IMG@shorttitle
in der Voreinstellung nicht leer, sondern unter Verwendung von\IMG@title
definieren. Das kannst Du 1:1 aus meiner Lösung übertragen. Außerdem solltest Du eine Fehlerbehandlung für ein fehlendesfile=…
einbauen (habe ich in meiner Lösung) und wennfigureoptions
funktionieren soll, dann musst Du es expandieren. Auch das zeigt meine Lösung. Außerdem erscheint es mir wenig sinnvoll, die ganzen Hilfsmakros außerhalb der Gruppe in\IMG
überhaupt definiert zu haben. Deshalb macht meine Lösung das innerhalb …In der gelinkten Frage wird mit Ijon Tichys und meiner Antwort als Standard einfach der Titel in den Kurztitel kopiert.
Ist die Frage gelöst (und wir können sie als Duplikat der anderen Frage schließen), oder ist die Frage noch offen?