eps drehen - Seitenlayout ändert!

Tabellen und Grafiken erstellen und anordnen


uvbkq

eps drehen - Seitenlayout ändert!

Beitrag von uvbkq »

Hallo,
ich habe folgendes Problem:

- Grafik in MATLAB als .eps Datei gespeichert,
- dann weisser Hintergrund in Illustrator entfernt
- in LaTeX soll die Grafik mittels [angle=90] hochkant und mit
\begin{figure} auf eine neue Seite abgebildet werden

PROBLEM:
statt nur die Grafik hochkant darzustellen wird das Seitenlayout
von Portrait auf Landscape umgesellt, d.h. die Grafik ist wohl gedreht,
die Seite wird jedoch mitgedreht (unerwünscht!)

Wird die Grafik hingegen lediglich in Illustrator erstellt, so tritt das Problem nicht auf. Dann wird lediglich de Grafik gedreht ohne dass die Seitenorientierung ändert.

Code:
[code]
\begin{figure}
\centering
\includegraphics[angle=90]{bild.eps}
\caption{Dies ist ein Bild}
\end{figure}
[/code]

Weiss einer Rat?
Danke!

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Dann ist die angebliche EPS-Datei eventuell keine echte EPS-Datei, sondern in Wirklichkeit eine PS-Datei. In EPS-Dateien dürfen keine Anweisungen enthalten sein, um die gesamte Seite zu drehen (nur die Grafik selbst). Die Frage wäre dann noch, ob das Problem nur im PS-Viewer passiert oder auch beim Ausdruck. Entscheidend könnte hier neben dem tatsächlichen PS-Code auch sein, was an Page-Kommentaren in der Datei enthalten ist. In Frage kommen Kommentare wie »%% PageBoundingBox«, »%% PageOrientation« etc. und ob diese in »%% BeginPageSetup« … »%% EndPageSetup« oder außerhalb davon stehen.

Falls ghostscript im Spiel ist, sei außerdem darauf hingewiesen, dass es da mal einen Bug bei der Verarbeitung obiger DSC-Kommentare gab.

Mehr kann man in Ermangelung der entscheidenden Daten schwerlich zu dem Problem sagen.

uvbkq

Beitrag von uvbkq »

Danke erstmal für die nützlichen Infos.

Das Problem tritt nur im PDF auf, in der PS Datei erfolgt lediglich eine Drehung der Grafik. Als Postprocessor kommt in der Tat Ghostscript 9.0 zum Einsatz:

-sPAPERSIZE=a4 -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile="%bm.pdf" -c save pop -f "%bm.ps"

Die angegebenen Page-Kommentare sind nicht in der Datei enthalten, weder in der fraglichen Datei noch in der Kontroll-Datei bei der die Drehung erfolgreich ist.

uvbkq

Beitrag von uvbkq »

LÖSUNG

Die Commands an Ghostscript müssen um

-dAutoRotatePages=/None

erweitert werden da Ghostscript ansonsten für jede Seite die dominante Ausrichtung bestimmt und die Seite entsprechend dreht:

"By default Ghostscript determines viewing page orientation based on the dominant text orientation on the page. Sometimes, when the page has text in several orientations or has no text at all, wrong orientation can be selected."

Dankeschön an KOMA!

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Wenn Du ohnehin ein PDF willst, könntest Du auch gleich pdflatex verwenden. Dann sparst Du Dir auch Illustrator. Einfach mit epstopdf die EPS-Dateien in PDFs umwandeln und diese mit pdfcrop beschneiden. Das kann man leicht in einem Batch (ich vermute, Du verwendet Windows) erledigen.

BTW: Kann Matlab tatsächlich nur ganze Seiten und nicht nur einzelne Objekte als EPS exportieren? Kann es nicht auch gleich vernünftiges PDF?

Antworten