From 7ddb36376cada699f0a26f00ace2e15809fca57a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 14 Mar 2018 21:13:06 +0000 Subject: intopdf (14mar18) git-svn-id: svn://tug.org/texlive/trunk@46963 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/intopdf/intopdf.sty | 94 +++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/intopdf/intopdf.sty (limited to 'Master/texmf-dist/tex/latex/intopdf') diff --git a/Master/texmf-dist/tex/latex/intopdf/intopdf.sty b/Master/texmf-dist/tex/latex/intopdf/intopdf.sty new file mode 100644 index 00000000000..40214d20e89 --- /dev/null +++ b/Master/texmf-dist/tex/latex/intopdf/intopdf.sty @@ -0,0 +1,94 @@ +%% +%% This is file `intopdf.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% intopdf.dtx (with options: `package') +%% +%% Copyright (C) 2018 by Marcel Krueger +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c 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 2005/12/01 or later. +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{expl3} +\ProvidesExplPackage + {intopdf} + {2018/03/13} + {0.0.1} + {Embed non-PDF files into PDF with hyperlink} + +\RequirePackage{hyperref} +\cs_new_eq:NN\__intopdf_escape_name:n\pdfescapename +\cs_new_eq:NN\__intopdf_escape_string:n\pdfescapestring +\cs_new:Nn\__intopdf_pdfobj:n{ + \tex_immediate:D\pdftex_pdfobj:D{<<#1>>} +} +\cs_new:Nn\__intopdf_pdfstream_file:nn{ + \tex_immediate:D\pdftex_pdfobj:D stream attr {#1} file {#2} +} +\cs_new:Nn\__intopdf_lastobj_ref:{ + \c_space_tl + \int_use:N\pdftex_pdflastobj:D + \c_space_tl + 0 + \c_space_tl + R +} +\cs_new:Npn\__intopdf_annot:nnw#1#2{ + \leavevmode + \pdftex_pdfstartlink:D attr{#1} user {#2} +} +\cs_new:Nn\__intopdf_annot_end:{ + \pdftex_pdfendlink:D +} +\cs_new:Nn\__intopdf_annot:nnn{ + \__intopdf_annot:nnw{#1}{#2} + #3 + \__intopdf_annot_end: +} +\cs_new_protected:Nn\intopdf_attach_link:nnnn{ + \__intopdf_pdfstream_file:nn{ + /Subtype /\__intopdf_escape_name:n{#2} + }{#1} + \__intopdf_pdfobj:n{ + /Type /Filespec + /F (\__intopdf_escape_string:n{#1}) + /EF << /F \__intopdf_lastobj_ref: >> + /Desc (\__intopdf_escape_string:n{#3}) + }% + \__intopdf_annot:nnn{ + \Hy@setpdfborder + \tl_if_empty:NF\@pdfhighlight{ + /H\@pdfhighlight + } + \cs_if_free:NF\@urlbordercolor{ + /C[\@urlbordercolor] + } + }{ + /Subtype /Link + }{ + \__intopdf_annot:nnn{}{ + /Subtype /FileAttachment + /FS \__intopdf_lastobj_ref: + /F\c_space_tl 416 + /CA\c_space_tl 0 + /Contents (\__intopdf_escape_string:n{#3}) + }{ + #4 + } + } +} +\cs_new_protected:Npn\attachandlink#1[#2]#3#4{ + \intopdf_attach_link:nnnn{#1}{#2}{#3}{#4} +} +\endinput +%% +%% End of file `intopdf.sty'. -- cgit v1.2.3