PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Pseudo"-Figures und subfigures in der LOF



RedEdison
24-08-2010, 09:40
Grüßt Euch,

Ich habe in meinem Dokument erfolgreich "Pseudo"-Abbildungen mittels \refstepcounter{figure} erstellt (siehe thread http://www.mrunix.de/forums/showthread.php?t=68666).

Nun möchte ich einer Abbildung mehrere subfigures zuweisen (jew. Detailvergrößerungen). Diese werden ja dann mit fortlaufendem Buchstaben hochgezählt. Im Dokument selbst werden diese subfigures auch korrekt mit Abb. 1a, Abb. 1b etc. bezeichnet. In der \listoffigures jedoch taucht das annex nicht auf, dort habe ich dann mehrere Einträge mit der Nummer 1.

Hier das Minimalbeispiel:



\documentclass[12pt,english,german]{scrreprt}
\usepackage[list=on]{subfig}

\begin{document}
\addchap{Abbildungsverzeichnis} \input{Abbildungsverzeichnis.tex}


In "Abbildungsverzeichnis.tex" dann



\makeatletter
\renewcommand{\thefigure}{\arabic{figure}} %damit die Kapitelnr. nicht mit aufgeführt wird.
\renewcommand\@dotsep{1000} %damit die Punkte zur Seitenzahl verschwinden.
\makeatother

\listoffigures

\refstepcounter{figure}\label{nicolettodamodenaape lles}\addtocontents{lof}{\protect\contentsline {figure}{\protect\numberline {\thefigure}Nicoletto da Modena (1487-1522)\\
Apelles, um 1507\\
Kupferstich, 20,9 x 14,7 cm\\
New York, Metropolitan Museum of Art, Purchase Joseph Pulitzer Bequest, 1917, Inv.-Nr. 17.50.98\\
Quelle: \textsc{AK Köln München} 2002, S. 207, Kat.-Nr. 15.\\
Lit.: \textsc{Hind} 1943-1948, Bd. 5, S. 119, Nr. 29.\\}{}{}}

\refstepcounter{subfigure}\label{geometria}\addtoc ontents{lof}{\protect\contentsline {figure}{\protect\numberline {\thefigure}\textit{Geometria} aus den Tarocchi um 1465\\
Paris, Bibliothèque Nationale, Réserve du Cabinet des Estampes\\
Quelle: \textsc{Merz} 1999, S. 218, Abb. 6.\\}{}{}}


Mit dem testweisen Umstieg auf caption bzw. subcaption hatte ich leider keinen Erfolg. Wie kann ich erreichen, dass auch in der LOF die Bezeichnungen 1a, 1b etc. erscheinen? Intern "kennt" TeX die richtige Bezeichnung ja schon, wenn ich sie mit (Abb. \ref{nicolettodamodenaapelles}) referenziere. :confused:

Danke im Voraus,
Martin

rais
24-08-2010, 10:48
Moin moin,

Wie kann ich erreichen, dass auch in der LOF die Bezeichnungen 1a, 1b etc. erscheinen? Intern "kennt" TeX die richtige Bezeichnung ja schon, wenn ich sie mit (Abb. \ref{nicolettodamodenaapelles}) referenziere. :confused:

wie soll das gehen, wenn sich wie hier `nicolettodamodenaapelles' auf den figure-Zähler bezieht?
Du könntest es natürlich mit \thefigure\thesubfigure im \numberline versuchen -- oder gar \ref{..} -- aber warum nicht einfach \renewcommand*\thefigure{1\alph{figure}} und bei Deinem ursprünglichem Ansatz mit figure bleiben?

MfG

RedEdison
24-08-2010, 15:54
Hallo Rainer,

danke für die schnelle Antwort - leider stehe ich aber immer noch etwas auf dem Schlauch, fürchte ich.

Zunächst eine kleine Korrektur: ich referenziere natürlich auf die subfigure, \ref{geometria}, die mir im fertigen Dokument auch korrekt als Abb. 1a angezeigt wird - nur eben nicht in der LOF. Da fehlt einfach das a, nehme ich an, denn sie wird genauso wie die vorige Abbildung mit der Nummer 1 versehen.

Zum von Dir vorgeschlagenen \renewcommand*\thefigure{1\alph{figure}}: wo genau müsste der denn eingefügt werden? Wenn ich z.B. den vorhandenen \renewcommand{thefigure}-Befehl im "Abbildungsverzeichnis.tex" durch Deinen ersetze, bekomme ich für jede Referenz auf eine Abbildung die Fehlermeldung "counter too large".
Das Hinzufügen von \thefigure\thesubfigure im \numberline bringts leider auch nicht.

Hier noch einmal meine ausführlichere Präambel. Vllt. schneide ich mir die sub-Nummerierung irgendwo selbst weg und merke es nicht!? Einige der Befehle entstammen einer "bunt gewachsenen" Vorlage, die jeder hier im Institut benutzt, ohne jeden einzelnen Eintrag komplett verstanden zu haben (einschließlich meiner :().



\documentclass[12pt,english,german]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{geometry}
\geometry{verbose,a4paper,tmargin=22mm,bmargin=22m m,lmargin=28mm,rmargin=25mm,headheight=10mm}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{float}
\restylefloat{figure}
\onehalfspacing
\usepackage{array}
\setlength{\extrarowheight}{2pt}
\setcounter{tocdepth}{3}
\usepackage[hang]{caption}
\usepackage{textcomp}
\usepackage[stable]{footmisc} %gestattet es, Fußnoten in Kapitelüberschriften zu verwenden
\usepackage{titlesec}
\newenvironment{myQuote}{\begin{quote}\singlespaci ng}{\end{quote}} %einzeiliger Zeilenabstand in quotation-Umgebung

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\newcommand{\noun}[1]{\textsc{#1}}
%% Bold symbol macro for standard LaTeX users
\newcommand{\boldsymbol}[1]{\mbox{\boldmath $#1$}}
%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{cite}

\parskip0.8ex
\chead{}
\rhead{\thepage}
\cfoot{}
\usepackage{babel}

\makeatother

\usepackage[list=on]{subfig}

%Test Bookmark in PDF
\usepackage[bookmarks]{hyperref}
\hypersetup{
pdftitle={blablabla}
%[...]
%Test Bookmark in PDF

\usepackage[all]{hypcap} %so springt man beim Klicken auf Links nicht *unter* das Objekt

\begin{document}


Für Hilfe dankbar,
Martin

u_fischer
24-08-2010, 16:11
Du solltest lernen kürzere aber dafür vollständige Beispiele zu machen. Vor lauter "New York, Metropolitan Museum of Art, Purchase Joseph Pulitzer Bequest, 1917, Inv.-Nr. 17.50.9" sieht ja keiner mehr deinen Code.

Auf jeden Fall hat dir Rainer die Lösung doch schon gesagt. Wenn du möchtest, dass im lof nicht nur der figure sondern auch der subfigure-Zähler auftaucht, musst du den auch im \numberline-Befehl erwähnen. Also z.B.


\addtocontents{lof}{%
\protect\contentsline{figure}{\protect\numberline {\thefigure\thesubfigure}Abbildung2}{}{}}

RedEdison
24-08-2010, 21:07
Heureka, so klappt es ja doch! Sorry, Rainer, ich weiss selbst nicht, was ich da verbockt hatte - vermutlich user error, wie befürchtet.

Und ja, ich hatte im MB etwas "sorglos" copy + paste benutzt. :o

Besten Dank (mal wieder!),
Martin

sommerfee
29-08-2010, 08:51
Sollen eigentlich die Seitenzahlen in das Abbildungsverzeichnis mit aufgenommen werden? Wenn ja, könnte man auch \captionlistentry verwenden. Hier mal ein Vergleich der beiden Methoden:



\documentclass[12pt,english,german]{scrreprt}

\usepackage[figurewithin=none]{caption}
\renewcommand\theContinuedFloat{\alph{ContinuedFlo at}}

\usepackage[list=on]{subfig}
%\setcounter{lofdepth}{2} % subfig-Aequivalent zu "list=on"

\begin{document}
\addchap{Abbildungsverzeichnis}

\makeatletter
\renewcommand\@dotsep{1000} %damit die Punkte zur Seitenzahl verschwinden.
\makeatother

\listoffigures

\refstepcounter{figure}\label{nicolettodamodenaape lles}\addtocontents{lof}{\protect\contentsline {figure}{\protect\numberline {\thefigure}Nicoletto da Modena (1487-1522)\\
Apelles, um 1507\\
Kupferstich, 20,9 x 14,7 cm\\
New York, Metropolitan Museum of Art, Purchase Joseph Pulitzer Bequest, 1917, Inv.-Nr. 17.50.98\\
Quelle: \textsc{AK Köln München} 2002, S. 207, Kat.-Nr. 15.\\
Lit.: \textsc{Hind} 1943-1948, Bd. 5, S. 119, Nr. 29.\\}{}{}}

\refstepcounter{subfigure}\label{geometria}\addtoc ontents{lof}{\protect\contentsline {figure}{\protect\numberline {\thefigure\thesubfigure}\textit{Geometria} aus den Tarocchi um 1465\\
Paris, Bibliothèque Nationale, Réserve du Cabinet des Estampes\\
Quelle: \textsc{Merz} 1999, S. 218, Abb. 6.\\}{}{}}

\begingroup
\captionsetup{type=figure}
%
\captionlistentry{%
Nicoletto da Modena (1487-1522)\newline
Apelles, um 1507\newline
Kupferstich, 20,9 x 14,7 cm\newline
New York, Metropolitan Museum of Art, Purchase Joseph Pulitzer Bequest, 1917, Inv.-Nr. 17.50.98\newline
Quelle: \textsc{AK Köln München} 2002, S. 207, Kat.-Nr. 15.\newline
Lit.: \textsc{Hind} 1943-1948, Bd. 5, S. 119, Nr. 29.}
\label{nicolettodamodenaapelles}
%
\ContinuedFloat
\captionlistentry{%
\textit{Geometria} aus den Tarocchi um 1465\newline
Paris, Bibliothèque Nationale, Réserve du Cabinet des Estampes\newline
Quelle: \textsc{Merz} 1999, S. 218, Abb. 6.}
\label{geometria}
%
\endgroup

\end{document}

rais
29-08-2010, 23:15
Moin Axel,

Sollen eigentlich die Seitenzahlen in das Abbildungsverzeichnis mit aufgenommen werden?
nö (aus dem vom OP eingangs erwähnten Thread)


Nun werde ich noch versuchen, die Anzeige der Seitenzahl im Abbildungsverzeichnis zu unterdrücken sowie den hyperref-Link für Abbildungen zu deaktivieren (ist ja beides unsinnig, da es die Abbildung im Dokument ja gar nicht gibt.)

obwohl, wenn der OP in der LOF _gar_ keine Seitenzahlen haben will, hilft vllt zusätzlich


\newcommand*\orglof{}%nur zur Sicherheit, falls es an anderer Stelle bereits definiert wurde
\newcommand*\orgcl{}%dito
\let\orglof\listoffigures
\let\orgcl\contentsline
\renewcommand*\listoffigures{%
\begingroup
\renewcommand\contentsline[4]{\orgcl{##1}{##2}{}{}}%
\orglof
\endgroup
}

(angepasst an hyperref, was der OP ebenfalls benutzt -- ohne hyperref halt nur \renewcommand\contentsline[3]{...})
Sieht vllt nach Holzhammermethode aus, aber ich hab ja nicht umsonst n Hammer in meiner Sig :D

MfG