Я часто прихожу к моменту, когда мне нужно включить в свой файл TeX график набора данных или просто простую функцию. Обычный наивный подход — сохранить график как векторную или пиксельную графику и просто импортировать его с помощью пакета graphicx.
Но у этого есть и обратная сторона. Например, метки Axes часто слишком большие или слишком маленькие.
Поэтому другой вариант, который я попробовал, это gnuplot и опция терминала epslatex. Хотя это устраняет проблему с axeslabel, записывающим как векторный графический файл, так и файл tex, я обнаружил, что этот метод очень непрактичен, когда я хотел изменить (например, небольшую ошибку) в axeslabel.
Поэтому я хотел узнать, какой наиболее практичный способ создания и включения графика в файл LaTeX, сделав его совместимым с размером и шрифтом выходного файла pdfLaTeX?
EDIT: Основное внимание уделяется построению графиков точек данных из файла (а не построению графиков аналитической функции, это делается просто для того, чтобы показать некоторые ограничивающие свойства).
решение1
Если по какой-то причине вы хотите использовать gnuplot вместо pgf bundles, я бы посоветовал вам использовать 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}
Однако выполнение pdflatex main.tex
каким-то образом генерирует ошибку, говорящую: ! Undefined control sequence. l.7 \gpsetdashtype{gp dt solid}
Эта ошибка происходит в TeX Live 2015, а не в моей предыдущей среде (т.е. TeX Live 2013), и я боюсь, что не знаю причину. В любом случае, удаляя эту строку 7, мы в итоге получаем следующее:
Конечно, вы можете изменить детализацию графиков, отредактировав graph.tex
.
С использованиемgnuplottex
package может быть хорошим выбором, хотя я никогда им не пользовался.