다음 형식의 명령을 사용하여 포함된 많은 그림이 포함된 긴 LaTeX 문서가 있습니다.
\includegraphics[page=10]{foo.pdf}
pdfLaTeX를 사용하면 모든 것이 잘 컴파일됩니다. TeX4ht를 사용하여 문서를 HTML로 변환하려고 했는데 TeX4ht page=
가 \includegraphics
.
쉬운 해결책이 있나요? 이상적으로는 기본 Latex 소스를 수정하지 않은 상태로 유지하고 서문만 조정하는 것을 선호합니다.
답변1
늦어서 죄송합니다. 다음 코드는 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}
이제 pdfLaTeX 및 TeX4ht에서 모두 작동합니다.
답변2
TeX4ht는 PDF 모드에서 pdfTeX를 사용하지 않고 대신 dvips를 사용합니다. 그러나 dvips
PDF 파일이나 다중 페이지 파일을 읽을 수 없습니다. epstopdf
다음을 사용하여 10페이지를 추출하고 EPS로 변환할 수 있습니다 xpdf
.
epstopdf -eps -f 10 -l 10 foo.pdf foo-10.eps
또는 ghostscript
다음과 같이 사용할 수 있습니다.
gs -dFirstPage=10 -dLastPage=10 -sDEVICE=epswrite -dBATCH -dNOPAUSE -sOutputFile=foo-10.eps foo.pdf
그런 다음 소스에서:
\ifpdf
\includegraphics[page=10]{foo.pdf}
\else
\includegraphics{foo-10.eps}
\fi
그리고 패키지는 ifpdf
서문에 필요합니다:
\usepackage{ifpdf}