- افزودن متن زیرنویسها به یک فهرست،
- نوشتن فهرست در پایان محیط
\def\M@FootText{}
\let\M@LFoot\LTRfootnote
\let\M@RFoot\RTLfootnote
\newcounter{M@OFootNumber}
\newcommand{\M@GetFootnotes}{\gdef\M@FootText{}\setcounter{M@OFootNumber}{0}\renewcommand{\LTRfootnote}[1]{\refstepcounter{M@OFootNumber}$^\fnsymbol{M@OFootNumber}$\listxadd{\M@FootText}{L##1}}\renewcommand{\footnote}[1] {\refstepcounter{M@OFootNumber}$^\fnsymbol{M@OFootNumber}$\listxadd{\M@FootText}{R##1}}}
\newcommand{\M@ShowFootnote}{
\let\LTRfootnote\M@LFoot
\let\RTLfootnote\M@RFoot
\renewcommand*{\do}[1]{
\refstepcounter{M@OFootNumber}
\def\M@FText{\fnsymbol{M@OFootNumber}\StrGobbleLeft{##1}{1}}
\IfBeginWith{##1}{L}{\\\raggedright\lr\M@FText}{\\\raggedleft\rl\M@FText}
}
\M@IFEXIST{\M@FootText}
{
\setcounter{M@OFootNumber}{0}
\HalfSkip
\IfBeginWith{\M@FootText}{L}{\left@footnoterule}{\right@footnoterule}
\setstretch{1.5}
\noindent
\footnotesize
\dolistloop{\M@FootText}
\gdef\M@FootText{}
}
}
(باید این رویکرد بوسیله یک کاربر حرفهای پیشرفته شود)
با سلام
آیا روش زیر رو هم امتحان کرده اید؟
نقل قول از آقای کارنپهلو:
در مورد مشکل شماره ۴ زیءرشین، این مشکل زیپرشین نیست و مشکل بستهای است که از آن استفاده میکنید. بصورت معمول، استفاده از زیرنویس داخل جعبه مشکل دارد و باید از ترکیب \footnotemark (داخل جعبه) و \footnotetext (خارج جعبه) استفاده کنید.
بله،
در صورتی که متن داخل محیط چندین صفحه باشد، نتیجه زیبا نخواهد بود: در پایین صفحه آخر تمامی زیرنویسها درج خواهند شد.
(از نویسنده بسته framed پرسیدم که چه راه حلی داره، ببینیم چی میگه!)
برای بسته framed و بستههای مشابه راهحل زیر را پیشنهاد میکنم. زیرنویسهای داخل جعبه را بصورت خودکار در هر صفحه ذخیره کنید و آنها را در انتهای هر صفحه (جایی که جعبه میشکند) وارد کنید. این روش در بسته bidipoem به کار رفته است بنابراین میتوانید کدهای لازم را از بسته bidipoem پیدا کنید و تنها باید بدانید کجا و به چه صورت بسته framed صفحه را میشکند.