Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Endfloat Problem mit Ctable

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.05.2012
    Beiträge
    3

    Endfloat Problem mit Ctable

    Liebe Latex-Kenner,

    für ein Buchmanuskript müssen sämtliche Abbildungen und Tabellen am Ende des Dokuments jeweils auf einer eigenen Seite platziert werden. Leider funktioniert das Endfloat Paket scheinbar nicht mit meinen Ctable Paket. Ohne die Tabellen funktioniert Endfloat einwandfrei, wenn die Tabellen eingebunden werden wird kein Pdf erstellt und die Fehlermeldung weist auf meine Tabellencodes hin.

    Da das Buchmanuskript etwa 50 Tabellen enthält, möchte ich die ungern alle noch mal mit einem anderen Paket erstellen.

    Ich verwende die scrbook Koma-Skript Document class.

    Für Eure Hilfe wäre ich Euch sehr dankbar!

    LG

  2. #2
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Laut der Dokumentation zu endfloat, sollte folgende Anweisung in der Präambel helfen (ungetestet, da kein Minimalbeispiel vorhanden):
    Code:
    \DeclareDelayedFloatFlavor{ctable}{table}

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.05.2012
    Beiträge
    3
    Lieber hakaze,

    vielen Dank für den Tipp. Leider bekomme ich immer noch eine Fehlermeldung und es wird kein PDF erstellt. Hier ein Minimalbeispiel. Bin für jede Hilfe dankbar!


    \documentclass{scrbook}

    \usepackage{ctable}
    \usepackage{endfloat}
    \DeclareDelayedFloatFlavor{ctable}{table}

    \begin{document}

    Dies ist ein Test.

    \ctable[
    cap=Test,
    caption=Test,
    pos=h,
    ]{cc}{
    \tnote[]{}
    }{\FL
    1. Spalte & 2. Spalte \ML
    1 & 2 \NN
    3 & 4 \LL}


    \end{document}

  4. #4
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    \DeclareDelayedFloatFlavor funktioniert nur mit Umgebungen. \ctable ist aber ein Befehl und keine Umgebung. Eine mögliche Abhilfe wäre es, \ctable einfach stur-dreist als Umgebung anzuwenden, damit das endfloat-Paket sein \end{ctable} findet und zufrieden ist:

    Code:
    \documentclass{scrbook}
    
    \usepackage{ctable}
    \usepackage{endfloat}
    \DeclareDelayedFloatFlavor{ctable}{table}
    
    \begin{document}
    
    Dies ist ein Test. 
    
    \begin{ctable}[
     cap=Test,
     caption=Test,
     pos=h,
     ]{cc}{
     \tnote[]{}
     }{\FL
     1. Spalte & 2. Spalte \ML
     1 & 2 \NN
     3 & 4 \LL}
    \end{ctable}
    
    \end{document}
    (Achtung, benötigt endfloat v2.5, mit älteren Versionen geht das so nicht.)

    (Werde das als Beispiel mit in die Dokumentation zu endfloat aufnehmen.)
    Geändert von sommerfee (24-05-2012 um 06:47 Uhr) Grund: Änderungen im Code mit Rot markiert

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.456
    Aber es wird doch immer davor gewarnt, Befehle einfach als Umgebungen zu verwenden, weil das unerwünschte Nebenwirkungen haben könne!

  6. #6
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von rstuby Beitrag anzeigen
    Aber es wird doch immer davor gewarnt, Befehle einfach als Umgebungen zu verwenden, weil das unerwünschte Nebenwirkungen haben könne!
    Das ja auch zurecht, aber wenn man die Wahl zwischen "geht nicht" [1] und "eventuell unerwünschte Nebenwirkungen" hat, würde ich mich für letzteres entscheiden und einfach mal schauen, was für unerwünschte Nebenwirkungen es denn gibt bzw. ob es in diesem Falle überhaupt welche gibt.

    [1] Die Alternative wäre ja, \ctable als Befehl dem endfloat-Paket bekannt zu machen. Das wäre theoretisch zwar möglich, aber nicht, ohne einen Haufen Interna von endfloat zu mißbrauchen, die sich in Version 2.6 schon wieder ändern können (und auch definitiv ändern werden). Für endfloat 2.6 habe ich allerdings sowieso schon die Implementation von \AddToDelayedFloats im TODO-Heftchen stehen, darauf aufsetzend könnte man dann in Zukunft \ctable sauber umdefinieren.
    Geändert von sommerfee (24-05-2012 um 08:25 Uhr)

  7. #7
    Registrierter Benutzer
    Registriert seit
    23.05.2012
    Beiträge
    3
    Liebe(r) sommerfee,

    vielen Dank für den Tipp, wirklich super hilfreich.

    Ich hab Dein Beispiel laufen lassen, allerdings immer noch eine Fehlermeldung bekommen. Ich nehme an, ich habe dann wohl nicht die aktuelle Endfloat Version. Wie kann ich das Paket denn auf die neueste Version aktualisieren? Sorry, ich binde Pakete sonst einfach immer automatisch über die Präambel ein, aber das scheint hier nicht zu funktionieren.

    Vielen Dank für Eure Hilfe!

  8. #8
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.456
    Wenn du Miktex hast, gibt es dort einen Package Manager.
    Bei Texlive-Direktinstallation auch (tlmgr).
    Ein Problem hast du nur, wenn du eine texlive-Version benutzt, die bei einer Linux-Distribution integriert ist.

Stichworte

Lesezeichen

Berechtigungen

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