TeX パッケージのstyファイルが読み込まれないときの対処法(ls-R手動編集)
こちらの記事はQiitaと同時投稿したものです.最新版はQiitaをご覧ください.
jlisting
パッケージを入れようと思い,listings
パッケージのフォルダにjlisting.sty
を入れて,mktexlsr
を実行したがどうもうまく反映されなかったらしいので,その時にやった対処法を書く.
<筆者の環境>
cd /usr/local/texlive/2018/texmf-dist/tex/latex/listings sudo cp ~/jlisting.sty jlisting.sty sudo chmod 644 jlisting.sty sudo mktexlsr mktexlsr: Updating /usr/local/share/texmf/ls-R... mktexlsr: Updating /var/lib/texmf/ls-R-TEXLIVEDIST... mktexlsr: Updating /var/lib/texmf/ls-R-TEXMFMAIN... mktexlsr: Updating /var/lib/texmf/ls-R... mktexlsr: Done.
普通ここまでやれば,うまくいくらしいが,コンパイル時に「styファイルが見つからない」旨のエラーが出てしまう.
! LaTeX Error: File `jlisting.sty` not found.
よく見ると,上の部分でtexmf
のls-Rは書き換えられてるのに,texmf-dist
のそれは書き換えられてなかった.なので,手動で書き換えます.
texmf-distまで戻ってから
sudo gedit ls-R
/tex/latex/listings
で検索をかけるとこんなのが出てくる.
./tex/latex/listings: listings-acm.prf listings-bash.prf listings-fortran.prf listings-lua.prf listings-python.prf listings.cfg listings.sty lstdoc.sty lstlang1.sty lstlang2.sty lstlang3.sty lstmisc.sty
このリストの一番下に,jlisting.sty
を追加すればOK.
ちなみに保存時に
** (gedit:29568): WARNING **: 11:50:40.231: Set document metadata failed: metadata::gedit-position という属性値はセットできません
とかいうエラーメッセージが頻繁に出るけど無視して大丈夫です.