Вопрос

Я использую 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top