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

نویسنده موضوع: شماره‌گذاری یک فرمول چندبخشی  (دفعات بازدید: 3990 بار)

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
پاسخ : شماره‌گذاری یک فرمول چندبخشی
« : دسامبر 06, 2012, 03:27:53 pm »
برای راحتی کار، کدهارو شماره‌گذاری می‌کنم تا بتونم بهشون ارجاع بدم:
1 \let\oldsubequations\subequations
2 \let\endoldsubequations\endsubequations
3 \renewenvironment{subequations}{\bgroup\oldsubequations%
4 \renewcommand{\theequation}{\theparentequation{}\@SepMark\alph{equation}}%
5 }%
6 {\endoldsubequations\egroup}
همون‌طور که می‌دونی یک دستور یا محیط رو نمی‌شه برحسب خودش redefine کرد؛ چون داخل یه حلقه بی‌پایان می‌افته. بنابراین اول باید تعریف‌شو (تعریف قدیمی‌شو) توی یه دستور جدید (در اینجا، \oldsubequations) ذخیره کنیم. برای این کار از دستور let\ استفاده کردم. شکل کلی استفاده از این دستور به صورت
\let\newcommand=\oldcommandهستش. وجود علامت مساوی هم اختیاریه. در ضمن، چون در اینجا می‌خوایم که یه محیط (و نه یه دستور) رو redefine کنیم، پس باید هر دو دستور
‎\begin{subequations}‎و
‎\end{subequations}‎رو توی یه دستور جدید ذخیره کنیم که با دستورهای شماره ۱ و ۲ این کار انجام شده (اگه می‌خواستیم یه دستوری مثل foo رو redefine کنیم، احتیاجی به خط شماره ۲ نبود). دقت کن که موقع تعریف یا بازتعریف یه محیطی مثل foo، بجای
\begin{foo}و
\end{foo}کافیه فقط به ترتیب بنویسیم foo\ و endfoo\.
خب حالا می‌ریم و در خط شماره ۳، شروع می‌کنیم به redefine کردن محیط subequations. دقت کن که در اینجا بجای subequations باید از \oldsubequations استفاده کنیم؛ (چون در غیر این صورت، دوباره وارد همون حلقه بی‌پایان می‌افتیم). خط ۴ و ۵ هم که احتیاج به توضیح نداره. با استفاده از خط ۶ هم، کار redefine کردن رو تموم می‌کنیم. اما کار دو دستور bgroup\ و \egroup چی هست؟ این دو دستور مخفف دستورهای begingroup\ و endgroup\ هستن و همون‌طور که از اسمشون پیداست، برای ایجاد یه حائل ازشون استفاده می‌شه. به عبارت دیگه توی کد بالا، برای اینکه مطمئن شیم که اثر خط شماره ۴ فقط توی این محیط باشه، خط شماره ۴ رو بین این دستور قرار می‌دیم تا اثر خط شماره ۴ روی بقیه سندمون تاثیر نذاره.
امیدوارم که خوب توضیح داده باشم. هرکجاش رو که متوجه نشدی، بگو تا دوباره توضیح بدم.
احتیاجی به \bgroup و \egroup اضافی نیست. به جای از نو تعریف کردن محیط خیلی ساده می‌تونی از دستور \bidi@AtBeginEnvironment استفاده کنی.

کاربرانی که از پست شما تشکر کرده‌اند را دنبال کنید:



درج «الف» به جای «آ» در شماره‌گذاری با حروف در فرمول چندبخشی

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

پاسخ ها: 4
مشاهده: 6039
آخرين ارسال ژوئیه 09, 2013, 12:12:31 pm
توسط سید احمد موسوی
استفاده از شماره‌ی فصل در شماره‌گذاری فرمول‌ها

نویسنده ابوالفضلانجمن ریاضیات و علوم

پاسخ ها: 4
مشاهده: 4407
آخرين ارسال اوت 30, 2010, 11:07:39 pm
توسط هادی صفی‌اقدم
شماره‌گذاری فرمول‌ها بر اساس بخش

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

پاسخ ها: 4
مشاهده: 5791
آخرين ارسال اكتبر 17, 2010, 11:49:00 pm
توسط هادی صفی‌اقدم
اشکال در شماره گذاری فرمول ها

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

پاسخ ها: 8
مشاهده: 10575
آخرين ارسال اكتبر 09, 2011, 01:42:37 pm
توسط seven
شماره گذاری 2 تایی فرمول ها

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

پاسخ ها: 3
مشاهده: 4147
آخرين ارسال اكتبر 12, 2011, 05:18:24 pm
توسط vafa
سبک شماره گذاری در فرمول یا بخش

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

پاسخ ها: 5
مشاهده: 3823
آخرين ارسال مارس 06, 2012, 05:11:26 am
توسط هادی صفی‌اقدم
مشکل شماره گذاری فرمول ها

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

پاسخ ها: 3
مشاهده: 2863
آخرين ارسال مه 27, 2012, 03:14:54 pm
توسط حسن ذاکری
شماره گذاری فرمول

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

پاسخ ها: 9
مشاهده: 16034
آخرين ارسال سپتامبر 13, 2012, 03:44:33 pm
توسط vafa