From 81c0bde11438801df366fc7466b923cc0fb4e663 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Feb 2009 00:06:43 +0000 Subject: new latex package pdfmarginpar (10feb09) git-svn-id: svn://tug.org/texlive/trunk@12146 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/pdfmarginpar/pdfmarginpar.sty | 115 +++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/pdfmarginpar/pdfmarginpar.sty (limited to 'Master/texmf-dist/tex') 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 . +% +%-------------------------------------------- +\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 + }% +}}% + -- cgit v1.2.3