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

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

چگونه می‌توان فهرست مطالب را به صورت فایل tex داشت.

نویسنده فرشاد ترابی, اکتبر 20, 2014, 09:34:25 قبل از ظهر

« قبلی - بعدی »

فرشاد ترابی

سلام دوستان گرامی
آیا می‌توان فهرست مطالب، شکل‌ها یا هر فهرست دیگری که به صورت خودکار تولید می‌شود را به صورت فایل tex ذخیره کرد؟

vafa

فهرست مطالب در فایلی با پسوند .toc نوشته می‌شود، فهرست جداول در فایلی با پسوند .lot و فهرست اشکالی در فایلی با پسوند .lof.

فرشاد ترابی

ممنونم. از این موضوع مطلع هستم اما در این فایلها اطلاعات اضافه هم وجود داره که مثلا میشه به چنین خطی اشاره کرد
\contentsline {chapter}{\numberline {1}مفاهیم کلی}{1}{chapter.1}
اما هنگام حروفچینی، خود لیتک از این اطلاعات استفاده میکنه و یک فهرست تمیز و بدون اطلاعات اضافی می‌نویسه. خواستم ببینم آیا میشه چنین فهرست تمیزی تولید کرد؟

vafa

نقل قول از: فرشاد ترابی در اکتبر 20, 2014, 10:03:19 قبل از ظهر
ممنونم. از این موضوع مطلع هستم اما در این فایلها اطلاعات اضافه هم وجود داره که مثلا میشه به چنین خطی اشاره کرد
\contentsline {chapter}{\numberline {1}مفاهیم کلی}{1}{chapter.1}
اما هنگام حروفچینی، خود لیتک از این اطلاعات استفاده میکنه و یک فهرست تمیز و بدون اطلاعات اضافی می‌نویسه. خواستم ببینم آیا میشه چنین فهرست تمیزی تولید کرد؟
این اطلاعات اضافه نیستند. دقیقاً همین خط باعث ایجاد خط زیر در فهرست مطالب می‌شود:

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

مگر اینکه شما بخواهید همین خط بالا را داشته باشید که دردی از شما دوا نخواهد کرد.

وحید دامن‌افشان

نقل قول از: فرشاد ترابی در اکتبر 20, 2014, 09:34:25 قبل از ظهر
سلام دوستان گرامی
آیا می‌توان فهرست مطالب، شکل‌ها یا هر فهرست دیگری که به صورت خودکار تولید می‌شود را به صورت فایل tex ذخیره کرد؟
شما می‌خواید یه فایل tex داشته باشید که وقتی اجراش کنید، فهرست مطالب یه فایل دیگه رو براتون چاپ کنه. درسته؟

فرشاد ترابی

بله.  حالتهای دیگر را هم می‌توانید درنظر بگیرد. مثلا دانشجویان ما مجبورند برای کتابخانه فهرست مطالب خود را در فایل ورد بنویسند. اما تز خود را
با لیتک زده‌اند. بنابراین مجبورند که فهرست مطالب را دوباره تایپ کنند یا اینکه از فایل toc  بردارند اما لازم است مطالب غیر ضروری آن پاک شود و اطلاعاتی که در بالا
گفتم را دستی حذف کنند.

وحید دامن‌افشان

#6
نقل قول از: فرشاد ترابی در اکتبر 20, 2014, 09:58:35 بعد از ظهر
بله.  حالتهای دیگر را هم می‌توانید درنظر بگیرد. مثلا دانشجویان ما مجبورند برای کتابخانه فهرست مطالب خود را در فایل ورد بنویسند. اما تز خود را
با لیتک زده‌اند. بنابراین مجبورند که فهرست مطالب را دوباره تایپ کنند یا اینکه از فایل 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}



دلیل ویرایش: اضافه کردن امکان نمایش یادآوری.

vafa

کد زیر به همراه بسته 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