بالاخره این مشکل رو حل کردم. من از ادیتور TeXstudio و تحت TeX Live در ویندوز ران کردم. در ابتدا باید وارد قسمتهای زیر شویم و یک سری تغییرات رو ایجاد کنیم:
In TeXstudio Go to Options -> Commands and change the PdfLaTeX line to this:
pdflatex.exe --shell-escape -synctex=1 -interaction=nonstopmode %.tex
.اگر TeX Live رو در ویندوز ران کردید باید قبل از \begin{document}
کد زیر رو وارد کنیم:
\usetikzlibrary{external}
\tikzset{external/system call={latex \tikzexternalcheckshellescape -halt-on-error
-interaction=batchmode -jobname "\image" "\texsource" &&
dvips -o "\image".ps "\image".dvi &&
ps2eps "\image.ps"}}
\tikzexternalize
و اگر TeX Live رو در Linux یا Mac OS X ران کردید کافیه همون کد بالا رو با تغییر &&
به ;
به کد برنامتون اضافه کنید.
دقت کنید اگر از MikTeX روی ویندوز استفاده می کنید به جای --shell-escape از -enable-write18 در تغییرات مربوطه استفاده کنید
In TeXstudio Go to Options -> Commands and change the PdfLaTeX line to this:
pdflatex.exe -enable-write18 -synctex=1 -interaction=nonstopmode %.tex
و کد زیر رو قبل از \begin{document}
وارد کنیم:
\usetikzlibrary{external}
\tikzset{external/system call={latex \tikzexternalcheckshellescape -halt-on-error
-interaction=batchmode -jobname "\image" "\texsource" &&
dvips -o "\image".ps "\image".dvi &&
ps2eps "\image.ps"}}
\tikzexternalize[shell escape=-enable-write18] % MikTeX uses a -enable-write18 instead of --shell-escape.
من یک نمونه از کد رو به نمایش در آوردم.
\documentclass{article}
\usepackage{amsmath}
\usepackage{pgfplots}
\usetikzlibrary{external}
\tikzset{external/system call={latex \tikzexternalcheckshellescape -halt-on-error
-interaction=batchmode -jobname "\image" "\texsource" &&
dvips -o "\image".ps "\image".dvi &&
ps2eps "\image.ps"}}
\tikzexternalize
\begin{document}
\begin{tikzpicture}[scale=0.3]
\draw (0,1.1) -- (10.5,1.1) node[midway,above] {B}; %top
\draw (0,-1.1) -- (10.5,-1.1); %bottom
\draw (0,-1) cos (10.5,0); %top curve
\draw (0,1) cos (10.5,0); %bottom curve
\draw (10.5,1.1) -- (10.5,-1.1) node[midway,anchor=west] {\;$n=1$ \quad $L=\dfrac{1}{4}\lambda_{1}$}; %right
\draw[fill=black] (10.5,0) circle (2.5pt); %circle
\end{tikzpicture}
\end{document}