OSをMontereyにアップデートしてBibcompanionが使えなくなったときの日本語文献引用設定

問題: Bibcompanionが使えなくなったのでBib Deskで日本語文献も管理したらタイプセットしたリストに日本語文献が表示されない

解決方法

  • citeキーが日本語のままになっている可能性が高い
  • 本文とbibファイルのciteキーをローマ字に変える

RMarkdownにBibtexで引用と参考文献をつける

問題: citeキーが日本語の場合に参照されない

解決方法

  • Bibcompanionのciteキー生成の設定を,yomi + yearで生成するように変更
    • 新しいciteキー設定以降の日本語文献は,domestic に,添付ファイルの保存先は peparsj へ
    • 古い日本語文献用.bibは pastdomestic に,添付ファイルの保存先は jpeparsj
  • RMarkdownに日本語リスト対応したcslファイルがないので,名(first name)で引用される
    • Bibcompanionのauthorで,姓, 名にしたら姓で引用されるが,Texshopが名での引用になる
    • RMarkdownの方を 名(first name)引用で放置する(Bibcompanionのauthorでは,姓 名入力のままにする

RMarkdownの設定

  • YAML metadata section に以下を入力する
  • .csl ファイルは,.sty ファイルと同じ場所でOK
citation_package: natbib   # LaTeX/PDF形式で出力するときは,LaTeX packages (e.g. natbib)が使える  

## 参照するbibファイルの指定
bibliography: ["/Users/t_maki/Dropbox/TexShared/bib/foreign.bib","/Users/t_maki/Dropbox/TexShared/bib/domestic.bib"]    

## 使用するcslファイルの設定
csl: [/Users/t_maki/Dropbox/TexShared/tex/american-sociological-association.csl]
# american-sociological-review.csl

RMarkdown本文での記述

@Mckenzie:2013               # 出力は,firstname(year)
[@abeyukiko:2011]            # 出力は,(firstname year)
ほげ[-@abeyukiko:2011]   # 出力は,ほげ(year)

公式のここも参照

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
  • うまく通った!

TexLive2020のアップグレードした後のヒラギノの埋め込み&TexShopの環境設定

ヒラギノの埋め込み

  • TexLive2019からはfontmaps'にcjk-gs-integrate-macos'がないのが問題のようなので,以下を参考にする

ここの「macOS High Sierra 以降に付属するヒラギノフォントのセットアップ」内,tmglrの実行の次からを参照する

手順0: 現在の日本語モードのフォントを確認

sudo kanji-config-updmap-sys status

手順1: TLContrib から必要なパッケージをインストール

sudo tlmgr repository add http://contrib.texlive.info/current tlcontrib
sudo tlmgr pinning add tlcontrib '*'
sudo tlmgr install japanese-otf-nonfree japanese-otf-uptex-nonfree ptex-fontmaps-macos cjk-gs-integrate-macos

手順2:インストールしたパッケージに PATH を通す

sudo tlmgr path add

手順3:以前のインストール・設定時に作られた可能性のあるリンクなどを削除するコマンドを実行

sudo cjk-gs-integrate --link-texmf --cleanup

手順4:リンクを作成するコマンドを実行

sudo cjk-gs-integrate-macos --link-texmf

手順5:作成したリンクを認識させる

sudo mktexlsr

手順6:最後に,macOS High Sierra 以降に付属するヒラギノフォントを埋め込むためのマップファイルを指定する

sudo kanji-config-updmap-sys --jis2004 hiragino-highsierra-pron

手順7: 日本語モードのフォントを確認

sudo kanji-config-updmap-sys status

TexShopの環境設定

追記

フォント設定については,これを参照 (2020/05/21)

texlive2017(以前)→ 2020へのアップグレード

MacTex2020でのインストール後にハマったこと

  • インストール後に内包されているパッケージをアップデートするための`sudo tlmgr update --self --all'が通らない
  • 原因:tlmgrの参照先が2017のころのもので古い
  • 対処法:ここを参考に,tlmgrのバージョンをアップグレードする

手順1: tlgmr のバージョンと通っているパスを確認・変更

sudo tlmgr version 

----
tlmgr using installation: /usr/local/texlive/2020
TeX Live (http://tug.org/texlive) version 2020  
  • ↑のように返ってきたらOK
  • 参照先HPは,ターミナルから TeX Live をアップグレードする場合の中での作業なので,「TeX Live (http://tug.org/texlive) version 2019」でOKになっている

  • ここで,古いバージョンだったら,新しいバージョン用の2020フォルダーがアクティブになるようにする

sudo tlmgr path remove  
sudo /usr/local/texlive/2020/bin/x86_64-darwin/tlmgr path add   

sudo tlmgr version  # 使用した tlmgr コマンドが,どのバージョンで,どのパスにインストールされているかを確認
  • インストール先が /usr/local/texlive/2020 ,本体が 2020 であればOK

手順2:tlmgr コマンドのアップグレードコマンドを用意する

sudo curl -L -O http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
  • アップグレード用のコマンド update-tlmgr-latest.sh を入手できるので,後は次のようにしてアップグレードを実行
sudo sh update-tlmgr-latest.sh -- --upgrade

手順3:tlmgr のアップグレードが完了したら,あとは普段通り次のコマンドを実行することで TeX Live のアップデートが行える

sudo tlmgr update --self --all

手順4:アップデート用のスクリプトを削除する

sudo rm -f update-tlmgr-latest.sh  

手順5:TeX Live 2020 自体へのアップデートが終わったところで,TeX Live に関するパスがアップデートした 2020 用のものに更新されているかを確認する

ls -l /usr/local/bin/tex* 

などと実行し,TeX に関連するファイルが /usr/local/texlive/2020/bin の中のコマンドにリンクされているか確認

追記

2018→ 2020へのバージョンアップでは`tlmgr'に問題なかった (2020/05/21)

見出し・目次の番号をつけたくないorアレンジしたいとき

【本文】「見出し」の番号を消したあとの、「小見出し」の番号をいじって目次で綺麗に表示したい.

こんなとき

・6章の見出しを「おわりに」にしたら、節の小見出しの番号が「5.8」になって、前の章番号・節番号を引き継いで困る.
・でも、\subsection*{1 ねこ社会の現状}でやると、目次に表示した時微妙に空白の空き方がズレて嫌.

【対処方法】

  • ¥chapter*{おわりに}:章見出しの番号を消す.

  • ¥addcontentsline{toc}{chapter}{おわりに}:目次に「おわりに」の章を表示させる.

  • ¥setcounter{section}{0}:1つ目の{}に番号を表示したい階層(section, subsectionなど}を、2つ目の{}に表示したい番号の1つ前の数字を入れる.

  • ¥renewcommand{¥thesection}{¥arabic{section}¥inhibitxspcode`ね=3}:「`」のあとに見出しの頭文字.

 

%%%%%%%%%%%%%%%%%%
¥chapter*{おわりに}
¥addcontentsline{toc}{chapter}{おわりに}
%%%%%%%%%%%%%%%%%%
本章では、

%%%%%%%%%%%%%%%%%%

¥setcounter{section}{0}
¥renewcommand{¥thesection}{¥arabic{section}¥inhibitxspcode`ね=3}
¥section{ねこ社会の現状}

%%%%%%%%%%%%%%%%%%

 

【参考】

http://d.hatena.ne.jp/pyopyopyo/20050116/p3

http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1322

http://ascii.asciimw.jp/pb/ptex/help/inhibitxspcode.html