
Я пытаюсь скомпилировать большой документ (диссертацию на степень доктора философии), и у меня нет проблем с компиляцией без использования external
, но как только я включаю эту функцию, возникают проблемы. Пока что я не нашел ответа в других похожих темах. Я пытался скомпилировать с использованием и lualatex
, pdflatex
оба с -shell-escape
включенными. Сам документ компилируется нормально, но я получаю ошибки, когда дело доходит до TikZ
изображений. Эта ошибка воспроизводится на моей машине Windows с использованием MikTeX, а также TeX Live на Ubuntu и при запуске напрямую из терминала, а также в TeXmaker.
Как ни странно, использование идентичного списка пакетов и синтаксиса, но включение только вызова файла TikZ
в MWE создает документ, который работает успешно, так что в моем документе или самой файловой системе явно есть что-то, что мешает этому работать должным образом, когда я работаю над самим диссертационным документом.
В любом случае, проверка .log
файла моего настоящего документа выявила следующее:
! Package tikz Error: Sorry, the system call 'pdflatex -halt-on-error -interact
ion=batchmode -jobname "img/cache/sac-thesis-figure0" "\def\tikzexternalrealjob
{sac-thesis}\input{sac-thesis}"' did NOT result in a usable output file 'img/ca
che/sac-thesis-figure0' (expected one of .pdf:.jpg:.jpeg:.png:). Please verify
that you have enabled system calls. For pdflatex, this is 'pdflatex -shell-esca
pe'. Sometimes it is also named 'write 18' or something like that. Or maybe the
command simply failed? Error messages can be found in 'img/cache/sac-thesis-fi
gure0.log'. If you continue now, I'll try to typeset the picture.
See the tikz package documentation for explanation.
При проверке .log
файла на наличие самого рисунка возникает следующая ошибка:
\@writefile{toc}{}
! Undefined control sequence.
\pgfmathsetlength ...\pgfmath@onquick #2\pgfmath@
{\begingroup \pgfmath@sele...
l.34 \end{tikzpicture}
Для справки, вот мой .tikz
файл, который я пытаюсь скомпилировать. .pdf
Ссылающийся рисунок — это рисунок, который я построил только с помощью MATLAB, и в этом случае я в основном размещаю аннотации на рисунке (хотя у меня TikZ
там также есть гораздо больше изображений с большим объемом данных). Честно говоря, вы можете поместить .pdf
туда любую картинку, чтобы попробовать, и это не изменит сути проблемы здесь.
\begin{tikzpicture}
% Styles
[pointer/.style={thick}]
\node[anchor=south west] (diagram) at (0,0)
{\includegraphics[width=4.5in]{img/ch1/2mode/5DC-2mode.pdf}};
\begin{scope}[x={(diagram.south east)},y={(diagram.north west)}]
% Temporary gridlines
%\draw[step=0.1,gray,ultra thin] (0,0) grid (1,1);
% Wall label
\draw {(0.5,0.08)} node[anchor=center,color=white] {Wall};
% Trapped acoustic wave
\draw {(0.66,0.2)} node[anchor=west,color=red] {Trapped acoustic wave};
% Sonic line
\draw {(0.55,0.29)} node[anchor=west] {Sonic line: $\overbar{M}^2 = 1$, $y = y_a$};
% Inner layer
\draw {(0.05,0.2)} node[anchor=west] {$\overbar{M} > 1$};
% Outer layer
\draw {(0.05,0.4)} node[anchor=west] {$\overbar{M} < 1$};
% U(y)
\draw {(0.45,0.66)} node[anchor=center,color=blue] {$U(y)$};
% y-axis
\draw {(0.24,0.94)} node[anchor=east] {$y$};
\end{scope}
\end{tikzpicture}
Честно говоря, у меня сейчас нет идей, и мне бы очень хотелось их придумать, externalize
так как в документе будет МНОГО рисунков, и время компиляции станет неконтролируемым.