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

باسلام
همان طور که احتمالا می دانید ۲۱ دوره کنفرانس سالانه انجمن کامپیوتر قرار است در اسفندماه برگزار شود. ظاهرا قرار شد که اگر بشود اجازه داده شود که نویسندگان بتوانند مقالات خود را با LaTeX نیز ارسال کنند. استایلی آماده شده است. خوشحال می شوم نظر شما را نیز بدانم. در ضمن یک سوال هم داشتم و آن این است که آیا می‌توان یک جوری یک محیط جدید تعریف کرد و به نوعی قسمت کد

\twocolumn[
\begin{@twocolumnfalse}

....

\end{@twocolumnfalse}
]

را دیگر کاربران نبینند. من سعی کردم یک محیط جدید تعریف کنم اما نشد ظاهرا محیط های @ یه جورای خاصی هستند. در ضمن برای وارد کردن بسته های جدید روشی هست که نیاز نباشد کاربران استایل را تغییر بدهند.

به دلیل محدودیت حجم عکس ها قرار داده نشد.

باتشکر

فایل(های) پیوست:
پیشنهاد می‌کنم برچسب csicc2016 رو به پرسش اضافه کنید تا همه سوال‌ها در این برچسب قرار بگیرن. همچنین به جای ۲۱ نباید ۲۱امین بنویسید؟
توسط (6.6k امتیاز)
باسلام و تشکر اصلاح شد
توسط (3.2k امتیاز)
باتوجه به نظرهای راه گشای آقای وفا استایل را تا حدود زیادی تغییر دادم. استایل جدید را بروز شده قرار دادم
توسط (3.2k امتیاز)

1 پاسخ

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

در مورد سوالت: چیزی به نام محیط @twocolumnfalse وجود نداره و بنابراین تعریف شما استباه است. \if@twocolumn یک دستور شرطی هست که مشخص می‌کنه آیا متن باید بصورت دوستونه حروف‌چینی باشه یا بصورت تک‌چینی؟ من واقعاً نمی‌دونم هدف از تعریف همچین محیطی چیه ولی چیزی مانند این باید تعریف کنی:

\newenvironment{myonecolumn}{\@twocolumnfalse}{}

در مورد کلاسی که نوشتی چند پیشنهاد دارم:

۱) آیا واقعاً وجود این همه بسته لازم است؟ بهتر نیست کلاس دارای حداقل بسته‌ها باشد تا زمان پردازش کوتاه‌تر و سریعتر باشد؟

۲) همه \usepackageها را به \RequirePackage تغییر بده.

۳) فراخوانی زی‌پرشین در کلاس اشتباه است. اگر فردی بسته‌ای را فراخوانی کرد که نباید بعد از زی‌پرشین فراخوانی بشود، آنوقت چه باید کرد؟ دستکاری کلاس توسط کاربر مناسب نیست. اگر واقعاً می‌خواهی بسته زی‌پرشین را در کلاس فراخوانی کنی، از امکاناتی که بسته biditools در اختیارت قرار می‌دهد، استفاده کن تا زی‌پرشین آخرین بسته‌ای باشد که فراخوانی میشود (این کار بصورت خودکار توسط خود کلاس انجام شود).

۴) تعریف زیر لازم نیست چون زی‌پرشین و bidi این کار خودکار انجام می‌دهند:

\makeatletter
\let\orig@lr\lr
\renewcommand*{\lr}[1]{\texorpdfstring{\orig@lr{#1}}{#1}}
\makeatother

۵) در کلاس احتیاجی به دستورات \makeatletter و \makeatother نیست. این دو دستور بصورت خودکار توسط لاتک در ابتدا و انتهای کلاس (به ترتیب) قرار می‌گیرند.

۶) abstract دستور نیست بنابراین کد زیر اشتباه است:

\renewcommand\abstract{}

به جای آن تعریف زیر بهتر است:

\renewenvironment{abstract}{%
\ClassError{CSICC2016}{You can not use abstract environment in this class}{}
}{}

۷) من تنها تغییری که در دستور \@maketitle می‌بینم این است که شما دستور \NazaninBold را اضافه کرده‌ای. اولاّ این تعریف اشتباه است چون از کلاس article برداشته شده است و از فایل article-bidi-xetex.def برداشته نشده است بنابراین تغییرات بسته bidi پاک شده‌اند. و بعد اینکه برای تغییر یک یا دو دستور در یک دستور لازم نیست کل دستور را از نو تعریف کنی. می‌تونی از دستور \bidi@patchcmd که توسط بسته biditools تعریف شده است، استفاده کنی.

۸) تعریف زیر دوباره بهترین حالت ممکن نیست:

\let\oldabstract\abstract
\let\endoldabstract\endabstract
\renewenvironment{abstract}{%
\oldabstract%
\AbstractBold
\noindent
\textbf{\Large چکیده}%

}
{\endoldabstract%
}

برای قرار دادن چیزی در آغاز یک محیط می‌توانی از دستور \bidi@AtBeginEnvironment که توسط بسته biditools تعریف شده است، استفاده کنی.

۹) مورد ۸ در مورد تعریف figure نیز صدق می‌کند.

۱۰) موذد ۸ در مورد بازتعریف proof نیز صدق می‌کند.

۱۱) مورد ۸ در مورد بازتعریف محیط bibliography نیز صدق می‌کند.

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

بسیار بسیار متشکر از لطف شما. من دارم روی تک تک موارد کار می کنم که کمتر مزاحم شوم. در کل این biditools ابزار بسیار قدرتمند و بسیار مفیدی است. بازهم متشکر
توسط (3.2k امتیاز)
پرسیدن سوال
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

7.1k پرسش

6.6k پاسخ

23.5k نظر

7.4k کاربر

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

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