انتقل إلى المحتوى
Topos Uranos

ملخص

يمدّ هذا الدرس الجدولَ المقروء الذي رأيناه في الدرس السابق إلى الحالات التي لا تحلّها الشبكة البسيطة. فهو يعلّم دمج الخلايا عرضًا بـ\multicolumn، لتجميع الرؤوس تحت خط جزئي ولتغيير محاذاة خلية واحدة، ويستنتج أين يذهب العرض الزائد لرأس مجمَّع؛ ويعلّم دمج الخلايا طولًا بـ\multirow ومتى يحسن تجنّبه؛ ويقارن بين ثلاث طرائق لإعطاء الجدول عرض السطر (tabularx بعموده X، وtabular* مع \extracolsep، والتحجيم بـ\resizebox، وهو غير مستحسن)؛ وينضّد جداول متعددة الصفحات بـ longtable، برأسها المكرَّر ومرّات الترجمة التي تحتاج إليها؛ ويعرض تدوير الصفحة للجداول العريضة جدًّا؛ ويولّد الجداول من ملف بيانات بـ csvsimple وpgfplotstable، منشئًا الملف بـfilecontents؛ ويقدّم tabularray بديلًا حديثًا؛ ويختم بالأخطاء الشائعة، مقروءةً في سجلات حقيقية.

أهداف التعلم

  1. أن تبني رؤوسًا مجمَّعة بـ\multicolumn و\cmidrule، وأن تعدّ خلايا كل صف، وأن تتوقّع النتيجة حين لا يستقيم العدّ.
  2. أن تختار بين \multirow والخلية الفارغة في تقليد booktabs، معلّلًا اختيارك بالقراءة.
  3. أن تضبط جدولًا على عرض السطر بـ tabularx أو بـtabular*، وأن تشرح لماذا لا يُحجَّم الجدول بـ\resizebox.
  4. أن تنضّد بـ longtable جدولًا متعدد الصفحات له رأسه وذيله، وأن تفسّر تحذيراته، وأن تعرف لماذا لا يجوز وضعه داخل عنصر عائم.
  5. أن تولّد جدولًا من ملف بيانات، وأن تشرح ما يُكسَب من مصدر واحد للبيانات.

خلايا تمتد على عدة أعمدة

يشغل الأمر \multicolumn{n}{المحاذاة}{النص} مكان n من الخلايا المتجاورة في صف، ويستبدل بها خلية واحدة، بالمحاذاة المذكورة في وسيطه الثاني، التي تُكتب كما تُكتب في مواصفة الجدول (l وc وr وp{…}، وكذلك @{}). ويلزم من ذلك قاعدة عدّ على المؤلف أن يتحقّق منها في كل صف: مجموع الخلايا البسيطة والعروض المعلنة في كل \multicolumn يجب ألّا يزيد على عدد أعمدة المواصفة.

تغيير محاذاة خلية واحدة

أبسط استعمالات \multicolumn أن يمتد على عمود واحد: فـ\multicolumn{1}{c}{…} لا يدمج شيئًا، لكنه يفرض على تلك الخلية محاذاة تخالف محاذاة عمودها. وبه يوسَّط رأس عمود من الأعداد المحاذاة إلى اليمين، أو يُحاذى إلى نهاية السطر عنوانُ صف المجموع الذي ينبغي أن يجاور عدده. ونذكّر بما مرّ في الدرس السابق: في الجدول العربي يدل l على بداية السطر، أي اليمين، وr على نهايته، أي اليسار؛ ولذلك تُكتب أعمدة الأعداد هنا بـl.

مثالميزانية مشروع
شيفرة LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[bidi=basic,layout=tabular]{babel}\babelprovide[import,main]{arabic}\babelfont{rm}[Script=Arabic]{Amiri}\usepackage{booktabs}\begin{document}\begin{tabular}{lll}\topruleالبند & التفصيل & \multicolumn{1}{c}{المبلغ} \\\midruleالسفر   & زيارتان إلى الأرشيف     & 1\,200 \\المواد  & ورق وأقراص خارجية       &    300 \\الخدمات & رقمنة المجموعات الوثائقية &    850 \\\midrule\multicolumn{2}{r}{المجموع} & 2\,350 \\\bottomrule\end{tabular}\end{document}
النتيجة
النتيجة

يتوسّط الرأس «المبلغ» عمودًا يظل محاذى إلى اليمين، ويُحاذى عنوان «المجموع»، الممتد على العمودين الأولين، إلى نهاية السطر، أي إلى اليسار، بجوار عدده.

الرؤوس المجمَّعة

حين تشترك عدة أعمدة في فئة واحدة، يكسب الجدول من رأس ذي مستويين: في الأعلى اسم المجموعة، ممتدًّا على أعمدتها؛ وتحته اسم كل عمود. وبين المستويين تقدّم booktabs الخط الجزئي \cmidrule{2-3}، الذي لا يسطّر إلا الأعمدة من 2 إلى 3؛ ومع الخيارين (lr)، أي \cmidrule(lr){2-3}، يُقصَّر الخط قليلًا من الجهتين، فلا يتلامس خطان متجاوران، وترى العين مجموعتين.

مثالنتائج دراسة بحسب المجموعات
شيفرة LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[bidi=basic,layout=tabular]{babel}\babelprovide[import,main]{arabic}\babelfont{rm}[Script=Arabic]{Amiri}\usepackage{booktabs}\begin{document}\begin{tabular}{lllll}\toprule& \multicolumn{2}{c}{المجموعة الضابطة}& \multicolumn{2}{c}{المجموعة التجريبية} \\\cmidrule(lr){2-3} \cmidrule(lr){4-5}القياس & م & ع & م & ع \\\midruleالقبلي & 52.1 & 8.3 & 51.7 & 7.9 \\البعدي & 54.0 & 8.1 & 61.2 & 7.4 \\\bottomrule\end{tabular}\end{document}
النتيجة
النتيجة

في الصف الأول خلية فارغة (العلامة & الأولى) وخليتان كل منهما من عمودين: واحد واثنان واثنان، خمسة، كأعمدة المواصفة. والرمزان «م» و«ع» هما المتوسط الحسابي والانحراف المعياري، على عادة الجداول الإحصائية العربية. ولاحظ أن عمود الانحراف في المجموعة التجريبية أعرض منه في المجموعة الضابطة.

أين يذهب العرض الزائد

ليس فرق العرض في المثال السابق مصادفة. فإذا كان نص \multicolumn أعرض من مجموع الأعمدة التي يمتد عليها، وجب أن يتّسع الجدول، فيعطي المحرّك الفائض كله لآخر تلك الأعمدة؛ أما سائرها فيحتفظ بعرضه الطبيعي. و«المجموعة التجريبية» أعرض من «م» و«ع» مجتمعين، والفرق يأخذه الثاني منهما. ومع رأس أطول بكثير من بياناته، يكفّ الأثر عن أن يكون خفيًّا.

مثالرأس أطول مما ينبغي
شيفرة LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[bidi=basic,layout=tabular]{babel}\babelprovide[import,main]{arabic}\babelfont{rm}[Script=Arabic]{Amiri}\usepackage{booktabs}\begin{document}\begin{tabular}{lll}\toprule& \multicolumn{2}{c}{المجموعة التجريبية بعد انتهاء التدخّل التعليمي} \\\cmidrule(lr){2-3}القياس & م & ع \\\midruleالقبلي & 51.7 & 7.9 \\البعدي & 61.2 & 7.4 \\\bottomrule\end{tabular}\end{document}
النتيجة
النتيجة

يبتعد عدد المتوسط عن عدد انحرافه، ويفصل بينهما بياض لا يعني شيئًا. والتصحيح هنا ليس طباعيًّا بل تحريري: رأس قصير («التجريبية») وشرح في تعليق الجدول أو في النص.