2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Слова "Глава" и "Приложение" в оглавлении
Сообщение19.01.2010, 00:25 
Два простых вопроса:
1) как правильно переопределить команду \l@chapter, чтобы она в оглавлении перед номером главы ставила слово "Глава"? Я делаю вариацию на тему из Львовского:
Код:
\renewcommand{\l@chapter}[2]%
{\pagebreak[3]\vspace{1em plus 1pt}%
\@tempdima=1.5em %
{%
\rightskip=\@pnumwidth %
\leftskip=\@tempdima %
\bf %
\noindent %
\hspace{-\leftskip}%
Глава #1\nolinebreak\hfil\nolinebreak
\rlap{\makebox[\@pnumwidth][r]{#2}}\par
\nopagebreak[3]%
}%
}%

но в результате номер страницы идет не справа, а сразу после названия главы. В чем моя ошибка?
2) как сделать то же самое в том же документе, но уже со словом "Приложение" для последних трех глав? Переопределить снова \l@chapter ведь уже не получится, она переопределяется только в стилевом файле...

 
 
 
 Re: Слова "Глава" и "Приложение" в оглавлении
Сообщение19.01.2010, 08:13 
Аватара пользователя
Цитата:
в результате номер страницы идет не справа, а сразу после названия главы

Попробовать сделать что-то вроде
Код:
Глава \nolinebreak\hfil #1\nolinebreak

В общем, задействовать \hfill, чтобы прижать номер страницы к правому краю.
Цитата:
Переопределить снова \l@chapter ведь уже не получится, она переопределяется только в стилевом файле...

Не только.
В преамбуле (хотя не обязательно в ней):
Код:
\makeatletter
переопределяете команды с @, как вам надо.
\makeatohter

 
 
 
 Re: Слова "Глава" и "Приложение" в оглавлении
Сообщение20.01.2010, 11:06 
Добавил \parfillskip=-\@pnumwidth, теперь номер страницы прижимается по правому краю, но появилась другая проблема: теперь TeX растягивает название главы в оглавлении. \hfil, похоже, не работает. Не знаете, можно ли где-то посмотреть полное определение \l@chapter для класса book (в Львовском "адаптированная" версия)? У меня при переопределении и без слова "Глава" вид не такой, как по умолчанию. Это наводит на мысль, что Львовский что-то важное опустил.

 
 
 
 Re: Слова "Глава" и "Приложение" в оглавлении
Сообщение21.01.2010, 09:54 
Аватара пользователя
Цитата:
Не знаете, можно ли где-то посмотреть полное определение \l@chapter для класса book

В определении класса. У меня book.cls лежит вот здесь:
Код:
/usr/share/texmf-dist/tex/latex/base/book.cls


Ещё для книг нахваливали класс memoir, можно спробовать его.

 
 
 
 Re: Слова "Глава" и "Приложение" в оглавлении
Сообщение23.01.2010, 13:44 
Спасибо, с тем, как сделать "Глава ..." в оглавлении, разобрался. Достаточно было взять реальное определение \l@chapter из класса и вписать в него слово "Глава".
А вот проблема с тем, чтобы на это место ставились разные слова, остается. У меня в книге сначала идут предисловия (как chapter*, там никаких дополнительных слов в оглавлении не нужно), затем главы (нужно "Глава"), потом приложения (нужно "Приложение"). Если я в стилевом файле пишу с "Глава", то сколько бы я потом в тексте не переопределял \l@chapter, все равно все в оглавлении у меня будет с "Глава" (для chapter* делаю \addcontentsline{toc}{chapter}{Предисловие редактора перевода}, но она наверняка использует ту же \l@chapter). Видимо, определение \l@chapter считывается один раз и используется для всего оглавления. Можно ли все-таки как-то получить разные варианты оформления?

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group