فایل ICEE_Settings2.tex
در لاتک فاصله بین خط کرسی از فرمول زیر استفاده میکند:
baseline skip=\baselinestretch * \baselineskip
بنابراین اگر هدف این است که فاصله بین خط کرسی در متن پارسی ۱٫۱ بربر باشد، کافی است ضریب \baselineskip را (که همان \baselinestretch است) با استفاده از دستور \linespread ۱٫۱ برابر کرد:
\linespread{1.1}
البته بعداً در این فایل در ابتدای نوشتار، مقدار \baselineskip ۱٫۵۳ برابر شده است، نمیدانم منظور همان ۱٫۱ برابر بوده است یا بعداً تصمیم گرفتهاند آن را ۱٫۵۳ برابر کنند. به هر حال اگر تصمیم گرفتهاند آن را ۱٫۵۳ برابر کنند، آن هم ساده است:
\linespread{1.53}
شما در محیط latin میخواهید \baselineskip را ۰٫۹۱ برابر کنید، احتیاجی به تعریف دوباره محیط latin نیست. بسته biditools دستور \bidi@AtBeginEnvironment را در اختیار شما قرار میدهد که میتوانید تکه کدی در ابتدای یک محیط قرار دهید. بنابراین به جای تعریف دوباره محیط latin کد زیر کافی است:
\bidi@AtBeginEnvironment{latin}{\setlength{\baselineskip}{0.91\baselineskip}}
همینکار را میخواهید برای \tableofcontents، \listoffigures و \listoftables انجام دهید. دوباره احتیاجی به تعریف دوباره این دستورات نیست. هر سه دستور برای قرار دادن فهررست از دستور \@starttoc استفاده میکنند. ما تنها علاقهمند هستیم که فاصله خط کرسی در این دستورات بصورت محلی (local) تغییر کند. خوشبختانه ماکروی \@starttoc از \begingroup استفاده میکند، پس تنها تغییری که لازم است بدهیم این است که این دستور را تغییر دهیم تا بعد از \begingroup مقدار فاصله کرسی ما را قرار دهد. با این کار این مقدار فاصله کرسی، local خواهد بود و فاصله خط کرسی را در جاهای دیگر را تحت تأثیر قرار نمیدهد. این کار را با استفاده از دستور \bidi@patchcmd که بسته biditools در اختیار ما قرار میدهد انجام میدهیم:
\bidi@patchcmd{\@starttoc}{\begingroup}{%
\begingroup\setlength{\baselineskip}{0.91\baselineskip}}
{\typeout{We changed \string\baselineskip}}
{\typeout{We could not change \string\baselineskip}}
با این تغییرات، ما هیچ تغییری در فاصله یک خط با فرمول display و فرمول display با خط بعدی ندادهایم، بنابراین احتیاجی به تغییر در محیط equation نیست. توجه داشته باشید که حتی اگر خواستید این فاصلهها را تغییر دهید، احتیاجی به این کار نیست. برای تغییر درست این فاصلهها میتوانید از کد زیر استفاده کنید:
\everydisplay\expandafter{%
\the\everydisplay
\abovedisplayskip \displayskipstretch\abovedisplayskip
\belowdisplayskip \displayskipstretch\belowdisplayskip
\abovedisplayshortskip \displayskipstretch\abovedisplayshortskip
\belowdisplayshortskip \displayskipstretch\belowdisplayshortskip
}
بنابراین اگر میخواهیم این فاصلهها را مثلاً ۱٫۵ برابر کنیک کافی است دستور \displayskipstretch را بصورت زیر تعریف کنیم:
\newcommand*{\displayskipstretch}{1.5}
در مورد شماره ابجد، توجه کنید که شمارهگذاری ابجد در نسخه ۱۵٫۵ بسته زیپرشین تغییر کرده است. برای دنبال کردن تغییرات این پرسش و پاسخ و این پرسش و پاسخ را ببینید. به هرحال اگر میخواهید به جای «آ»، در دستور \abj@num@i «الف» قرار بگیرد، احتیاجی به تعریف دوباره این دستور نیست. به راحتی میتوانید از همان دستور \bidi@patchcmd استفاده کنید:
\bidi@patchcmd{\abj@num@i}{آ}{الف}
{\typeout{We changed \string\abj@num@i}}
{\typeout{We could not change \string\abj@num@i}}
اگر علاقهمند بودید، در مورد بسته biditools و امکانات برنامهنویسیاش بیشتر بدانید، میتوانید این پرسش و پاسخ را ببینید.