我有一個很長的 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 文件,也不能讀取多頁文件。第 10 頁可以使用epstopdf
of提取並轉換為 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}