Eu tenho um longo documento LaTeX com muitas figuras que foram incluídas usando comandos do formulário
\includegraphics[page=10]{foo.pdf}
Tudo compila bem com o pdfLaTeX. Planejei converter o documento em HTML usando TeX4ht, mas parece que o TeX4ht não entende os page=
atributos em \includegraphics
.
Existem soluções fáceis? Idealmente, eu preferiria manter minha fonte principal de Latex inalterada e apenas ajustar o preâmbulo.
Responder1
Desculpe por estar atrasado. O código a seguir provavelmente ajudará o 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}
deve funcionar agora tanto com pdfLaTeX quanto com TeX4ht.
Responder2
TeX4ht não usa pdfTeX no modo PDF, mas sim dvips. No entanto, dvips
não é possível ler arquivos PDF nem arquivos de várias páginas. A página 10 pode ser extraída e convertida para eps epstopdf
com xpdf
:
epstopdf -eps -f 10 -l 10 foo.pdf foo-10.eps
Ou ghostscript
pode ser usado, por exemplo:
gs -dFirstPage=10 -dLastPage=10 -sDEVICE=epswrite -dBATCH -dNOPAUSE -sOutputFile=foo-10.eps foo.pdf
Então na fonte:
\ifpdf
\includegraphics[page=10]{foo.pdf}
\else
\includegraphics{foo-10.eps}
\fi
E o pacote ifpdf
é necessário no preâmbulo:
\usepackage{ifpdf}