asata's Blog

ごく普通?の学生やってます.プログラミング(初心者)のこと,パソコンのこと,その他自分が気になったこと,色々書きます.

TeX パッケージのstyファイルが読み込まれないときの対処法(ls-R手動編集)

こちらの記事はQiitaと同時投稿したものです.最新版はQiitaをご覧ください.

qiita.com


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 という属性値はセットできません

とかいうエラーメッセージが頻繁に出るけど無視して大丈夫です.