%% %% 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,xparse} \ProvidesExplPackage {intopdf} {2019/05/28} {0.2.1} {Embed non-PDF files into PDF with hyperlink} \RequirePackage{hyperref} \msg_new:nnnn{intopdf}{engine-unsupported} {Your~TeX~engine~is~not~supported~by~intopdf.} {To~use~intopdf,~you~have~to~use~pdfLaTeX~or~LuaLaTeX.} \cs_generate_variant:Nn\str_case:nnF{VnF} \str_case:VnF\c_sys_engine_str{ {pdftex}{ \cs_new:Nn\__intopdf_escape_name:n{\pdfescapename{#1}} \cs_new:Nn\__intopdf_escape_string:n{(\pdfescapestring{#1})} \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 } } {luatex}{ \RequirePackage{pdftexcmds} \cs_new:Nn\__intopdf_escape_name:n{\pdf@escapename{#1}} \cs_new:Nn\__intopdf_escape_string:n{(\pdf@escapestring{#1})} \cs_new:Nn\__intopdf_pdfobj:n{ \tex_immediate:D\luatex_pdfextension:D obj{<<#1>>} } \cs_new:Nn\__intopdf_pdfstream_file:nn{ \tex_immediate:D\luatex_pdfextension:D obj stream attr {#1} file {#2} } \cs_new:Nn\__intopdf_lastobj_ref:{ \c_space_tl \luatex_pdffeedback:D lastobj \c_space_tl 0 \c_space_tl R } \cs_new:Npn\__intopdf_annot:nnw#1#2{ \leavevmode \luatex_pdfextension:D startlink attr{#1} user {#2} } \cs_new:Nn\__intopdf_annot_end:{ \luatex_pdfextension:D endlink \scan_stop: } } }{ \msg_critical:nn{intopdf}{engine-unsupported} } \cs_new:Nn\__intopdf_annot:nnn{ \__intopdf_annot:nnw{#1}{#2} #3 \__intopdf_annot_end: } \cs_new_protected:Nn\intopdf_attach_link:nnnnn{ \__intopdf_pdfstream_file:nn{ /Subtype /\__intopdf_escape_name:n{#3} }{#2} \__intopdf_pdfobj:n{ /Type /Filespec /F \__intopdf_escape_string:n{#1} /EF << /F \__intopdf_lastobj_ref: >> /Desc \__intopdf_escape_string:n{#4} }% \__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{#4} }{ #5 } } } \cs_new_protected:Npn \intopdf_attach_link:nnnn #1{ \intopdf_attach_link:nnnnn{#1}{#1} } \NewDocumentCommand\attachandlink{O{#2}mr[]mm}{ \intopdf_attach_link:nnnnn{#1}{#2}{#3}{#4}{#5} } \endinput %% %% End of file `intopdf.sty'.