bkm-dvipdfm-2019-12-03.def の不具合?

bkm-dvipdfm-2019-12-03.def の不具合?

- Okayama Tomoaki の投稿
返信数: 3

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} をコメントアウトしたりするとコンパイルできます。

このような状況なのですが、システムツリーに手を出さずに正常にコンパイルできるようにする(ユーザーとして正当な?)方法はありますでしょうか。

よろしくお願いいたします。


Okayama Tomoaki への返信

Re: bkm-dvipdfm-2019-12-03.def の不具合?

- 和田 勇 の投稿
\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 におけば良いと思います。
和田 勇 への返信

Re: bkm-dvipdfm-2019-12-03.def の不具合?

- Okayama Tomoaki の投稿
和田さま、

ご返信ありがとうございます。
\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 の開発者に報告してもよいのですが、どこから連絡すると良さそうでしょうか。

よろしくお願いいたします。
Okayama Tomoaki への返信

Re: bkm-dvipdfm-2019-12-03.def の不具合?

- 和田 勇 の投稿
こちらでは 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 のインストールの方がよいのかな?