나는 종종 데이터 세트의 플롯이나 단순한 함수를 TeX 파일에 포함시키고 싶은 시점에 도달합니다. 일반적인 순진한 접근 방식은 플롯을 벡터 또는 픽셀 그래픽으로 저장하고 graphicx 패키지로 가져오는 것입니다.
그러나 여기에는 단점이 있습니다. 예를 들어 축 레이블은 크기가 너무 크거나 작은 경우가 많습니다.
그래서 제가 시도한 또 다른 옵션은 gnuplot과 터미널 옵션인 epslatex입니다. 이렇게 하면 벡터 그래픽 파일과 tex 파일을 모두 작성하는 axislabel의 문제가 해결되지만 axislabel을 변경하려고 할 때(예: 작은 실수) 이 방법이 매우 비실용적이라는 것을 알았습니다.
그래서 LaTeX 파일에 플롯을 생성하고 포함하여 pdfLaTeX 출력의 크기 및 글꼴과 호환되도록 하는 가장 실용적인 방법이 무엇인지 알고 싶었습니다.
편집: 강조점은 파일의 데이터 포인트를 그리는 것입니다(분석 함수를 그리는 것이 아니라 단지 일부 제한적인 동작을 보여주기 위한 것임).
답변1
어떤 이유로 pgf 번들 대신 gnuplot을 사용하려면 tikz
터미널 옵션을 사용하는 것이 좋습니다. 절차는 다음과 같습니다.
.tex
먼저 원하는 그래프를 그리는 파일을 만들어야 합니다 . 플로팅 데이터가 없기 때문에 이 데모에서는 사인 곡선을 플로팅하겠습니다. 그러나 gnuplot을 사용하여 plot "foo.csv"
. gnuplot에서 다음을 실행합니다.
set terminal tikz
set output "graph.tex"
set xlabel "set $x$ axis label as you like"
set ylabel "set $y$ axis label as you like"
# put extra settings you want to use here
plot sin(x)
exit
graph.tex
그래프가 그려지는 위치를 알 수 있습니다 .
그런 다음 우리가 해야 할 일은 이 파일을 기본 소스에 포함시키는 것뿐입니다 main.tex
. 패키지를 로드 gnuplot-lua-tikz
해야 합니다.
\documentclass{article}
\usepackage{gnuplot-lua-tikz}
\begin{document}
\centering
\include{graph}
\end{document}
그러나 실행하면 이 오류는 이전 환경(예: TeX Live 2013)이 아닌 TeX Live 2015에서 발생한다는 pdflatex main.tex
오류가 발생 ! Undefined control sequence. l.7 \gpsetdashtype{gp dt solid}
하며 그 이유를 모르겠습니다. 어쨌든, 이 7번째 줄을 삭제하면 마침내 다음과 같은 결과를 얻게 됩니다.
물론 을 편집하여 그래프의 세부 사항을 변경할 수 있습니다 graph.tex
.
사용gnuplottex
패키지는 사용해본 적이 없지만 좋은 선택일 수 있습니다.