• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

روشی ابتدای برای رفع مشکل درج نشدن زیرنویس‌ها در محیطهای Framed شده

نویسنده sector121, آگوست 08, 2013, 03:13:42 قبل از ظهر

« قبلی - بعدی »

sector121


  • افزودن متن زیرنویس‌ها به یک فهرست،
  • نوشتن فهرست در پایان محیط


\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 (خارج جعبه) استفاده کنید.

sector121

بله،
در صورتی که متن داخل محیط چندین صفحه باشد، نتیجه زیبا نخواهد بود: در پایین صفحه آخر تمامی زیرنویس‌ها درج خواهند شد.

(از نویسنده بسته framed پرسیدم که چه راه حلی داره، ببینیم چی میگه!)

vafa

برای بسته framed و بسته‌های مشابه راه‌حل زیر را پیشنهاد می‌کنم. زیرنویس‌های داخل جعبه را بصورت خودکار در هر صفحه ذخیره کنید و آنها را در انتهای هر صفحه (جایی که جعبه می‌شکند) وارد کنید. این روش در بسته bidipoem به کار رفته است بنابراین می‌توانید کدهای لازم را از بسته bidipoem پیدا کنید و تنها باید بدانید کجا و به چه صورت بسته framed صفحه را می‌شکند.