空のページスタイルでTeXファイルを作成する

空のページスタイルでTeXファイルを作成する

LaTeX ファイルから SVG 画像 (より正確には tikz 図) を生成するにはどうすればよいでしょうか。私は Windows で作業しています。

答え1

最も簡単な方法は、まずPDFまたは動画ただ上記の図/方程式と変換するそれをベクター形式に変換します。

小さいページサイズのPDFで問題ない場合は、*を使用できます。ゴーストスクリプト:

    gswin32c.exe -sDEVICE=pdfwrite -dMaxSubsetPct=100 -dPDFSETTINGS=/ebook -sOutputFile="outfile.pdf" -dNOPAUSE -dBATCH "infile.pdf"
where -dPDFSETTINGS is used to define how images are resampled. Using -dPDFSETTINGS=/screen will yield dpi=72. I just tried this with a sample pdf and it seems to work fine.

それ以外の場合は、以下に記載されているいずれかの方法を使用します。 https://stackoverflow.com/questions/10288065/convert-pdf-to-clean-svg

また、複数ページに対するこの回答: https://stackoverflow.com/a/4502030

このリソースも役立ちます: svgkit.sourceforge.net/SVGLaTeX.html

もちろん、いくつかの上記のコマンドは、MinGW 実装を使用しても問題なく動作します。または、ネイティブ Windows 実装をダウンロードする必要があります。そしてもちろん、実行可能ファイルのディレクトリを PATH 変数環境に追加します (コンピューターのプロパティの詳細設定で使用可能)。 インクスケープ用、このリンクを参照してください:http://kaioa.com/node/42#inkcl_bat_usage ここでは、バッチファイル (InkCL.bat) を inkscape ディレクトリに配置し、コマンドラインで inkscape と入力する代わりにそれを使用します。 inkcl

まとめると一般的にはたった3つのコマンドが必要です

  1. 空のページスタイルでTeXファイルを作成する

    言う、入力.tex:

    \documentclass{article}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{amsfonts}
    
    \thispagestyle{empty}
    \begin{document}
    \[
    2 \pi f t
    \]
    \end{document}
    
  2. 次に、次のいずれかの方法を使用します。

    • PDF を作成した後:

       pdflatex input.tex
      

      これでinput.pdfファイルが作成されます。どれでも以下の方法があります:

      • Inkscapeから:

         inkscape -l output.svg input.pdf
        
      • (同上):

        inkscape \
          --without-gui \
          --file=input.pdf \
          --export-plain-svg=output.svg
        
      • 複数ページの場合(独身でも)pdf2svg[cityinthesky.co.uk/opensource/pdf2svg/]。これは、poppler と Cairo を使用して PDF を SVG に変換します。これは、一括変換に特に便利です。

        pdf2svg <input.pdf> <output.svg> [<pdf page no. or "all" >]
        

        注意: すべてのページを指定する場合は、%d を含むファイル名を指定する必要があります (適切なページ番号に自動的に置き換えられます)。例:

        pdf2svg input.pdf output_page%d.svg all
        
    • DVIより、

      latex input.tex
      

      これにより、output.dviファイルが作成されます。

      • それから、

        dvisvgm --no-fonts input.dvi output.svg
        

        これLaTeXの数式を含むインスタンスに完璧に機能します(オプション --no-fonts を使用)

      • また、soandos の回答 (包括性のため含む):

        dvips -q -f -e 0 -E -D 10000 -x 10000 -o eqn.ps eqn.dvi
        

        dvips のマニュアル ページ (ma.utexas.edu/cgi-bin/man-cgi?dvips%201) から:

        • [-q] 静かなモードで実行します。
        • [-f] (フィルター) 標準入力から .dvi ファイルを読み取り、PostScript を標準出力に書き込みます。
        • [-D] 解像度を 10 から 10000 の間で設定します (文字の配置にも影響します)
        • [-E] を指定すると、dvips はタイトな境界ボックスを持つ EPSF ファイルの生成を試みます。
        • [-e num] 各文字は、その「真の」解像度に依存しない位置から最大でこのピクセル数だけ離して配置されます。
        • [-R] セキュアモードで実行します。
        • [-x] num dviファイルの内容に関係なく、拡大率をnum/1000に設定します(10〜100000の間)
        • [-y] num .dviファイルで指定された倍率のnum/1000倍に拡大率を設定します(10〜100000の範囲)
        • [-o]は出力ファイルをeqn.psとして指定します

        それから、

        pstoedit -f plot-svg -dt -ssp eqn.ps eqn.svg
        

        これにより、eqn.svgファイルが作成されます。

        • [-f]は形式をplot-svgとして指定します(直接svgは機能しません)
        • [-dt] テキストを描画 - テキストはポリゴンとして描画されます。
        • [-adt] 自動テキスト描画 - このオプションは、Symbol など、通常のテキスト フォントではないと思われるフォントに対して -dt オプションを選択的にオンにします。
        • [-ssp] バックエンドのサブパスをシミュレートします。サブパスを含む PostScript パス (つまり、中間の moveto を含むパス) はサポートされません。
        • [-usebbfrominput] 指定されている場合、pstoedit は、独自に計算された BoundingBox ではなく、入力ファイルで見つかった BoundingBox を使用します (plot-svg では違いがないようです)。
        • [ -noclip ] クリッピングを使用しない (バックエンドがクリッピングをサポートしている場合にのみ関連します)

        高品質のテキストからポリゴンへの変換を実現するには、dvips を高倍率で実行する必要がありました。そのため、結果の SVG を縮小する必要があります。

答え2

私が書いたばかりのツールをチェックしてみるといいかもしれません:tikz2svg

与えられたものin.tikz(または標準入力):

> cat in.tikz
\begin{tikzpicture}
  \fill[red!90!black]   ( 90:.6) circle (1);
  \fill[green!80!black] (210:.6) circle (1);
  \fill[blue!90!black] (330:.6) circle (1);
\end{tikzpicture}

出力は次のようになります:

> cat tikz2svg < in.tikz
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="93.472pt" height="86.205pt" viewBox="0 0 93.472 86.205" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(89.99939%,0%,0%);fill-opacity:1;" d="M 76.742188 30.347656 C 76.742188 14.691406 64.050781 2 48.394531 2 C 32.742188 2 20.050781 14.691406 20.050781 30.347656 C 20.050781 46.003906 32.742188 58.695312 48.394531 58.695312 C 64.050781 58.695312 76.742188 46.003906 76.742188 30.347656 Z "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,79.998779%,0%);fill-opacity:1;" d="M 62.011719 55.859375 C 62.011719 40.203125 49.324219 27.511719 33.667969 27.511719 C 18.011719 27.511719 5.320312 40.203125 5.320312 55.859375 C 5.320312 71.515625 18.011719 84.207031 33.667969 84.207031 C 49.324219 84.207031 62.011719 71.515625 62.011719 55.859375 Z "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,89.99939%);fill-opacity:1;" d="M 91.472656 55.859375 C 91.472656 40.203125 78.78125 27.511719 63.125 27.511719 C 47.46875 27.511719 34.777344 40.203125 34.777344 55.859375 C 34.777344 71.515625 47.46875 84.207031 63.125 84.207031 C 78.78125 84.207031 91.472656 71.515625 91.472656 55.859375 Z "/>
</g>
</svg>

見るhttp://juan.benet.ai/note/2014-03-09/tikz2svg/

答え3

試すこれPython CGI スクリプト。

答え4

@Rohan が言及したプロセスをお勧めします。まず、次のように dosbatchfile「miktex_path.bat」を作成します。

@echo off
path=C:\Program Files\MiKTeX 2.9\miktex\bin\x64;%path%;
cmd
@echo on

次に、TexmakerやNotepad2などのお気に入りのエディタで、数式を含む.texファイルを編集します。Sample.texとして保存します。バッチをダブルクリックして、コンソールで

次のようにします。

latex Sample.tex
dvisvgm --no-fonts Sample.dvi Sample.svg

仕事は終わりました。

以下に、1 ページに含まれるいくつかの方程式のコレクションを示します。

\documentclass[16pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\usepackage[spanish]{babel}

\usepackage{color}
\usepackage[T1]{fontenc}

\begin{document}

\[\psi (t)=\hat{\psi}e^{i(\omega t\, \pm\, \theta)}\sum_i \hat{\psi_i} cos(\alpha_i \pm             \omega t)\]

\[\sum_i \hat{\psi_i} cos(\alpha_i \pm \omega t)\]
\[\sqrt[{\Delta+n}] {\hat {\mu}}\]
\[\Omega t\]
\[\omega Q_{1}\]
\[\frac{\delta (x^2)}{\delta x}\]
\[\frac{\delta}{\delta x} (x^2)\]
\[\int \hat{i}(x^2+3xi)dx\]

\begin{huge}
\[\psi (t)=\hat{\psi}e^{i(\omega t\, \pm\, \theta)}\sum_i \hat{\psi_i} cos(\alpha_i \pm     \omega t)\]

\[\sum_i \hat{\psi_i} cos(\alpha_i \pm \omega t)\]
\[\sqrt[{\Delta+n}] {\hat {\mu}}\]
\[\Omega t\]
\[\omega Q_{1}\]
\[\frac{\delta (x^2)}{\delta x}\]
\[\frac{\delta}{\delta x} (x^2)\]
\[\int \hat{i}(x^2+3xi)dx\]
\end{huge}

\end{document}

関連情報