4

If I place the contents of my tikz picture in my main.tex file it works like a charm using

\usepgfplotslibrary{external} \tikzexternalize 

and subsequently: pdflatex --enable-shell

 \documentclass{article} \usepackage{tikz,pgfplots} \usepackage{subfig} \usepackage{tabularx} \pgfplotsset{compat=newest} \usepgfplotslibrary{external} \tikzexternalize \begin{document} \definecolor{mycolor1}{rgb}{0,0.75,0.75} \begin{tikzpicture} \begin{axis}[% width=4.52083333333333in, height=3.565625in, scale only axis, xmin=0, xmax=6, xlabel={cfu (Y)}, ymin=0, ymax=1, ylabel={Probability density}, legend style={draw=black,fill=white,legend cell align=left} ] \addplot [ color=blue, solid, line width=1.5pt ] table{ 0.164920894751145 0.145245471693298 0.34898483521757 0.314105513485571 0.400206868657802 0.375704063846473 0.431202365194672 0.415565960090126 0.468283168514601 0.465368046385591 0.468819173063357 0.466102333522882 0.541086963948335 0.567617590141928 0.558035142464694 0.591815958738304 0.558424656178589 0.592372256340699 0.567763246195775 0.605704754250354 0.588442297122976 0.635140815037755 0.588968308388865 0.635887013738116 0.589496900268574 0.636636709024852 0.615575125108802 0.673361419528354 0.656478830152384 0.729356371745445 0.663734249176834 0.739001710618186 0.681134429788414 0.761691427683771 0.699206339854542 0.784509230520803 0.703174714510729 0.789406773282464 0.710293205919594 0.798082837552696 0.738324318268112 0.830765143080553 0.743729355370618 0.836772857231647 0.7628624687978 0.857202030543563 0.789650071275085 0.883431847212714 0.848769035460717 0.93014828764704 0.857054257851899 0.935346913150545 0.867490832222506 0.941393771927579 0.892221633180695 0.953428704494102 0.910732799951076 0.96026629015755 0.942439202692875 0.967534739622871 0.964173551423469 0.969220797343017 0.966490207360103 0.969241291138126 0.972340307586979 0.969156381555276 0.999815929196087 0.966143308438322 1.01840762385923 0.96167588822653 1.02422624912665 0.959879519150392 1.04820841787849 0.950503937405069 1.05040526585597 0.949488520832702 1.05188064663965 0.948792015052305 1.06421741151945 0.942513866116551 1.06952744475091 0.939564533487357 1.07377729763307 0.937098333090976 1.10837980144772 0.913625640841771 1.12655613304724 0.898983298828636 1.13577066384758 0.89098627132941 1.1580472276478 0.870142330490693 1.15859589504013 0.869603007065865 1.18051156035791 0.847100007296536 1.21401730562959 0.809369022407148 1.33027028384446 0.656408242977467 1.33483660875034 0.649970375448687 1.37629546726956 0.590995765951455 1.39873034424263 0.558976024508442 1.42011477374599 0.528607866819228 1.49811243643743 0.421418636969251 1.55782976646071 0.345795703108512 1.60683136399288 0.289407680329164 1.67872959183145 0.217237684951087 1.70586524394617 0.193407783948843 2.09859653835273 0.0221208957939459 2.23050096301146 0.0087062390469457 }; \addlegendentry{n=5}; \addplot [ color=green!50!black, solid, line width=1.5pt ] table{ 1.11061716777245 0.25439255248339 1.32152703852018 0.444545345197107 1.33743602693433 0.460242989969573 1.42547263125263 0.547313752669856 1.50599624519356 0.623697850962722 1.5261804928616 0.641779387498937 1.573838875732 0.682042674974274 1.57730219814673 0.684816482012706 1.62699159305991 0.721956657982538 1.63486458952984 0.727347067179288 1.68630344515834 0.758807092685913 1.71784982886711 0.774600265244482 1.83289913575602 0.806644546215021 1.86864417529802 0.807887335418516 1.88963804306077 0.806645110709114 1.90172633188334 0.805269969440086 1.97361138903204 0.787332803216098 2.16847522483986 0.665794197723055 2.26107642525521 0.582137894844234 2.44093902647085 0.40561167899897 2.55728899719626 0.299162501222641 2.72596462417501 0.174351769994033 3.14460320890567 0.0275718440302502 }; \addlegendentry{n=10}; \addplot [ color=red, solid, line width=1.5pt ] table{ 1.58873251442874 0.139270685555603 1.75094674410523 0.187648610352166 2.00056999517431 0.274533946251121 2.27705604989095 0.374550491086161 2.29596621491152 0.380969240114346 2.41176717604408 0.417753266892818 2.41614828744096 0.419044488634782 2.45981848928711 0.431445200552556 2.51461996380818 0.44569150663875 2.63732800530387 0.471433199097579 2.67540149916467 0.47748693150892 2.72686458640717 0.484091305194831 3.03140642922051 0.483465535521604 3.07384878732821 0.477986374915163 3.1895413994593 0.4569517259234 3.25640618890004 0.441099033384993 3.39991043346777 0.399612809225554 3.7029148147097 0.292622994026572 3.94491621538283 0.206344381423128 4.36469219413918 0.0911022396340956 4.68444030939428 0.0408178745872097 }; \addlegendentry{n=15}; \addplot [ color=mycolor1, solid, line width=1.5pt ] table{ 2.44469092422533 0.134047643683245 2.99469910210473 0.332559909167666 3.05373235366556 0.355888865309276 3.31377765482139 0.447946402923478 3.41066336498647 0.474278454032695 3.73828133650772 0.512840458011838 4.11146934521349 0.451592119764443 4.12204843744243 0.448459021945289 4.13062375797785 0.445874763291985 4.34434429091486 0.371194128891267 5.24212616032033 0.0753126892773911 }; \addlegendentry{n=20}; \end{axis} \end{tikzpicture}% \end{document} 

enter image description here

BUT:

If i do

\documentclass{article} \usepackage{tikz,pgfplots} \usepackage{subfig} \usepackage{tabularx} \pgfplotsset{compat=newest} \usepgfplotslibrary{external} \tikzexternalize \begin{document} \begin{figure}[!ht] \centering\makebox[\textwidth] {\resizebox{1.2\textwidth}{!}{% \begin{tabularx}{1.2\textwidth}{*2X} \begin{center} \subfloat[Normal distribution at n=5,10,15,20]{\label{fig:normpdf_3d}\input{./Figures/chapter6/normpdf_3d.tex}}\\%width=6cm,height=7.59cm \subfloat[Probability frequency density plot at n=5,10,15,20]{\label{fig:normpdf_2d}\input{./Figures/chapter6/normpdf_2d.tex}}%width=7.38cm,height=4.97cm \end{center} \end{tabularx}}} \smallskip \caption{PDF and scatter plots} \label{fig:normpdf} \end{figure} \end{document} 

I get some stupid error: enter image description here

Any thoughts would be extremely helpful.

Just showing --shell-escape is truned on. enter image description here

IMPORTANT NOTE: The file compiles correctly without \usepgfplotslibrary{external} \tikzexternalize [sic]. Do I have to put something into the preamble of the file that I call? ie \input{normpdf_3d.tex}?

2
  • Gives the same problem... Do I need to add some sort of preamble to my normpdf_3d.tex file with my tikz commands in it? Commented Mar 27, 2013 at 14:49
  • It's in the first post... I'm actually only looking at normpdf_2d.tex at the moment, but haven't commented the other out in the last picture. ie from \begin{tikzpicture} to \end{tikzpicture} Commented Mar 27, 2013 at 14:56

1 Answer 1

3
  • To make your life easier, create a package (mytikz) for your drawing.

    % mytikz.sty % ======================================================== % Copyright (c) 2013 Your Name. All rights reservered. % LPPL LaTeX Public Project License % ======================================================== \NeedsTeXFormat{LaTeX2e}[1994/06/01] \ProvidesPackage{mytikz}[2013/03/28 v0.01 Package for my TikZ configuration] \RequirePackage{pgfplots} \definecolor{mycolor1}{rgb}{0,0.75,0.75} \pgfplotsset{compat=newest} \endinput 
  • Use standalone document class in the child (myimage.tex) and load mytikz package.

    % myimage.tex \documentclass[tikz,border=12pt]{standalone} \usepackage{mytikz} \begin{document} \begin{tikzpicture}[scale=0.75] \begin{axis}[% width=4.52083333333333in, height=3.565625in, scale only axis, xmin=0, xmax=6, xlabel={cfu (Y)}, ymin=0, ymax=1, ylabel={Probability density}, legend style={draw=black,fill=white,legend cell align=left} ] \addplot [ color=blue, solid, line width=1.5pt ] table{ 0.164920894751145 0.145245471693298 0.34898483521757 0.314105513485571 0.400206868657802 0.375704063846473 0.431202365194672 0.415565960090126 0.468283168514601 0.465368046385591 0.468819173063357 0.466102333522882 0.541086963948335 0.567617590141928 0.558035142464694 0.591815958738304 0.558424656178589 0.592372256340699 0.567763246195775 0.605704754250354 0.588442297122976 0.635140815037755 0.588968308388865 0.635887013738116 0.589496900268574 0.636636709024852 0.615575125108802 0.673361419528354 0.656478830152384 0.729356371745445 0.663734249176834 0.739001710618186 0.681134429788414 0.761691427683771 0.699206339854542 0.784509230520803 0.703174714510729 0.789406773282464 0.710293205919594 0.798082837552696 0.738324318268112 0.830765143080553 0.743729355370618 0.836772857231647 0.7628624687978 0.857202030543563 0.789650071275085 0.883431847212714 0.848769035460717 0.93014828764704 0.857054257851899 0.935346913150545 0.867490832222506 0.941393771927579 0.892221633180695 0.953428704494102 0.910732799951076 0.96026629015755 0.942439202692875 0.967534739622871 0.964173551423469 0.969220797343017 0.966490207360103 0.969241291138126 0.972340307586979 0.969156381555276 0.999815929196087 0.966143308438322 1.01840762385923 0.96167588822653 1.02422624912665 0.959879519150392 1.04820841787849 0.950503937405069 1.05040526585597 0.949488520832702 1.05188064663965 0.948792015052305 1.06421741151945 0.942513866116551 1.06952744475091 0.939564533487357 1.07377729763307 0.937098333090976 1.10837980144772 0.913625640841771 1.12655613304724 0.898983298828636 1.13577066384758 0.89098627132941 1.1580472276478 0.870142330490693 1.15859589504013 0.869603007065865 1.18051156035791 0.847100007296536 1.21401730562959 0.809369022407148 1.33027028384446 0.656408242977467 1.33483660875034 0.649970375448687 1.37629546726956 0.590995765951455 1.39873034424263 0.558976024508442 1.42011477374599 0.528607866819228 1.49811243643743 0.421418636969251 1.55782976646071 0.345795703108512 1.60683136399288 0.289407680329164 1.67872959183145 0.217237684951087 1.70586524394617 0.193407783948843 2.09859653835273 0.0221208957939459 2.23050096301146 0.0087062390469457 }; \addlegendentry{n=5}; \addplot [ color=green!50!black, solid, line width=1.5pt ] table{ 1.11061716777245 0.25439255248339 1.32152703852018 0.444545345197107 1.33743602693433 0.460242989969573 1.42547263125263 0.547313752669856 1.50599624519356 0.623697850962722 1.5261804928616 0.641779387498937 1.573838875732 0.682042674974274 1.57730219814673 0.684816482012706 1.62699159305991 0.721956657982538 1.63486458952984 0.727347067179288 1.68630344515834 0.758807092685913 1.71784982886711 0.774600265244482 1.83289913575602 0.806644546215021 1.86864417529802 0.807887335418516 1.88963804306077 0.806645110709114 1.90172633188334 0.805269969440086 1.97361138903204 0.787332803216098 2.16847522483986 0.665794197723055 2.26107642525521 0.582137894844234 2.44093902647085 0.40561167899897 2.55728899719626 0.299162501222641 2.72596462417501 0.174351769994033 3.14460320890567 0.0275718440302502 }; \addlegendentry{n=10}; \addplot [ color=red, solid, line width=1.5pt ] table{ 1.58873251442874 0.139270685555603 1.75094674410523 0.187648610352166 2.00056999517431 0.274533946251121 2.27705604989095 0.374550491086161 2.29596621491152 0.380969240114346 2.41176717604408 0.417753266892818 2.41614828744096 0.419044488634782 2.45981848928711 0.431445200552556 2.51461996380818 0.44569150663875 2.63732800530387 0.471433199097579 2.67540149916467 0.47748693150892 2.72686458640717 0.484091305194831 3.03140642922051 0.483465535521604 3.07384878732821 0.477986374915163 3.1895413994593 0.4569517259234 3.25640618890004 0.441099033384993 3.39991043346777 0.399612809225554 3.7029148147097 0.292622994026572 3.94491621538283 0.206344381423128 4.36469219413918 0.0911022396340956 4.68444030939428 0.0408178745872097 }; \addlegendentry{n=15}; \addplot [ color=mycolor1, solid, line width=1.5pt ] table{ 2.44469092422533 0.134047643683245 2.99469910210473 0.332559909167666 3.05373235366556 0.355888865309276 3.31377765482139 0.447946402923478 3.41066336498647 0.474278454032695 3.73828133650772 0.512840458011838 4.11146934521349 0.451592119764443 4.12204843744243 0.448459021945289 4.13062375797785 0.445874763291985 4.34434429091486 0.371194128891267 5.24212616032033 0.0753126892773911 }; \addlegendentry{n=20}; \end{axis} \end{tikzpicture}% \end{document} 
  • Use standalone (or docmute) package in the main file (main.tex) and load mytikz (the position is not important whether you put it before or after loading standalone (or docmute) package).

     % main.tex \documentclass{article} \usepackage{subfig} \usepackage{tabularx} \usepackage{standalone}% or \usepackage{docmute} \usepackage{mytikz} \begin{document} \begin{figure}[!ht] \centering\makebox[\textwidth] {\resizebox{1.2\textwidth}{!}{% \begin{tabularx}{1.2\textwidth}{*2X} \begin{center} \subfloat[Normal distribution at n=5,10,15,20] {\label{fig:normpdf_3d}\input{myimage.tex}}\\%width=6cm,height=7.59cm \subfloat[Probability frequency density plot at n=5,10,15,20]{\label{fig:normpdf_2d}\input{myimage.tex}}%width=7.38cm,height=4.97cm \end{center} \end{tabularx}}} \smallskip \caption{PDF and scatter plots} \label{fig:normpdf} \end{figure} \end{document} 

Simulation

Just for a simulation purpose, I put the child myimage.tex contents, main main.tex contents and the mytikz package contents in a single input file. The child and the package must be enclosed in filecontents* environment!

\documentclass{article} \usepackage{filecontents} \begin{filecontents*}{mytikz.sty} % mytikz.sty % ======================================================== % Copyright (c) 2013 Your Name. All rights reservered. % LPPL LaTeX Public Project License % ======================================================== \NeedsTeXFormat{LaTeX2e}[1994/06/01] \ProvidesPackage{mytikz}[2013/03/28 v0.01 Package for my TikZ configuration] \RequirePackage{tikz} \RequirePackage{pgfplots} \definecolor{mycolor1}{rgb}{0,0.75,0.75} \endinput \end{filecontents*} \begin{filecontents*}{myimage.tex} \documentclass[tikz,border=12pt]{standalone} \usepackage{mytikz} \begin{document} \begin{tikzpicture}[scale=0.75] \begin{axis}[% width=4.52083333333333in, height=3.565625in, scale only axis, xmin=0, xmax=6, xlabel={cfu (Y)}, ymin=0, ymax=1, ylabel={Probability density}, legend style={draw=black,fill=white,legend cell align=left} ] \addplot [ color=blue, solid, line width=1.5pt ] table{ 0.164920894751145 0.145245471693298 0.34898483521757 0.314105513485571 0.400206868657802 0.375704063846473 0.431202365194672 0.415565960090126 0.468283168514601 0.465368046385591 0.468819173063357 0.466102333522882 0.541086963948335 0.567617590141928 0.558035142464694 0.591815958738304 0.558424656178589 0.592372256340699 0.567763246195775 0.605704754250354 0.588442297122976 0.635140815037755 0.588968308388865 0.635887013738116 0.589496900268574 0.636636709024852 0.615575125108802 0.673361419528354 0.656478830152384 0.729356371745445 0.663734249176834 0.739001710618186 0.681134429788414 0.761691427683771 0.699206339854542 0.784509230520803 0.703174714510729 0.789406773282464 0.710293205919594 0.798082837552696 0.738324318268112 0.830765143080553 0.743729355370618 0.836772857231647 0.7628624687978 0.857202030543563 0.789650071275085 0.883431847212714 0.848769035460717 0.93014828764704 0.857054257851899 0.935346913150545 0.867490832222506 0.941393771927579 0.892221633180695 0.953428704494102 0.910732799951076 0.96026629015755 0.942439202692875 0.967534739622871 0.964173551423469 0.969220797343017 0.966490207360103 0.969241291138126 0.972340307586979 0.969156381555276 0.999815929196087 0.966143308438322 1.01840762385923 0.96167588822653 1.02422624912665 0.959879519150392 1.04820841787849 0.950503937405069 1.05040526585597 0.949488520832702 1.05188064663965 0.948792015052305 1.06421741151945 0.942513866116551 1.06952744475091 0.939564533487357 1.07377729763307 0.937098333090976 1.10837980144772 0.913625640841771 1.12655613304724 0.898983298828636 1.13577066384758 0.89098627132941 1.1580472276478 0.870142330490693 1.15859589504013 0.869603007065865 1.18051156035791 0.847100007296536 1.21401730562959 0.809369022407148 1.33027028384446 0.656408242977467 1.33483660875034 0.649970375448687 1.37629546726956 0.590995765951455 1.39873034424263 0.558976024508442 1.42011477374599 0.528607866819228 1.49811243643743 0.421418636969251 1.55782976646071 0.345795703108512 1.60683136399288 0.289407680329164 1.67872959183145 0.217237684951087 1.70586524394617 0.193407783948843 2.09859653835273 0.0221208957939459 2.23050096301146 0.0087062390469457 }; \addlegendentry{n=5}; \addplot [ color=green!50!black, solid, line width=1.5pt ] table{ 1.11061716777245 0.25439255248339 1.32152703852018 0.444545345197107 1.33743602693433 0.460242989969573 1.42547263125263 0.547313752669856 1.50599624519356 0.623697850962722 1.5261804928616 0.641779387498937 1.573838875732 0.682042674974274 1.57730219814673 0.684816482012706 1.62699159305991 0.721956657982538 1.63486458952984 0.727347067179288 1.68630344515834 0.758807092685913 1.71784982886711 0.774600265244482 1.83289913575602 0.806644546215021 1.86864417529802 0.807887335418516 1.88963804306077 0.806645110709114 1.90172633188334 0.805269969440086 1.97361138903204 0.787332803216098 2.16847522483986 0.665794197723055 2.26107642525521 0.582137894844234 2.44093902647085 0.40561167899897 2.55728899719626 0.299162501222641 2.72596462417501 0.174351769994033 3.14460320890567 0.0275718440302502 }; \addlegendentry{n=10}; \addplot [ color=red, solid, line width=1.5pt ] table{ 1.58873251442874 0.139270685555603 1.75094674410523 0.187648610352166 2.00056999517431 0.274533946251121 2.27705604989095 0.374550491086161 2.29596621491152 0.380969240114346 2.41176717604408 0.417753266892818 2.41614828744096 0.419044488634782 2.45981848928711 0.431445200552556 2.51461996380818 0.44569150663875 2.63732800530387 0.471433199097579 2.67540149916467 0.47748693150892 2.72686458640717 0.484091305194831 3.03140642922051 0.483465535521604 3.07384878732821 0.477986374915163 3.1895413994593 0.4569517259234 3.25640618890004 0.441099033384993 3.39991043346777 0.399612809225554 3.7029148147097 0.292622994026572 3.94491621538283 0.206344381423128 4.36469219413918 0.0911022396340956 4.68444030939428 0.0408178745872097 }; \addlegendentry{n=15}; \addplot [ color=mycolor1, solid, line width=1.5pt ] table{ 2.44469092422533 0.134047643683245 2.99469910210473 0.332559909167666 3.05373235366556 0.355888865309276 3.31377765482139 0.447946402923478 3.41066336498647 0.474278454032695 3.73828133650772 0.512840458011838 4.11146934521349 0.451592119764443 4.12204843744243 0.448459021945289 4.13062375797785 0.445874763291985 4.34434429091486 0.371194128891267 5.24212616032033 0.0753126892773911 }; \addlegendentry{n=20}; \end{axis} \end{tikzpicture} \end{document} \end{filecontents*} \usepackage{subfig} \usepackage{tabularx} \usepackage{standalone}% or \usepackage{docmute} \usepackage{mytikz} \begin{document} \begin{figure}[!ht] \centering\makebox[\textwidth] {\resizebox{1.2\textwidth}{!}{% \begin{tabularx}{1.2\textwidth}{*2X} \begin{center} \subfloat[Normal distribution at n=5,10,15,20]{\label{fig:normpdf_3d}\input{myimage.tex}}\\%width=6cm,height=7.59cm \subfloat[Probability frequency density plot at n=5,10,15,20]{\label{fig:normpdf_2d}\input{myimage.tex}}%width=7.38cm,height=4.97cm \end{center} \end{tabularx}}} \smallskip \caption{PDF and scatter plots} \label{fig:normpdf} \end{figure} \end{document} 
4
  • Thank you sooooooooooooo much! I have spent all day with this, I'm so happy now! Would you mind explaining to me why you need to put a preamble in the figure file though? This I don't understand (though clearly it works!) Commented Mar 27, 2013 at 16:53
  • @HCAI: see my update, read it carefully! Commented Mar 27, 2013 at 17:26
  • @HCAI: each file is separately compilable so it needs \documentclass, which in turn, needs the required packages. Commented Mar 27, 2013 at 18:17
  • I'm experiencing an error which refers to insufficient room in an internal buffer but both figures compile fine on their own. it's only when they are put together and compiled from main.tex. Is this surmountable somehow? Commented Mar 27, 2013 at 23:09

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.