PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : subfloat:



steve92
21-08-2010, 19:46
Hallo,

wiedermal ein Problem. Ich möchte 4 Ausschnitte von pdf-Files (A4) in eine float packen:


\begin{figure}[!htp]
\centering%
\subfloat[Acerinox]{\includegraphics[trim = 15mm 85.5mm 118mm 155mm, clip, width= 0.60\textwidth, height=\textheight, keepaspectratio]{AC_Md30_FS.pdf}}\par
\subfloat[ArcelorMittal]{\includegraphics[trim = 15mm 85.5mm 118mm 155mm, clip, width=0.60\textwidth, height=\textheight, keepaspectratio]{AZ_Md30_FS.pdf}}\par
\subfloat[TKN]{\includegraphics[trim = 15mm 85.5mm 118mm 155mm, clip, width=0.60\textwidth, height=\textheight, keepaspectratio]{KB_Md30_FS.pdf}}
\subfloat[Outokumpu]{\includegraphics[trim = 15mm 85.5mm 118mm 155mm, clip, width=0.60\textwidth, height=\textheight, keepaspectratio]{OP_Md3o_FS.pdf}}
\end{figure}

Fehlermeldung: Warning: Float too large for a page by 713 on input line ...

Liegt das daran, dass die weggeschnittenen Teile "nur" ausgeblendet werden? Ich hab zwar schon Lösungsansätze gefunden, die zünden bei mir allerdings nicht. Was könnte ich tun?

Grüße
Steve

rais
21-08-2010, 23:07
Moin moin,


Fehlermeldung: Warning: Float too large for a page by 713 on input line ...

Liegt das daran, dass die weggeschnittenen Teile "nur" ausgeblendet werden? Ich hab zwar schon Lösungsansätze gefunden, die zünden bei mir allerdings nicht. Was könnte ich tun?

an Deiner Stelle würde ich mir einen dieser \includegraphics -- bzw. alle vier der Reihe nach -- in ein Testdokument packen (mit denselben Optionen, versteht sich) ohne \subfloat oder figure-Umgebung drumrum und erstmal schauen, welche Dimensionen das Teil so annimmt.

Apropos Dimension: ohne eindeutige Größenangabe bezüglich der einzubindenen Grafik Deinerseits lässt sich meinerseits nur Vermutungen anstellen, aber ...


\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[trim=70mm 30mm 90mm 30mm,clip,width=0.3\linewidth,height=\textheight,k eepaspectratio]{tiger}
%zum Vergleich
\includegraphics[trim=70mm 30mm 90mm 30mm,clip,width=0.3\linewidth,height=0.2\textheigh t,keepaspectratio]{tiger}
%mehr abziehen als da is:
\includegraphics[trim=70mm 30mm 150mm 30mm,clip,width=0.3\linewidth,height=\textheight,k eepaspectratio]{tiger}
\end{document}

(tiger.eps sollte auf Deinem System vorhanden sein, wenn Du Ghostscript installiert hast -- im Ghostscript-Verzeichnis unter `examples' -- kopiere sie Dir einfach in Deinen Testordner und rufe ggf.


epstopdf tiger.eps
auf, bevor Du pdfLaTeX auf Dein Testdokument loslässt.)
Alternativ: Ersetze in diesem Code `tiger' durch eine Deiner eigenen Dateien (so vllt nicht jeder Effekt damit sichtbar wird).

Und überhaupt: Du erlaubst doch



height=\textheight

für alle Deine hier präsentierten Grafiken :p

MfG

steve92
22-08-2010, 10:46
Hi,

ich habe unter \Programme\MikteX 2.8 einen ghostscript-Ordner (Inhalt: Base) und im Pfad \Programme\pdf24\gs\examples steckt die Tiger.eps. Habs wie beschrieben ausgeführt, aber Fehlermeldung:
! LaTeX Error: File `tiger' not found.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.4 ...,height=\textheight,keepaspectratio]{tiger}

I could not locate the file with any of these extensions:
.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.J PG,.JPEG,.JBIG2,.JB2
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
MIt einem eigenen Bild klappts aber. Erste und Zweite Abbildung sind dann gleich hoch, die dritte ist größer!?! Müssten nicht Abb. 1 und 3 gleich groß sein?

Wo/wie rufe ich
epstopdf tiger.eps auf?

Ja das
height=\textheight hatte ich ursprünglich nicht drin. Das war ein Lösungsvorschlag den ich im Netz gefunden habe. Hat aber nix geholfen bis jetzt.

rais
22-08-2010, 11:09
Moin moin,


Wo/wie rufe ich
epstopdf tiger.eps auf?

auf der Konsole aka Eingabeaufforderung (wechsle mit cd zunächst in Dein Testverzeichnis).

BTW: mit tiger sieht's dann so aus (siehe Anhang)

MfG

steve92
22-08-2010, 11:14
Ok, das hat jetzt geklappt. Die pdf die ich einbinden will haben übrigens alle etwa 30-200 kB. Es sind A4 Seiten, die mit pdf-Drucker erstellt wurden.

steve92
22-08-2010, 11:23
Ok, das hat jetzt geklappt. Die pdf die ich einbinden will haben übrigens alle etwa 30-200 kB. Es sind A4 Seiten, die mit pdf-Drucker erstellt wurden.

Was ganz komisch ist, bei folgender Syntax:


\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[trim=70mm 30mm 90mm 30mm,clip,width=0.3\linewidth,height=\textheight,k eepaspectratio]{tiger}
%zum Vergleich
\includegraphics[trim=70mm 30mm 90mm 30mm,clip,width=0.3\linewidth,height=\textheight,k eepaspectratio]{TIGER}
%mehr abziehen als da is:
\includegraphics[trim=70mm 30mm 150mm 30mm,clip,width=0.3\linewidth,height=\textheight,k eepaspectratio]{TIGER}
\end{document}

kommt das pdf im Anhang raus. Warum ist der dritte Tiger um 180° gedreht und warum ist er nicht neben den beiden anderen sondern drunter?

steve92
22-08-2010, 12:43
Moin moin,

an Deiner Stelle würde ich mir einen dieser \includegraphics -- bzw. alle vier der Reihe nach -- in ein Testdokument packen (mit denselben Optionen, versteht sich) ohne \subfloat oder figure-Umgebung drumrum und erstmal schauen, welche Dimensionen das Teil so annimmt.


Wenn ich das mache kommt: Dimension too large. Heißt das, ich muss die pdf vorher zurechtschneiden?

rais
22-08-2010, 15:21
Moin moin,


MIt einem eigenen Bild klappts aber. Erste und Zweite Abbildung sind dann gleich hoch, die dritte ist größer!?! Müssten nicht Abb. 1 und 3 gleich groß sein?

nö, höchstens gleich *breit*: in beiden Fällen 0.3\linewidth (so die Höhe kleiner gleich \textheight bleibt (ungeprüft)).
Das mittlere Bild mit tiger wird in der Höhe auf hier 0.2\textheight begrenzt und dank keepaspectratio entsprechend schmaler.
Der Witz ist doch, Du schneidest von den Rändern was ab und skalierst das resultierende Rechteck auf 0.3\linewidth*ys (sofern ys<=\textheight) bzw. xs*\textheight (sofern xs<=0.3\linewidth), wenn Du also nur x kleiner werden lässt, und dieses kleinere x auf die gleiche Breite ziehst (hier wieder 0.3\linewidth), dann vergrößerst Du dieses neue x stärker als das alte -- und y wird entsprechend mit vergrößert.


Warum ist der dritte Tiger um 180° gedreht und warum ist er nicht neben den beiden anderen sondern drunter?

Meine Vermutung dazu steht schon im Code: wenn man versucht, mehr abzuschneiden als da ist, wird das Ergebnis der Differenzbildung negativ, d.h. y wird hier negativ skaliert oder ``wächst nach unten''.

Versuch es also erstmal mit unterschiedlichen Werten für height -- eine Datei zur Zeit.
BTW: wenn wirklich alle 4 Bilder untereinander kommen sollen, wird 0.25\textheight wohl schon zuviel sein, sonst bleibt kein Platz für die Bildunterschriften.

MfG

steve92
22-08-2010, 15:51
Also, jetzt mit meinen pdfs:

wenn ich nur eins bearbeite und die anderen erstmal ausklammere:

für
\includegraphics[trim=70mm 30mm 90mm 30mm,clip,width=0.3\linewidth,height=0.1\textheigh t,keepaspectratio]{OP_N.pdf} ist die Ausgabe leer, steht also nur unten die Seitenzahl

für
\includegraphics[trim=70mm 30mm 90mm 30mm,clip,width=0.3\linewidth,height=0.05\textheig ht,keepaspectratio]{OP_N.pdf} ist oben links ein schwarzer,kleiner Balken (senkrecht) in der Ausgabe.

für
\includegraphics[trim=70mm 30mm 90mm 30mm,clip,width=0.3\linewidth,height=0.01\textheig ht,keepaspectratio]{OP_N.pdf} kommt die Ausgabe im Anhang. Für height=0.25\textheight oder größer siehts genauso aus. Komisch.


BTW: wenn wirklich alle 4 Bilder untereinander kommen sollen, wird 0.25\textheight wohl schon zuviel sein, sonst bleibt kein Platz für die Bildunterschriften.

Sollen 2 x 2 angeordnet werden.

Doof alles, wenn das so alles nicht klappt müsste ich pdfcrop (s. Nachbarthread) zum laufen kriegen, inkscape ist mir zu langsam für die ganzen pdfs. :(

rais
22-08-2010, 16:27
Ohne Deine Datei werd ich da nicht viel ausrichten können. Versuch es entweder mit tiger (die Datei hab ich ja) oder lade Deine Datei hoch (wenn Du damit keine Rechte verletzt).
Was Du noch versuchen könntest: setze einen Rahmen ums Bild, ggf. skalierst Du Weißraum mit, also


\fbox{\includegraphics[..]{..}}

vllt vorher noch \setlength\fboxsep{0pt}, damit \fbox nicht selbst Weißraum erzeugt.


Sollen 2 x 2 angeordnet werden.

ah, dann haben mich die 0.6\textwidth vom Eingangspost irritiert.

MfG

steve92
22-08-2010, 20:40
Hab gelesen, dass \fbox keinen Zeilenumbruch erlaubt. Dann ist 2x2 ja nicht mehr möglich!?
Falls ich das falsch sehe, wie sähe denn die Syntex in meinem Fall dann aus?
Ich habe 4 DINA4 pdf-Seiten, die ich als 2x2-Anordnung innerhalb einer subfloat-Umgebung einstellen möchte. Kommt dann erst die \fbox oder erst die \subfloat?

rais
22-08-2010, 20:51
Moin moin,

Hab gelesen, dass \fbox keinen Zeilenumbruch erlaubt. Dann ist 2x2 ja nicht mehr möglich!?
Falls ich das falsch sehe, wie sähe denn die Syntex in meinem Fall dann aus?
Ich habe 4 DINA4 pdf-Seiten, die ich als 2x2-Anordnung innerhalb einer subfloat-Umgebung einstellen möchte. Kommt dann erst die \fbox oder erst die \subfloat?
die \fbox ist nur für Deine Testdatei gedacht, also direkt um den \incldegraphics-Befehl zu legen (das soll Dir nur anzeigen, ob Du überhaupt den richtigen Ausschnitt erwischt hast)

MfG