سلام، لطفا وارد شوید یا عضو شوید.

نویسنده موضوع: ایجاد شمارنده برای حروف فارسی  (دفعات بازدید: 2284 بار)

آفلاین taherkhani

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 28
  • -دریافت شده: 7
  • ارسال: 78
    • ديدن مشخصات
ایجاد شمارنده برای حروف فارسی
« : آوریل 06, 2013, 12:16:09 pm »
سلام
هدف من تولید جدولی 2 یا چند ستونی از فرمولهای ریاضی هست که شماره بخورند.

چون در محیط جدول نمیشه از محیط enumerate استفاده کرد، یک شمارنده تعریف

کردم به شکل زیر:

\newcounter{shomarande}
\renewcommand{\shomare}{\stepcounter{shomarande}(\theshomarande)}

با این دو دستور، وقتی دستور \shomare رو در خانه های جدول میذارم شماره های (1)، (2)، و ... درست میشوند.

الان میخوام این شماره ها به صورت (الف)، (ب)، و ... تولید بشود. برای اینکار وقتی دستور

\renewcommand{\theshomarande}{\harfi{shomarande}}

رو اضافه میکنم خطایی نمیگیرم ولی هیچ شماره ای هم تولید نمیشود.

آفلاین فرشاد ترابی

  • مدیر تالار
  • Hero Member
  • **
  • تشکر
  • -اهدا شده: 204
  • -دریافت شده: 474
  • ارسال: 1,779
    • ديدن مشخصات
پاسخ : ایجاد شمارنده برای حروف فارسی
« پاسخ #1 : آوریل 06, 2013, 06:01:47 pm »
زی‌پرشین شما قدیمی نیست؟ فکر کنم فونت مناسب پیدا نمیکنه. اگر فایل کمینه ارسال کنید بهتر میشه کمک کرد.

آفلاین taherkhani

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 28
  • -دریافت شده: 7
  • ارسال: 78
    • ديدن مشخصات
پاسخ : ایجاد شمارنده برای حروف فارسی
« پاسخ #2 : آوریل 07, 2013, 03:16:36 pm »
فایل هارو فرستادم
« آخرين ويرايش: آوریل 07, 2013, 03:20:34 pm توسط taherkhani »

آفلاین وحید دامن‌افشان

  • Administrator
  • Hero Member
  • *****
  • تشکر
  • -اهدا شده: 452
  • -دریافت شده: 718
  • ارسال: 2,107
    • ديدن مشخصات
    • http://www.damanafshan.ir
پاسخ : ایجاد شمارنده برای حروف فارسی
« پاسخ #3 : آوریل 08, 2013, 12:44:07 am »
فایل هارو فرستادم
استفاده شما از محیط latin اشتباه هستش. در واقع شما برای چپ به راست کردن فرمول‌ها از این محیط استفاده کردین. علاوه بر این، در صورت استفاده از این محیط، شماره فرمول‌ها هم انگلیسی چاپ می‌شه که اشتباهه.
پیشنهاد می‌کنم که این محیط رو حذف کنین و به جای استفاده از این محیط، جای خانه‌های جدول رو عوض کنین.
اما چرا در صورت استفاده از دستور \harfi، حروف آ، ب و ... چاپ نمی‌شه؟ دلیل این رفتار اینه که شمار از دستور ‎\shomare در داخل محیط align استفاده کردین که یه محیط مخصوص حروف‌چینی فرمول‌های ریاضی هستش. از طرفی می‌دونیم که برای نوشتن متن فارسی در محیط ریاضی، باید از دستور
\text{...}استفاده بشه. بنابراین اگه می‌خواین به جای شماره‌های ۱، ۲ و ... از حروف آ، ب و ... استفاده کنین، باید دستور
\renewcommand{\theshomarande}{\harfi{shomarande}}رو به
\renewcommand{\theshomarande}{\text{\harfi{shomarande}}}تغییر بدین. البته با این فرض که محیط latin رو حذف کرده باشین.

آفلاین taherkhani

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 28
  • -دریافت شده: 7
  • ارسال: 78
    • ديدن مشخصات
پاسخ : ایجاد شمارنده برای حروف فارسی
« پاسخ #4 : آوریل 08, 2013, 03:47:51 pm »
استفاده شما از محیط latin اشتباه هستش. در واقع شما برای چپ به راست کردن فرمول‌ها از این محیط استفاده کردین. علاوه بر این، در صورت استفاده از این محیط، شماره فرمول‌ها هم انگلیسی چاپ می‌شه که اشتباهه.
پیشنهاد می‌کنم که این محیط رو حذف کنین و به جای استفاده از این محیط، جای خانه‌های جدول رو عوض کنین.
اما چرا در صورت استفاده از دستور \harfi، حروف آ، ب و ... چاپ نمی‌شه؟ دلیل این رفتار اینه که شمار از دستور ‎\shomare در داخل محیط align استفاده کردین که یه محیط مخصوص حروف‌چینی فرمول‌های ریاضی هستش. از طرفی می‌دونیم که برای نوشتن متن فارسی در محیط ریاضی، باید از دستور
\text{...}استفاده بشه. بنابراین اگه می‌خواین به جای شماره‌های ۱، ۲ و ... از حروف آ، ب و ... استفاده کنین، باید دستور
\renewcommand{\theshomarande}{\harfi{shomarande}}رو به
\renewcommand{\theshomarande}{\text{\harfi{shomarande}}}تغییر بدین. البته با این فرض که محیط latin رو حذف کرده باشین.

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

‎\PersianMathsDigits‎

رو قرار دادم. اگر محیط latin رو حذف کنید باید تک تک خانه های جدول رو چپ چین کنید که هم زمان بره و هم جدول رو خیلی شلوغ میکنه.
« آخرين ويرايش: آوریل 08, 2013, 03:50:26 pm توسط taherkhani »

آفلاین وحید دامن‌افشان

  • Administrator
  • Hero Member
  • *****
  • تشکر
  • -اهدا شده: 452
  • -دریافت شده: 718
  • ارسال: 2,107
    • ديدن مشخصات
    • http://www.damanafshan.ir
پاسخ : ایجاد شمارنده برای حروف فارسی
« پاسخ #5 : آوریل 09, 2013, 12:42:10 am »
ممنون از پاسختون. من برای اینکه شماره فرمولها انگلیسی نشه دستور
‎\PersianMathsDigits‎
رو قرار دادم. اگر محیط latin رو حذف کنید باید تک تک خانه های جدول رو چپ چین کنید که هم زمان بره و هم جدول رو خیلی شلوغ میکنه.
چرا اصرار دارین که از محیط tabular و latin استفاده کنین؟ چیزی که شما می‌خواین، به راحتی با استفاده از محیط array به دست میاد. فایل پیوست رو ببینین.
در ضمن به دستور
\everymath{\displaystyle}هم دقت کنین که اضافه شده و کارش اینه که فرمول‌ها رو به صورت «نمایشی»، چاپ می‌کنه.

آفلاین taherkhani

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 28
  • -دریافت شده: 7
  • ارسال: 78
    • ديدن مشخصات
پاسخ : ایجاد شمارنده برای حروف فارسی
« پاسخ #6 : آوریل 10, 2013, 12:06:06 pm »
سلام

ممنون از جوابتون

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

 :) :)

آفلاین vafa

  • Moderator
  • Hero Member
  • ***
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
پاسخ : ایجاد شمارنده برای حروف فارسی
« پاسخ #7 : آوریل 10, 2013, 12:34:51 pm »
در ضمن به دستور
\everymath{\displaystyle}هم دقت کنین که اضافه شده و کارش اینه که فرمول‌ها رو به صورت «نمایشی»، چاپ می‌کنه.
درست نیست. دو قسمت داره:

الف) حروف‌چینی: فرمولهای inline باید inline باشند و فرمولهای display باید display باشند. زور کردن display برای inline حروف‌چینی را زشت می‌کند (یا بهتر بگم نشون می‌ده که طرف از حروف‌چینی چیزی نمی‌‌‌دونه). اگر display برای میان متن مناسب بود، knuth آن همه وقت صرف تحقیق و مطالعه در حروف‌چینی تک نمی‌کرد.

ب) استفاده نادرست از \everymath:
\documentclass{article}
\usepackage{xepersian}
\begin{document}
\everymath{\displaystyle}
$1+2=3$
\end{document}
به سر این نوشتار چی میاد؟ شما با این کار، تمام محتویات \everymath رو پاک می‌کنید. بسیاری از بسته‌ها از جمله xepersian-mathsdigitspec با \everymath کار می‌کنند و شما با این کارتون تمام تنظیمات این بسته‌ها رو از بین می‌برید. اگر واقعاً لازمه که دستور \everymath استفاده بشه، باید بصورت زیر استفاده بشه:
\everymath\expandafter{\the\everymath <new stuff>}
اینجوری شما ضمن اینکه تنظیمات خودتون رو اضافه می‌کنید، تنظیمات سایر بسته‌ها رو هم حفظ می‌کنید.

آفلاین وحید دامن‌افشان

  • Administrator
  • Hero Member
  • *****
  • تشکر
  • -اهدا شده: 452
  • -دریافت شده: 718
  • ارسال: 2,107
    • ديدن مشخصات
    • http://www.damanafshan.ir
پاسخ : ایجاد شمارنده برای حروف فارسی
« پاسخ #8 : آوریل 10, 2013, 04:38:35 pm »
درست نیست. دو قسمت داره:

الف) حروف‌چینی: فرمولهای inline باید inline باشند و فرمولهای display باید display باشند. زور کردن display برای inline حروف‌چینی را زشت می‌کند (یا بهتر بگم نشون می‌ده که طرف از حروف‌چینی چیزی نمی‌‌‌دونه). اگر display برای میان متن مناسب بود، knuth آن همه وقت صرف تحقیق و مطالعه در حروف‌چینی تک نمی‌کرد.

ب) استفاده نادرست از \everymath:
\documentclass{article}
\usepackage{xepersian}
\begin{document}
\everymath{\displaystyle}
$1+2=3$
\end{document}
به سر این نوشتار چی میاد؟ شما با این کار، تمام محتویات \everymath رو پاک می‌کنید. بسیاری از بسته‌ها از جمله xepersian-mathsdigitspec با \everymath کار می‌کنند و شما با این کارتون تمام تنظیمات این بسته‌ها رو از بین می‌برید. اگر واقعاً لازمه که دستور \everymath استفاده بشه، باید بصورت زیر استفاده بشه:
\everymath\expandafter{\the\everymath <new stuff>}
اینجوری شما ضمن اینکه تنظیمات خودتون رو اضافه می‌کنید، تنظیمات سایر بسته‌ها رو هم حفظ می‌کنید.
در مورد قسمت الف، کاملاً موافقم. به خاطر همین موضوع، دستور ‎‎(طبق گفته شما)
\everymath\expandafter{\the\everymath \displaystyle‎}رو داخل محیط ‎align‎ گذاشتم تا فقط روی همین یه محیط، تاثیر بذاره و همون‌طور که می‌دونین، بیرون این محیط، هیچ تاثیری روی بقیه فرمول‌ها نداره. آیا این کار هم مشکل پیش می‌یاره؟
در مورد راهنمایی قسمت ب هم خیلی ممنون. این موضوع رو نمی‌دونستم.
جالبه که ورد با اون همه سر و صدا، هیچ فرقی موقع حروف‌چینی بین فرمول ‎inline‎ ‎‎ و ‎display‎ نمی‌ذاره.

 

درخواست قالب کتاب در فارسی‌تک برای حروف‌چینی کتاب

نویسنده قاصدکانجمن فارسی‌تک FarsiTeX

پاسخ ها: 2
مشاهده: 3866
آخرين ارسال ژوئیه 12, 2012, 11:57:18 am
توسط وحید دامن‌افشان
ایجاد فرمت جدید برای شمارنده

نویسنده ohnoodانجمن حروف‌چینی مستندات

پاسخ ها: 10
مشاهده: 2505
آخرين ارسال اوت 21, 2014, 06:00:58 pm
توسط سید احمد موسوی
نظرسنجی در مورد کلاسی برای حروف‌چینی فرهنگ واژگان فارسی به فارسی

نویسنده وحید دامن‌افشانانجمن تازه‌ها

پاسخ ها: 3
مشاهده: 3232
آخرين ارسال اوت 25, 2014, 12:28:27 am
توسط وحید دامن‌افشان
ایجاد آیتم با حروف فارسی

نویسنده bagher.sajadiانجمن سبک نوشتار

پاسخ ها: 4
مشاهده: 10771
آخرين ارسال سپتامبر 20, 2014, 07:42:29 am
توسط HJB
استیل‌های فارسی برای BibTeX

نویسنده محمود امین‌طوسیانجمن مراجع و بیب‌تک BibTeX

پاسخ ها: 29
مشاهده: 14585
آخرين ارسال دسامبر 19, 2009, 10:23:36 pm
توسط محمود امین‌طوسی
شماره گذاری پیوستها در فارسیتک با حروف الفبای فارسی به جای حروف الفبای انگلیسی

نویسنده هادی صفی‌اقدمانجمن فارسی‌تک FarsiTeX

پاسخ ها: 0
مشاهده: 4066
آخرين ارسال اكتبر 22, 2009, 09:16:03 pm
توسط هادی صفی‌اقدم
ساخت برابر فارسی برای دستورهای تک و مشکل استفاده از نسخه‌ی همراه میک‌تک

نویسنده a.gانجمن زی‌تک

پاسخ ها: 3
مشاهده: 2217
آخرين ارسال دسامبر 26, 2009, 07:26:36 am
توسط vafa
حروف زبان چک در میان متن فارسی

نویسنده nakisaانجمن زی‌تک

پاسخ ها: 5
مشاهده: 3352
آخرين ارسال سپتامبر 19, 2011, 04:58:14 pm
توسط vafa