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

لاتک LATEX => حروف‌چینی مستندات => نويسنده: فرشاد ترابی در اكتبر 20, 2014, 09:34:25 am

عنوان: چگونه می‌توان فهرست مطالب را به صورت فایل tex داشت.
رسال شده توسط: فرشاد ترابی در اكتبر 20, 2014, 09:34:25 am
سلام دوستان گرامی
آیا می‌توان فهرست مطالب، شکل‌ها یا هر فهرست دیگری که به صورت خودکار تولید می‌شود را به صورت فایل tex ذخیره کرد؟
عنوان: پاسخ : چگونه می‌توان فهرست مطالب را به صورت فایل tex داشت.
رسال شده توسط: vafa در اكتبر 20, 2014, 09:44:38 am
فهرست مطالب در فایلی با پسوند .toc نوشته می‌شود، فهرست جداول در فایلی با پسوند .lot و فهرست اشکالی در فایلی با پسوند .lof.
عنوان: پاسخ : چگونه می‌توان فهرست مطالب را به صورت فایل tex داشت.
رسال شده توسط: فرشاد ترابی در اكتبر 20, 2014, 10:03:19 am
ممنونم. از این موضوع مطلع هستم اما در این فایلها اطلاعات اضافه هم وجود داره که مثلا میشه به چنین خطی اشاره کرد
\contentsline {chapter}{\numberline {1}مفاهیم کلی}{1}{chapter.1}اما هنگام حروفچینی، خود لیتک از این اطلاعات استفاده میکنه و یک فهرست تمیز و بدون اطلاعات اضافی می‌نویسه. خواستم ببینم آیا میشه چنین فهرست تمیزی تولید کرد؟
عنوان: پاسخ : چگونه می‌توان فهرست مطالب را به صورت فایل tex داشت.
رسال شده توسط: vafa در اكتبر 20, 2014, 10:13:27 am
ممنونم. از این موضوع مطلع هستم اما در این فایلها اطلاعات اضافه هم وجود داره که مثلا میشه به چنین خطی اشاره کرد
\contentsline {chapter}{\numberline {1}مفاهیم کلی}{1}{chapter.1}اما هنگام حروفچینی، خود لیتک از این اطلاعات استفاده میکنه و یک فهرست تمیز و بدون اطلاعات اضافی می‌نویسه. خواستم ببینم آیا میشه چنین فهرست تمیزی تولید کرد؟
این اطلاعات اضافه نیستند. دقیقاً همین خط باعث ایجاد خط زیر در فهرست مطالب می‌شود:

فصل ۱.   مفاهیم کلی                             ۱

مگر اینکه شما بخواهید همین خط بالا را داشته باشید که دردی از شما دوا نخواهد کرد.
عنوان: پاسخ : چگونه می‌توان فهرست مطالب را به صورت فایل tex داشت.
رسال شده توسط: وحید دامن‌افشان در اكتبر 20, 2014, 04:23:45 pm
سلام دوستان گرامی
آیا می‌توان فهرست مطالب، شکل‌ها یا هر فهرست دیگری که به صورت خودکار تولید می‌شود را به صورت فایل tex ذخیره کرد؟
شما می‌خواید یه فایل tex داشته باشید که وقتی اجراش کنید، فهرست مطالب یه فایل دیگه رو براتون چاپ کنه. درسته؟
عنوان: پاسخ : چگونه می‌توان فهرست مطالب را به صورت فایل tex داشت.
رسال شده توسط: فرشاد ترابی در اكتبر 20, 2014, 09:58:35 pm
بله.  حالتهای دیگر را هم می‌توانید درنظر بگیرد. مثلا دانشجویان ما مجبورند برای کتابخانه فهرست مطالب خود را در فایل ورد بنویسند. اما تز خود را
با لیتک زده‌اند. بنابراین مجبورند که فهرست مطالب را دوباره تایپ کنند یا اینکه از فایل toc  بردارند اما لازم است مطالب غیر ضروری آن پاک شود و اطلاعاتی که در بالا
گفتم را دستی حذف کنند.
عنوان: پاسخ : چگونه می‌توان فهرست مطالب را به صورت فایل tex داشت.
رسال شده توسط: وحید دامن‌افشان در اكتبر 20, 2014, 10:44:29 pm
بله.  حالتهای دیگر را هم می‌توانید درنظر بگیرد. مثلا دانشجویان ما مجبورند برای کتابخانه فهرست مطالب خود را در فایل ورد بنویسند. اما تز خود را
با لیتک زده‌اند. بنابراین مجبورند که فهرست مطالب را دوباره تایپ کنند یا اینکه از فایل toc  بردارند اما لازم است مطالب غیر ضروری آن پاک شود و اطلاعاتی که در بالا
گفتم را دستی حذف کنند.
برای این کار به راحتی می‌شه از بسته filecontents استفاده کرد. کد زیر رو داخل یه پوشه بریزید و اسمش رو بذارید مثلاً root_file.tex. با اجرای این فایل، به دلیل استفاده از بسته filecontents، یه فایل تِک به اسم toc_file.tex ایجاد می‌شه. حالا اگر این فایل toc_file.tex رو اجرا کنید، عیناً فهرست مطالب فایل root_file.tex رو توی خروچی چاپ می‌کنه.
همچنین اگه کاربر فراموش کنه دستور \tableofcontents  رو توی فایل اصلی قرار بده، توی خروجی فایل toc_file.tex یه یادآوری براش نمایش داده می‌شه.
\documentclass{book}
\usepackage{ptext}
\usepackage{filecontents}
\usepackage{xepersian}
\settextfont{XB Niloofar}
\begin{filecontents}{toc_file.tex}
\documentclass{book}
\usepackage{xepersian}
\settextfont{XB Niloofar}
\begin{document}
\IfFileExists{root_file.toc}{
\chapter*{فهرست مطالب}
\input{root_file.toc}}{فراموش کرده‌اید دستور \lr{tableofcontents} را در فایل اصلی قرار بدهید!}
\end{document}
\end{filecontents}
\begin{document}
\tableofcontents
\chapter{پیش‌گفتار}
\section{مقدمه}
\ptext[1-7]
\subsection{مقداری متن}
\ptext[8-12]
\chapter{پیش‌گفتار}
\section{مقدمه}
\ptext[8-12]
\subsection{یک عنوان آزمایشی}
\end{document}

دلیل ویرایش: اضافه کردن امکان نمایش یادآوری.
عنوان: پاسخ : چگونه می‌توان فهرست مطالب را به صورت فایل tex داشت.
رسال شده توسط: vafa در اكتبر 21, 2014, 03:23:23 am
کد زیر به همراه بسته txttoc باعث می‌شود تا متن فهرست مطالب (شماره قسمت، عنوان و شماره صفحه) در فایل filename-toc.txt که همانطور که از پسوندش پیداست یک فایل متنی است، نوشته شود:
\documentclass{book}
\usepackage{ptext}
\usepackage{txttoc}
\usepackage{xepersian}
\settextfont{XB Niloofar}
\begin{document}
\tableofcontents
\chapter{پیش‌گفتار}
\section{مقدمه}
\ptext[1-7]
\subsection{مقداری متن}
\ptext[8-12]
\chapter{پیش‌گفتار}
\section{مقدمه}
\ptext[8-12]
\subsection{یک عنوان آزمایشی}
\end{document}

بعد از اجرا محتویات فایل txt این خواهد بود:


1 پیش‌گفتار 3
1‏.‏1 مقدمه 3
1‏.‏1‏.‏1 مقداری متن 4
2 پیش‌گفتار 5
2‏.‏1 مقدمه 5
2‏.‏1‏.‏1 یک عنوان آزمایشی 6