Hallo,
Ich habe eine Reihe kleinerer Grafiken und möchte in meinem Anhang größere Versionen ausgeben, dazu habe ich mir (mithilfe dieses Forums) einige entsprechende Funktionen definiert.
Ein Minimalbeispiel: (entsprechende Grafiken müssen natürlich fürs Kompilieren vorhanden sein, deren Größe und Format spielt hier keine Rolle):
\documentclass{scrartcl}
% packages
\usepackage[utf8]{inputenc} % Utf-8 encoding
\usepackage[T1]{fontenc} % Makes umlauts searchable
\usepackage{lmodern} % Nice font
\usepackage[ngerman]{babel} % German typography
\usepackage{graphicx} % Graphics support
\usepackage{etoolbox} % Used for small/big image automatism
\usepackage{xifthen} % See etoolbox
\usepackage{subfig} % Multiple figures
\usepackage{hyperref} % Links
\usepackage[german]{varioref} % 'clever' hyperref links
% Small/big image macros
% Counter (for included images and the while loop)
\newcount\imagecounter
\newcount\loopcounter
\imagecounter=1
% Include small images
% \smallimg{path_to_img}{caption}
\newcommand{\smallimg}[2]
{%
% small..
\subfloat[#2, g.V.s.S.:~\pageref{bigimg:\number\imagecounter}]{
\label{smallimg:\number\imagecounter}
\includegraphics[width=0.5\textwidth]{#1}
}
% .. and big
\csgdef{img\number\imagecounter}{
\begin{figure}
\includegraphics[width=\textwidth]{#1}
\caption*{#2, siehe Abb.~\vref{smallimg:\number\imagecounter}}
\label{bigimg:\number\imagecounter}
\end{figure}
}
\global\advance\imagecounter by 1
}
% Get all big images
\newcommand{\getbigimgs}
{%
% loop
\loopcounter=1
\advance\imagecounter by 1
\whiledo{\number\loopcounter<\number\imagecounter}
{%
\csuse{img\number\loopcounter}
\advance\loopcounter by 1
}
\advance\imagecounter by -1
}
% document
\begin{document}
\section{Kleine Grafiken}
\begin{figure}[htbp]
\smallimg{../img/start_end_t1_c1_e0_nu0}{$c=1$}
\smallimg{../img/start_end_t1_c-1_e0_nu0}{$c=-1$}
\caption{Vergleich verschiedener $c$}
\label{fig:c-aenderung}
\end{figure}
\section{Foo}
Lorum Ipsum\dots
\section{Große Grafiken}
\getbigimgs
\end{document}
Dazu habe ich zwei Fragen:
1.: Beim ersten Kompilieren bekomme ich eine Reihe Fehler ala
! Missing \endcsname inserted.
<to be read again>
\imagecounter
l.25 ...{a}{Subfigure 1a\relax }{subfigure.1.1}{}}
Ich verstehe diesen Fehler nicht und nach einer Enter-Orgie kompiliert das Ganze beim zweiten Versuch auch.
2.: (Die eigentliche Frage:) Ich möchte gerne in den Unterschriften der kleineren Bilder auf die größeren Versionen verweisen (und umgekehrt). Da bietet es sich an entsprechende Labels zu definieren, ala
smallimg:$nummer. Die Nummer bekomme ich ja mittels
\number\imagecounter. Allerdings werden Kommandos in einem label nicht ausgeführt, wenn ich das richtig sehe, heißt das Label dann "smallimg:\label\imagecounter", wovon es dann entsprechend viele Versionen gibt.
Wie kann ich automatisch auf meine großen Bilder (und zurück) verweisen?
Grüße und vielen dank, Keba.