باسلام
من دو راه را پیشنهاد می کنم:
الف) شما می توانید از همان visio استفاده کنید، و سپس با استفاده از بسته tikz فرمول مورد نظر خود را بنویسید. به عنوان مثال فرض کنید که شکل زیر را در visio رسم کرده اید:
اکنون می خواهید یک فرمول در بالای این شکل بنویسید. می توانید از کد زیر استفاده کنید:
\documentclass{article}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{1mm}%
\usepackage{fontspec}
\setmainfont[Scale=.9]{Linux Libertine}
\begin{document}
\begin{tikzpicture}
\node at(0,0)[]{\includegraphics[width=5cm]{a}};
\node at(0,1)[red]{Little Law $L=\lambda W$};
\end{tikzpicture}
\end{document}
و اکنون خروجی:
اما چه اتفاقی افتاد؟ داستان این است که من با دستور \node
در بسته tikz یکبار عکس مورد نظر را در نقطه (0,0)
قرار دادم:
\node at(0,0)[]{\includegraphics[width=5cm]{a}};
و بار دیگر یک فرمول در بالای آن نوشتم:
\node at(0,1)[red]{Little Law $L=\lambda W$};
اگر کد فوق را اجرا کنید می بینید که یک خروجی به شما می دهد که کل حاشیه آن بریده شده است. حالا شما خروجی حاصل را با همان کیفیت pdf می توانید در متن خود با دستور \includegraphics
وارد کنید. دلیل بریده شدن حاشیه تصویر استفاده از خطوط زیر در کد مثال است:
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{0mm}%
در ضمن دقت کنید که دو خط
\usepackage{fontspec}
\setmainfont[Scale=.9]{Linux Libertine}
به منظور تنظیم فونت قرار داده شده است.
ب) اما راه کار دوم که به مراتب بهتر است، این است که کم کم تمرین کنید و تمامی اشکال خود را در tikz بکشید. در واقع اون تصویر اول اصلا با visio کشیده نشده بود بلکه با tikz کشیده شده بود:
\documentclass{article}
\usepackage[usenames,dvipsnames]{color,xcolor}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.pathreplacing}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{1mm}%
\usepackage{fontspec}
\setmainfont[Scale=.9]{Linux Libertine}
\begin{document}
\begin{tikzpicture}
\draw[rounded corners=2mm] (0,.5) rectangle (5,1.5);
\draw[-stealth,line width=2pt,fill=black] (6.2,1) -- (6.6,1);
\draw[] (5.6,1) circle (.6) node[]{\small Server};
\foreach \x in {1,...,5}{
\draw[xshift={0.4cm+16*\x},fill=gray,draw=none](1,.75)rectangle(1.5,1.25);
}
\draw[-stealth,line width=2pt,fill=black] (-.2,1) -- (0.5,1) node[yshift=1.5mm,xshift=-9mm,text width= 10mm,rotate=90] {\small Arrival};
\node at(6.8,1)[text width= 10mm,rotate=90] {\small Departure};
\draw[decorate,decoration={brace,raise=3pt,amplitude=5pt},line width=.5pt] (2,1.5)--(4.7,1.5) node[midway,above=7pt,black!80,align=flush center,text width =4cm]{\small Packets wait in queue};
\node at(2,2.7)[red]{Little Law $L=\lambda W$};
\end{tikzpicture}
\end{document}
نکات:
الف) در کل tikz بسته بسیار قوی برای رسم اشکال و توابع است. برای یادگیری tikz بهترین راه این است که راهنمای ان را قدم به قدم بخوانید و مثالهای آن را حل کنید. راهنمای این بسته را میتوانید از پیوند زیر دانلود کنید.
راهنمای tikz
سبک راهنمای tikz این گونه است که کار را با چند مثال آغاز می کند و سعی می کند قدم به قدم خواننده را با دستورات tikz آشنا سازد. در ضمن تعداد بسیار زیادی مثال با tikz در سایت زیر به همراه کد آن وجود دارد که شما میتوانید به اشکال آن نگاه کنید و شکل های مد نظر خود را با تغییر اندکی ایجاد نمایید.
مثالهای tikz
در کل اگر زمان بگذارید و گام به گام سعی کنید اشکال خود را هرجوری شده با tikz بکشید (گرچه اولش بسیار دشوار است)، ولی به مرور به ارزش، کیفیت بسیار بالا، راحتی کار با آن و مفید بودن آن پی خواهید برد.
ب) شما می توانید خود کد tikz را وارد متن اصلی خود بکنید. اما من خودم ترجیح می دهم که به همین صورت مثالی که آوردم در یک فایل جداگانه شکل خود را درست کنم و حاشیه آن را حذف کنم سپس آن را با دستور \includegraphics
وارد متن اصلی بکنم.