
Ich möchte eine Liste aller Seiten in meinem Dokument erhalten, die Abbildungen enthalten. Insbesondere die Seitenzahlen in der PDF-Datei, die aus meinem LaTeX-Dokument erstellt wird. Dadurch könnte ich nur diese Seiten in Farbe drucken und den Rest in Schwarzweiß belassen, was Druckkosten spart. Leider erlaubt der Drucker selbst nur die Auswahl von Farbe oder Schwarzweiß für einen gesamten Druckauftrag, sodass ich die Seitenbereiche manuell trennen muss (einige Modelle können seitenweise entscheiden, dieses jedoch nicht).
Ich verwende TeX Live unter Linux (Debian-basiert).
Gibt es eine Möglichkeit, dies mithilfe eines Tools oder von Optionen automatisch zu ermitteln?
Antwort1
Beispiele aus der Antwort von egreg kopiert, diesmal jedoch mit \makeindex
.
\documentclass{article}
\usepackage{graphicx}
\usepackage{makeidx}
\makeindex
\let\oldincludegraphics\includegraphics
\renewcommand\includegraphics{\index{~@Pages containing figures}\oldincludegraphics}
\newwrite\listofgraphics
\begin{document}
A page without graphics
\clearpage
A page with graphics\\
\includegraphics{example-image}
\clearpage
A float
\begin{figure}[htp]
\includegraphics{example-image}
\end{figure}
and a delayed float
\begin{figure}[p]
\includegraphics{example-image}
\end{figure}
\clearpage
A page without graphics
\clearpage
Again page with graphics\\
\includegraphics{example-image}
\clearpage
\printindex
\end{document}
Antwort2
Hier ist eine vielleicht zu vereinfachte Möglichkeit
\documentclass{article}
\usepackage{graphicx}
\let\ORIincludegraphics\includegraphics
\renewcommand{\includegraphics}{%
\write\listofgraphics{\thepage}%
\ORIincludegraphics
}
\newwrite\listofgraphics
\AtBeginDocument{\immediate\openout\listofgraphics=\jobname.lis }
\AtEndDocument{\closeout\listofgraphics}
\begin{document}
A page without graphics
\clearpage
A page with graphics
\includegraphics{example-image}
\clearpage
A float
\begin{figure}[htp]
\includegraphics{example-image}
\end{figure}
and a delayed float
\begin{figure}[p]
\includegraphics{example-image}
\end{figure}
\clearpage
A page without graphics
\clearpage
\end{document}
Der Inhalt der .lis
erstellten Datei ist
2
3
4