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

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

شماره گذاری جدید تعریف شده در label در محیط enumerate اعمال نمی شود

نویسنده aris852963, فبریه 02, 2013, 01:19:36 بعد از ظهر

« قبلی - بعدی »

aris852963

من با استفاده از بسته enumitem لیبل های موارد رو در محیط enumerate تغییر می دهم. مثلا اونو roman قرار می دهم. این کار مشکلی ندارد. اما وقتی یک شماره گذاری جدید تعریف می کنم نمی تونم این شماره ها رو به لیبل در محیط enumerate بدهم.  این در حالی است که شماره صفحه رو می تونم با اون شماره گذاری جدید تغییر بدم.

vafa

این شمارنده قبلاً در زی‌پرشین تعریف شده بنابراین  احتیاجی به تعریف شما نیست. بجای \mynum از دستور \tartibi استفاده کن.

aris852963

من منظورم این شمارنده نیست. منظورم اینه که کلا یک شمارنده از نو تعریف بشه.

vafa


\documentclass{report}
\usepackage{enumitem}
\usepackage{xepersian}
\makeatletter
\def\@mynum#1{\ifcase#1\or اولی\or دومی\or سومی\or چهارمی\or پنجمی\or ششمی\or هفتمی\or هشتمی\or نهمی\or دهمی\else\@ctrerr\fi}
\def\mynum#1{\expandafter\@mynum\csname c@#1\endcsname}
\AddEnumerateCounter\mynum\@mynum{پنجمی}
\SetEnumerateShortLabel{اولی}{\mynum*}
\makeatother
\begin{document}
\begin{enumerate}[label={.\roman*}]
\item
\item
\end{enumerate}
\begin{enumerate}[label={.\mynum*}]
\item
\item
\end{enumerate}
\pagenumbering{mynum}
\end{document}

برای تعریف شمارنده جدید تنها تعریف \@mynum کافی نیست بلکه باید دستور \mynum هم تعریف بشه. علاوه بر این زمانی که از بسته enumitem استفاده می‌کنی باید از دستورات \AddEnumerateCounter و \SetEnumerateShortLabel که دستورات خاص بسته enumitem هستند استفاده کنی.

یادآوری می‌کنم که بسته enumitem توسط زی‌پرشین پشتیبانی نمی‌شود.