اولین تجربه با LaTeX (‌کتاب آموزش ‎(C‎+‎+

·

3 min read

منبع این کتاب‌، سایت [CProgramming](Cprogramming.com "C Programming") است‌، که به نظرم یکی از کامل‌ترین منابع آموزش C‎+‎+‎ است که به صورت رایگان در سطح اینترنت قابل دسترسی است‌. در این PDF که با استفاده از LaTeX آماده شده‌، مجموعه پنج فصل از مطالب منتشر شده‌، روی سایت CProgramming در کنار هم قرار گرفته‌اند‌. در این پست قصد ندارم بیشتر از این به معرفی مطالب کتاب بپردازم و بیشتر به دنبال اشتراک گذاری تجربیاتم در آماده کردن این کتاب هستم‌. (‌این کتاب را می‌توانید از لینک پایان همین متن دریافت کنید‌)

اول از همه باید به ابزاری بپردازم که در آماده کردن این کتاب کمکم کرد‌! در واقع بدون این ابزار‌، کار عاقلانه‌ای به نظر نمی‌رسید که من تازه‌کار دست به آماده کردن چنین فایل بزرگی به زبان TeX بزنم. این نرم‌افزار [TeXmaker](xm1math.net/texmaker "texmaker official website") نام دارد و اسلکور کاران عزیز می‌توانند با این [Slackbuild](slackbuilds.org/repository/13.37/office/tex.. "texmaker slackbuild") آن را نصب کنند‌.

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

به طور کلی چیز‌های زیادی از کار با LaTeX در این پروژه‌ی شخصی یاد گرفتم‌، اما این PDF هنوز هم مشکلاتی دارد. آن‌هایی را که شناختم در زیر لیست می‌کنم‌:

  • فایل TeX آماده شده‌، بسیار حجیم هست‌، و در واقع اگر از TeXmaker استفاده نمی‌کردم محال بود که بتوانم آن را راحت مدیریت کنم‌. با توجه به این که LaTeX قابلیت تقسیم کردن پروژه به فایل‌های کوچک‌تر را دارد‌، باید از آن بهره بگیرم‌.
  • در مثال‌های کتاب که به زبان C‎++‎ بود‌، بسیاری از علامت‌ها نظیر #, &, >, < باید با علایم ویژه‌ی TeX نگاشته می‌شد‌. با این حساب دوست نداشتم که قوانین نوشتن پاراگرف هم در این مثال‌ها لحاظ شود‌، چون جز زیاد کردن مشقت خواندنشان‌ فایده‌ی دیگری نداشتند. به همین دلیل آن‌ها را در بلوک verbatim قرار می‌دادم‌. ولی متاسفانه این بلوک خطوط را نمی‌شکست و همین باعث بی‌نظمی در بعضی مثال‌ها شده است‌! ‌(‌باید به دنبال چاره‌ای برایش باشم‌)
  • تا جایی که توانستم ارجاعات متن را به مکان مربوطه لینک کردم‌، ولی ممکن است باز جاهایی از دستم در رفته باشد‌. این مشکلات و وجود علایمی مانند «‌>‌» که در لاتک به صورت علامت سوال سر و ته چاپ می‌شوند و برای رفع ایرادشان باید به روش‌هایی متوسل شد‌، بیشتر روی این نکته تاکید دارد که کسی که با لاتک کار می‌کند باید بداند چه متنی را تایپ می‌کند و مثل من یک دفعه متنی نا آشنا و نخوانده را به لاتک فشار ندهد‌!
  • برای ایجاد لینک‌هایی که کار کنند و رنگشان متفاوت باشد‌، از بسته‌ی url استفاده کردم‌. کار با آن فوق‌العاده آسان است‌، اما باز هم متاسفانه لاتک لینک‌ها را نمی‌شکست‌! ‌(‌نمی‌دانم عبارت «‌متاسفانه‌» در اینجا درست است یا نه‌) پس باید دستی این کار را می‌کردم و باز هم ممکن است جایی در متن نا همگونی رخ داده باشد‌.

حالا باید به سراغ چالش بعدی‌ام بروم‌. در نظر دارم که متن پروژه‌ی لیسانسم را با همین لاتک آماده کنم‌. در آن‌جا بحث کمی متفاوت است‌. متن فارسی با عبارات انگلیسی‌! این در حالی است که ساختار یافتگی متن خروجی لاتک می‌تواند بسیار کمکم کند‌. سعی می‌کنم به وقایع‌نگاری این تجربیاتم در [شاهینیسم](shahinism.com "وبلاگ شاهینیسم") بپردازم ;-)

[دریافت بسته‌ی کامل کتاب ‌(‌فایل TeX به همراه خروجی‌ها اعم از PDF‌)](db.tt/M8ZdSmf "C++ book on DropBox")