Iovem” post=67258Salve a tutti,
sto realizzando un corposo documento con molti file scritti con TikZ. Per ottenere una compilazione più rapida, ho pensato di creare uno swich per compilare le versioni provvisorie usando versioni .pdf delle immagini TikZ (cosa che permette anche di avere una versione draft con l’opzione omonima della classe book) e includere il vero file TikZ (con estensione .tex) solo a documento ultimato. La soluzione che ho realtzzato è un insieme di alcune soluzioni trovate su internet che combinano uno switch e il pacchetto standalone.Un esempio di main file
`
\documentclass[a4paper, %
openany, %
%draft %
]{book}
%Togliere openany e draft e decommentare \finaltrue\usepackage[T1]{fontenc}
\usepackage[sc]{mathpazo}
\linespread{1.05} % Palatino needs more leading (space between lines)\usepackage[utf8]{inputenc} %Codifica font input
\usepackage[italian,english]{babel} %Lingua inglese
\usepackage{microtype} %Miglior riempimento riga%Includere file esterni con preambolo
\usepackage{standalone}\usepackage{tikz,pgfplots} %Grafici vettoriali
\newif\iffinal % introduce a switch for draft vs. final document
\iffinal
\newcommand{\inputTikZ}[1]{%
\input{#1}%
}
\else
\newcommand{\inputTikZ}[1]{%
\includegraphics{#1}
}
\fi%\finaltrue % use this to compile the final document
%Opzioni TikZx
\usetikzlibrary{ %
circuits.ee.IEC, % For electric circuits
}\begin{document}
Prova
\begin{figure}
\centering
\inputTikZ{resist}
\caption{Resistenze.}
\label{fig:resist}
\end{figure}
\end{document}
`e un esempio di file TikZ
`
\documentclass{standalone}\usepackage{tikz,pgfplots} %Grafici vettoriali
%Librerie TikZ
\usetikzlibrary{ % for chains
circuits.ee.IEC, %
}%Comandi
\newcommand{\pedi}[2]{_{\mathrm{#1}#2}} %Doppio pedice\begin{document}
\begin{tikzpicture}[%
circuit ee IEC,
set resistor graphic=var resistor IEC graphic,
set make contact graphic= var make contact IEC graphic,
]
\matrix[row sep=.5cm,column sep=1cm] {
& & \node (conv)[resistor,label={$R\pedi{conv}{}$}] {}; & &\\
\node(tf)[]{$\overline{T}\pedi{f}{,j}$}; & \node(p1)[contact]{}; & & \node(p2)[contact]{}; & \node(steam){$T\pedi{st}{}$};\\
& & \node (rad)[resistor,label={below:$R\pedi{rad}{}$}] {}; & &\\
};\draw (tf) — (p1) |- (conv) -| (p2) — (steam);
\draw (p1) |- (rad) -| (p2);\end{tikzpicture}
\end{document}
`Ora, tutto funziona in apparenza regolarmente, ma provando a de-commentare l’opzione \finaltrue e a cancellare il .pdf dell’immagine (per essere sicuro che funzioni) il comando \inputTikZ non trova il file da immettere (io vorrei che inserisse il .tex). Aggiungere l’estensione desiderata all’interno della definizione dello switch non cambia il comportamento.
Come posso fare? e fattibile fare ciò che chiedo?
Grazie in anticipo
Andrea
Perché non usare la libreria externalize di PGF?
Ciao
Enrico