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

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

آفلاین ohnood

  • Newbie
  • *
  • تشکر
  • -اهدا شده: 24
  • -دریافت شده: 1
  • ارسال: 34
    • ديدن مشخصات
شماره‌گذاری یک فرمول چندبخشی
« : دسامبر 05, 2012, 09:42:15 pm »
فرض کنید فرمول۳ از فصل ۲ (۲-۳) شامل سه بخش باشه. چطور می‌شه هر کدوم رو با یک شماره نشون داد؟ (یعنی با شماره‌های (۲-۳-۱)، (۲-۳-۲) و (۲-۳-۳).)
« آخرين ويرايش: دسامبر 05, 2012, 09:46:36 pm توسط ohnood »

آفلاین Mohsen Avaji

  • Full Member
  • ***
  • تشکر
  • -اهدا شده: 142
  • -دریافت شده: 17
  • ارسال: 198
    • ديدن مشخصات
پاسخ : شماره‌گذاری یک فرمول چندبخشی
« پاسخ #1 : دسامبر 05, 2012, 10:04:35 pm »
سلام، امیدوارم به کارتون بیاد
\usepackage{amsmath}

\begin{subequations}

\begin{equation}
\operatorname{min}_{a,b,c}
\frac{1}{2}\mathbf{w}^{T}\mathbf{w} + C \sum_{i=1}^{l}\xi_{i}
\end{equation}

\begin{equation}
y_{i}\left(\mathbf{w}^{T}\phi(x_{i})+b\right)
\end{equation}

\end{subequations}
نخستین نشانه فساد ترک صداقت است. (میشل دو مونتی)

آفلاین ohnood

  • Newbie
  • *
  • تشکر
  • -اهدا شده: 24
  • -دریافت شده: 1
  • ارسال: 34
    • ديدن مشخصات
پاسخ : شماره‌گذاری یک فرمول چندبخشی
« پاسخ #2 : دسامبر 06, 2012, 07:43:36 am »
سپاس برای پاسختون؛ اما تو این حالت شماره‌ها (مثلاً) به‌صورت (۲-۳آ)، (۲-۳ب)، (۲-۳ج) و ... گذاشته می‌شن. اگه بشه یکی از این دو کار رو کرد بهتر می‌شه:
۱- به‌جای حروف «ابجد» از حروف فارسی (آ، ب، پ و ...) استفاده بشه؛ یا این‌که
۲- به‌طور کلی به‌جای حروف از اعداد استفاده بشه.
در ضمن اگه بشه قبلش یه خط تیره (-) یا نقطه (.) هم گذاشت خیلی خوب می‌شه!! (یعنی بشه (۲-۳-آ) یا (۲-۳.آ) یا (۲-۳-۱))

آفلاین هادی صفی‌اقدم

  • ویرایشگر
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 789
  • -دریافت شده: 1353
  • ارسال: 5,644
    • ديدن مشخصات
پاسخ : شماره‌گذاری یک فرمول چندبخشی
« پاسخ #3 : دسامبر 06, 2012, 01:21:07 pm »
سلام، امیدوارم به کارتون بیاد
\usepackage{amsmath}

\begin{subequations}

\begin{equation}
\operatorname{min}_{a,b,c}
\frac{1}{2}\mathbf{w}^{T}\mathbf{w} + C \sum_{i=1}^{l}\xi_{i}
\end{equation}

\begin{equation}
y_{i}\left(\mathbf{w}^{T}\phi(x_{i})+b\right)
\end{equation}

\end{subequations}
خط‌های خالی و استفاده از دو equation پشت سر هم باعث ایجاد فاصله‌ی اضافی میشه.
بهتره از align استفاده کنین. یا محیط‌های مشابه چند خطی...
همچنین استفاده از دستور ‪‎\operatorname{min}‬ فکر نکنم درست باشه. چون خود دستور ‪\min‬ این کارو میکنه و توی لاتک تعریف شده و نیاز به تعریف مجدد اپراتور ریاضی نیست.

سپاس برای پاسختون؛ اما تو این حالت شماره‌ها (مثلاً) به‌صورت (۲-۳آ)، (۲-۳ب)، (۲-۳ج) و ... گذاشته می‌شن. اگه بشه یکی از این دو کار رو کرد بهتر می‌شه:
۱- به‌جای حروف «ابجد» از حروف فارسی (آ، ب، پ و ...) استفاده بشه؛ یا این‌که
۲- به‌طور کلی به‌جای حروف از اعداد استفاده بشه.
در ضمن اگه بشه قبلش یه خط تیره (-) یا نقطه (.) هم گذاشت خیلی خوب می‌شه!! (یعنی بشه (۲-۳-آ) یا (۲-۳.آ) یا (۲-۳-۱))
استانداردش اینه. اما اگر دوس داشتین تغییر بدین باید به صورت زیر عمل کنید. (در راهنمای بسته‌ی amsmath نوشته.)
\begin{subequations}‎‎
\renewcommand{\theequation}{\theparentequation{}.\alph{equation}}
‎\begin{align}‎
‎\operatorname{min}_{a,b,c}‎
‎\frac{1}{2}\mathbf{w}^{T}\mathbf{w}‎ + ‎C \sum_{i=1}^{l}\xi_{i}‎
‎\\‎
‎y_{i}\left(\mathbf{w}^{T}\phi(x_{i})+b\right)‎
‎\end{align}‎
‎\end{subequations}‎

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

  • Administrator
  • Hero Member
  • *****
  • تشکر
  • -اهدا شده: 452
  • -دریافت شده: 718
  • ارسال: 2,107
    • ديدن مشخصات
    • http://www.damanafshan.ir
پاسخ : شماره‌گذاری یک فرمول چندبخشی
« پاسخ #4 : دسامبر 06, 2012, 02:05:37 pm »
استانداردش اینه. اما اگر دوس داشتین تغییر بدین باید به صورت زیر عمل کنید. (در راهنمای بسته‌ی amsmath نوشته.)
می‌شه تعریف محیط subequations رو به صورت فایل پیوست شده، تغییر داد تا دیگه مجبور نباشیم اون خط دستور رو هر بار وارد کنیم.

آفلاین هادی صفی‌اقدم

  • ویرایشگر
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 789
  • -دریافت شده: 1353
  • ارسال: 5,644
    • ديدن مشخصات
پاسخ : شماره‌گذاری یک فرمول چندبخشی
« پاسخ #5 : دسامبر 06, 2012, 02:13:56 pm »
وحید جان، میشه در مورد اون کد یکم توضیح بدی؟
در مورد let مخصوصا.
ممنون

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

  • Administrator
  • Hero Member
  • *****
  • تشکر
  • -اهدا شده: 452
  • -دریافت شده: 718
  • ارسال: 2,107
    • ديدن مشخصات
    • http://www.damanafshan.ir
پاسخ : شماره‌گذاری یک فرمول چندبخشی
« پاسخ #6 : دسامبر 06, 2012, 02:57:40 pm »
وحید جان، میشه در مورد اون کد یکم توضیح بدی؟
در مورد let مخصوصا.
ممنون
برای راحتی کار، کدهارو شماره‌گذاری می‌کنم تا بتونم بهشون ارجاع بدم:
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\ هستن و همون‌طور که از اسمشون پیداست، برای ایجاد یه حائل ازشون استفاده می‌شه. به عبارت دیگه توی کد بالا، برای اینکه مطمئن شیم که اثر خط شماره ۴ فقط توی این محیط باشه، خط شماره ۴ رو بین این دستور قرار می‌دیم تا اثر خط شماره ۴ روی بقیه سندمون تاثیر نذاره.
امیدوارم که خوب توضیح داده باشم. هرکجاش رو که متوجه نشدی، بگو تا دوباره توضیح بدم.




آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
پاسخ : شماره‌گذاری یک فرمول چندبخشی
« پاسخ #7 : دسامبر 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
مشاهده: 6053
آخرين ارسال ژوئیه 09, 2013, 12:12:31 pm
توسط سید احمد موسوی
استفاده از شماره‌ی فصل در شماره‌گذاری فرمول‌ها

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

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

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

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

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

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

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

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

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

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

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

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

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

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