Какой наиболее практичный способ создания и включения графика в pdfLaTeX

Какой наиболее практичный способ создания и включения графика в pdfLaTeX

Я часто прихожу к моменту, когда мне нужно включить в свой файл 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.

С использованиемgnuplottexpackage может быть хорошим выбором, хотя я никогда им не пользовался.

Связанный контент