Re: centralizzare tikz

#95859
robitex
Amministratore del forum
    Up
    0
    Down
    ::

    claudio” post=95474ho due problemi
    1) molti file tikz
    2) uniformare i files tikz
    Il primo problema aumenta i tempi di compilazione e ho risolto questo con standalone
    Il secondo problema inserendo in ciascun file tikz e non in main, un file con le impostazioni tikz

    ecco la mia soluzione
    main.tex
    `
    \documentclass{book}
    %input{grafica}
    \usepackage{standalone}
    \standaloneconfig{ mode=buildnew}
    %\input{impostazioniTikz}
    \begin{document}
    \includestandalone[width=.9\textwidth]{Operazione_Divisione_}
    %\input{Operazione_Divisione_}
    \end{document}
    `
    grafica.tex
    `
    \usepackage{tkz-euclide}
    \usetkzobj{all}
    \usepackage{circuitikz}
    \usepackage{tkz-tab}
    \usepackage{tkz-linknodes}
    \usetikzlibrary{calc}
    \usetikzlibrary{hobby}
    \usepackage{pgfplots}
    \pgfplotsset{compat=newest}
    \usetikzlibrary{decorations}
    \usetikzlibrary{shapes,arrows,trees,positioning,through,intersections}
    \usetikzlibrary{shapes.gates.logic.US,shapes.gates.logic.IEC}
    `
    impostazioniTikz.tex
    `
    \tikzset{main node/.style={rectangle, draw,
    text centered, rounded corners}, }
    \tikzset{main verb/.style={minimum size=1cm}, }
    \tikzset{linea/.style={-triangle 90}, }
    `
    Operazione_Divisione_
    `
    \documentclass[preview=true]{standalone}
    \input{grafica}
    \input{impostazioniTikz}
    \begin{document}
    \begin{tikzpicture}
    \node[main node] (1) {$\div$};
    \path let \p1=(1.north), \p2=(1.north) in node[main verb] (2) at (\x1-2cm,\y2){Dividendo};
    \path let \p1=(1.south), \p2=(1.south) in node[main verb] (3) at (\x1-2cm,\y2){Divisore};
    \node[main verb] (4)

    {Quoziente};
    \foreach \x /\y in{2/1,3/1,1/4}
    \path[linea] (\x) edge node {} (\y);
    %
    \end{tikzpicture}
    \end{document}
    `

    vi sono soluzioni migliori?
    ciao

    Recentemente mi sono trovato bene con externlize:
    `\usetikzlibrary{external}
    \tikzexternalize`

    tieni i disegni in una manciata di sorgenti, per esempio con il criterio dei disegni in un capitolo o i disegni raggruppati per tema.
    Poi compili con l’opzione -shell-escape e invece di un unico documenti hai tanti pdf scontornati.
    Nel documento principale non ti rimane che fare \includegraphics

    La libreria è in grado di conoscere quali sono le figure da ricompilare tramite hash md5.

    Prova se ti è comodo.
    Nel file gruppo di disegni, inserisci semplicemnte nel preambolo gli stili comuni.
    Ci vuole una buona politica di naming per facilitare a memoria l’inserimento dei disegni.
    Con \tikzsetfigurename puoi impostare un prefisso ai nomi.
    Non mi ricordo se è possibile dare un nome specifico al disegno…
    I file dei disegni vengono numerati quindi eventualemente potresti scrivere uno script per rinominarli.
    R.

    Go to top