Crea un archivo TeX con un estilo de página vacío

Crea un archivo TeX con un estilo de página vacío

¿Cómo puedo generar una imagen SVG a partir de un archivo LaTeX, más precisamente, un diagrama tikz? Estoy trabajando en Windows.

Respuesta1

La forma más sencilla de hacerlo sería generar primero unPDFoDVI conjustodicho diagrama/ecuación yluego conviertea un formato vectorial.

Si los archivos PDF de tamaño de página pequeño funcionan bien para usted, puede utilizar * Usarguión fantasma:

    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.

De lo contrario, utilice cualquiera de los métodos descritos en: https://stackoverflow.com/questions/10288065/convert-pdf-to-clean-svg

Además, esta respuesta para varias páginas: https://stackoverflow.com/a/4502030

Este recurso también es útil: svgkit.sourceforge.net/SVGLaTeX.html

Por supuesto,algunode los comandos mencionados funcionarían bien con el uso de implementaciones MinGW o tendrán implementaciones nativas de Windows, que deberá descargar. Y, por supuesto, luego agregue el directorio del archivo ejecutable al entorno de la variable PATH (disponible en la configuración avanzada en las propiedades de la computadora). para paisaje de tinta, ver este enlace:http://kaioa.com/node/42#inkcl_bat_usage Aquí, simplemente coloque un archivo por lotes (InkCL.bat) en el directorio de Inkscape. y utilícelo en lugar de escribir inkscape en la línea de comandos. tintacl

En resumen, es generalmenterequiere solo 3 comandos

  1. Crea un archivo TeX con un estilo de página vacío

    Decir,entrada.tex:

    \documentclass{article}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{amsfonts}
    
    \thispagestyle{empty}
    \begin{document}
    \[
    2 \pi f t
    \]
    \end{document}
    
  2. Ahora, utilice cualquiera de los siguientes métodos:

    • Después de crear PDF:

       pdflatex input.tex
      

      Esto crea el archivo input.pdf Ahora, usecualquierde los siguientes métodos:

      • de Inkscape:

         inkscape -l output.svg input.pdf
        
      • (Lo mismo que arriba):

        inkscape \
          --without-gui \
          --file=input.pdf \
          --export-plain-svg=output.svg
        
      • Para varias páginas(y soltero también), usepdf2svg[cityinthesky.co.uk/opensource/pdf2svg/]. Utiliza poppler y Cairo para convertir un pdf a SVG. Esto es particularmente útil para la conversión masiva:

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

        Nota: si especifica todas las páginas, debe proporcionar un nombre de archivo con %d (que será reemplazado automáticamente por el número de página apropiado). P.ej

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

      latex input.tex
      

      Esto crea el archivo salida.dvi

      • Entonces,

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

        EsteFunciona perfectamente para instancias con fórmulas LaTeX.(con opción --no-fonts)

      • También la respuesta de soandos (incluso para mayor exhaustividad):

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

        Desde la página de manual de dvips (ma.utexas.edu/cgi-bin/man-cgi?dvips%201):

        • [-q] Ejecutar en modo silencioso.
        • [-f] (filtro) Lea el archivo .dvi desde la entrada estándar y escriba el PostScript en la salida estándar.
        • [-D] establece la resolución entre 10 y 10000 (también afecta la posición de las letras)
        • [-E] hace que dvips intente generar un archivo EPSF con un cuadro delimitador ajustado.
        • [-e num] Cada carácter se coloca como máximo a esta cantidad de píxeles desde su posición "verdadera" independiente de la resolución.
        • [-R] Ejecutar en modo seguro.
        • [-x] num Establece la relación de ampliación en num/1000 sin importar lo que diga el archivo dvi (entre 10 y 100000)
        • [-y] num Establece la relación de ampliación en num/1000 veces la ampliación especificada en el archivo .dvi (entre 10 y 100000)
        • [-o] especifica el archivo de salida como eqn.ps

        Entonces,

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

        Esto crea el archivo eqn.svg

        • [-f] especifica el formato como plot-svg (svg directo no funciona)
        • [-dt] Dibujar texto: el texto se dibuja como polígonos.
        • [-adt] Dibujar texto automáticamente: esta opción activa la opción -dt de forma selectiva para fuentes que parecen no ser fuentes de texto normales, por ejemplo, Símbolo.
        • [-ssp] simula rutas secundarias para servidores no admite rutas PostScript que contengan rutas secundarias, es decir, rutas con movimientos intermedios.
        • [-usebbfrominput] Si se especifica, pstoedit usa el BoundingBox tal como (con suerte) se encuentra en el archivo de entrada en lugar de uno calculado por sí solo. (No parece hacer una diferencia para plot-svg)
        • [-noclip] no use recorte (relevante solo si el backend admite recorte)

        Para obtener una conversión de texto a polígono de buena calidad, tuvimos que ejecutar dvips con un gran aumento, por lo que habrá que reducir el tamaño del SVG resultante.

Respuesta2

Quizás quieras consultar una herramienta que acabo de escribir:tikz2svg.

Dado in.tikz(o estándar):

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

Produce:

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

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

Respuesta3

Intentarestesecuencia de comandos CGI de Python.

Respuesta4

Recomiendo el proceso mencionado por @Rohan. Primero cree un archivo dosbatch, "miktex_path.bat" como:

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

Luego edite un archivo .tex con alguna ecuación con su editor favorito como Texmaker o Notepad2. Guárdelo como Sample.tex. Haga doble clic en el lote y en la consola

haz lo siguiente:

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

El trabajo está hecho.

Aquí hay una colección de algunas ecuaciones contenidas en una página:

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

información relacionada