htlatex の SVG 数学/その他の記号: pstoedit 以外のものを使用する

htlatex の SVG 数学/その他の記号: pstoedit 以外のものを使用する

ファイルが 1 つあり、 を介して印刷可能な PDF ファイルと を介してxelatexHTML ページを交互に生成したいと考えていますhtlatex。 デフォルトでは、htlatexは非常に醜い低解像度の PNG 方程式を生成します。 代わりに SVG が必要です。

私はしますないMathJaX を使いたい。JavaScript なしでファイルを動作させたいし、ユーザーが毎回複雑な TeX をレンダリングしなくて済むようにしたい。

ネットのアドバイスに従って、これをc.cfg...に入れました。

\Preamble{ext=htm,charset="utf-8",p-width,pic-align}
  \Configure{Picture}{.svg}  
  \makeatletter
  \Configure{graphics*}
  {svg}
  {
    {\Configure{Needs}{File: \[email protected]}\Needs{}}
    \Picture[\csname a:GraphicsAlt\endcsname]{\csname Gin@base\endcsname.svg
            \csname a:Gin-dim\endcsname}
  }
  \begin{document}
\EndPreamble

htlatex...経由で実行しhtlatex myfile "c"、次の結果が得られました: pstoedit: Unsupported output format svg

うーん、ここで何が起こったのでしょうか?このDebianバグ報告者が考えたように、私のシステムは誤って設定されているのでしょうか?? いいえ。おそらく、ある時点ではpstoeditSVG変換はフリーソフトウェアだったのでしょうが、もうない

SVG は のシェアウェア「プラグイン」でありpstoedit、私の OS、FreeBSD 用のバイナリはありません。

どうすれば、SVG 数学、および実際の SVG で、コマンド間でマークされたその他のものをhtlatexなしで取得できますかpstoedit?

htlatexは、まず などの EPS ファイルを生成することで内部的に機能することがわかりましたzztest.eps。次に を試しますpstoedit -f svg zztest.eps test0x.svg。そこで、別のコンバーターを試してみようと思いましたが、 や などの他のコンバーターはuniconvertorLaTeXinkscape -zのマジックを正しく認識せず、EPS を巨大なキャンバスに配置します (以下を参照)。また、毎回他のコンバーターを実行するのは面倒なので、使用するコンバーターを指定する方法が必要です。

ここに画像の説明を入力してください

htlatex画像はSVG と同じように、default の出力のように見えるはずです。

ここに画像の説明を入力してください

答え1

もっと良いものに置き換えるべきです。実際には、直接doコンバーターが存在するため、に変換してから にpstoedit変換するというプロセスは、今日ではまったく必要ありません。DVIPostScriptSVGDVISVG

ファイルでイメージ変換のコマンドを変更することもできますが、このプロセスはそれほど簡単ではありません。代わりに、ビルド ファイルのサポートを備えたの最新の代替であるtex4ht.envを使用します。これらのビルド ファイルで、イメージ変換のカスタム コマンドを指定できます。make4hthtlatex

次のコードを次のように保存しますtest.mk4

Make:image("svg$","dvisvgm -n -p ${page} -c 1.4,1.4 -s ${source} > ${output}")

ビルド ファイルは Lua スクリプトで、Make:imageコマンドはイメージ変換用のコマンドを提供します。このコマンドには 2 つの引数があり、1 つ目は設定されたイメージ形式 (正規表現なので$末尾にあります)、2 つ目は変換コマンドのテンプレートです。重要なパラメーターは 3 つあり、${source}はファイル名DVI${page}は変換されたイメージのページ番号、${output}は生成されたイメージの名前です。

コマンドを使用してドキュメントをコンパイルできます

make4ht -c c.cfg test.tex

ビルド ファイルは、.mk4拡張子付きの入力 TeX ファイルとして名前が付けられている場合、自動的に使用されます。

mathml数式の品質に関する最後のコメント:画像には解像度以外にも問題があるため (アクセシビリティ、フォント サイズの不一致、ベースラインと一致しないなど)、format を使用するのが最善です。 の問題はmathmlブラウザー サポートが貧弱で、Firefox 以外では事実上存在しません。 Mathjax はすべてのブラウザーに優れたサポートを追加しますが、それが気に入らないのはよくわかります。 コンパイル時に Mathjax を使用する可能性があります。 このメソッドはmathmlportable に置き換えられHTML、Javascript なしで表示できます。 を参照してください。MathjaxノードMake4ht の次のバージョンでは、このプロジェクト用のオプションが提供される予定です。

関連情報