تخ (برمجية)
نبذة تاريخية

عندما نُشر أول جزء من كتاب دونالد كانوث فن برمجة الحاسوب سنة 1969، تم تصفيفه باستخدام الطباعة المعدنية بواسطة آلة طباعة من القرن التاسع عشر من شركة مونوتيب، منتجة “طرازا تقليدي جيد” أعجب به دونالد كانوث، وعندما نشرت الطبعة الثانية في 1976 تعين إعادة تصفيف الكتاب من البداية لأن تقنيات مونوتيب إستُبدلت بشكل كبير وحل محلها تقنيات النسخ الضوئي، ولم يعد الخط الأصلي متاحا، ولكن عندما استلم كانوث عينات الكتاب في مارس 1977 لمراجعتها وجدها قبيحة  في هذه الأثناء رأي كانوث للمرة الأولى نتائج نظام طباعة رقمي عالي الجودة، وصار مهتما بالطباعة الرقمية. العينات غير المرضية أعطته الدافع ليحل هذه المشكلة مرة واحدة بتصميم نظامه الخاص للطباعة. في 13 مايو 1977 كتب ملاحظة لنفسه يصف فيها الخصائص الأولية لتخ.
كان كانوث يخطط لإنهائه خلال إجازته سنة 1978 لكن اللغة لم تُجمّد إلا في 1989، متأخرا أكثر من عشر سنوات. في صيف 1978 زار جاي لويس ستيل الإبن جامعة ستانفورد عندما كان كانوث يطور أول إصدارة من تخ، عندما عاد لويس ستيل إلى معهد ماساتشوست للتكنولوجيا MIT أعاد كتابة نظام دخْل/خرْج تخ ليعمل على نظام التشغيل آي تي أس . كتبت أول إصداة من تخ بلغة البرمجة سايل SAIL لتعمل على الحاسبات العملاقة من النوع بي دي بي - 10  تحت نظام تشغيل ستانفورد وايتس ، في الإصدارات التالية طور كانوث مفهوم البرمجة الأدبية، وهي طريقة لإنتاج كود مصدري مع توثيق عال الجودة (مصفوف باستخدام تخ طبعا) من نفس الملف الأصلي. اللغة المستخدمة تسمى ويب وتنتج برامج بلهجة باسكال الخاصة ب‍بي دي بي - 10  لشركة ديجيتال إكوبمينت.
نشرت إصدارة جديدة (مكتوبة من جديد من الصفر) من تخ في سنة 1982 باسم TeX82. من ضمن التغييرات استبدال خوارزمية قطع الكلمات (في نهاية السطر) بخوارزمية جديدة من تطوير فرانك ليانج ، يستخدم TeX82 حسابات النقطة الثابتة بدلا من حسابات النقطة العائمة لضمان تكرار النتائج على عتاد الحواسيب المختلف،  ويحتوي على لغة برمجة تورنغ كاملة، بعد إلحاح من جاي لويس ستيل الإبن.
في 1989 أصدر كانوث إصدارة أخرى من تخ وميتا فونت ، بالرغم من رغبته في جعل البرنامج مستقر، وجد كانوث أن 128 محرفا مختلفا في دخْل تخ ليست كافية لاستيعاب اللغات الأجنبية؛ لذا كان التغيير الرئيسي في الإصدارة 3.0 هو إمكانية استخدام دخْل من 8 بتة مما يسمح ب‍ 256 محرفا مختلفا.
منذ الإصدارة 3 يستخدم تخ نظام ترقيم إصدارات تمييزي، حيث تميز الإصدارات بإضافة رقم في نهاية الرقم العشري بحيث يصل رقم الإصدارة إلى ط. هذا انعكاس لحقيقة أن تخ الآن مستقر جدا ولا يتوقع سوى تحديثات طفيفة. الإصدارة الحالية من تخ 3.1415926 صدرت في مارس 2008. تم تجميد التصميم بعد الإصدارة 3.0، ولن تضاف أي خصائص جديدة أو تغييرات أساسية بعد هذا، بحيث لا تحتوي الإصدارات الجديدة إلا على إصلاح للعلل البرمجية. على الرغم من أن كانوث نفسه أشار إلى عدة مواضع في تخ تحتاج إلى التحسين، إلا أنه وضح أنه يؤمن بشدة الحصول على نظام غير متغير سيعطي نفس الناتج الآن وفي المستقبل، أكثر أهمية من إضافة خصائص جديدة. لهذا السبب قرر أن “التغيير النهائي (بعد وفاتي)” سيكون تغيير رقم الإصدارة إلى ط، وعندها تصبح العلل الباقية مميزات.
وبالمثل فإصدارات ميتافونت بعد 2.0 تقترب بصمت من ثابت إيه e ، وسيحدث تغيير مماثل بعد وفاة كانوث.
مع هذا، وحيث أن كود تخ المصدري يكاد يكون ملكية عامة (انظر ما يلي)، يسمح (بل ويشجع صراحة) للمبرمجين الآخرين بتحسين النظام بشرط استخدام اسم آخر لتوزيع تخ المعدل، مما يعني أن الكود يمكن أن يتطور. فمثلا مشروع أوميجا طُوّر بعد 1991 ويهدف أساسا لإضافة إمكانيات تعدد اللغات إلى تخ. دونالد كانوث نفسه أنشأ نسخ معدلة “غير رسمية” من تخ مثل TeX-XeT التي تتيح الخلط بين أنظمة الكتابة من اليمين لليسار ومن اليسار لليمين.