多くの場合、一連のデータのプロットや単純な関数を TeX ファイルに含めたいと思うことがあります。通常の単純なアプローチは、プロットをベクターまたはピクセル グラフィックとして保存し、graphicx パッケージでインポートすることです。
しかし、これには欠点もあります。たとえば、軸ラベルは大きすぎたり小さすぎたりすることがよくあります。
そこで私が試した別のオプションは、gnuplot とターミナル オプション epslatex です。これにより、軸ラベルがベクター グラフィック ファイルと tex ファイルの両方を書き込む問題は修正されますが、軸ラベルで (たとえば小さな間違いなど) 変更したい場合には、この方法は非常に非実用的であることがわかりました。
そこで、pdfLaTeX 出力のサイズとフォントと互換性のあるプロットを LaTeX ファイルに作成して含める最も実用的な方法は何かを知りたいと思いました。
編集: ファイルからデータ ポイントをプロットすることに重点が置かれています (分析関数をプロットするのではなく、制限された動作を示すだけです)。
答え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 2015 で発生し、以前の環境 (つまり TeX Live 2013) では発生しませんpdflatex main.tex
というエラーが発生します! Undefined control sequence. l.7 \gpsetdashtype{gp dt solid}
。残念ながら、その理由はわかりません。とにかく、この 7 行目を削除すると、最終的に次のようになります。
もちろん、編集することでグラフの詳細を変更することもできますgraph.tex
。
使用gnuplottex
パッケージは使用したことはありませんが、良い選択かもしれません。