برای ادغام کردن سطرها و ستونها باید از دستورات \multicolumn
و \multirow
استفاده کنید (برای استفاده از \multirow
نیاز به بسته multirow
دارید). برای داشتن اندازه مشخص برای یک ستون میتوانید از p{dim}
استفاده کنید. مثال زیر را ببینید:
\documentclass{article}
\usepackage{multirow}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
\begin{table}[ht]
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{ |p{2cm}|c|p{6cm}| }
\hline
\multicolumn{3}{ |c| }{بازیکنان تیم ملی فوتبال ایران} \\ \hline
دروازهبان & 1 & علیرضا بیرانوند \\ \hline
\multirow{4}{*}{مدافع}
& 8 & مرتضی پورعلیگنجی \\
& 2 & پژمان منتظری \\
& 21 & وریا غفوری \\
& 2 & میلاد محمدی \\ \hline
\multirow{4}{*}{هافبک}
& 6 & سعید عزتاللهی \\
& 9 & امید ابراهیمی \\
& 7 & مسعود شجاعی \\
& 18 & علیرضا جهانبخش \\ \hline
\multirow{2}{*}{مهاجم}
& 16 & رضا قوچاننژاد \\
& 17 & مهدی طارمی \\
\hline
& & تیم ملی کشورمان با پیروزی یک بر صفر در برابر چین موفق شد سه امتیاز دیگر به حساب خود واریز کند و صدرنشینی خود را با 17 امتیاز به تثبیت برساند. \\ \hline
\end{tabular}
\end{table}
\end{document}
نتیجه:
انتظار داریم عرض ستون اول و سوم به ترتیب ۲cm و ۶cm باشد. در دستور \begin{tabular}{|p{2cm}|c|p{6cm}|}
این کار را با تعیین p{2cm}
و p{6cm}
انجام دادهایم. همچنین در سطر اول، هر سه ستون را با دستور \multicolumn{3}{|c|}
ادغام (merge) و وسطچین (c:center) کردهایم. ساختار این دستور به صورت زیر است:
\multicolumn{number of cols}{align}{text} %align: l,c,r
ساختار دستور \multirow
نیز مشابه دستور \multicolumn
است:
\multirow{number of rows}{width}{text}
میبینید که متن طولانی موجود در سلول آخر به دلیل ثابت بودن عرض ستون به اصطلاح wrapped شده است.
نکته: دستور \renewcommand{\arraystretch}{1.5}
برای افزایش فاصله بین سطرها استفاده شده است.