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

سلام من متوجه شدم خروجی حاصل از تعیین فاصله سطرها با استفاده از آپشن

fontsize={14pt,26pt}

متفاوت از خروجی حاصل از دستور

\baselineskip

می‌باشد. ظاهرا این دو دستور تاثیر متفاوتی روی ارتفاع متن دارند (البته من منظورم تاثیر روی محیطهای ریاضی است). مثلا
تاثیر دستورات زیر را در خطوط کناری دترمینان مشاهده کنید

\documentclass{article}
\usepackage{amsmath}
\usepackage[fontsize={14pt,26pt}]{xepersian}
\settextfont{IRXLotus}

\begin{document}
 مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن 
$$W=\left|\begin{matrix} y_1&y_2\\
y'_1&y'_2\end{matrix}\right|$$
\end{document}

enter image description here

حالا دستورات را به شکل زیر اجرا کنید:

\documentclass{article}
\usepackage{amsmath}
\usepackage[fontsize=14pt]{xepersian}
\settextfont{IRXLotus}

\begin{document}
\baselineskip=1cm
مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن 
$$W=\left|\begin{matrix} y_1&y_2\\
y'_1&y'_2\end{matrix}\right|$$
\end{document}

خروجی به صورت زیر است

enter image description here

اگه ممکن است بفرمایید مشکل از نحوه بکارگیری دستورات توسط من می‌باشد یا نه و اینکه چطور می‌توانم خروجی دترمینان دوم را با استفاده از دستور

fontsize={14pt,26pt}

بگیرم

2 پاسخ

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

محیط matrix از محیط aray استفاده می‌کنه و خط‌های عمودی ارتفاعی برابر با حاصلضرب \arraystretch در ارتفاع کادر افقی \strutbox و عمقی برابر با حاصلضرب \arraystretch در عمق \strutbox دارند. این رو می‌تونید خیلی راحت در تعریف دستور \@array ببینید.

\def\@array[#1]#2{%
  \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
  \bgroup
  \setbox\@arstrutbox\hbox{%
    \vrule \@height\arraystretch\ht\strutbox
           \@depth\arraystretch \dp\strutbox
           \@width\z@}%
...

هر زمان که در لاتک اندازه قلم و فاصله خط کرسی در سطح بالا تغییر پیدا می‌کنه از دستور \set@fontsize استفاده میشود و کادر افقی \strutbox اینجا تعیین می‌شود:

\setbox\strutbox\hbox{%
          \vrule\@height.7\baselineskip
                \@depth.3\baselineskip
                \@width\z@}%

بنابراین طبیعی که در حالت اول کادر \strutbox با استفاده از فاصله خط کرسی داده شده بازتعریف می‌شود اما در حالت دوم همچین اتفاقی نمی‌افته. برای حالت دوم برای اینکه ببینید دقیقا یک نوع خروجی تولید می‌شه نمونه زیر کافی است.

\documentclass{article}
\usepackage{amsmath}
\usepackage[fontsize=14]{xepersian}
\settextfont{IRXLotus}
\begin{document}
\baselineskip=26pt
\makeatletter
        \setbox\strutbox\hbox{%
          \vrule\@height.7\baselineskip
                \@depth.3\baselineskip
                \@width\z@}
\makeatother
 مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن 
$$W=\left|\begin{matrix} y_1&y_2\\
y'_1&y'_2\end{matrix}\right|$$
\end{document}

در مورد سوال آخرتون هم پاسخش مشخصه احتمالا شما نمی‌خواهید در محیط ریاضی کادر افقی \strutbox ارتفاع و عمقش بر مبنای ارتفاع خط کرسی تعیین بشه.

\documentclass{article}
\usepackage{amsmath}
\usepackage[fontsize={14,26}]{xepersian}
\settextfont{IRXLotus}
\AppendToTokenList:everydisplay={%
  \ht\strutbox=8.39996pt\relax
  \dp\strutbox3.60004pt\relax
}
\begin{document}
 مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن 
$$W=\left|\begin{matrix} y_1&y_2\\
y'_1&y'_2\end{matrix}\right|$$
\end{document}
@وفا
با تشکر از توضیحات

فقط یک نکته: الان هنوز کمی فاصله اضافی از پایین وجود دارد؛ حداقل روی سیستم من چنین است و خط عمودی از بالا فیت است ولی از پایین کمی بلندتر است و مانند حالتی که گزینه fontsize استفاده نشده باشد نیست.

اگر برایتان مقدور است علت این را نیز توضیح دهید.

آیا نمی‌بایست خطوط زیر را پیش از لود زی‌پرشن قرار می‌دادید؟
\dimen0=\ht\strutbox
\dimen1=\dp\strutbox
توسط (4.4k امتیاز)
0 رای

سلام


پاسخ به سوال شما را به چند قسمت تقسیم می‌کنم:
قسمت اول:
چرا این تفاوت به وجود می‌آید؟
زمانی که از گزینه‌ی fontsize=... از بسته‌ی زی‌پرشین استفاده می‌کنید به طور خودکار اندازه‌های فونت مثل \normalsize و \tiny\ و خط کرسی و ... تحت تأثیر قرار می‌گیرند و اندازه‌ی خط کرسی، 1.2 برابر اندازه‌ی fontsize می‌شود. مثال زیر را ببینید:

\documentclass{article}
\usepackage{amsmath}
\usepackage[fontsize=14pt]{xepersian}
\settextfont{IRXLotus}
\setlength\parindent{0pt}
\begin{document}
	مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری
	\begin{latin}
		\the\baselineskip
	\end{latin}
	\baselineskip=1cm
	\begin{latin}
		\the\baselineskip
	\end{latin}
	مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری  متن مقداری
\end{document}

با این خروجی:


![enter image description here][1]

اگرچه \baselineskip را تغییر داده‌ایم و فاصله‌ی سطر‌ها تحت تاثیر قرار گرفته اما مقدار
\baselineskip در قبل و بعد از تغییر مقدار \baselineskip یکسان نشان داده می‌شود (همان 14*1.2=16.79). به عبارت دیگر دو نوع فراخوانی زی‌پرشین در زیر یکسانند:

\usepackage[fontsize=14pt]{xepersian}
\usepackage[fontsize={14,16.79996}]{xepersian}

(واحد به طور پیش‌فرض pt است.)
یعنی در حالت دیگر، فاصله‌ی خط کرسی شما 26pt است که متفاوت با قبل است:

\usepackage[fontsize={14pt,26pt}]{xepersian}

قسمت دوم: چگونه در حالت fontsize={14pt,26pt} خروجی دلخواه دترمینان شما در حالت fontsize=14pt را داشته باشیم؟
کافی است دستورات خود را به صورت زیر فراخوانی کنید:

{\setfontsize{14}
	$$W=\left|\begin{matrix} y_1&y_2\\
	y'_1&y'_2\end{matrix}\right|$$
}

قسمت سوم: دستوری که برای نوشتن دترمینان به کار برده‌اید استاندارد این کار نیست و بهتر است از فرم زیر استفاده کنید:

{\setfontsize{14}
\[\begin{vmatrix}
y_1&y_2\\
y'_1&y'_2\
\end{vmatrix}	
\]
}

موفق باشید.

متاسفانه در قسمت نخست شما علت را توضیح نداده‌اید در قسمت دوم روشن نیست که پاسخ شما چگونه مشکل را حل می‌کند.
توسط (25.0k امتیاز)
سلام.از پاسختان سپاسگزارم. استفاده از vmatrix هم تاثیری در خروجی نداره
توسط (419 امتیاز)
@فاطمه
منم عرض نکردم که اون مشکل رو حل می‌کنه. طریق صحیح کاربردش رو خدمتتون عرض کردم. اگر به اون صورتی که من تو گروه‌بندی قرار دادم و از فونت‌سایز کمک بگیرید قطعا نتیجه همونی میشه که شما فرمودید (مثل یک سطر قبل از اون کد رو قرار بدید).
{\setfontsize{14}
\[\begin{vmatrix}
y_1&y_2\\
y'_1&y'_2\
\end{vmatrix}   
\]
}
موفق باشید.
ویرایش شده توسط
توسط (8.7k امتیاز)
سپاس
توسط (419 امتیاز)
پرسیدن سوال
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

7.1k پرسش

6.6k پاسخ

23.5k نظر

7.3k کاربر

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

رفع خطا جدول 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
...