Texの環境構築（Windows，Ubuntu）【VS code】

# はじめに
Texをインストールする必要があったのでその話
のメモ

# Latexとtexの違いとは？
この違いが気になって仕方がなかったので，調べてみたら
以下のリンクを参考にしてください

- https://blog.wtsnjp.com/2016/12/19/tex-and-latex/

- https://texwiki.texjp.org/LaTeX

結論としては，LatexとTexは大きく違うようですね．．
Texのファイルをどうやって文書化するのかの方法がLatexというわけで，よく

```
$ platex ファイル名
```

ってのを見かけますが，
ほかのコマンドでも文書化できるというわけか

# 環境
- Windows 10
- Ubuntu 16.04 LTS

# 時期
2018年11月現在

# やること
TexのインストールとVScodeでのコンパイルと表示

# 手順（Windows）
Windowsでインストールする場合
いろいろと書かれていますがやはりTexliveを入れるのがベターだと思います．

- https://texwiki.texjp.org/?TeX%20Live%2FWindows

このサイトによると
普通にISOイメージ（3GB．．）をダウンロードして，マウントしろとの指示
指示されたページに飛んで

texlive2018.iso

をクリックすると勝手にダウンロードします
マウントして，

install-tl-windows.bat

をクリックすると水色の画面がでてくるので，
ポチポチします
基本的に全部OKでいいと思います

で終わると，
Texliveへようこそ
の画面がでてくるはずです！
（勝手に強制終了されている場合あるので気を付けてください）

```
tex -v
```

で確認します

# 手順（Ubuntu）
いろいろ方法がありそうですが
正直ISOイメージをマウントするのがよさそうです．

- https://user.ecc.u-tokyo.ac.jp/users/user-15826/wiki/?TeX/Install

- http://tekenuko.hatenablog.com/entry/2018/06/27/224156

一応補足
ISOを入れたら
マウントします

```
$ sudo apt -y install perl-tk # Ubuntu
```

```
$ sudo mkdir /media/iso
$ sudo mount -o loop texlive.iso /media/iso
$ cd /media/iso
$ sudo ./install-tl -gui perltk
```

readonlyとかでても気にせず突き進んでください

または，完全にISOは関係なく

```
$  sudo apt-get install texlive-full
```

でも大丈夫そうです、試してはいません

# Visual studio codeで書けるように
VS codeで書けないかなとおもっていたところ

- https://texwiki.texjp.org/?Visual%20Studio%20Code%2FLaTeX

- http://elecho.hatenablog.com/entry/2017/04/27/175500

らが説明をしてくれていました
まず

Latex-Workshop

をインストールしてください
（visual studio codeの中から行けると思います）

そして，コンパイルできるように．．．
設定を変更します
よくあるやつですが，

```
"latex-workshop.latex.toolchain": [
    {
        "command": "ptex2pdf",
        "args": [
            "-l",
            "-ot",
            "-kanji=utf8 -synctex=1",
            "%DOC%"
        ]
    }
],
```

サンプルで

```tex

\documentclass{jarticle}
\begin{document}
これはサンプルです。
\end{document}
```

と思って
保存します．
保存すると勝手にコンパイルされるので
コンパイルしてやってみると失敗

なんかだめらしい
よくわからずそのまま検索

- https://texwiki.texjp.org/?%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E8%B3%AA%E5%95%8F

おんなじエラーがよく出ているそうで...
でもtex worksでの説明しかでてない

困ったと思っていたら
設定のところの，toolchainに緑の線が出ていて，unknownになっている！

検索しなおしたところ
どうやら設定方法が変わったそうで，

- https://qiita.com/otsuka_kohei/items/fb832a79ea3db9d8429b

が参考になります．

上記を引用すると設定を

>```
"latex-workshop.latex.recipes": [
      {
          "name": "make_ptex2pdf",
          "tools": [
              "ptex2pdf",
          ]
      }
  ],
  "latex-workshop.latex.tools": [
      {
          "name": "ptex2pdf",
          "command": "ptex2pdf",
          "args": [
              "-l",
              "-ot",
              "-kanji=utf8 -synctex=1",
              "%DOC%"
          ]
      }
  ],
```

できました！
一安心

これでvscodeで論文かける

# VScodeの設定について

ちなみに上記についてもう少し調べたので追記しておきます

VS codeのこのjsonは、texをコンパイルするときの設定の詳細を決めています

```
latex-workshop.latex.recipes":
```

で何を呼ぶのか？
を決めています

なのでこの場合は、

```
"name": "make_ptex2pdf",
          "tools": [
              "ptex2pdf",
          ]
```

となってるので、"make_ptex2pdf"という名前で
"ptex2pdf"（ptex2pdf は uplatex, euptex, uptex, platex, eptex, ptex の中から指定したコマンドと dvipdfmx とを連続して実行する Lua スクリプトです）が呼ばれるというわけです

ここをいろいろいじってるのが世に出回っていて
初心者にとっては意味がわからないことになっているわけです

基本的には、

上記の設定だとうまくいかなければ
platex（日本語のやつをdviにしてくれる）
+
dvipdfmx
とするのもありです

とかで設定しておいて
VS codeはworkspaceごとに設定をかえられるので
Workspaceを作成して
その中の設定を異なるものにするが良さそう

ちなみに設定の一例として
参考文献で有名なbibtexを使いたい場合
参考サイトはいろいろあります
（platex, bibtex, platex, platex, dvipdfmx）
で呼ばないといけないので

```
"latex-workshop.latex.recipes": [
        {
            "name": "all_compile_platex_with_bib",
            "tools": [
                "platex",
                "bibtex",
                "platex",
                "platex",
                "dvipdfmx"
            ] }
    ],
    "latex-workshop.latex.tools": [
        {
            "name": "platex",
            "command": "platex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        },
        {
            "name": "dvipdfmx",
            "command": "dvipdfmx",
            "args": [
                "%DOCFILE%.dvi"
            ]
        }
    ],
```

こんなにしてもいいと思います！

# 参考：platex等の説明
- https://qiita.com/Rumisbern/items/d9de41823aa46d5f05a8

# 図の挿入の場合

ここは完全にメモですが
multicolsを使うと、\begin{figure}が使えないので注意しましょう
\begin{figurehere}で書くとできます

参考サイト

https://puarts.com/?pid=1014