PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nummerierung bei Subfig



Björn87
07-03-2011, 22:22
Hallo,

ich wollte heute zum ersten Mal Subfig benutzen, aber leider klappt das nich so ganz, wie ich will...
Als Bildunterschrift kommt nur (a), (b) usw., ich hätte aber gerne 1.a, 1.b usw, bei anderen scheint das ja auch so zu gehn, aber ich habe kein Unterschied gefunden, wie die das anders machen...

Hier mal mein Code:



\usepackage{subfig}
...
\begin{figure}[H]
\subfloat[Erste Iteration]{\label{fig:D1} \includegraphics[width=0.31\textwidth]{5_5_Exp1_Step1.JPG}}\hfill
\subfloat[Zweite Iteration] {\label{fig:D2} \includegraphics[width=0.31\textwidth]{5_5_Exp2_Step1.JPG}}\hfill
\subfloat[Dritte Iteration]{\label{fig:D3} \includegraphics[width=0.31\textwidth]{5_5_Exp3_Step1.JPG}}
\end{figure}


Danke

bobmalaria
08-03-2011, 00:28
hi,

das sind zu wenige informationen. manche bitte ein richtiges minimalbeispiel. ich vermute mal du verwendest eine klasse die kein \chater befehl hat, also z.b. article.

gruss

Björn87
08-03-2011, 07:53
ok, wusst ich nicht
Hier mal ein bisschen mehr:



\documentclass{scrartcl}
\usepackage{times}
\usepackage[latin1]{inputenc}
\usepackage{graphicx}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\thispagestyle{empty}
\usepackage[left=2.5cm,right=2cm,top=0cm,bottom=1cm,includehea dfoot]{geometry}
\usepackage{subfig}
\usepackage{float}
\begin{document}
\begin{figure}[H]
\subfloat[2. Experiment, erste Iteration]{\label{fig:53E2I1} \includegraphics[width=0.31\textwidth]{5_3_Exp2_Step1.JPG}}\hfill
\subfloat[1. Experiment, zweite Iteration] {\label{fig:53E1I2} \includegraphics[width=0.31\textwidth]{5_3_Exp1_Step2.JPG}}\hfill
\subfloat[2. Experiment, zweite Iteration]{\label{fig:53E2I2} \includegraphics[width=0.31\textwidth]{5_3_Exp2_Step2.JPG}}
\end{figure}
\end{document}


Ich hoffe das reicht so
Liegt das dann an scrartcl? Was kann ich denn stattdessen benutzen?

sommerfee
08-03-2011, 08:03
Als Bildunterschrift kommt nur (a), (b) usw.

Das ist das Standardverhalten, also völlig ok.


ich hätte aber gerne 1.a, 1.b usw

Dann schaue mal in die subfig-Dokumentation, Option "labelformat".

Liebe Grüße,
Axel

Björn87
08-03-2011, 08:20
Hmm, ok, nach der Doku kann ich damit aber nur den Buchstaben an sich verändern, also z.B. a, (a), (a): usw, aber für die Nummerierung finde ich dazu nichts...

Viele Grüße,
Björn

Xenara
08-03-2011, 09:01
Wenn Axels Tipp nicht weitergeholfen hat, schau dir mal diesen (http://www.mrunix.de/forums/showthread.php?t=70391&highlight=subfig)Thread an. Dein Problem klingt ganz ähnlich, vermutlich willst du auch den Zähler \thesubfigure ändern.

Björn87
08-03-2011, 09:23
Klasse, danke, das hilft, habe den Thread leider nicht selber gefunden...
Das zeigt dann zwar 1.1 statt 1a an, aber damit bin ich auch zufrieden ;)

Xenara
08-03-2011, 09:50
Ok, hatte grad etwas Zeit, das zusammenzubasteln. Kommentare im Code beachten.
Für dich müssts so aussehen:


\documentclass{scrartcl}
\usepackage{times}
\usepackage[latin1]{inputenc}
\usepackage{graphicx}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\thispagestyle{empty}
\usepackage[left=2.5cm,right=2cm,top=0cm,bottom=1cm,includehea dfoot]{geometry}
\usepackage{subfig}
\usepackage{float}

\usepackage{blindtext}

% Umdefinieren des Zählers der subfigures
\renewcommand{\thesubfigure}{\thefigure \alph{subfigure}}% Subfigure-Nummer wird zu "1a" statt "a"
\captionsetup[subfigure]{labelformat=simple,labelsep=colon,listofformat=su bsimple}% Formatierung der Subfigure-Nummer
\captionsetup{lofdepth=2}% Tiefe im Abbildungsverzeichnis

\begin{document}

\begin{figure}[H]
\subfloat[2. Experiment, erste Iteration]{\label{fig:53E2I1} \includegraphics[width=0.31\textwidth]{Testbild}}\hfill
\subfloat[1. Experiment, zweite Iteration] {\label{fig:53E1I2} \includegraphics[width=0.31\textwidth]{Testbild}}\hfill
\subfloat[2. Experiment, zweite Iteration]{\label{fig:53E2I2} \includegraphics[width=0.31\textwidth]{Testbild}}
\caption{Ohne eine Caption, die die Teilabbildungen umfasst, macht die Aufteilung in Einzelabbildungen überhaupt keinen Sinn.}
\end{figure}

\blinddocument

\end{document}


Das mit "1a" funktioniert so per default nur mit scrartcl, bei scrreprt/scrbook sähe es "1.1a" aus, da die Abbildungen dann kapitelweise nummeriert werden.

Übrigens machen deine Unterabbildungen ohne eine gemeinsame Caption gar keinen Sinn (klappt dann auch nicht mit dem Abbildungsverzeichnis).

Bist du sicher, dass du die Schriftart "times" für deine Arbeit verwenden willst? Zumindest mit dem Acrobat Reader sieht sie bei mir absolut bescheiden aus.

Björn87
09-03-2011, 14:42
Ok, danke, nun geht das gut, aber wenn ich auf die Abbildungen referenziere, kommt 11a statt 1a, wieso das denn nun wieder?

Xenara
09-03-2011, 15:58
Sorry, da hab ich noch was im Code vergessen. Normalerweise wird die Nummer der Abbildung vor die Nummer der Subfloat gestellt, wenn im Text darauf verwiesen wird, z.B. "1a". Unter der Subfloat in der Abbildung steht trotzdem nur (a). Da jetzt die Hauptnummer ja sowieso schon dabeisteht, kann man diese Funktion ausschalten. Das wird mit dem hervorgehobenen Code gemacht.



\documentclass{scrartcl}
\usepackage{times}
\usepackage[latin1]{inputenc}
\usepackage{graphicx}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\thispagestyle{empty}
\usepackage[left=2.5cm,right=2cm,top=0cm,bottom=1cm,includehea dfoot]{geometry}
\usepackage{subfig}
\usepackage{float}

\usepackage{blindtext}
\usepackage{hyperref}

% Umdefinieren des Zählers der subfigures
\renewcommand{\thesubfigure}{\thefigure \alph{subfigure}}% Subfigure-Nummer wird zu "1a" statt "a"
\captionsetup[subfigure]{labelformat=simple,labelsep=colon,listofformat=su bsimple}% Formatierung der Subfigure-Nummer
\captionsetup{lofdepth=2}% Tiefe im Abbildungsverzeichnis

\makeatletter
\renewcommand{\p@subfigure}{}
\makeatother

\begin{document}

Verweis auf eine subfloat: \ref{fig:53E2I1}

Verweis auf die gesamte Abbildung: \ref{figure}

Verweis auf eine subfloat: \ref{fig:53E2I2}

\begin{figure}[H]
\subfloat[2. Experiment, erste Iteration]{\label{fig:53E2I1} \includegraphics[width=0.31\textwidth]{Testbild}}\hfill
\subfloat[1. Experiment, zweite Iteration] {\label{fig:53E1I2} \includegraphics[width=0.31\textwidth]{Testbild}}\hfill
\subfloat[2. Experiment, zweite Iteration]{\label{fig:53E2I2} \includegraphics[width=0.31\textwidth]{Testbild}}
\caption{Ohne eine Caption, die die Teilabbildungen umfasst, macht die Aufteilung in Einzelabbildungen überhaupt keinen Sinn.}
\label{figure}
\end{figure}

\blindtext

\end{document}

Björn87
11-03-2011, 12:02
Ok, nun klappt alles, so wies sein soll :)
Auf sowas wär ich nie gekommen...
Danke