pdfcomment を使った状態で日本語 section でエラー

pdfcomment を使った状態で日本語 section でエラー

- IsKu の投稿
返信数: 9
TeX Live 2019 を Windows10 x64 で利用しています。
以下のソースでエラーが発生します。

\documentclass[11pt,a4paper]{jsarticle}

\usepackage{pdfcomment}


\begin{document}

\section{PDF 日本語}

\end{document}


エラーの内容は以下の通りです。


------------------

...

(c:/texlive/2019/texmf-dist/tex/generic/oberdiek/se-pdfdoc.def)

! Missing = inserted for \ifnum.

<to be read again>

\

l.5 \section{PDF 日本語}

------------------


section を利用せずに、単に日本語を記述した以下のコードでは問題ありません。


\documentclass[11pt,a4paper]{jsarticle}

\usepackage{pdfcomment}


\begin{document}

PDF 日本語

\end{document}


また、section にアルファベットのみでも問題ありません。


\begin{document}

\section{PDF}

\end{document}


不具合のようにも見えるのですが、何かご存知の方はいらっしゃいませんでしょうか?
ご助言いただけましたら幸いです。
よろしくお願いいたします。


IsKu への返信

Re: pdfcomment を使った状態で日本語 section でエラー

- 和田 勇 の投稿
「pdfcomment platex」で検索したところ、以下のURLがあり

 http://mars.kmc.gr.jp/~ohai/d/?date=201401
 2014年01月10日 LuaTeX-ja で PDF プロパティに日本語を使う
その中の
  \usepackage{hyperref}
  \hypersetup{unicode}
の二行を入れると通るようです。ただ「他のパッケージに影響を与える可能性がある」とのコメントが有るのが気にはなっています。

なお texdox pdfcomment の 10 ページの 3.1.1 \pdfcomment のところにも unicode hyperref の記述があります。

和田 勇 への返信

Re: pdfcomment を使った状態で日本語 section でエラー

- IsKu の投稿
ありがとうございます。
ちょっと footnote などに影響が出るように見えますが、
まずは、エラーで先に進めなかったので、助かりました。

もう少しいろいろやってみたいと思います。
ありがとうございました。

IsKu への返信

Re: pdfcomment を使った状態で日本語 section でエラー

- tat tsan の投稿
upLaTeX で pxjahyper を利用しても通るようです。

\documentclass[11pt,a4paper,dvipdfmx,uplatex]{jsarticle}
\usepackage{pdfcomment}
\usepackage{pxjahyper}

\begin{document}
\section{PDF 日本語}
\end{document}
tat tsan への返信

Re: pdfcomment を使った状態で日本語 section でエラー

- 和田 勇 の投稿
以下は (u)platex のみの話です。技術的な点で不足や勘違いなど指摘していただけると幸いです。

さて、しおりとかを考慮すると pxjahyper は必要になりますね。でもuplatex だと通りますが platex ではすんなりとおらず以下のエラーが発生します。

  ! Package pxjahyper Error: hyperref 'unicode' mode is not supported.

その対策を考えてみました。

pdfcomment は hyperref 未ロードの場合は \RequirePackage[dviXX,pdfencoding=auto]{hyperref} として読み込みます。
オプション無しだと documentclass で dvipdfmx 指定しても dviXX はdvips です。
dvipdfmx に限定したい場合は明示的に指定する必要があります。

   \usepackage[dvipdfmx]{pdfcomment}

(u)pLATEX + hyperref + dvipdfmx の組み合わせで日本語を含む「しおり」をもつ PDF 文書を作成する場合に必要となる機能を提供する「pxjahyper」 は unicode で利用できるのは uplatex 限定としているので冒頭で示したエラーメッセージが表示されます。
ですので platex で pxjahyper を利用する場合は、hyperref 読み込みを上記の点を考慮し以下のように制御する必要があります。

   \usepackage[dvipdfmx]{hyperref,pdfcomment}%読み込み順指定
   \usepackage{pxjahyper}

これだけでも platex で通りますが、unicode に関する問題が生じた場合は不具合状況がわからないので未検証ですが、\usepackage[pdfencoding=auto]{hyperref} をエミュレートするため以下の対応が必要になるかと思います。

   \hypersetup{unicode}

以上を踏まえて(u)platex で検証に利用したソースです。

\documentclass[autodetect-engine,dvipdfmx]{jsarticle}
\usepackage[dvipdfmx]{hyperref,pdfcomment}%platex の場合 読み込み順指定!!
\usepackage{pxjahyper}%栞とかを考慮するときはつけたほうが良いかな
\hypersetup{unicode}%これなしでも通りますが\usepackage[pdfencoding=auto]{hyperref}エミュレートしています。

\begin{document}
\section{PDF OK}
FOOTNOTE\footnote{脚注}FOOTNOTE
\section{PDF 日本語}
\end{document}
和田 勇 への返信

Re: pdfcomment を使った状態で日本語 section でエラー

- IsKu の投稿
いろいろありがとうございます。
まだ初心者なので、助かります。

Acrobat Reader で開いたときのしおりやツールチップの
日本語が文字化けしてしまい、悩んでおります。
もし、また、何かわかればご教授いただければ幸いです。

graphics パッケージを追加、pdfcomment でツールチップを作成しています。
このツールチップが文字化けしてしまいます。

また、しおりも文字化けするようです。

\documentclass[autodetect-engine,dvipdfmx]{jsarticle}
\usepackage[dvipdfmx]{graphics}
\usepackage[dvipdfmx]{hyperref,pdfcomment}%platex の場合 pdfcomment より先に読み込ませるため!!
\usepackage{pxjahyper}%栞とかを考慮するときはつけたほうが良いかな
\hypersetup{unicode}%これなしでも通りますが\usepackage[pdfencoding=auto]{hyperref}エミュレートしています。

\begin{document}
\section{PDF OK}
FOOTNOTE\footnote{脚注}FOOTNOTE
\section{PDF 日本語}
\pdftooltip{\includegraphics{sample.png}}{PDF日本語テスト}%
\end{document}


Acrobat Reader の画面ダンプも添付させていただきました。


添付 文字化け.jpg
IsKu への返信

Re: pdfcomment を使った状態で日本語 section でエラー

- 和田 勇 の投稿
■\hypersetup{unicode} を除去してください(これで日本語文字化け解消するかとおもいます)

前回投稿した際、\hypersetup{unicode} を指定しなくても良いと書きながら指定していました。これが悪さをしていたようです。これを除去すると栞も pdftooltip も文字バケしなくなりました。とはいえ、MacOS + Adobe Reader だけなので他の環境での動作確認が必要です。

■pdfcomment の簡略機能テスト
なおpdfcoment については texwiki に紹介記事がありそこで紹介されている pdfmargincomment pdfmarkupcomment pdftooltip の三つについては日本語コメントが記述でき文字化けしませんでした。ただしpdfmarkupcomment はコメントしたい部分に日本語を指定する事はできないようです。また pdftooltip で大きな画像を縮小するようなオプションを付与すると処理できないようです。

■添付ファイルについて
以上をまとめたものを z.zip ファイルをして添付しますので参考にしてください。アーカイブ知った内容は以下の通り。(u)platex で動作確認してあります。

adding: Y.pdf (deflated 13%)  下記をコンパイル・PDF化したもの
adding: Y.tex (deflated 60%)  テスト兼レポートソース
adding: abc.jpg (deflated 21%) テスト用画像
和田 勇 への返信

Re: pdfcomment を使った状態で日本語 section でエラー

- IsKu の投稿
ありがとうございました。
おかげ様で、私がやりたいことは解決しました。
大変助かりました。

また、まとめの情報もありがとうございます。

ちなみに、今日は VMWare Fusion でしか確認できていないのですが、
Mac上の VMWare Windows64 環境上では、pdfmarkupcomment が
ページ下のおかしなところに表示されました。
お送りいただいた Y.tex でも同じでした。

zip ファイルを添付させていただいています。
Win.jpg ならびに Win.pdf をご参照ください。

# ちなみに、Mac 上では、問題ありませんでした。

VM ではない環境でもやってみるつもりですが、一応、ご報告まで。

なお、当初の脚注でおかしいという話は勘違いでした。
申し訳ございません。

IsKu への返信

Re: pdfcomment を使った状態で日本語 section でエラー

- 和田 勇 の投稿
ほぼ解決でなによりです。。。以下の記述に関しては優先度落として時間かけて検討します。

□Google Chrome や Opera でも pdfcomment のコメント見れるのですが文字化けしますね。(Firedox はローカルなpdf ファイル開けないな)
おそらく  \AtBeginDvi で \special{pdf:tounicode XXX}  する意味の理解不足だろうな。。きっと!!(自省中)

■pdfmarkupcomment の不審な挙動(Win.jpg/ testMac.pdf testWin.pdf の画像を見て)

メモ書きとして「コメントしたい部分の日本語表記不可・思った
位置に吹き出しマークがひょうじされないみたい」と書いておいたのですが。。
実験されたように割と少なめな「文」量のところで使用すると変なところに飛んでしまうこと時々ありました。比較的「文」量のあるところだと思い通りのところに配置されるのですが・・・
さらに YWin.pdf をむると Windows とMac で表示位置違うし・・・

■YWin.pdf を見て

AdobeReader で pdfmargincomment のヘルプアイコンでていないし、コメントも表示されていませんね。

pdfmarkupcomment は変なところに吹き出しアイコン表示されていますね。

「しおり 文字化け」で検索すると \AtBeginDvi で \special{pdf:tounicode XXX} に設定云々の記事が見つかりますが
これは pxjahyper.sty で処置してるようなのでこれが関連しているのだろうなと想像しています。

このような状況だと linux や freebsd (フリーな)solaris もチェックしないといけないかな?

がDebug環境が十二分でないのですぐには実験できないです。

和田 勇 への返信

Re: pdfcomment を使った状態で日本語 section でエラー

- IsKu の投稿
ご確認ありがとうございます。

コメントの見落とし、失礼しました。
ブラウザで見るというのは思いつきませんでした。
また、pdfcomment 含め、いろいろ試してみたいと思いますが、
とりあえず、クローズいただいて結構です。

ありがとうございました。
また、何かのときには投稿させていただきます。