• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

آيا TeX/LaTeX را ميشناسيد؟

kakoo

کاربر تازه وارد
تاریخ عضویت
16 می 2006
نوشته‌ها
217
لایک‌ها
1
در سال 1993، Leslie Lamport و گروه LaTeX نسخه جديدی از اين برنامه را که
در 1985 با نسخه 2.09 مطرح شده بود، به بازار ارايه داد. نکات مثبتی که به 2.09 افزوده شد
مربوط ميشوند به انتخاب font و نحوه افزودن و نوشتن package های جديد برای LaTeX2e و ...

FarsiTeX بر اساس 2.09 نوشته شد. از وضعيت آخرين نسخه آن خبر ندارم ولی در همين
چند روز آتی که آنرا نصب کنم، برايتان مينويسم که آيا آن تغيير کرده يا نه.

نکته ديگری که فراموشم شد بگويم، قول ميدهم نوشته بعدی آستين ها را بالا بزنم و يکی دو
نمونه متن را با هم کار کنيم تا با اين برنامه بيشتر آشنا شويم، بلی نکته ديگر اينکه LaTeX و
ConTeXt و PlainTeX و ... همه و همه را FORMAT مينامند که موتور تک بهنگام اجرا
بارگذاری ميکند ميکند تا نوشته های شما را تعبير کند. FarsiTeX هم وقتی نصب ميشود
فرمت خود را يا کپی ميکند يا همان لحضه ميسازد.

دوستی داشتم که فرمت مخصوص خود را داشت و اين کار هم سخت نيست گرچه متداول نيست و
در اکثر کتب چيز زيادی در اين باره نوشته نشده است.
 

kakoo

کاربر تازه وارد
تاریخ عضویت
16 می 2006
نوشته‌ها
217
لایک‌ها
1
در اين بخش، به نگارش به طريق LaTeX می پردازيم و البته تنها به لاتين بسنده ميکنيم و
خواننده را همچون گذشته به دستور کار FarsiTeX و يا سيستم های مشابه از برای
نگارش فارسی رجوع ميدهيم.

الفبای a,..z & A,..Z بی کم و کاست نوشته و تعبير ميشوند.

نمايه های ويژه به کمک "\" فهمانده ميشوند.


HTML:
# $ % ^ & _ { } ~ \

HTML:
\# \$ \% \^{} \& \_ \{ \} \~{}

{} از برای نچسبيدن نمايه به علامت بعدی ميباشد و حکم آنچه که نيم-فاصله ميناميم
را دارد.

و "\" را نميتوان بصورت "\\" درج کرد چرا که ترکيب "\\" == "line break" و باعث شکستن خط و شروع
خطی جديد ميشود. در عوض ميتوان آنرا چنين نوشت:


HTML:
$\backslash$

در اين باره در بخش های آتی بيشتر خواهيم نوشت.

_____________________________________________________________________
دستور های LaTeX:

الف. Case Sensitive، يعنی today\ با Today\ فرق دارد.


ب. شکل کلّی اين دستورها:

ب. الف. \ که بعد از آن دستور چاپ ميشود ميباشد، TeX\ يا
ب.ب. \ که بدنبالش تنها 'يک' نمايه غير حرفی می آيد، $\


ج. بعضی از دستورها احتياج به "پارامتر" دارند که در اين صورت، آن پارامتر در داخل {}
بلافاصله بعد از دستور می آيد. بعضی از دستورها هم ميتوانند "گزينه" های مختلفی
را بپذيرند که در آن صورت آنرا داخل [ ] قيد ميکنيم.

HTML:
You can \textsl{lean} on me!

HTML:
This line is interrupted here \\
The new line is also interrupted. The next line goes 3cm down\\[3cm]
now we are 3 centimeters below the previous line.

خوب، اين از اين. حال که ميتوانيم متون خود را با استاندارد TeX بنويسيم، تمرين بعدی را
به يک متن ساده اختصاص ميدهيم. البته قضيه الفبای لاتين و غير انگليسی را پس
از چند تمرين ساده، مطرح خواهم کرد.

_____________________________________________________________________________
_____________________________________________________________________________

پ.ن.: فراموش نشود که چون کار موتور TeX پردازش صفحه و ... ميباشد، پس طبيعی خواهد
بود که دو نوشته زير با هم فرقی نداشته باشند چرا که فاصله ها را TeX
به هنگام compiling & optimization معيين خواهد کرد.

HTML:
It does not matter whether you
enter one or several spaces
after a word.


HTML:
It does not matter whether you
     enter one or       several spaces
after a word.
 

فایل های ضمیمه

  • tex-drill-001.png
    tex-drill-001.png
    11.9 KB · نمایش ها: 21

kakoo

کاربر تازه وارد
تاریخ عضویت
16 می 2006
نوشته‌ها
217
لایک‌ها
1
قبل از پرداختن به تمرين بعدی، ديدم که در عکس همراه قبلی مسيله indentation ديده ميشود
که ممکن است باعث سوء تعبير و گمراهی شود.

در default کلاس book، هر پاراگرفی که شروع ميشود يک tab جلوتر ميرود و TeX خودش اينکار
را ميکند. حال اگر اين استاندارد نوشته ما نباشد، مثل متون فرانسوی، کافی است در ابتدای پارگراف
دستور زير را قيد کنيم:


HTML:
\noindent

اگر بخواهيم که کل نوشته بی tab باشد در preamble فايل مان دستور زير را می آوريم:


HTML:
\parindent  0cm

که بجای 0 ميتوانيم هر مقدار معقولی را که نياز داريم بنهيم اما واحد اندازه نبايد فراموش شود حتی اگر اين مقدار 0 باشد.
 

فایل های ضمیمه

  • tex-001.png
    tex-001.png
    16.3 KB · نمایش ها: 20

kakoo

کاربر تازه وارد
تاریخ عضویت
16 می 2006
نوشته‌ها
217
لایک‌ها
1
ما سوای خطوط comment، يک فايل LaTeX بايد با اين عبارت شروع شود:

HTML:
\documentclass{}


که نوع مطلبی را که ميخواهيد بنويسيد به آن واسطه به LaTeX ميشناسانيد، مانند يک مقاله،
article، کتاب، book، گزارش کار، report، نامه، letter، که کلاس های استاندارد هستند
ولی هر کس ميتواند بسته به نيازش هر کدام از آن کلاس ها را تغيير داده، به اسم کلاس جديدی
استفاده کند مانند: PTpost.


دستور ديگری که معمولا بکار ميرود، دستور:
HTML:
\usepackage{}
است که بشما امکان استفاده از package های مختلف را ميدهد. تعداد package هايی که
در اختيار شما ميباشد شايد از هزار هم بگذرد. امّا اين package ها چه ميکنند؟

بطور کل، افزودن هر package در نوشته شما، امکان استفاده از دستورهای اضافی را ميدهد.
نمونه ای از آن package:

MusixTeX

ميباشد که بشما امکان آنرا ميدهد که به زيبای و راحتی نت های موسيقی را type
کنيد. لينک زير نمونه هايی از آنرا نشان ميدهد.

MusicTeX


پس از آشنايی با اصول مقدماتی LaTeX، دنيايی در مقابل شما قرار خواهد گرفت که
شايد خوابش را هم به هنگام استفاده از MS-Word نميديد.


بعد از اين و تمام تغيراتی و افزودنی هايی، متن نوشته شما در بين اين دو دستور، می آيند:

HTML:
\begin{document}

\end{document}

حال فرض  ميکنيم فايلی ساده همچون:


HTML:
\documentclass{article}
\begin{document}
Small is beautiful.
\end{document}

داريم. اگر سيستم TeX درست نصب شده باشد، بدون اينکه بخواهيم از editor خاصی استفاده
کنيم، ميتوانيم در command line اين فايل را کامپايل کرده و رويت کنيم. به نوشته های پيشين مراجعه شود.

دو دستور زير هم از dvi توليد شده، نسخه های postscript و pdf فايل را ميسازند.


HTML:
dvips -Pcmz file.dvi -o file.ps

dvipdf file.dvi


در نوشته های بعدی چند نمونه مقاله را بهمراه option های موجود مقايسه خواهيم کرد.
بعلاوه قدری هم وارد قسمت بی همتای LaTeX، يعنی نوشتن فرمولهای رياضی ميشويم.
برای کسانی که کم حوصله همچون من ميباشند بگذاريد نشان دهم که فرمولهای رياضی
چگونه type ميشوند.

الف. فرمولهايی که در داخل متن شما می آيند
ب. فرمولهايی که بين پاراگراف ها می آيند.

در فايل های ضميمه، نگاهی به تفاوت فرمول های داخل متن و خارج از متن بنماييد.
اگر هم حوصله داريد يا کنجکاو هستيد سعی کنيد همين فرمولها را در Word توليد کنيد، شاپ
کنيد و با نمونه همراه مقايسه کنيد. بگذريم که من بسيار شلخته و فرمولها را يکی
از پس ديگری آورده ام.

توضيح جامع در مورد رياضی را بزودی خواهم نوشت، اين تنها پيش غذايی بيش نبود :)
 

فایل های ضمیمه

  • Some mathematics.pdf
    40.9 KB · نمایش ها: 18
  • PT_002_tex.txt
    2.3 KB · نمایش ها: 14
  • math-tex.png
    math-tex.png
    22.5 KB · نمایش ها: 22

kakoo

کاربر تازه وارد
تاریخ عضویت
16 می 2006
نوشته‌ها
217
لایک‌ها
1
در اين بخش در عين پرداختن به تفاوتها و شباهتهای documentclass های متداول در LaTeX
با بسياری از option های آنها هم آشنا ميشويم.


قسمت بندی های ممکن/مجاز در هر يک از کلاس های استاندارد:


در کلاس article

HTML:
 - \part
 - \section
 - \subsection
 - \subsubsection
 - \paragraph
 - \subparagraph

کلاسهای book و report يک بخش ديگر بنام chapter دارند

HTML:
 - \part
 - \chapter
 - \section
.
.
.

قابل توجه است که برای توليد فهرست مطالب کافی است از دستور:

HTML:
\tableofcontents

استفاده کنيد. با کمی آزمايش و سعی و خطا در خواهيد يافت که پاراگرافها در فهرست منظور
نميشوند.

امّا نحوه استفاده از اين تقسيم بنديها ساده است. کافی است عنوان هر بخش را داخل
{} بلافاصله پس از دستور قرار دهيد.

حال اگر عنوان انتخابی شما بيش از اندازه طولانی بود و که فهرست

مطالب را از شکل و قيافه می انداخت، کافيست که يک عنوان کمکی که کوتاهتر است را
در داخل [] که برای option های دستورها بکار ميرود قرار دهيد.

نمونه:

HTML:
\section[This is a way shorter title]{The title I had in mind for this section which too long for a normal table of contents}


گزينهای انتخابی برای دستور documentclass

الف. اندازه فونت پايه. اين پارامتر را برای کلاس های مختلف در عکس های همراه مشاهده
مينماييد.

ب. ابعاد کاغذ. برای استاندارد ايران و اکثر کشورهای اروپايی، a4

ج. جهت نوشته نسبت به کاغذ، که ميتواند portrait باشد يا landscape


ادامه دارد ...
 

فایل های ضمیمه

  • article.png
    article.png
    8.3 KB · نمایش ها: 21
  • report.png
    report.png
    8.6 KB · نمایش ها: 19
  • book.png
    book.png
    8.6 KB · نمایش ها: 25
  • toc-01.png
    toc-01.png
    5.9 KB · نمایش ها: 19
  • toc-02.png
    toc-02.png
    12.2 KB · نمایش ها: 18

kakoo

کاربر تازه وارد
تاریخ عضویت
16 می 2006
نوشته‌ها
217
لایک‌ها
1
در اين قسمت به گزينه های مختلفی که ميتوانيم بهمراه documentclass بکار ببريم ميپردازيم.

د. بسته به نوع نوشته و نياز نويسنده، گاه لازم است که يک روی کاغذ چاپ شود و گاه روی هر
دو سوی آن. با انتخاب گزينه oneside يا twoside ميتوانيد آنرا کنترل کنيد.


ه. انتخاب گزينه draft در زمانی که مشغول تحرير نوشته تان هستيد ميتواند کمک
زيادی برايتان باشد. در نوشته های بعدی خواهيم نوشت که الگوريتم بهينه سازی TeX اگر
به موردی برخورد که برای رعايت justification ها، تخطی مختصری از حاشيه چاپ/راست، باعث
خروجی بسيار زيباتری شود تا اينکه بخواهد 100% به حواشی وقع نهد، متن شما را قدری خارج
از حاشيه چاپ ميکند. برای اينکه بدانيد که در کجای نوشته شما اين تخطی رخ داده،
يا ميتوانيد به log آن نگاه کنيد يا از گزينه draft استفاده کنيد تا در نقاطی که از حاشيه
بيرون زده، يک مستطيل سياه پديد آيد. نمونه ای از آن در تصوير همراه مشاهده ميشود.

و. گزينه titlepage و notitlepage در documentclass مقاله، i.e. article، باعث
ميشود که دستور maketitle\ از کار بی افتد يا که کار خودش را بکند.

ز. گزينه column هم مشخص است که چه اثری دارد. انتخابهای موجود: onecolulmn, twocolumn.

ک. در کلاس book ممکن ست که بخواهيد هر فصل و بخش جديد حتما از صفحه راست،
در کتاب های انگليسی، باز شود يا اينکه خيالتان نيست. برای مورد اول از گزينه openright و
برای مورد دوم از گزينه openany استفاده ميشود.


ادامه دارد ...
 

فایل های ضمیمه

  • draft.png
    draft.png
    18.9 KB · نمایش ها: 16

kakoo

کاربر تازه وارد
تاریخ عضویت
16 می 2006
نوشته‌ها
217
لایک‌ها
1
چندی اين مقوله به تأخير افتاد. در اين بين فرصتی شد که با تازه های دنيای TeX بيعتی تازه کنم. فايل همراه برای علاقمندان و کنجکاوان ميتواند بسيار آموزنده باشد. من که از خواندن آن بسيار لذت بردم ولی نهايتا باز هم بر اين عقيده هستم که برای سادگی هنوز نوشتن فارسی با الفبای لاتين در متون لاتک مطمين ترين روش است. حداقل تا زمانی که پروژه ای بهتر از FarsiTeX يا ديگر پروژه های موجود به بازار بيايند.

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

فایل های ضمیمه

  • TeX Arabi Package_2006.pdf
    1 MB · نمایش ها: 40

vahid_ghasemian

کاربر تازه وارد
تاریخ عضویت
20 جولای 2007
نوشته‌ها
1
لایک‌ها
0
کسی نرم افزار ریاضی نگار(LaTeX فارسی) رو داره که برام بفرسته؟ فقط می خوام بدونم چه ساختاری داره و چه جوری هاست. اینم ایمیلم : [email protected]
ارادتمند:cool::puke:
 

sub

Registered User
تاریخ عضویت
22 آپریل 2006
نوشته‌ها
332
لایک‌ها
1
محل سکونت
سابستان
از دوست عزیز جناب Kakoo تشکر می کنم که این مطالب مفید رو اینجا می زارم. در مورد فارسی تک جدید یعنی FarsiTeX1.0Pre باید بگم که این نسخه از فارسی تک بر اساس Latex 2e هست ولی دارای باگهای فراوانی است و همچنین نیاز به MikTeX 2.4 دارد. در کل پیشنهاد می شود که به سراغ فارسی تک جدید نروید.
با وجود باگ در این نسخه باید گفت که امکانات بسیاری به این نسخه افزوده شده است. از جمله می توان قابلیت قرار دادن عکسهای بیت‌مپی، محیطی برای شعر فارسی و ... اشاره کرد.
ذکر این نکته ضروری است که به پروژه فارسی تک کمک شایانی نمی شود و این مهمترین دلی برای عدم پیشرفت این محصول است.
دوستان اگه سوال و یا مشکلی در مورد فارسی تک دارند و یا می خواند فارسی تک رو از مبتدی تا حرفه ای یاد بگیرند، به این وبلاگ سر بزنند. farsitex.blogfa.com
 
بالا