Open12

LaTex tips

buchiobuchio

README

目的

ネット上のLaTex情報って体系的にまとまっていないので
修論執筆にあたって,これまでとこれからのLatexでの知見をまとめていきたい.

硬くならずとりあえず思いついたことを書いていく
Tipsイロイロ募集します

前提

  • vscode : 「いつものエディタ」っていうのはすごく大事だと思う.
  • platex: ここはこだわっていない.卒論の時これだったため
buchiobuchio

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%"
      ]
    }
  ],
buchiobuchio

変数を作る

論文内で何度も出てくる記号はマクロで変数管理すべき
表現が変わりそうな記号も抽象的な名前でおいてあげると後々便利

メリット

  • 手数,ミスが減る
  • 表記を変えたくなった時に一括で変えることができる
    デメリット
  • 他人が読みにくくなる
  • tex以外のソース(markdownとか)に流用しずらくなる
buchiobuchio

テキストエディタのフォントをtexでは明朝(セリフ)体にする(完全に好みだが,セリフ体はイイゾ

buchiobuchio

ディレクトリ構成(試験的な試み)

長くなりそうなのでファイルを分割
章ごとにディレクトリを分けてみる
ルール

  • mainから各ディレクトリのindex.texのみをインポートする
  • indexはsectionとsubsectionとinputのみを記述
  • index.texとmain.tex以外はinputを使用しない
    懸念点
  • 画像のパスはどうなる?? -> main.texからの相対パスでよいので変更不要
  • import関係は? -> directory/filename.texで問題なく読み込める
buchiobuchio

画像に限らずinputなどのpathもmainからの相対パス

buchiobuchio

Texを知る

参照
https://www.ht.sfc.keio.ac.jp/~mina/tex-katoon.pdf
http://thetree.hatenadiary.jp/entry/2017/02/12/160323
豆知識:LaTeXはTexの拡張版で厳密には別物らしい

コンパイルの流れ

  1. .tex -> .div :texコマンドでやってるのはこれのみでtexの本質
  2. .div -> PDF: dvipdfmx などはこれをやっている

その他中間ファイル
.aux: 図や式の番号をつけるための補助ファイル
.bbl: bibtexのためのファイル
.log ログファイル
.blg 参考文献がらみのログファイル

buchiobuchio

デュアルディスプレイで別画面にpdfをリアルタイム表示

needs

vscodeは基本同じフォルダは1画面でしか開けない
1画面で編集,別画面で大きくプレビューできたほうが嬉しい

method

Acrobat Readerで開いても更新時にリロードされない & ごちゃごちゃしていて行けてない
Sumatra PDFはホットリロード対応でかつシンプル.とりあえずこれを使う

buchiobuchio

subfigure

subfig.styのsubfloatでもとの画像をwrapするように書く
\subfloat[]{\includegraphics[width =\subsize]{./path/to/fig}}

widthはマクロで変数として扱うと一括変更しやすくてよさげ

buchiobuchio

白背景に黒文字がいい場合はsorerize lightを使うと目に優しい気がする.
また,フォントは教科書体に落ち着いた.(細すぎずふと過ぎず,読みやすい)

buchiobuchio

校正ツールの導入

候補は以下の2つ.textlintのほうがメジャーっぽい

  • textlint (node.js)
  • RedPen (java)

導入

https://russianblue25.hatenablog.com/entry/2020/12/02/202800

流れ

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

最後の一行は参考サイトに書いていなかったが,設定で使用することになっているので追加