Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Verzeichnis der Quellen für Abbildungen?

760 views
Skip to first unread message

Magnus Warker

unread,
Oct 4, 2016, 12:12:12 PM10/4/16
to
Hallo,

ich möchte in einem Dokument neben dem normalen Literaturverzeichnis ein
separates Verzeichnis der Bildquellen erstellen. Bei jeder Abbildung
soll dann ein Verweis darauf enthalten sein, z. B.:

Abbildung 4.3: Wanderung der Ungarn [24]

Und dann im Verzeichnis der Bildquellen:

...
24: www.wikimedia.com/trallalla

Wie lässt sich sowas am besten realisieren, gerne ausserhalb der
BibTeX-Umgebung als separate Liste?

Danke
Magnus

Olaf Meltzer

unread,
Oct 5, 2016, 4:25:33 AM10/5/16
to
* Magnus Warker schrieb:
Warum nimmst Du nicht einfach die Quellen über das optionale Argument
von \caption[]{} mit ins Abbildungsverzeichnis auf?


\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{url}
\usepackage[german]{babel}

\begin{document}
\listoffigures
\begin{figure}
\centering BILD
\caption[Wanderung der Ungarn. Quelle:\
\protect\url{www.wikimedia.com/trallalla}]{Wanderung der Ungarn}
\end{figure}
\end{document}

Gruß -- Olaf Meltzer

--
openSUSE 13.2 - TeX Live 2016 aktuell mit tlmgr

Magnus Warker

unread,
Oct 19, 2016, 11:26:35 AM10/19/16
to
Hallo Olaf,

On 10/05/2016 10:25 AM, Olaf Meltzer wrote:

> Warum nimmst Du nicht einfach die Quellen über das optionale Argument
> von \caption[]{} mit ins Abbildungsverzeichnis auf?

danke für den Hinweis. Das habe ich schon ausprobiert.
Das Problem ist, dass die Quellen meist lange URLs sind, was im
\listoffigures nicht schön aussieht.

Ich hätte es gerne so:

Abbildungsverzeichnis
---------------------

2.1 Bild vom Gebirge ..................... 14
Quelle: www.wikipedia.de/Gebirge/bla/bla.jpg

3.2 Noch ein Bild..........................26
Quelle: www.nocheinbild.de/trallalla.jpg

...

Geht das? Ich vermute, dass ich das manuell machen muss, oder?

Magnus

Olaf Meltzer

unread,
Oct 19, 2016, 5:30:20 PM10/19/16
to
* Magnus Warker schrieb:

> Ich hätte es gerne so:
>
> Abbildungsverzeichnis
> ---------------------
>
> 2.1 Bild vom Gebirge ..................... 14
> Quelle: www.wikipedia.de/Gebirge/bla/bla.jpg
>
> 3.2 Noch ein Bild..........................26
> Quelle: www.nocheinbild.de/trallalla.jpg
>
> ...
>
> Geht das? Ich vermute, dass ich das manuell machen muss, oder?

Solang die Links noch in die Zeile passen, sieht folgendes ganz gut
aus, aber umbrochen wird es hässlich.

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{url}
\usepackage[german]{babel}

\begin{document}

\listoffigures

\begin{figure}
\centering BILD-1
\caption{Bild vom Gebirge}
\addtocontents{lof}
{\hspace{4em}Quelle:
\protect\url{www.wikipedia.de/Gebirge/bla/bla.jpg}}
\end{figure}

\begin{figure}
\centering BILD-2
\caption{Noch ein Bild}
\addtocontents{lof}
{\hspace{4em}Quelle: \protect\url{www.nocheinbild.de/trallalla.jpg}}

Olaf Meltzer

unread,
Oct 19, 2016, 5:49:17 PM10/19/16
to
* Ich (Olaf Meltzer) schrieb:

...
> {\hspace{4em}Quelle:
...

Das war zu ungenau geschätzt. 3.8em fluchtet im Beispiel besser.

Wahrscheinlich hat dieser Einzug auch einen Namen, über den man den
exakten Wert bekommt, ohne Versuch und Irrtum bemühen zu müssen.

Magnus Warker

unread,
Oct 20, 2016, 12:49:22 PM10/20/16
to
Hallo Olaf!

On 10/19/2016 11:49 PM, Olaf Meltzer wrote:

> Solang die Links noch in die Zeile passen, sieht folgendes ganz gut
> aus, aber umbrochen wird es hässlich.

> \begin{figure}
> \centering BILD-1
> \caption{Bild vom Gebirge}
> \addtocontents{lof}
> {\hspace{4em}Quelle:
> \protect\url{www.wikipedia.de/Gebirge/bla/bla.jpg}}
> \end{figure}

Hey, so hatte ich mir das vorgestellt.
Könntest Du das noch kurz erklären? Wie funktioniert das z. B., dass die
Quelle in die zweite Zeile kommt, aber trotzdem in der ersten Zeile die
Punkte mit der Seitenzahl am rechten Rand ist?

Ich hatte nämlich mit \caption[Trallalla\\Hoppsassa]{Bild vom Gebirge}
experimentiert, aber das ging nicht...

>> {\hspace{4em}Quelle:
> ...
>
> Das war zu ungenau geschätzt. 3.8em fluchtet im Beispiel besser.
>
> Wahrscheinlich hat dieser Einzug auch einen Namen, über den man den
> exakten Wert bekommt, ohne Versuch und Irrtum bemühen zu müssen.

Das wäre jetzt noch toll, wenn man es exakt ableiten könnte. Ich
verwende Komaskript...

Magnus

Olaf Meltzer

unread,
Oct 20, 2016, 2:06:29 PM10/20/16
to
* Magnus Warker schrieb:

> Könntest Du das noch kurz erklären? Wie funktioniert das z. B., dass
> die Quelle in die zweite Zeile kommt, aber trotzdem in der ersten
> Zeile die Punkte mit der Seitenzahl am rechten Rand ist?
>
> Ich hatte nämlich mit \caption[Trallalla\\Hoppsassa]{Bild vom
> Gebirge} experimentiert, aber das ging nicht...

Ja, das ginge fast ebenso. Allerdings musst Du den Zeilenumbruch
schützen. Punklinie und Seitenzahl erscheinen dann in der zweiten
Zeile. Vorteil dieser Version ist außerdem: Der Einzug wird
automatisch passend.

\begin{figure}
\centering BILD-3
\caption[Und noch ein Bild\protect\newline Quelle:
\protect\url{www.undnocheinbild.de/trallalla.jpg}]{Und noch ein
Bild}
\end{figure}

Mein voriger Vorschlag benutzte nicht die vom \caption[]{} automatisch
erzeugte contentsline, die mit punktierter Linie und Seitenzahl
abschließt, sondern fügte unabhängig davon eine (dann leider selbst zu
formatierende) Zeile ins Verzeichnis ein. Das machte ich mit
\addtocontents{VERZEICHNIS}{TEXT}

>>> {\hspace{4em}Qelle:
>> ...
>>
>> Das war zu ungenau geschätzt. 3.8em fluchtet im Beispiel besser.
>>
>> Wahrscheinlich hat dieser Einzug auch einen Namen, über den man den
>> exakten Wert bekommt, ohne Versuch und Irrtum bemühen zu müssen.
>
> Das wäre jetzt noch toll, wenn man es exakt ableiten könnte. Ich
> verwende Komaskript...

Dazu scheint "15.3. Konfiguration von Verzeichniseinträgen" im
scrguide.pdf nützlich zu sein.

Magnus Warker

unread,
Nov 1, 2016, 8:01:27 AM11/1/16
to
Leute, ich weiss nicht, was los ist. Inzwischen erhalte ich folgende
Fehlermeldung, wenn ich Olafs Lösung einfüge:


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.8 \addvspace {10\p@ }

? quit

Kommentiere ich sie aus, ist der Fehler verschwunden. Wie kann das sein?

Der Fehlermeldung kann ich nichts entnehmen...

Danke
Magnus

Magnus Warker

unread,
Nov 1, 2016, 8:18:50 AM11/1/16
to
Ergänzung:

Minimalbeispiel (ohne \url):

\begin{figure}
\centering BILD-1
\caption{Bild vom Gebirge}
\addtocontents{lof}
{Trallalla}
\end{figure}

Füge ich dies ein, erhalte ich den besagten Fehler.
Kommentiere ich es aus, erhalte ich den Fehler nicht.

Lasse ich es drin und nehme \listoffigures am Ende des Dokuments raus,
erhalte ich den Fehler auch nicht. Das Problem scheint wohl bei der
Erstellung des Abbildungsverzeichnisses aufzutreten...

(Das Dokument wird trotzdem erstellt, daher freute ich mich ja zunächst
über die Lösung. Aber den Fehler hätte ich schon gerne ausgemerzt...)

Danke
Magnus

bkleine

unread,
Nov 1, 2016, 8:23:51 AM11/1/16
to
Wenn du wirklich Hilfe möchtest, mach doch bitte eine Minimalbeispiel,
das seinen Namen auch verdient und nicht einen Schnipsel, der nicht
kompilierbar ist.

Beste Grüße
Bernhard

Magnus Warker

unread,
Nov 1, 2016, 8:30:15 AM11/1/16
to
Sorry für die vielen Postings, aber ich versuche gerade, den Fehler zu
finden:

Der Fehler tritt auf, sobald ich

\addtocontents{lof}{Trallalla}

verwende.

@Olaf: Ich würde diese Variante bevorzugen, da hier die Seitenzahl in
der ersten Zeile steht...

Was ist hier los?

Danke
Magnus

Olaf Meltzer

unread,
Nov 1, 2016, 8:32:42 AM11/1/16
to
* Magnus Warker schrieb:
Gib bitte noch ein paar Infos zu ggf. geänderten Randbedingungen.

Meinst Du mit dem zitierten "Kommentiere ich sie aus, ...", Dein o.a.
"? quit", und verläuft danach alles normal, oder meinst Du etwas
anderes?

Welche der beiden Lösungen verwendest Du denn nun, die in \caption[]{}
integrierte oder die mit jeweils separaten \addtocontents{}{}?
Diese Frage hat sich durch Deinen nachgereichten Codeschnipsel
erledigt: Du benutzt die separate \addcontents{}{}.

Kommst Du allgemein noch mit dem Platz aus? Beobachtst Du merkwürdige
Zeilenumbrüche? Seitemumbruch des Abbildungsverzeichnisses ist ok?

Bei mir zeigt sich der von Dir zitierte Fehler nämlich nicht.

Magnus Warker

unread,
Nov 1, 2016, 9:12:03 AM11/1/16
to
Hallo Olaf,

ich habe es inzwischen herausgefunden:

http://tex.stackexchange.com/questions/139620/missing-item-with-addtocontents-before-section

Die Lösung ist ein \par am Ende des zweiten Parameters für
\addtocontents, warum auch immer...

Mein Makro zur Einbindung fremder Grafiken sieht nun so aus:

\newcommand{\myfig}[4]
{
\begin{figure}
\centering
\includegraphics[width=70mm]{img/#1.eps}
\caption{#2}
\label{#3}
\addtocontents{lof}
{\hspace{4em}Quelle: \protect#4\par}
\end{figure}
}

Schön wäre jetzt noch, wenn man den exakten Einzug verwenden könnte.

Ausserdem hätte ich gerne *ein* Makro für *alle* Abbildungen, also auch
solche, wo keine Quellenangabe gemacht werden muss. Lasse ich bei diesen
den Parameter #4 einfach weg, gibt es eine zweite Zeile mit "Quelle: "
am Anfang. Hier sollte die komplette zweite Zeile entfallen.

Es gibt also noch ein paar Verbesserungsmöglichkeiten. Aber erst mal
danke für diese schöne Lösung!

Magnus

Magnus Warker

unread,
Nov 1, 2016, 9:55:11 AM11/1/16
to
On 11/01/2016 01:23 PM, bkleine wrote:
> Am 01.11.2016 um 13:20 schrieb Magnus Warker:
>> Ergänzung:
>>
>> Minimalbeispiel (ohne \url):
>>
>> \begin{figure}
>> \centering BILD-1
>> \caption{Bild vom Gebirge}
>> \addtocontents{lof}
>> {Trallalla}
>> \end{figure}

> Wenn du wirklich Hilfe möchtest, mach doch bitte eine Minimalbeispiel,
> das seinen Namen auch verdient und nicht einen Schnipsel, der nicht
> kompilierbar ist.

Ich bin da völlig bei Dir.

Allerdings bedeutet ein Minimalbeispiel bei grösseren Projekten manchmal
einen sehr grossen Aufwand. Erstellt man das Minimalbeispiel neu, tritt
das Problem oft nicht auf. So muss man dann von dem grossen Projekt
Schritt für Schritt einzelne Teile wegnehmen, und dabei den Fehler
"erhalten", bis man es auf eine minimale Grösse gebracht hat.

Diesen Weg gehe ich auch, wenn alle anderen Bemühungen nichts gebracht
haben. Aber vorher versuche ich, ohne diesen Aufwand eine Lösung zu
finden. Manchmal sieht ein anderer das Problem auf den ersten Blick.
Daher finde ich es legitim, das erst mal abzufragen.

Ich bin jedenfalls froh, in diesem Fall kein Minimalbeispiel gebraucht
zu haben...

Cheers! :-)

Magnus

Christian Zietz

unread,
Nov 1, 2016, 10:20:38 AM11/1/16
to
Magnus Warker schrieb:

> Allerdings bedeutet ein Minimalbeispiel bei grösseren Projekten manchmal
> einen sehr grossen Aufwand. Erstellt man das Minimalbeispiel neu, tritt
> das Problem oft nicht auf. So muss man dann von dem grossen Projekt
> Schritt für Schritt einzelne Teile wegnehmen, und dabei den Fehler
> "erhalten", bis man es auf eine minimale Grösse gebracht hat.

Äh, das ist doch gerade der Sinn eines Minimalbeispiels. Dass Du dabei
den Fehler vielleicht gleich selbst findest und löst, ist ein nützlicher
Nebeneffekt.

Christian
--
Christian Zietz - CHZ-Soft - czietz (at) gmx.net
WWW: http://www.chzsoft.de/
PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA

Olaf Meltzer

unread,
Nov 1, 2016, 10:49:29 AM11/1/16
to
* Magnus Warker schrieb:

> Schön wäre jetzt noch, wenn man den exakten Einzug verwenden könnte.

Dazu hab ich noch keine generische Lösung.

> Ausserdem hätte ich gerne *ein* Makro für *alle* Abbildungen, also
> auch solche, wo keine Quellenangabe gemacht werden muss. Lasse ich
> bei diesen den Parameter #4 einfach weg, gibt es eine zweite Zeile
> mit "Quelle: " am Anfang. Hier sollte die komplette zweite Zeile
> entfallen.

Dem ist einfacher beizukommen. Übrigens: Man lässt beim Einbinden der
Bilder die Datei-Endung weg.

\usepackage{ifthenelse}

\newcommand{\myfig}[4]
{
\begin{figure}
\centering
\includegraphics[width=70mm]{img/#1}
\caption{#2}
\label{#3}
\ifthenelse{\equal{#4}{}}{\relax}{
\addtocontents{lof}
{\hspace{3.8em}Quelle: \protect#4\par}}
\end{figure}
}

Magnus Warker

unread,
Nov 1, 2016, 10:49:46 AM11/1/16
to
On 11/01/2016 03:20 PM, Christian Zietz wrote:
> Magnus Warker schrieb:
>
>> Allerdings bedeutet ein Minimalbeispiel bei grösseren Projekten manchmal
>> einen sehr grossen Aufwand. Erstellt man das Minimalbeispiel neu, tritt
>> das Problem oft nicht auf. So muss man dann von dem grossen Projekt
>> Schritt für Schritt einzelne Teile wegnehmen, und dabei den Fehler
>> "erhalten", bis man es auf eine minimale Grösse gebracht hat.
>
> Äh, das ist doch gerade der Sinn eines Minimalbeispiels. Dass Du dabei
> den Fehler vielleicht gleich selbst findest und löst, ist ein nützlicher
> Nebeneffekt.

Ich sehe da keine gegenteilige Aussage in meinem Posting. Ich wollte nur
dafür plädieren, vorher mal in die Runde zu fragen, ob nicht jemand
zufällig das Problem und eine Lösung kennt. Meistens ist man ja nicht
der erste, bei dem es auftritt...

Magnus

Magnus Warker

unread,
Nov 1, 2016, 11:08:34 AM11/1/16
to
Hallo Olaf!

On 11/01/2016 03:49 PM, Olaf Meltzer wrote:
> * Magnus Warker schrieb:

>> Schön wäre jetzt noch, wenn man den exakten Einzug verwenden könnte.
> Dazu hab ich noch keine generische Lösung.

Ok, man kann ja für "sein" Dokument es ausprobieren und hard-kodieren.
So schlimm ist das auch nicht. Aber irgendwie gehen müsste es.
Vielleicht meldet sich ja noch einer...

>> Ausserdem hätte ich gerne *ein* Makro für *alle* Abbildungen, also
>> auch solche, wo keine Quellenangabe gemacht werden muss. Lasse ich
>> bei diesen den Parameter #4 einfach weg, gibt es eine zweite Zeile
>> mit "Quelle: " am Anfang. Hier sollte die komplette zweite Zeile
>> entfallen.
>
> Dem ist einfacher beizukommen. Übrigens: Man lässt beim Einbinden der
> Bilder die Datei-Endung weg.

Warum? Ich habe mehrererlei... :-)

> \usepackage{ifthenelse}
>
> \newcommand{\myfig}[4]
> {
> \begin{figure}
> \centering
> \includegraphics[width=70mm]{img/#1}
> \caption{#2}
> \label{#3}
> \ifthenelse{\equal{#4}{}}{\relax}{
> \addtocontents{lof}
> {\hspace{3.8em}Quelle: \protect#4\par}}
> \end{figure}
> }

Danke! Mein Makro sieht inzwischen so aus:

\newcommand{\myfig}[4]
{
\begin{figure}
\centering
\includegraphics[width=70mm]{img/#1.eps}
\caption{#2}
\label{#3}
\addtocontents{lof}

\ifthenelse{\equal{#4}{}}{\relax}{
\addtocontents{lof}
{\vspace{0.5em}\hspace{3.8em}\tiny{Quelle: \protect#4}\par\normalsize}}

\end{figure}
}

Ich wollte für die Quelle eine kleinere Schrift, aber zunächst war dann
das ganze Abbildungsverzeichnis ab dieser Stelle in kleinerer Schrift.
Das \normalsize am Ende des Makros scheint zu helfen, aber ist denn das
Abbildungsverzeichnis immer "normalsize"?

Magnus

Olaf Meltzer

unread,
Nov 1, 2016, 11:43:19 AM11/1/16
to
* Magnus Warker schrieb:

[...]
>> Übrigens: Man lässt beim Einbinden
>> der Bilder die Datei-Endung weg.
>
> Warum? Ich habe mehrererlei... :-)

Na dann ...

[...]
> Ich wollte für die Quelle eine kleinere Schrift, aber zunächst war
> dann das ganze Abbildungsverzeichnis ab dieser Stelle in kleinerer
> Schrift. Das \normalsize am Ende des Makros scheint zu helfen, aber
> ist denn das Abbildungsverzeichnis immer "normalsize"?

Du solltest das \tiny einsperren: {\tiny Blah}.

Mit den Abständen kannst Du noch spielen. Wie folgt sieht es bei mir
ganz brauchbar aus.


\newcommand{\myfig}[4]
{
\begin{figure}
\centering
\includegraphics[width=70mm]{img/#1}
\caption{#2}
\label{#3}
\ifthenelse{\equal{#4}{}}{\relax}{
\addtocontents{lof}
{\vspace{-\smallskipamount}\hspace{3.45em}
{\tiny Quelle: \protect#4}\par}}
\end{figure}
}

Julius Dittmar

unread,
Nov 1, 2016, 11:44:01 AM11/1/16
to
On 01.11.2016 16:10, Magnus Warker wrote:
> Danke! Mein Makro sieht inzwischen so aus:
>
> \newcommand{\myfig}[4]
> {
> \begin{figure}
> \centering
> \includegraphics[width=70mm]{img/#1.eps}
> \caption{#2}
> \label{#3}
> \addtocontents{lof}
>
> \ifthenelse{\equal{#4}{}}{\relax}{
> \addtocontents{lof}
> {\vspace{0.5em}\hspace{3.8em}\tiny{Quelle: \protect#4}\par\normalsize}}
>
> \end{figure}
> }
>
> Ich wollte für die Quelle eine kleinere Schrift, aber zunächst war dann
> das ganze Abbildungsverzeichnis ab dieser Stelle in kleinerer Schrift.
> Das \normalsize am Ende des Makros scheint zu helfen, aber ist denn das
> Abbildungsverzeichnis immer "normalsize"?

Dann packst Du besser Deine Schrift-Größen-Wahl in eine Gruppe.
Ungetestet mangels Minimalbeispiel (möglicherweise funktionieren auch {
und } statt \begingroup und \endgroup; irgendwann beschäftige ich mich
auch noch mit dem Unterschied ...):

\addtocontents{lof}{\vspace{0.5em}\hspace{3.8em}\begingroup\tiny Quelle:
\protect#4\par\endgroup}

Gruß,

Julius

Axel Berger

unread,
Nov 1, 2016, 2:57:06 PM11/1/16
to
Magnus Warker wrote:
> \begin{figure}
> \centering BILD-1
> \caption{Bild vom Gebirge}
> \addtocontents{lof}
> {Trallalla}
> \end{figure}

Auf den ersten Blick sieht das Leerzeichen zwischen lof und Trallalla
falsch aus. Nicht überall kann man ungestraft Zeilenümbrüche einstreuen.

Axel

--
/¯\ No | Dipl.-Ing. F. Axel Berger Tel: +49/ 221/ 7771 8067
\ / HTML | Roald-Amundsen-Straße 2a Fax: +49/ 221/ 7771 8069
 X in | D-50829 Köln-Ossendorf http://berger-odenthal.de
/ \ Mail | -- No unannounced, large, binary attachments, please! --
0 new messages