
ファイルが 1 つあり、 を介して印刷可能な PDF ファイルと を介してxelatex
HTML ページを交互に生成したいと考えています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バグ報告者が考えたように、私のシステムは誤って設定されているのでしょうか?? いいえ。おそらく、ある時点ではpstoedit
SVG変換はフリーソフトウェアだったのでしょうが、もうない。
SVG は のシェアウェア「プラグイン」でありpstoedit
、私の OS、FreeBSD 用のバイナリはありません。
どうすれば、SVG 数学、および実際の SVG で、コマンド間でマークされたその他のものをhtlatex
なしで取得できますかpstoedit
?
htlatex
は、まず などの EPS ファイルを生成することで内部的に機能することがわかりましたzztest.eps
。次に を試しますpstoedit -f svg zztest.eps test0x.svg
。そこで、別のコンバーターを試してみようと思いましたが、 や などの他のコンバーターはuniconvertor
LaTeXinkscape -z
のマジックを正しく認識せず、EPS を巨大なキャンバスに配置します (以下を参照)。また、毎回他のコンバーターを実行するのは面倒なので、使用するコンバーターを指定する方法が必要です。
htlatex
画像はSVG と同じように、default の出力のように見えるはずです。
答え1
もっと良いものに置き換えるべきです。実際には、直接doコンバーターが存在するため、に変換してから にpstoedit
変換するというプロセスは、今日ではまったく必要ありません。DVI
PostScript
SVG
DVI
SVG
ファイルでイメージ変換のコマンドを変更することもできますが、このプロセスはそれほど簡単ではありません。代わりに、ビルド ファイルのサポートを備えたの最新の代替であるtex4ht.env
を使用します。これらのビルド ファイルで、イメージ変換のカスタム コマンドを指定できます。make4ht
htlatex
次のコードを次のように保存します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 を使用する可能性があります。 このメソッドはmathml
portable に置き換えられHTML
、Javascript なしで表示できます。 を参照してください。MathjaxノードMake4ht の次のバージョンでは、このプロジェクト用のオプションが提供される予定です。