
이것이 나의 첫 번째 질문입니다. 한동안 검색했지만 아직 비슷한 질문을 찾을 수 없었습니다. 올바른 검색 문구가 부족한 것 같습니다. 어쨌든, 여기 온다.
논문을 작성하는 동안 플롯을 입력하는 데 문제가 있습니다. 계산 결과가 .txt 파일에 나열되어 있는데 각 플롯에 대해 자체 tex 파일을 갖는 것을 피하고 싶습니다. 그래서 내 생각은 모든 다이어그램을 하나의 파일에 넣고 고유한 "tikzpicture" 환경으로 구분하는 것입니다. 이제 내가 놓친 것은 내 기본 문서에 이 tex 파일의 세 번째 또는 다섯 번째 다이어그램만 입력하도록 지시하는 방법입니다. 이를 수행할 수 있는 방법이 있습니까? 각 tikzpicture에 태그 같은 것을 제공할 수도 있나요?
내 목표는 a) 더 적은 수의 파일을 생성하는 것입니다. b) 모든 다이어그램의 형식을 정의하고 이를 변경하려는 경우 이 작업을 모든 다이어그램 파일이 아닌 한 번만 수행하면 됩니다.
너무 복잡하다면 이를 실현할 수 있는 다른 방법을 제안해 주실 수 있나요?
미리 감사드립니다.
답변1
가장 쉽지만 엉성한 해결책은 \newcommand
.tex 파일에서 만든 각 tikzpicture에 대해 를 정의한 다음 이를 기본 파일에 삽입하는 것입니다.
다음과 같은 파일을 가질 수 있습니다 pictures.tex
.
\newcommand{\tikzI}{
\begin{tikzpicture}
<insert tikz contents here>
\end{tikzpicture}
}
\newcommand{\tikzII}{
\begin{tikzpicture}
<another tikzpicture>
\end{tikzpicture}
}
기본 파일은 다음과 같습니다.
<preamble>
\begin{document}
\input{pictures}
<some text here>
\tikzI
<more text>
\tikzII
\end{document}
그러나 Alan Munn이 제안한 것처럼 모든 사진을 자체 파일에 할당하고 각 tikzpicture에 대해 이러한 파일을 별도로 호출하는 것이 더 쉽고 편안할 수 있습니다. (메인 디렉토리가 복잡해지지 않도록 tikzpictures용으로 특별히 디렉토리 만들기)
답변2
모든 이미지를 하나의 파일에 넣어서는 안 된다고 생각합니다. 장기적으로 여러 파일을 관리하는 것이 훨씬 쉽습니다.
standalone
이는 패키지와 클래스 조합 에 이상적인 사용 사례입니다 . 각각의 개별 그래픽은 문서로 생성되어 standalone
자체적으로 테스트될 수 있지만 패키지를 사용하여 마스터 문서에 입력할 수 있습니다 standalone
. 일반적인 TikZ 스타일을 작은 패키지에 넣을 수 있습니다. 여기에 예가 있습니다.
일반적인 TikZ 스타일을 패키지에 넣기
먼저 TikZ 스타일 패키지를 만듭니다. 방금 한 가지 스타일을 예로 정의했습니다.
\ProvidesPackage{mytikzstyles}[2017/04/30]
\tikzset{my line/.style={red,very thick}}
이 문서를 mytikzstyles.sty
문서와 동일한 폴더에 저장하거나, 여러 문서에 사용하는 경우 의 로컬 texmf
폴더에 저장하세요 <path-to-local-texmf>/tex/latex/mytikzstyles/
.
개별 standalone
이미지 문서 만들기
standalone
다음으로 각 이미지에 대한 클래스 문서를 만듭니다 . 이것의 장점은 완전히 컴파일 가능한 문서이므로 개별적으로 테스트하고 조정할 수 있다는 것입니다. 각 문서에서 \usepackage{mytikzstyles}
자신이 만든 공통 스타일에 액세스하려면 추가하기만 하면 됩니다 .
Image-1.tex
\documentclass[tikz=true,border=10pt]{standalone}
\usepackage{mytikzstyles}
\begin{document}
\begin{tikzpicture}
\draw[my line] (0,0) -- (0,3) -- (3,3) -- cycle;
\end{tikzpicture}
\end{document}
Image-2.tex
\documentclass[tikz=true,border=10pt]{standalone}
\usepackage{mytikzstyles}
\begin{document}
\begin{tikzpicture}
\draw[my line] (0,0) -- (0,3) -- (3,0) -- (3,3) -- cycle;
\end{tikzpicture}
\end{document}
클래스를 사용하여 standalone
파일 입력
이제 우리의 메인 문서는 우리가 원하는 방식으로 파일을 입력할 수 있습니다. 기본 파일 디렉토리를 깔끔하게 유지하려면 모든 이미지 문서를 자체 폴더에 넣을 수 있습니다. (폴더나 파일명에 공백이 없어야 합니다.)
예는 다음과 같습니다.
\documentclass{article}
\usepackage{standalone}
\usepackage{tikz}
\usepackage{mytikzstyles}
\begin{document}
\begin{figure}
\centering
\input{Image-2}
\caption{This is image 2}
\end{figure}
\begin{figure}
\centering
\input{Image-1}
\caption{This is image 1}
\end{figure}
\end{document}