Texto4ht: \includegraphics[página=10]{foo.pdf}

Texto4ht: \includegraphics[página=10]{foo.pdf}

Tengo un documento LaTeX largo con muchas figuras que se incluyeron usando comandos del formulario

\includegraphics[page=10]{foo.pdf}

Todo se compila bien con pdfLaTeX. Planeé convertir el documento a HTML usando TeX4ht, pero parece que TeX4ht no comprende los page=atributos en \includegraphics.

¿Hay alguna solución fácil? Idealmente, preferiría mantener mi fuente principal de Latex sin modificar y simplemente modificar el preámbulo.

Respuesta1

Perdón por llegar tarde. Es probable que el siguiente código ayude al Jukka:

\makeatletter

\@ifundefined{Configure}
 {\def\Includegraphics[#1]#2{\includegraphics[page={#1}]{#2}}}
 {\def\Includegraphics[#1]#2{\def\GPT@page{#1}\includegraphics{#2}}
  \Configure{graphics*}
   {pdf}
   {\Needs{"
    pdftops -eps -f \GPT@page\space -l \GPT@page\space \[email protected] \Gin@base-\[email protected]"
    ;
    convert \Gin@base-\[email protected] \Gin@base-\[email protected]
    "}%
    \Picture[pict]{\Gin@base-\[email protected]}%
   }%
  }%
\makeatother

\Includegraphics[10]{foo.pdf}debería funcionar ahora tanto con pdfLaTeX como con TeX4ht.

Respuesta2

TeX4ht no utiliza pdfTeX en modo PDF, sino dvips. Sin embargo, dvipsno puede leer archivos PDF ni archivos de varias páginas. La página 10 se puede extraer y convertir a eps epstopdfcon xpdf:

epstopdf -eps -f 10 -l 10 foo.pdf foo-10.eps

O ghostscriptse puede utilizar, por ejemplo:

gs -dFirstPage=10 -dLastPage=10 -sDEVICE=epswrite -dBATCH -dNOPAUSE -sOutputFile=foo-10.eps foo.pdf

Luego en la fuente:

\ifpdf
  \includegraphics[page=10]{foo.pdf}
\else
  \includegraphics{foo-10.eps}
\fi

Y ifpdfse necesita un paquete en el preámbulo:

\usepackage{ifpdf}

información relacionada