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

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

مشکل در وارد کردن عنوان فصل و بخش جاری در میان متن

نویسنده ابوالفضل دیانت, جون 07, 2013, 10:43:19 قبل از ظهر

« قبلی - بعدی »

ابوالفضل دیانت

با سلام
من می‌خواهم که در جایی از متن عنوان فصل و بخش جاری را بیاورم. بدین منظور دو دستور زیر را استفاده کرده ام.

\makeatletter
\apptocmd{\@chapter}{\gdef\currentchapter{#2}}{}{}
\def\currentchapter{?}
\apptocmd{\@section}{\gdef\currentsection{#2}}{}{}
\def\currentsection{?}
\makeatother


اما متاسفانه دستور \currentchapter کار می کند اما دستور \currentsection کار نمی کند.
باتشکر

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

اگر دلیل خاصی برای استفاده از بسته etoolbox ندارید، می‌تونید از بسته nameref استفاده کنید:
\documentclass{book}
\usepackage{nameref}
\makeatletter
\newcommand*{\currentname}{\@currentlabelname}
\makeatother
\begin{document}
\chapter{Chapter Test}\label{ch1}
\section{Section One}
This is chapter: \nameref{ch1}\\
This is section: \currentname
\section{Section Two}
This is section: \currentname
\end{document}


ابوالفضل دیانت

با سلام
نه اصراری از استفاده از etoolbox ندارم.
مشکل من در استفاده از بسته nameref این است که:
قرار است که این کار به صورت خودکار انجام پذیرد، لذا ممکن است کاربر برای فصل و یا بخش label تعریف کند. من می خواهم دستوری را تعریف کنم که کاربر هر بار آن را وارد کرد، نام بخش بیاید. یعنی کاربر فقط بزند \currentsection و نام بخش چاپ شود.
در این حالت اگر شما از دستور  \currentname در بعد از subsection استفاده کنید این امر موجب می شود که نام subsection چاپ شود نه نام section
باتشکر