Abbildungsverzeichnis kürzen / Abbildungen zusammenfassen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Abbildungsverzeichnis kürzen / Abbildungen zusammenfassen

von q_999 » Sa 9. Feb 2013, 15:06

Funktioniert alles super. Vielen Dank!!!

von Besserwisser » Fr 8. Feb 2013, 08:42

Besserwisser hat geschrieben: Leider scheint dann listof=flat nicht mehr zu funktionieren. Deshalb habe ich die Ausgabe des Verzeichniseintrags mit \l@figure ebenfalls umdefiniert und dort neue, feste Werte eingetragen.
Der Punkt hat mir keine Ruhe gelassen. Der Grund war schlicht, dass ich ein \protect zu wenig hatte. Mit folgendem leicht geänderten \addcaptionentry kann man auf die Umdefinierung von \l@figure verzichten und bekommt nach 3 LaTeX-Läufen automatisch ein korrektes Ergebnis:
% Und jetzt der neue Befehl, um einen Bereich von der aktuellen Abbildung bis
% zu einer per Referenz gegebenen aufzuspannen:
\newcommand*{\addcaptionentry}[3][figure]{%
  % optionales erstes Agument: figure, table o. ä. (default: figure)
  % zweites Argument: Label der letzten Abbildung, Tabelle ö. ä.
  % drittes Argument: Text des Eintrags
  % Statt \addcontentsline muss hier direkt auf \addtocontents und
  % \contentsline zurückgegriffen werden, damit das bei \addcontentsline
  % automatisch eingefügte \thepage-Argument ersetzte werden kann.
  \addtocontents{\csname ext@#1\endcsname}{%
    \protect\contentsline{#1}{%
      \protect\numberline{\csname the#1\endcsname--\ref{#2}}#3% HIER GEÄNDERT
    }{%
      \thepage--\pageref{#2}%
    }%
  }%
}

von Besserwisser » Fr 8. Feb 2013, 08:21

Jetzt hatte ich doch glatt selbst vergessen, den Status anzupassen … :roll:

von Besserwisser » Fr 8. Feb 2013, 08:20

Zunächst: Du hast ein paar veraltete Optionen in Gebrauch. Du solltest Dir die Warnungen anschauen, die KOMA-Script deshalb ausgibt. Außerdem hast Du Dich bei einer Option verschieben. Ich werde das in meinem Beispiel unten korrigieren und entsprechende Kommentare hinzufügen. Bitte beachten und in der KOMA-Script-Anleitung nachlesen!

Dann sei erwähnt, dass Du bei Verwendung von caption, die Schriftgröße ebenfalls per Option setzen kannst.

Außerdem verwendest Du falsche Striche. Der Bindestrich ist der gleiche wie der Trennstrich (davon abgesehen, dass der Trennstrich hängend ist, aber das ist ein anderes Thema), dafür ist der korrekte Bis-Strich ein Halbgeviertstrich. Ich habe das im Beispiel unten ebenfalls korrigiert. Der Gedankenstrich wäre ebenfalls ein Halbgeviertstrich aber mit Leerzeichen davor und dahinter. Im Englischen ist es übrigens ein wenig anders.

1. Ist sehr leicht mit einer kleinen Änderung (eigentlich sogar eine Vereinfachung) umzusetzen:
  \begin{figure}[ht]
  \centering
   \caption[]{Brutto-Inlandsprodukt der Bundesrepublik Deutschland von 1970--1980}
  \addcontentsline{lof}{figure}{\numberline{\thefigure ff}Brutto-Inlandsprodukt der Bundesrepublik von 1970--1980, 1980--1990 und 1990--2000}
   \end{figure}
Bei 2. wird es schwieriger. Da muss man sich von \addcontentsline lösen, weil das die Seitenzahl automatisch einfügt. Ich habe dann im Beispiel auch mal statt ff anzuhängen gleich die Nummern im Schema A--B eingebaut. Leider scheint dann listof=flat nicht mehr zu funktionieren. Deshalb habe ich die Ausgabe des Verzeichniseintrags mit \l@figure ebenfalls umdefiniert und dort neue, feste Werte eingetragen. Zusätzlich habe ich alle Abbildungen mit Label versehen, nicht nur die eine, bei der es wirklich benötigt wird. Alles weitere ist im Listing dokumentiert. Wichtig ist nur noch, dass min. 2 LaTeX-Läufe benötigt werden, damit alles stimmt.
\documentclass[% listof=flat entfernt, weil es mit den Änderungen unten nicht
               % mehr funktioniert.
  12pt,% korrekte, alte Option (neu wäre: fontsize=12pt)
  oneside,% korrekte überflüssige Option (war falsch: onesided)
  a4paper,% korrekte überflüssige Option
  notitlepage,% korrekte, alte Option (neu wäre: titlepage=false)
  headsepline,% korrekte Option,
  numbers=noenddot,% korrekte, neue Option (war veraltet: pointlessnumbers)
]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[hang,sl,small]{caption}% Schriftgröße small hinzugefügt
\usepackage{geometry}                    
\geometry{a4paper, top=25mm, left=25mm, right=25mm, bottom=30mm,headsep=10mm, footskip=12mm}

\AtBeginDocument{% Erst bei \begin{document} ausführen, weil davor das
                 % Verzeichnis noch nicht beschreibbar ist.
  % Wir benötigen im Abbildungsverzeichnis deutlich mehr Platz für die
  % Seitenzahlen, weil dort Bereiche angegeben werden.
  \addtocontents{lof}{\protect\renewcommand*{\string\@pnumwidth}{4em}%
    \protect\renewcommand*{\string\@tocrmarg}{5em}}%
}
\makeatletter
% Wir benötigen im Abbildungsverzeichnis deutlich mehr Platz für die
% Nummernspalte, weil dort Bereiche angegeben werden.
\renewcommand*{\l@figure}{\@dottedtocline{1}{0em}{5em}}
\makeatother
% Und jetzt der neue Befehl, um einen Bereich von der aktuellen Abbildung bis
% zu einer per Referenz gegebenen aufzuspannen:
\newcommand*{\addcaptionentry}[3][figure]{%
  % optionales erstes Agument: figure, table o. ä. (default: figure)
  % zweites Argument: Label der letzten Abbildung, Tabelle ö. ä.
  % drittes Argument: Text des Eintrags
  % Statt \addcontentsline muss hier direkt auf \addtocontents und
  % \contentsline zurückgegriffen werden, damit das bei \addcontentsline
  % automatisch eingefügte \thepage-Argument ersetzte werden kann.
  \addtocontents{\csname ext@#1\endcsname}{%
    \protect\contentsline{#1}{%
      \numberline{\csname the#1\endcsname--\ref{#2}}#3%
    }{%
      \thepage--\pageref{#2}%
    }%
  }%
}
\makeatother

\begin{document}

\listoffigures % Abbildungsverzeichnis

\chapter{Beispiel}

  \begin{figure}[ht]
  \centering
  \caption{xyz}\label{fig:vorher}
  \end{figure}
 
  \begin{figure}[ht]
  \centering
   \caption[]{Brutto--Inlandsprodukt der Bundesrepublik Deutschland von
     1970-1980}\label{fig:start}
   \addcaptionentry{fig:ende}{Brutto-Inlandsprodukt der Bundesrepublik von
     1970--1980, 1980--1990 und 1990--2000}
   \end{figure}
 
  \begin{figure}[ht]
  \centering
  \caption[]{Brutto-Inlandsprodukt der Bundesrepublik Deutschland von 1980--1990}\label{fig:mitte}
  \end{figure}
 
  \clearpage
 
  \begin{figure}[ht]
  \centering
  \caption[]{Brutto-Inlandsprodukt der Bundesrepublik Deutschland von 1990--2000}\label{fig:ende}
  \end{figure}
 
  \clearpage
 
  \begin{figure}[ht]
  \centering
  \caption{zzz}\label{fig:danach}
  \end{figure}
 
\end{document}
Zum Schluss noch: Wenn Du eine Rückfrage beantwortet hast, solltest Du den Status wieder auf "offen" stellen. Ebenso solltest Du, wenn das Problem irgendwann gelöst ist, den Status auf "beantwortet" setzen.

von q_999 » Do 7. Feb 2013, 18:49

Hi.

Vielen Dank für die schnelle Antwort. Deine beiden Hinweise werden ich von nun an beachten. Mit deinem Code habe ich ein Minimalbeispiel erstellt:
%
\documentclass[listof=flat,12pt,onesided,a4paper,notitlepage,headsepline,pointlessnumbers]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[hang,sl]{caption}
\addtokomafont{caption}{\small}
\usepackage{geometry}							
\geometry{a4paper, top=25mm, left=25mm, right=25mm, bottom=30mm,headsep=10mm, footskip=12mm}

\begin{document}

\listoffigures % Abbildungsverzeichnis
\newpage

  \begin{figure}[ht]
  \centering
  \caption{xyz}
  \end{figure}
  
  \begin{figure}[ht]
  \centering
	\caption[]{Brutto--Inlandsprodukt der Bundesrepublik Deutschland von 1970-1980}
	\makeatletter
	\l@addto@macro\thefigure{ff}% ff an die Nummer anhängen
	\makeatother
  \addcontentsline{lof}{figure}{Brutto--Inlandsprodukt der Bundesrepublik von 1970-1980, 1980-1990 und 1990-2000}
	\end{figure}
  
  \begin{figure}[ht]
  \centering
  \caption[]{Brutto--Inlandsprodukt der Bundesrepublik Deutschland von 1980-1990}
  \end{figure}
  
  \clearpage
  
  \begin{figure}[ht]
  \centering
  \caption[]{Brutto--Inlandsprodukt der Bundesrepublik Deutschland von 1990-2000}
  \end{figure}
  
  \clearpage
  
  \begin{figure}[ht]
  \centering
  \caption{zzz}
  \end{figure}
  
\end{document}

%
Was funktioniert:

Die drei Captions "Brutto-Inlandsprodukt der Bundesrepublik Deutschland von 1970-1980", "Brutto-Inlandsprodukt der Bundesrepublik Deutschland von 1980-1990" und "Brutto-Inlandsprodukt der Bundesrepublik Deutschland von 1990-2000" konnte ich zu dem Eintrag "Brutto-Inlandsprodukt der Bundesrepublik von 1970-1980, 1980-1990 und 1990-2000" im Abbildungsverzeichnis zusammenfassen.

Was mir nun noch fehlt:

Die Nummerierung für den Eintrag "Brutto-Inlandsprodukt der Bundesrepublik von 1970-1980, 1980-1990 und 1990-2000" mit dem Zusatz "ff" und die erweiterte Seitenangabe (eines der drei Bilder befindet sich auf Seite 3).

Vielen Dank schon Mal!

von Besserwisser » Do 7. Feb 2013, 13:14

Zunächst will ich dich bitten, künftig immer ein vollständiges Minimalbeispiel anzugeben. Außerdem solltest Du Code in Deinen Beiträgen auch als solchen kennzeichnen, wie das im Hinweis für Code in Beitrag mit Beispiel über dem Eingabefeld für den Beitragstext sehr deutlich erklärt wird!

Desweiteren enthält Dein Codeschnippsel zwei Fehler:
  1. Statt \center solltest Du \centering verwenden, weil Du sonst eine center-Umgebung beginnst, ohne diese sauber zu beenden aber mit den bekannten Nachteilen in einer Gleitumgebung.
  2. Statt \small im Argumet von \caption zu verwenden, solltest Du die Schriftart für das Element caption mit Hilfe von
    \addtokomafont{caption}{\small}
    entsprechend erweitern. Das ist nicht nur komfortabler, das \small landet dann auch nicht unerwünscht im Verzeichnis. Siehe dazu auch unbedingt die KOMA-Script-Anleitung!
In der KOMA-Script-Anleitung findest Du dann irgendwo AFAIK auch, dass Du mit leerem optionalem Argument bei \caption den Eintrag ins entsprechende Verzeichnis unterdrücken kannst. Wenn Du also etwas wie
\begin{figure}
…
\caption[]{Beispielabbildung ohne Eintrag ins Verzeichnis}
\makeatletter
\l@addto@macro\thefigure{ff}% ff an die Nummer anhängen
\addcontentsline{lof}{figure}{Eintrag ins Verzeichnis}
\end{figure}
machst und bei allen folgenden Abbildungen ebenfalls eiin leeres optionales Argument verwendest, sollte das eigentlich funktionieren.

Vermutlich wirst Du dann noch Probleme mit der Nummernlänge im Verzeichnis bekommen. In dem Fall sei auf Option listof=flat in der KOMA-Script-Anleitung verwiesen. Bitte unbedingt die Hinweise dazu lesen!

Da Du kein Minimalbeispiel gemacht hast, spare ich mir zu testen, ob das so wirklich funktioniert.

Abbildungsverzeichnis kürzen / Abbildungen zusammenfassen

von q_999 » Do 7. Feb 2013, 11:01

Hi,

nach langer Google-Recherche habe ich noch keine passende Antwort für mein Problem gefunden. Ich hoffe hier kann mir jemand weiterhelfen.
Ich möchte in meinem Abbildungsverzeichnis ähnliche (nacheinander folgende) Bildbezeichnungen zu einer zusammenfassen, da dieses mit über 100 Abbildungen ansonsten zu lange wird.

Beispiel:

Ausschnitt aus Abbildungsverzeichnis:

6.9 Bild xyz S.49
6.10 Ergebnis für 10°C S.50
6.11 Ergebnis für 12°C S.50
6.12 Ergebnis für 14°C S.51
6.13 Bild zzz S.52


Nun sollen 6.10, 6.11 und 6.12 zusammengefasst werden, etwa in der Art:

6.9 Bild xyz S.49
6.10ff oder (6.10 - 6.12) Ergebnis für 10°C -14°C S.50 - 51
6.13 Bild zzz S.52


Ich verwende die Dokumentenklasse "scrreprt" und binde meine Bilder so ein:

\begin{figure}[h!]
\center
\includegraphics[height=10cm]{Pfad des Bildes}
\caption{\small Ergebnis für 10°C}
\label{Test123}
\end{figure}

Gibt es eine Möglichkeit dies zu realisieren? \subfigure[] wäre bestimmt eine Möglichkeit, aber bei der Menge an Bildern sehr aufwendig. Vielen Dank schon Mal im Voraus.

Nach oben