سلام دوستان
لطفاً به فایلی که پیوست کردم نگاه کنید. این فایل شامل سورس تک، PDF، و log مربوطه است. همان طور که مشاهده میکنید، وقتی با استفاده از دستور \newfloat یک جسم شناور جدید تعریف میکنیم، عنوان (caption) آن به صورت چپ به راست است.
فکر کنم علت اینه که بسته float میاد \caption رو از نو تعریف میکنه، که در نتیجه کاری به جهت محیط نداره. ولی تعریف \caption تو این محیط خیلی پیچیده بود و من نفهمیدم کجاش میشه مثلاً \rl اضافه کرد.
نکته آخر: من از MikTeX 2.8 استفاده میکنم. تو بعضی پستها خوندم که توصیه کردید از TeXLive استفاده بشه، ولی در حال حاضر بهش دسترسی ندارم. اگه دوستانی به TeXLive دسترسی دارن میتونن بگن که آیا خروجی اونها هم مثل من هست یا نه. ممنون.
نقل قول از: Sadeq در فبریه 05, 2011, 08:52:00 بعد از ظهر
سلام دوستان
لطفاً به فایلی که پیوست کردم نگاه کنید. این فایل شامل سورس تک، PDF، و log مربوطه است. همان طور که مشاهده میکنید، وقتی با استفاده از دستور \newfloat یک جسم شناور جدید تعریف میکنیم، عنوان (caption) آن به صورت چپ به راست است.
فکر کنم علت اینه که بسته float میاد \caption رو از نو تعریف میکنه، که در نتیجه کاری به جهت محیط نداره. ولی تعریف \caption تو این محیط خیلی پیچیده بود و من نفهمیدم کجاش میشه مثلاً \rl اضافه کرد.
نکته آخر: من از MikTeX 2.8 استفاده میکنم. تو بعضی پستها خوندم که توصیه کردید از TeXLive استفاده بشه، ولی در حال حاضر بهش دسترسی ندارم. اگه دوستانی به TeXLive دسترسی دارن میتونن بگن که آیا خروجی اونها هم مثل من هست یا نه. ممنون.
حالا چه اجباریه شما بیایید از سبک float استفاده کنید. این سبک فعلاً پشتیبانی نمیشود و خودتون مسئول استفاده کردن ازش و مشکلات احتمالیش هستید. در ضمن فرمت مجاز برای فایلهای فشرده zip است نه rar.
نقل قول از: وفا در فبریه 06, 2011, 01:33:59 قبل از ظهر
حالا چه اجباریه شما بیایید از سبک float استفاده کنید. این سبک فعلاً پشتیبانی نمیشود و خودتون مسئول استفاده کردن ازش و مشکلات احتمالیش هستید. در ضمن فرمت مجاز برای فایلهای فشرده zip است نه rar.
پشتیبانی از float اضافه کردم. گونه آزمایشی bidi و xepersian را از bitbucket دریافت کنید و استفاده کنید.
نقل قول از: وفا در فبریه 06, 2011, 03:33:27 قبل از ظهرپشتیبانی از float اضافه کردم. گونه آزمایشی bidi و xepersian را از bitbucket دریافت کنید و استفاده کنید.
سلام ممنون!
یکم تو کدتون فضولی کردم. فهمیدم اگه کسی میخواست بدون دست زدن به bidi مشکل رو حل کنه کافی بود کد زیر رو به برنامهاش اضافه کنه:
\makeatletter\renewcommand\floatc@plain[2]{\setbox\@tempboxa\hbox{{\@fs@cfont #1:} #2}% \ifdim\wd\@tempboxa>\hsize {\@fs@cfont #1:} #2\par \else\hbox to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil\if@RTL\endR\fi}\fi}\makeatother
که البته کد اصلی بسته float به صورت زیره:
\newcommand\floatc@plain[2]{\setbox\@tempboxa\hbox{{\@fs@cfont #1:} #2}% \ifdim\wd\@tempboxa>\hsize {\@fs@cfont #1:} #2\par \else\hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi}
پ.ن.: من چون این پروژه رو دوست دارم، دوست دارم خوب ازش سر در بیارم، شاید بلکه یه روزی بتونم کمکی بکنم. امیدوارم از فضولیم تو کدتون ناراحت نشین!
نقل قول از: Sadeq در فبریه 06, 2011, 08:14:02 قبل از ظهرسلام ممنون! یکم تو کدتون فضولی کردم. فهمیدم اگه کسی میخواست بدون دست زدن به bidi مشکل رو حل کنه کافی بود کد زیر رو به برنامهاش اضافه کنه: \makeatletter\renewcommand\floatc@plain[2]{\setbox\@tempboxa\hbox{{\@fs@cfont #1:} #2}% \ifdim\wd\@tempboxa>\hsize {\@fs@cfont #1:} #2\par \else\hbox to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil\if@RTL\endR\fi}\fi}\makeatother
که البته کد اصلی بسته float به صورت زیره: \newcommand\floatc@plain[2]{\setbox\@tempboxa\hbox{{\@fs@cfont #1:} #2}% \ifdim\wd\@tempboxa>\hsize {\@fs@cfont #1:} #2\par \else\hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi}
پ.ن.: من چون این پروژه رو دوست دارم، دوست دارم خوب ازش سر در بیارم، شاید بلکه یه روزی بتونم کمکی بکنم. امیدوارم از فضولیم تو کدتون ناراحت نشین!
خوب پس باید به دلیلش هم علاقهمند باشی. دلیلش اینه که تک توی فضای عمودی (vmode) هستش و بنابراین \caption چپ به راست چیده میشود. یک راه درست کردن دیگش این بود که از فضای عمودی خارج بشیم که در تغییر قبلیش اگر نگاه کردی بودی من از \leavevmode استفاده کردم بودم.
\long\def\float@caption#1[#2]#3{\addcontentsline{\@nameuse{ext@#1}}{#1}% {\protect\numberline{\@nameuse{the#1}}{\ignorespaces #2}} \global\setbox\@floatcapt\vbox\bgroup\@parboxrestore\leavevmode \normalsize\@fs@capt{\@nameuse{fnum@#1}}{\ignorespaces #3}% \@ifnextchar[{\float@ccon}{\egroup}}
یک راهحل دیگه استفاده از \hboxR به جای این راهحلی که شما گذاشتید یعنی:
\renewcommand\floatc@plain[2]{\setbox\@tempboxa\hboxR{{\@fs@cfont #1:} #2}% \ifdim\wd\@tempboxa>\hsize {\@fs@cfont #1:} #2\par \else\hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi}
فقط لطفاً سعی کنید خودتون این کدها را دستی وارد نکنید و حتماً بستهها را از bitbucket دریافت کنید و استفاده کنید تا مشکلی پیش نیاد.
نقل قولخوب پس باید به دلیلش هم علاقهمند باشی.
بله خیلی علاقه داشتم بدونم، ولی ترسیدم وقتتون رو بگیرم برای همین خودم یکم بررسی کردم و یه چیزایی هم دستگیرم شد، و لی توضیحتون راجع به vmode و \hboxR خیلی جالب بود.
نقل قولفقط لطفاً سعی کنید خودتون این کدها را دستی وارد نکنید و حتماً بستهها را از bitbucket دریافت کنید و استفاده کنید تا مشکلی پیش نیاد.
بله حتماً!