در ابتدا اجازه بدید علت فاصله رو توضیح بدم یکم و بعد بریم سراغ حلش که جا بیفته.
همونطور که میدونین، محیط proof رو به این صورت تغییر دادیم که از خط جدید شروع بشه! از طرفی، محیطهایی مثل: enumerate، itemize وغیره، خودشون از خط جدید شروع میشن؛ پس وقتی یک محیطی مثل enumerate داخل محیط proof نوشته میشه، بالاش یک خط خالی ایجاد میشه. همچنین محیطهای لیستوار، بهصورت پیشفرض، اندکی فاصله قبل و بعدشون اضافه میکنن که از متن معمولی متمایز باشند.
اینهایی که گفتم باعثِ اون فاصلهها شدن و اون فاصلهها هم شرایطی رو به وجود آوردن که صفحههاتونم دو تا اضافه شدن.
برای رفع اون فاصلههای بخصوص، میتونین از بستۀ enumitem کمک بگیرین. از دو تا آپشن استفاده خواهیم کرد.
برای حذف فاصلۀ پیشفرض در بالا و پایین محیط enumerate وغیره:
topsep=0pt
برای حذف خط خالیِ ایجادشده:
before=\vspace*{-\baselineskip}
البته من توصیه میکنم از آپشن اول استفاده نکنین یا دستکم مقدارشو صفر نذارین.
این هم نمونه برای فایلتون:
\documentclass[11pt]{article}
\usepackage{amsthm} % for theorems and proof
\usepackage{enumitem} % for enumerate and etc.
% proof text in new line
\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
\pushQED{\qed}%
\normalfont \topsep6\p@\@plus6\p@\relax
\trivlist
\item\relax
{\bfseries
#1\@addpunct{.}}\\
}{%
\popQED\endtrivlist\@endpefalse
}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% define new environment
\newenvironment{myenum}%
{\enumerate[label=(\arabic*), ref=\arabic*,%
topsep=5pt, before=\vspace*{-\baselineskip}]}%
{\endenumerate}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\textwidth 14.5cm
\textheight 21.0cm
\oddsidemargin 0.4cm
\evensidemargin 0.4cm
\voffset -1cm
\begin{document}
Undesirable:
\begin{proof}
\begin{enumerate}[label=(\arabic*), ref=\arabic*]
\item We have undesirable item
\item We have undesirable item
\end{enumerate}
\end{proof}
Desirable:
\begin{proof}
\begin{enumerate}[label=(\arabic*), ref=\arabic*,%
topsep=5pt, before=\vspace*{-\baselineskip}]
\item We have desirable item
\item We have desirable item
\end{enumerate}
\end{proof}
My new environment:
\begin{proof}
\begin{myenum}
\item We have desirable item
\item We have desirable item
\end{myenum}
\end{proof}
\end{document}
توضیحات
آپشنهای
label=(\arabic*), ref=\arabic*
برای اینه که
شمارهگذاریها، داخل پرانتز
و موقع ارجاعدادن به اونها، بدون پرانتز
باشند.
اگه از محیطهای proof و enumerate زیاد استفاده خواهید کرد، یک محیط جدید تعریف کردم که دیگه نیازی به نوشتن آپشنها برای enumerate نباشد. اسمش اینه: myenum. اگه کد رو ببینین متوجه میشین.
خروجی:
