From 6f7d2dd8b83202502621487aff104b357fc69695 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 18 Dec 2008 00:21:57 +0000 Subject: pdfcomment update (15dec08) git-svn-id: svn://tug.org/texlive/trunk@11636 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/pdfcomment/pdfcomment.sty | 195 ++++++++++++++++----- 1 file changed, 154 insertions(+), 41 deletions(-) (limited to 'Master/texmf-dist/tex/latex/pdfcomment') diff --git a/Master/texmf-dist/tex/latex/pdfcomment/pdfcomment.sty b/Master/texmf-dist/tex/latex/pdfcomment/pdfcomment.sty index d65343e719d..b06f7885301 100644 --- a/Master/texmf-dist/tex/latex/pdfcomment/pdfcomment.sty +++ b/Master/texmf-dist/tex/latex/pdfcomment/pdfcomment.sty @@ -20,7 +20,8 @@ %% This work consists of all files listed in manifest.txt. %% % -\ProvidesPackage{pdfcomment}[2008/12/07 pdfcomment.sty v1.0 - Josef Kleber (C) 2008]% +\ProvidesPackage{pdfcomment}[2008/12/12 pdfcomment.sty v1.1 - Josef Kleber (C) 2008]% +% dvips, dvipdfmx, XeLaTeX drivers by Alexander Grahn % \RequirePackage{xkeyval}% % @@ -31,6 +32,7 @@ \gdef\pc@goptd@icon{Comment}% \gdef\pc@goptd@open{false}% \gdef\pc@goptd@hspace{15pt}% +\gdef\pc@goptd@dvipdfmx{true}% % % values for global package options \gdef\pc@gopt@subject{}% @@ -39,6 +41,8 @@ \gdef\pc@gopt@icon{}% \gdef\pc@gopt@open{}% \gdef\pc@gopt@hspace{}% +\newif\ifpc@gopt@dvipdfmx\pc@gopt@dvipdfmxfalse% +\newif\ifpc@gopt@final\pc@gopt@finalfalse% % % values for local command options \gdef\pc@lopt@subject{}% @@ -84,6 +88,24 @@ \gdef\pc@gopt@hspace{#1}% }% % +% define global style option dvipdfmx for setting the output driver in DVI mode +\define@key{pdfcomment.sty}{dvipdfmx}[\pc@goptd@dvipdfmx]% +{% + \expandafter\global\csname pc@gopt@dvipdfmx#1\endcsname% +}% +% +% define global style option final for setting the output mode to final +\define@key{pdfcomment.sty}{final}[]% +{% + \pc@gopt@finaltrue% +}% +% +% define global style option draft for setting the output mode to final +\define@key{pdfcomment.sty}{draft}[]% +{% + \pc@gopt@finalfalse% +}% +% % define local command option subject for setting the subject of pdf annotations \define@key{pdfcomment}{subject}[\pc@gopt@subject]% {% @@ -161,19 +183,46 @@ \ProcessOptionsX\relax% % \RequirePackage{marginnote}% -\RequirePackage{hyperref}% \RequirePackage{ifpdf}% % -\ifpdf% -\else% - \PackageError{pdfcomment}% - {pdfcomment works only with pdflatex in PDF mode!}% - {Not running pdfLaTeX in PDF mode; pdfcomment makes use of pdflatex primitive \pdfannot! Please run pdflatex!}% +%hyperref setup +\ifpdf\else% + %auto-set dvipdfmx driver in case of xetex + \expandafter\ifx\csname XeTeXrevision\endcsname\relax% + \ifpc@gopt@dvipdfmx% + \@ifpackageloaded{hyperref}% + {% + \hypersetup{dvipdfmx}% + }% + {% + \PassOptionsToPackage{dvipdfmx}{hyperref}% + }% + \fi% + \else% + \global\pc@gopt@dvipdfmxtrue% + \@ifpackageloaded{hyperref}{}% + {% + \PassOptionsToPackage{xetex}{hyperref}% + }% + \fi% \fi% % +% problems with older versions of hyperref than v6.76a [2007/04/09] +% reported by Gabriel Cardona +\RequirePackage{hyperref}[2007/04/09]% +% +% Using the options draft, final and dvipdfmx in \pdfcommentsetup makes absolutely no sense! +% Therefore, they are switched off at "\AtBeginDocument" +% and a warning is issued by xkeyval.sty, if used. +\AtBeginDocument% +{% + \disable@keys{pdfcomment.sty}{draft}% + \disable@keys{pdfcomment.sty}{final}% + \disable@keys{pdfcomment.sty}{dvipdfmx}% +}% \newcommand{\pdfcomment}[2][subject={\pc@gopt@subject},color={\pc@gopt@color},author={\pc@gopt@author},icon={\pc@gopt@icon},open={\pc@gopt@open},hspace={\pc@gopt@hspace}]% {% - % Copy all global option to local options + % Copy all global options to local options \gdef\pc@lopt@subject{\pc@gopt@subject}% \gdef\pc@lopt@color{\pc@gopt@color}% \gdef\pc@lopt@author{\pc@gopt@author}% @@ -191,23 +240,55 @@ \pdfstringdef\pc@pdfenc@subject{\pc@lopt@subject}% % transform color input to pdf color \HyColor@XZeroOneThreeFour{\pc@lopt@color}{\pc@hyenc@color}{pdfcomment}{color}% - % typeset text annotation (see: PDF Reference) - \pdfannot width 0pt height \baselineskip depth 0pt% - {% - /Subtype /Text% - /C [\pc@hyenc@color]% - /T (\pc@pdfenc@author)% - /Subj (\pc@pdfenc@subject)% - /Name /\pc@lopt@icon% - /Contents (\pc@pdfenc@contents)% - /Open \pc@lopt@open% - } - \hspace{\pc@lopt@hspace}% + \ifpc@gopt@final\else% + % typeset text annotation (see: PDF Reference) + \ifpdf% + \pdfannot width 0pt height \baselineskip depth 0pt% + {% + /Subtype /Text% + /C [\pc@hyenc@color]% + /T (\pc@pdfenc@author)% + /Subj (\pc@pdfenc@subject)% + /Name /\pc@lopt@icon% + /Contents (\pc@pdfenc@contents)% + /Open \pc@lopt@open% + } + \else% + \ifpc@gopt@dvipdfmx% + \special{pdf: ann width 0pt height \the\baselineskip% + <<% + /Subtype /Text% + /C [\pc@hyenc@color]% + /T (\pc@pdfenc@author)% + /Subj (\pc@pdfenc@subject)% + /Name /\pc@lopt@icon% + /Contents (\pc@pdfenc@contents)% + /Open \pc@lopt@open% + >>% + }% + \else% + \pdfmark[\rule{0pt}{\baselineskip}]% + {% + pdfmark=/ANN,% + Subtype=/Text,% + Raw={% + /C [\pc@hyenc@color]% + /T (\pc@pdfenc@author)% + /Subj (\pc@pdfenc@subject)% + /Name /\pc@lopt@icon% + /Contents (\pc@pdfenc@contents)% + /Open \pc@lopt@open% + }% + }% + \fi% + \fi% + \hspace{\pc@lopt@hspace}% + \fi% }% % \newcommand{\pdfmargincomment}[2][subject={\pc@gopt@subject},color={\pc@gopt@color},author={\pc@gopt@author},icon={\pc@gopt@icon},open={\pc@gopt@open},hspace={\pc@gopt@hspace}]% {% - % Copy all global option to local options + % Copy all global options to local options \gdef\pc@lopt@subject{\pc@gopt@subject}% \gdef\pc@lopt@color{\pc@gopt@color}% \gdef\pc@lopt@author{\pc@gopt@author}% @@ -225,26 +306,58 @@ \pdfstringdef\pc@pdfenc@subject{\pc@lopt@subject}% % transform color input to pdf color \HyColor@XZeroOneThreeFour{\pc@lopt@color}{\pc@hyenc@color}{pdfcomment}{color}% - \begingroup - % center marginnotes! - \renewcommand*{\raggedleftmarginnote}{\centering}% - \renewcommand*{\raggedrightmarginnote}{\centering}% - % typeset text annotation (see: PDF Reference) - \marginnote% - {% - \pdfannot width 0pt height \baselineskip depth 0pt% + \ifpc@gopt@final\else% + \begingroup + % center marginnotes! + \renewcommand*{\raggedleftmarginnote}{\centering}% + \renewcommand*{\raggedrightmarginnote}{\centering}% + % typeset text annotation (see: PDF Reference) + \marginnote% {% - /Subtype /Text% - /C [\pc@hyenc@color]% - /T (\pc@pdfenc@author)% - /Subj (\pc@pdfenc@subject)% - /Name /\pc@lopt@icon% - /Contents (\pc@pdfenc@contents)% - /Open \pc@lopt@open% - } - \hspace{\pc@lopt@hspace}% - }% - \endgroup + \ifpdf% + \pdfannot width 0pt height \baselineskip depth 0pt% + {% + /Subtype /Text% + /C [\pc@hyenc@color]% + /T (\pc@pdfenc@author)% + /Subj (\pc@pdfenc@subject)% + /Name /\pc@lopt@icon% + /Contents (\pc@pdfenc@contents)% + /Open \pc@lopt@open% + } + \else% + \ifpc@gopt@dvipdfmx% + \special{pdf: ann width 0pt height \the\baselineskip% + <<% + /Subtype /Text% + /C [\pc@hyenc@color]% + /T (\pc@pdfenc@author)% + /Subj (\pc@pdfenc@subject)% + /Name /\pc@lopt@icon% + /Contents (\pc@pdfenc@contents)% + /Open \pc@lopt@open% + >>% + }% + \else% + \pdfmark[\rule{0pt}{\baselineskip}] + {% + pdfmark=/ANN,% + Subtype=/Text,% + Raw={% + /C [\pc@hyenc@color]% + /T (\pc@pdfenc@author)% + /Subj (\pc@pdfenc@subject)% + /Name /\pc@lopt@icon% + /Contents (\pc@pdfenc@contents)% + /Open \pc@lopt@open% + }% + }% + \fi% + \fi% + \hspace{\pc@lopt@hspace}% + }% + \endgroup + \fi }% % \newcommand{\pdfcommentsetup}[1]% @@ -255,4 +368,4 @@ % % % -\endinput% \ No newline at end of file +\endinput% -- cgit v1.2.3