PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit float-package



Festus
17-05-2008, 19:05
Hi,

mich nervt schon lange dass die Bildunterschriften nich mit Abkürzungen (also Abb. & Tab.) sondern ausgeschriebenen Wörtern (Abbildung & Tabelle) arbeiten.

Wollte das mit dem float-package ändern, es geht aber nicht:

erster Versuch - Ändern der vorhanden Objekte:

\floatname{figure}{Abb.}

:mad: geht nicht, da scheinbar vordefinierte Objekte sich so nicht ändern lassen und es wohl auch keinen befehl ähnlich \restylefloat für den Namen existierender Objekte gibt

zweiter Versuch - Erstellung von neuen Objekten:

\floatstyle{plain}
\newfloat{MyFig}{tbph}{myf}[chapter]
\floatname{MyFig}{Abb.}

:mad: Hierbei folgende Probleme: 1. stimmt das Layout der Legende nicht mehr da scheinbar die Anpassung des caption-Pakets nich mehr richtig gelesen wird (Legende is jetzt linksbündig) 2. Wie würde ich auf so ein Objekt verweisen??? Für die normalen Bilder würd ich ja \ref{fig:bla} nehmen, hab aber keine Ahnung was anstelle von "fig" für ein selbsterstelltes Objekt stehen müssen (\ref{???:bla})

Für 'ne Lösung in Richtung meines ersten Versuchs wär ich dankbar, aber notfalls definiere ich mir auch selbst 'n paar Objekte

Danke

localghost
17-05-2008, 19:34
Hi,

mich nervt schon lange dass die Bildunterschriften nich mit Abkürzungen (also Abb. & Tab.) sondern ausgeschriebenen Wörtern (Abbildung & Tabelle) arbeiten.

Wollte das mit dem float-package ändern, es geht aber nicht:

erster Versuch - Ändern der vorhanden Objekte:

\floatname{figure}{Abb.}

:mad: geht nicht, da scheinbar vordefinierte Objekte sich so nicht ändern lassen und es wohl auch keinen befehl ähnlich \restylefloat für den Namen existierender Objekte gibt [...]
Viel einfacher ist das mit caption (http://dante.ctan.org/CTAN/help/Catalogue/entries/caption.html) zu erledigen.

\usepackage[figurename={Abb.},tablename={Tab.}]{caption}
Was sonst noch möglich ist, zeigt dir die Anleitung ganz genau.

Es gäbe da noch andere Möglichkeiten, aber diese sollte schon genügen. Zudem ist sie auch sehr einfach und bequem.

[...] zweiter Versuch - Erstellung von neuen Objekten:

\floatstyle{plain}
\newfloat{MyFig}{tbph}{myf}[chapter]
\floatname{MyFig}{Abb.}

:mad: Hierbei folgende Probleme: 1. stimmt das Layout der Legende nicht mehr da scheinbar die Anpassung des caption-Pakets nich mehr richtig gelesen wird (Legende is jetzt linksbündig) 2. Wie würde ich auf so ein Objekt verweisen??? Für die normalen Bilder würd ich ja \ref{fig:bla} nehmen, hab aber keine Ahnung was anstelle von "fig" für ein selbsterstelltes Objekt stehen müssen (\ref{???:bla})

Für 'ne Lösung in Richtung meines ersten Versuchs wär ich dankbar, aber notfalls definiere ich mir auch selbst 'n paar Objekte

Danke
Wenn es nur darum geht, einfache Gleitumgebungen ähnlich den schon vorhandenen zu erstellen, dann ist vielleicht trivfloat (http://dante.ctan.org/CTAN/help/Catalogue/entries/trivfloat.html) etwas für dich. Auch hier ist die Anleitung sehr hilfreich. Falls Fragen offen bleiben, weißt Du ja, was zu tun ist.


MfG
Thorsten¹

sommerfee
17-05-2008, 20:33
(Eigenwerbung an)


Wenn es nur darum geht, einfache Gleitumgebungen ähnlich den schon vorhandenen zu erstellen, dann ist vielleicht trivfloat (http://dante.ctan.org/CTAN/help/Catalogue/entries/trivfloat.html) etwas für dich.

Das trivfloat-Paket setzt leider auf dem float-Paket auf, alle Gleitumgebungen, die damit definiert werden, haben also die Vorteile und auch die Nachteile des float-Paketes. Daher hat sich zumindest für mich der Sinn dieses Paketes nicht so recht erschlossen, denn wenn man keinen eigenen float-Stil mit \floatstyle des float-Paketes festlegt, hat der neu definierte Typ eigentlich nur Nachteile (nur eine \caption pro Umgebung, nicht exakt die gleichen Abstände zwischen Inhalt und \caption, ...) und keine Vorteile.

Möchte man hingegen eine neue Gleitumgebung, die sich exakt wie figure und table verhält, so geht das mit \DeclareCaptionType des caption-Paketes v3.1.

(Eigenwerbung aus)

Gruß,
Axel

Amazeroth
20-05-2008, 16:11
Hallo Zusammen,


Viel einfacher ist das mit caption (http://dante.ctan.org/CTAN/help/Catalogue/entries/caption.html) zu erledigen.

\usepackage[figurename={Abb.},tablename={Tab.}]{caption}


Jetzt hatte ich mich gefreut, dass es mal ne neue Idee gab und es funzt wieder nicht.
Ich hatte es bisher mit

\usepackage[bf,hang]{caption}
\renewcommand{\figurename}{Abb.}
\renewcommand{\tablename}{Tab.}
versucht. Aber wie bei fast allen \renewcommand-Befehlen werden auch diese nicht im Geringsten beachten. Es gibt weder nen Fehler, noch wird etwas davon umgesetzt.

Mit der "neuen" Variante bekomm ich jetzt den Fehler: Undefined control sequence.

Hat vielleicht nach Tagen der Suche noch jmd eine Idee, wie ich endlich "Abb." und "Tab." in meinen Bildunterschriften haben kann? :)
Und ja: es steht alles in der Präambel und somit vor \begin{document}.

Bilder binde ich so ein


\begin{figure}[htb]
\centering
\includegraphics{img/zylinder.eps}
\caption{Zylinder mit turbulenter Umströmung}
\label{fig:zylinder}
\end{figure}


Gruß,
Peter

localghost
20-05-2008, 16:52
Dann liegt es vielleicht an einer zu alten Version von caption (http://dante.ctan.org/CTAN/help/Catalogue/entries/caption.html). Lasse folgendes Beispiel mal bei dir durchlaufen.

\listfiles
\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{blindtext}

%\captionsetup{figurename={Abb.},tablename={Tab.}} % Umbenennung mit caption

\addto{\captionsngerman}{% % Umbenennung mit babel
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}

\begin{document}
\blindtext

\begin{figure}[!ht]
\centering
\rule{6.4cm}{3.6cm}
\caption{Ein Platzhalter}\label{fig:platzhalter}
\end{figure}

\blindtext
\end{document}
Dann suchst Du in der LOG-Datei nach dem Teil, der mit *File List* beginnt und postest den hier komplett.

Für die Variante mit \captonsetup brauchst Du auch eine halbwegs aktuelle Version von caption (http://dante.ctan.org/CTAN/help/Catalogue/entries/caption.html) (Ab 3.0 aufwärts, Axel könnte da genaueres sagen). Ob das funktioniert, klärt sich erst, wenn wir die Version kennen, die Du benutzt.


MfG
Thorsten¹

sommerfee
20-05-2008, 19:36
Für die Variante mit \captonsetup brauchst Du auch eine halbwegs aktuelle Version von caption (http://dante.ctan.org/CTAN/help/Catalogue/entries/caption.html) (Ab 3.0 aufwärts, Axel könnte da genaueres sagen).

"figurename=" und "tablename=" gibt es erst seit caption 3.1. Aber da es intern auch nichts anderes als \addto\captions(n)german{...} macht, wenn babel geladen ist, kann man das natürlich auch genauso gut selber machen. Ich hatte die Optionen lediglich zum caption-Paket hinzugefügt, weil das für mich einfacher war, als in der Anleitung zu erklären, wie man die Namen ohne und mit Babel ändert ;-)

Liebe Grüße,
Axel

Amazeroth
20-05-2008, 23:32
Hallo,
also folgendes kam heraus:

*File List*
article.cls 2005/09/16 v1.4f Standard LaTeX document class
size11.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
fontenc.sty
t1enc.def 2005/09/27 v1.99g Standard LaTeX file
inputenc.sty 2006/05/05 v1.1b Input encoding file
latin1.def 2006/05/05 v1.1b Input encoding file
babel.sty 2005/05/21 v3.8g The Babel package
bblopts.cfg 2006/07/31 v1.0 MiKTeX 'babel' configuration
ngermanb.ldf 2004/02/20 v2.6m new German support from the babel system
caption.sty 2007/09/22 v3.1b Customising captions (AR)
caption3.sty 2007/09/22 v3.1b caption3 kernel (AR)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
blindtext.sty 2006/11/21 V1.7 blindtext-Package
xspace.sty 2006/05/08 v1.12 Space after command names (DPC,MH)
***********

)
Here is how much of TeX's memory you used:
1774 strings out of 95296
24255 string characters out of 1184996
86910 words of memory out of 1089074
4949 multiletter control sequences out of 60000
6248 words of font info for 18 fonts, out of 1000000 for 2000
14 hyphenation exceptions out of 8191
36i,4n,38p,215b,321s stack positions out of 5000i,500n,10000p,200000b,32768s

Output written on Test.dvi (1 page, 2532 bytes).


So wie ich das sehe, hab ich Caption 3.1b...müsste also passen, oder?

MfG Peter

sommerfee
21-05-2008, 08:48
So wie ich das sehe, hab ich Caption 3.1b...müsste also passen, oder?

Ja, folgender Code läuft hier auch mit Version 3.1b wie er sollte:


\listfiles
\documentclass[11pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{blindtext}

\captionsetup{figurename={Abb.},tablename={Tab.}} % Umbenennung mit caption

\begin{document}
\blindtext

\begin{figure}[!ht]
\centering
\rule{6.4cm}{3.6cm}
\caption{Ein Platzhalter}\label{fig:platzhalter}
\end{figure}

\blindtext
\end{document}

Die passende Dateiliste:


*File List*
article.cls 2005/09/16 v1.4f Standard LaTeX document class
size11.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
babel.sty 2008/03/16 v3.8j The Babel package
bblopts.cfg 2006/07/31 v1.0 MiKTeX 'babel' configuration
ngermanb.ldf 2008/03/17 v2.6m new German support from the babel system
caption.sty 2007/09/22 v3.1b Customising captions (AR)
caption3.sty 2007/09/22 v3.1b caption3 kernel (AR)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
blindtext.sty 2006/11/21 V1.7 blindtext-Package
xspace.sty 2006/05/08 v1.12 Space after command names (DPC,MH)
***********


Wenn du bei deinem Dokument ein "undefined control sequence" bekommst, dann hast du dich vielleicht einfach nur beim Befehl \captionsetup vertippt? Ohne Minimalbeispiel kann man leider nur raten...

Liebe Grüße,
Axel

Amazeroth
21-05-2008, 11:30
Also ich hab Präambel in ner serperaten Datei, die per \include eingebunden wird.
So sieht die Datei auszugweise aus:


\documentclass[a4paper,12pt,fleqn]{scrreprt}

\usepackage{graphicx}
\usepackage{calc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{ngerman}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fancyhdr}
\usepackage{colortbl}
\usepackage{hhline}
\usepackage[figurename={Abb.},tablename={Tab.},bf]{caption}
\usepackage{cite}
\usepackage{here}
\usepackage{float}
\usepackage{bibgerm}
\usepackage{url}
\usepackage{ifthen}
\usepackage{colortab}
\usepackage{multirow}
\sloppy

\renewcommand{\captionfont}{\sl\small}


Ich hab den Captionsetup-Befehl eigentlich per Copy/Paste übernommen.
Mittlerweile läuft es auch ohne Fehlermeldung durch, allerdings steht immer noch "Abbildung" da, sprich er ignoriert die Formatangabe. :/

Gruß,
Peter

edit: Problem gelöst: \usepackage{ngerman} musste raus, dann ging's!

Danke euch vielmals!

sommerfee
21-05-2008, 12:59
Lösche mal folgende Zeilen:



\usepackage{ngerman}

("ngerman" wird eine Zeile später korrekt mit Babel geladen)

und



\usepackage{here}

(Das "H"-Feature ist schon im float-Paket enthalten)

Dann sollte es funktionieren.

voss
21-05-2008, 13:13
Also ich hab Präambel in ner serperaten Datei, die per \include eingebunden wird.
So sieht die Datei auszugweise aus:


\usepackage{here}
\usepackage{colortab}



die beiden Pakete sind steinalt und völlig überflüssig ... weil die
Funktionalität schon durch andere bereitgestellt wird.

Herbert

Amazeroth
21-05-2008, 13:38
ok, vielen Dank.
Ich hatte die Style.tex von ner Vorlage aus dem Fachgebiet übernommen und abgeändern...daher die alten Pakete :)

gruß,
Peter