Latex: Bildbeschriftung und Quellenangaben

Hallo!

Ich schreibe gerade meine Diplomarbeit in LaTex (Anfänger). Uns wurde eine Vorlage gestellt in der für Abbildungen im Prämbel folgendes festgelegt wurde:

% Command für Abbildungen
% 1. Parameter: Beschreibung der Abbildung
% 2. Parameter: Label der Abbildung
% 3. Parameter: Pfad zum Bild
% 4. Parameter: Parameter für \includegraphics
\newcommand{\abbildung}[4]{%
\begin{figure}[h]%
\centering
\includegraphics[#4]{#3}%
\caption{#1}%
\label{#2}%
\end{figure}%
}

Im Text sieht es dann z.B. so aus:
\abbildung{Anrufstatistik, Quelle: Eigene}{abb:anruf}{anrufe.png}{width=10cm}

Das verstehe ich und klappt auch. Nun möchte ich aber, dass die Quelle nicht im Abbildungsverzeichnis auftaucht. Ich habe gefunden, wie dass normalerweise machbar ist:

\caption[Dieser Test erscheint im Abbildungsverzeichnis]{Dieser nicht}

Aber das Problem ist, dass ich leider nicht weiß, wie ich das in den newcommand-Befehl bei \caption mit den Rauten einbaue.

Weiss jemand Rat? Ganz vielen Dank!

Moin. Du müsstest ein Parameter hinzufügen, nämlich für die Beschreibung ohne Quelle. Ich schiebe diesen Parameter mal als zweiten ein. Dann sieht das ganze so aus:

% Command für Abbildungen
% 1. Parameter: Beschreibung der Abbildung mit Quelle
% 2. Parameter: Beschreibung der Abbildung ohne Quelle
% 3. Parameter: Label der Abbildung
% 4. Parameter: Pfad zum Bild
% 5. Parameter: Parameter für \includegraphics
\newcommand{\abbildung}[5]{%
\begin{figure}[h]%
\centering
\includegraphics[#5]{#4}%
\caption[#2]{#1}%
\label{#3}%
\end{figure}%
}

ERGO:
\abbildung{Anrufstatistik, Quelle: Eigene}{Anrufstatistik}{abb:anruf}{anrufe.png}{width=10cm}

MfG. Boris.

Vielen Dank für die super schnelle und alles rettende Antwort!!! :smile:

Du könntest zum Beispiel folgendes machen:

\newcommand{\abbildung}[5]{%
\begin{figure}[h]%
\centering
\includegraphics[#4]{#3}%
\caption[#5]{#1}%
\label{#2}%
\end{figure}%
}

Im Text:

\abbildung{Anrufstatistik, Quelle: Eigene}{abb:anruf}{anrufe.png}{width=10cm}{Dieser Test erscheint im
Abbildungsverzeichnis}

Das Problem dabei ist, dass der „Text fürs Abb.verz.“ jetzt kein optionales Argument mehr ist, sondern eingegeben werden muss. Also müsstest du in deinem gesamten Dokument die Bildunterschrift nochmal in das 5. Argument schreiben. Du könntest auch folgendes machen: Einen zweiten Befehl (\abbildung*} erstellen.

\newcommand{\abbildung*}[5]{%
\begin{figure}[h]%
\centering
\includegraphics[#4]{#3}%
\caption[#5]{#1}%
\label{#2}%
\end{figure}%
}

Und dann immer wenn du der Eintrag im Abb.vz. von der Bildunterschrift abweichen soll den Befehl \abbildung* verwenden mit 5 Argumenten. Und für alles andere eben \abbildung wie du es bisher getan hast. Das könnte ein wenig Arbeit sparen.

Man kann auch bei \newcommand optionale Argumente definieren, aber da müsste ich jetzt auch erstmal nachschauen. Ich hoffe, ich konnte dir helfen. Beste Grüße!

Hallo,
habe leider seit meiner Zeit an der Uni nix mehr mit Latex gemacht und kann daher nicht helfen.
Viel Erfolg bei Deiner Arbeit
Tobi

Moin,

mit einem solchen Problem habe ich nioch nicht zu kämpfen gehabt, deswegen fällt mir nichts zur Lösung ein. Ich frage mich nur, was passiert, wenn wie im Beispiel beide Bedingungen ([…]{…}) in den newcommand-Tag eingesetzt wird. Bliebe nur, die Cracks in newsgroup: de.comp.text.tex zu kontaktieren. „Dort werden Sie immer geholfen“.

Grüße
JK

Hallo!..
Das verstehe ich und klappt auch. Nun möchte ich aber, dass
die Quelle nicht im Abbildungsverzeichnis auftaucht. Ich habe
gefunden, wie dass normalerweise machbar ist:

\caption[Dieser Test erscheint im
Abbildungsverzeichnis]{Dieser nicht}

Aber das Problem ist, dass ich leider nicht weiß, wie ich das
in den newcommand-Befehl bei \caption mit den Rauten einbaue.

Prämbel folgendes festgelegt wurde:

% Command 2 für Abbildungen ohne Verzeichnis
% 1. Parameter: Beschreibung der Abbildung
% 2. Parameter: Label der Abbildung
% 3. Parameter: Pfad zum Bild
% 4. Parameter: Parameter für \includegraphics
\newcommand{\abbildung1}[4]{%
\begin{figure}[h]%
\centering
\includegraphics[#4]{#3}%
\caption{#1}%
\label{#2}%
\end{figure}%
}

Das währe jetzt meine Ad-Hock Lösung, leider konnte ich es nicht Testen da ich auf der Maschine gerade kein LaTeX installiert habe, aber es sollte theoretisch funktionieren.

Gruss
Bastian

Hallo,

ich schicke mal anbei zwei Varianten, A und B.
Beide arbeiten mit fünf Übergabeparametern.

% Command für Abbildungen Variante A
% 1. Parameter: Abbildung im Verzeichnis
% 2. Parameter: Quellenangabe
% 3. Parameter: Label der Abbildung
% 4. Parameter: Pfad zum Bild
% 5. Parameter: Parameter für \includegraphics
\newcommand{\abbildunga}[5]{%
\begin{figure}[h]%
\centering
\includegraphics[#5]{#4}%
\caption[#1]{#1, Quelle: #2}%
\label{#3}%
\end{figure}%
}

% Command für Abbildungen Variante B
% 1. Parameter: Abbildung in Verzeichnis
% 2. Parameter: Abbildungsunterschrift
% 3. Parameter: Label der Abbildung
% 4. Parameter: Pfad zum Bild
% 5. Parameter: Parameter für \includegraphics
\newcommand{\abbildungb}[5]{%
\begin{figure}[h]%
\centering
\includegraphics[#5]{#4}%
\caption[#1]{#2}%
\label{#3}%
\end{figure}%
}

mit den jeweiligen Aufrufen:

\abbildunga{Anrufstatistik A}{Eigene}{abb:anrufa}{anrufe.png}{width=10cm}
\abbildungb{Anrufstatistik B}{Anrufstatistik, Quelle: Eigene}{abb:anrufb}{anrufe.png}{width=10cm}

Variante A setzt die Bildbeschriftung aus zwei Teilen zusammen, wobei nur der erste Teil ins Verzeichnis übernommen wird. Zudem wird dort noch die Zeichenkette ", Quelle: " automatisch eingefügt.
Bequem, kurz, aber vielleicht doch zu wenig flexibel?
Dann lieber Variante B, die allerdings stets erwartet, dass Angabe für das Verzeichnis UND Bildunterschrift gegeben werden - und zwar immer und nicht nur fakultativ.

Gruß Martin