Funactional Mathematicianのブログ

数学(含む、統計学)で考えていることや、PC(特にMac)のTipsについてのメモの集合です。本blogに書かれている内容は、記事を書いた時点での僕の知識や調査によるものです。そのため、僕の不勉強による間違いや勘違いなどが書かれていることもあり得ます。記事の内容の真偽について、ご自身できちんと確かめて下さいますようよろしくお願いいたします。また、不適切な表現や間違えについては、ご指摘頂けると助かります。 (なお、記事の内容は、所属機関を代表するものではなく、僕個人の見解です。)

TeXPadでのlatexmk

有料ではありますがTeXPadMac利用者にとってはとても便利なソフトウェアだと思います. 日本語を利用する際には,デフォルトではplatex->dvipdfmxであればコンパイルすることが可能です.一方で,uplatexなどを用いてコンパイルしたい場合には,独自のBuild Scriptを作成する必要があります.uplatexとupbibtexを用いてコンパイルするBuild Scriptを作っても良いのですが,latexmkを用いてコンパイルできるようにすれば,カスタマイズが容易になり非常に便利です.

TeXPad用Build Script (latexmk.tpbuild)

元々TeXPadにはlatexmk用のBuild Scriptがありますが,日本語対応ではありません.そこでlatexmk用のBuild Scriptを作成しました.コンパイルする際にbackupファイルを作成することとと,コンパイルの際に大量に出てくる中間ファイルを.texpadtmpフォルダに移動する仕組みを実装しています.中間ファイルを移動する仕組みは,一度すべてのファイルを.texpadtmpフォルダに移動した後にtexファイルだけ戻してくる方法をとっています.

#!/bin/bash

# texのbackup(.bk)を作成
cp "$TEXPAD_ROOTFILE" "$TEXPAD_ROOTFILE_NO_EXT".bk

# texのコンパイル
latexmk -gg -pdfdvi "$TEXPAD_ROOTFILE"

# 中間ファイルを.texpadtmpに作成
mkdir .texpadtmp 2>/dev/null
mv -f "$TEXPAD_ROOTFILE_NO_EXT".* .texpadtmp/ 2>/dev/null
fname=$(basename "$TEXPAD_ROOTFILE_NO_EXT") 2>/dev/null
mv -f ./.texpadtmp/"$fname".{tex,bib} ./ 2>/dev/null

latexmkの設定ファイル (.latexmkrc)

latexmkの設定ファイルは,ホームディレクトリに.latexmkrcとして保存するのが1つの方法です.僕はuplatex, upbibitexもしくはbiberを用いる設定ファイルとして,以下のものを用いています.PDFはSkim.appを利用してプレビューするように設定していますが,TeXPadではTeXPadのviewerを使いたいので,その点はlatexmkを実行する際に生成されたPDFを表示しない用にして対応しています.

#!/usr/bin/env perl

$latex =        'uplatex %O -synctex=1 -halt-on-error %S';
$latex_silent = 'uplatex %O -synctex=1 -halt-on-error -interaction=batchmode %S';
$biber =        'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex =       'upbibtex %O %B';
$makeindex =    'upmendex %O -o %D %S';
$dvipdf =       'dvipdfmx %O -o %D %S';
$pdf_mode = 3;
$pvc_view_file_via_temporary = 0;
$pdf_previewer = 'open -ga /Applications/Skim.app';