TeX4ht 和 Calibre

TeX4ht 和 Calibre

我尝试使用 TeX4ht 和 Calibre 创建一本可以用 iPad 阅读的电子书。我使用以下命令:htlatex file.tex "xhtml, jsmath""-cmozhtf"。除了一些数学公式外,Calibre 的结果是正确的。

例如方程:$ x ^ 2 - 6x +6 = 0$,我们得到:{x} ^ {2} - 6x + 6 = 0

至:\ [B (x) =-x ^ 2 + 60x-500, \ quad \ textrm {where $ x $ belongs to the interval $ \ left [0 \, 60 \ right] $.} \]我们得到:B (x) = - {x} ^ {2} + 60x - 500, \ quad \ textrm {where $ x $ belongs to the interval $ \ left [0 \ kern 1.81503pt, 60 \ right] $ .}

对于:$ T_1 $,我们获得:{T} _ {1}


第一个问题

为什么在此代码中,公式框架中的美元没有转化为图像(并且记录是最好的!)?

\documentclass[a4paper,11pt]{article} 

\usepackage[utf8]{inputenc} 
\usepackage{amsmath,amsfonts} 

\begin{document} 

\section*{Sample French Text}

Lucie, étudiante des États-Unis, vient d'arriver à Charles de
Gaulle, l'aéroport qui accueille chaque jour à Paris, 1 million de
visiteurs. Paris. Enfin. Ça a toujours été le rêve de Lucie : vivre
dans la Ville lumière, la ville des beaux arts, du quartier latin, du
vin, et qui sait, peut-être la ville d'une petite histoire d'amour.

\section*{Math Part}
Numbered equation:
\begin{equation} 
P_{r-j}= 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} 
\end{equation} 
Un-numbered equation:
\begin{equation*} 
P_{r-j}= 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} 
\end{equation*} 
Inline equation: 
$ x ^ 2 - 6x +6 = 0$ and $B (x) =-x ^ 2 + 60x-500, \quad
\textrm{where $ x $ belongs to the interval $ [0 \, ; 60 ] $.}$ 

Eqnarray
\begin{eqnarray} 
P_{r-j}&=& 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} \\
P_{r-j}&=& 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} 
\end{eqnarray} 
Starred eqnarray
\begin{eqnarray*} 
P_{r-j}&=& 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} \\
P_{r-j}&=& 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} 
\end{eqnarray*} 

\end{document}

第二个问题:我按照链接中描述的方法操作,图片效果更好,但我认为太小了。如何调整图像大小?

第三个问题:我尝试将图像放入 svg 格式,但是不起作用:

   Erreur d'analyse XML : mal formé
   Emplacement : file:///home/fab/der1x.svg
   Numéro de ligne 1, Colonne 2 :
   %!PS-Adobe-3.0
   -^

以下是修改后的 tex4ht.env 内容和 myconfig.cfg 文件内容:

     <dvipng>
    G.png
    Gdvipng -T tight -x 1400 -D 72 -bg Transparent -pp %%2:%%2 %%1 -o %%3
    G.gif
    Gdvipng -T tight -x 1400 -D 72 -bg Transparent -gif -pp %%2:%%2 %%1 -o %%3
    G.
    Gdvips -Ppdf -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.ps
    Gconvert -crop 0x0 -density 110x110 -transparent '#FFFFFF' zz%%4.ps %%3
    Grm zz%%4.ps
    G.svg
    Gdvisvgm -n -p %%2 -c 1.2,1.2 -s %%1 > %%3
     </dvipng

    \Preamble{xhtml}
    \Configure{Picture}{.svg}
    \begin{document}
    \EndPreamble

第四个问题: 使用 MathJax 和 TeX4ht 在 iPad 打开的 test.html 中给出了非常好的结果,没有任何问题,但是如果你使用 Calibre 获取电子书,结果就很糟糕了!唯一的小问题是,在这个小脚本中,重音字符被问号替换了:

   #!/bin/bash

    if [ $1 ]
    then
    NAME=`echo $1 | sed 's/.tex//g'`
    htlatex $1 "ht5mjlatex.cfg" "-cmozhtf"
    iceweasel $NAME.html;
    exit
    fi

使用 TeX4ht 制作电子书会比较困难。我尝试安装 TeX4ebook,但出现安装问题:

  fab@debian:~$ texlua /home/fab/texmf/tex/latex/tex4ebook-master /tex4ebook.lua
  /home/fab/texmf/tex/latex/tex4ebook-master/tex4ebook.lua:113: invalid  escape sequence near '\$'

答案1

根据评论,一些方程式在转换后显示正确。这意味着,这些方程式通过tex4ht后期处理转换为图像。使其他方程式正确显示的一种方法是使它们也成为图像。一个包含可能类型的方程式和一些添加的文本的示例 TeX 文件:

\documentclass[a4paper,11pt]{article} 

\usepackage[utf8]{inputenc} 
\usepackage{amsmath,amsfonts} 

\begin{document} 
\Configure{$}{\PicMath}{\EndPicMath}{}%$
\def\,{\ }

\section*{Sample French Text}

Lucie, étudiante des États-Unis, vient d'arriver à Charles de
Gaulle, l'aéroport qui accueille chaque jour à Paris, 1 million de
visiteurs. Paris. Enfin. Ça a toujours été le rêve de Lucie : vivre
dans la Ville lumière, la ville des beaux arts, du quartier latin, du
vin, et qui sait, peut-être la ville d'une petite histoire d'amour.

\section*{Math Part}
Numbered equation:
\begin{equation} 
P_{r-j}= 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} 
\end{equation} 
Un-numbered equation:
\begin{equation*} 
P_{r-j}= 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} 
\end{equation*} 
Inline equation: 
\( x ^ 2 - 6x +6 = 0\) and $B (x) =-x ^ 2 + 60x-500, \quad
\textrm{where $ x $ belongs to the interval $ [0 \, 60 ] $.}$ 

Un-numbered displayed equation: 
\[
B (x) =-x ^ 2 + 60x-500, \quad \textrm{where $ x $ belongs to the interval $ \left [0 \, 60 \right] $.} 
\]
and
$$
B (x) =-x ^ 2 + 60x-500, \quad \textrm{where $ x $ belongs to the interval $ \left [0 \, 60 \right] $.} 
$$
Eqnarray
\begin{eqnarray} 
P_{r-j}&=& 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} \\
P_{r-j}&=& 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} 
\end{eqnarray} 
Starred eqnarray
\begin{eqnarray*} 
P_{r-j}&=& 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} \\
P_{r-j}&=& 
\begin{cases} 
0 & \text{si $r-j$ est impair,} \\ 
r! \, (-1)^{(r-j)/2} & \text{si $r-j$ est pair.} 
\end{cases} 
\end{eqnarray*} 

\end{document}

\begin{document}添加后\Configure{$}{\PicMath}{\EndPicMath}{}%$,所有内联方程式都会转换为图像。

您需要给出以下命令行来生成 html:

htlatex <filename> "xhtml" "-cmozhtf"

笔记:\usepackage[frenchb]{babel}我在示例 TeX 中删除并添加了一些法语文本。

免责声明:我还没有使用 Calibre 测试过转换。希望这个能有用。

相关内容