我正在尝试.tex
使用以下方法将下面列出的文件转换为 htmltex4ht
\documentclass[12pt,a4paper]{book}
\usepackage[francais]{babel}
\usepackage[latin1]{inputenc}
\usepackage{lmodern}
\ifdefined\HCode
\def\pgfsysdriver{pgfsys-dvisvgm4ht.def}
\fi
\newcommand\inputpstex[1]{\input{#1.pstex_t}}
\usepackage{tikz}
\title{Test}
\author{S.~Oulhoussine}
\begin{document}
\chapter{Test}
\section{Test}
\begin{figure}
% Requires \usepackage{graphicx}
\begin{tikzpicture}[xscale=8]
\draw[-][draw=red, very thick] (0,0) -- (.5,0);
\draw[-][draw=green, very thick] (.5,0) -- (1,0);
\draw [thick] (0,-.1) node[below]{0} -- (0,0.1);
\draw [thick] (0.5,-.1) node[below]{$a=b=1/2$} -- (0.5,0.1);
\draw [thick] (1,-.1) node[below]{1} -- (1,0.1);
\end{tikzpicture}
\caption{Test}\label{t}
\end{figure}
Autre
\begin{figure}[h]
\centering
\inputpstex{tunnel}
\caption{Circuit à diode tunnel.} \label{f:tunnel}
\end{figure}
\end{document}
以下是.ps
和.pstex_t
文件
隧道.ps
隧道.pstex_t
我使用这个命令
make4ht -c my.cfg test.tex
有了这个配置文件my.cfg
\Preamble{xhtml,mathml,mathjax}
\Configure{@HEAD}{\HCode{<style type="text/css">\Hnewline
.MathJax_MathML {text-indent: 0;}\Hnewline
</style>\Hnewline}}
\let\originputpstex\inputpstex
\renewcommand\inputpstex[1]{\Picture+{}\originputpstex{#1}\EndPicture}
\tikzset{every node/.style={/pgf/tex4ht node/escape=true}}
\begin{document}
\EndPreamble
如您所见,.ps
图像.pstex_t
没有出现。删除.tex
文件中的图像转换器行时
\ifdefined\HCode
\def\pgfsysdriver{pgfsys-dvisvgm4ht.def}
\fi
我获得了 .pstex_t 文件的图像和 tikz 图片的图像。但是,一些数学符号在 tikz 图片中以错误的方式出现。我需要帮助来解决这个问题。
答案1
TikZ 驱动程序pgfsys-dvisvgm4ht.def
需要 SVG 输出选项,因为它依赖于dvisvgm
。您也不需要文件\tikzset{every node/.style={/pgf/tex4ht node/escape=true}}
中的行.cfg
。您不使用使用此设置的 TikZ 驱动程序。因此您的.cfg
文件可能看起来像这样:
\Preamble{xhtml,mathml,mathjax,svg}
\Configure{@HEAD}{\HCode{<style type="text/css">\Hnewline
.MathJax_MathML {text-indent: 0;}\Hnewline
</style>\Hnewline}}
\let\originputpstex\inputpstex
\makeatletter
\renewcommand\inputpstex[1]{ \Picture+{}\originputpstex{#1}\EndPicture}
\makeatother
%\tikzset{every node/.style={/pgf/tex4ht node/escape=true}}
\begin{document}
\EndPreamble
那么你的 PS 文件就存在问题。当我 make4ht
在调试模式下使用以下命令运行时:
make4ht -a debug -c mycfg.cfg test.tex
我可以在终端输出中看到以下错误:
processing page 2
PostScript error: undefined in run
Operand stack:
--nostringval--
这意味着你的pstex_t
文件无法使用 进行转换dvisvgm
。它可以使用 进行转换dvipng
,但你的 TikZ 图像将无法工作。
dvisvgm
似乎可以与我尝试过的其他示例 PS 文件配合使用,但无法与你的文件配合使用。因此,我尝试修复 PS 文件本身,我使用以下脚本成功使其正常工作:
#!/bin/sh
ps2eps -f $1
epstopdf ${1%.ps}.eps
pdftops ${1%.ps}.pdf
基本上,需要先将 PS 文件转换为 EPS,然后将 EPS 转换为 PDF,然后再转换为 PS。使用修复后的 PS 文件,我得到了正确的结果: