3
|
1 ## How to build tex
|
|
2
|
7
|
3 1. Create an environment in which `latexmk` can run.
|
3
|
4 2. Add the following to the VSCode configuration JSON.
|
|
5
|
|
6 ```
|
|
7 {
|
7
|
8 // ---------- Language ----------
|
|
9
|
3
|
10 "[tex]": {
|
7
|
11 // スニペット補完中にも補完を使えるようにする
|
3
|
12 "editor.suggest.snippetsPreventQuickSuggestions": false,
|
7
|
13 // インデント幅を2にする
|
|
14 "editor.tabSize": 2
|
|
15 },
|
|
16
|
|
17 "[latex]": {
|
|
18 // スニペット補完中にも補完を使えるようにする
|
|
19 "editor.suggest.snippetsPreventQuickSuggestions": false,
|
|
20 // インデント幅を2にする
|
3
|
21 "editor.tabSize": 2
|
|
22 },
|
7
|
23
|
3
|
24 "[bibtex]": {
|
7
|
25 // インデント幅を2にする
|
3
|
26 "editor.tabSize": 2
|
|
27 },
|
7
|
28
|
|
29
|
|
30 // ---------- LaTeX Workshop ----------
|
|
31
|
|
32 // 使用パッケージのコマンドや環境の補完を有効にする
|
3
|
33 "latex-workshop.intellisense.package.enabled": true,
|
7
|
34
|
|
35 // 生成ファイルを削除するときに対象とするファイル
|
|
36 // デフォルト値に "*.synctex.gz" を追加
|
|
37 "latex-workshop.latex.autoClean.run": "onBuilt",
|
3
|
38 "latex-workshop.latex.clean.fileTypes": [
|
|
39 "*.aux",
|
|
40 "*.bbl",
|
|
41 "*.blg",
|
|
42 "*.idx",
|
|
43 "*.ind",
|
|
44 "*.lof",
|
|
45 "*.lot",
|
|
46 "*.out",
|
|
47 "*.toc",
|
|
48 "*.acn",
|
|
49 "*.acr",
|
|
50 "*.alg",
|
|
51 "*.glg",
|
|
52 "*.glo",
|
|
53 "*.gls",
|
|
54 "*.ist",
|
|
55 "*.fls",
|
|
56 "*.log",
|
|
57 "*.fdb_latexmk",
|
|
58 "*.snm",
|
|
59 "*.nav",
|
|
60 "*.dvi",
|
7
|
61 "*.ilg",
|
3
|
62 "*.synctex.gz"
|
|
63 ],
|
7
|
64
|
|
65 // 生成ファイルを現在のディレクトリに吐き出す
|
|
66 "latex-workshop.latex.outDir": "",
|
|
67
|
|
68 // ビルドのレシピ
|
|
69 "latex-workshop.latex.recipes": [
|
|
70 {
|
|
71 "name": "latexmk",
|
|
72 "tools": [
|
|
73 "latexmk"
|
|
74 ]
|
|
75 },
|
|
76 ],
|
|
77
|
|
78 // ビルドのレシピに使われるパーツ
|
3
|
79 "latex-workshop.latex.tools": [
|
|
80 {
|
7
|
81 "name": "latexmk",
|
|
82 "command": "latexmk",
|
3
|
83 "args": [
|
7
|
84 "-silent",
|
|
85 "-outdir=%OUTDIR%",
|
3
|
86 "%DOC%"
|
|
87 ],
|
|
88 },
|
|
89 ],
|
|
90 }
|
|
91 ```
|
|
92
|
7
|
93 1. Add following the .latexmk files in home dir.
|
|
94
|
|
95 ```
|
|
96 #!/usr/bin/env perl
|
|
97
|
|
98 # LaTeX
|
|
99 $latex = 'platex -synctex=1 -halt-on-error -file-line-error %O %S';
|
|
100 $max_repeat = 5;
|
|
101
|
|
102 # BibTeX
|
|
103 $bibtex = 'pbibtex %O %S';
|
|
104 $biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';
|
|
105
|
|
106 # index
|
|
107 # $makeindex = 'mendex %O -o %D %S';
|
|
108
|
|
109 # DVI / PDF
|
|
110 $dvipdf = 'dvipdfmx %O -o %D %S';
|
|
111 $pdf_mode = 3;
|
|
112
|
|
113 # preview
|
|
114 $pvc_view_file_via_temporary = 0;
|
|
115 if ($^O eq 'linux') {
|
|
116 $dvi_previewer = "xdg-open %S";
|
|
117 $pdf_previewer = "xdg-open %S";
|
|
118 } elsif ($^O eq 'darwin') {
|
|
119 $dvi_previewer = "open %S";
|
|
120 $pdf_previewer = "open %S";
|
|
121 } else {
|
|
122 $dvi_previewer = "start %S";
|
|
123 $pdf_previewer = "start %S";
|
|
124 }
|
|
125
|
|
126 # clean up
|
|
127 $clean_full_ext = "%R.synctex.gz"
|
|
128 ``` |