LaTeXとGnuplotを使ったレポート作成入門

# はじめに
この記事は「LaTeXよくわからん」「自環境構築したことない」という方向けの記事になります．「今どきupLaTeXは～」とか講釈を垂れる人はお帰りくださいませ．またmatplotlibなどが使える人は，グラフ出力は好きなのを使ってください．レガシな人間によるレガシツールを用いたレポート作成入門です．そしてWindows以外のマシンについては触ったことがないので一切説明を行いません．ご了承ください．

なお筆者は授業で扱う程度のプログラミングで挫折し，研究においてもプログラミングを全く扱っていないソフトウェア素人です．

# 前提確認
ユーザ名が半角英数以外になっているとTeX Liveのインストールが完遂できないと思います．
また拡張子はエクスプローラ上で表示される設定にしておくことをおすすめします．

# TeX Liveの導入
TeX Liveの公式サイト ( URL: https://www.tug.org/texlive/acquire-netinstall.html ) からインストールを行います．

![TeX Live 公式サイトの画像．install-tl-windows.exeをクリック](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/ac4c3e4d-4884-bd5e-3a76-2112647a98f7.png)

install-tl-windows.exeをクリックし，インストーラをダウンロードしてください．
exeファイルがダウンロードフォルダに入っていると思いますので，開いて実行．
実行時に「WindowsによってPCが保護されました」と出る場合がありますが，「詳細情報」を開き，「実行」をクリックすることで先に進めます．

<img width="300" alt="「WindowsによってPCが保護されました」と表示されている画像" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/40355fc0-1e8b-1e97-641d-439e43b49cb6.png">
<img width="300" alt="「詳細を表示」をクリックした後の画像．「実行」のボタンが出現する" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/3c985046-df89-50dd-7784-3552ef68364d.png">

Installに選択が入っていれば，Next→Installの順にクリックすればインストールが開始されます．「高度な設定」など設定項目が出現しますが，こだわりがなければそのままで大丈夫だと思います．そもそもこだわりがある人はこの記事を読む必要がなさそうです．

それではインストールを待ちましょう．だいたい1時間から2時間くらいです．はい．

パソコンには頑張ってもらうとして先に進みます．

## 参考文献
TeX Wiki (日本語) ，URL: https://texwiki.texjp.org/?TeX%20Live%2FWindows

# Gnuplotの導入
Gnuplotの公式サイトからインストールを行います (URL: http://www.gnuplot.info/ ) ．

![Gnuplotの公式サイトの画像．current stableのReleaseをクリック](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/f582ba42-55ee-00eb-1182-a191b403b311.png)


current stableの欄からRelease 6.0.0 (December 2023) をクリックして配布ページへ移ります．「Download Latest Version」と書かれているボタンをクリックするとインストーラがダウンロードされます．

![配布ページの画像．Download Latest Versionをクリック](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/7bdb912c-093d-c836-e689-a8ea4e4d0ad3.png)

ところでインストールされるのはVer6.0じゃなくて旧バージョンじゃねぇかって思うんですがいつまでもこのままです．とりあえず気にしないことにします．
インストーラを実行すると，言語選択を行えます．続いて契約書に同意．「次へ」を押して進んでいくと，「追加タスクの選択」の項目がきます．項目をスクロールすると一番下に「実行ファイルのディレクトリをPATH環境変数に追加する」がありますので，こちらにチェックを入れてください． (目的: ターミナルから直接Gnuplotを開けるようにする)

![追加タスクの選択が表示された画像．一番最後の「実行ファイルのディレクトリをPATH環境変数に追加する」にチェックを入れる](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/2d78c3f2-fc1f-8793-1428-255db1ab631e.png)


「次へ」を押すとインストール準備完了となるので問題がなければ「インストール」を押してインストールを開始してください．
インストールが終わったら，「次へ」，「完了」とクリックして閉じます．

# VS Codeの導入
VS Codeの公式サイト (URL: https://code.visualstudio.com/download ) からインストールを行います．

![VS Code公式サイトの画像．Windowsをクリック](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/0b1500e4-ca46-5927-8897-75895c4975f1.png)


Windowsをクリックしてインストーラのダウンロードを行ってください．
インストーラを開くと，使用許諾契約書の同意画面がでますので，同意して，「次へ」を選択．こだわりがなければそのまま「次へ」を押して先へ進んで大丈夫です．「インストール」をクリックしてインストールを開始してください．
インストールが終わって，指示にしたがって次へ進むとVS Codeが開きます．英語です．

## VS Codeの日本語化
英語で不自由ない人は日本語にするメリットはないかなと思います．不必要でしたら飛ばしてください．

一番左の列にアイコンが複数あると思います．その中の「Extensions」を選択し，「Search Extensions in ...」に「Japanese Language」と入れると「Japanese Language Pack for Visual Studio Code」がサジェストされるのでこちらをクリックし，「Install」をクリックして導入してください．

![日本語化パックアドオンの画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/99c374c3-ad70-af88-5b76-783b8e3d391a.png)

右下に「Would you like to change Visual Studio Code's display language to Japanese and restart?」と出ますので，「Change Language and Restart」をクリックすると，再起動し，日本語で表示されます．

## VS Codeの動作確認
適当にテキストファイルかなにかを作ってVS Codeで開いてみましょう．
ワークスペースの信頼が云々と申されるので信頼するを選択します．
…面倒なので，歯車マークから設定を開き，「ワークスペースの信頼」と検索をしてください．「VS Code内でワークスペースの信頼を有効にするかどうかを制御します。」のチェックを外してください．

![設定を開き，「ワークスペースの信頼」と検索した画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/7cae6a26-92eb-2dde-d4ad-7f23a0890fc5.png)

## LaTeX用のアドオンの導入
続いてtexファイルをVS Codeで編集しコンパイルする際に有益というか，これがないと意味がないようなアドオンを導入します．さきほどと同じ手順で「LaTeX Workshop」と入力し，アドオンをダウンロードしてください．

![LaTeX Workshopアドオンの画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/f2987356-5c29-0dc3-3b27-c4161ae119b9.png)

左下の歯車マークをクリックし，設定を選択してください．設定画面が開くので右上の「設定 (JSON)」をクリックしてください．「setting.json」という名前のファイルが開きます．今まで何も使っていなければ{}だけが書き込まれていると思います．

![歯車マーククリックして開いたメニューの画像．設定をクリック](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/c3ab91a1-b22b-2a45-da76-c8f6dd1c850a.png)
![設定画面の画像．設定 (JSON) をクリック](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/557c1d29-74ec-96e0-226f-e3089540ec47.png)

記事を偉そうに書いていながら，詳しいことを私は理解できていません．
rainbartown様の「VSCodeで最高のLaTeX環境を作る (URL: https://qiita.com/rainbartown/items/d7718f12d71e688f3573#settingsjson-%E3%81%AE%E7%B7%A8%E9%9B%86 )」が大変わかりやすいため，こちらを参考に，「setting.json」に全文コピーしてください．次の節で私の記事でも引用しています．
生成ファイルを出力する先のディレクトリ名は参考記事では「out」になっていますが，これは英数字だったらなんでもいいはずなので好きに変えてください．

あえて言い方を変えますと，このテキストの内容で理解できているのがここの部分だけということです．

悲しい事実をお伝えすると，rainbartown様の記事さえあれば環境構築が可能だと思います．私が最初にLaTeXの環境を構築した際，参照した記事で，親のようなものです．

…次に進みましょう．

## Gnuplot用のアドオンの導入
Gnuplot用のアドオンを導入します．便利ツールというだけなので，飛ばしてもいいかもしれません．

### Gnuplot
例によって「Gnuplot」と検索し，一番上に出てくる (であろう) アドオンを導入します．こちらはGnuplot用のテキストを読みやすく色つけしてくれる賢い子で，スニペットもあるので曖昧なコマンド入力がラクラク！ぷよゆやいんぐできない人の強い味方です．

![Gnuplotアドオンの画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/ee1aedf5-77f9-fa37-82b9-4c3917ef8a7d.png)


### Code Runner
例によって「Code Runner」と検索し，一番上に出てくるアドオンを導入します．
インストールすると，右上に▷ (右三角) が出現するようになると思います．
このアドオンは今表示しているソースコードをその場で動かしてくれる子です．

![Code Runnerアドオンの画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/b340ff35-53be-edeb-f190-826f57df282a.png)


ここでGnuplot導入時に設定した「実行ファイルのディレクトリをPATH環境変数に追加する」が役に立つわけです．
VS Codeはテキストエディタのふりをした万能ツールなのでVS Code上でターミナルが動きます．勝手にターミナル開いてそれぞれのアプリケーションを動かしてくれるアドオンということです．とはいえGnuplotは導入しただけでは動かないので設定を行います．
さきほどLaTeX Workshopのために「setting.json」へコピペしましたが，同様に次のテキストを，{}の内側にコピペしてください．行数をいじっていなければ82行目の波括弧の中になります．

```
    "code-runner.executorMapByFileExtension": {
        ".plt": "gnuplot $fullFileName",
    },
```

なおこの設定はtake_me様の「Code Runnerを使いこなす (URL: https://qiita.com/take_me/items/6a1d2d417889837219d1 )」から引用しています．Code Runnerに関して詳しく書かれており大変参考になります．

2つの引用元から得られたLaTeX Workshopの設定とCode Runnerの設定を一部整理して記した「setting.json」を載せておきます．
変更点として，出力ディレクトリ名を「output」にして，どこからCode Runnerの項目かわかるようにしている程度です．

```
{
    // ---------- Language ----------

    "[tex]": {
        // スニペット補完中にも補完を使えるようにする
        "editor.suggest.snippetsPreventQuickSuggestions": false,
        // インデント幅を2にする
        "editor.tabSize": 2
    },

    "[latex]": {
        // スニペット補完中にも補完を使えるようにする
        "editor.suggest.snippetsPreventQuickSuggestions": false,
        // インデント幅を2にする
        "editor.tabSize": 2
    },

    "[bibtex]": {
        // インデント幅を2にする
        "editor.tabSize": 2
    },


    // ---------- LaTeX Workshop ----------

    // 使用パッケージのコマンドや環境の補完を有効にする
    "latex-workshop.intellisense.package.enabled": true,

    // 生成ファイルを削除するときに対象とするファイル
    // デフォルト値に "*.synctex.gz" を追加
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk",
        "*.snm",
        "*.nav",
        "*.dvi",
        "*.synctex.gz"
    ],

    // 生成ファイルを "output" ディレクトリに吐き出す
    "latex-workshop.latex.outDir": "output",

    // ビルドのレシピ
    "latex-workshop.latex.recipes": [
        {
            "name": "latexmk",
            "tools": [
                "latexmk"
            ]
        },
    ],

    // ビルドのレシピに使われるパーツ
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-silent",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
        },
    ],

    // Code Runner for gnuplot 
    "code-runner.executorMapByFileExtension": {
        ".plt": "gnuplot $fullFileName",
    },
}
```

### Edit csv
Edit csvはVS Code上でExcelみたいなセル管理画面においてCSVデータをいじれるすばらしい拡張機能です．

![Edit csvの画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/1a5f8828-62e1-8f08-8ffb-8f9fb7769963.png)

たとえば次のようなcsvファイルがあるとします．

![CSVのデータの画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/2c2d5073-ee4c-08d9-573e-43277bc5c767.png)

csvファイルを開いていると右上に出てくる「Edit csv」をクリックします．

![CSVのデータを開いているタブの右上の画像．Edit csvと書いてある](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/d51703a2-874c-e0d7-8e4c-07a5534b5871.png)

すると次のようなタブが開かれます．Excelのような画面になりましたね．実験のデータなどを直接csvファイルに記述していく場合などは非常に便利だと思います．別にExcelでcsvファイル扱えばいいじゃないかといえばそうなんですが，Excelは賢くも勝手にデータを改変して面倒を引き起こす要因になりがちなので計算する気がないならcsvファイルを開くのに適切なソフトウェアではないと思っています．

![Edit csvのエディタ画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/2e45627c-2b34-7157-9096-50ec07ec0997.png)

## 参考文献
rainbartown，「VSCodeで最高のLaTeX環境を作る」URL: https://qiita.com/rainbartown/items/d7718f12d71e688f3573

take_me，「Code Runnerを使いこなす」URL: https://qiita.com/take_me/items/6a1d2d417889837219d1

# latexmkの設定
ここまで設定を行ってきてTeX Liveのインストールの様子はどうでしょうか．
私は記事を書きながら設定を行っていてようやく3/4ほどが終わっておりました．
インストールは終わりませんがLaTeXの便利設定を行っていきます．

何も設定しないと，複数コマンドをCUIで叩く必要があり，面倒なのですが，それを解決する手法が[こちら](https://qiita.com/rainbartown/items/d7718f12d71e688f3573#latexmk%E3%81%AE%E8%A8%AD%E5%AE%9A)です．そうですね「setting.json」をコピペしたときと同じrainbartown様の記事です．本当にありがとうございます．先に設定したものと合わせると，Ctrl + Sでtexファイルの上書き保存をしただけでビルドが開始されコンパイルしてしっかりPDFにしてくれるようになるわけです．神．

以下手順になります．

1. ファイルエクスプローラを開き，「C:\Users\username」に移動
2. 新規作成からテキストファイルを選び「.latexmkrc」に名前を変更 (拡張子を変更すると～の文言が出ない場合は変更できていないので拡張子を確認)
3. .latexmkrcファイルを開く (このファイルを開く方法を選べと言われるのでVS Codeを選択)
4. 参考記事の「.latexmkrc」をコピペ
5. 5行目「'platex - synctex=1 -」の箇所を「'uplatex - synctex=1 -」に変更し保存

以下に．.latexmkrcのファイルに書き込む内容を載せています．引用元からの変更点としてはplatexからuplatexに変更しているだけです．
これらは文章ファイルを生成するLaTeXエンジンの種類で，u付きの方はUnicode対応のエンジンであることを意味します．「texファイルをuplatexを用いてdviファイルを出力し，dvipdfmxの力でdviファイルからpdfファイルへ変換を行う」という流れで文章が整形されることになります．

```
#!/usr/bin/env perl

# LaTeX
$latex = 'uplatex -synctex=1 -halt-on-error -file-line-error %O %S';
$max_repeat = 5;

# BibTeX
$bibtex = 'pbibtex %O %S';
$biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';

# index
$makeindex = 'mendex %O -o %D %S';

# DVI / PDF
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_mode = 3;

# preview
$pvc_view_file_via_temporary = 0;
if ($^O eq 'linux') {
    $dvi_previewer = "xdg-open %S";
    $pdf_previewer = "xdg-open %S";
} elsif ($^O eq 'darwin') {
    $dvi_previewer = "open %S";
    $pdf_previewer = "open %S";
} else {
    $dvi_previewer = "start %S";
    $pdf_previewer = "start %S";
}

# clean up
$clean_full_ext = "%R.synctex.gz"
```

# Gnuplot入門
例によってTeX Liveのインストールは終わっていないと思いますので先にGnuplotを使って遊びましょう．Gnuplotは数式を入れてグラフを出力する他，データファイルを入力して，そのグラフを出力してくれるアプリケーションです．コマンド画面でちまちま指示を与えることもできますが，大体いつも出したいグラフの形は決まっているのでグラフプロット用のファイルを作ります．「filename.plt」の形式になります．
ここでは他のソフトで出力したデータファイルを入れる使い方のみを説明します．Gnuplotについて詳しく知りたい方はネットに多数有用な記事がありますのでそちらを参照してください．

ここでは参考にLC並列回路の周波数応答をグラフに起こしてみます．回路シミュレータを使ってcsvファイルを作成しています．名前を「LC-parallel.csv」としています．拡張機能Edit csvを紹介した際に載せた画像がこのcsvファイルの冒頭部分です．
同一ディレクトリにテキストファイルを新規作成し，名前を「LC-parallel.plt」とします．拡張子以前を同じ名前にする必要はありませんが，簡単のため私は名前を統一することが多いです．
以下に私が普段使用しているpltファイルのテンプレートを示します．数多くの記事やサイトを参考にさせていただき，現在の形になっているので，参考文献は，最終的にここに飛んでくれればこのpltファイルについてわかるかな？というところに絞って掲載いたします．

```
##Setting of color style (default, classic, podo)
set colors podo

##Setting of fonts 
set tics   font "Times New Roman, 18"  # scale font
set key    font "Times New Roman, 15"  # legends font
set xlabel font "Times New Roman, 18"  # xlabel font
set ylabel font "Times New Roman, 18"  # ylabel font
set zlabel font "Times New Roman, 18"  # zlabel font

##Setting of title (Do NOT use in papers)
#set title "Title name"

##Setting of output style (pngcairo:png, pdfcairo:pdf, tikz:tex)
set terminal pdfcairo

##Setting of output filename
set output "LC-parallel.pdf"

##Setting of labels
set xlabel "Frequency (GHz) "
set ylabel " Amplitude (dB) "

##Setting of log graph
#set log x 
#set log y

##Setting of range
#set xrange[0:10]
#set yrange[-50:0]

##Setting of large scale
set xtics 2
set ytics 10

##Setting of small scale 
set mxtics 5
set mytics 5

##Setting of legends 
set key opaque box #legends in the box
set key left bottom #positioning
set key width +1 #put space in front of legends 

##Input CSV
set datafile separator ","

##Input file (dt: dash type, lw: line width, lc: line color)
##Color Universal Design
#red: #ff4b00 blue: #005aff yellow: #fffb00 green: #03af7a skyblue: #4dc4ff
plot \
"LC-parallel.csv" using 1:2 with lines title "|{/:Italic S}_{11}|" lw 2 lc rgb "#ff4b00" dt (10,5),\
"LC-parallel.csv" using 1:3 with lines title "|{/:Italic S}_{21}|" lw 2 lc rgb "#005aff" 
##Resetting
reset
```

* 内容の軽い解説
    * Setting of color style: データプロットのカラーを指定しない場合に使われるカラーパレットの選択．podoはカラーユニバーサルフリーを考慮しているらしい．
    * Setting of fonts: それぞれの項目のフォントとサイズを設定できる．グラフラベルはサンセリフ体が好ましいという意見もあるが個人的にはセリフ体の方が好み．
    * Setting of title: グラフのタイトルを出力する．レポート等の場合は不必要．
    * Setting of output style: 画像の出力形式を変更する．LaTeXに取り込むならベクタ形式のPDFが好ましいはず．
    * Setting of output filename: 出力ファイル名．pltファイルとcsvファイルと統一しているのは好み．
    * Setting of labels: x, y軸のラベル設定．
    * Setting of log graph: 対数スケールのグラフ用の設定．使ってない．
    * Setting of range: グラフの表示範囲設定．使わなければプロット点が全部表示できるように自動調整される．任意の範囲だけグラフに起こす場合に使用．
    * Setting of large scale: ラベルの数値が表示される間隔．
    * Setting of small scale: ラベルの数値の間の指示間隔．
    * Setting of legends: 凡例の各種設定．枠線あり透過，左下，位置調整の設定．
    * Input CSV: csvファイルを読み込むために必要．データの分け目はカンマですよの指示．
    * plot: プロットする参照ファイル名，データのどの列を使うか，線を引くか，それぞれのデータの名前は何か，lw→線の太さ (linewidth)，lc→線の色 (linecolor)．
    * Resetting: 各種設定をリセットして別のpltファイルを読み込んだときにおかしくならないようにする．

詳しいことは参考文献に委ねます．GnuplotのCUIで1行ずつコマンドを打つ行為をまとめてpltファイルに記述しているというわけです．そのためそれぞれの項目の記述順番を変更するとよくわからんことが発生したりするのです．よく理解してないですが，とりあえず今の状態ならちゃんと求めているPDFファイルが生成されるからヨシ！としています．

ところでカラーパレットを設定しているのにわざわざ各データに色を定義しているのが気に障るかもしれません．これはカラーユニバーサルデザイン機構 (CUDO) が定めている[カラーユニバーサルデザイン推奨配色セット](https://cudo.jp/?page_id=1565)に沿って配色を行っているためです．使用しているモニタによって色が変わって見えるため，どの程度効果があるのか不明ですが，なるべく多くの人が認識しやすいような配色を心がけています．カラーパレットにあるpodoについては，明暗差がついており，おそらく認識しやすい配色なのだと思われますが，どのような研究に基づいて決められているのか確認できておらず，そもそも一般色覚者からすると広く用いられる配色と離れるため，一般色覚者が言う「赤」「青」「黄」「緑」を主体的に使用しています．
配色や，実線と破線の使い分けなどは，1つのグラフに載せる情報によってわかりやすさが変わるので難しいところです．

閑話休題

さて，pltファイルの準備ができたら後はGnuplotにファイルの生成をお願いするだけです．Gnuplotをスタートメニューから開いてもいいですし，PowerShell等のターミナルからGnuplotを開いても構いません．VS CodeならCtrl + @のショートカットでターミナルを開けるのでターミナルから操作する方が主流でしょう．

え？さっきまでWin10だったのに急にWin11になったって？すみません執筆の途中で上げました．Win10でもWin11でも挙動は同じです．たぶん．

![PowerShellからGnuplotを開いた様子 (上) とGnuplotソフトを直接開いた様子 (下) の画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/3c6179f1-6ccb-43a7-07db-4ee3f2898905.png)


基本的なディレクトリ移動はLinuxと一緒である (と思ってる) ので，cdコマンドでファイルがあるディレクトリに飛んでください．そしてloadコマンドを用いることでpltファイルを読み込んで，書き込んだコマンドを実行してくれます．
```
> cd 「ファイルがあるディレクトリ」
> load "LC-parallel.plt"
>
```
簡単ですね！これで同ディレクトリにLC-parallel.pdfというファイルが生成されます．
Gnuplotを開いている状態だとPDFが読み込めないようなのでファイルの確認のためには一度Gnuplotからは脱してください．生成した画像 (pdf) をChromeで開いた様子を示しておきます．

![生成したLC並列回路の周波数応答のグラフ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/5e1c6790-dfaa-4256-0f48-f1b97eb86d03.png)

ターミナル開くの面倒だし画像の確認面倒だな…って思いますよね？
そこで先ほど導入したCode Runnerが役に立ちます．VS Codeでpltファイルを表示して，右上の▷をクリックしましょう．

![VS Codeでpltファイルを開き，Code Runnerのボタンを示した画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/e0c8688b-246f-15c0-674d-8e8643bda1ae.png)


するとVS Codeの画面下に出力と現れて，pltファイルがgnuplotで実行されます．[Done]と出たらPDFが完成しています．ハチャメチャに便利です．

![出力タブの画像](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/70d0b328-f527-be10-4e01-80065b2a665f.png)


残念なことにこの機能，たまに言う事を聞いてくれなくなります (私だけ？) ．
お前の指定したcsvファイルなんて見当たらねぇぜ！と文句を言われてしまいます．これに関して，環境の復元ができていない (完全に同じディレクトリ，ファイル名で日によって実行可能) なため，よくわかりません．卒論執筆中にイカれたときは悲しかったです．
原因が見つかるととても嬉しいですね！ (他人事並感) 

## 参考文献
記事を書いた際の参考文献ではなく，Gnuplotを扱う際に参考にした (自分がブックマークに残していた) 記事になります．

米澤進吾，「gnuplotスクリプトの解説」URL: https://sk.kuee.kyoto-u.ac.jp/person/yonezawa/contents/program/gnuplot/index.html

半塲滋，「キースタイルと位置の制御」URL:  http://dsl4.eee.u-ryukyu.ac.jp/DOCS/gnuplot/node96.html

mio，「gnuplotでラベル，タイトル，フォントを設定する方法」URL: https://mio.yokohama/?p=103

ATATAT，「gnuplotによるグラフ作成4～プロット線の設定」URL: https://atatat.hatenablog.com/entry/2020/07/13/080000


# LaTeXで文章を書く
TeX Liveへようこそ！この画面が表示されたらインストールは終了です．諸々閉じてしまって構いません．

<img width="400" alt="TeX Liveのインストール完了画面の画像" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/f93d89f0-d2b2-893a-4a25-e22dcfc7cf8b.png">


TeX Liveのインストールが終わったのでようやくLaTeXを使って文章を書くことができます．本題です．

任意のディレクトリで，テキストファイルを作成，拡張子をtxtからtexに変更することでtexファイルを作成し，VS Codeで開きましょう．
LaTeXで文章を書く際には，本文の前に，プリアンブルと呼ばれる設定ごとやらおまじないやらを書きます．パッケージを呼び出して使いたい機能を有効にする必要があるのです．やりたいことに応じてプリアンブルは追加していくことになるので，秘伝のタレプリアンブルになりがちです．自分が使用しているものをすべて載せても無意味ですので，有用なものを抜粋してtexファイルに記述する内容を一式作成しました．以下に添付しますので，コピーしてtexファイルに全文ペーストしましょう．
```
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% LaTeX Template 
% Writer: Tany_tattsu
%
% Released: 26 Mar, 2024
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%Preamble%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{plautopatch} % Include patches for (u)platex

\documentclass[%
uplatex,   % upLaTeX
a4paper,   % Paper size A4
dvipdfmx,  % Driver
11ptj,     % Font size
]{jsarticle}

%% PDF version %%
\usepackage{bxpdfver} % Manage PDF version
\setpdfversion{1.5}   % default = 1.5

%% Paper setting %% geometry XXXXXXXXXXXX
\usepackage{bxpapersize} % Fix PDF size

%% PDF settings %%
\usepackage[%
dvipdfmx,               % Set dvipdfmx driver (Comment out in English)
setpagesize=false,      % Permission to change paper size (T/F)
bookmarks=true,         % Making bookmarks (T/F)
bookmarksnumbered=true, % Numbering by sections (T/F) 
colorlinks=false,       % Color links (T/F) (If F, color on a link frame)
hidelinks,              % Disable link color
linkcolor=blue,         % Set Color for links
pdftitle={},    % Meta data (Tilte)
pdfsubject={},  % Meta data (Subject)
pdfauthor={},   % Meta data (Author) 
pdfkeywords={}  % Meta data (Keywords) (word1 ; word2...)
]{hyperref}             % (Comment out in beamer)
\usepackage{pxjahyper}  % To make a bookmark in Japanese
  
%% Headings %%
\usepackage{titlesec} % Settings of Title format
\titleformat*{\section}{\Large\bfseries\gtfamily}
\titleformat*{\subsection}{\large\bfseries\gtfamily}
\titleformat*{\subsubsection}{\normalsize\bfseries\gtfamily}

%% Fonts %%
% English
\usepackage[T1]{fontenc} % Using T1 encoding
\usepackage{lmodern}     % Using Latin Modern

% Japanese
\usepackage[jis2004, deluxe, uplatex]{otf}
\usepackage[haranoaji]{pxchfon}

%% Color %%
\usepackage[dvipsnames]{xcolor} % Color by color scheme name

%% Sentences %%
\renewcommand{\textbf}[1]{{\bfseries\gtfamily#1}} %\textbf use subsubsection settings

%% Cite %%
\usepackage[nobreak]{cite} % Adjustment of citation position

% Unit
\usepackage{siunitx}          % SI units (\SI{value}{unit commands}, \si{unit})
\def\tempC{^\circ \mathrm{C}} % Celsius

% Frame
\usepackage{fancybox} % Frame the text
\usepackage{ascmac}   % Frame multiple sentences
\usepackage{framed}   % Verbatim boxed simplified

\usepackage{comment}      % Comment out long sentences
\usepackage[at]{easylist} % Simple bullet points with @

%% Chart %%
% Figure
\usepackage[dvipdfmx]{graphicx} % Set the position of figures
\usepackage{float}              % Improved the position of figures.
\usepackage{here}               % Immediate output
\usepackage{askmaps}            % Karnaugh diagram

% Table
\usepackage{multirow} % Creating a table with merged cells
  
%% Mathematics %%
\usepackage{amsmath, amsmath, amssymb, amsfonts} % Add formula style
\usepackage{mathtools}  % Formula Improvements
\usepackage{latexsym}   % Add symbols in formulas
\usepackage{mathrsfs}   % Capital letters
\usepackage{bm}         % Bold text in formulas
\usepackage{cancel}     % Canceled diagonal line (\cancel ,bcancel, xcancel)
\usepackage{physics}    % Add useful commands for physics

\mathtoolsset{showonlyrefs = fault} % Numbering only when referenced by \eqref (T/F)

%%End Of Preamble%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Title %%%%%%%%%%%%%%%%%%%%%%%%%%
\title{\vspace{-4em}\textbf{タイトル}}
\author{所属\hspace{1em}学籍番号\hspace{1em}名前}
\date{年月日}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\maketitle

%% Begin Main %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{はじめに}
LaTeXへようこそ！

\section{数式}
数式です．
\begin{equation}
  V = RI
\end{equation}

\section{図表の挿入}
図表の挿入の例はテンプレート下部にコメントアウトして例を載せています．
図はfiguresというディレクトリ (フォルダ) を作ってその中にまとめる想定です．

%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{thebibliography}{}
  \bibitem{}
\end{thebibliography}
%% Appendix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\appendix

%% End of Main %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{comment}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure}[H]
  \centering
  \includegraphics[width = \linewidth]{figures/}
  \caption{}
  \label{}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{table}[H]
  \centering
  \caption{}
  \begin{tabular}{ccc}
    \hline

    \hline

    \hline
    \end{tabular}
  \label{}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure}[H]
  \centering
  \begin{minipage}[]{0.49\linewidth}
    \centering
    \includegraphics[width = \linewidth]{figures/}
    \caption{}
    \label{}
  \end{minipage}
  \begin{minipage}[]{0.49\linewidth}
    \centering
    \includegraphics[width = \linewidth]{figures/}
    \caption{}
    \label{}
  \end{minipage}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{comment}
\end{document}
```
ペーストが完了したら，Ctrl+Sで保存とコンパイルを行いましょう．右下にエラー文がでなければ，問題なく作業が行われたことになります．「Ctrl+Alt+V」で整形したPDFを確認できるはずです．あとは好きなように文章を書くだけです．
これにてVS Code上でLaTeXを用いて文章を書くという目標が達成されました！

![整形したPDFの画像．](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3053334/47fbce7f-b6a3-199f-9682-ca5b15746f93.png)



プリアンブルの説明をするべきでしょうが，チュートリアルで書き散らすようなことでもないので控えます．必要に応じて「LaTeX パッケージ名」で検索すれば偉大な先駆者の記事が出てきます．

## 参考文献
さすがに文章の書き方についてほったらかしなのもよくないので，筆者がLaTeXを書く上で参考にしてきた記事をいくつか紹介します．

* 数式関係
  
  Yarakashi\_Kikohshi，「LaTeXの数式モードをまとめたよ」URL: https://qiita.com/Yarakashi_Kikohshi/items/ef693d7abb195c55af7a

  HelloRusk，「数式をもっと楽に書けるTeXのphysicsパッケージまとめ」URL: https://qiita.com/HelloRusk/items/ce9f49e9b3fc0344ae23
  
  t\_kemmochi，「amsmathの数式環境まとめ」URL: https://qiita.com/t_kemmochi/items/a4c390b4967b13f3afb7 

* 表の作成
  
  「TableConvert」URL: https://tableconvert.com/excel-to-latex

* 体裁など
  medit，「実験AのためのLaTeX小技集」URL: https://uec.medit.link/latex/
  
  suigin，「アカデミックヤクザにキレられないためのLaTeX論文執筆メソッド」URL: https://qiita.com/suigin/items/10960e516f2d44f6b6de 
  
  birdwatcher，「LaTeXにおける正しい論文の書き方」URL: https://qiita.com/birdwatcher/items/5ec42b35d84d3ee2ffbb 
  
  電子情報通信学会和文論文誌　投稿のしおり，「投稿原稿について」URL: https://www.ieice.org/jpn/shiori/iss_2.html

# 終わりに
VS Codeを用いたLaTeX，Gnuplotの環境の構築とそれらのざっくりとした使い方についてまとめました．私が新たになにかをしたというよりも数多くある先行記事の紹介のような形になってしまいました．LaTeXもGnuplotもレガシなツールということもあり，たくさんの解説記事が存在しています．迷ったり困ったりしたら検索すれば同じように悩んだ人が記事にしてくれていたりします．LaTeXやGnuplotは使い始める際の抵抗は大きいかもしれませんが，すばらしいアプリケーションです．ぜひ使いこなして素敵な文章を作成してください．