فایل 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
و امکانات برنامهنویسیاش بیشتر بدانید، میتوانید این پرسش و پاسخ را ببینید.