تالار گفتگوی پارسی‌لاتک

لاتک LATEX => حروف‌چینی مستندات => نويسنده: aris852963 در فوریه 02, 2013, 01:19:36 pm

عنوان: شماره گذاری جدید تعریف شده در label در محیط enumerate اعمال نمی شود
رسال شده توسط: aris852963 در فوریه 02, 2013, 01:19:36 pm
من با استفاده از بسته enumitem لیبل های موارد رو در محیط enumerate تغییر می دهم. مثلا اونو roman قرار می دهم. این کار مشکلی ندارد. اما وقتی یک شماره گذاری جدید تعریف می کنم نمی تونم این شماره ها رو به لیبل در محیط enumerate بدهم.  این در حالی است که شماره صفحه رو می تونم با اون شماره گذاری جدید تغییر بدم.
عنوان: پاسخ : شماره گذاری جدید تعریف شده در label در محیط enumerate اعمال نمی شود
رسال شده توسط: vafa در فوریه 02, 2013, 01:39:38 pm
این شمارنده قبلاً در زی‌پرشین تعریف شده بنابراین  احتیاجی به تعریف شما نیست. بجای \mynum از دستور \tartibi استفاده کن.
عنوان: پاسخ : شماره گذاری جدید تعریف شده در label در محیط enumerate اعمال نمی شود
رسال شده توسط: aris852963 در فوریه 02, 2013, 01:45:34 pm
من منظورم این شمارنده نیست. منظورم اینه که کلا یک شمارنده از نو تعریف بشه.
عنوان: پاسخ : شماره گذاری جدید تعریف شده در label در محیط enumerate اعمال نمی شود
رسال شده توسط: vafa در فوریه 02, 2013, 01:56:04 pm
\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 توسط زی‌پرشین پشتیبانی نمی‌شود.