اگه بخواین عرض سلول بهصورت اتوماتیک تعیین بشه، بایستی قبل از دستور \parbox
شکل رو بکشین و عرضش رو بدونین. برای این کار یه باکس تعریف میکنیم و شکل رو داخلش رسم میکنیم. سپس عرض سلول رو کمی بیشتر از عرض شکل تعیین میکنیم تا متن هم بتونه کنارش بیاد. توی این مثال، عرض سلول برابر میشه با ۱٫۶ برابر عرض شکل؛ یعنی عرض شکل ترسیمی + ۶۰درصد عرض آن.
نحوهٔ تعریف باکس:
\newsavebox{\mytkz}
ذخیرهٔ شکل داخل آن:
\sbox{\mytkz}{%
\begin{tikzpicture}
\draw (0,0) -- (5,1) --(1,2) -- cycle;
\end{tikzpicture}%
}
دسترسی به عرض آن:
\wd\mytkz
استفاده از محتوای آن (ترسیم شکل):
\usebox{\mytkz}
\documentclass[a4paper]{article}
\usepackage{tikz}
\usepackage{wrapfig}
\usepackage{ptext}
\usepackage{xepersian}
\settextfont{Parsian}
\setmathdigitfont{Parsian}
\newsavebox{\mytkz}
\begin{document}
\centering
\sbox{\mytkz}{%
\begin{tikzpicture}
\draw (0,0) -- (5,1) --(1,2) -- cycle;
\end{tikzpicture}%
}
\begin{tabular}{|c|c|c|}
first &
\parbox{1.6\wd\mytkz}{%
\begin{wrapfigure}{l}{\wd\mytkz}
\usebox{\mytkz}
\end{wrapfigure}
\ptext[1]%
} &
Second
\end{tabular}
\vspace{10ex}
\sbox{\mytkz}{%
\begin{tikzpicture}
\draw (0,0) circle (2cm);
\end{tikzpicture}%
}
\begin{tabular}{|c|c|c|}
first &
\parbox{1.6\wd\mytkz}{%
\begin{wrapfigure}{l}{\wd\mytkz}
\usebox{\mytkz}
\end{wrapfigure}
\ptext[1]%
} &
Second
\end{tabular}
\end{document}