Hello all. It seems that \usetikzlibrary is sometimes read, sometimes not, and I don't understand why. Rationale: I would like, using one file, to use it to produce a picture, as with LaTeX's Standalone class, but to be able to include it in a calling document as well, for better management of fonts, etc. Thus this is most convenient. I have everything in the main document and I can quickly reuse any figure elsewhere. What I did: I use \readfile in a main ConTeXt file document.tex to include the file included.tex . The file included.tex should contain *just* the TikZ picture and what is needed to compile it "standalone". The issue: It seems I can call the file with the TikZ picture description multiple times, with \readfile, from within the very same \placefigure. However, if I call it by using two successive \placefigure commands, the \usetikzlibrary[blabla] in the included file doesn't seem to be recognised. E.g. with the provided example below, the key "right angle" is not understood, as if \usetikzlibrary[angles] was not there. One workaround would be to use \usetikzlibrary[allTheLibrariesISupposeMightEverBeNeeded] in the calling file. But I don't like it. I would rather have only the TikZ libraries relevant to some picture included in the corresponding file. I'm quite startled by the fact that :
\placefigure[here][]{This is a figure}{ \readfile{included}{}{File not found.} \readfile{included}{}{File not found.} } compiles but \placefigure[here][]{This is a figure}{ \readfile{included}{}{File not found.} } \placefigure[here][]{This is a figure}{ \readfile{included}{}{File not found.} } does not.
All the best! Example: %%%% Begin document.tex \usemodule[tikz] \starttext \usetikzlibrary[angles] % Doesn't compile if this is commented out. %\placefigure[here][]{This is a figure}{ % \readfile{included}{}{File not found.} % \readfile{included}{}{File not found.} %} \placefigure[here][]{This is a figure}{ \ReadFile{included}{} } \placefigure[here][]{This is a figure}{ \ReadFile{included}{} } \stoptext %%%% End document.tex %%%% Begin included.tex \usemodule[tikz] \usetikzlibrary[angles] %\doifnotmode{*text,*bodypart}{ \startTEXpage[fit] } \doifnotmode{*text,*bodypart}{ \startTEXpage[fit] \usemodule[tikz] \usetikzlibrary[angles] } \hbox{\starttikzpicture[] \draw[] (0,0) coordinate (A) node[left] {$A$} -- (4,0) coordinate (B) node[right] {$B$} -- (0,3) coordinate (C) node[left] {$C$} -- cycle pic [draw, angle radius=0.5cm] {right angle = B--A--C} ; \stoptikzpicture} \doifnotmode{*text,*bodypart}{ \stopTEXpage } %%%% End included.tex