تالار گفتگوی پارسی‌لاتک

زی‌پرشین XePersian => لواتک => نويسنده: vafa در اوت 29, 2013, 04:21:26 pm

عنوان: پیشرفت کار
رسال شده توسط: vafa در اوت 29, 2013, 04:21:26 pm
من هر روز تعدادی کد به بسته bidi اضافه می‌کنم و هر زمان تمام شد تغییرات لازم را هم در زی‌پرشین انجام می‌دهم. زی‌پرشین احتیاج زیادی به تغییر ندارد و کار اصلی برای بسته bidi است که کمی وقت‌گیر است. در حال حاضر اگر از بسته bidi روی github استفاده کنید، امکانات زیر کار می‌کند:

۱) دستورات \setRTL و \setLTR و سایر دستورات مشابه مانند \setRL و ...

۲) دستورات \LR و \RL و سایر دستورات مشابه

۳) دستور \setRTLmaths برای حروف‌چینی راست به چپ ریاضی

۴) دستور \RTLcases

۵) دستورات شرطی مربوط به حروف‌چینی دوجهته

۶) محیط‌های LTR و RTL

۷) گزینه‌های RTLdocument و rldocument

۸) گزینه جدید RTLmaths برای حروف‌چینی ریاضی راست به چپ

۹) امکانات زیرنویس استاندارد، انواع خط‌های زیرنویس و سایر موارد مشابه

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

به تمام افرادی که به برنامه‌نویسی برای تک علاقه دارند پیشنهاد می‌کنم حتماً زبان برنامه‌نویسی Lua را یاد بگیرند چون با دانستن این زبان برنامه‌نویسی احتیاج زیادی به دانستن ماکرونویسی تک نخواهید داشت.
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: vafa در سپتامبر 03, 2013, 03:52:57 pm
قسمت سخت کدنویسی یعنی تمام تغییراتی که در فرمت لاتک برای حروف‌چینی دوجهته لازم بود انجام شده است. قسمت باقی‌مانده تغییرات لازم در بسته‌ها و کلاسها برای حروف‌چینی دوجهته می‌باشد که کار آسانی است (البته بسیاری از بسته‌ها و کلاسها احتیاجی به تغییر ندارند که حجم کار را کمی سبک می‌کند). اگر مشتاق به آزمایش آن هستید می‌توانید سیمرغ را از لینک پائین دریافت کرده و آزمایش کنید:

https://github.com/persian-tex/simurgh

چند نکته:

۱) تجربه زی‌پرشین و bidi نشان داد که این دو بسته محتاج هم هستند و بنابراین ایجاد دو بسته مجزا منطقی نبود. تمام کارها در سیمرغ انجام می‌شود (چه آنهایی که مربوط به حروف‌چینی دوجهته باشد و چه آنهایی که مربوط به ساختار زبان پارسی باشد).

۲) فایل سورس dtx دیگر وجود نخواهد داشت.

۳) سیمرغ بسیار تمیزتر از bidi و xepersian است، کدهای اضافی به خاطر باگ موتور وجود ندارد و از طرفی دیگر دستورات اضافه که هیچ کاربردی ندارند، وجود ندارند.

۴) در سیمرغ دیگر فایلهای def وجود ندارند، به جای آن همه تغییرات در بسته‌های مربوطه با پسوند sty انجام می‌شود. برای نمونه تغییرات مربوط به فرمت لاتک و فایل latex.ltx در سیمرغ در فایل simurgh-latex.sty انجام می‌شود.

۵) نام فایل loadingorder-bidi.def به بسته یا فایل simurgh-loader.sty تغییر پیدا کرده است.

۶) در فرمان‌های داخلی یا فرمانهای کاربر بسته‌های bidi یا xepersian که از نام bidi یا xepersian برای نام فرمان استفاده شده بود، این به simurgh تغییر پیدا کرده است. برای نمونه اگر دستوری به نام \bidi@mpfootnoterule وجود داشت، این دستور به \simurgh@mpfootnoterule تغییر پیدا کرده است.
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: fatemeh1600 در سپتامبر 04, 2013, 04:30:09 pm
با سلام . عرض احترام و خسته نباشید و تشکر از زحمات حضرتعالی.
 برای امتحان سیمرغ بسته را با چه نامی فراخوانی کنیم. من دستور
\usepackage{simurgh-bidi}
را وارد نمودم اما خروجی نداشتم.
 
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: vafa در سپتامبر 04, 2013, 04:34:40 pm
در حال حاضر روی قسمت حروف‌چینی دوجهته کار می‌کنم که تقریباً حدود یک ماه دیگر تمام می‌شود بعد از آن روی قسمت حروف‌چینی پارسی کار خواهم کرد. در حال حاضر تنها می‌توانید برای حروف‌چینی دوجهته و با استفاده از متن لاتین امکانات حروف‌چینی دوجهته آن را آژمایش کنید.
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: vafa در سپتامبر 08, 2013, 12:35:01 pm
من امروز راهنمایی ابتدایی نوشتم که چیز زیادی درش نیست (تنها نحوه نصب، مجوز و کمی توضیحات دیگر). این راهنما در آینده راهنمای اصلی سیمرغ خواهد بود. در روزهای آینده سعی می‌کنم هر چیزی که تا به حال کد نوشته‌ام را در راهنما بیارم و هر امکان جدیدی را که اضافه می‌کنم در راهنما توضیخاتش را بنویسم. این راهنما با نام simurgh.pdf در پوشه doc وجود دارد:

https://github.com/persian-tex/simurgh
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: vafa در سپتامبر 10, 2013, 04:40:17 pm
با تغییرات امروز می‌توانید پارسی حروف‌چینی کنید.

نکته: همانطور که در پرونده لاتک پیوست می‌بینید، نام تعدادی از فرمان‌ها نسبت به آنچه در زی‌پرشین وجود داشت، عوض شده است. در حقیقت نام بسیاری از فرمان‌ها نسبت به آنچه در زی‌پرشین وجود داشت تغییر کرده است. سعی بر این است تا سیمرغ interface راحت‌تر و تمیزتری داشته باشد. همچنین syntax گزینه‌های بسته و نحوه فراخوانی آنها بسیار تغییر کرده است. برای مثال اگر بخواهید سیمرغ را با گزینه خط زیرنویس به اندازه پهنای متن و گزینه دیگر شما الگوریتم یونیکد محلی باشد، سیمرغ را بصورت زیر فراخوانی می‌کنید:
\usepackage[footnote rule=textwidth,%
                     unicode bidi=local]{simurgh}
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: فرشاد ترابی در سپتامبر 10, 2013, 08:57:26 pm
من نمی‌دونم چرا با سیمرغ نمی‌تونم جواب بگیرم. لطفا فایل log مرا چک کنید!
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: vafa در سپتامبر 10, 2013, 09:23:58 pm
من نمی‌دونم چرا با سیمرغ نمی‌تونم جواب بگیرم. لطفا فایل log مرا چک کنید!
فایل logت کامل نیست و این فایل ناقص هم خطایی نشون نمی‌ده. مشکلت چیه؟
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: فرشاد ترابی در سپتامبر 10, 2013, 09:37:22 pm
همچین خطایی صادر می‌شه
error: ./simurgh-unibidi-core.lua:172: attempt to call upvalue 'insert_node_before' (a nil value)
.
<recently read> \endtemplate
             
l.9 \maketitle
           
?
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: vafa در سپتامبر 10, 2013, 09:41:54 pm
همچین خطایی صادر می‌شه
error: ./simurgh-unibidi-core.lua:172: attempt to call upvalue 'insert_node_before' (a nil value)
.
<recently read> \endtemplate
             
l.9 \maketitle
           
?
تک‌لایوت بروز نیست. اینجور مواقع اگر وقتی گیر میکنه یک r بنویسی و بعد اینتر رو بزنی فایل log کامل درست میشه.
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: حسن قربانزاد در سپتامبر 10, 2013, 09:42:19 pm
 برای منم خطا می‌ده
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: فرشاد ترابی در سپتامبر 10, 2013, 09:44:49 pm
من از تک‌لایو 2013 نسخه‌ی نهایی استفاده می‌کنم. یعنی بعد از اون بازهم باید بروز کنم؟
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: فرشاد ترابی در سپتامبر 10, 2013, 09:47:44 pm
برای منم خطا می‌ده
خطای شما به خاطر اینه که رفتین داخل پوشه‌ی tex  و تک تک فایل‌ها را روشون کلیک کردید و دانلود کردین.
به جای این کارها، در  آدرس
https://github.com/persian-tex/simurghرفته و آن پایین یک دکمه به نام Download Zip  هست آنرا بزنید تا کل پوشه به صورت یک فایل زیپ دانلود شود.
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: حسن قربانزاد در سپتامبر 10, 2013, 10:00:10 pm
خطای شما به خاطر اینه که رفتین داخل پوشه‌ی tex  و تک تک فایل‌ها را روشون کلیک کردید و دانلود کردین.
دانلود کردم، البته قبلاً کل فایلها را از طریق Download zip  دانلود کرده بودم ولی اجرا نمیشه.
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: Jalil در سپتامبر 11, 2013, 07:21:22 am
دانلود کردم، البته قبلاً کل فایلها را از طریق Download zip  دانلود کرده بودم ولی اجرا نمیشه.

شما xelatex رو روی فایل اجرا کردی در حالیکه باید با lualatex اجراش کنی
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: حسن قربانزاد در سپتامبر 11, 2013, 10:00:10 pm
با lualatex هم نتیجه نمی‌دهد قبل‌تر دکتر کارن‌پهلو فرموده بودند اگر گیر کرد r باید زده شود، همان کار را هم کردم ولی متأسفانه نشد.
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: fatemeh1600 در سپتامبر 12, 2013, 01:20:51 pm
در  منوی user قسمت user-command (برای تک‌میکر) روی edit user commands یک  گزینه جدید اضافه کن و در قسمت command  دستور زیر را وارد کن:
lualatex -interaction=nonstopmode -synctex=-1 %.tex
اگه سند رو با این فرمان جدید اجرا کنی سندت با lualatex اجرا میشه و حتما نتیجه می‌گیری
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: حسن قربانزاد در سپتامبر 12, 2013, 02:58:43 pm
با تشكر از همه دوستان
فكر مي‌كنم مشكل من با lualatex هست كه فونتها را نمي‌شناسد چون در پست زير هم نتونستم اجرا بگيرم
http://www.parsilatex.com/forum/SMF/index.php?topic=5352.15 (http://www.parsilatex.com/forum/SMF/index.php?topic=5352.15)
البته دوستان لطف كردن توضيح دادن ولی نتونستم فونتها را به دیتابیس اضافه کنم!!
! LuaTeX fatal error not enough memory.
<to be read again>
relax
l.100 \fontencoding\encodingdefault\selectfont
Here is how much of LuaTeX's memory you used:
7130 strings out of 494714
100000,221844 words of node,token memory allocated 269 words of node memory still in use:
2 hlist, 1 rule, 1 kern, 1 attribute, 41 glue_spec, 1 attribute_list, 2 if_st
ack, 1 write, 1 dir nodes
avail lists: 2:8,3:1,4:1,6:2,9:2
10539 multiletter control sequences out of 65536+600000
16 fonts using 432071 bytes
55i,0n,41p,918b,85s stack positions out of 5000i,500n,10000p,200000b,100000s
! ==> Fatal error occurred, no output PDF file produced!
عنوان: پاسخ : پیشرفت کار
رسال شده توسط: Jalil در سپتامبر 13, 2013, 07:23:39 am
با تشكر از همه دوستان
فكر مي‌كنم مشكل من با lualatex هست كه فونتها را نمي‌شناسد چون در پست زير هم نتونستم اجرا بگيرم
http://www.parsilatex.com/forum/SMF/index.php?topic=5352.15 (http://www.parsilatex.com/forum/SMF/index.php?topic=5352.15)
البته دوستان لطف كردن توضيح دادن ولی نتونستم فونتها را به دیتابیس اضافه کنم!!

در پنجره فرمان ویندوز دستور زیر را اجرا کن ببین دیتا بیس تشکیل میشه یا هنگ می کنه ؟
luaotfload-tool -u -f -vvv


لطفا شکل خروجی آنرا اینجا قرار بده


شکل lua1  شروع دستور و شکل lua2  اتمام کار را برای سیستم من نشان می دهد البته بدون هنگ کردن،
 روی بعضی سیستمها هنگ می کنه
برای من هفت فونت به صورت خودکار با اجرای این دستور به بلک لیست اضافه شد چون هنگ نکرد
در صورت هنگ کردن باید اسم فونت را از پنجره فرمان ویندوز کپی و به انتهای بلک لیست اضافه کنی (ظاهرا نیاز به ذکر مسیر کامل فونت هم نداره فقط اسم فونت مثل آنچه که در خروجی پنجره فرمان باشه کافی است)

برای باز کردن فایل luaotfload-blacklist.cnf به جای notepad از ادیتورهای تک مثل تکمیکر استفاده کنی بهتر است
خروجی بلک لیست برای من به صورت شکل blacklist.jpg است   مسیر فایل بلک لیست هم بر روی سیستم من در شکل مشاهده می شود

عنوان: پاسخ : پیشرفت کار
رسال شده توسط: حسن قربانزاد در سپتامبر 13, 2013, 02:30:10 pm
واقعاً متشكرم و ممنونم، هر دو مورد حل شد و بدون خطا اجرا مي‌گيرد.