投稿一覧
タグで絞り込み中: #tex
タグを解除
表示件数: 2 件(条件: タグ: #tex)
-
サクラさんによる TeX book Ch. 15 とそれに関する tex.web の項目についての話を聞きました。
<内容>
TeX処理系がテキストを出力に変換するまでの流れは
- テキスト \(\to\)トークン列 \(\to\)「ノードリスト」\(\to\) 垂直リスト \(\to\) 水平リスト \(\to\) dvi ファイル
となる。
hlist と vlist の構成を通じて dvi ファイルが構成されるので、hlist と vlist が重要となってくる。
hlist と vlist は二つのメモリ領域で構成されているが、ノードリストを主に構成する文字ノードをワードで管理するのが効率が良いため、「通常」*と異なるアルゴリズムを採用している。
* TeXが採用している通常のアルゴリズムがどういうものかはまだ勉強していないのでわかりません。
<気になること>
- TeX の具体的なノードの処理の仕方が気になる。
- 「ノードリストを主に構成する文字ノードをワードで管理するのが効率が良いため、...」とあるが、どう効率がいいのか、具体的なアルゴリズムの実装が気になる。 -
私は高校生の頃から、下記の記事を参考に LaTeX Workshop の標準機能を用いて、VScodeの中間ファイルを削除しながら upLaTeX や LuaLaTeX を利用していたが、最近、何かの拍子で "~.fls" や "~.fdb_latexmk" などのファイルが自動で削除されなくなってしまい困っていたのを、重い腰を上げて解決した話である。
主に参考にしたのは下記記事である。
早速解決方法として私の settings.json の一部を張る:
```
>“latex-workshop.latex.tools”: [
>...
{
“name”: “clean up nonessential files”,
“command”: “latexmk”,
“args”: [
“-C”,
“%DOC%”
]
},
...
],
```
```
“latex-workshop.latex.recipes”: [
...
{
“name”: “latexmk”,
“tools”: [
“latexmk”,
“clean up nonessential files”
]
},
],
```
これらを「いいように」修正しながらコピペしてコンパイルすれば、下記のように"~.pdf" と "~.synctex.gz" だけが残るようになるだろう
読者の中には、"~.synctex.gz" も残るのが鬱陶しいと思われる方もいらっしゃるかもしれないが、これは仕方がないことであることが下記記事によってわかる。
```
> SyncTeX は TeX ソースを開いたエディタと PDF ビューワとの間での相互ジャンプを実現する仕組みです.
```
とある。
ここで気になるのは、"~.toc" を消して良いのかということである。下記記事によると、
```
> ".toc"が削除されると目次が生成されず,...
```
```
...
-c - clean up (remove) all nonessential files, except
dvi, ps and pdf files.
This and the other clean-ups are instead of a regular make.
-C - clean up (remove) all nonessential files
including aux, dep, dvi, postscript and pdf files
and file of database of file information
...
```
"-C"だと "~.dvi" も削除してくれるのである!!!
が、私は LuaLaTeX を使っているのでそもそも "~.dvi" は生成されないのである......
"~.dvi" を削除してくれるとなると、記事に書いてある "clean dvi file" あたりの記述は全て消せる。ということで完成したのが最初の settings.json である。
以上。
私のFF諸氏は、わからなければDMなりで聞いてくれれば答えるので、気にせず聞いてください〜