الليتك والتك TeX and LaTeX

نشره Fahad في السبت, 2008/03/29 - 12:38م
مقدمة لغة TeX (وتقرأ تك أو تخ وهو الأصح لأن X هنا ترمز للحرف الإغريقي كاي ورسمه ونطقه أقرب لنطق الحرف خ ) عبارة عن نظام برامجي ضخم لأغراض الطباعة كتبه البروفيسور Donald E. Knuth (الأسم الثاني ينطق كانوث) في الثمانينات 1970- 1979 م , ويعتبر نظام التك من أهم اعماله وأكثرها شهرة الى جانب عمله في ما يسمى MetaFont وهو نظام تصميم الخطوط حيث بدأ العمل أولا على برامج تصميم الخطوط ليقدم بعد ذلك أول اصدار من الميتافونت . ويمكن القول بأن التك مسؤولة عن ظهور الحرف على الوثيقة أو الصفحة بعد الطباعة بينما الميتافونت متعلقة بشكل هذا الحرف وتصميمه قبل أن تتعامل التك معه . لقد كان الدكتور كانوث رياضيا قبل أن يكون مبرمجا لذلك تصدرت غاية كتابة الرياضيات وطباعتها أهم أهدافه من نظام التك . حيث قال في كتابه الذي ألفه لشرح لغة التك آنذاك " مخصصة لإنتاج كتب رائعة - خصوصا لكتب تحوي الكثير من الرياضيات " : " intended for the creation of beautiful books -and especially for books that contain a lot of mathematics '' وقد ربط كانوث Knuth ارقام الإصدارات من نظام التك والنظام المرافق الميتافونت باعداد مشهورة رياضيا . اصدارات التك تحمل ارقام تمثل تقريب الى العدد المعروف عند الرياضيين فكل اصدار جديد من التك يكون برقم يمثل تقريب أفضل الى النسبة فأول اصدار كان رقمه 3 الثاني رقمه 3,1 الثالث 3,14 وهكذا ,,, وكل اصدار جديد من الميتافونت يمثل تقريب أفضل الى العدد e والذي يمثل لأساس الوغاريتم الطبيعي. لصفحة الشخصية لكانوث على موقع جامعة ستانفورد http://www-cs-faculty.stanford.edu/~knuth/index.html كانوث واعماله بشكل عام في الموسوعة الإلكترونية وكيبيديا http://en.wikipedia.org/wiki/Knuth قدم كانوث اكواد التك وجميع برامجها على النت كمصادر مجانية متاحة للراغبين في التطوير وزيادة رقعة تطبيقها , واليوم لا غني عن هذه اللغة عند الأكاديميين خصوصا ولم تعد حكرا على تخصص دون آخر حتى تلك التخصصات التي لا تحوي معادلات او تراكيب غير مألوفة في اللغات . ولكن لغة التك تم تداولها والتعامل معها بشكل آخر أسهل في التعامل وتسمى الليتك LaTeX فما هي الليتك؟ الليتك تمنح التك لمستخدميها مقدرة برمجية عالية , ولذلك فهي ليست سهلة الإستخدام على نحو يومي أو في معالجات النصوص , بل تحتاج الى من يعبر عن كثير من امكانياتها ووظائفها بشكل أبسط , لهذا قدم كانوث ما يسمى " الحزمة بلينتك " plainTeX Package بغية تبسيط استخدام لغة التك , وقدم لامبرت Lesli Lamport حزمة الليتك المعتمدة طبعا على التك وكلا الحزمتين معمول بهما غير أن الكثيرون يفضلون الليتك . لغة الليتك عبارة عن طريقة ناجحة وبسيطة للوصول لنتائج لغة التك دون التعامل مع التك نفسها وذلك لأن التعامل معها مباشرة لا يخلو من صعوبة , تماما كما يحصل عندما يتعامل المبرمج مع لغة برمجية ما مثل ++C بدلا من التعامل مع لغة الحاسب المباشرة. (ولعل الحرفين La في بداية كلمة latex مشتقة من اسم لامبرت) , وقد مثلت لغة الليتك على حد تعبيره التوازن المثالي بين وظيفة الأداة وسهولة استخدامها . "represents a balance between functionality and ease of use" لغة الليتك قدمت للرياضيين تحديدا طريقة رائعة للتعبير عن الصيغ الرياضية بشكل متقن سواء على شاشات الحواسيب او على صفحات الكتب والأبحاث من خلال نظام كتابي متكامل له خطوطه ورموزه الكافية لهذا الغرض . بمقدور مستخدمها أن يقدم صيغ رياضية منسقة تماما مثل المتباينة التي تعبر عن علاقة تكاملي ريمان العلوي والسفلي بالحد الأعلى والأدني لدالة حقيقية محدودة . أو مثل لماذا الليتك ؟ ربما يتسأل أحدنا , لماذا نحن بحاجة الى لغة الليتك ولماذا هذا الإلتفاف على الصيغ الرياضية التي نعرفها ؟, ما المشكلة لو أرسلت وثيقتى الرياضية عبر الانترنت محملة بالصيغ الرياضية نفسها (كصور) بدون تحويلها الى أكواد الليتك ؟ إن قضية الحجم اساسية وجوهرية بالنسبة لنقل الملفات وتداولها , هذا احد الأسباب التي جعلت الرياضيين يقبلون التعبير عن الرياضيات بأكواد هي من وجهة نظر المستخدم ليست سوى احرف ذات ترتيب معين شأنها من حيث الحجم شأن أي كتابة أخرى, بهذه الطريقة أستطيع أكتب معادلات معقدة ومطولة في صورة نصية دون ان يتعدى الحجم بضعة كيلوبايت ولو كتبتها بطريقة تقليدية لملأت الوثيقة من الصور (الصيغ الرياضية الجاهزة عبارة عن صور ) المختلفة الأحجام وفي النهاية وثيقة كبيرة الحجم ما يحصل اليوم , أن أبسط أنواع الوثائق المخصصة لشفرات الليتك نوع له الامتداد tex حيث تتضمن المعادلات والصيغ الرياضية ولكن على شكل نص عادي (أكواد ليتك) ويقوم المؤلف بارسالها عبر الإنتر نت للجامعة أو المعهد أو المجلة العلمية, ويقوم برنامج أخر لدى المستقبل بتحويلها الى وثيقة أخرى تظهر فيها المعادلات على حقيقتها وأكثر هذه الوثائق المحولة ارتباطا بلغة الليتك تلك التي امتدادها DVI رغم ان هذا الامتداد غير مشهور الإستخدام فهو أول وأبسط ملف خارج من ملف tex يحوي معادلات مقروءة. ومن الممكن استخراج ملفات أخرى من خلاله بامتدادات آخرى مثل ps أو حتى pdf . طباعة الرياضيات من خلال هذه الوثائق ذات جودة أفضل بكثير من طباعتها من خلال صور نحصل عليها من برامج تحرير المعادلات وهذا سبب آخر لتفضيل التعامل مع لغة الليتك بدلا من الصور الجاهزة للمعادلات والصيغ الرياضية الخارجة من محرر معادلات معين . يمكن أن نقف فعلاعلى الفارق الكبير بين جم الملف الذي يحتوي معادلات جاهزة وبين ذلك الذي يحتوي فقط على شيفراتها . قم بحفظ الصيغتين الرياضيتين أعلاه في أبسط ملف ممكن كما هما , ( قمت بحفظهما في ملف Word ووجدت حجمه 24 كيلو بايت) ثم احفظ الشفرتين الخاصة بالصيغتين الموضحة أدناه في ابسط ملف ممكن لديك : (b - a)\mathop {\inf }\limits_x f(x) \le \int\limits_{\underline a }^b {f(t)dt} \le \int\limits_a^{\overline b } {f(t)dt} \le (b - a)\mathop {\sup }\limits_x f(x) \ln 2 = 1 - \frac{1}{2} + \frac{1}{3} - \frac{1}{4} + \cdots = \frac{1}{{1 \cdot 2^1 }} + \frac{1}{{2 \cdot 2^2 }} + \frac{1}{{3 \cdot 2^3 }} + \frac{1}{{4 \cdot 2^4 }} + \cdots لاحظ الفرق بين الحجمين . فإذا حفظت هاتين الشفرتين في ملف المفكرة notepad فلن يتعدى الحجم الفعلي للملف 6 كيلو بايت , أما لو استطعت حفظ الشفرتين في ملف tex (وهذا يتطلب برامج أخرى) فلن يصل الحجم الى 1 كيلو بايت فقط !!! كم النسبة بين 1 و 24 ؟ عالمية الليتك ومنتديات الرياضيات مرونة لغة الليتك واستيعابها لكافة احتياجات الرياضي وفتح مصادرها للآخرين من مطورين ومبرمجين جعل منها أداة عالمية للتعامل مع الرياضيات خصوصا , ناهيك عن اقتحامها لحقول علمية اخرى كحقلي الفيزياء والكيمياء. إن البرامج مفتوحة المصادر تتطور وتتكامل فيما بينها بشكل أسرع من تلك التي يحتكر أصحابها أسرارها وشيفراتها للأغراض التجارية , ولا أدل على ذلك من تكامل لغة الليتك (المفتوحة المصادر) مع برامج أخرى كثيرة منها على سبيل المثال برنامج المنتديات phpBB المفتوح المصادر أيضا !!! فقد تمكن بعض المهتمين بقضية عرض الرياضيات في المنتديات من تطوير برمجيات معينة ساعدت على استغلال قدرات الليتك الهائلة المخزونة في البرامج الضخمة التي يمكن للحواسيب الخادمة من تشغيلها في عرض المعادلات والتراكيب الرياضية على صفحات منتدى من نوع phpBB وقد افاد من هذه الخطوة الكثير من المواقع المهتمة بالرياضيات فترى منتدى BB هو المهيمن على ساحة المنتديات الرياضية من حيث جودة عرض الرياضيات والمظهر الإحترافي للتركيب الرياضي وما منتدى الرياضيات رمزإلا واحد منها, فقد اعتمدنا هذه التقنية وهذا التعاون المثمر من أجل عرض راقي للرياضيات وبأحدث الأساليب. وجدير بالذكر بأن هناك برامج اخرى يمكن تنصيبها على الحواسيب المستضيفة للمواقع من أجل عرض الصيغ الرياضية ولكن هناك فرق بين امكانياتها وامكانيات البرامج المستخدمة في الموقع . وهذا الفرق لا يعرفه إلا الرياضي العرف بالصورة الصحيحة للكتابة الرياضية حينما يرى عدم تناسب حجم الرقم أو المتغير مع موقعه فتجد مقاس الأس هو نفس مقاس الأساس أو حدود التكامل أو حدود السجما اكبر مما وربما لا فرق بينها وبين مدخلات هذه العلامات. تعليم لغة الليتك هل تعلم الليتك صعب ؟ إطلاقا, كما يمكن أن تستفيد من امكانياتها دون معرفة الكثير عنها , فهي ليست لغة برمجة , وانما اسلوب معين للتعبير عن صيغ رياضية بشكل نصي معين, مثلا الكسر في صورته الليتكية ليس سوى الكود (الشفرة) التالية: \frac{44}{105} الأمر frac في هذه الشفرة مخصص للكسر . وهكذا الحال مع بقية التراكيب الرياضية المختلفة , فهناك الكثير من الأوامر التي من خلالها نستطيع كتابة اي صيغة رياضية . مثلا الأمر sqrt يتعلق بالجذر التربيعي , و الشفرة الخاصة بالجذر هي \sqrt {1+x^2} وبالرغم من وجود طريقة مريحة للحصول على نسخة ليتكية من المعادلة او التركيب الرياضي الذي نرغب , وهذا ما سنناقشه قريبا , إلا أن هذا لا يمنع من استعراض بعض الأكواد وما يناظرها من صيغ رياضية , وهذا ما يتضمنه الجدول التالي:
شفرة الليتك الخاصة بالصورة
LaTeX Code
الصورة المستخلصة
Rendered Image
x^2  + y^2  \ge  0
(A \cup B)^c  = A^c  \cap B^c
S_n  =  - n + S_{n + 1}
\int_0^3 {\frac{{\cos x}}{{\sin x}}dx} 
z \cdot \bar z = \left| z \right|^2
\sin x = \sum\limits_{n = 0}^\infty  {\frac{{( - 1)^n x^{2n + 1} }}{{(2n + 1)!}}}
\left( {\begin{array}{*{20}c}
   1 & 1  \\
   0 & 1  \\
\end{array}} \right)^n  = \left( {\begin{array}{*{20}c}
   1 & 5  \\
   0 & 1  \\
\end{array}} \right)
f(x,y) = \left\{ \begin{array}{rcl}
 \dfrac{{\sin x - \cos y}}{{\tan x - \tan y}}{\rm      & if }\tan x \ne \tan y& \\
\\
 {\rm cos}^{\rm 2} x + 1{\rm          }{\rm & if }\tan x = \tan y & \\
 \end{array} \right.{\rm   }


\begin{eqnarray*}
 xy + 3 &=& x + y \\
 3x - 2y + 4 &=& 0 \\
 \end{eqnarray*}
في الصف الأخير من الجدول انظر كيف أمكننا وضع علامتي التساوي تت بعضهما , وانظر لعلامتي التساوي في الكود مكتوبة هكذا "&=&" . وفي الصف ما قبل الأخير لاحظ كيف استطاعت الليتك وضع الحرفين if تحت بعضهما بغض النظر عن طول التركيب السابق لهما , هذه ميزات متقدمة تحتاج أوامر مناسبة من الليتك . واضح من بعض شفرات الجدول أن هناك تراكيب رياضية أكوادها مطولة ومعقدة بعض الشيء وليس من السهولة كتابتها يدويا , وإذا ما حصل خطأ اثناء الكتابة هنا أو هناك فسيكون اكتشافه متعبا . من أجل كل هذا أصبح وجود طريقة بديلة لكتابة أكواد الليتك أمر ضروري . اليوم يوجد عدة برامج لكتابة أكواد الليتك الخاصة بمعادلاتك , حيث تقوم انت بكتابة الصيغة الرياضية بشكل عادي ويقوم البرناج بتحويلها الى شفرات ليتكية وقد تم شرح احد ابسط هذه البرامج ويسمى TeXaide في المنتدى في قسم تعليم لغة الليتك وكيف كتابة المعادلات فيه اضافة الى الكثير من الشرح المدعم بالأمثلة عن بعض أكواد وأوامر الليتك وذلك لحاجة أعضاء المنتدى الى تلك الأكواد, وهذه أهم المواضيع المطروحة في هذا الشأن : * برنامج كتابة الليتك وبعض اوامرها * كيفية كتابة المعادلات ويرجى انتظار تحميل صفحات هذه الروابط لأنها تحوي العديد من الصور التوضيحية والمعادلات المستخلصة من اكواد الليتك . البرنامج TeXaide والذي شرحنا طيقة عملة بالتفصيل في المنتدى يقوم بكل الإجراءات الضرورية لكتابة الليتك , ولكن الليتك أكبر من أن يسيطر عليها برنامج صغير فلا يزال هناك علامات ورموز غير موجودة في البرنامج ولكن هذا لا يمثل أية مشكلة لان كتابتها سهلة جدا . فعلى سبيل المثال لن تجد العلامة والمستخدمة في علم المنطق الرسمي Informal Logic , أو السهم الدال على تزايد دالة . الملف التالي Symbols ( ملف PDF kb250 ) .ملف رائع ومختصر يتضمن العشرات والعشرات من أمثال هذه الرموز البسيطة وكذلك الدوال وكلها مع الأكواد الخاصة بها . وهو مفيد جدا لم يريد أن يكون فكرة عن أوامر الليتك بشكل عام . شبكة أرشيف التك الشاملة CTAN شبكة أرشيف التك الشاملة Comprehhensive TeX Archive Network واختصارا CTAN . تعتبر المرجع والمصدر الأول لكل ما يتعلق بالتك والليتك .فما ذكرناه في هذه الصفحة لا يتعدى ملخص قصيرا جدا عن الليتك , أما الأرشيف في الأرشيف فهناك الكثير من البرامج و التحديثات والإصدارات المختلفة والروابط لكثير من المواقع التي لها صلة بالليتك . المعلومات ومن يريد الإستزادة سواء من البرامج أو أي مواد أخرى فليرجع الى مجموعة مستخدمي التك TUG العالمية مجموعة مستخدمي التك TeX Users Group واختصارا TUG , مجموعة عالمية أعضاؤها من المهتمين بالتك والليتك من مستخدمين ومبرمجين ومطورين. المجموعة قائمة بأعضائها تهتم بثقافة الليتك من حيث ماهية التك والليتك , البرامج المستخدمة , ابحاث و أخبار عن كل مستجدات الساحة مجلات متخصصة . المجموعة TUG ليست الوحيدة فهناك مجموعات أخرى لها نفس الإهتمام وعناوينها موجودة على صفحات الموقع TUG. هذا المقالة سمح بنشرها في موقع وادي التقنية شبكة الرياضيات رمز. بقيت نقطة اللغة العربية وبرنامج LaTeX و سنؤجلها في مقال آخر.

Comments