اولا از اینکه مهربانانه و سریع به سئوالات پاسخ می دهید کمال تشکر را دارم. به نظر من این گروه از لحاظ تعداد پاسخ به سئوالات حرف اول را می زند...
راستش نمی خواستم با پرحرفی سر دوستان را درد بیارم ولی مثل اینکه مجبورم این کار را بکنم...
مقاله ای در حال نوشتن دارم که فعلا مشخص نشده برای چه مجله ای خواهم فرستاد: IEEE یا ACM یا Springer یا ... بنابراین نمی دانم که کل مقاله تک ستونی است یا دو ستونی. چیزی که الان مشخص است این است که در وسط این مقاله جدولی دارم که می خواهم حتما تک ستونی باشد. دو دلیل هم برای این کار دارم: یکی اینکه عرض جدول زیاد است و دوم اینکه جدول را با longtable ساخته ام و longtable فقط در حالت تک ستونی کار می کند. بنابراین نیاز داشتم که محیطی مثلا به نام OneColumn داشته باشم که جدول را درون آن قرار دهم. هرچه گشتم چنین محیطی وجود نداشت مثلا بسته multicols فقط محیط هایی برای ستون های ۲ و بیشتر دارد. بنابراین این محیط را خودم به همراه دوستان LaTeX Community ایجاد کردم که به این صورت است:
\newcommand*{\restorecolumns}{}
\makeatletter
\newenvironment*{OneColumn}{%
\if@twocolumn
\balance
\let\restorecolumns\twocolumn
\onecolumn
\else
\let\restorecolumns\@empty
\fi
\ignorespaces
}{%
\nobalance
\restorecolumns
\ignorespacesafterend
}
\makeatother
این محیط خیلی خوب وظیفه خود را عمل می کند و اما مشکل....
اگر محیط OneColumn را در یک قالب تک ستونی استفاده کنم به دلیل اینکه هم خود مقاله و هم جدول تک ستونی هستند بین جدول و متن مقاله هیچ فاصله ای نمی افتد و خیلی عالی جواب می دهد ولی اگر محیط OneColumn را در یک قالب دو ستونی مانند IEEEtran استفاده کنم سوییچ کردن بین تک ستونی و دو ستونی باعث می شود که قبل و بعد از جدول صفحه شکسته شود که خیلی فضا هدر خواهد رفت
بنابراین اگر بتوانیم کاری کنیم که دستورات twocolumn\ و onecolumn\ باعث شکت صفحه نشوند این مشکل رفع می شود. این همان سئوالی است که اول پرسیده بودم.
ضمنا یک متن ساده و یک جدول تک ستونی را یک بار با قالب article و یک بار با قالب IEEE ساختم که مشکل را ملاحضه بفرمایید. قالب IEEEtran را هم ضمیمه کردم.
باتشکر
سیف زاده