summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/pdfmarginpar
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-02-12 00:06:43 +0000
committerKarl Berry <karl@freefriends.org>2009-02-12 00:06:43 +0000
commit81c0bde11438801df366fc7466b923cc0fb4e663 (patch)
tree6448b0bbd9eb044ec9c2c661760880f21a69022d /Master/texmf-dist/tex/latex/pdfmarginpar
parentab4739de8e565cd5dfb5d99462e45d7a065b7c53 (diff)
new latex package pdfmarginpar (10feb09)
git-svn-id: svn://tug.org/texlive/trunk@12146 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/pdfmarginpar')
-rw-r--r--Master/texmf-dist/tex/latex/pdfmarginpar/pdfmarginpar.sty115
1 files changed, 115 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/pdfmarginpar/pdfmarginpar.sty b/Master/texmf-dist/tex/latex/pdfmarginpar/pdfmarginpar.sty
new file mode 100644
index 00000000000..6dfaf05324a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pdfmarginpar/pdfmarginpar.sty
@@ -0,0 +1,115 @@
+%--------------------------------------------
+%
+% Package pdfmarginpar.sty
+%
+% A simple package which allows to create PDF Annotations using
+% \pdfmarginpar in the same way as one would use \marginpar. It is
+% intended to simplify communication between multiple authors of the
+% same document. It has the following features:
+% - Easy to use annotation as with \marginpar,
+% - Annotations stay in the document,
+% - High Quality output using Adobe's Annotations: popup windows,
+% minimize, move etc.
+% - File generation is not limited to Acrobat Reader security settings
+%
+% It relies on pdftex's command \pdfannot. In fact, it is nothing more
+% than \pdfannot, some trivial TeX commands and key-value pairs for
+% common PDF Annotation variables as they can be found in the public PDF
+% Documentation. It is also possible to set low-level pdf options
+% directly.
+%
+% It is not compatible with dvips or dvipdf[m|mx] and friends.
+%
+% Copyright 2007/2008 by Christian Feuersänger.
+%
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program. If not, see <http://www.gnu.org/licenses/>.
+%
+%--------------------------------------------
+\ProvidesPackage{pdfmarginpar}[2008/09/21 Version 0.8]
+
+\RequirePackage{pgfkeys}
+
+\def\pdfmarginparset#{\pgfqkeys{/pdfmarginpar}}
+
+\pgfqkeys{/pdfmarginpar}{
+ Subtype/.is choice,
+ Subtype/Text/.code={\def\pdfmarginpar@SubType{/Text}},
+ Subtype=Text,
+ Open/.is choice,
+ Open/true/.code={\def\pdfmarginpar@OPEN{true}},
+ Open/false/.code={\def\pdfmarginpar@OPEN{false}},
+ Open=false,
+ %
+ voffset/.initial=0pt,
+ hoffset/.initial=0pt,
+ %
+ Name/.is choice,
+ Name/Comment/.code={\def\pdfmarginpar@NAME{/Comment}},
+ Name/Key/.code={\def\pdfmarginpar@NAME{/Key}},
+ Name/Note/.code={\def\pdfmarginpar@NAME{/Note}},
+ Name/Help/.code={\def\pdfmarginpar@NAME{/Help}},
+ Name/NewParagraph/.code={\def\pdfmarginpar@NAME{/NewParagraph}},
+ Name/Paragraph/.code={\def\pdfmarginpar@NAME{/Paragraph}},
+ Name/Insert/.code={\def\pdfmarginpar@NAME{/Insert}},
+ %
+ Comment/.style={Name=Comment,voffset=1.3\baselineskip},
+ Key/.style={Name=Key,voffset=\baselineskip},
+ Note/.style={Name=Note,voffset=\baselineskip},
+ Help/.style={Name=Help,voffset=\baselineskip},
+ Paragraph/.style={Name=Paragraph,voffset=\baselineskip},
+ Insert/.style={Name=Insert,voffset=0pt,hoffset=-1.5ex},
+ NewParagraph/.style={Name=NewParagraph,voffset=0pt,hoffset=-1.5ex,CA=0.7},
+ %
+ Comment,
+ C/.initial={[1 0 0]},
+ color/.style={C={#1}},
+ CA/.initial=0.5,
+ opacity/.style={CA={#1}},
+ Subj/.store in=\pdfmarginpar@Subj,
+ Subject/.style={Subj={#1}},
+ Subj={Comment},
+}
+
+% Usage:
+%
+% - \pdfmarginpar{All wrong in this place!}
+% - \pdfmarginpar{Insert ','}
+\newcommand{\pdfmarginpar}[2][]{{%
+ \pgfqkeys{/pdfmarginpar}{#1}%
+ \toks0={#2}%
+ \toks1=\expandafter{\pdfmarginpar@Subj}%
+ \pgfkeysgetvalue{/pdfmarginpar/voffset}\pdfmarginpar@voffset
+ \pgfkeysgetvalue{/pdfmarginpar/hoffset}\pdfmarginpar@hoffset
+ %\ifvmode\noindent\fi
+ \vbox to 0pt{\hsize=0pt
+ \vss
+ \noindent
+ \raise\pdfmarginpar@voffset
+ \hbox to 0pt{\vsize=0pt%
+ \hskip\pdfmarginpar@hoffset
+ \pdfannot {
+ /Subtype \pdfmarginpar@SubType
+ /Open \pdfmarginpar@OPEN
+ /Name \pdfmarginpar@NAME
+ /C \pgfkeysvalueof{/pdfmarginpar/C}
+ /CA \pgfkeysvalueof{/pdfmarginpar/CA}
+ /Subj (\the\toks1)
+ /Contents (\the\toks0)
+ }%
+ \hss
+ }%
+ %\hss
+ }%
+}}%
+