我尝试使用以下代码进行编译
mk4ht htlatex file.tex 'xhtml, charset = utf-8 pmathml' '-cunihtf-utf8-cvalidate'
公式和文字可以转录,但图形不能转录。如何解决这个问题?
\documentclass[a4paper,11pt]{article}
\usepackage{etex}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{mathtools,amsmath,amsfonts,amssymb,amsthm,mathrsfs,nccmath}
\usepackage{pstricks-add}
\usepackage[frenchb]{babel}
\begin{document}
\psset{xunit=4cm,yunit=2cm,algebraic=true,arrowscale=1.2}
\begin{pspicture}(-1.5,-3)(2.5,2.5)
\psgrid[gridwidth=0.6pt,subgriddiv=0,gridlabels=0,gridcolor=lightgray,
xunit=0.25,yunit=0.5](-6,-6)(10,5)
\psaxes[linewidth=1pt,Dx=1,Dy=1,labels=none,ticksize=-3pt
0pt]{->} (0,0)(-1.5,-3)(2.5,2.5)
\psxTick[ticksize=-3pt](1.25){\frac{5}{4}}
\psxTick[ticksize=-3pt](0.666666666666){\frac{2}{3}}
\begin{psclip}
{\psframe[linestyle=none](-1.5,-3)(2.5,2.5)}
{\psplot[linewidth=0.8pt,plotpoints=2000]{0}{1.25}{6*x-3}}%
{\psplot[linewidth=0.8pt,plotpoints=2000]{0}{1.25}{1-(2-3*x)^2}}%
\end{psclip}
\psline[linestyle=dashed,dash=3pt 2pt]
(0,1)(0.666666666666,1) (0.666666666666,0)
\uput[dl](0,0){O}
\uput[d](1,0){I}
\uput[l](0,1){J}
\uput[ur](1.25,-2){$\mathscr{C}_{f}$}
\uput[ur](0.75,1){$\mathscr{C}_{g}$}
\uput[d](2.42,0){$x$}
\uput[l](0,2.35){$y$}
\end{pspicture}
\end{document}
答案1
似乎用于tex4ht
将图片转换为图像格式的默认转换方法与 PSTricks 和 PostScript 特殊格式存在问题。默认结果:
转换是通过使用某些 dvi 处理器(例如dvipng
或 )处理 dvi 文件来完成的dvisvgm
。默认过程是调用dvips
,然后Ghostscript
将 postscript 文件转换为 png。幸运的是,我们可以使用make4ht
构建文件修改该过程。将以下内容保存为file.mk4
(它应该具有与您的 TeX 文件相同的基本名称):
if mode == "draft" then
Make:htlatex{}
else
Make:htlatex{}
Make:htlatex{}
Make:htlatex{}
end
Make:image("svg$",
"dvisvgm -n -o ${output} -p ${page} ${source}")
使用以下方式编译文档
make4ht -u file.tex "svg,pmathml"
(是的,它相当于你的mk4ht
调用)。该svg
选项要求用作svg
转换图片的图像格式,
Make:image("svg$",
"dvisvgm -n -o ${output} -p ${page} ${source}")
配置图像转换本身。
结果: