Importierte Grafiken auf einen Pfad zuschneiden

Tabellen und Grafiken erstellen und anordnen


Matthias

Importierte Grafiken auf einen Pfad zuschneiden

Beitrag von Matthias »

Hallo,

gibt es eine direkte Möglichkeit, Bildbereiche einer in ein LaTeX-Dokument importierten Grafik auszublenden, also die Grafik auf eine vorgegebene Konturform zuzuschneiden?

Konkret: Ein Pdf soll, mit einem dreieckigen Pfad freigestellt, auf der Seite positioniert werden.

Mein Ziel: Ich erstelle einen Flyer, der diagonal gefalzt und geheftet wird. an der Falzkante stoßen jeweils zwei unterschiedliche Seiten zusammen und ergeben dann zusammen das Gesamtbild. Die Seiten-Inhalte werden vorab als Pdf-Dateien zur Verfügung gestellt. Ich möchte also diese Pdf-Grafiken jeweils diagonal halbiert zugeschnitten auf den Seiten positionieren.

Ich kann die Dateien vorab sicher schon z.B. im InDesign zuschneiden und dann so als Pdf bereitstellen. Ich möchte das ganze aber idealerweise ausschließlich als LaTeX-Vorlagen-Template erstellen und nutzen, ohne noch auf InDesign & Co. angewiesen zu sein (u.a., um es auch mit Linux verwenden zu können).

Viele Grüße und Danke

Matthias

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

Beitrag von KOMA »

Man kann nur einen rechteckigen Clipping-Bereich angeben (siehe grfguide, Option viewpoint, clip etc.). Mir ist aber ohnehin nicht klar, wie Du in LaTeX überhaupt eine dreieckige Seite definieren willst. TeX kann nämlich selbst auch nur mit rechteckigen Seiten umgehen. Also müsste man das ohnehin dadurch faken, dass man zwei dreieckige Seiten auf eine rechteckige Seite packt. Damit darf dann aber eigentlich das rechteckige PDF wieder komplett auf die Seite.

Auch PDFs selbst sind immer rechteckig. Es kann allenfalls sein, dass darauf nur eine dreieckige Fläche belegt ist. Die Media-Box bleibt aber rechteckig.

Du siehst, ich habe ein Verständnisproblem mit Deiner Frage. Deshalb kann ich als einzige Alternative noch nennen, ein rechteckiges PDF mit einer tikz-Abbildung eines weiß gefüllten Dreiecks zu überlagern. Das kann man auf verschiedene Art erreichen. Die schnellste Lösung dürfte sein, wenn man zumindest das PDF, ggf. auch beides per eso-pic in den Hintergrund der Seite schiebt.

Matthias
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 14. Mär 2009, 09:25
Wohnort: Halle (Saale)

Beitrag von Matthias »

Herzlichen Dank für die schnelle Antwort! Genau das soll auf den resultierenden Pdf-Seiten passieren: Aus jeweils zwei einzelnen, diagonal zugeschnittenen Halbseiten, werden wieder komplette Seiten als Druckvorlagen erstellt, die aber nur dem Format nach wieder komplett sind; die Halbseiten ergänzen sich erst nach dem Zusammenheften inhaltlich wieder korrekt (Der Falz des Flyers geht, wie gesagt, diagonal durch die Seite).

Das ist eine Flyer-Konstruktion, die ich vor einiger Zeit mal für die Kurz-Präsentation von Themen, Projekten und Produkten entwickelt habe. Ein vorgefertigtes LaTeX-Template soll mir die Verwendung und das Austauschen der jeweiligen Inhaltsseiten vereinfachen.

Ich dachte, das ist ein eher verbreitetes Problem, dass eine Grafik nach definierten Umrissen beschnitten werden soll (bspw. ein Kreis-Ausschnitt) und es gibt dafür auch eine übliche Lösung in TeX/LaTeX. Die Alternative mittels tikz-Paketes durch Verdecken mit einem weißen Dreieck funktioniert ja leider nur für die eine, die hintere Hälfte der Grafik.

Viele Grüße

Matthias

Matthias
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 14. Mär 2009, 09:25
Wohnort: Halle (Saale)

Beitrag von Matthias »

Eine für's erste funktionierende Lösung habe ich gefunden: Ich füge die Grafiken jeweils um 45° gedreht in ein LaTeX-Dokument ein, das der Größe der gedrehten Grafik entspricht und erstelle daraus für jede Grafik ein „Übergabe-Pdf“. Dieses importiere ich wiederum in das finale Druckbogen-Format und drehe es, um die Hälfte beschnitten, um 45° zurück. So erhalte ich meinen diagonalen Zuschnitt.

Diese Lösung ist aber noch alles andere als optimal.

Matthias
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 14. Mär 2009, 09:25
Wohnort: Halle (Saale)

Beitrag von Matthias »

Lösung gefunden! Manchmal liegt die Lösung so nah, dass man sie nicht sieht. Es geht tatsächlich mit dem TikZ-Paket auch, importierte Grafiken auf einen beliebigen Pfad zuzuschneiden: mit dem Befehl \clip. Die Beschneidungs-Pfade für meine zwei mittig auf der A4-Seite positionierten Bildhälften erzeuge ich jetzt so:

Code: Alles auswählen

\documentclass[a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{graphicx}
\usepackage[absolute]{textpos}
\usepackage{tikz}

\setlength{\parindent}{0pt}

\begin{document}

%erste Bild-Hälfte
\begin{textblock*}{100mm}(55mm,98.5mm)
\begin{tikzpicture} 
\clip (10cm,10cm) -- (0cm,10cm) -- (0cm,0cm);
\includegraphics{testformat01.png}; 
\end{tikzpicture}
\end{textblock*}

%zweite Bild-Hälfte
\begin{textblock*}{100mm}(55mm,98.5mm)
\begin{tikzpicture} 
\clip (10cm,10cm) -- (10cm,0cm) -- (0cm,0cm);
\includegraphics{testformat02.png};
\end{tikzpicture}
\end{textblock*} 

\end{document}
Das absolute Positionieren auf der Seite könnte man auch gleich noch mit TikZ innerhalb eines Nodes erledigen, das muss ich mir aber erst noch anlesen.

Ich bin begeistert.

Matthias
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 14. Mär 2009, 09:25
Wohnort: Halle (Saale)

Beitrag von Matthias »

Der Vollständigkeit halber hier noch per Minimalbeispiel meine aktuelle Lösung zum diagonalen Zuschneiden und absoluten Positionieren zwei importierter Grafiken auf einer A4-Seite mit Hilfe des TikZ-Paketes:

Code: Alles auswählen

\documentclass[a4paper]{scrartcl} 
\usepackage[ngerman]{babel} 
\usepackage{graphicx}
\usepackage{tikz} 

\setlength{\parindent}{0pt}

\begin{document} 
\begin{tikzpicture}[remember picture, overlay]

% erste Bildhälfte
\begin{scope}
\clip (current page.center) +(5,5) -- +(-5,5) -- +(-5,-5) -- cycle;
\node [inner sep=0pt] at (current page.center) {\includegraphics{testformat01.pdf}};
\end{scope}

% zweite Bildhälfte
\begin{scope}
\clip (current page.center) +(5,5) -- +(5,-5) -- +(-5,-5) -- cycle; 
\node [inner sep=0pt] at (current page.center) {\includegraphics{testformat02.pdf}};
\end{scope}

\end{tikzpicture}
\end{document}
Der Pfad für das Clipping kann frei definiert werden, wie eine normale geometrische Figur, also auch z.B. per „circle“, „rectangle“ usw. Die Standard-Einheit für die Werte ist Zentimeter. Das Plus vor den geklammerten Werten kennzeichnet diese als Vektoren vom ursprünglichen Ausgangspunkt, hier also von der Seitenmitte. Mit Hilfe des speziellen Page-Nodes können absolute Positonen auf der Seite referenziert werden wie „north“, „south east“, „center“ usw. Gibt es mehrere Clipping-Bereiche innerhalb eines TikZ-Bildes, müssen diese jeweils einzeln in eine \scope-Umgebung gesetzt werden.

Die Verwendung des TikZ-Paketes ist hervorragend beschrieben im pgfmanual.

Antworten