diff options
14 files changed, 344 insertions, 373 deletions
diff --git a/Master/texmf-dist/doc/latex/pdfcomment/CHANGES b/Master/texmf-dist/doc/latex/pdfcomment/CHANGES index 269a21e65e3..2e0efb29a15 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/CHANGES +++ b/Master/texmf-dist/doc/latex/pdfcomment/CHANGES @@ -1,5 +1,20 @@ === pdfcomment.sty === +-- pdfcomment.sty (v2.3) (<- v2.2.16dev 2012/03/13) (Commit: ad8cf0b2bed753142c5f96bdc584e5a89c7285ea) + +2012/03/07 reimplemented \pdfmarkupcomment by using soulpos.sty [jk] + (old implementation of twocolumn mode dumped) + much better support of non standard text cases, like: + \twocolumn: feature request by: René Schwarz, Thomas Feller, Til Birnstiel + setspace.sty: feature request by: Andrew Dawson + enumerate, itemize, ... + +2012/08/11 added support for twocolumn mode in \pdfsidelinecomment [jk] + +2012/07/04 added option local to \pdfcommentsetup [jk] + + feature request by: Florent Chervet + -- pdfcomment.sty (v2.2a) (<- v2.2 2012/01/25) 2012/01/25 revised documentation [jk] diff --git a/Master/texmf-dist/doc/latex/pdfcomment/README b/Master/texmf-dist/doc/latex/pdfcomment/README index 1dbc8f67c31..fe151d8e92e 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/README +++ b/Master/texmf-dist/doc/latex/pdfcomment/README @@ -15,7 +15,16 @@ Adobe Reader. License: LPPL -Changes in v2.2a: +Changes in v2.3: -- revised documentation - project moved to https://bitbucket.org/kleberj/pdfcomment/
\ No newline at end of file +- reimplemented \pdfmarkupcomment by using soulpos.sty + much better support of non standard text cases, like: + \twocolumn: feature request by: René Schwarz, Thomas Feller, Til Birnstiel + setspace.sty: feature request by: Andrew Dawson + enumerate, itemize, ... + +- added support for twocolumn mode in \pdfsidelinecomment + +- added option local to \pdfcommentsetup + + feature request by: Florent Chervet
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/pdfcomment/example.pdf b/Master/texmf-dist/doc/latex/pdfcomment/example.pdf Binary files differindex 485a844284e..2ddce767f46 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/example.pdf +++ b/Master/texmf-dist/doc/latex/pdfcomment/example.pdf diff --git a/Master/texmf-dist/doc/latex/pdfcomment/example.tex b/Master/texmf-dist/doc/latex/pdfcomment/example.tex index ee36c60bb2b..e906eee19fd 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/example.tex +++ b/Master/texmf-dist/doc/latex/pdfcomment/example.tex @@ -11,7 +11,7 @@ \usepackage{tikz} \usetikzlibrary{calc} \usepackage{amssymb,amsmath,array,bm} -\usepackage[printSOfinal=false,subject={Top1},author={\AA{}nsgar Lund},version=1]{pdfcomment} +\usepackage[subject={Top1},author={\AA{}nsgar Lund},version=1]{pdfcomment} \begin{document} \defineavatar{Joe}{author=Joe,color=yellow} \defineavatar{Bob}{author=Bob,color=green} @@ -78,7 +78,7 @@ test the hspace!% \pdfcommentsetup{avatar=Dolittle}\pdfmargincomment{Yeah nice, but stolen from the pgf-Users mailing list!} \vspace{3cm} -\pdfmarkupcomment[author={Donald Duck},subject={underline},color=Khaki,opacity=1.0,markup=Underline]{For a long time \texttt{pdflatex} offers the command \texttt{\textbackslash pdfannot} for inserting arbitrary pdf annotations. However, in a form where additional knowledge of the pdf reference is indispensable. \texttt{pdfcomment.sty} is an answer to the -- from time to time -- emerging questions in newsgroups, how one could use the comment function of \texttt{Adobe Reader}. At least out of the \LaTeX{} code \texttt{pdfcomment.sty} offers a convenient and user-friendly possibility to use pdf annotations in pdf files}{It's better to use dark colors for annotations with lines, as you see! This is a Underline markup annotations}. \pdfmargincomment{Holy moly! Can anybody transfer that to real english!} +\pdfmarkupcomment[author={Donald Duck},subject={underline},color=Khaki,opacity=1.0,markup=Underline]{For a long time \texttt{pdflatex} offers the command \texttt{\textbackslash pdfannot} for inserting arbitrary pdf annotations. However, in a form where additional knowledge of the pdf reference is indispensable. \texttt{pdfcomment.sty} is an answer to the -- from time to time -- emerging questions in newsgroups, how one could use the comment function of \texttt{Adobe Reader}. At least out of the LaTeX code \texttt{pdfcomment.sty} offers a convenient and user-friendly possibility to use pdf annotations in pdf files.}{It's better to use dark colors for annotations with lines, as you see! This is a Underline markup annotations} \pdfmargincomment{Holy moly! Can anybody transfer that to real english!} \pdfmarkupcomment[author={Donald Duck},subject={squiggly},color=Teal,opacity=1.0,markup=Squiggly]{Unfortunately the support of pdf annotations by pdf viewers is only partly available to nonexistent. The reference viewer for the development of this package is \texttt{Adobe Reader}.}{This is a Squiggly markup annotation} @@ -88,7 +88,7 @@ test the hspace!% \pdflinecomment[type=polyline,avatar=CaptainJack,subject={polyline},opacity=1,line={150 120 260 120 300 150 400 80},color=green,icolor=blue,linebegin={/Slash},lineend={/Diamond},linewidth=3bp,bse=cloudy]{This is a Polyline comment!} \vspace{3.5cm} -\pdfmarkupcomment[author={Donald Duck},subject={highlight},color=yellow,opacity=1.0,markup=Highlight]{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, +\pdfmarkupcomment[id=300,author={Donald Duck},subject={highlight},color=yellow,opacity=1.0,markup=Highlight]{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis diff --git a/Master/texmf-dist/doc/latex/pdfcomment/example_latex_dvipdfmx.pdf b/Master/texmf-dist/doc/latex/pdfcomment/example_latex_dvipdfmx.pdf Binary files differindex 6edc2a48081..ba0b43ecbe5 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/example_latex_dvipdfmx.pdf +++ b/Master/texmf-dist/doc/latex/pdfcomment/example_latex_dvipdfmx.pdf diff --git a/Master/texmf-dist/doc/latex/pdfcomment/example_latex_dvips_ps2pdf.pdf b/Master/texmf-dist/doc/latex/pdfcomment/example_latex_dvips_ps2pdf.pdf Binary files differindex 7f5f95907f5..b9a8cefe3f7 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/example_latex_dvips_ps2pdf.pdf +++ b/Master/texmf-dist/doc/latex/pdfcomment/example_latex_dvips_ps2pdf.pdf diff --git a/Master/texmf-dist/doc/latex/pdfcomment/example_math_markup.pdf b/Master/texmf-dist/doc/latex/pdfcomment/example_math_markup.pdf Binary files differindex a85829683d4..9371b428037 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/example_math_markup.pdf +++ b/Master/texmf-dist/doc/latex/pdfcomment/example_math_markup.pdf diff --git a/Master/texmf-dist/doc/latex/pdfcomment/example_xelatex.pdf b/Master/texmf-dist/doc/latex/pdfcomment/example_xelatex.pdf Binary files differindex e631b22f652..7b3210e0e92 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/example_xelatex.pdf +++ b/Master/texmf-dist/doc/latex/pdfcomment/example_xelatex.pdf diff --git a/Master/texmf-dist/doc/latex/pdfcomment/example_xelatex.tex b/Master/texmf-dist/doc/latex/pdfcomment/example_xelatex.tex index 1fc4e3ac124..53ae9888bca 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/example_xelatex.tex +++ b/Master/texmf-dist/doc/latex/pdfcomment/example_xelatex.tex @@ -103,7 +103,7 @@ Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac tu egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. -Aeneanfaucibus.Morbidolornulla,malesuadaeu,pulvinarat,mollisac,nulla.Curabitur +Aeneanfaucibus.Morbidolornulla, malesuadaeu, pulvinarat, mollisac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.}{This is a Highlight markup annotations with page break} diff --git a/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment.pdf b/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment.pdf Binary files differindex 5430235a4aa..df677c4b8b3 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment.pdf +++ b/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment.pdf diff --git a/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment.tex b/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment.tex index 79a1e3b456f..973ad387485 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment.tex +++ b/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment.tex @@ -138,7 +138,7 @@ \title{\filename}% \Subtitle{A user-friendly interface to PDF annotations}% \author{Josef Kleber} -\Fileversion{v2.2a} +\Fileversion{v2.3} \Refline{\href{mailto:josef.kleber@gmx.de}{\texttt{josef.kleber@gmx.de}}\\\href{https://bitbucket.org/kleberj/pdfcomment/}{\texttt{https://bitbucket.org/kleberj/pdfcomment/}}} \maketitle \Headline{Abstract} @@ -156,7 +156,7 @@ If you can't see this annotation \pdfcomment[author={Josef Kleber},subject={Test \vfill \begin{center} \subsubsection*{Required packages for using \substyle{\filename}} -\fbox{\parbox[t]{.8\linewidth}{\small \package{hyperref} (v6.76a [2007/04/09]), \package{zref} (v1.8 [2007/04/22]), \package{xkeyval}, \package{ifpdf}, \package{ifthen}, \package{calc}, \package{marginnote}, \package{datetime} and the packages loaded by them.}} +\fbox{\parbox[t]{.8\linewidth}{\small \package{hyperref} (v6.76a [2007/04/09]), \package{zref} (v1.8 [2007/04/22]), \package{xkeyval}, \package{ifpdf}, \package{ifthen}, \package{calc}, \package{marginnote}, \package{datetime}, \package{refcount}, \package{soulpos} and the packages loaded by them.}} \end{center} \vfill \clearpage @@ -172,6 +172,8 @@ If you can't see this annotation \pdfcomment[author={Josef Kleber},subject={Test I want to thank the following persons for contributions to the development of this package: \begin{itemize} +\item \textbf{Javier Bezos} for the development of \package{soulpos}, which allows much better support of non standard text cases in \cs{pdfmarkupcomment}. + \item \textbf{Alexander Grahn} for contributing a patch for other drivers \medskip @@ -189,7 +191,7 @@ I want to thank the following persons for contributions to the development of th \item \textbf{Herbert Voß} also for answering my stupid questions on d.c.t.t. \end{itemize} -I also want to thank the following persons for bug reports, feature requests, ...: Jannis von Buttlar, Gabriel Cardona, Jin-Hwan Cho, Marcel Dausend, Max Funk, Zvi Gilboa, Thomas König, Marc-André Michel, Guillaume Millet, Fritz Moore, Michael Niedermair, Stefan Pinnow +I also want to thank the following persons for bug reports, feature requests, ...: Til Birnstiel, Jannis von Buttlar, Gabriel Cardona, Thomas Feller, Florent Chervet, Jin-Hwan Cho, Marcel Dausend, Andrew Dawson, Max Funk, Zvi Gilboa, Thomas König, Marc-André Michel, Guillaume Millet, Fritz Moore, Michael Niedermair, Stefan Pinnow, René Schwarz \clearpage \section{Options} \subsection{Global options} @@ -624,7 +626,7 @@ If you want to annotate parts of a graphic with tooltips, special methods are ne \subsubsection{\texorpdfstring{\cs{pdfcommentsetup}}{\textbackslash pdfcommentsetup}} \label{sec:commentsetup} -With the command \cmd\pdfcommentsetup \margcs{\cmd\pdfcommentsetup\marg{options}} you can reset the global options at any time. +With the command \cmd\pdfcommentsetup \margcs{\cmd\pdfcommentsetup\\\oarg{options}\marg{options}} you can reset the global options at any time. By using the optional option \styleoption{local} you can keep the reset local within a \LaTeX\ group. \subsubsection{\texorpdfstring{\cs{listofpdfcomments}}{\textbackslash listofpdfcomments}} \label{sec:listofpdfcomments} diff --git a/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment_de.pdf b/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment_de.pdf Binary files differindex 230e5d5083d..0e9d61c040f 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment_de.pdf +++ b/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment_de.pdf diff --git a/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment_de.tex b/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment_de.tex index 29d66408f62..76f2719845c 100644 --- a/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment_de.tex +++ b/Master/texmf-dist/doc/latex/pdfcomment/pdfcomment_de.tex @@ -152,7 +152,7 @@ \title{\filename}% \Subtitle{Ein benutzerfreundliches Interface zu PDF-Kommentaren}% \author{Josef Kleber} -\Fileversion{v2.2a} +\Fileversion{v2.3} \Refline{\href{mailto:josef.kleber@gmx.de}{\texttt{josef.kleber@gmx.de}}\\\href{https://bitbucket.org/kleberj/pdfcomment/}{\texttt{https://bitbucket.org/kleberj/pdfcomment/}}} \maketitle \Headline{Zusammenfassung}% @@ -170,7 +170,7 @@ Falls Sie diesen Kommentar \pdfcomment[author={Josef Kleber},subject={Test Komme \vfill \begin{center} \subsubsection*{Benötigte Pakete für die Nutzung von \substyle{\filename}} -\fbox{\parbox[t]{.8\linewidth}{\small \package{hyperref} (v6.76a [2007/04/09]), \package{zref} (v1.8 [2007/04/22]), \package{xkeyval}, \package{ifpdf}, \package{ifthen}, \package{calc}, \package{marginnote}, \package{datetime} und die von diesen Paketen aufgerufenen Dateien.}} +\fbox{\parbox[t]{.8\linewidth}{\small \package{hyperref} (v6.76a [2007/04/09]), \package{zref} (v1.8 [2007/04/22]), \package{xkeyval}, \package{ifpdf}, \package{ifthen}, \package{calc}, \package{marginnote}, \package{datetime}, \package{refcount}, \package{soulpos} und die von diesen Paketen aufgerufenen Dateien.}} \end{center} \vfill \clearpage @@ -186,6 +186,8 @@ Falls Sie diesen Kommentar \pdfcomment[author={Josef Kleber},subject={Test Komme Für Beiträge zur Entwicklung dieses Pakets möchte ich folgenden Personen danken: \begin{itemize} +\item \textbf{Javier Bezos} für die Entwicklung von \package{soulpos}, das eine bessere Unterstützung von Nicht-Standardtext-Fällen in \cs{pdfmarkupcomment} möglich macht. + \item \textbf{Alexander Grahn} für das Bereitstellen eines Patchs für andere Treiber \medskip @@ -203,7 +205,7 @@ Für Beiträge zur Entwicklung dieses Pakets möchte ich folgenden Personen danken: \item \textbf{Herbert Voß} ebenfalls für das Beantworten meiner dummen Fragen in d.c.t.t. \end{itemize} -Außerdem möchte ich folgenden Personen danken für bug reports, feature requests, ...: Jannis von Buttlar, Gabriel Cardona, Jin-Hwan Cho, Marcel Dausend, Max Funk, Zvi Gilboa, Thomas König, Marc-André Michel, Guillaume Millet, Fritz Moore, Michael Niedermair, Stefan Pinnow +Außerdem möchte ich folgenden Personen danken für bug reports, feature requests, ...: Til Birnstiel, Jannis von Buttlar, Gabriel Cardona, Thomas Feller, Florent Chervet, Jin-Hwan Cho, Marcel Dausend, Andrew Dawson, Max Funk, Zvi Gilboa, Thomas König, Marc-André Michel, Guillaume Millet, Fritz Moore, Michael Niedermair, Stefan Pinnow, René Schwarz \clearpage \section{Optionen} \subsection{Globale Styleoptionen} @@ -635,7 +637,7 @@ Möchten Sie Teile einer Grafik mit Tooltips versehen bedarf es spezieller Method \subsubsection{\texorpdfstring{\cs{pdfcommentsetup}}{\textbackslash pdfcommentsetup}} \label{sec:commentsetup} -Mit dem Befehl \cmd\pdfcommentsetup \margcs{\cmd\pdfcommentsetup\marg{Optionen}} kann man jederzeit die globalen Styleoptionen neu setzen. +Mit dem Befehl \cmd\pdfcommentsetup \margcs{\cmd\pdfcommentsetup\\\oarg{Optionen}\marg{Optionen}} kann man jederzeit die globalen Styleoptionen neu setzen. Die optionale Option \styleoption{local} hält den Reset lokal (innerhalb einer \LaTeX\ Gruppe). \subsubsection{\texorpdfstring{\cs{listofpdfcomments}}{\textbackslash listofpdfcomments}} \label{sec:listofpdfcomments} diff --git a/Master/texmf-dist/tex/latex/pdfcomment/pdfcomment.sty b/Master/texmf-dist/tex/latex/pdfcomment/pdfcomment.sty index cf3ee93d4df..e74f9bac466 100644 --- a/Master/texmf-dist/tex/latex/pdfcomment/pdfcomment.sty +++ b/Master/texmf-dist/tex/latex/pdfcomment/pdfcomment.sty @@ -20,7 +20,7 @@ %% This work consists of all files listed in manifest.txt. %% % -\ProvidesPackage{pdfcomment}[2012/01/25 pdfcomment.sty v2.2a - Josef Kleber (C) 2008-2012]% +\ProvidesPackage{pdfcomment}[2012/03/13 pdfcomment.sty v2.3 - Josef Kleber (C) 2008-2012]% % \RequirePackage{xkeyval}% % @@ -162,25 +162,26 @@ \newif\ifpc@annot@secondpage\pc@annot@secondpagefalse% \newif\ifpc@afterpage\pc@afterpagefalse% \newif\ifpc@ignorespaces\pc@ignorespacesfalse% +\newif\ifpc@local\pc@localfalse% +\newif\ifpc@firstcolumn\pc@firstcolumntrue% +\newif\ifpc@Sfirstcolumn\pc@Sfirstcolumntrue% +\newif\ifpc@Efirstcolumn\pc@Efirstcolumntrue% % -\newcounter{pc@annot@lines}% +\newcounter{pc@count@i}% +\newcounter{pc@count@ii}% +\newcounter{pc@count@iii}% +\newcounter{pc@count@iv}% % \newbox\pc@mathannot@box% % \newlength{\pc@dima}% \newlength{\pc@dimb}% -\newlength{\pc@dimc}% -\newlength{\pc@dimd}% -\newlength{\pc@dime}% -\newlength{\pc@dimf}% -\newlength{\pc@dimg}% -\newlength{\pc@dimh}% -\newlength{\pc@dimi}% % \newlength{\pc@Sposx}% \newlength{\pc@Sposy}% \newlength{\pc@Eposx}% \newlength{\pc@Eposy}% +\newlength{\pc@column}% \newlength{\pc@box@width}% \newlength{\pc@box@height}% \newlength{\pc@box@depth}% @@ -193,22 +194,6 @@ \newcommand{\pc@y@two}{}% \newcommand{\pc@y@three}{}% \newcommand{\pc@y@four}{}% -\newcommand{\pc@anna@x@one}{}% -\newcommand{\pc@anna@x@two}{}% -\newcommand{\pc@anna@x@three}{}% -\newcommand{\pc@anna@x@four}{}% -\newcommand{\pc@anna@y@one}{}% -\newcommand{\pc@anna@y@two}{}% -\newcommand{\pc@anna@y@three}{}% -\newcommand{\pc@anna@y@four}{}% -\newcommand{\pc@annb@x@one}{}% -\newcommand{\pc@annb@x@two}{}% -\newcommand{\pc@annb@x@three}{}% -\newcommand{\pc@annb@x@four}{}% -\newcommand{\pc@annb@y@one}{}% -\newcommand{\pc@annb@y@two}{}% -\newcommand{\pc@annb@y@three}{}% -\newcommand{\pc@annb@y@four}{}% % \newcommand{\pc@x@left@text}{}% \newcommand{\pc@x@right@text}{}% @@ -1287,20 +1272,20 @@ % \define@key{pdfcomment.sty}{final}[]% {% - \pc@gopt@finaltrue% + \global\pc@gopt@finaltrue% }% % \define@key{pdfcomment.sty}{draft}[]% {% - \pc@gopt@finalfalse% + \global\pc@gopt@finalfalse% }% % \define@choicekey{pdfcomment.sty}{version}[\pc@version\nr]{1,2}[2]% {% \ifcase\nr\relax% - \pc@opt@unskipfalse% + \global\pc@opt@unskipfalse% \or% - \pc@opt@unskiptrue% + \global\pc@opt@unskiptrue% \fi% }% % @@ -1319,6 +1304,15 @@ \gdef\pc@lopt@replyto{#1}% }% % +\define@choicekey*{pdfcommentsetup}{local}[\pc@local\nr]{true,false}[true]% +{% + \ifcase\nr\relax% + \global\pc@localtrue% + \or% + \global\pc@localfalse% + \fi% +}% +% \define@key{listofpdfcomments}{liststyle}[AuthorSubject]% {% \gdef\pc@lopt@liststyle{#1}% @@ -1335,11 +1329,13 @@ % \RequirePackage{zref-savepos}[2007/04/22]% \zref@require@unique% +\RequirePackage{refcount}% \RequirePackage{ifthen}% \RequirePackage{calc}% \RequirePackage{marginnote}% \RequirePackage{ifpdf}% \RequirePackage{datetime}% +\RequirePackage{soulpos}% % %hyperref setup \ifpdf% @@ -1398,7 +1394,8 @@ }% \newcommand{\pdfcomment}[2][]% {% - \ifpc@opt@unskip\unskip\fi% + \ifhmode\ifpc@opt@unskip\unskip\fi\fi% + \ifvmode\leavevmode\fi% % Copy all global options to local options \pc@copy@gopt@lopt% % Change local options if specified @@ -1498,7 +1495,8 @@ % \newcommand{\pdfmargincomment}[2][]% {% - \ifpc@opt@unskip\unskip\fi% + \ifhmode\ifpc@opt@unskip\unskip\fi\fi% + \ifvmode\leavevmode\fi% % Copy all global options to local options \pc@copy@gopt@lopt% % Change local options if specified @@ -1545,7 +1543,7 @@ {% /Subtype /Text% \pc@annot@text% - } + }% \ifthenelse{\equal{\pc@lopt@id}{}}% {}% {% @@ -1606,7 +1604,8 @@ % \newcommand{\pdffreetextcomment}[2][]% {% - \ifpc@opt@unskip\unskip\fi% + \ifhmode\ifpc@opt@unskip\unskip\fi\fi% + \ifvmode\leavevmode\fi% % Copy all global options to local options \pc@copy@gopt@lopt% % Change local options if specified @@ -1720,7 +1719,8 @@ % \newcommand{\pdfsquarecomment}[2][]% {% - \ifpc@opt@unskip\unskip\fi% + \ifhmode\ifpc@opt@unskip\unskip\fi\fi% + \ifvmode\leavevmode\fi% % Copy all global options to local options \pc@copy@gopt@lopt% % Change local options if specified @@ -1835,7 +1835,8 @@ % \newcommand{\pdfcirclecomment}[2][]% {% - \ifpc@opt@unskip\unskip\fi% + \ifhmode\ifpc@opt@unskip\unskip\fi\fi% + \ifvmode\leavevmode\fi% % Copy all global options to local options \pc@copy@gopt@lopt% % Change local options if specified @@ -1951,7 +1952,8 @@ % \newcommand{\pdflinecomment}[2][]% {% - \ifpc@opt@unskip\unskip\fi% + \ifhmode\ifpc@opt@unskip\unskip\fi\fi% + \ifvmode\leavevmode\fi% % Copy all global options to local options \pc@copy@gopt@lopt% % Change local options if specified @@ -2089,14 +2091,14 @@ {% \gdef\pc@lopt@cdate{/CreationDate (\pc@lopt@date)\space/M (\pc@lopt@date)}% }% - \zsavepos{pdfcomment:\thezref@unique}% - \zref@refused{pdfcomment:\thezref@unique}% - \setlength{\pc@Sposx}{\zposx{pdfcomment:\thezref@unique}sp}% - \setlength{\pc@Sposy}{\zposy{pdfcomment:\thezref@unique}sp}% - \refstepcounter{zref@unique}% - \setlength{\pc@Eposx}{\zposx{pdfcomment:\thezref@unique}sp}% - \setlength{\pc@Eposy}{\zposy{pdfcomment:\thezref@unique}sp}% \ifmmode% + \zsavepos{pdfcomment:\thezref@unique}% + \zref@refused{pdfcomment:\thezref@unique}% + \setlength{\pc@Sposx}{\zposx{pdfcomment:\thezref@unique}sp}% + \setlength{\pc@Sposy}{\zposy{pdfcomment:\thezref@unique}sp}% + \stepcounter{zref@unique}% + \setlength{\pc@Eposx}{\zposx{pdfcomment:\thezref@unique}sp}% + \setlength{\pc@Eposy}{\zposy{pdfcomment:\thezref@unique}sp}% \ifpc@gopt@final\else% \ifpc@lopt@disable\else% %changed \pc@encode@PDF, \pdfstringdef does not work in math mode @@ -2158,6 +2160,9 @@ #2\global\pc@ignorespacesfalse% \fi% \fi% + \zsavepos{pdfcomment:\thezref@unique}% + \zref@refused{pdfcomment:\thezref@unique}% + \stepcounter{zref@unique}% \else% \pc@encode@PDF{#3}% \settoheight{\pc@box@height}{#2}% @@ -2168,45 +2173,27 @@ {% \settodepth{\pc@box@depth}{#2}% }% - \ifdim\pc@Sposy<\pc@Eposy% - \pc@annot@samepagefalse% - \else% - \pc@annot@samepagetrue% - \fi% - \ifpc@annot@samepage\else% - \ifpc@gopt@final\else% - \ifpc@lopt@disable\else% - % 1st part of annotation on 1st page - \pc@annot@calc@pos% - \pc@copy@xy@to@anna% - \renewcommand{\pc@anna@x@two}{\pc@x@right@text}% - \renewcommand{\pc@anna@x@four}{\pc@x@right@text}% - %calculate baseline of last line (not necessarily bottom text block!) - \setlength\pc@dimc{\dimexpr \dimexpr \pc@anna@y@three bp \relax\relax}% - \setlength\pc@dimd{\dimexpr \paperheight - \dimexpr 1in\relax - \voffset - \topmargin - \headheight - \headsep - \textheight\relax}% - \whiledo{\lengthtest{\pc@dimc>\pc@dimd}}% - {% - \addtolength\pc@dimc{-\the\baselineskip}% - }% - % one too much - \addtolength\pc@dimc{\the\baselineskip}% - \renewcommand{\pc@anna@y@four}{\pc@pttobp{\pc@dimc}}% - \renewcommand{\pc@anna@y@two}{\pc@pttobp{\pc@dimc + \pc@box@depth + \pc@box@height +2pt}}% - \pc@annot@secondpagefalse% - \pc@create@annot% - \fi% - \fi% - \fi% - \ifpc@gopt@final\else% - \ifpc@lopt@disable\else% - \pc@create@lpc% - \fi% - \fi% + \def\SOUL@preamble% + {% + \def\ulp@skern{0pt}% + \def\ulp@ekern{0pt}% + \def\ulp@sgap{0pt}% + \def\ulp@egap{0pt}% + \def\ulp@pos{\z@}% + \def\ulp@draw{\pc@soul@markup}% + \ulp@preamble% + }% + \let\SOUL@postamble\ulp@postamble% + \let\SOUL@everyspace\ulp@everyspace% + \let\SOUL@everyhyphen\ulp@everyhyphen% + \let\SOUL@everyexhyphen\ulp@everyexhyphen% + \let\SOUL@everysyllable\@empty% + \def\SOUL@everytoken{\the\SOUL@token}% \ifpc@gopt@final% \ifthenelse{\equal{\pc@lopt@markup}{StrikeOut}}% {% \ifthenelse{\equal{\pc@lopt@printSOfinal}{true}}% - {#2\global\pc@ignorespacesfalse}% + {\SOUL@{#2}\global\pc@ignorespacesfalse}% {\global\pc@ignorespacestrue}% }% {% @@ -2224,45 +2211,13 @@ #2\global\pc@ignorespacesfalse% }% \else% - #2\global\pc@ignorespacesfalse% + \SOUL@{#2}\global\pc@ignorespacesfalse% \fi% \fi% - \zsavepos{pdfcomment:\thezref@unique}% - \zref@refused{pdfcomment:\thezref@unique}% - \refstepcounter{zref@unique}% - \ifpc@gopt@final\else% - \ifpc@lopt@disable\else% - \ifpc@annot@samepage% - % annot complete on one page - \pc@annot@calc@pos% - \pc@copy@xy@to@anna% - \pc@annot@secondpagefalse% - \pc@create@annot% - \else% - % 2nd part of annotation on 2nd page - \ifthenelse{\equal{\pc@lopt@id}{}}% - {}% - {% - \xdef\pc@collect@PDFOBJID{\pc@collect@PDFOBJID,A}% - }% - \pc@annot@calc@pos% - \pc@copy@xy@to@anna% - \renewcommand{\pc@anna@x@one}{\pc@x@left@text}% - \renewcommand{\pc@anna@x@three}{\pc@x@left@text}% - \setlength\pc@dimc{\dimexpr \dimexpr \pc@anna@y@four bp \relax\relax}% - \setlength\pc@dimd{\dimexpr \paperheight - \dimexpr 1in\relax - \voffset - \topmargin - \headheight - \headsep\relax}% - \whiledo{\lengthtest{\pc@dimc<\pc@dimd}}% - {% - \addtolength\pc@dimc{\the\baselineskip}% - }% - % two too much - \addtolength\pc@dimc{-\the\baselineskip}\addtolength\pc@dimc{-\the\baselineskip}% - \renewcommand{\pc@anna@y@three}{\pc@pttobp{\pc@dimc}}% - \renewcommand{\pc@anna@y@one}{\pc@pttobp{\pc@dimc + \pc@box@depth + \pc@box@height +2pt}}% - \pc@annot@secondpagetrue% - \pc@create@annot% - \fi% - \fi% + \fi% + \ifpc@gopt@final\else% + \ifpc@lopt@disable\else% + \pc@create@lpc% \fi% \fi% %only local! @@ -2278,7 +2233,8 @@ % \newenvironment{pdfsidelinecomment}[2][]% {% - \ifpc@opt@unskip\unskip\fi% + \ifhmode\ifpc@opt@unskip\unskip\fi\fi% + \ifvmode\leavevmode\fi% % Copy all global options to local options \pc@copy@gopt@lopt% % Change local options if specified @@ -2329,59 +2285,155 @@ \gdef\pc@lopt@cp{}% \gdef\pc@lopt@co{}% }% - \zsavepos{pdfcomment:\thezref@unique}% - \zref@refused{pdfcomment:\thezref@unique}% - \setlength{\pc@Sposy}{\zposy{pdfcomment:\thezref@unique}sp}% - \refstepcounter{zref@unique}% - \setlength{\pc@Eposy}{\zposy{pdfcomment:\thezref@unique}sp}% + \zsavepos{pdfcomment:slc:\thepc@count@iv}% + \zref@refused{pdfcomment:slc:\thepc@count@iv}% + \setlength{\pc@Sposx}{\zposx{pdfcomment:slc:\thepc@count@iv}sp}% + \setlength{\pc@Sposy}{\zposy{pdfcomment:slc:\thepc@count@iv}sp}% + \stepcounter{pc@count@iv}% + \setlength{\pc@Eposx}{\zposx{pdfcomment:slc:\thepc@count@iv}sp}% + \setlength{\pc@Eposy}{\zposy{pdfcomment:slc:\thepc@count@iv}sp}% \settoheight{\pc@box@height}{Tq}% \settoheight{\pc@box@depth}{Tq}% - \ifdim\pc@Sposy<\pc@Eposy\relax% - \pc@annot@samepagefalse% + \stepcounter{pc@count@i}% + \label{pdfcomment:pageS:\thepc@count@i}% + \refused{pdfcomment:pageS:\thepc@count@i}% + \gdef\pc@pS{\getpagerefnumber{pdfcomment:pageS:\thepc@count@i}}% + \gdef\pc@pE{\getpagerefnumber{pdfcomment:pageE:\thepc@count@i}}% + \ifthenelse{\equal{\pc@pS}{\pc@pE}}% + {\global\pc@annot@samepagetrue}% + {\global\pc@annot@samepagefalse}% + \global\pc@firstcolumntrue% + \pc@calc@textblockpos% + \setlength{\pc@column}{\pc@x@right@text bp}% + \addtolength{\pc@column}{3pt}% + \ifnum\pc@Sposx<\pc@column% + \global\pc@Sfirstcolumntrue% + \else% + \global\pc@Sfirstcolumnfalse% + \fi% + \ifnum\pc@Eposx<\pc@column% + \global\pc@Efirstcolumntrue% \else% - \pc@annot@samepagetrue% + \global\pc@Efirstcolumnfalse% \fi% \ifpc@annot@samepage\else% \ifpc@gopt@final\else% \ifpc@lopt@disable\else% - \pc@annot@secondpagefalse% - \pc@calc@sidelinepos% - \renewcommand{\pc@y@two}{\pc@y@bottom@text} - \gdef\pc@lopt@line{\pc@x@two\space\pc@y@one\space\pc@x@two\space\pc@y@two}% - \gdef\pc@lopt@le{/LE [\pc@lopt@linebegin\space/None]}% - \marginnote{\pc@create@lpc\pc@create@annot@sideline}% - \gdef\pc@lopt@line{\pc@x@one\space\pc@y@two\space\pc@x@one\space\pc@y@one}% - \gdef\pc@lopt@le{/LE [/None\space\pc@lopt@linebegin]}% - \marginnote{\pc@create@annot@sideline}% + % 1st part of annotation on 1st page + \if@twocolumn% + \ifpc@Sfirstcolumn% + \PackageError{pdfcomment}{% + \string\pdfsidelinecomment\space supports only one\MessageBreak% + column or page break in twocolumn mode!!\MessageBreak% + Your comment is too long!}% + \else% + % start in second column + \global\pc@annot@secondpagefalse% + \pc@calc@sidelinepos% + \renewcommand{\pc@y@two}{\pc@y@bottom@text}% + \gdef\pc@lopt@line{\pc@x@two\space\pc@y@one\space\pc@x@two\space\pc@y@two}% + \gdef\pc@lopt@le{/LE [\pc@lopt@linebegin\space/None]}% + \marginnote{\pc@create@lpc\pc@create@annot@sideline}% + \fi% + \else% + \global\pc@annot@secondpagefalse% + \pc@calc@sidelinepos% + \renewcommand{\pc@y@two}{\pc@y@bottom@text}% + \gdef\pc@lopt@line{\pc@x@two\space\pc@y@one\space\pc@x@two\space\pc@y@two}% + \gdef\pc@lopt@le{/LE [\pc@lopt@linebegin\space/None]}% + \marginnote{\pc@create@lpc\pc@create@annot@sideline}% + \gdef\pc@lopt@line{\pc@x@one\space\pc@y@two\space\pc@x@one\space\pc@y@one}% + \gdef\pc@lopt@le{/LE [/None\space\pc@lopt@linebegin]}% + \marginnote{\pc@create@annot@sideline}% + \fi% \fi% \fi% \fi% }% {% - \zsavepos{pdfcomment:\thezref@unique}% - \zref@refused{pdfcomment:\thezref@unique}% - \refstepcounter{zref@unique}% + \zsavepos{pdfcomment:slc:\thepc@count@iv}% + \zref@refused{pdfcomment:slc:\thepc@count@iv}% + \label{pdfcomment:pageE:\thepc@count@i}% + \refused{pdfcomment:pageE:\thepc@count@i}% + \stepcounter{pc@count@iv}% \ifpc@gopt@final\else% \ifpc@lopt@disable\else% \ifpc@annot@samepage% % annot complete on one page - \pc@calc@sidelinepos% - \gdef\pc@lopt@line{\pc@x@two\space\pc@y@one\space\pc@x@two\space\pc@y@two}% - \gdef\pc@lopt@le{/LE [\pc@lopt@linebegin\space\pc@lopt@lineend]}% - \marginnote{\pc@create@lpc\pc@create@annot@sideline}% - \gdef\pc@lopt@line{\pc@x@one\space\pc@y@two\space\pc@x@one\space\pc@y@one}% - \gdef\pc@lopt@le{/LE [\pc@lopt@lineend\space\pc@lopt@linebegin]}% - \marginnote{\pc@create@annot@sideline}% + \if@twocolumn% + \ifpc@Sfirstcolumn% + \ifpc@Efirstcolumn% + % complete in first column + \global\pc@firstcolumntrue% + \pc@calc@sidelinepos% + \gdef\pc@lopt@line{\pc@x@one\space\pc@y@two\space\pc@x@one\space\pc@y@one}% + \gdef\pc@lopt@le{/LE [\pc@lopt@lineend\space\pc@lopt@linebegin]}% + \marginnote{\pc@create@lpc\pc@create@annot@sideline}% + \else% + % column break + \global\pc@firstcolumntrue% + \pc@calc@sidelinepos% + \renewcommand{\pc@y@two}{\pc@y@bottom@text}% + \gdef\pc@lopt@line{\pc@x@one\space\pc@y@two\space\pc@x@one\space\pc@y@one}% + \gdef\pc@lopt@le{/LE [/None\space\pc@lopt@linebegin]}% + \marginnote{\pc@create@lpc\pc@create@annot@sideline}% + \global\pc@firstcolumnfalse% + \pc@calc@sidelinepos% + \renewcommand{\pc@y@one}{\pc@y@top@text}% + \gdef\pc@lopt@line{\pc@x@two\space\pc@y@one\space\pc@x@two\space\pc@y@two}% + \gdef\pc@lopt@le{/LE [/None\space\pc@lopt@lineend]}% + \marginnote{\pc@create@annot@sideline}% + \fi% + \else% + \ifpc@Efirstcolumn% + % not possible + \else% + % complete in seconds column + \global\pc@firstcolumnfalse% + \pc@calc@sidelinepos% + \gdef\pc@lopt@line{\pc@x@two\space\pc@y@one\space\pc@x@two\space\pc@y@two}% + \gdef\pc@lopt@le{/LE [\pc@lopt@linebegin\space\pc@lopt@lineend]}% + \marginnote{\pc@create@lpc\pc@create@annot@sideline}% + \fi% + \fi% + \else% + \pc@calc@sidelinepos% + \gdef\pc@lopt@line{\pc@x@two\space\pc@y@one\space\pc@x@two\space\pc@y@two}% + \gdef\pc@lopt@le{/LE [\pc@lopt@linebegin\space\pc@lopt@lineend]}% + \marginnote{\pc@create@lpc\pc@create@annot@sideline}% + \gdef\pc@lopt@line{\pc@x@one\space\pc@y@two\space\pc@x@one\space\pc@y@one}% + \gdef\pc@lopt@le{/LE [\pc@lopt@lineend\space\pc@lopt@linebegin]}% + \marginnote{\pc@create@annot@sideline}% + \fi% \else% - \pc@annot@secondpagetrue% - \pc@calc@sidelinepos% - \renewcommand{\pc@y@one}{\pc@y@top@text} - \gdef\pc@lopt@line{\pc@x@two\space\pc@y@one\space\pc@x@two\space\pc@y@two}% - \gdef\pc@lopt@le{/LE [/None\space\pc@lopt@lineend]}% - \marginnote{\pc@create@annot@sideline}% - \gdef\pc@lopt@line{\pc@x@one\space\pc@y@two\space\pc@x@one\space\pc@y@one}% - \gdef\pc@lopt@le{/LE [\pc@lopt@lineend\space/None]}% - \marginnote{\pc@create@annot@sideline}% + % 2nd part of annotation on 2nd page + \if@twocolumn% + \ifpc@Efirstcolumn% + % end in first column + \global\pc@firstcolumntrue% + \global\pc@annot@secondpagetrue% + \pc@calc@sidelinepos% + \renewcommand{\pc@y@one}{\pc@y@top@text}% + \gdef\pc@lopt@line{\pc@x@one\space\pc@y@two\space\pc@x@one\space\pc@y@one}% + \gdef\pc@lopt@le{/LE [\pc@lopt@lineend\space/None]}% + \marginnote{\pc@create@annot@sideline}% + \else% + \PackageError{pdfcomment}{% + \string\pdfsidelinecomment\space supports only one\MessageBreak% + column or page break in twocolumn mode!\MessageBreak% + Your comment is too long!}% + \fi% + \else% + \global\pc@annot@secondpagetrue% + \pc@calc@sidelinepos% + \renewcommand{\pc@y@one}{\pc@y@top@text}% + \gdef\pc@lopt@line{\pc@x@two\space\pc@y@one\space\pc@x@two\space\pc@y@two}% + \gdef\pc@lopt@le{/LE [/None\space\pc@lopt@lineend]}% + \marginnote{\pc@create@annot@sideline}% + \gdef\pc@lopt@line{\pc@x@one\space\pc@y@two\space\pc@x@one\space\pc@y@one}% + \gdef\pc@lopt@le{/LE [\pc@lopt@lineend\space/None]}% + \marginnote{\pc@create@annot@sideline}% + \fi% \fi% \fi% \fi% @@ -2392,7 +2444,8 @@ % \newcommand{\pdfreply}[2][]% {% - \ifpc@opt@unskip\unskip\fi% + \ifhmode\ifpc@opt@unskip\unskip\fi\fi% + \ifvmode\leavevmode\fi% % Copy all global options to local options \pc@copy@gopt@lopt% % Change local options if specified @@ -2420,13 +2473,13 @@ %\pc@create@lpc% % typeset text annotation (see: PDF Reference) \xdef\pc@zref@PDFOBJID{\pc@get@PDFOBJID{\pc@lopt@replyto}}% - \pc@afterpagefalse% + \global\pc@afterpagefalse% \ifpdf% \@for\pc@for@PDFOBJID:={\pc@zref@PDFOBJID}\do% {% \ifthenelse{\equal{\pc@for@PDFOBJID}{A}}% {% - \pc@afterpagetrue% + \global\pc@afterpagetrue% \xdef\pc@collect@PDFOBJID{\pc@collect@PDFOBJID,A}% }% {% @@ -2490,7 +2543,7 @@ \setkeys{pdftooltip}{#1}% \ifmmode% \marginnote{\pc@encode@PDF@math{#3}}% - \ifpc@lopt@disable + \ifpc@lopt@disable% #2% \else% \settowidth{\pc@box@width}{$\pc@lopt@mathstyle#2$}% @@ -2558,16 +2611,25 @@ \fi% \fi% \fi% - \refstepcounter{zref@unique}% + \stepcounter{zref@unique}% %only local! \gdef\pc@lopt@mathstyle{}% }% % % reset global options -\newcommand{\pdfcommentsetup}[1]% +\newcommand{\pdfcommentsetup}[2][]% {% + \setkeys{pdfcommentsetup}{#1}% + \ifpc@local% + \edef\pc@local@gd{\the\globaldefs}% + \globaldefs=-1% + \fi% % Change global options if specified - \setkeys{pdfcomment.sty}{#1}% + \setkeys{pdfcomment.sty}{#2}% + \ifpc@local% + \globaldefs=\pc@local@gd% + \fi% + \global\pc@localfalse% }% % % define predefined set of options (Avatar) @@ -2657,7 +2719,7 @@ {% \zref@labelbylist{#1}{pdfcomment}% }% -\newcommand*{\pc@get@PDFOBJID}[1] +\newcommand*{\pc@get@PDFOBJID}[1]% {% \zref@extract{#1}{PCPDFOBJID}% }% @@ -2706,7 +2768,7 @@ \gdef\pc@lopt@timezone{\pc@gopt@timezone}% \gdef\pc@lopt@id{}% \gdef\pc@collect@PDFOBJID{S}% - \pc@lopt@disablefalse% + \global\pc@lopt@disablefalse% \gdef\pc@lopt@printSOfinal{\pc@gopt@printSOfinal}% \ifpc@gopt@disable% \global\pc@lopt@disabletrue% @@ -2882,7 +2944,7 @@ {% pdfmark=/ANN,% Subtype=/\pc@lopt@markup,% - Raw={ + Raw={% /C [\pc@hyenc@color]\space% \pc@lopt@cdate\space% /CA \pc@lopt@opacity\space% @@ -2900,6 +2962,7 @@ {% /TU (\pc@pdfenc@contents)\space% /T (tooltip \thezref@unique)\space% + /C [0 0 0]\space% /FT/Btn\space% /Ff/65536\space% /H/N\space% @@ -2940,30 +3003,6 @@ \pc@pdfdate@edef% }% % -\newcommand{\pc@copy@xy@to@anna}% -{% - \renewcommand{\pc@anna@x@one}{\pc@x@one}% - \renewcommand{\pc@anna@x@two}{\pc@x@two}% - \renewcommand{\pc@anna@x@three}{\pc@x@three}% - \renewcommand{\pc@anna@x@four}{\pc@x@four}% - \renewcommand{\pc@anna@y@one}{\pc@y@one}% - \renewcommand{\pc@anna@y@two}{\pc@y@two}% - \renewcommand{\pc@anna@y@three}{\pc@y@three}% - \renewcommand{\pc@anna@y@four}{\pc@y@four}% -}% -% -\newcommand{\pc@copy@anna@to@annb}% -{% - \renewcommand{\pc@annb@x@one}{\pc@anna@x@one}% - \renewcommand{\pc@annb@x@two}{\pc@anna@x@two}% - \renewcommand{\pc@annb@x@three}{\pc@anna@x@three}% - \renewcommand{\pc@annb@x@four}{\pc@anna@x@four}% - \renewcommand{\pc@annb@y@one}{\pc@anna@y@one}% - \renewcommand{\pc@annb@y@two}{\pc@anna@y@two}% - \renewcommand{\pc@annb@y@three}{\pc@anna@y@three}% - \renewcommand{\pc@annb@y@four}{\pc@anna@y@four}% -}% -% \newcommand{\pc@annot@calc@pos}% {% \renewcommand{\pc@x@one}{\pc@pttobp{\pc@Sposx}}% @@ -3070,194 +3109,95 @@ \fi% }% % -\newcommand{\pc@create@annot}% +\newcommand{\pc@annot@complete}% {% - \ifdim\pc@dima=\pc@dimb% - {% one line - \pc@copy@anna@to@annb% - \xdef\pc@annot@quadpoints{\pc@annb@x@one\space\pc@annb@y@one\space\pc@annb@x@two\space\pc@annb@y@two\space\pc@annb@x@three\space\pc@annb@y@three\space\pc@annb@x@four\space\pc@annb@y@four}% - \ifpdf% - \pc@annot@markup@pdf% - \ifthenelse{\equal{\pc@lopt@id}{}}% - {}% - {\xdef\pc@collect@PDFOBJID{\pc@collect@PDFOBJID,\the\pdflastannot}}% + \renewcommand{\pc@x@one}{\pc@pttobp{\pc@Sposx}}% + \renewcommand{\pc@x@two}{\pc@pttobp{\pc@Eposx}}% + \renewcommand{\pc@x@three}{\pc@pttobp{\pc@Sposx}}% + \renewcommand{\pc@x@four}{\pc@pttobp{\pc@Eposx}}% + \renewcommand{\pc@y@one}{\pc@pttobp{\dimexpr \pc@Sposy + \pc@box@height + 1pt\relax}}% + \renewcommand{\pc@y@two}{\pc@pttobp{\dimexpr \pc@Eposy + \pc@box@height + 1pt\relax}}% + \renewcommand{\pc@y@three}{\pc@pttobp{\dimexpr \pc@Sposy - \pc@box@depth - 1pt\relax}}% + \renewcommand{\pc@y@four}{\pc@pttobp{\dimexpr \pc@Eposy - \pc@box@depth - 1pt\relax}}% + \xdef\pc@annot@quadpoints{\pc@x@one\space\pc@y@one\space\pc@x@two\space\pc@y@two\space\pc@x@three\space\pc@y@three\space\pc@x@four\space\pc@y@four}% + \ifpdf% + \pc@annot@markup@pdf% + \ifthenelse{\equal{\pc@lopt@id}{}}% + {}% + {\xdef\pc@collect@PDFOBJID{\pc@collect@PDFOBJID,\the\pdflastannot}}% + \else% + \ifpc@gopt@dvipdfmx% + \pc@annot@markup@dvipdfmx% \else% - \ifpc@gopt@dvipdfmx% - \pc@annot@markup@dvipdfmx% - \else% - \pc@annot@markup@dvips% - \fi% + \pc@annot@markup@dvips% \fi% + \fi% +}% +% +\newcommand*{\pc@soul@markup}% +{% + \stepcounter{pc@count@iii}% + \zsavepos{pdfcomment_soul_markup:\thepc@count@iii}% + \zref@refused{pdfcomment_soul_markup:\thepc@count@iii}% + \setlength{\pc@Sposx}{\zposx{pdfcomment_soul_markup:\thepc@count@iii}sp}% + \setlength{\pc@Sposy}{\zposy{pdfcomment_soul_markup:\thepc@count@iii}sp}% + \ifthenelse{\equal{\pc@lopt@markup}{StrikeOut}}% + {% + \addtolength{\pc@Sposy}{1pt}% }% - \else% - {% more lines - %first line - \pc@calc@textblockpos% - \pc@copy@anna@to@annb% - \setlength{\pc@dimf}{\dimexpr \pc@annb@y@one bp\relax}% - \setlength{\pc@dimg}{\dimexpr \pc@y@top@text bp\relax}% - \setlength{\pc@dimh}{\pc@dimg-\pc@dimf}% - \setlength{\pc@dimi}{\pc@dimb-\pc@dimg+\the\baselineskip+\the\baselineskip}% - % set new right border only if more than 1 line on second page - \ifdim\pc@dimi<0pt% - \ifdim\pc@dimh<\the\baselineskip% - \renewcommand{\pc@annb@x@two}{\pc@x@right@text}% - \renewcommand{\pc@annb@x@four}{\pc@x@right@text}% - \fi% - \fi% - \ifpc@annot@samepage% - \renewcommand{\pc@annb@x@two}{\pc@x@right@text}% - \renewcommand{\pc@annb@x@four}{\pc@x@right@text}% - \fi% - \renewcommand{\pc@annb@y@two}{\pc@anna@y@one}% - \renewcommand{\pc@annb@y@four}{\pc@anna@y@three}% - \ifthenelse{\equal{\pc@lopt@markup}{StrikeOut}}% - {% - \edef\pc@annb@y@four{\pc@pttobp{\dimexpr \pc@annb@y@four bp + 1.5pt\relax}}% - \edef\pc@annb@y@three{\pc@pttobp{\dimexpr \pc@annb@y@three bp + 1.5pt \relax}}% - }% - {}% - \xdef\pc@annot@quadpoints{\pc@annb@x@one\space\pc@annb@y@one\space\pc@annb@x@two\space\pc@annb@y@two\space\pc@annb@x@three\space\pc@annb@y@three\space\pc@annb@x@four\space\pc@annb@y@four}% - \ifpdf% - \pc@annot@markup@pdf% - \ifpc@annot@samepage% - \ifthenelse{\equal{\pc@lopt@id}{}}% - {}% - {\xdef\pc@collect@PDFOBJID{\pc@collect@PDFOBJID,\the\pdflastannot}}% - \else% - \ifpc@annot@secondpage% - \ifthenelse{\equal{\pc@lopt@id}{}}% - {}% - {\xdef\pc@collect@PDFOBJID{\pc@collect@PDFOBJID,\the\pdflastannot}}% + {}% + \setlength{\pc@Eposx}{\pc@Sposx}% + \addtolength{\pc@Eposx}{\ulwidth}% + \setlength{\pc@Eposy}{\pc@Sposy}% + \pc@annot@complete% +}% +% +\newcommand{\pc@calc@textblockpos}% +{% + \if@twoside% + \stepcounter{pc@count@ii}% + \label{pdfcomment:ts:page:\thepc@count@ii}% + \refused{pdfcomment:ts:page:\thepc@count@ii}% + \ifodd\getpagerefnumber{pdfcomment:ts:page:\thepc@count@ii}% + \if@twocolumn% + \ifpc@firstcolumn% + \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin\relax}}% + \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \columnwidth\relax}}% \else% + \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \textwidth - \columnwidth\relax}}% + \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \textwidth\relax}}% \fi% - \fi% - \else% - \ifpc@gopt@dvipdfmx% - \pc@annot@markup@dvipdfmx% \else% - \pc@annot@markup@dvips% + \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin\relax}}% + \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \textwidth\relax}}% \fi% - \fi% - %last line - \pc@copy@anna@to@annb% - \renewcommand{\pc@annb@x@one}{\pc@x@left@text}% - \renewcommand{\pc@annb@x@three}{\pc@x@left@text}% - \renewcommand{\pc@annb@y@one}{\pc@anna@y@two}% - \renewcommand{\pc@annb@y@three}{\pc@anna@y@four}% - \ifthenelse{\equal{\pc@lopt@markup}{StrikeOut}}% - {% - \edef\pc@annb@y@four{\pc@pttobp{\dimexpr \pc@annb@y@four bp + 1.5pt\relax}}% - \edef\pc@annb@y@three{\pc@pttobp{\dimexpr \pc@annb@y@three bp + 1.5pt \relax}}% - }% - {}% - \xdef\pc@annot@quadpoints{\pc@annb@x@one\space\pc@annb@y@one\space\pc@annb@x@two\space\pc@annb@y@two\space\pc@annb@x@three\space\pc@annb@y@three\space\pc@annb@x@four\space\pc@annb@y@four}% - \setlength{\pc@dimg}{\dimexpr \pc@annb@y@one bp\relax}% - \setlength{\pc@dimh}{\pc@dimg-\pc@dimf+3pt}% - % only 1 line on first page? => no annotation for last line - \ifdim\pc@dimh<0pt% - \ifpdf% - \pc@annot@markup@pdf% - \ifpc@annot@samepage% - \ifthenelse{\equal{\pc@lopt@id}{}}% - {}% - {\xdef\pc@collect@PDFOBJID{\pc@collect@PDFOBJID,\the\pdflastannot}}% + \else% + \if@twocolumn% + \ifpc@firstcolumn% + \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \evensidemargin \relax}}% + \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \evensidemargin + \columnwidth\relax}}% \else% - \ifpc@annot@secondpage% - \ifthenelse{\equal{\pc@lopt@id}{}}% - {}% - {\xdef\pc@collect@PDFOBJID{\pc@collect@PDFOBJID,\the\pdflastannot}}% - \else% - \fi% + \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \evensidemargin + \textwidth - \columnwidth \relax}}% + \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \evensidemargin + \textwidth\relax}}% \fi% \else% - \ifpc@gopt@dvipdfmx% - \pc@annot@markup@dvipdfmx% - \else% - \pc@annot@markup@dvips% - \fi% + \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \evensidemargin \relax}}% + \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \evensidemargin + \textwidth\relax}}% \fi% \fi% - %middle lines - \pc@copy@anna@to@annb% - \setlength{\pc@dimc}{\dimexpr \pc@annb@y@one bp + 0.1pt\relax}% - \ifpc@annot@samepage% - \setlength{\pc@dimd}{\dimexpr \pc@annb@y@two bp\relax}% - \fi% - \ifpc@annot@secondpage% - \setlength{\pc@dimd}{\dimexpr \pc@annb@y@two bp\relax}% - \fi% - \setcounter{pc@annot@lines}{0}% - \setlength{\pc@dime}{\pc@dimc}% - \addtolength{\pc@dime}{-\pc@dimd}% - % count lines - \whiledo{\lengthtest{\pc@dime>0pt}}% - {% - \stepcounter{pc@annot@lines}% - \addtolength{\pc@dime}{-\the\baselineskip}% - }% - % subtract first and last line - \addtocounter{pc@annot@lines}{-2}% - \renewcommand{\pc@annb@x@one}{\pc@x@left@text}% - \renewcommand{\pc@annb@x@three}{\pc@x@left@text}% - \renewcommand{\pc@annb@x@two}{\pc@x@right@text}% - \renewcommand{\pc@annb@x@four}{\pc@x@right@text}% - \ifpc@annot@secondpage% - \ifthenelse{\equal{\pc@lopt@markup}{StrikeOut}}% - {% - \edef\pc@annb@y@one{\pc@pttobp{\dimexpr \pc@annb@y@one bp - \the\baselineskip + 1.5pt\relax}}% - \edef\pc@annb@y@three{\pc@pttobp{\dimexpr \pc@annb@y@one bp - \pc@box@depth - \pc@box@height -0.5pt \relax}}% - }% - {% - \edef\pc@annb@y@one{\pc@pttobp{\dimexpr \pc@annb@y@one bp - \the\baselineskip + 2pt\relax}}% - \edef\pc@annb@y@three{\pc@pttobp{\dimexpr \pc@annb@y@one bp - \pc@box@depth - \pc@box@height -2pt \relax}}% - }% - \fi% - \whiledo{\value{pc@annot@lines}>0}% - {% - \addtocounter{pc@annot@lines}{-1}% - \edef\pc@annb@y@one{\pc@pttobp{\dimexpr \pc@annb@y@one bp - \the\baselineskip \relax}}% - \edef\pc@annb@y@three{\pc@pttobp{\dimexpr \pc@annb@y@three bp - \the\baselineskip \relax}}% - \xdef\pc@annot@quadpoints{\pc@annb@x@one\space\pc@annb@y@one\space\pc@annb@x@two\space\pc@annb@y@one\space\pc@annb@x@three\space\pc@annb@y@three\space\pc@annb@x@four\space\pc@annb@y@three}% - \ifpdf% - \pc@annot@markup@pdf% - \ifpc@annot@samepage% - \ifthenelse{\equal{\pc@lopt@id}{}}% - {}% - {\xdef\pc@collect@PDFOBJID{\pc@collect@PDFOBJID,\the\pdflastannot}}% - \else% - \ifpc@annot@secondpage% - \ifthenelse{\equal{\pc@lopt@id}{}}% - {}% - {\xdef\pc@collect@PDFOBJID{\pc@collect@PDFOBJID,\the\pdflastannot}}% - \else% - \fi% - \fi% + \else% + \if@twocolumn% + \ifpc@firstcolumn% + \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin \relax}}% + \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \columnwidth\relax}}% \else% - \ifpc@gopt@dvipdfmx% - \pc@annot@markup@dvipdfmx% - \else% - \pc@annot@markup@dvips% - \fi% + \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \textwidth - \columnwidth\relax}}% + \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \textwidth\relax}}% \fi% - }% - }% - \fi% -}% -% -\newcommand{\pc@calc@textblockpos}% -{% - \if@twoside% - \ifodd\arabic{page}% - \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin\relax}}% - \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \textwidth\relax}}% \else% - \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \evensidemargin \relax}}% - \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \evensidemargin + \textwidth\relax}}% + \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin \relax}}% + \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \textwidth\relax}}% \fi% - \else% - \renewcommand{\pc@x@left@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin \relax}}% - \renewcommand{\pc@x@right@text}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \textwidth\relax}}% \fi% \renewcommand{\pc@y@top@text}{\pc@pttobp{\dimexpr \paperheight - \dimexpr 1in\relax - \voffset - \topmargin - \headheight - \headsep\relax}}% \renewcommand{\pc@y@bottom@text}{\pc@pttobp{\dimexpr \paperheight - \dimexpr 1in\relax - \voffset - \topmargin - \headheight - \headsep - \textheight\relax}}% @@ -3266,7 +3206,10 @@ \newcommand{\pc@calc@sidelinepos}% {% \if@twoside% - \ifodd\arabic{page}% + \stepcounter{pc@count@ii}% + \label{pdfcomment:ts:page:\thepc@count@ii}% + \refused{pdfcomment:ts:page:\thepc@count@ii}% + \ifodd\getpagerefnumber{pdfcomment:ts:page:\thepc@count@ii}% \renewcommand{\pc@x@one}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin - \dimexpr \pc@lopt@linesep bp \relax\relax}}% \renewcommand{\pc@x@two}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \oddsidemargin + \textwidth + \dimexpr \pc@lopt@linesep bp \relax\relax}}% \else% |