Erstellen Sie eine TeX-Datei mit einem leeren Seitenstil

Erstellen Sie eine TeX-Datei mit einem leeren Seitenstil

Wie kann ich aus einer LaTeX-Datei ein SVG-Bild erzeugen – genauer gesagt ein Tikz-Diagramm? Ich arbeite unter Windows.

Antwort1

Der einfachste Weg hierfür wäre, zunächst einePDFoderDVI mitNurdas besagte Diagramm/die besagte Gleichung unddann konvertierenes in ein Vektorformat.

Wenn kleine PDF-Seiten für Sie gut funktionieren, können Sie * verwendenGhostscript:

    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.

Andernfalls verwenden Sie eine der unter folgendem Link beschriebenen Methoden: https://stackoverflow.com/questions/10288065/convert-pdf-to-clean-svg

Außerdem diese Antwort für mehrere Seiten: https://stackoverflow.com/a/4502030

Diese Ressource ist auch nützlich: svgkit.sourceforge.net/SVGLaTeX.html

Natürlich,mancheder genannten Befehle funktionieren problemlos mit MinGW-Implementierungen oder verfügen über native Windows-Implementierungen, die Sie herunterladen müssen. Und natürlich müssen Sie dann das Verzeichnis der ausführbaren Datei zur Umgebung der PATH-Variable hinzufügen (verfügbar in den erweiterten Einstellungen in den Computereigenschaften). Für Inkscape, siehe diesen Link:http://kaioa.com/node/42#inkcl_bat_usage Hier platzieren Sie einfach eine Batchdatei (InkCL.bat) im Inkscape-Verzeichnis und verwenden diese, anstatt „inkscape“ in die Befehlszeile einzugeben. inkcl

Etwas zusammenfassen, Es ist in der Regelerfordert nur 3 Befehle

  1. Erstellen Sie eine TeX-Datei mit einem leeren Seitenstil

    Sagen,Eingabe.tex:

    \documentclass{article}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{amsfonts}
    
    \thispagestyle{empty}
    \begin{document}
    \[
    2 \pi f t
    \]
    \end{document}
    
  2. Verwenden Sie jetzt eine der folgenden Methoden:

    • Nach dem Erstellen des PDF:

       pdflatex input.tex
      

      Dadurch wird die Datei input.pdf erstellt. Verwenden Sie nunbeliebigder folgenden Methoden:

      • von Inkscape:

         inkscape -l output.svg input.pdf
        
      • (Das gleiche wie oben):

        inkscape \
          --without-gui \
          --file=input.pdf \
          --export-plain-svg=output.svg
        
      • Für mehrere Seiten(und auch Single), verwenden Siepdf2svg[cityinthesky.co.uk/opensource/pdf2svg/]. Es verwendet Poppler und Cairo, um ein PDF in SVG umzuwandeln. Dies ist besonders nützlich für die Massenkonvertierung:

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

        Hinweis: Wenn Sie alle Seiten angeben, müssen Sie einen Dateinamen mit %d angeben (der automatisch durch die entsprechende Seitenzahl ersetzt wird). Beispiel:

        pdf2svg input.pdf output_page%d.svg all
        
    • Von DVI,

      latex input.tex
      

      Dadurch wird die Datei output.dvi erstellt.

      • Dann,

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

        Dasfunktioniert perfekt für Instanzen mit LaTeX-Formeln(mit Option --no-fonts)

      • Auch die Antwort von soandos (einschließlich der Vollständigkeit halber):

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

        Von der dvips-Manpage (ma.utexas.edu/cgi-bin/man-cgi?dvips%201):

        • [-q] Im stillen Modus ausführen.
        • [-f] (Filter) Liest die .dvi-Datei von der Standardeingabe und schreibt das PostScript in die Standardausgabe.
        • [-D] stellt die Auflösung zwischen 10 und 10000 ein (betrifft auch die Positionierung von Buchstaben)
        • [-E] bewirkt, dass dvips versucht, eine EPSF-Datei mit einem engen Begrenzungsrahmen zu erzeugen.
        • [-e num] Jedes Zeichen wird höchstens so viele Pixel von seiner „wahren“ auflösungsunabhängigen Position entfernt platziert
        • [-R] Im sicheren Modus ausführen.
        • [-x] num Setzt den Abbildungsmaßstab auf num/1000, unabhängig davon, was in der DVI-Datei steht (zwischen 10 und 100000).
        • [-y] num Setzt den Vergrößerungsfaktor auf num/1000 mal die in der .dvi-Datei angegebene Vergrößerung (zwischen 10 und 100000)
        • [-o] gibt die Ausgabedatei als eqn.ps an

        Dann,

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

        Dadurch wird die Datei eqn.svg erstellt.

        • [-f] gibt das Format als Plot-SVG an (direktes SVG funktioniert nicht)
        • [-dt] Text zeichnen - Text wird als Polygone gezeichnet.
        • [-adt] Automatisch Text zeichnen - Diese Option schaltet die Option -dt selektiv für Schriftarten ein, die keine normalen Textschriftarten zu sein scheinen, z. B. Symbol.
        • [-ssp] Unterpfad simulieren für Backends. PostScript-Pfade, die Unterpfade enthalten, also Pfade mit zwischengeschalteten Movetos, werden nicht unterstützt.
        • [-usebbfrominput] Wenn angegeben, verwendet pstoedit die BoundingBox, die (hoffentlich) in der Eingabedatei zu finden ist, anstatt eine selbst berechnete. (Scheint bei plot-svg keinen Unterschied zu machen)
        • [ -noclip ] kein Clipping verwenden (nur relevant, wenn das Backend überhaupt Clipping unterstützt)

        Um eine qualitativ hochwertige Konvertierung von Text in Polygone zu erreichen, mussten wir dvips mit einer hohen Vergrößerung ausführen, daher muss das resultierende SVG verkleinert werden.

Antwort2

Vielleicht möchten Sie sich ein Tool ansehen, das ich gerade geschrieben habe:tikz2svg.

Gegeben in.tikz(oder stdin):

> 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}

Es gibt aus:

> 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>

Sehenhttp://juan.benet.ai/note/2014-03-09/tikz2svg/

Antwort3

VersuchenDasPython-CGI-Skript.

Antwort4

Ich empfehle das von @Rohan erwähnte Verfahren. Erstellen Sie zuerst eine Dosbatch-Datei, „miktex_path.bat“, als:

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

Bearbeiten Sie dann eine .tex-Datei mit einer Gleichung mit Ihrem bevorzugten Editor wie Texmaker oder Notepad2. Speichern Sie sie als Sample.tex. Doppelklicken Sie auf den Stapel und auf der Konsole

Gehen Sie dazu wie folgt vor:

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

Die Arbeit ist erledigt.

Hier ist eine Sammlung einiger Gleichungen auf einer Seite:

\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}

verwandte Informationen