اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
Close Sidebar
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

محبوب‌ترین برچسب‌ها

رفع خطا جدول مراجع xepersian ریاضی‌نویسی شکل فونت فهرست مطالب شماره‌گذاری منابع bidi پانویس بیب‌تک tikz تک‌لایو parsilatex بیمر اسلاید زی‌پرشین پاورقی bibtex سربرگ نماد رسم شکل فرمول‌نویسی قالب ارجاع‌دهی biditexmaker هدر ویرایشگر beamer واژه‌نامه اندازه فونت texstudio عنوان فصل ماتریس اعمال نشدن تغییرات در پی‌دی‌اف رسم جدول bidipresentation شماره صفحه حاشیه رنگ عنوان شکل اسلاید فارسی محیط قضیه گراف مکان شکل tikzpicture حروف‌چینی کد شماره فصل enumerate tabriz_thesis نمایه align زیرنویس شکل کادر itemize فهرست اشکال الگوریتم listings عدم اجرا نیم‌فاصله متن لاتین و فارسی بسته فاصله بین خطوط قالب پایان‌نامه فرمول نصب تک‌لایو فارسی‌تک hyperref شماره فرمول glossaries کپشن نمودار خروجی لاتک حروف‌چینی چندستونی فونت فارسی و انگلیسی ماکرونویسی biditools شماره پاورقی پیوست‌ سوال امتحانی فاصله‌گذاری فرمول چندضابطه‌ای subfigure extrafootnotefeatures header texmaker pdf tex biditufte-book longtable تصویر شمارنده texlive2015 زیرنویس خطا رسم نمودار شماره‌گذاری صفحات پایان نامه دیاگرام فهرست جداول میک‌تک texlive2016 تنظیم جدول آکولاد kashida texworks caption اندیس lollipop iust-thesis multicol فصل‌نویسی شعر سوال چهارگزینه‌ای بولد تورفتگی اعداد فارسی فاصله عمودی xindy چپ‌چینی اوبونتو میکروسافت ورد قاب geometry texlive fancyhdr وسط‌چینی تک لایو 2015 عنوان بخش شماره گذاری به‌روزرسانی بسته aimc46 صفر توخالی فرمول طولانی بیرون‌زدگی xelatex کاما tcolorbox پوستر فاصله سطرها نوشتافت شکست خط tex-programming فونت اعداد pgfplots قرآن tabriz-thesis ایتالیک winedt جستجوی معکوس فلش جایابی تصویر قالب کتاب پاراگراف‌بندی بازیابی اطلاعات هایپرلینک فهرست نمادها شمارنده فصل font محیط ریاضی رسم کادر جداکننده جدول طولانی فهرست تصاویر شماره‌گذاری فرمول algorithm2e فونت بولد proof equation bidipoem eps جدول افقی عکس به‌روزرسانی پانویس چندستونی کمک مالی فاصله خطوط حروف‌چینی شعر زیرشکل minipage قلم پانویس پاراگرافی ltrfootnote پیوست computeautoilg متن فارسی و انگلیسی فرمول چندخطی neveshtuft غلط‌گیری املایی تک‌پارسی پیکان لاتکس tabular baselineskip شماره قسمت قسمت عنوان جدول
90 نفر آنلاین
0 عضو و 90 مهمان در سایت حاضرند
بازدید امروز: 87872
بازدید دیروز: 73184
بازدید کل: 25252964

چرا وقتی از gls* برای اختصارات استفاده می‌کنم باز هم در اولین استفاده پاورقی می‌زند؟

+1 رای
1,190 بازدید

سلام
با توجه به مثالی که در ویکی پارسی‌لاتک برای ساخت واژه‌نامه و فهرست اختصارات آمده است، زمانی که واژه‌ای را با دستور \gls*{} به کار ببریم، حتی در صورتی که اولین جایی باشد که در متن آمده پاورقی نمی‌خورد. اما این دستور در مورد اختصارها کار نمی‌کند. یعنی وقتی \gls*{} را برای اختصارها استفاده می‌کنم، در اولین استفاده باز هم پاورقی می‌خورد. از دوستان کسی راه‌حلی برای این موضوع دارد؟

سوال شده تیر 19, 1394 توسط سید امیر قضائی (1,234 امتیاز)
باتشکر پیرو این پرسش و پاسخ، قسمت مثال سایت بروز شد. اگر دوباره دانلود کنید، حالت درست آن قرار داده شده است.
بابت ویکی واژه نامه بسیار ممنونم. خیلی جامع و مفید نوشته شده.

1 پاسخ

+3 رای
 
بهترین پاسخ

باسلام
به جای کد زیر در آن مثال:

\makeatletter
\renewrobustcmd*{\gls}{\@ifstar\@msgls\@mgls}
\newcommand*{\@mgls}[1] {\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\oldgls{#1}\glsuseri{f-#1}}{\oldgls{#1}}}
\newcommand*{\@msgls}[1]{\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\glstext{#1}\glsuseri{f-#1}}{\oldgls{#1}}}

\renewrobustcmd*{\glspl}{\@ifstar\@msglspl\@mglspl}
\newcommand*{\@mglspl}[1] {\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\oldglspl{#1}\glsuseri{f-#1}}{\oldglspl{#1}}}
\newcommand*{\@msglspl}[1]{\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\glsplural{#1}\glsuseri{f-#1}}{\oldglspl{#1}}}
\makeatother

کد زیر را قرار دهید:

\makeatletter

\renewrobustcmd*{\gls}{\@ifstar\@msgls\@mgls}
\newcommand*{\@mgls}[1] {\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\oldgls{#1}\glsuseri{f-#1}}{\lr{\oldgls{#1}}}}
\newcommand*{\@msgls}[1]{\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\glstext{#1}\glsuseri{f-#1}}{\lr{\glsentryname{#1}}}}

\renewrobustcmd*{\glspl}{\@ifstar\@msglspl\@mglspl}
\newcommand*{\@mglspl}[1] {\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\oldglspl{#1}\glsuseri{f-#1}}{\oldglspl{#1}}}
\newcommand*{\@msglspl}[1]{\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\glsplural{#1}\glsuseri{f-#1}}{\glsentryplural{#1}}}

\makeatother

اگر به کدهای فوق نگاه کنید یک دستور if به صورت

\@ifstar\@msgls\@mgls

وجود دارد که می گوید اگر فردی از \gls* استفاده کرد دستور \@msgls استفاده شود. مشکل ناشی از این بود که در کد نخست من در این حالت خود oldgls را صدا زده بودم، در حالی که در کد دوم glsentryname را صدا زدم که این دستور همانند gls عمل می کند با این تفاوت که نه واژه را در واژه نامه وارد می کند و نه پاورقی می زند. در واقع واژه را به صورت خالص وارد می کند.

باتشکر از شما به خاطر مشکلی را که گزارش کردید سعی می کنم مثال سایت را اصلاح کنم.

پاسخ داده شده تیر 19, 1394 توسط ابوالفضل دیانت (3,245 امتیاز)
ویرایش شده تیر 20, 1394 توسط ابوالفضل دیانت
یک دنیا ممنون جناب دیانت.
فقط یه مشکلی هست. البته نمی‌دونم این موضوع درسته یا واقعا یک ایراده. زمانی که از کد شما استفاده می‌کنم، وقتی برای اولین بار قراره پاورقی بزند، شماره پاورقی در متن، سمت راست کلمه انگلیسی میوفتد. این درسته یا غلطه؟
من برای اینکه شماره پاورقی در سمت چپ بیوفتد، در کد شما دستورهای \lr را برداشتم و درست شد. البته برای آنکه لغات اشتباه حروفچینی نشود، در تعریف اختصارات از دستور \lr استفاده کردم. یعنی:
\newacronym{LTE}{\lr{LTE}}{Long-Term Evolution}
آیا این کار اصولی است؟
(امکانش هست در مورد تفاوت کدهایی که قرار دادید توضیحی ارائه دهید؟ البته در صورتی که وقت دارید. باز هم ممنون از وقتی که گذاشتید.)
راستش من دقیق نمی دانم. من به این علت خواستم که شماره ها برای انگلیسی ها سمت راست بیافتد که احساس کردم که استاندارد درست این است که در یک متن فارسی که عبارت انگلیسی داریم (به دلیل چپ به راست بودن انگلیسی) بهتر است شماره ها در سمت راست قرار گیرد. در مورد کدها نیز الان جواب سوال را بروز می کنم.
باز هم از وقتی که گذاشتید بسیار سپاسگزارم. مثال ویکی خیلی به من در ساخت واژه نامه کمک کرد.
...