در نسخه 30.1
بسته bidi
دو دستور داخلی \bidi@@convert@dimen@t@unit
و \bidi@@convert@dimen@t@pt
(مخصوص نویسندگان بستهها و کلاسها) و دستور \setbaselineskip
(مخصوص کاربر) تعریف گشتهاند.
دستور \bidi@@convert@dimen@t@pt
این دستور یک آرگومان دارد و این آرگومان یک بعد (dimension
) و واحد آن است. این دستور بعد داده شده را به واحد pt
تبدیل میکند. یک نمونه
\documentclass{article}
\usepackage{fontspec}
\setmainfont{IRNazanin}
\usepackage{biditools}
\begin{document}
\makeatletter
\showthe\bidi@@convert@dimen@t@pt{1.2ex}
\makeatother
\end{document}
پاسخ تک بصورت زیر خواهد بود:
> -0.00583pt.
دستور \bidi@@convert@dimen@t@unit
این دستور دو آرگومان دارد. آرگومان نخست یک بعد و واحد آن است و آرگومان دوم یکی از واحدهایی است که برای تک شناخته شده است. این دستور بعد داده شده (آرگومان نخست) را به واحد داده شده (آرگومان دوم) تبدیل میکند. یک نمونه
\documentclass{article}
\usepackage{fontspec}
\setmainfont{IRNazanin}
\usepackage{biditools}
\begin{document}
\makeatletter
\bidi@@convert@dimen@t@unit{1.2ex}{pc}
\makeatother
\end{document}
تک در خروجی pdf مقدار -0.00049pc
را نشان خواهد داد.
دستور \setbaselineskip
این دستور یک بعد را به عنوان آرگومان قبول میکند. سپس بعد داده شده را تقسیم بر \baselineskip
میکند و یک نسبت به دست میاورد و سرانجام نسبت به دستآورده شده را به عنوان آرگومان دستور \linespread
استفاده میکند. یک نمونه:
\documentclass{article}
\usepackage{lipsum}
\usepackage{biditools}
\begin{document}
\setbaselineskip{120pt}
\lipsum[1]
\showthe\baselineskip
\end{document}
تک مقدار \baselineskip
را همان 120pt
داده شده نشان میدهد.
هدف از دستور \setbaselineskip
چیست؟
\baselineskip
یک دستور بدوی است و لاتک استفاده از آن را پیشنهاد نمیکند زیرا که لاتک در جاهای مختلف \baselineskip
را بسته به اندازه قلم تغییر میدهد و چنانچه مقدار مشخصی به\baselineskip
داده باشید، با تغییر در اندازه قلم یا خود قلم، مقدار داده شده شما تأثیری نخواهد داشت. لاتک دستور \linespread
را در اختیار کاربر قرار داده است. دستور \setbaselineskip
واسط بین دستور بدوی \baselineskip
و دستور لاتک \linespread
است.
- این دستور تنها زمانی باید استفاده شود که بخواهید فاصله بین سطرها را بصورت دستی تنظیم کنید. برای تنظیم فاصله بین سطرها بصورت خودکار و پویا از گزینه
computeautoilg
بسته xepersian
استفاده کنید.
از آنجایی که مفهومی به نام floating point
در محاسبات تک وجود ندارد (تک از fixed point
استفاده میکند)، مقدار خیلی کمی خطا در محاسبات انجام شده توسط این سه دستور تازه وجود خواهد داشت که چندان در حروفچینی مهم نیست.