مقایسه توزیع‌های فارسی از لاتک

مقایسه توزیع‌های مختلف جاری فارسی از لاتک

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

نکته: با همه مواردش موافق نیستم ولی بیشتر آنها نزدیک به واقعیت است.

مقدمه‌ای نه چندان کوتاه بر لاتک

مقدمهای نه چندان کوتاه بر لاتک (مترجم مهدی امید علی)

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

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

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

افزودن یک فصل به راهنمای لاتک

ترجمه راهنمای لاتک به پایان رسید. با صحبتی (ایمیلی) که با نویسنده این راهنما داشتم تصمیم گرفتم یک فصل در مورد چگونگی نوشتن متنهای فارسی به این راهنما اضافه کنم. قصد دارم که این فصل به زیلاتک و زیپرشین اختصاص داشته باشد. اگر نظری دارید لطفا بیان کنید تا اعمال کنید تا مد نظر قرار دهم.

استفاده از بسته fancyhdr

یکی از بسته های جالب لاتک بسته fancyhdr است که امکان طراحی سربرگ و ته برگ را فراهم می کند. برای استفاده از آن با xepersian و یا farsixetex یک نمونه برای شما آورده ام.
\usepackage{fancyhdr}
\makeatletter
\pagestyle{fancyplain}

\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

\renewcommand{\sectionmark}[1]{\markright{\thesection{} #1}}

\lhead[\fancyplain{}{\textfarsi{\bfseries\thepage}}]

{\fancyplain{}{\bfseries\rightmark}}

\rhead[\fancyplain{}{\bfseries\leftmark}]

{\fancyplain{}{\textfarsi{\bfseries\thepage}}}

\cfoot[]{}

\addtolength{\headheight}{1.6pt}

\pagestyle{fancy}

% with this we ensure that the chapter and section

% headings are in lowercase.

\renewcommand{\chaptermark}[1]{%

\markboth{#1}{}}

\renewcommand{\sectionmark}[1]{%

\markright{\thesection\ #1}}

\fancyhf{} % delete current header and footer

\fancyhead[LE]{\if@rl\farsifont\bfseries\thepage\else\RL{\farsifont\bfseries\leftmark}\fi}

\fancyhead[RO]{\if@rl\farsifont\bfseries\thepage\else\RL{\farsifont\bfseries\rightmark}\fi}

\fancyhead[LO]{\if@rl\farsifont\bfseries\rightmark\else\RL{\farsifont\bfseries\thepage}\fi}

\fancyhead[RE]{\if@rl\farsifont\bfseries\leftmark\else\RL{\farsifont\bfseries\thepage}\fi}

\renewcommand{\headrulewidth}{0.5pt}

\renewcommand{\footrulewidth}{0pt}

\addtolength{\headheight}{0.5pt} % space for the rule

\fancypagestyle{plain}{%

\fancyhead{} % get rid of headers on plain pages

\renewcommand{\headrulewidth}{0pt} % and the line

}

\makeatother

این خطها را در سرآغاز مستند خود قرار دهید. آنگاه سربرگ شما همانند همان چیزی خواهد شد که در ترجمه راهنمای لاتک می بینید. برای طراحی سربرگ از یکی از فرمانهای شرطی مهم bidi استفاده کرده ام به نام \if@rl. این شرط در صورتی که در حالت راست به چپ باشیم مقدار درست دارد و در غیر این صورت نادرست.

تک، لاتک، زیلاتک

با اینکه همه این مطالب را می دانید ولی می خواهم برای افرادی که تازه به دنیای تک روی می آورند مطالب ساده ای را بیان کنم. فرض کنید که قصد دارید کتابی را چاپ کنید. کاری که انجام می دهید این است که متن کتاب را به روی کاغذ می نویسید و دست نوشته خود را به یک انتشاراتی برای چاپ می برید. مدیر انتشاراتی با شما صحبت می کند و با مشورت شما و اطلاعات حرفه ای خود در مورد طرح کلی کتاب شما مانند اندازه صفحه، حاشیه ها، سربرگ و ته برگ، قلم و اندازه آن، و دیگر چیزها تصمیم گیری می کند. از اینجا به بعد کار شما تمام است و مدیر انتشارات دست نوشته شما را به همراه اطلاعات خودش به حروف چین می دهد و حروف چین کتاب را آماده می کند.
نقش اجزاء مختلف در سناریوی بالا را افراد زیر انجام می دهند:
1- کاغذ سفید که قرار است مطالب را در آن بنویسید----- ادیتور: مانند winedit, texmaker, notepad++, gedit,..
2- دست نوشته شما--- مطالب نوشته شده در ادیتور
3- مدیر انتشارات--- لاتک Latex، کانتکست Context
4- حروف چین--- تک TeX، زیتک XeTeX، لواتک LuaTeX
 
زیتک و لواتک گسترش هایی از تک هستند که فونت های true type را حمایت می کنند ولی تک دارای فونت مخصوص خودش است. ترکیب تک با لاتک را لاتک، زیتک با لاتک را زیلاتک، و لواتک با لاتک را لوالاتک می نامند.

تک به خودی خود یک برنامه کامپیوتری و یا بهتر بگویم یک زبان برنامه نویسی است که مناسب حروف چینی است. در این زبان دستورات معمول زبان های برنامه نویسی مانند شرط (if) و غیره وجود دارد. لاتک و کانتکست در حقیقت دسته ای از توابع و تعاریف است که نوشته شده اند و مسؤل تفسیر نوشته ها و تعاریف ما برای تک هستند. به توابع نوشته شده در تک ماکرو می گویند. طبق یک قانون کلی اگر ساختاری در متن قرار است تکرار شود بهتر است آنرا به صورت یک ماکرو تعریف کنیم. در این صورت اگر بعدا بخواهیم تغییری در متن ایجاد کنیم کافی است ماکروی مورد نظر را تغییر دهیم نه اینکه در تمام متن به دنبال تغییر مورد نظر بگردیم. اصطلاحا می گویند که ساختار منطقی نوشتار را باید از ساختار بصری آن جدا کرد و این دقیقا به همین معنی است. 

کتاب های مرجع LaTeX

سلام.

به علت فرمایش بعضی از دوستان مبنی بر غیر قانونی بودن لینک دادن مستقیم به کتابهای مرجع LaTeX، این پست ویرایش شده است.

 من سه کتاب اصلی و مرجع LaTeX را در اختیار دارم:

1. کتاب The LaTeX Companion اثر Michel Goossens, Frank Mittelbach & Alexander Samarin (ویراست دوم)

این کتاب به فرمت DjView هست.


دو کتاب بعدی به فرمت PDF می باشند.

2. کتاب LaTeX: A Document Preparation System اثر Leslie Lamport (ویراست دوم)


3. کتاب The LaTeX Graphic Companion اثر
Michel Goossens, FrankMittelbach, Sebastian Rahtz, Denis Roegel & Herbert Voß (ویراست دوم)

اگر کسی این سه کتاب را خواست به من اطلاع دهد...


موفق باشید...

ترجمه راهنمای لاتک

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

فونت های سری ایکس نسخه دوم

فونت های سری ایکس نسخه دوم توسط شرکت اپل طراحی شده اند و بسیار کامل هستند و به خصوص با اعراب گذاری بسیار خوشرفتارند. این فونت ها مجهز به هر دو سیستم AAT و OpenType هستند و بنابراین بر روی هر سیستمی قابل استفاده هستند. این فونت ها را از اینجا تهیه کنید. همچنین نسخه جدیدی از فونت XW Zar با نام XB Zar ارایه شده است که آنرا هم می توانید از اینجا دانلود کنید.

نصب TeXMaker جدید در Ubuntu Linux

من هر چه دنبال نسخهٔ جدید TeXMaker در خود بسته‌های Ubuntu Linux گشتم آن را نتوانستم پیدا کنم. بنابراین مجبور شدم به سایت خوشان بروم و آن را نصب کنم. این نسخهٔ جدید خیلی بهتر و تمیرتر و قشنگتر است. اما چگونگی این کار: اول و مهمتر از همه اینکه شما باید نسخهٔ قبلی TeXMaker را Remove کنید و سپس کارهای زیر را انجام دهید.

ابتدا به http://www.xm1math.net/texmaker/download.html بروید و فایل texmaker_linux_installer را دریافت کنید سپس آن را به Home Folder انتقال دهید و سپس کارهای زیر را انجام دهید. دستوراتی که شما باید در ترمینال وارد کنید با رنگ آبی مشخص شده‌اند.


vafa@vafa-desktop:~$ chmod a+x texmaker_linux_installer

vafa@vafa-desktop:~$ sudo ./texmaker_linux_installer

[sudo] password for vafa: #give your own password here

مصاحبهٔ اخیر Donald Knuth

می‌توانید مصاحبهٔ اخیر Donald Ervin Knuth را با informit در

http://www.informit.com/articles/article.aspx?p=1193856

ببینید.

ترجمه راهنمای لاتک

ترجمه فصل سوم راهنمای لاتک نیز به پایان رسید. ضمناً غلط‌گیری فصل یک نیز انجام شده است. از اینجا این فایل را دریافت کنید.

ترجمه راهنمای لاتک

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

پروژه فارسی‌لاتک در سورس‌فورج (FarsiLaTeX project on SourceForge)

پروژه‌ای در SourceForge برای فارسی‌لاتک تعریف کردم. هدف از این پروژه تهیه یک کتاب متن باز درباره تک و لاتک به زبان فارسی است که در ضمن باید مجموعه قلم، ماکرو و اسکریپت‌هایی هم تهیه شوند که این امر را تسهیل نمایند.

خوب اول به یک برنامه‌ریزی نیاز داریم. هر کسی ایده‌ای دارد بیاید وسط. اول خودم شروع می‌کنم:
  1. یک فهرست مطالب نیاز است با جزئیات فصل - بخش - زیربخش
  2. هر فصل، بخش و زیربخشی در یک فایل جداگانه قرار می‌گیرد.
  3. نام هر فصل، بخشی یا زیربخشی بر اساس محتوای آن تعیین گردد.
  4. برای کنترل فایل‌ها به وضوح باید از CVS استفاده شود (نمی‌دانم SVN هم پشتیبانی می‌شود یا نه).
  5. باید بتوان به صورت روزانه از حاصل کار یک خروجی PDF/HTML تولید کرد.
  6. فعلا اولویت با خود لاتک است، سپس به سراغ مشکلات فارسی در لاتک باید رفت.
  7. مطالب نوشته شده باید تا جای ممکن مرجع مشخصی داشته باشند.
  8. موتور تک مورد استفاده برای تولید خروجی کتاب، XeTeX خواهد بود.
بی‌صبرانه منتظر شنیدن نظر بقیه دوستان هم هستم. راستی بی‌زحمت در این پروژه هم عضو شوید. شرکت برای عموم آزاد است.

نصب قلم Type1 در TeXLive تحت لینوکس

فرض می‌کنم که فایل MAP شما mapfilenm.map نام داشته باشد. شاخه‌های زیر را در شاخه خانگی خود درست کنید و فایل‌های خود را در جای مناسب کپی کنید.

~/texmf/fonts/type1/
~/texmf/fonts/map/
~/texmf/fonts/enc/
~/texmf/fonts/tfm/
~/texmf/tex/
~/.texmf-config/updmap.d/

فایلی با نام updmap.cfg را در شاخه آخر ایجاد کرده (اگر وجود ندارد) و در آن خطی به صورت زیر را اضافه کنید:

Map mapfilenm.map

در پایان دستورات زیر را اجرا کنید:

cd ~/texmf
mktexlsr .
update-updmap
updmap
sudo texconfig rehash

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

برای تسهیل ارتباط بین کاربران تک و تک کاران در آدرس زیر یک گوگل‌گروه درست کردم با نام فارسی لاتک:
http://groups.google.com/group/farsilatex?hl=fa

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

نصب قلم Type1 در MiKTeX نسخه ۲٫۶ به بعد

هر چند که شاید این پست تکراری باشد ولی به هر حال ضرری ندارد. برای نصب یک یا چند قلم Type1 در MiKTeX (نسخه ۲٫۶ به بعد) به تعدادی فایل مرتبط به هم نیاز دارید:
  1. فایل یا فایل‌هایی با پسوند enc
  2. فایل یا فایل‌هایی با پسوند pfb
  3. فایل یا فایل‌هایی با پسوند map
  4. فایل یا فایل‌هایی با پسوند fd
  5. فایل یا فایل‌هایی با پسوند tfm
کارهای زیر را به ترتیب انجام دهید:
  1. گروه اول را در شاخه‌ای در MiKTeX-DIR\fonts\enc\dvips کپی کنید.
  2. گروه دوم را در شاخه‌ای در MiKTeX-DIR\fonts\type1 کپی کنید.
  3. گروه سوم را در شاخه‌ای در MiKTeX-DIR\fonts\map\dvips کپی کنید.
  4. گروه چهارم را در شاخه‌ای در MiKTeX-DIR\tex\latex کپی کنید.
  5. و سرانجام گروه پنجم را در شاخه‌ای در MiKTeX-DIR\fonts\tfm کپی کنید.
  6. حال دستور ذیل را در یک کنسول (cmd.exe) اجرا کنید تا یک ویرایشگر برایتان باز شود:
    initexmf --edit-config-file updmap
  7. نام فایل‌های گروه سوم را در انتهای آن قرار دهید، مانند:
           Map ftx_dk.map
  8. فایل مورد نظر را دخیره کرده و از ویرایشگر خارج شوید.
  9. سپس RefreshFNDB کنید.
  10. در انتها در یک کنسول دستور updmap را اجرا کنید.

مبدل فارسی‌تک به یونیکد (FarsiTeX to Unicode)

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

ای کاش کسی امکان برگشت (Undo) را به ویرایشگر فارسی‌تک اضافه می‌کرد.

هر کسی که علاقه دارد در این وبلاگ مطلب بنویسد یک ایمیل بفرستد.

بسته PGF و TikZ

با متاپست و پی‌اس‌تریکس‌ آشنا شدید. بد نیست نامهای PGF و TikZ را نیز بشنوید: راهنما و گالری. با این بسته می‌توانید تصاویری به صورت مستقیم در لاتک یا زی‌لاتک یا پی‌دی‌اف‌لاتک قرار دهید. می‌دانم که این توضیح بسیار مختصر است، ولی به هر حال بد نیست که نامش را شنیده باشید. این هم یک نمونه کار:

چند ابزار برای تهیه تصاویر هندسی-ریاضی

ذکر نام چند نرم‌افزار برای تهیه تصاویر هندسی-ریاضی قابل استفاده در لاتک:
  • IPE: برای رسم تصاویر هندسی خیلی راحت است.
  • jfig: آنهایی که با XFig آشنایی دارند می‌توانند در ویندوز به راحتی از این نرم‌افزار جاوایی استفاده کنند. واسط کاربر آن مانند XFig است.
  • graph: با این نرم‌افزار می‌توانید به راحتی توابع ریاضی را رسم کنید و سپس حاصل را به یک تصویر تبدیل کنید.
  • Asymptote: با این نرم‌افزار (که نشات گرفته از متاپست است) می‌توانید اشکالی هندسی و ریاضی را با زبانی جالب تهیه کنید.
  • gclc: این هم نرم‌افزاری جالب برای تهیه و متحرک سازی تصاویر هندسی است.

متن فارسی در متاپست (MetaPost)

متاپست (MetaPost) یک زبان برنامه نویسی قوی برای رسم شکل در LaTeX هست. این زبان را زمانی می‌توان به کار برد که شکل با دستورات ریاضی و هندسی قابل بیان باشد. برای رسم شکلهای بسیار پیچیده هندسی و ریاضی بهتر است از MATLAB و MAPLE و ... استفاده کنید. [اقتباس از وبلاگ فارسی‌تک]

می‌توان در تصاویری که می‌خواهید با متاپست تهیه کنید، متون فارسی هم به کار ببرید. برای این کار راحت‌ترین راه استفاده از بسته Arabi است. دستورات متاپست زیر را در فایل fig.mp قرار دهید:

verbatimtex
\documentclass[10pt]{article}
\usepackage[T1,LFE,LAE]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[farsi,arabic,english]{babel}

\begin{document}
etex;
input graph;
beginfig(1);
LaTeX_unitlength := 1.0pt;
w := 60*LaTeX_unitlength;
h := 40*LaTeX_unitlength;
numeric xmin, xmax, ymin, ymax;
xmin := 1/4; xmax := 6; ymax := 1/xmin; u := 1cm;
% compute the graph of the function
vardef f(expr x) = 1/x enddef;
xinc := 0.1;
path pts_f;
pts_f := (xmin,f(xmin))*u
for x=xmin+xinc step xinc until xmax:
.. (x,f(x))*u
endfor;
path hline[], vline[];
hline0 = (0,0)*u -- (xmax,0)*u;
vline0 = (0,0)*u -- (0,ymax)*u;
vline0.5 = (0.5,0)*u -- (0.5,ymax)*u;
vline4 = (4,0)*u -- (4,ymax)*u;
fill buildcycle(hline0, vline0.5, pts_f, vline4)
withcolor 0.8[blue,white];
draw hline0; draw vline0; % draw axes
draw (0.5,0)*u -- vline0.5 intersectionpoint pts_f;
draw (4,0)*u -- vline4 intersectionpoint pts_f;
draw pts_f withpen pencircle scaled 2;
label.bot(btex $x$ etex, (0.9xmax,0)*u);
label.lft(btex $y$ etex, (0,0.9ymax)*u);
label.urt(btex $f(x)$\textFR{سلام} etex, (0.5,f(0.5))*u);
endfig;
verbatimtex
\end{document}
etex;
%%% the end.
end.
endinput;

حال این فایل را با دستور زیر کامپایل کنید:

mpost -tex=latex "\prologues:=2; input fig"

حاصل دستور فوق فایلی با نام fig.1 است که قالب پست‌اسکریپت دارد. به صورت معمول می‌توانید این فایل را با دستوری مانند \includegraphics در فایل لاتک خود قرار دهید. نمونه کمینه از فایل لاتک در زیر آمده است. از آوردن فایل لاتک زیر یک مقصود دیگر هم دارم که در ادامه خواهم گفت:

\documentclass{article}
\usepackage[T1,LFE,LAE]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[farsi,arabic,english]{babel}
\usepackage{graphics}
\begin{document}
\pagestyle{empty}
\thispagestyle{empty}
\includegraphics{fig.1}
\end{document}

اگر فایل لاتک فوق را به صورت معمول کامپایل کنید و فایل DVI حاصل را به PS تبدیل کنید تصویر را در آن، خواهید دید. ولی به جای آن کار، دستورات زیر را اجرا کنید: (فرض کنید نام فایل لاتک فوق fig.tex باشد)

latex fig.tex
dvips -E fig.dvi
epstopdf fig.ps

حاصل دستورات فوق یک فایل PDF با کیفیتی عالی است که ابعاد آن به اندازه ابعاد تصویر مورد نظر است. این فایل تصویری PDF را می‌توانید به راحتی در XeTeX استفاده کنید. واضح است که می‌توان تمام مراحل فوق را به صورت خودکار هم انجام داد.

دستورات متاپست را در فایلهایی جدای از فایل لاتک قرار می‌دهند. ولی با به کار بردن بسته emp می‌توانید دستورات متاپست را مستقیما در فایل لاتک خود قرار دهید. شاید در پست بعدی مثال فوق را با بسته emp توضیح بدهم.

معرفی سه اتصال بدون شرح

  1. یک وبلاگ: Digital Typography News
  2. یک فایل PDF: مرجع XeTeX
  3. ارائه Jonathan Kew درباره XeTeX (ایشان مولف XeTeX می‌باشند).

دستورات و بسته‌های منقضی شده لاتک ۲-ای

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

دو وبلاگ جدید در زمینه تک و زبان فارسی

به دو وبلاگ جدید در زمینه تک و زبان فارسی خوش‌آمد می‌گویم.

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

برای همه آنها آرزوی موفقیت می‌کنم. در ضمن اول برای خودم و سپس برای آنها قطعه شعر زیر را مناسب می‌دانم:

رهرو آن نیست که گه تند و گهی خسته رود           رهرو آن است که آهسته و پیوسته رود

ابزارهای جالب برای کار با فایلهای PS و EPS

لیستی از ابزارهای جالب برای کار با فایلهای PS و EPS را می‌توانید در آدرس مذکور بیابید. به عنوان نمونه ابزار pscol تصویر کاملا برداری رنگی (با قالب EPS) را به یک تصویر کاملا برداری خاکستری (با قالب EPS) تبدیل می‌کند.

تبدیل تصویر بیت-مپی رنگی به یک تصویر برداری رنگی

نرم‌افزاری برخط در دانشگاه استنفورد تصاویر بیت-مپی رنگی را به تصاویر برداری رنگی تبدیل می‌کند. نمی‌دانم این نرم‌افزار به صورت جداگانه قابل دریافت (download) است یا خیر! همانطور که می‌دانید بر خلاف تصاویر بیت-مپی، تصاویر برداری مقیاس‌پذیر می‌باشند و کیفیت و وضوحشان با بالا رفتن مقیاس (اندازه تصویر) تغییر نمی‌کند. حجم تصاویر برداری معمولا کمتر از تصاویر بیت-مپی متناظرشان می‌باشد.

سؤالات متداول تک و لاتک

پاسخ برخی از سؤالات متداول تک و لاتک را می‌توانید در آدرس مذکور بیابید در همان سایت یک فایل PDF جالب وجود دارد (با نام visualFAQ) که بسیاری از سؤالات را به صورت تصویری پاسخ می‌دهد. ناگفته پیداست که راه‌حلهای ارائه شده در لاتک نسخه ۲-ای کار می‌کند و در نتیجه در سیستم‌های مبتنی بر لاتک نسخه ۲.۰۹ مانند فارسی‌تک احتمالا کار نخواهد کرد.

PowerPoint + LaTeX

برای تهیه اسلاید و ارائه می‌توانید از نرم‌افزارهای PowerPoint و LaTeX به صورت همزمان استفاده کنید. برای این کار دو محصول رایگان زیر را به شما معرفی می‌کنم:

با این دو محصول می‌توانید فرمولهای ریاضی را با LaTeX حروف‌چینی کنید و دیگر متون و یا جلوه‌های ویژه (افکتها) را با PowerPoint تهیه کنید.

نکته ۱: بعد از تهیه فایل ارائه، به هنگام ارائه نیازی به LaTeX ندارید، بلکه فقط برای تهیه فایل ارائه به LaTeX نیاز دارید.

نکته ۲: چهار سال پیش TeXPoint را به گونه‌ای تنظیم کردم که با FarsiTeX کار کند و در نتیجه فرمولها به فارسی حروف‌چینی شوند. از وضعیت حال حاضر این دو محصول خبری ندارم.

بالا یا پایین آوردن نویسه در یک قلم

دستورات زیر را در فایلی به نام movedown.pe قرار دهید:

Open($1)
Select("GLYPH_UNICODE_NAME") //for example afii57456 for kasra
Move(0,-200) //200 is the amout the glyph is brought down

# do the same for some other glyphs...
Generate("dk" + $1:r + ".pfa") //the output is dkFONTNAME.pfa
Close()

حال به ازای فایل lotoos.pfa دستور زیر را اجرا کنید:

fontforge -script movedown.pe lotoos.pfa

در خروجی فایل dklotoos.pfa را خواهید داشت.

مقایسه توزیعهای فارسی از تک

پارامترهای مقایسه

تک پارسی

فارسی تک

ARABI Package

PDFeTeX یا PDFLaTeX

-

PDFeTeX

PDFLaTeX

نسخه لاتک

LaTeX2e

LaTeX2.09

LaTeX2e

زبان دستورات

فارسی

انگلیسی

انگلیسی

یونیکد یا مبدل یونیکد

مبدل یونیکد (Beta)

مبدل یونیکد (روی وب)

یونیکد

چگونگی فارسی‌سازی

ماکرو + موتور تک

ماکرو

ماکرو

نحوه چسباندن حروف

موتور تک

برنامه ftx2tex

TFM

امکان اضافه کردن قلم

بله

بله

بله

لینوکس

wine
(احتمالا مستقیم)

مستقیم
(ویرایشگر با wine)

مستقیم

راهنما به زبان فارسی

بسیار خوب

نامناسب

نامناسب

پشتیبانی

-

تا اندازه‌ای
(از طریق یک وبلاگ)

-

تعداد کاربران

(نمی‌دانم)

زیاد

(نمی‌دانم)

حجم برنامه

۸۰ مگابایت کامل

۲۰ مگابایت
(+ یک نسخه از تک)

۷ مگابایت
(+ یک نسخه از تک)

قابلیت جستجو در PDF

-

-

بله

درجه اطمینان (reliable)

زیاد

متوسط

کمتر از متوسط

در مورد ArabTeX اغلب پارامترها مشابه ARABI package می‌باشد، اما: امکان اضافه کردن قلم بسیار سخت می‌باشد و نحوه چسباندن حروف از طریق ماکرونویسی پیچیده در تک انجام شده است. XeTeX هم مشابه ArabTeX است، اما: اضافه کردن قلم بسیار کار آسانی است و چسباندن حروف از روی اطلاعات موجود در قلمها صورت میگیرد به شرطی که قلم با یونیکد سازگار باشد.

PerlTeX

با PerlTeX می‌توان یک فایل ورودی تهیه کرد که محتوی دستورات Perl و تک باشد. یعنی می‌توان داخل فایل لاتک به زبان Perl برنامه‌نویسی کرد. جالب است، نه؟! به مثال زیر توجه کنید:

\documentclass{article}
\usepackage{perltex}
\perlnewcommand{\reversewords}[1]{join " ", reverse split " ", $_[0]}
\begin{document}
\reversewords{Try doing this without Perl!}
\end{document}

دستورات فوق را در یک فایل sample.tex قرار دهید و سپس دستورات "perl perltex.pl sample.tex" را در یک کنسول اجرا کنید. perltex.pl نام اسکریپتی است که همراه PerlTeX نصب می‌شود. فایل DVI حاوی متن زیر خواهد بود:

Perl! without this doing Try

برای تعویض مترجم لاتک به PDFLaTeX می‌توانید از دستورات زیر استفاده کنید:

perl perltex.pl -latex=pdflatex sample.tex

باقی مطالب را از راهنمای PerlTeX بخوانید.

پایتون (Python) + تک (TeX) می‌دهد PyTeX

تک زبان ماکرونویسی مناسبی ندارد و امکانات برنامه‌نویسی آن بسیار بد و ضعیف است. در واقع تک یک سیستم حروف‌چینی (بسیار) عالی است، نه یک زبان برنامه‌نویسی! این مقاله در مورد PyTeX حرف دل من (و شما) را زده است. ایده اصلی این است که ‌PyTeX به صورت frontend عمل کند و تک به صورت backend ... امیدوارم توانایی‌های این سیستم روز به روز افزون شود!

از لاتک چه خبر؟!

کاتالوگ تک و لاتک: اگر می‌خواهید ببنید چه بسته‌هایی برای استفاده در تک و لاتک وجود دارند و نیز برای دریافت آنها به این سایت رجوع کنید.

What is CTAN? The Comprehensive TeX Archive Network (CTAN) is the authoritative collection of materials related to the TeX typesetting system.

آرشیو اعلانات CTAN: هر وقت بسته‌ای (package) به روز می‌شود یا بسته جدیدی اضافه می‌شود، در اینجا اعلان می‌شود.

مترجم برخط فرمول لاتک

مطالب زیر برگرفته از این وبلاگ است.

آیا تا کنون خواسته‌اید که فرمولی ریاضی را بر صفحه وب خود قرار دهید؟ یک راه حل استفاده از نرم‌افزارهایی است که فرمول را به تصویر تبدیل می‌کنند و سپس ذخیره کردن تصویر بر روی یک سرور و در نهایت قرار دادن آدرس تصویر در صفحه وب است.

راه حل آسانتر، استفاده از مترجم برخط (online) لاتک با نام mimetex است. به مثال زیر توجه کنید:

یک فرمول 

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

http://www.forkosh.dreamhost.com/mimetex.cgi?c=\sqrt{a^2+b^2+\frac{\cal{A}}{\cal{B}}}

همانگونه که ملاحظه می‌کنید وضوح تصویر چندان خوب نیست. اگر بخواهید تصویری با کیفیت بهتر داشته باشید می‌توانید از LaTeXRender استفاده کنید. ولی عیب کار این است که متاسفانه هنوز هیچ سروری LaTeXRender را به صورت برخط پشتیبانی نمی‌کند.

این سایت از mimetex برای نشان دادن تصویر به صورت لحظه‌ای استفاده می‌کند و در پایان LaTeXRender را برای تولید تصویر نهایی با کیفیت بهتر به کار می‌برد.

اگر خواستید فرمول لاتک را به صورت برخط و دیداری (visual) وارد کنید این آدرس را ببینید. این سایت نیز از LaTeXRender برای نمایش تصویر فرمول استفاده می‌کند.

چهارچوب مبدل یونیکد به فارسی لاتک

از لحاظ چهارچوبی ساختار فایل ورودی می‌تواند دو دستور زیر را برای راحتی کار مبدل فراهم کند:

  1. زبان پیش-فرض: صرفا به یک دستور نیاز دارد.
  2. قطعه‌ای که در آن زبان صریحا مشخص شده است: این قطعه با دو زیر-دستور شروع قطعه و پایان قطعه مشخص می‌گردد.

در دستور اول می‌توان زبان دیگری به کار برد و مبدل تا جای ممکن به صورت هوشمند عمل می‌کند (البته قواعد این هوشمندی باید مشخص باشد). در پستهای بعدی این قواعد بیشتر بحث می‌شوند و از خوانندگان تقاضا دارم در این زمینه کمک کنند.

در درون قطعه‌ای که با دستور دوم مشخص می‌شود، مبدل نباید هیچگونه هوشمندی به کار ببرد.

با فرض اینکه نیازی به تبدیل یونیکد به تک پارسی و سپس مجددا از تک پارسی به یونیکد نیست، لذا نیازی به خاصیت زیر نیست.

خاصیت مطلوب دیگری که به ذهنم می‌رسد قابلیت نگاشت یک به یک بین یونیکد و کد مقصد است. مثلا کد تک پارسی نویسه مستقیم یای عربی را ندارد. برای نگاشت یای عربی در حالت متصل از دو طرف می‌توان از نویسه یای فارسی استفاده کرد ولی این کار باعث می‌شود که هنگام نگاشت از تک پارسی به یونیکد خروجی از لحاظ مفهومی غلط باشد (هر چند که از لحاظ ظاهری درست است).

ابزارهای مشکل-دار قلم

بعضی از ابزارهای مربوط به قلم مانند ttf2pt1 (در ویندوز و شاید حتی در لینوکس!) مشکل (یعنی باگ) دارند! مثلا ttf2pt1 باعث می‌شود که قلم پست-اسکریپت حاصل (از قلم نازلی) یک زایده در حرف «گاف» داشته باشد. در حالیکه برنامه fontforge (در لینوکس) این مشکل را به وجود نمی‌آورد.

قابليت حمل مستند: XML و LaTeX

چرا باید از XML برای نوشتن لاتک یا تک استفاده کنیم؟ [حدس] اگر زمانی بخواهیم که از یک مستند چندین نوع خروجی تهیه کنیم، مثلا خروجی MSWord و LaTeX و ConTeXt و HTML و غیره، داشتن نوعی از مستند (مانند XML) که قابلیت تبدیل به این انواع را داشته باشد (یا حداقل کار تبدیل را آسان کند) ضروری است.

آیا ابزاری وجود دارد که کار نوشتن لاتک به زبان XML را راحت کند؟ [حدس] فکر نکنم.

  1. TeXML: زبان XML برای LaTeX و وبلاگ TeXML
  2. تبدیل XML به LaTeX (مورد اول پروژه جدیدتری است!)
  3. LyX فایل تولیدی خود را با قالب XML نگهداری می‌کند.

قلم تو-خالی

اگر از قلم PostScript استفاده میکنید، میتوانید برای تغییر نحوه رسم قلم از حالت تو-پر به حالت تو-خالی از نمونه دستور زیر در فایل psfonts.map استفاده کنید (به دستور "Painttype 2 store" دقت کنید):

nazlibout Nazli " DK1bEncoding ReEncodeFont /Painttype 2 store " ...

علاوه بر دستور فوق باید از فایل TFM قلم اصلی (تو-پر) یک کپی مطابق با نام nazlibout.tfm (با توجه به دستور فوق و برای قلم تو-خالی) نیز درست کنید. پس از آن باید دستور "initexmf.exe --mkmaps" را در یک کنسول اجرا نمایید.

متاسفانه قلم حاصل توخالی است ولی زیبا نیست!

کتاب در مورد تک و لاتک

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

کتاب تک نوشته دونالد کنوث به ترتیب در پنج فایل یک و دو و سه و چهار و پنج. کسانی که علاقه دارند از جزئیات داخلی سیستم تک (و در نتیجه لاتک) آگاهی یابند شدیدا توصیه میشود که این کتاب را چندین بار بخوانند.

کتاب دیگری درباره تک نوشته ویکتور ایکهوت به ترتیب در دو فایل یک و دو. عنوان انگلیسی این کتاب TeX by Topic میباشد.

کتابی در مورد تک و لاتک از منظر یک درس علوم کامپیوتری نوشته ویکتور ایکهوت به ترتیب در دو فایل یک و دو. عنوان انگلیسی این کتاب The Computer Science of TeX and LaTeX میباشد.

کتابی ابتدایی در مورد لاتک نوشته چهار نفر به ترتیب در دو فایل یک و دو. عنوان انگلیسی این کتاب The  Not So Short Introduction to LaTeX 2e میباشد.

دو تا کتاب دیگر در مورد لاتک دو-ای را (به دلیل کپی-رایت!! و نیز حجم بزرگ) در یک اکانت در gmail قرار داده ام و باید با gspace دانلود کنید. در صورت تمایل شناسه کاربری و گذرواژه را در اختیارتان قرار میدهم. یکی از کتابها نوشته میچل گسنس و فرانک میتلباخ و الکساندر سامارین است که سال نشرش ۱۹۹۴ میباشد و ۴۵ مگا بایت حجم دارد. دیگری نوشته فرانک میتلباخ و میچل گسنس و یوهانس برامس و دیوید کارلیسله و کریس راولی است که سال نشرش ۲۰۰۴ میباشد و ۳ مگا بایت حجم دارد.

تعیین پیش فرض قلمها

برای تعیین پیش فرض قلمها (به عنوان نمونه زمانی که بخواهید از قلم لوتوس به جای نازلی استفاده کنید)، مجموعه دستورات زیر را میتوانید مطابق میل خود تغییر دهید. در دستور زیر به حالت نرمال از قلم rm قلم نرمال لوتوس نسبت داده شده است (در واقع rm اسمی مستعار میباشد که با دستور زیر به یک اسم واقعی قلم مربوط میشود). دستورات این چنینی را میتوانید در داخل یک فایل ذخیره کنید و سپس آن فایل را از داخل فایل لاتک خود فراخوانی کنید. دقت کنید که در ابتدای فایل لاتک و در دستور مربوط به fontenc اول LFE بار شود و سپس LAE (به نظر یک باگ است ولی مطمئن نیستم).

\DeclareFontFamily{LFE}{\rmdefault}{\hyphenchar\font=-1}%
\DeclareFontShape{LFE}{\rmdefault}{m}{n}{<->  s*[1.25] BLotusmn }{}%
...

نصب یک خانواده از قلم Postscript Type I در توزیع MiKTeX

یک خانواده-قلم شامل پنج فایل است:

  1. فایلهایی با پسوند TFM که مشخصات هندسی عرض و طول نویسه ها را دارند. این فایل توسط تک در مرحله تبدیل فایل تک به DVI استفاده میشود.
  2. فایلهایی با پسوند PFB یا PFA که مشخصات کامل نویسه ها را دارند.
  3. یک فایل با پسوند ENC که به هر داریه از یک جدول ۲۵۶تایی نام یکی از نویسه های PFX را نسبت میدهد. یک فایل PFX ممکن است بیشتر از ۲۵۶ نویسه داشته باشد و در یک فایل PFX هر نویسه یک اسم منحصر به فرد دارد.
  4. یک فایل با پسوند FD که قلم را برای لاتک معرفی میکند. به این معنی که مشخص میکند برای دستیابی به نسخه های ایتالیک، خوابیده، سیاه و غیره از یک سایز مشخص به چه قلمی باید رجوع کرد.
  5. یک فایل با پسوند MAP که به هر قلم مورد رجوع لاتک یک قلم فیزیکی اختصاص میدهد. این فایل توسط dvips.exe استفاده میشود تا فایل DVI را به یک فایل PS تبدیل کند.

نصب قلم شامل چهار مرحله زیر است:

  1. برای نصب یک قلم فایل TFM را در شاخه ای (که خود میسازید) در شاخه TEXMF/fonts/tfm کپی کنید. فایل PFX را در شاخه ای (که خود میسازید) در شاخه TEXMF/fonts/type1 کپی کنید. فایل ENC را در شاخه ای (که خود میسازید) در شاخه TEXMF/fonts/enc/dvips کپی کنید. فایل FD را در شاخه ای (که خود میسازید) در شاخه TEXMF/tex کپی کنید. فایل MAP را در شاخه ای (که خود میسازید) در شاخه TEXMF/fonts/map/dvips کپی کنید.
  2. فایل updmap.cfg را در شاخه TEXMF/miktex/config ویرایش کرده و خطی با محتوای Map YOURFILE.MAP اضافه کنید.
  3. یک بار Refresh FNDB کنید.
  4. دستورات "initexmf -u" و "initexmf --mkmaps" را در یک کنسول اجرا کنید.

فهرست مطالب تا این لحظه

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

 

  1. بسته ARABI
    1. شروع
    2. نحوه نصب دستی ARABI (بدون استفاده از MPM)
    3. نمونه خروجی
    4. اسکلت یک فایل فارسی در ARABI و حل دو مشکل
    5. قرار دادن تصویر در ARABI
    6. بعضی از مشکلات ARABI
    7. حل مشکلهای شماره ۱ و ۲
    8. حل مشکل شماره ۳
    9. حل مشکل شماره ۴
    10. تعدادی قلم برنا برای استفاده در ARABI و حل مشکلهای شماره ۶ و ۷
    11. قلم در ARABI و مشکل شماره ۷
      1. قلم ایتالیک/خوابیده و مشکل شماره ۶
      2. تهیه خودکار قلم خوابیده با FontForge
    12. قابلیت جستجو در PDF
    13. تهیه اسلاید با IPE با استفاده از بسته Arabi
    14. متن فارسی در متاپست (MetaPost)
    15. تهیه پایان‌نامه فارسی با لیکس (Typesetting a Persian Thesis with Lyx)
    16. نمونه‌ها
      1. خطبه فدک فاطمه زهرا (س) به زبان عربی با استفاده از بسته ARABI
      2. پرواز با خورشید: با استفاده از بسته Arabi
      3. هوای گریه: با استفاده از بسته

  2. تک پارسی
    1. لینوکس و تک پارسی
    2. تک پارسی روی MiKTeX
      1. نصب تک پارسی روی MiKTeX
    3. معادل انگلیسی بعضی از دستورات تک پارسی
      1. دستورات مربوط به اندازه قلمها و معادل انگلیسی آنها در تک پارسی
      2. دستورات بخش بندی در تک پارسی
    4. قلم
      1. قلم فارسی-وب بر روی تک پارسی (با وجود قلم‌های فارسی تک، منقضی شد!)
      2. نسخه پست اسکریپت قلمهای موجود در تک پارسی (منقضی شد!)
      3. تمام قلمهای تک پارسی به صورت type1
      4. تعویض قلم پیش-فرض در تک پارسی
      5. تعویض قلم ارقام (حالت ریاضی) در تک پارسی
      6. استفاده از قلمهای فارسی تک در تک پارسی
        1. رمزینه مورد نیاز جهت استفاده از قلمهای فارسی-تک در پارسی-تک (منقضی شد!)
        2. قلم لوتوس برای تک پارسی (نسخه ۰.۲) (منقضی شد!)
        3. قلمهای فارسی-تک برای استفاده در تک پارسی (نسخه ۰.۳) (منقضی شد!)
        4. قلمهای فارسی تک برای تک پارسی (نسخه ۰.۴): تصحیح اعراب
    5. مبدل یونیکد به تک پارسی نسخه 0.1 (منقضی شد!)
    6. مبدل یونیکد به تک پارسی نسخه 0.2
    7. راهنمای کامل تک پارسی به زبان فارسی
    8. PDFLaTeX و تک پارسی
    9. دریافت (download) تک پارسی (TeX-e-Parsi)
    10. چند ترفند جالب در TeX-پارسی
    11. تعریف لوگوی فارسی تک در TeX-پارسی

  3. XeTeX
    1. XeTeX و ArabXeTeX
    2. ArabXeTeX
    3. نمونه (ArabXeTeX): مناجات امام رضا (ع)
    4. حروفچینی یک شعر با قلم نستعلیق در ArabXeTeX
    5. ماکروهای (کاملا) مقدماتی برای فارسی نوشتن با XeTeX و ArabXeTeX (منقضی شد)
    6. ماکروهایی برای حروفچینی فارسی با XeTeX (نسخه ۰.۲) (منقضی شد)
    7. امکان تعریف دستور با حروف فارسی (یونیکدی) در XeTeX
    8. ماکروهایی برای حروفچینی فارسی با XeTeX (نسخه ۰.۶)
    9. ماکروهایی برای حروفچینی فارسی با XeTeX (نسخه ۰.۷) و بیان چند مشکل
    10. متن فارسی در متاپست (MetaPost)
    11. PSTricks و XeTeX
    12. خطبه حضرت زینب (س) در کوفه و شام
    13. یک فایل نمونه با بسته amsbook
    14. بسته robustindex و حل یک مشکل
    15. راهنمای کامل XeTeX توسط Michel Goossens
    16. زیتک نسخه ۰.۹۹۷ برای اوبونتو ۷.۱۰ (XeTeX 0.997 - Ubuntu 7.10)

  4. LuaTeX
    1. نسخه بعدی از موتور تک: LuaTeX
    2. آزمایش اولیه LuaTeX
    3. MKIV:کانتکست+لواتک

  5. گوناگون در مورد فارسی و لاتک دو-ای و غیره
    1. در مورد قلم
      1. ساخت قلم PostScript Type I از قلم MetaFont
      2. نصب یک خانواده از قلم Postscript Type I در توزیع MiKTeX
      3. تعیین پیش فرض قلمها
      4. قلم توخالی
      5. ابزارهای مشکل-دار قلم
      6. بالا یا پایین آوردن نویسه در یک قلم
      7. نصب قلم Type1 در MiKTeX نسخه ۲.۶ به بعد
    2. تهیه تصویر برای استفاده در تک
      1. استفاده از IPE برای تهیه تصاویر مناسب LaTeX و دارای متون فارسی
      2. تهیه آرم (مثلا دانشگاه) با وضوح خوب برای استفاده در TeX
      3. تهیه تصویر مقیاس پذیر (svg و EPS و PDF) از فرمول ریاضی در TeX
      4. تبدیل تصویر بیت-مپی رنگی به یک تصویر برداری رنگی
      5. ابزارهای جالب برای کار با فایلهای PS و EPS
      6. چند ابزار برای تهیه تصاویر هندسی-ریاضی
      7. بسته PGF و TikZ
    3. قابليت حمل مستند: XML و LaTeX
    4. چهارچوب مبدل یونیکد به فارسی لاتک
    5. مترجم برخط فرمول لاتک
    6. پایتون (Python) + تک (TeX) می‌دهد PyTeX
    7. PerlTeX
    8. مقایسه توزیعهای فارسی از تک
    9. PowerPoint + LaTeX
    10. ابزارهای جالب برای کار با فایلهای PS و EPS
    11. دستورات و بسته‌های منقضی شده لاتک ۲-ای
    12. نسخه بعدی از موتور تک: LuaTeX
    13. مبدل فارسی‌تک به یونیکد (FarsiTeX to Unicode)
    14. لیکس و یونیکد (LyX & Unicode)
    15. زنده باد نرم‌افزار متن‌باز: سیستم ریاضی SAGE
    16. زنده باد نرم‌افزار متن‌باز: ماشین مجازی VirtualBox

  6. منابع
    1. کتاب در مورد تک و لاتک
    2. سؤالات متداول تک و لاتک
    3. دستورات و بسته‌های منقضی شده لاتک ۲-ای
    4. راهنمای کامل XeTeX توسط Michel Goossens
    5. راهنمای PSTricks به زبان فارسی

  7. نمونه‌ها
    1. خطبه فدک فاطمه زهرا (س) به زبان عربی با استفاده از بسته ARABI
    2. پرواز با خورشید: با استفاده از بسته Arabi
    3. هوای گریه: با استفاده از بسته Arabi
    4. نمونه (ArabXeTeX): مناجات امام رضا (ع)
    5. حروفچینی یک شعر با قلم نستعلیق با ArabXeTeX
    6. خطبه حضرت زینب (س) در کوفه و شام با ArabXeTeX
    7. یک فایل نمونه با بسته amsbook با ArabXeTeX

تهیه تصویر مقیاس پذیر (svg و EPS و PDF) از فرمول ریاضی در TeX

برای تهیه تصویر مقیاس پذیر (scalable) با پسوندهای (svg و EPS و PDF) از فرمولهای TeX میتوانید از برنامه Potrace  استفاده کنید. خروجی این برنامه یک فایل با یکی از پسوند های مذکور است (svg  مخفف عبارت انگلیسی scalable vector graphics است). مرورگر Firefox میتواند فایل svg را مانند یک تصویر معمولی نمایش دهد. برای این کار مراحل زیر را در نظر بگیرید:

  1. فرمول خود را در یک فایل لاتک معمولی قرار دهید. با دستور pagestyle به لاتک بگویید که شماره صفحه نزند. سپس به صورت معمول کامپایل کنید تا فایل dvi حاصل شود.
  2. با استفاده از دستورات زیر فایل dvi را به یک فایل svg تبدیل کنید:

dvipng -q -T tight -D 1000 %1.dvi
ren %11.png %1.png
convert %1.png %1.pbm
potrace -s %1.pbm
del %1.pbm %1.png %1.dvi %1.log %1.aux

به جای %1 نام فایل خود را قرار دهید (میتوانید دستورات فوق را در یک فایل bat نیز قرار دهید). دستور convert متعلق به برنامه imagemagick است.

آرم (مثلا دانشگاه) با وضوح خوب برای استفاده در TeX

یک راه آسان برای تولید یک آرم EPS (مثلا آرم دانشگاه یا موسسه) با وضوح خوب از یک آرم بیت-مپی برای استفاده در TeX استفاده از نرم افزار رایگان inkscape است. این نرم افزار به صورت داخلی از نرم افزار رایگان دیگری به نام potrace استفاده کرده است. بعد از باز کردن تصویر بیت-مپ به منوی "Path -> Trace Bitmap" بروید.

قالب svg (مخفف عبارت scalable vector graphic) قالب پیش فرض این برنامه میباشد. لازم به ذکر است که inkscape میتواند قالب فایلهای تولید شده بوسیله xfig یا WinFIG را هم بخواند. 

چنانچه بخواهید فایل تولید شده در inkscape را در ipe استفاده کنید، (از داخل inkscpae) فایل را به صورت PDF ذخیره کنید. سپس با استفاده از برنامه ای به نام pdftoipe.exe (که همراه IPE نصب میشود)، فایل PDF  تولید شده را به قالبی قابل استفاده (یا قابل خواندن) در IPE تبدیل کنید.

ساخت قلم PostScript Type I از قلم MetaFont

برای ساخت قلم PostScript از قلم MetaFont باید کارهای را زیر انجام دهیم:

  1. هر قلم MetaFont یک فایل TFM دارد که در آن مشخصات هندسی نویسه ها ذخیره شده است (در نتیجه برای پیدا کردن اسم قلمها به شاخه ای بروید که در آن فایلهای TFM ذخیره شده اند).دستور "maketexpk fontname 1493 1493" را اجرا کنید تا از قلم  fontname (بدون پسوند) یک قلم بیت-مپی PK با وضوح بسیار بالا به دست آید.
  2. به شاخه ای بروید که قلم PK ساخته شده در آن قرار دارد. سپس دستورات انتهای این پست را در یک فایل به نام "pk_pfb.pe" ذخیره کنید و دستور زیر را بر روی قلم PK اجرا کنید: "fontforge -script pk_pfb.pe fontname.pk"

New()
Import($1)
SelectAll()
AutoTrace()
ClearBackground()
Generate($1:r + ".pfb")

میتوانید تمام این دستورات را در یک اسکریپت قرار دهید تا فرآیند به صورت کامل خودکار گردد.

تهیه خودکار قلم خوابیده با FontForge

دستورات زیر را در فایلی به نام ttf_bs_sl.pe قرار دهید:

Open($1)
SelectAll()
Skew(-10)
SetFontNames($1:r + "bs")
Generate($1:r + "bs.ttf")
Close()
Open($1)
SelectAll()
Skew(10)
SetFontNames($1:r + "sl")
Generate($1:r + "sl.ttf")
Close()

حال به ازای هر فایل font.ttf دستور زیر را اجرا کنید:

fontforge -script ttf_bs_sl.pe font.ttf

در خروجی دو فایل fontsl.ttf و fontbs.ttf خواهید داشت. حال مراحلی که در سه پست قبلی ذکر کردیم را میتوانید پی بگیرید تا در ARABI از آنها استفاده کنید.

استفاده از IPE برای تهیه تصاویر مناسب LaTeX و دارای متون فارسی

Using IPE and ARABI package you can easily produce EPS and PDF with Farsi text inside. In menu "Edit -> Document Properties" and in the field "LaTeX Preamble" put these commands. Then you should surround your Farsi text with the command "\textFR{some phrase}". See ARABI's manual for more commands and options. Here is an example (also open it with IPE). Clearly it is possible to use the resulting pictures also inside FarsiTeX.

شروع

در این وبلاگ به صورت عمده روش استفاده از Arabi (نام یک بسته نرم افزاری) و نحوه رفع بعضی از معایب و مشکلات آن برای نوشتن فارسی توضیح داده میشود. فرض میکنیم که خواننده با تک و لاتک آشنایی ابتدایی دارد.

برای نوشتن فارسی در لاتک نسخه 2e روشهای متعددی وجود دارد:

  1. Omega - متاسفانه Omega دیگر پشتیبانی نمیشود. گفته میشود که نویسندگان این نرم افزار در پی تهیه نسخه بعدی Omega هستند که آن را Omega-2 نامیده اند.
  2. ArabTeX - مشکل اصلی آن قلم نامناسب آن است.
  3. پارسی-تک - بسیار عالی است.
  4. XeTeX و ArabXeTeX - نسخه ای از ArabTeX که برای XeTeX تهیه شده است. تهیه کنندگان این بسته آن را برای Mac OS نگاشته اند. در نتیجه نمیدانم آیا میشود از آن در ویندوز یا لینوکس استفاده کرد. هر چند که مؤلف MiKTeX گفته است که از XeTeX در نسخه 2.7 پشتیبانی خواهد کرد. در حال حاضر تنها توزیع تک که در ویندوز XeTeX را پشتیبانی میکند W32TeX است.
  5. Arabi

در حال حاضر برای یک کار جدی گزینه سومی بهترین و قابل اطمینان ترین گزینه است. هر چند که به دلایلی این جانب گزینه پنجم یعنی Arabi را انتخاب کرده ام، از جمله یونیکد، کوچکی، مستقل بودن از توزیع تک، ....

در حال حاضر میتوان با استفاده از MikTeX 2.5 به صورت خودکار بسته Arabi را دانلود و نصب کنید (انجام یک Refresh FNDB ضرری ندارد). برای تهیه تصویر با IPE میتوان از Arabi استفاده کرد. به علاوه در حال حاضر میتوان با LyX بر اساس Arabi مستند فارسی تهیه کرد، هر چند که هنوز نهایی نشده است و برای تست آن باید از نسخه آزمایشی آن استفاده کنید.