line 1: multiple |'s
WARNING: unknown attribute ` \cdot \_1$'! (ignored)
فایل نمونه ضمیمه شده.\index{$\phi$}
و اینبار به جای هشدار خطا داد به این صورت:ERROR: CHAR: index 0 should be less than the length of the string
$\left \vert \cdot \right \vert _1$
یعنی به جای | (خط عمودی) از دستور \vert باید استفاده کنم.به نظر میاد مشکل از زیندی باشد:ممنون دکتر بخاطر جواب. همیشه نمیدونم چرا با جوابهای شما به اطمینان زیادی میرسم. ازتون خیلی ممنونم :)کد: [انتخاب]\documentclass{article}
و اگر زیندی را بصورت زیر اجرا کنی:
\usepackage{makeidx}
\makeindex
\begin{document}
$\alpha$
\index{$\alpha$}
\printindex
\end{document}کد: [انتخاب]xindy -L english -C utf8 -M texindy -M page-ranges test.idx
پیغام زیر را دریافت میکنی:کد: [انتخاب]ERROR: CHAR: index 0 should be less than the length of the string
پیشهادم این است که مشکل را با مولف زیندی در میان بگذاری چون مشکل ربطی به زیپرشین یا فایلهای پشتیبانی زیندی از زبان فارسی ندارد.
$\| \cdot \|$
خط زیر را به فایل mymath.xdy اضافه کردم. ولی باز همون خطا را میده.(merge-rule "\| \cdot \|" "metr normal" :string)
اما وقتی همون فرمول را به صورت زیر به فایل mymath.xdy اضافه کردم، دیگه خطا نداد و در نمایه هم ظاهر شد.(merge-rule "\left \vert \cdot \right \vert" "metr normal" :string)
قضیه چیه؟فایل نمونهای که با توضیحهای مولف زیندی تونستم درست کنم، ضمیمه شده.هادی جان تو با دستورهایی مثل
\index{$\beta$}
هم مشکل داری؟ فقط نتونستم پیدا کنم که چه جوری کاراکتر || را چه جوری باید اضافه کنم.راه درست نوشتن علامت قدر مطلق و نرم، به این صورته:
منظورم این دو خط عمودی که به کمک دستور \| ظاهر میشه.
\providecommand{\abs}[1]{\lvert#1\rvert}
\providecommand{\norm}[1]{\lVert#1\rVert}
آیا راهنمای علاوه بر راهنمای بستههای makeindex و xindy برای این موضوع هست؟هر چیزی که توی راهنمای بستهها نباشه، فقط توی فرومها و سایتهای پرسش و پاسخ پیدا میشه.
هادی جان تو با دستورهایی مثلوحید جان، با MakeIndex مشکل ندارم.کد: [انتخاب]\index{$\beta$}
هم مشکل داری؟
makeindex %.idx
با Make Index Xindy مشکل دارم.C:\texlive\2012\bin\win32\xindy -L english -M texindy %.idx
C:\texlive\2012\bin\win32\xindy -L persian -C utf8 -M texindy %.idx
حتی اگر یک مورد هم مثلا آلفا و بتا و ... هم باشه، نمایه کلا ظاهر نمیشه.راه درست نوشتن علامت قدر مطلق و نرم، به این صورته:ممنون وحید جانکد: [انتخاب]\providecommand{\abs}[1]{\lvert#1\rvert}
هر چیزی که توی راهنمای بستهها نباشه، فقط توی فرومها و سایتهای پرسش و پاسخ پیدا میشه.
\providecommand{\norm}[1]{\lVert#1\rVert}
Processing index...
ERROR: CHAR: index 0 should be less than the length of the string
C:\texlive\2012\bin\win32\runscript.tlu:591: command failed with exit code 1:
perl.exe c:/texlive/2012/texmf/scripts/xindy/xindy.pl -L english -M texindy "xin
dy MakeIndex equation error hsa.idx"
هادی جانممنون دکتر بابت جواب
فعلا برای حل مشکل چرا از دوتا فایل نمایه استفاده نمیکنی که یکیش برای کلمات فارسی باشه و با زیندی پردازش بشه
و دیگری برای عبارات ریاضی باشه و با MakeIndex؟
هادی جان، اینجوری دوتا نمایه درست نمیشه ها؟!ممنون دکتر. اختیار دارین. لطف میکنین که راهنمایی میکنین. دکتر کشک میدونین کیلویی چنده؟! خیلی گرونه! ;) (شوخی کردم که بخندین.)
اصولا چون عبارات ریاضی و فارسی با هم قاطی نیستند، حتی اگر با زیندی و یک روش این کار انجام شود،
بازهم نمایهها به ترتیب مرتب میشوند. یعنی اول ریاضیها میان و بعد فارسی ها. به همین دلیل اگر دوتا فایل نمایه
درست کنی و آنها را جداجدا پردازش کنی و بعد باهم ادغامشون کنی، هنگام printindex یک نمای واحد خواهی داشت.
البته میدونم کارم کشکیه و فقط برای حل مسأله در شرایط بحرانی کنونی به درد میخوره.
وحید جان، با MakeIndex مشکل ندارم.هادی جان قبلاً هم وقتی از دستور
یعنی با دستور زیر:کد: [انتخاب]makeindex %.idx
با Make Index Xindy مشکل دارم.
یعنی با دستورهای زیر:کد: [انتخاب]C:\texlive\2012\bin\win32\xindy -L english -M texindy %.idx
حتی اگر یک مورد هم مثلا آلفا و بتا و ... هم باشه، نمایه کلا ظاهر نمیشه.ممنون وحید جان
C:\texlive\2012\bin\win32\xindy -L persian -C utf8 -M texindy %.idx
فایل نمونه در اجرا با زیندی، خطای زیر را میده:
\index{$\alpha$}
با زیندی استفاده میکردی، مشکل داشتی یا تازگیها این مشکل ایجاد شده؟\index{$\| \cdot \|_1$}
مشکل دارم که اونم طبیعیه؛ چون علامت | رو با موقعی که میخوایم زیراندیس بنویسیم، اشتباه میگیره. در واقع، خیال میکنه که این یه زیراندیسه.
هادی جان قبلاً هم وقتی از دستور۶۰ درصد فکر میکنم جدیدا اینطوری شده. اجازه بده نسخهی قدیمی تکلایو را نصب کنم و تست کنم و خبر بدم.کد: [انتخاب]\index{$\alpha$}
با زیندی استفاده میکردی، مشکل داشتی یا تازگیها این مشکل ایجاد شده؟
برام خیلی عجیبه. من فقط با دستوری مثلنه وحید جان، با اندیس مشکلی نداره.کد: [انتخاب]\index{$\| \cdot \|_1$}
مشکل دارم که اونم طبیعیه؛ چون علامت | رو با موقعی که میخوایم زیراندیس بنویسیم، اشتباه میگیره. در واقع، خیال میکنه که این یه زیراندیسه.
"|
نه وحید جان، با اندیس مشکلی نداره.منظورت چیه که با اندیس مشکلی نداره؟
منظورت چیه که با اندیس مشکلی نداره؟یعنی در فرمولی زیر که گفتی، مشکل از وجود خط عمودی هست و نه از وجود آندرلاین برای اندیس.
\index{$\| \cdot \|_1$}
مثلا فرمول زیر را بدون هیچ مشکلی زیندی در نمایه سر جاش میاره:\index{$a_1$}
اما فرمول زیر را نمیاره:\index{$|a_1|$}
چون خط عمودی که در زیندی کاربرد دیگری داره درش استفاده شده.\index{$"|a_1"|$}
مشکل اینم اینه که در لیست حروف الفبایی نمیاد و اول همه میاد.\index{metra1@$"|a_1"|$}
امیدوارم تونسته باشم خوب توضیح بدم.یعنی در فرمولی زیر که گفتی، مشکل از وجود خط عمودی هست و نه از وجود آندرلاین برای اندیس.منم نگفتم که مشکل از اندیسه ;). همونطور که خودت گفتی، مشکل از علامت | هستش.کد: [انتخاب]\index{$\| \cdot \|_1$}
مثلا فرمول زیر را بدون هیچ مشکلی زیندی در نمایه سر جاش میاره:کد: [انتخاب]\index{$a_1$}
مشکل اینم اینه که در لیست حروف الفبایی نمیاد و اول همه میاد.اینکه اول نمیاد، کاملاً طبیعیه؛ چون حرف نیست؛ بلکه یه علامت هستش. اتفاقاً دیروز خواستم اینو بهت بگم که یادم رفت. استفاده از کلمه metra1 در اینجا، غلطه. باید از
پس باید به این صورت به زیندی بفرمونیم:کد: [انتخاب]\index{metra1@$"|a_1"|$}
\index{a@$"|a_1"|$}
استفاده کنی تا جزو گروه A قرار بگیره. اگه یادت باشه قبلاً که زیندی پشتیبانی نمیشد و از MakeIndex استفاده میکردیم، با حروف گ، چ، پ و ژ مشکل داشتیم و به خاطر همین به MakeIndex کلک میزدیم و کلمه مثلاً «پدر» رو به صورت \index{بییییی@پدر}
وارد میکردیم تا بعد از کلمات گروه ب قرار بگیره.
منم نگفتم که مشکل از اندیسه ;). همونطور که خودت گفتی، مشکل از علامت | هستش.:) ببخش وحید جان. منظورتو خوب متوجه نشده بودم.
اینکه اول نمیاد، کاملاً طبیعیه؛ چون حرف نیست؛ بلکه یه علامت هستش. اتفاقاً دیروز خواستم اینو بهت بگم که یادم رفت. استفاده از کلمه metra1 در اینجا، غلطه. باید ازیعنی اینجا منظور از این فرمول «متر a1» هست یا منظور بیشتر «a1»؟ (بخاطر این ازت میپرسم که تو بیشتر با ریاضی سر و کار داری. :) )کد: [انتخاب]\index{a@$"|a_1"|$}
استفاده کنی تا جزو گروه A قرار بگیره. اگه یادت باشه قبلاً که زیندی پشتیبانی نمیشد و از MakeIndex استفاده میکردیم، با حروف گ، چ، پ و ژ مشکل داشتیم و به خاطر همین به MakeIndex کلک میزدیم و کلمه مثلاً «پدر» رو به صورتکد: [انتخاب]\index{بییییی@پدر}
وارد میکردیم تا بعد از کلمات گروه ب قرار بگیره.
یعنی اینجا منظور از این فرمول «متر a1» هست یا منظور بیشتر «a1»؟ (بخاطر این ازت میپرسم که تو بیشتر با ریاضی سر و کار داری. :) )همونطور که گفتم، هر وقت بخوایم سیمبل مثلاً foo رو توی گروه حرفی مثلاً h بذاریم، از
\index{h@foo}
استفاده میشه. $"|a_1"|$
رو توی گروه حرفی M و بعد از کلمه Metr بذاره. دقت کن که ممکنه اصلاً کلمه Metr توی نمایهها نباشه. این کلمه فقط واسه اطمینان نوشته شده.