LaTeX: добавление пункта в оглавление

igbel

Как добавить произвольный пункт в оглавление, генерируемое командой \tableofcontents?
Сделал как написано в Львовском (с помощью \addcontentsline работать не захотело
Хочется получить следующий результат:
В исходном тексте что-то вроде:
\chapter*{Введение}
\команда добавления в оглавление
После компиляции в оглавлении:
Введение....................................№страницы

NHGKU2

Откомпилируй 2 раза, а не 1.

igbel

В том-то и дело, что даже один раз нормально не компилится

NHGKU2

А что за ошибку выдаёт при компиляции?
2. Запись \newcommand{\abcd}[2]{\hbox to\textwidth{#1\dotfill #2}} не забыл?

Sander

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

igbel

В преамбуле записано
\newcommand{\printdotspage}[2]{\hbox to\textwidth{#1\dotfill #2}}
В теле документа:
\tableofcontents
\chapter*{Введение}
\addcontentsline{toc}{printdotspage}{Введение}
Ошибка при компиляции:
! LaTeX Error: Command \l already defined.
Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.16 ...age}[2]{\hbox to\textwidth{#1\dotfill #2}}

igbel

А про необходимость повторной компиляции я знаю

NHGKU2

Дело в том, что команды со значком @ в документе использовать нельзя.
Создай файл printdotspage.sty следующего содержания:
\newcommand{\printdotspage}[2]{\hbox to\textwidth{#1\dotfill #2}}
А в преамбуле документа напиши:
\usepackage{printdotspage}
Должно помочь.

ereyzer

В преамбуле записано
\newcommand{\printdotspage}[2]{\hbox to\textwidth{#1\dotfill #2}}
В теле документа:
\tableofcontents
\chapter*{Введение}
\addcontentsline{toc}{printdotspage}{Введение}
А зачем вообще newcommand? Точечки или нет сами должны нарисоваться согласно стилю документа, также на это можно повлиять вторым аргументом \addcontentsline.

igbel

Всё заработало без проблем Огромное спасибо!

NHGKU2

igbel

Твоим советом я тоже попробую воспользоваться. Возможно, ты прав. Всем спасибо
Оставить комментарий
Имя или ник:
Комментарий: