LaTex tips
README
目的
ネット上のLaTex情報って体系的にまとまっていないので
修論執筆にあたって,これまでとこれからのLatexでの知見をまとめていきたい.
硬くならずとりあえず思いついたことを書いていく
Tipsイロイロ募集します
前提
- vscode : 「いつものエディタ」っていうのはすごく大事だと思う.
- platex: ここはこだわっていない.卒論の時これだったため
VScodeでの知見
問題:buildでエラーになっても停止しない
解決:-interactionを入れる
また-file-line-errorを入れないと,バグ箇所の行が正しく表示されない
"latex-workshop.latex.tools": [
{
"name": "ptex2pdf",
"command": "ptex2pdf",
"args": [
"-interaction=nonstopmode",// これがないとbuildがerorrで止まらない
"-l",
"-ot",//-ot以降はコンパイラの設定
"-kanji=utf8 -synctex=1 -file-line-error",//-file-line-errorがないとエラー箇所が出ない
"%DOC%"
]
}
],
変数を作る
論文内で何度も出てくる記号はマクロで変数管理すべき
表現が変わりそうな記号も抽象的な名前でおいてあげると後々便利
メリット
- 手数,ミスが減る
- 表記を変えたくなった時に一括で変えることができる
デメリット - 他人が読みにくくなる
- tex以外のソース(markdownとか)に流用しずらくなる
テキストエディタのフォントをtexでは明朝(セリフ)体にする(完全に好みだが,セリフ体はイイゾ
ディレクトリ構成(試験的な試み)
長くなりそうなのでファイルを分割
章ごとにディレクトリを分けてみる
ルール
- mainから各ディレクトリのindex.texのみをインポートする
- indexはsectionとsubsectionとinputのみを記述
- index.texとmain.tex以外はinputを使用しない
懸念点 - 画像のパスはどうなる?? -> main.texからの相対パスでよいので変更不要
- import関係は? -> directory/filename.texで問題なく読み込める
画像に限らずinputなどのpathもmainからの相対パス
Texを知る
参照
豆知識:LaTeXはTexの拡張版で厳密には別物らしいコンパイルの流れ
- .tex -> .div :texコマンドでやってるのはこれのみでtexの本質
- .div -> PDF: dvipdfmx などはこれをやっている
その他中間ファイル
.aux: 図や式の番号をつけるための補助ファイル
.bbl: bibtexのためのファイル
.log ログファイル
.blg 参考文献がらみのログファイル
デュアルディスプレイで別画面にpdfをリアルタイム表示
needs
vscodeは基本同じフォルダは1画面でしか開けない
1画面で編集,別画面で大きくプレビューできたほうが嬉しい
method
Acrobat Readerで開いても更新時にリロードされない & ごちゃごちゃしていて行けてない
Sumatra PDFはホットリロード対応でかつシンプル.とりあえずこれを使う
subfigure
subfig.styのsubfloatでもとの画像をwrapするように書く
\subfloat[]{\includegraphics[width =\subsize]{./path/to/fig}}
widthはマクロで変数として扱うと一括変更しやすくてよさげ
白背景に黒文字がいい場合はsorerize lightを使うと目に優しい気がする.
また,フォントは教科書体に落ち着いた.(細すぎずふと過ぎず,読みやすい)
表作成はいくつかサイトがあるが,スプレッドシートから範囲コピペでサクッと作れるこれが一番使いやすそう
校正ツールの導入
候補は以下の2つ.textlintのほうがメジャーっぽい
- textlint (node.js)
- RedPen (java)
導入
流れ
1.本体とプラグインをインストール
2. initで設定ファイルを作成
3. ./node_modules/.bin/textlint main.tex
で実行
npm install --save-dev textlint
npm install --save-dev textlint-filter-rule-comments
npm install --save-dev textlint-rule-preset-ja-spacing
npm install --save-dev textlint-rule-preset-ja-technical-writing
npm install --save-dev textlint-plugin-latex2e
npm install --save-dev textlint-rule-preset-ja-engineering-paper
最後の一行は参考サイトに書いていなかったが,設定で使用することになっているので追加