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

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

حذف علامت مربع در انتهای محیط proof

نویسنده hrzazad, جون 11, 2012, 09:15:21 بعد از ظهر

« قبلی - بعدی »

hrzazad

سلام.
می‌خواستم در محیط proof مربع در انتهای اثبات ظاهر نشه. چیکارکنم.

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

کد زیر رو ببینین.

\documentclass{article}‎
‎\usepackage{amsthm‎}‎
‎\usepackage{xepersian}‎
‎\settextfont{XB‎ ‎Niloofar‎‎‎‎}‎
‎‎‎\renewcommand{\qedsymbol‎}{}‎‎
‎\begin{document}‎
‎\begin{proof}‎‎
‎‎‎این یک اثبات است.
‎\end{proof}‎
‎\end{document}‎

hrzazad

ممنون. کد جواب میده. ولی با توجه به فایل ضمیمه شده دو تا مشکل وجود داره.
۱- در فایل ضمیمه شده با فعال شدن دستور \renewcommand{qedsymbol}{} مربع حذف میشه ولی خطی که مربع در اون قرار گرفته خذف نمیشه و بصورت فضای خای باقی میمونه.

۲- اگر بخوام مربع از اینجایی که الان هست حذف بشه (البته با خذف خطی که در اون قرار گرفته) و دقیقا بعد از آخرین کلمه یا فرمول اثبات ظاهر بشه چه کار باید کرد؟

vafa


\documentclass{article}
\usepackage{amsthm,amsmath}
\usepackage{xepersian}
\makeatletter
\bidi@AtEndEnvironment{proof}{\let\popQED\relax}
\makeatother
\begin{document}
\begin{proof}
برهان به‌صورت زیر است
\begin{align}
&m(X\odot (Y\oplus Z))=m(X).m(Y\oplus Z)=m(x).(m(Y)+m(Z))=\nonumber \\
&m(X).m(Y)+m(X).m(Z)=m((X\odot Y)\oplus( X\odot Z)).\nonumber
\end{align}
\end{proof}
در بالا یک اثبات را می‌بینیم.
\end{document}

hrzazad

ممنون. کد برای سوال اول جواب میده. برای سوال دوم باید مربع رو دستی بعد از آخرین کلمه یا فرمول اضافه کنم یا راهی وجود داره که خودکار برای همه اثبات‌ها انجام بشه؟

vafa


\documentclass{article}
\usepackage{amsthm,amsmath}
\usepackage{xepersian}
\makeatletter
\bidi@AtEndEnvironment{proof}{\let\popQED\relax\qedsymbol}
\makeatother
\begin{document}
\begin{proof}
برهان به‌صورت زیر است
\begin{align}
&m(X\odot (Y\oplus Z))=m(X).m(Y\oplus Z)=m(x).(m(Y)+m(Z))=\nonumber \\
&m(X).m(Y)+m(X).m(Z)=m((X\odot Y)\oplus( X\odot Z)).\nonumber
\end{align}
و این ادمه اثبات است.
\end{proof}
در بالا یک اثبات را می‌بینیم.
\end{document}

hrzazad

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

vafa

نقل قول از: hrzazad در جون 13, 2012, 07:05:51 بعد از ظهر
این کد فقط برای اثبات‌هایی که به یک کلمه ختم میشن جواب میده و برای اثبات‌هایی که به یک فرمول ختم میشن جواب نمیده. مثلا در همین کد بالا اگر «و این ادامه اثبات است.» حذف شود باز هم مربع در یک سطر پایین‌تر ظاهر می‌شود.
واقعاُ حرفت با عقل جور درمیاد؟  شما دارید دو تا محیط مختلف رو تو در تو استفاده می‌کنید پس کد من کار درستی اتجام می‌ده که در پایان محیط proof اون مربع رو قرار می‌ده، شما ممکنه فرمول رو با هزار و یک گونه محیط قرار بدید، محیط proof از کجا باید بفهمه که شما از چه محیطی استفاده کردید و بعد از اینکه تشخیص داد از چه محیطی استفاده کردید، آخر سر اون مربع رو آخر اون محیط قرار بده؟

hrzazad

نقل قول از: وفا کارن‌پهلو در جون 13, 2012, 11:44:52 بعد از ظهر
واقعاُ حرفت با عقل جور درمیاد؟  شما دارید دو تا محیط مختلف رو تو در تو استفاده می‌کنید پس کد من کار درستی اتجام می‌ده که در پایان محیط proof اون مربع رو قرار می‌ده، شما ممکنه فرمول رو با هزار و یک گونه محیط قرار بدید، محیط proof از کجا باید بفهمه که شما از چه محیطی استفاده کردید و بعد از اینکه تشخیص داد از چه محیطی استفاده کردید، آخر سر اون مربع رو آخر اون محیط قرار بده؟
پس با این اوصاف در مورد اثبات‌هایی که به فرمول ختم میشن، باید مربع رو دستی بذاریم انتهای فرمول. اگه راه دیگه‌ای هست راهنمایی کنید.

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

نقل قول از: hrzazad در جون 12, 2012, 04:22:21 بعد از ظهر
۲- اگر بخوام مربع از اینجایی که الان هست حذف بشه (البته با خذف خطی که در اون قرار گرفته) و دقیقا بعد از آخرین کلمه یا فرمول اثبات ظاهر بشه چه کار باید کرد؟
بلاخره این مربع باشه یا نباشه؟ ;D
برای حل این مشکل، باید از دستور qedhere\ به صورت زیر استفاده کنین.
\documentclass{article}‎ ‎\usepackage{amsthm,amsmath}‎
‎\usepackage{xepersian}‎
‎\settextfont{XB Niloofar}‎
‎%‎‎\renewcommand{\qedsymbol}{}‎
‎\begin{document}‎
‎\begin{proof}‎
برهان به‌صورت زیر است
‎\begin{align}‎
‎&m(X\odot (Y\oplus Z))=m(X).m(Y\oplus Z)=m(x).(m(Y)+m(Z))=\nonumber \\‎
‎&m(X).m(Y)+m(X).m(Z)=m((X\odot Y)\oplus( X\odot Z)).\nonumber‎ ‎‎\qedhere‎‎
‎\end{align}‎
‎\end{proof}‎
در بالا یک اثبات را می‌بینیم.
‎\end{document}

و اگه می‌خواین اون مربع ظاهر نشه و در عین حال، خط اضافی هم تولید نشه، دستور
‎‎\renewcommand{\qedsymbol}{}‎
رو فعال کنین.

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

نقل قول از: hrzazad در جون 14, 2012, 04:51:15 بعد از ظهر
پس با این اوصاف در مورد اثبات‌هایی که به فرمول ختم میشن، باید مربع رو دستی بذاریم انتهای فرمول. اگه راه دیگه‌ای هست راهنمایی کنید.
تا اونجایی که من می‌دونم، تنها راه‌حل، استفاده از همین دستور qedhere\ هستش که توی پست قبلی درباره‌ش نوشتم.

hrzazad

با عرض سلام
قبلا از TeX Live 2011 استفاده می‌کردم، بعد از مدتی ویندوزم رو عوض کردم و همون TeX Live 2011 رو نصب کردم ولی از همون خط مربوط به مربع (\bidi@AtEndEnvironment{proof}{\let\popQED\relax\qedsymbol}) خطا می‌گیره خطا بصورت زیره:
! Undefined control sequence.
l.101 \bidi@AtEndEnvironment
                            {proof}{\let\popQED\relax\qedsymbol}

در حالی که قبلا کار می‌کرد. دلیلش چیه؟
(در ضمن هم با TeXworks و هم با TeXmaker خطا ایجاد می‌شه.)
logفایل رو هم ضمیمه کردم.

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

نقل قول از: hrzazad در آپریل 09, 2013, 07:38:51 بعد از ظهر
با عرض سلام
قبلا از TeX Live 2011 استفاده می‌کردم، بعد از مدتی ویندوزم رو عوض کردم و همون TeX Live 2011 رو نصب کردم ولی از همون خط مربوط به مربع (\bidi@AtEndEnvironment{proof}{\let\popQED\relax\qedsymbol}) خطا می‌گیره خطا بصورت زیره:
! Undefined control sequence.
l.101 \bidi@AtEndEnvironment
                            {proof}{\let\popQED\relax\qedsymbol}

در حالی که قبلا کار می‌کرد. دلیلش چیه؟
(در ضمن هم با TeXworks و هم با TeXmaker خطا ایجاد می‌شه.)
logفایل رو هم ضمیمه کردم.
شاید دستورهای دیگه‌ای توی فایل‌تون باشه که باعث ایجاد این مشکل شدن. لطفاً یه فایل کمینه پیوست کنین که مشکل رو نشون بده. فایل لاگ مربوط به این فایل رو هم پیوست کنین.

hrzazad

پاسخ شماره 3 همین موضوع رو امتحان کردم و همون خطا رو گرفتم.texفایل و logفایل همون پاسخ شماره ۳ رو پیوست کردم.
البته وقتی با TeXmaker اجراش می‌کنم از همون خط خطا می‌گیره ولی pdf رو می‌سازه که البته مشکل داره.مثلا دقیقا اول متن عبارت proof و یه مربع می‌ذاره و اعداد موجود در فرمول‌های ریاضی بصورت لاتین درج می‌شن.
ممکنه مشکل از TeX Live من باشه؟

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

نقل قول از: hrzazad در آپریل 10, 2013, 08:34:37 قبل از ظهر
پاسخ شماره 3 همین موضوع رو امتحان کردم و همون خطا رو گرفتم.texفایل و logفایل همون پاسخ شماره ۳ رو پیوست کردم.
البته وقتی با TeXmaker اجراش می‌کنم از همون خط خطا می‌گیره ولی pdf رو می‌سازه که البته مشکل داره.مثلا دقیقا اول متن عبارت proof و یه مربع می‌ذاره و اعداد موجود در فرمول‌های ریاضی بصورت لاتین درج می‌شن.
ممکنه مشکل از TeX Live من باشه؟
متاسفانه راه‌حلی به ذهنم نمی‌رسه.