2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Слова "Глава" и "Приложение" в оглавлении
Сообщение19.01.2010, 00:25 


29/12/08
20
Два простых вопроса:
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 
Аватара пользователя


01/02/09
206
Цитата:
в результате номер страницы идет не справа, а сразу после названия главы

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

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

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

 Профиль  
                  
 
 Re: Слова "Глава" и "Приложение" в оглавлении
Сообщение20.01.2010, 11:06 


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

 Профиль  
                  
 
 Re: Слова "Глава" и "Приложение" в оглавлении
Сообщение21.01.2010, 09:54 
Аватара пользователя


01/02/09
206
Цитата:
Не знаете, можно ли где-то посмотреть полное определение \l@chapter для класса book

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


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

 Профиль  
                  
 
 Re: Слова "Глава" и "Приложение" в оглавлении
Сообщение23.01.2010, 13:44 


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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group