ساختار نوشته
در این درس به موضوعاتی بسیار فراتر از آن چه در درس پیش به آنها پرداختیم میپردازیم. هدف ما در این درس حروفچینی یک مقالهٔ ساده همانند مقالههای پژوهشی متعارف است. برای این منظور در این درس تأکید ما بر روی ساختار نوشته خواهد بود.
لاتک عمداً شما را مجبور میکند که ساختار نوشتهٔ خود را هنگام نوشتن مشخص کنید. این یک ویژگی خوب در لاتک است، زیرا وقتی لاتک بداند که چگونه میخواهید نوشتهٔ خود را سازماندهی کنید، خودش همهٔ کارهای خستهکنندهٔ چیدمان و نمایش را برایتان انجام میدهد. جدا بودن محتوای نوشته از چیدمان به شما کمک میکند تا تنها روی کار اصلی تمرکز کنید؛ یعنی به نوشتن مقالهتان فکر کنید و نه به ظاهر آن.
پیش از این که فرمانهای گوناگون لاتک را برایتان توضیح بدهم، خوب است که یک بار خروجی نهایی را ببینید تا بدانید که هر یک از این فرمانها چه نتیجهای میدهند. به خروجی این درس نگاه کنید. پروندهٔ ورودی مربوط به این خروجی کمی طولانی است، و برای همین من تنها بخشی از آن را در ادامه میآورم. پروندهٔ ورودی در اینجا و همچنین در پایان این درس موجود است.
مقدمه
اگر از بخش پیش یادتان مانده باشد، «مقدمه» (Preamble) به قسمتی از پروندهٔ ورودی گفته میشود که از آغاز تا فرمان \begin{document} نوشته شده است. در این قسمت معمولاً فرمانهایی نوشته میشوند که روی کل نوشته تأثیر میگذارند.
% یک مقالهٔ ساده برای نشاندادن ساختار نوشته در لاتک \documentclass{article} \usepackage{xepersian} \settextfont{Yas} \setlatintextfont{Linux Libertine} \setdigitfont{Yas} \begin{document}
سطر نخست یک توضیح است (که با علامت % آغاز شده است). فرمان \documentclass یک آرگومان میپذیرد که در مورد نوشتهٔ ما article (مقاله) است، زیرا میخواهیم یک مقاله را حروفچینی کنیم. سایر سبکهای موجود عبارتاند از book (کتاب)، report (گزارش)، thesis (پایاننامه) و غیره. حتی خودمان هم میتوانیم یک سبک (style) تعریف کنیم، همانطور که ناشران مجلهها این کار را میکنند و آن را در اختیار ما میگذارند تا مقالههایمان درست به همان شکلی که مناسب مجله است حروفچینی شود. ولی ما فعلاً با همین سبک article کار میکنیم.
فرمان \usepackage هم بستهٔ زیپرشین را فرامیخواند و سه فرمان پس از آن مربوط به تعیین قلم هستند.
و سرانجام فرمان \begin{document} را داریم که هرچند جزء مقدمهٔ نوشته نیست، ولی مخصوصاً آن را آوردهام که نشان دهد که مقدمه در همین جا به پایان میرسد و محتوای نوشته آغاز میشود.
عنوانبندی
در آغاز بیشتر نوشتهها، اطلاعاتی دربارهٔ خود نوشته میآید. اطلاعاتی مانند عنوان و تاریخ نوشته، و همچنین اطلاعاتی دربارهٔ نویسندگان شامل نام، نشانی، ایمیل و غیره. همهٔ این چیزها را «عنوانبندی» نوشته مینامیم. یک مثال:
\title{چگونه ساختار یک نوشتهٔ لاتک را مشخص کنیم؟} \author{مسعود پورموسی\\ دانشکدهٔ فیزیک،\\ دانشگاه صنعتی شریف\\ تهران\\ ایران\\ صندوق پستی ۱۲۳۴۵-۶۷۸۹۰\\ \texttt{me@email.com}} \date{\today} \maketitle
فرمان title\ تقریباُ واضح است. کافی است که عنوان نوشتهٔ خود را درون آکولاد بنویسید. فرمان author\ هم ساده به نظر میرسد، مگر وقتی که میبینید که من اطلاعات دیگری به جز نام خودم را هم در این فرمان نوشتهام. این یک عادت نهچندانخوشایند در نوشتن مقاله با سبک سادهٔ article است. معمولاً اگر با یک سبک از یک ناشر حرفهای یا با سبک مقالهٔ انجمن ریاضی امریکا (amsart) کار کنید، خواهید توانست سایر اطلاعات نویسنده (مانند نام دانشگاه و نشانی و ایمیل) را به شکل منطقیتری وارد کنید. در همین جا شما با فرمان شکستن سطر (\\) نیز آشنا میشوید که با آن میتوانم نشانی خود را پس از نامم بیاورم. ایمیل من در پایان آمده است و فرمان texttt\ باعث میشود که با قلم تکسایز (مانند قلم ماشینهای حروفچینی قدیمی) چاپ شود. فرمان date\ یک آرگومان میگیرد که تاریخ نگارش نوشته را مشخص میکند. من فرمانی به نام today\ را به کار بردهام که وقتی لاتک آن را میبیند، تاریخ جاری را با آن جایگزین میکند. ولی شما میتوانید به جای today\ هر چیزی را به عنوان تاریخ درون فرمان date\ بنویسید. اگر هم میخواهید تاریخ نمایش نیابد، کروشهٔ آن را خالی بگذارید. بدون فرمان maketitle\ عنوانبندی چاپ نمیشود، بنابراین در پایان لازم است این فرمان را هم بنویسیم تا اطلاعاتی که پیش از آن نوشتیم در خروجی ظاهر شود.
چکیده
از آن جا که بیشتر مقالهها یک چکیده (abstract) دارند، در لاتک نیز فرمانی وجود دارد تا مشخص کند که چکیده کدام بخش از نوشته است. چکیده باید در جای درست خودش نوشته شود، یعنی پس از عنوانبندی و پیش از آغاز بخشهای نوشته. \begin{abstract} این جا چکیدهٔ مقاله نوشته میشود. \end{abstract}
بخشبندی
فرمانهای مربوط به بخشبندی مقاله آسان هستند. البته هر فرمانی ویژهٔ نوع خاصی از نوشته است. مثلاً هر کتاب چند فصل (chapter) دارد، ولی مقاله به جای فصل بخش (section) دارد. در اینجا چند فرمان برای بخشبندی مقاله آمده است:\section{مقدمه} متن مربوط به این بخش. \section{تاریخچهٔ موضوع} متن مربوط به این بخش. \subsection{پیش از سال ۱۹۸۰} متن مربوط به این زیربخش. \subsubsection{بین سالهای ۱۹۷۵ تا ۸۰} متن مربوط به این زیرزیربخش.
همان گونه که میبینید، بهکاربردن این فرمانها بسیار ساده است. توجه داشته باشید که لازم نیست که شما شمارهٔ بخشها را مشخص کنید؛ لاتک خودش این کار را برایتان میکند! همچنین لازم نیست که مشخص کنید کدام بخش از نوشته متعلق به کدام بخش است (یعنی نیازی به فرمانهای begin\ و end\ نیست).
شمارهگذاری بخشها را لاتک به طور خودکار انجام میدهد، بنابراین شما لازم نیست شمارهها را دستی وارد کنید. تنها کافی است که عنوان بخش را درون کروشهها بنویسید. اگر نمیخواهید بخشهایتان شماره داشته باشد، کافی است که یک ستاره (*) پس از فرمان section بگذارید، یعنی بنویسید \section*{عنوان بخش بدون شماره}.
مراجع
هر مقالهٔ پژوهشی خوب دارای فهرست بلندبالایی از مراجع است. در پروندهٔ ورودیای که در این صفحه وجود دارد، من دو مرجع قرار دادهام؛ یک مرجع فارسی و یک مرجع انگلیسی. اگر به نسخهٔ pdf این پرونده نگاه کنید، میبینید که در بخش نخست نوشته پس از جملههای اول و دوم، دو شمارهٔ مرجع آمده است. همچنین در پایان نوشته نیز مشخصات کامل مراجع را خواهید دید.خوشبختانه امکاناتی که لاتک برای مدیریت مراجع در اختیارتان میگذارد، کمی هوشمندتر از امکانات مشابه در واژهپردازهای رایج (مانند مایکروسافت ورد) است. در واژهپردازها باید همه چیز را دستی وارد کنید (مگر این که از یک نرمافزار کمکی استفاده کنید). در لاتک دو راه برای افزودن مراجع به یک نوشته وجود دارد: نخست این که مشخصات مراجع را در یک پروندهٔ جدا ذخیره کنید و سپس با یک فرمان آن را به پروندهٔ ورودی خود بشناسانید، و دوم این که مراجع را درون خود پروندهٔ ورودی بنویسید. در این بخش من تنها به راه دوم میپردازم و راه نخست را -که بسیار بهینهتر و انعطافپذیرتر است- در یکی از بخشهای آینده به دقت توضیح خواهم داد.
برای افزودن کتابشناسی/مراجع به نوشته دو مرحله وجود دارد. نخست باید یک محیط bibliography (کتابشناسی) در پروندهٔ ورودی خود بیاورید که ریز مشخصات مراجع را در آن مینویسید. دوم باید در متن نوشتهٔ خود به آن مراجع ارجاع بدهید.
کدهای زیر برای ساختن محیط bibliography در پروندهٔ نمونهٔ همراه این صفحه آورده شده است. این کدها درست پس از پایان آخرین سطر از متن ولی پیش از فرمان \end{document} قرار میگیرند.
\begin{thebibliography}{9} \bibitem{lamport94} Leslie Lamport, \emph{\LaTeX: A Document Preparation System}. Addison Wesley, Massachusetts, 2nd Edition, 1994. \end{thebibliography}
خب، معنی این کدها چیست؟ نخستین چیزی که باید به آن توجه کنید، ساختهشدن یک محیط است. واژهٔ thebibliography برای لاتک یک کلیدواژه است و هر چیزی که بین فرمانهای begin و end باشد را لاتک دادههایی برای کتابشناسی میشمارد. عبارت {9} که من پس از فرمان begin آوردهام، یک آرگومان اختیاری است که به لاتک میگوید که پهنای شمارههای کنار مراجع چه قدر باشد. البته لازم نیست دقیقاً عدد 9 در آن نوشته شود، بلکه هر عدد یک رقمی برای این کار کافی است. در واقع با این آرگومان به لاتک میگوییم که پهنای شمارهٔ مراجع تنها یک نویسه (کاراکتر) است، یا به زبان دیگر حداکثر ۹ مرجع وجود خواهد داشت. اگر نوشتهٔ شما بیش از ۹ مرجع دارد، باید یک عدد دو رقمی را درون کروشه مینوشتید (مثلاً ۹۹) که بتوانید تا سقف ۹۹ مرجع را در بخش مراجع بیاورید.
حال به اطلاعات خود مراجع میرسیم که با فرمان \bibitem{cite_key} آغاز میشود. واژهای که به جای cite_key قرار میگیرد باید یک شناسهٔ یکتا برای هر مرجع باشد. این شناسه میتواند هر ترکیبی از حروف، اعداد و علامتها (به جز علامت ویرگول انگلیسی) باشد. من معمولاً نام خانوادگی نخستین نویسنده به همراه دو رقم آخر سال انتشار را به عنوان شناسهٔ هر مرجع به کار میبرم (مانند khalighi07). و اگر نویسندهای در یک سال بیش از یک مقاله چاپ کرده کرده باشد، هر کدام از مقالهها را با حروف a یا b یا c در انتهای شناسهشان متمایز میکنم (مانند khalighi07a). ولی شما میتوانید هر عبارتی را که بخواهید به عنوان شناسه به کار ببرید. پس از فرمان bibitem\ هر چه که بنویسید اطلاعات خود مرجع است. این اطلاعات را باید همان طوری بنویسید که میخواهید نمایش یابد. برای وضوح بیشتر، من بخشهای مختلف اطلاعات مراجع را در سطرهای جداگانه نوشتهام، ولی لاتک همهٔ آنها را در یک سطر خواهد آورد. همچنین برای این که عنوان مرجع ایتالیک شود، آن را درون فرمان {}emph\ گذاشتهام.
ارجاعدادن به یک مرجع در متن مقاله هم بسیار ساده است. کافی است به نقطهٔ مورد نظر در متن خود بروید و فرمان \cite{cite_key} را وارد کنید که در آن cite_key را با شناسهٔ مرجع مورد نظرتان جایگزین کردهاید. هنگامی که لاتک نوشتهٔ شما را پردازش میکند، این فرمان را با شمارهٔ مرجعی که به آن ارجاع دادهاید جایگزین میکند. نکتهٔ بسیار خوب باز هم این است که لاتک شمارهگذاری مراجع را به جای شما انجام میدهد. اگر قرار بود این کار با دست انجام شود، افزودن یا برداشتن یک مرجع به یک کابوس تبدیل میشد، زیرا پس از این کار مجبور بودید همهٔ مراجع دیگر را نیز دوباره شمارهگذاری کنید.
البته اگر بخواهید میتوانید از روش ارجاع دیگری مانند روش هاروارد استفاده کنید (که به جای ارجاع به شمارهٔ مرجع، نام مرجع را در بین متن میآورد). این موضوع را در آینده توضیح خواهیم داد. تا پیش از آن، خودتان هم میتوانید بستهٔ Natbib را بیازمایید.
فرمانهای دیگر
در پروندهٔ نمونهای که برای این درس ساخته شده است، مثالهایی از لیست و جدول نیز موجود است. کار با جدولها کمی پیچیدهتر است و من بخش جداگانهای را برایش نگه داشتهام. با این حال، لطفاً خودتان پروندهٔ ورودی نمونهٔ این صفحه را باز کنید و کدهایش را ببینید. حالا که با فرمانهای مهم لاتک آشنا شدهاید، شاید خودتان بفهمید که این فرمانها چگونه کار میکنند.