علی شکیبا

دفتر یادداشت دیجیتال برای هر چیز مفید!
۲۵ آبان ۹۳ ، ۲۳:۵۳

قرار دادن اثبات‌ها در پیوست

به طور معمول، هنگامی که مقاله‌ای را برای داوری ارسال می‌کنم، سعی می‌کنم همه اثبات‌ها (حتی برخی موارد که بسیار ساده هستند و فقط نوشتن آن‌ها طولانی است) را در متن مقاله ذکر کنم. به این شیوه فرایند داوری کمی برای داور ساده‌تر می‌شود و تعداد دورهای داوری به حداقل می‌رسد (البته امیدوارم :) ). اما برای اینکه متن خیلی شلوغ نشود و داور یا ویراستار فکر نکنند (!) که قصد ماست‌مالی کردن و افزایش تعداد صفحات را داشته‌ام، دو کار را انجام می‌دهم:

  1. همه اثبات‌ها، اعم از ساده یا دشوار یا آن‌هایی که لازم است پس از چاپ در متن اصلی ذکر شوند را به پیوست منتقل می‌کنم.
  2. این نکته که همه اثبات ها در پیوست آمده اند را هم در Cover Letter و هم در قسمت Introduction مقاله به صراحت ذکر می‌کنم!

تا قبل از این، این کار را کاملا به صورت زجرآوری به شیوه‌ای دستی انجام می دادم! اما امشب یک راهکار خوب در اینجا پیدا کردم که برای ارجاع‌های بعدی خودم، آن را در اینجا عینا ذکر می‌کنم. کافی  است قطعه کد لاتک زیر در ابتدای فایل پس از \usepackage ها بیاید.

\usepackage{etex,etoolbox}
\makeatletter
\providecommand{\@fourthoffour}[4]{#4}
\def\fixstatement#1{%
    \AtEndEnvironment{#1}{%
        \xdef\pat@label{\expandafter\expandafter\expandafter
            \@fourthoffour\csname#1\endcsname\space\@currentlabel}}}
\globtoksblk\prooftoks{1000}
\newcounter{proofcount}
\long\def\proofatend#1\endproofatend{%
    \edef\next{\noexpand\begin{proof}[Proof of \pat@label]}%
        \toks\numexpr\prooftoks+\value{proofcount}\relax=\expandafter{\next#1\end{proof}}
    \stepcounter{proofcount}}
\def\printproofs{%
    \count@=\z@
    \loop
    \the\toks\numexpr\prooftoks+\count@\relax
    \ifnum\count@<\value{proofcount}%
    \advance\count@\@ne
    \repeat}
\makeatother

همچنین پس از تعریف محیط‌های مورد نظر، لازم است تا بگوییم که برای چه محیط‌هایی می‌خواهیم چنین فرایندی رخ دهد!

\fixstatement{theorem}
\fixstatement{lemma}
\fixstatement{proposition}
\fixstatement{conjecture}
\fixstatement{corollary}

حال، به جای

\begin{proof}
 Now, I am going to show some world shaking result! P = NP! ;) (This is a joke!)
\end{proof}

به این صورت اثبات ها را می‌نویسیم

\proofatend
 Now, I am going to show some world shaking result! P = NP! ;) (This is a joke!)
\endproofatend

پس از آن قسمت پیوست به صورت زیر خواهد بود (به طور معمول، پیوست را بعد از مراجع قرار می‌دهم)

\appendix
  \section{Proofs}
  \printproofs

کار تمام است!

موافقین ۰ مخالفین ۰ ۹۳/۰۸/۲۵
علی شکیبا

latex

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی