تخ

(تم التحويل من TeX)

تخ (إنگليزية: TeX؛ /tɛx,_tɛk/) هو نظام لصف الحروف (للطباعة) كتبه دونالد كنوث. صمم تخ -بالإضافة إلى لغة ميتا فونت لوصف الخطوط وخط الحاسوب الحديث- بهدفين رئيسيين؛ إتاحة إنتاج كتب عالية الجودة لأي شخص بمجهود معقول، وتوفير نظام يعطي نفس الناتج على أي حاسوب، الآن أو في المستقبل. ينسق الاسم على شكل TeX باستخدام تخ نفسه.

TeX
The TeX logo
المطوّردونالد كنوث
الإطلاق المبدئي1978; 46 years ago (1978
الإصدار المستقر
3.14159265 / يناير 2014; 10 years ago (2014-01
المستودعwww.tug.org/svn/texlive/،%20svn://tug.org/texlive/trunk
وضع التطويرMaintained
مكتوب بلغةWEB/پاسكال
نظام التشغيلCross-platform
النوعTypesetting
الرخصةPermissive free software
الموقع الإلكترونيtug.org
TeX
امتداد اسم الملف.tex
نوع وسائط الإنترنتapplication/x-tex [أ]
أول إصدار1978; 46 years ago (1978
نوع الصيغةDocument file format

يرى الكثيرون أن تخ أفضل نظام لكتابة المعادلات الرياضية المعقدة [1]. يشيع تخ بين الأكاديميين وخاصة وسط الرياضياتيين والفزيائيين. كما استبدل بشكل كبير troff -منسق مفضل آخر- على أنظمة يونكس، التي تستخدم كليهما لأغراض مختلفة. يستخدم أيضا تخ الآن في الكثير من الأغراض الطباعية الأخرى وخاصة في صورة لاتخ وغيره من حزم القوالب.

نوع MIME الشائع الاستخدام لملفات تخ هو application/x-tex. تخ برمجية حرة.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

التاريخ

عندما نُشر أول جزء من كتاب كنوث فن برمجة الحاسوب سنة 1969، تم تصفيفه باستخدام الطباعة المعدنية بواسطة آلة طباعة من القرن التاسع عشر من شركة مونوتايب، منتجة “طرازا تقليديا جيدا” أعجب به كنوث. عندما نشرت الطبعة الثانية في 1976 تعين إعادة تصفيف الكتاب من البداية لأن تقنيات مونوتيب استُبدلت بشكل كبير وحل محلها تقنيات النسخ الضوئي، ولم يعد الخط الأصلي متاحا. [2] ولكن عندما استلم كنوث عينات الكتاب في مارس 1977 لمراجعتها وجدها قبيحة [3] في هذه الأثناء رأي كنوث للمرة الأولى نتائج نظام طباعة رقمي عالي الجودة، وصار مهتما بالطباعة الرقمية. العينات غير المرضية أعطته الدافع ليحل هذه المشكلة مرة واحدة بتصميم نظامه الخاص للطباعة. في 13 مايو 1977 كتب ملاحظة لنفسه يصف فيها الخصائص الأولية لتخ.[4]

كان كنوث يخطط لإنهائه خلال إجازته سنة 1978 لكن اللغة لم تُجمّد إلا في 1989، متأخرا أكثر من عشر سنوات. في صيف 1978 زار گاي ستيل جامعة ستانفورد عندما كان كنوث يطور أول إصدارة من تخ. عندما عاد ستيل إلى معهد مساتشوستس للتكنولوجيا أعاد كتابة نظام دخْل/خرْج تخ ليعمل على نظام التشغيل ITS. كتبت أول إصداة من تخ بلغة البرمجة SAIL لتعمل على PDP-10 تحت نظام تشغيل ستانفورد WAITS. في الإصدارات التالية طور كنوث مفهوم البرمجة الأدبية، وهي طريقة لإنتاج كود مصدري مع توثيق عال الجودة (مصفوف باستخدام تخ طبعا) من نفس الملف الأصلي. اللغة المستخدمة تسمى WEB وتنتج برامج بلهجة باسكال الخاصة ب‍ DEC PDP-10.

نشرت إصدارة جديدة (مكتوبة من جديد من الصفر) من تخ في سنة 1982 باسم TeX82. من ضمن التغييرات استبدال خوارزمية قطع الكلمات (في نهاية السطر) بخوارزمية جديدة من تطوير فرانك ليانج. يستخدم TeX82 حسابات النقطة الثابتة بدلا من حسابات النقطة العائمة لضمان تكرار النتائج على عتاد الحواسيب المختلف، [5] ويحتوي على لغة برمجة تورنج كاملة، بعد إلحاح من Guy Steele. [6]

في 1989 أصدر كنوث إصدارة أخرى من تخ و ميتافونت.[7] بالرغم من رغبته في جعل البرنامج مستقر، وجد كنوث أن 128 محرفا مختلفا في دخْل تخ ليست كافية لاستيعاب اللغات الأجنبية؛ لذا كان التغيير الرئيسي في الإصدارة 3.0 هو إمكانية استخدام دخْل من 8 بتة مما يسمح ب‍ 256 محرفا مختلفا.

منذ الإصدارة 3 يستخدم تخ نظام ترقيم إصدارات تمييزي، حيث تميز الإصدارات بإضافة رقم في نهاية الرقم العشري بحيث يصل رقم الإصدارة إلى ط. هذا انعكاس لحقيقة أن تخ الآن مستقر جدا ولا يتوقع سوى تحديثات طفيفة. الإصدارة الحالية من تخ 3.1415926 صدرت في مارس 2008. تم تجميد التصميم بعد الإصدارة 3.0، ولن تضاف أي خصائص جديدة أو تغييرات أساسية بعد هذا، بحيث لا تحتوي الإصدارات الجديدة إلا على إصلاح للعلل البرمجية. على الرغم من أن كنوث نفسه أشار إلى عدة مواضع في تخ تحتاج إلى التحسين، إلا أنه وضح أنه يؤمن بشدة الحصول على نظام غير متغير سيعطي نفس الناتج الآن وفي المستقبل، أكثر أهمية من إضافة خصائص جديدة. لهذا السبب قرر أن “التغيير النهائي (بعد وفاتي)” سيكون تغيير رقم الإصدارة إلى ط، وعندها تصبح العلل الباقية مميزات.[8] وبالمثل فإصدارات ميتافونت بعد 2.0 تقترب بصمت من e، وسيحدث تغيير مماثل بعد وفاة كنوث.

مع هذا، وحيث أن كود تخ المصدري يكاد يكون ملكية عامة (انظر ما يلي)، يسمح (بل ويشجع صراحة) للمبرمجين الآخرين بتحسين النظام بشرط استخدام اسم آخر لتوزيع تخ المعدل، مما يعني أن الكود يمكن أن يتطور. فمثلا مشروع أوميجا طُوّر بعد 1991 ويهدف أساسا لإضافة إمكانيات تعدد اللغات إلى تخ. دونالد كنوث نفسه أنشأ نسخ معدلة “غير رسمية” من تخ مثل TeX-XeT التي تتيح الخلط بين أنظمة الكتابة من اليمين لليسار ومن اليسار لليمين.[9]


نظام الطباعة

تبدأ أوامر تخ غالبا بشرطة راجعة وتجمع بين أقواس مجعدة، مع هذا فتقريبا كل الخصائص النحوية لتخ يمكن تغييرها على الهواء مما يجعل تحليل مدخلات تخ صعبا على أي شيء عدا تخ نفسه. لغة تخ لغة ماكرو و رموز (token): الكثير من الأوامر بما فيها أغلب الأوامر التي يُعرّفها المستخدم يتم فكّها على الهواء حتى تبقى الرموز التي لا تفك فيتم تنفيذها. الفك في حد ذاته خال عمليا من الأعراض الجانبية. يجعل هذا من تخ لغة تورنج كاملة حتى على مستوى الفك.

يمكن تقسيم النظام إلى أربع مستويات: في الأول تقرأ الحروف من ملف الدخْل و تسند إلى رمز فئة (يسمى أحيانا “catcode” اختصارا). التجميعات من الشرطة الراجعة (أو أي محرف في الفئة 0) متبوعة بحروف (المحارف من الفئة 11) أو محرف واحد آخر، تستبدل برمز تتابع تحكم. مما يعني أن هذه المرحلة أشبح بالتحليل البنيوي، يالرغم من أنها لا تكون أعدادا من الأرقام. في المرحلة التالية تتابعات التحكم التي يمكن فكها تستبدل بنصها البديل. عندها يكون دخل المرحلة الثالثة تيار من المحارف (شاملة تلك التي تحمل معان خاصة) و تتابعات تحم لا تفك. هنا تركب المحارف لتكون فقرة. تعمل خوارزمية تقسيم الفقرات في تخ على أمثلة نقاط التقسيم عبر الفقرة بأكملها. المرحلة الرابعة تقطع القائمة الأفقية من السطور والمواد الأخرى لتشكل صفحات.

يعرف تخ بدقة أبعاد كل المحارف والرموز، وباستخدام هذه المعلومات يحسب الترتيب الأمثل للحروف في كل سطر والسطور في كل صفحة. بعدها ينتج ملف DVI (اختصار “DeVice Independent”) يحتوي المواضع النهائية لكل المحارف. يمكن بعدها طباعة ملف dvi مباشرة باستخدام مشغل الطابعة المناسب، أو تحويله إلى أنساق أخرى. هذه الأيام يستخدم بي‌دي‌إف‌تخ بكثرة متخطيا خطوة إنتاج ملف DVI.

يفهم نظام تخ حوالي 300 أمر، تسمى أوليات.[10] لكن هذه الأوامر منخفضة المستوى نادراً ما يستخدمها المستخدم مباشرة، وأغلب الوظائف توفرها ملفات التنسيق (صور طرح ذاكرة تخ بعد تحميل حزم الماكرو الكبيرة). تنسيق كنوث المبدئي الأصلي، والذي يضيف حوالي 600 أمر، يسمى تخ الصرف (يتوفر من CTAN). أكثر التنسيقات استخداما هو لاتخ، الذي بدأ تطويره ليزلي لامبورت، والذي يشمل أنساق المستندات مثل الكتب والخطابات والشرائح إلخ.. ويضيف دعم المراجع وترقيم الأقسام والمعادلات تلقائيا. ومن التنسيقات شائعة الاستخدام أيضا أ.م.س.تخ من مجتمع الرياضياتيين الأمريكيين والذي يوفر الكثير من الأوامر صديقة المستخدم والتي يمكن تغييرها لتناسب احتياجات دور النشر. أغلب مميزات أ.م.س يمكن استخدامها في لاتخ باستخدام “حزم” AMS. ومن التنسيقات الأخرى كنتكست الذي يستخدم أساسا للنشر المكتبي.

كيف يعمل تخ

 
صفحة عينة لتخ باستخدام حزمة لاتخ.

مثال على برنامج أهلا يا عالم باستخدام تخ الصِرف:

Hello, World
\end        % marks the end of the file; not shown in the final output

يمكن حفظ هذا باسم myfile.tex،حيث ‭.tex‬ هو امتداد ملفات تخ شائع.

يعتبر تخ أي شيء بعد علامة النسبة المؤوية تعليقا ويتجاهله. تشغيل تخ على هذا الملف (مثلا بكتابة tex myfile.tex في سطر الأوامر، أو استدعاؤه من الواجهة الرسومية) سينتج ملفا باسم myfile.dvi. يمكن طباعة الناتج مباشرة من عارض DVI أو تحويله إلى نسق أكثر شيوعا مثل PostScript باستخدام برنامج dvips. سبب هذا أن تخ يستخدم خطوط نقطية مصممة للعرض جيدا في حجم معين، بينما PostScript يستخدم خطوط متجهية. تنويعات تخ الأخرى مثل بي‌دي‌إف‌تخ تنتج ملفا PDF مباشرة.

أمثلة رياضياتية

يوفر تخ سياقا نصيا للمعادلات الرياضية. مثلا، معادلة ايجاد الجذور للمعادلات التربيعيه الشهيرة تكتب على الملف:

The quadratic formula is $-b \pm \sqrt{b^2 - 4ac} \over 2a$
\end

الناتج سيشبه:

 

انظر أيضا

ملاحظات

  1. ^ بيكاري, كلاديو (1997). "صف الرياضيات للعلم والتقانة طبقا ل ISO31XI" (PDF). {{cite web}}: Unknown parameter |الجزء= ignored (help); Unknown parameter |العمل= ignored (help)
  2. ^ دونالد إ. كنوث. الطباعة الرقمية. كلمة جائزة كيوتو، كيوتو، 1996. أعيد طبعها لتصبح الفصل الأول لكتاب الطباعة الرقمية.
  3. ^ الطباعة الرقمية, ص 5. “لقد مكثت 15 سنة أكتب هذه الكتب، وإذا كانت قبيحة فلا أريد الكتابة ثانيا.
  4. ^ دوانالد إ. كنوث. TEXDR.AFT، فصل 24 من كتاب "الطباعة الرقمية.
  5. ^ كنوث و بلاس، ص. 144
  6. ^ دونالد إ.كنوث، كنوث يقابل أعضاء NTG ، NTG: MAPS. 16 (1996), 38–49. أعيد طبعه ليكون الفصل 33 من كتاب "الطباعة الرقمية" الأسألة والأجوبة، III، ص. 648.
  7. ^ دونالد إ. كنوث. "الإصدارة الجديدة من تخ وميتافونت"، TUGboat ‏10 (1989)، 325–328؛ 11 (1990)، 12. أعيد طبعه ليكون الفصل 29 من "الطباعة الرقمية".
  8. ^ دونالد إ.كنوث مستقبل تخ و ميتافونت"، جريدة NTG ‏(1990)، 489. أعيد طبعها لتكون الفصل 30 من "الطباعة الرقمية"، ص. 571.
  9. ^ دونالد إ. كنوث و بيري ماكاي. خلط النصوص من اليمين لليسار مع النصوص من اليسار لليمين، TUGboat‏ 8 (1987)، 14–25. أعيد طبعه ليكون الفصل 4 من الطباعة الرقمية.
  10. ^ كتاب تخ، ص. 9.

ملاحظات

وصلات خارجية

قالب:TeX navbox قالب:TeX editors قالب:Free and open-source typography قالب:Donald Knuth navbox