printindex 和 tikzexternalize 不会为 tikz-image 创建 pdf 文件

printindex 和 tikzexternalize 不会为 tikz-image 创建 pdf 文件

\printindex当和\tikzexternalize一起使用时,\tikzsetnextfilename{pdfname}将不会为 tikz 图像创建外部 pdf 文件。

参见 sharelatex 链接:这里或在此处编码:

\documentclass{book}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\usepackage[makeindex]{imakeidx}
\makeindex[columns=3]
\begin{document}
\tikzsetnextfilename{testPdfFile}
A\index{Test} simple tikz-image is here: \tikz \fill (0,0) circle(5pt);
\printindex
\end{document}

答案1

externalize\makeindex以与不兼容的方式重新定义和相关命令imakeidx

您可以通过在外部 LaTeX 运行中更改错误定义(当然,改为无操作)来修复错误定义。

\documentclass{book}

\usepackage{imakeidx}

\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\tikzifexternalizing{%
  \renewcommand\index[2][]{}%
  \renewcommand\printindex{}%
  \renewcommand\makeindex[1][]{}%
  }{}

\makeindex[columns=3]

\begin{document}

\tikzsetnextfilename{testPdfFile}
A\index{Test} simple tikz-image is here: \tikz \fill (0,0) circle(5pt);
\printindex

\end{document}

相关内容