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

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

چگونگی نمایه شدن کلمات (عبارات) مشابه به صورت خودکار در متن

نویسنده وحید دامن‌افشان, سپتامبر 27, 2012, 10:17:24 قبل از ظهر

« قبلی - بعدی »

وحید دامن‌افشان

فرض کنید که در متنی، کلمه «درود» چندین بار در صفحات مختلف بکار رفته. اولین مورد رو با دستور
\index{درود}
نمایه می‌کنیم. چطور می‌شه کاری کنیم که بقیه موارد هم به طور خودکار نمایه بشن؟ بدیهیه که این کار باید طوری طراحی بشه که دقیقاً کلمه «درود» رو نمایه کنه و مشتقات اون مثل «درودها»، «درودی» و ... نمایه نشن.
در ضمن، چون ممکنه بعضی وقت‌ها بخوایم که این نمایه شدن خودکار رو برای کلمه خاصی بکار نبریم، بهتره که از دستور \index استفاده نشه و یه دستور جدید مثل \rindex برای این کار تعریف بشه.
برای راحتی کار، یه فایل ساده هم پیوست کردم.

vafa


حسن ذاکری

نقل قول از: وحید دامن‌افشان در سپتامبر 27, 2012, 10:17:24 قبل از ظهر
فرض کنید که در متنی، کلمه «درود» چندین بار در صفحات مختلف بکار رفته. اولین مورد رو با دستور
\index{درود}
نمایه می‌کنیم. چطور می‌شه کاری کنیم که بقیه موارد هم به طور خودکار نمایه بشن؟ بدیهیه که این کار باید طوری طراحی بشه که دقیقاً کلمه «درود» رو نمایه کنه و مشتقات اون مثل «درودها»، «درودی» و ... نمایه نشن.
در ضمن، چون ممکنه بعضی وقت‌ها بخوایم که این نمایه شدن خودکار رو برای کلمه خاصی بکار نبریم، بهتره که از دستور \index استفاده نشه و یه دستور جدید مثل \rindex برای این کار تعریف بشه.
برای راحتی کار، یه فایل ساده هم پیوست کردم.

سلام
نمایه باید به طور هوشمندانه و توسط نویسنده تولید بشه، این شکل نمایه کردن که کلیه تکرارهای یک واژه رو ایندکس کنید،‌ تقریباً کل نمایه شما رو بی‌مصرف می‌کنه.
لطفاً صفحه قوانین تالار را مطالعه فرمایید، بخصوص اگر اولین ارسال‌هایتان را انجام می‌دهید.
به سوالی که مطابق با قوانین پرسیده نشود، جوابی داده نخواهد شد.

در صورتی که به تازگی عضو تالار شده‌اید، در صفحه معرفی اعضای جدید برای شما ایجاد شده است.

Mohsen Avaji

سلام
آقای دکتر کارن‌پهلو اگه ممکنه لطفا راجع به بسته xeindex بیشتر توضیح بدین.
سپاسگزارم.
نخستین نشانه فساد ترک صداقت است. (میشل دو مونتی)

وحید دامن‌افشان

نقل قول از: حسن ذاکری در سپتامبر 27, 2012, 11:53:57 قبل از ظهر
سلام
نمایه باید به طور هوشمندانه و توسط نویسنده تولید بشه، این شکل نمایه کردن که کلیه تکرارهای یک واژه رو ایندکس کنید،‌ تقریباً کل نمایه شما رو بی‌مصرف می‌کنه.
با شما کاملاً موافقم. اما اگه به سوالم دقت کنین، من فقط برای بعضی از واژه‌ها می‌خوام این کار رو انجام بدم. در ضمن، بعضی وقت‌ها آدم مجبور می‌شه یه کاری رو انجام بده. ;D

vafa

نقل قول از: Mohsen Avaji در سپتامبر 27, 2012, 12:35:09 بعد از ظهر
سلام
آقای دکتر کارن‌پهلو اگه ممکنه لطفا راجع به بسته xeindex بیشتر توضیح بدین.
سپاسگزارم.
راهنمای بسته xeindex را نگاه کنید، به اندازه کافی روش هست. اگر بعد از خواندنش یاز هم سوالی داشتید در خدمتم.

Mohsen Avaji

سلام
من نتونستم با xeindex کار کنم (با پیغام خطا مواجه میشدم) اگر براتون امکان داره یه فایل نمونه بذارین.
سپاسگزارم
نخستین نشانه فساد ترک صداقت است. (میشل دو مونتی)

vafa

نقل قول از: Mohsen Avaji در اکتبر 16, 2012, 01:35:24 قبل از ظهر
سلام
من نتونستم با xeindex کار کنم (با پیغام خطا مواجه میشدم) اگر براتون امکان داره یه فایل نمونه بذارین.
سپاسگزارم
چیزی رو که انجام دادی اما جواب نداده نشون بده.

Mohsen Avaji

سلام
در فایل ضمیمه شده بسته xeindex فراخونی شده، کلمه "دکارت" نمایه کردم ولی در نمایه جلوی این کلمه فقط شماره صفحه 1 ظاهر میشه و اثری از شماره بقیه صغحات نیست در حالی که کلمه دکارت در چند صفحه تکرار شده. ایراد کار منو میشه لطف کنید بگین. سپاسگزارم.
نخستین نشانه فساد ترک صداقت است. (میشل دو مونتی)

vafa

نقل قول از: Mohsen Avaji در اکتبر 16, 2012, 12:12:27 بعد از ظهر
سلام
در فایل ضمیمه شده بسته xeindex فراخونی شده، کلمه "دکارت" نمایه کردم ولی در نمایه جلوی این کلمه فقط شماره صفحه 1 ظاهر میشه و اثری از شماره بقیه صغحات نیست در حالی که کلمه دکارت در چند صفحه تکرار شده. ایراد کار منو میشه لطف کنید بگین. سپاسگزارم.
راهنمای بسته xeindex را حتی یک بار هم نخوانده‌ای.این همه راهنمایی است که می‌توانم بکنم.

vafa


\documentclass[openany,12pt,a4paper]{book}
\usepackage{xeindex}
\makeindex
\IndexList{mylist}{باستان, دکارت, زوج, فضا, هندسه, مماس, دیفرانسیل,  مساحت}
\usepackage{xepersian}

\begin{document}
\chapter{اول}
\section{مقدمه تاریخی}
ایده‌ی استفاده از اعداد برای مکان‌یابی نقاط روی‌یک خط به دوره‌ی‌یونان باستان برمی‌گردد. در قرن هفدهم
رنه دکارت این نظریه را مبنی بر استفاده از‌یک زوج عدد برای نمایش نقاط در صفحه و سه تایی‌هایی از اعداد برای نمایش نقاط در فضا بیان کرد. سپس در حین کار با هندسه تحلیلی مواجه شد که در آن خواص اشکال هندسی بصورت روابط جبری شامل مختصات بیان می‌شود.

در تاریخ آنها، هندسه تحلیلی و حساب دیفرانسیل بطور نزدیکی با هم در ارتباط هستند بطوریکه هر اکتشافی در ‌یکی از این زمینه‌ها منجر به پیشرفتی در زمینه دیگر می‌شد. مسأله رسم مماس بر منحنی منجر به توسعه حساب دیفرانسیل شد و مسأله محاسبه مساحت نواحی از صفحه با مرز منحنی موجب توسعه حساب انتگرال گردید.

\chapter{دوم}
\section{مقدمه تاریخی}
ایده‌ی استفاده از اعداد برای مکان‌یابی نقاط روی‌یک خط به دوره‌ی‌یونان باستان برمی‌گردد. در قرن هفدهم
رنه دکارت این نظریه را مبنی بر استفاده از‌یک زوج عدد برای نمایش نقاط در صفحه و سه تایی‌هایی از اعداد برای نمایش نقاط در فضا بیان کرد. سپس در حین کار با هندسه تحلیلی مواجه شد که در آن خواص اشکال هندسی بصورت روابط جبری شامل مختصات بیان می‌شود.

در تاریخ آنها، هندسه تحلیلی و حساب دیفرانسیل بطور نزدیکی با هم در ارتباط هستند بطوریکه هر اکتشافی در ‌یکی از این زمینه‌ها منجر به پیشرفتی در زمینه دیگر می‌شد. مسأله رسم مماس بر منحنی منجر به توسعه حساب دیفرانسیل شد و مسأله محاسبه مساحت نواحی از صفحه با مرز منحنی موجب توسعه حساب انتگرال گردید.
\chapter{سوم}
\section{مقدمه تاریخی}
ایده‌ی استفاده از اعداد برای مکان‌یابی نقاط روی‌یک خط به دوره‌ی‌یونان باستان برمی‌گردد. در قرن هفدهم
رنه دکارت این نظریه را مبنی بر استفاده از‌یک زوج عدد برای نمایش نقاط در صفحه و سه تایی‌هایی از اعداد برای نمایش نقاط در فضا بیان کرد. سپس در حین کار با هندسه تحلیلی مواجه شد که در آن خواص اشکال هندسی بصورت روابط جبری شامل مختصات بیان می‌شود.

در تاریخ آنها، هندسه تحلیلی و حساب دیفرانسیل بطور نزدیکی با هم در ارتباط هستند بطوریکه هر اکتشافی در ‌یکی از این زمینه‌ها منجر به پیشرفتی در زمینه دیگر می‌شد. مسأله رسم مماس بر منحنی منجر به توسعه حساب دیفرانسیل شد و مسأله محاسبه مساحت نواحی از صفحه با مرز منحنی موجب توسعه حساب انتگرال گردید.

\chapter{چهارم}
\section{مقدمه تاریخی}
ایده‌ی استفاده از اعداد برای مکان‌یابی نقاط روی‌یک خط به دوره‌ی‌یونان باستان برمی‌گردد. در قرن هفدهم
رنه دکارت این نظریه را مبنی بر استفاده از‌یک زوج عدد برای نمایش نقاط در صفحه و سه تایی‌هایی از اعداد برای نمایش نقاط در فضا بیان کرد. سپس در حین کار با هندسه تحلیلی مواجه شد که در آن خواص اشکال هندسی بصورت روابط جبری شامل مختصات بیان می‌شود.

در تاریخ آنها، هندسه تحلیلی و حساب دیفرانسیل بطور نزدیکی با هم در ارتباط هستند بطوریکه هر اکتشافی در ‌یکی از این زمینه‌ها منجر به پیشرفتی در زمینه دیگر می‌شد. مسأله رسم مماس بر منحنی منجر به توسعه حساب دیفرانسیل شد و مسأله محاسبه مساحت نواحی از صفحه با مرز منحنی موجب توسعه حساب انتگرال گردید.

\printindex
\end{document}

Mohsen Avaji

با توجه به راهنمایی ارزشمند شما، ظاهرا لازمه که دستورات  IndexList و makeindex قبل از بسته xepersian قرار بگیره، حال فرض کنید بخوایم 500 کلمه رو در نمایه قرار بدیم
1- چون IndexList و makeindex قبل از بسته xepersian فراخوانی شدن تعدادی از کلمات که در پیشگفتار قرار دارن هم در نمایه ظاهر میشن در صورتی که نباید به این صورت باشه.
2- چون تعداد کلمات بالاست خواه نا خواه حجم استایل افزایش پیدا خواهد کرد.

آیا برای این مسایل راه حلی در نظر گرفته شده؟
نخستین نشانه فساد ترک صداقت است. (میشل دو مونتی)

Mohsen Avaji

جواب سوال قبلیمو پیدا کردم، اما نکته ای رو که هنوز متوجه نشدم اینه که چرا بعد از اینکه با xeindex کلمات رو نمایه میکنیم، کلمات با  یک کاما  در نمایه  ظاهر میشن، به عنوان مثال اگر کلمه "ضرب داخلی" رو در نمایه قرار داده باشیم این کلمه اینطوری ظاهر میشه

ضرب داخلی، 41، 56، 21، 34

در صورتی که باید به این صورت ظاهر بشه

ضرب داخلی 41، 56، 21، 34

آیا فاصله داشتن کاما از عدد به عنوان یک باگ محسوب میشه یا نه، مثلا اگر داشته باشیم

ضرب داخلی 41 ، 56 ، 21 ، 34

این فرمی که در بالا نوشتم صحیحه یا غلط؟
چون چیزی که من در خروجی مشاهده میکنم به این صورته که در بالا براتون بیان کردم.
نخستین نشانه فساد ترک صداقت است. (میشل دو مونتی)

وحید دامن‌افشان

نقل قول از: Mohsen Avaji در اکتبر 16, 2012, 06:52:38 بعد از ظهر
با توجه به راهنمایی ارزشمند شما، ظاهرا لازمه که دستورات  IndexList و makeindex قبل از بسته xepersian قرار بگیره، حال فرض کنید بخوایم 500 کلمه رو در نمایه قرار بدیم
1- چون IndexList و makeindex قبل از بسته xepersian فراخوانی شدن تعدادی از کلمات که در پیشگفتار قرار دارن هم در نمایه ظاهر میشن در صورتی که نباید به این صورت باشه.
2- چون تعداد کلمات بالاست خواه نا خواه حجم استایل افزایش پیدا خواهد کرد.

آیا برای این مسایل راه حلی در نظر گرفته شده؟
۱- ‎‎‎ربطی به فراخوانی شدن این بسته، قبل و یا بعد از زی‌پرشین نداره. این بسته بعد از دستور \begin{document} شروع می‌کنه دنبال کلمات گشتن.
راه‌حل این مشکل در صفحه ۴ راهنمای بسته اومده. به این صورت که اگه می‌خواین کلمات داخل پیش‌گفتار، نمایه نشن، کافیه قبل از شروع پیش‌گفتار، دستور
‎\StopSearching‎
و بعد از پایان پیش‌گفتار، طبیعتاً دستور
‎\Start‎Searching
رو قرار بدین. در ضمن، این دو تا دستور رو بارها می‌تونین به کار ببرین.
۲- منظورتون رو متوجه نشدم. می‌شه روشن‌تر توضیح بدین؟


توضیح اضافی: این بسته بر مبنای بسته ‎XeSearch‎ ساخته شده و در واقع می‌شه گفت که یکی از صدها کاربرد بسته ‎XeSearch‎، همین بسته‌س. بسته ‎XeSearch‎ (و بالطبع xeindex) متاسفانه یه باگ خیلی بد داره که تا این لحظه، رفع نشده و طی تماسی هم که خودم با نویسنده‌ش داشتم، گفتن که وقت کافی برای رفع این باگ رو ندارن.
برای دیدن باگ، کافیه مثال زیر رو اجرا کنین. با این حال، این باگ، راه‌حل‌های به اصطلاح «کثیفی» هم داره که بعضی‌هاش رو می‌تونین توی این صفحه ببینین.

\documentclass{article}‎
‎\usepackage{xeindex}‎
‎\makeindex‎
‎\usepackage{xepersian}‎
\IndexList{mylist}{داریوش اول}
‎\begin{document}‎
\section{داریوش}
‎\printindex‎
‎\end{document}

‎‎‎بزودی توی یه تاپیک، بعضی از کاربردهای بسیار جالب بسته ‎XeSearch‎ رو نشون می‌دم.

vafa

نقل قول از: Mohsen Avaji در اکتبر 16, 2012, 06:52:38 بعد از ظهر
با توجه به راهنمایی ارزشمند شما، ظاهرا لازمه که دستورات  IndexList و makeindex قبل از بسته xepersian قرار بگیره، حال فرض کنید بخوایم 500 کلمه رو در نمایه قرار بدیم
1- چون IndexList و makeindex قبل از بسته xepersian فراخوانی شدن تعدادی از کلمات که در پیشگفتار قرار دارن هم در نمایه ظاهر میشن در صورتی که نباید به این صورت باشه.
2- چون تعداد کلمات بالاست خواه نا خواه حجم استایل افزایش پیدا خواهد کرد.

آیا برای این مسایل راه حلی در نظر گرفته شده؟
شما فقط کافیه راهنمای این بسته رو یک بار بخونید که متأسفانه به هر دلیلی حاضر نیستید این زحمت رو به خودتون بدید.