Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Alle figures auf zwei Seiten und nicht da, wo sie sein sollen

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719

    Alle figures auf zwei Seiten und nicht da, wo sie sein sollen

    Hallo,
    ich bin's schon wieder: Latex macht wieder was anderes, als es soll:
    Ich binde Bilder mit der figure-Umgebung ein. Da gibt es ja noch den Parameter, wo die Bilder landen sollen. Ich möchte gerne die Bilder an der Stelle haben, wo ich sie einbinde. Das erhoffe ich durch den Parameter [h] zu erzwingen. Das geht in 50% der Fälle gut, ich hätte es aber gerne immer. Da hab ich bei der Boardsuche gefunden, dass es mit [H] verbindlicher sein soll. Das macht zwar einen Unterschied, aber eher in die andere Richtung.

    Ich hab das Thema noch ein paar Mal gefunden, da wird dann auf die Dante-FAQ 6.2.13 verwiesen: Man soll die figure-Umgebung weglassen und stattdessen direkt \includegraphics die Grafik einbinden und mit einem besonderen Paket beschriften, weil die Beschriftung normal außerhalb einer float-Umgebung nicht funktioniere. Leider funktioniert das Paket bei mir nicht, es kommt die selbe Fehlermeldung, wie wenn ich \caption direkt verwende, nämlich dass \caption außerhalb von float nicht funktioniert. Wundert mich nicht, das Paket ist ja auch nur ein Einzeiler, der ein Caption hinschreibt. Ich hätte gerne figure direkt benutzt, weil ich auch ein Verzeichnis der Abbildungen führen möchte.
    Wer weis Rat? Vielen Dank.

  2. #2
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    [!H]

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #3
    Registrierter Benutzer Avatar von smofi
    Registriert seit
    29.12.2004
    Beiträge
    42
    Weitere Hinweise:
    - Nebst [H] gibt es noch [!h], das vielleicht besser arbeitet
    - Zitat von http://www.public.asu.edu/~arrows/ti...lacement.html:
    "LaTeX will not violate its typesetting rules. What LaTeX does is keep a
    queue of figures and place them as room becomes available. Even if you
    want to insist on putting a figure in a particular space, it may violate
    typesetting rules, so TeX just won't do it. One way that you might try
    to get around this is to use the \clearpage command. This forces LaTeX
    to dump its image queue at the point in the file that the command is
    called, instead of popping the image onto the queue."

  4. #4
    Registrierter Benutzer Avatar von smofi
    Registriert seit
    29.12.2004
    Beiträge
    42

    konkret: [!h], \clearpage

    Soeben habe ich diesbezüglich folgende Erfahrung gemacht, die erwähnte Tabelle ist eine ganze Seite gross:
    1. LaTeX kompiliert mit der Warnung [h] --> [ht] und setzt die Tabelle zwei Seiten später.
    2. Habe [h] durch [!h] ersetzt. LaTeX kompiliert mit derselben Warnung [!h] --> [!ht]. Tabelle bleibt am selben Ort.
    3. Habe vor der Tabelle ein \clearpage eingefügt. LaTeX kompiliert ohne Warnung. Die Tabelle steht dort, wo ich sie möchte.
    4. Habe versuchsweise wieder [h] verwendet statt [!h] und \clearpage belassen. LaTeX schreibt wieder die Warnung unter 1. Er braucht also oftmals beides.

    Dann:
    1. LaTeX kompiliert mit der Warnung [h] --> [ht] und setzt die Tabelle zwei Seiten später.
    2. Habe [h] durch [H] ersetzt und kein \clearpage eingefügt. LaTeX kompiliert ohne Warnung, aber die Tabelle kommt doch erst zwei Seiten später.
    3. Habe \clearpage eingefügt. Tabelle kommt immer noch erst zwei Seiten später. Auch [!H] ändert nichts.

    Fazit:
    1. Der Weg in diesem Fall, eine Tabelle oder ein Figure wirklich dort zu haben, wo man will, ist
    \clearpage % Falls die Tabelle eine ganze Seite gross ist
    \begin{table}[!h]
    ...
    2. [H] ist mir unklar. Es scheint die Warnung zu unterdrücken und anders mit der Queue umzugehen als [h].

    Smofi
    Geändert von smofi (03-01-2005 um 13:30 Uhr)

  5. #5
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Und falls Abbildung nicht eine ganze Seite groß ist? Ich könnte auch zur Not eine Seite mit zwei Bilder übereinander hinter den Text machen, wenn Text und Bild nicht auf einer Seite hinhaut.

  6. #6
    Registrierter Benutzer Avatar von smofi
    Registriert seit
    29.12.2004
    Beiträge
    42

    Unerwünschtes Versetzen provozieren

    Hallöchen Axel,
    ich versuchte, mit folgendem Code eine Konstellation hinzukriegen, bei der eine Tabelle auf die nächste Seite platziert wird, obwohl sie nicht eine ganze Seite gross ist. Schau mal:
    Code:
    \documentclass{article}
    \usepackage[latin1]{inputenc}
    \usepackage{german}
    \begin{document}
    Mein Text erzählt von einem Märchen namens Händel und Bertel. 
    Ich erzähle so lange, bis er die untenstehende Tabelle auf die 
    nächste Seite zwingt. \vspace{5cm}\\
    Ich erzähle und erzähle\vspace{5cm}\\
    Und nun will ich \textbf{hier} eine Tabelle:\\
    \enlargethispage{2cm}         %  Zeile X
    \begin{table}[h]
    \fbox{\raisebox{0mm}[4cm][4cm]{}} % Es geht um den Platzbedarf
    \end{table}
    
    Und nun geht mein Märchen weiter.
    
    \end{document}
    Ohne die "Zeile X" nimmt er die Tabelle auf die nächste Seite mit Warnung h->ht. Das kann auch [!h], [H], [!H] nicht ändern. Mit der "Zeile X" platziert er die Tabelle wirklich da, wo ich sie will.
    Aber ich denke Mal, Du wirst Dich über den Gebrauch von \enlargethispage wiederum nicht so freuen ?

    Deine unter dem Theman "Hurenkind" gemachte Bemerkung finde ich schon auch: Von einem Programm wie LaTeX erwartet man keine Hurenkinder. Und LaTeX macht sich die Optimierung nicht einfach: Schau mal unter
    http://www.informatik.uni-stuttgart....tex/latex.html ,
    runterscrollen bis "Zeilenumbruch". Da wird erklärt, dass LaTeX die Schönheit des Layouts im drei Durchgängen optimiert. Verschiedene Konstellationen werden durchprobiert und mit einem Punktesystem gewichtet. Anhand dieses unheimlichen Aufwandes fühle ich mich motiviert, das Resultat hinzunehmen und letzte Störfaktoren von Hand zu korrigieren. Ich denke, wenn Informatik ein optimales Layout automatisch herausholen kann, wurde es hiermit getan. Was meinst Du?
    Gruss
    Smofi

  7. #7
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Naja, man kann ja Latex verbieten, Hurenkinder zu machen, so:
    \clubpenalty = 10000
    \widowpenalty = 10000
    \displaywidowpenalty = 10000
    Warum das aber nicht per default an ist, kann ich nicht verstehen. Das hört sich an wie: Hurenkinder sind ja nicht schlimm, aber wenn es wirklich jemanden stört, bitte, dann kann er es ja abstellen. Da Hurenkinder meiner Meinung nach ein typhografischer Fehler sind, sollte es in der Software noch nichtmal eine Möglichkeit geben, sowas zu erlauben.

Lesezeichen

Berechtigungen

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