Fluxo de trabalho para projetos com muitas figuras/parcelas tikz

Fluxo de trabalho para projetos com muitas figuras/parcelas tikz

Eu amo LaTeX e TikZ para criar documentos de alta qualidade. O problema é queprojetos grandes requerem um tempo de compilação bastante longoeque complicado TikOs números/gráficos Z excedem rapidamente o limite de memória. Posso evitar o problema dele se incluir diferentes seções no meu main.texe, conseqüentemente, descomentá-las se não estiver trabalhando nelas. Uma abordagem alternativa é uma externalização do meu TikFiguras/gráficos Z, mas isso também não é o ideal, porque muitas vezes terei que descomentar os gráficos em ordem sequencial e depois compilar cada gráfico em ordem sequencial. Mas compilar todo o projeto será bastante problemático.

Pergunta: É por isso que quero conhecer as melhores práticas para gerenciar grandes projetos com uma enorme quantidade de TikFiguras/parcelas Z.

Responder1

Se bem entendi, o motivo pelo qual tikzexternalizenão está funcionando para você é porque ele fica confuso e recompila as imagens quando você altera a ordem das figuras comentando as partes. O problema aqui parece ser que se tikzexternalizeutiliza a posição relativa de uma figura no documento para referenciá-la.

Uma forma de tikzexternalizereconhecer imagens mesmo que mudem de posição é nomeá-las (depois tikzexternalizedeixará de usar a ordem de referência das figuras). Supondo que você carregue seu TikZ de arquivos externos, você poderia fazer algo assim:

\newcommand{\inputtikz}[1]{%
  \tikzsetnextfilename{#1}%
  \input{#1.tikz}%
}

e depois use \inputtikz{name of file}onde quiser colocar sua figura. Isso ficará estável quando você mover suas figuras ou comentar seções.

Obviamente, você também pode nomear manualmente cada figura \tikzsetnextfilename{name}ou definir algum outro comando/ambiente que faça isso, que seja mais adequado ao seu fluxo de trabalho.

Responder2

O que eu faria nesse caso seria redefinir o ambiente para tikzpictureser apenas um comentário enquanto trabalho com o texto ou outra parte do meu documento e comentar essa redefinição quando o documento estiver finalizado ou sempre que eu quiser vê-lo com todos os figuras dentro.

Eu também manteria a definição antiga, para poder trabalhar com indivíduos tikzpicturesem um ambiente chamado currenttikzpicture(esse nome longo apenas para demonstração).

Código:

\documentclass{article}    
\usepackage{tikz}
\usepackage{verbatim}
\let\oldtikzpicture\tikzpicture
\let\oldendtikzpicture\endtikzpicture
\renewenvironment{tikzpicture}[1][]{\comment}{\endcomment}
\newenvironment{currenttikzpicture}[1][]{\oldtikzpicture[#1]}{\oldendtikzpicture}

\begin{document}
\begin{tikzpicture}[scale=0.5]
\foreach \i in {1,2,...,4}{\draw[-,thick,red]  (\i,0)to[in={\i*10}, out={170-\i*10}]({2*\i},{4*\i+1}) to[in={170-\i*10},out={270-\i*10}] ({2*\i-3},{\i/10})--(\i,0);}
\end{tikzpicture}

\begin{tikzpicture}[scale=0.5]
\foreach \i in {1,2,...,4}{\draw[-,thick,red]  (\i,0)to[in={\i*10}, out={170-\i*10}]({2*\i},{4*\i+1}) to[in={170-\i*10},out={270-\i*10}] ({2*\i-3},{\i/10})--(\i,0);}
\end{tikzpicture}

\begin{tikzpicture}[scale=0.5]
\foreach \i in {1,2,...,4}{\draw[-,thick,red]  (\i,0)to[in={\i*10}, out={170-\i*10}]({2*\i},{4*\i+1}) to[in={170-\i*10},out={270-\i*10}] ({2*\i-3},{\i/10})--(\i,0);}
\end{tikzpicture}

\begin{currenttikzpicture}[scale=0.5]
\foreach \i in {1,2,...,4}{\draw[-,thick,green]  (\i,0)to[in={\i*10}, out={170-\i*10}]({2*\i},{4*\i+1}) to[in={170-\i*10},out={270-\i*10}] ({2*\i-3},{\i/10})--(\i,0);}
\end{currenttikzpicture}



Test
\end{document}

PS: Eu sei que o resultado não manteria os números no lugar que deveriam estar, mas não me importo muito em tentar trabalhar mais rápido.

informação relacionada