使用 Overleaf 正确外部化 tikz/standalone

使用 Overleaf 正确外部化 tikz/standalone

我有一组基本的 tex 文件,其中主文件test0.tex尝试加载使用 Tikz 生成的图像,这些图像在其他三个文件test1.textest2.tex和 中test3.tex。这是我写的

%%%%%%%% test0.tex %%%%%%%%%
\documentclass{article}

%%%%%%%%%%%%%%%%%% Pre-Load Packages Order %%%%%%%%%%%%%%%%%%%
\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\usepackage[mode=buildnew,group=true,subpreambles=false]{standalone} % For side loaded Tikz Figures
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%% Packages %%%%%%%%%%%%%%%%%%%
\usepackage{graphicx} % for Figures
\usepackage{pgfplots} % For plotting
\usepackage{tikz} % For the background and plotting
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\title{TBD}
\author{Boaty McBoatface}

\begin{document}
\begingroup
\let\newpage\relax%
\maketitle
\endgroup

\begin{figure}[h]\centering
    \begin{minipage}{4in}
        \centering
        \includegraphics[trim={0pt 0pt 0pt 0pt},clip,width=0.55\textwidth]{test1.pdf}
    \end{minipage}
    
    \begin{minipage}{4in}
        \centering
        \includegraphics[trim={0pt 0pt 0pt 0pt},clip,width=0.55\textwidth]{test2.pdf}
    \end{minipage}

    \begin{minipage}{4in}
        \centering
        \includegraphics[trim={0pt 0pt 0pt 0pt},clip,width=0.55\textwidth]{test3.pdf}
    \end{minipage}
    \caption{}
\end{figure}


\end{document}
%%%%%%%% test1.tex %%%%%%%%%
\documentclass[margin=10pt,tikz]{standalone}

\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}

\usetikzlibrary{positioning}
\pgfplotsset{compat=newest} 


\begin{document}

\begin{tikzpicture}[every axis/.append style={width=0.5\linewidth,title style={align=center}}]
\begin{axis}
     \addplot coordinates { (1,2) (2,3) (3,0)};
\end{axis}
\draw[-,line width=0.25mm] (-1,-13.4) -- (21.25,-13.4);
\draw[-,line width=0.25mm] (-1,-13.4) -- (-1,3.7);
\node[below, yshift=-5mm] at (10.375,-13.4) {{\huge $Y$}};
\node[left, xshift=-1cm, rotate=90] at (-1,-3.9) {{\huge $X$}};
\draw[-,line width=0.25mm] (-0.75,1.81) -- (-1,1.81)     node[left]  {{\LARGE$5$}};
\draw[-,line width=0.25mm] (-0.75,-2.35) -- (-1,-2.35)   node[left]  {{\LARGE $3.4$}};
\draw[-,line width=0.25mm] (-0.75,-6.51) -- (-1,-6.51)   node[left]  {{\LARGE $1.7$}};
\draw[-,line width=0.25mm] (-0.75,-10.67) -- (-1,-10.67) node[left]  {{\LARGE $0.1$}};
\draw[-,line width=0.25mm] (2.19, -13.15) -- (2.19,-13.4) node[below]     {{\LARGE $0$}};
\draw[-,line width=0.25mm] (7.79, -13.15) -- (7.79,-13.4) node[below]   {{\LARGE $1$}};
\draw[-,line width=0.25mm] (13.34,-13.15) -- (13.34,-13.4) node[below]   {{\LARGE $2$}};
\draw[-,line width=0.25mm] (18.89,-13.15) -- (18.89,-13.4) node[below] {{\LARGE $3$}};
\node[] at (10.375,4.5) {{\Huge Title \#1}};
\end{tikzpicture}

\end{document}
%%%%%%% test2.text %%%%%%%
\documentclass[margin=10pt,tikz]{standalone}

\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}

\usetikzlibrary{positioning}
\pgfplotsset{compat=newest} 


\begin{document}

\begin{tikzpicture}[every axis/.append style={width=0.5\linewidth,title style={align=center}}]
\begin{axis}
     \addplot coordinates { (-1,-1) (1,0) (-2,3)};
\end{axis}
\draw[-,line width=0.25mm] (-1,-13.4) -- (21.25,-13.4);
\draw[-,line width=0.25mm] (-1,-13.4) -- (-1,3.7);
\node[below, yshift=-5mm] at (10.375,-13.4) {{\huge $Y$}};
\node[left, xshift=-1cm, rotate=90] at (-1,-3.9) {{\huge $X$}};
\draw[-,line width=0.25mm] (-0.75,1.81) -- (-1,1.81)     node[left]  {{\LARGE$5$}};
\draw[-,line width=0.25mm] (-0.75,-2.35) -- (-1,-2.35)   node[left]  {{\LARGE $3.4$}};
\draw[-,line width=0.25mm] (-0.75,-6.51) -- (-1,-6.51)   node[left]  {{\LARGE $1.7$}};
\draw[-,line width=0.25mm] (-0.75,-10.67) -- (-1,-10.67) node[left]  {{\LARGE $0.1$}};
\draw[-,line width=0.25mm] (2.19, -13.15) -- (2.19,-13.4) node[below]     {{\LARGE $0$}};
\draw[-,line width=0.25mm] (7.79, -13.15) -- (7.79,-13.4) node[below]   {{\LARGE $1$}};
\draw[-,line width=0.25mm] (13.34,-13.15) -- (13.34,-13.4) node[below]   {{\LARGE $2$}};
\draw[-,line width=0.25mm] (18.89,-13.15) -- (18.89,-13.4) node[below] {{\LARGE $3$}};
\node[] at (10.375,4.5) {{\Huge Title \#2}};
\end{tikzpicture}

\end{document}
%%%%%%% test3.tex %%%%%%%
\documentclass[margin=10pt,tikz]{standalone}

\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}

\usetikzlibrary{positioning}
\pgfplotsset{compat=newest} 

\begin{document}

\begin{tikzpicture}[every axis/.append style={width=0.5\linewidth,title style={align=center}}]
\begin{axis}
     \addplot coordinates { (1,1) (2,4) (-3,6)};
\end{axis}
\draw[-,line width=0.25mm] (-1,-13.4) -- (21.25,-13.4);
\draw[-,line width=0.25mm] (-1,-13.4) -- (-1,3.7);
\node[below, yshift=-5mm] at (10.375,-13.4) {{\huge $Y$}};
\node[left, xshift=-1cm, rotate=90] at (-1,-3.9) {{\huge $X$}};
\draw[-,line width=0.25mm] (-0.75,1.81) -- (-1,1.81)     node[left]  {{\LARGE$5$}};
\draw[-,line width=0.25mm] (-0.75,-2.35) -- (-1,-2.35)   node[left]  {{\LARGE $3.4$}};
\draw[-,line width=0.25mm] (-0.75,-6.51) -- (-1,-6.51)   node[left]  {{\LARGE $1.7$}};
\draw[-,line width=0.25mm] (-0.75,-10.67) -- (-1,-10.67) node[left]  {{\LARGE $0.1$}};
\draw[-,line width=0.25mm] (2.19, -13.15) -- (2.19,-13.4) node[below]     {{\LARGE $0$}};
\draw[-,line width=0.25mm] (7.79, -13.15) -- (7.79,-13.4) node[below]   {{\LARGE $1$}};
\draw[-,line width=0.25mm] (13.34,-13.15) -- (13.34,-13.4) node[below]   {{\LARGE $2$}};
\draw[-,line width=0.25mm] (18.89,-13.15) -- (18.89,-13.4) node[below] {{\LARGE $3$}};
\node[] at (10.375,4.5) {{\Huge Title \#3}};
\end{tikzpicture}

\end{document}

当我test0.tex从头运行时,我得到: 在此处输入图片描述

test0.tex现在,如果我将从中的行更改\includegraphics[trim={0pt 0pt 0pt 0pt},clip,width=0.55\textwidth]{test1.pdf}\includestandalone[trim={0pt 0pt 0pt 0pt},clip,width=0.55\textwidth]{test1}(其他两行相同),图像就会加载! 在此处输入图片描述

但是,它们的加载速度较慢(至少在我使用的实际项目中是这样,该项目的数据相当庞大)。但是,我可以改回调用的原始行,\includegraphics并且我得到的结果相同,只是速度要快得多。我最终要问的问题是:有没有一种方法可以让我的图像加载速度比使用更快(至少在重新编译时),而\includestandalone不必每次从头开始编译时都重新编辑文件?

相关内容