Koordinaten von Wort/Absatz im PS-Dokument bestimmen

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


FiboFreak
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Mi 30. Sep 2009, 00:42
Wohnort: Bielefeld

Koordinaten von Wort/Absatz im PS-Dokument bestimmen

Beitrag von FiboFreak »

Ich möchte aus einem Stück LaTeX-Text eine EPS-Grafik machen (was soweit kein Problem darstellt) und dann wissen, an welchen Koordinaten/Pixeln sich ein bestimmtes Wort befindet. D.h. ich habe z.B. ein Textstück
Dies ist ein \rememberposition{Absatz}.

$a+b=c$

Dies ist kein Wort.
und möchte, daß mir LaTeX die ungefähre Position, an die er das Wort "Absatz" geschrieben hat, in eine Datei schreibt, damit ich dieses Wort später in der EPS-Datei finden kann.

Geht das und wenn ja, wie ungefähr?

Danke!

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

Beitrag von KOMA »

Ein LaTeX-Dokument ist keine Pixelgrafik, sondern ggf. eine Vektorgrafik. Also kann man darin auch keine Pixel zählen, denn die Anzahl der Pixel ist erst dem PS-Interpreter bei der Umwandlung in Pixel für ein bestimmtes Ausgabegerät, das Pixel verlangt, bekannt. Verlangt das Ausgabegerät keine Pixel, dann gibt es auch dann noch keine Pixel.

FiboFreak
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Mi 30. Sep 2009, 00:42
Wohnort: Bielefeld

Beitrag von FiboFreak »

Ich glaube, Du hast die Frage falsch verstanden. Auch Objekte in einer Vektorgrafik haben eine "Position", d.h. man kann in Koordinaten, Zentimetern etc. angeben, wo sie sich befinden. Danach war gesucht (vielleicht etwas mißverständlich ausgedrückt).

Ich denke allerdings, daß sich dieses Problem in PDF-LaTeX lösen läßt, wie ich kürzlich herausgefunden habe.

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

Beitrag von KOMA »

Kann gut sein, dass ich das nicht richtig verstanden habe. In Deinem ersten Beitrag stand nämlich "Koordinaten/Pixel", was ich mathematisch korrekt als "Koordinaten in Pixel" lese. Außerdem hattest Du von PS- oder EPS-Ausgabe geschrieben. Jetzt schreibst Du etwas von PDF. Es wundert mich daher wenig, wenn ich Dich absolut nicht verstehe.

FiboFreak
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Mi 30. Sep 2009, 00:42
Wohnort: Bielefeld

Beitrag von FiboFreak »

Koordinaten/Pixel sollte "Koordinaten oder Pixel" bedeuten.

Desweiteren wollte ich Dir gar nicht irgendwas vorwerfen, sondern nur darauf hinweisen, daß meine Frage anders gemeint war.

Und noch einmal kurz zu dem eigentlich Problem: Wenn ich mit PDF-LaTeX den gleichen Absatz kompiliere, den ich in EPS gewandelt habe, dann kann mir PDF-LaTeX etwas über die relative Position eines Wortes zu dem Absatzanfang sagen. Damit sollte ich hoffentlich in der EPS-Datei arbeiten können (Einfachere Lösungen sind wie immer gewünscht).

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Beitrag von phi »

Hier ein Beispiel mit zref, ich weiß nicht genau, ob das das ist, was du willst:
\documentclass{article}

\usepackage[savepos, user]{zref}

\newcommand*{\rememberposition}[1]{%
  \zsavepos{#1}%
  #1%
}

\newcommand*{\printposition}[1]{%
  \ensuremath{x = \the\dimexpr\zposx{#1}sp, y = \the\dimexpr\zposy{#1}sp}%
  \zrefused{#1}%
}

\begin{document}

Dies ist ein \rememberposition{Absatz}.

$a+b=c$

Dies ist kein Wort.

\printposition{Absatz}

\end{document}

FiboFreak
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Mi 30. Sep 2009, 00:42
Wohnort: Bielefeld

Beitrag von FiboFreak »

Ja, danke, so möchte ich das.

Ich wollte etwas mit \pdfsavepos konstruieren; zref benutzt wohl auch \pdfsavepos, wie ich gerade gelesen habe, aber ist natürlich komfortabler.

Antworten