TeX Live 2021で、次のようなファイル
%%% hoge.tex
\RequirePackage[2020/02/02]{latexrelease}
\documentclass[KOMA]{powersem}
\usepackage[dvipdfmx]{hyperref}
\begin{document}
\begin{slide}
\section{Tokyo}
\end{slide}
\end{document}
%%% EOF
を hoge.tex として保存して latex や platex でコンパイルすると、
===
Package hyperref Warning: Rerun to get /PageLabels entry.
(/opt/sw/share/texmf-dist/tex/latex/bookmark/bookmark.sty
(/opt/sw/share/texmf-dist/tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def))
! Undefined control sequence.
\\bookmark ...{pdf:out \ifBKM@DvipdfmxOutlineOpen
[\ifBKM@open \ifnum \BKM@l...
l.6 \section{Tokyo}
?
===
というエラーが出てしまい、コンパイルできません(友人によると、TeX Live 2020ならコンパイルが通るそうなのですが)。
ちなみに、bkm-dvipdfm-2019-12-03.def を別所に退避したあと、
ln -s bkm-dvipdfm.def bkm-dvipdfm-2019-12-03.def
して bkm-dvipdfm.def を参照するようにすると、正常にコンパイルができます。
また \section{Tokyo} を単に Tokyo にしたり、\usepackage[dvipdfmx]{hyperref} をコメントアウトしたりするとコンパイルできます。
このような状況なのですが、システムツリーに手を出さずに正常にコンパイルできるようにする(ユーザーとして正当な?)方法はありますでしょうか。
よろしくお願いいたします。
\RequirePackage[2020/02/02]{latexrelease} で処理しなければいけない理由いかんだと思います。
特段なければこのカーネル特定記述を削除すれば良いと思います。(←推奨)
ifBKM@DvipdfmxOutlineOpen や ifBKM@open の定義参考情報を調べると
2019から登場し、ifBKM@DvipdfmxOutlineOpen は当初、bookmark.styで定義され、
bkm-dvipdfm.def において利用されていました。
しかし 2020 では ifBKM@DvipdfmxOutlineOpen の定義が削除されたことによると思われる
bkm-dvipdfm.def の改修が行われ現在に至っています。
このような経緯を理解した上でカーネル特定オプションを利用するのであれば、ご友人の 2020
でコンパイルできる bookmark.sty を取得し TEXMFHOME あるいは TEXMFLOCAL におけば良いと思います。
特段なければこのカーネル特定記述を削除すれば良いと思います。(←推奨)
ifBKM@DvipdfmxOutlineOpen や ifBKM@open の定義参考情報を調べると
2019から登場し、ifBKM@DvipdfmxOutlineOpen は当初、bookmark.styで定義され、
bkm-dvipdfm.def において利用されていました。
しかし 2020 では ifBKM@DvipdfmxOutlineOpen の定義が削除されたことによると思われる
bkm-dvipdfm.def の改修が行われ現在に至っています。
このような経緯を理解した上でカーネル特定オプションを利用するのであれば、ご友人の 2020
でコンパイルできる bookmark.sty を取得し TEXMFHOME あるいは TEXMFLOCAL におけば良いと思います。
和田さま、
ご返信ありがとうございます。
\RequirePackage[2020/02/02]{latexrelease}を削除しますと、
===
(/opt/sw/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty)))
! Extra \endgroup.
\document ->\endgroup
\the \before@document \begingroup \UseOneTimeHook {beg...
l.4 \begin{document}
?
===
というエラーが出ます。個人的には私もこれを削除したいのですが、削除できないのが現状です。
次のご提案の方法も試してみたいと思いますが、結局 TeX Live 2021 のもとで hoge.tex ソース内の編集でなんとかすることは難しそうということでしょうか。
必要でしたら、bookmark.sty の開発者に報告してもよいのですが、どこから連絡すると良さそうでしょうか。
よろしくお願いいたします。
ご返信ありがとうございます。
\RequirePackage[2020/02/02]{latexrelease}を削除しますと、
===
(/opt/sw/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty)))
! Extra \endgroup.
\document ->\endgroup
\the \before@document \begingroup \UseOneTimeHook {beg...
l.4 \begin{document}
?
===
というエラーが出ます。個人的には私もこれを削除したいのですが、削除できないのが現状です。
次のご提案の方法も試してみたいと思いますが、結局 TeX Live 2021 のもとで hoge.tex ソース内の編集でなんとかすることは難しそうということでしょうか。
必要でしたら、bookmark.sty の開発者に報告してもよいのですが、どこから連絡すると良さそうでしょうか。
よろしくお願いいたします。
こちらでは macOS で RequirePackageを削除した上で、
texlive 2020 2021 2022 の三つのバージョンで検証したところ 2020 で発生しますね。
これから考えられるのは、TeXLive2021 とおっしゃっていますが、
インストール後 sudo tlmgr update --self --all などを
利用して TeXLive のアップデートされていないのかな?
今 sudo tlmgr update --self --all を行うと 2022 へのアップグレードになってしまうので、
「システムの設定を変えたくない」というのに反してしまいますね。
やはりご友人のところで動いている bookmark.sty をカレントなどに置くのが手っ取り早い方法かな
でも update/upgrade あるいは 2022 のインストールの方がよいのかな?
texlive 2020 2021 2022 の三つのバージョンで検証したところ 2020 で発生しますね。
これから考えられるのは、TeXLive2021 とおっしゃっていますが、
インストール後 sudo tlmgr update --self --all などを
利用して TeXLive のアップデートされていないのかな?
今 sudo tlmgr update --self --all を行うと 2022 へのアップグレードになってしまうので、
「システムの設定を変えたくない」というのに反してしまいますね。
やはりご友人のところで動いている bookmark.sty をカレントなどに置くのが手っ取り早い方法かな
でも update/upgrade あるいは 2022 のインストールの方がよいのかな?