لي‌تك‌ - نگاهي به تاريخچه، ويژگي‌ها و كاربرد سيستم حروفچيني LaTex

ترجمه و تدوين: سيد مصطفي ناطق‌الاسلام‌
ماهنامه شبکه - دي ۱۳۸۵ شماره 72

اشاره :

براي تايپ كردن يك متن و تهيه يك سند از آن، شايد راحت‌ترين كار آن باشد كه پشت كامپيوترتان بنشينيد، برنامه واژه‌پرداز آشناي خود را باز كنيد و شروع به تايپ كردن نماييد. اگر متن شما كوتاه، يا كم‌اهميت يا به هر حال داراي عمر مفيد كوتاهي باشد، احتمالاً هدف شما فقط آن است كه متن را تايپ كنيد، و ظاهر آن را با كارهايي كه در محيط يك واژه‌پرداز معمول است، مانند انتخاب متن، تغيير دادن اندازه، آرايش، رنگ و نوع فونت‌ها، <درست> كنيد. با انجام دادن چنين كارهايي، احتمالاً به طور تقريبي به شمايلي كه مي‌خواهيد به متنتان بدهيد، دست مي‌يابيد، اما هنگامي كه سندتان را ذخيره كرديد و از برنامه واژه‌پرداز خارج شديد، هيچ ردي از كارهايي كه انجام داده‌ايد، ترتيب آن‌ها و علت انجام دادنشان بر جا نخواهيد گذاشت؛ جز ساختار ظاهري سندي كه ساخته‌ايد. اگر سند شما نسبتاً كوچك يا كم‌اهميت باشد، احتمالاً اشكال مهمي پيش نمي‌آيد. اما اگر بخواهيد سندي بسازيد كه نسبتاً طولاني يا پيچيده است، يا به طور مستمر بخواهيد سندهايي بسازيد كه بايد ساختار يكسان و هماهنگي داشته‌باشند، استفاده از همان واژه‌پرداز دوست‌داشتني براي انجام چنين كارهايي مي‌تواند يك شكنجه حقيقي باشد. ابزارهاي اتوماسيون تِك بر اين مبنا به وجود آمده‌اند كه انجام دادن چنين كارهايي را آسان نمايند و ساختار متن را به آسان‌ترين و بهترين شكل ممكن مديريت و آرايش نمايند.


 TeX (بخوانيد: تك) يك سيستم حروفچيني است كه توسط دونالد كانوت طراحي شده ‌است و همراه با زبان متافونت كه مخصوص طراحي و توصيف فونت‌ها است و همچنين مجموعه سبك حروف (يا Typeface كه امروزه تقريباً، و نه به طور دقيق، همان مفهوم فونت را دارد.) Computer Modern مجموعه‌اي كامل از ابزارهاي حروفچيني را تشكيل مي‌دهند. كانوت هنگام ساختن اين سيستم دو هدف در ذهن داشت: نخست اين‌كه هر كسي بتواند با بهره‌گرفتن از اين سيستم متون مورد نياز خود را با كيفيت بالا حروفچيني و صفحه‌آرايي نمايد، و ديگر آن كه خروجي اين سيستم روي همه كامپيوترها و در همه زمان‌ها دقيقاً يكسان باشد.

تِك اساساً يك مجموعه نرم‌افزار رايگان است و در محيط‌هاي مختلف كاري، خصوصاً در دانشگاه‌ها و انتشارات دانشگاهي بسيار مورد توجه و استفاده قرار گرفته‌است و مي‌توان گفت نرم‌افزارهاي مشابه خود را كه در گذشته وجود داشته‌اند (مانند Unix troff) كنار رانده‌است.

تاريخچه‌
در سال 1969 نخستين جلد از كتاب كانوت تحت عنوان <هنر برنامه‌نويسي كامپيوتري> به چاپ رسيد. اين كتاب با سيستم مونوتايپ كه ريشه آن به قرن نوزدهم ميلادي برمي‌گردد، حروفچيني شده ‌بود و صفحات و متن آن به صورتي شكيل و قابل قبول به چاپ رسيدند. اما هنگامي كه در سال 1976، ويرايش دوم جلد دوم اين كتاب آماده چاپ شد، تمام كتاب بايد از نو حروفچيني مي‌گرديد؛ چراكه فناوري مونوتايپ تقريباً منقرض شده و جاي خود را به روش‌هاي فوتوگرافيك داده ‌بود. از اين رو فونت‌هايي كه در حروفچيني جلد اول كتاب به كار رفته‌ بود، ديگر در دسترس نبود.

كانوت در سي‌ام مارس 1977 نسخه پيش از چاپ كتابش را دريافت كرد، و حروفچيني آن را بسيار بد و نازيبا ديد. در همين دوره بود كه وي براي نخستين بار خروجي يك سيستم حروفچيني ديجيتالي را مشاهده كرد كه كيفيت بالايي داشت و به صفحه‌بندي ديجيتالي علاقمند شد. نسخه پيش از چاپ كتاب خودش كه حروفچيني و صفحه‌بندي بسيار نااميدكننده‌اي داشت، انگيزه‌ نهايي را به وي داد تا مشكل حروفچيني را به شكل ريشه‌اي حل كند و سيستم حروفچيني خودش را ايجاد كند. در سيزدهم ماه مي سال 1977 وي يادداشتي نوشت كه در آن خصوصيات اصلي TeX را تعيين كرده ‌بود.

كانوت تصميم گرفت سيستم حروفچيني خود را در تعطيلات دانشگاهي سال 1978 تكميل كند، اما پايان اين كار تا سال 1988، يعني بيش از ده سال بعد به طول انجاميد. در تابستان 1978 كه كانوت در استنفورد مشغول كار روي اولين نسخه ‌TeX بود، گاي استيل (Guy steele)، يك متخصص علوم كامپيوتر از MIT هم در استنفورد حضور داشت و در جريان كارهاي كانوت قرار گرفت. هنگامي كه استيل به MIT بازگشت، سيستم ورودي-خروجي TeX را براي اجرا تحت سيستم عامل ITS بازنويسي كرد. نسخه‌ اول TeX با زبان برنامه‌نويسي SAIL نوشته شده ‌بود كه روي يك كامپيوتر PDP-10 و تحت سيستم عامل WAITS اجرا مي‌شد. كانوت براي نسخه‌هاي بعدي TeX مفهوم literate programming را ابداع نمود كه عبارت بود از روشي براي توليد كد منبع قابل كامپايل شدن و همچنين متون حاوي پيوندهاي متقاطع و با كيفيت بالا، از يك فايل واحد. زباني كه به اين منظور به كار مي‌رفت، WEB نام داشت و نهايتاً برنامه‌هايي به زبان پاسكال توليد مي‌نمود.

در سال 1982، نگارش جديدي از تِك به نام TeX 82 ارائه گرديد كه به طور كامل دوباره‌نويسي ‌شده ‌بود. اين نگارش تفاوت‌هاي مهمي با نسخه‌هاي پيشين داشت. از جمله اين تغييرات، الگوريتم ‌هايفن‌گذاري (hyphenation algorithm) جديدي بود كه توسط Frank Liang نوشته شده و به طور كامل جايگزين الگوريتم هايفن‌گذاري نگارش‌هاي قبلي تِك شده‌بود. TeX 82 همچنين براي ايجاد نتايج يكسان روي سخت‌افزارهاي مختلف، در محاسبات داخلي خود تماماً از اعداد صحيح استفاده مي‌نمود و اعداد اعشاري را به كار نمي‌گرفت.
 
اعداد اعشاري روي سخت‌افزارها و سكوهاي مختلف نرم‌افزاري با دقت‌هاي متفاوتي ذخيره و بازيابي مي‌شوند. اين مسئله يكي از مشكلات كلاسيك در دنياي برنامه‌نويسي است و اغلب باعث عملكرد متفاوت يك كد واحد روي سكوهاي مختلف مي‌شود. سازندگان TeX 82 با بهره‌گيري از اعداد صحيح براي انجام تمامي محاسبات از مواجهه با اين نوع مشكلات جلوگيري كردند. همچنين TeX 82 به يك زبان برنامه‌نويسي واقعي مجهز شده‌بود كه نتيجه اصرار و پافشاري  گاي استيل بود.

در سال 1989 كانوت نگارش جديدي از تِك و متافونت را ارائه داد. در اين زمان او متوجه اين مسئله شده بود كه 128 كاراكتر اسكي براي نمايش حروف مورد نياز در زبان‌هاي مختلف كافي نيست. از اين رو از نسخه 0.3 به بعد، قابليت كار كردن با ورودي‌هاي هشت بيتي به تِك افزوده شد كه بدين ترتيب استفاده از 256 كاراكتر مختلف را براي وارد كردن متن ممكن مي‌ساخت.

از نگارش 0.3 به بعد، شماره‌گذاري نگارش‌هاي تِك براساس نوعي فرمول‌بندي خاص رياضي انجام مي‌پذيرد كه اصطلاحاً idiosyncratic خوانده مي‌شود. در اين سيستم ارتقاي شماره نگارش به شكلي انجام مي‌شود كه شماره نگارش‌هاي آن نهايتاً به عدد پي (14/3) نزديك شود (ميل كند). اين‌گونه سيستم شماره‌گذاري‌ به اين واقعيت اشاره دارد كه تِك در حال حاضر بسيار پايدار است و  ممكن است تنها اصلاحاتي جزئي لازم داشته باشد. شماره نگارش فعلي تِك 141592.3 است و در دسامبر 2002 ارائه شده‌است.

طراحي كلي سيستم تِك از نگارش 0.3 به بعد تغييري نكرده است و فقط اشكال‌هاي جزئي آن در نگارش‌هاي بعدي برطرف شده‌اند. كانوت شخصاً زمينه‌هايي را كه تِك احتمالاً مي‌توانست در آن‌ها بهتر شود، مطرح كرده‌است. اما در عين حال تأكيد دارد كه حفظ سيستمي كه همواره خروجي يكسان و سازگاري توليد نمايد، مهم‌تر از اضافه كردن امكانات جديد به اين مجموعه است. به همين منظور كانوت گفته است كه آخرين تغيير اعمال شده در تِك (كه بايد بعد از مرگ وي صورت پذيرد) تغيير شماره نگارش آن به عدد پي است و پس از آن همه باگ‌هاي باقي‌مانده در تِك بايد به عنوان خصوصيات آن شناخته شوند! به همين ترتيب شماره نگارش‌هاي متافونت هم از نگارش 0.2 به بعد به عددe  ميل مي‌كند و تغيير مشابهي بعد از مرگ كانوت اعمال خواهد‌شد.

اما هيچ يك از اين‌ها به معني بسته بودن يا ايستايي روند توسعه‌ مجموعه TeX نيست. تِك با مجوز نرم‌افزار آزاد ارائه مي‌شود و كد منبع آن در دسترس همگان قرار دارد. برنامه‌نويسان و توسعه‌دهندگان آزادند (بلكه از جانب توسعه‌دهندگان تِك ترغيب هم مي‌شوند) كه كد اين مجموعه را به دلخواه خود تغيير دهند، اما بايد نسخه‌ تغيير يافته خود را تحت نامي ديگر ارائه دهند. بدين ترتيب چندين نگارش اختصاصي يا بهبود يافته از تِك ارائه شده‌اند كه در ادامه با چند نمونه از مهم‌ترين آن‌ها آشنا خواهيم‌شد.

ظهور LaTeX
تِك با همه مزايايي كه دارد، براي استفاده گسترده و كاربرپسند داراي يك مشكل اساسي است: تِك يك زبان برنامه‌نويسي واقعي، گسترده و مشكل است كه يادگيري و به‌كارگرفتن آن براي  كاربران عادي پرزحمت و غيراقتصادي است. LaTeX (بخوانيد: لِي تِك) كه در سال 1984 توسط Leslie Lamport به وجود آمد، در واقع تكميل تِك بود؛ با همه‌ چيزهايي كه لازم بود به آن اضافه شود تا به محصولي قابل استفاده براي عموم تبديل گردد. تعداد زيادي امكانات امنيتي و پيغام‌هاي خطا، همچنين قالب‌هاي متن مختلف (كتاب، نامه، گزارش و ...)، امكانات فراوان براي ايجاد فصل‌ها، بخش‌ها، فهرست مطالب، فهرست راهنما ‌(Index)، فهرست منابع ‌(Bibliographic Index) و ايجاد پيوندهاي مورد نياز براي ساختن اين فهرست‌ها در متن سند، از جمله امكاناتي هستند كه در كنار سيستم حروفچيني و صفحه‌بندي تِك، لِي‌تِك را به وجود مي‌آورند.

از زمان ارائه لِي‌تِك، استفاده از آن، به شيوه‌ اصلي بهره‌گيري از سيستم تِك براي توليد اسناد تبديل شده‌است. اهميت تِك به عنوان قلب اصلي سيستم، همچنان محفوظ است، اما كاربران عموماً با لِي‌تِك كار مي‌كنند. تِك و لِي‌تِك هر دو با مجوزهاي نرم‌افزار آزاد منتشر شده‌اند و كد منبع آن‌ها در دسترس همگان قرار دارد، اما مجوزي كه لِي‌تِك تحت آن انتشار مي‌يابد‌ LaTeX Project Public License) LPPL) است؛ نه GPL معروف. تفاوت اصلي LPPL باGPL در آن است كه بر اساس LPPL فايل‌هايي كه در هر نسخه يا توزيع جديد نسبت به نگارش قبلي تغيير محتوا پيدا مي‌كنند بايد تغيير نام هم داده شوند تا در ارجاعات ميان فايل‌ها ناسازگاري ايجاد نشود. سعي بر آن است كه نگارش‌هاي بعدي LPPL با GPL سازگار شوند.

دونالد اروين كانوت‌

دونالد اروين كانوت، متولد دهم ژانويه 1938، متخصص برجسته علوم كامپيوتر و استاد بازنشسته دانشگاه استنفورد است. عمده شهرت كانوت به خاطر تأليف كتاب چند جلدي <هنر برنامه‌نويسي كامپيوتر> است كه از معتبرترين منابع آكادميك در عرصه‌ علوم كامپيوتر به شمار مي‌رود.
او شاخه تحليل دقيق الگوريتم‌ها را در علوم كامپيوتر ايجاد نمود و در عرصه‌هاي مختلف علوم نظري كامپيوتر فعاليت‌ها و دستاوردهاي علمي مهمي داشته‌است.
وي سيستم حروفچيني تِك و سيستم طراحي فونت متافونت را ايجاد نمود و مفهوم literate programming را در علوم كامپيوتر مطرح كرد. چندين جايزه مهم علمي را دريافت كرده است و در دانشگاه‌ها و محافل آكادميك عضويت دارد متعدد عضويت دارد، كه از آن جمله مي‌توان به دريافت مدال ملي علوم (1979)، جايزه جان فون نويمن (1995) و جايزه كيوتو (1996)، عضويت در آكادمي علوم فرانسه (از 1992) و عضويت در انجمن سلطنتي لندن (از 2003) اشاره نمود.

چه كسي به LaTeX نياز دارد؟
اگر متني كه شما درصدد تبديل كردن آن به يك سند هستيد، يك يا چند مورد از خصوصيات ذيل را دارد، احتمالاً براي ايجاد ساختار آن به ابزاري توانمند مانندLaTeX  نيازمنديد: متن به فصل‌ها و بخش‌هاي مختلف تقسيم‌بندي مي‌شود، طولاني است، ساختارهاي تكراري فراواني در آن وجود دارند، از نظر مفهومي يا ظاهري پيچيده است، حاوي تعداد زيادي
- شكل
- جدول‌
- تمرين

جعبه‌ متن يا ساختارهاي مشابه است، لازم است با دقت زيادي ساختاربندي شود، يك كپي اصلي از آن جهت ارجاعات يا چاپ‌هاي آينده مورد نياز است، يك متن رسمي است كه نيازمند توجه خاص است، كتاب، مقاله، تز يا يك راهنما است كه شما شخصاً مي‌نويسيد و به همين دليل براي شما مهم است، سند شما يا دست كم بخشي از آن ممكن است در آينده دوباره ويرايش يا چاپ شود.

استفاده از يك ويرايشگر متن (حتي از نوع ساده آن) براي نوشتن ساختار سند و نهايتاً سپردن كار توليد خروجي نهايي به تِك، بهبود عظيمي در روند كاري و نحوه تفكر شما، نسبت حالتي كه از يك واژه‌پرداز استفاده نماييد، پديد مي‌آورد.
 
هنگامي كه سند خود را <برنامه‌نويسي> مي‌كنيد، از وقفه‌هاي ذهني و حركتي متوالي در جريان كارتان بي‌نياز مي‌شويد؛ چرا كه ديگر لازم نيست مانند وقتي كه با واژه‌پرداز كار مي‌كرديد، دائماً به تغيير‌دادن اندازه‌، نوع و آرايش فونت‌ها، تغيير كادر، و انجام كارهاي مختلف ديگر با استفاده از ماوس بپردازيد.

شما در ميان متنتان پيغامي براي موتور تِك مي‌گذاريد كه مثلاً، اين يك عنوان است يا فلان عكس را در اينجا وارد كن. تِك هنگام توليد سند نهايي، اين كار را به سازگار‌ترين و شكيل‌ترين نحو ممكن انجام خواهد داد.

مسئله مهم ديگري كه شايد در حين كار با واژه‌پردازها متوجه آن شده ‌باشيد اين است كه اساساً تعيين كردن نسبت اندازه فونت‌ها، فواصل، نحوه قرارگيري كادرها و مسائلي از اين دست در يك سند، به نحوي كه ظاهر آن چه روي صفحه‌ نمايشگر و چه بعد از چاپ روي كاغذ، زيبا و حرفه‌اي باشد، به هيچ عنوان كار ساده و سريعي نيست.
 
اگر سند شما حاوي ساختارهاي پيچيده‌اي مانند فرمول‌هاي رياضي، نمودار، جدول و مواد مشابه باشد، كار باز هم سخت‌تر مي‌شود.

شايد براي شما هم پيش آمده ‌باشد كه وقت زيادي براي تهيه يك سند و آراستن آن به شيوه‌اي كه دوست داريد (يا فكر مي‌كنيد درست است) صرف كنيد و نهايتاً وقتي آن را چاپ مي‌كنيد، از حاصل كار دلسرد شويد. مثلاً ممكن است عناوين فصل‌ها را براي خوانايي بهتر زياده از حد بزرگ كنيد، به نحوي كه بعد از چاپ، توي چشم بزند، يا اين كه فونت‌هاي مختلف را به نحوي نازيبا با هم به كار برده‌باشيد.

واقعيت آن است كه اگرچه دسترسي به ابزارهاي نشر روميزي امروزه بسيار آسان شده‌است، براي تهيه سندي كه حروفچيني و صفحه‌آرايي زيبا و متناسبي داشته‌ باشد، فقط دانستن نحوه كار با يك واژه‌پرداز كافي نيست يا شايد اصلاً به كار نيايد. چنين جزئياتي در حيطه تخصص و تجربه‌ حرفه‌اي‌هاي گرافيك، حروفچيني و صفحه‌بندي قرار دارند. مجله‌ها و ناشران مختلف براي تدوين اختصاصي اندازه‌ها و نسبت فواصل در صفحات نشريات خود افراد زبده‌اي را به خدمت مي‌گيرند.

يكي از مهم‌ترين مزيت‌هاي تِك اين است كه امكان تنظيم بسيار دقيق اندازه‌ها و فواصل را فراهم مي‌كند. سيستم داخلي اندازه‌گيري تِك فواصل را دقيق‌تر از طول موج نور مرئي، اندازه‌گيري و تعيين مي‌نمايد! اما چنين امكاناتي فقط به درد حرفه‌اي‌ها مي‌خورد. خبر خوب آن كه، تنظيمات پيش‌فرض در تِك و مخصوصاً در قالب مجموعه لِي تِك بر اساس تجربه‌هاي چندصدساله‌ حروفچين‌ها و صفحه‌بندهاي كامپيوتري و غيركامپيوتري ايجاد شده و خروجي‌هاي بسيار زيبايي را براي شما به ارمغان مي‌آورند. در عين حال، مجبور نيستيد با اين پيش‌فرض‌ها كار كنيد. مي‌توانيد اندازه‌ها و فواصل را در سند خودتان با دستورات متنوعي كه در اختيار داريد، تغيير دهيد، يا فايل‌هاي Style يا پكيج‌هاي مختلف را از اينترنت دريافت نماييد و آن‌ها را بر سند خود اعمال كنيد يا حتي فايل‌هاي Style خود را بسازيد، ذخيره نماييد يا منتشر كنيد. همه چيز در اختيار شماست!

به طور خاص، تِك به عنوان بهترين گزينه براي حروفچيني متوني كه حاوي فرمول‌هاي رياضي متعدد هستند، شناخته مي‌شود و در واقع يكي از مهم‌ترين اهداف اوليه كانوت، ايجاد سيستمي بود كه فرمول‌هاي رياضي را به شكلي دقيق، صحيح و البته شكيل و زيبا حروفچيني نمايد. اگر تاكنون تجربهِ وارد كردن يك فرمول رياضي را در متن خود در برنامه‌اي مانند Microsoft Office Word داشته‌ايد، حتماً به دشواري انجام دادن اين كار واقف هستيد و در ضمن براي اين كار لازم است پكيج ‌Microsoft Equation را روي سيستم خود نصب كرده‌باشيد تا از امكانات فرمول‌نويسي Word استفاده نماييد.

حال فرض كنيد كه يك سند Word را كه حاوي فرمول‌هاي رياضي است، روي كامپيوتر خودتان تهيه، ويرايش و ذخيره كرده‌ايد. اگر اين سند را روي كامپيوتر ديگري كه Word مايكروسافت روي آن نصب شده‌است باز كنيد، ممكن است متوجه شويد كه شكل ظاهري فرمول‌ها نسبت به آن چه كه روي كامپيوتر خودتان ديده مي‌شد تغيير كرده يا اصلاً بعضي از حروف و علايم رياضي كه شما وارد كرده‌ايد، روي اين دستگاه جديد جاي خود را به علايم ديگري داده‌اند! چنين مشكلاتي را من و دوستانم بارها تجربه كرده‌ايم و چاره‌اي جز كنار آمدن با شرايط و دستكاري مجدد فايل‌ها نداشته‌ايم.

در مقابل، شما مي‌توانيد هر نوع فرمول و علايم رياضي را با آرايش دلخواهتان توسط تِك بنويسيد و فايل خروجي نهايي روي همه‌ كامپيوترها به شكل يكساني توليد مي‌شود و به نمايش درمي‌آيد.

آنچه كه مي‌بيني، آن چيزي نيست كه دريافت‌ خواهي‌كرد
يك رهيافت اصلي در ايجاد اسناد توسط كامپيوتر، اصطلاحاً WYSIWYG (بخوانيد: ويزي‌ويگ) خوانده مي‌شود كه مخفف عبارت What you see is what you get است. اين همان رهيافتي است كه به پيدايش برنامه‌هايي مانندWord مايكروسافت منجر شده. در محيط چنين برنامه‌هايي شما سند خود را در هر لحظه به شكلي مي‌بينيد كه در همان لحظه اگر چاپ شود، روي كاغذ ظاهر مي‌شود.

در محيط‌هايي مانند تِك، شما سند خود را برنامه‌نويسي مي‌كنيد و نهايتاً براي ديدن سند به شكلي كه بعد از چاپ ديده‌خواهد شد، بايد كد كامل شده را كامپايل كنيد. فرآيند كامپايل كردن و مشاهده خروجي نهايي همزمان با وارد كردن متن به ويرايشگر انجام نمي‌شود. بنابراين محيط‌هاي لِي‌تِك غالباً به طور مستقيم و همزمان WYSIWYG نيستند. اگرچه اين رهيافت ممكن است براي كاربراني كه به استفاده از ابزارهاي بصري WYSIWYG هم‌زمان عادت كرده‌اند خوشايند نباشد، باز هم مزيت‌هاي بسياري دارد. مهم‌ترين آن‌ها همانگونه كه در ابتدا گفتيم آن است كه روال كاري و فكري كاربر در حين تايپ كردن سند خود به طور مداوم به هم نمي‌خورد. در ضمن تغييراتي كه در ظاهر سندتان مي‌دهد چون بايد به شكل كد بيان شوند، دقيق و منسجم اعمال مي‌شوند و مديريت آن‌ها هم ساده‌تر مي‌شود.

اگر قصد داريد ادامه اين مقاله را بخوانيد و احتمالاً استفاده از تِك را امتحان كنيد، تغيير رويه از WYSIWYG همزمان به رهيافت غيرهمزمانِ آن، احتمالاً سخت‌ترين كاري است كه بايد انجام دهيد، اما نهايتاً كار خيلي سختي هم نيست.

محيط LyX يكي از محيط‌هاي مبتني بر تِك است كه بر مبناي ذهنيت متفاوتي ساخته شده كه WYSIWYM
(سرنام  What you see is what you mean) خوانده ‌مي‌شود. در اين محيط مي‌توانيد در يك پنجره متن سند خود را وارد نماييد و برنامه‌نويسي كنيد و در پنجره‌اي در كنار آن در هر لحظه شكل خروجي سند حاصل از كارتان را ببينيد.

چگونه شروع كنيم؟
همان گونه كه گفته شد، تِك در واقع يك زبان برنامه‌نويسي است كه براي حروفچيني و صفحه‌بندي ايجاد شده و از اين جهت به زبان‌هايي مانند X) HTML) يا XML شبيه است. همچنين گفته شد كه به دليل سختي و پيچيدگي زبان تِك، نسخه كاربرپسند آن با نامLaTeX  به وجود آمد. براي بهره گرفتن از امكانات اين زبان، ابتدا لازم است آن را ياد بگيريد. فرآيند يادگيري، بسته به هدفي كه شما داريد و ميزان استفاده‌اي كه مي‌خواهيد از تِك بنماييد، مي‌تواند كوتاه يا بلندمدت باشد.
 
اگر هدف شما ياد گرفتن لِي‌تِك در حدي است كه سندهاي عادي روزمره يا سندهاي نسبتاً بزرگ اما ساده را با آن ايجاد، ذخيره و مديريت نماييد، فرآيند يادگيري براي شما احتمالاً بيش از يكي دو روز به طول نخواهد انجاميد. لازم است بار ديگر يادآور شويم كه براي چنين كاربردهايي هم ياد گرفتن لِي‌تِك به زحمتش مي‌ارزد؛ چرا كه شما با لِي‌تِك اسناد روزمره خود را  با حجم كم و به طور سازگار و شكيل ايجاد و مديريت خواهيد‌كرد.

اگر قصد داريد كارهاي بزرگ‌تر و پيچيده‌تري را به لِي‌تِك بسپاريد، بايد سرمايه‌گذاري زماني طولاني‌تري انجام دهيد، كه احتمالاً در ميان‌مدت بازدهي خوبي براي شما خواهد داشت. در ادامه ما نصب و راه‌اندازي يك سيستم مبتني برLaTeX را قدم به قدم توضيح مي‌دهيم و با ارائه‌ يك مثال ساده، شيوه‌ كار با آن را بررسي مي‌نماييم.

نصب يك سيستم مبتني بر LaTeX
مانند بيشتر زبان‌هاي برنامه‌نويسي متداول، براي استفاده مؤثر از LaTeX به سه چيز نياز داريد:

يك هسته يا موتور مركزي LaTeX به همراه كتابخانه‌هاي اصلي و متداول آن‌

يك ويرايشگر متن اختصاص يافته براي LaTeX، يا يك ويرايشگر متن مانند Emacs كه داراي حالت كار با LaTeX  باشد. (اختياري)

يك نوع محيط توسعه، كه ابزارهاي بصري مناسب را در اختيار شما قرار دهد و به طور قابل ملاحظه‌اي حجم كدنويسي دستي شما را كاهش دهد. (اختياري)

اگر يكي از توزيع‌هاي پرشمار سيستم‌عامل لينوكس (مخصوصاً يك نسخه جديد و مشهور) روي كامپيوتر شما نصب است، احتمالاً نيازي به نصب برنامه يا بسته جديدي براي كار كردن با LaTeX نداريد؛ چرا كه بيشتر بسته‌ها و برنامه‌هاي مورد نياز براي كار با LaTeX در حين نصب سيستم‌عامل لينوكس به طور پيش‌فرض روي كامپيوتر شما نصب شده‌اند. اگر در حين نصب سيستم عامل لينوكس، اين نوع بسته‌ها را نصب نكرده‌ايد، مي‌توانيد با استفاده از ديسك‌هاي نصب سيستم‌عامل آن‌ها را نصب كنيد. بسياري از كاربراني كه تحت سيستم عامل لينوكس با LaTeX  كار مي‌كنند، از ويرايشگر متن Emacs و حالت اختصاصي آن براي LaTeX براي وارد كردن و برنامه‌نويسي سندهاي تِك استفاده مي‌كنند.

در سيستم‌عامل ويندوز بايد همه‌ بسته‌ها و برنامه‌هاي مورد نياز براي كار كردن با تِك را خودتان نصب كنيد. پيشنهاد ما استفاده از بسته معروف MIKTeX به عنوان موتور اصلي LaTeX است. اين بسته را مي‌توانيد از Sourceforge.net دريافت كنيد. به ياد داشته باشيد كه مرجع اصلي براي دريافت اطلاعات و بسته‌هاي مختلف تِك، سايت CTAN.org مي‌باشد.

براي وارد كردن و برنامه‌نويسي سندهاي تِك در ويندوز هم گزينه‌هاي متعددي وجود دارد. به طور كلي استفاده از يك ويرايشگر متن اختصاص‌يافته براي كدنويسي تِك به هيچ عنوان اجباري نيست، اما غالباً باعث سهولت در كار و صرفه‌جويي در وقت است.

لسلي لمپارت‌

لسلي لمپارت، متولد 1941 است. ليسانس خود را در رشته رياضي در سال 1960 از دانشگاه MIT دريافت كرد و فوق‌ليسانس و دكتراي خود را هم به ترتيب در سال‌هاي 1963 و 1972 از دانشگاه برندايس در رشته‌ رياضي دريافت نمود.

وي سپس به عنوان متخصص علوم كامپيوتر در شركت‌هايي نظير موسسه فناوري ماساچوست MIT) ،SRI)، ديجيتال و كامپك مشغول كار شد و در سال 2001 به مركز تحقيقات مايكروسافت در كاليفرنيا پيوست. تحقيقات وي نقش مهمي در نظريه سيستم‌هاي توزيع يافته داشته‌اند.
 
در علوم كامپيوتر نيز بيشتر شهرت وي به دليل تحقيقاتش در زمينه منطق زمانمند (Temporal logic) است. دكتر لمپارت تاكنون سه دكتراي افتخاري از سه دانشگاه اروپايي دريافت كرده است: از دانشگاه‌هاي رِنِس و كريستين آلبرشت در سال 2003 و از دانشگاه EPFL در سال 2004. همچنين در سال 2004 جايزه Piore از طرف IEEE به وي اهدا گرديد.

در ويندوز مي‌توانيد مانند لينوكس ويرايشگر متن معروف Emacs را نصب نماييد و از حالت اختصاصي تِك در آن استفاده كنيد. به ياد داشته ‌باشيد كه ابزاري مانند Emacs، يك ويرايشگر متن خوانده مي‌شود، اما امكانات و توانايي‌هاي پرشمار آن هرگز با چيزي مثل Notepad قابل قياس نيست.

گزينه رايگان ديگر WinShell است كه رابط كاربري ساده و مفيدي دارد و به ويژه براي شروع كار با تِك مفيد است. اغلب كاربران ترجيح مي‌دهند از ويرايشگر تجاري WinEdt براي كدنويسي TeX استفاده كنند كه داراي امكانات بصري فراوان و پشتيباني فني مناسب (در صورت خريد مجوز استفاده) است و البته استفاده آزمايشي از آن تا يك ماه رايگان است.
 
ما استفاده از يك ويرايشگر جديد به نام TeXnicCenter را پيشنهاد مي‌كنيم كه هنوز در مرحله بتا است، اما به خوبي كار مي‌كند، رايگان است و در ضمن امكانات بسياري را مانند محيط WinEdt در اختيار شما قرار مي‌دهد.
 
محيط‌هاي ويرايشي پيشرفته‌اي مانند WinEdt و TeXnicCenter به شما امكان مي‌دهند قسمت عمده‌اي از كدنويسي سند خود را به ابزارهاي بصري آن‌ها محول كنيد و به اين نحو حجم كدنويسي شما را تا حد زيادي كاهش مي‌دهند.

اگر از ابتدا قصد استفاده از TeX براي ايجاد سندهايي به زبان فارسي را داريد، چند گزينه پيش روي شماست. استفاده از ويرايشگر ساده و جمع و جور FarsiTeX امروزه بسيار متداول است.

اما اين ويرايشگر امكانات پرشمار محيط‌هايي مانند WinEdt را در اختيار شما قرار نمي‌دهد. گزينه ديگر TeX پارسي است كه امكانات وسيع‌تري را در اختيار شما مي‌گذارد، اما رابط كاربري چندان رضايت‌بخشي ندارد.
 
TeX پارسي توسط شركت داده‌كاوي ايران تهيه شده و چندين ناشر معتبر ايراني مانند انتشارات انجمن رياضي ايران و انتشارات دانشگاه صنعتي شريف از آن استفاده مي‌كنند، اما ظاهراً با سيستم عامل ويندوزاكس‌پي چندان سازگار نيست و به همين دليل ما براي شروع فارسي‌نويسي در تِك همان ويرايشگر ساده FarsiTeX را پيشنهاد مي‌كنيم.

چگونگي نصب و پيكربندي يك سيستم تِك براي خط و زبان فارسي را در ادامه توضيح خواهيم داد و در اينجا نحوه نصب يك سيستم تِك متداول كه به طور معمول براي نگارش به زبان انگليسي به كار مي‌رود را شرح مي‌دهيم.

در هر صورت شما ابتدا بايد بسته MIKTeX و بعد از آن ويرايشگر انتخابي خود را نصب نماييد. معمولاً بعضي برنامه‌هاي كمكي مانند GSView (براي مشاهده فايل‌هاي PS ،EPS ،EPI ،PRN  و PDF) همراه با توزيع‌هاي مختلفTeX نصب مي‌شوند كه البته مي‌توانيد به طور انتخابي آن‌ها را نصب نكنيد، اما بهتر است به برنامه نصب اجازه دهيد كه طبق پيش‌فرض‌هايش آن‌ها را نصب كند.

براي دريافت MikTeX مي‌توانيد به سايت miktex مراجعه كنيد و علاوه بر آشنايي با اين بسته نرم‌افزاري و چگونگي نصب آن، فايل‌هاي مورد نيازتان را دريافت نماييد، يا مي‌توانيد مستقيماً به صفحه اختصاصي MiKTeX روي سايت sourceforge.net/projects/miktex/) Sourceforge) برويد. دقت كنيد كه بسته مناسب را بر اساس سيستم عامل خود انتخاب كنيد و به خاطر داشته ‌باشيد كه بسته‌هاي MiKTeX فعلاً با سيستم‌عامل ويندوز ويستا سازگار نيستند.

براي دريافت برنامه TeXnicCenter مي‌توانيد به آدرس اينترنتي
sourceforge.net مراجعه كنيد و Emacs هم از سايت رسمي و اختصاصي آن، gnu.org/software قابل دريافت است. همچنين فارسي‌تِك و منابع مرتبط با آن را  مي‌توانيد در سايت رسمي آن، farsitex.org بيابيد. پس از نصب MIKTeX و يك ويرايشگر مناسب، آماده هستيد كه نخستين سندتان را با LaTeX بسازيد.

آغاز كار: يك سند ساده‌
ويرايشگر متني را كه براي كار كردن با TeX انتخاب و نصب كرده‌ايد باز كنيد و كد شكل 1 را در آن وارد كنيد.
نام و مشخصات نويسنده را در اين كد به نام و مشخصات خودتان تغيير دهيد و قسمت‌هاي ديگر را عيناً وارد نماييد. اجزاي مختلف اين كد را با هم بررسي مي‌كنيم:

{documentclass [a4paper,12]{report\


چنين عبارتي در ابتداي هر سند تِك ظاهر مي‌شود. ‌documentclass\ از دستورهاي اصلي تِك است كه به دنبال آن بايد نوع سند در آكولاد مشخص شود. چهار قالب اصلي سند در تك عبارتند از letter (نامه)، article (مقاله)، report (گزارش) و book. هر يك از اين قالب‌ها امكانات و اجزايي از پيش طراحي‌شده دارند كه شما را در تهيه سندي شكيل و ساختاريافته كمك مي‌كنند. مشخصات هر يك از اين قالب‌ها را مي‌توانيد در هر جزوه آموزشي تِك و همچنين در فايل‌هاي راهنماي بسته ‌MiKTeX بيابيد.
 

شكل 1

عبارات داخل (كروشه)‌ اجباري نيستند و مي‌توانيد آن‌ها را وارد نكنيد. ما در اينجا عبارت a4paper را وارد كرده‌ايم تا سندمان در اندازه صفحه A4 كه در ايران متداول است، توليد شود. همچنين براي اين كه اندازه فونت متن اصلي 12 باشد، عبارت 12pt را بعد از آن گنجانده‌ايم. قالب report با تغييرات متنوعي كه مي‌توان در آن اعمال كرد، براي ايجاد بيشتر انواع سند، مانند مقاله، گزارش، نامه، كتاب و پايان‌نامه مناسب است. قالب‌هاي فراوان ديگري هم در بسته‌ي LaTeX موجود هستند و بسياري ديگر نيز روي سايت CTAN قرار دارند كه قابل دريافت و استفاده هستند.

{‌begin {document\


اين عبارت به همراه {document{begin\ اصطلاحاً يك محيط ‌(environment) را تشكيل مي‌دهند و هرچه ميان اين دو عبارت بيايد، در اين محيط قرار دارد. محيط‌ها اجزاي اصلي سند را تشكيل مي‌دهند و بزرگ‌ترين و اصلي‌ترين محيط در همه سندها كه تمامي محيط‌هاي ديگر در داخل آن قرار مي‌گيرند، محيط document است. بديهي است كه همه محيط‌ها بايد داراي يك نقطه آغاز و يك نقطه شروع باشند و نقاط ابتدا و انتهاي محيط‌هاي متداخل بايد به شكل غيرمتقاطع باشد.

{!title {My first \ LaTex \experience\
author{Seyyed Mostafa NategholEslam\\Department Of Physics\\Shahid\
{Beheshti University 
{date {October 2006\
maketitle\


محيط report داراي امكان اضافه كردن يك صفحه‌ عنوان ‌(title) است كه در آن مي‌توان به ترتيب نام سند، نام نويسنده يا نويسندگان، محل كار يا تحصيل آن‌ها و تاريخ نگارش سند را درج نمود. عبارات فوق به ترتيب اين اطلاعات را در قالب معين‌شده ارائه مي‌دهند و سپس دستور maketitle\ صفحه عنوان را ايجاد مي‌كند.

دقت كنيد كه تمامي دستورها در تِك با \ شروع مي‌شوند. همچنين آوردن \\ در ميان متن باعث شروع يك سطر جديد مي‌شود.

{begin{abstract} ....\end{abstract\


اين محيط هم از محيط‌هاي اختياري در قالب report است. در اين محيط شما مي‌توانيد خلاصه‌‌اي از محتوا و مضمون سندي كه در دست تهيه داريد بنويسيد.

.‌This is a line of comment% 


هر گاه علامت % در جايي از يك سطر از كد تِك بيايد، مابقي آن سطر از سوي كامپايلر به عنوان توضيحات فرض شده و در سند نهايي ظاهر نخواهدشد.
 
براي آوردن خود علامت % در متن بايد آن را بعد از يك علامت‌ \ قرار داد؛ همان طور كه در ابتداي متن اصلي مشاهده مي‌كنيد. امكان اضافه كردن كامنت در درون سند، يكي از امتيازهاي بزرگ تِك در مقايسه با محيط‌هايي مانند Office است. مي‌توانيد انواع يادداشت‌ها، تذكرات، تصحيحات احتمالي و موارد مشابه را به عنوان كامنت در فايل كد سند خود وارد كنيد و اين كامنت‌ها در سند نهايي ظاهر نخواهند‌شد.


{end{document\


با اين عبارت محيط اصلي سند كه همان محيط document است به پايان مي‌رسد.

فايلي را كه عبارات فوق را در آن وارد كرده‌ايد با پسوند tex ذخيره نماييد. براي توليد سند نهايي بايد اين فايل را به موتور تِك بدهيد تا فايل خروجي را براي شما بسازد. اگر در محيطي مثل TeXnicCenter يا WinEdit كار مي‌كنيد، كافي است دكمه ‌Build را از نوار ابزار فشار دهيد يا دستور مربوط به آن را از فهرست‌ها پيدا و اجرا كنيد.

به طور سنتي ايجاد خروجي قابل چاپ در دو يا سه مرحله انجام مي‌شود. ابتدا يك فايل DVI كه بيشتر به منظور مشاهده شكل خروجي سند شما است، توليد مي‌شود و در مرحله‌ بعد يك فايل پست‌اسكريپت ‌(ps) يا pdf از فايل DVI  ساخته مي‌شود.

چون امروزه فرمت‌هاي DVI و پست‌اسكريپت كاربرد زيادي (مخصوصاً براي كاربران خانگي و اداري) ندارند، در بسته‌هاي جديدتر تِك معمولاً اين امكان وجود دارد كه شما مستقيماً سندتان را در قالب يك فايل pdf بسازيد. در محيط‌هايي مثل WinEdit اين كار به راحتي و بدون نياز به تنظيم خاصي ممكن است.

اما اگر ويرايشگر اختصاص‌يافته‌اي را براي كار كردن با تِك نصب نكرده‌باشيد، باز هم فقط با نصب بسته MiKTeX  مي‌توانيد فايل خروجي مورد نظر را بسازيد. براي اين منظور بايد موتورLaTeX  را از خط فرمان فرابخوانيد. مثلاً اگر فايل شما First.tex نام دارد و در خط فرمان هم به پوشه حاوي اين فايل آمده‌باشيد، كافي است در خط فرمان تايپ كنيد:

latex first.tex


اگر فايل شما حاوي خطا نباشد، با اجراي اين دستور در خط فرمان، فايل DVI سند شما در همان پوشه فايل اصلي ايجاد مي‌شود. فايل DVI را با برنامه‌اي مانند YAP مي‌توانيد باز كنيد و ببينيد. در ضمن YAP مي‌تواند از اين فايل يك فايل PS براي شما بسازد كه براي چاپ مناسب است. اما چون فايل‌هايPS  امروزه كمتر از گذشته رواج دارند، مي‌توانيد از ابتدا دستور زير را به جاي دستور بالايي وارد كنيد:

pdflatex first.tex


در واقع با اين دستور شما موتور pdflatex را به جاي موتور اصلي latex فراخوانده‌ايد و حاصل كار مستقيماً يك فايلpdf است.

يادگرفتن LaTeX
لِي‌تِك اساساً زبان بسيار راحتي است و طراحان آن به ويژه به سهولت يادگيري آن توجه كرده‌اند. براي ياد گرفتن لِي‌تِك احتمالاً سريع‌ترين راه اين است كه يكي از جزوه‌هاي آموزشي رايگان لِي‌تِك را از اينترنت دريافت كنيد و در طول يك يا چند روز آن را مطالعه كنيد و تمرين‌ها را انجام دهيد. يادگيري لِي‌تِك معمولاً تجربه لذت‌بخشي است و در پايان دوره آموزشي كوتاهتان، زباني را ياد گرفته‌ايد كه توانايي بالايي در ايجاد و مديريت اسنادتان به شما مي‌دهد و از بسياري از دردسرهاي كار كردن در محيط‌هاي واژه‌پرداز نجاتتان مي‌دهد. پس مي‌توانيد همين الا‌ن شروع كنيد!

 

منبع