• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

چرا sepmark روی شناورهای تعریف شده با DeclareFloatingEnvironment بی اثر است؟

نویسنده فکورپور, می 05, 2013, 12:21:30 قبل از ظهر

« قبلی - بعدی »

فکورپور

من از دستور sepmark برای تغییر جداکننده از نقطه به تیره استفاده کردم. از کلاس تز شریف هم استفاده میکنم. ولی جداکننده شرح‌های دو نوع محیط شناور که تعریف کرده ام همان نقطه باقی مانده است. چه کنم؟

فایل کمینه هم ضمیمه شده است.

وحید دامن‌افشان

لطفاً یه فایل کمینه (ترجیحاً بدون استفاده از استایل شریف) پیوست کنین تا ببینیم مشکل از کجاست.

vafa

نقل قول از: فکورپور در می 05, 2013, 12:21:30 قبل از ظهر
من از دستور sepmark برای تغییر جداکننده از نقطه به تیره استفاده کردم. از کلاس تز شریف هم استفاده میکنم. ولی جداکننده شرح‌های دو نوع محیط شناور که تعریف کرده ام همان نقطه باقی مانده است. چه کنم؟

فایل کمینه هم ضمیمه شده است.
از بسته newfloat استفاده نکن. این بسته در حال حاضر پشتیبانی نمیشه. اگر مایل به پشتیبانی از این بسته هستی مشکل را در لینک زیر گزارش بده:

https://github.com/persian-tex/bidi/issues

فکورپور

ببخشید من متوجه نشدم که بجای بسته newfloat  از چه بسته ای استفاده کنم تا جواب بگیرم؟

vafa

نقل قول از: فکورپور در می 08, 2013, 10:18:58 بعد از ظهر
ببخشید من متوجه نشدم که بجای بسته newfloat  از چه بسته ای استفاده کنم تا جواب بگیرم؟
بقیه‌ش رو متوجه شدی؟ اصلاً احتیاجی نیست از بسته‌ای استفاده کنی. هر چند اگر خواستی بسته float هست.

فکورپور

جناب وفا
با حرف شما معلوم شد که من خیلی خارج از مسیر افتاده‌ام! پس از میدان آزادی شروع می‌کنم: من لازم دارم که علاوه بر جدول و شکل، شناورهای جدید تعریف کنم (به فرض شِما و نمودار) و علاوه بر این میخواهم که جداکننده آنها خط تیره باشد نه نقطه.
اگر میفرمایید اصلاْ از هیچ بسته ای استفاده نکنم پس چطور این شناورها را تعریف کنم؟
ببخشید که سوالم زیر ابتدایی است ولی مشکل چنین است! ;)

vafa

نقل قول از: فکورپور در می 09, 2013, 07:25:27 بعد از ظهر
جناب وفا
با حرف شما معلوم شد که من خیلی خارج از مسیر افتاده‌ام! پس از میدان آزادی شروع می‌کنم: من لازم دارم که علاوه بر جدول و شکل، شناورهای جدید تعریف کنم (به فرض شِما و نمودار) و علاوه بر این میخواهم که جداکننده آنها خط تیره باشد نه نقطه.
اگر میفرمایید اصلاْ از هیچ بسته ای استفاده نکنم پس چطور این شناورها را تعریف کنم؟
ببخشید که سوالم زیر ابتدایی است ولی مشکل چنین است! ;)

\documentclass{book}
\usepackage{xepersian}

\makeatletter
\newcounter{scheme}[chapter]
\renewcommand \thescheme
     {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@scheme}
\def\fps@scheme{thP!}
\def\ftype@scheme{3}
\def\ext@scheme{los}
\def\fnum@scheme{\schemename\nobreakspace\thescheme}
\newenvironment{scheme}
               {\@float{scheme}}
               {\end@float}
\newenvironment{scheme*}
               {\@dblfloat{scheme}}
               {\end@dblfloat}
\newcommand*{\schemename}{شمای}
\newcommand*{\listschemename}{فهرست شِماها}
\newcommand\listofschemes{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listschemename}%
      \@mkboth{%
          \MakeUppercase\listschemename}%
         {\MakeUppercase\listschemename}%
    \@starttoc{los}%
    \if@restonecol\twocolumn\fi
    }
\let\l@scheme\l@figure
\makeatother




\SepMark{-}
\begin{document}
\listofschemes
\فصل{اول}
\قسمت{بدون مشکل }
\زیرقسمت{بدون مشکل}

\شروع{figure}
\شرح{بدون مشکل}
\پایان{figure}


\شروع{scheme}
\شرح{مشکل اینجا معلوم می‌شود.}
\پایان{scheme}
\end{document}


محسن شریفی تبار

نقل قول از: فکورپور در می 09, 2013, 07:25:27 بعد از ظهر
جناب وفا
با حرف شما معلوم شد که من خیلی خارج از مسیر افتاده‌ام! پس از میدان آزادی شروع می‌کنم: من لازم دارم که علاوه بر جدول و شکل، شناورهای جدید تعریف کنم (به فرض شِما و نمودار) و علاوه بر این میخواهم که جداکننده آنها خط تیره باشد نه نقطه.
اگر میفرمایید اصلاْ از هیچ بسته ای استفاده نکنم پس چطور این شناورها را تعریف کنم؟
ببخشید که سوالم زیر ابتدایی است ولی مشکل چنین است! ;)
البته می‌توانید مسأله را به شکل زیر هم حل کنید. بایستی دستور زیر را بعد از تعریف شما قرار دهید،
\renewcommand\thescheme{\thechapter\hskip0pt-\hskip0pt\arabic{scheme}}

vafa

نقل قول از: محسن شریفی تبار در می 10, 2013, 08:50:40 قبل از ظهر
البته می‌توانید مسأله را به شکل زیر هم حل کنید. بایستی دستور زیر را بعد از تعریف شما قرار دهید،
\renewcommand\thescheme{\thechapter\hskip0pt-\hskip0pt\arabic{scheme}}

این روش مشکلی دارد. البته مشکل را یادم نیست اما یادم هست که دو سال پیش آقای دامن‌افشان این مشکل را گزارش کرده بودند.

vafa

نقل قول از: وفا کارن‌پهلو در می 10, 2013, 09:50:03 قبل از ظهر
این روش مشکلی دارد. البته مشکل را یادم نیست اما یادم هست که دو سال پیش آقای دامن‌افشان این مشکل را گزارش کرده بودند.
پست زیر در رابطه با مشکلی هست که اشاره کردم:

http://www.parsilatex.com/forum/SMF/index.php?topic=1305.0

محسن شریفی تبار

بسیار خوب، منطقی هم هست. یعنی استفاده از hskip می‌تواند باعث شکسته شدن در جای نامناسب باشد. من نحوه تعریف را در bidi دوباره نگاه کردم. با این حساب در موارد این‌چنینی، آیا استفاده از نیم‌فاصله در تعریف بالا به جای hskip، راه حل درستی است یا باز هم مشکلی دارد؟

vafa

نقل قول از: Mohsen SHARIFI TABAR در می 16, 2013, 07:33:49 قبل از ظهر
بسیار خوب، منطقی هم هست. یعنی استفاده از hskip می‌تواند باعث شکسته شدن در جای نامناسب باشد. من نحوه تعریف را در bidi دوباره نگاه کردم. با این حساب در موارد این‌چنینی، آیا استفاده از نیم‌فاصله در تعریف بالا به جای hskip، راه حل درستی است یا باز هم مشکلی دارد؟
نباید بی مشکل باشد. چرا از تعریف زیر استفاده نمی‌کنید:

\makeatletter
\renewcommand\thescheme{\thechapter\@SepMark\arabic{scheme}}
\makeatother

محسن شریفی تبار

نقل قول از: وفا کارن‌پهلو در می 16, 2013, 07:46:25 قبل از ظهر
نباید بی مشکل باشد. چرا از تعریف زیر استفاده نمی‌کنید:

\makeatletter
\renewcommand\thescheme{\thechapter\@SepMark\arabic{scheme}}
\makeatother

مسأله اینجاست که مثلا خودم در پایان‌نامه دکتری، به شکل معمول از نقطه برای جداسازی استفاده می‌کردم، اما می‌خواستم جداساز در شماره section ها، علامت خط تیره باشد. برای این منظور، عوض کردن متوالی تعریف SepMark منطقی نبود و فکر کنم کار هم نکند. لذا تعریف thesection را مشابه بالا عوض کردم. فکر نمی‌کنم در bidi قرار دادن امکان اینکه چند نوع علامت جداساز داشته باشیم، منطقی باشد. اما راه حل درست در موارد این‌چنینی، آیا همین روش مورد استفاده بنده است؟ از این نظر که ساده است و به نوعی برای هر حالت دیگر هم مشابه همین است و فقط یک تعریف جدید باید صورت بگیرد.

vafa

نقل قول از: Mohsen SHARIFI TABAR در می 16, 2013, 08:11:16 قبل از ظهر
مسأله اینجاست که مثلا خودم در پایان‌نامه دکتری، به شکل معمول از نقطه برای جداسازی استفاده می‌کردم، اما می‌خواستم جداساز در شماره section ها، علامت خط تیره باشد. برای این منظور، عوض کردن متوالی تعریف SepMark منطقی نبود و فکر کنم کار هم نکند. لذا تعریف thesection را مشابه بالا عوض کردم. فکر نمی‌کنم در bidi قرار دادن امکان اینکه چند نوع علامت جداساز داشته باشیم، منطقی باشد. اما راه حل درست در موارد این‌چنینی، آیا همین روش مورد استفاده بنده است؟ از این نظر که ساده است و به نوعی برای هر حالت دیگر هم مشابه همین است و فقط یک تعریف جدید باید صورت بگیرد.

\documentclass{book}
\usepackage{xepersian}
\makeatletter
\newcount\my@sec@level
\def\@sect#1#2#3#4#5#6[#7]#8{%
\my@sec@level=#2%
  \ifnum #2>\c@secnumdepth
    \let\@svsec\@empty
  \else
    \refstepcounter{#1}%
    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
  \fi
  \@tempskipa #5\relax
  \ifdim \@tempskipa>\z@
    \begingroup
      #6{%
        \@hangfrom{\hskip #3\relax\@svsec}%
          \interlinepenalty \@M #8\@@par}%
    \endgroup
    \csname #1mark\endcsname{#7}%
    \addcontentsline{toc}{#1}{%
      \ifnum #2>\c@secnumdepth \else
        \protect\numberline{\csname the#1\endcsname}%
      \fi
      #7}%
  \else
    \def\@svsechd{%
      #6{\hskip #3\relax
      \@svsec #8}%
      \csname #1mark\endcsname{#7}%
      \addcontentsline{toc}{#1}{%
        \ifnum #2>\c@secnumdepth \else
          \protect\numberline{\csname the#1\endcsname}%
        \fi
        #7}}%
  \fi
  \@xsect{#5}}
\SepMark{\ifnum\my@sec@level=\@ne -\else .\fi}
\makeatother
\begin{document}
\chapter{}
\section{}
\subsection{}
\end{document}