• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

یه مشکل در تایپ فرمول‌های بولد در XeLatex

نویسنده علی‌رضا طاهريون, نوامبر 18, 2009, 06:39:19 بعد از ظهر

« قبلی - بعدی »

علی‌رضا طاهريون

سلام دوستان
يه مشکل تو تايپ فرمول‌های بولد داشتم. اگه ممکنه دوستان متن زير رو در Latex اجرا کنند
‎\documentclass[a4paper,14pt]{article}‎
‎\begin{document}‎
‎\begin{eqnarray}\label{eq:0}‎
‎\gamma({\bf t})=E[X({\bf t})X({\bf 0})]=1-c\|{\bf t}\|^{\beta}+o(\|{\bf t}\|^{\beta}),‎
\end{eqnarray}‎

end{document}‎\


حالا متن زير رو اجرا کنيد:

‎\documentclass[a4paper,14pt]{article}‎
‎\usepackage{xepersian}‎
‎\settextfont[Scale=1.2]{XB Zar}‎
‎\setlatintextfont[Scale=1.2]{Arial}‎
‎\setdigitfont[Scale=1.2]{XB Zar}‎
‎\begin{document}‎

‎\begin{eqnarray}\label{eq:0}‎
‎\gamma({\bf t})=E[X({\bf t})X({\bf 0})]=1-c\|{\bf t}\|^{\beta}+o(\|{\bf t}\|^{\beta}),‎
\end{eqnarray}‎
end{document}‎\
به تفاوت بیين حروف بولد در Latex و XeLatex  توجه کنين! اين در حاليه که Euclid فونت رسمی تايپ مقاله‌های رياضيه. فکر می‌کنين ايراد کار من کجاست؟

علی‌رضا طاهريون

یه اشتباه شرمنده
به جای Arial از ٍEuclid استفاده کنین
تاثیری در جواب نداره
به هر حال مشکل باقیه

vafa


پویا

سلام
خسته نباشید
برای بولد کردن از دستور
\boldsymbol  استفاده کنید
امیدوارم حل بشه
موفق باشی

علی‌رضا طاهريون

با تشکر از پويا
اما وقتی از \boldsymbol به جای \bf استفاده می‌شه، شکل حرف t حاصل با اونی که Latex بولدش می‌کنه فرق داره (به تاج دو حرف بولد شده با \bf و \boldsynbol توجه کنين). هرچند به نظر می‌رسه کار درست رو \boldsymbol انجام می‌ده چون فرمول رو به‌صورت ايتاليک بولدش می‌کنه. اما واقعيت اينه که تورياضيات حروف بولد، نبايد ايتاليک باشن. يعنی دقيقا همون کاری که Latex با دستور \bf انجام می‌ده. بنابراين فکر  می‌کنم اين باگ همچنان به قوه خودش باقيه!

حميد موسوی

ببخشيد شما بر چه اساسی ميگوييد که در رياضی ايتاليک نبايد بولد باشد( می‌خواهم ياد بگيرم اعتراض ندارم)
من فقط می‌دانم در رياضی هر نماد ايتاليک است مگر در موارد خاص

vafa

نقل قول از: stataher در نوامبر 21, 2009, 10:33:08 قبل از ظهر
بنابراين فکر  می‌کنم اين باگ همچنان به قوه خودش باقيه!
از کدوم باگ داری صحبت می‌کنی؟ شما وقتی از دستور \setdigitfont استفاده کنید \mathbf هم با همین قلم حروف‌چینی خواهد شد و این استاندارد لاتک است شما نمی‌توانید اعداد را داخل \mathbf با یک قلم و حروف را با قلم دیگری حروف‌چینی کنید. این استاندارد لاتک است و باگی در میان نیست.

vafa

فایل ضمیمه شده هم دلیلی برای اثبات حرفم.

vafa

در ضمن دستور \bf یک دستور منقرض شده در لاتک ۲e هست و مربوط به لاتک۲.۰۹ هستش. این دستور رو اگر در محیط ریاضی استفاده کنی قلم متن را استفاده خواهد کرد نه قلم ریاضی. باید به جاش از \mathbf استفاده کنی.

علی‌رضا طاهريون

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

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

علی‌رضا طاهريون

سلام دوباره
می‌دونم این خواسته عبور از استانداردهای LateX هست، اما فکر نمی‌کنید اگه دستوری داشتیم که فونت فرمول‌ها و نه ارقام رو مشخص می‌کرد چه امکان بزرگی بود؟! این‌طوری می‌شد فرمول‌های Euclid رو با ارقام مثلا XB Zar داشت. باور کنین چون خودم با این مساله روبرو هستم اینو نمی‌گم. من فکر کنم ما کاربران خاصی برای LateX هستیم که امکانات خاص خودمونو احتیاج داریم.
ممنون از توجهتون

vafa

شما مثل اینکه از حرفهای من چیزی متوجه نشده‌اید. من گفتم شما اگر فونت قلم ریاضی را تغییر دهید، برای \mathbf حروف و اعداد با یک قلم حروف‌چینی خواهند شد و شما نمی‌توانید در دستور \mathbf، اعداد را با یک قلم و حروف را با قلم دیگری حروف‌چینی کنید.

بنابراین پاسخ سؤال شما خیر است.

شما می‌خواهید یک باگ درست کنید!

علی‌رضا طاهريون

من متوجه فرمایش شما شدم. اما به این نکته توجه کنید که دانشجو های ما در ایران مجبورند هنگام تایپ، اعداد رو فارسی و با فونتی تایپ کنند که متن رو با اون تایپ کردند (غالبا خانواده‌ی Zar). این در حالیه که قلم فرمول‌ها اغلب Euclid هستش. حالا طبق فرمایش شما اگه کسی مجبور باشه حرف لاتینی رو با دستور مثلا \mathbf بولدش کنه، به ناچار اون حرف با فونتی بولد
می‌شه که تو \setdigitfont مشخص شده و این کار این دانشجوی بنده خدارو لنگ می‌ذاره. درسته که این استاندارد LateX هستش اما شما که رساله‌تونو انگلیسی تایپ می‌فرمایین هیچوقت این مشکل رو ندارین. باور بفرمایین کار من از رساله گذشته و هدف من تنها وتنها حل مشکلات احتمالیه که ممکنه کاربر رو به سمت دیگه‌ای سوق بده. اگه گفته‌های من به‌عنوان یک مبتدی روی اعصابه در یک پیغام خصوصی بفرمایید تا این موضوع رو ادامه ندم. ممنون که انقدر سریع جواب می‌دید

vafa

۱- من عصبانی نشدم، شاید بهتر بود یک شکلک لبخند می‌گذاشتم که سؤتفاهمی ایجاد نشود.

۲- واقعاً من نمی‌دونم چجوری به شما جواب بدهم که شما را قانع کنه. شما روی مواضع خودتون سخت ایستاده‌اید. دو راه حل می‌توانم پیشنهاد کنم:

    الف- اگر داخل دستور \mathbf واقعاً عددی نمی‌نویسید و فقط صرفاً حروف است، فایل xepersian-mathsdigitspec.sty را باز کنید و خط ۴۸ را حذف یا کامنت کنید. توجه داشته باشید که با انجام این کار هر عددی داخل دستور \mathbf بنویسید، در خروجی چاپ نخواهد شد.

ب- می‌توانید بدون تغییر فایل xepersian-mathsdigitspec.sty برای bold کردن از روش زیر استفاده کنید:

\mathbf{0123\lr{xyz}}

۳- فکر نمی‌کنم اینکه دستور \mathbf هم حروف و هم ارقام رو با یک قلم حروف‌چینی می‌کند، مشکلی را بسازد یا دانشجویی را لنگ کند. شما دوست دارید، اون جوری که سلیقهٔ شما است همه چیز کار کند که متأسفانه نیست. تنها توصیه‌ام این است که اگر کار با تک را دشوار پیدا می‌کنید از همان office استفاده نمائید.

علی‌رضا طاهريون

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