• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

ماکروی فهرست شکل ها و جداول

نویسنده مسهر باقری, جون 10, 2012, 07:27:53 بعد از ظهر

« قبلی - بعدی »

مسهر باقری

با سلام.
ماکروی فهرست شکل ها و همچنین ماکروی فهرست جداول به چه صورت هست؟
در واقع، می خوام عنوان این دو فهرست رو کمی به بالا جا به جا کنم.
با سپاس

vafa

دقیقاً چی رو می‌خواهی جابه‌جا کنی؟ می‌تونی تصویری از چیزی که می‌خواهی تغییرش بدی نشون بدی؟

مسهر باقری

#2
سلام وفا جان.
در حالت پیش فرض، عنوان فهرست مطالب و شکل هل و جدول ها کمی بالاتر از وسط صفحه شروع میشه.
فقط می خوام عنوان فهرست شکل ها و همینطور عنوان فهرست جدول ها بالاتر و به اولین سطر منتقل بشه.
ماکروی فهرست مطالب رو داشتم و تونستم اونو به اولین سطر منتقل کنم.
نمی دونم تونستم واضح بیان کنم یا نه.

vafa

در کلاس book حداقل، ماکروی فهرست جداول به این صورته:

\newcommand\listoftables{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listtablename}%
      \@mkboth{%
          \MakeUppercase\listtablename}%
         {\MakeUppercase\listtablename}%
    \@starttoc{lot}%
    \if@restonecol\twocolumn\fi
    }

همانطور که در کد بالا می‌بینی عنوان رو \chapter* وارد می‌کنه که خوب خودش مقداری فاصله عمودی وارد می‌کنه. اگر نمی‌خواهی هیچ فاصله عمودی نباشه بهتره که از \chapter* استفاده نشه پس شاید چیزی مثل این کمکت کنه:

\renewcommand\listoftables{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \noindent{\Huge \bfseries\listtablename}\par\nobreak%
      \vskip 40\p@%
      \@mkboth{%
          \MakeUppercase\listtablename}%
         {\MakeUppercase\listtablename}%
    \@starttoc{lot}%
    \if@restonecol\twocolumn\fi
    }

ماکروی فهرست شکل‌ها هم مشابه همین تعریف شده:

\newcommand\listoffigures{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listfigurename}%
      \@mkboth{\MakeUppercase\listfigurename}%
              {\MakeUppercase\listfigurename}%
    \@starttoc{lof}%
    \if@restonecol\twocolumn\fi
    }

پس باید مانند قبلی تغییرش بدی:

\renewcommand\listoffigures{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \noindent{\Huge\bfseries\listfigurename}\par\nobreak%
    \vskip40\p@%
      \@mkboth{\MakeUppercase\listfigurename}%
              {\MakeUppercase\listfigurename}%
    \@starttoc{lof}%
    \if@restonecol\twocolumn\fi
    }