دسته‌ها
نرم افزار

لی‌تک به درد همه نمی‌خورد، ولی شاید به درد شما بخورد

برگرفته شده از ویکی لاتک پارسی

مقدمه

هرکس که مدتی با مایکروسافت ورد کار کرده باشد، تا حالا به قانون‌های زیر درباره‌اش پی برده است:

  • احتمال قفل‌کردن برنامه نسبت مستقیم دارد با اهمیت نوشته‌ای که تایپ می‌کنید.
  • احتمال قفل‌کردن برنامه نسبت عکس دارد با زمانی که تا مهلت نوشتن باقی مانده است.
  • احتمال قفل‌کردن برنامه نسبت مستقیم دارد با زمانی که از آخرین ذخیره‌کردن نوشته گذشته است.

از شوخی که بگذریم، من هم نوشته‌های بزرگ زیادی را با Word تایپ کرده‌ام. البته این روزها می‌توانم با اپن آفیس (OpenOffice) هم کار کنم که نرم‌افزار بسیار خوبی است و هرکاری را که بخواهم می‌کند. ولی پس از سروکله‌زدن‌های بسیار با Word، وقتی دانشجوی دکتری شدم تصمیم گرفتم LaTeX را هم امتحان کنم. راستش، خیلی هم به دلخواه خودم نبود؛ قرار بود مقاله‌ای را به یک مجله بفرستم و فهمیدم که آن مجله فقط نوشته‌های LaTeX را می‌پذیرد. مهلت فرستادن مقاله همان روزی بود که من از فراخوان مقاله باخبر شدم! مجبور شدم پابرهنه بپرم به وسط LaTeX، و خب حدس می‌زنید که اصلاً کار آسانی نبود. (نکتهٔ آموزشی: هیچ گاه یک چیز تازه را با عجله یاد نگیرید!)

ولی من از رو نرفتم و کم‌کم فهمیدم که کار با LaTeX آن‌قدرها هم سخت نبود. مدتی طول کشید تا یادش بگیرم، ولی برای نوشته‌های ساده‌ای که من معمولاً می‌نوشتم، چیز زیادی برای یادگرفتن نبود. خیلی خوشحالم که آن وقت‌ها دلسرد نشدم، زیرا الان اصلاً دوست ندارم نوشته‌ها و گزارش‌هایم را با چیزی جز LaTeX بنویسم. البته من تنها کسی نیستم که از ترک دنیای ویزی‌ویگ (WYSIWYG) خوشحال است.

این مقاله قرار نیست خودآموز استفاده از LaTeX باشد. فقط می‌خواهم کمی از خوبی‌های LaTeX بگویم و این که چرا فکر می‌کنم امکانات LaTeX به امکانات نرم‌افزارهای واژه‌پرداز (مثل Word) سر است.

لی‌تک چیست؟

در سال ۱۹۷۸، دونالد کانوت (Donald Knuth) -که یکی از مشهورترین و معتبرترین دانشمندان علوم کامپیوتر است- شروع به ساخت یک سیستم حروف‌چینی به نام تک (TeX) کرد. طراحی زبان تک پس از ده سال تمام شد (خودش در آغاز فکر می‌کرد یک سال بیشتر طول نخواهد کشید‍!). تک می‌توانست چیدمان (layout) نوشته‌ها را به طرز حیرت‌آوری تنظیم کند. البته این قدرت زیاد باعث می‌شد که خیلی هم پیچیده باشد.

تا این که در دههٔ ۱۹۸۰ کسی به نام لسلی لمپرت (Leslie Lamport) مجموعه‌ای از ماکروها را طراحی کرد تا از این پیچیدگی‌ها بکاهد. کار او باعث شد تا حروف‌چینی نوشته‌ها آسان‌تر شود، و در ضمن محتوای نوشته و ظاهر آن از هم مستقل باقی بماند. این سیستم جدید لی‌تک (LaTeX) نام گرفت.

لی‌تک درواقع یک زبان نشانه‌گذاری (Markup language) است. محتوا در یک پروندهٔ متنی نوشته می‌شود و نشانه‌گذاری‌ها به شکل فرمان‌هایی بین متن قرار می‌گیرند و مشخص می‌کنند که هر بخش از نوشته چه‌طور نمایش یابد. مفسر LaTeX آن پرونده را می‌خواند، محتوا را به شکل یک نوشته درمی‌آورد و یک پروندهٔ خروجی می‌سازد. همان طور که می‌بینید، LaTeX مثل نرم‌افزارهای واژه‌پرداز معمولی نیست.

جدا بودن محتوا و ظاهر نوشته

برتری بزرگ LaTeX در این موضوع برای کاربران Word چندان واضح نیست، زیرا آن‌ها نمی‌دانند که این ویژگی چه‌قدر خوب است. وقتی با LaTeX نوشتهٔ خود را می‌نویسید، فقط به محتوای نوشته فکر می‌کنید و ساختار متن را مستقیماً به LaTeX می‌گویید؛ مثلاً می‌گویید که از این‌جا به بعد یک بخش جدید آغاز می‌شود، ولی لازم نیست به این فکر کنید که عنوان بخش چه‌شکلی باید تایپ شود.

این درست برعکس کاربران Word است که بلافاصله عنوان نوشته را انتخاب کرده و قالب‌بندی‌اش می‌کنند (مثلاً آن را بزرگ می‌کنند، یا فونتش را تغییر می‌دهند). نکته این‌جاست که این کار باید در کل نوشته با دست اعمال شود. در مقابل، LaTeX برای قالب‌بندی از سبک‌های تعریف‌شده‌ای استفاده می‌کند. این سبک‌ها می‌گویند که هر بخش از نوشته چه‌طور باید نمایش یابد. اگر مثلاً خواستید فونت عنوان همهٔ بخش‌های نوشته‌تان را تغییر دهید، کافی است که تعریف آن سبک را عوض کنید تا کل نوشته خودبه‌خود به‌روز شود. خوبی این روش این است که نوشته‌تان خودسازگار و هماهنگ باقی می‌ماند.

البته Word هم این ویژگی سَبْک (Style) را دارد. ولی از آن‌جا که بکاربردن این ویژگی اختیاری است، کاربران معمولاً نمی‌دانند که چنین ویژگی‌ای هم اصلاً هست. LaTeX مجبورتان می‌کند که ساختار منطقی نوشتهٔ خود را مشخص کنید (و کار خیلی خوبی می‌کند!) و برای همین است که می‌تواند از نوشتهٔ شما یک خروجی بسیار زیبا بسازد.

انعطاف‌پذیری

می‌توانید با LaTeX هرکاری که فکرش را می‌کنید انجام دهید! در طول سالیان دراز، بسته‌های بسیار زیادی ساخته شده‌اند که ویژگی‌های LaTeX را گسترش می‌دهند و بیشتر آن‌ها هم به رایگان در دسترس هستند. برای نمونه، کاربران اصلی LaTeX که دانشگاهیان و پژوهشگران هستند بستهٔ Bibtex را به کار می‌برند که نوشتن و مدیریت مراجع مقالات را بسیار آسان می‌کند (من همیشه برای همکاران Wordکارم که مراجع را با دست تایپ می‌کنند افسوس می‌خورم). بسته‌های دیگری هستند که با آن‌ها می‌توانید نت‌های موسیقی بنویسید، حرکات شطرنج را نمایش دهید، و هزار کار دیگر. با توجه به سابقهٔ زیاد تک، هر کاری که با LaTeX بخواهید بکنید احتمالش زیاد است که کسی قبلاً بسته‌ای برایش نوشته باشد.

تسلط بر نوشته

حتی در نوشته‌های کوتاه هم شاید شما با رفتار غیرهوشمندانهٔ Word روبه‌رو شده‌باشید. مثلاً گاهی وقت‌ها می خواهید تصویری را در پایین صفحه بگذارید و می‌دانید که تصویر در آن‌جا جا می‌شود، ولی Word نمی‌گذارد آن‌جا بگذاریدش! یا مثلاً در یک نوشتهٔ ۳۰ صفحه‌ای پر از شکل و جدول، یک بعدازظهر را صرف می‌کنید تا همه‌چیز مرتب شود؛ همهٔ تصاویر سرجای خودشان باشند و غیره. آن وقت می‌فهمید که یک جای نوشته‌تان کمی گنگ است و تصمیم می‌گیرید آن‌جا را کمی بیشتر توضیح دهید. یک جمله به متن اضافه می‌کنید، و می‌بینید که یکی از تصویرها به صفحهٔ بعد می‌پرد و یک فضای خالی بزرگ در پایین صفحه باقی می‌گذارد! بعد می‌فهمید که در یک واکنش زنجیره‌ای، همهٔ تصویرها و جدول‌هایتان تا آخر نوشته به هم ریخته‌اند! واقعاً خنده‌دار است. در مقابل، LaTeX خیلی باهوش‌تر است و تصویرها و جدول‌هایتان را همیشه در جاهای معقول می‌گذارد. بنابراین اگر خواسته باشید که تصویرتان در پایین یک صفحه بماند، آن تصویر همیشه همان پایین می‌ماند!

البته با این که LaTeX در جزئیات حروف‌چینی به جای شما تصمیم می‌گیرد، ولی اگر بخواهید، می‌توانید روی نمایش نوشته‌تان اختیار کامل داشته باشید.

کیفیت

به سختی می‌توان این موضوع را انکار کرد که کیفیت خروجی‌های LaTeX بسیار فراتر از خروجی‌های Word است. این برتری وقتی آشکارتر می‌شود که نوشتهٔ شما پر از روابط ریاضی باشد. LaTeX همچنین الگوریتم‌های بسیار بهتری برای ترازبندی متن، شکستن کلمات و غیره دارد که باعث می‌شود خروجی شما بسیار حرفه‌ای‌تر به نظر برسد.

مردم معمولاً یادشان می‌رود که حروف‌چینی یک مهارت حرفه‌ای است. حروف‌چین‌ها سال‌ها آموزش می‌بینند تا بیاموزند که یک کتاب را چگونه حروف‌چینی کنند. اما به محض این که شما برنامهٔ واژه‌پردازتان را باز می‌کنید، مرتکب اشتباهات حروف‌چینی می‌شوید. مثلاً حروف‌چین‌ها می‌دانند که خواندن سطرهایی که پهنایشان ۶۶ حرف است آسان‌تر است. به کتاب‌هایتان نگاه کنید و تعداد حرف‌ها را بشمارید! ولی تنظیم پیش‌فرض واژه‌پردازها به طور میانگین ۱۰۰ حرف در هر سطر است. حدس می‌زنم که خیلی‌ها برایشان مهم نیست، ولی اگر قرار باشد نوشته‌های بزرگ زیادی را بخوانید، برایتان مهم می‌شود.

یک مثال فوری. یک نوشتهٔ LaTeX را که پیش‌تر با آن ساختار نوشته‌ها را در LaTeX معرفی کرده‌بودم برداشتم. همان نوشته‌ها را در Word هم نوشتم و سبک‌های معادل Word را رویش اعمال کردم. همه‌جا از سبک‌های پیش‌فرض استفاده کردم. در Word سبکی برای چکیده وجود نداشت، برای همین فقط عنوان را پررنگ کردم. خروجی Word را با خروجی LaTeX مقایسه کنید. سبک‌هایی که Word به کار می‌برد چندان خوب نیستند. البته می‌توان این سبک ها را آن‌قدر دستکاری کرد که تاحدی شبیه LaTeX شوند، ولی من ترجیح می‌دهم این کار را نکنم و به جایش با همان LaTeX خودم کار کنم!

بیشتر کتاب‌ها با LaTeX حروف‌چینی می‌شوند. واژه‌پردازها برای این کار معمولاً آن قدر خوب نیستند- آن ها را فقط نویسندگان برای نوشتن به کار می‌برند و نوشته‌هایشان بعداً به نرم‌افزار حروف‌چینی حرفه‌ای منتقل می‌شود. البته با Word هم می‌شود کتاب‌ها را حروف‌چینی کرد، همان‌طور که با پا هم می‌شود رانندگی کرد، ولی کار عاقلانه‌ای نیست!

پایداری

یکی از دلایلی که مردم با Word مشکل دارند این است که Word در هنگام ویرایش نوشته‌های طولانی زیاد قفل می‌کند. «بازیابی نوشته‌ها» (Document Recovery) یکی از ویژگی‌های پرکاربرد Word است. نمی‌دانم چرا مایکروسافت به جای طراحی این ویژگی روی پایداری نرم‌افزارش بیشتر کار نمی‌کند! (البته پایداری لزوماً قابل‌تعمیم نیست. من فقط از تجربهٔ شخصی خودم و دوستانم حرف می‌زنم. کسی را هم نمی‌شناسم که تا حالا دچار مشکل ناپایداری Word نشده باشد، ولی معنی‌اش این نیست که چنین کسی وجود ندارد.)

از آن‌جا که LaTeX بسیار کامل است، و برنامه‌نویسان بسیار باهوشی آن را ساخته‌اند، اشکالات آن بسیار کم است. حتی اگر هم اشکالی وجود داشته باشد، هیچ‌گاه پروندهٔ ورودی شما از دست نمی‌رود. ولی در Word، اگر هر ابزارش قفل کند، می‌تواند نوشتهٔ شما را نابود کند.

و در ضمن، در LaTeX نیازی نیست نگران ویروس‌هایی باشید که در ماکروهای Word پنهان می‌شوند!

قیمت

در این مورد LaTeX هیچ حرفی باقی نمی‌گذارد، چون رایگان است! ضرب‌المثل «هرچی بیشتر پول بدی، بیشتر آش می‌خوری» دربارهٔ LaTeX صادق نیست، درست مثل بیشتر نرم‌افزارهای آزاد/متن‌باز. شما با یک نرم‌افزار بسیار قوی و پایدار روبرویید که سال‌ها از رقیبانش جلوتر است.

غلط‌ یاب املایی چه‌طور؟

نکتهٔ خوبی است. این یک کمبود LaTeX نیست، زیرا LaTeX فقط متنی را پردازش می‌کند که شما به آن می‌دهید. اما در ویرایشگر متن، بر خلاف Word، شما خط‌های قرمزی را که اشتباه‌های املایی یا دستوری را یادآوری می‌کنند نمی‌بینید. و این چیزی است که بیشتر کاربران می‌خواهند داشته باشند.

به نظر من داشتن یک غلط‌یاب دستوری چیز خوبی نیست. کسی که واقعاً برای نوشتن نیازمند غلط‌یاب دستوری است، بهتر است به جای تکیه‌کردن بر توصیه‌های به دردنخور غلط‌یاب، برود یک کتاب دستور زبان بخواند.

دوم، وجود ویژگی اصلاح خودکار اشتباه‌های املایی (auto-correct)، هرچند که چیز خوبی به نظر می‌آید، در درازمدت مفید نیست. درست است که اشتباه‌های رایج ما را برطرف می‌کند، ولی باعث می‌شود که نتوانیم از اشتباه‌هایمان بیاموزیم. اگر هربار که به جای the می‌نویسیم teh، قرار باشد Word آن را برایمان اصلاح کند، هیچ‌گاه نمی‌فهمیم که داریم اشتباه می‌کنیم. با این حال، اگر فکر می‌کنید که خیلی نیازمند این ویژگی هستید، به آسانی می‌توانید هر ویرایشگر متن آبرومندی را مجهز به غلط‌یاب املایی کنید. برنامه‌های Ispell و Aspell رایج‌ترین غلط‌یاب‌های املایی هستند که هر دو متن‌بازند و می‌توانند با ویرایشگرهای متن یک‌پارچه شوند.

فرایند یادگیری

خب پس چرا همه با LaTeX کار نمی‌کنند؟ زیرا کار با LaTeX نیاز به «کمی» آموزش دارد. باید کمی وقت بگذارید تا کار با LaTeX را یاد بگیرید. ولی خیلی زود می‌فهمید که LaTeX ارزش این زمان کم را داشت. ساده‌ترین نوشتهٔ LaTeX چنین چیزی است:

% hello.tex - Hello world Latex example
\documentclass{article}
\begin{document}
Hello World!
\end{document}

این دستورات این خروجی را می‌سازند. خیلی هم پیچیده نبود، نه؟ برای آموختن مقدمات LaTeX، می‌توانید راهنمای LaTeX را ببنید.

پس LaTeX برای چه کسانی خوب است؟

خیلی ساده، هر کسی که نوشته‌های نه‌چندان ساده می‌نویسد و از محیط ناکارآمد واژه پردازها خسته‌شده، LaTeX را درخواهد یافت! اگر شما کار دانشگاهی می‌کنید، احتمالاً مجبورید با LaTeX کار کنید! هرکس که باید نوشته‌های مربوط به ریاضی بنویسد، نرم‌افزاری قوی‌تر و باکیفیت‌تر از LaTeX پیدا نخواهد کرد. حتی دانشنامهٔ ویکی‌پدیا هم برای نوشتن رابطه‌های ریاضی در مقاله‌هایش، LaTeX را به کار می‌برد.

LaTeX برای آدم‌های خیلی تنبل یا آن‌هایی که تغییر را دوست ندارند خوب نیست! برای من این تغییر کاملاً سودآور بود، زیرا الان می‌توانم نوشته‌ها و گزارش‌هایم را با سرعت بیشتری بنویسم. هرکسی می‌تواند LaTeX را امتحان کند و تفاوتش را ببیند و تصمیم بگیرد که چه نرم‌افزاری را برای نوشتن به کار ببرد.

منبع: