اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
0 رای
971 بازدید

با سلام

من با حروفچینی چند فرمول به مشکل برخورده‌ام. خصوصیات مشترک این فرمول‌های این است که:
۱. مشابه هستند،
۲. شرطی هستند و
۳. طول زیادی دارند.
به همین دلیل نیاز است که همه چهار فرمول:
۱. در بیش از دو مقطع با هم تراز شوند،
۲. برای ایجاد کانتراست و استفاده از فضا، شروط به صورت درون خطی حروفچینی شوند،
۳. فاصله‌های خالی به صورت نامتقارن پر شود،
۴. از حداکثر عرض صفحه برای حروفچینی استفاده شود و
۵. فرمول‌ها و شماره‌های مربوطه در یک خط باقی بمانند.

همان‌طور که در تصویر اول مشاهده می‌شود، با استفاده از محیط align همه اجزای فرمول در سه موضع با هم تراز شده‌اند، ولی
۱. شماره فرمول به خط بعد پرتاب شده
۲. فاصله واژه «اگر» با شرط باید کنترل و از این کمتر شود.
۳. شرط به صورت دستی کوچک شده و به جای دستور \sum از دستور \Sigma استفاده شده که مطلوب نیست.

align environment

آن‌طور که در تصویر دوم مشاهده می‌شود، با استفاده از محیط numcases شرط به صورت درون‌خطی حروفچینی شده که مطلوب است ولی
۱. به جز اول فرمول‌ها در هیچ کدام از دو موضع مطلوب دیگر، تراز نشده‌اند
۲. به دلیل استفاده از کروشه، فضای سفید بسیار کمی وجود دارد و کنتراست فرمول و شرط کمرنگ شده است.

numcases environment

لطفا کد مربوطه را ملاحظه بفرمایید:

\documentclass[fleqn, 12pt, a4paper, twoside]{book}
\usepackage[total={12cm,19.1cm}, centering, includehead=true, paperwidth=16.5cm, paperheight=23.5cm]{geometry}
\usepackage[cross,center,noinfo,a4]{crop}
\usepackage{mathtools, cases}
\setlength{\mathindent}{0cm}

\usepackage{xepersian}
\settextfont{Yas}
\setmathdigitfont{Yas}

\begin{document}
	\setcounter{chapter}{2}
	\setcounter{equation}{15}
	\section{فرمول‌های رفتار مواد}
	\begin{enumerate}
		\item با استفاده از محیط \lr{\texttt{align}}
		
		برای فولاد زنگ‌نزن
		\(304\)،
		فولاد زنگ‌نزن
		\(316\)
		و فولاد
		\(9 \textrm{\lr{Cr--}} 1 \textrm{\lr{Mo--V}}\):
		\begin{align}
			&\sum \frac{\Delta t}{t_\mathrm{d}} = 1 - 2.333 \, \sum \frac{n}{N_\mathrm{d}}     &\hfill& &  :0  &< \Sigma\tfrac{n}{N_\mathrm{d}} \le 0.3 & \text{اگر}\\
			&\sum \frac{\Delta t}{t_\mathrm{d}} = 0.429 - 0.429 \, \sum \frac{n}{N_\mathrm{d}} &\hfill& & :0.3 &< \Sigma\tfrac{n}{N_\mathrm{d}} \le 1.0 & \text{اگر}\\
			\intertext{%
				و برای
				آلیاژ نیکل
				\(800\text{\lr{H}}\)
				و فولاد
				\(2.25 \textrm{\lr{Cr--}} 1 \textrm{\lr{Mo}}\):}
			&\sum \frac{\Delta t}{t_\mathrm{d}} = 1 - 9 \, \sum \frac{n}{N_\mathrm{d}}           &\hfill& & :0   &< \Sigma\tfrac{n}{N_\mathrm{d}} \le 0.1 & \text{اگر}\\
			&\sum \frac{\Delta t}{t_\mathrm{d}} = 0.111 - 0.111 \, \sum \frac{n}{N_\mathrm{d}}   &\hfill& & :0.1 &< \Sigma\tfrac{n}{N_\mathrm{d}} \le 1.0 & \text{اگر}
		\end{align}
    		
		\setcounter{equation}{15}
		\item با استفاده از محیط \protect\lr{\texttt{numcases}}
		
		برای فولاد زنگ‌نزن
		\(304\)،
		فولاد زنگ‌نزن
		\(316\)
		و فولاد
		\(9 \textrm{\lr{Cr--}} 1 \textrm{\lr{Mo--V}}\):
		\begin{numcases}{\sum \frac{\Delta t}{t_\mathrm{d}} =}
			1 - 2.333 \, \sum \frac{n}{N_\mathrm{d}}     &$:0   < \sum \frac{n}{N_\mathrm{d}} \le 0.3$ اگر\\
			0.429 - 0.429 \, \sum \frac{n}{N_\mathrm{d}} &$:0.3 < \sum \frac{n}{N_\mathrm{d}} \le 1.0$ اگر
		\end{numcases}
		و برای
		آلیاژ نیکل
		\(800\text{\lr{H}}\)
		و فولاد
		\(2.25 \textrm{\lr{Cr--}} 1 \textrm{\lr{Mo}}\):
		\begin{numcases}{\sum \frac{\Delta t}{t_\mathrm{d}} =}
			1 - 9 \, \sum \frac{n}{N_\mathrm{d}}         &$:0   < \sum \frac{n}{N_\mathrm{d}} \le 0.1$ اگر\\
			0.111 - 0.111 \, \sum \frac{n}{N_\mathrm{d}} &$:0.1 < \sum \frac{n}{N_\mathrm{d}} \le 1.0$ اگر
		\end{numcases}
	\end{enumerate}
\end{document}

مطلوب من این است که
۱. همه چهار فرمول به اضافه شرط‌های مربوطه در سه موضع مشخص شده با هم تراز شوند
۲. شرط به صورت فرمول درون‌خطی حروفچینی شود
۳. فاصله بین فرمول و شرط، تا حد امکان زیاد باشد
۴. فاصله واژه «اگر» با شرط در کمترین حالت خود باشد.

با توجه به موارد فوق، لطفا راهنمایی بفرمایید که در این مورد، چه کار می‌شود کرد.

توضیح این‌که، فرمول‌ها تعمدا در ذیل یک بخش و درون یک لیست قرار داده شده‌اند تا عرض متن در دسترس، مثل یا شبیه حالت واقعی باشد.

فایل(های) پیوست:

1 پاسخ

+1 رای
 
بهترین پاسخ

با درود
بنده بخشی از کد شماره را تغییر داده و تقریبا چیزی شبیه آنچه که مورد نظر شما بدست آمده است. همان‌طور که ملاحظه می‌کنید این کار توسط محیط xalignat انجام شده است.

\documentclass[fleqn, 12pt, a4paper, twoside]{book}
\usepackage[total={12cm,19.1cm}, centering, includehead=true, paperwidth=16.5cm, paperheight=23.5cm]{geometry}
\usepackage[cross,center,noinfo,a4]{crop}
\usepackage{mathtools, cases}
\setlength{\mathindent}{0cm}
\usepackage{xepersian}
\settextfont{Yas}
\setmathdigitfont{Yas}
\begin{document}
\setcounter{chapter}{2}
\setcounter{equation}{15}
\section{فرمول‌های رفتار مواد}
\begin{enumerate}
\item با استفاده از محیط \lr{\texttt{xalignat}}
برای فولاد زنگ‌نزن
\(304\)،
فولاد زنگ‌نزن
\(316\)
و فولاد
\(9 \textrm{\lr{Cr--}} 1 \textrm{\lr{Mo--V}}\):
\begin{xalignat}{2}
\sum \frac{\Delta t}{t_\mathrm{d}} &= 1 - 2.333 \, \sum \frac{n}{N_\mathrm{d}} &:0 < \Sigma\tfrac{n}{N_\mathrm{d}} &\le 0.3 \,\text{اگر}\\
\sum \frac{\Delta t}{t_\mathrm{d}} &= 0.429 - 0.429 \, \sum \frac{n}{N_\mathrm{d}} &:0.3 < \Sigma\tfrac{n}{N_\mathrm{d}} &\le 1.0 \,\text{اگر}
\end{xalignat}
\end{enumerate} 
\end{document}

enter image description here

درود بر شما
بسیار متشکر. کدی که ارسال فرموده‌اید کار نمی‌کند. لطفا مجددا بررسی بفرمایید.
توسط (80 امتیاز)
در حین کپی کردن کد در سایت، چند تا کاراکتر اضافی وارد شده بود که ویرایش شد. الان امتحان کنید.
ویرایش شده توسط
توسط (1.2k امتیاز)
دوباره امتحان کردم و متاسفانه به من خطا می‌دهد. شاید به خاطر محیط xalignat هست. من در همه بسته‌های ریاضی مورد استفاده و حتی سایت‌های مختلف را جستجو کردم و چنین محیطی را پیدا نکردم. به نظرم باید یک محیط شخصی‌سازی شده باشد که از طریق دستکاری فایل‌های لاتک درست شده است.
خطایی که دریافت می‌کنم:
Mismatched LaTeX support file detected. \ExplLoaderFileDate{expl3.sty}}

بروزرسانی: با بررسی متوجه شدم که این خطا ممکن است که بعد از بروزرسانی تک‌لایو به وجود بیاید و راه حل آن، اجرای دستور زیر در محیط فرمان و با دسترسی ادمین است.
fmtutil-user --all

ضمنا اگر محبت بفرمایید و در مورد محیط xalignat توضیحاتی ارائه بفرمایید ممنون می‌شوم. نتوانستم مرجعی پیدا کنم که در مورد این محیط توضیح داده باشد.
ویرایش شده توسط
توسط (80 امتیاز)
جناب شمس
با درود مجدد
من با توزیع  TeXlive 2023 بدون بروز رسانی کد پیشنهادی را اجرا می‌کنم و بدون خطا اجرا می‌شود.
این محیط تا آنجا که من می‌دانم شخصی‌سازی شده نیست. برای توضیح کافی راجع به فرمان‌های xalignat و xxalignat، لطفا به آدرس زیر مراجعه فرمایید.
https://tex.stackexchange.com/questions/642412/when-to-use-which-alignment-environment
ویرایش شده توسط
توسط (1.2k امتیاز)
پرسیدن سوال
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

7.1k پرسش

6.6k پاسخ

23.5k نظر

7.2k کاربر

محبوب‌ترین برچسب‌ها

رفع خطا جدول xepersian مراجع ریاضی‌نویسی شکل bidi فونت فهرست مطالب شماره‌گذاری منابع پانویس بیب‌تک tikz parsilatex تک‌لایو بیمر اسلاید زی‌پرشین پاورقی bibtex سربرگ نماد رسم شکل فرمول‌نویسی ارجاع‌دهی biditexmaker هدر ویرایشگر قالب beamer واژه‌نامه اندازه فونت texstudio عنوان فصل ماتریس اعمال نشدن تغییرات در پی‌دی‌اف رسم جدول شماره صفحه bidipresentation حاشیه رنگ عنوان شکل اسلاید فارسی محیط قضیه گراف مکان شکل tikzpicture enumerate حروف‌چینی کد شماره فصل tabriz_thesis نمایه align زیرنویس شکل کادر itemize فهرست اشکال الگوریتم عدم اجرا listings نیم‌فاصله متن لاتین و فارسی بسته فاصله بین خطوط قالب پایان‌نامه فرمول نصب تک‌لایو فارسی‌تک hyperref شماره فرمول glossaries کپشن نمودار خروجی لاتک حروف‌چینی چندستونی فونت فارسی و انگلیسی ماکرونویسی biditools شماره پاورقی پیوست‌ سوال امتحانی فاصله‌گذاری فرمول چندضابطه‌ای extrafootnotefeatures subfigure biditufte-book header texmaker pdf خطا tex longtable تصویر شمارنده زیرنویس texlive2015 دیاگرام رسم نمودار شماره‌گذاری صفحات پایان نامه فهرست جداول میک‌تک texlive2016 تنظیم جدول آکولاد شعر kashida بولد تورفتگی texworks caption اندیس اعداد فارسی lollipop iust-thesis multicol فصل‌نویسی سوال چهارگزینه‌ای فاصله عمودی pgfplots xindy چپ‌چینی اوبونتو میکروسافت ورد قاب geometry xelatex texlive fancyhdr وسط‌چینی تک لایو 2015 tcolorbox عنوان بخش شماره گذاری به‌روزرسانی بسته aimc46 صفر توخالی فرمول طولانی بیرون‌زدگی کاما پوستر فاصله سطرها نوشتافت شکست خط tex-programming فونت اعداد قرآن tabriz-thesis
...