latexmkrcはホームディレクトリに置かなくても良い

2015/1/10

Tweet

latexmkというのがある

詳しくは他のサイトを参照のこと

で,問題は~/.latexmkrcを配置するのが面倒だったという話. 複数のマシンでdropboxとかgitとか使ったりしてると問題になる.

latexmkrcを読む場所

latexmkのソースコードを眺めてみると,


# Note that each rc file may unset $auto_rc_use to
# prevent lower-level rc files from being read.
# So test on $auto_rc_use in each case.
if ( $auto_rc_use ) {
    # System rc file:
    read_first_rc_file_in_list( @rc_system_files );
}
if ( $auto_rc_use ) {
    # User rc file:
    read_first_rc_file_in_list( "$HOME/.latexmkrc" );
}
if ( $auto_rc_use ) { 
    # Rc file in current directory:
    read_first_rc_file_in_list( "latexmkrc", ".latexmkrc" );
}

つまり,ホームに置く必要はなく,latexmkを実行する場所に配置すれば良い

コマンドのオプションとして位置指定

-r オプションが使えるっぽい

  elsif (/^-r$/) {  
     if ( $ARGV[0] eq '' ) {
        &exit_help( "No RC file specified after -r switch"); 
     }
     if ( -e $ARGV[0] ) {
        process_rc_file( $ARGV[0] );
     } 
     else {
        die "$My_name: RC file [$ARGV[0]] does not exist\n"; 
     }
     shift; 
  }

自分の設定

まだ未完成かも.

Makefile

all:thesis.pdf

# latexmk options are written in ./latexmkrc
clean:
    latexmk -c

thesis.pdf:*.tex img/
    latexmk -pdfdvi thesis.tex

.PHONY:pvc
pvc:*.tex img/
    latexmk -pdfdvi -pvc thesis.tex

latexmkrc

Makefileと同じところに配置

$latex="platex -interaction=nonstopmode %S";
$dvipdf="dvipdfmx %S";
$bibtex="pbibtex";