Tikzexternalize 与 Miktex 2.9 abntex2 包不兼容

Tikzexternalize 与 Miktex 2.9 abntex2 包不兼容

以下代码在 Texlipse 和 Miktex 2.9 x64 中可以正常工作。tikzexternalize 选项用于加速编译过程,只需确保shell 转义模式可以明确地将 -shell-escape 参数传递给编译器。

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[prefix=figures/]

\begin{document}

\begin{tikzpicture}
\node[draw, circle, minimum width=1cm] {};
\end{tikzpicture}   

\end{document}

现在,当将 article 类替换为 abntex2 类(如以下代码所示)时,figures 文件夹中不再生成 pdf 文件。

\documentclass[
    % -- opções da classe memoir --
    12pt,               % tamanho da fonte
    openright,          % capítulos começam em pág ímpar (insere página vazia caso
    % preciso)
    twoside,            % para impressão em verso e anverso. Oposto a oneside
    a4paper,            % tamanho do papel.
    % -- opções da classe abntex2 --
    %chapter=TITLE,     % títulos de capítulos convertidos em letras maiúsculas
    %section=TITLE,     % títulos de seções convertidos em letras maiúsculas
    %subsection=TITLE,  % títulos de subseções convertidos em letras maiúsculas
    %subsubsection=TITLE,% títulos de subsubseções convertidos em letras maiúsculas
    % -- opções do pacote babel --
    english,            % idioma adicional para hifenização
    french,             % idioma adicional para hifenização
    spanish,            % idioma adicional para hifenização
    brazil              % o último idioma é o principal do documento
    ]{abntex2}

\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[prefix=figures/]

\begin{document}

\begin{tikzpicture}
\node[draw, circle, minimum width=1cm] {};
\end{tikzpicture}

\end{document}

然后控制台显示以下信息,其中主 tex 文件名为 DissDaniel.tex:

pdflatex.exe> ===== 'mode=convert with system call': Invoking 'pdflatex -shell-escape -halt-o
pdflatex.exe> n-error -interaction=batchmode -jobname "figures/DissDaniel-figure0" "\def\tikz
pdflatex.exe> externalrealjob{DissDaniel}\input{DissDaniel}"' ========
pdflatex.exe> 
pdflatex.exe> ! Package tikz Error: Sorry, the system call 'pdflatex -shell-escape -halt-on-e
pdflatex.exe> rror -interaction=batchmode -jobname "figures/DissDaniel-figure0" "\def\tikzext
pdflatex.exe> ernalrealjob{DissDaniel}\input{DissDaniel}"' did NOT result in a usable output 
pdflatex.exe> file 'figures/DissDaniel-figure0' (expected one of .pdf:.jpg:.jpeg:.png:). Plea
pdflatex.exe> se verify that you have enabled system calls. For pdflatex, this is 'pdflatex -
pdflatex.exe> shell-escape'. Sometimes it is also named 'write 18' or something like that. Or
pdflatex.exe>  maybe the command simply failed? Error messages can be found in 'figures/DissD
pdflatex.exe> aniel-figure0.log'. If you continue now, I'll try to typeset the picture.
pdflatex.exe> 
pdflatex.exe> See the tikz package documentation for explanation.
pdflatex.exe> Type  H <return>  for immediate help.
pdflatex.exe>  ...                                              
pdflatex.exe>                                                   
pdflatex.exe> l.32 \end{tikzpicture}

答案1

我创造了na问题abntex2今天。

劳罗·塞萨尔深入研究了这个问题,直到他找到解决方案让我测试。而且有效!

根据这个关联

calc 软件包改变了命令\设置计数器和朋友是脆弱的。所以你必须让他们变得坚强。下面的例子使用了 电子工具箱\健全

\usepackage{etoolbox}
\robustify\setcounter
\robustify\addtocounter
\robustify\setlength
\robustify\addtolength

感谢 Lauro 闪电般的快速反应和目标实现。

相关内容