TexShopでうまく文献が引用 & リスト作成されない (最終目標: Dropboxでの .bib,.bst,.styファイル管理)

問題①: .bib ファイルを `texmf-local' においたのに認識されなかった

  • TEXMFHOME' (/Users/ユーザー名/Library/texmf' )直下におくと認識される

原因: 参照したときに,`TEXMFHOME' にあった同じ名前の .bib ファイルが参照されたと思われる

  • `TEXMFHOME' にあった .bib ファイルにはない文献キーを本文で指定していたのでエラー

対処: `TEXMFHOME' にあった .bib ファイルを全て削除

  • `texmf-local' 直下に .bib ファイルを移動
  • `sudo mktexlsr' を実行

一覧表の更新 (mktexlsr) について
LaTeX がファイルを読み込むときは TeXディレクトリの中から目当てのファイルを探しますが,ファイルを探すのはそれなりの時間がかかります。 そこで考え出されたのが「あらかじめファイルの一覧表を作っておき,ファイルを探すときにはそれを参照する」という仕組みで,この一覧表 (ls-R) を作るコマンドが mktexlsr です。 手元のシステムでこの一覧表を利用しているかどうかは,ls-R というファイルが存在するかどうかを調べるとわかります。
TeX Live では,この ls-R という一覧表でファイルを管理しています。このため,新しいパッケージなどをインストールするたびに一覧表を更新してやらないと,せっかくインストールしたつもりのパッケージも LaTeX から見つけてもらえずに使用できません。TeX Live でパッケージを追加した場合は
mktexlsr
を実行して一覧表を更新しましょう。

Dropboxでの管理環境作成

  • `Bibliography' フォルダを作成し, .bib,.bst,.sty ファイル置き場を作成
  • `/usr/local/texlive/2020/texmf-dist/web2c/texmf.cnf' を以下のように編集
  • 参考: ここ
% pBibTeX bibliographies and style files.
%BIBINPUTS.pbibtex       = $TEXMFDOTDIR;$TEXMF/{pbibtex,bibtex}/bib//
BIBINPUTS.pbibtex       = $TEXMFDOTDIR;$TEXMF/{pbibtex,bibtex}/bib//;~/Dropbox/TexShared//
%BSTINPUTS.pbibtex       = $TEXMFDOTDIR;$TEXMF/{pbibtex,bibtex}/bst//
BSTINPUTS.pbibtex       = $TEXMFDOTDIR;$TEXMF/{pbibtex,bibtex}/bst//;~/Dropbox/TexShared//

% upBibTeX bibliographies and style files.
%BIBINPUTS.upbibtex      = $TEXMFDOTDIR;$TEXMF/{upbibtex,pbibtex,bibtex}/bib//
BIBINPUTS.upbibtex      = $TEXMFDOTDIR;$TEXMF/{upbibtex,pbibtex,bibtex}/bib//;~/Dropbox/TexShared//
%BSTINPUTS.upbibtex      = $TEXMFDOTDIR;$TEXMF/{upbibtex,pbibtex,bibtex}/bst//
BSTINPUTS.upbibtex      = $TEXMFDOTDIR;$TEXMF/{upbibtex,pbibtex,bibtex}/bst//;~/Dropbox/TexShared//

︙

% BibTeX bibliographies and style files.  bibtex8 also uses these.
%BIBINPUTS = $TEXMFDOTDIR;$TEXMF/bibtex/bib//
BIBINPUTS = $TEXMFDOTDIR;$TEXMF/bibtex/bib//;~/Dropbox/TexShared//
%BSTINPUTS = $TEXMFDOTDIR;$TEXMF/bibtex/{bst,csf}//
BSTINPUTS = $TEXMFDOTDIR;$TEXMF/bibtex/{bst,csf}//;~/Dropbox/TexShared//
  • 編集権限がなかったら管理者に登録
  • 上位のフォルダ権限も変更が必要

問題②: texでの文献リストの形式を決める .sty ファイルが認識されない

  • TEXMFHOME' の/Users/t_maki/Library/texmf/tex/latex' に置くと認識された
  • `texmf.cnf' のupTexのエンジン指定を変える必要あり?

対処: `texmf.cnf' を,さらに以下のように書き換えてみた

  • 最後の行は元のまま
% (e)up(La)TeX, and for upmpost
%TEXINPUTS.uplatex     = $TEXMFDOTDIR;$TEXMF/tex/{uplatex,platex,latex,generic,}//
TEXINPUTS.uplatex     = $TEXMFDOTDIR;$TEXMF/tex/{uplatex,platex,latex,generic,}//;~/Dropbox/TexShared//
%TEXINPUTS.uplatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,uplatex,platex,latex,generic,}//
TEXINPUTS.uplatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,uplatex,platex,latex,generic,}//;~/Dropbox/TexShared//
%TEXINPUTS.uptex   = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}//
TEXINPUTS.uptex   = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}//;~/Dropbox/TexShared//
%TEXINPUTS.euptex  = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}//
TEXINPUTS.euptex  = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}//;~/Dropbox/TexShared//
TEX.upmpost = euptex
  • うまく通った!