LINUX.ORG.RU

LaTex Как создать предметный указатель


0

0

Я использую MikTex 2.8 Portable. Он виндовый.
Есть несколько вопросов по созданию предметного указателя.
Вот мой пример (test.tex):
\documentclass[a4paper,14pt,russian]{extarticle}
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\usepackage{makeidx}
\makeindex
\begin{document}
\parПроверка работы \index{makeindex} с русскими \index{символами}.
\printindex
\end{document}
В файле test.idx следующее:
\indexentry{makeindex}{1}
\indexentry{\IeC {\cyrs }\IeC {\cyri }\IeC {\cyrm }\IeC {\cyrv }\IeC {\cyro }\IeC {\cyrl }\IeC {\cyra }\IeC {\cyrm }\IeC {\cyri }}{1}

Предметный указатель создается, но слова, которые в него включены в указатель,
пропадают в тексте!
Т.е. в документе (в pdf) нет двух слов makeindex и символами.
Слова пропадаю даже если отключить:
%\usepackage{makeidx}
%\makeindex
%\printindex

Вопросы:
1. Как сделать, чтобы слова не пропадали из текста?
2. Как сделать нормальную сортировку для MikTex (если можно ссылку)?

Заранее спасибо.

Естественно. Так и должно быть. Определи команду вида:

\newcommand{\myndex}[1]{#1\index{#1}}

Будет дублироваться в тексте. Только далеко не всегда слово в тексте должно помещаться в алфавитный указатель в том же виде как оно и напечатано. Особенно это важно для русского языка (hint: окончания).

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

Очень странно.
С.М.Львовский Набор и вёрстка в системе LATEX
3-е издание, исправленное и дополненное:
Чтобы разметить файл для автоматической генерации индекса, нужно сделать две вещи. Во-первых, в преамбулу документа необходимо
включить команду \makeindex. Во-вторых, при условии, что это сделано, можно пометить те места в тексте, на которые вы хотите сослаться
в предметном указателе, командой \index (если команда \makeindex
в преамбуле отсутствует, то команды \index ничему не мешают, но и
никакого действия не оказывают).

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

Как-то вы неправлиьно Львовского читаете: все, что находится в аргументе команды \index, в текст не помещается. Подкорректирую ваш пример:

Проверка работы makeindex\index{makeindex} с русскими символами\index{символы}.
Подумайте сами: в указателе чаще всего слова в единственном (иногда - множественном) числе и именительном падеже. За вас изменять форму слова латех не будет, т.к. он этого не умеет и не должен уметь. Плюс, у вас очень упрощенный вариант аргумента команды \index: чаще бывают варианты \index{символ!русский}, \index{символы|(}...\index{символы|)}, \index{определение|textbf} и т.п.

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

:)

Вот бы еще кто-нибудь Кнутовскую книгу «Все про ТеХ» на нормальный человеческий язык перевел - некоторые его примеры вообще никак не объяснены, и совершенно непонятно, для чего там всякие \afterassignment и и т.п.

Youra_P, а вы как-то странно Львовского читаете. Только что я открыл это самое третье издание. Страница 176, пример:

Многие любят домашних кошек.\index{Кошки}
А никак не
Многие любят домашних \index{Кошки}.
Согласитесь, предложение «Многие любят домашних Кошки» не совсем вписывается в правила русского языка.

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