我正在尝试使用 LyX 中的外部化库来加速编译并为每个 tikz 图形生成单独的 PDF 文件。但出于某种原因,LyX 不会输出仅包含图形的单独 PDF 文件。
以下是从 LyX 导出的 tex 文件:
\documentclass[12pt,english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[a4paper]{geometry}
\geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin=2.5cm,rmargin=2.5cm,headheight=1cm,headsep=0.8cm,footskip=1.5cm}
\setcounter{secnumdepth}{0}
\setcounter{tocdepth}{2}
\setlength{\parskip}{\medskipamount}
\setlength{\parindent}{0pt}
\makeatletter
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[]
\tikzset{external/system call={pdflatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource" & convert "\image".pdf "\image".eps}}
\makeatother
\usepackage{babel}
\begin{document}
\tikzstyle{place}=[circle,draw=blue,fill=blue!20,line width=2pt]
\begin{tikzpicture}
\node at (0,0) [place] {Ti\textit{k}Z};
\end{tikzpicture}
\end{document}
在“工具”>“首选项”>“文件处理”下,我将 LaTeX (pdflatex) -> PDF (pdflatex) 的转换器更改为pdflatex -shell-escape $$i
当我在 Windows 机器上编译时,我只能获得包含主文档的 PDF 文件,它不会创建包含图形的单独文件,而且它根本没有加快编译速度。我遗漏了什么?
答案1
问题中发布的代码确实有效。 LyX 的棘手之处在于,正如 scottkosty 向我指出的那样,LyX 将每张图片转换为单独的 PDF,并将其保存在临时目录中。此文件夹的路径可在“工具”>“首选项”>“路径”下找到。可以轻松复制文件并将其保存在其他目录中。
当使用 pdflatex 编译转换器时,需要在工具 > 首选项 > 文件处理下将 LaTeX (pdflatex) -> PDF (pdflatex) 更改为pdflatex -shell-escape $$i
。
使用 XeTeX 时,需要将转换器 LaTeX (XeTeX) -> PDF (XeTeX) 更改为xelatex -shell-escape $$i
。我还必须在前言中将子目录传递给 tikzexternalize,例如\tikzexternalize[prefix=Figures/]
。