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

لاتک LATEX => طراحی صفحه => نويسنده: enem62 در ژوئن 14, 2012, 07:29:00 pm

عنوان: وسط چین کردن عنوان فصل‌ها، فهرست مطالب، عنوان پیوست‌ها و ...
رسال شده توسط: enem62 در ژوئن 14, 2012, 07:29:00 pm
سلام
من از نمونه پایان‌نامه آماده شده با استفاده از کلاس Tabriz_thesis، نگارش 0.4 آقای وحید دامن‌افشان استفاده میکنم.
چطوری میشه همه عنوان ها رو وسط چین کرد؟ (عنوان فصل ها ، فهرست ، پیوست ، مراجع و...)
عنوان: پاسخ : وسط چین کردن عنوان فصل‌ها، فهرست مطالب، عنوان پیوست‌ها و ...
رسال شده توسط: حسن ذاکری در ژوئن 14, 2012, 07:43:37 pm
سریعترین راه رسیدن به جواب، جستجوی تالار است:
http://www.parsilatex.com/forum/SMF/index.php?topic=1071.msg5958#msg5958
عنوان: پاسخ : وسط چین کردن عنوان فصل‌ها، فهرست مطالب، عنوان پیوست‌ها و ...
رسال شده توسط: M.D در اوت 05, 2012, 03:17:31 pm
من برای وسط چین کردن عنوان فصل از دستور زیر استفاده کردم :
\newcommand{\cchapter}[1]{\chapter[#1]{\centering #1}}
و به جای نوشتن \chapter از دستور \cchapter استفاده کردم. اما مشکل اینجا بود که من میخواستم فقط chapter وسط چین بشه و نه فهرست مطالب. از طرفی این دستور باعث وسط چین شدن section ها نمیشه ولی شمارۀ اونهارو میدزده و فقط عنوانش رو ذکر میکنه.
برای همین از دستور زیر استفاده کردم :
\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \centering\normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
        \Huge\bfseries {\chapterfont \@chapapp}\space \thechapter
        % \Huge\bfseries {\chapterfont \@chapapp\space \thechapter}
        \par\nobreak
        \vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
    \Huge \bfseries{\chapterfont #1}\par\nobreak
    \vskip 40\p@
  }}
\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \centering
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries   #1\par\nobreak
    \vskip 40\p@
  }}
\makeatother
که این دستور برای book تعریف شده و برای report جواب نداد. فایل .log رو پیوست کردم. لطفاً راهنمایی کنید.
عنوان: پاسخ : وسط چین کردن عنوان فصل‌ها، فهرست مطالب، عنوان پیوست‌ها و ...
رسال شده توسط: حسن ذاکری در اوت 05, 2012, 07:12:30 pm
ماکروی شما از ماکروی chapter در کلاس book استخراج شده که در دو خط با report فرق دارد.
باید به این شکل تغییر یابد:
\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \centering\normalfont
    \ifnum \c@secnumdepth >\m@ne
        \Huge\bfseries {\chapterfont \@chapapp}\space \thechapter
        % \Huge\bfseries {\chapterfont \@chapapp\space \thechapter}
        \par\nobreak
        \vskip 20\p@
    \fi
    \interlinepenalty\@M
    \Huge \bfseries{\chapterfont #1}\par\nobreak
    \vskip 40\p@
  }}
\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \centering
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries   #1\par\nobreak
    \vskip 40\p@
  }}
\makeatother

به این شرط که دستور \chapterfont‌ قبلاً توسط شما و یا سبکی که استفاده می‌کنید تعریف شده باشد.