Miktex \printindex 不起作用

Miktex \printindex 不起作用

我使用 MiKTeX 2.9 并使用 {imakeidx } 在 beamer 中制作索引列表。但我在日志中收到消息:没有文件“DM2019_7 (2)”。ind。[103

] 在 texstudio 中它可以工作。请帮忙。

例子 :

    \documentclass[mathserif,12pt,aspectratio=169]{beamer}


\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[scaled=0.95]{PTSans}
\usepackage{graphicx}
%\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{epstopdf}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{latexsym,amssymb,amsthm}




\usepackage{multicol}


\newenvironment{theindex}{}{}
\usepackage{imakeidx}
\renewenvironment{theindex}{%
    \let\item\par   % definitions for subitem etc
    \let\subitem\par
    \let\subsubitem\par
}
\makeatletter
\def\@idxitem{\par}

\def\imki@firstpagestyle{empty}
\makeatother
\newcommand\indexspace{}
\makeindex

\begin{document} 
\begin{frame}
\index{apple}
\end{frame}
\begin{frame}
\index{Algorithm}
\end{frame}
\printindex
\end{document}

答案1

您是否忘记makeindex在 BIB 文件所在目录中通过命令行运行?

必须执行此命令才能从 BIB 文件生成索引文件。

答案2

如果您确保导航到包含 DM2019_7 (2).tex 的文件夹并在地址栏中输入 cmd(打开控制台窗口),它应该可以工作

运行后没有出现任何错误

pdflatex "DM2019_7 (2).tex"
pdflatex "DM2019_7 (2).tex"
makeindex "DM2019_7 (2).tex"
pdflatex "DM2019_7 (2).tex"

终于进入

"DM2019_7 (2).pdf"

命令打开查看器,其中显示 3 个页面
第一页看起来是空白的,但有一个不可见的占位符 \index apple
第二页看起来也是空白的,因为这是使用 start frame index item >end frame 要求的,因此有一个不可见的 Algorithm 条目。
第三页是前两页的索引,索引词为 Algorithm, 2 和 apple, 1

来自 Texmaker和许多专业编辑一样,您会被警告不要保存文件名中带有空格的文件。在这种情况下,这不会停止编译工作,但是我建议您听取该警告和其他有关下划线的警告,不要使用奇数或重音字符,只是为了养成以后不必继续对文件名进行排序的习惯。
因此,我建议您将文件名更改为 DM2019-7-2.tex

如果你运行编译(快速构建)2次第一次运行出现警告是正常的,当它尝试解决所有后台链接时,合并运行通常应该没有错误。

在此处输入图片描述

相同的注释[来自 JouleV 之前的回答](缩进并自定义 \printidex

\documentclass[12pt,aspectratio=169]{beamer} %Remove mathserif as out of date method see the warning messages and documentation
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
%\usepackage[utf8x]{inputenc} %1. `utf8x` is not recommended; use `utf8` (or nothing at all if you use a recent TeX distribution). 
\usepackage[scaled=0.95]{PTSans}
\usepackage{graphicx}
%\usepackage[usenames,dvipsnames]{xcolor}
% \usepackage{epstopdf} %3. There's no need to load `epstopdf`
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{amssymb,amsthm} %2. the `latexsym` package exists only for back compatibility .
\usepackage{multicol}

\newenvironment{theindex}{}{}
\usepackage{imakeidx}
\renewenvironment{theindex}{% Define properly \subitem and \subsubitem.
  \setlength{\parindent}{0pt}%
  \let\item\par   % definitions for subitem etc
  \def\subitem{\par\nobreak\hspace*{2em}\ignorespaces}%Define properly \subitem and \subsubitem.
  \def\subsubitem{\par\nobreak\hspace*{4em}\ignorespaces}%Define properly \subitem and \subsubitem.
  \def\indexspace{}%
}{} %4. You missed {} at the end of \renewenvironment{theindex}{}  
\makeatletter
\def\@idxitem{\par}

\def\imki@firstpagestyle{empty}
\makeatother
\newcommand\indexspace{}
\makeindex

\begin{document} 
\begin{frame}
\index{apple}
\end{frame}
\begin{frame}
\index{Algorithm}
\end{frame}
\printindex
\end{document} 

相关内容