Determinar automáticamente el número de páginas con figuras.

Determinar automáticamente el número de páginas con figuras.

Me gustaría obtener una lista de todas las páginas de mi documento que contienen cifras. Específicamente, los números de página del archivo PDF creado a partir de mi documento LaTeX. Esto me permitiría imprimir solo esas páginas en color y mantener el resto en blanco y negro, ahorrando así costos de impresión. Desafortunadamente, la impresora en sí solo permite seleccionar color o B/N para un trabajo de impresión completo, por lo que necesito separar los rangos de páginas manualmente (algunos modelos pueden decidir página por página, pero este no).

Estoy usando TeX Live en Linux (basado en Debian).

¿Hay alguna manera de determinar esto automáticamente usando alguna herramienta u opción?

Respuesta1

Los ejemplos se copian de la respuesta de egreg, pero esta vez con \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}

Respuesta2

He aquí una forma quizás demasiado simplista

\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}

El contenido del .lisarchivo que se crea es

2
3
4

información relacionada