%%
%% Copyright (C) 2008-2009 by:
%% Josef Kleber
%% <josef.kleber@gmx.de>
%% 
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
%% or (at your option) any later version.  The latest version of this
%% license is in:
%% 
%%    http://www.latex-project.org/lppl.txt
%% 
%% and version 1.3 or later is part of all distributions of LaTeX version
%% 2003/12/01 or later.
%% 
%% This work has the LPPL maintenance status "author-maintained".
%% 
%% This Current Maintainer of this work is Josef Kleber.
%%
%% This work consists of all files listed in manifest.txt.
%%
%
\ProvidesPackage{pdfcomment}[2009/11/10 pdfcomment.sty v1.5b - Josef Kleber (C) 2008-2009]%
%
\RequirePackage{xkeyval}%
%
% default values for global package options
\gdef\pc@goptd@subject{}%
\gdef\pc@goptd@color{0 0 1}%
\gdef\pc@goptd@author{}%
\gdef\pc@goptd@deadline{}%
\gdef\pc@goptd@icon{Comment}%
\gdef\pc@goptd@open{false}%
\gdef\pc@goptd@hspace{0pt}%
\gdef\pc@goptd@voffset{0pt}%
\gdef\pc@goptd@hoffset{0pt}%
\gdef\pc@goptd@width{0pt}%
\gdef\pc@goptd@height{0pt}%
\gdef\pc@goptd@depth{0pt}%
\gdef\pc@goptd@opacity{1.0}%
\gdef\pc@goptd@markup{Highlight}%
\gdef\pc@goptd@font{Helv}%
\gdef\pc@goptd@fontsize{12bp}%
\gdef\pc@goptd@fontcolor{0.0 0.0 0.0}%
\gdef\pc@goptd@justification{0}%
\gdef\pc@goptd@borderstyle{S}%
\gdef\pc@goptd@linewidth{1bp}%
\gdef\pc@goptd@dashstyle{3 3}%
\gdef\pc@goptd@bse{S}%
\gdef\pc@goptd@bsei{1}%
\gdef\pc@goptd@type{freetext}%
\gdef\pc@goptd@lineend{/OpenArrow}%
\gdef\pc@goptd@linebegin{/None}%
\gdef\pc@goptd@icolor{1 1 0}%
\gdef\pc@goptd@line{50 50 300 600}%
\gdef\pc@goptd@caption{inline}%
\gdef\pc@goptd@captionhoffset{0pt}%
\gdef\pc@goptd@captionvoffset{0pt}%
\gdef\pc@goptd@linesep{0.5cm}%
\gdef\pc@goptd@dvipdfmx{true}%
%
% values for global package options
\gdef\pc@gopt@subject{}%
\gdef\pc@gopt@color{}%
\gdef\pc@gopt@author{}%
\gdef\pc@gopt@deadline{}%
\gdef\pc@gopt@icon{}%
\gdef\pc@gopt@open{}%
\gdef\pc@gopt@hspace{}%
\gdef\pc@gopt@voffset{}%
\gdef\pc@gopt@hoffset{}%
\gdef\pc@gopt@width{}%
\gdef\pc@gopt@height{}%
\gdef\pc@gopt@depth{}%
\gdef\pc@gopt@opacity{}%
\gdef\pc@gopt@markup{}%
\gdef\pc@gopt@font{}%
\gdef\pc@gopt@fontsize{}%
\gdef\pc@gopt@fontcolor{}%
\gdef\pc@gopt@justification{}%
\gdef\pc@gopt@borderstyle{}%
\gdef\pc@gopt@linewidth{}%
\gdef\pc@gopt@dashstyle{}%
\gdef\pc@gopt@bse{}%
\gdef\pc@gopt@bsei{}%
\gdef\pc@gopt@type{}%
\gdef\pc@gopt@lineend{}%
\gdef\pc@gopt@linebegin{}%
\gdef\pc@gopt@icolor{}%
\gdef\pc@gopt@line{}%
\gdef\pc@gopt@caption{}%
\gdef\pc@gopt@captionhoffset{}%
\gdef\pc@gopt@captionvoffset{}%
\gdef\pc@gopt@linesep{}%
%
% values for local command options
\gdef\pc@lopt@subject{}%
\gdef\pc@lopt@color{}%
\gdef\pc@lopt@author{}%
\gdef\pc@lopt@deadline{}%
\gdef\pc@lopt@icon{}%
\gdef\pc@lopt@open{}%
\gdef\pc@lopt@hspace{}%
\gdef\pc@lopt@voffset{}%
\gdef\pc@lopt@hoffset{}%
\gdef\pc@lopt@width{}%
\gdef\pc@lopt@height{}%
\gdef\pc@lopt@depth{}%
\gdef\pc@lopt@opacity{}%
\gdef\pc@lopt@markup{}%
\gdef\pc@lopt@font{}%
\gdef\pc@lopt@fontsize{}%
\gdef\pc@lopt@fontcolor{}%
\gdef\pc@lopt@justification{}%
\gdef\pc@lopt@borderstyle{}%
\gdef\pc@lopt@linewidth{}%
\gdef\pc@lopt@dashstyle{}%
\gdef\pc@lopt@bse{}%
\gdef\pc@lopt@bsei{}%
\gdef\pc@lopt@type{}%
\gdef\pc@lopt@lineend{}%
\gdef\pc@lopt@linebegin{}%
\gdef\pc@lopt@icolor{}%
\gdef\pc@lopt@line{}%
\gdef\pc@lopt@caption{}%
\gdef\pc@lopt@captionhoffset{}%
\gdef\pc@lopt@captionvoffset{}%
\gdef\pc@lopt@linesep{}%
%
\gdef\pc@lopt@c{}%
\gdef\pc@lopt@ic{}%
\gdef\pc@lopt@l{}%
\gdef\pc@lopt@le{}%
\gdef\pc@lopt@cap{}%
\gdef\pc@lopt@cp{}%
\gdef\pc@lopt@co{}%
%
\newif\ifpc@gopt@dvipdfmx\pc@gopt@dvipdfmxfalse%
\newif\ifpc@gopt@final\pc@gopt@finalfalse%
\newif\ifpc@annot@samepage\pc@annot@samepagetrue%
\newif\ifpc@annot@secondpage\pc@annot@secondpagefalse%
%
\newcounter{pc@annot@lines}%
%
\newlength{\pc@dima}%
\newlength{\pc@dimb}%
\newlength{\pc@dimc}%
\newlength{\pc@dimd}%
\newlength{\pc@dime}%
%
\newlength{\pc@Sposx}%
\newlength{\pc@Sposy}%
\newlength{\pc@Eposx}%
\newlength{\pc@Eposy}%
\newlength{\pc@box@height}%
\newlength{\pc@box@depth}%
%
\newcommand{\pc@x@one}{}%
\newcommand{\pc@x@two}{}%
\newcommand{\pc@x@three}{}%
\newcommand{\pc@x@four}{}%
\newcommand{\pc@y@one}{}%
\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}{}%
\newcommand{\pc@y@top@text}{}%
\newcommand{\pc@y@bottom@text}{}%
%
\newcommand{\pc@raggedleftmarginnote}{\centering}%
\newcommand{\pc@raggedrightmarginnote}{\centering}%
%
\newcommand{\lpcname}{List of pdfcomments}%
\gdef\pc@lpc@format{\pc@lopt@author\ - \pc@lopt@subject}%
\gdef\pc@lopt@liststyle{AuthorSubject}%
%
% define global style option avatar for setting a predefined set of options (Avatar)
\define@key{pdfcomment.sty}{avatar}[]%
{% thanks to Ulrike Fischer Msg-Id: <rba0oaiflbjf.dlg@nililand.de>
  \edef\pc@edef@avatar{pc@avatar@#1}%
  \@ifundefined{\pc@edef@avatar}%
  {%
    \PackageWarning{pdfcomment}{Unknown avatar #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@gopt@loadavatar{\noexpand\setkeys{pdfcomment.sty}{\csname pc@avatar@#1\endcsname}}%
    \pc@gopt@loadavatar%
  }%
}%
%
% define global style option style for setting a predefined set of options (Style)
\define@key{pdfcomment.sty}{style}[]%
{%
  \edef\pc@edef@style{pc@style@#1}%
  \@ifundefined{\pc@edef@style}%
  {%
    \PackageWarning{pdfcomment}{Unknown style #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@gopt@loadstyle{\noexpand\setkeys{pdfcomment.sty}{\csname pc@style@#1\endcsname}}%
    \pc@gopt@loadstyle%
  }%
}%
%
% define global style option subject for setting the subject of pdf annotations
\define@key{pdfcomment.sty}{subject}[\pc@goptd@subject]%
{%
  \gdef\pc@gopt@subject{#1}%
}%
%
% define global style option color for setting the color of pdf annotations
\define@key{pdfcomment.sty}{color}[\pc@goptd@color]%
{%
  \gdef\pc@gopt@color{#1}%
}%
%
% define global style option author for setting the author of pdf annotations
\define@key{pdfcomment.sty}{author}[\pc@goptd@author]%
{%
  \gdef\pc@gopt@author{#1}%
}%
%
% define global command option deadline for setting a deadline in the pdf annotations
\define@key{pdfcomment.sty}{deadline}[\pc@goptd@deadline]%
{%
  \gdef\pc@gopt@deadline{#1}%
}%
%
% define global style option icon for setting the icon of pdf annotations
\define@key{pdfcomment.sty}{icon}[\pc@goptd@icon]%
{%
  \gdef\pc@gopt@icon{#1}%
}%
%
% define global style option open for setting the open status (true,false) of pdf annotations
\define@key{pdfcomment.sty}{open}[\pc@goptd@open]%
{%
  \gdef\pc@gopt@open{#1}%
}%
%
% define global style option hspace for setting the space after the pdf annotations
\define@key{pdfcomment.sty}{hspace}[\pc@goptd@hspace]%
{%
  \gdef\pc@gopt@hspace{#1}%
}%
%
% define global style option voffset for setting the vertical offset of the pdf annotations
\define@key{pdfcomment.sty}{voffset}[\pc@goptd@voffset]%
{%
  \gdef\pc@gopt@voffset{#1}%
}%
%
% define global style option hoffset for setting the horizontal offset of the pdf annotations
\define@key{pdfcomment.sty}{hoffset}[\pc@goptd@hoffset]%
{%
  \gdef\pc@gopt@hoffset{#1}%
}%
%
% define global style option width for setting the width of the pdf annotations
\define@key{pdfcomment.sty}{width}[\pc@goptd@width]%
{%
  \gdef\pc@gopt@width{#1}%
}%
%
% define global style option height for setting the height of the pdf annotations
\define@key{pdfcomment.sty}{height}[\pc@goptd@height]%
{%
  \gdef\pc@gopt@height{#1}%
}%
%
% define global style option depth for setting the depth of the pdf annotations
\define@key{pdfcomment.sty}{depth}[\pc@goptd@depth]%
{%
  \gdef\pc@gopt@depth{#1}%
}%
%
% define global style option opacity for setting the opacity of the pdf annotations
\define@key{pdfcomment.sty}{opacity}[\pc@goptd@opacity]%
{%
  \gdef\pc@gopt@opacity{#1}%
}%
%
% define global style option markup for setting the markup type of the pdf markup annotations
\define@key{pdfcomment.sty}{markup}[\pc@goptd@markup]%
{%
  \gdef\pc@gopt@markup{#1}%
}%
%
% define global style option font for setting the font of the pdf freetext annotations
\define@key{pdfcomment.sty}{font}[\pc@goptd@font]%
{%
  \gdef\pc@gopt@font{#1}%
}%
%
% define global style option fontsize for setting the fontsize of the pdf freetext annotations
\define@key{pdfcomment.sty}{fontsize}[\pc@goptd@fontsize]%
{%
  \gdef\pc@gopt@fontsize{\pc@pttobp{#1}}%
}%
%
% define global style option fontcolor for setting the font color of the pdf freetext annotations
\define@key{pdfcomment.sty}{fontcolor}[\pc@goptd@fontcolor]%
{%
  \gdef\pc@gopt@fontcolor{#1}%
}%
%
% define global style option justification for setting the justification of the pdf freetext annotations
\define@choicekey*{pdfcomment.sty}{justification}[\pc@gopt@justification\nr]{left,center,right}[left]%
{%
  \ifcase\nr\relax%
    \gdef\pc@gopt@justification{0}%
  \or%
    \gdef\pc@gopt@justification{1}%
  \or%
    \gdef\pc@gopt@justification{2}%
  \fi%
}%
%
% define global style option borderstyle for setting the borderstyle of the pdf annotations
\define@choicekey*{pdfcomment.sty}{borderstyle}[\pc@gopt@borderstyle\nr]{solid,dashed}[solid]%
{%
  \ifcase\nr\relax%
    \gdef\pc@gopt@borderstyle{S}%
  \or%
    \gdef\pc@gopt@borderstyle{D}%
  \fi%
}%
%
% define global style option dashstyle for setting the dashstyle of the pdf annotations
\define@key{pdfcomment.sty}{dashstyle}[\pc@goptd@dashstyle]%
{%
  \gdef\pc@gopt@dashstyle{#1}%
}%
%
% define global style option linewidth for setting the linewidth of the pdf annotations
\define@key{pdfcomment.sty}{linewidth}[\pc@goptd@linewidth]%
{%
  \gdef\pc@gopt@linewidth{\pc@pttobp{#1}}%
}%
%
% define global style option bse for setting the border style effect of the pdf annotations
\define@choicekey*{pdfcomment.sty}{bse}[\pc@gopt@bse\nr]{none,cloudy}[none]%
{%
  \ifcase\nr\relax%
    \gdef\pc@gopt@bse{S}%
  \or%
    \gdef\pc@gopt@bse{C}%
  \fi%
}%
%
% define global style option bsei for setting the border style effect intensity of the pdf annotations
\define@key{pdfcomment.sty}{bsei}[\pc@goptd@bsei]%
{%
  \gdef\pc@gopt@bsei{#1}%
}%
%
% define global style option type for setting the type of the pdf annotations
\define@choicekey*{pdfcomment.sty}{type}[\pc@gopt@type\nr]{freetext,callout,typewriter,line,polyline,polygon}[freetext]%
{%
  \ifcase\nr\relax%
    \gdef\pc@gopt@type{}%
  \or%
    \gdef\pc@gopt@type{/IT /FreeTextCallout}%
  \or%
    \gdef\pc@gopt@type{/IT /FreeTextTypewriter}%
  \or%
    \gdef\pc@lopt@type{Line}%
  \or%
    \gdef\pc@lopt@type{PolyLine}%
  \or%
    \gdef\pc@lopt@type{Polygon}%
  \fi%
}%
%
% define global style option lineend for setting the line end of the callout line of the pdf freetext annotations
\define@key{pdfcomment.sty}{lineend}[\pc@goptd@lineend]%
{%
  \gdef\pc@gopt@lineend{#1}%
}%
%
% define global style option linebegin for setting the line ends pdf line annotations
\define@key{pdfcomment.sty}{linebegin}[\pc@goptd@linebegin]%
{%
  \gdef\pc@gopt@linebegin{#1}%
}%
%
% define global style option icolor for setting the "inner" color of the pdf annotations
\define@key{pdfcomment.sty}{icolor}[\pc@goptd@icolor]%
{%
  \gdef\pc@gopt@icolor{#1}%
}%
%
% define global style option caption for setting the caption type of the pdf line annotations
\define@choicekey*{pdfcomment.sty}{caption}[\pc@gopt@caption\nr]{none,inline,top}[inline]%
{%
  \ifcase\nr\relax%
    \gdef\pc@gopt@caption{none}%
  \or%
    \gdef\pc@gopt@caption{Inline}%
  \or%
    \gdef\pc@gopt@caption{Top}%
  \fi%
}%
%
% define global style option line for setting the line coordinates of the pdf line annotations
\define@key{pdfcomment.sty}{line}[\pc@goptd@line]%
{%
  \gdef\pc@gopt@line{#1}%
}%
%
% define global style option captionhoffset for setting the caption hoffset of the pdf line annotations
\define@key{pdfcomment.sty}{captionhoffset}[\pc@goptd@captionhoffset]%
{%
  \gdef\pc@gopt@captionhoffset{\pc@pttobp{#1}}%
}%
%
% define global style option captionvoffset for setting the caption voffset of the pdf line annotations
\define@key{pdfcomment.sty}{captionvoffset}[\pc@goptd@captionvoffset]%
{%
  \gdef\pc@gopt@captionvoffset{\pc@pttobp{#1}}%
}%
%
% define global style option linesep for setting the linesep of the pdf sideline annotations
\define@key{pdfcomment.sty}{linesep}[\pc@goptd@linesep]%
{%
  \gdef\pc@gopt@linesep{\pc@pttobp{#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 style option avatar for setting a predefined set of options (Avatar)
\define@key{pdfcomment}{avatar}[]%
{%
  \edef\pc@edef@avatar{pc@avatar@#1}%
  \@ifundefined{\pc@edef@avatar}%
  {%
    \PackageWarning{pdfcomment}{Unknown avatar #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadavatar{\noexpand\setkeys{pdfcomment}{\csname pc@avatar@#1\endcsname}}%
    \pc@lopt@loadavatar%
  }%
}%
%
% define local style option style for setting a predefined set of options (Style)
\define@key{pdfcomment}{style}[]%
{%
  \edef\pc@edef@style{pc@style@#1}%
  \@ifundefined{\pc@edef@style}%
  {%
    \PackageWarning{pdfcomment}{Unknown style #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadstyle{\noexpand\setkeys{pdfcomment}{\csname pc@style@#1\endcsname}}%
    \pc@lopt@loadstyle%
  }%
}%
%
% define local command option subject for setting the subject of pdf annotations
\define@key{pdfcomment}{subject}[\pc@gopt@subject]%
{%
  \gdef\pc@lopt@subject{#1}%
}%
%
% define local command option color for setting the color of pdf annotations
\define@key{pdfcomment}{color}[\pc@gopt@color]%
{%
  \gdef\pc@lopt@color{#1}%
}%
%
% define local command option author for setting the author of pdf annotations
\define@key{pdfcomment}{author}[\pc@gopt@author]%
{%
  \gdef\pc@lopt@author{#1}%
}%
%
% define local command option deadline for setting a deadline in the pdf annotations
\define@key{pdfcomment}{deadline}[\pc@gopt@deadline]%
{%
  \gdef\pc@lopt@deadline{#1}%
}%
%
% define local command option icon for setting the icon of pdf annotations
\define@key{pdfcomment}{icon}[\pc@gopt@icon]%
{%
  \gdef\pc@lopt@icon{#1}%
}%
%
% define local command option open for setting the open status (true,false) of pdf annotations
\define@key{pdfcomment}{open}[\pc@gopt@open]%
{%
  \gdef\pc@lopt@open{#1}%
}%
%
% define local command option hspace for setting the space after the pdf annotations
\define@key{pdfcomment}{hspace}[\pc@gopt@hspace]%
{%
  \gdef\pc@lopt@hspace{#1}%
}%
%
% define local style option voffset for setting the vertical offset of the pdf annotations
\define@key{pdfcomment}{voffset}[\pc@gopt@voffset]%
{%
  \gdef\pc@lopt@voffset{#1}%
}%
%
% define local style option hoffset for setting the horizontal offset of the pdf annotations
\define@key{pdfcomment}{hoffset}[\pc@gopt@hoffset]%
{%
  \gdef\pc@lopt@hoffset{#1}%
}%
%
% define local style option width for setting the width of the pdf annotations
\define@key{pdfcomment}{width}[\pc@gopt@width]%
{%
  \gdef\pc@lopt@width{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option width in command \pdfcomment ignored!}%
}%
%
% define local style option height for setting the height of the pdf annotations
\define@key{pdfcomment}{height}[\pc@gopt@height]%
{%
  \gdef\pc@lopt@height{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option height in command \pdfcomment ignored!}%
}%
%
% define local style option depth for setting the depth of the pdf annotations
\define@key{pdfcomment}{depth}[\pc@gopt@depth]%
{%
  \gdef\pc@lopt@depth{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option depth in command \pdfcomment ignored!}%
}%
%
% define local style option opacity for setting the opacity of the pdf annotations
\define@key{pdfcomment}{opacity}[\pc@gopt@opacity]%
{%
  \gdef\pc@lopt@opacity{#1}%
}%
%
% define local style option font for setting the font of the pdf freetext annotations
\define@key{pdfcomment}{font}[\pc@gopt@font]%
{%
  \gdef\pc@lopt@font{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option font in command \pdfcomment ignored!}%
}%
%
% define local style option fontsize for setting the fontsize of the pdf freetext annotations
\define@key{pdfcomment}{fontsize}[\pc@gopt@fontsize]%
{%
  \gdef\pc@lopt@fontsize{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontsize in command \pdfcomment ignored!}%
}%
%
% define local style option fontcolor for setting the font color of the pdf freetext annotations
\define@key{pdfcomment}{fontcolor}[\pc@gopt@fontcolor]%
{%
  \gdef\pc@lopt@fontcolor{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontcolor in command \pdfcomment ignored!}%
}%
%
% define local style option justification for setting the justification of the pdf freetext annotations
\define@choicekey*{pdfcomment}{justification}[\pc@lopt@justification\nr]{left,center,right}[left]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@justification{0}%
  \or%
    \gdef\pc@lopt@justification{1}%
  \or%
    \gdef\pc@lopt@justification{2}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option justification in command \pdfcomment ignored!}%
}%
%
% define local style option borderstyle for setting the borderstyle of the pdf annotations
\define@choicekey*{pdfcomment}{borderstyle}[\pc@lopt@borderstyle\nr]{solid,dashed}[solid]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@borderstyle{S}%
  \or%
    \gdef\pc@lopt@borderstyle{D}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option borderstyle in command \pdfcomment ignored!}%
}%
%
% define local style option dashstyle for setting the dashstyle of the pdf annotations
\define@key{pdfcomment}{dashstyle}[\pc@gopt@dashstyle]%
{%
  \gdef\pc@lopt@dashstyle{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option dashstyle in command \pdfcomment ignored!}%
}%
%
% define local style option linewidth for setting the linewidth of the pdf annotations
\define@key{pdfcomment}{linewidth}[\pc@gopt@linewidth]%
{%
  \gdef\pc@lopt@linewidth{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option linewidth in command \pdfcomment ignored!}%
}%
%
% define local style option bse for setting the border style effect of the pdf annotations
\define@choicekey*{pdfcomment}{bse}[\pc@lopt@bse\nr]{none,cloudy}[none]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@bse{S}%
  \or%
    \gdef\pc@lopt@bse{C}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option bse in command \pdfcomment ignored!}%
}%
%
% define local style option bsei for setting the border style effect intensity of the pdf annotations
\define@key{pdfcomment}{bsei}[\pc@gopt@bsei]%
{%
  \gdef\pc@lopt@bsei{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option bsei in command \pdfcomment ignored!}%
}%
%
% define local style option type for setting the type of the pdf freetext annotations
\define@choicekey*{pdfcomment}{type}[\pc@lopt@type\nr]{freetext,callout,typewriter,line,polyline,polygon}[freetext]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@type{}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextCallout}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextTypewriter}%
  \or%
    \gdef\pc@lopt@type{Line}%
  \or%
    \gdef\pc@lopt@type{PolyLine}%
  \or%
    \gdef\pc@lopt@type{Polygon}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option type in command \pdfcomment ignored!}%
}%
%
% define local style option lineend for setting the line end of the callout line of the pdf freetext annotations
\define@key{pdfcomment}{lineend}[\pc@gopt@lineend]%
{%
  \gdef\pc@lopt@lineend{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option lineend in command \pdfcomment ignored!}%
}%
%
% define local style option linebegin for setting the line ends of the pdf line annotations
\define@key{pdfcomment}{linebegin}[\pc@gopt@linebegin]%
{%
  \gdef\pc@lopt@linebegin{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option linebegin in command \pdfcomment ignored!}%
}%
%
% define local style option icolor for setting the "inner" color of the pdf annotations
\define@key{pdfcomment}{icolor}[\pc@gopt@icolor]%
{%
  \gdef\pc@lopt@icolor{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option icolor in command \pdfcomment ignored!}%
}%
%
% define local style option markup for setting the markup type of the pdf markup annotations
\define@key{pdfcomment}{markup}[\pc@gopt@markup]%
{%
  \gdef\pc@lopt@markup{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option markup in command \pdfcomment ignored!}%
}%
%
% define local style option caption for setting the caption type of the pdf line annotations
\define@choicekey*{pdfcomment}{caption}[\pc@lopt@caption\nr]{none,inline,top}[inline]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@caption{none}%
  \or%
    \gdef\pc@lopt@caption{Inline}%
  \or%
    \gdef\pc@lopt@caption{Top}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option caption in command \pdfcomment ignored!}%
}%
%
% define local style option line for setting the line coordinates of the pdf line annotations
\define@key{pdfcomment}{line}[\pc@gopt@line]%
{%
  \gdef\pc@lopt@line{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option line in command \pdfcomment ignored!}%
}%
%
% define local style option captionhoffset for setting the caption hoffset of the pdf line annotations
\define@key{pdfcomment}{captionhoffset}[\pc@gopt@captionhoffset]%
{%
  \gdef\pc@lopt@captionhoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionhoffset in command \pdfcomment ignored!}%
}%
%
% define local style option captionvoffset for setting the caption voffset of the pdf line annotations
\define@key{pdfcomment}{captionvoffset}[\pc@gopt@captionvoffset]%
{%
  \gdef\pc@lopt@captionvoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionvoffset in command \pdfcomment ignored!}%
}%
%
% define local style option linesep for setting the linesep of the pdf sideline annotations
\define@key{pdfcomment}{linesep}[\pc@gopt@linesep]%
{%
  \gdef\pc@lopt@linesep{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option linesep in command \pdfcomment ignored!}%
}%
%
% define local style option avatar for setting a predefined set of options (Avatar)
\define@key{pdfmargincomment}{avatar}[]%
{%
  \edef\pc@edef@avatar{pc@avatar@#1}%
  \@ifundefined{\pc@edef@avatar}%
  {%
    \PackageWarning{pdfcomment}{Unknown avatar #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadavatar{\noexpand\setkeys{pdfmargincomment}{\csname pc@avatar@#1\endcsname}}%
    \pc@lopt@loadavatar%
  }%
}%
%
% define local style option style for setting a predefined set of options (Style)
\define@key{pdfmargincomment}{style}[]%
{%
  \edef\pc@edef@style{pc@style@#1}%
  \@ifundefined{\pc@edef@style}%
  {%
    \PackageWarning{pdfcomment}{Unknown style #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadstyle{\noexpand\setkeys{pdfmargincomment}{\csname pc@style@#1\endcsname}}%
    \pc@lopt@loadstyle%
  }%
}%
%
% define local command option subject for setting the subject of pdf annotations
\define@key{pdfmargincomment}{subject}[\pc@gopt@subject]%
{%
  \gdef\pc@lopt@subject{#1}%
}%
%
% define local command option color for setting the color of pdf annotations
\define@key{pdfmargincomment}{color}[\pc@gopt@color]%
{%
  \gdef\pc@lopt@color{#1}%
}%
%
% define local command option author for setting the author of pdf annotations
\define@key{pdfmargincomment}{author}[\pc@gopt@author]%
{%
  \gdef\pc@lopt@author{#1}%
}%
%
% define local command option deadline for setting a deadline in the pdf annotations
\define@key{pdfmargincomment}{deadline}[\pc@gopt@deadline]%
{%
  \gdef\pc@lopt@deadline{#1}%
}%
%
% define local command option icon for setting the icon of pdf annotations
\define@key{pdfmargincomment}{icon}[\pc@gopt@icon]%
{%
  \gdef\pc@lopt@icon{#1}%
}%
%
% define local command option open for setting the open status (true,false) of pdf annotations
\define@key{pdfmargincomment}{open}[\pc@gopt@open]%
{%
  \gdef\pc@lopt@open{#1}%
}%
%
% define local command option hspace for setting the space after the pdf annotations
\define@key{pdfmargincomment}{hspace}[\pc@gopt@hspace]%
{%
  \gdef\pc@lopt@hspace{#1}%
}%
%
% define local style option voffset for setting the vertical offset of the pdf annotations
\define@key{pdfmargincomment}{voffset}[\pc@gopt@voffset]%
{%
  \gdef\pc@lopt@voffset{#1}%
}%
%
% define local style option hoffset for setting the horizontal offset of the pdf annotations
\define@key{pdfmargincomment}{hoffset}[\pc@gopt@hoffset]%
{%
  \gdef\pc@lopt@hoffset{#1}%
}%
%
% define local style option width for setting the width of the pdf annotations
\define@key{pdfmargincomment}{width}[\pc@gopt@width]%
{%
  \gdef\pc@lopt@width{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option width in command \pdfmargincomment ignored!}%
}%
%
% define local style option height for setting the height of the pdf annotations
\define@key{pdfmargincomment}{height}[\pc@gopt@height]%
{%
  \gdef\pc@lopt@height{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option height in command \pdfmargincomment ignored!}%
}%
%
% define local style option depth for setting the depth of the pdf annotations
\define@key{pdfmargincomment}{depth}[\pc@gopt@depth]%
{%
  \gdef\pc@lopt@depth{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option depth in command \pdfmargincomment ignored!}%
}%
%
% define local style option opacity for setting the opacity of the pdf annotations
\define@key{pdfmargincomment}{opacity}[\pc@gopt@opacity]%
{%
  \gdef\pc@lopt@opacity{#1}%
}%
%
% define local style option font for setting the font of the pdf freetext annotations
\define@key{pdfmargincomment}{font}[\pc@gopt@font]%
{%
  \gdef\pc@lopt@font{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option font in command \pdfmargincomment ignored!}%
}%
%
% define local style option fontsize for setting the fontsize of the pdf freetext annotations
\define@key{pdfmargincomment}{fontsize}[\pc@gopt@fontsize]%
{%
  \gdef\pc@lopt@fontsize{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontsize in command \pdfmargincomment ignored!}%
}%
%
% define local style option fontcolor for setting the font color of the pdf freetext annotations
\define@key{pdfmargincomment}{fontcolor}[\pc@gopt@fontcolor]%
{%
  \gdef\pc@lopt@fontcolor{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontcolor in command \pdfmargincomment ignored!}%
}%
%
% define local style option justification for setting the justification of the pdf freetext annotations
\define@choicekey*{pdfmargincomment}{justification}[\pc@lopt@justification\nr]{left,center,right}[left]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@justification{0}%
  \or%
    \gdef\pc@lopt@justification{1}%
  \or%
    \gdef\pc@lopt@justification{2}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option justification in command \pdfmargincomment ignored!}%
}%
%
% define local style option borderstyle for setting the borderstyle of the pdf annotations
\define@choicekey*{pdfmargincomment}{borderstyle}[\pc@lopt@borderstyle\nr]{solid,dashed}[solid]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@borderstyle{S}%
  \or%
    \gdef\pc@lopt@borderstyle{D}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option borderstyle in command \pdfmargincomment ignored!}%
}%
%
% define local style option dashstyle for setting the dashstyle of the pdf annotations
\define@key{pdfmargincomment}{dashstyle}[\pc@gopt@dashstyle]%
{%
  \gdef\pc@lopt@dashstyle{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option dashstyle in command \pdfmargincomment ignored!}%
}%
%
% define local style option linewidth for setting the linewidth of the pdf annotations
\define@key{pdfmargincomment}{linewidth}[\pc@gopt@linewidth]%
{%
  \gdef\pc@lopt@linewidth{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option linewidth in command \pdfmargincomment ignored!}%
}%
%
% define local style option bse for setting the border style effect of the pdf annotations
\define@choicekey*{pdfmargincomment}{bse}[\pc@lopt@bse\nr]{none,cloudy}[none]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@bse{S}%
  \or%
    \gdef\pc@lopt@bse{C}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option bse in command \pdfmargincomment ignored!}%
}%
%
% define local style option bsei for setting the border style effect intensity of the pdf annotations
\define@key{pdfmargincomment}{bsei}[\pc@gopt@bsei]%
{%
  \gdef\pc@lopt@bsei{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option bsei in command \pdfmargincomment ignored!}%
}%
%
% define local style option type for setting the type of the pdf freetext annotations
\define@choicekey*{pdfmargincomment}{type}[\pc@lopt@type\nr]{freetext,callout,typewriter,line,polyline,polygon}[freetext]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@type{}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextCallout}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextTypewriter}%
  \or%
    \gdef\pc@lopt@type{Line}%
  \or%
    \gdef\pc@lopt@type{PolyLine}%
  \or%
    \gdef\pc@lopt@type{Polygon}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option type in command \pdfmargincomment ignored!}%
}%
%
% define local style option lineend for setting the line end of the callout line of the pdf freetext annotations
\define@key{pdfmargincomment}{lineend}[\pc@gopt@lineend]%
{%
  \gdef\pc@lopt@lineend{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option lineend in command \pdfmargincomment ignored!}%
}%
%
% define local style option linebegin for setting the line ends of the pdf line annotations
\define@key{pdfmargincomment}{linebegin}[\pc@gopt@linebegin]%
{%
  \gdef\pc@lopt@linebegin{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option linebegin in command \pdfmargincomment ignored!}%
}%
%
% define local style option icolor for setting the "inner" color of the pdf annotations
\define@key{pdfmargincomment}{icolor}[\pc@gopt@icolor]%
{%
  \gdef\pc@lopt@icolor{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option icolor in command \pdfmargincomment ignored!}%
}%
%
% define local style option markup for setting the markup type of the pdf markup annotations
\define@key{pdfmargincomment}{markup}[\pc@gopt@markup]%
{%
  \gdef\pc@lopt@markup{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option margin in command \pdfmargincomment ignored!}%
}%
%
% define local style option caption for setting the caption type of the pdf line annotations
\define@choicekey*{pdfmargincomment}{caption}[\pc@lopt@caption\nr]{none,inline,top}[inline]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@caption{none}%
  \or%
    \gdef\pc@lopt@caption{Inline}%
  \or%
    \gdef\pc@lopt@caption{Top}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option caption in command \pdfmargincomment ignored!}%
}%
%
% define local style option line for setting the line coordinates of the pdf line annotations
\define@key{pdfmargincomment}{line}[\pc@gopt@line]%
{%
  \gdef\pc@lopt@line{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option line in command \pdfmargincomment ignored!}%
}%
%
% define local style option captionhoffset for setting the caption hoffset of the pdf line annotations
\define@key{pdfmargincomment}{captionhoffset}[\pc@gopt@captionhoffset]%
{%
  \gdef\pc@lopt@captionhoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionhoffset in command \pdfmargincomment ignored!}%
}%
%
% define local style option captionvoffset for setting the caption voffset of the pdf line annotations
\define@key{pdfmargincomment}{captionvoffset}[\pc@gopt@captionvoffset]%
{%
  \gdef\pc@lopt@captionvoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionvoffset in command \pdfmargincomment ignored!}%
}%
%
% define local style option linesep for setting the linesep of the pdf sideline annotations
\define@key{pdfmargincomment}{linesep}[\pc@gopt@linesep]%
{%
  \gdef\pc@lopt@linesep{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option lineseo in command \pdfmargincomment ignored!}%
}%
%
% define local style option avatar for setting a predefined set of options (Avatar)
\define@key{pdffreetextcomment}{avatar}[]%
{%
  \edef\pc@edef@avatar{pc@avatar@#1}%
  \@ifundefined{\pc@edef@avatar}%
  {%
    \PackageWarning{pdfcomment}{Unknown avatar #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadavatar{\noexpand\setkeys{pdffreetextcomment}{\csname pc@avatar@#1\endcsname}}%
    \pc@lopt@loadavatar%
  }%
}%
%
% define local style option style for setting a predefined set of options (Style)
\define@key{pdffreetextcomment}{style}[]%
{%
  \edef\pc@edef@style{pc@style@#1}%
  \@ifundefined{\pc@edef@style}%
  {%
    \PackageWarning{pdfcomment}{Unknown style #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadstyle{\noexpand\setkeys{pdffreetextcomment}{\csname pc@style@#1\endcsname}}%
    \pc@lopt@loadstyle%
  }%
}%
%
% define local command option subject for setting the subject of pdf annotations
\define@key{pdffreetextcomment}{subject}[\pc@gopt@subject]%
{%
  \gdef\pc@lopt@subject{#1}%
}%
%
% define local command option color for setting the color of pdf annotations
\define@key{pdffreetextcomment}{color}[\pc@gopt@color]%
{%
  \gdef\pc@lopt@color{#1}%
}%
%
% define local command option author for setting the author of pdf annotations
\define@key{pdffreetextcomment}{author}[\pc@gopt@author]%
{%
  \gdef\pc@lopt@author{#1}%
}%
%
% define local command option deadline for setting a deadline in the pdf annotations
\define@key{pdffreetextcomment}{deadline}[\pc@gopt@deadline]%
{%
  \gdef\pc@lopt@deadline{#1}%
}%
%
% define local command option icon for setting the icon of pdf annotations
\define@key{pdffreetextcomment}{icon}[\pc@gopt@icon]%
{%
  \gdef\pc@lopt@icon{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option icon in command \pdffreetextcomment ignored!}%
}%
%
% define local command option open for setting the open status (true,false) of pdf annotations
\define@key{pdffreetextcomment}{open}[\pc@gopt@open]%
{%
  \gdef\pc@lopt@open{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option open in command \pdffreetextcomment ignored!}%
}%
%
% define local command option hspace for setting the space after the pdf annotations
\define@key{pdffreetextcomment}{hspace}[\pc@gopt@hspace]%
{%
  \gdef\pc@lopt@hspace{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option open in command \pdffreetextcomment ignored!}%
}%
%
% define local style option voffset for setting the vertical offset of the pdf annotations
\define@key{pdffreetextcomment}{voffset}[\pc@gopt@voffset]%
{%
  \gdef\pc@lopt@voffset{#1}%
}%
%
% define local style option hoffset for setting the horizontal offset of the pdf annotations
\define@key{pdffreetextcomment}{hoffset}[\pc@gopt@hoffset]%
{%
  \gdef\pc@lopt@hoffset{#1}%
}%
%
% define local style option width for setting the width of the pdf annotations
\define@key{pdffreetextcomment}{width}[\pc@gopt@width]%
{%
  \gdef\pc@lopt@width{#1}%
}%
%
% define local style option height for setting the height of the pdf annotations
\define@key{pdffreetextcomment}{height}[\pc@gopt@height]%
{%
  \gdef\pc@lopt@height{#1}%
}%
%
% define local style option depth for setting the depth of the pdf annotations
\define@key{pdffreetextcomment}{depth}[\pc@gopt@depth]%
{%
  \gdef\pc@lopt@depth{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option depth in command \pdffreetextcomment ignored!}%
}%
%
% define local style option opacity for setting the opacity of the pdf annotations
\define@key{pdffreetextcomment}{opacity}[\pc@gopt@opacity]%
{%
  \gdef\pc@lopt@opacity{#1}%
}%
%
% define local style option font for setting the font of the pdf freetext annotations
\define@key{pdffreetextcomment}{font}[\pc@gopt@font]%
{%
  \gdef\pc@lopt@font{#1}%
}%
%
% define local style option fontsize for setting the fontsize of the pdf freetext annotations
\define@key{pdffreetextcomment}{fontsize}[\pc@gopt@fontsize]%
{%
  \gdef\pc@lopt@fontsize{\pc@pttobp{#1}}%
}%
%
% define local style option fontcolor for setting the font color of the pdf freetext annotations
\define@key{pdffreetextcomment}{fontcolor}[\pc@gopt@fontcolor]%
{%
  \gdef\pc@lopt@fontcolor{#1}%
}%
%
% define local style option justification for setting the justification of the pdf freetext annotations
\define@choicekey*{pdffreetextcomment}{justification}[\pc@lopt@justification\nr]{left,center,right}[left]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@justification{0}%
  \or%
    \gdef\pc@lopt@justification{1}%
  \or%
    \gdef\pc@lopt@justification{2}%
  \fi%
}%
%
% define local style option borderstyle for setting the borderstyle of the pdf annotations
\define@choicekey*{pdffreetextcomment}{borderstyle}[\pc@lopt@borderstyle\nr]{solid,dashed}[solid]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@borderstyle{S}%
  \or%
    \gdef\pc@lopt@borderstyle{D}%
  \fi%
}%
%
% define local style option dashstyle for setting the dashstyle of the pdf annotations
\define@key{pdffreetextcomment}{dashstyle}[\pc@gopt@dashstyle]%
{%
  \gdef\pc@lopt@dashstyle{#1}%
}%
%
% define local style option linewidth for setting the linewidth of the pdf annotations
\define@key{pdffreetextcomment}{linewidth}[\pc@gopt@linewidth]%
{%
  \gdef\pc@lopt@linewidth{\pc@pttobp{#1}}%
}%
%
% define local style option bse for setting the border style effect of the pdf annotations
\define@choicekey*{pdffreetextcomment}{bse}[\pc@lopt@bse\nr]{none,cloudy}[none]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@bse{S}%
  \or%
    \gdef\pc@lopt@bse{C}%
  \fi%
}%
%
% define local style option bsei for setting the border style effect intensity of the pdf annotations
\define@key{pdffreetextcomment}{bsei}[\pc@gopt@bsei]%
{%
  \gdef\pc@lopt@bsei{#1}%
}%
%
% define local style option type for setting the type of the pdf freetext annotations
\define@choicekey*{pdffreetextcomment}{type}[\pc@lopt@type\nr]{freetext,callout,typewriter,line,polyline,polygon}[freetext]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@type{}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextCallout}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextTypewriter}%
  \or%
    \gdef\pc@lopt@type{Line}%
  \or%
    \gdef\pc@lopt@type{PolyLine}%
  \or%
    \gdef\pc@lopt@type{Polygon}%
  \fi%
}%
%
% define local style option lineend for setting the line end of the callout line of the pdf freetext annotations
\define@key{pdffreetextcomment}{lineend}[\pc@gopt@lineend]%
{%
  \gdef\pc@lopt@lineend{#1}%
}%
%
% define local style option linebegin for setting the line ends of the pdf line annotations
\define@key{pdffreetextcomment}{linebegin}[\pc@gopt@linebegin]%
{%
  \gdef\pc@lopt@linebegin{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option linebegin in command \pdffreetextcomment ignored!}%
}%
%
% define local style option icolor for setting the "inner" color of the pdf annotations
\define@key{pdffreetextcomment}{icolor}[\pc@gopt@icolor]%
{%
  \gdef\pc@lopt@icolor{#1}%
}%
%
% define local style option markup for setting the markup type of the pdf markup annotations
\define@key{pdffreetextcomment}{markup}[\pc@gopt@markup]%
{%
  \gdef\pc@lopt@markup{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option markup in command \pdffreetextcomment ignored!}%
}%
%
% define local style option caption for setting the caption type of the pdf line annotations
\define@choicekey*{pdffreetextcomment}{caption}[\pc@lopt@caption\nr]{none,inline,top}[inline]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@caption{none}%
  \or%
    \gdef\pc@lopt@caption{Inline}%
  \or%
    \gdef\pc@lopt@caption{Top}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option caption in command \pdffreetextcomment ignored!}%
}%
%
% define local style option line for setting the line coordinates of the pdf line annotations
\define@key{pdffreetextcomment}{line}[\pc@gopt@line]%
{%
  \gdef\pc@lopt@line{#1}%
}%
%
% define local style option captionhoffset for setting the caption hoffset of the pdf line annotations
\define@key{pdffreetextcomment}{captionhoffset}[\pc@gopt@captionhoffset]%
{%
  \gdef\pc@lopt@captionhoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionhoffset in command \pdffreetextcomment ignored!}%
}%
%
% define local style option captionvoffset for setting the caption voffset of the pdf line annotations
\define@key{pdffreetextcomment}{captionvoffset}[\pc@gopt@captionvoffset]%
{%
  \gdef\pc@lopt@captionoffset{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionvoffset in command \pdffreetextcomment ignored!}%
}%
%
% define local style option linesep for setting the linesep of the pdf sideline annotations
\define@key{pdffreetextcomment}{linesep}[\pc@gopt@linesep]%
{%
  \gdef\pc@lopt@linesep{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option linesep in command \pdffreetextcomment ignored!}%
}%
%
% define local style option avatar for setting a predefined set of options (Avatar)
\define@key{pdfmarkupcomment}{avatar}[]%
{%
  \edef\pc@edef@avatar{pc@avatar@#1}%
  \@ifundefined{\pc@edef@avatar}%
  {%
    \PackageWarning{pdfcomment}{Unknown avatar #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadavatar{\noexpand\setkeys{pdfmarkupcomment}{\csname pc@avatar@#1\endcsname}}%
    \pc@lopt@loadavatar%
  }%
}%
%
% define local style option style for setting a predefined set of options (Style)
\define@key{pdfmarkupcomment}{style}[]%
{%
  \edef\pc@edef@style{pc@style@#1}%
  \@ifundefined{\pc@edef@style}%
  {%
    \PackageWarning{pdfcomment}{Unknown style #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadstyle{\noexpand\setkeys{pdfmarkupcomment}{\csname pc@style@#1\endcsname}}%
    \pc@lopt@loadstyle%
  }%
}%
%
% define local command option subject for setting the subject of pdf annotations
\define@key{pdfmarkupcomment}{subject}[\pc@gopt@subject]%
{%
  \gdef\pc@lopt@subject{#1}%
}%
%
% define local command option color for setting the color of pdf annotations
\define@key{pdfmarkupcomment}{color}[\pc@gopt@color]%
{%
  \gdef\pc@lopt@color{#1}%
}%
%
% define local command option author for setting the author of pdf annotations
\define@key{pdfmarkupcomment}{author}[\pc@gopt@author]%
{%
  \gdef\pc@lopt@author{#1}%
}%
%
% define local command option deadline for setting a deadline in the pdf annotations
\define@key{pdfmarkupcomment}{deadline}[\pc@gopt@deadline]%
{%
  \gdef\pc@lopt@deadline{#1}%
}%
%
% define local command option icon for setting the icon of pdf annotations
\define@key{pdfmarkupcomment}{icon}[\pc@gopt@icon]%
{%
  \gdef\pc@lopt@icon{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option icon in command \pdfmarkupcomment ignored!}%
}%
%
% define local command option open for setting the open status (true,false) of pdf annotations
\define@key{pdfmarkupcomment}{open}[\pc@gopt@open]%
{%
  \gdef\pc@lopt@open{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option open in command \pdfmarkupcomment ignored!}%
}%
%
% define local command option hspace for setting the space after the pdf annotations
\define@key{pdfmarkupcomment}{hspace}[\pc@gopt@hspace]%
{%
  \gdef\pc@lopt@hspace{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option hspace in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option voffset for setting the vertical offset of the pdf annotations
\define@key{pdfmarkupcomment}{voffset}[\pc@gopt@voffset]%
{%
  \gdef\pc@lopt@voffset{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option voffset in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option hoffset for setting the horizontal offset of the pdf annotations
\define@key{pdfmarkupcomment}{hoffset}[\pc@gopt@hoffset]%
{%
  \gdef\pc@lopt@hoffset{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option hoffset in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option width for setting the width of the pdf annotations
\define@key{pdfmarkupcomment}{width}[\pc@gopt@width]%
{%
  \gdef\pc@lopt@width{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option width in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option height for setting the height of the pdf annotations
\define@key{pdfmarkupcomment}{height}[\pc@gopt@height]%
{%
  \gdef\pc@lopt@height{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option height in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option depth for setting the depth of the pdf annotations
\define@key{pdfmarkupcomment}{depth}[\pc@gopt@depth]%
{%
  \gdef\pc@lopt@depth{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option depth in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option opacity for setting the opacity of the pdf annotations
\define@key{pdfmarkupcomment}{opacity}[\pc@gopt@opacity]%
{%
  \gdef\pc@lopt@opacity{#1}%
}%
%
% define local style option font for setting the font of the pdf freetext annotations
\define@key{pdfmarkupcomment}{font}[\pc@gopt@font]%
{%
  \gdef\pc@lopt@font{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option font in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option fontsize for setting the fontsize of the pdf freetext annotations
\define@key{pdfmarkupcomment}{fontsize}[\pc@gopt@fontsize]%
{%
  \gdef\pc@lopt@fontsize{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontsize in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option fontcolor for setting the font color of the pdf freetext annotations
\define@key{pdfmarkupcomment}{fontcolor}[\pc@gopt@fontcolor]%
{%
  \gdef\pc@lopt@fontcolor{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontcolor in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option justification for setting the justification of the pdf freetext annotations
\define@choicekey*{pdfmarkupcomment}{justification}[\pc@lopt@justification\nr]{left,center,right}[left]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@justification{0}%
  \or%
    \gdef\pc@lopt@justification{1}%
  \or%
    \gdef\pc@lopt@justification{2}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option justification in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option borderstyle for setting the borderstyle of the pdf annotations
\define@choicekey*{pdfmarkupcomment}{borderstyle}[\pc@lopt@borderstyle\nr]{solid,dashed}[solid]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@borderstyle{S}%
  \or%
    \gdef\pc@lopt@borderstyle{D}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option borderstyle in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option dashstyle for setting the dashstyle of the pdf annotations
\define@key{pdfmarkupcomment}{dashstyle}[\pc@gopt@dashstyle]%
{%
  \gdef\pc@lopt@dashstyle{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option dashstyle in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option linewidth for setting the linewidth of the pdf annotations
\define@key{pdfmarkupcomment}{linewidth}[\pc@gopt@linewidth]%
{%
  \gdef\pc@lopt@linewidth{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option linewidth in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option bse for setting the border style effect of the pdf annotations
\define@choicekey*{pdfmarkupcomment}{bse}[\pc@lopt@bse\nr]{none,cloudy}[none]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@bse{S}%
  \or%
    \gdef\pc@lopt@bse{C}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option bse in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option bsei for setting the border style effect intensity of the pdf annotations
\define@key{pdfmarkupcomment}{bsei}[\pc@gopt@bsei]%
{%
  \gdef\pc@lopt@bsei{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option bsei in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option type for setting the type of the pdf freetext annotations
\define@choicekey*{pdfmarkupcomment}{type}[\pc@lopt@type\nr]{freetext,callout,typewriter,line,polyline,polygon}[freetext]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@type{}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextCallout}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextTypewriter}%
  \or%
    \gdef\pc@lopt@type{Line}%
  \or%
    \gdef\pc@lopt@type{PolyLine}%
  \or%
    \gdef\pc@lopt@type{Polygon}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option type in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option lineend for setting the line end of the callout line of the pdf freetext annotations
\define@key{pdfmarkupcomment}{lineend}[\pc@gopt@lineend]%
{%
  \gdef\pc@lopt@lineend{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option lineend in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option linebegin for setting the line ends of the pdf line annotations
\define@key{pdfmarkupcomment}{linebegin}[\pc@gopt@linebegin]%
{%
  \gdef\pc@lopt@linebegin{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option linebegin in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option icolor for setting the "inner" color of the pdf annotations
\define@key{pdfmarkupcomment}{icolor}[\pc@gopt@icolor]%
{%
  \gdef\pc@lopt@icolor{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option icolor in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option markup for setting the markup type of the pdf markup annotations
\define@key{pdfmarkupcomment}{markup}[\pc@gopt@markup]%
{%
  \gdef\pc@lopt@markup{#1}%
}%
%
% define local style option caption for setting the caption type of the pdf line annotations
\define@choicekey*{pdfmarkupcomment}{caption}[\pc@lopt@caption\nr]{none,inline,top}[inline]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@caption{none}%
  \or%
    \gdef\pc@lopt@caption{Inline}%
  \or%
    \gdef\pc@lopt@caption{Top}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option caption in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option line for setting the line coordinates of the pdf line annotations
\define@key{pdfmarkupcomment}{line}[\pc@gopt@line]%
{%
  \gdef\pc@lopt@line{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option line in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option captionhoffset for setting the caption hoffset of the pdf line annotations
\define@key{pdfmarkupcomment}{captionhoffset}[\pc@gopt@captionhoffset]%
{%
  \gdef\pc@lopt@captionhoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionhoffset in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option captionvoffset for setting the caption voffset of the pdf line annotations
\define@key{pdfmarkupcomment}{captionvoffset}[\pc@gopt@captionvoffset]%
{%
  \gdef\pc@lopt@captionvoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionvoffset in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option linesep for setting the linesep of the pdf sideline annotations
\define@key{pdfmarkupcomment}{linesep}[\pc@gopt@linesep]%
{%
  \gdef\pc@lopt@linesep{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option linesep in command \pdfmarkupcomment ignored!}%
}%
%
% define local style option avatar for setting a predefined set of options (Avatar)
\define@key{pdfsquarecomment}{avatar}[]%
{%
  \edef\pc@edef@avatar{pc@avatar@#1}%
  \@ifundefined{\pc@edef@avatar}%
  {%
    \PackageWarning{pdfcomment}{Unknown avatar #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadavatar{\noexpand\setkeys{pdfsquarecomment}{\csname pc@avatar@#1\endcsname}}%
    \pc@lopt@loadavatar%
  }%
}%
%
% define local style option style for setting a predefined set of options (Style)
\define@key{pdfsquarecomment}{style}[]%
{%
  \edef\pc@edef@style{pc@style@#1}%
  \@ifundefined{\pc@edef@style}%
  {%
    \PackageWarning{pdfcomment}{Unknown style #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadstyle{\noexpand\setkeys{pdfsquarecomment}{\csname pc@style@#1\endcsname}}%
    \pc@lopt@loadstyle%
  }%
}%
%
% define local command option subject for setting the subject of pdf annotations
\define@key{pdfsquarecomment}{subject}[\pc@gopt@subject]%
{%
  \gdef\pc@lopt@subject{#1}%
}%
%
% define local command option color for setting the color of pdf annotations
\define@key{pdfsquarecomment}{color}[\pc@gopt@color]%
{%
  \gdef\pc@lopt@color{#1}%
}%
%
% define local command option author for setting the author of pdf annotations
\define@key{pdfsquarecomment}{author}[\pc@gopt@author]%
{%
  \gdef\pc@lopt@author{#1}%
}%
%
% define local command option deadline for setting a deadline in the pdf annotations
\define@key{pdfsquarecomment}{deadline}[\pc@gopt@deadline]%
{%
  \gdef\pc@lopt@deadline{#1}%
}%
%
% define local command option icon for setting the icon of pdf annotations
\define@key{pdfsquarecomment}{icon}[\pc@gopt@icon]%
{%
  \gdef\pc@lopt@icon{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option icon in command \pdfsquarecomment ignored!}%
}%
%
% define local command option open for setting the open status (true,false) of pdf annotations
\define@key{pdfsquarecomment}{open}[\pc@gopt@open]%
{%
  \gdef\pc@lopt@open{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option open in command \pdfsquarecomment ignored!}%
}%
%
% define local command option hspace for setting the space after the pdf annotations
\define@key{pdfsquarecomment}{hspace}[\pc@gopt@hspace]%
{%
  \gdef\pc@lopt@hspace{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option hspace in command \pdfsquarecomment ignored!}%
}%
%
% define local style option voffset for setting the vertical offset of the pdf annotations
\define@key{pdfsquarecomment}{voffset}[\pc@gopt@voffset]%
{%
  \gdef\pc@lopt@voffset{#1}%
}%
%
% define local style option hoffset for setting the horizontal offset of the pdf annotations
\define@key{pdfsquarecomment}{hoffset}[\pc@gopt@hoffset]%
{%
  \gdef\pc@lopt@hoffset{#1}%
}%
%
% define local style option width for setting the width of the pdf annotations
\define@key{pdfsquarecomment}{width}[\pc@gopt@width]%
{%
  \gdef\pc@lopt@width{#1}%
}%
%
% define local style option height for setting the height of the pdf annotations
\define@key{pdfsquarecomment}{height}[\pc@gopt@height]%
{%
  \gdef\pc@lopt@height{#1}%
}%
%
% define local style option depth for setting the depth of the pdf annotations
\define@key{pdfsquarecomment}{depth}[\pc@gopt@depth]%
{%
  \gdef\pc@lopt@depth{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option depth in command \pdfsquarecomment ignored!}%
}%
%
% define local style option opacity for setting the opacity of the pdf annotations
\define@key{pdfsquarecomment}{opacity}[\pc@gopt@opacity]%
{%
  \gdef\pc@lopt@opacity{#1}%
}%
%
% define local style option font for setting the font of the pdf freetext annotations
\define@key{pdfsquarecomment}{font}[\pc@gopt@font]%
{%
  \gdef\pc@lopt@font{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option font in command \pdfsquarecomment ignored!}%
}%
%
% define local style option fontsize for setting the fontsize of the pdf freetext annotations
\define@key{pdfsquarecomment}{fontsize}[\pc@gopt@fontsize]%
{%
  \gdef\pc@lopt@fontsize{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontsize in command \pdfsquarecomment ignored!}%
}%
%
% define local style option fontcolor for setting the font color of the pdf freetext annotations
\define@key{pdfsquarecomment}{fontcolor}[\pc@gopt@fontcolor]%
{%
  \gdef\pc@lopt@fontcolor{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontcolor in command \pdfsquarecomment ignored!}%
}%
%
% define local style option justification for setting the justification of the pdf freetext annotations
\define@choicekey*{pdfsquarecomment}{justification}[\pc@lopt@justification\nr]{left,center,right}[left]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@justification{0}%
  \or%
    \gdef\pc@lopt@justification{1}%
  \or%
    \gdef\pc@lopt@justification{2}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option justification in command \pdfsquarecomment ignored!}%
}%
%
% define local style option borderstyle for setting the borderstyle of the pdf annotations
\define@choicekey*{pdfsquarecomment}{borderstyle}[\pc@lopt@borderstyle\nr]{solid,dashed}[solid]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@borderstyle{S}%
  \or%
    \gdef\pc@lopt@borderstyle{D}%
  \fi%
}%
%
% define local style option dashstyle for setting the dashstyle of the pdf annotations
\define@key{pdfsquarecomment}{dashstyle}[\pc@gopt@dashstyle]%
{%
  \gdef\pc@lopt@dashstyle{#1}%
}%
%
% define local style option linewidth for setting the linewidth of the pdf annotations
\define@key{pdfsquarecomment}{linewidth}[\pc@gopt@linewidth]%
{%
  \gdef\pc@lopt@linewidth{\pc@pttobp{#1}}%
}%
%
% define local style option bse for setting the border style effect of the pdf annotations
\define@choicekey*{pdfsquarecomment}{bse}[\pc@lopt@bse\nr]{none,cloudy}[none]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@bse{S}%
  \or%
    \gdef\pc@lopt@bse{C}%
  \fi%
}%
%
% define local style option bsei for setting the border style effect intensity of the pdf annotations
\define@key{pdfsquarecomment}{bsei}[\pc@gopt@bsei]%
{%
  \gdef\pc@lopt@bsei{#1}%
}%
%
% define local style option type for setting the type of the pdf freetext annotations
\define@choicekey*{pdfsquarecomment}{type}[\pc@lopt@type\nr]{freetext,callout,typewriter,line,polyline,polygon}[freetext]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@type{}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextCallout}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextTypewriter}%
  \or%
    \gdef\pc@lopt@type{Line}%
  \or%
    \gdef\pc@lopt@type{PolyLine}%
  \or%
    \gdef\pc@lopt@type{Polygon}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option type in command \pdfsquarecomment ignored!}%
}%
%
% define local style option lineend for setting the line end of the callout line of the pdf freetext annotations
\define@key{pdfsquarecomment}{lineend}[\pc@gopt@lineend]%
{%
  \gdef\pc@lopt@lineend{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option lineend in command \pdfsquarecomment ignored!}%
}%
%
% define local style option linebegin for setting the line ends of the pdf line annotations
\define@key{pdfsquarecomment}{linebegin}[\pc@gopt@linebegin]%
{%
  \gdef\pc@lopt@linebegin{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option linebegin in command \pdfsquarecomment ignored!}%
}%
%
% define local style option icolor for setting the "inner" color of the pdf annotations
\define@key{pdfsquarecomment}{icolor}[\pc@gopt@icolor]%
{%
  \gdef\pc@lopt@icolor{#1}%
}%
%
% define local style option markup for setting the markup type of the pdf markup annotations
\define@key{pdfsquarecomment}{markup}[\pc@gopt@markup]%
{%
  \gdef\pc@lopt@markup{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option markup in command \pdfsquarecomment ignored!}%
}%
%
% define local style option caption for setting the caption type of the pdf line annotations
\define@choicekey*{pdfsquarecomment}{caption}[\pc@lopt@caption\nr]{none,inline,top}[inline]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@caption{none}%
  \or%
    \gdef\pc@lopt@caption{Inline}%
  \or%
    \gdef\pc@lopt@caption{Top}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option caption in command \pdfsquarecomment ignored!}%
}%
%
% define local style option line for setting the line coordinates of the pdf line annotations
\define@key{pdfsquarecomment}{line}[\pc@gopt@line]%
{%
  \gdef\pc@lopt@line{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option line in command \pdfsquarecomment ignored!}%
}%
%
% define local style option captionhoffset for setting the caption hoffset of the pdf line annotations
\define@key{pdfsquarecomment}{captionhoffset}[\pc@gopt@captionhoffset]%
{%
  \gdef\pc@lopt@captionhoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionhoffset in command \pdfsquarecomment ignored!}%
}%
%
% define local style option captionvoffset for setting the caption voffset of the pdf line annotations
\define@key{pdfsquarecomment}{captionvoffset}[\pc@gopt@captionvoffset]%
{%
  \gdef\pc@lopt@captionvoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionvoffset in command \pdfsquarecomment ignored!}%
}%
%
% define local style option linesep for setting the linesep of the pdf sideline annotations
\define@key{pdfsquarecomment}{linesep}[\pc@gopt@linesep]%
{%
  \gdef\pc@lopt@linesep{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option linesep in command \pdfsquarecomment ignored!}%
}%
%
% define local style option avatar for setting a predefined set of options (Avatar)
\define@key{pdfcirclecomment}{avatar}[]%
{%
  \edef\pc@edef@avatar{pc@avatar@#1}%
  \@ifundefined{\pc@edef@avatar}%
  {%
    \PackageWarning{pdfcomment}{Unknown avatar #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadavatar{\noexpand\setkeys{pdfcirclecomment}{\csname pc@avatar@#1\endcsname}}%
    \pc@lopt@loadavatar%
  }%
}%
%
% define local style option style for setting a predefined set of options (Style)
\define@key{pdfcirclecomment}{style}[]%
{%
  \edef\pc@edef@style{pc@style@#1}%
  \@ifundefined{\pc@edef@style}%
  {%
    \PackageWarning{pdfcomment}{Unknown style #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadstyle{\noexpand\setkeys{pdfcirclecomment}{\csname pc@style@#1\endcsname}}%
    \pc@lopt@loadstyle%
  }%
}%
%
% define local command option subject for setting the subject of pdf annotations
\define@key{pdfcirclecomment}{subject}[\pc@gopt@subject]%
{%
  \gdef\pc@lopt@subject{#1}%
}%
%
% define local command option color for setting the color of pdf annotations
\define@key{pdfcirclecomment}{color}[\pc@gopt@color]%
{%
  \gdef\pc@lopt@color{#1}%
}%
%
% define local command option author for setting the author of pdf annotations
\define@key{pdfcirclecomment}{author}[\pc@gopt@author]%
{%
  \gdef\pc@lopt@author{#1}%
}%
%
% define local command option deadline for setting a deadline in the pdf annotations
\define@key{pdfcirclecomment}{deadline}[\pc@gopt@deadline]%
{%
  \gdef\pc@lopt@deadline{#1}%
}%
%
% define local command option icon for setting the icon of pdf annotations
\define@key{pdfcirclecomment}{icon}[\pc@gopt@icon]%
{%
  \gdef\pc@lopt@icon{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option icon in command \pdfcirclecomment ignored!}%
}%
%
% define local command option open for setting the open status (true,false) of pdf annotations
\define@key{pdfcirclecomment}{open}[\pc@gopt@open]%
{%
  \gdef\pc@lopt@open{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option open in command \pdfcirclecomment ignored!}%
}%
%
% define local command option hspace for setting the space after the pdf annotations
\define@key{pdfcirclecomment}{hspace}[\pc@gopt@hspace]%
{%
  \gdef\pc@lopt@hspace{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option hspace in command \pdfcirclecomment ignored!}%
}%
%
% define local style option voffset for setting the vertical offset of the pdf annotations
\define@key{pdfcirclecomment}{voffset}[\pc@gopt@voffset]%
{%
  \gdef\pc@lopt@voffset{#1}%
}%
%
% define local style option hoffset for setting the horizontal offset of the pdf annotations
\define@key{pdfcirclecomment}{hoffset}[\pc@gopt@hoffset]%
{%
  \gdef\pc@lopt@hoffset{#1}%
}%
%
% define local style option width for setting the width of the pdf annotations
\define@key{pdfcirclecomment}{width}[\pc@gopt@width]%
{%
  \gdef\pc@lopt@width{#1}%
}%
%
% define local style option height for setting the height of the pdf annotations
\define@key{pdfcirclecomment}{height}[\pc@gopt@height]%
{%
  \gdef\pc@lopt@height{#1}%
}%
%
% define local style option depth for setting the depth of the pdf annotations
\define@key{pdfcirclecomment}{depth}[\pc@gopt@depth]%
{%
  \gdef\pc@lopt@depth{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option depth in command \pdfcirclecomment ignored!}%
}%
%
% define local style option opacity for setting the opacity of the pdf annotations
\define@key{pdfcirclecomment}{opacity}[\pc@gopt@opacity]%
{%
  \gdef\pc@lopt@opacity{#1}%
}%
%
% define local style option font for setting the font of the pdf freetext annotations
\define@key{pdfcirclecomment}{font}[\pc@gopt@font]%
{%
  \gdef\pc@lopt@font{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option font in command \pdfcirclecomment ignored!}%
}%
%
% define local style option fontsize for setting the fontsize of the pdf freetext annotations
\define@key{pdfcirclecomment}{fontsize}[\pc@gopt@fontsize]%
{%
  \gdef\pc@lopt@fontsize{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontsize in command \pdfcirclecomment ignored!}%
}%
%
% define local style option fontcolor for setting the font color of the pdf freetext annotations
\define@key{pdfcirclecomment}{fontcolor}[\pc@gopt@fontcolor]%
{%
  \gdef\pc@lopt@fontcolor{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontcolor in command \pdfcirclecomment ignored!}%
}%
%
% define local style option justification for setting the justification of the pdf freetext annotations
\define@choicekey*{pdfcirclecomment}{justification}[\pc@lopt@justification\nr]{left,center,right}[left]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@justification{0}%
  \or%
    \gdef\pc@lopt@justification{1}%
  \or%
    \gdef\pc@lopt@justification{2}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option justification in command \pdfcirclecomment ignored!}%
}%
%
% define local style option borderstyle for setting the borderstyle of the pdf annotations
\define@choicekey*{pdfcirclecomment}{borderstyle}[\pc@lopt@borderstyle\nr]{solid,dashed}[solid]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@borderstyle{S}%
  \or%
    \gdef\pc@lopt@borderstyle{D}%
  \fi%
}%
%
% define local style option dashstyle for setting the dashstyle of the pdf annotations
\define@key{pdfcirclecomment}{dashstyle}[\pc@gopt@dashstyle]%
{%
  \gdef\pc@lopt@dashstyle{#1}%
}%
%
% define local style option linewidth for setting the linewidth of the pdf annotations
\define@key{pdfcirclecomment}{linewidth}[\pc@gopt@linewidth]%
{%
  \gdef\pc@lopt@linewidth{\pc@pttobp{#1}}%
}%
%
% define local style option bse for setting the border style effect of the pdf annotations
\define@choicekey*{pdfcirclecomment}{bse}[\pc@lopt@bse\nr]{none,cloudy}[none]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@bse{S}%
  \or%
    \gdef\pc@lopt@bse{C}%
  \fi%
}%
%
% define local style option bsei for setting the border style effect intensity of the pdf annotations
\define@key{pdfcirclecomment}{bsei}[\pc@gopt@bsei]%
{%
  \gdef\pc@lopt@bsei{#1}%
}%
%
% define local style option type for setting the type of the pdf freetext annotations
\define@choicekey*{pdfcirclecomment}{type}[\pc@lopt@type\nr]{freetext,callout,typewriter,line,polyline,polygon}[freetext]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@type{}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextCallout}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextTypewriter}%
  \or%
    \gdef\pc@lopt@type{Line}%
  \or%
    \gdef\pc@lopt@type{PolyLine}%
  \or%
    \gdef\pc@lopt@type{Polygon}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option type in command \pdfcirclecomment ignored!}%
}%
%
% define local style option lineend for setting the line end of the callout line of the pdf freetext annotations
\define@key{pdfcirclecomment}{lineend}[\pc@gopt@lineend]%
{%
  \gdef\pc@lopt@lineend{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option lineend in command \pdfcirclecomment ignored!}%
}%
%
% define local style option linebegin for setting the line ends of the pdf line annotations
\define@key{pdfcirclecomment}{linebegin}[\pc@gopt@linebegin]%
{%
  \gdef\pc@lopt@linebegin{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option linebegin in command \pdfcirclecomment ignored!}%
}%
%
% define local style option icolor for setting the "inner" color of the pdf annotations
\define@key{pdfcirclecomment}{icolor}[\pc@gopt@icolor]%
{%
  \gdef\pc@lopt@icolor{#1}%
}%
%
% define local style option markup for setting the markup type of the pdf markup annotations
\define@key{pdfcirclecomment}{markup}[\pc@gopt@markup]%
{%
  \gdef\pc@lopt@markup{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option markup in command \pdfcirclecomment ignored!}%
}%
%
% define local style option caption for setting the caption type of the pdf line annotations
\define@choicekey*{pdfcirclecomment}{caption}[\pc@lopt@caption\nr]{none,inline,top}[inline]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@caption{none}%
  \or%
    \gdef\pc@lopt@caption{Inline}%
  \or%
    \gdef\pc@lopt@caption{Top}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option caption in command \pdfcirclecomment ignored!}%
}%
%
% define local style option line for setting the line coordinates of the pdf line annotations
\define@key{pdfcirclecomment}{line}[\pc@gopt@line]%
{%
  \gdef\pc@lopt@line{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option line in command \pdfcirclecomment ignored!}%
}%
%
% define local style option captionhoffset for setting the caption hoffset of the pdf line annotations
\define@key{pdfcirclecomment}{captionhoffset}[\pc@gopt@captionhoffset]%
{%
  \gdef\pc@lopt@captionhoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionhoffset in command \pdfcirclecomment ignored!}%
}%
%
% define local style option captionvoffset for setting the caption voffset of the pdf line annotations
\define@key{pdfcirclecomment}{captionvoffset}[\pc@gopt@captionvoffset]%
{%
  \gdef\pc@lopt@captionvoffset{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option captionvoffset in command \pdfcirclecomment ignored!}%
}%
%
% define local style option linesep for setting the linesep of the pdf sideline annotations
\define@key{pdfcirclecomment}{linesep}[\pc@gopt@linesep]%
{%
  \gdef\pc@lopt@linesep{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option linesep in command \pdfcirclecomment ignored!}%
}%
%
% define local style option avatar for setting a predefined set of options (Avatar)
\define@key{pdflinecomment}{avatar}[]%
{%
  \edef\pc@edef@avatar{pc@avatar@#1}%
  \@ifundefined{\pc@edef@avatar}%
  {%
    \PackageWarning{pdfcomment}{Unknown avatar #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadavatar{\noexpand\setkeys{pdflinecomment}{\csname pc@avatar@#1\endcsname}}%
    \pc@lopt@loadavatar%
  }%
}%
%
% define local style option style for setting a predefined set of options (Style)
\define@key{pdflinecomment}{style}[]%
{%
  \edef\pc@edef@style{pc@style@#1}%
  \@ifundefined{\pc@edef@style}%
  {%
    \PackageWarning{pdfcomment}{Unknown style #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadstyle{\noexpand\setkeys{pdflinecomment}{\csname pc@style@#1\endcsname}}%
    \pc@lopt@loadstyle%
  }%
}%
%
% define local command option subject for setting the subject of pdf annotations
\define@key{pdflinecomment}{subject}[\pc@gopt@subject]%
{%
  \gdef\pc@lopt@subject{#1}%
}%
%
% define local command option color for setting the color of pdf annotations
\define@key{pdflinecomment}{color}[\pc@gopt@color]%
{%
  \gdef\pc@lopt@color{#1}%
}%
%
% define local command option author for setting the author of pdf annotations
\define@key{pdflinecomment}{author}[\pc@gopt@author]%
{%
  \gdef\pc@lopt@author{#1}%
}%
%
% define local command option deadline for setting a deadline in the pdf annotations
\define@key{pdflinecomment}{deadline}[\pc@gopt@deadline]%
{%
  \gdef\pc@lopt@deadline{#1}%
}%
%
% define local command option icon for setting the icon of pdf annotations
\define@key{pdflinecomment}{icon}[\pc@gopt@icon]%
{%
  \gdef\pc@lopt@icon{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option icon in command \pdflinecomment ignored!}%
}%
%
% define local command option open for setting the open status (true,false) of pdf annotations
\define@key{pdflinecomment}{open}[\pc@gopt@open]%
{%
  \gdef\pc@lopt@open{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option open in command \pdflinecomment ignored!}%
}%
%
% define local command option hspace for setting the space after the pdf annotations
\define@key{pdflinecomment}{hspace}[\pc@gopt@hspace]%
{%
  \gdef\pc@lopt@hspace{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option hspace in command \pdflinecomment ignored!}%
}%
%
% define local style option voffset for setting the vertical offset of the pdf annotations
\define@key{pdflinecomment}{voffset}[\pc@gopt@voffset]%
{%
  \gdef\pc@lopt@voffset{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option voffset in command \pdflinecomment ignored!}%
}%
%
% define local style option hoffset for setting the horizontal offset of the pdf annotations
\define@key{pdflinecomment}{hoffset}[\pc@gopt@hoffset]%
{%
  \gdef\pc@lopt@hoffset{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option hoffset in command \pdflinecomment ignored!}%
}%
%
% define local style option width for setting the width of the pdf annotations
\define@key{pdflinecomment}{width}[\pc@gopt@width]%
{%
  \gdef\pc@lopt@width{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option width in command \pdflinecomment ignored!}%
}%
%
% define local style option height for setting the height of the pdf annotations
\define@key{pdflinecomment}{height}[\pc@gopt@height]%
{%
  \gdef\pc@lopt@height{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option height in command \pdflinecomment ignored!}%
}%
%
% define local style option depth for setting the depth of the pdf annotations
\define@key{pdflinecomment}{depth}[\pc@gopt@depth]%
{%
  \gdef\pc@lopt@depth{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option depth in command \pdflinecomment ignored!}%
}%
%
% define local style option opacity for setting the opacity of the pdf annotations
\define@key{pdflinecomment}{opacity}[\pc@gopt@opacity]%
{%
  \gdef\pc@lopt@opacity{#1}%
}%
%
% define local style option font for setting the font of the pdf freetext annotations
\define@key{pdflinecomment}{font}[\pc@gopt@font]%
{%
  \gdef\pc@lopt@font{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option font in command \pdflinecomment ignored!}%
}%
%
% define local style option fontsize for setting the fontsize of the pdf freetext annotations
\define@key{pdflinecomment}{fontsize}[\pc@gopt@fontsize]%
{%
  \gdef\pc@lopt@fontsize{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontsize in command \pdflinecomment ignored!}%
}%
%
% define local style option fontcolor for setting the font color of the pdf freetext annotations
\define@key{pdflinecomment}{fontcolor}[\pc@gopt@fontcolor]%
{%
  \gdef\pc@lopt@fontcolor{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontcolor in command \pdflinecomment ignored!}%
}%
%
% define local style option justification for setting the justification of the pdf freetext annotations
\define@choicekey*{pdflinecomment}{justification}[\pc@lopt@justification\nr]{left,center,right}[left]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@justification{0}%
  \or%
    \gdef\pc@lopt@justification{1}%
  \or%
    \gdef\pc@lopt@justification{2}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option justification in command \pdflinecomment ignored!}%
}%
%
% define local style option borderstyle for setting the borderstyle of the pdf annotations
\define@choicekey*{pdflinecomment}{borderstyle}[\pc@lopt@borderstyle\nr]{solid,dashed}[solid]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@borderstyle{S}%
  \or%
    \gdef\pc@lopt@borderstyle{D}%
  \fi%
}%
%
% define local style option dashstyle for setting the dashstyle of the pdf annotations
\define@key{pdflinecomment}{dashstyle}[\pc@gopt@dashstyle]%
{%
  \gdef\pc@lopt@dashstyle{#1}%
}%
%
% define local style option linewidth for setting the linewidth of the pdf annotations
\define@key{pdflinecomment}{linewidth}[\pc@gopt@linewidth]%
{%
  \gdef\pc@lopt@linewidth{\pc@pttobp{#1}}%
}%
%
% define local style option bse for setting the border style effect of the pdf annotations
\define@choicekey*{pdflinecomment}{bse}[\pc@lopt@bse\nr]{none,cloudy}[none]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@bse{S}%
  \or%
    \gdef\pc@lopt@bse{C}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option bse in command \pdflinecomment ignored!}%
}%
%
% define local style option bsei for setting the border style effect intensity of the pdf annotations
\define@key{pdflinecomment}{bsei}[\pc@gopt@bsei]%
{%
  \gdef\pc@lopt@bsei{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option bsei in command \pdflinecomment ignored!}%
}%
%
% define local style option type for setting the type of the pdf freetext annotations
\define@choicekey*{pdflinecomment}{type}[\pc@lopt@type\nr]{freetext,callout,typewriter,line,polyline,polygon}[freetext]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@type{}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextCallout}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextTypewriter}%
  \or%
    \gdef\pc@lopt@type{Line}%
  \or%
    \gdef\pc@lopt@type{PolyLine}%
  \or%
    \gdef\pc@lopt@type{Polygon}%
  \fi%
}%
%
% define local style option lineend for setting the line end of the callout line of the pdf freetext annotations
\define@key{pdflinecomment}{lineend}[\pc@gopt@lineend]%
{%
  \gdef\pc@lopt@lineend{#1}%
}%
%
% define local style option linebegin for setting the line ends of the pdf line annotations
\define@key{pdflinecomment}{linebegin}[\pc@gopt@linebegin]%
{%
  \gdef\pc@lopt@linebegin{#1}%
}%
%
% define local style option icolor for setting the "inner" color of the pdf annotations
\define@key{pdflinecomment}{icolor}[\pc@gopt@icolor]%
{%
  \gdef\pc@lopt@icolor{#1}%
}%
%
% define local style option markup for setting the markup type of the pdf markup annotations
\define@key{pdflinecomment}{markup}[\pc@gopt@markup]%
{%
  \gdef\pc@lopt@markup{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option markup in command \pdflinecomment ignored!}%
}%
%
% define local style option caption for setting the caption type of the pdf line annotations
\define@choicekey*{pdflinecomment}{caption}[\pc@lopt@caption\nr]{none,inline,top}[inline]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@caption{none}%
  \or%
    \gdef\pc@lopt@caption{Inline}%
  \or%
    \gdef\pc@lopt@caption{Top}%
  \fi%
}%
%
% define local style option line for setting the line coordinates of the pdf line annotations
\define@key{pdflinecomment}{line}[\pc@gopt@line]%
{%
  \gdef\pc@lopt@line{#1}%
}%
%
% define local style option captionhoffset for setting the caption hoffset of the pdf line annotations
\define@key{pdflinecomment}{captionhoffset}[\pc@gopt@captionhoffset]%
{%
  \gdef\pc@lopt@captionhoffset{\pc@pttobp{#1}}%
}%
%
% define local style option captionvoffset for setting the caption voffset of the pdf line annotations
\define@key{pdflinecomment}{captionvoffset}[\pc@gopt@captionvoffset]%
{%
  \gdef\pc@lopt@captionvoffset{\pc@pttobp{#1}}%
}%
%
% define local style option linesep for setting the linesep of the pdf sideline annotations
\define@key{pdflinecomment}{linesep}[\pc@gopt@linesep]%
{%
  \gdef\pc@lopt@linesep{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option linesep in command \pdflinecomment ignored!}%
}%
%
% define local style option avatar for setting a predefined set of options (Avatar)
\define@key{pdfsidelinecomment}{avatar}[]%
{%
  \edef\pc@edef@avatar{pc@avatar@#1}%
  \@ifundefined{\pc@edef@avatar}%
  {%
    \PackageWarning{pdfcomment}{Unknown avatar #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadavatar{\noexpand\setkeys{pdfsidelinecomment}{\csname pc@avatar@#1\endcsname}}%
    \pc@lopt@loadavatar%
  }%
}%
%
% define local style option style for setting a predefined set of options (Style)
\define@key{pdfsidelinecomment}{style}[]%
{%
  \edef\pc@edef@style{pc@style@#1}%
  \@ifundefined{\pc@edef@style}%
  {%
    \PackageWarning{pdfcomment}{Unknown style #1\MessageBreak%
                                skip assignment}%
  }%
  {%
    \edef\pc@lopt@loadstyle{\noexpand\setkeys{pdfsidelinecomment}{\csname pc@style@#1\endcsname}}%
    \pc@lopt@loadstyle%
  }%
}%
%
% define local command option subject for setting the subject of pdf annotations
\define@key{pdfsidelinecomment}{subject}[\pc@gopt@subject]%
{%
  \gdef\pc@lopt@subject{#1}%
}%
%
% define local command option color for setting the color of pdf annotations
\define@key{pdfsidelinecomment}{color}[\pc@gopt@color]%
{%
  \gdef\pc@lopt@color{#1}%
}%
%
% define local command option author for setting the author of pdf annotations
\define@key{pdfsidelinecomment}{author}[\pc@gopt@author]%
{%
  \gdef\pc@lopt@author{#1}%
}%
%
% define local command option deadline for setting a deadline in the pdf annotations
\define@key{pdfsidelinecomment}{deadline}[\pc@gopt@deadline]%
{%
  \gdef\pc@lopt@deadline{#1}%
}%
%
% define local command option icon for setting the icon of pdf annotations
\define@key{pdfsidelinecomment}{icon}[\pc@gopt@icon]%
{%
  \gdef\pc@lopt@icon{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option icon in command \pdfsidelinecomment ignored!}%
}%
%
% define local command option open for setting the open status (true,false) of pdf annotations
\define@key{pdfsidelinecomment}{open}[\pc@gopt@open]%
{%
  \gdef\pc@lopt@open{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option open in command \pdfsidelinecomment ignored!}%
}%
%
% define local command option hspace for setting the space after the pdf annotations
\define@key{pdfsidelinecomment}{hspace}[\pc@gopt@hspace]%
{%
  \gdef\pc@lopt@hspace{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option hspace in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option voffset for setting the vertical offset of the pdf annotations
\define@key{pdfsidelinecomment}{voffset}[\pc@gopt@voffset]%
{%
  \gdef\pc@lopt@voffset{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option voffset in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option hoffset for setting the horizontal offset of the pdf annotations
\define@key{pdfsidelinecomment}{hoffset}[\pc@gopt@hoffset]%
{%
  \gdef\pc@lopt@hoffset{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option hoffset in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option width for setting the width of the pdf annotations
\define@key{pdfsidelinecomment}{width}[\pc@gopt@width]%
{%
  \gdef\pc@lopt@width{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option width in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option height for setting the height of the pdf annotations
\define@key{pdfsidelinecomment}{height}[\pc@gopt@height]%
{%
  \gdef\pc@lopt@height{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option height in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option depth for setting the depth of the pdf annotations
\define@key{pdfsidelinecomment}{depth}[\pc@gopt@depth]%
{%
  \gdef\pc@lopt@depth{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option depth in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option opacity for setting the opacity of the pdf annotations
\define@key{pdfsidelinecomment}{opacity}[\pc@gopt@opacity]%
{%
  \gdef\pc@lopt@opacity{#1}%
}%
%
% define local style option font for setting the font of the pdf freetext annotations
\define@key{pdfsidelinecomment}{font}[\pc@gopt@font]%
{%
  \gdef\pc@lopt@font{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option font in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option fontsize for setting the fontsize of the pdf freetext annotations
\define@key{pdfsidelinecomment}{fontsize}[\pc@gopt@fontsize]%
{%
  \gdef\pc@lopt@fontsize{\pc@pttobp{#1}}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontsize in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option fontcolor for setting the font color of the pdf freetext annotations
\define@key{pdfsidelinecomment}{fontcolor}[\pc@gopt@fontcolor]%
{%
  \gdef\pc@lopt@fontcolor{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option fontcolor in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option justification for setting the justification of the pdf freetext annotations
\define@choicekey*{pdfsidelinecomment}{justification}[\pc@lopt@justification\nr]{left,center,right}[left]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@justification{0}%
  \or%
    \gdef\pc@lopt@justification{1}%
  \or%
    \gdef\pc@lopt@justification{2}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option justification in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option borderstyle for setting the borderstyle of the pdf annotations
\define@choicekey*{pdfsidelinecomment}{borderstyle}[\pc@lopt@borderstyle\nr]{solid,dashed}[solid]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@borderstyle{S}%
  \or%
    \gdef\pc@lopt@borderstyle{D}%
  \fi%
}%
%
% define local style option dashstyle for setting the dashstyle of the pdf annotations
\define@key{pdfsidelinecomment}{dashstyle}[\pc@gopt@dashstyle]%
{%
  \gdef\pc@lopt@dashstyle{#1}%
}%
%
% define local style option linewidth for setting the linewidth of the pdf annotations
\define@key{pdfsidelinecomment}{linewidth}[\pc@gopt@linewidth]%
{%
  \gdef\pc@lopt@linewidth{\pc@pttobp{#1}}%
}%
%
% define local style option bse for setting the border style effect of the pdf annotations
\define@choicekey*{pdfsidelinecomment}{bse}[\pc@lopt@bse\nr]{none,cloudy}[none]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@bse{S}%
  \or%
    \gdef\pc@lopt@bse{C}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option bse in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option bsei for setting the border style effect intensity of the pdf annotations
\define@key{pdfsidelinecomment}{bsei}[\pc@gopt@bsei]%
{%
  \gdef\pc@lopt@bsei{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option bsei in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option type for setting the type of the pdf freetext annotations
\define@choicekey*{pdfsidelinecomment}{type}[\pc@lopt@type\nr]{freetext,callout,typewriter,line,polyline,polygon}[freetext]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@type{}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextCallout}%
  \or%
    \gdef\pc@lopt@type{/IT /FreeTextTypewriter}%
  \or%
    \gdef\pc@lopt@type{Line}%
  \or%
    \gdef\pc@lopt@type{PolyLine}%
  \or%
    \gdef\pc@lopt@type{Polygon}%
  \fi%
  \PackageInfo{pdfcomment.sty}{Setting of option line in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option lineend for setting the line end of the callout line of the pdf freetext annotations
\define@key{pdfsidelinecomment}{lineend}[\pc@gopt@lineend]%
{%
  \gdef\pc@lopt@lineend{#1}%
}%
%
% define local style option linebegin for setting the line ends of the pdf line annotations
\define@key{pdfsidelinecomment}{linebegin}[\pc@gopt@linebegin]%
{%
  \gdef\pc@lopt@linebegin{#1}%
}%
%
% define local style option icolor for setting the "inner" color of the pdf annotations
\define@key{pdfsidelinecomment}{icolor}[\pc@gopt@icolor]%
{%
  \gdef\pc@lopt@icolor{#1}%
}%
%
% define local style option markup for setting the markup type of the pdf markup annotations
\define@key{pdfsidelinecomment}{markup}[\pc@gopt@markup]%
{%
  \gdef\pc@lopt@markup{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option markup in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option caption for setting the caption type of the pdf line annotations
\define@choicekey*{pdfsidelinecomment}{caption}[\pc@lopt@caption\nr]{none,inline,top}[inline]%
{%
  \ifcase\nr\relax%
    \gdef\pc@lopt@caption{none}%
  \or%
    \gdef\pc@lopt@caption{Inline}%
  \or%
    \gdef\pc@lopt@caption{Top}%
  \fi%
}%
%
% define local style option line for setting the line coordinates of the pdf line annotations
\define@key{pdfsidelinecomment}{line}[\pc@gopt@line]%
{%
  \gdef\pc@lopt@line{#1}%
  \PackageInfo{pdfcomment.sty}{Setting of option line in command \pdfsidelinecomment ignored!}%
}%
%
% define local style option captionhoffset for setting the caption hoffset of the pdf line annotations
\define@key{pdfsidelinecomment}{captionhoffset}[\pc@gopt@captionhoffset]%
{%
  \gdef\pc@lopt@captionhoffset{\pc@pttobp{#1}}%
}%
%
% define local style option captionvoffset for setting the caption voffset of the pdf line annotations
\define@key{pdfsidelinecomment}{captionvoffset}[\pc@gopt@captionvoffset]%
{%
  \gdef\pc@lopt@captionvoffset{\pc@pttobp{#1}}%
}%
%
% define local style option linesep for setting the linesep of the pdf sideline annotations
\define@key{pdfsidelinecomment}{linesep}[\pc@gopt@linesep]%
{%
  \gdef\pc@lopt@linesep{\pc@pttobp{#1}}%
}%
%
% define cammand option liststyle for \listofpdfcomments
\define@key{listofpdfcomments}{liststyle}[AuthorSubject]%
{%
  \gdef\pc@lopt@liststyle{#1}%
}%
%
% define cammand option heading for \listofpdfcomments
\define@key{listofpdfcomments}{heading}[\lpcname]%
{%
  \renewcommand{\lpcname}{#1}%
}%
%
\ExecuteOptionsX{subject,color,author,deadline,icon,open,hspace,voffset,hoffset,width,height,depth,opacity,markup,font,fontsize,fontcolor,justification,borderstyle,linewidth,dashstyle,bse,bsei,type,lineend,linebegin,icolor,line,caption,captionhoffset,captionvoffset,linesep}%
%
\ProcessOptionsX\relax%
%
\RequirePackage{zref-savepos}[2007/04/22]%
\zref@require@unique%
\RequirePackage{ifthen}%
\RequirePackage{calc}%
\RequirePackage{marginnote}%
\RequirePackage{ifpdf}%
%
%hyperref setup
\ifpdf%
  \@ifpackageloaded{hyperref}%
  {%
    \hypersetup{pdftex}%
  }%
  {%
    \RequirePackage[pdftex]{hyperref}[2007/04/09]%
  }%
\else%
  % to avoid problems with different default page size in 
  % pdflatex (dvi mode) and dvipdfmx/dvips 
  \pdfpageheight=\paperheight%
  \pdfpagewidth=\paperwidth%
  %auto-set dvipdfmx driver in case of xetex
  \expandafter\ifx\csname XeTeXrevision\endcsname\relax%
    \ifpc@gopt@dvipdfmx%
      \@ifpackageloaded{hyperref}%
      {%
        \hypersetup{dvipdfmx}%
      }%
      {%
        \RequirePackage[dvipdfmx]{hyperref}[2007/04/09]%
      }%
    \else%
      \@ifpackageloaded{hyperref}%
      {%
        \hypersetup{dvips}%
      }%
      {%
        \RequirePackage[dvips]{hyperref}[2007/04/09]%
      }%
    \fi%
  \else%
    \global\pc@gopt@dvipdfmxtrue%
    \@ifpackageloaded{hyperref}%
    {%
      \hypersetup{xetex}%
    }%
    {%
      \RequirePackage[xetex]{hyperref}[2007/04/09]%
    }%
  \fi%
\fi%
%
% 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][]%
{%
  \hspace*{0pt}%
  % Copy all global options to local options
  \pc@copy@gopt@lopt%
  % Change local options if specified
  \setkeys{pdfcomment}{#1}%
  % Encode Contents, Author and Subject to pdf encodings (PD or PU) with hyperref's \pdfstringdef
  % and transform color input to pdf color
  \pc@encode@PDF{#2}%
  \ifthenelse{\equal{\pc@lopt@color}{}}%
  {%
    \gdef\pc@lopt@c{}%
  }%
  {%
    \gdef\pc@lopt@c{/C [\pc@hyenc@color]}%
  }%
  \ifpc@gopt@final\else%
    \pc@create@lpc%
    % typeset text annotation (see: PDF Reference)
    \ifpdf%
      \vbox%
      {%
        \hsize=0pt%
        \noindent%
        \vspace{\pc@lopt@voffset}%
        \hbox to 0pt%
        {%
          \vsize=0pt%
          \hskip\pc@lopt@hoffset%
          \pdfannot width 0pt height \normalbaselineskip depth 0pt%
          {%
            /Subtype /Text%
            \pc@annot@text%
          }%
        \hss%
        }%
      }%
    \else%
      \ifpc@gopt@dvipdfmx%
        \vbox%
        {%
          \hsize=0pt%
          \noindent%
          \vspace{\pc@lopt@voffset}%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            \hskip\pc@lopt@hoffset%
            \special{pdf: ann width 0pt\space height \the\normalbaselineskip\space depth 0pt%
              <<%
                /Subtype /Text%
                \pc@annot@text%
              >>%
            }%
            \hss%
          }%
        }%
      \else%
        \vbox%
        {%
          \hsize=0pt%
          \noindent%
          \vspace{\pc@lopt@voffset}%
          \vspace{\normalbaselineskip}%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            \hskip\pc@lopt@hoffset%
            \pdfmark[\rule{0pt}{0pt}]%
            {%
              pdfmark=/ANN,%
              Subtype=/Text,%
              Raw={\pc@annot@text}%
            }%
            \hss%
          }%
        }%
      \fi%
    \fi%
    \hspace{\pc@lopt@hspace}%
  \fi%
}%
%
\newcommand{\pdfmargincomment}[2][]%
{%
  \hspace*{0pt}%
  % Copy all global options to local options
  \pc@copy@gopt@lopt%
  % Change local options if specified
  \setkeys{pdfmargincomment}{#1}%
  % Encode Contents, Author and Subject to pdf encodings (PD or PU) with hyperref's \pdfstringdef
  % and transform color input to pdf color
  \pc@encode@PDF{#2}%
  \ifthenelse{\equal{\pc@lopt@color}{}}%
  {%
    \gdef\pc@lopt@c{}%
  }%
  {%
    \gdef\pc@lopt@c{/C [\pc@hyenc@color]}%
  }%
  \ifpc@gopt@final\else%
    \pc@create@lpc%
    \begingroup%
    % center marginnotes!
      \renewcommand{\raggedleftmarginnote}{\pc@raggedleftmarginnote}%
      \renewcommand{\raggedrightmarginnote}{\pc@raggedrightmarginnote}%
      % typeset text annotation (see: PDF Reference)
      \marginnote%
      {%
        \ifpdf%
          \vbox%
          {%
            \hsize=0pt%
            \noindent%
            \vspace{\pc@lopt@voffset}%
            \hbox to 0pt%
            {%
              \vsize=0pt%
              \hskip\pc@lopt@hoffset%
              \pdfannot width 0pt height \normalbaselineskip depth 0pt%
              {%
                /Subtype /Text%
                \pc@annot@text%
              }
              \hss%
            }%
          }%
        \else%
          \ifpc@gopt@dvipdfmx%
            \vbox%
            {%
              \hsize=0pt%
              \noindent%
              \vspace{\pc@lopt@voffset}%
              \hbox to 0pt%
              {%
                \vsize=0pt%
                \hskip\pc@lopt@hoffset%
                \special{pdf: ann width 0pt\space height \the\normalbaselineskip\space depth 0pt%
                  <<%
                    /Subtype /Text%
                    \pc@annot@text%
                  >>%
                }%
                \hss%
              }%
            }%
          \else%
            \vbox%
            {%
              \hsize=0pt%
              \noindent%
              \vspace{\pc@lopt@voffset}%
              \vspace{\normalbaselineskip}%
              \hbox to 0pt%
              {%
                \vsize=0pt%
                \hskip\pc@lopt@hoffset%
                \pdfmark[\rule{0pt}{0pt}]%
                {%
                  pdfmark=/ANN,%
                  Subtype=/Text,%
                  Raw={\pc@annot@text}%
                }%
                \hss%
              }%
            }%
          \fi%
        \fi%
        \hspace{\pc@lopt@hspace}%
      }%
    \endgroup%
  \fi%
}%
%
\newcommand{\pdffreetextcomment}[2][]%
{%
  \hspace*{0pt}%
  % Copy all global options to local options
  \pc@copy@gopt@lopt%
  % Change local options if specified
  \setkeys{pdffreetextcomment}{#1}%
  % Encode Contents, Author and Subject to pdf encodings (PD or PU) with hyperref's \pdfstringdef
  % and transform color input to pdf color
  \pc@encode@PDF{#2}%
  \ifthenelse{\equal{\pc@lopt@type}{/IT /FreeTextTypewriter}}%
  {%
    \gdef\pc@lopt@c{}%
    \gdef\pc@lopt@linewidth{0}%
  }%
  {%
    \gdef\pc@lopt@c{/C [\pc@hyenc@color]}%
  }%
  \ifthenelse{\equal{\pc@lopt@color}{}}%
  {%
    \gdef\pc@lopt@c{}%
  }%
  {}%
  %create options for \pdfannot
  \pc@create@pdfannotopt%
  \ifpc@gopt@final\else%
    % typeset freetext annotation (see: PDF Reference)
    \ifpdf%
      \vbox to 0pt%
      {%
        \hsize=0pt%
        \noindent%
        \vskip-\pc@lopt@voffset%
        \hbox to 0pt%
        {%
          \vsize=0pt%
          \hskip\pc@lopt@hoffset%
          \pc@create@lpc%
          \expandafter\pdfannot \pc@pdfannotopt%
          {%
          /Subtype /FreeText%
          \pc@annot@freetext%
          }%
        \hss%
        }%
      \vss%
      }%
    \else%
      \ifpc@gopt@dvipdfmx%
        \vbox to 0pt%
        {%
          \hsize=0pt%
          \noindent%
          \vskip-\pc@lopt@voffset%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            \hskip\pc@lopt@hoffset%
            \pc@create@lpc%
            \special{pdf: ann \pc@pdfannotopt%
              <<%
                /Subtype /FreeText%
                \pc@annot@freetext%
              >>%
            }%
            \hss%
          }%
          \vss%
        }%
      \else%
        \vbox to 0pt%
        {%
          \hsize=0pt%
          \noindent%
          \vskip-\pc@lopt@voffset%
          % add extra \vskip box height because of different reference point
          \vskip-\pc@lopt@height%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            \hskip\pc@lopt@hoffset%
            \pc@create@lpc%
            %create dimensions of annotation
            \pdfmark[\rule{0pt}{\pc@lopt@height}\rule{\pc@lopt@width}{0pt}]%
            {%
              pdfmark=/ANN,%
              Subtype=/FreeText,%
              Raw={\pc@annot@freetext}%
            }%
            \hss%
          }%
          \vss%
        }%
      \fi%
    \fi%
  \fi%
}%
%
\newcommand{\pdfsquarecomment}[2][]%
{%
  \hspace*{0pt}%
  % Copy all global options to local options
  \pc@copy@gopt@lopt%
  % Change local options if specified
  \setkeys{pdfsquarecomment}{#1}%
  % Encode Contents, Author and Subject to pdf encodings (PD or PU) with hyperref's \pdfstringdef
  % and transform color input to pdf color
  \pc@encode@PDF{#2}%
  \ifthenelse{\equal{\pc@lopt@color}{}}%
  {%
    \gdef\pc@lopt@c{}%
  }%
  {%
    \gdef\pc@lopt@c{/C [\pc@hyenc@color]}%
  }%
  \ifthenelse{\equal{\pc@lopt@icolor}{}}%
  {%
    \gdef\pc@lopt@ic{}%
  }%
  {%
    \gdef\pc@lopt@ic{/IC [\pc@hyenc@icolor]}%
  }%
  %create options for \pdfannot
  \pc@create@pdfannotopt%
  \ifpc@gopt@final\else%
    % typeset square annotation (see: PDF Reference)
    \ifpdf%
      \vbox to 0pt%
      {%
        \hsize=0pt%
        \noindent%
        \vskip-\pc@lopt@voffset%
        \hbox to 0pt%
        {%
          \vsize=0pt%
          \hskip\pc@lopt@hoffset%
          \pc@create@lpc%
          \expandafter\pdfannot \pc@pdfannotopt%
          {%
            /Subtype /Square\space%
            \pc@annot@square%
          }%
        \hss%
        }%
      \vss%
      }%
    \else%
      \ifpc@gopt@dvipdfmx%
        \vbox to 0pt%
        {%
          \hsize=0pt%
          \noindent%
          \vskip-\pc@lopt@voffset%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            \hskip\pc@lopt@hoffset%
            \pc@create@lpc%
            \special{pdf: ann \pc@pdfannotopt%
              <<%
                /Subtype /Square\space%
                \pc@annot@square%
              >>%
            }%
            \hss%
          }%
          \vss%
        }%
      \else%
        \vbox to 0pt%
        {%
          \hsize=0pt%
          \noindent%
          \vskip-\pc@lopt@voffset%
          % add extra \vskip box height because of different reference point
          \vskip-\pc@lopt@height%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            \hskip\pc@lopt@hoffset%
            \pc@create@lpc%
            %create dimensions of annotation
            \pdfmark[\rule{0pt}{\pc@lopt@height}\rule{\pc@lopt@width}{0pt}]%
            {%
              pdfmark=/ANN,%
              Subtype=/Square,%
              Raw={\pc@annot@square}%
            }%
            \hss%
          }%
          \vss%
        }%
      \fi%
    \fi%
  \fi%
}%
%
\newcommand{\pdfcirclecomment}[2][]%
{%
  \hspace*{0pt}%
  % Copy all global options to local options
  \pc@copy@gopt@lopt%
  % Change local options if specified
  \setkeys{pdfcirclecomment}{#1}%
  % Encode Contents, Author and Subject to pdf encodings (PD or PU) with hyperref's \pdfstringdef
  % and transform color input to pdf color
  \pc@encode@PDF{#2}%
  \ifthenelse{\equal{\pc@lopt@color}{}}%
  {%
    \gdef\pc@lopt@c{}%
  }%
  {%
    \gdef\pc@lopt@c{/C [\pc@hyenc@color]}%
  }%
  \ifthenelse{\equal{\pc@lopt@icolor}{}}%
  {%
    \gdef\pc@lopt@ic{}%
  }%
  {%
    \gdef\pc@lopt@ic{/IC [\pc@hyenc@icolor]}%
  }%
  %create options for \pdfannot
  \pc@create@pdfannotopt%
  \ifpc@gopt@final\else%
    % typeset circle annotation (see: PDF Reference)
    \ifpdf%
      \vbox to 0pt%
      {%
        \hsize=0pt%
        \noindent%
        \vskip-\pc@lopt@voffset%
        \hbox to 0pt%
        {%
          \vsize=0pt%
          \hskip\pc@lopt@hoffset%
          \pc@create@lpc%
          \expandafter\pdfannot \pc@pdfannotopt%
          {%
            /Subtype /Circle\space%
            % circle and square annatations differ only in /Subtype, so ...
            \pc@annot@square%
          }%
        \hss%
        }%
      \vss%
      }%
    \else%
      \ifpc@gopt@dvipdfmx%
        \vbox to 0pt%
        {%
          \hsize=0pt%
          \noindent%
          \vskip-\pc@lopt@voffset%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            \hskip\pc@lopt@hoffset%
            \pc@create@lpc%
            \special{pdf: ann \pc@pdfannotopt%
              <<%
                /Subtype /Circle\space%
                \pc@annot@square%
              >>%
            }%
            \hss%
          }%
          \vss%
        }%
      \else%
        \vbox to 0pt%
        {%
          \hsize=0pt%
          \noindent%
          \vskip-\pc@lopt@voffset%
          % add extra \vskip box height because of different reference point
          \vskip-\pc@lopt@height%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            \hskip\pc@lopt@hoffset%
            \pc@create@lpc%
            %create dimensions of annotation
            \pdfmark[\rule{0pt}{\pc@lopt@height}\rule{\pc@lopt@width}{0pt}]%
            {%
              pdfmark=/ANN,%
              Subtype=/Circle,%
              Raw={\pc@annot@square}%
            }%
            \hss%
          }%
          \vss%
        }%
      \fi%
    \fi%
  \fi%
}%
%
\newcommand{\pdflinecomment}[2][]%
{%
  \hspace*{0pt}%
  % Copy all global options to local options
  \pc@copy@gopt@lopt%
  % Change local options if specified
  \setkeys{pdflinecomment}{#1}%
  % Encode Contents, Author and Subject to pdf encodings (PD or PU) with hyperref's \pdfstringdef
  % and transform color input to pdf color
  \pc@encode@PDF{#2}%
  \ifthenelse{\equal{\pc@lopt@color}{}}%
  {%
    \gdef\pc@lopt@c{}%
  }%
  {%
    \gdef\pc@lopt@c{/C [\pc@hyenc@color]}%
  }%
  \ifthenelse{\equal{\pc@lopt@icolor}{}}%
  {%
    \gdef\pc@lopt@ic{}%
  }%
  {%
    \gdef\pc@lopt@ic{/IC [\pc@hyenc@icolor]}%
  }%
  \gdef\pc@lopt@le{/LE [\pc@lopt@linebegin\space\pc@lopt@lineend]}%
  \ifthenelse{\equal{\pc@lopt@type}{Line}}%
  {%
    \ifthenelse{\equal{\pc@lopt@caption}{none}}%
    {%
      \gdef\pc@lopt@cap{/Cap false}%
      \gdef\pc@lopt@cp{}%
    }%
    {%
      \gdef\pc@lopt@cap{/Cap true}%
      \gdef\pc@lopt@cp{/CP /\pc@lopt@caption}%
    }%
    \gdef\pc@lopt@l{/L [\pc@lopt@line]}%
    \gdef\pc@lopt@co{/CO [\pc@lopt@captionhoffset\space \pc@lopt@captionvoffset]}%
  }%
  {%
    \gdef\pc@lopt@l{/Vertices [\pc@lopt@line]}%
    \gdef\pc@lopt@cap{}%
    \gdef\pc@lopt@cp{}%
    \gdef\pc@lopt@co{}%
  }%
  %create options for \pdfannot
  \pc@create@pdfannotopt%
  \ifpc@gopt@final\else%
    \pc@create@lpc%
    % typeset line annotation (see: PDF Reference)
    \ifpdf%
      \vbox to 0pt%
      {%
        \hsize=0pt%
        \noindent%
        \hbox to 0pt%
        {%
          \vsize=0pt%
          \expandafter\pdfannot \pc@pdfannotopt%
          {%
            /Subtype /\pc@lopt@type\space%
            \pc@annot@line%
          }%
        \hss%
        }%
      \vss%
      }%
    \else%
      \ifpc@gopt@dvipdfmx%
        \vbox to 0pt%
        {%
          \hsize=0pt%
          \noindent%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            \special{pdf: ann \pc@pdfannotopt%
              <<%
                /Subtype /\pc@lopt@type\space%
                \pc@annot@line%
              >>%
            }%
            \hss%
          }%
          \vss%
        }%
      \else%
        \vbox to 0pt%
        {%
          \hsize=0pt%
          \noindent%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            %create dimensions of annotation
            \pdfmark[\rule{0pt}{\pc@lopt@height}\rule{\pc@lopt@width}{0pt}]%
            {%
              pdfmark=/ANN,%
              Subtype=/\pc@lopt@type,%
              Raw={\pc@annot@line}%
            }%
            \hss%
          }%
          \vss%
        }%
      \fi%
    \fi%
  \fi%
}%
%
\newcommand{\pdfmarkupcomment}[3][]%
{%
  \hspace*{0pt}%
  % Copy all global options to local options
  \pc@copy@gopt@lopt%
  % Change local options if specified
  \setkeys{pdfmarkupcomment}{#1}%
  % Encode Contents, Author and Subject to pdf encodings (PD or PU) with hyperref's \pdfstringdef
  % and transform color input to pdf color
  \pc@encode@PDF{#3}%
  \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}%
  \settoheight{\pc@box@height}{#2}%
  \ifthenelse{\equal{\pc@lopt@markup}{Underline}}%
  {%
    \settodepth{\pc@box@depth}{Tq}%
  }%
  {%
    \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%
      % 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%
  \ifpc@gopt@final\else%
  \pc@create@lpc%
  \fi%
  #2%
  \zsavepos{pdfcomment:\thezref@unique}%
  \zref@refused{pdfcomment:\thezref@unique}%
  \refstepcounter{zref@unique}%
  \ifpc@gopt@final\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
      \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%
}%
%
\newenvironment{pdfsidelinecomment}[2][]%
{%
  \hspace*{0pt}%
  % Copy all global options to local options
  \pc@copy@gopt@lopt%
  % Change local options if specified
  \setkeys{pdfsidelinecomment}{#1}%
  % Encode Contents, Author and Subject to pdf encodings (PD or PU) with hyperref's \pdfstringdef
  % and transform color input to pdf color
  \pc@encode@PDF{#2}%
  \gdef\pc@lopt@type{Line}%
  \ifthenelse{\equal{\pc@lopt@color}{}}%
  {%
    \gdef\pc@lopt@c{}%
  }%
  {%
    \gdef\pc@lopt@c{/C [\pc@hyenc@color]}%
  }%
  \ifthenelse{\equal{\pc@lopt@icolor}{}}%
  {%
    \gdef\pc@lopt@ic{}%
  }%
  {%
    \gdef\pc@lopt@ic{/IC [\pc@hyenc@icolor]}%
  }%
  \gdef\pc@lopt@le{/LE [\pc@lopt@linebegin\space\pc@lopt@lineend]}%
  \ifthenelse{\equal{\pc@lopt@type}{Line}}%
  {%
    \ifthenelse{\equal{\pc@lopt@caption}{none}}%
    {%
      \gdef\pc@lopt@cap{/Cap false}%
      \gdef\pc@lopt@cp{}%
    }%
    {%
      \gdef\pc@lopt@cap{/Cap true}%
      \gdef\pc@lopt@cp{/CP /\pc@lopt@caption}%
    }%
    \gdef\pc@lopt@l{/L [\pc@lopt@line]}%
    \gdef\pc@lopt@co{/CO [\pc@lopt@captionhoffset\space \pc@lopt@captionvoffset]}%
  }%
  {%
    \gdef\pc@lopt@l{/Vertices [\pc@lopt@line]}%
    \gdef\pc@lopt@cap{}%
    \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}%
  \settoheight{\pc@box@height}{Tq}%
  \settoheight{\pc@box@depth}{Tq}%
  \ifdim\pc@Sposy<\pc@Eposy\relax%
    \pc@annot@samepagefalse%
  \else%
    \pc@annot@samepagetrue%
  \fi%
  \ifpc@annot@samepage\else%
    \ifpc@gopt@final\else%
      \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%
}%
{%
  \zsavepos{pdfcomment:\thezref@unique}%
  \zref@refused{pdfcomment:\thezref@unique}%
  \refstepcounter{zref@unique}%
  \ifpc@gopt@final\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}%
    \else%
      \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%
}%
%
% reset global options
\newcommand{\pdfcommentsetup}[1]%
{%
  % Change global options if specified
  \setkeys{pdfcomment.sty}{#1}%
}%
%
% define predefined set of options (Avatar)
\newcommand{\defineavatar}[2]%
{%
  \expandafter\gdef\csname pc@avatar@#1\endcsname{#2}%
}%
%
% define predefined set of options (Style)
\newcommand{\definestyle}[2]%
{%
  \expandafter\gdef\csname pc@style@#1\endcsname{#2}%
}%
%
\newcommand\l@lpcsec{\@dottedtocline{1}{0em}{0em}}%
%
% define predefined set of liststyles
\newcommand{\defineliststyle}[2]%
{%
  \expandafter\gdef\csname pc@liststyle@#1\endcsname{#2}%
}%
%
\newcommand{\setliststyle}[1]%
{%
  \gdef\pc@lopt@liststyle{#1}%
  \edef\pc@edef@liststyle{pc@liststyle@#1}%
  \@ifundefined{\pc@edef@liststyle}%
  {%
    \setliststyle{AuthorSubject}%
    \PackageWarning{pdfcomment}{Unknown liststyle #1\MessageBreak%
                                in command setliststyle\MessageBreak%
                                Using liststyle AuthorSubject instead!}%
  }%
  {%
    \expandafter\gdef\expandafter\pc@lpc@format{\expandafter\csname \pc@edef@liststyle\endcsname}%
  }%
}%
%
\defineliststyle{AuthorSubject}{\pc@lopt@author\ - \pc@lopt@subject}%
\defineliststyle{AuthorSubjectDeadline}{\pc@lopt@author\ - \pc@lopt@subject\ (\pc@lopt@deadline)}%
\defineliststyle{SubjectAuthorComment}{\pc@lopt@subject\ (\pc@lopt@author): \pc@lopt@comment}%
\defineliststyle{SubjectAuthorCommentDeadline}{\pc@lopt@subject\ (\pc@lopt@author): \pc@lopt@comment\ (\pc@lopt@deadline)}%
\defineliststyle{AuthorComment}{\pc@lopt@author: \pc@lopt@comment}%
\defineliststyle{AuthorCommentDeadline}{\pc@lopt@author: \pc@lopt@comment\ (\pc@lopt@deadline)}%
\defineliststyle{SubjectComment}{\pc@lopt@subject: \pc@lopt@comment}%
\defineliststyle{SubjectCommentDeadline}{\pc@lopt@subject: \pc@lopt@comment\ (\pc@lopt@deadline)}%
\defineliststyle{Comment}{\pc@lopt@comment}%
\defineliststyle{CommentDeadline}{\pc@lopt@comment\ (\pc@lopt@deadline)}%
%
\newcommand{\listofpdfcomments}[1][]%
{%
  \setkeys{listofpdfcomments}{#1}%
  \edef\pc@edef@liststyle{pc@liststyle@\pc@lopt@liststyle}%
  \@ifundefined{\pc@edef@liststyle}%
  {%
    \PackageWarning{pdfcomment}{Unknown liststyle \pc@lopt@liststyle\MessageBreak%
                                in command listofpdfcomments\MessageBreak%
                                Using liststyle=AuthorSubject instead!}%
    \setliststyle{AuthorSubject}%
  }%
  {%
    \expandafter\gdef\expandafter\pc@lpc@format{\expandafter\csname \pc@edef@liststyle\endcsname}%
  }%
  \ifpc@gopt@final\else%
    \setboolean{@restonecol}{false}%
    \ifthenelse{\boolean{@twocolumn}}%
      {\setboolean{@restonecol}{true}\onecolumn}%
      {}%
    \@ifundefined{chapter}%
      {\section*{\lpcname\@mkboth{\lpcname}{\lpcname}}\addcontentsline{toc}{section}{\lpcname{}}}%
      {\chapter*{\lpcname\@mkboth{\lpcname}{\lpcname}}\addcontentsline{toc}{chapter}{\lpcname{}}}%
    {%
      \setlength{\parindent}{0pt}%
      \@starttoc{lpc}%
    }%
    \ifthenelse{\boolean{@restonecol}}%
      {\twocolumn}%
      {}%
  \fi%
}%
%
\newcommand{\pc@create@lpc}%
{%
  \phantomsection%
  \addcontentsline{lpc}{lpcsec}{\protect\numberline{}\pc@lpc@format}%
}%
%
\newcommand{\pc@copy@gopt@lopt}%
{%
  \gdef\pc@lopt@subject{\pc@gopt@subject}%
  \gdef\pc@lopt@color{\pc@gopt@color}%
  \gdef\pc@lopt@author{\pc@gopt@author}%
  \gdef\pc@lopt@deadline{\pc@gopt@deadline}%
  \gdef\pc@lopt@icon{\pc@gopt@icon}%
  \gdef\pc@lopt@open{\pc@gopt@open}%
  \gdef\pc@lopt@hspace{\pc@gopt@hspace}%
  \gdef\pc@lopt@voffset{\pc@gopt@voffset}%
  \gdef\pc@lopt@hoffset{\pc@gopt@hoffset}%
  \gdef\pc@lopt@width{\pc@gopt@width}%
  \gdef\pc@lopt@height{\pc@gopt@height}%
  \gdef\pc@lopt@depth{\pc@gopt@depth}%
  \gdef\pc@lopt@opacity{\pc@gopt@opacity}%
  \gdef\pc@lopt@markup{\pc@gopt@markup}%
  \gdef\pc@lopt@font{\pc@gopt@font}%
  \gdef\pc@lopt@fontsize{\pc@gopt@fontsize}%
  \gdef\pc@lopt@fontcolor{\pc@gopt@fontcolor}%
  \gdef\pc@lopt@justification{\pc@gopt@justification}%
  \gdef\pc@lopt@borderstyle{\pc@gopt@borderstyle}%
  \gdef\pc@lopt@linewidth{\pc@gopt@linewidth}%
  \gdef\pc@lopt@dashstyle{\pc@gopt@dashstyle}%
  \gdef\pc@lopt@bse{\pc@gopt@bse}%
  \gdef\pc@lopt@bsei{\pc@gopt@bsei}%
  \gdef\pc@lopt@type{\pc@gopt@type}%
  \gdef\pc@lopt@lineend{\pc@gopt@lineend}%
  \gdef\pc@lopt@linebegin{\pc@gopt@linebegin}%
  \gdef\pc@lopt@icolor{\pc@gopt@icolor}%
  \gdef\pc@lopt@line{\pc@gopt@line}%
  \gdef\pc@lopt@caption{\pc@gopt@caption}%
  \gdef\pc@lopt@captionhoffset{\pc@gopt@captionhoffset}%
  \gdef\pc@lopt@captionvoffset{\pc@gopt@captionvoffset}%
  \gdef\pc@lopt@linesep{\pc@gopt@linesep}%
}%
%
\newcommand{\pc@encode@PDF}[1]%
{%
  \gdef\pc@lopt@comment{#1}%
  \ifthenelse{\equal{\pc@lopt@deadline}{}}%
  {%
    \xdef\pc@comment@deadline{\pc@lopt@comment}%
    \pdfstringdef\pc@pdfenc@contents{\pc@comment@deadline}%
  }%
  {%
    \xdef\pc@comment@deadline{\pc@lopt@comment\noexpand\textCR(\pc@lopt@deadline)}%
    \pdfstringdef\pc@pdfenc@contents{\pc@comment@deadline}%
  }%
  \pdfstringdef\pc@pdfenc@author{\pc@lopt@author}%
  \pdfstringdef\pc@pdfenc@subject{\pc@lopt@subject}%
  \HyColor@XZeroOneThreeFour{\pc@lopt@color}{\pc@hyenc@color}{pdfcomment}{color}%
  \HyColor@XZeroOneThreeFour{\pc@lopt@fontcolor}{\pc@hyenc@fontcolor}{pdfcomment}{color}%
  \HyColor@XZeroOneThreeFour{\pc@lopt@icolor}{\pc@hyenc@icolor}{pdfcomment}{color}%
}%
%
\newcommand{\pc@annot@text}%
{%
  \pc@lopt@c\space%
  /CA \pc@lopt@opacity\space%
  /T (\pc@pdfenc@author)\space%
  /Subj (\pc@pdfenc@subject)\space%
  /Name /\pc@lopt@icon\space%
  /Contents (\pc@pdfenc@contents)\space%
  /Open \pc@lopt@open\space%
  /F 4\space%
}%
%
\newcommand{\pc@annot@freetext}%
{% 
  \pc@lopt@c\space%
  /DA (/\pc@lopt@font\space \pc@lopt@fontsize\space Tf\space \pc@hyenc@fontcolor\space rg)\space%
  /CA \pc@lopt@opacity\space%
  /T (\pc@pdfenc@author)\space%
  /Subj (\pc@pdfenc@subject)\space%
  /Contents (\pc@pdfenc@contents)\space%
  /F 4\space%
  /Q \pc@lopt@justification\space%
  /BS\space%
  <<\space%
    /W \pc@lopt@linewidth\space%
    /S /\pc@lopt@borderstyle\space%
    /D [\pc@lopt@dashstyle]\space%
  >>\space%
  /BE\space%
  <<\space%
    /S /\pc@lopt@bse\space%
    /I \pc@lopt@bsei\space%
  >>\space%
  \pc@lopt@type\space%
  /CL [\pc@lopt@line]\space%
  /LE \pc@lopt@lineend\space%
}%
%
\newcommand{\pc@annot@square}%
{% 
  \pc@lopt@c\space%
  \pc@lopt@ic\space%
  /CA \pc@lopt@opacity\space%
  /T (\pc@pdfenc@author)\space%
  /Subj (\pc@pdfenc@subject)\space%
  /Contents (\pc@pdfenc@contents)\space%
  /F 4\space%
  /BS\space%
  <<\space%
    /W \pc@lopt@linewidth\space%
    /S /\pc@lopt@borderstyle\space%
    /D [\pc@lopt@dashstyle]\space%
  >>\space%
  /BE\space%
  <<\space%
    /S /\pc@lopt@bse\space%
    /I \pc@lopt@bsei\space%
  >>\space%
}%
%
\newcommand{\pc@annot@line}%
{% 
  \pc@lopt@c\space%
  \pc@lopt@ic\space%
  /CA \pc@lopt@opacity\space%
  /T (\pc@pdfenc@author)\space%
  /Subj (\pc@pdfenc@subject)\space%
  /Contents (\pc@pdfenc@contents)\space%
  \pc@lopt@l\space%
  \pc@lopt@le\space%
  \pc@lopt@cap\space%
  \pc@lopt@cp\space%
  \pc@lopt@co\space%
  /F 4\space%
  /BS\space%
  <<\space%
    /W \pc@lopt@linewidth\space%
    /S /\pc@lopt@borderstyle\space%
    /D [\pc@lopt@dashstyle]\space%
  >>\space%
  /BE\space%
  <<\space%
    /S /\pc@lopt@bse\space%
    /I \pc@lopt@bsei\space%
  >>\space%
}%
%
\newcommand{\pc@annot@markup@pdf}%
{%
  \pdfannot width 0pt height 0pt depth 0pt%
  {%
    /Subtype /\pc@lopt@markup\space%
    /C [\pc@hyenc@color]\space%
    /CA \pc@lopt@opacity\space%
    /T (\pc@pdfenc@author)\space%
    /Subj (\pc@pdfenc@subject)\space%
    /Contents (\pc@pdfenc@contents)\space%
    /Open \pc@lopt@open\space%
    /QuadPoints [\pc@annot@quadpoints]\space%
    /F 4\space%
  }%
}%
%
\newcommand{\pc@annot@markup@dvipdfmx}%
{%
  \special{pdf: ann width 0pt height 0pt depth 0pt%
    <<\space%
      /Subtype /\pc@lopt@markup\space%
      /C [\pc@hyenc@color]\space%
      /CA \pc@lopt@opacity\space%
      /T (\pc@pdfenc@author)\space%
      /Subj (\pc@pdfenc@subject)\space%
      /Contents (\pc@pdfenc@contents)\space%
      /Open \pc@lopt@open\space%
      /QuadPoints [\pc@annot@quadpoints]\space%
      /F 4\space%
    >>\space%
  }%
}%
%
\newcommand{\pc@annot@markup@dvips}%
{%
  \pdfmark[\rule{0pt}{0pt}]%
  {%
    pdfmark=/ANN,%
    Subtype=/\pc@lopt@markup,%
    Raw={
      /C [\pc@hyenc@color]\space%
      /CA \pc@lopt@opacity\space%
      /T (\pc@pdfenc@author)\space%
      /Subj (\pc@pdfenc@subject)\space%
      /Contents (\pc@pdfenc@contents)\space%
      /Open \pc@lopt@open\space%
      /QuadPoints [\pc@annot@quadpoints]\space%
      /F 4\space%
    }%
  }%
}%
%
\newcommand{\pc@create@pdfannotopt}%
{%
  \gdef\pc@pdfannotopt{}%
  \ifx\pc@lopt@width\@empty%
  \else%
    \expandafter\gdef\expandafter\pc@pdfannotopt\expandafter{\pc@pdfannotopt width \pc@lopt@width\space}%
  \fi%
  \ifx\pc@lopt@height\@empty%
  \else%
    \expandafter\gdef\expandafter\pc@pdfannotopt\expandafter{\pc@pdfannotopt height \pc@lopt@height\space}%
  \fi%
  \ifx\pc@lopt@depth\@empty%
  \else%
    \expandafter\gdef\expandafter\pc@pdfannotopt\expandafter{\pc@pdfannotopt depth \pc@lopt@depth\space}%
  \fi%
}%
%
% thanks to Heiko Oberdiek Msg-Id: <go1hi9$g1s$1@news.belwue.de>
\newcommand{\pc@pttobp}[1]%
{%
  \strip@pt\dimexpr .996264\dimexpr #1\relax\relax%
}%
%
\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}}%
    \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}}%
    \setlength{\pc@dima}{\dimexpr \pc@Sposy - \pc@box@depth - 1pt\relax}%
    \setlength{\pc@dimb}{\dimexpr \pc@Eposy - \pc@box@depth - 1pt\relax}%
}%
%
\newcommand{\pc@create@annot@sideline}%
{%
%create options for \pdfannot
  \pc@create@pdfannotopt%
  \ifpc@gopt@final\else%
    % typeset line annotation (see: PDF Reference)
    \ifpdf%
      \vbox to 0pt%
      {%
        \hsize=0pt%
        \noindent%
        \hbox to 0pt%
        {%
          \vsize=0pt%
          \expandafter\pdfannot \pc@pdfannotopt%
          {%
          /Subtype /Line\space%
          \pc@annot@line%
          }%
        \hss%
        }%
      \vss%
      }%
    \else%
      \ifpc@gopt@dvipdfmx%
        \vbox to 0pt%
        {%
          \hsize=0pt%
          \noindent%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            \special{pdf: ann \pc@pdfannotopt%
              <<%
                /Subtype /Line\space%
                \pc@annot@line%
              >>%
            }%
            \hss%
          }%
          \vss%
        }%
      \else%
        \vbox to 0pt%
        {%
          \hsize=0pt%
          \noindent%
          \hbox to 0pt%
          {%
            \vsize=0pt%
            %create dimensions of annotation
            \pdfmark[\rule{0pt}{\pc@lopt@height}\rule{\pc@lopt@width}{0pt}]%
            {%
              pdfmark=/ANN,%
              Subtype=/Line,%
              Raw={\pc@annot@line}%
            }%
            \hss%
          }%
          \vss%
        }%
      \fi%
    \fi%
  \fi%
}%
%
\newcommand{\pc@create@annot}%
{%
  \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%
    \else%
      \ifpc@gopt@dvipdfmx%
        \pc@annot@markup@dvipdfmx%
      \else%
        \pc@annot@markup@dvips%
      \fi%
    \fi%
  }%
  \else%
  {% more lines
    %first line
    \pc@calc@textblockpos%
    \pc@copy@anna@to@annb%
    \renewcommand{\pc@annb@x@two}{\pc@x@right@text}%
    \renewcommand{\pc@annb@x@four}{\pc@x@right@text}%
    \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%
    \else%
      \ifpc@gopt@dvipdfmx%
        \pc@annot@markup@dvipdfmx%
      \else%
        \pc@annot@markup@dvips%
      \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}%
    \ifpdf%
      \pc@annot@markup@pdf%
    \else%
      \ifpc@gopt@dvipdfmx%
        \pc@annot@markup@dvipdfmx%
      \else%
        \pc@annot@markup@dvips%
      \fi%
    \fi%
    %middle lines
    \pc@copy@anna@to@annb%
    \setlength{\pc@dimc}{\dimexpr \pc@annb@y@one bp + 0.1pt\relax}%
    \setlength{\pc@dimd}{\dimexpr \pc@annb@y@two bp\relax}%
    \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%
      \else%
        \ifpc@gopt@dvipdfmx%
          \pc@annot@markup@dvipdfmx%
        \else%
          \pc@annot@markup@dvips%
        \fi%
      \fi%
    }%      
  }%
  \fi%
}%
%
\newcommand{\pc@calc@textblockpos}%
{%
  \if@twoside%
    \ifodd\thepage%
      \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}}%  
    \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}}%
}%
%
\newcommand{\pc@calc@sidelinepos}%
{%
  \if@twoside%
    \ifodd\thepage%
      \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%
      \renewcommand{\pc@x@one}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \evensidemargin - \dimexpr \pc@lopt@linesep bp \relax\relax}}%
      \renewcommand{\pc@x@two}{\pc@pttobp{\dimexpr \dimexpr 1in\relax + \hoffset + \evensidemargin + \textwidth + \dimexpr \pc@lopt@linesep bp \relax\relax}}%  
    \fi%
  \else%
    \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}}%
  \fi%
  \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@depth - 1pt\relax}}%
  \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}}%
}%
%
%
\endinput%