
Ich verwende das preview
Paket, um einige Bilder aus der equation
Umgebung zu generieren. Ich brauche die Breite und Höhe jedes Bildes. Ich vermute, das preview
Paket macht schwarze Magie und irgendwann müssen diese Werte bekannt sein (?). Ist es möglich, sie sequenziell in einer Textdatei zu speichern?
\documentclass{article}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{equation}
\begin{document}
\begin{equation}
x^2 = 2
\end{equation}
\begin{equation}
\int_0^x \sin t\, dt = 0
\end{equation}
\end{document}
Antwort1
Beim Durchforsten des preview.sty
dokumentierten Codes habe ich herausgefunden, dass das Hinzufügen von Material zum \pr@ship@end
Hook die Lösung ist (was ich will, ist fast dasselbe wie die auctex
Option). Die Abmessungen, nach denen ich gesucht habe, sind die von \pr@box
.
Da ich die Maße in Zentimetern brauche, habe ich ein Konvertierungsmakro verwendet, das angegeben istin einer anderen Antwort.
\documentclass{article}
\usepackage{amsmath}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{equation*}
\makeatletter
% Conversion utility (https://tex.stackexchange.com/a/37317/8425)
\begingroup
\catcode `P=12 % digits and punct. catcode
\catcode `T=12 % digits and punct. catcode
\lowercase{%
\def\x{\def\rem@pt##1.##2PT{##1\ifnum##2>\z@.##2\fi}}}
\expandafter\endgroup\x%
\def\strip@pt{\expandafter\rem@pt\the}
\def\convertto#1#2{\strip@pt\dimexpr #2*65536/\number\dimexpr 1#1\relax\relax}
% Answer to the question
\newwrite\file
\immediate\openout\file=snippet-list.txt
\g@addto@macro\pr@ship@end{%
\immediate\write\file{%
\convertto{cm}{\the\dimexpr\ht\pr@box+\dp\pr@box\relax}
\convertto{cm}{\the\wd\pr@box}}}
\begin{document}
Test
\begin{equation*}
x^2 = 2
\end{equation*}
Test
\begin{equation*}
\int x^2\, dx = \frac{x^3}{2}
\end{equation*}
\closeout\file
\end{document}
Ich bekomme ein snippet-list.txt
mit
0.42175 12.12537
0.86165 12.12537