سلام، لطفا وارد شوید یا عضو شوید.

نویسنده موضوع: راست‌چین کردن سطرهای تک‌میکر که کاراکتر اول‌شان فارسی نیست  (دفعات بازدید: 8949 بار)

آفلاین هادی صفی‌اقدم

  • ویرایشگر
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 789
  • -دریافت شده: 1353
  • ارسال: 5,644
    • ديدن مشخصات
به سطر زیر نگاه کنید:
(۱) تابع $f$‌ را می‌توان....
در پنجره تکمیکر تا قبل از تایپ «تابع» متن تایپ شده به صورت چپ‌چین است. اما بعد از تایپ اولین کاراکتر فارسی یعنی «ت‌»، سطر فوق، راست‌چین می‌شود.

می‌خواهم ببینم آیا کاراکتری هست که اول آن را قبل از تایپ «(۱)» تایپ کرد و خود به خود راست‌چین شود. کاراکتری مثل فاصله مجازی یا نیم‌فاصله و ... که در خروجی هم نمایان نشود.

این مورد از طرف کاربران زی‌پرشین خیلی به من گفته شده و از این حالت می‌نالند. خیلی از کاربران هم به سختی با این حالت کنار می‌آیند و بعضی بیخیالش می‌شوند.

با تشکر قبلی

آفلاین سید مهدی موسوی

  • Full Member
  • ***
  • تشکر
  • -اهدا شده: 96
  • -دریافت شده: 57
  • ارسال: 245
    • ديدن مشخصات
    • گروه دانشجویی ابوالوفا بوزجانی
به سطر زیر نگاه کنید:
(۱) تابع $f$‌ را می‌توان....
در پنجره تکمیکر تا قبل از تایپ «تابع» متن تایپ شده به صورت چپ‌چین است. اما بعد از تایپ اولین کاراکتر فارسی یعنی «ت‌»، سطر فوق، راست‌چین می‌شود.

می‌خواهم ببینم آیا کاراکتری هست که اول آن را قبل از تایپ «(۱)» تایپ کرد و خود به خود راست‌چین شود. کاراکتری مثل فاصله مجازی یا نیم‌فاصله و ... که در خروجی هم نمایان نشود.

این مورد از طرف کاربران زی‌پرشین خیلی به من گفته شده و از این حالت می‌نالند. خیلی از کاربران هم به سختی با این حالت کنار می‌آیند و بعضی بیخیالش می‌شوند.

با تشکر قبلی
این کار ایرادی داره؟
حین تایپ هم اگر نیازی بود از چپ به راست نوشته بشه مشکل با ctrl+shift حل می‌شه.
« آخرين ويرايش: سپتامبر 01, 2010, 12:18:31 pm توسط سید مهدی موسوی »
همیشه سخت‌ترین کارها آنهایند که ما در یافتن راه‌های ساده برای انجام آنها کوتاهی کرده‌ایم.

آفلاین هادی صفی‌اقدم

  • ویرایشگر
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 789
  • -دریافت شده: 1353
  • ارسال: 5,644
    • ديدن مشخصات
این کار ایرادی داره؟
این جوری درمواردی که فرمول ریاضی به صورت Display mode داریم و داخل فرمول‌ها، کلمه فرسی داریم، اونها را هم راست چین می‌کند و برای من جالب نیست. مثل:
$$f(x)=0 \text{آنگاه } g(x)=0$$

آفلاین سید مهدی موسوی

  • Full Member
  • ***
  • تشکر
  • -اهدا شده: 96
  • -دریافت شده: 57
  • ارسال: 245
    • ديدن مشخصات
    • گروه دانشجویی ابوالوفا بوزجانی
راه حل این مطلب هم خیلی ساده و سریعه یادم رفت بگم فقط ctrl+shift چپ و باید استفاده کنید.
بهتره بگم با استفاده از این تنظیم از هر طرف که بخواین بنویسین از دو تا کلید همون طرف بایست استفاده کنین.

آفلاین هادی صفی‌اقدم

  • ویرایشگر
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 789
  • -دریافت شده: 1353
  • ارسال: 5,644
    • ديدن مشخصات
راه حل این مطلب هم خیلی ساده و سریعه یادم رفت بگم فقط ctrl+shift چپ و باید استفاده کنید.
میخام بدون زدن ctrl + shift این انجام شود.

برای روشن شدن موضوع:
وقتی پنجره ‌تک‌میکر را باز کرده و داخلش کلیک می‌کنید، مکاننما چپ چین هست
اگر اولین حرفی که می‌زنید فارسی باشد، مکاننما به صورت اتوماتیک، راست چین می‌شود
اگر اولین حرفی که می‌زنید، انگلیسی باشد، مکاننما به صورت اتوماتیک، چپ چین می‌شود.
اما اگر مثلا (۱) باشد، چپ چین می‌ماند. اگر در ادامه‌اش کاراکتر فارسی بزنید، راست‌چین می‌شود. اگر کاراکتر انگلیسی بزنید، چپ چین میشود.حال مسئله اینجاست که اگر بعدش دوباره جمله فارسی باشد باید راست‌چین شود که نمی‌شود

آفلاین هادی صفی‌اقدم

  • ویرایشگر
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 789
  • -دریافت شده: 1353
  • ارسال: 5,644
    • ديدن مشخصات
یک پیشنهاد:
مثلا اگر امکانش باشه آقای سید رضی علوی‌زاده در تک‌میکر تعریف کنند که هر جا اول یک سطری «فاصله فارسی» زدیم اون سطر راست چین بشه خیلی عالی میشه.

آفلاین سیدرضی علوی‌زاده

  • Moderator
  • Sr. Member
  • ***
  • تشکر
  • -اهدا شده: 40
  • -دریافت شده: 213
  • ارسال: 434
    • ديدن مشخصات
    • پـُژ
این مورد از طرف کاربران زی‌پرشین خیلی به من گفته شده و از این حالت می‌نالند. خیلی از کاربران هم به سختی با این حالت کنار می‌آیند و بعضی بیخیالش می‌شوند.
با چه حالتی؟ یعنی فقط همینکه سه کاراکتر (۱) در سمت چپ است و بعد راست‌چین می‌شود این‌قدر مشکل است!!

این جوری درمواردی که فرمول ریاضی به صورت Display mode داریم و داخل فرمول‌ها، کلمه فرسی داریم، اونها را هم راست چین می‌کند و برای من جالب نیست. مثل:
$$f(x)=0 \text{آنگاه } g(x)=0$$
قبلا هم گفتم بهترین کار برای حالات پیچیده‌تر شبیه به این موردی که گفتید ( متن فارسی در داخل دستور لاتک ) استفاده از insert LTR text است.

اما اگر مثلا (۱) باشد، چپ چین می‌ماند. اگر در ادامه‌اش کاراکتر فارسی بزنید، راست‌چین می‌شود. اگر کاراکتر انگلیسی بزنید، چپ چین میشود.حال مسئله اینجاست که اگر بعدش دوباره جمله فارسی باشد باید راست‌چین شود که نمی‌شود
میشه بگید اینکه گفتید «اگر کاراکتر انگلیسی بزنید، چپ چین میشود.» در چه حالتی اتفاق می‌افتد!؟ ( چون دو حالت خودکار داریم یا بر مبنای اولین حرف جهت خط تعیین می‌شود یا برمبنای وجود حداقل یک کاراکتر از راست به چپ و حالتی نداریم که برای تایپ هر کاراکتر جهت خط عوض شود!! )

یک پیشنهاد:
مثلا اگر امکانش باشه آقای سید رضی علوی‌زاده در تک‌میکر تعریف کنند که هر جا اول یک سطری «فاصله فارسی» زدیم اون سطر راست چین بشه خیلی عالی میشه.


اولا که در یک ویرایشگر استاندارد یونیکد چیزی به نام «فاصله فارسی» نداریم.
دوما شخصا موافق نیستم.
سوما اگر نظر دوستان به این شکل است می‌توانیم از همان کاراکتر «نیم فاصله» استفاده کنیم.

توجه: در ضمن دوستان اگر نظری دارند سریعتر بگن، چون بعلت رفع یک باگ اساسی در  همین چند روز آینده تک‌میکر دوجهته را بروز خواهم کرد.
« آخرين ويرايش: سپتامبر 02, 2010, 01:36:20 am توسط سیدرضی علوی‌زاده »

آفلاین هادی صفی‌اقدم

  • ویرایشگر
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 789
  • -دریافت شده: 1353
  • ارسال: 5,644
    • ديدن مشخصات
من در حالت First Strong character (LTR) کار می‌کنم
با چه حالتی؟ یعنی فقط همینکه سه کاراکتر (۱) در سمت چپ است و بعد راست‌چین می‌شود این‌قدر مشکل است!!
نه. حالتی که اول (۱) را تایپ کنیم و بعد کاراکتر انگلیسی باشد. مثل:
(۱) f(x) تابع زوج است....
از اینگونه موارد می‌نالند. کل درخواستم روی این است که مثلا یک کاراکتر قبل از همه زده بشه یا بعد از (۱) که راست چین شود. چون داریم سطر فارسی تایپ می‌کنیم.
قبلا هم گفتم بهترین کار برای حالات پیچیده‌تر شبیه به این موردی که گفتید ( متن فارسی در داخل دستور لاتک ) استفاده از insert LTR text است.
ممنون. یا من ندیده بودم یا دقت نکرده ام. شرمنده
میشه بگید اینکه گفتید «اگر کاراکتر انگلیسی بزنید، چپ چین میشود.» در چه حالتی اتفاق می‌افتد!؟ ( چون دو حالت خودکار داریم یا بر مبنای اولین حرف جهت خط تعیین می‌شود یا برمبنای وجود حداقل یک کاراکتر از راست به چپ و حالتی نداریم که برای تایپ هر کاراکتر جهت خط عوض شود!! )
ببخشید کمی بد توضیح دادم.
متن زیر دقت کنید:
(۱) f(x) تابع زوج است....
این یک سطر فارسی بود که باید راست چین شود ولی چپ چین می‌شود.
چون:
(۱) فارسی است (از نظر من)
f(x) انگلیسی است
اما سطر چپ چین می‌شود!!
دوما شخصا موافق نیستم.
هر طور نظر شماست سید رضی جان. اما اگر به عنوان یک option انتخابی باشد کار ما هم راه می‌افتد. البته اگر صلاح بدانید. متشکرم
سوما اگر نظر دوستان به این شکل است می‌توانیم از همان کاراکتر «نیم فاصله» استفاده کنیم.
نیم فاصله هم جالب هست. اگر همین کار را انجام بدهید خیلی عالی می‌شود و من شرمنده‌ی شما

واقعا متشکرم که اینقده به درخواست من اهمیت دادید. متشکرم.
واقعا خیلی از دانشجویان دانشگاهمان از این موضوع می نالند و بعضی ها مسخره می کنند. >:( >:( اگر این هم اضافه بشه خیلی عالی میشه.
« آخرين ويرايش: سپتامبر 02, 2010, 05:07:05 am توسط هادی صفی اقدم »

آفلاین هادی صفی‌اقدم

  • ویرایشگر
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 789
  • -دریافت شده: 1353
  • ارسال: 5,644
    • ديدن مشخصات
یک مورد دیگه را هم الان یادم اومد.
در مواردی که اول سطر باید یک کلمه فارسی را Bold بنویسیم هم باید سطرها راست چین شود که نمی‌شود.
مثل:
‎\textbf{آزمون مقایسه:}‎‎ اگر داشته باشیم ادامه متن
که خروجیش به صورت زیر است:
آزمون مقایسه: اگر داشته باشیم ادامه متن

آفلاین سیدرضی علوی‌زاده

  • Moderator
  • Sr. Member
  • ***
  • تشکر
  • -اهدا شده: 40
  • -دریافت شده: 213
  • ارسال: 434
    • ديدن مشخصات
    • پـُژ
بخشید کمی بد توضیح دادم.
متن زیر دقت کنید:
(۱) f(x) تابع زوج است....
این یک سطر فارسی بود که باید راست چین شود ولی چپ چین می‌شود.
چون:
(۱) فارسی است (از نظر من)
f(x) انگلیسی است
اما سطر چپ چین می‌شود!!

یک مورد دیگه را هم الان یادم اومد.
در مواردی که اول سطر باید یک کلمه فارسی را Bold بنویسیم هم باید سطرها راست چین شود که نمی‌شود.
مثل:
‎\textbf{آزمون مقایسه:}‎‎ اگر داشته باشیم ادامه متن
که خروجیش به صورت زیر است:
آزمون مقایسه: اگر داشته باشیم ادامه متن
خوب این مواردی که می‌گویید هیچ‌کدام در حالت «At Least One Strong Character» اتفاق نمی‌افتد، چرا از آن حالت استفاده نمی‌کنید؟

دوما شخصا موافق نیستم.
هر طور نظر شماست سید رضی جان.
این را که گفتم فقط برای این بود که بعنوان یکی از کاربران نظرم را گفته باشم! نه اینکه بگم همینه که هست  ;)

نیم فاصله هم جالب هست.
و آیا در کل این مشکل فقط در مورد اعداد است؟ اگر اینطور باشد یک راه‌حل هم این است که اعداد را بعنوان کاراکتر «راست به چپ» معرفی کنیم و دیگر نیازی به کاراکتری اضافه نباشد!

آفلاین هادی صفی‌اقدم

  • ویرایشگر
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 789
  • -دریافت شده: 1353
  • ارسال: 5,644
    • ديدن مشخصات
خوب این مواردی که می‌گویید هیچ‌کدام در حالت «At Least One Strong Character» اتفاق نمی‌افتد، چرا از آن حالت استفاده نمی‌کنید؟
هر طور نظر شماست سید رضی جان.
به مثال زیر نگاه کنید: (یک سطر فرمول انگلیسی که وسط فرمول‌ها یک کلمه‌ی فارسی استفاده شده است)

$$  f(x) =0 \text{آنگاه}  g(x)=0$$
در حالت At least one strong character این مورد راست چین می‌شود ولی در صورتیکه سطر انگلیسی داریم.
و آیا در کل این مشکل فقط در مورد اعداد است؟ اگر اینطور باشد یک راه‌حل هم این است که اعداد را بعنوان کاراکتر «راست به چپ» معرفی کنیم و دیگر نیازی به کاراکتری اضافه نباشد!
در مورد اینکه همه سطرهایی که اولشان به صورت (۱) را با تعریف (۱) به عنوان کاراکتر راست به چپ، خود به خود چپ‌چین شوند بیزحمت به مورد زیر نگاه کنید:
(1) f(x) = x2+3x+2
این سطر باید چپ‌چین باشد. (در صورتیکه اولین کاراکترش پرانتز یا به قول شما عدد هست) و اگر (۱) را کاراکتر راست به چپ معرفی کنید این سطر هم راست چین می‌شود در صورتیکه باید چپ چین باشد. چون سطر کاملا انگلیسی هست

به نظرم معرفی کاراکتر فاصله مجازی یا هر کاراکتری که راست به چپ معرفی شود (یعنی مثل یک حرف الفبای فارسی) و با زدن اون کاراکتر در اول سطرهای موردنظر ، راست چین شود خیلی خوب میشه.


ممنون بابت وقتی که بخاطر پیشنهاد من گذاشتید. متشکرم
« آخرين ويرايش: سپتامبر 02, 2010, 09:33:10 am توسط هادی صفی اقدم »

آفلاین سیدرضی علوی‌زاده

  • Moderator
  • Sr. Member
  • ***
  • تشکر
  • -اهدا شده: 40
  • -دریافت شده: 213
  • ارسال: 434
    • ديدن مشخصات
    • پـُژ
به مثال زیر نگاه کنید: (یک سطر فرمول انگلیسی که وسط فرمول‌ها یک کلمه‌ی فارسی استفاده شده است)

$$  f(x) =0 \text{آنگاه}  g(x)=0$$
در حالت At least one strong character این مورد راست چین می‌شود ولی در صورتیکه سطر انگلیسی داریم.
درسته که راست‌چین می‌شود ولی با استفاده از insert LTR text حالت نمایشی درستی به خود می‌گیرد.

در مورد اینکه همه سطرهایی که اولشان به صورت (۱) را با تعریف (۱) به عنوان کاراکتر راست به چپ، خود به خود چپ‌چین شوند بیزحمت به مورد زیر نگاه کنید:
(1) f(x) = x2+3x+2
این سطر باید چپ‌چین باشد. (در صورتیکه اولین کاراکترش پرانتز یا به قول شما عدد هست) و اگر (۱) را کاراکتر راست به چپ معرفی کنید این سطر هم راست چین می‌شود در صورتیکه باید چپ چین باشد. چون سطر کاملا انگلیسی هست
در این مورد یک راه حل این است که بین عدد فارسی «۱» و عدد انگلیسی «1» تفاوت قایل شویم که مشکل ذکر شده را حل می‌کند اما باز برای کاربرانی که از کیبورد غیراستاندارد استفاده می‌کنند که در حالت فارسی هم اعداد انگلیسی را در اختیار قرار می‌دهد مشکل پیش می‌آورد.

در کل فکر می‌کنم بهترین حالت استفاده از همان «نیم فاصله» باشد.

آفلاین شهاب

  • Full Member
  • ***
  • تشکر
  • -اهدا شده: 80
  • -دریافت شده: 21
  • ارسال: 119
    • ديدن مشخصات
من هم به شدت با موضوعی که هادی مطرح کردند، مشکل دارم به نظر من  هم اگه با زدن  همان نیم فاصله ، محیط راست چین بماند (نه اینکه راست چین شود و دوباره برگردد طرف چپ) خیلی خیلی عالی میشود دوستان من هم با این مطلبی که هادی مطرح کرده اند، مشکل دارند
با تشکر
خدایا تو چه بی منتها می بخشی، و ما چه حسابگرانه تسبیح می گوییم!

آفلاین هادی صفی‌اقدم

  • ویرایشگر
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 789
  • -دریافت شده: 1353
  • ارسال: 5,644
    • ديدن مشخصات
دکمه space فارسی (زدن فاصله وقتی که کیبورد فارسی است) گزینه‌ی خوبی برای راست‌چین کردن سطرهایی که کاراکتر اولشان انگلیسی و بقیه فارسی هستند می‌باشد؟

آفلاین سروش

  • Newbie
  • *
  • تشکر
  • -اهدا شده: 3
  • -دریافت شده: 3
  • ارسال: 32
    • ديدن مشخصات
استنباط خودم از موضوع رو این زیر نوشتم اگه درست متوجه نشدم لطفاً بگید. (البته یه خورده پابرهنه میپرم وسط...)

تا اینجا اگه درست متوجه شده باشم دارید دنبال یه الگوریتم مناسب برای پیاده‌سازی Bi-directionality در محیط ادیتور می‌گردید.
مسلماً هر ترتیب یا قاعده‌ای که مشخص بشه باز هم راضی‌کننده نخواهد بود و نیاز هست که جهت متن (نه تراز متن) مشخص بشه. مثلاً برای فرمول‌ها لازمه که از راست به چپ جهت‌گیری داشته باشن و برای متون پاراگراف‌ها (حتی اگر اولشون با حرف لاتین شروع بشه) از راست به چپ تراز انجام بشه. و همین‌طور برای پاراگراف‌های غیر فارسی از چپ به راست.

نتیجه‌ای که می‌تونیم بگیریم اینه که همۀ عوامل تعیین کننده برای مشخص شدن جهت، سمانتیک هستند و بدون درک متن و تشخیص زبان موضعی نمی‌شه قاعده‌ای رو برای جهت‌دهی متون وضع کرد. بنابراین باید جهت به شکل صریح (explicit) تعیین بشه، نه با یک سری الگوریتم. پس کاربر باید تعیین کنه که متن از کجا جهت‌گیری کنه. و باید این تصمیم کاربر ذخیره بشه. از طرف دیگه plain text امکان این رو نداره که جهت رو مشخص کنه. (مثلاً مثل RTF یا HTML)

یه پیشنهاد:
همونطور که میدونید این مشکل قبلاً حل شده و نیازی نیست دوباره قراردادی رو برای تعیین جهت در plain text معین کنید. من میگم از همون روش استاندارد یونیکد استفاده کنید. یعنی اول هر سطر (پاراگراف متنی، منظورم متن بین دو u00A هست) یکی از کاراکترهای
Right to Left embedding U+2020B
یا
Left to Right embedding U+2020A
رو قرار بدید و با فشار دادن Ctrl+Shift در هر طرف از صفحه کلید، این نویسه‌های ابتدایی توسط ویرایشگر جایگزین بشن. این‌ها می‌تونن معین کنن که متن از کجا تراز شه. و موقع لود کردن فایل (یا کلاً رندر متن) این نویسه‌ها به عنوان جهت لحاظ بشن. و البته کاربر نتونه حذفشون کنه.

میمونه متون بین پاراگراف، که اونم با قرار دادن همین کاراکترها بین متون میشه حلش کرد. فقط باید یه لایۀ بالایی برای ویرایشگر نوشته بشه که این کارها رو به شکل گرافیکی انجام بده تا کاربر با مدیریت جهت متن درگیر نشه. مثلاً راهی که به ذهن من میرسه اینه که با تشخیص زبان سیستم عامل، و مدیریت تغییر زبان، نویسه‌های جهت مناسب بین متن درج بشن. شاید روش‌های strong-first که توی تک‌میکر نوشتید هم براش کارساز باشه. یا اینکه ادیتور جهت‌های مخالف جریان کلی رو هایلایت کنه. (فکر نکنم با کیوتی زیاد سخت باشه چون توی TeXMakerX از این جور کارا زیاد انجام دادن).

 

راست چین کردن سطرهای با کاراکتر ابتدایی لاتین در تک‌میکر

نویسنده هادی صفی‌اقدمانجمن Texmaker

پاسخ ها: 16
مشاهده: 11662
آخرين ارسال ژانویه 29, 2011, 01:10:12 pm
توسط سیدرضی علوی‌زاده
عدم شروع از سمت راست پس از بسته و باز کردن تک میکر

نویسنده ابوالفضل دیانتانجمن Texmaker

پاسخ ها: 17
مشاهده: 7468
آخرين ارسال نوامبر 16, 2011, 06:21:40 pm
توسط سیدرضی علوی‌زاده
مرتب کردن جملات فارسی در جدول از راست به چپ

نویسنده علیرضا‌علی پورانجمن گرافیک، جدول و شکل

پاسخ ها: 1
مشاهده: 4388
آخرين ارسال ژانویه 25, 2014, 12:09:28 am
توسط ابوالفضل دیانت
هم‌تراز کردن متن فارسی

نویسنده مجتبی برخورداریانجمن حروف‌چینی مستندات

پاسخ ها: 5
مشاهده: 55570
آخرين ارسال دسامبر 02, 2009, 09:19:20 am
توسط vafa
راست چین شدن سطرهای داخل محیط bmatrix

نویسنده هادی صفی‌اقدمانجمن Texmaker

پاسخ ها: 6
مشاهده: 4104
آخرين ارسال ژوئیه 25, 2010, 04:21:49 pm
توسط سید مهدی موسوی
به هم ریختگی و نمایش از چپ به راست مراجع فارسی

نویسنده محمد چهارسوقیانجمن مراجع و بیب‌تک BibTeX

پاسخ ها: 9
مشاهده: 6010
آخرين ارسال ژوئیه 30, 2010, 03:01:18 pm
توسط محمد چهارسوقی
راست چین کردن عنوان "مراجع"

نویسنده afrooozانجمن حروف‌چینی مستندات

پاسخ ها: 6
مشاهده: 5039
آخرين ارسال ژوئیه 16, 2012, 03:22:38 am
توسط vafa
فارسی کردن شماره ی مرجع برای مراجع انگلیسی

نویسنده اوژنانجمن مراجع و بیب‌تک BibTeX

پاسخ ها: 7
مشاهده: 31168
آخرين ارسال آوریل 06, 2011, 05:11:23 pm
توسط nazanin