Question

J'utilise TikZ pour dessiner des diagrammes en LaTeX que je veux ensuite isoler sous forme de fichiers d'image pour mettre en ligne. Je suppose il y a un moyen d'extraire ces diagrammes directement sans avoir à les taquiner sur le fichier .pdf fini. Comment dois-je procéder? (S'il importe, j'utilise TeXnicCenter.)

Était-ce utile?

La solution

Faisant suite à mon commentaire: Cirkuit convertit en images TikZ diagrammes en exécutant quelque chose comme la séquence de commandes suivante:

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

Ici img.tex serait un fichier LaTeX qui suit ce modèle:

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

Si vous êtes en mesure d'utiliser Cirkuit ou un éditeur similaire ou écrire un script pour vous de mettre votre schéma dans ce modèle et exécuter les outils appropriés, vous aurez un moyen rapide de convertir le code TikZ en une image PNG.

Pour répondre à votre question plus directement ... non, je ne connais aucun moyen de convertir un diagramme TikZ directement PNG sans passer par un fichier PDF (ou au moins DVI) à un certain stade.

Autres conseils

Je recommande l'approche suivante pour vous. Placez l'image tikz dans un fichier séparé et utiliser la classe « autonome » pour le compiler autonome. Il utilise le paquet « aperçu » mentionné dans les autres réponses. Pour inclure l'image dans le document principal charge la « autonome » package il y a d'abord et l'utilisation \ entrée sur le fichier image.

Cela vous permettra d'obtenir un seul fichier PDF de l'image tikz sans marges. Ensuite vous pouvez utiliser un PDF-To-dire convertisseur PNG pour obtenir un PNG (recommandé pour la publication Web de dessins). Le format SVG serait plus agréable, car il est un format vectoriel, mais pas tous les navigateurs pourrait être en mesure d'afficher.

Voici quelques exemples de code:

Le fichier d'image tikz (par exemple 'de 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}

Le document principal:

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

Ensuite, compiler l'image et le convertir, par exemple avec ImageMagick (par exemple sous Linux):

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

ou essayez SVG:

convert pic.pdf pic.svg

Voir la section du manuel Tikz "extériorisation Graphics". Cela vous permet de faire des EPS ou des versions PDF de vos graphiques. J'utilise les fichiers EPS, les convertir en fichiers TIFF et peut ensuite les mettre là où je dois.

J'utilise généralement quelque chose le long de ces lignes:

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

Le fichier pdf généré contient l'image TikZ autonome. Pour le convertir en un autre format de fichier, il suffit d'ouvrir avec Gimp.

J'utilise cette règle pour Makefile créer des fichiers PNG et les vignettes des fichiers .tex qui contiennent un tikzpicture chacun. Il fonctionne de manière similaire à la création d'images à 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.*

ghostview (gs) peut probablement être remplacé par convert et vous pouvez remplacer example avec un autre préfixe tempfile.

Fenêtres: Pour être tout à fait explicite pour noobs comme moi

Utilisez le paquet prewiew comme suggéré dans Habi ci-dessus dans votre code de latex pour éliminer les marges.

Installer miktex et Inkscape et utiliser le fichier de chauve-souris suivant:

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top