به دلیل قطعی اینترنت و نبود دسترسی به ایمیل‌های خارجی، می‌توانید بدون نیاز به تایید ایمیل، ثبت‌نام کنید و پرسش‌های خود را بپرسید.

اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
0 رای
2.3k بازدید

با توجه به سوال پرسیده شده در این لینک و جواب وفا به سوال، می‌خواستم بدانم چرا در صورت استفاده از یک فرمول ریاضی در عنوان مقاله‌ای که با کلاس amsart نوشته شده است، شماره پانویس‌ها در متن بزرگتر از مقدار معمول می‌شوند.

من با روشی که در لینک زیر داده شده است مشکل را حل کردم. ولی نمی‌دانم مشکل دقیقا چیست. آیا همانطور که در این لینک گفته شده یک bug است؟
http://tex.stackexchange.com/questions/47801/using-textsuperscript-to-put-commas-between-consecutive-footnotes-in-amsart-doc?rq=1
توسط (3.6k امتیاز)
همچنین نظر داده شده زیر جواب Gonzalo Medina را در لینکی که گذاشتید ببینید. راه‌حل پیشنهادی مشکل دارد.
توسط (26.4k امتیاز)
من پاسخی در همان لینکی که خودتان گذاشتید ارسال کردم. سعی کردم موضوع را در آن‌جا هم بصورت شفاف توضیح دهم. اگر باز پرسشی باقی ماند، لطفاً در یک سوال جدید مطرح کنید:

http://tex.stackexchange.com/questions/47801/using-textsuperscript-to-put-commas-between-consecutive-footnotes-in-amsart-doc/211682#211682
توسط (26.4k امتیاز)

1 پاسخ

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

جواب داده شده در لینکی که در نظر خود گذاشتید یک پاسخ کاملاً ناشیانه است. در واقع شما دارید وصله‌کاری می‌کنید و مشکل اصلی را پیدا نکرده‌اید.

مشکل اصلی کجاست؟

دستور اصلی که باعث شود شماره‌های زیرنویس در متن درج شوند، دستور \@makefnmark است. در فایل latex.ltx دستور \@makefnmark بصورت زیر تعریف شده است:

\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}

و دستور \@textsuperscript بصورت زیر تعریف شده است:

\def\@textsuperscript#1{%
  {\m@th\ensuremath{^{\mbox{\fontsize\sf@size\z@#1}}}}}

لاتک برای درج شماره زیرنویس در متن چه می‌کند؟

از ماکروهای بالا به سادگی می‌توان دید که لاتک وارد محیط ریاضی می‌شود و شماره زیرنویس را به عنوان توان قرار می‌دهد.

در صورتی که در کلاس‌های ams دستور \@makefnmark بصورت زیر تعریف شده است:

\def\@makefnmark{%
  \leavevmode
  \raise.9ex\hbox{\fontsize\sf@size\z@\normalfont\@thefnmark}%
}

کلاس‌های ams برای درج شماره زیرنویس در متن چه کار می‌کنند؟

از ماکروی بالا به راحتی می‌توان دید که کلاس‌های ams برای درج شماره زیرنویس در متن داخل محیط ریاضی نمی‌شوند بلکه شماره زیرنویس را داخل یک \hbox قرار می‌دهند و این \hbox را به اندازه 0.9ex بالا می‌برند.

آیا می‌توانید تفاوت قرار دادن شماره زیرنویس در متن در خود لاتک و کلاس‌های ams را ببینید؟

یک مشاهده

اندازه شماره زیرنویس در متن در لاتک با اندازه شماره زیرنویس در متن با کلاس‌های ams زمانی که ریاضی اول نوشتار به کار رفته باشد، یکی است. برای دیدن این موضوع خروجی:

\documentclass{article}
\title{A Document $1$}
\author{Author}
\begin{document}
\maketitle
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\end{document}

را با خروجی:

\documentclass{amsart}
\title{A Document $1$}
\author{Author}
\begin{document}
\maketitle
\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}\footnote{This is a test.}
\end{document}

مقایسه کنید. در واقع تنها زمانی که در نوشتار ریاضی وجود ندارد، اندازه زیرنویس در متن با کلاس‌های ams کوچکتر است.

این تفاوت اندازه در زیرنویس از کجا ناشی می‌شود؟

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

در پاسخ به سوال شما در قسمت نظرات همین پاسخ

اگر xelatex را روی فایل زیر پردازش کنید:

\documentclass{amsart}
\begin{document}
\footnote{This is a test.}
\makeatletter
\showthe\sf@size
\makeatother
$x+1=3$
\footnote{This is a test.}
\end{document}

اندازه \sf@size را بصورت زیر نمایش می‌دهد:

\sf@size ->6

در صورتی که اگر بخواهید مقدار آن را بعد از یک فرمول ریاضی بدانید:

\documentclass{amsart}
\begin{document}
\footnote{This is a test.}
$x+1=3$
\makeatletter
\showthe\sf@size
\makeatother
\footnote{This is a test.}
\end{document}

مقدار زیر را به شما نشان می‌دهد:

\sf@size ->7

\sf@size اندازه قلم زیرنویس است. قبل از فرمول ریاضی، اندازه قلم شماره زیرنویس در متن ۶ است اما بعد از آن، اندازه ۷ است.

چرا اندازه شماره زیرنویس در لاتک استاندارد تغییر نمی‌کند اما در کلاس‌های ams تغییر می‌کند؟

در فایل تک بالا فهمیدیم که مقدار \sf@size قبل از فرمول ریاضی ۶ است اما بعد از فرمول ریاضی ۷ است. علت اینکه مقدار آن در محیط ریاضی ۷ است به خاطر تعریف زیر است:

\DeclareMathSizes{\@xpt}{\@xpt}{7}{5}

در لاتک استاندارد شماره زیرنویس در متن همیشه در محیط ریاضی درج می‌شود و در این مکان مقدار \sf@size همیشه ۷ است. بنابراین همه شماره زیرنویس‌های متن در لاتک استاندارد با اندازه ۷ درج می‌شوند.

در صورتی که در کلاس‌های ams شماره زیرنویس با در محیط افقی (هیچ‌گاه وارد محیط ریاضی نمی‌شوند) درج می‌شوند. تا مادامی که ریاضی حروف‌چینی نکرده‌اید، شماره زیرنویس در متن با اندازه ۶ درج می‌شود اما همین که یک فرمول ریاضی حروف‌چینی کردید، شماره زیرنویس‌های متن با اندازه ۷ درج می‌شوند.

درست است. من فرمول را دقیقا بعد از اولین پانویس قرار دادم. فونت شماره پانویس اول کوچک ولی بقیه بزرگتر بودند. من یک مورد را هنوز متوجه نشده‌ام. آیا بعد از اینکه یک محیط ریاضی استفاده کردیم makefnmark تغییر می‌کند؟ سوال دیگر اینکه آیا برای حل موضوع باید دستور فایل latex.ltx را استفاده کنم؟
توسط (3.6k امتیاز)
پاسخ هر دو سوال مثبت است.
توسط (26.4k امتیاز)
لطفاً ویرایش پاسخ من را در انتها ببینید. سعی کردم به پرسش شما با کمی توضیحات بیشتر جواب بدهم.
توسط (26.4k امتیاز)
سپاس. امروز نکات خوبی یاد گرفتم.
توسط (3.6k امتیاز)
لطفاً ویرایش آخر من هم را ببینید. امیدوارم موضوع شفاف شده باشد.
توسط (26.4k امتیاز)
پرسیدن سوال
سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

7.2k پرسش

6.6k پاسخ

23.7k نظر

11.7k کاربر

basket cart icon

محصولات مرتبط با LaTeX

در فروشگاه پارسی‌لاتک


basket cart icon

حمایت مالی از پارسی‌لاتک

برای تامین هزینه‌های نگه‌داری و به‌روزرسانی

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

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