PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Subfloat - undefined control sequence



Steffen1187
04-04-2012, 09:47
Hallo zusammen,

auf die Gefahr hin mich mal wieder doof anzustellen muss ich euch mal wieder um Hilfe bitten.

Ich habe bislang das subfigure - Paket verwendet, möchte jedoch "continuedfloat" bzw. eben einen Seitenumbruch innerhalb einer Subfigure erstellen. Aus diesem Grund stelle ich auf subfig / subfloat um. Hierzu habe ich mich eingelesen und möchte zunächst einfach nur ein Minimalbeispiel zum Laufen bekommen.


\documentclass{scrbook}
\usepackage[ansinew]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{subfig}

\begin{document}

\begin{figure}[ht]
\centering
%\subfloat[CAPTION]{BILDERCODE}\qquad
\subfloat[Bild 1]{\rule{3cm}{2cm}}\qquad
\subfloat[Bild 2]{\rule{3cm}{2cm}}\qquad
\subfloat[Bild 3]{\rule{3cm}{2cm}}
\caption[Titel des Bildes]{Titel des Bildes}
\end{figure}

\end{document}


Diesen Beispielcode habe ich von http://www.golatex.de/wiki/index.php?title=subfig.

An anderer Stelle habe ich hier im Forum gelesen, dass "subfigure" einfach nur durch "subfloat" zu ersetzen und eben die andere Package einzubinden sei. Auch die Dokumentation von CTAN hat beim Überfliegen keine Lösung parat.

Das Minimalbeispiel erzeugt eine Ausgabe, allerdings stehen zum Beispiel die Captions nicht unter sondern links von den Bildern, was denke ich nicht erwünscht ist, oder? Außerdem wird für jedes Subfloat die Fehlermeldung "undefined control sequence" ausgegeben.

Funktioniert der Beispielcode bei euch? Bzw. wodurch entsteht der Fehler?

Grüße
Steffen

u_fischer
04-04-2012, 10:00
Funktioniert bei mir tadellos. Überprüfe mal in der log-Datei die Paketversionen.

subfig.sty 2005/06/28 ver: 1.3 subfig package
caption.sty 2012/02/19 v3.2f Customizing captions (AR)
caption3.sty 2012/01/12 v1.4b caption3 kernel (AR)

Xenara
04-04-2012, 10:01
Gute Idee, dass du zunächst mal im Kleinen anfängst zu testen und nicht alles schon in dein Hauptdokument bringst :)

Der Code funktioniert bei mir einwandfrei, auch stehen die Captions zentriert unter den Bildern. Auch das mit continuedfloat klappt.

Möglicherweise hast du eine veraltete Installation?

Lass mal diesen Code bei dir laufen:

\listfiles
\documentclass{scrbook}
\usepackage[ansinew]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{subfig}

\begin{document}

\begin{figure}[ht]
\centering
\subfloat[Bild 1]{\rule{3cm}{2cm}}\qquad
\subfloat[Bild 2]{\rule{3cm}{2cm}}\qquad
\subfloat[Bild 3]{\rule{3cm}{2cm}}
\caption[Titel des Bildes]{Titel des Bildes}
\end{figure}

\clearpage

\begin{figure}[ht]
\ContinuedFloat
\centering
\subfloat[Bild 1]{\rule{3cm}{2cm}}\qquad
\subfloat[Bild 2]{\rule{3cm}{2cm}}\qquad
\subfloat[Bild 3]{\rule{3cm}{2cm}}
\caption[Titel des Bildes]{Fortsetzung des Bildes}
\end{figure}

\end{document}


Das ist genau der gleiche wie deiner (erweitert um continuedfloat) und mit \listfiles drin.
Das sorgt dafür, dass in der .log-Datei die verwendeten Pakete und deren Versionen angegeben werden.
Vergleiche das mal mit meiner Liste, gibt es Unterschiede?


*File List*
scrbook.cls 2012/03/08 v3.10a KOMA-Script document class (book)
scrkbase.sty 2012/03/08 v3.10a KOMA-Script package (KOMA-Script-dependent ba
sics and keyval usage)
scrbase.sty 2012/03/08 v3.10a KOMA-Script package (KOMA-Script-independent
basics and keyval usage)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
scrlfile.sty 2011/03/09 v3.09 KOMA-Script package (loading files)
tocbasic.sty 2011/05/30 v3.09a KOMA-Script package (handling toc-files)
scrsize11pt.clo 2012/03/08 v3.10a KOMA-Script font size class option (11pt)
typearea.sty 2012/03/08 v3.10a KOMA-Script package (type area)
inputenc.sty 2008/03/30 v1.1d Input encoding file
ansinew.def 2008/03/30 v1.1d Input encoding file
babel.sty 2008/07/08 v3.8m The Babel package
ngermanb.ldf 2008/07/06 v2.6n new German support from the babel system
fontenc.sty
t1enc.def 2005/09/27 v1.99g Standard LaTeX file
lmodern.sty 2009/10/30 v1.6 Latin Modern Fonts
subfig.sty 2005/06/28 ver: 1.3 subfig package
caption.sty 2011/11/10 v3.2e Customizing captions (AR)
caption3.sty 2011/11/01 v1.4a caption3 kernel (AR)
t1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern
***********


Edit: Ich sehe gerade, dass meine Installation auch nicht mehr auf dem topaktuellsten Stand ist im Vergleich zu Ulrikes.

Steffen1187
04-04-2012, 10:12
Danke euch erstmal!

@Xenara: ich habe deinen Code laufen lassen, 7 Fehler, je einer für subfloat und einer für das ContinuedFloat

File List aus der Log:


*File List*
scrbook.cls 2011/06/16 v3.09a KOMA-Script document class (book)
scrkbase.sty 2011/06/16 v3.09a KOMA-Script package (KOMA-Script-dependent ba
sics and keyval usage)
scrbase.sty 2011/06/16 v3.09a KOMA-Script package (KOMA-Script-independent
basics and keyval usage)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
scrlfile.sty 2011/03/09 v3.09 KOMA-Script package (loading files)
tocbasic.sty 2011/05/30 v3.09a KOMA-Script package (handling toc-files)
scrsize11pt.clo 2011/06/16 v3.09a KOMA-Script font size class option (11pt)
typearea.sty 2011/06/16 v3.09a KOMA-Script package (type area)
inputenc.sty 2008/03/30 v1.1d Input encoding file
ansinew.def 2008/03/30 v1.1d Input encoding file
babel.sty 2008/07/08 v3.8m The Babel package
bblopts.cfg 2006/07/31 v1.0 MiKTeX 'babel' configuration
ngermanb.ldf 2008/07/06 v2.6n new German support from the babel system
fontenc.sty
t1enc.def 2005/09/27 v1.99g Standard LaTeX file
lmodern.sty 2009/10/30 v1.6 Latin Modern Fonts
subfig.sty
t1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern
***********

Bei subfig steht keine Version dran, caption und caption3 sind gar nicht zu finden -.-

Grüße


edit: hier auf dem Rechner in der Firma ist ein automatisches Installieren von Packages etc. nicht möglich, sodass ich sie manuell herunterladen und installieren muss. Meine quelle ist hierbei immer ftp://tug.ctan.org/pub/tex-archive/systems/win32/miktex/tm/packages/. Kann ich davon ausgehen, dass die Packages dort aktuell sind?

Xenara
04-04-2012, 10:20
Dein Komascript ist noch von 2011, das sieht wirklich nach einer veralteten Installation aus. Mach mal ein komplettes Update.

Dann kommt es noch drauf an, ob bei deiner Installation diese Pakete dabei sind. Eigentlich dachte ich, sie wären standardmässig installiert. Zumindest bei meinem TeXLive sind sie dabei. Bei MikTeX kann man soweit ich weiss ein "on-the-fly"-Nachladen von fehlenden Paketen angeben.

Fang aber mal mit dem Update an.

Steffen1187
04-04-2012, 10:35
Hi Xenara,

das "on the fly" geht eben nicht, ich muss das manuell machen.
Ich habe das Package "subfloat" nun manuell installiert und eingebunden, verursacht nur noch mehr Fehler ;)

Ich werde nun versuchen die aktuellsten Versionen für die anderen Packages irgendwo aufzutreiben und so zu updaten, hat mir evtl. einer eine Quelle hierfür?

Grüße

Xenara
04-04-2012, 10:37
Update nicht jedes Paket einzeln, da wirst du nie fertig!
Was für eine Installation nutzt du denn?

Steffen1187
04-04-2012, 10:57
Ich habe MikTex 2.9 und verwende das TexNic Center

Das Problem ist, dass MikTex keinen Internetzugriff hat, das funktioniert nur über ein anderes Lizenzfile, sprich ich muss die .tar.lzma, .sty oder .cab Dateien manuell in einen Ordner reinwerfen und dann eben manuell Installieren


und die neuere Koma Version mag er (noch) nicht, Fehlermeldung beim Installieren dass die Datei - Validierung fehlgeschlagen sei. Mal google fragen was es damit auf sich hat...

Grüße

sommerfee
04-04-2012, 11:03
Update nicht jedes Paket einzeln, da wirst du nie fertig!

Dem schließe ich mich an. Hole dir einfach ftp://tug.ctan.org/pub/tex-archive/systems/win32/miktex/tm/packages/ komplett, packe das in der Firma irgendwo auf den Rechner (oder brenne es auf CD oder packe es auf einen USB-Stick oder...) und sach MikTeX, daß du dies als lokales Repository (anstelle des Repository im Internet) verwenden möchtest.

Anschließend geht alles auch ohne Internetanschluß, d.h. komplettes Update mit dem Update-Manager von MikTeX, On-the-fly-Installation von Paketen, Installation von Paketen mit dem Paketmanager etc.

Das komplette Update empfiehlt sich alleine schon deswegen, damit man einen konsistenten Stand hat. Viele Pakete beinhalten Anpassungen an andere Pakete, wenn da ein Paket zu neu (oder zu alt) für ein anderes ist, wird es schnell lästig.

P.S.: subfig.sty ohne Datum ist ganz schlecht, da ist die Installation definitiv in die Hose gegangen.

Steffen1187
04-04-2012, 11:10
vllt war manuelles Update der falsche Begriff, ich benutze wie oben angemerkt genau die Files als Quelle. Allerdings funktioniert das zum Beispiel bei der aktuellen KOMA - Script Version wie eben angemerkt (noch) nicht, "The operation could not be completed because the following file failed verification". Scheint wohl ein Bug in MikTex 2.9 zu sein, die Lösung die dort angeboten wird funktioniert bislang zumindest in sofern nicht, dass in meinem Log File keine anderen Infos als bislang.

Andere Frage: Wie kann ich die Packages im Gesamten runterladen?

Grüße

u_fischer
04-04-2012, 11:17
"The operation could not be completed because the following file failed verification". Scheint wohl ein Bug in MikTex 2.9 zu sein,

Naja, wahrscheinlich ist, dass nur das Paket kaputt ist. Vielleicht hat der Download nicht geklappt. Oder das Paket und die beiden Datenbankdateien (miktex-zz.....) sind nicht synchron.


Andere Frage: Wie kann ich die Packages im Gesamten runterladen?

Mit dem Setup-Wizard http://docs.miktex.org/2.9/manual/setupwiz.html oder mit irgendeinem beliebigen ftp-Tool. Z.B. wget.

sommerfee
04-04-2012, 11:57
oder mit irgendeinem beliebigen ftp-Tool. Z.B. wget.

...oder z.B. filezilla: http://filezilla-project.org/ (ist im Gegensatz zu wget klicki-bunti)

Steffen1187
04-04-2012, 12:25
Möööp, die Programme kenn ich ;) Gibts nicht irgendwie nen DDL - Link? Wie gesagt, die Programme die ich hier installier haben keinen Internetzugriff... Vllt mach ichs von daheim aus, jetzt wird erstmal gesucht

Steffen1187
04-04-2012, 13:57
Koma-Skript manuell geupdated, Subfig neu reingeladen und nun gehts.

Was jetzt allerdings ist: Bislang hat er mir ein subfig - paar gemeinsam dann eben auf einer neuen Seite angezeigt, obwohl auf der Seite davor eigentlich noch genug Platz für eins der Bilder gewesen wäre. Was ich erreichen wollte, dass er eins der Bilder auf die vordere Seite zieh, das nächste auf der nächsten Seite direkt im Anschluss, also einfach der Seitenumbruch zwischen den beiden Bildern.

Was nun passiert ist ist, dass er die Bilder unabhängig von einander irgendwohin, in diesem Fall jeweils an den Beginn zweier aufeinander folgender Seiten, schiebt. Sprich es kommt Bild a), ne halbe Seite Text, Bild b), gemeinsame Caption (bei Bild a) hab ich \phantomcaption verwendet). So war das natürlich nicht geplant... Lässt sich das beeinflussen?

Grüße

sommerfee
05-04-2012, 06:08
Ich habe meine alte Kristallkugel etwas entstaubt, allerdings hat sie leider nur undeutliche Sachen angezeigt:


Was jetzt allerdings ist: Bislang hat er mir ein subfig - paar gemeinsam dann eben auf einer neuen Seite angezeigt, obwohl auf der Seite davor eigentlich noch genug Platz für eins der Bilder gewesen wäre.

Kristallkugel sagt: Dann hast du wohl den Kram in eine Gleitumgebung gepackt, die bekanntermaßen erstens gleitet und zweitens keinen automatischen Seitenumbruch innerhalb der Umgebung macht.

Siehe auch: http://www.mrunix.de/forums/showthread.php?t=41452


Was ich erreichen wollte, dass er eins der Bilder auf die vordere Seite zieh, das nächste auf der nächsten Seite direkt im Anschluss, also einfach der Seitenumbruch zwischen den beiden Bildern.

Lösung 1: Einfach keine Gleitumgebung verwenden. Siehe auch: http://www.mrunix.de/forums/showthread.php?t=41452

Lösung 2: Den Seitenumbruch mittels getrennten Gleitumgebungen und \ContinuedFloat manuell durchführen. Ist eigentlich nur dann sinnvoll, wenn der Kram mehr als eine Seite groß ist. Siehe: Anleitung zum subfig-Paket.


Was nun passiert ist ist, dass er die Bilder unabhängig von einander irgendwohin, in diesem Fall jeweils an den Beginn zweier aufeinander folgender Seiten, schiebt. Sprich es kommt Bild a), ne halbe Seite Text, Bild b), gemeinsame Caption (bei Bild a) hab ich \phantomcaption verwendet).

Show me!