LuaLaTeX 導入
古い LaTeX パッケージを新しい LuaLaTeX で動かす際にトラブルが生じた場合、ファイルの1行目に\RequirePackage{luatex85}
と書くと治る場合がある。
MacTeX はアンインストールできない、システムファイルへかなりの影響を与える可能性があるなどの理由からこれを使用しない。
結城浩さんの TeXLive 導入ブログを参考にして、TeX Live 2023 を導入する。
TeX Live 2020 および texmf-local が既に次のようにインストールされているが、ここでは改めて TeX Live 2023 を導入する
/usr/local/texlive/2020
/usr/local/texlive/texmf-local
TeX Live 公式のインストーラの使用 を参考に TeX Live を導入する
curl -O http://ftp.naist.jp/pub/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz
ここで curl(カール)
コマンドは URL を用いてファイルの送受信を行う
(curl = Client for URL)
-O
(大文字のO)オプションはダウンロードしたデータをファイルとして保存する
上記コマンドは、http://ftp.naist.jp/pub/CTAN/systems/texlive/tlnet から install-tl-unx.tar.gz というファイルをダウンロードし、保存する
(curl コマンドについてはこのQiita記事が詳しい)
curl コマンドを使用しなくても直接ここからファイルを選択して保存することと一切変わりない
ファイルを展開する
tar xvf install-tl-unx.tar.gz
補足
今回ダウンロードしたファイル名をみると、innstall-tl-unx.tar.gz とある。
大規模な複数のファイル容量を管理するにはアーカイブ化と圧縮が行われる。アーカイブ化は複数のファイルやフォルダを一つのファイルにまとめることをいい、圧縮はファイルやフォルダ内の無駄なデータを削除してデータ容量を小さく抑えることをいう
アーカイブ化には tar(ター)
コマンド(tape archives の略)を使用する。このとき作られるアーカイブファイルの拡張子は .tar となる。オプションに cvf とするとアーカイブ化、xvf とすると展開する。
tar cvf <ファイル名>
tar xvf <ファイル名>
インストーラーを実行する
cd install-tl-20210211
sudo ./install-tl -no-gui -repository http://mirror.ctan.org/systems/texlive/tlnet/
管理者権限で実行するため(sudo)、パスワードを入力する。
Import settings from previous TeX Live installation: (y/n):
と聞かれたのでy
と答えたがエラーが発生した。
もう一度やり直してI
と入力すると、Enter command:
と表示されるので再びI
を押した。
インストールが始まる。ただし、時間が非常にかかる。
エラーメッセージについてはよく読んでいない
Import settings from previous TeX Live installation: (y/n): y
Trying to load old TeX Live Database,
Importing settings from old installation in /usr/local/texlive/2020
Can't use string ("ARRAY(0x7fe25vs95ww8)") as an ARRAY ref while "strict refs" in use at tlpkg/TeXLive/TLPaper.pm line 229.
tlpkg/TeXLive/TLPaper.pm 229行目で「strict refs」が使用されている間は、文字列("ARRAY(0x7fe25vs95ww8)")をARRAY refとして使用できない。
合計4518個のファイルを49分15秒かけてインストールした。
TeX Liveへようこそ!
と表示されたため、インストールに成功した。
TeX Liveへようこそ!
ドキュメントの一覧は/usr/local/texlive/2023/index.htmlをご覧ください。
TeX Liveのウェブサイト(https://tug.org/texlive/)にはすべてのアップデートとコレクションの情報が掲載されています。
TeX Liveは全世界のTeXユーザ会有志による合同プロジェクトです。
TeX Liveプロジェクトをサポートしていただける場合お好きなTeXユーザ会に入会することをご検討ください。
TeXユーザ会の一覧はhttps://tug.org/usergroups.htmlでご確認いただけます。
Add /usr/local/texlive/2023/texmf-dist/doc/man to MANPATH.
Add /usr/local/texlive/2023/texmf-dist/doc/info to INFOPATH.
Most importantly, add /usr/local/texlive/2023/bin/universal-darwin
to your PATH for current and future sessions.
Logfile: /usr/local/texlive/2023/install-tl.log
先のメッセージに従ってシンボリックリンクを追加する。
sudo /usr/local/texlive/2023/bin/universal-darwin/tlmgr path add
これで TeX Live 2023 の導入は終了
tlmgr は TeX Live Manager の略
任意のエディタで .tex ファイルを作成し、(例としてtest.tex
)それをコンパイル、実行すれば文章が完成する。
使用する TeX 環境によりコンパイル方法が異なる。
lualatex test
とすれば、test.tex
のあるディレクトリに test.pdf
が生成される。
次にエディタとして VSCode を使用する場合のセットアップを行う
VSCode には LaTeX WorkShopという拡張機能があるのでこれを使用する
VSCode にこの拡張機能をインストールし、Setting.json
ファイルを開く
今回は
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-e",
"$lualatex=q/lualatex %O -synctex=1 -interaction=nonstopmode -file-line-error %S/",
"-e",
"$bibtex=q/upbibtex %O %B/",
"-e",
"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/",
"-e",
"$makeindex=q/upmendex %O -o %D %S/",
"-norc",
"-gg",
"-pdflua",
"%DOC%"
]
}
]
細かな設定についての参考記事
私の設定
// ---------- Language ----------
"[tex]": {
// スニペット補完中にも補完を使えるようにする
"editor.suggest.snippetsPreventQuickSuggestions": false,
// インデント幅を2にする
"editor.tabSize": 2,
},
"[latex]": {
// スニペット補完中にも補完を使えるようにする
"editor.suggest.snippetsPreventQuickSuggestions": false,
// インデント幅を2にする
"editor.tabSize": 2,
"editor.wordWrap": "on",
"editor.wordSeparators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?。.、,()「」『』[]{}《》てにをはがのともへでや ",
// 空白文字のハイライト
"editor.unicodeHighlight.invisibleCharacters": true,
// ただし次の記号はハイライトしない
"editor.unicodeHighlight.allowedCharacters": {
",": true,
".": true,
"!": true,
"?": true,
"[": true,
"]": true,
"{": true,
"}": true,
"<": true,
">": true,
" ": true,
},
"editor.stickyScroll.enabled": true,
},
"[bibtex]": {
// インデント幅を2にする
"editor.tabSize": 2
},
// ---------- LaTeX Workshop ----------
// 使用パッケージのコマンドや環境の補完を有効にする
"latex-workshop.intellisense.package.enabled": true,
// 生成ファイルを削除するときに対象とするファイル
// デフォルト値に "*.synctex.gz" を追加
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk",
"*.snm",
"*.nav",
"*.dvi",
"*.synctex.gz"
],
// ビルドのレシピ
"latex-workshop.latex.recipes": [
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
],
// ビルドのレシピに使われるパーツ
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-e",
"$lualatex=q/lualatex %O -synctex=1 -interaction=nonstopmode -file-line-error %S/",
"-e",
"$bibtex=q/upbibtex %O %B/",
"-e",
"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/",
"-e",
"$makeindex=q/upmendex %O -o %D %S/",
"-norc",
"-gg",
"-pdflua",
"%DOC%"
],
},
],
"latex-workshop.view.pdf.viewer": "tab",
"editor.wordWrap": "on",
"editor.unicodeHighlight.nonBasicASCII": false,