با استفاده از بستهٔ glossaries میتوانید واژهنامه به فرمهای متلف بسازید. به مثال پیوست توجه کنید.
مثال بهروز شد و با استفاده از xindy واژهنامه به صورت درست مرتب شده است.
نقل قول از: مهدی امیدعلی در فبریه 14, 2010, 08:36:11 بعد از ظهر
با استفاده از بستهٔ glossaries میتوانید واژهنامه به فرمهای متلف بسازید. به مثال پیوست توجه کنید.
آقای دکتر،
واژهها که مرتب نیستن.
نقل قول از: وحید دامن افشان در فبریه 14, 2010, 08:47:05 بعد از ظهر
آقای دکتر،
واژهها که مرتب نیستن.
این همان مشکل makeindex است. دارم سعی میکنم زبان فارسی رو به طور رسمی در xindy وارد کنم تا این مشکلات برطرف بشوند.
نقل قول از: مهدی امیدعلی در فبریه 14, 2010, 10:12:40 بعد از ظهر
این همان مشکل makeindex است. دارم سعی میکنم زبان فارسی رو به طور رسمی در xindy وارد کنم تا این مشکلات برطرف بشوند.
سلام.
مشکل مرتب کردن حل شده یا نه؟
من میخوام تو لاتک واژه نامه بنویسم ولی حرف
گ و
پ رو بعد از همه حرفها قرار میده. :'(
یه مثال رو پیوست کردم.
نقل قول از: sheperson در مارس 28, 2010, 02:20:21 بعد از ظهر
سلام.
مشکل مرتب کردن حل شده یا نه؟
من میخوام تو لاتک واژه نامه بنویسم ولی حرف گ و پ رو بعد از همه حرفها قرار میده. :'(
یه مثال رو پیوست کردم.
بله از xindy استفاده کنید
نقل قول از: مهدی امیدعلی در مارس 29, 2010, 12:36:00 قبل از ظهر
بله از xindy استفاده کنید
سلام.
ممنون از پاسختون.
فقط اگه میشه راهنمایی کنید که چطور از xindy استفاده کنم (آخه من تازه کارم). :-[
نقل قول از: sheperson در مارس 29, 2010, 02:34:07 قبل از ظهر
سلام.
ممنون از پاسختون.
فقط اگه میشه راهنمایی کنید که چطور از xindy استفاده کنم (آخه من تازه کارم). :-[
به انجمن xindy مراجعه کنید.
آیا میتوان کاری کردم که علاوه بر اینکه واژه نامه بر اساس حروف الفبای فارسی مرتب شود یک دور هم بر اساس حروف الفبای انگلیسی مرتب شود؟ یعنی هر دو را داشته باشیم. یکی اسمش باشه واژه نامه فارسی و دیگری واژه نامه انگلیسی.
اصلاً آیا هنگامی که یک نوشتار فارسی مینویسیم این کار معقول است؟
ممنون
من داشتم با استفاده از مطالب مفیدی که دوستان در مورد واژه نامه قرار داده بودند برای خودم واژه نامه درست می کردم که چند سوال برایم پیش آمد:
۱. آیا درست فهمیدم که برای اجرای واژه نامه باید دستور makeglossaries filename را در یک ترمینال اجرا کرد؟
۲. من ارتباط بین makeindex و یا xindy را با glossaries متوجه نشدم. چون اینجور که فهمیدم اگر آنها را اجرا نکنیم و همان دستور سوال ۱ را در ترمینال بزنیم کافی است.
۳. آیا دستور makeglossaries احتیاج به perl دارد؟ از کجا میتوان فهمید که الان پرل بر روی دستگاه نصب است؟ من سیستم عاملم ویندوز ۷ است.
۴. یعنی آیا اگر کسی خواست برای خود واژه نامه درست کند باید چیزی جز میکتک و تکمیکر و فونت را بر روی سیستم خود نصب کند؟
ممنون
شاید جواب یکی دو سوالم را پیدا کرده باشم (اگر اشتباه بودند دوستان راهنمایی کنند) اما یک مشکل اساسی دیگر برایم پیدا شده است.
جواب ۱: یک راه تولید نمایه این است. دو راه دیگر نیز وجود دارد که یکی استفاده تنها از makeindex و دیگری استفاده تنها از xindy است. بهتر است که از xindy استفاده شود چون در غیر این صورت حروف گ چ پ ژ ی ک در جای خود به درستی نمایش داده نخواهند شد.
جواب ۴: این طور که به نظر می رسد اگر برای تولید واژه نامه تنها می خواهید از xindy و یا از makeindex استفاده کنید احتیاج به نصب چیز اضافهای نیست. البته در سیستم من makeglossearies نیز اجرا شد اما من نمیدانم که قبلا perl جداگانه نصب کردهام یا نه.
راستی یادم رفت بگویم وقتی میخواهید از دستور xindy استفاده کنید، لازم است که در ابتدای نوشتار بسته glossaries را به صورت زیر فراخوانی کنید
\usepackage[xindy]{glossaries}
سپس بعد از اجرای دستور xelatex بر روی فایل خود دستور زیر را در ترمینال اجرا کنید و یا آنرا به دستورات کاربر در تکمیکر اضافه کنید.
xindy -L <Language> -C <encoding> -I xindy -M <style> -t <base>.glg -o <base>.gls <base>.glo
در فرمان بالا <style> نام فایل استایل xindy است که دارای پسوند .xdy میباشد. در حالت کلی همان اسم فایل شما خواهد بود.
<base> ها هم همینطور در حالت کلی همان اسم فایل شما خواهند بود.
و در نهایت دوباره فایل اصلی را با دستور xelatex کامپایل کنید (در بعضی موارد شاید لازم باشد که دوبار این کار صورت گیرد).
---------------------------------------------------------------
و اما مشکل اساسی من:
مشکل اساسی ۱: فایل tex من در شاخه زیر قرار داشت:
D:\My Works\PhD Thesis\IASBS Thesis Style in Xepersian
وقتی دستور زیر را در ترمینال اجرا می کردم
xindy -L persian -C utf8 -I xindy -M iasbs_thesis_sample -t iasbs_thesis_sample.glg -o iasbs_thesis_sample.gls iasbs_thesis_sample.glo
با خطای زیر مواجه میشدم:
iasbs_thesis_sample.gls doesn't exist at c:/progra~2/xindy/scripts/xindy/xindy.pl line 458
اما اگر همین فایل ها را به آدرس زیر انتقال دهم و نام فایل را به text.tex تغییر دهم
D:\test\
و از دستور زیر استفاده کنم
xindy -L persian -C utf8 -I xindy -M test -t test.glg -o test.gls test.glo
برنامه به خوبی اجرا می شود و خروجی می دهد و هیچ مشکلی ندارد و جای حروف پ ژ گ چ ی ک هم درست است.
به نظر شما اشکال از کجاست؟ آیا راه حلی دارد؟
ممنون
نقل قول از: محمد چهارسوقی در آپریل 08, 2010, 04:38:56 بعد از ظهر
به نظر شما اشکال از کجاست؟ آیا راه حلی دارد؟
به نظرم مشکل از فاصلههای بین آدرس فایل تکتون هستش (آدرس اولی).
راستی میشه ازتون خواهش کنم یه نمونه از واژهنامهای رو که درست کردین، اینجا بذارین تا بقیه هم بتونن استفاده کنن (البته همراه با فایل تکش)؟
سلام
من یک متن مختصری را در مورد نحوهی نوشتن واژه نامه در سندهای زیپرشین نوشتم که خیلی ساده و ابتدایی است اما ممکن است به کار بعضی از دوستان بیاید.
تصمیم دارم که در آینده به مرور زمان این متن را کامل کنم برای همین تاریخ نوشتن فایل را در نام فایل آوردهام.
ممنون
نقل قول از: محمد چهارسوقی در آپریل 17, 2010, 03:26:06 بعد از ظهر
سلام
من یک متن مختصری را در مورد نحوهی نوشتن واژه نامه در سندهای زیپرشین نوشتم که خیلی ساده و ابتدایی است اما ممکن است به کار بعضی از دوستان بیاید.
تصمیم دارم که در آینده به مرور زمان این متن را کامل کنم برای همین تاریخ نوشتن فایل را در نام فایل آوردهام.
ممنون
خیلی عالیه لطفا ادامه دهید. در مورد perl توجه داشته باشید که توسط xindy به طور خودکار نصب میشود.
نقل قول از: محمد چهارسوقی در آپریل 17, 2010, 03:26:06 بعد از ظهر
اما ممکن است به کار بعضی از دوستان بیاید.
محمد جان بابت این فایلت ممنون. فقط ۲ تا سوال داشتم:
۱- بالای صفحه ۵ راهنمای بسته گلوساری ورژن ۲۰ جولای ۲۰۰۶ نوشته شده که در این بسته، امکان وارد کردن sub-entries مثل بسته ایندکس وجود نداره. حالا میخواستم ببینم آیا واقعاً راهی وجود نداره که توی واژهنامههامون، sub-entries داشته باشیم؟
۲- آیا راهی وجود داره که فونت انگلیسی، فونت پیشفرض لاتک باشه؟
سلام
ببخشید من الان در یک مسافرت 3 روزه هستم. انشاالله در اسرع وقت چک می کنم. البته من خیلی وارد نیستم ;) ولی چک می کنم و نتیجه رو بهتون می گم.
این پست خیلی بدردم خورد کار من را خیلی آسان کرد
تنها چگونه میتوان این واژه نامه برای انگلیسی به فارسی هم استفاده کرد؟ یعنی یکبار دیگر لیست چاپ شود ولی اینبار عنوانش "واژه نامهی انگلیسی به فارسی" باشد و با حروف انکلیسی سُرت شود
سپاس از همگی
اگر نمیشود این کار را کرد چگونه میشود با همین روش یک لیست جداگونهی دیگر دریت کرد ایندفعه برای انگلیسی به فارسی؟ یعنی در هر فایل دوتا لیست مختلف بتوان درست کرد؟
سلام
یک جواب سر انگشتی که الان می تونم بگم این هست که مشکلی که وجود داره و من نتونستم راه حلی هنوز براش پیدا کنم این است که واژه مورد نظر باید در متن نوشته شود تا در انتها به صورت واژه نامه ظاهر شود.
بنابراین اگر شما بخواهید همزمان هم واژه نامه فارسی به انگلیسی و انگلیسی به فارسی داشته باشید باید کلمات انگلیسی را هم در متن در جایی نوشته باشید.
البته این مسئله تقریباً منطقی است که کلمهای که شما در متن از آن استفاده نکرده اید در واژه نامه ظاهر نشود.
مطلب دیگر اینکه (این را من خودم امتحان نکرده ام) اما اگر شما از xindy استفاده کنید و از زبان persian به عنوان یک زبان مرتب سازی استفاده کنید و در متن کلمات انگلیسی داشته باشید کلمات انگلیسی به ترتیب بعد از کلمات فارسی ظاهر خواهند شد. اما به گونه ای نیست که به صورت یک واژه نامه جدا باشد.
زمانی که شما یک واژه را تعریف می کنید اجازه دارید نوع آن را مشخص کنید و در انتها چندین نوع واژه نامه داشته باشید اما نوع واژه تا آنجا که من تلاش کردم محدود به چند پیش فرض بود مثلاً type = symbol اما نتوانستم type را آن طوری که مد نظر خودم بود تعریف کنم.
اگر بتوان اینکار را کرد میتوان دستوری داد که تنها یکبار واژه را بنویسیم (برای هر دو مورد)
مشکل من این هست که نتوانستم و نمیدانم چگونه دولیست با سری لغات متفاوت ایجاد کنم آیا میتوان کاری و دستوری داد که بعضی از لغات را در لیست وارد نکند مثلا لغاتی که "نام" آنها با حروف انگلیسی ویا فارسی هستند را وارد نکند {یعنی در یک لیست بگویم انگلیسی ها را وارد نکند در یک لیست بگویم فارسی ها را وارد نکند. (ویا نسبت به لیبل اینکار را کند، مثلا اگر با کاراکتر خاصی شروع میشود وارد نکندٰ یا تنها اگر با این کاراکتر هست وارد کند)
اینی هم که گفتید که با نوعش میتوانیم دو لیست درست کنیم ور میروم شاید شد این راتوجه نکرده بودم (میتوان با عنوان دلخواه درست کرد ؟ یعنی میتوان سر لیست بنویسیم انگلیسی به فارسی؟)
سلام
همانطور که گفتم متاسفانه تا جایی که من گشتم type موارد خاصی را می پذیرد مانند symbol به این معنا که شما یکسری علامت های خاصی را می گویید که این جزو symbol است و در نهایت می توانید واژه نامه علامتهای موجود را به صورت جدا داشته باشید. اما من نتونستم این رو تعمیم بدم به اینکه مثلا واژه نامه فارسی به انگلیسی و یا انگلیسی به فارسی داشته باشم. البته نمی گویم نمی شود ولی من پیدا نکردم.
در مورد نام واژه نامه شما با استفاده از دستور زیر هر نامی را میتوانید برای واژه نامه خود انتخاب کنید.
\def\glossaryname{واژه نامه فارسی به انگلیسی}
این دستور را قبل از جایی که می خواهید واژه نامه ظاهر شود استفاده کنید یعنی قبل از
\printglossaries
وقتی شما از دستور بالا استفاده کنید تمامی واژه نامههای شما را چاپ می کند اما اگر از دستور زیر استفاده کنید می توانید در جلوی آن نوع واژه نامه را بگویید مثل مثلا symbol
\printglossary
من متاسفانه کامپیوترم دچار مشکل شده و خروجی های درستی نمی گیرم و هنوز نتونستم این مشکل را حل کنم و الا با مثال اینها را برای شما ارسال می کردم.
یکی میشود بگوید با این دستور
\newglossary
\newglossary[<log-ext>]{<name>}{<in-ext>}{<out-ext>}{<title>}[<counter>\]
چگونه میشود کار کرد در راهنما گفته است با این میتوان یک لیست لغت جدید ساخت ولی نمیدانم چگونه کار میکند و کجا باید وارد کنم من این را گذاشتم:
\newglossary{mo}{egls}{eglso}{\glossaryname}
ولی کار نکرد. این اگر کار کند چیزی که میخواهم را میتوانم داشته باشم
اگر حرفم مبهم هست بگوید یک نمونه بگذارم
نقل قول از: وحید دامن افشان در آپریل 27, 2010, 07:09:14 بعد از ظهر
محمد جان بابت این فایلت ممنون. فقط ۲ تا سوال داشتم:
۱- بالای صفحه ۵ راهنمای بسته گلوساری ورژن ۲۰ جولای ۲۰۰۶ نوشته شده که در این بسته، امکان وارد کردن sub-entries مثل بسته ایندکس وجود نداره. حالا میخواستم ببینم آیا واقعاً راهی وجود نداره که توی واژهنامههامون، sub-entries داشته باشیم؟
۲- آیا راهی وجود داره که فونت انگلیسی، فونت پیشفرض لاتک باشه؟
سلام
کسی در رابطه با ۲ سوال بالا، چیزی به ذهنش نمیرسه؟
نقل قول از: محمد چهارسوقی در آپریل 30, 2010, 12:35:14 قبل از ظهر
سلام
یک جواب سر انگشتی که الان می تونم بگم این هست که مشکلی که وجود داره و من نتونستم راه حلی هنوز براش پیدا کنم این است که واژه مورد نظر باید در متن نوشته شود تا در انتها به صورت واژه نامه ظاهر شود.
بنابراین اگر شما بخواهید همزمان هم واژه نامه فارسی به انگلیسی و انگلیسی به فارسی داشته باشید باید کلمات انگلیسی را هم در متن در جایی نوشته باشید.
البته این مسئله تقریباً منطقی است که کلمهای که شما در متن از آن استفاده نکرده اید در واژه نامه ظاهر نشود.
مطلب دیگر اینکه (این را من خودم امتحان نکرده ام) اما اگر شما از xindy استفاده کنید و از زبان persian به عنوان یک زبان مرتب سازی استفاده کنید و در متن کلمات انگلیسی داشته باشید کلمات انگلیسی به ترتیب بعد از کلمات فارسی ظاهر خواهند شد. اما به گونه ای نیست که به صورت یک واژه نامه جدا باشد.
زمانی که شما یک واژه را تعریف می کنید اجازه دارید نوع آن را مشخص کنید و در انتها چندین نوع واژه نامه داشته باشید اما نوع واژه تا آنجا که من تلاش کردم محدود به چند پیش فرض بود مثلاً type = symbol اما نتوانستم type را آن طوری که مد نظر خودم بود تعریف کنم.
آیا برای این مسيله بالاخره راه حلی پیدا شد؟