Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Probleme mit \newfloat und \listof

  1. #1
    dj_mojo
    Gast

    Probleme mit \newfloat und \listof

    Hallo allerseits

    ich schreibe gerade eine Arbeit im Fach Chemie und möchte dazu meine Abbildungen nach Figures (normale Abbildungen) und Schemes (Reaktionspfade) unterscheiden. Dazu benutze ich den \newfloat Befehl aus dem float-package.

    Die Probleme sind nun folgende:

    1. Abbildungen in den Scheme-Umgebungen erscheinen nicht zentriert, sondern etwas nach links verschoben. Abbildungen in den Figure-Umgebungen sind auch wirklich zentriert, so wie ich es haben will.

    2. Im Verzeichnis der Schemes (generiert mit \listof{scheme}{List of Schemes}) haben alle Einträge einen normalen Abstand (wie im Fließtext). Ich möchte aber die gleichen Abstände wie in der \listoffigures erzeugen (soweit ich weiß 10 pt zwischen einzelnen Einträgen und 20 pt zwischen Einträgen aus verschiedenen Kapiteln).

    Im folgenden ein Minimalbeispiel meines Codes:
    Code:
    \documentclass[a4paper,titlepage,12pt,twoside,openright]{report}
    
    \usepackage{graphicx}
    \usepackage{dcolumn}
    \usepackage[german,english,UKenglish]{babel}
    \usepackage{fancyhdr}
    \usepackage[latin1]{inputenc}
    \usepackage{amsfonts}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{umlaut}
    \usepackage{floatflt}
    \usepackage{float}
    \usepackage[bf,nooneline]{caption2}
    
    %%% Formatierung der Caption
    
    \renewcommand*\captionfont{\itshape}
    \renewcommand*\captionlabelfont{\upshape}
    \renewcommand\captionlabelfont{\bf}
    
    \usepackage{hyperref}
    
    
    %%%% Definition der neuen Float-Umgebung scheme
    
    \newfloat{scheme}{h}{ext}[chapter]
    \floatname{scheme}{Scheme}
    
    
    \begin{document}
    
    \chapter{Kapitel 1}
    
    %%% Einbinden eines Bildes
    
    \begin{figure}[h!]
        \centering 
        \scalebox{1.0}{\includegraphics{pics/figure1}}
        \caption[figure1]{figure1}
        \label{fig:figure1}
    \end{figure}
    
    
    %%% Einbinden eines Schemas
    
    \begin{scheme}[h!]
        \centering 
        \scalebox{1.0}{\includegraphics{pics/scheme1}}
        \caption[scheme1]{scheme1}
        \label{scheme:scheme1}
    \end{scheme}
    
    
    %%% Abbildungsverzeichnis
    
    \listoffigures
    \addcontentsline{toc}{chapter}{List of Figures}
    \cleardoublepage
    
    %%% Scheme-Verzeichnis
    
    \listof{scheme}{List of Schemes}
    \addcontentsline{toc}{chapter}{List of Schemes}
    \cleardoublepage
    
    \end{document}
    Für entsprechende Hilfe wäre ich sehr dankbar zumal mein Abgabetermin immer näher rückt. DANKE !
    vg mojo

  2. #2
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von dj_mojo Beitrag anzeigen
    Dazu benutze ich den \newfloat Befehl aus dem float-package.
    \newfloat definiert eine Gleitumgebung, die sich nicht exakt wie figure und table verhält, sondern stattdessen einem Stil namens "plain", "plaintop", "ruled", "boxed", ... gehorcht. Der Standard-Stil "plain" bildet zwar so halbwegs das von figure und table gewohnte Aussehen und Verhalten nach, aber eben mit einigen Unterschieden. (Eine Suche hier im Forum sollte mehr Details hierzu liefern, wenn nicht, frage bei Bedarf nochmal nach.)

    Mir ist persönlich nur ein Weg bekannt, eine Gleitumgebung zu definieren, die sich wie figure und table verhält, und dies geht mit \DeclareCaptionType meines aktuellen caption-Paketes. Damit sollten die Probleme 1 und 2 nicht mehr existieren.

    \usepackage{umlaut}
    Da du schon inputenc geladen hast, laß diese Zeile besser weg.

    \usepackage[bf,nooneline]{caption2}

    %%% Formatierung der Caption

    \renewcommand*\captionfont{\itshape}
    \renewcommand*\captionlabelfont{\upshape}
    \renewcommand\captionlabelfont{\bf}
    Nimm besser das aktuelle caption-Paket stattdessen:
    Code:
    \usepackage[font=it,labelfont=bf,singlelinecheck=off]{caption}
    Und dies hier:
    Code:
    %%%% Definition der neuen Float-Umgebung scheme
    
    \newfloat{scheme}{h}{ext}[chapter]
    \floatname{scheme}{Scheme}
    
    ...
    
    %%% Scheme-Verzeichnis
    
    \listof{scheme}{List of Schemes}
    wäre dann zu ersetzen durch:
    Code:
    %%%% Definition der neuen Float-Umgebung scheme
    
    \DeclareCaptionType{scheme}
    
    ...
    
    %%% Scheme-Verzeichnis
    
    \listofschemes
    Gruß,
    Axel

  3. #3
    dj_mojo
    Gast
    Hi Axel

    vielen Dank erstmal für die schnelle Antwort.

    Das mit der Zentrierung der schemes im Text klappt jetzt hervorragend. Allerdings habe ich nun immer noch zwei Probleme:

    1. Im Scheme-Verzeichnis sind jetzt alle Einträge durch ein Absatz von 10 pt getrennt (wie gewünscht). Allerdings ist der Abstand des allerersten Eintrags Scheme 1.1 zur Überschrift des Scheme-Verzeichnisses etwas kleiner als der vergleichbare Abstand zwischen der Überschrift des Figure-Verzeichnisses und dem ersten Eintrag Figure 1.1.

    Desweiteren sind im Scheme-Verzeichnis alle Einträge durch einen Abstand von 10pt getrennt. Zwischen Schemes aus verschiedenen Kapiteln (also z.B. von 2.7 nach 3.1) möchte ich jedoch einen doppelten Abstand (20pt) wie im Figure-Verzeichnis.
    Gibt´s eine Möglichkeit dies zu ändern?


    2. Mit dem Einfügen deiner Vorschläge hat sich die Silbentrennung verändert. Z.B. wird jetzt das Wort "chemistry" falsch getrennt nämlich so che-mistry. (Vorher wurde es richtig getrennt nämlich chem-istry). Gibt´s ein Package, dass die Silbentrennung wieder richtig stellt? Insbesondere benötige ich es für ENGLISCHEN Textsatz.

    Vielen Dank nochmal
    vg und schönes Wochenende
    mojo

  4. #4
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zu 1: Das ist ein bekannter Fehler, der in der nächsten Version des caption-Paketes behoben sein wird. (Sorry, hatte ich ganz vergessen!)

    Probiere mal als Workaround:
    (Achtung: Nur für die Standard-Klassen geeignet, nicht für KOMA-Script!)
    Code:
    \DeclareCaptionType{scheme}
    \makeatletter
    \@ifpackagelater{caption}{2008/07/01}{}{
      \let\@chapter@ORI\@chapter
      \def\@chapter[#1]#2{\@chapter@ORI[{#1}]{#2}%
        \addtocontents{loscheme}{\protect\addvspace{10pt}}%
        }
    }
    \makeatother
    Zu 2.:
    Das ist sehr komisch, denn keiner der Änderungen sollte Einfluß auf die Silbentrennung haben. Das caption-Paket hat mit sowas gar nichts am Hut, und das umlaut-Paket ist eine Art prähistorischer Vorgänger des inputenc-Paketes; beide kümmern sich darum, daß man Sonderzeichen wie Umlaute + ß direkt verwenden kann. (Haben aber AFAIK rein gar nichts mit der Worttrennung zu tun.)

    Bei mir ist es vielmehr so, daß mit
    Code:
    \usepackage[english]{babel}
    chem-isty und mit
    Code:
    \usepackage[UKenglish]{babel}
    che-mistry getrennt wird:

    Code:
    \documentclass{report}
    \usepackage[german,english,UKenglish]{babel}
    \begin{document}
    english:
    \selectlanguage{english}
    \parbox[t]{20pt}{chemistry chemistry chemistry}
    \par\bigskip
    UKenglish:
    \selectlanguage{UKenglish}
    \parbox[t]{20pt}{chemistry chemistry chemistry}
    \end{document}
    Gruß,
    Axel

  5. #5
    dj_mojo
    Gast
    Hi Axel

    danke für die Hilfe - jetzt klappt alles hervorragend.
    btw nettes package dass du da geschrieben hast.

    Vg mojo

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •