Автономные диаграммы с Тикз? [закрыто
Вопрос
Я использую Tikz, чтобы нарисовать диаграммы в латексе, которую я хочу изолировать в качестве файлов изображений, чтобы положить онлайн. Я думаю, что есть способ извлекать эти диаграммы непосредственно без необходимости дразнить их из готового файла .pdf. Как бы я пошел это делать? (Если это важно, я использую TexnicCenter.)
Решение
Следуя на моем комментарии: Циркуит Преобразует диаграммы Tikz на изображения, запустив что-то вроде следующей последовательности команд:
pdflatex img.tex
pdftops -eps img.pdf
convert -density 300 img.eps img.png
Здесь img.tex
будет латексным файлом, который следует этот шаблон:
\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}
Если вы можете использовать Cirkuit или подобный редактор, или напишите скрипт для себя, чтобы поставить свою диаграмму в этот шаблон и запустить соответствующие инструменты, у вас будет быстрый способ преобразовать код Tikz в изображение PNG.
Чтобы ответить на ваш вопрос более напрямую ... Нет, я не знаю ни одного способа преобразовать диаграмму Тикз напрямую в PNG без прохождения файла PDF (или, по крайней мере, DVI) на некотором этапе.
Другие советы
Я бы порекомендовал вам следующий подход к вам. Поместите картинку Tikz в отдельный файл и используйте «автономный» класс для компиляции его автономной. Он использует пакет «Предварительный просмотр», упомянутый в других ответах. Чтобы включить изображение в основной документ загрузить «автономный» упаковка Там сначала и используйте вход на файл изображения.
Это позволит вам получить один PDF картины Tikz без полей. Затем вы можете использовать PDF-TO - скажи преобразователь PNG, чтобы получить PNG (рекомендуется для веб-публикации чертежей). Формат SVG будет более приятнее, потому что это векторный формат, но не все браузеры могут отображать его.
Вот какой-то пример код:
Файл Picture Tikz (например, '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}
Основной документ:
\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}
Затем скомпилируйте изображение и преобразуйте его, например, с ImageMagick (например, под Linux):
pdflatex pic
convert -density 600x600 pic.pdf -quality 90 -resize 800x600 pic.png
Или попробуйте SVG:
convert pic.pdf pic.svg
См. Ручной раздел Tikz «Externaling Graphics». Это позволяет сделать EPS или PDF версии вашей графики. Я использую файлы EPS, преобразуйте их в TIFFS и затем могут поставить их везде, где мне нужно.
Я обычно использую что-то вдоль этих линий:
\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}
Сгенерированный файл PDF содержит автономное изображение Tikz. Чтобы преобразовать его в любой другой формат файла, просто откройте его с GIMP.
Я использую это, чтобы правило Makefile Создавайте файлы PNG и миниатюры из файлов .tex, которые содержат одну тикзпикутуру каждый. Это работает похоже на создание изображений в Texample.net.Net.:
% .png:% .tex @sed 's / ^ begin {document} / pgfraljobname {bummy} begin {document} beginppgfgraphicnamed {Пример} /' $ <| sed 's / ^ end {документ} / endpgfgraphicnamed end {document} /'> example.tex; pdflatex --jobname = пример example.tex; gs -dnopause -r120 -graphicsAlphabits = 4 -dtextalphabits = 4 -sdevice = png16m -soutputfile = $ @ -dbatch example.pdf; convert -thumbnail 200 $ @ $ (Addsuffix .thumb.png, $ (baseName $ @)); mv example.pdf $ (addsuffix .pdf, $ (baseName $ <)); Пример RM. *
GhostView (gs
) возможно, может быть заменен convert
и вы можете заменить example
с другим префиксом Tempfile.
Windows: просто чтобы быть полностью явной для нубов, как я
Используйте пакет Prewiew, поскольку Habi предложил в вышеупомянутом в вашем латексном коде для удаления полей.
Установите Miktex и Inkscape и используйте следующий файл Bat:
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