تالار گفتگوی پارسی‌لاتک

لاتک LATEX => گرافیک، جدول و شکل => نويسنده: مسهر باقری در ژوئن 10, 2012, 07:27:53 pm

عنوان: ماکروی فهرست شکل ها و جداول
رسال شده توسط: مسهر باقری در ژوئن 10, 2012, 07:27:53 pm
با سلام.
ماکروی فهرست شکل ها و همچنین ماکروی فهرست جداول به چه صورت هست؟
در واقع، می خوام عنوان این دو فهرست رو کمی به بالا جا به جا کنم.
با سپاس
عنوان: پاسخ : ماکروی فهرست شکل ها و جداول
رسال شده توسط: vafa در ژوئن 10, 2012, 08:07:07 pm
دقیقاً چی رو می‌خواهی جابه‌جا کنی؟ می‌تونی تصویری از چیزی که می‌خواهی تغییرش بدی نشون بدی؟
عنوان: پاسخ : ماکروی فهرست شکل ها و جداول
رسال شده توسط: مسهر باقری در ژوئن 11, 2012, 12:43:11 am
سلام وفا جان.
در حالت پیش فرض، عنوان فهرست مطالب و شکل هل و جدول ها کمی بالاتر از وسط صفحه شروع میشه.
فقط می خوام عنوان فهرست شکل ها و همینطور عنوان فهرست جدول ها بالاتر و به اولین سطر منتقل بشه.
ماکروی فهرست مطالب رو داشتم و تونستم اونو به اولین سطر منتقل کنم.
نمی دونم تونستم واضح بیان کنم یا نه.
عنوان: پاسخ : ماکروی فهرست شکل ها و جداول
رسال شده توسط: vafa در ژوئن 11, 2012, 07:34:58 am
در کلاس 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
    }