PDFLatex: невозможно создать индекс

PDFLatex: невозможно создать индекс

Основной файл:

\documentclass[dvipsnames,cmyk]{book}

% File Containing All the Control Settings
\usepackage{../../Style/mystyle}
\makeindex

\begin{document}

% Front Cover
\include {Front_Cover/frontcover}


% Chapters
\include {Chapters/CH_Analysis_of_Algorithms/Analysis_of_Algorithms}
\include {Chapters/CH_Abstract_Data_Types/Abstract_Data_Types}
\include {Chapters/CH_Arrays/Arrays}
\include {Chapters/CH_Linked_Lists/Linked_Lists}
\include {Chapters/CH_Stacks/Stacks}
\include  {Bibliography/biblio}

% Index
\printindex
\end{document}

Я составил его следующим образом:

$pdflatex master.tex

=> idxСоздан пустой файл

$makeindex master.idx

Это makeindex, версия 2.15 [TeX Live 2012] (kpathsea + поддержка Thai). Сканирование входного файла master.idx...выполнено (принято 0 записей, отклонено 0). Ничего не написано в master.ind. Транскрипт написан в master.ilg.

$pdflatex master.tex

Вывод: PDF БЕЗ индекса.

Я компилирую из командной строки, используя pdflatex(не используйте, latexчтобы избежать проблем с упаковкой графики)

Пожалуйста, помогите мне разобраться в этом вопросе.

решение1

(Просто чтобы закончить эту тему:) В вашем MWE было две проблемы:

  1. Я не вижу, что вы загружаете пакет makeidx. Кажется, вы загружаете его в mystyle.sty(ваше цитируемое сообщение говорит об этом).
  2. \index{...}Как упомянул Хайко, в вашем MWE нет макросов .

Реально работающий MWE для вашего случая будет выглядеть так:

%http://tex.stackexchange.com/questions/68538/pdflatex-unable-to-generate-index
\documentclass{book}

\usepackage{makeidx}   % load package
\makeindex             % make file(s) *.idx

\begin{document}
Test\index{Test} Text\index{Text|textbf}

\printindex            % print index here
\end{document}

в результате теперь все работает. Создание такого MWE самостоятельно очень поможет вам узнать, как работает TeX/LaTeX. Надеюсь, это вам поможет.

решение2

при вызове makeindexиз TexnicCenter у меня было то же самое сообщение об ошибке. Он отобразил mydocument.idxпустой файл, созданный при запуске LaTeX, и впоследствии не нашел никаких записей и не выдал никаких выходных данных. Я нашел номенклатуры там, mydocument.nloгде им и положено быть. Поэтому makeindexпросто взял неправильный входной файл и, следовательно, не выдал никаких выходных данных, потому что он был пуст.

Поэтому вам придется вызывать его makeindexсамостоятельно через командное окно в Windows (cmd). Вам нужно перейти в каталог, где лежит ваш документ (с cd...) Затем просто запустить

makeindex <filename>.nlo -s nomencl.ist -o <filename>.nls

И действительно makeindexсоздает выходной файл mydocuemnt.nls.

При повторном запуске LaTeX найдет mydocument.nlsи выдаст список номенклатуры.

Связанный контент