آیا راهی وجود داره که بشه در یک متن فارسی انگلیسی، baseline فونت انگلیسی رو بالاتر برد؟
\renewcommand{\baselinestretch}{1.5}
یک و نیم برابر میکنه.
نقل قول از: هادی صفیاقدم در دسامبر 06, 2012, 02:17:23 بعد از ظهر
\renewcommand{\baselinestretch}{1.5}
یک و نیم برابر میکنه.
هادی جان جسارته. ولی این دوستمون فقط می خواد فاصله خطوط انگلیسی تغییر کنه. این طوری کل متن فاصله خطوطش عوض میشه.
نقل قول از: aris852963 در دسامبر 06, 2012, 02:39:58 بعد از ظهر
هادی جان جسارته. ولی این دوستمون فقط می خواد فاصله خطوط انگلیسی تغییر کنه. این طوری کل متن فاصله خطوطش عوض میشه.
خواهش میکنم.
درست میگین. اشتباه از منه. من به اون عبارت «فارسی انگلیسی» دقت نکردم.
اینو من بلد نیستم متاسفانه.
نقل قول از: هادی صفیاقدم در دسامبر 06, 2012, 02:51:02 بعد از ظهر
خواهش میکنم.
درست میگین. اشتباه از منه. من به اون عبارت «فارسی انگلیسی» دقت نکردم.
اینو من بلد نیستم متاسفانه.
من هم بلد نیستم. ولی فکر کنم همین کد شما رو اگه تو محیط \begin{latin} استفاده کنه هر دفعه جواب بده.
نقل قول از: aris852963 در دسامبر 06, 2012, 03:10:51 بعد از ظهر
من هم بلد نیستم. ولی فکی کنم همین کد شما رو دو محیط \begin{latin} استفاده کنه هر دفعه جواب بده.
نه بابا اینجوری خیلی سخته.
البته من با این کار این دوستمان در کارهای خودم به شدت مخالفم.
چون دوس دارم همه جا فاصلهی خطخط با هم یکی باشه.
دوس ندارم استانداردها را تغییر بدم.
مگر اینکه کسی برای کار خودش بخاد. اینم به سختی انجام میدم.
اگر این سوال راهی داشته باشه، فکر کنم دکتر کارنپهلو ببینند، لطف میکنن و جواب میدن. اگه نباشه که نه.
نقل قول از: مرتضی در دسامبر 05, 2012, 11:02:23 بعد از ظهر
آیا راهی وجود داره که بشه در یک متن فارسی انگلیسی، baseline فونت انگلیسی رو بالاتر برد؟
اگه منظورتون فاصله بین فقط خطوط انگلیسی هست، باید تعریف محیط latin رو تغییر بدین. فایل پیوست رو ببینین.
نقل قول از: aris852963 در دسامبر 06, 2012, 03:10:51 بعد از ظهر
من هم بلد نیستم. ولی فکر کنم همین کد شما رو اگه تو محیط \begin{latin} استفاده کنه هر دفعه جواب بده.
\makeatletter
\bidi@AtBeginEnvironment{latin}{\renewcommand{\baselinestretch}{1.5}}
\makeatother
نقل قول از: وحید دامنافشان در دسامبر 06, 2012, 03:15:46 بعد از ظهر
اگه منظورتون فاصله بین فقط خطوط انگلیسی هست، باید تعریف محیط latin رو تغییر بدین. فایل پیوست رو ببینین.
احتیاجی به \bgroup و \egroup اضافی نیست.
با تشکر از لطف همه دوستان. ولی مشکل من چیز دیگهای هست.
برای روشنتر شدن مساله باید بگم منطورم اینه که مثلا وقتی در یک جمله هم کلمات فارسی و هم کلمات انگلیسی داریم، baseline کلمات انگلیسی معمولا اندکی پایینتر از baseline کلمات فارسی است (منطور از baseline، خط فرضی افقی زیر حروف است). سوال اینجاست که آیا میتوان این baseline را جابهجا کرد؟
امیدوارم تونسته باشم منظورمو برسونم
\raisebox{distance}[extend-above][extend-below]{text}
نقل قول از: حسن ذاکری در دسامبر 07, 2012, 01:04:25 قبل از ظهر
\raisebox{distance}[extend-above][extend-below]{text}
از پاسخ شما متشکرم؛ ولی چطور میشه کدی مثل این رو قبل از شروع نوشتار نوشت تا بر روی کل متن اعمال بشه؟
نقل قول از: مرتضی در دسامبر 07, 2012, 01:28:21 قبل از ظهر
از پاسخ شما متشکرم؛ ولی چطور میشه کدی مثل این رو قبل از شروع نوشتار نوشت تا بر روی کل متن اعمال بشه؟
مطابق جواب آقای کارنپهلو، این دستور را وارد محیط latin یا دستور \lr کنید
نقل قول از: حسن ذاکری در دسامبر 07, 2012, 03:31:58 قبل از ظهر
این دستور را وارد محیط latin یا دستور \lr کنید
از وقتی که برای جواب دادن گذاشتید ممنونم.
ولی با این دستور، برای نوشتن هر کلمه انگلیسی، باید یک عبارت نسبتا طولانی نوشته بشه. بیشتر دنبال اینم که ببینم آیا دستوری وجود داره که قبل از شروع نوشتار بنویسیم و داخل خود متن نیاز به کار دیگهای نداشته باشیم و همینکه کلمه انگلیسی رو داخل \lr{} مینویسیم خودش تشخیص بده.
نقل قول از: مرتضی در دسامبر 07, 2012, 03:42:52 قبل از ظهر
از وقتی که برای جواب دادن گذاشتید ممنونم.
ولی با این دستور، برای نوشتن هر کلمه انگلیسی، باید یک عبارت نسبتا طولانی نوشته بشه. بیشتر دنبال اینم که ببینم آیا دستوری وجود داره که قبل از شروع نوشتار بنویسیم و داخل خود متن نیاز به کار دیگهای نداشته باشیم و همینکه کلمه انگلیسی رو داخل \lr{} مینویسیم خودش تشخیص بده.
دستور \lr را از نو تعریف کن. برای اینکه کد نمونهای داشته باشی:
\makeatletter
\let\xp@lr\lr
\renewcommand{\lr}[1]{\raisebox{0.1ex}{\xp@lr{#1}}}
\makeatother
نقل قول از: وفا کارنپهلو در دسامبر 07, 2012, 09:06:42 قبل از ظهر
دستور \lr را از نو تعریف کن. برای اینکه کد نمونهای داشته باشی:
\makeatletter
\let\xp@lr\lr
\renewcommand{\lr}[1]{\raisebox{0.1ex}{\xp@lr{#1}}}
\makeatother
وفا جان دلیل اینکه از علامت @ برای redefine کردن استفاده کردی چیه؟ آیا دلیل خاصی داره؟
با تشکر از لطف دوستان. مشکلم حل شد.
نقل قول از: وحید دامنافشان در دسامبر 07, 2012, 12:22:32 بعد از ظهر
وفا جان دلیل اینکه از علامت @ برای redefine کردن استفاده کردی چیه؟ آیا دلیل خاصی داره؟
دلیل خاصی نداره.