はじめに
tex文書作成で野良 *.styを読み込みたいときは,コンパイルしたい *.texと同じディレクトリに *.styを置くのが手っ取り早い方法です。 しかし,これでは*.styの場所がバラバラになってしまうので纏めておきたいです。 さらに,まとめた *.styをDropboxなどのクラウドサービスで,複数のPC・macで共有できると便利です。
数年前に一度設定をしたのですが,思い出せなくて手間取ったので,今度は忘れないように文字に残しておきます。
けっきょくは,GUIのアプリケーションに環境変数を渡すということをやるらしいのですが, OS X 10.9(Mavericks)以前と以後では,設定方法が違うので注意してください。
自分の環境
Mac mini (M1, 2020),macOS 12.2.1 (Monterey),emacs 26.3
emacsをIDEのようにして使っていますが,TeXShopなどでも同じだと思います。 デフォルトシェルをbashにしているので,違う人は同じようにできないかもしれません。 intel Macでも同じように設定ができています。
やること
/Users/myname/.bash_profile の適当な場所に,*.styの場所を書いた一文を追加します。 Dropboxなどで共有すると,すべてのPC・macで使えて便利です。
# *.sty の場所 export TEXINPUTS=/Users/myname/Dropbox/tex/sty//:
/Users/myname/.osx-env-sync.sh を作成します。名前は適当でいいです。
grep export $HOME/.bash_profile | while IFS=' =' read ignoreexport envvar ignorevalue; do launchctl setenv ${envvar} ${!envvar} done
/Users/myname/Library/LaunchAgents/osx-env-sync.plist を作成します。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <!-- ↓ここ↓ --> <string>osx-env-sync</string> <key>ProgramArguments</key> <array> <string>bash</string> <string>-l</string> <string>-c</string> <!-- ↓ここ↓ --> <string> $HOME/.osx-env-sync.sh </string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>
最後に
OSの再起動か再ログインをすれば *.styを読み込んでくれるはずです。 うまくいかない人は,ファイルの実行権限などを確認してみてください。
参考文献
参考というか,丸パクリですね。 racooma.com