Rを使ってTeXのスクリプトを書く........styファイルへのパス

  • RでTeXスクリプトを書くのが目的
  • styファイルへのパスを通す
  • その前に
    • styファイルがどこにあるかをTeXが記録しているls-Rファイルというのを作る
    • TeX Wikiこちら
sudo mktexlsr
    • 実行
~ $ sudo mktexlsr
Password:
mktexlsr: Updating /usr/local/texlive/2010/../texmf-local/ls-R... 
mktexlsr: Updating /usr/local/texlive/2010/texmf/ls-R... 
mktexlsr: Updating /usr/local/texlive/2010/texmf-config/ls-R... 
mktexlsr: Updating /usr/local/texlive/2010/texmf-dist/ls-R... 
mktexlsr: Updating /usr/local/texlive/2010/texmf-var/ls-R... 
mktexlsr: Done.
    • どうやらここにls-Rがあるらしい
  • 一度上から2番目の/usr/local/texlive/2010/texmf に集めたstyファイルをコピーして保存して、再びls-Rを作った(更新)
    • このls-Rの中身をみてみると、たしかに集めたstyファイルが入っていた
  • ls-Rのあるところへパスを通す (通す必要があるのかは疑問だが)
    • ホームディレクトリ直下に自分でstyファイルを入れたフォルダを作っていたので(こちら)、そこへも通すようにする
    • 書き方はこちらを参考させていただいた
    • このコマンドもシェルの環境設定として保存
export TEXINPUTS=./:$HOME/texmf//:/usr/local/texlive/2010//:/usr/local/texlive/2010/../texmf-local//:
  • すると
    • いままで読み込めていなかったstyファイルがようやく読み込めた!
  • ただこのままでは
    • ホームディレクトリ直下のstyファイルと
    • /usr/local/texlive/2010/texmfのstyファイルのコピー
    • が存在している
  • ホームディレクトリ直下のファイルだけ残し、/usr/local/texlive/2010/texmf に一度保存していたstyファイルのコピーは削除しても問題なく動いた
  • これでおそらく新しくstyファイルをダウンロードしたときは、ホーム直下のフォルダに保存すればいいだろう
  • 残る問題はパスを通す場所の範囲が広すぎるかもしれないこと
    • latex処理の動作が遅い...
  • TeXShopのタイプセットは速く動くのでコンソールを見てみると
(/Applications/pTeX.app/teTeX/share/texmf/ptex/platex/jsclasses/jsarticle.cls)
(/Applications/pTeX.app/teTeX/share/texmf-dist/tex/latex/graphics/keyval.sty)
(/Applications/pTeX.app/teTeX/share/texmf/tex/latex/graphics/dvipdfmx-contrib-l
atex/graphics.sty)
    • 全然ちがう場所を参照している
    • 確かめてみると最初にTeXと同時にインストールしたpTeX.app以下にもls-Rが存在していた
  • TeXShopと同じところへパスを通してみる
    • もちろんホームディレクトリ直下の自分で集めたstyファイル置き場にも通す
export TEXINPUTS=./:$HOME/texmf//:/Applications/pTeX.app/teTeX/share//
    • この設定でターミナルからplatexコマンドを実行すると全てstyファイルなどが読み込めた
    • エラーは次のもののみ
(/Applications/pTeX.app/teTeX/share/texmf-dist/tex/latex/listings/lstpatch.sty

***
*** This is a patch for listings 1.3, but you're using
*** version 1.4.
***
*** Patch file not loaded.
***

) 
  • 後者の方が処理が速いので、今のところ後者の設定にしておく