سلام، لطفا وارد شوید یا عضو شوید.

نویسنده موضوع: تولید نمایه با یک کد خاص به جای شماره صفحه.  (دفعات بازدید: 10371 بار)

آفلاین فرشاد ترابی

  • مدیر تالار
  • Hero Member
  • **
  • تشکر
  • -اهدا شده: 204
  • -دریافت شده: 474
  • ارسال: 1,779
    • ديدن مشخصات
با سلام خدمت دوستان گرامی
به عکس پیوست دقت کنید. دوتا مقاله در یک صفحه وجود داره که خود صفحه به جای شماره‌ی صفحه دارای یک کد هست که در بالا سمت راست دورش را با رنگ سبز مشخص کردم.
همچنین به ازای هر مقاله یک شمارنده‌ به کد بالا اضافه میشه که آنها را نیز با رنگ قرمز مشخص کردم.
حالا سوال این است. من می‌خواهم برای این مجله نمایه تولید کنم (کلام مجله انگلیسی است و نمایه را با MakeIndex تولید می‌کنم). اما چون مقاله شماره صفحه نداره،
می‌خواهم که به جای شماره صفحه کدهای قرمز رنگ در نمایه ظاهر بشه. خودم فکر کردم اگر دستور \thepage‌ را عوض کنم می‌شه این کار را انجام بدم. اما در فایل
کمینه که ساختم این اتفاق نمیفته. دوستان لطفا راهنمایی کنید.

با تشکر

آفلاین فرشاد ترابی

  • مدیر تالار
  • Hero Member
  • **
  • تشکر
  • -اهدا شده: 204
  • -دریافت شده: 474
  • ارسال: 1,779
    • ديدن مشخصات
تا اینجاش رو پیش رفتم که باید نحوه نگارش صفحه در فایل را عوض کرد که ظاهرا با بسته imakeidx براحتی مطابق فایل پیوست می‌شه این کار را انجام داد.
اما ظاهرا MakeIndex‌ فقط روی اعداد مثبت عمل می‌کنه و بنابراین هنگامی که فایل MakeIndex  را پردازش می‌کنیم آنچه که در فایل .idx  پیوست مشاهده می‌شه
به صورت درستی پردازش نشده و فایل .ind‌ مطابق آنچه که پیوست شده، یک فایل اشتباه هست. راه حل هم این است که با xindy  این مسأله حل بشه.
اگر دوستان می‌توانند در مورد xindy  کمک کنند ممنون می‌شوم چون روشی که در این صفحه بیان شده را متوجه نمی‌شوم.

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
دوتا مقاله در یک صفحه وجود داره که خود صفحه به جای شماره‌ی صفحه دارای یک کد هست که در بالا سمت راست دورش را با رنگ سبز مشخص کردم.
آیا منظور شما اینه که مثلاً صفحه اول A1 است، صفحه دوم A2 و بصورت کلی صفحه kام Ak?
نقل قول
می‌خواهم که به جای شماره صفحه کدهای قرمز رنگ در نمایه ظاهر بشه. خودم فکر کردم اگر دستور \thepage‌ را عوض کنم می‌شه این کار را انجام بدم. اما در فایل
کمینه که ساختم این اتفاق نمیفته. دوستان لطفا راهنمایی کنید.
اگر فهم من از ماره صفحه در سوالی که کردم درست باشد، شما نمی‌خواهید شماره صفحه در نمایه ظاهر شود بله می‌خواهید شماره مقاله در نمایه ظاهر شود مثلاً اگر مقاله‌اولی در نمایه بود روبرویش می‌خواهید A3.1 باشه، درسته؟ در اینصورت باید تعریف دستور \index را عوض کنید و یا دستور جدیدی تعریف کنید. احتمالاً نیاز باشه که یک استایل جدید makeindex یا xindy هم بنویسید.

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
نمونه زیر را ساختم که برای من مشکلی ندارد:
\documentclass{article}
\usepackage{zref-perpage}
\renewcommand*{\thepage}{A\arabic{page}}
\usepackage{makeidx}
\makeindex
\newcounter{myarticle}
\zmakeperpage{myarticle}
\renewcommand*{\themyarticle}{A\arabic{page}.\arabic{myarticle}}
\newenvironment{myarticle}{%
\refstepcounter{myarticle}
\textbf{Article Number \themyarticle}
}{}

\makeatletter
\def\@wrindex#1{%
   \protected@write\@indexfile{}%
      {\string\indexentry{#1}{\themyarticle}}%
 \endgroup
 \@esphack}
\makeatother

\begin{document}
\begin{myarticle}
This is the first article on the first page\index{About}
\end{myarticle}


\bigskip
\begin{myarticle}
This is the second article on the first page \index{test}
\end{myarticle}

\newpage
\begin{myarticle}
This is the first article on the second page\index{boat}
\end{myarticle}

\bigskip
\begin{myarticle}
This is the second article on the second page \index{golf}
\end{myarticle}


\newpage
\begin{myarticle}
This is the first article on the third page\index{zebra} \index{yard}
\end{myarticle}

\bigskip
\begin{myarticle}
This is the second article on the third page \index{xeroxes}\index{polynomial}
\end{myarticle}

\printindex
\end{document}

در این نمونه من از makeindex استفاده کردم.

فرضیات من در این نمونه:

۱) تعداد دو مقاله یا بیشتر (هر تعداد که صفحه جا داشته باشد) در یک صفحه ظاهر می‌شود.

۲) شماره مقاله در هر صفحه reset می‌شود.

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
در نمونه‌ای که فرستادم، اگر \index تکراری در دو سه جا باشد، فقط \index اولی چاپ خواهد شد. متأسفانه makeindex به قدری باز نیست که بتوان همه چیز را تغییر داد. اما با xindy میشه. کافی است یک فایل به نام myarticle.xdy با محتویات زیر ایجاد کنید:
(define-location-class "myarticle-numbers" ("ALPHA" "arabic-numbers" :sep "." "arabic-numbers"))
کد بالا برای زیندی تعریف می‌کنه که شماره مقاله از یک A ، یک عدد، نقطه و یک عدد تشکیل شده است. این باعث میشه تا زیندی شماره‌ها رو بفهمه و خطا نده. برای گرفتن فایل .ind هم دستور زیر رو اجرا باید کنید:
xindy -L english -C utf8 -M texindy -M page-ranges -M myarticle filename.idx

آفلاین فرشاد ترابی

  • مدیر تالار
  • Hero Member
  • **
  • تشکر
  • -اهدا شده: 204
  • -دریافت شده: 474
  • ارسال: 1,779
    • ديدن مشخصات
جناب آقای کارن‌پهلو
با تشکر از شما مشکل من حل شد. البته به علت کسالت شخصی مدتی طول کشید تا از زحمات شما تشکر کنم. امیدوارم هرکجا که هستید همواره سلامت باشید.

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
امیدوارم هر چه زودتر سلامتی خود را بدست بیاورید.

آفلاین فرشاد ترابی

  • مدیر تالار
  • Hero Member
  • **
  • تشکر
  • -اهدا شده: 204
  • -دریافت شده: 474
  • ارسال: 1,779
    • ديدن مشخصات
ممنون از شما
یک سوال دیگر هم در این زمینه داشتم. الان تگ‌هایی که در مقاله وجود داره به سه فرمت هست یعنی
1. بعضی‌ها دقیقا مشابه با آن چیزی هستند که شما درست کردید یعنی A1.1  الی آخر
2. بعضی‌ها دارای دو حرف هستند یعنی Th.1 و Th.2  و الی آخری
3. بعضی‌ها دارای حروف بیشتر هستند یعنی Poster.1 و Poster.2 و الی آخر

وقتی از دستور فوق در زیندی استفاده می‌شه، کلا فقط حالت اول را مرتب می‌کند. برای آنکه هر سه حالت شامل بشه باید چکار کرد؟

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
در نمونه‌ای که من فرستادم شماره مقاله می‌توانست A2.1 باشد. با مثال شما آیا شماره مقاله Th2.1 و Poster2.1 می‌تواند باشد؟ ترتیب دقیق شماره‌گذاری چگونه است؟

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
اگر محتوای فایل myarticly.xdy رو به کد زیر تغییر بدهید نباید مشکلی داشته باشید. البته امیدوارم نظور شما رو اشتباه متوجه نشدم باشم:
(define-location-class "myarticle-numbers-i" ("ALPHA" "arabic-numbers" :sep "." "arabic-numbers"))
(define-location-class "myarticle-numbers-ii" ("ALPHA"  :sep "." "arabic-numbers"))

آفلاین فرشاد ترابی

  • مدیر تالار
  • Hero Member
  • **
  • تشکر
  • -اهدا شده: 204
  • -دریافت شده: 474
  • ارسال: 1,779
    • ديدن مشخصات
این سه نوع هستند

Type 1:  A1.1, A1.2, A1.3 ....  B1.1, B1.2, B1.3 .... B2.1, B2.2 ....
Type 2:  Th1.1, Th1.2, Th1.3 ....  We1.1, We1.2 ....We2.1, We.2, ...
Type 3:  Poster.1, Poster.2, Poster.3 ....
در حال حاضر نوع 1 کاملا پوشش داده میشه چون از قانون پیروی میکنه. یعنی یک حرف یک عدد یک نقطه و یک عدد.
اما اگر دو حرف یا بیشتر پشت سرهم باشه قاطی میکنه. سعی کردم دوتا قانون تعریف کنم ولی هیچ تغییری انجام نداد.
اگر یک راهنمایی کوچک بفرمایید که هر قسمت این خط زیندی چه مفهومی داره و گزینه‌هاش را از کجا می‌شه مطالعه کرد و یاد گرفت ممنون می‌شم.

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات

آفلاین فرشاد ترابی

  • مدیر تالار
  • Hero Member
  • **
  • تشکر
  • -اهدا شده: 204
  • -دریافت شده: 474
  • ارسال: 1,779
    • ديدن مشخصات
ممنون از راهنمایی شما
من متوجه شدم که باید از define-alphabet برای تعریف تگ‌ها و شمارنده استفاده کنم. امروز از کنفرانس با من تماس گرفتند و گفتند که شکل تگ‌ها عوض شده و
به دو صورت در آمده
1. سه حرف و یک عدد مثل ThD1.1 و الی آخر
2. فقط کمله Poster به صورت Poster.1 و الی آخر
من با توجه به لینکی که شما دادید فرمت فایل پیوست را نوشتم، از آنجا که بعد از Poster  قرار نیست عددی باشد، در تعریف "digits" یک "" هم قرار دادم اما عمل نمی‌کنه
از آنجا که وقت کمی داشتم، به فکرم رسید که کلا بیخیال عدد چهارم در فرمت بالا بشم و تمامی حالات ممکنه را دستی بنویسم که در فایل هم مشاهده می‌شود.
این روش اگرچه جواب می‌دهد و مشکل من را در این مدت کوتاه حل می‌کند اما راه اصولی نیست. چطور می‌شه به زیندی فهموند که بعد از "tags"  مکنه یک عدد باشه
و ممکنه نباشه؟

برای بررسی کل فایل idx  به همراه xdy  را ارسال کردم.

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
چطور می‌شه به زیندی فهموند که بعد از "tags"  مکنه یک عدد باشه
و ممکنه نباشه؟.
دو تا location-class تعریف می‌کنید: یکی با عدد و دیگری بدون عدد.

آفلاین فرشاد ترابی

  • مدیر تالار
  • Hero Member
  • **
  • تشکر
  • -اهدا شده: 204
  • -دریافت شده: 474
  • ارسال: 1,779
    • ديدن مشخصات
بله درست شد. فقط می‌شه توضیح بدید که چرا در "digits"  حرف تهی یا "" نمی‌تونه وجود داشته باشه؟ به همین علت که تهی هست؟

 

تغییر جداکننده مدخل و شماره صفحه در نمایه

نویسنده Mohsen Avajiانجمن نمایه‌ساز MakeIndex

پاسخ ها: 1
مشاهده: 3682
آخرين ارسال ژوئیه 03, 2014, 01:56:51 am
توسط ابوالفضل دیانت
رنگی کردن شماره صفحات در نمایه

نویسنده محمد چهارسوقیانجمن نمایه‌ساز MakeIndex

پاسخ ها: 2
مشاهده: 7581
آخرين ارسال اكتبر 17, 2009, 09:05:16 pm
توسط وحید دامن‌افشان
جابجا کردن جای عنوان قسمت و شماره صفحه در بالای هر صفحه

نویسنده ir1979انجمن انجمن تازه‌کاران

پاسخ ها: 2
مشاهده: 3752
آخرين ارسال آوریل 06, 2010, 10:17:36 am
توسط وحید دامن‌افشان
نحوه ریست کردن شماره‌ی پانویس‌ها در هر صفحه

نویسنده ir1979انجمن انجمن تازه‌کاران

پاسخ ها: 1
مشاهده: 4863
آخرين ارسال آوریل 03, 2010, 09:51:30 am
توسط محمود امین‌طوسی
عدم نمایش شماره صفحه دربرگ اول فصل

نویسنده shfprانجمن انجمن تازه‌کاران

پاسخ ها: 1
مشاهده: 5352
آخرين ارسال ژوئیه 21, 2010, 09:46:08 am
توسط هادی صفی‌اقدم
سربرگ با خط افقی واصل عنوان فصل و شماره صفحه

نویسنده هادی صفی‌اقدمانجمن طراحی صفحه

پاسخ ها: 34
مشاهده: 19571
آخرين ارسال سپتامبر 01, 2014, 12:12:44 am
توسط lolipopkitty
تولید شماره برای فرمول

نویسنده taherkhaniانجمن ریاضیات و علوم

پاسخ ها: 4
مشاهده: 3298
آخرين ارسال اوت 19, 2010, 11:12:46 am
توسط سید مهدی موسوی
چگونگی طراحی صفحه‌ی نمایه یک‌ستونه

نویسنده maralانجمن نمایه‌ساز MakeIndex

پاسخ ها: 5
مشاهده: 6904
آخرين ارسال آوریل 16, 2011, 01:19:14 pm
توسط وحید دامن‌افشان