1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TeXファイル内に直接gnuplotを書く

Last updated at Posted at 2024-06-17

はじめに

対象読者

  • gnuplotを使っているが、毎回gnuplotコマンドを使ってコンパイルをするのが面倒くさい人

最終目標

image.png

(1) gnuplotのインストールを確認

次をターミナルで実行します

terminal
gnuplot --version

VSCodeの例
image.png

gnuplot x.x patchlevel xならOK。gnuplotがインストールがされています。次へ進んでください

違う場合
  • bash: gnuplot: command not found
  • 'gnuplot'は、内部コマンドまたは(ry

のようなときは、gnuplotがインストールされていません。
Google先生にインストール方法を尋ねてください。

(2) gnuplot-lua-tikzの用意

必要なファイルを生成します。ターミナル上で、使いたい.texファイルがあるディレクトリまで移動します。
その上、次を実行してください

terminal
gnuplot -e 'set term tikz createstyle'

次の4つファイルが生成されます。

これで準備完了です。
(*.styの2つ以外は必要ないので消しても構いません)

(3) 使用してみる

サンプルコードを用意したのでコピペして試してみてください。

main.tex
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}

% 追加を忘れずに
\usepackage{gnuplottex,gnuplot-lua-tikz}

\begin{document}

\begin{figure}[h]
  \centering
  \begin{gnuplot}[terminal=tikz]
    a = 0.1
    plot sin(x) * exp(a * x), exp(a * x), -exp(a * x)
  \end{gnuplot}
  \caption{減衰曲線のグラフ} \label{fig:sample}
\end{figure}

\end{document}

グラフが出力されたら成功です
texファイルの場所が変わるたびに(2)を行う必要があります。これが面倒な場合は番外編に進んでください。

(番外編) (2)を飛ばす

楽を得るにはそれなりの努力が必要ということで多少難易度は上がります。

main.tex
\usepackage{gnuplot-lua-tikz}

この部分で、(2)で生成された4つのファイルの読み込んでいるわけです。(生成されたファイル名と一致していますね)
つまり、(2)で生成されたファイル群を、どのtexファイルからもアクセスできる場所に持っていけば良いです。

terminal
kpsewhich -var-value=TEXMFLOCAL

でパスが得られます。ターミナル上で得られたパス/tex/latexに移動してください。
そこでgnuplotディレクトリを作成して、その中に移動してください。つまり今は得られたパス/tex/latex/gnuplotにいますね。
ここで、(2)のコマンド↓を実行します。大抵の場合権限が必要です。sudoなどをつけて対処します。

terminal
sudo gnuplot -e 'set term tikz createstyle'

同じように4つファイルができたと思います。加えて、次のコマンドを実行して、新しく生成されたファイルを登録するという処理をします。

terminal
sudo mktexlsr

これで、(2)を毎回行わなくても良くなりました

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?