PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bilderpfad zerlegen



jooker
18-11-2005, 12:20
Hi,
habe mal eine Frage zum automatisieren in Latex.
Ich habe mir einen Befehl geschreiben, um einfacher Bilder einzubinden:


\newcommand{\pic}[5]{
\begin{figure}[#5]
\centering
\includegraphics[#1]{#2}
\caption{#3} %Bildunterschrift
\label{fig:#4} %Bezeichnug
\end{figure}
}

Das funktioniert auch ganz gut. Allerdings wollte ich jetzt, dass der Label
Bezeichner so heißt wie der Dateiname des Bildes. Da ich die Bilder, die
ich so einfüge meist in einem Unterordner habe, sieht der Aufruf
folgendermaßen aus:


\pic{width=16cm}{bilder/kaskade}{Kaskadenstruktur}{kaskade}{ht}

Gibt es irgendeine Funktion die mir bei "bilder/kaskade" nur den Teil
nach dem Slash ausgibt? So das ich nur den Namen hier einfügen
kann : \label{fig:BILDNAME}

Danke schonmal

rais
18-11-2005, 15:48
Moin,
wenn Du Deine Bilder sowieso alle in dem Unterverzeichnis "bilder" hast, dann könntest Du auch die Funktion so abwandeln:
...\includegraphics[#1]{bilder/#2}...
...\label{fig:#2}...
dann könntest Du den Pfad schon weglassen.
Alternativ könntest Du den/die Bilderpfad/e mit in die $TEXINPUTS-Variable aufnehmen, dann braucht der Pfad überhaupt nicht mehr mit angegeben zu werden;)
Wo wir schon dabei sind...wenn schon eigenes Makro (hier mit angepasster $TEXINPUTS):


\newcommand{\pic}[4][htp]{
\begin{figure}[#1]
\centering
\includegraphics[#3]{#2}
\caption{#4} %Bildunterschrift
\label{fig:#2} %Bezeichnug
\end{figure}
}
:
\pic[ht]{bild}{width=0.7\textwidth}{Bildunterschrift}

Bedenke aber, daß so jedes Bild nur _einmal_ im Dokument geladen werden darf, sonst baust Du Dir gleichnamige label für verschiedene Stellen:eek:
MfG,

jooker
18-11-2005, 18:42
wenn Du Deine Bilder sowieso alle in dem Unterverzeichnis "bilder" hast, dann könntest Du auch die Funktion so abwandeln:
...\includegraphics[#1]{bilder/#2}...
...\label{fig:#2}...

Stimmt das wäre tatsächlich das einfachste. Manchmal hat man echt
nen Brett vorm Kopp.

Danke