PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : picture gleitet nicht



mschmid1
28-08-2004, 20:34
Hallo,

habe wieder mit der Arbeit an einer Formatierung begonnen und dabei folgendes Problem.

Laut Kopka, Bd. 1, S. 168 (3. Aufl.) gilt für gleitende Bilder: "Die picture-Umgebung erzeugt ein Bild an der Stelle ihres Auftretens, unmittelbar nach dem vorangehenden Text und fortsetzend mit dem nachfolgenden Text."

Schön wär's.
Mein picture legt sich über jeden Text, der sonst noch auf der Seite steht, auch wenn ich's in eine figure-Umgebung einbinde.
Ich arbeite mit scrbook, aber bei dem letzten Buch (mit book) war's genauso und ich konnte es nur brachial lösen (mit vorher und nachher \clearpage).
Lieber wäre anders.

Weiß jemand Rat?

Danke und Gruß
m

edico
30-08-2004, 06:34
Du sagst nichts über deinen Code ... an sich sollte es so laufen, wie Kopka schreibt ...
Ich mach es z.B. so (die Masze natürlich anzupassen):
\begin{floatingfigure}[c]{221pt}
\includegraphics[height=145pt]{image}
\caption{Jiro und Mary}
\end{floatingfigure}
edico

mschmid1
30-08-2004, 16:35
Hallo edico,

danke für die Antwort. Was ist floatingfigure?

Hier der Code; die Grafik sieht komisch aus, ist aber auch noch nicht fertig (ich musste die Kreise kleiner machen):

\documentclass[DIVcalc,smallheadings,headinclude,footinclude,poin tlessnumbers]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage{typearea}
\usepackage{ngerman}
\usepackage{scrpage2}
\usepackage{curves}
\ohead{\pagemark}
\setlength{\paperheight}{23cm}
\setlength{\paperwidth}{15.5cm}


\begin{document}
\chapter{hello world!}
ölkjlakxlhsx
\section{hello yourself!}
Sa\d{h}ar \b{H}al\={\i}fa

\setlength{\unitlength}{.5cm}
\begin{picture}(0,0)
\footnotesize
\put(15,-10){\bigcircle{22}}
\put(15,-10){\bigcircle{16}}
\put(15,-10){\bigcircle{10}}
\put(15,-10){\bigcircle{5}}

\put(7.5,2.5){\makebox(15,1)[c]{Nationaler Konflikt -- Israelische}}
\put(7.5,1.5){\makebox(15,1)[c]{Besetzung und Widerstand}}

\put(7.5,-0.75){\makebox(15,1)[c]{Gesellschaft}}
\put(7.5,-1.75){\makebox(15,1)[c]{der Westbank -- Traditionen}}
\put(7.5,-2.75){\makebox(15,1)[c]{und Konventionen}}

\put(7.5,-4.5){\makebox(15,1)[c]{Familie und}}
\put(7.5,-5.5){\makebox(15,1)[c]{zwischenmenschliche}}
\put(7.5,-6.5){\makebox(15,1)[c]{Beziehungen}}

\put(7.5,-9){\makebox(15,1)[c]{Individuum,}}
\put(7.5,-10){\makebox(15,1)[c]{Selbstfindung,}}
\put(7.5,-11){\makebox(15,1)[c]{Körperlichkeit,}}
\put(7.5,-12){\makebox(15,1)[c]{intime Liebe}}

\thicklines
\put(24,-20){\vector(-1,1){8}}
\put(14,-12){\vector(-1,-1){8}}

\thinlines
\put(7.5,-18){\makebox(15,1)[c]{Wechselseitige}}
\put(7.5,-19){\makebox(15,1)[c]{Beeinflussung der}}
\put(7.5,-20){\makebox(15,1)[c]{verschiedenen}}
\put(7.5,-21){\makebox(15,1)[c]{Ebenen}}

\end{picture}

\subsection{quadrant}
lx

sdfbsadb

kjhaskclbas

ölaslkcac

ökasljbc

önaskcnlacbas
\end{document}

Ist das eine so genannte Zumutung? Ich hoffe nicht.

Gruß
mschmid

edico
31-08-2004, 08:53
Nun, ich komme nur gerade auf einen Sprung vorbei ... da kann auch nichts floaten.
Kümmere dich bitte um die Pakete float, floatflt. floatbox ... Schau mal nach der manpage (float.dvi).
Google mal und evtl. nach «Gleitobjekte».
Lass doch mal das vorher genannte eXample laufen mit pdflatex foo.tex :
\documentclass[a4paper]{scrartcl}
\usepackage{german}
\usepackage[latin1]{inputenc}
\usepackage{graphicx}
\usepackage{float}
\usepackage{floatflt}
\usepackage{color}
\usepackage{times}
...
edico

mschmid1
31-08-2004, 11:26
Versteh' ich nicht. Ich will ja nur, dass der Text durch das picture an der Stelle, wo ich's einsetze, unterbrochen wird, was eigentlich ohne andere usepackages funktionieren sollte, spätestens mit Einsatz von \begin und \end{figure} und der Option "h" für "hier". Tut's aber nicht.

Mit den float bzw. floatflt-Paketen habe ich's probiert, klappt auch nicht, aber ich habe die Dokumentation auch noch nicht gelesen.

Vielen Dank trotzdem

mschmid

blubb
31-08-2004, 12:18
\begin{picture}(0,0)
heißt, jetzt beginnt ein picture das 0pt breit und 0pt hoch ist.
und genau das macht TeX auch.

Sag einfach wie gross das Bild sein soll.
http://www.weinelt.de/latex/picture.html

Mit gleitenden Bildern hat picture nichts zu tun. (Man kann höchstens eine picture Umgebung in eine Gleitumgebung (=figure) packen).

mschmid1
31-08-2004, 15:58
Alles richtig.
Mit Gleiten hat das eigentlich gar nicht zu tun.
Das mit den Abmessungen war ein guter Tipp, damit konnte ich es auf der Seite dirigieren, das heißt aber nicht, dass mein picture jetzt irgendwelche Rücksicht auf vor- oder nachstehenden Text nimmt.

Ich hab's aber noch ein wenig aufgeblasen, und dann fällt es nicht mehr so auf, wenn der folgende Absatz auf der nächsten Seite beginnt.

Ich probier noch ein bisschen, und dann muss ich mal den Umbruch anfangen. Ist sowieso wieder (fast zu) spät.

Vielen Dank für die Unterstützung.
mschmid

blubb
31-08-2004, 16:28
damit konnte ich es auf der Seite dirigieren, das heißt aber nicht, dass mein picture jetzt irgendwelche Rücksicht auf vor- oder nachstehenden Text nimmt.

Es ist kein Problem die Zeichnung (alles zwischen \begin{picture}\end{picture}) in eine figure-Umgebung zu setzen. Die figure-Umgebung kann dann (zusammen mit ihrem Inhalt) im Text gleiten.

picture und figure schliesst sich nicht aus.

mschmid1
31-08-2004, 16:37
... ich hab's doch in eine figure-Umgebung gepackt (mit option "h")! Ohne jede Wirkung.



Gruß
mschmid

mschmid1
31-08-2004, 17:29
Aber hier noch einmal der aufgeräumte und leicht abgeänderte code:

\documentclass[DIVclassic,BCOR4mm,smallheadings,pointlessnumbers]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage{typearea}
\usepackage{ngerman}
\usepackage{scrpage2}
\usepackage{curves}
\usepackage[dvips]{color}
\ohead{\pagemark}
\setlength{\paperheight}{23cm}
\setlength{\paperwidth}{15.5cm}
\usepackage{showframe}

\begin{document}

Blindtext Blindtext Blindtext Blindtext Blindtext
Blindtext Blindtext Blindtext Blindtext Blindtext
Blindtext Blindtext Blindtext Blindtext Blindtext

\begin{figure}[h]
\setlength{\unitlength}{.5cm}
\begin{picture}(25,22)
\footnotesize
\put(13,8){\bigcircle{25}}
\put(13,8){\bigcircle{18}}
\put(13,8){\bigcircle{11}}
\put(13,8){\bigcircle{5}}

\put(5.6,18.3){\makebox(15,.9)[c]{Nationaler Konflikt -- Israelische}}
\put(5.6,17.4){\makebox(15,.9)[c]{Besetzung und Widerstand}}

\put(5.6,15.5){\makebox(15,.9)[c]{Gesellschaft der}}
\put(5.6,14.6){\makebox(15,.9)[c]{Westbank -- Traditionen}}
\put(5.6,13.7){\makebox(15,.9)[c]{und Konventionen}}

\put(5.6,12.3){\makebox(15,0.9)[c]{Familie und}}
\put(5.6,11.4){\makebox(15,0.9)[c]{zwischenmenschliche}}
\put(5.6,10.5){\makebox(15,0.9)[c]{Beziehungen}}

\put(5.6,9){\makebox(15,.9)[c]{Individuum,}}
\put(5.6,8.1){\makebox(15,.9)[c]{Selbstfindung,}}
\put(5.6,7.2){\makebox(15,.9)[c]{Körperlichkeit,}}
\put(5.6,6.3){\makebox(15,.9)[c]{intime Liebe}}

\thicklines
\put(20.6,-1){\vector(-1,1){7.1}}
\put(12,6.2){\vector(-1,-1){7}}

\thinlines
\put(9.5,-5){\colorbox[gray]{1}{\parbox[b][4cm][c]{3cm}{Wechselseitige Beeinflussung der verschiedenen Ebenen}}}

\end{picture}
\end{figure}


Blindtext Blindtext Blindtext Blindtext Blindtext
Blindtext Blindtext Blindtext Blindtext Blindtext
Blindtext Blindtext Blindtext Blindtext Blindtext

Blindtext Blindtext Blindtext Blindtext
Blindtext Blindtext Blindtext Blindtext
Blindtext Blindtext Blindtext Blindtext

Blindtext Blindtext Blindtext
Blindtext Blindtext Blindtext

Blindtext Blindtext Blindtext Blindtext Blindtext
\end{document}

Gruß
mschmid

blubb
01-09-2004, 08:11
Was willst du eigentlich?

Die erste Frage war, warum dein Bild Text überschreibt.
Der Grund war die falsche Parameterübergabe bei \begin{picture}

Ich will ja nur, dass der Text durch das picture an der Stelle, wo ich's einsetze, unterbrochen wird
--> Problem gelöst.


Ich will ja nur, dass der Text durch das picture an der Stelle, wo ich's einsetze, unterbrochen wird, was eigentlich ohne andere usepackages funktionieren sollte, spätestens mit Einsatz von \begin und \end{figure} und der Option "h" für "hier". Tut's aber nicht.
Nein. Der Satz zeigt nur, das du nicht weisst was figure macht.
Vergiss es. Lies nach was figure eigentlich macht.


Das mit den Abmessungen war ein guter Tipp, damit konnte ich es auf der Seite dirigieren, das heißt aber nicht, dass mein picture jetzt irgendwelche Rücksicht auf vor- oder nachstehenden Text nimmt.
Richtig. Picture macht einfach eine Zeichnung in der vorgegeben Grösse. Punkt. Mehr macht Picture nicht. Es liegt an einer Stelle die durch vorhergehenden Text gestimmt ist und verschiebt nachfolgenden Text an die Stelle hinter denm Picture.

Dein "dirigieren" heisst vermutlich, das du die Picture Umgebung so lange verschiebst, bis das Bild zufällig auf einen Seitenwechsel o.ä. stösst.

Dafür gibt es die Gleit-Umgebung figure.

Figure sicht sich für Abbildungen einen schönen Platz. Entsteht dadurch eine Lücke auf der Seite wird folgender text nach vorne geschoben um sie zu schliessen. Wohin die Abbildung kann man per optionalen Parameter bestimmen. Und wenn du [h] vorgibst, dann wird genau der Mechanismus ausgehebelt. Den [h] heist "here" und sobald Text nachgeschoben wird, dann ist es schon "woanders".

Sobald du das [h] weglässt ist das Bild oben, Der Text ist zusammen am unteren Teil der Seite.

mschmid1
01-09-2004, 18:52
Das picture überschreibt Text. Wenn ich "h" weglasse, verschiebt es den ganzen Text ins untere Drittel des pictures.

Was ich will (ich drücke mich schon zuweilen etwas unverständlich aus), ist eingeben:

Text
picture
Text

und hätte es gern in eben dieser Reihenfolge auf Papier bzw. Bildschirm.

Wie gesagt, für's jetzige Buch ist es eh spät. Wenn ich es wegegschickt habe, gucke ich mir's noch mal in Ruhe an.

Vielen Dank aber.
Grüße
mschmid

popeyman
07-09-2004, 20:37
Hallo Schmid

Versuch mal das hier:

\begin{picture}(breite,höhe)(position x,position y)
\put(0,0){\scalebox{1}{\includegraphics{bildnamef. jpg}}}
\end{picture}


bei (breite,höhe) musst du die grösse der "aussparung" angeben, die du für das bild brauchst.

mit (position x,position y) kannst du dieses feld noch verschieben (0,0 wird hier meist gebraucht.

\put setzt den "cursor" an einen bestimmten punkt
\scalebox skaliert dir die graphik
\includegraphics ist zum einfügen des bildes.

Gruess
Christoph