سؤال

أنا أستخدم Tikz لرسم الرسوم البيانية في LaTeX وأريد عزلها كملفات صور لوضعها عبر الإنترنت. أعتقد أن هناك طريقة لاستخراج هذه المخططات مباشرة دون الحاجة إلى إخراجها من ملف .pdf النهائي. كيف يمكنني القيام بذلك؟ (إذا كان الأمر مهمًا ، فأنا أستخدم TexnicCenter.)

هل كانت مفيدة؟

المحلول

المتابعة على تعليقي: cirkuit يحول مخططات 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.

للإجابة على سؤالك بشكل مباشر ... لا ، لا أعرف بأي طريقة لتحويل مخطط Tikz مباشرة إلى PNG دون المرور عبر ملف PDF (أو على الأقل DVI) في مرحلة ما.

نصائح أخرى

أود أن أوصي النهج التالي لك. ضع صورة Tikz في ملف منفصل واستخدم فئة "مستقلة" لتجميعها مستقلة. يستخدم حزمة "المعاينة" المذكورة في الإجابات الأخرى. لتضمين الصورة في المستند الرئيسي تحميل "المستقل" حزمة هناك أولاً واستخدم الإدخال في ملف الصورة.

سيتيح لك ذلك الحصول على ملف PDF واحد من صورة Tikz بدون هوامش. بعد ذلك ، يمكنك استخدام محول PDF-to- قول PNG للحصول على PNG (موصى به لنشر الرسومات على الويب). سيكون تنسيق SVG أجمل ، لأنه تنسيق متجه ، ولكن ليس كل المتصفحات قد تكون قادرة على عرضه.

هنا رمز المثال:

ملف صورة 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 "رسومات خارجية". يتيح لك ذلك صنع إصدارات 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.

أستخدم هذا لجعل قاعدة إنشاء ملفات PNG وملفات مصغرة من ملفات .tex التي تحتوي على TikzPicture واحدة. يعمل مشابهًا لإنشاء الصور في 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ربما يمكن استبدالها بـ convert ويمكنك استبدال example مع بادئة tempfile أخرى.

Windows: فقط أن تكون صريحًا تمامًا بالنسبة إلى noobs مثلي

استخدم حزمة Prewiew كما اقترح Habi في ما ورد أعلاه في رمز اللاتكس الخاص بك لإزالة الهوامش.

تثبيت miktex و inkscape واستخدم ملف الخفافيش التالي:

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