اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
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 تصویر شمارنده texlive2015 longtable زیرنویس خطا رسم نمودار شماره‌گذاری صفحات پایان نامه دیاگرام فهرست جداول میک‌تک texlive2016 تنظیم جدول kashida texworks caption اندیس lollipop iust-thesis multicol فصل‌نویسی شعر سوال چهارگزینه‌ای بولد تورفتگی آکولاد اعداد فارسی فاصله عمودی xindy چپ‌چینی اوبونتو میکروسافت ورد قاب geometry fancyhdr تک لایو 2015 عنوان بخش به‌روزرسانی بسته aimc46 صفر توخالی فرمول طولانی بیرون‌زدگی texlive کاما وسط‌چینی پوستر شماره گذاری فاصله سطرها نوشتافت شکست خط tex-programming فونت اعداد pgfplots قرآن tabriz-thesis ایتالیک winedt جستجوی معکوس xelatex فلش جایابی تصویر tcolorbox قالب کتاب پاراگراف‌بندی بازیابی اطلاعات هایپرلینک فهرست نمادها شمارنده فصل محیط ریاضی رسم کادر جداکننده جدول طولانی فهرست تصاویر شماره‌گذاری فرمول algorithm2e font فونت بولد proof equation bidipoem eps جدول افقی عکس به‌روزرسانی پانویس چندستونی کمک مالی فاصله خطوط حروف‌چینی شعر زیرشکل minipage قلم پانویس پاراگرافی ltrfootnote پیوست computeautoilg متن فارسی و انگلیسی فرمول چندخطی neveshtuft غلط‌گیری املایی تک‌پارسی پیکان لاتکس tabular baselineskip شماره قسمت قسمت عنوان جدول
8 نفر آنلاین
0 عضو و 8 مهمان در سایت حاضرند
بازدید امروز: 4770
بازدید دیروز: 12293
بازدید کل: 20634407

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

+1 رای
758 بازدید

سلام
با توجه به مثالی که در ویکی پارسی‌لاتک برای ساخت واژه‌نامه و فهرست اختصارات آمده است، زمانی که واژه‌ای را با دستور \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}
آیا این کار اصولی است؟
(امکانش هست در مورد تفاوت کدهایی که قرار دادید توضیحی ارائه دهید؟ البته در صورتی که وقت دارید. باز هم ممنون از وقتی که گذاشتید.)
راستش من دقیق نمی دانم. من به این علت خواستم که شماره ها برای انگلیسی ها سمت راست بیافتد که احساس کردم که استاندارد درست این است که در یک متن فارسی که عبارت انگلیسی داریم (به دلیل چپ به راست بودن انگلیسی) بهتر است شماره ها در سمت راست قرار گیرد. در مورد کدها نیز الان جواب سوال را بروز می کنم.
باز هم از وقتی که گذاشتید بسیار سپاسگزارم. مثال ویکی خیلی به من در ساخت واژه نامه کمک کرد.
...