私は、次のようなコマンドを使用して作成された、多くの図を含む長いLaTeX文書を持っています。
\includegraphics[page=10]{foo.pdf}
page=
pdfLaTeX ではすべて正常にコンパイルされます。TeX4ht を使用してドキュメントを HTML に変換する予定でしたが、TeX4ht はの属性を理解していないようです\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 を使用します。ただし、 PDF ファイルも複数ページのファイルも読み取ることはできません。ページ 10 は、次のようdvips
にして抽出し、eps に変換できます。epstopdf
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}