فهرست مندرجات
آشنایی مقدماتی با LaTeX
آشنایی و نصب
تاریخچه مختصری از صنعت چاپ و حروفچینی
در دوره پیش از صنعت چاپ و حروفچینی، کتاب با نسخهبرداری به طور دستی پدید میآمد و انتشار مییافت. کار نسخهبرداری از یک کتاب، کاری سخت، دشوار و بسیار زمانگیر بود. از سوی دیگر نمونههای آماده شده نیز با یکدیگر بسیار متفاوت بودند. این وضعیت تا اختراع گوتنبرگ، در سال ١۴۴٠ میلادی، ادامه داشت. تکامل در صنعت چاپ و حروفچینی را میتوان به چهار دوره تقسیم کرد.
دوره گوتنبرگ، شروع ١۴۵٠ میلادی
اساس اختراع گوتنبرگ اینگونه بود که ابتدا نقش حروف بر اجسام مناسب کندهکاری میشد و سپس با ریختن فلز مذاب در این قالبهای کنده کاریشده، حروف فلزی ایجاد میشد. سپس حروف ایجاد شده کنار هم قرار میگرفت تا کلمات و پاراگرافها شکل گیرد و یک صفحه کامل پدید آید. صفحه پدیدآمده با حروف فلزی را به جوهر آغشته میکردند و با قرار دادن آن روی برگ کاغذ، یک صفحه از کتاب چاپ میشد. از آن زمان عمل چیدن حروف کنار هم، برای پدیدآوردن واژهها و پاراگرافها، عمل حروفچینی نام گرفت.
دوره انقلاب صنعت، شروع ١٨٧٠ میلادی
انقلاب صنعت نوآوری بزرگ در صنعت چاپ و حروفچینی پدیدآورد. نیروی بخار و حرکت دوران جایگزین دستهای کارگران شد. ماشین بخار همان کاری را که کارگران انجام میدادند، با کاهش ٨۵ درصدی در زمان، به پایان میرساند.
دوره چاپ به کم عکسبرداری، شروع ١٩۶٠ میلادی
در سال ١٩۶٠ میلادی جهش قابل توجه در پیشرفت صنعت چاپ و حروفچینی انجام گرفت و آن چاپ با کمک عکاسی بود. اساس کار اینگونه بود که ابتدا، به وسیله دوربین عکاسی، تصویری از صفحه مورد نظر، با اندازه دلخواه، فراهم میشد. فیلم حاصل را روی ی صفحه فلزی مناسب قرار میدادند و حاصل کار را درون یک مایع شیمیایی مخصوص غوطهور میکردند. آن قسمت از صفحه فلزی که تصویر حروف و کلمات قرار داشت، برجای میماند و سایر قسمتهای صفحه، توسط مایع شیمیایی، اصطلاحاً خورده میشد. در نتیجه سطحی بدست میآمد که در آن نوشته مورد نظر، به صورت برجسته، نمایان بود. سطح حاصل را به جوهر آغشته میکردند و برای چاپ استفاده مینمودند. این فرایند حروفچینی سرد نام داشت، زیرا در آن از فلز مذاب و داغ استفاده نمیشد. یکی از مزایای این روش آن بود که به آسانی، بزرگنمایی حروف و کلمات قابل تغییر بود و حتی میتوانستند حروف و کلمات را روی هم چاپ کنند.
دوره حروفچین رایانهای، شروع ١٩٧٠ میلادی
در دههی ١٩٧٠ میلادی حروفچینی بر اساس سامانههای رایانهای ظاهر گشت.
TEXچیست؟
در حدود سیسال پیش، حروفچینی نوشتههایی که دربردارنده فرمولها و علایم ریاضی بود، کاری سخت و حتی غیر ممکن بود. ابتدا دست نوشتهها، به وسیلهی ماشین حروفچینی، آماده میشد و سپس فرمولها و علایم ریاضی، با صرف وقت و زمان زیاد، به طور دستی، درون متن گنجانده میشد و حاصل کار به چاپخانه ارسال میگشت. قبل از چاپ نهایی، کتابِ حروفچینی شده در اختیار نویسنده قرار میگرفت و نویسنده، برای رفع اشکالات احتمالی، آن را بررسی میکرد و در صورت لزوم نکاتی در حاشیهها مینوشت و آن را جهت اصلاح برای ناشر میفرستاد.
هیچگونه ارتباطی بین نویسنده و مسئول حروفچینی وجود نداشت. در آن هنگام حروفچینی متون ریاضی، گاهی به عنوان یک جریمه برای کارکنان چاپخانه به حساب میآمد. در مدت زمانی که شخص جریمه شده به سختی یک صفحه از متن ریاضی را حروفچینی میکرد، همکار وی میتوانست بیش از ده صفحه از متن معمولی را حروفچینی کند. بهعلاوه، از آنجا که ریاضیدانان افرادی دقیق هستند، نوشتار حروفچینی شده تا چند بار، برای انجام اصلاحات، بین نویسنده و حروفچین، در رفت و برگشت بود. تا اینکه TEXدر سال ١٩٨٢ میلادی، توسط دونالد کنوث، از دانشگاه استنفورد، منتشر شد.
اما داستان TEX ریشه در سالّای پیش از آن دارد. در سال ۱۹۶۹ میلادی، جلد اول از یک کتاب با عنوان The Art of Computer Programming نوشته شده توسط دونالد کنوث، که یک شاهکار به حساب مآید، به وسیلهی حروف فلزی و با شیوه قدیمی، توسط یک ماشین چاپ مربوط به قرن ۱۹ میلادی، چاپ و منتشر شد. اما وقتی ویرایش دوم از جلد دوم همان کتاب، در سال ۱۹۷۶ میلادی، با کمک فناوری عکاسی و با بکارگیری قلمهای جدید، حروفچینی گردید، لازم شدهمه کتاب دوباره حروفچینی و چاپ گردد، زیرا دیگر قلمهای قدیمی در دسترس نبود.
هنگامی که کتاب حروفچینی شده، برای بررسی نهایی، به دست کنوث رسید، حاصل کار برای وی ناپسند آمد. در همین روزها بود که کنوث با نمونههایی از حروفچینی رایانهای برخورد کرد و علاقهمند شد تا خود برنامهای رایانهای، برای حروفچینی متون علمی، با کیفیت خروجی بالا، پدید آورد. وی در ماه می سال ١٩٧٧ میلادی، شروع به کار روی ی سامانه پردازش متنی کرد، که اکنون با نام TEX شناخته میشود.
TEX یک سامانه جدید رایانهای است که برای حروفچینی کتابها و به ویژه کتابهایی که در بردارنده عبارتهای ریاضی زیادی هستند، به طور زیبا و ماهرانه، مناسب است. کارآمدی TEX، هنگامی خودنمایی میکند که متن مورد نظر دارای فرمولهای ریاضی فراوان و پیچیده است. با فراگیری اندک از قواعد فرمولنویسی میتوان هر عبارت ریاضی پیچیده را به آسانی و به زیبایی حروفچینی کرد. TEXاز توانایی حملپذیری بالایی برخوردار است. به این معنی که TEXبر گستره پهناوری از سامانههای رایانهای قابل اجرا است و رفتار و نتیجه کار، در همهی این سامانهها، یکسان است. این واقعیتی است که در ارتباطات علمی و فنی بسیار اهمیت دارد. به علاوه TEX یک زبان برنامهنویسی هم هست و با فراگیری این زبان میتوان به توسعه و پیشرفت آن کمک کرد. TEXبالقوه یکی از مهمترین اختراعات در زمینه حروفچینی نوشتهها در قرن حاضر به حساب میآید. TEXمعرف یک زبان استاندارد در زمینه حروفچینی رایانهای میباشد که از لحاظ اهمیت در سطح اختراع گوتنبرگ است.
LATEXچیست؟
تک با همه مزایایی که دارد، برای استفاده گسترده و کاربرپسند دارای ی مشکل اساسی است. تک یک زبان برنامهنویسی واقعی، گسترده و مشکل است که یادگیری و به کارگرفتن آن برای کاربران عادی پرزحمت و غیراقتصادی است.
LATEX بخوانید: (لی تک) که در سال ١٩٨۴ توسط Leslie Lamport به وجود آمد، در واقع مکمل تک بود. با همه چیزهایی که لازم بود به آن اضافه شود تا به محصول قابل استفاده برای عموم تبدیل گردد. تعداد زیادی امکانات امنیتی و پیغامهای خطا، همچنین قالبهای متن مختلف (کتاب، نامه، گزارش و…)، امکانات فراوان برای ایجاد فصلها، بخشها، فهرست مطالب، فهرست راهنما (Index)، فهرست منابع (Bibliographic Index) و ایجاد پیوندهای مورد نیاز برای ساختن این فهرستها در متن سند، از جمله امکانات هستند که در کنار سیستم حروفچینی و صفحهبندی تک، لی تک را به وجود میآورند. از زمان ارائه لی تک، استفاده از آن، به شیوه اصل بهرهگیری از سیستم تک برای تولید اسناد تبدیل شده است. اهمیت تک به عنوان قلب اصلی سیستم، همچنان محفوظ است، اما کاربران عموما با لی تک کار میکنند. تک و لی تک هر دو با مجوزهای نرمافزار آزاد منتشر شدهاند و کد منبع آنها در دسترس همگان قرار دارد. کاربر هنگام کار با LATEX، به جای پرداختن به جزئیات مربوط به قالب ظاهری نوشتار، روی ساختار منطق آن متمرکز میشود.
مثال: نقش نویسنده، طراح کتاب، و حروفچینی
در فرایند انتشار یک کتاب ابتدا نویسنده نوشتهی خود را به موسسات انتشارات میدهد. در مرحله بعدی طراح کتاب در مورد سبک نوشته (عرض ستون، قلم، فاصله قبل و بعد از سربرگ و …) تصمیم میگیرد. در گام بعدی طراح کتاب راهنمایی لازم را به حروفچین میکند تا کتاب را بر طبق آن حروفچینی کند. طراح کتاب سعی میکند بفهمد خواست نویسنده هنگام نوشتن کتاب چه بوده است. او در مورد سربرگ فصلها، ارجاعها، مثالها، فرمولها، و غیره بر اساس اطلاعات حرفهای خود و اطلاعات در مورد محتوای نوشته تصمیم میگیرد.
در محیط لاتک، لاتک نقش طراح کتاب را برعهده میگیرد و از تک به عنوان حروفچین استفاده مکند. اما لاتک تنها یک برنامه است و بنابراین نیاز به راهنمایی دارد. نویسنده باید اطلاعات کافی در مورد ساختار منطق کارش را به لاتک بدهد. این اطلاعات در متن به صورت فرمانهای لاتک وارد میشوند. این کار کاملا با روش WYSIWYG (What you see is what you get) تفاوت دارد که بسیاری از پردازشگرهای متن مانند MS Word و یا Corel WordPerfect از آن پیروی میکنند. در این نرمافزارها، نویسنده سبک نوشتار را به صورت مستقیم هنگام نوشتن آن مشخص میکند. دراین نرم افزارها شکل خروجی را، همزمان که نوشتار را تایپ میکنید، به صورت مستقیم میتوان بر روی صفحه نمایش دید. وقتی که از لاتک استفاده میکنید به طور معمول نمیتوانید همزمان با تایپ متن شکل خروجی را ببینید، اما میتوانید آن را بعد از پردازش توسط لاتک مشاهده کنید. در اینصورت تصحیح آنرا میتوان قبل از فرستادن نوشته به چاپگر انجام داد.
برخی از مزیتها
- قالبهای زیبای حرفهای موجودند که متن را آن گونه طراحی میکنند که واقعاً باید چاپ شود.
- حروفچینی فرمولهای ریاضی به بهترین شکل حمایت میشود.
- کاربر تنها کافی است تعدادی فرمان آسان را یاد بگیرد تا ساختار منطقی نوشتهاش را طراحی کند. معمولا لازم نیست در مورد ساختار واقعی متن نگران باشید.
- ساختارهای پیچیده مانند پانوشتها، ارجاعها، فهرست مطالب، و کتابنامه به راحتی قابل تولید هستند.
- بستههای اضافی مجانی بسیاری برای کارهایی که لاتک انجام نمیدهد وجود دارند. به عنوان مثال بستههای پست اسکریپت برای گرافیک یا بستههایی برای قرار دادن ارجاعها به شکل استاندارد وجود دارند.
- تک، موتور لاتک، بسیار قابل انعطاف و مجانی است و روی هر سیستمعاملی کار میکند.
چه کسی به LATEXنیاز دارد؟
اگر متنی که شما درصدد تبدیل کردن آن به یک سند هستید، یک یا چند مورد از خصوصیات ذیل را دارد، احتمالا برای ایجاد ساختار آن به ابزاری توانمند مانند LATEX نیازمندید:
- متنهای طولانی که به فصلها و بخشهای مختلف تقسیمبندی میشود.
- ساختارهای تکراری فراوان که از نظر مفهومی یا ظاهری پیچیده است.
- یک متن رسم که نیازمند دقت بالا است. برای مثال کتاب، مقاله، تز یا یک فایل راهنما
استفاده از یک ویرایشگر متن (حتی از نوع ساده آن) برای نوشتن ساختار سند و نهایتا سپردن کار تولید خروجی نهایی به تک، بهبود عظیمی در روند کاری و چگونگی تفکر شما، نسبت به حالتی که از یک واژه پرداز استفاده نمایید، پدید میآورد.
هنگامی که سند خود را «برنامهنویسی» میکنید، از وقفههای ذهنی و حرکتی متوالی در جریان کارتان بی نیاز می شوید. چرا که دیگر لازم نیست مانند وقتی که با واژهپرداز کار میکردید، دائما به تغییر دادن اندازه، نوع و آرایش فونتها، تغییر کادر، و انجام کارهای مختلف دیگر با استفاده از ماوس بپردازید. شما در میان متنتان پیغام برای موتور تک میگذارید که مثلا، این یک عنوان است یا عکس را در اینجا وارد کن. تک هنگام تولید سند نهایی، این کار را به سازگارترین و شکیلترین گونه ممکن انجام خواهد داد.
مسئله مهم دیگری که شاید در حین کار با واژهپردازها متوجه آن شده باشید این است که اساسا تعیین کردن نسبت اندازه فونتها، فواصل، چگونگی قرارگیری کادرها و مسائل از این دست در یک سند، به گونهای که ظاهر آن چه روی صفحه نمایشگر و چه بعد از چاپ روی کاغذ، زیبا و حرفهای باشد، به هیچ عنوان کار ساده و سریعی نیست. اگر سند شما حاوی ساختارهای پیچیدهای مانند فرمولهای ریاضی، نمودار، جدول و مواد مشابه باشد، کار باز هم سختتر میشود. شاید برای شما هم پیش آمده باشد که وقت زیادی برای تهیهی سند و آراستن آن به شیوهای که دوست دارید (یا فکر میکنید درست است) صرف کنید و نهایتا وقتی آن را چاپ میکنید، از حاصل کار دلسرد شوید. مثلا ممکن است عناوین فصلها را برای خوانایی بهتر زیادهاز حد بزرگ کنید، به گونهای که بعد از چاپ، اندازه آن مناسب نباشد. یا این که فونتهای مختلف را به گونهای نازیبا با هم به کاربرده باشید. واقعیت آن است که اگرچه دسترسی به ابزارهای نشر رومیزی امروزه بسیار آسان شده است، برای تهیه سندی که حروفچینی و صفحهآرایی زیبا و متناسبی داشته باشد، فقط دانستن شیوه کار با یک واژهپرداز کافی نیست و یا شاید اصلا به کار نیاید. چنین جزئیاتی در حیطه تخصص و تجربه حرفهایهای گرافیک، حروفچینی و صفحهبندی قرار دارند.
مجلهها و ناشران مختلف برای تدوین اختصاصی اندازهها و نسبت فواصل در صفحات نشریات خود افراد زبدهای را به خدمت میگیرند. یکی از مهمترین مزیتهای تک این است که امکان تنظیم بسیار دقیق اندازهها و فواصل را فراهم میکند. سیستم داخلی اندازهگیری تک فواصل را دقیقتر از طول موج نور مرئی، اندازهگیری و تعیین مینماید. اما چنین امکاناتی فقط به درد حرفهایها میخورد.
خبر خوب آن است که تنظیمات پیشفرض در تک و مخصوصاً در قالب مجموعه لی تک بر اساس تجربههای چندصدساله حروفچینها و صفحهبندهای کامپیوتری و غیرکامپیوتری ایجاد شده و خروجیهای بسیار زیبایی را برای شما به ارمغان میآورند. در عین حال، مجبور نیستید با این پیشفرضها کار کنید. میتوانید اندازهها و فواصل را در سند خودتان با دستورات متنوعی که در اختیار دارید، تغییر دهید، یا فایلهای Style یا پکیجهای مختلف را از اینترنت دریافت نمایید و آنها را بر سند خود اعمال کنید یا حتی فایلهای Style خود را بسازید، ذخیره نمایید یا منتشر کنید. همه چیز در اختیار شماست.
به طور خاص، تک به عنوان بهترین گزینه برای حروفچینی متونی که حاوی فرمولهای ریاضی متعددی هستند، شناخته میشود و در واقع یکی از مهمترین اهداف اولیه، ایجاد سیستم بود که فرمولهای ریاضی را به شکل دقیق، صحیح و البته شکیل و زیبا حروفچینی نماید. اگر تاکنون تجربه وارد کردن یک فرمول ریاضی را در متن خود در برنامهای مانند Microsoft Office Word داشتهاید، حتماً به دشواری انجام دادن این کار واقف هستید و در ضمن برای این کار لازم است پیج Microsoft Equation را روی سیستم خود نصب کرده باشید تا از امکانات فرمول نویسی Word استفاده نمایید. حال فرض کنید که یک سند Word را که حاوی فرمولهای ریاضی است، روی کامپیوتر خودتان تهیه، ویرایش و ذخیره کردهاید.
اگر این سند را روی کامپیوتر دیگری که Word مایکروسافت روی آن نصب شده است باز کنید، ممکن است متوجه شوید که شکل ظاهری فرمولها نسبت به آن چه که روی کامپیوتر خودتان دیده میشد تغییر کرده یا اصلا بعضی از حروف و علایم ریاضی که شما وارد کردهاید، روی این دستگاه جدید جای خود را به علایم دیگری دادهاند. در مقابل، شما میتوانید هر نوع فرمول و علایم ریاضی را با آرایش دلخواهتان توسط تک بنویسید و فایل خروجی نهایی روی همه کامپیوترها به شکل یکسانی تولید میشود و به نمایش در میآید.
در محیطهایی مانند تک، شما سند خود را برنامهنویسی میکنید و نهایتا برای دیدن سند به شکلی که بعد از چاپ دیده خواهد شد، باید کد کامل شده را کامپایل کنید. فرآیند کامپایل کردن و مشاهده خروجی نهایی همزمان با وارد کردن متن به ویرایشگر انجام نمیشود. بنابراین محیطهای لی تک غالبا به طور مستقیم و همزمان WYSIWYG نیستند. اگرچه این رهیافت ممکن است برای کاربرانی که به استفاده از ابزارهای بصری WYSIWYG هم زمان عادت کردهاند خوشایند نباشد، باز هم مزیتهای بسیاری دارد. مهمترین آنها همانگونه که در ابتدا گفتیم آن است که روال کاری و فکری کاربر در حین تایپ کردن سند خود به طور مداوم به هم نمیخورد. در ضمن تغییراتی که در ظاهر سندتان میدهد چون باید به شکل کد بیان شوند، دقیق و منسجم اعمال میشوند و مدیریت آنها هم سادهتر میشود.
نصب LATEX
توزیعهای مختلفی از LATEXوجود دارند که به راحتی قابل دریافت هستند. از جمله محبوبترین توزیعها میتوان به Miktex و LiveTex اشاره کرد. در این دوره از توزیع Livetex استفاده خواهیم کرد. هر دو این توزیعها اکثر package های مورد نیاز را به همراه دارند. برای نصب Livetex ابتدا نسخه نهایی آنرا تهییه کنید. برای اینکار میتوانید به آدرس زیر مراجعه کنید.
http://www.tug.org/texlive/acquire-iso.html
صفحه اصلی آدرس بالا را میتوانید در شکل ١ مشاهده کنید.
در این صفحه بر روی لینکی که به رنگ سبز مشخص شده کلیک کنید تا به نزدیکترین سرور منتقل شوید. نتیجه کار در شکل ٢ آمده است. در این صفحه بر روی گزینه مشخص شده کلیک کنید تا فایل ISO نرمافزار را دریافت کنید. اگر در محل دانشکده قرار دارید میتوانید از آدرس زیر اقدام به دریافت نرمافزار نمایید(شکل ٣).
ftp://ftp.sharif.edu/Engineering/LaTeX/
برای نصب ابتدا لازم است نسخه ISO را بر روی دیسک dvd قرار دهید و یا با استفاده از نرمافزارهای مربوطه همچون virtual CloneDrive فایل مربوطه را باز کنید. در این مرحله بر روی فایل اجرایی install-tl.bat که در شکل ۴ برجسته شده است، کلیک کنید. (بهتر است قبل از شروع مراحل نصب، اقدام به غیر فعال نمودن Anti virus نمایید.) در مرحله بعدی گزینههای next را انتخاب کنید و براحتی نرم افزار را نصب نمایید ( شکلهای ۵، ۶ و ٧).
صفحه اصلی دریافت آخرین نسخه Livetex- شکل ١:
لینک دریافت دریافت آخرین نسخه Livetex- شکل ٢:
دریافت Livetex از سرور دانشکده- شکل ٣:
مقدمات کار با LATEX
ویرایشگر
در این مرحله باید از ی ویرایشگر استفاده کنید، میتوانید از ویراشگرهای عمومی چون ++ notepad نیز استفاده کنید. به طور کلی ما دو نوع ورودی خواهیم داشت. یک ورودی متن مورد نظرمان و ورودی دیگر دستورات latex میباشد. هر دو این ورودیها در کنار هم نوشته میشوند و در مرحله ،compile خود LATEX با استفاده از دستورات وارد شده، فرمت مورد نظر ما را روی متن اعمال میکند. توصیه میشود از ویرایشگری استفاده کنید که بتواند خطاهای تایپی مربوط به دستوراتLATEXرا تشخیص دهد. برای این کار میتوانید از ویرایشگری که خود توزیع texlive در اختیار ما میگذارد استفاده کنید. نام این ویرایشگر TeXworks editor میباشد. در شکل ٨ تصویر کلی از این ویرایشگر آمده است.
لازم به ذکر است گه ویرایشگرهای دیگری نیز که دارای امکانات بیشتر نیز هستند، موجود است و میتوانید از آنها استفاده کنید. نکته مهم این اسن که تحت هر شرایط شما باید خود Texlive و یا MikTex را نصب کرده باشید. از جمله معروفترین این ویرایشگرها میتوان به موارد زیر اشاره کرد.
- TeXstudio
- TeXmaker
- LyX
- AUCTeX
- TeX BaKoMa
همانطور که پیشتر نیز گفته شد، ما در این دوره از ویرایشگر خود Texlive یعنی ویرایشگر TeXworks editor استفاده خواهیم کرد.
شروع کار
در ابتدا لازم است توجه شما را به چند نکته مهم جلب نمایم.
نکته ١: فایلهایی که به هنگام compile مورد پردازش قرار میگیرند، فایلهای دارای پسوند tex. می باشند.
نکته ٢: دستورات در LATEX با \ شروع میشوند و آرگومانهای دستورات در { } قرار میگیرند.
نکته ٣: LATEX به حروف کوچک و بزرگ حساس است.
خطوط کلیدی مورد نیاز
همه فایلهای LATEX حتما باید سه خط زیر را داشته باشند. در صورت عدم وارد کردن این خطوط چیزی پردازش نخواهد شد(شکل ٩).
- مشخص کردن قالب (style) کلی متن. برای مثال ،book report و … که با {documentclass{book\ مشخص میشود.
- شروع ناحیه مربوط به متن که با {begin{document\ مشخص می شود.
- اتمام ناحیه مربوط به متن که با {end{document\ مشخص می شود.
کلیه متن مربوطه باید در داخل قسمت document قرار گیرد. از سوی دیگر باید بدانیم که compiler بعد از {end{document\ چیزی را پردازش نخواهد کرد. پردازش متن در واقع به معنای حروفچینی متن با توجه به تنظیمات مد نظر است.
برای امتحان کردن ابتدا یک متن انگلیسی در داخل قسمت begin و end مینویسیم. سپس چون متن انگلیسی وارد کردهایم باید یک کامپایلر متناسب انتخاب کنیم. جهت این کار کامپایلر pdflatex را انتخاب میکنیم و سپس کل فایل را کامپایل میکنیم. بعد از پردازشهای لازم نسخه pdf نمایش داده میشود(شکل ١٠). چون نوع documentclass را از نوع book انتخاب کردهایم. برخی تنظیمات چون شماره صفحه و فاصله متن از بالا و سمت راست به صورت اتوماتیک اعمال میشود.
نکته ۴: ایجاد فاصله و خط جدید (بدون استفاده از دستورات تعریف شده) کار خاصی انجام نمیدهد(شکل ١١). به عبارت دیگر در LATEXایجاد خط جدید و ایجاد فاصله صرفاً با وارد کردن دستورات معین قابل اعمال است.
کامپایل و نمایش خروجی- شکل ۱۰:
عدم تاثیر فاصله و خط جدید در خروجی- شکل ۱۱:
کامنت گذاری و ایجاد پاراگراف جدید- شکل ۱۲:
نکته ۵: برای ایجاد comment از % استفاده میکنیم.
نکته ۶: همانطور که در نکات قبلی گفته شد، وجود فاصله و یا ایجاد خط جدید هیچ معنی خاصی ندارد و LATEX کل متن وارد شده را به صورت یک پارگراف پیوسته کامپایل میکند. برای ایجاد پاراگراف جدید کافی است یک خط خالی کامل ایجاد کنیم(شکل ١٢).
بستههای اضافی
خود LATEX در حالت کلی برای حروفچینی استفاده میشود و برخی قابلیتها به صورت پیش فرض در آن تعبیه نشده است. از جمله این قابلیتها میتوان به نحوه مدیریت تصاویر و اشکال، پشتیبانی از زبانهای مختلف چون فارسی و … اشاره کرد. در حالت کلی برای رفع این کمبودها میتوان به صورت package این قابلیتها را به LATEX افزود. بستهها باید قبل از دستور {begin{document\ تعریف شوند.
usepackage{Package name}
ساختار دهی به متن
ایجاد فصل، بخش، زیربخش، زیر زیر بخش و فهرست مطالب
برای ایجاد فصل باید از دستور زیر استفاده کنیم.
\chapter{NAME}
پس از استفاده از این دستور خود LATEX با توجه به نوع قالب انتخابی فاصلههای لازم را در مکانهای لازم اعمال میکند(شکل ١٣). برای ایجاد بخش و زیر بخشها، دستورات زیر در LATEX موجود است (مثال در شکل ١۴ آمده است).
\section{title}
\subsection{title}
\subsubsection{title}
دستور subsubsection\ جزء نهایی آخر میباشد و در واقع پایینترین سطح تقسیمکننده متن میباشد.
نکته ٧: اگر در قالب کتاب اقدام به ایجاد فصل نمایید، شاید در بین فصلها شاهد این باشید که صفحه خال وجود دارد. علت این امر آن است که فصل جدید باید از یک صفحه فرد شروع شود. در واقع خود LATEX به صورت اتوماتیک این کار را انجام میدهد.
با استفاده از دستور زیر می توان فهرست مطالب ساخت. فقط نکته مهم آن است که برای ظاهر شدن صحیح فهرست حتما باید دوبار اقدام به کامپایل متن نمایید.
ایجاد بخش و زیربخشها- شکل ۱۴:
نکته ٨: با استفاده از دستور tableof contents\ میتوان فهرست مطالب ساخت (شکل ١۵). فقط نکته مهم آن است که برای ظاهر شدن صحیح فهرست حتماً باید دوبار اقدام به کامپایل متن نمایید.
شمارهگذاری و مورد بندی
برای شمارهگذاری آیتمها (enumerate) از فرمت زیر استفاده میکنیم (شکل ١۶).
\begin{enumerate} \item write item 1 here \item write item 2 here \item write item 3 here \end{enumerate}
برای مورد بندی آیتمها (itemize) از فرمت زیر استفاده میکنیم(شکل ١۶).
\begin{itemize}
\item write item 1 here \item write item 2 here \item
نکته ٩: enumerate و itemize را میتوان به صورت تو در تو نوشت(شکل ١٧).
شمارهگذاری و مورد بندی- شکل ۱۶:
شمارهگذاری و مورد بندی تو در تو- شکل ۱۷:
فرمولنویسی
مقدمات و آشنایی با علائم
برای فرمولنویسی ابتدا باید بدانیم که کارکترهای مورد نیاز هر کدام دارای یک دستور منحصر بفرد هستند. برای دسترسی به لیست کامل این دستورات میتوانید به آدرس زیر مراجعه کنید.
http://web.ift.uib.no/Teori/KURS/WRK/TeX/symALL.html
در ادامه و در شکلهای ١٨، ١٩، ٢٠، ٢١، ٢٢، ٢٣، ٢۴ برخی از مهمترین و پر کاربردترین دستورات آمده است.
برخی از علائم مهم در فرمول نویسی به همراه دستورات- شکل ۲۰:
برخی از علائم مهم در فرمول نویسی به همراه دستورات- شکل ۲۱:
برخی از علائم مهم در فرمول نویسی به همراه دستورات- شکل ۲۲:
دستورات اولیه
برای فرمولنویسی، لازم در محیط مربوطه این کار را انجام دهید. محیط مخصوص این کار equation نام دارد و به صورت زیر استفاده میشود.
\begin{equation} content... \end{equation}
در شکل ٢۵ سعی شده است تا لیست کامل و متنوعی از فرمولها به همراه دستور کامل آنها آورده شود. برای منابع بیشتر به وب سایتهای زیر مراجعه نمایید.
نکته ١٠: معادلههای ریاضی ( (equationدارای شمارهگذاری خودکار هستند و در این شمارهگذاری از شماره فصل پیروی میکنند.
نحوه ارجاع دادن به رابطهها
برای ارجاع دادن به معادلههای ریاضی ابتدا باید label تعریف شود.
\begin{equation} your equation \label{LABEL_NAME} \end{equation}
سپس کافی است در هر کجای متن با استفاده از دستور زیر
\ref{LABEL_NAME}
به شماره معادله بالا که به صورت اتوماتیک توسط LATEXاختصاص مییابد، دسترسی پیدا کنید. نکته مهم آن است که برای اجرای صحیح این دستور نیز باید دو بار کامپایل انجام گیرد(شکل ٢۶).
نکته ١١: برای نوشتن یک معادله ریاضی در داخل یک متن (inline) از نماد $ استفاده میکنیم(شکل ٢٧).
نوشتن رابطه به صورت inline- شکل ۲۷:
اعمال فاصله افقی با استفاده از دستور hspace- شکل ۲۸:
نکته ١٢: برای اعمال فاصله افقی در داخل یک خط به صورت دلخواه از دستور زیر استفاده میکنیم.
\hspace{length}
این دستور در داخل معادلهنویسی inline نیز قابل استفاده است (شکل ٢٨).
درج تصویر
دستورات اولیه
برای درج تصویر در LATEX مراحل زیر را انجام دهید.
- نیاز به بسته graphicx داریم. {usepackage{graphicx\
- بهتر است کلیه تصاویر مورد نیاز در یک پوشه و در کنار فایل tex. قرار گیرند. این امر موجب راحتی در آدرس دهی به تصاویر میشود. فرمت کل دستورات به صورت {includegraphics[option]{filename\ میباشد. اگر از این دستور به همین ترتیب استفاده شود، شکل به صورت Inline چاپ میشود.
- یکی از option های قابل استفاده، عرض و ارتفاع شکل میباشد. قسمت option اختیاری میباشد.
\includegraphics[width = ۴cm, height = ٣cm]{filename}
در شکل ٢٩،یک مثال کامل را میبینید.
تعیین اندازه تصویر نسبت به عرض صفحه- شکل ۳۰:
نکته ١٣: برای معین کردن اندازهی تصویر روشهای نسبی نیز وجود دارد. برای مثال میتوانید عرض یک تصویر را به اندازه عرض صفحه معین کنید(شکل ٣٠).
\includegraphics[width = ١\textwidth]{filename}
ارجاع دادن به تصاویر و caption گذاری
برای reference دادن به تصاویر باید از فرمانهای زیر استفاده کنیم و به نکات زیر توجه نماییم.
- تصویر را در داخل محیط زیر تعریف کنید.
\begin{figure} \includegraphics[options]{name} \end{figure}
- برای Caption گذاری تصاویر، در محیط بالا از دستور مقابل استفاده میکنیم. {caption{yourCaption\
- برای ارجاع دادن ابتدا باید label مشخص کنیم و سپس در داخل متن به آن ارجاع نماییم.
\label{yourLabel}
- برای ارجاع دادن در داخل متن از دستور زیر استفاده میکنیم.
\ref{definedLabel}
- برای نمایش صحیح نتایج باید حتماً دو بار کامپایل کنیم.
در شکل ٣١ میتوانید نحوه caption گذاری و ارجاع دادن به یک تصویر را مشاهده نمایید.
نکته ١۴: محیط figure از محیطهای شناور است و خود LATEX در مورد محل قرارگیری آن در صفحه تصمیم میگیرد. به عبارت دیگر بسته به اندازه تصویر و caption تصویر خود LATEX تصمیم میگیرد که بهترین مکان برای قرارگیری تصویر در صفحه جاری کجاست.
درج جدول
دستورات اولیه
برای تعریف یک جدول ساده به مراحل و نکات زیر توجه کنید.
- جدول در داخل محیط tabular ساخته میشود.
\begin{tabular} \end{tabular}
- بااستفاده ازآرگومان دوم دستور tabular ستونهاوجهت قرارگیری آنهارامشخص میکنیم. {begin{tabular}{crl\ این دستور به آن معناست که ما یک جدول با سه ستون داریم که در آن ستون اول به صورت،center ستون دوم به صورت right و ستون سوم به صورت left مرتب میشوند.
- در داخل متن، برای جدا کردن ستونها (کدام قسمت متن در کدام ستون قرار گیرد) از کاراکتر & استفاده میشود.
- برای جدا کردن سطر ها نیز کافی است از
استفاده کنیم. لازم به ذکر است که نباید برای سطر آخر از این کارکتر استفاده کنیم. - پهنای هر ستون متناسب با پهنای بزرگترین سطر آن ستون است.
- لازم به ذکر است که اگر جدول را در محیط tabular تعریف کنیم، صرفاً به صورت یک کاراکتر با جدول برخورد میشود و به صورت inline نمایش داده میشود.
در شکل ٣٢ میتوانید نتیجه دستورات بالا را مشاهده کنید. ساخت جدول اولیه- شکل ۳۲:
قالبدهی به جدول و تعریف آن به صورت شناور
برای رسم خطوط جدا کننده در بین ستونها یا سطرها از فرمانها و نکات زیر استفاده میکنیم.
- اگر به هنگام تعریف محیط tabular در آرگومان دوم بین ستونها از کاراکتر | (کاراکتر پایپ) استفاده کنید، به همان ترتیب و به همان تعداد بین ستونها خط ایجاد میشود.
- برای تعریف خطوط بین سطرها باید در مکان مناسب از فرمان hline\ استفاده کنید. به تعدا دلخواه میتوانید از این فرمان استفاده کنید.
- اگر میخواهید در پایان جدول نیز خط افقی رسم کنید، برخلاف گفته قبلی این بار باید در انتهای سطر آخر نیز از کاراکترهای
استفاده کنید. - اگر میخواهید به جای رسم یک خط کامل بین سطرهای جدول، از خطوط ناقص استفاده کنید، باید از فرمان زیر استفاده کنید.
\cline{column#1 – column#N}
در شکل ٣٣ میتوانید نتیجه دستورات بالا را مشاهده کنید.
تعریف جدول به صورت شناور و نحوه ارجاع دادن به آن
برای تعریف جدول به صورت شناور و همچنین قابلیت ارجاعدهی و caption گذاری، باید به جدول به عنوان یک موجودیت مستقل نگاه کنید. برای این کار باید آن را در داخل یک محیط دیگر بنام محیط table تعریف کنید.
\begin{table} \begin{tabular} \end{tabular} \end{table}
نکته ١۵: محیط table نیز همانند محیط figure از محیطهای شناور است و خود LATEX در مورد محل قرارگیری آن در صفحه تصمیم میگیرد.
نکته ١۶: با استفاده از دستور {caption{name\ میتوان به جدول caption اختصاص داد.
نکته ١٧: برای ارجاع دادن به یک جدول همانند تصویر، ابتدا باید یک label به آن اختصاص دهید و در ادامه با استفاده از آن label به آن ارجاع دهید.
تعریف جدول به صورت شناور- شکل ۳۴:
نکته ١٨: برای وسط چین شدن نسبت به متن در محیط table از دستور centering باید استفاده کنیم.
در شکل ٣۴ میتوانید نتیجه دستورات بالا را مشاهده کنید.
آشنایی با بسته geometry
همانطور که قبلا گفته شده است، همه تنظیمات مربوط به سند، همانند اندازه حاشیههای صفحه، شمارهگذاریها، نحوه قرارگیری قسمتهای مختلف و موارد بسیار دیگر توسط LATEX و به صورت اتوماتیک انجام میگیرد. در واقع با مشخص کردن قالب کل متن در قسمت {}documentclass\ این تنظیمات انتخاب میشود. در صورتی که بخواهید برخی از این تنظیمات را تغییر دهید، از بسته به نام geometry میتوان استفاده کرد. در شکل ٣۵ برخی از تنظیمات قابل اعمال توسط این بسته آمده است.
نکته ١٩: در حالت پیشفرض اگر به صفحه حاشیه بدهید، این فاصله از انتهای متن محاسبه خواهد شد و مواردی چون شماره صفحه در داخل حاشیه قرار میگیرند. اگر میخواهید برای محاسبه حاشیه، از انتهای آخرین مورد استفاده شود (برای مثال این بار از خود شماره صفحه تا انتهای صفحه فاصله مورد نظر وجود داشته باشد) باید در داخل option های بسته geometry از دستورات مقایل استفاده شود. Includefoot = true و Includehead = true
برخی از تنظیمات قابل اعمال توسط بسته geometry- شکل ۳۵:
یک مثال کلی
خروجی تنظیمات زیر به چه صورت خواهد شد؟ (پاسخ در شکل ٣۶ آمده است.)
\usepackage[a5paper,landscape,height=8cm,top=2.5cm,includehead=true,width=15cm]{geometry}
فارسی نویسی در LATEX
توجه: این بخش خارج از سرفصل دوره میباشد و صرفاً جهت شروع کار آورده شده است.
برای نوشتن در latex به زبان فارسی به نکات زیر توجه کنید.
- در حالت کلی، کلیه دستورات گفته شده برای زبان انگلیسی برای فارسی نیز قابل استفاده است.
- باید بسته مربوط به زبان فارسی را حتما اضافه نمایید. (دقت کنید این بسته حتما باید آخرین بسته اضافه شده باشد.)
\usepackage{xepersian}
- باید فونتهای مربوطه را اضافه نمایید. لازم به ذکر است کلیه فونتهای قابل استفاده در ویندوز، قابلیت استفاده در LATEX را دارند. ولی در برخی موارد دارای نقصهایی میباشند. به همین دلیل بهتر است فونتهای سری XB را دانلود کرده و پس از نصب استفاده نمایید.
\settextfont{XBZar}
- حتما باید از compiler دیگری بنام Xelatex برای پردازش متن استفاده نمایید.
- اگر میخواهید کلیه اعداد حتی اعداد استفاده شده در عبارات ریاضی نیز به صورت فارسی نمایش داده شوند، باید از دستور زیر استفاده نمایید.
\setdigitfont{XBZar}