تالار گفتگوی پارسیلاتک
لاتک LATEX => سبک نوشتار => نويسنده: فکورپور در مه 05, 2013, 12:21:30 am
-
من از دستور sepmark برای تغییر جداکننده از نقطه به تیره استفاده کردم. از کلاس تز شریف هم استفاده میکنم. ولی جداکننده شرحهای دو نوع محیط شناور که تعریف کرده ام همان نقطه باقی مانده است. چه کنم؟
فایل کمینه هم ضمیمه شده است.
-
لطفاً یه فایل کمینه (ترجیحاً بدون استفاده از استایل شریف) پیوست کنین تا ببینیم مشکل از کجاست.
-
من از دستور sepmark برای تغییر جداکننده از نقطه به تیره استفاده کردم. از کلاس تز شریف هم استفاده میکنم. ولی جداکننده شرحهای دو نوع محیط شناور که تعریف کرده ام همان نقطه باقی مانده است. چه کنم؟
فایل کمینه هم ضمیمه شده است.
از بسته newfloat استفاده نکن. این بسته در حال حاضر پشتیبانی نمیشه. اگر مایل به پشتیبانی از این بسته هستی مشکل را در لینک زیر گزارش بده:
https://github.com/persian-tex/bidi/issues
-
ببخشید من متوجه نشدم که بجای بسته newfloat از چه بسته ای استفاده کنم تا جواب بگیرم؟
-
ببخشید من متوجه نشدم که بجای بسته newfloat از چه بسته ای استفاده کنم تا جواب بگیرم؟
بقیهش رو متوجه شدی؟ اصلاً احتیاجی نیست از بستهای استفاده کنی. هر چند اگر خواستی بسته float هست.
-
جناب وفا
با حرف شما معلوم شد که من خیلی خارج از مسیر افتادهام! پس از میدان آزادی شروع میکنم: من لازم دارم که علاوه بر جدول و شکل، شناورهای جدید تعریف کنم (به فرض شِما و نمودار) و علاوه بر این میخواهم که جداکننده آنها خط تیره باشد نه نقطه.
اگر میفرمایید اصلاْ از هیچ بسته ای استفاده نکنم پس چطور این شناورها را تعریف کنم؟
ببخشید که سوالم زیر ابتدایی است ولی مشکل چنین است! ;)
-
جناب وفا
با حرف شما معلوم شد که من خیلی خارج از مسیر افتادهام! پس از میدان آزادی شروع میکنم: من لازم دارم که علاوه بر جدول و شکل، شناورهای جدید تعریف کنم (به فرض شِما و نمودار) و علاوه بر این میخواهم که جداکننده آنها خط تیره باشد نه نقطه.
اگر میفرمایید اصلاْ از هیچ بسته ای استفاده نکنم پس چطور این شناورها را تعریف کنم؟
ببخشید که سوالم زیر ابتدایی است ولی مشکل چنین است! ;)
\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}
-
جناب وفا
با حرف شما معلوم شد که من خیلی خارج از مسیر افتادهام! پس از میدان آزادی شروع میکنم: من لازم دارم که علاوه بر جدول و شکل، شناورهای جدید تعریف کنم (به فرض شِما و نمودار) و علاوه بر این میخواهم که جداکننده آنها خط تیره باشد نه نقطه.
اگر میفرمایید اصلاْ از هیچ بسته ای استفاده نکنم پس چطور این شناورها را تعریف کنم؟
ببخشید که سوالم زیر ابتدایی است ولی مشکل چنین است! ;)
البته میتوانید مسأله را به شکل زیر هم حل کنید. بایستی دستور زیر را بعد از تعریف شما قرار دهید،
\renewcommand\thescheme{\thechapter\hskip0pt-\hskip0pt\arabic{scheme}}
-
البته میتوانید مسأله را به شکل زیر هم حل کنید. بایستی دستور زیر را بعد از تعریف شما قرار دهید،
\renewcommand\thescheme{\thechapter\hskip0pt-\hskip0pt\arabic{scheme}}
این روش مشکلی دارد. البته مشکل را یادم نیست اما یادم هست که دو سال پیش آقای دامنافشان این مشکل را گزارش کرده بودند.
-
این روش مشکلی دارد. البته مشکل را یادم نیست اما یادم هست که دو سال پیش آقای دامنافشان این مشکل را گزارش کرده بودند.
پست زیر در رابطه با مشکلی هست که اشاره کردم:
http://www.parsilatex.com/forum/SMF/index.php?topic=1305.0
-
بسیار خوب، منطقی هم هست. یعنی استفاده از hskip میتواند باعث شکسته شدن در جای نامناسب باشد. من نحوه تعریف را در bidi دوباره نگاه کردم. با این حساب در موارد اینچنینی، آیا استفاده از نیمفاصله در تعریف بالا به جای hskip، راه حل درستی است یا باز هم مشکلی دارد؟
-
بسیار خوب، منطقی هم هست. یعنی استفاده از hskip میتواند باعث شکسته شدن در جای نامناسب باشد. من نحوه تعریف را در bidi دوباره نگاه کردم. با این حساب در موارد اینچنینی، آیا استفاده از نیمفاصله در تعریف بالا به جای hskip، راه حل درستی است یا باز هم مشکلی دارد؟
نباید بی مشکل باشد. چرا از تعریف زیر استفاده نمیکنید:
\makeatletter
\renewcommand\thescheme{\thechapter\@SepMark\arabic{scheme}}
\makeatother
-
نباید بی مشکل باشد. چرا از تعریف زیر استفاده نمیکنید:
\makeatletter
\renewcommand\thescheme{\thechapter\@SepMark\arabic{scheme}}
\makeatother
مسأله اینجاست که مثلا خودم در پایاننامه دکتری، به شکل معمول از نقطه برای جداسازی استفاده میکردم، اما میخواستم جداساز در شماره section ها، علامت خط تیره باشد. برای این منظور، عوض کردن متوالی تعریف SepMark منطقی نبود و فکر کنم کار هم نکند. لذا تعریف thesection را مشابه بالا عوض کردم. فکر نمیکنم در bidi قرار دادن امکان اینکه چند نوع علامت جداساز داشته باشیم، منطقی باشد. اما راه حل درست در موارد اینچنینی، آیا همین روش مورد استفاده بنده است؟ از این نظر که ساده است و به نوعی برای هر حالت دیگر هم مشابه همین است و فقط یک تعریف جدید باید صورت بگیرد.
-
مسأله اینجاست که مثلا خودم در پایاننامه دکتری، به شکل معمول از نقطه برای جداسازی استفاده میکردم، اما میخواستم جداساز در شماره 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}