Tikz 수치/플롯이 많은 프로젝트의 워크플로

Tikz 수치/플롯이 많은 프로젝트의 워크플로

나는 LaTeX와 Ti를 좋아합니다케이고품질 문서 작성을 위한 Z. 문제는대규모 프로젝트에는 꽤 긴 컴파일 시간이 필요합니다.그리고그 복잡한 Ti케이Z 수치/플롯이 메모리 한도를 빠르게 초과합니다.. 내 파일에 다른 섹션을 포함하면 문제를 피할 수 있고 main.tex, 작업 중이 아니면 주석을 제거할 수 있습니다. 대안적인 접근 방식은 Ti를 외부화하는 것입니다.케이Z 수치/플롯이 있지만 그것도 최적이 아닙니다. 왜냐하면 종종 순차적 순서로 플롯의 주석 처리를 제거한 다음 각 플롯을 순차적 순서로 컴파일해야 하기 때문입니다. 그러나 전체 프로젝트를 컴파일하는 것은 상당히 문제가 될 것입니다.

질문: 그렇기 때문에 엄청난 양의 Ti를 사용하는 대규모 프로젝트를 관리하는 모범 사례를 알고 싶습니다.케이Z 수치/플롯.

답변1

제가 올바르게 이해했다면 가 작동하지 않는 이유는 tikzexternalize부분을 주석 처리하여 그림의 순서를 변경하면 혼란스러워지고 그림을 다시 컴파일하기 때문입니다. 여기서 문제는 tikzexternalize문서에서 그림의 상대적 위치를 사용하여 참조한다는 것입니다.

tikzexternalize위치가 바뀌더라도 그림을 인식할 수 있는 한 가지 방법 은 이름을 지정하는 것입니다(그러면 tikzexternalize그림 참조 명령을 사용하지 않습니다). Ti를 로드한다고 가정하면케이외부 파일의 Z 사진을 사용하려면 다음과 같이 할 수 있습니다.

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

그런 다음 \inputtikz{name of file}그림을 넣고 싶은 곳 어디든 사용하세요. 그림을 이리저리 이동하거나 섹션에 주석을 달 때 안정적입니다.

또한 각 그림의 이름을 수동으로 지정 \tikzsetnextfilename{name}하거나 해당 작업을 수행하는 다른 명령/환경을 정의할 수도 있습니다. 이는 작업 흐름에 더 적합합니다.

답변2

그러한 경우에 내가 할 일은 tikzpicture문서의 텍스트나 다른 부분을 작업하는 동안 주석으로만 사용할 수 있는 환경을 재정의하고 문서가 최종 완성되었거나 모든 내용을 보고 싶을 때마다 이 재정의를 주석으로 처리하는 것입니다. 내부 수치.

나는 또한 (시연을 위한 긴 이름) tikzpictures이라는 환경에서 개인과 함께 작업할 수 있도록 이에 대한 이전 정의를 유지할 것입니다 .currenttikzpicture

암호:

\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}

추신: 출력 결과가 있어야 할 위치에 수치를 유지하지 못한다는 것을 알고 있지만 더 빠르게 작업하려고 할 때는 별로 신경 쓰지 않습니다.

관련 정보