جدول و شکل، محیطهای شناور هستن. لاتک برای قرار دادن اونا توی صفحات، اونا رو توی صف انتظار میذاره و هر وقت توی یه صفحهای جای مناسبی رو پیدا کنه، شکلها رو یکی یکی قرار میده. متاسفانه (یا خوشبختانه!) لاتک، موقع قرار دادن محیطهای شناور، نوبت رو رعایت نمیکنه؛ یعنی مثلاً ممکنه شناوری که قبل از همه، کدش توی فایل ورودی اومده، توی فایل خروجی، در مکان چهارم قرار بگیره.
حالا بعضی وقتها، این صف خیلی شلوغ میشه و در نتیجه، لاتک رفتار عجیبی از خودش نشون میده.
اما راهحل چیه؟
- اگه کتاب، تالیفی هستش و دست نویسنده باز هست، سعی کنین بین محیطهای شناور، متن هم بکار ببرین؛ به عبارت دیگه، چند تا محیط شناور بزرگ رو پشت سر هم قرار ندین.
از آرگومانهای h
، b
، t
یا ترکیبی از اونا به درستی استفاده کنین. دقت داشته باشین که موقع استفاده از مثلاً آرگومان h
، شما در واقع به لاتک میگین که
put the float here if it’s OK with you
یعنی به لاتک میگین که «این محیط شناور رو اگه از نظرت مشکلی نداره، بذارش اینجا». بنابراین لاتک، بعضی وقتها، تصمیم شما (استفاده از h
) رو نادیده میگیره و بر مبنای تصمیم خودش، شناورها رو قرار میده.
- استفاده دستی از دستور
\clearpage
: بعضی وقتها که صف انتظار شلوغ میشه، با این دستور، به لاتک میگین که شناور(های) قبل از این دستور رو استثنائاً از صف بیرون بکشه و توی خروجی قرار بده.
- عوض کردن جای کدهای شناورها در فایل سورس: اگه توی فایلتون از دستورهای
\label
و \ref
استفاده کرده باشین، لزومی نداره که محیط شناور همون جایی که توی ورودی اومده، توی خروجی هم ظاهر شده. گاهی وقتها میشه بین اشاره (ارجاع) محیط شناور در خروجی و خود محیط شناور در خروجی، چند صفحه فاصله میافته که کاملاً طبیعیه. نکته خیلی مهمی که در اینجا وجود داره، اینه که هیچوقت نباید محیط شناور قبل از ارجاعش توی خروجی، ظاهر بشه.
استفاده از بسته float
و آرگومان H
: با این آرگومان به لاتک میگین که
put it HERE, period!
یعنی شناور رو بذار اینجا، بحث هم نکن! برای اطلاعات بیشتر، راهنمای بسته رو بخونین.
نکته: معنی period توی فرهنگ لغت Longman:
used to emphasize that you have made a decision and that you
do not want to discuss the subject any more.