PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Latex Bilder



ThomYorke
24-04-2008, 13:53
Ja, es geht um das altbekannte Thema.

Problem: Latex schreibt jede meiner Graphiken auf eine extra Seite. Ich benutze eine PDF-Datei. Liegt der Grund dafür vielleicht darin, dass das PDF eine ganze Seite groß ist und nur zu einem Teil die Graphik enthält?

Eigentlich wollte ich gar kein pdf sondern eps verwenden. Hier im Forum wird das doch empfohlen, aber Miktex 2.7(?) kann das wohl beim Konvertieren in PDF nicht lesen. Erhalte beim verwenden der eps folgenenden Fehler

"File not found", (+"Unknown graphics extension .eps", falls ich die Endung hinschreibe)

Habe für eps -> pdf ghostview verwendet. Dabei merkwürdig: Ghostview zeigt nur die halbe Graphik an, das pdf sieht aber wieder richtig aus, nur ist die graphik da dann irgendwo auf dem Blatt.

Ich habe das pdf oder eps an einem anderen Ort wie den Rest abgelegt. Aber er findet ja die Datei, also kann es daran ja nicht liegen.

Vielen Dank für eure Mühe!

Reduzierter Quellcode:
\documentclass[11pt,a4paper]{report}
\usepackage{amsmath}
\usepackage{geometry}
\geometry{a4paper,left=39mm,right=30mm, top=39mm, bottom=44mm}
\usepackage{amssymb}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{array}

\usepackage{graphicx}
\begin{document}
\begin{figure}[htpb]
\centering
\includegraphics[height=10cm] {D:/pfad/Indicator2}
\caption{}
\end{figure}
\end{document}


Edit:
Bei kompletten Weglassen der Figureumgebung und der Captions wird es zwar besser, allerdings bleibt das Problem dass das pdf. die Graphik nur am unteren Seitenrand enthält (Produkt aus Ghostview) und Latex den leeren Platz ins Zielpdf überträgt. Außerdem brauche ich Benennungen und ein Abbildungsverzeichnis.

localghost
24-04-2008, 18:52
Alle deine Fragen sollten durch das gründliche Studium von epslatex (http://dante.ctan.org/CTAN/help/Catalogue/entries/epslatex.html) und der l2picfaq (http://dante.ctan.org/CTAN/help/Catalogue/entries/l2picfaq.html) beantwortet werden.


MfG
Thorsten¹

ThomYorke
24-04-2008, 19:44
Nein, leider nicht. Es wird mir mal wieder geraten für pdfLatex die Datei auch erst als pdf darzustellen. Ich könnte höchstens im nachhinein mit bb/viewport... den gewünschten Bereich wieder aus dem pdf rausschneiden, das kanns ja nicht sien (ich muss das nicht nur einmal machen)

Nochmal zum Problem: bei eps->pdf wird eine gesamte pdf-Seite erstellt,die dann halb leer ist und ohne weitere Formatierung natürlich auch so im Zielpdf auftaucht. Könnte das an ghostscript liegen?

Wieso wird mit begin {figure} gleich eine ganze Seite reserviert? Ich brauche diesen Befehl fürs Abbildungsverzeichnis und die Benennung, aber kann nicht für jede Grafik eine neue Seite nehmen!

Edit
Ghostview zeigt mir beim umwandeln schon nur die Hälfte der Graphik an (von tfk importiert), als pdf ist auf einmal wieder als da (wie schon beschrieben)

Stefan_K
24-04-2008, 20:17
Hallo ThomYorke,

probier mal epstopdf statt direkt ghostview, epstopdf setzt die pdf-Bildgröße passend zur bounding box.

Stefan

voss
24-04-2008, 20:38
Nein, leider nicht. Es wird mir mal wieder geraten für pdfLatex die Datei auch erst als pdf darzustellen. Ich könnte höchstens im nachhinein mit bb/viewport... den gewünschten Bereich wieder aus dem pdf rausschneiden, das kanns ja nicht sien (ich muss das nicht nur einmal machen)

Nochmal zum Problem: bei eps->pdf wird eine gesamte pdf-Seite erstellt,die dann halb leer ist und ohne weitere Formatierung natürlich auch so im Zielpdf auftaucht. Könnte das an ghostscript liegen?

Wieso wird mit begin {figure} gleich eine ganze Seite reserviert? Ich brauche diesen Befehl fürs Abbildungsverzeichnis und die Benennung, aber kann nicht für jede Grafik eine neue Seite nehmen!

Edit
Ghostview zeigt mir beim umwandeln schon nur die Hälfte der Graphik an (von tfk importiert), als pdf ist auf einmal wieder als da (wie schon beschrieben)

hast du auch die Seitennummer ausgeschaltet (\pagestyle{empty}), sonst
gehört die unten mit zum Bild.

Herbert

ThomYorke
24-04-2008, 20:53
Habe jetzt "\usepackage{epstopdf} --enable-write18" nach dem graphicx-befehl eingesetzt.

Das pdf kann nicht erstellt werden, es kommt eine Errormessagebox

"[DocOpen("%bm.pdf")][FileOpen("%bm.pdf")]"

Fehler beim Kompilieren:

Package epstopdf warning: Shell escape feature is not enabled.
Missing begin document
file not found

Wie deaktiviere ich shell escape richtig im Quelltext mit Texniccenter?
Aber bei allem was ich bis jetzt gelesen habe wird immer geraten direkt ein pdf bereitzustellen!

ThomYorke
24-04-2008, 20:55
hast du auch die Seitennummer ausgeschaltet (\pagestyle{empty}), sonst
gehört die unten mit zum Bild.

Herbert

Das versteh ich jetzt nicht. Ich möchte doch Seitenzahlen haben...

ThomYorke
24-04-2008, 22:15
Alle deine Fragen sollten durch das gründliche Studium von epslatex (http://dante.ctan.org/CTAN/help/Catalogue/entries/epslatex.html) und der l2picfaq (http://dante.ctan.org/CTAN/help/Catalogue/entries/l2picfaq.html) beantwortet werden.


MfG
Thorsten¹


[scale=0.1] beim \includegraphics-Befehl.

Okay, die Lösung war: bei der Konvertierung von eps nach pdf hätte ich ihn Gostview das Format in Pixeln so wählen müsse dass eben die Seite ausgefüllt wird (hätte ich mal gleich auf mich selber gehört).

Anschlussproblem:
Möchte 2 Graphiken nebeneinander haben, und zwar ZENTRIERT. Egal welche Parameter ich nehme, das stimmt nie:

\centering
\begin{minipage}[htpb]{8,05cm}
\includegraphics[height=6cm] {D:/Pfad/2.thirdmonth/2RefTime1}
\end{minipage}

\begin{minipage}[htpb]{5,5cm}
\includegraphics[height=6cm] {D:/Pfad/2.thirdmonth/2RefTime2}
\caption{}
\end{minipage}

Height sollte so bleiben. Wie bekomme ich das zentriert. Was sagen die beiden Parameter in Kombination. Je nachdem was ich nehme sind sie übereinander, überlappend oder nebeneinander (aber nicht wirklich zentriert ausgerichtet).
Danke schonmal!

Buch Daniel
24-04-2008, 22:24
Bei allen Fragen und Problemen: Ich muss eine klare Vorstellung haben von dem, was ich zu tun beabsichtige. Habe ich das nicht, sind Fehlermeldungen die logische Folge.

Wenn Bilder, egal ob farbig oder schwarzweiß, in eine Datei eingebunden werden sollen, müssen diese Bilder in einem bestimmten Format vorliegen.

PDF-Dateien verlangen Bilder im jpg- oder png-Format. Da PDF heutzutage Standard ist, sollte man Bilder im obigen Format einbinden und auch verwenden.

Wird das befolgt, hat man Erfolg. Andere Vorstellungen, bzw. Bilder im eps-.Format in eine PDf-Datei einzubinden, führen zu Fehlermeldungen.

guenther

Stefan_K
24-04-2008, 22:24
Hallo,

die Leerzeile sollte weg, sie erzeugt einen Absatzumbruch. In de-tex-faq 6.1.6 (http://www.dante.de/faq/de-tex-faq/html/makros2.html#12) steht eine Antwort auf die Frage, wie man Grafiken nebeneinander positionieren kann.

Viele Grüße,

Stefan

ThomYorke
24-04-2008, 22:33
Bei allen Fragen und Problemen: Ich muss eine klare Vorstellung haben von dem, was ich zu tun beabsichtige. Habe ich das nicht, sind Fehlermeldungen die logische Folge.
guenther

Ich erkläre doch hier seit Stunden dass ich genau das beabsichtige. Weiß nicht was es daran nicht zu verstehen gab.

ThomYorke
24-04-2008, 22:49
Hallo,

die Leerzeile sollte weg, sie erzeugt einen Absatzumbruch. In de-tex-faq 6.1.6 (http://www.dante.de/faq/de-tex-faq/html/makros2.html#12) steht eine Antwort auf die Frage, wie man Grafiken nebeneinander positionieren kann.

Viele Grüße,

Stefan

Danke! Mit dieser Figureumgebung komme ich überhaupt nicht zurecht, da beansprucht der wieder den Seitenanfang für sich oder sonst irgendwas. Wenn ich sie weglasse ist das Bild an der richtigen Stelle, aber caption ist nicht mehr möglich, Fehlermeldung: caption out of float.

localghost
24-04-2008, 22:54
Bei allen Fragen und Problemen: Ich muss eine klare Vorstellung haben von dem, was ich zu tun beabsichtige. Habe ich das nicht, sind Fehlermeldungen die logische Folge.

Wenn Bilder, egal ob farbig oder schwarzweiß, in eine Datei eingebunden werden sollen, müssen diese Bilder in einem bestimmten Format vorliegen.

PDF-Dateien verlangen Bilder im jpg- oder png-Format. Da PDF heutzutage Standard ist, sollte man Bilder im obigen Format einbinden und auch verwenden.

Wird das befolgt, hat man Erfolg. Andere Vorstellungen, bzw. Bilder im eps-.Format in eine PDf-Datei einzubinden, führen zu Fehlermeldungen.

guenther
Weisheiten dieser Art helfen ohne jeglichen Lösungsansatz überhaupt nicht weiter.

[...]Anschlussproblem:
Möchte 2 Graphiken nebeneinander haben, und zwar ZENTRIERT. Egal welche Parameter ich nehme, das stimmt nie:

\centering
\begin{minipage}[htpb]{8,05cm}
\includegraphics[height=6cm] {D:/Pfad/2.thirdmonth/2RefTime1}
\end{minipage}

\begin{minipage}[htpb]{5,5cm}
\includegraphics[height=6cm] {D:/Pfad/2.thirdmonth/2RefTime2}
\caption{}
\end{minipage}

Height sollte so bleiben. Wie bekomme ich das zentriert. Was sagen die beiden Parameter in Kombination. Je nachdem was ich nehme sind sie übereinander, überlappend oder nebeneinander (aber nicht wirklich zentriert ausgerichtet).
Danke schonmal!
Deine Vorstellung von der Verwendung der minipage-Umgebung ist ziemlich unsinnig (entschuldige, wenn ich das so sage). Die optionalen Parameter werden so gar nicht akzeptiert.

\begin{minipage}{0.45\linewidth}
\rule{\linewidth}{6cm} %Platzhalter
\captionof{figure}{2RefTime1}\label{fig:2RefTime1}
\end{minipage}
\hfill
\begin{minipage}{0.45\linewidth}
\rule{\linewidth}{6cm} %Platzhalter
\captionof{figure}{2RefTime2}\label{fig:2RefTime2}
\end{minipage}
Das hast Du wohl mit den Gleitumgebungen verwechselt. Lies das mal in grundlegender Literatur über LaTeX nach. Für deinen Zweck eignet sich auch floatrow (http://dante.ctan.org/CTAN/help/Catalogue/entries/floatrow.html) oder subfig (http://dante.ctan.org/CTAN/help/Catalogue/entries/subfig.html).

Stefan_K
24-04-2008, 23:02
Hallo ThomYorke,

Du kannst auch ohne figure-Umgebung captions setzen, wenn Du das Paket caption (oder capt-of) verwendest. Also:
\usepackage{caption}
...
\includegraphics{...}
\captionof{figure}{Text}
...
caption ist ein sehr nützliches und vielseitiges Paket, die Doku findest Du z.B. hier (http://www.ctan.org/tex-archive/macros/latex/contrib/caption/caption-deu.pdf).

Stefan

PS: ich sehe beim Schreiben, dass Thorsten nun schon auf \captionof hingewiesen hat, doch ich lass das mal so stehen.

voss
25-04-2008, 08:34
Du kannst auch ohne figure-Umgebung captions setzen, wenn Du das Paket caption (oder capt-of) verwendest. Also:
\usepackage{caption}
...
\bgroup
\includegraphics{...}
\captionof{figure}{Text}
\egroup
...
caption ist ein sehr nützliches und vielseitiges Paket, die Doku findest Du z.B. hier (http://www.ctan.org/tex-archive/macros/latex/contrib/caption/caption-deu.pdf).


\captionof nur in einer Gruppe ...

Herbert

ThomYorke
28-04-2008, 11:20
Deine Vorstellung von der Verwendung der minipage-Umgebung ist ziemlich unsinnig (entschuldige, wenn ich das so sage). Die optionalen Parameter werden so gar nicht akzeptiert.

\begin{minipage}{0.45\linewidth}
\rule{\linewidth}{6cm} %Platzhalter
\captionof{figure}{2RefTime1}\label{fig:2RefTime1}
\end{minipage}
\hfill
\begin{minipage}{0.45\linewidth}
\rule{\linewidth}{6cm} %Platzhalter
\captionof{figure}{2RefTime2}\label{fig:2RefTime2}
\end{minipage}
Das hast Du wohl mit den Gleitumgebungen verwechselt. Lies das mal in grundlegender Literatur über LaTeX nach. Für deinen Zweck eignet sich auch floatrow (http://dante.ctan.org/CTAN/help/Catalogue/entries/floatrow.html) oder subfig (http://dante.ctan.org/CTAN/help/Catalogue/entries/subfig.html).

Vielen Dank schonmal, das liefert mir immerhin schonmal zwei schwarze Kästen an genau den richtigen Stellen.
Fehlt mir nicht irgendwo ein \includegraphics? Wo muss der Pfad und der zugehörige Dateiname hin? Seltsamerweise generiert Latex auch gar keine Fehlermeldung.
Ich hab hier ne 200 Seiten starke Einführung in das Textsatzsystem LATEX die mir da auch überhaupt nicht hilft und google mich hier halt so durch... Eigentlich hab ich auch einige Programmierkenntnisse in anderen Sprachen (z.b. GAUSS), aber Latex kann ich mir nicht selber beibringen da ich die Pakete furchtbar unübersichtlich und schrecklich dokumentiert finde.

Edit:
Okay, Problem mit subfigure vielleicht gelöst, bis demnächst...

ThomYorke
28-04-2008, 12:11
Okay, nächste Frage:

Habe folgende Textstrukur:

Bild1
Zwei Zeilen Text
Bild2


Das erste Bild ist wie folgt:
\centering
\includegraphics[scale=0.4] {D:/Pfad/2Indicator}

Sieht schonmal von der Programmierung furchtbar aus irgendwie. Wenn ich \caption verwenden will geht das so nicht, "caption out of float" (die Beschriftung ist da,aber daneben versetzt). Also binde ich das ganze in eine figureumgebung ein. Resultat:

Zwei Zeilen Text
Bild1
Bild2

\begin{figure}[ht]
\centering
\includegraphics[scale=0.4] {D:/Pfad/2Indicator}
\end{figure}

Das Bild springt also völlig sinnfrei weiter nach vorne.

\begin{figure}[H!] setzt beide Bilder zwei Seiten später auf eine extra Seite...
???

localghost
28-04-2008, 16:59
Deine Fragen sind eigentlich schon alle beantwortet worden. Sieh dir dazu nur noch einmal den Beitrag von voss (#15) an. Probiere es mit minipage-Umgebungen.


\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{centering,bindingoffset=1cm,includehea dfoot,margin=2cm]{geometry}
\usepackage{blindtext}

\setlength{\parindent}{0pt}

\begin{document}
\begin{minipage}{\linewidth}
\centering
\rule{12.8cm}{7.2cm} % Platzhalter
\captionof{figure}{2RefTime1}\label{fig:2RefTime1}
\end{minipage}

\blindtext

\begin{minipage}{\linewidth}
\centering
\rule{12.8cm}{7.2cm} % Platzhalter
\captionof{figure}{2RefTime2}\label{fig:2RefTime2}
\end{minipage}
\end{document}
Die Zeilen mit \rule{12.8cm}{7.2cm} sind dabei nur Platzhalter wie in einem früheren Beitrag auch. An ihre Stelle setzt Du den Befehl zur Einbindung deiner Grafiken.

Die figure-Umgebung ist eine so genannte Gleitumgebung (float). Diese ermöglicht die Wanderung einer Abbildung, falls dort, wo sie im Quelltext deklariert wurde, nicht mehr genug Platz zur Positionierung auf der Seite vorhanden ist. Tipps zur Steuerung dieses Verhaltens geben die l2picfaq (http://dante.ctan.org/CTAN/help/Catalogue/entries/l2picfaq.html). Willst Du dieses Gleiten gänzlich verhindern, benutzt erst gar keine solche Umgebung, sondern wie oben demonstriert eine minipage-Umgebung oder wie von voss (#15) vorgeschlagen eine einfache Gruppierung.

ThomYorke
28-04-2008, 17:14
Deine Fragen sind eigentlich schon alle beantwortet worden. Sieh dir dazu nur noch einmal den Beitrag von voss (#15) an. Probiere es mit minipage-Umgebungen.


\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{centering,bindingoffset=1cm,includehea dfoot,margin=2cm]{geometry}
\usepackage{blindtext}

\setlength{\parindent}{0pt}

\begin{document}
\begin{minipage}{\linewidth}
\centering
\rule{12.8cm}{7.2cm} % Platzhalter
\captionof{figure}{2RefTime1}\label{fig:2RefTime1}
\end{minipage}

\blindtext

\begin{minipage}{\linewidth}
\centering
\rule{12.8cm}{7.2cm} % Platzhalter
\captionof{figure}{2RefTime2}\label{fig:2RefTime2}
\end{minipage}
\end{document}
Die Zeilen mit \rule{12.8cm}{7.2cm} sind dabei nur Platzhalter wie in einem früheren Beitrag auch. An ihre Stelle setzt Du den Befehl zur Einbindung deiner Grafiken.

Tut mir leid aber das verstehe ich so noch nicht. Muss ich die komplette Zeile durch "\includegraphics[scale=.45]{Pfad/Datei}" ersetzen? Wozu denn dann der "rule" Befehl? Es wäre sehr nett wenn einer einfach mal das Beispiel da mit einer fiktiven Datei und Pfad umschreiben könnte, oder geht das nicht?

localghost
28-04-2008, 17:22
Tut mir leid aber das verstehe ich so noch nicht. Muss ich die komplette Zeile durch "\includegraphics[scale=.45]{Pfad/Datei}" ersetzen? Wozu denn dann der "rule" Befehl? [...]
Offensichtlich nicht. Natürlich musst Du die komplette Zeile ersetzen. Der Befehl soll nur etwas Platz schaffen, um das Aussehen zu demonstrieren. Ich hatte in meinem früheren Beispiel ja extra die von dir angegebene Höhe (6cm) deiner Bilder gewählt, um dir eine Vorstellung von dem zu erwartenden Ergebnis zu vermitteln.

ThomYorke
28-04-2008, 17:34
Offensichtlich nicht. Natürlich musst Du die komplette Zeile ersetzen. Der Befehl soll nur etwas Platz schaffen, um das Aussehen zu demonstrieren. Ich hatte in meinem früheren Beispiel ja extra die von dir angegebene Höhe (6cm) deiner Bilder gewählt, um dir eine Vorstellung von dem zu erwartenden Ergebnis zu vermitteln.

Na tut mir Leid, aber ich sehe immernoch keine Syntax bei dem was ich da einsetzten muss. %Platzhalter ist keine Syntax, {Pfad/Dateiname} schon. ich hätte jetzt wie gesagt als erstes mal deinen rule Befehl ganz gelöscht, dann nur da wo Platzhalter steht die Datei die ich brauche, dann dort wo Platzhalter steht includegraphics + Datei usw...

Ich versteh nicht warum man mir nicht einfach mit PFAD/DATEI mal die Syntax angeben kann, so läuft das doch bei allen anderen Programmiersprachen auch.

localghost
28-04-2008, 17:57
Kaum zu glauben, das Du mit anderen Programmiersprachen zurecht kommst und mit LaTeX nicht. Dann müssen wir das eben zu Fuß machen.

Alles was nach einem "%" im Quelltext kommt, ist ein Kommentar. Der Befehl \rule{12.8cm}{7.2cm} ist der eigentliche Platzhalter (weitere Erklärungen spare ich mir jetzt). An dessen Stelle setzt Du deine Grafiken. Da ich deine Grafikdateien aber nicht habe, muss ich mir was ausdenken, um lauffähigen Quelltext zu erstellen, der auch für andere verwendbar wäre. Das ist der Grundgedanke für ein Minimalbeispiel (http://www.minimalbeispiel.de).

\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{centering,bindingoffset=1cm,includehea dfoot,margin=2cm]{geometry}
\usepackage{graphicx}
\usepackage{blindtext}

\setlength{\parindent}{0pt}

\begin{document}
\begin{minipage}{\linewidth}
\centering
\includegraphics[scale=0.5]{D:/Pfad/2.thirdmonth/2RefTime1}
\captionof{figure}{2RefTime1}\label{fig:2RefTime1}
\end{minipage}

\blindtext

\begin{minipage}{\linewidth}
\centering
\includegraphics[scale=0.5]{D:/Pfad/2.thirdmonth/2RefTime2}
\captionof{figure}{2RefTime2}\label{fig:2RefTime2}
\end{minipage}
\end{document}
Vielleicht solltest Du sich doch mal intensiver mit deiner 200-seitigen Einführung und den schon genannten anderen Dokumenten beschäftigen. Da steht nämlich alles drin. Andere Programmiersprachen erlernt man ja auch nicht von heute auf morgen.