Frage

Ich verwende TikZ Diagramme in LaTeX zu ziehen, dass ich will, zu isolieren dann als Bilddateien online stellen. Meine Vermutung ist, gibt es eine Möglichkeit, diese Diagramme direkt zu extrahieren, ohne sie der fertigen PDF-Datei herauszukitzeln. Wie würde ich mich über das zu tun? (Wenn es darauf ankommt, bin ich mit TeXnicCenter.)

War es hilfreich?

Lösung

Im Anschluss an meinem Kommentar: Cirkuit wandelt TikZ Diagramme in Bilder durch so etwas wie die folgende Sequenz von Befehlen:

pdflatex img.tex
pdftops -eps img.pdf
convert -density 300 img.eps img.png

Hier würde img.tex eine LaTeX-Datei, die diese Vorlage folgt:

\documentclass{article}
\usepackage{tikz,amsmath,siunitx}
\usetikzlibrary{arrows,snakes,backgrounds,patterns,matrix,shapes,fit,calc,shadows,plotmarks}
\usepackage[graphics,tightpage,active]{preview}
\PreviewEnvironment{tikzpicture}
\PreviewEnvironment{equation}
\PreviewEnvironment{equation*}
\newlength{\imagewidth}
\newlength{\imagescale}
\pagestyle{empty}
\thispagestyle{empty}
\begin{document}
\begin{tikzpicture}
    % (your TikZ code goes here)
\end{tikzpicture}
\end{document}

Wenn Sie in der Lage sind Cirkuit oder einen ähnlichen Editor zu verwenden, oder ein Skript schreiben Sie selbst, Ihr Diagramm in diese Vorlage zu setzen und die entsprechenden Tools ausführen, werden Sie eine schnelle Möglichkeit haben TikZ Code in ein PNG-Bild zu konvertieren.

Um Ihre Frage zu beantworten mehr direkt ... nein, ich weiß nicht von irgendeiner Weise einer TikZ Diagramm zu konvertieren direkt in PNG-Dateien ohne Umweg über eine PDF-Datei zu gehen (oder zumindest DVI) an einige der Bühne.

Andere Tipps

würde ich die folgende Vorgehensweise empfehlen. Legen Sie das tikz Bild in einer separaten Datei und verwenden Sie die ‚Standalone‘ Klasse zu kompilieren Standalone. Es verwendet das Paket in den anderen Antworten erwähnt ‚Vorschau‘. Um das Bild im Hauptdokument Last ist das ‚Standalone‘ Paket gibt erste und Verwendung \ input auf der Bilddatei.

Damit können Sie ohne Ränder eine einzige PDF-Datei des tikz Bild zu bekommen. Dann kannst du verwenden, um ein PDF-to sagt PNG-Wandler mit einer PNG (empfohlen für Web-Publishing von Zeichnungen) zu erhalten. Das SVG-Format wäre schöner, weil es ein Vektor-Format ist, aber nicht alle Browser könnten in der Lage sein, um es anzuzeigen.

Hier einige Beispiel-Code:

Die tikz Bilddatei (z 'pic.tex'):

\documentclass{standalone}
\usepackage{tikz}
% all other packages and stuff you need for the picture
%
\begin{document}
\begin{tikzpicture}
% your picture code
\end{tikzpicture}
\end{document}

Das Hauptdokument:

\documentclass{article} % or whatever class you are using
\usepackage{standalone}
\usepackage{tikz}
% All other packages required
\begin{document}
% Text text text
% somewhere where you want the tikz picture
\input{pic}
% Text text text
\end{document}

Dann das Bild kompiliert und wandelt es, z.B. mit ImageMagick (beispielsweise unter Linux):

pdflatex pic
convert -density 600x600 pic.pdf -quality 90 -resize 800x600 pic.png

oder versuchen SVG:

convert pic.pdf pic.svg

Sehen Sie die tikz Handbuch Abschnitt "Externalisierung Graphics". Auf diese Weise können Sie EPS- oder PDF-Versionen Ihrer Grafiken machen. Ich benutze EPS-Dateien, wandeln sie in TIFFs und kann sie dann setzen, wo immer es nötig ist.

Ich bin im Allgemeinen etwas in diese Richtung mit:

\documentclass{article}
\usepackage[pdftex,active,tightpage]{preview}
%\setlength\PreviewBorder{2mm} % use to add a border around the image
\usepackage{tikz}
\begin{document}
\begin{preview}
\begin{tikzpicture}
    \shade (0,0) circle(2); % background
    \draw (0,0) circle(2);  % rim
    \draw (.75,1) circle(.5);   % right eye
    \fill (.66,.9) circle(.25); % right pupil
    \draw (-.75,1) circle(.5);  % left eye
    \fill (-.66,.9) circle(.25);% left pupil
    \fill (.2,0) circle (.1);   % right nostril
    \fill (-.2,0) circle (.1);  % left nostril
    \draw (-135:1) arc (-135:-45:1) -- cycle; % mouth
  \end{tikzpicture}
\end{preview}
\end{document}

Die pdf-Datei generiert enthält das eigenständige TikZ Bild. Um wandeln es in ein anderes Dateiformat, öffnen Sie ihn einfach mit Gimp.

Ich benutze dies zu Makefile Regel PNG-Dateien und Thumbnails von .tex-Dateien erstellen, die jeden tikzpicture enthalten. Es funktioniert ähnlich wie die Erstellung von Bildern unter TeXample.net :

%.png: %.tex
        @sed 's/^\\begin{document}/\
\\pgfrealjobname{dummy}\\begin{document}\\beginpgfgraphicnamed{example}/' $< | \
sed 's/^\\end{document}/\\endpgfgraphicnamed\\end{document}/' > example.tex ; \
        pdflatex --jobname=example example.tex ; \
        gs -dNOPAUSE -r120 -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -sDEVICE=png16m \
-sOutputFile=$@ -dBATCH example.pdf ; \
        convert -thumbnail 200 $@ $(addsuffix .thumb.png, $(basename $@)) ; \
        mv example.pdf $(addsuffix .pdf, $(basename $<)) ; rm example.*

gv (gs) kann wahrscheinlich durch convert ersetzt werden und Sie können example mit einem anderen tempfile Präfix ersetzen.

Fenster: Nur um ganz explizit für noobs wie ich

Mit dem prewiew Paket als Habi vorgeschlagen in der oben in Ihrem Latex-Code Ränder zu entfernen.

Installieren miktex und Inkscape und verwenden Sie die folgende BAT-Datei:

cd = "C:\Path to tex"
pdflatex input-file-name.tex
"C:\Program Files (x86)\Inkscape\inkscape.exe" input-file-name.pdf --export-plain-svg=output-file-name.svg
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top