2014 dxdy logo

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

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




 
 Название глав с шаблонными фрагментами
Сообщение02.02.2018, 18:31 
Аватара пользователя
А можно ли сделать так, чтобы в названиях глав автоматически подставлялись какие-то шаблонные фразы? И чтобы можно было от них избавляться в \tableofcontents?

Вот, допустим, пишу я:

...
Лабораторная работа № 2
Поедание котят

Котят едят вот так-то

Лабораторная работа №3
Поглаживание ёжиков

Ёжиков гладят вот такими способами
...

Мне бы хотелось сделать так, чтобы слова "Лабораторная работа № 2" были выделены одним шрифтом, "Поедание котят" - другим, и стояло в новой строчке.
Сейчас я делаю это при помощи

Код:
\newcommand{\anonchapter}[1]{
\chapter*{#1}\addcontentsline{toc}{chapter}
{\numberline {}#1}
{\setcounter{section}{0}}
{\setcounter{figure}{0}}
{\setcounter{table}{0}}
{\setcounter{equation}{0}}
}


И потом уже

Код:
\anonchapter{Лабораторная работа №2}
\setcounter{chapter}{2}

\begin{center}
Поедание котят
\end{center}


Но в автоматическом \tableofcontents после этого получается

...
Лабораторная работа № 2 ... 12
Лабораторная работа № 3 ... 15
...

А мне бы хотелось видеть там что-то вроде

...
2. Поедание котят ... 12
3. Поглаживание ёжиков ... 15
...

Да и не хочется, если честно, повторять одну и ту же фразу в начале нового документа. К тому же кто его знает, сколько я потом работ захочу добавить где-нибудь между первой и второй...

Можно ли как-то задать anonchapter, чтобы он автоматически прибавлял слова про лабораторную работу, автоматически ставил номер, а название брал из нужной фигурной скобки и форматировал первую строчку так, а вторую по-другому?

 
 
 
 Re: Название глав с шаблонными фрагментами
Сообщение05.02.2018, 13:01 
Аватара пользователя
Можно сделать всё, и более того.

В первую очередь не стоит ломать стандартные механизмы нумерации, чтобы потом выстраивать их заново руками. \setcounter - это вроде goto в иных языках: пользоваться можно, но это верный знак, что Вы что-то делаете не так.

Чем Вам не нравится такой подход, например:
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[oneside]{book}
\usepackage[russian]{babel}
\usepackage[cp1251]{inputenc}
\usepackage{lipsum}

\begin{document}
\renewcommand{\chaptername}{Лабораторная работа}
\tableofcontents

\chapter{Поедание котят}
\lipsum[1-2]
\chapter{Поглаживание ёжиков}
\lipsum[3-4]

\end{document}
 


Если дело только в форматировании заголовков, тут нужно переопределять команду \@makechapterhead.

 
 
 
 Re: Название глав с шаблонными фрагментами
Сообщение07.02.2018, 12:35 
Аватара пользователя
Мне это надо было потому что для изменения заголовков глав я определял отдельный anonchapter, из-за которого нумерация ломалась, и её приходилось запускать насильно.
Но теперь, когда я сделал всё при помощи makechapterhead, этой проблемы больше нет. Спасибо.

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


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