我使用 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}