LINUX.ORG.RU

LaTeX: Оформление приложений (нумерация, оглавление, колонтитулы)

 , , ,


1

2

Собственно, исходник (не самый минимальный, заголовок перегружен, но строчки оставлены для представления об используемых пакетах) в http://pastebin.com/ecNtqR8Q.

Колонтитулы, записи в оглавлении для основного содержимого (две главы) меня устраивают более чем. Хотелось бы очень достичь следующего результата:

  1. нумерация (и в оглавлении, и на страницах, и в колонтитулах) буквами русского алфавита;
  2. записи в оглавлении «Приложение А Первое приложение», «Приложение Б Второе приложение» и т.д.;
  3. колонтитулы в приложениях с подписями «Приложение А», «Приложение Б» и т.д.;
  4. ещё какие-то замечания эстетов.

Заранее спасибо, джентльмены!


Ответ на: комментарий от Evgueni

Конкретно в моём примере замена «extreport» на «book» не приводит к изменениям по упомянутым пунктам. Возможно, причиной тому используемые пакеты в заголовке. С настройками по умолчанию и при использовании класса «book» fancyhdr действительно даёт в колонтитуле «ПРИЛОЖЕНИЕ A. ПЕРВОЕ ПРИЛОЖЕНИЕ», хотелось бы без названия приложения и не в верхнем регистре.

akj
() автор топика

1,3

\fancyhead{}
\fancyhead[C]{\nouppercase\appendixname\ \thechapter}
\appendix
\renewcommand{\thechapter}{\Asbuk{chapter}}

anonymous
()
Ответ на: комментарий от akj

Кое-что прояснилось

Вот здесь есть грубое решение пункта 2. Позволяет мне в содержании указать «Приложение А Первое приложение», «Приложение Б Второе приложение» и т.д.

В преамбуду добавляю такую штуку:

\makeatletter
\newcommand\appendix@chapter[1]{%
  \renewcommand{\thechapter}{\Asbuk{chapter}}%
  \refstepcounter{chapter}%
  \orig@chapter*{\appendixname~\thechapter~~#1}%
  \addcontentsline{toc}{chapter}{\appendixname~\thechapter~~#1}%
}
\let\orig@chapter\chapter
\g@addto@macro\appendix{\let\chapter\appendix@chapter}
\makeatother

Всё бы хорошо, но, я так понимаю, что макрос заменяет \chapter{Первое приложение} на \chapter{Первое приложение}, и оформление fncychap реагирует соответствующим образом. Нельзя ли как-то подкрутить оформление, чтобы вместо этого было другое?

akj
() автор топика
Ответ на: комментарий от akj

Элементарно: выдирай из своего стиля нужные команды и правь так, как тебе надо. Я так и делал, когда лень было сидеть и что-то по-человечески выделывать.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Я бы с удовольствием, но я там почти ничего не понимаю в этих макросах. Из описания стиля ясно, что есть для \chapter и \chapter* соответственно две команды \DOTI{#1} и \DOTIS{#1}. Судя по комментариям в исходнике эти команды переопределяются в зависимости от параметра внешнего вида (передаётся при загрузке стиля), но прямая паста содержимого не работает, до и переопределение этих команд в исходнике одинаково, но даёт разный результат при компиляции. Или я что-то не понимаю.

akj
() автор топика
Ответ на: комментарий от akj

Или я что-то не понимаю.

Есть такое. Я многое пишу на чисто интуитивном уровне — уж больно дядька Кнут не умеет объяснять материал. Хоть книжка "Все про ТеХ" и хороша, но в ней понятно далеко не все. И, что обидно, самое интересное как раз и не понятно.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Я более-менее разобрался. fncychap — довольно короткий стилевик, подкручивающий разные переменные, определённые в базовых классах (book, report и т.п.) и производных (в т.ч. в моём extreport). Есть в классе extreport две команды: \makechapterhead и \makeschapterhead. Они рисуют заголовки соответственно для глав и глав со звёздами. Т.е. если переопределить, то будет как надо. Вот код, который решает задачу из пунктов 1..3:

\makeatletter
\newcommand\appendix@chapter[1]{%
  \renewcommand{\@makeschapterhead}[1]{\@makechapterhead{#1}}%
  \renewcommand{\thechapter}{\Asbuk{chapter}}%
  \refstepcounter{chapter}%
  \orig@chapter*{\appendixname~\thechapter~#1}%
  \addcontentsline{toc}{chapter}{\appendixname~\thechapter~~#1}%
}
\let\orig@chapter\chapter
\g@addto@macro\appendix{\let\chapter\appendix@chapter}
\makeatother

Для полного счастья осталось подружить subfig и нумерацию кириллицей.

akj
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.