CTAN 管理外のパッケージの置き場、今回は主にスタイルファイルについて書いてみました。
CTAN 経由でインストールできない追加パッケージの置き場所
LaTeX 次の四種類のカテゴリで分けられるものに登録されている情報源から documentclass に指定されているクラスファイル、usepackage で指定された スタイルファイルを探し出してきます。
1) カレントディレクトリ 2) TEXMFHOME で指定されたディレクトリ 3) TEXMFLOCAL で指定されたディレクトリ 4) TEXMF で指定されたディレクトリ群
TEXMFHOME や TEXMFLOCAL とは
入力コマンド 出力結果 kpsewhich -var-value TEXMFHOME C:/Users/i-wada/texmf kpsewhich -var-value TEXMFLOCAL C:/texlive/texmf-local kpsewhich -var-value TEXMF 四つのカテゴリの用途
1) カレントディレクトリ
- とりあえずお試し - 他のドキュメントでは使用しないスタイルファイルなど
2) TEXMFHOME
- ユーザ限定で利用する場合
3) TEXMFLOCAL
- 他のユーザと共用利用する場合
4) TEXMF で指定されたディレクトリ群
- CTAN 由来のものを置く場所と考えて良い - 主に texlive/2021 などリリース年度のディレクトリ
TEXMF vs ( TEXFHOME or TEXMFLOCAL )
TEXMF は主にリリース年度毎のものが配置されていると考えてください
CTAN 以外のものはリリース年度に依存しないので例えば 2022 がリリー スされても TEXMFLOCAL または TEXMFHOME に置いておくことで、 2022 への移行しても特段の処置は不要です。
TEXMFHOME vs TEXMFLOCAL
- 共同作業する必要がなければ TEXMFHOME TEXMFLOCAL どちらでも良いです
- 一台のコンピュータで複数ユーザで共同作業する場合は TEXMFLOCAL だと思います
- TEXMFLOCAL に新たにパッケージをおいた場合、検索データベース更新のため、設置後「mktexlsr」コマンドを実行する必要があります
TEXMFHOME や TEXMFLOCAL 直下に設置が必要な補助ディレクトリ(ここ重要)
- TEXMFLOCAL には必要なディレクトリは既に作成されているので参考にしてください
TEXMFHOE の場合、今回のケースでは「tex」補助ディレクトリが必要ですので存在しなければ作成してください
mkdir -p %USERPROFILE%/texmf/tex
追加パッケージの置き場所
今回のケースですと biblatex-japanese.sty biblatex-japanese.def japanese.lbx を上記 tex ディレクトリ直下においても良いですが...
私は、提供元の情報やドキュメントを参照するため git clone したものを以下のように配置して検証しました
実際はホームディレクトリ以下に git clone し TEXMFHOME/tex 以下にリンクしています。
TEXMFHOME//biblatex-japanese/.git/config ... 省略 ... TEXMFHOME//biblatex-japanese/LICENSE TEXMFHOME//biblatex-japanese/doc/biblatex-japanese.pdf TEXMFHOME//biblatex-japanese/doc/biblatex-japanese.tex TEXMFHOME//biblatex-japanese/latex/ TEXMFHOME//biblatex-japanese/latex/ TEXMFHOME//biblatex-japanese/latex/ TEXMFHOME//biblatex-japanese/test/README.md ... 以下省略 ...
latex から検索できるか否かは kpsewhich コマンドで確認
- 以下のコマンドを実行(-a オプションは複数有無チェックのため)
kpsewhich -a biblatex-japanese.def kpsewhich -a biblatex-japanese.sty kpsewhich -a japanese.lbx
何も表示されなければ ...
- TEXMFLOCAL の場合は mktexlsr で検索データベースが更新されていない場合が大半です。
- TEXMFHOME の場合は、tex ディレクトリ以下に配置してるかダブルチェックしてください
- 複数表示されている場合は、トラブルの元になりかねないので管理したいとこ以外のものは削除をおすすめ
「コマンドの構文が誤っています」について
申し訳ない、windows の mkdir は「-p」オプションは不要でした。
ですので「-p」というディレクトリができていると思いますので、 お手数ですが エクスプローラでホームディレクトリにある r -p」を削除してください。
「コマンドの構文が誤っています」といわれたら、そのコマンドに「/?」をつけて実行すると簡単な使用方法などが表示されるので参考にしてください。「今回の場合であれば「mkdir /?」です
biblatex-japaneseパッケージの更新方法
もし git clone でダウンロードしているのなら、clone で作成されたディレクトリで「git fetch」で良いと思います。
気になるのであれば、clone したディレクトリ以下を削除して、 もう一度 clone し直しという方法でも良いと思います。
参考文献欄では姓名の順番
これから外出しなければならないのでパス
Table of Contents
biblatex だけで当初質問のカスタマイズ案を検討してみました
武田さんが解答の中に書かれたつぶやきから、 texdoc bibilatex で biblatex だけで解決する案を検討してみました。
姓名順に並べる方法として美文書 8版 の yomi 属性を追加したり、auther に family given あるいは sortingnamekeytemplatename の補助属性情報で の検証を行いました。
添付ファイル samplerev3.zip の内容は以下の通り
adding: sample_rev3/sample.tex (deflated 64%) ... カスタマイズ案を組み込んであります adding: sample_rev3/sample.bib (deflated 50%) ... カスタマイズに準じて回収 adding: sample_rev3/sample.pdf (deflated 0%) adding: sample_rev3/sample.log (deflated 80%) adding: sample_rev3/mycustomize.tex (deflated 66%) ... 非推奨部分のカスタマイズ案
お題とカスタマイズ案
参考文献で日本人の著者名を「姓・名」の順に出力したい。
bib ファイルにてyumi 属性と日本人著者名(auther)に family given 補助属性を追加
- yomi ….. 美文書8版 p187下部に書かれている「yomi = "きのした これお",」を参考
- author … XXX YYY → family=XXX, given=YYY
カスタマイズ案
- author={奥村 晴彦 and 黒木 裕介}, + author={family=奥村, given=晴彦 and family=黒木,given=裕介}, + yomi ={おくむら はるひこ,},
bib ファイルにて author 属性に 「sortingnamekeytemplatename」「family」「given」補助属性を追加
- sortingnamekeytemplatename にはひらがなあるいはカタカナで「読み」を付記
- author … XXX YYY → family=XXX, given=YYY
カスタマイズ案
- author={奥村 晴彦 and 黒木 裕介}, + author={ sortingnamekeytemplatename=おくむら はるひこ, + family=奥村, given=晴彦 and family=黒木, given=裕介},
「language = {japanese}」という属性でもできるみたい(未検証)
脚注や参考文献で日本語の表題が太くなってしまうのを通常の太さにしたい。
デフォルトの定義では \mkbibemph → \emph としてタイトル名が渡るためこの動きを変更する
デフォルトの定義(TEXMF/texmf-dist/tex/latex/biblatex/biblatex.def) では
\DeclareFieldFormat{title}{\mkbibemph{#1}} \DeclareFieldFormat{citetitle}{\mkbibemph{#1}}
カスタマイズ案1(英字はそのままイタリックで強調、和字の無強調表示)
\DeclareFieldFormat{title}{\textit{#1}} \DeclareFieldFormat{citetitle}{\textit{#1}}
カスタマイズ案2(英字・和字ともに無強調表示)
\DeclareFieldFormat{title}{#1} \DeclareFieldFormat{citetitle}{#1}
複数著者の場合「and」の文字がなぜか出てきてしまう。
「and」は「著者名内」の「フィールド区切り」を示すものなのでそのまま の方が良いと思いますが …
デフォルト定義(TEXMF/texmf-dist/tex/latex/biblatex/biblatex.def)
\DeclareDelimFormat{finalnamedelim}{% \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% \addspace\bibstring{and}\space} \DeclareDelimFormat{finallistdelim}{% \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% \addspace\bibstring{and}\space} \DeclareDelimFormat{finalnamedelim}{% \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% \addspace{}\space} \DeclareDelimFormat{finallistdelim}{% \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% \addspace{}\space}
文献の表示順は「著者・タイトル・出版年・出版社」の順にしたい。
武田さんの回答にあったように、この件に関するカスタマイズはかなり難し い。今回はアドホックな方法で対処したこともあり、この項に関するものは 非推奨です。
- 理由 : date として参照している他の箇所での参照に不具合が出る可能性がある
文献表示順序に関するデフォルト定義は TEXMF/texmf-dist/tex/latex/biblatex/bbx/standard.bbxの 「\DeclareBibliographyDriver{book}」の 「\usebibmacro{publisher+location+date}」
「date+publisher+location」と入れ替えれば良さそうだが … footcite でエラーになる
妥協策
- date の定義を無効化し実質 publisher+location になるようにする
- 出版年は year から直接
カスタマイズ案(非推奨)
\renewbibmacro*{date}{}%%%%%%%%%%%%%%% 無効化 \DeclareBibliographyDriver{book}{% ... \newunit\newblock\printfield{year}%%%%%% ここで出版年として出力 \newunit\newblock \usebibmacro{publisher+location+date}%%% date は空っぽなので ...
\footcite の著者名を「姓」「名」の順にする
- 武田さんの情報から \DeclareNameAlias{author}{family-given} を追加する
参考URLなど
- texdoc biblatex
- Tips on Writing a Thesis in LaTeX
- biblatex の標準スタイルの解説