Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

booktitlenameやautにTeXのエスケープ対象文字となるものを入れると、PDFのメタ情報がエスケープ後文字列になる #1533

Closed
kmuto opened this issue Aug 14, 2020 · 3 comments

Comments

@kmuto
Copy link
Owner

kmuto commented Aug 14, 2020

booktitle: \_-$#^{}<>%Re:VIEWサンプル書籍
aut: ["-_${}<>%"]

pdfinfo book.pdf

Title:          T1	extbackslash {}{}T1	extunderscore {}{-}T1	extdollar {}#T1	extasciicircum {}protect T1	extbraceleft protect T1	extbraceright T1extless {}T1	extgreater {}%Re:VIEWサンプル書籍
Author:         {-}T1	extunderscore {}T1	extdollar {}protect T1	extbraceleft protect T1	extbraceright T1	extless {}T1	extgreater {}%

今review-base.styで

\PDFDocumentInformation{
  /Title    (\review@booktitlename)
  \ifdefined\review@autnames /Author   (\review@autnames)\fi
  % /Subject  ()
  % /Keywords (,,)
  /Creator  (Re:VIEW \review@reviewversion, with LaTeX)
}

としているが、\review@boooktitlenamereview@autnames以外に、エスケープを最小限(たぶん{}と%かな)にしたマクロを別途用意する必要がありそう。何か漏れが出そうで怖いけど。

@munepi
Copy link
Contributor

munepi commented Aug 14, 2020

\PDFDocumentInformation を使わずに、 \hypersetup だけで完結するようにしても良いとも思います。
\PDFDocumentInformation は、直接、<docinfo> をPDFに書き込んでいるので。

@kmuto
Copy link
Owner Author

kmuto commented Aug 15, 2020

なるほど、たしかにhypersetupだとTeXのエスケープ済み文字列のままでいけますね。

問題がちょっとあって、media=printだとhyperrefがdraftモードなので「do not do any hyperlinking」の一環でhypersetupのpdftitleなどの設定も無視されてしまうようです。ちと困りました。

@kmuto
Copy link
Owner Author

kmuto commented Aug 15, 2020

そういえば、review-jlreqでLuaLaTeXのときはもともとあきらめてました。

\def\recls@tmp{luatex}\ifx\recls@tmp\recls@driver
  \hypersetup{
    pdftitle={\review@booktitlename},
    pdfauthor={\ifdefined\review@autnames\review@autnames\fi},
    pdfcreator={Re:VIEW \review@reviewversion, with LaTeX}
  }
\else
  \newcommand*\PDFDocumentInformation[1]{%
    \AtBeginShipoutFirst{\special{pdf:docinfo <<#1>>}}}
  \@onlypreamble\PDFDocumentInformation
  \PDFDocumentInformation{
    /Title    (\review@booktitlename)
    \ifdefined\review@autnames /Author   (\review@autnames)\fi
    % /Subject  ()
    % /Keywords (,,)
    /Creator  (Re:VIEW \review@reviewversion, with LaTeX)
  }
\fi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants