تالار گفتگوی پارسیلاتک
لاتک LATEX => حروفچینی مستندات => نويسنده: aris852963 در فوریه 02, 2013, 01:19:36 pm
-
من با استفاده از بسته enumitem لیبل های موارد رو در محیط enumerate تغییر می دهم. مثلا اونو roman قرار می دهم. این کار مشکلی ندارد. اما وقتی یک شماره گذاری جدید تعریف می کنم نمی تونم این شماره ها رو به لیبل در محیط enumerate بدهم. این در حالی است که شماره صفحه رو می تونم با اون شماره گذاری جدید تغییر بدم.
-
این شمارنده قبلاً در زیپرشین تعریف شده بنابراین احتیاجی به تعریف شما نیست. بجای \mynum از دستور \tartibi استفاده کن.
-
من منظورم این شمارنده نیست. منظورم اینه که کلا یک شمارنده از نو تعریف بشه.
-
\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 توسط زیپرشین پشتیبانی نمیشود.