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

لاتک LATEX => حروف‌چینی مستندات => نويسنده: پیام شیوا در نوامبر 11, 2011, 08:01:50 pm

عنوان: دو سوال در مورد سفارشی کردن «فهرست مطالب»
رسال شده توسط: پیام شیوا در نوامبر 11, 2011, 08:01:50 pm
سلام


با تشکر
عنوان: پاسخ : تنظیم فهرست مطالب
رسال شده توسط: سید مهدی موسوی در نوامبر 11, 2011, 09:48:02 pm
برای سوال دوم می‌توانید فایل ضمیمه را مشاهده کنید.
عنوان: پاسخ : تنظیم فهرست مطالب
رسال شده توسط: vafa در نوامبر 12, 2011, 04:54:49 am
سلام

  • چگونه می‌توانم در فهرست مطالب «سرآغاز» را با «فصل یکم» هم‌خط کنم؟
  • چگونه می‌توانم کاری کنم که به جای عبارت«فهرست مطالب» عبارت دیگری نوشته شود؟

با تشکر
\addcontentsline{toc}{chapter}{\numberline{}سرآغاز}
عنوان: پاسخ : تنظیم فهرست مطالب
رسال شده توسط: پیام شیوا در نوامبر 17, 2011, 08:22:04 am
برای سوال دوم می‌توانید فایل ضمیمه را مشاهده کنید.
چرا وقتی از دستورات معادل پارسی استفاده می‌کنم نتیجه نمی‌گیرم؟
عنوان: پاسخ : تنظیم فهرست مطالب
رسال شده توسط: vafa در نوامبر 17, 2011, 08:30:19 am
چرا وقتی از دستورات معادل پارسی استفاده می‌کنم نتیجه نمی‌گیرم؟
چون در تعریف طبقه‌نوشتار، \contentsname قرار دارد نه \عنوان‌فهرست مطالب. برای اینکه کار کند باید \عنوان‌فهرست مطالب به جای \contentsname باشد:
\documentclass{book}
\usepackage{xepersian}
\راحت
\ات‌حرف
\renewcommand\tableofcontents{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\عنوان‌فهرست‌مطالب
        \@mkboth{%
           \MakeUppercase\عنوان‌فهرست‌مطالب}{\MakeUppercase\عنوان‌فهرست‌مطالب}}%
    \@starttoc{toc}%
    \if@restonecol\twocolumn\fi
    }
\ات‌دیگر
\فرمان‌ازنو{\عنوان‌فهرست‌مطالب}{اسم دلخواه}
\شروع{نوشتار}
\فهرست‌مطالب
\فصل*{سرآغاز}

\addcontentsline{toc}{chapter}{سرآغاز}
متن سرآغاز
\فصل{فصل یکم}
متن فصل یکم
\پایان{نوشتار}
عنوان: پاسخ : تنظیم فهرست مطالب
رسال شده توسط: پیام شیوا در نوامبر 17, 2011, 08:54:15 am
چون در تعریف طبقه‌نوشتار، \contentsname قرار دارد نه \عنوان‌فهرست مطالب. برای اینکه کار کند باید \عنوان‌فهرست مطالب به جای \contentsname باشد:


با تشکر
عنوان: پاسخ : تنظیم فهرست مطالب
رسال شده توسط: vafa در نوامبر 17, 2011, 09:01:12 am
  • کار eqcommand چیست؟ چرا در این مورد کار نمی‌کند؟
  • اگر تنها راه استفاده از فرمان \عنوان‌فهرست‌مطالب استفاده از ماکروی فوق است، بهتر نیست آن را به زی‌پرشین اضافه کنید؟

با تشکر
۱) کار دستور فوق معادل‌سازی دستورات پارسی و لاتین است همانطور که در راهنما آمده است. دستور \عنوان‌فهرست‌مطالب قبلاً معادل‌سازی شده است و منظور شما را از اینکه چرا در این مورد کار نمی‌کند نمی‌دانم.
۲) خیر.
عنوان: پاسخ : تنظیم فهرست مطالب
رسال شده توسط: پیام شیوا در نوامبر 17, 2011, 09:38:10 am
۱) کار دستور فوق معادل‌سازی دستورات پارسی و لاتین است همانطور که در راهنما آمده است. دستور \عنوان‌فهرست‌مطالب قبلاً معادل‌سازی شده است و منظور شما را از اینکه چرا در این مورد کار نمی‌کند نمی‌دانم.
۲) خیر.

شاید من درست متوجه نشده‌ام، ولی من فکر می‌کردم که وقتی دو دستور را با استفاده از eqcommand معادل می‌کنید، می‌توانند در هر شرایطی به جای هم مورد استفاده قرار گیرند. ولی در این مورد فرمودید که چون در تعریف طبقه‌نوشتار از دستور لاتین استفاده شده دستور پارسی کار نمی‌کند.

اگر بدون اضافه کردن ماکرو به preamble نوشتار استفاده از دستور \عنوان‌فهرست‌مطالب وجود ندارد، فلسفه‌ی وجودی این دستور در زی‌پرشین چیست؟ آیا یک پیشنهاد به کاربران است که هنگام تغییر کدها آن‌ها را به گونه‌ای تغییر دهند که با دستور \عنوان‌فهرست مطالب کار کنند و نه مثلاً \ع‌فهرست‌م؟

با تشکر
عنوان: پاسخ : تنظیم فهرست مطالب
رسال شده توسط: vafa در نوامبر 17, 2011, 09:47:30 am
شاید من درست متوجه نشده‌ام، ولی من فکر می‌کردم که وقتی دو دستور را با استفاده از eqcommand معادل می‌کنید، می‌توانند در هر شرایطی به جای هم مورد استفاده قرار گیرند. ولی در این مورد فرمودید که چون در تعریف طبقه‌نوشتار از دستور لاتین استفاده شده دستور پارسی کار نمی‌کند.

اگر بدون اضافه کردن ماکرو به preamble نوشتار استفاده از دستور \عنوان‌فهرست‌مطالب وجود ندارد، فلسفه‌ی وجودی این دستور در زی‌پرشین چیست؟ آیا یک پیشنهاد به کاربران است که هنگام تغییر کدها آن‌ها را به گونه‌ای تغییر دهند که با دستور \عنوان‌فهرست مطالب کار کنند و نه مثلاً \ع‌فهرست‌م؟

با تشکر
معادل‌سازی دستورات پارسی به این صورت کار می‌کند که هر جا از دستور پارسی استفاده کنید، معنای دستور لاتین را خواهید داشت، اگر تعریف دستور لاتین را تغییر دهید، تعریف دستور پارسی هم تغییر خواهد کرد اما با تغییرتعریف  دستور پارسی، دستور لاتین تغییری نخواهد کرد. در این مورد در لاتک بصورت پیش‌فرض در تعریف دستور \tableofcontents دستور \contentsname داخل \chapter* قرار می‌گیرد بنابراین وقتی تعریف دستور \عنوان‌فهرست‌مطالب را تغییر می‌دهید تعریف دستور \contentsname تغییر نمی‌کند و چون در تعریف اصلی \tableofcontents دستور \contentsname به کار رفته است اینی می‌شود که شما می‌بینید.

فلسفه وجود این دستور این است که می‌توانید از \عنوان‌فهرست‌مطالب بجای \contentsname استفاده کنید اما نمی‌توانید با تغییر تعریف \عنوان‌فهرست‌مطالب تعریف \contentsname را تغییر دهید ولی می‌توانید با تغییر تعریف دستور \contentsname تعریف دستور \عنوان‌فهرست‌مطالب را تغییر دهید. از سوی دیگر ممکن است بخواهید از این دستور در بخشی از متن خود استفاده کنید پس می‌توانید بجای استفاده از \contentsname از دستور \عنوان‌فهرست‌مطالب استفاده کنید.