تالار گفتگوی پارسیلاتک
لاتک LATEX => حروفچینی مستندات => نويسنده: وحید دامنافشان در اكتبر 06, 2012, 12:11:56 am
-
توی فایل زیر، چه جوری میشه علامت نقل رو به صورت دو خط موازی و ایستاده بنویسم؟ با استفاده از \texttt{"} میشه؛ دنبال یه راهحل بهتر هستم.
در ضمن، میدونم که این علامت نقل قول موازی، از نظر حروفچینی غلطه. اما این یه مورد رو مجبورم ;)
\documentclass{article}
\usepackage{xepersian}
\begin{document}
این یک "نمونه" است
\end{document}
-
باید بصورت محلی Mapping رو غیرفعال کنی:
\addfontfeature{Mapping=-}
-
ممنون وفا جان.
فقط الان ۲ تا مشکل دارم:
۱- اگه عددی توی متن، به انگلیسی اومده باشه، توی خروجی هم انگلیسی چاپ میشه. البته در مورد پانویسها، همونطور که میبینی، خوشبختانه مشکلی وجود نداره. (متنی رو که دارم روش کار میکنم، یه متنی هستش که متاسفانه عددهاش به انگلیسی تایپ شده)
۲- دستور
\addfontfeature{Mapping=-}
روی علامتهای نقلقول پانویسها تاثیری نداره.
-
ممنون وفا جان.
فقط الان ۲ تا مشکل دارم:
۱- اگه عددی توی متن، به انگلیسی اومده باشه، توی خروجی هم انگلیسی چاپ میشه. البته در مورد پانویسها، همونطور که میبینی، خوشبختانه مشکلی وجود نداره. (متنی رو که دارم روش کار میکنم، یه متنی هستش که متاسفانه عددهاش به انگلیسی تایپ شده)
۲- دستور
\addfontfeature{Mapping=-}
روی علامتهای نقلقول پانویسها تاثیری نداره.
جوابی رو که در بالا دادم با دقت بخون.
-
جوابی رو که در بالا دادم با دقت بخون.
اگه اشتباه نکنم locally یعنی «در همون محل در بدنه فایل»؛ اما ارتباطش رو با پست دوم خودم نمیفهمم. میشه یه کم توضیح بدی؟
-
فکر کنم منظور آقا وفا از locally به این معنی است که در هر آکولاد جداگانه باید اعمال بشه
این متن رو چک کنید:
\documentclass{article}
\usepackage{xepersian}
\begin{document}
\addfontfeature{Mapping=-}
عدد ۲۳۴432
\RTLfootnote{\addfontfeature{Mapping=-}
این ۳۰31 تا "پانویس" فارسی است.}
\end{document}
نه منظورم همانی بود که خودم گفتم.
-
البته اگرچه این کار داره نقل قول رو درست میکنه، اما مشکل اعداد فارسی انگلیسی را حل نمیکه
و از آنجا که locally یعنی داخل آکولاد، پس میتوان نتیجه گرفت که کد زیر بهتر کار میکنه 8)
\documentclass{article}
\usepackage{xepersian}
\begin{document}
\addfontfeature{Mapping=-}
عدد ۲۳۴432
\RTLfootnote{این ۳۰31 تا
{\addfontfeature{Mapping=-} "پانویس" }
فارسی است.}
\end{document}
-
فکر کنم منظور آقا وفا از locally به این معنی است که در هر آکولاد جداگانه باید اعمال بشه
ممنون آقای دکتر، خودمم به این نتیجه رسیدم. اما این تکتک وارد کردن این دستور، منطقی نیست. چون توی فایلم، تعداد پانویسها و کلمههایی که علامت نقل قول دارن، خیلی خیلی زیاده. اگه بخوام دونه دونه این کار رو انجام بدم، وقت زیادی رو ازم میگیره.
دنبال یه راهحل خودکار هستم که این کار رو برام انجام بده.
پ.ن: گویا از «اما این یه مورد رو مجبورم»، این جور برداشت شده که مشکلم فقط یه مورده. اما این طور نیست و منظورم از «مورد»، فایلیه که دارم باهاش کار میکنم. به خاطر همین، عذرخواهی میکنم؛ سوالم رو خوب نپرسیدم.
-
منظورم از محلی این بود:
\documentclass{article}
\usepackage{xepersian}
\begin{document}
این یک
{\addfontfeatures{Mapping=-}
"نمونه"
}
است 12345
\end{document}
-
ممنون آقای دکتر، خودمم به این نتیجه رسیدم. اما این تکتک وارد کردن این دستور، منطقی نیست. چون توی فایلم، تعداد پانویسها و کلمههایی که علامت نقل قول دارن، خیلی خیلی زیاده. اگه بخوام دونه دونه این کار رو انجام بدم، وقت زیادی رو ازم میگیره.
دنبال یه راهحل خودکار هستم که این کار رو برام انجام بده.
پ.ن: گویا از «اما این یه مورد رو مجبورم»، این جور برداشت شده که مشکلم فقط یه مورده. اما این طور نیست و منظورم از «مورد»، فایلیه که دارم باهاش کار میکنم. به خاطر همین، عذرخواهی میکنم؛ سوالم رو خوب نپرسیدم.
اون موقع شما اول باید یک فایل به نام mymapping.map بنویسید که نسخه تغییریافته parsidigits.map است که در آن خطهای ۴۶ تا ۵۱ یعنی خطهای زیر:
U+0027 <> U+2019 ; ' -> right single quote
U+0027 U+0027 <> U+201D ; '' -> right double quote
U+0022 > U+201D ; " -> right double quote
U+0060 <> U+2018 ; ` -> left single quote
U+0060 U+0060 <> U+201C ; `` -> left double quote
حذف شدهاند. سپس باید فایل mymapping.tec را با استفاده از دستور زیر ایجاد کنی (باید دستور را در ترمینال یا command prompt وارد کنی):
teckit_compile mymapping.map
در انتها باید این mapping را در سند زیپرشین خود استفاده کنی:
\settextfont[Mapping=mymapping]{font name}
-
اگه اشتباه نکنم locally یعنی «در همون محل در بدنه فایل»؛ اما ارتباطش رو با پست دوم خودم نمیفهمم. میشه یه کم توضیح بدی؟
کاملاً اشتباه است. شما وقتی با تک سر و کار دارید نباید مشکلی با مفاهیم ابتدایی تک داشته باشید. پیشنهاد میکنم یک کتاب ابتدایی تک رو حتماً بخونی.
-
اما این تکتک وارد کردن این دستور، منطقی نیست.
خوب شما گفتی همین یک مورده! شما برای سیاه کردن متن از دستور \textbf یا \bfseries استفاده میکنی حالا حتماً از دید شما استفاده از \textbf یا \bfseries هم منطقی نیست چون تک باید خودش تشخیص بده چه کلمهای رو سیاه کنه و چه کلمهای رو نکنه. خیر اینطور نیست متأسفانه تک نمیتونه ذهن شما رو بخونه.
-
اون موقع شما اول باید یک فایل به نام mymapping.map بنویسید که نسخه تغییریافته parsidigits.map است که در آن خطهای ۴۶ تا ۵۱ یعنی خطهای زیر:
U+0027 <> U+2019 ; ' -> right single quote
U+0027 U+0027 <> U+201D ; '' -> right double quote
U+0022 > U+201D ; " -> right double quote
U+0060 <> U+2018 ; ` -> left single quote
U+0060 U+0060 <> U+201C ; `` -> left double quote
حذف شدهاند. سپس باید فایل mymapping.tec را با استفاده از دستور زیر ایجاد کنی (باید دستور را در ترمینال یا command prompt وارد کنی):
teckit_compile mymapping.map
در انتها باید این mapping را در سند زیپرشین خود استفاده کنی:
\settextfont[Mapping=mymapping]{font name}
واو، چه راهحل قشنگی!
ممنون، الان همه چی درست کار میکنه.
کاملاً اشتباه است. شما وقتی با تک سر و کار دارید نباید مشکلی با مفاهیم ابتدایی تک داشته باشید. پیشنهاد میکنم یک کتاب ابتدایی تک رو حتماً بخونی.
در مورد یادگیری تک هم حق با شماست. ما هنوز خیلی راه در پیش داریم تا حتی به گرد پای تو برسیم. امیدوارم که همیشه باشی و مارو راهنمایی کنی.