به دلیل قطعی اینترنت و نبود دسترسی به ایمیل‌های خارجی، می‌توانید بدون نیاز به تایید ایمیل، ثبت‌نام کنید و پرسش‌های خود را بپرسید.

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

میشه بدون اینکه از دستور \lr{} استفاده کنم متن انگلیسی رو بین فارسی تایپ کنم آخه تک حرف انگلیسی زیاد هست و عملا خیلی زمان میبره که دونه دونه این دستور رو بنویسم ؟ (مثلا jامین و iامین)
enter image description here

برای «jامین و iامین» شما نباید از دستور \lr استفاده کنی بلکه باید i و j را داخل محیط ریاضی قرار بدهی.
توسط (26.4k امتیاز)
لطفاً این پرسش و پاسخ را ببینید و به دیگران نیز اطلاع‌رسانی کنید:

http://qa.parsilatex.com/15521
توسط (26.4k امتیاز)

1 پاسخ

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

با استفاده از ماکرو

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

\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}
\makeatletter
% classes 1-3 are used in unicode-letters.tex, so we'll put the Latin  letters in 4
\newcount\xp@n
\xp@n=`\A \loop \XeTeXcharclass \xp@n=4 \ifnum\xp@n<`\Z \advance\xp@n by 1 \repeat
\xp@n=`\a \loop \XeTeXcharclass \xp@n=4 \ifnum\xp@n<`\z \advance\xp@n by 1 \repeat
% when we encounter class 4, we'll do \startlatin
\XeTeXinterchartoks 0 4 {\startlatin}
\XeTeXinterchartoks 255 4 {\startlatin}
% and when we encounter class 0, we'll do \finishlatin
\XeTeXinterchartoks 255 0 {\finishlatin}
\XeTeXinterchartoks 4 0 {\finishlatin}
\newcommand{\startlatin}{\if@Latin\else\bgroup\beginL\latinfont\@Latintrue\fi}
\newcommand{\finishlatin}{\if@Latin\unskip\endL\egroup{ }\fi}
\makeatother
\XeTeXinterchartokenstate=1
\begin{document}
این یک آزمایش است
One Two Three
و ادامه آن
\end{document}

که خالی از مشکل نیست. متأسفانه این روش برای فایل‌های بزرگ و رسمی قابل استفاده نیست و در اینگونه فایل‌ها باید از mark-up (همان دستور \lr) استفاده کنی. دلیل اصلیش این است که در متن‌های دوجهته چیزهایی مانند نقطه‌گذاری و فاصله هنگامی که جهت نوشته تغییر می‌کند بسیار سخت خواهد بود و غیرقابل تشخیص. اگر متن تنها یک جهته بود زیاد مهم نبود که نقطه‌گذاری یا فاصله قبل از تغییر زبان اتفاق می‌افتد یا بعد از آن اما در متن‌های دوجهته مهم است. بنابراین اگر می‌خواهی متن دوجهته رو به درستی حروف‌چینی کنی استفاده از دستور \lr الزامی است.

با استفاده از یک pre-processor

می‌توانی یک pre-processor بنویسی یا یک pre-processor مانند BiDiTeX را تغییر بدهی. کاری که این pre-processor انجام می‌دهد این است که یک فایل filename.tex را به filename.ltx تبدیل می‌کند و خودکار دستور \lr را برای متن‌های لاتین وارد می‌کند. آنوقت فقط باید فایل filename.ltx را با xelatex پردازش کنی.

خالد حسنی مقداری BiDiTeX را بری زی‌تک تغییر داده است اما اگر بخواهی آن را برای زی‌پرشین استفاده کنی، باز هم به تغییرات بیشتری نیاز خواهی داشت. کد موجود از اینجا قابل دریافت است.

@وفا
این پیش‌پردازنده یک چیزی شبیه ftx2tex فارسی‌تک است؟ اگر چنین است آیا شما قبلاً نگاهی به کد آن انداخته‌اید؟
توسط (4.4k امتیاز)
‌BiDiTeX از کتابخانه fribidi استفاده می‌کنه. اگر شخصی وقتش رو داشته باشه که مقداری روش کار کنه و بعد در CTAN قرار بگیره و از همین طریق در تک‌لایو فکر می‌کنم بسیار مفید باشه. نامش رو هم بهتره به bidixetex تغییر داد.
توسط (26.4k امتیاز)
پرسیدن سوال
سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

7.2k پرسش

6.6k پاسخ

23.7k نظر

11.7k کاربر

basket cart icon

محصولات مرتبط با LaTeX

در فروشگاه پارسی‌لاتک


basket cart icon

حمایت مالی از پارسی‌لاتک

برای تامین هزینه‌های نگه‌داری و به‌روزرسانی

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

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