diagrammes autonomes avec TikZ? [fermé]
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.)
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